diff --git a/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita b/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita index 937c0097878..fb9ac4c2ad0 100644 --- a/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita +++ b/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita @@ -2,7 +2,8 @@ <ph keyref="initWithSize"/> - 指定视频分辨率并初始化一个 对象。 + 指定视频分辨率并初始化一个 对象。 @@ -13,48 +14,50 @@

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

+ + + + + +

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

-

    -
  • -

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

+

    +
  • +
+

+
+
+ +
返回值

初始化的 对象。

diff --git a/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita b/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita index 79cd1878e49..31944bdc7f5 100644 --- a/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita +++ b/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita @@ -2,7 +2,8 @@ <ph keyref="initWithWidth"/> - 指定视频宽和高并初始化一个 对象。 + 指定视频宽和高并初始化一个 对象。 @@ -13,53 +14,55 @@

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

+ + + + + +

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

-

    -
  • -

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

+

    +
  • +
+

+
+
+ +
返回值

初始化的 对象。

diff --git a/dita/RTC-NG/API/api_channelmediarelayconfiguration_getdestchannelmediainfos.dita b/dita/RTC-NG/API/api_channelmediarelayconfiguration_getdestchannelmediainfos.dita index 41074dc3f47..7bcd6b34cb5 100644 --- a/dita/RTC-NG/API/api_channelmediarelayconfiguration_getdestchannelmediainfos.dita +++ b/dita/RTC-NG/API/api_channelmediarelayconfiguration_getdestchannelmediainfos.dita @@ -13,16 +13,16 @@

- public Map<String, ChannelMediaInfo> getDestChannelMediaInfos() { + public Map<String, ChannelMediaInfo> getDestChannelMediaInfos() { return destInfos; } - - - - - - -

+ + + + + + +

返回值 diff --git a/dita/RTC-NG/API/api_channelmediarelayconfiguration_getsrcchannelmediainfo.dita b/dita/RTC-NG/API/api_channelmediarelayconfiguration_getsrcchannelmediainfo.dita index 0439f53d052..aa65b5f4e9d 100644 --- a/dita/RTC-NG/API/api_channelmediarelayconfiguration_getsrcchannelmediainfo.dita +++ b/dita/RTC-NG/API/api_channelmediarelayconfiguration_getsrcchannelmediainfo.dita @@ -13,20 +13,20 @@

- public ChannelMediaInfo getSrcChannelMediaInfo() { + public ChannelMediaInfo getSrcChannelMediaInfo() { return srcInfo; } - - - - - - -

+ + + + + + +

返回值

源频道信息。详见

-
+
diff --git a/dita/RTC-NG/API/api_channelmediarelayconfiguration_removedestchannelinfo.dita b/dita/RTC-NG/API/api_channelmediarelayconfiguration_removedestchannelinfo.dita index 122b930287b..0c86284d9d4 100644 --- a/dita/RTC-NG/API/api_channelmediarelayconfiguration_removedestchannelinfo.dita +++ b/dita/RTC-NG/API/api_channelmediarelayconfiguration_removedestchannelinfo.dita @@ -13,29 +13,31 @@

- public void removeDestChannelInfo(String channelName) { + public void removeDestChannelInfo(String channelName) { destInfos.remove(channelName); } - - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName; - - - - - -

+ - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName; + + + + + +

参数 - - channelName - 目标频道的频道名。 - -
+ + channelName + 目标频道的频道名。 + + +
    -
  • :方法调用成功。
  • -
  • :方法调用失败。详见了解详情和解决建议。
  • +
  • :方法调用成功。
  • +
  • :方法调用失败。详见了解详情和解决建议。
diff --git a/dita/RTC-NG/API/api_channelmediarelayconfiguration_setdestchannelinfo.dita b/dita/RTC-NG/API/api_channelmediarelayconfiguration_setdestchannelinfo.dita index 7c131733655..95248dd192d 100644 --- a/dita/RTC-NG/API/api_channelmediarelayconfiguration_setdestchannelinfo.dita +++ b/dita/RTC-NG/API/api_channelmediarelayconfiguration_setdestchannelinfo.dita @@ -13,49 +13,63 @@

- public void setDestChannelInfo(String channelName, ChannelMediaInfo destInfo) { + public void setDestChannelInfo(String channelName, ChannelMediaInfo destInfo) { destInfos.put(channelName, destInfo); } - - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName; + - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName; - - - - - -

+ + + + + +

参数 - - channelName - 目标频道的频道名。 - - - destInfo - destinationInfo - -

目标频道信息 ,包含如下成员: -

    -
  • channelName :目标频道的频道名。
  • -
  • - token:能加入目标频道的 token。由你在 destInfos 中设置的 channelNameuid 生成。 -
      -
    • 如未启用 App Certificate,可直接将该参数设为默认值 ,表示 SDK 填充 App ID。
    • -
    • 如已启用 App Certificate,则务必填入使用 channelNameuid 生成的 token
    • -

    由于目标频道中任意频道的 token 过期会导致所有跨频道推流停止,因此建议你将目标频道的 token 设置为相同的过期时长。

  • -
  • - uid:标识目标频道中的转发媒体流的 UID。取值范围为 0 到(2 32-1),请确保与目标频道中的所有 UID 不同。默认值为 0,表示 SDK 随机分配一个 UID。
  • -

-
-
-
+ + channelName + 目标频道的频道名。 + + + destInfo + destinationInfo + +

目标频道信息 ,包含如下成员:

    +
  • + channelName :目标频道的频道名。
  • +
  • + token:能加入目标频道的 + token。由你在 destInfos + 中设置的 channelNameuid + 生成。
      +
    • 如未启用 App Certificate,可直接将该参数设为默认值 ,表示 SDK 填充 App ID。
    • +
    • 如已启用 App Certificate,则务必填入使用 + channelName 和 + uid 生成的 + token
    • +
    +

    由于目标频道中任意频道的 token + 过期会导致所有跨频道推流停止,因此建议你将目标频道的 token + 设置为相同的过期时长。

  • +
  • + uid:标识目标频道中的转发媒体流的 UID。取值范围为 0 到(2 + 32-1),请确保与目标频道中的所有 UID 不同。默认值为 0,表示 SDK 随机分配一个 + UID。
  • +
+

+
+
+ +
    -
  • :方法调用成功。
  • -
  • :方法调用失败。详见了解详情和解决建议。
  • +
  • :方法调用成功。
  • +
  • :方法调用失败。详见了解详情和解决建议。
-
\ No newline at end of file + diff --git a/dita/RTC-NG/API/api_channelmediarelayconfiguration_setsrcchannelinfo.dita b/dita/RTC-NG/API/api_channelmediarelayconfiguration_setsrcchannelinfo.dita index be35d45b672..c9c27ee11b9 100644 --- a/dita/RTC-NG/API/api_channelmediarelayconfiguration_setsrcchannelinfo.dita +++ b/dita/RTC-NG/API/api_channelmediarelayconfiguration_setsrcchannelinfo.dita @@ -13,36 +13,44 @@

- public void setSrcChannelInfo(ChannelMediaInfo srcInfo) { + public void setSrcChannelInfo(ChannelMediaInfo srcInfo) { this.srcInfo = srcInfo; } - - - - - - -

+ + + + + + +

参数 - - srcInfo - -

源频道信息 ,包含如下成员: - -

    -
  • channelName:源频道名。默认值为 ,表示 SDK 填充当前的频道名。
  • -
  • token:能加入源频道的 token。由你在 srcInfo 中设置的 channelNameuid 生成。 -
      -
    • 如未启用 App Certificate,可直接将该参数设为默认值 ,表示 SDK 填充 App ID。
    • -
    • 如已启用 App Certificate,则务必填入使用 channelNameuid 生成的 token,且其中的 uid 必须为 0。
    • -
  • -
  • uid:标识源频道中的转发媒体流的 UID。默认值为 0,请勿修改。
  • -

-
-
-
+ + srcInfo + +

源频道信息 ,包含如下成员:

    +
  • channelName:源频道名。默认值为 ,表示 SDK 填充当前的频道名。
  • +
  • token:能加入源频道的 + token。由你在 srcInfo 中设置的 + channelNameuid + 生成。
      +
    • 如未启用 App Certificate,可直接将该参数设为默认值 ,表示 SDK 填充 App ID。
    • +
    • 如已启用 App Certificate,则务必填入使用 + channelName 和 + uid 生成的 + token,且其中的 + uid 必须为 0。
    • +
    +
  • +
  • uid:标识源频道中的转发媒体流的 UID。默认值为 0,请勿修改。
  • +

+
+
+ +
diff --git a/dita/RTC-NG/API/api_createagorartcengine.dita b/dita/RTC-NG/API/api_createagorartcengine.dita index 3e4c2e00980..89e20a53ff6 100644 --- a/dita/RTC-NG/API/api_createagorartcengine.dita +++ b/dita/RTC-NG/API/api_createagorartcengine.dita @@ -2,7 +2,9 @@ <ph keyref="createAgoraRtcEngine"/> - 创建 对象。创建 对象。 + 创建 对象。创建 对象。 @@ -13,28 +15,30 @@

- - - AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine () - export function createAgoraRtcEngine(): IRtcEngineEx { + + + AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine () + export function createAgoraRtcEngine(): IRtcEngineEx { return instance; } - public static IRtcEngine CreateAgoraRtcEngine() + public static IRtcEngine CreateAgoraRtcEngine() { return instance ?? (instance = new RtcEngine(IntPtr.Zero)); } - export function createAgoraRtcEngine(): IRtcEngine { + export function createAgoraRtcEngine(): IRtcEngine { return instance; } - RtcEngine createAgoraRtcEngine() { + RtcEngine createAgoraRtcEngine() { return impl.RtcEngineImpl.create(); -} -

+} +

详情 -

目前 RTC SDK v4.x 只支持每个 App 创建一个 对象。

-

目前 RTC SDK v4.x 只支持每个 App 创建一个 对象。

+

目前 RTC SDK v4.x 只支持每个 App 创建一个 + 对象。

+

目前 RTC SDK v4.x 只支持每个 App 创建一个 对象。

目前 RTC SDK v6.x 只支持每个 App 创建一个 对象。

diff --git a/dita/RTC-NG/API/api_createagorartcengineex.dita b/dita/RTC-NG/API/api_createagorartcengineex.dita index bf0df7b4e39..48077ca0a6f 100644 --- a/dita/RTC-NG/API/api_createagorartcengineex.dita +++ b/dita/RTC-NG/API/api_createagorartcengineex.dita @@ -2,7 +2,8 @@ <ph keyref="createAgoraRtcEngineEx"/> - 创建 对象。 + 创建 + 对象。 @@ -13,28 +14,30 @@

- - - - - public static IRtcEngineEx CreateAgoraRtcEngineEx() + + + + + public static IRtcEngineEx CreateAgoraRtcEngineEx() { return (IRtcEngineEx)(instance ?? (instance = new RtcEngine(IntPtr.Zero))); } - - RtcEngineEx createAgoraRtcEngineEx() { + + RtcEngineEx createAgoraRtcEngineEx() { return impl.RtcEngineImpl.create(); } -

+

详情 -

目前 RTC v4.x SDK 只支持每个 App 创建一个 对象。

-

目前 RTC v6.x SDK 只支持每个 App 创建一个 对象。

+

目前 RTC v4.x SDK 只支持每个 App 创建一个 + 对象。

+

目前 RTC v6.x SDK 只支持每个 App 创建一个 + 对象。

返回值

对象。

-
\ No newline at end of file + diff --git a/dita/RTC-NG/API/api_getmediaplayercachemanager.dita b/dita/RTC-NG/API/api_getmediaplayercachemanager.dita index c792dd91f5d..72bc5806e61 100644 --- a/dita/RTC-NG/API/api_getmediaplayercachemanager.dita +++ b/dita/RTC-NG/API/api_getmediaplayercachemanager.dita @@ -1,42 +1,44 @@ - <ph keyref="getMediaPlayerCacheManager" /> + <ph keyref="getMediaPlayerCacheManager"/> - 创建 实例。 - 获取 实例。 + 创建 实例。 + 获取 实例。 - +

- public abstract IMediaPlayerCacheManager getMediaPlayerCacheManager(); - - (id<AgoraRtcMediaPlayerCacheManagerProtocol> _Nullable)createMediaPlayerCacheManager; - AGORA_API agora::rtc::IMediaPlayerCacheManager* AGORA_CALL getMediaPlayerCacheManager(); - export function getMediaPlayerCacheManager(): IMediaPlayerCacheManager { + public abstract IMediaPlayerCacheManager getMediaPlayerCacheManager(); + - (id<AgoraRtcMediaPlayerCacheManagerProtocol> _Nullable)createMediaPlayerCacheManager; + AGORA_API agora::rtc::IMediaPlayerCacheManager* AGORA_CALL getMediaPlayerCacheManager(); + export function getMediaPlayerCacheManager(): IMediaPlayerCacheManager { return new IMediaPlayerCacheManagerImpl(); } - public abstract IMediaPlayerCacheManager GetMediaPlayerCacheManager(); - export function getMediaPlayerCacheManager(): IMediaPlayerCacheManager { + public abstract IMediaPlayerCacheManager GetMediaPlayerCacheManager(); + export function getMediaPlayerCacheManager(): IMediaPlayerCacheManager { return new IMediaPlayerCacheManagerImpl(); } - MediaPlayerCacheManager getMediaPlayerCacheManager() -

+ MediaPlayerCacheManager getMediaPlayerCacheManager() +

详情

当你调用该方法后,SDK 会返回一个媒体播放器缓存管理器的实例。由于媒体播放器缓存管理器对象是单例模式,因此多次调用该方法将返回同一个实例。

-

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

-
+

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

+ +
返回值 -

实例。

+

实例。

diff --git a/dita/RTC-NG/API/api_iagoraparameter_setparameters.dita b/dita/RTC-NG/API/api_iagoraparameter_setparameters.dita index e312de03d81..bd067d63110 100644 --- a/dita/RTC-NG/API/api_iagoraparameter_setparameters.dita +++ b/dita/RTC-NG/API/api_iagoraparameter_setparameters.dita @@ -13,32 +13,35 @@

- - - virtual int setParameters(const char* parameters) = 0; - - public abstract int SetParameters(string parameters); - - -

+ + + virtual int setParameters(const char* parameters) = 0; + + public abstract int SetParameters(string parameters); + + +

详情 -

获取 JSON 配置方式。

+

获取 JSON 配置方式。

参数 - - parameters - JSON 字符串形式的参数。 - -
+ + parameters + JSON 字符串形式的参数。 + + +
返回值
+
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_getapplicationvolume.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_getapplicationvolume.dita index f248f894114..9efb18c1f4d 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_getapplicationvolume.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_getapplicationvolume.dita @@ -13,30 +13,33 @@

    - - - virtual int getApplicationVolume(int& volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int getApplicationVolume(int& volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int GetApplicationVolume(int volume); - - - - -

    + + + + +

    参数 - - volume - App 当前的音量,取值范围为 [0,255]。 - -
    + + volume + App 当前的音量,取值范围为 [0,255]。 + + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_getcount.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_getcount.dita index 273bff77ac8..894c0e0f588 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_getcount.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_getcount.dita @@ -13,20 +13,21 @@

    - - - virtual int getCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int getCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int GetCount(); - - - - -

    + + + + +

    详情 -

    如果先调用 再调用该方法,返回播放设备的数量。如果先调用 再调用该方法,则返回音频采集设备的数量。

    +

    如果先调用 再调用该方法,返回播放设备的数量。如果先调用 再调用该方法,则返回音频采集设备的数量。

    返回值 diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice.dita index 21bae55e6f4..79b9d248cf5 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice.dita @@ -13,46 +13,51 @@

    - - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type; + - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type; - virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int GetDefaultDevice(FString& deviceName, FString& deviceId); - - -

    + + +

    -
    • 该方法仅适用于 Windows 和 macOS。
    • -
    • 你需要先调用 获取设备列表后,再调用该方法。
    +
      +
    • 该方法仅适用于 Windows 和 macOS。
    • +
    • 你需要先调用 获取设备列表后,再调用该方法。
    • +
    参数 type - 输出参数,设备的类型,详见 。 - + 输出参数,设备的类型,详见 - - deviceName - 输出参数,系统默认的音频设备名称。最大长度为 - - + + deviceName + 输出参数,系统默认的音频设备名称。最大长度为 + + deviceId 输出参数,系统默认的音频设备 ID。最大长度为 -
    + +
    返回值
    + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice2.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice2.dita index 2c1d33986ce..73b99e3707f 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice2.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice2.dita @@ -13,42 +13,48 @@

    - - - virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - - - -

    + + + virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + + + + + +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +
    - +
    参数 - - - - - - - - - - - - -
    -
    -
    + + + + + + + + + + + + + + +
    + diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice.dita index 0fbe643c632..cbbd6fffbf1 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice.dita @@ -1,53 +1,55 @@ - <ph keyref="getDevice_IAudioDeviceCollection" /> + <ph keyref="getDevice_IAudioDeviceCollection"/> 获取指定 index 的音频设备信息。 - +

    - - - virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int GetDevice(int index, FString& deviceName, FString& deviceId); - abstract getDevice(): string; - public abstract string GetDevice(); - - Future<String> getDevice(); -

    + abstract getDevice(): string; + public abstract string GetDevice(); + + Future<String> getDevice(); +

    -
    +

    该方法仅适用于 Windows 和 macOS。

    参数 - - index - 输入参数,指定想查询的设备信息。 - - - deviceName - 输出参数,设备名称。最大长度为 - - - deviceId - 输出参数,设备 ID。最大长度为 - -
    + + index + 输入参数,指定想查询的设备信息。 + + + deviceName + 输出参数,设备名称。最大长度为 + + + deviceId + 输出参数,设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。

    音频采集设备信息。

    diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice2.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice2.dita index 8d15cbada89..2dd2217b680 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice2.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice2.dita @@ -13,23 +13,24 @@

    - - - virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH], + + + virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - - - -

    + + + + + +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +

    你可以调用该方法获取指定音频设备的名称、设备类型及 ID。

    该方法仅适用于 macOS 平台。 @@ -37,23 +38,26 @@
    参数 - - - - - - - - - - - - - - deviceTypeName - 输出参数,音频设备类型,如:built-in、USB、HDMI 等。最大长度为 - -
    -
    - + + + + + + + + + + + + + + deviceTypeName + 输出参数,音频设备类型,如:built-in、USB、HDMI 等。最大长度为 + + +
    +
    +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_isapplicationmute.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_isapplicationmute.dita index c46314f3b44..a7a8ef7b933 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_isapplicationmute.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_isapplicationmute.dita @@ -13,36 +13,38 @@

    - - - virtual int isApplicationMute(bool &mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int isApplicationMute(bool &mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int IsApplicationMute(bool mute); - - - - -

    + + + + +

    参数 - - mute - -

    App 当前是否静音: -

      -
    • : App 为静音状态。
    • -
    • : App 为非静音状态。
    • -

    -
    -
    -
    + + mute + +

    App 当前是否静音:

      +
    • : App 为静音状态。
    • +
    • : App 为非静音状态。
    • +

    +
    +
    + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_release.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_release.dita index e1462415106..9fbbc77d94d 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_release.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IAudioDeviceCollection"/> - 释放 对象占用的所有资源。 + 释放 + 对象占用的所有资源。 @@ -13,16 +14,16 @@

    - - - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") void Release(); - - - - -

    + + + + +

    diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationmute.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationmute.dita index 22a326c4cec..2a5a186077a 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationmute.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationmute.dita @@ -13,34 +13,36 @@

    - - - virtual int setApplicationMute(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int setApplicationMute(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int SetApplicationMute(bool mute); - - - - -

    + + + + +

    参数 - - mute - 是否将 App 设置为静音。 -
      -
    • : 将 App 静音。
    • -
    • : 将 App 解除静音。
    • -
    -
    -
    + + mute + 是否将 App 设置为静音。
      +
    • : 将 App 静音。
    • +
    • : 将 App 解除静音。
    • +
    +
    + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationvolume.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationvolume.dita index f49da0ba198..776231786d0 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationvolume.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationvolume.dita @@ -13,30 +13,33 @@

    - - - virtual int setApplicationVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int setApplicationVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int SetApplicationVolume(int volume); - - - - -

    + + + + +

    参数 - - volume - App 的音量,取值范围为 [0,255]。 - -
    + + volume + App 的音量,取值范围为 [0,255]。 + + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicecollection_setdevice.dita b/dita/RTC-NG/API/api_iaudiodevicecollection_setdevice.dita index be96dcda050..5c8f0b3b8cc 100644 --- a/dita/RTC-NG/API/api_iaudiodevicecollection_setdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicecollection_setdevice.dita @@ -1,47 +1,53 @@ - <ph keyref="setDevice_IAudioDeviceCollection" /> + <ph keyref="setDevice_IAudioDeviceCollection"/> 指定音频设备。 - +

    - - - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int SetDevice(FString deviceId); - - public abstract int SetDevice(string deviceIdUTF8); - - Future<void> setDevice(String deviceIdUTF8); -

    + + public abstract int SetDevice(string deviceIdUTF8); + + Future<void> setDevice(String deviceIdUTF8); +

    详情 -

    该方法可以更改当前的音频路由,但不会改变系统默认的音频路由。假设系统默认的音频路由是扬声器 1,你在加入频道前调用该方法设置当前的音频路由为扬声器 2,如果在此时进行设备检测,SDK 会对扬声器 2 进行检测。检测结束后,当你加入频道时 SDK 依然会选择使用系统默认的音频路由,即扬声器 1。

    -
    +

    该方法可以更改当前的音频路由,但不会改变系统默认的音频路由。假设系统默认的音频路由是扬声器 1,你在加入频道前调用该方法设置当前的音频路由为扬声器 + 2,如果在此时进行设备检测,SDK 会对扬声器 2 进行检测。检测结束后,当你加入频道时 SDK 依然会选择使用系统默认的音频路由,即扬声器 1。

    +
    参数 - - deviceId - 设备 ID。最大长度为 - -
    + + deviceId + 设备 ID。最大长度为 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita index caaecc45dd1..505c579b936 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita @@ -1,42 +1,49 @@ - <ph keyref="enumeratePlaybackDevices" /> + <ph keyref="enumeratePlaybackDevices"/> 获取系统中所有的播放设备列表。 - +

    - - - virtual IAudioDeviceCollection* enumeratePlaybackDevices() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual IAudioDeviceCollection* enumeratePlaybackDevices() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") UIAudioDeviceCollection* EnumeratePlaybackDevices(); - abstract enumeratePlaybackDevices(): AudioDeviceInfo[]; - public abstract DeviceInfo[] EnumeratePlaybackDevices(); - abstract enumeratePlaybackDevices(): AudioDeviceInfo[]; - List<AudioDeviceInfo> enumeratePlaybackDevices(); -

    + abstract enumeratePlaybackDevices(): AudioDeviceInfo[]; + public abstract DeviceInfo[] EnumeratePlaybackDevices(); + abstract enumeratePlaybackDevices(): AudioDeviceInfo[]; + List<AudioDeviceInfo> enumeratePlaybackDevices(); +

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

    该方法返回一个 对象,包含系统中所有的播放设备。通过 对象,App 可以枚举播放设备。在使用结束后,App 需调用 方法销毁返回的对象。

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

    该方法返回一个 + 对象,包含系统中所有的播放设备。通过 对象,App + 可以枚举播放设备。在使用结束后,App 需调用 + 方法销毁返回的对象。

    返回值
      -
    • 方法调用成功:返回一个 对象,包含所有的音频播放设备。
    • -
    • 方法调用成功,返回一个 DeviceInfo 数组,包含所有音频播放设备的设备 ID 和设备名称。
    • -
    • 方法调用成功,返回 数组,包含所有音频播放设备的设备 ID 和设备名称。
    • -
    • 方法调用失败:
    • -
    • 方法调用失败: 返回空列表。
    • -
    +
  • 方法调用成功:返回一个 + 对象,包含所有的音频播放设备。
  • +
  • 方法调用成功,返回一个 DeviceInfo 数组,包含所有音频播放设备的设备 ID 和设备名称。
  • +
  • 方法调用成功,返回 + 数组,包含所有音频播放设备的设备 ID 和设备名称。
  • +
  • 方法调用失败:
  • +
  • 方法调用失败: 返回空列表。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita index 23b75b25619..c61c60ca70e 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita @@ -1,42 +1,49 @@ - <ph keyref="enumerateRecordingDevices" /> + <ph keyref="enumerateRecordingDevices"/> 获取系统中所有的音频采集设备列表。 - +

    - - - virtual IAudioDeviceCollection* enumerateRecordingDevices() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual IAudioDeviceCollection* enumerateRecordingDevices() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") UIAudioDeviceCollection* EnumerateRecordingDevices(); - abstract enumerateRecordingDevices(): AudioDeviceInfo[]; - abstract DeviceInfo[] EnumerateRecordingDevices(); - abstract enumerateRecordingDevices(): AudioDeviceInfo[]; - List<AudioDeviceInfo> enumerateRecordingDevices(); -

    + abstract enumerateRecordingDevices(): AudioDeviceInfo[]; + abstract DeviceInfo[] EnumerateRecordingDevices(); + abstract enumerateRecordingDevices(): AudioDeviceInfo[]; + List<AudioDeviceInfo> enumerateRecordingDevices(); +

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

    该方法返回一个 对象,包含系统中所有的音频采集设备。通过 对象,App 可以枚举音频采集设备。在使用结束后,App 需调用 方法销毁返回的对象。

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

    该方法返回一个 + 对象,包含系统中所有的音频采集设备。通过 对象,App + 可以枚举音频采集设备。在使用结束后,App 需调用 + 方法销毁返回的对象。

    返回值
      -
    • 方法调用成功:返回一个 对象,包含所有的音频采集设备。
    • -
    • 方法调用成功,返回一个 DeviceInfo 数组,包含所有音频采集设备的设备 ID 和设备名称。
    • -
    • 方法调用成功,返回一个 数组,包含所有音频采集设备的设备 ID 和设备名称。
    • -
    • 方法调用失败:
    • -
    • 方法调用失败: 返回空列表。
    • -
    +
  • 方法调用成功:返回一个 + 对象,包含所有的音频采集设备。
  • +
  • 方法调用成功,返回一个 DeviceInfo 数组,包含所有音频采集设备的设备 ID 和设备名称。
  • +
  • 方法调用成功,返回一个 + 数组,包含所有音频采集设备的设备 ID 和设备名称。
  • +
  • 方法调用失败:
  • +
  • 方法调用失败: 返回空列表。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemloopbackdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemloopbackdevice.dita index bc55adc9789..e485b0d4548 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemloopbackdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemloopbackdevice.dita @@ -13,45 +13,49 @@

    - - - virtual int followSystemLoopbackDevice(bool enable) = 0; - abstract followSystemLoopbackDevice(enable: boolean): number; - public abstract int FollowSystemLoopbackDevice(bool enable); - - Future<void> followSystemLoopbackDevice(bool enable); -

    + + + virtual int followSystemLoopbackDevice(bool enable) = 0; + abstract followSystemLoopbackDevice(enable: boolean): number; + public abstract int FollowSystemLoopbackDevice(bool enable); + + Future<void> followSystemLoopbackDevice(bool enable); +

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

    方法仅适用于 Windows 和 macOS。

    参数 - - enable - 是否跟随系统默认的播放设备: - - -
      -
    • :跟随。当系统默认播放设备发生改变时,SDK 立即跟随切换声卡采集设备。
    • -
    • :不跟随。只有当 SDK 使用的声卡采集设备被移除后,SDK 才切换至系统默认的音频播放设备。
    • -
    -
    -
    + + enable + 是否跟随系统默认的播放设备:
      +
    • :跟随。当系统默认播放设备发生改变时,SDK + 立即跟随切换声卡采集设备。
    • +
    • :不跟随。只有当 SDK 使用的声卡采集设备被移除后,SDK + 才切换至系统默认的音频播放设备。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita index e90231395ef..25c211ee756 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita @@ -13,39 +13,45 @@

    - (int) followSystemPlaybackDevice:(BOOL)enable; - virtual int followSystemPlaybackDevice(bool enable) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + (int) followSystemPlaybackDevice:(BOOL)enable; + virtual int followSystemPlaybackDevice(bool enable) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int FollowSystemPlaybackDevice(bool enable); - abstract followSystemPlaybackDevice(enable: boolean): number; - abstract followSystemPlaybackDevice(enable: boolean): number; - public abstract int FollowSystemPlaybackDevice(bool enable); - Future<void> followSystemPlaybackDevice(bool enable); -

    + abstract followSystemPlaybackDevice(enable: boolean): number; + abstract followSystemPlaybackDevice(enable: boolean): number; + public abstract int FollowSystemPlaybackDevice(bool enable); + Future<void> followSystemPlaybackDevice(bool enable); +

    详情 - 该方法仅适用于 Windows 和 macOS。 + 该方法仅适用于 Windows 和 + macOS。
    <ph keyref="callback-section-title"/> - - enable - 是否跟随系统默认的音频播放设备: - -
      -
    • :跟随。当系统默认音频播放设备发生改变时,SDK 立即切换音频播放设备。
    • -
    • :不跟随。只有当 SDK 使用的音频播放设备被移除后,SDK 才切换至系统默认的音频播放设备。
    • -
    -
    -
    + + enable + 是否跟随系统默认的音频播放设备:
      +
    • :跟随。当系统默认音频播放设备发生改变时,SDK + 立即切换音频播放设备。
    • +
    • :不跟随。只有当 SDK 使用的音频播放设备被移除后,SDK + 才切换至系统默认的音频播放设备。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita index 2f79fac6b1e..6ebdddfa7c3 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita @@ -1,50 +1,56 @@ - <ph keyref="followSystemRecordingDevice" /> + <ph keyref="followSystemRecordingDevice"/> 设置 SDK 使用的音频采集设备跟随系统默认的音频采集设备。 - +

    - (int) followSystemRecordingDevice:(BOOL)enable; - virtual int followSystemRecordingDevice(bool enable) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + (int) followSystemRecordingDevice:(BOOL)enable; + virtual int followSystemRecordingDevice(bool enable) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int FollowSystemRecordingDevice(bool enable); - abstract followSystemRecordingDevice(enable: boolean): number; - public abstract int FollowSystemRecordingDevice(bool enable); - abstract followSystemRecordingDevice(enable: boolean): number; - Future<void> followSystemRecordingDevice(bool enable); -

    + abstract followSystemRecordingDevice(enable: boolean): number; + public abstract int FollowSystemRecordingDevice(bool enable); + abstract followSystemRecordingDevice(enable: boolean): number; + Future<void> followSystemRecordingDevice(bool enable); +

    详情 - 该方法仅适用于 Windows 和 macOS。 + 该方法仅适用于 Windows 和 + macOS。
    <ph keyref="callback-section-title"/> - - enable - 是否跟随系统默认的音频采集设备: -
      -
    • :跟随。当系统默认的音频采集设备改变时,SDK 立即切换音频采集设备。
    • -
    • :不跟随。只有当 SDK 使用的音频采集设备被移除后,SDK 才切换至系统默认的音频采集设备。
    • -
    -
    + + enable + 是否跟随系统默认的音频采集设备:
      +
    • :跟随。当系统默认的音频采集设备改变时,SDK + 立即切换音频采集设备。
    • +
    • :不跟随。只有当 SDK 使用的音频采集设备被移除后,SDK + 才切换至系统默认的音频采集设备。
    • +
    +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getloopbackdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getloopbackdevice.dita index c1346f9ac9c..8f6e375a383 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getloopbackdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getloopbackdevice.dita @@ -13,38 +13,41 @@

    - - - virtual int getLoopbackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - abstract getLoopbackDevice(): string; - public abstract int GetLoopbackDevice(ref string deviceId); - - Future<String> getLoopbackDevice(); -

    + + + virtual int getLoopbackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + abstract getLoopbackDevice(): string; + public abstract int GetLoopbackDevice(ref string deviceId); + + Future<String> getLoopbackDevice(); +

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

    该方法仅适用于 Windows 和 macOS。

    参数 - - deviceId - 输出参数,当前声卡采集设备的 ID。最大长度为 - -
    + + deviceId + 输出参数,当前声卡采集设备的 ID。 + 最大长度为 + + +
    返回值

    当前声卡采集设备的 ID。

    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice.dita index d144de93e3f..30563643fac 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice.dita @@ -13,37 +13,39 @@

    - - - - abstract getPlaybackDefaultDevice(): AudioDeviceInfo; - public abstract int GetPlaybackDefaultDevice(ref string deviceId, ref string deviceName); - - Future<AudioDeviceInfo> getPlaybackDefaultDevice(); -

    + + + + abstract getPlaybackDefaultDevice(): AudioDeviceInfo; + public abstract int GetPlaybackDefaultDevice(ref string deviceId, ref string deviceName); + + Future<AudioDeviceInfo> getPlaybackDefaultDevice(); +

    详情 - 该方法仅适用于 Windows 和 macOS。 + 该方法仅适用于 Windows 和 macOS。
    参数 - - deviceId - 输出参数,系统默认的音频播放设备 ID。 - - - deviceName - 输出参数,系统默认的音频播放设备名称。 - + + deviceId + 输出参数,系统默认的音频播放设备 ID。 + + + deviceName + 输出参数,系统默认的音频播放设备名称。 + +
    返回值

    默认音频播放设备的信息。详见

    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice2.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice2.dita index cade26e22bd..6462df6ffc3 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice2.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice2.dita @@ -13,41 +13,42 @@

    - - - - - public abstract int GetPlaybackDefaultDevice(ref string deviceId, ref string deviceTypeName, ref string deviceName); - - -

    + + + + + public abstract int GetPlaybackDefaultDevice(ref string deviceId, ref string deviceTypeName, ref string deviceName); + + +

    详情 - 该方法仅适用于 macOS。 + 该方法仅适用于 macOS。
    参数 - - deviceId - 输出参数,系统默认的音频播放设备 ID。 - - - deviceName - 输出参数,系统默认的音频播放设备名称。 - - - deviceTypeName - 输出参数,音频设备类型,如:built-in、USB、HDMI 等。 - + + deviceId + 输出参数,系统默认的音频播放设备 ID。 + + + deviceName + 输出参数,系统默认的音频播放设备名称。 + + + deviceTypeName + 输出参数,音频设备类型,如:built-in、USB、HDMI 等。 +
    返回值
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevice.dita index 44f6ef991ed..ab8040e6f48 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevice.dita @@ -1,46 +1,50 @@ - <ph keyref="getPlaybackDevice" /> + <ph keyref="getPlaybackDevice"/> 获取当前音频播放设备。 - +

    - - - virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int GetPlaybackDevice(FString& deviceId); - abstract getPlaybackDevice(): string; - public abstract int GetPlaybackDevice(ref string deviceId); - abstract getPlaybackDevice(): string; - Future<String> getPlaybackDevice(); -

    + abstract getPlaybackDevice(): string; + public abstract int GetPlaybackDevice(ref string deviceId); + abstract getPlaybackDevice(): string; + Future<String> getPlaybackDevice(); +

    详情 - 该方法仅适用于 Windows 和 macOS。 -
    + 该方法仅适用于 Windows 和 + macOS。 +
    参数 - - deviceId - 输出参数,当前音频播放设备的设备 ID。最大长度为 - -
    + + deviceId + 输出参数,当前音频播放设备的设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。

    当前音频播放设备。

    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita index 2d45cf8daf2..0ac5e92e33e 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita @@ -1,52 +1,58 @@ - <ph keyref="getPlaybackDeviceInfo" /> + <ph keyref="getPlaybackDeviceInfo"/> 获取音频播放设备信息。 - +

    - - - virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int GetPlaybackDeviceInfo(FString& deviceId, FString& deviceName); - abstract getPlaybackDeviceInfo(): AudioDeviceInfo; - public abstract int GetPlaybackDeviceInfo(ref string deviceId, ref string deviceName); - abstract getPlaybackDeviceInfo(): AudioDeviceInfo; - Future<AudioDeviceInfo> getPlaybackDeviceInfo(); -

    + abstract getPlaybackDeviceInfo(): AudioDeviceInfo; + public abstract int GetPlaybackDeviceInfo(ref string deviceId, ref string deviceName); + abstract getPlaybackDeviceInfo(): AudioDeviceInfo; + Future<AudioDeviceInfo> getPlaybackDeviceInfo(); +

    详情 - 该方法仅适用于 Windows 和 macOS。 -
    + 该方法仅适用于 Windows 和 + macOS。 +
    参数 - - deviceId - 输出参数,播放设备的设备 ID。最大长度为 - - - deviceName - 输出参数,播放设备的设备名称。最大长度为 - -
    + + deviceId + 输出参数,播放设备的设备 ID。最大长度为 + + + deviceName + 输出参数,播放设备的设备名称。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -

    对象,包含音频播放设备的设备 ID 和设备名称。

    +

    对象,包含音频播放设备的设备 ID + 和设备名称。

    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo2.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo2.dita index 228139ade7d..f82d38d48b5 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo2.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo2.dita @@ -13,47 +13,53 @@

    - - - virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH]) = 0; - - - public abstract int GetPlaybackDeviceInfo(ref string deviceId, ref string deviceName, ref string deviceTypeName); - -

    + + + virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH]) = 0; + + + public abstract int GetPlaybackDeviceInfo(ref string deviceId, ref string deviceName, ref string deviceTypeName); + + +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +

    该方法仅适用于 macOS。

    参数 - - - - - - - - - - deviceTypeName - 输出参数,音频播放设备类型,如:built-in、USB、HDMI 等。最大长度为 - -
    + + + + + + + + + + deviceTypeName + 输出参数,音频播放设备类型,如:built-in、USB、HDMI 等。最大长度为 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicemute.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicemute.dita index fae1c57f503..48027bb2b00 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicemute.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicemute.dita @@ -1,52 +1,54 @@ - <ph keyref="getPlaybackDeviceMute" /> + <ph keyref="getPlaybackDeviceMute"/> 获取当前播放设备静音状态。 - +

    - - - virtual int getPlaybackDeviceMute(bool *mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int getPlaybackDeviceMute(bool *mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int GetPlaybackDeviceMute(bool& mute); - abstract getPlaybackDeviceMute(): boolean; - public abstract bool GetPlaybackDeviceMute(); - abstract getPlaybackDeviceMute(): boolean; - Future<bool> getPlaybackDeviceMute(); -

    + abstract getPlaybackDeviceMute(): boolean; + public abstract bool GetPlaybackDeviceMute(); + abstract getPlaybackDeviceMute(): boolean; + Future<bool> getPlaybackDeviceMute(); +

    参数 - - mute - -

    播放设备静音状态: -

      -
    • : 播放设备为静音状态。
    • -
    • : 播放设备为非静音状态。
    • -

    -
    -
    -
    + + mute + +

    播放设备静音状态:

      +
    • : 播放设备为静音状态。
    • +
    • : 播放设备为非静音状态。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
      -
    • : 播放设备为静音状态。
    • -
    • : 播放设备为非静音状态。
    • -
    +
  • : 播放设备为静音状态。
  • +
  • : 播放设备为非静音状态。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita index ad53bb59767..585b8b0dec6 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita @@ -1,42 +1,44 @@ - <ph keyref="getPlaybackDeviceVolume" /> + <ph keyref="getPlaybackDeviceVolume"/> 获取播放设备音量。 - +

    - - - virtual int getPlaybackDeviceVolume(int *volume) = 0; - abstract getPlaybackDeviceVolume(): number; - public abstract int GetPlaybackDeviceVolume(); - abstract getPlaybackDeviceVolume(): number; - Future<int> getPlaybackDeviceVolume(); -

    + + + virtual int getPlaybackDeviceVolume(int *volume) = 0; + abstract getPlaybackDeviceVolume(): number; + public abstract int GetPlaybackDeviceVolume(); + abstract getPlaybackDeviceVolume(): number; + Future<int> getPlaybackDeviceVolume(); +

    参数 - - volume - 输出参数。播放设备音量。取值范围 [0,255]。 - -
    + + volume + 输出参数。播放设备音量。取值范围 [0,255]。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。

    播放设备音量。取值范围 [0,255]。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice.dita index 1b5e9ca23ca..f9656d6a4ca 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice.dita @@ -13,37 +13,39 @@

    - - - - abstract getRecordingDefaultDevice(): AudioDeviceInfo; - public abstract int GetRecordingDefaultDevice(ref string deviceId, ref string deviceName); - - Future<AudioDeviceInfo> getRecordingDefaultDevice(); -

    + + + + abstract getRecordingDefaultDevice(): AudioDeviceInfo; + public abstract int GetRecordingDefaultDevice(ref string deviceId, ref string deviceName); + + Future<AudioDeviceInfo> getRecordingDefaultDevice(); +

    详情 - 该方法仅适用于 Windows 和 macOS。 + 该方法仅适用于 Windows 和 macOS。
    参数 - - deviceId - 输出参数,系统默认的音频采集设备 ID。 - - - deviceName - 输出参数,系统默认的音频采集设备名称。 - + + deviceId + 输出参数,系统默认的音频采集设备 ID。 + + + deviceName + 输出参数,系统默认的音频采集设备名称。 + +
    返回值

    默认音频采集设备的信息。详见

    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice2.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice2.dita index b73e7101c34..fcf87873986 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice2.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice2.dita @@ -13,14 +13,14 @@

    - - - - - public abstract int GetRecordingDefaultDevice(ref string deviceId, ref string deviceTypeName, ref string deviceName); - - -

    + + + + + public abstract int GetRecordingDefaultDevice(ref string deviceId, ref string deviceTypeName, ref string deviceName); + + +

    详情 @@ -29,25 +29,26 @@
    参数 - - deviceId - 输出参数,系统默认的音频采集设备 ID。 - - - deviceName - 输出参数,系统默认的音频采集设备名称。 - - - - - + + deviceId + 输出参数,系统默认的音频采集设备 ID。 + + + deviceName + 输出参数,系统默认的音频采集设备名称。 + + + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevice.dita index d8c7ba57a68..ca058096939 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevice.dita @@ -13,34 +13,38 @@

    - - - virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int GetRecordingDevice(FString& deviceId); - abstract getRecordingDevice(): string; - public abstract int GetRecordingDevice(ref string deviceId); - abstract getRecordingDevice(): string; - Future<String> getRecordingDevice(); -

    + abstract getRecordingDevice(): string; + public abstract int GetRecordingDevice(ref string deviceId); + abstract getRecordingDevice(): string; + Future<String> getRecordingDevice(); +

    详情 - 该方法仅适用于 Windows 和 macOS。 -
    + 该方法仅适用于 Windows 和 + macOS。 +
    参数 - - deviceId - 输出参数。当前采集设备的设备 ID。最大长度为 - -
    + + deviceId + 输出参数。当前采集设备的设备 ID。最大长度为 + + +
    返回值

    当前音频采集设备。

    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita index 7a60fbfb5a0..a64afe4eeb4 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita @@ -1,52 +1,58 @@ - <ph keyref="getRecordingDeviceInfo" /> + <ph keyref="getRecordingDeviceInfo"/> 获取音频采集设备信息。 - +

    - - - virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int GetRecordingDeviceInfo(FString& deviceId, FString& deviceName); - abstract getRecordingDeviceInfo(): AudioDeviceInfo; - public abstract int GetRecordingDeviceInfo(ref string deviceId, ref string deviceName); - abstract getRecordingDeviceInfo(): AudioDeviceInfo; - Future<AudioDeviceInfo> getRecordingDeviceInfo(); -

    + abstract getRecordingDeviceInfo(): AudioDeviceInfo; + public abstract int GetRecordingDeviceInfo(ref string deviceId, ref string deviceName); + abstract getRecordingDeviceInfo(): AudioDeviceInfo; + Future<AudioDeviceInfo> getRecordingDeviceInfo(); +

    详情 - 该方法仅适用于 Windows 和 macOS。 -
    + 该方法仅适用于 Windows 和 + macOS。 +
    参数 - - deviceId - 输出参数,播放设备的设备 ID。最大长度为 - - - deviceName - 输出参数,播放设备的设备名称。最大长度为 - -
    + + deviceId + 输出参数,播放设备的设备 ID。最大长度为 + + + deviceName + 输出参数,播放设备的设备名称。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -

    对象,包含音频采集设备的设备 ID 和设备名称。

    +

    对象,包含音频采集设备的设备 ID + 和设备名称。

    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo2.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo2.dita index 938fe91a3e1..a914e3d1546 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo2.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo2.dita @@ -13,41 +13,44 @@

    - - - virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH]) = 0; - - - public abstract int GetRecordingDeviceInfo(ref string deviceId, ref string deviceName, ref string deviceTypeName); - -

    + + + virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH]) = 0; + + + public abstract int GetRecordingDeviceInfo(ref string deviceId, ref string deviceName, ref string deviceTypeName); + + +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +

    该方法仅适用于 macOS。

    参数 - - - - - - - - - - deviceTypeName - 输出参数,音频采集设备类型,如:built-in、USB、HDMI 等。最大长度为 - -
    + + + + + + + + + + deviceTypeName + 输出参数,音频采集设备类型,如:built-in、USB、HDMI 等。最大长度为 + + +
    -
    +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicemute.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicemute.dita index c3b4520ab82..8c28ec1acec 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicemute.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicemute.dita @@ -1,48 +1,50 @@ - <ph keyref="getRecordingDeviceMute" /> + <ph keyref="getRecordingDeviceMute"/> 获取当前音频采集设备静音状态。 - +

    - - - virtual int getRecordingDeviceMute(bool *mute) = 0; - abstract getRecordingDeviceMute(): boolean; - public abstract bool GetRecordingDeviceMute(); - abstract getRecordingDeviceMute(): boolean; - Future<bool> getRecordingDeviceMute(); -

    + + + virtual int getRecordingDeviceMute(bool *mute) = 0; + abstract getRecordingDeviceMute(): boolean; + public abstract bool GetRecordingDeviceMute(); + abstract getRecordingDeviceMute(): boolean; + Future<bool> getRecordingDeviceMute(); +

    参数 - - mute - 音频采集设备静音状态: -
      -
    • : 采集设备为静音状态。
    • -
    • : 采集设备为非静音状态。
    • -
    -
    -
    + + mute + 音频采集设备静音状态:
      +
    • : 采集设备为静音状态。
    • +
    • : 采集设备为非静音状态。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
      -
    • : 采集设备为静音状态。
    • -
    • : 采集设备为非静音状态。
    • -
    +
  • : 采集设备为静音状态。
  • +
  • : 采集设备为非静音状态。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita index 959154a8a80..7a4b86e6ffe 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita @@ -1,7 +1,7 @@ - <ph keyref="getRecordingDeviceVolume" /> + <ph keyref="getRecordingDeviceVolume"/> 获取音频采集设备音量。 @@ -13,14 +13,14 @@

    - - - virtual int getRecordingDeviceVolume(int *volume) = 0; - abstract getRecordingDeviceVolume(): number; - public abstract int GetRecordingDeviceVolume(); - abstract getRecordingDeviceVolume(): number; - Future<int> getRecordingDeviceVolume(); -

    + + + virtual int getRecordingDeviceVolume(int *volume) = 0; + abstract getRecordingDeviceVolume(): number; + public abstract int GetRecordingDeviceVolume(); + abstract getRecordingDeviceVolume(): number; + Future<int> getRecordingDeviceVolume(); +

    详情 @@ -29,16 +29,18 @@
    参数 - - volume - 输出参数,音频采集设备音量,取值范围 [0,255]。 - -
    + + volume + 输出参数,音频采集设备音量,取值范围 [0,255]。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。

    音频采集设备音量。取值范围 [0,255]。

    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_release.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_release.dita index 1fa0a84aa0d..3220bc5e35d 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_release.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IAudioDeviceManager"/> - 释放 对象占用的所有资源。 + 释放 + 对象占用的所有资源。 @@ -13,16 +14,16 @@

    - - - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") void Release(); - abstract release(): void; - - abstract release(): void; - Future<void> release(); -

    + abstract release(): void; + + abstract release(): void; + Future<void> release(); +

    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_setloopbackdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_setloopbackdevice.dita index f174ac98207..e54baf81f02 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_setloopbackdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_setloopbackdevice.dita @@ -13,54 +13,62 @@

    - - - virtual int setLoopbackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - abstract setLoopbackDevice(deviceId: string): number; - public abstract int SetLoopbackDevice(string deviceId); - - Future<void> setLoopbackDevice(String deviceId); -

    + + + virtual int setLoopbackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + abstract setLoopbackDevice(deviceId: string): number; + public abstract int SetLoopbackDevice(string deviceId); + + Future<void> setLoopbackDevice(String deviceId); +

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

    SDK 默认采用当前的播放设备作为声卡采集设备,如果想要指定其他音频设备作为声卡采集设备,则调用该方法并设置 deviceId 为你想要指定的声卡采集设备。

    -

    该方法可以更改当前的音频采集设备,但不改变系统默认的音频采集设备。假设系统默认的音频采集设备是麦克风 1,你在加入频道前调用该方法设置当前的音频路由为声卡 1,如果在此时进行设备检测,SDK 会对声卡 1 做设备检测。检测结束后,当你加入频道时 SDK 依然会选择使用系统默认的音频采集设备,即麦克风 1。

    +

    SDK 默认采用当前的播放设备作为声卡采集设备,如果想要指定其他音频设备作为声卡采集设备,则调用该方法并设置 deviceId + 为你想要指定的声卡采集设备。

    +

    该方法可以更改当前的音频采集设备,但不改变系统默认的音频采集设备。假设系统默认的音频采集设备是麦克风 1,你在加入频道前调用该方法设置当前的音频路由为声卡 + 1,如果在此时进行设备检测,SDK 会对声卡 1 做设备检测。检测结束后,当你加入频道时 SDK 依然会选择使用系统默认的音频采集设备,即麦克风 1。

    -

    该方法仅适用于 Windows 和 macOS。

    -

    该方法适用的场景如下:

    -

    使用 App A 播放音乐,通过蓝牙耳机播放;同时使用 App B 进行视频会议,通过扬声器播放。 - - -

      -
    • 如果设置声卡采集设备为蓝牙耳机,则 SDK 会将 App A 中的音乐发布到远端。
    • -
    • 如果设置声卡采集设备设置为扬声器,则 SDK 不会将 App A 中的音乐发布到远端。
    • -
    • 如果设置声卡采集设备为蓝牙耳机后,又改用有线耳机播放 App A 中的音乐,则需要重新调用该方法,设置声卡采集设备为有线耳机,则 SDK 会继续将 App A 中的音乐发布到远端。
    • -

    -
    +

    该方法仅适用于 Windows 和 macOS。

    +

    该方法适用的场景如下:

    +

    使用 App A 播放音乐,通过蓝牙耳机播放;同时使用 App B 进行视频会议,通过扬声器播放。

      +
    • 如果设置声卡采集设备为蓝牙耳机,则 SDK 会将 App A 中的音乐发布到远端。
    • +
    • 如果设置声卡采集设备设置为扬声器,则 SDK 不会将 App A 中的音乐发布到远端。
    • +
    • 如果设置声卡采集设备为蓝牙耳机后,又改用有线耳机播放 App A 中的音乐,则需要重新调用该方法,设置声卡采集设备为有线耳机,则 SDK + 会继续将 App A 中的音乐发布到远端。
    • +

    + +
    参数 - - deviceId - -

    指定 SDK 的声卡采集设备。由 获取。插拔设备不会影响 deviceId

    -

    最大长度为

    -
    -
    -
    + + deviceId + +

    指定 SDK 的声卡采集设备。由 获取。插拔设备不会影响 + deviceId

    +

    最大长度为

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevice.dita index dc0addf512c..ba3f401151e 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevice.dita @@ -1,51 +1,60 @@ - <ph keyref="setPlaybackDevice" /> + <ph keyref="setPlaybackDevice"/> 指定播放设备。 - +

    - - - virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int SetPlaybackDevice(FString deviceId); - abstract setPlaybackDevice(deviceId: string): number; - public abstract int SetPlaybackDevice(string deviceId); - abstract setPlaybackDevice(deviceId: string): number; - Future<void> setPlaybackDevice(String deviceId); -

    + abstract setPlaybackDevice(deviceId: string): number; + public abstract int SetPlaybackDevice(string deviceId); + abstract setPlaybackDevice(deviceId: string): number; + Future<void> setPlaybackDevice(String deviceId); +

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

    该方法可以更改当前的音频路由,但不会改变系统默认的音频路由。假设系统默认的音频路由是扬声器 1,你在加入频道前调用该方法设置当前的音频路由为扬声器 2,如果在此时进行设备检测,SDK 会对扬声器 2 进行检测。检测结束后,当你加入频道时 SDK 依然会选择使用系统默认的音频路由,即扬声器 1。

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

    该方法可以更改当前的音频路由,但不会改变系统默认的音频路由。假设系统默认的音频路由是扬声器 1,你在加入频道前调用该方法设置当前的音频路由为扬声器 + 2,如果在此时进行设备检测,SDK 会对扬声器 2 进行检测。检测结束后,当你加入频道时 SDK 依然会选择使用系统默认的音频路由,即扬声器 1。

    +
    参数 - - deviceId - -

    指定播放设备。由 获取。插拔设备不会影响 deviceId

    -

    最大长度为

    -
    -
    -
    + + deviceId + +

    指定播放设备。由 获取。插拔设备不会影响 + deviceId

    +

    最大长度为

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicemute.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicemute.dita index 19d03e1297a..9b44227d1ed 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicemute.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicemute.dita @@ -1,49 +1,53 @@ - <ph keyref="setPlaybackDeviceMute" /> + <ph keyref="setPlaybackDeviceMute"/> 设置播放设备静音。 - +

    - - - virtual int setPlaybackDeviceMute(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int setPlaybackDeviceMute(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int SetPlaybackDeviceMute(bool mute); - abstract setPlaybackDeviceMute(mute: boolean): number; - public abstract int SetPlaybackDeviceMute(bool mute); - abstract setPlaybackDeviceMute(mute: boolean): number; - Future<void> setPlaybackDeviceMute(bool mute); -

    + abstract setPlaybackDeviceMute(mute: boolean): number; + public abstract int SetPlaybackDeviceMute(bool mute); + abstract setPlaybackDeviceMute(mute: boolean): number; + Future<void> setPlaybackDeviceMute(bool mute); +

    参数 - - mute - -

    是否设置播放设备为静音: -

      -
    • : 播放设备设为静音。
    • -
    • : 播放设备不设为静音。
    • -

    -
    -
    -
    + + mute + +

    是否设置播放设备为静音:

      +
    • : 播放设备设为静音。
    • +
    • : 播放设备不设为静音。
    • +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita index 0be448db384..530c1255227 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita @@ -1,26 +1,26 @@ - <ph keyref="setPlaybackDeviceVolume" /> + <ph keyref="setPlaybackDeviceVolume"/> 设置播放设备音量。 - +

    - - - virtual int setPlaybackDeviceVolume(int volume) = 0; - abstract setPlaybackDeviceVolume(volume: number): number; - public abstract int SetPlaybackDeviceVolume(int volume); - abstract setPlaybackDeviceVolume(volume: number): number; - Future<void> setPlaybackDeviceVolume(int volume); -

    + + + virtual int setPlaybackDeviceVolume(int volume) = 0; + abstract setPlaybackDeviceVolume(volume: number): number; + public abstract int SetPlaybackDeviceVolume(int volume); + abstract setPlaybackDeviceVolume(volume: number): number; + Future<void> setPlaybackDeviceVolume(int volume); +

    详情 @@ -29,17 +29,22 @@
    参数 - - volume - 播放设备音量。取值范围为 [0,255]。 - -
    + + volume + 播放设备音量。取值范围为 [0,255]。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevice.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevice.dita index 1d6bd011f79..0306f78114d 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevice.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevice.dita @@ -1,51 +1,60 @@ - <ph keyref="setRecordingDevice" /> + <ph keyref="setRecordingDevice"/> 指定音频采集设备。 - +

    - - - virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int SetRecordingDevice(FString deviceId); - abstract setRecordingDevice(deviceId: string): number; - public abstract int SetRecordingDevice(string deviceId); - abstract setRecordingDevice(deviceId: string): number; - Future<void> setRecordingDevice(String deviceId); -

    + abstract setRecordingDevice(deviceId: string): number; + public abstract int SetRecordingDevice(string deviceId); + abstract setRecordingDevice(deviceId: string): number; + Future<void> setRecordingDevice(String deviceId); +

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

    该方法可以更改当前的音频采集设备,但不改变系统默认的音频采集设备。假设系统默认的音频采集设备是麦克风 1,你在加入频道前调用该方法设置当前的音频路由为蓝牙耳机 1,如果在此时进行设备检测,SDK 会对蓝牙耳机 1 进行检测。检测结束后,当你加入频道时 SDK 依然会选择使用系统默认的音频采集设备,即麦克风 1。

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

    该方法可以更改当前的音频采集设备,但不改变系统默认的音频采集设备。假设系统默认的音频采集设备是麦克风 1,你在加入频道前调用该方法设置当前的音频路由为蓝牙耳机 + 1,如果在此时进行设备检测,SDK 会对蓝牙耳机 1 进行检测。检测结束后,当你加入频道时 SDK 依然会选择使用系统默认的音频采集设备,即麦克风 1。

    参数 - - deviceId - -

    音频采集设备的 Device ID。可通过 获取。插拔设备不会影响 deviceId

    -

    最大长度为

    -
    -
    -
    + + deviceId + +

    音频采集设备的 Device ID。可通过 + 获取。插拔设备不会影响 deviceId

    +

    最大长度为

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicemute.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicemute.dita index c7a69f1ffd0..b3b3c6b084b 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicemute.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicemute.dita @@ -1,47 +1,51 @@ - <ph keyref="setRecordingDeviceMute" /> + <ph keyref="setRecordingDeviceMute"/> 设置当前音频采集设备静音。 - +

    - - - virtual int setRecordingDeviceMute(bool mute) = 0; - abstract setRecordingDeviceMute(mute: boolean): number; - public abstract int SetRecordingDeviceMute(bool mute); - abstract setRecordingDeviceMute(mute: boolean): number; - Future<void> setRecordingDeviceMute(bool mute); -

    + + + virtual int setRecordingDeviceMute(bool mute) = 0; + abstract setRecordingDeviceMute(mute: boolean): number; + public abstract int SetRecordingDeviceMute(bool mute); + abstract setRecordingDeviceMute(mute: boolean): number; + Future<void> setRecordingDeviceMute(bool mute); +

    参数 - - mute - -

    是否设置音频采集设备静音: -

      -
    • : 采集设备静音。
    • -
    • : 采集设备为非静音。
    • -

    -
    -
    -
    + + mute + +

    是否设置音频采集设备静音:

      +
    • : 采集设备静音。
    • +
    • : 采集设备为非静音。
    • +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita index a0a0f73417d..429d2ff8706 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita @@ -13,16 +13,16 @@

    - - - virtual int setRecordingDeviceVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int setRecordingDeviceVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int SetRecordingDeviceVolume(int volume); - abstract setRecordingDeviceVolume(volume: number): number; - public abstract int SetRecordingDeviceVolume(int volume); - abstract setRecordingDeviceVolume(volume: number): number; - Future<void> setRecordingDeviceVolume(int volume); -

    + abstract setRecordingDeviceVolume(volume: number): number; + public abstract int SetRecordingDeviceVolume(int volume); + abstract setRecordingDeviceVolume(volume: number): number; + Future<void> setRecordingDeviceVolume(int volume); +

    详情 @@ -31,17 +31,22 @@
    参数 - - volume - 音频采集设备音量。取值范围 [0,255]。0 代表无声,255 代表最大音量。 - -
    + + volume + 音频采集设备音量。取值范围 [0,255]。0 代表无声,255 代表最大音量。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita index 116d9f66e41..858c1b16cef 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita @@ -1,54 +1,63 @@ - <ph keyref="startAudioDeviceLoopbackTest" /> + <ph keyref="startAudioDeviceLoopbackTest"/> 开始音频设备回路测试。 - +

    - - -(int)startAudioDeviceLoopbackTest:(int)indicationInterval; - virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + -(int)startAudioDeviceLoopbackTest:(int)indicationInterval; + virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StartAudioDeviceLoopbackTest(int indicationInterval); - abstract startAudioDeviceLoopbackTest(indicationInterval: number): number; - public abstract int StartAudioDeviceLoopbackTest(int indicationInterval); - abstract startAudioDeviceLoopbackTest(indicationInterval: number): number; - Future<void> startAudioDeviceLoopbackTest(int indicationInterval); -

    + abstract startAudioDeviceLoopbackTest(indicationInterval: number): number; + public abstract int StartAudioDeviceLoopbackTest(int indicationInterval); + abstract startAudioDeviceLoopbackTest(indicationInterval: number): number; + Future<void> startAudioDeviceLoopbackTest(int indicationInterval); +

    详情 -

    该方法测试音频采集和播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地音频,然后使用音频播放设备播放出来。SDK 会按设置的时间间隔触发两个 回调,分别报告音频采集设备(uid = 0)和音频播放设置(uid = 1)的音量信息。

    +

    该方法测试音频采集和播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地音频,然后使用音频播放设备播放出来。SDK 会按设置的时间间隔触发两个 回调,分别报告音频采集设备(uid = + 0)和音频播放设置(uid = 1)的音量信息。

    -
      -
    • 该方法仅适用于 Windows 和 macOS。
    • -
    • 该方法在加入频道前后都可调用。
    • -
    • 该方法仅支持主播角色调用。
    • -
    • 该方法仅在本地进行音频设备测试,不涉及网络连接。
    • -
    • 完成测试后,必须调用 停止音频设备回路测试。
    • -
    + +
    参数 - - indicationInterval - SDK 触发 回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。不得少于 10 毫秒,否则会收不到 回调。 - -
    + + indicationInterval + SDK 触发 回调的时间间隔,单位为毫秒。建议设置到大于 200 + 毫秒。不得少于 10 毫秒,否则会收不到 回调。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_startplaybackdevicetest.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_startplaybackdevicetest.dita index 5b4a6318791..b006af17283 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_startplaybackdevicetest.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_startplaybackdevicetest.dita @@ -1,57 +1,64 @@ - <ph keyref="startPlaybackDeviceTest" /> + <ph keyref="startPlaybackDeviceTest"/> 启动音频播放设备测试。 - +

    - public abstract int startPlaybackDeviceTest(String audioFileName); - - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName; - virtual int startPlaybackDeviceTest(const char* testAudioFilePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + public abstract int startPlaybackDeviceTest(String audioFileName); + - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName; + virtual int startPlaybackDeviceTest(const char* testAudioFilePath) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StartPlaybackDeviceTest(FString testAudioFilePath); - abstract startPlaybackDeviceTest(testAudioFilePath: string): number; - public abstract int StartPlaybackDeviceTest(string testAudioFilePath); - abstract startPlaybackDeviceTest(testAudioFilePath: string): number; - Future<void> startPlaybackDeviceTest(String testAudioFilePath); -

    + abstract startPlaybackDeviceTest(testAudioFilePath: string): number; + public abstract int StartPlaybackDeviceTest(string testAudioFilePath); + abstract startPlaybackDeviceTest(testAudioFilePath: string): number; + Future<void> startPlaybackDeviceTest(String testAudioFilePath); +

    详情

    该方法用于测试本地音频播放设备是否能正常工作。启动测试后,SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。

    -

    调用该方法后,SDK 会每隔 100 毫秒触发一次 回调,报告 uid = 1 及播放设备的音量信息。

    -

    该方法和 的区别在于该方法检测本地的音频播放设备能否正常工作,后者可以检测音视频设备及网络是否正常。

    - 该方法需要在加入频道前调用。测试完成后,如需加入频道,请确保先调用 停止设备测试。 +

    调用该方法后,SDK 会每隔 100 毫秒触发一次 回调,报告 + uid = 1 及播放设备的音量信息。

    +

    该方法和 + 的区别在于该方法检测本地的音频播放设备能否正常工作,后者可以检测音视频设备及网络是否正常。

    + 该方法需要在加入频道前调用。测试完成后,如需加入频道,请确保先调用 停止设备测试。
    参数 - - testAudioFilePath - audioFileName - -

    音频文件的绝对路径,路径字符串使用 UTF-8 编码格式。 -

      -
    • 支持文件格式: wav、mp3、m4a、aac。
    • -
    • 支持文件采样率: 8000、16000、32000、44100、48000。
    • -

    -
    -
    -
    + + testAudioFilePath + audioFileName + +

    音频文件的绝对路径,路径字符串使用 UTF-8 编码格式。

      +
    • 支持文件格式: wav、mp3、m4a、aac。
    • +
    • 支持文件采样率: 8000、16000、32000、44100、48000。
    • +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_startrecordingdevicetest.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_startrecordingdevicetest.dita index 14f9bcc8b4e..ff9ef23812e 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_startrecordingdevicetest.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_startrecordingdevicetest.dita @@ -13,40 +13,49 @@

    - public abstract int startRecordingDeviceTest(int indicationInterval); - - (int)startRecordingDeviceTest:(int)indicationInterval; - virtual int startRecordingDeviceTest(int indicationInterval) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + public abstract int startRecordingDeviceTest(int indicationInterval); + - (int)startRecordingDeviceTest:(int)indicationInterval; + virtual int startRecordingDeviceTest(int indicationInterval) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StartRecordingDeviceTest(int indicationInterval); - abstract startRecordingDeviceTest(indicationInterval: number): number; - public abstract int StartRecordingDeviceTest(int indicationInterval); - abstract startRecordingDeviceTest(indicationInterval: number): number; - Future<void> startRecordingDeviceTest(int indicationInterval); -

    + abstract startRecordingDeviceTest(indicationInterval: number): number; + public abstract int StartRecordingDeviceTest(int indicationInterval); + abstract startRecordingDeviceTest(indicationInterval: number): number; + Future<void> startRecordingDeviceTest(int indicationInterval); +

    详情 -

    该方法用于测试本地音频采集设备是否能正常工作。调用该方法后,SDK 会按设置的时间间隔触发 回调,报告 uid = 0 及采集设备的音量信息。

    -

    该方法和 的区别在于该方法检测本地的音频采集设备能否正常工作,后者可以检测音视频设备及网络是否正常。

    - 该方法需要在加入频道前调用。测试完成后,如需加入频道,请确保先调用 停止设备测试。 +

    该方法用于测试本地音频采集设备是否能正常工作。调用该方法后,SDK 会按设置的时间间隔触发 回调,报告 uid = 0 及采集设备的音量信息。

    +

    该方法和 + 的区别在于该方法检测本地的音频采集设备能否正常工作,后者可以检测音视频设备及网络是否正常。

    + 该方法需要在加入频道前调用。测试完成后,如需加入频道,请确保先调用 停止设备测试。
    参数 - - indicationInterval - SDK 触发 回调的时间间隔,单位为毫秒,最小取值为 10,否则会收不到 回调,SDK 会返回错误码 -2。声网推荐你将该值设为 100。 - -
    + + indicationInterval + SDK 触发 回调的时间间隔,单位为毫秒,最小取值为 + 10,否则会收不到 回调,SDK 会返回错误码 + -2。声网推荐你将该值设为 100。 + + +
    <ph keyref="return-section-title"/> -

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

    - +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2: 参数设置错误,请重新设置参数。
    • +
  • +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita index 401f576c4e4..bf33396ceb0 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita @@ -1,44 +1,50 @@ - <ph keyref="stopAudioDeviceLoopbackTest" /> + <ph keyref="stopAudioDeviceLoopbackTest"/> 停止音频设备回路测试。 - +

    - - -(int)stopAudioDeviceLoopbackTest; - virtual int stopAudioDeviceLoopbackTest() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + -(int)stopAudioDeviceLoopbackTest; + virtual int stopAudioDeviceLoopbackTest() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StopAudioDeviceLoopbackTest(); - abstract stopAudioDeviceLoopbackTest(): number; - public abstract int StopAudioDeviceLoopbackTest(); - abstract stopAudioDeviceLoopbackTest(): number; - Future<void> stopAudioDeviceLoopbackTest(); -

    + abstract stopAudioDeviceLoopbackTest(): number; + public abstract int StopAudioDeviceLoopbackTest(); + abstract stopAudioDeviceLoopbackTest(): number; + Future<void> stopAudioDeviceLoopbackTest(); +

    详情 -
      -
    • 该方法仅适用于 Windows 和 macOS。
    • -
    • 该方法在加入频道前后都可调用。
    • -
    • 该方法仅支持主播角色调用。
    • -
    • 在调用 后,必须调用该方法停止音频设备回路测试。
    • -
    + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita index ccf103d5538..4de0f10926f 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita @@ -1,40 +1,44 @@ - <ph keyref="stopPlaybackDeviceTest" /> + <ph keyref="stopPlaybackDeviceTest"/> 停止音频播放设备测试。 - +

    - public abstract int stopPlaybackDeviceTest(); - - (int)stopPlaybackDeviceTest; - virtual int stopPlaybackDeviceTest() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + public abstract int stopPlaybackDeviceTest(); + - (int)stopPlaybackDeviceTest; + virtual int stopPlaybackDeviceTest() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StopPlaybackDeviceTest(); - abstract stopPlaybackDeviceTest(): number; - public abstract int StopPlaybackDeviceTest(); - abstract stopPlaybackDeviceTest(): number; - Future<void> stopPlaybackDeviceTest(); -

    + abstract stopPlaybackDeviceTest(): number; + public abstract int StopPlaybackDeviceTest(); + abstract stopPlaybackDeviceTest(): number; + Future<void> stopPlaybackDeviceTest(); +

    详情 -

    该方法用于停止音频播放设备测试。调用 后,必须调用该方法停止测试。

    +

    该方法用于停止音频播放设备测试。调用 后,必须调用该方法停止测试。

    该方法需要在加入频道前调用。
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita b/dita/RTC-NG/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita index ab2bb3cd7da..f224687d8a3 100644 --- a/dita/RTC-NG/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita +++ b/dita/RTC-NG/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita @@ -13,16 +13,16 @@

    - public abstract int stopRecordingDeviceTest(); - - (int)stopRecordingDeviceTest; - virtual int stopRecordingDeviceTest() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + public abstract int stopRecordingDeviceTest(); + - (int)stopRecordingDeviceTest; + virtual int stopRecordingDeviceTest() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StopRecordingDeviceTest(); - abstract stopRecordingDeviceTest(): number; - public abstract int StopRecordingDeviceTest(); - abstract stopRecordingDeviceTest(): number; - Future<void> stopRecordingDeviceTest(); -

    + abstract stopRecordingDeviceTest(): number; + public abstract int StopRecordingDeviceTest(); + abstract stopRecordingDeviceTest(): number; + Future<void> stopRecordingDeviceTest(); +

    详情 @@ -31,10 +31,14 @@
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita index 3d93bd15cc4..3c7876ccd8c 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita @@ -13,48 +13,54 @@

    - public abstract int muteAllRemoteAudioStreams(boolean mute); - - (int)muteAllRemoteAudioStreams:(BOOL)mute; - virtual int muteAllRemoteAudioStreams(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int muteAllRemoteAudioStreams(boolean mute); + - (int)muteAllRemoteAudioStreams:(BOOL)mute; + virtual int muteAllRemoteAudioStreams(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") 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); -

    + abstract muteAllRemoteAudioStreams(mute: boolean): number; + public abstract int MuteAllRemoteAudioStreams(bool mute); + abstract muteAllRemoteAudioStreams(mute: boolean): number; + Future<void> muteAllRemoteAudioStreams(bool mute); +

    详情

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

    -
      -
    • 该方法需要在 后调用。
    • -
    • 在使用空间音效时,如需设置是否订阅所有远端用户的音频流,建议调用该方法替代 方法。
    • -
    • 在调用该方法后,你需要调用 更新本地用户和远端用户的空间位置,否则该方法中的设置不会生效。
    • -
    + +
    参数 - - mute - -

    是否取消订阅所有远端用户的音频流: - - -

      -
    • : 取消订阅所有远端用户的音频流。
    • -
    • : 订阅所有远端用户的音频流。
    • -

    -
    -
    -
    + + mute + +

    是否取消订阅所有远端用户的音频流:

      +
    • : 取消订阅所有远端用户的音频流。
    • +
    • : 订阅所有远端用户的音频流。
    • +
    +

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

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita index bfb3c63b633..80ae1b096f6 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita @@ -13,49 +13,53 @@

    - public abstract int muteLocalAudioStream(boolean mute); - - (int)muteLocalAudioStream:(BOOL)mute; - virtual int muteLocalAudioStream(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int muteLocalAudioStream(boolean mute); + - (int)muteLocalAudioStream:(BOOL)mute; + virtual int muteLocalAudioStream(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int MuteLocalAudioStream(bool mute); - abstract muteLocalAudioStream(mute: boolean): number; - public abstract int MuteLocalAudioStream(bool mute); - - Future<void> muteLocalAudioStream(bool mute); -

    + abstract muteLocalAudioStream(mute: boolean): number; + public abstract int MuteLocalAudioStream(bool mute); + + Future<void> muteLocalAudioStream(bool mute); +

    详情 -
      -
    • 该方法不影响音频采集状态,因为没有禁用音频采集设备。
    • -
    • 该方法需要在 后调用。
    • -
    • 在使用空间音效时,如需设置是否发布本地音频流,建议调用该方法替代 方法。
    • -
    • 成功调用该方法后,远端会触发 回调和 回调。
    • -
    + +
    参数 - - mute - -

    是否取消发布本地音频流。 - - - -

      -
    • : 取消发布本地音频流。
    • -
    • : 发布本地音频流。
    • -

    -
    -
    -
    + + mute + +

    是否取消发布本地音频流。

      +
    • : 取消发布本地音频流。
    • +
    • : 发布本地音频流。
    • +

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

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita index cff3367a213..f439b893a51 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita @@ -13,29 +13,31 @@

    - public abstract int muteRemoteAudioStream(int uid, boolean mute); - - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int muteRemoteAudioStream(int uid, boolean mute); + - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; + virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") 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}); -

    + 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}); +

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

    - -

      -
    • 该方法需要在 后调用。
    • -
    • 在使用空间音效时,如需设置是否订阅指定用户的音频流,建议调用该方法替代 方法。
    • + +
        +
      • 该方法需要在 后调用。
      • +
      • 在使用空间音效时,如需设置是否订阅指定用户的音频流,建议调用该方法替代 方法。

      @@ -43,27 +45,31 @@
      参数 - - - - - - mute - -

      是否取消订阅指定远端用户的音频流。 -

        -
      • : 取消订阅指定用户的音频流。
      • -
      • :(默认)订阅指定用户的音频流,SDK 根据本地用户和远端用户的距离决定是否订阅。
      • -

      -
      -
      -
      + + + + + + mute + +

      是否取消订阅指定远端用户的音频流。

        +
      • : 取消订阅指定用户的音频流。
      • +
      • :(默认)订阅指定用户的音频流,SDK + 根据本地用户和远端用户的距离决定是否订阅。
      • +

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

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

    +

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

    diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_release.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_release.dita index f3b0a146bfe..54ca4072fe7 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_release.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IBaseSpatialAudioEngine"/> - 销毁 + 销毁 @@ -13,23 +14,22 @@

    - - + (void)destroy NS_SWIFT_NAME(destroy()); - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + + + (void)destroy NS_SWIFT_NAME(destroy()); + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") void Release(); - abstract release(): void; - abstract release(): void; - abstract release(): void; -

    + abstract release(): void; + abstract release(): void; + abstract release(): void; +

    详情 -

    该方法释放 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    -

    调用该方法后,你将无法再使用 下的任何 API。 - - - 该方法需要在 方法前调用。

    +

    该方法释放 + 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    +

    调用该方法后,你将无法再使用 下的任何 API。 该方法需要在 + 方法前调用。

    diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_setaudiorecvrange.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_setaudiorecvrange.dita index d6e63985824..ec7c5c579e3 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_setaudiorecvrange.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_setaudiorecvrange.dita @@ -1,47 +1,53 @@ - <ph keyref="setAudioRecvRange" /> + <ph keyref="setAudioRecvRange"/> 设置本地用户的音频接收范围。 - +

    - public abstract int setAudioRecvRange(float range); - - (int)setAudioRecvRange:(float)range; - virtual int setAudioRecvRange(float range) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setAudioRecvRange(float range); + - (int)setAudioRecvRange:(float)range; + virtual int setAudioRecvRange(float range) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetAudioRecvRange(float range); - abstract setAudioRecvRange(range: number): number; - public abstract int SetAudioRecvRange(float range); - abstract setAudioRecvRange(range: number): number; - Future<void> setAudioRecvRange(double range); -

    + abstract setAudioRecvRange(range: number): number; + public abstract int SetAudioRecvRange(float range); + abstract setAudioRecvRange(range: number): number; + Future<void> setAudioRecvRange(double range); +

    详情

    设置成功后,用户只能听见设置范围内或属于同一队伍的远端用户。你可以随时调用该方法更新音频的接收范围。

    - 建议在 前调用该方法。
    + 建议在 前调用该方法。 +
    参数 - - range - 可接收音频的最大范围,单位为游戏引擎中的距离单位。该参数取值需大于 0,默认值为 20。 - -
    + + range + 可接收音频的最大范围,单位为游戏引擎中的距离单位。该参数取值需大于 0,默认值为 20。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_setdistanceunit.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_setdistanceunit.dita index 07801822a3f..7698f028f6f 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_setdistanceunit.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_setdistanceunit.dita @@ -1,51 +1,56 @@ - <ph keyref="setDistanceUnit" /> + <ph keyref="setDistanceUnit"/> 设置游戏引擎单位距离的长度(米)。 - +

    - public abstract int setDistanceUnit(float unit); - - (int)setDistanceUnit:(float)unit; - virtual int setDistanceUnit(float unit) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setDistanceUnit(float unit); + - (int)setDistanceUnit:(float)unit; + virtual int setDistanceUnit(float unit) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetDistanceUnit(float unit); - abstract setDistanceUnit(unit: number): number; - public abstract int SetDistanceUnit(float unit); - abstract setDistanceUnit(unit: number): number; - Future<void> setDistanceUnit(double unit); -

    + abstract setDistanceUnit(unit: number): number; + public abstract int SetDistanceUnit(float unit); + abstract setDistanceUnit(unit: number): number; + Future<void> setDistanceUnit(double unit); +

    详情 -

    游戏引擎里的距离单位是游戏引擎自定义的,而声网空间音效算法的距离单位为米。默认情况下,SDK 会将每单位的游戏引擎距离换算为一米。你可以调用该方法,将游戏引擎里的单位距离换算为指定的米数。

    - 建议在 前调用该方法。
    +

    游戏引擎里的距离单位是游戏引擎自定义的,而声网空间音效算法的距离单位为米。默认情况下,SDK + 会将每单位的游戏引擎距离换算为一米。你可以调用该方法,将游戏引擎里的单位距离换算为指定的米数。

    + 建议在 前调用该方法。 +
    参数 - - unit - 每单位游戏引擎距离转换后的米数。该参数取值需大于 0.00,默认值为 1.00。例如,将 unit 设为 2.00,表示每单位的游戏引擎距离等于 2 米。 - - -

    该值越大,当远端用户远离本地用户时,本地用户听到的声音衰减速度越快。

    -
    -
    -
    + + unit + 每单位游戏引擎距离转换后的米数。该参数取值需大于 0.00,默认值为 1.00。例如,将 unit 设为 2.00,表示每单位的游戏引擎距离等于 2 + 米。

    该值越大,当远端用户远离本地用户时,本地用户听到的声音衰减速度越快。

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita index 7527b38f5dc..38624d01785 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita @@ -1,51 +1,57 @@ - <ph keyref="setMaxAudioRecvCount" /> + <ph keyref="setMaxAudioRecvCount"/> 设置音频接收范围内最多可接收的音频流数。 - +

    - public abstract int setMaxAudioRecvCount(int maxCount); - - (int)setMaxAudioRecvCount:(NSUInteger)maxCount; - virtual int setMaxAudioRecvCount(int maxCount) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setMaxAudioRecvCount(int maxCount); + - (int)setMaxAudioRecvCount:(NSUInteger)maxCount; + virtual int setMaxAudioRecvCount(int maxCount) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetMaxAudioRecvCount(int maxCount); - abstract setMaxAudioRecvCount(maxCount: number): number; - public abstract int SetMaxAudioRecvCount(int maxCount); - abstract setMaxAudioRecvCount(maxCount: number): number; - Future<void> setMaxAudioRecvCount(int maxCount); -

    + abstract setMaxAudioRecvCount(maxCount: number): number; + public abstract int SetMaxAudioRecvCount(int maxCount); + abstract setMaxAudioRecvCount(maxCount: number): number; + Future<void> setMaxAudioRecvCount(int maxCount); +

    详情

    如果在音频接收范围内可接收的音频流数超过设置的值,则本地用户会接收音源距离较近的 maxCount 路音频。

    - 因为服务端空间音效不发布,所以不能体现 enterRoom。该方法在 前后均可调用,区别如下: -
      -
    • 如果在 之前调用,该方法会在进入房间时生效。
    • -
    • 如果在 之后调用,该方法立即生效,即改变当前音频接收范围内最多可接收的音频流数。
    • -
    + 因为服务端空间音效不发布,所以不能体现 + enterRoom。该方法在 前后均可调用,区别如下:
      +
    • 如果在 之前调用,该方法会在进入房间时生效。
    • +
    • 如果在 之后调用,该方法立即生效,即改变当前音频接收范围内最多可接收的音频流数。
    • +
    +
    参数 - - maxCount - 音频接收范围内最多可接收的音频流数。该参数取值需 ≤ 16,默认值为 10。 - -
    + + maxCount + 音频接收范围内最多可接收的音频流数。该参数取值需 ≤ 16,默认值为 10。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_setplayerattenuation.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_setplayerattenuation.dita index bc1568572f9..99844456ea9 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_setplayerattenuation.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_setplayerattenuation.dita @@ -13,76 +13,85 @@

    - public abstract int setPlayerAttenuation(int playerId, double attenuation, boolean forceSet); - - (int)setPlayerAttenuation:(double)attenuation playerId:(NSUInteger)playerId forceSet:(BOOL)forceSet; - virtual int setPlayerAttenuation(int playerId, double attenuation, bool forceSet) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setPlayerAttenuation(int playerId, double attenuation, boolean forceSet); + - (int)setPlayerAttenuation:(double)attenuation playerId:(NSUInteger)playerId forceSet:(BOOL)forceSet; + virtual int setPlayerAttenuation(int playerId, double attenuation, bool forceSet) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetPlayerAttenuation(int playerId, bool forceSet, FString attenuation = "0.0"); - abstract setPlayerAttenuation( + abstract setPlayerAttenuation( playerId: number, attenuation: number, forceSet: boolean ): number; - public abstract int SetPlayerAttenuation(int playerId, double attenuation, bool forceSet); - abstract setPlayerAttenuation( + public abstract int SetPlayerAttenuation(int playerId, double attenuation, bool forceSet); + abstract setPlayerAttenuation( playerId: number, attenuation: number, forceSet: boolean ): number; - Future<void> setPlayerAttenuation( + Future<void> setPlayerAttenuation( {required int playerId, required double attenuation, required bool forceSet}); -

    +

    详情
    - -
    自从
    -
    v4.0.1
    -
    + +
    自从
    +
    v4.0.1
    +
    参数 - - - - - - attenuation - 媒体播放器的声音衰减系数,取值范围为[0,1]。其中: - -
      -
    • 0:广播模式,即音量和音色均不随距离衰减,无论距离远近,本地用户听到的音量和音色都无变化。
    • -
    • (0,0.5):弱衰减模式,即音量和音色在传播过程中仅发生微弱衰减,跟真实环境相比,声音可以传播得更远。
    • -
    • 0.5:(默认)模拟音量在真实环境下的衰减,效果等同于不设置 attenuation 参数。
    • -
    • (0.5,1]:强衰减模式,即音量和音色在传播过程中发生迅速衰减。
    • -
    -
    - - forceSet - 是否强制设定媒体播放器的声音衰减效果: - -
      -
    • :强制使用 attenuation 设置媒体播放器的声音衰减效果,此时 中的 audioAttenuation 中设置的隔声区域衰减系数对媒体播放器不生效。
    • -
    • :不强制使用 attenuation 设置媒体播放器的声音衰减效果,分为以下两种情况。 - -
        -
      • 如果音源和听声者分属于隔声区域内部和外部,则声音衰减效果由 中的 audioAttenuation 决定。
      • -
      • 如果音源和听声者在同一个隔声区域内或同在隔声区域外,则声音衰减效果由该方法中的 attenuation 决定。
      • -
    • -
    -
    -
    + + + + + + attenuation + 媒体播放器的声音衰减系数,取值范围为[0,1]。其中:
      +
    • 0:广播模式,即音量和音色均不随距离衰减,无论距离远近,本地用户听到的音量和音色都无变化。
    • +
    • (0,0.5):弱衰减模式,即音量和音色在传播过程中仅发生微弱衰减,跟真实环境相比,声音可以传播得更远。
    • +
    • 0.5:(默认)模拟音量在真实环境下的衰减,效果等同于不设置 attenuation + 参数。
    • +
    • (0.5,1]:强衰减模式,即音量和音色在传播过程中发生迅速衰减。
    • +
    +
    + + forceSet + 是否强制设定媒体播放器的声音衰减效果:
      +
    • :强制使用 + attenuation 设置媒体播放器的声音衰减效果,此时 中的 + audioAttenuation + 中设置的隔声区域衰减系数对媒体播放器不生效。
    • +
    • :不强制使用 + attenuation 设置媒体播放器的声音衰减效果,分为以下两种情况。
        +
      • 如果音源和听声者分属于隔声区域内部和外部,则声音衰减效果由 中的 + audioAttenuation 决定。
      • +
      • 如果音源和听声者在同一个隔声区域内或同在隔声区域外,则声音衰减效果由该方法中的 + attenuation 决定。
      • +
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita index cf94b8e9303..c5699fd75a8 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita @@ -13,52 +13,66 @@

    - public abstract int setZones(SpatialAudioZone[] zones); - - (int)setZones:(NSArray<AgoraSpatialAudioZone*> * _Nullable)zones NS_SWIFT_NAME(setZones(_:)); - virtual int setZones(const SpatialAudioZone *zones, unsigned int zoneCount) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setZones(SpatialAudioZone[] zones); + - (int)setZones:(NSArray<AgoraSpatialAudioZone*> * _Nullable)zones NS_SWIFT_NAME(setZones(_:)); + virtual int setZones(const SpatialAudioZone *zones, unsigned int zoneCount) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetZones(TArray<FSpatialAudioZone> zones); - abstract setZones(zones: SpatialAudioZone, zoneCount: number): number; - public abstract int SetZones(SpatialAudioZone[] zones, uint zoneCount); - abstract setZones(zones: SpatialAudioZone, zoneCount: number): number; - Future<void> setZones( + abstract setZones(zones: SpatialAudioZone, zoneCount: number): number; + public abstract int SetZones(SpatialAudioZone[] zones, uint zoneCount); + abstract setZones(zones: SpatialAudioZone, zoneCount: number): number; + Future<void> setZones( {required SpatialAudioZone zones, required int zoneCount}); -

    +

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

    在虚拟互动场景下,你可以通过该方法设置隔声区域和声音衰减系数。当音源(可以为用户或媒体播放器)跟听声者分属于隔声区域内部和外部时,会体验到类似真实环境中声音在遇到建筑隔断时的衰减效果。

    - 如果多次调用该方法,以最后一次设置的隔声区域为准。
    + 如果多次调用该方法,以最后一次设置的隔声区域为准。 +
    参数 - - zones - 隔声区域的设置。详见 。当你将该参数设置为 时,表示清除所有隔声区域。 - 在 Windows 平台上,需确保 zones 数组中的成员个数与 zoneCount 的值相等,否则会导致崩溃。 - - - zoneCount - 隔声区域的数量。 - -
    + + zones + 隔声区域的设置。详见 。当你将该参数设置为 时,表示清除所有隔声区域。 在 Windows 平台上,需确保 + zones 数组中的成员个数与 zoneCount + 的值相等,否则会导致崩溃。 + + + zoneCount + 隔声区域的数量。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita index 7a711959a15..3e0182cdfeb 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita @@ -1,35 +1,35 @@ - <ph keyref="updatePlayerPositionInfo" /> + <ph keyref="updatePlayerPositionInfo"/> 更新媒体播放器的空间位置。 - +

    - public abstract int updatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); - - (int)updatePlayerPositionInfo:(NSInteger)playerId positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)positionInfo; - virtual int updatePlayerPositionInfo(int playerId, const RemoteVoicePositionInfo& positionInfo) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int updatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); + - (int)updatePlayerPositionInfo:(NSInteger)playerId positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)positionInfo; + virtual int updatePlayerPositionInfo(int playerId, const RemoteVoicePositionInfo& positionInfo) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int UpdatePlayerPositionInfo(int playerId, const FRemoteVoicePositionInfo& positionInfo); - abstract updatePlayerPositionInfo( + abstract updatePlayerPositionInfo( playerId: number, positionInfo: RemoteVoicePositionInfo ): number; - public abstract int UpdatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); - abstract updatePlayerPositionInfo( + public abstract int UpdatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); + abstract updatePlayerPositionInfo( playerId: number, positionInfo: RemoteVoicePositionInfo ): number; - Future<void> updatePlayerPositionInfo( + Future<void> updatePlayerPositionInfo( {required int playerId, required RemoteVoicePositionInfo positionInfo}); -

    +

    详情 @@ -38,21 +38,27 @@
    参数 - - playerId - 媒体播放器 ID。可通过 获取。 - - + + playerId + 媒体播放器 ID。可通过 获取。 + + positionInfo 媒体播放器的空间位置信息。详见 -
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita b/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita index 545d8bbabc9..c89520d6a61 100644 --- a/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita +++ b/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita @@ -1,89 +1,102 @@ - <ph keyref="updateSelfPosition" /> + <ph keyref="updateSelfPosition"/> 更新本地用户的空间位置。 - +

    - public abstract int updateSelfPosition( + public abstract int updateSelfPosition( float[] position, float[] axisForward, float[] axisRight, float[] axisUp); - - (int)updateSelfPosition:(simd_float3)position axisForward:(simd_float3)axisForward axisRight:(simd_float3)axisRight axisUp:(simd_float3)axisUp NS_SWIFT_NAME(updateSelfPosition(_:axisForward:axisRight:axisUp:)); - virtual int updateSelfPosition(float position[3], float axisForward[3], float axisRight[3], float axisUp[3]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + - (int)updateSelfPosition:(simd_float3)position axisForward:(simd_float3)axisForward axisRight:(simd_float3)axisRight axisUp:(simd_float3)axisUp NS_SWIFT_NAME(updateSelfPosition(_:axisForward:axisRight:axisUp:)); + virtual int updateSelfPosition(float position[3], float axisForward[3], float axisRight[3], float axisUp[3]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int UpdateSelfPosition(FVector position, FVector axisForward, FVector axisRight, FVector axisUp); - abstract updateSelfPosition( + abstract updateSelfPosition( position: number[], axisForward: number[], axisRight: number[], axisUp: number[] ): number; - public abstract int UpdateSelfPosition(float[] position, float[] axisForward, float[] axisRight, float[] axisUp); - abstract updateSelfPosition( + public abstract int UpdateSelfPosition(float[] position, float[] axisForward, float[] axisRight, float[] axisUp); + abstract updateSelfPosition( position: number[], axisForward: number[], axisRight: number[], axisUp: number[] ): number; - Future<void> updateSelfPosition( + Future<void> updateSelfPosition( {required List<double> position, required List<double> axisForward, required List<double> axisRight, required List<double> axisUp}); -

    +

    详情

    在不同类下调用该方法时,作用不同: -

      -
    • 类下调用该方法时,SDK 会向声网空间音效服务器更新本地用户的空间位置。声网空间音效服务器会根据本地和远端用户的世界坐标和音频接收范围计算用户的空间音效参数。
    • -
    • 类下,该方法需要和 搭配使用。SDK 会根据该方法和 设置的参数计算本地和远端用户之间的相对位置,从而计算用户的空间音效参数。
    • -

    +
      +
    • 类下调用该方法时,SDK + 会向声网空间音效服务器更新本地用户的空间位置。声网空间音效服务器会根据本地和远端用户的世界坐标和音频接收范围计算用户的空间音效参数。
    • +
    • 类下,该方法需要和 搭配使用。SDK 会根据该方法和 + 设置的参数计算本地和远端用户之间的相对位置,从而计算用户的空间音效参数。
    • +

      -
    • 该方法需要在 后调用。
    • -
    • 如果在 类下调用该方法,需注意: -
        -
      • 多次调用该方法时,建议调用时间间隔为 [120,7000) 毫秒,否则 SDK 和声网空间音效服务器会失去同步。
      • -
      • 如果本次更新的空间位置和上次位置间的距离小于 0.2 米或各方向旋转角度小于 15 度,则 SDK 不会更新本次空间位置。
      • +
      • 该方法需要在 后调用。
      • +
      • 如果在 类下调用该方法,需注意:
          +
        • 多次调用该方法时,建议调用时间间隔为 [120,7000) 毫秒,否则 SDK 和声网空间音效服务器会失去同步。
        • +
        • 如果本次更新的空间位置和上次位置间的距离小于 0.2 米或各方向旋转角度小于 15 度,则 SDK 不会更新本次空间位置。
      -
    + +
    参数 - - position - 在世界坐标系中的坐标。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - 在世界坐标系中的坐标。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。前、右、上分别对应 Unity Vector3 的 z、x、y 轴的正方向。 - - - axisForward - 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。前、右、上分别对应 Unity Vector3 的 z、x、y 轴的正方向。 - - - axisRight - 在世界坐标系右轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - - - axisUp - 在世界坐标系上轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - -
    + + position + 在世界坐标系中的坐标。该参数是长度为 3 + 的数组,三个值依次表示前、右、上的坐标值。 + 在世界坐标系中的坐标。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。前、右、上分别对应 Unity + Vector3 的 z、x、y 轴的正方向。 + + + axisForward + 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。前、右、上分别对应 Unity + Vector3 的 z、x、y 轴的正方向。 + + + axisRight + 在世界坐标系右轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + + axisUp + 在世界坐标系上轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ilocalspatialaudioengine_clearremotepositions.dita b/dita/RTC-NG/API/api_ilocalspatialaudioengine_clearremotepositions.dita index c2e5ece3bc1..ce7cb09a1ea 100644 --- a/dita/RTC-NG/API/api_ilocalspatialaudioengine_clearremotepositions.dita +++ b/dita/RTC-NG/API/api_ilocalspatialaudioengine_clearremotepositions.dita @@ -1,28 +1,28 @@ - <ph keyref="clearRemotePositions" /> + <ph keyref="clearRemotePositions"/> 删除所有远端用户的空间位置信息。 - +

    - public abstract int clearRemotePositions(); - - (int) clearRemotePositions; - virtual int clearRemotePositions() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int clearRemotePositions(); + - (int) clearRemotePositions; + virtual int clearRemotePositions() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int ClearRemotePositions(); - abstract clearRemotePositions(): number; - public abstract int ClearRemotePositions(); - abstract clearRemotePositions(): number; - Future<void> clearRemotePositions(); -

    + abstract clearRemotePositions(): number; + public abstract int ClearRemotePositions(); + abstract clearRemotePositions(): number; + Future<void> clearRemotePositions(); +

    详情 @@ -31,10 +31,14 @@
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ilocalspatialaudioengine_create.dita b/dita/RTC-NG/API/api_ilocalspatialaudioengine_create.dita index 27c94c16652..6c90dbef664 100644 --- a/dita/RTC-NG/API/api_ilocalspatialaudioengine_create.dita +++ b/dita/RTC-NG/API/api_ilocalspatialaudioengine_create.dita @@ -2,7 +2,8 @@ <ph keyref="create_ILocalSpatialAudioEngine"/> - 创建 + 创建 @@ -13,19 +14,19 @@

    - public static synchronized ILocalSpatialAudioEngine create() { + public static synchronized ILocalSpatialAudioEngine create() { if (mInstance == null) { mInstance = new LocalSpatialAudioImpl(); } return mInstance; } - - - - - - -

    + + + + + + +

    详情 diff --git a/dita/RTC-NG/API/api_ilocalspatialaudioengine_initialize.dita b/dita/RTC-NG/API/api_ilocalspatialaudioengine_initialize.dita index d88586f1fc8..9d5de906225 100644 --- a/dita/RTC-NG/API/api_ilocalspatialaudioengine_initialize.dita +++ b/dita/RTC-NG/API/api_ilocalspatialaudioengine_initialize.dita @@ -2,7 +2,8 @@ <ph keyref="initialize_ILocalSpatialAudioEngine"/> - 初始化 + 初始化 @@ -13,40 +14,51 @@

    - public abstract int initialize(LocalSpatialAudioConfig config); - + (instancetype _Nonnull)sharedLocalSpatialAudioWithConfig:(AgoraLocalSpatialAudioConfig* _Nonnull)config; - virtual int initialize(const LocalSpatialAudioConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int initialize(LocalSpatialAudioConfig config); + + (instancetype _Nonnull)sharedLocalSpatialAudioWithConfig:(AgoraLocalSpatialAudioConfig* _Nonnull)config; + virtual int initialize(const LocalSpatialAudioConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int Initialize(FLocalSpatialAudioConfig& config); - abstract initialize(): number; - public abstract int Initialize(); - abstract initialize(): number; - Future<void> initialize(); -

    + abstract initialize(): number; + public abstract int Initialize(); + abstract initialize(): number; + Future<void> initialize(); +

    详情 -
      -
    • 你需要在 () 后调用该方法。
    • -
    • 你需要在 后调用该方法。
    • -
    • 在调用 类的其他方法前,你需要先调用该方法初始化
    • -
    • SDK 只支持每个 App 创建一个 实例。
    • -
    +
      +
    • 你需要在 () 后调用该方法。
    • +
    • 你需要在 + 后调用该方法。
    • +
    • 在调用 类的其他方法前,你需要先调用该方法初始化 +
    • +
    • SDK 只支持每个 App 创建一个 实例。
    • +
    + +
    参数 - - config - 的配置。详见 - -
    + + config + 的配置。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ilocalspatialaudioengine_release.dita b/dita/RTC-NG/API/api_ilocalspatialaudioengine_release.dita index 703f485553d..1c268ab8104 100644 --- a/dita/RTC-NG/API/api_ilocalspatialaudioengine_release.dita +++ b/dita/RTC-NG/API/api_ilocalspatialaudioengine_release.dita @@ -1,38 +1,42 @@ - <ph keyref="release_ILocalSpatialAudioEngine" /> - 销毁 + <ph keyref="release_ILocalSpatialAudioEngine"/> + 销毁 - +

    - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.release(); mInstance = null; } - + (void)destroy; - - - public abstract void Dispose(); - -

    + + (void)destroy; + + + public abstract void Dispose(); + + +

    详情 -

    该方法释放 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    -

    调用该方法后,你将无法再使用 下的任何 API。如需再次使用空间音效,你需要等 执行结束后再调用 创建一个新的 。 - - - 该方法需要在 方法前调用。

    +

    该方法释放 + 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    +

    调用该方法后,你将无法再使用 下的任何 API。如需再次使用空间音效,你需要等 + 执行结束后再调用 创建一个新的 该方法需要在 的 + 方法前调用。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ilocalspatialaudioengine_removeremoteposition.dita b/dita/RTC-NG/API/api_ilocalspatialaudioengine_removeremoteposition.dita index 234930f789a..926ef01b448 100644 --- a/dita/RTC-NG/API/api_ilocalspatialaudioengine_removeremoteposition.dita +++ b/dita/RTC-NG/API/api_ilocalspatialaudioengine_removeremoteposition.dita @@ -1,48 +1,54 @@ - <ph keyref="removeRemotePosition" /> + <ph keyref="removeRemotePosition"/> 删除指定远端用户的空间位置信息。 - +

    - public abstract int removeRemotePosition(int uid); - - (int) removeRemotePosition:(NSUInteger)uid; - virtual int removeRemotePosition(uid_t uid) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int removeRemotePosition(int uid); + - (int) removeRemotePosition:(NSUInteger)uid; + virtual int removeRemotePosition(uid_t uid) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int RemoveRemotePosition(int64 uid); - abstract removeRemotePosition(uid: number): number; - public abstract int RemoveRemotePosition(uint uid); - abstract removeRemotePosition(uid: number): number; - Future<void> removeRemotePosition(int uid); -

    + abstract removeRemotePosition(uid: number): number; + public abstract int RemoveRemotePosition(uint uid); + abstract removeRemotePosition(uid: number): number; + Future<void> removeRemotePosition(int uid); +

    详情

    成功调用该方法后,本地用户将听不到指定的远端用户。

    -

    离开频道后,为避免计算资源的浪费,你需要调用该方法删除指定远端用户的空间位置信息。否则,该用户的空间位置信息会一直被保存。当远端用户人数大于 中设定的可接收音频流数时,会按照相对距离依次自动取消订阅距离最远的用户的音频流。

    +

    离开频道后,为避免计算资源的浪费,你需要调用该方法删除指定远端用户的空间位置信息。否则,该用户的空间位置信息会一直被保存。当远端用户人数大于 中设定的可接收音频流数时,会按照相对距离依次自动取消订阅距离最远的用户的音频流。

    参数 - - uid - 用户 ID。需与用户加入频道时填写的用户 ID 一致。 - -
    + + uid + 用户 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_ilocalspatialaudioengine_setremoteaudioattenuation.dita b/dita/RTC-NG/API/api_ilocalspatialaudioengine_setremoteaudioattenuation.dita index 7c354bfdbc6..65fa061f583 100644 --- a/dita/RTC-NG/API/api_ilocalspatialaudioengine_setremoteaudioattenuation.dita +++ b/dita/RTC-NG/API/api_ilocalspatialaudioengine_setremoteaudioattenuation.dita @@ -13,71 +13,75 @@

    - public abstract int setRemoteAudioAttenuation(int uid, double attenuation, boolean forceSet); - - (int) setRemoteAudioAttenuation:(double)attenuation userId:(NSUInteger)uid forceSet:(BOOL)forceSet; - virtual int setRemoteAudioAttenuation(uid_t uid, double attenuation, bool forceSet) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setRemoteAudioAttenuation(int uid, double attenuation, boolean forceSet); + - (int) setRemoteAudioAttenuation:(double)attenuation userId:(NSUInteger)uid forceSet:(BOOL)forceSet; + virtual int setRemoteAudioAttenuation(uid_t uid, double attenuation, bool forceSet) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetRemoteAudioAttenuation(int64 uid, bool forceSet, FString attenuation = "0.0"); - abstract setRemoteAudioAttenuation( + abstract setRemoteAudioAttenuation( uid: number, attenuation: number, forceSet: boolean ): number; - public abstract int SetRemoteAudioAttenuation(uint uid, double attenuation, bool forceSet); - abstract setRemoteAudioAttenuation( + public abstract int SetRemoteAudioAttenuation(uint uid, double attenuation, bool forceSet); + abstract setRemoteAudioAttenuation( uid: number, attenuation: number, forceSet: boolean ): number; - Future<void> setRemoteAudioAttenuation( + Future<void> setRemoteAudioAttenuation( {required int uid, required double attenuation, required bool forceSet}); -

    +

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

    参数 - - - - - - attenuation - 针对该用户的声音衰减系数,取值范围为[0,1]。其中: - -
      -
    • -
    -
    - - forceSet - 是否强制设定该用户的声音衰减效果: - -
      -
    • :强制使用 attenuation 设置该用户的声音衰减效果,此时 中的 audioAttenuation 中设置的隔声区域衰减系数对该用户不生效。
    • -
    • :不强制使用 attenuation 设置用户的声音衰减效果,分为以下两种情况。 - -
        -
      • -
    • -
    -
    -
    + + + + + + attenuation + 针对该用户的声音衰减系数,取值范围为[0,1]。其中:
      +
    • +
    +
    + + forceSet + 是否强制设定该用户的声音衰减效果:
      +
    • :强制使用 + attenuation 设置该用户的声音衰减效果,此时 中的 + audioAttenuation 中设置的隔声区域衰减系数对该用户不生效。
    • +
    • :不强制使用 attenuation + 设置用户的声音衰减效果,分为以下两种情况。
        +
      • +
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita b/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita index 4c1f8519087..24c606ba523 100644 --- a/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita +++ b/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita @@ -1,58 +1,64 @@ - <ph keyref="updateRemotePosition" /> + <ph keyref="updateRemotePosition"/> 更新远端用户的空间位置信息。 - +

    - public abstract int updateRemotePosition(int uid, RemoteVoicePositionInfo posInfo); - - (int)updateRemotePosition:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo; - virtual int updateRemotePosition(uid_t uid, const RemoteVoicePositionInfo &posInfo) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int updateRemotePosition(int uid, RemoteVoicePositionInfo posInfo); + - (int)updateRemotePosition:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo; + virtual int updateRemotePosition(uid_t uid, const RemoteVoicePositionInfo &posInfo) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int UpdateRemotePosition(int64 uid, FRemoteVoicePositionInfo& posInfo); - abstract updateRemotePosition( + abstract updateRemotePosition( uid: number, posInfo: RemoteVoicePositionInfo ): number; - public abstract int UpdateRemotePosition(uint uid, RemoteVoicePositionInfo posInfo); - abstract updateRemotePosition( + public abstract int UpdateRemotePosition(uint uid, RemoteVoicePositionInfo posInfo); + abstract updateRemotePosition( uid: number, posInfo: RemoteVoicePositionInfo ): number; - Future<void> updateRemotePosition( + Future<void> updateRemotePosition( {required int uid, required RemoteVoicePositionInfo posInfo}); -

    +

    详情

    成功调用该方法后,SDK 会根据本地和远端用户的相对位置计算空间音效参数。

    - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    参数 - - - - - - posInfo - 远端用户的空间位置信息。详见 - -
    + + + + + + posInfo + 远端用户的空间位置信息。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateselftransform.dita b/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateselftransform.dita index 5c73c84e747..b68d33b28e8 100644 --- a/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateselftransform.dita +++ b/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateselftransform.dita @@ -13,22 +13,23 @@

    - - - (int)updateSelfTransform:(simd_float4x4)transform NS_SWIFT_NAME(updateSelfTransform(_:)); - - - - - -

    + + - (int)updateSelfTransform:(simd_float4x4)transform NS_SWIFT_NAME(updateSelfTransform(_:)); + + + + + + +

    详情
    - -
    自从
    -
    v4.3.0
    -
    + +
    自从
    +
    v4.3.0
    +

    @@ -39,17 +40,22 @@
    参数 - - transform - 转换参数。为一个 4 × 4 的矩阵。 - -
    + + transform + 转换参数。为一个 4 × 4 的矩阵。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + + diff --git a/dita/RTC-NG/API/api_imediaengine_addlistener.dita b/dita/RTC-NG/API/api_imediaengine_addlistener.dita index b56dc9dd6b2..5a7535819e4 100644 --- a/dita/RTC-NG/API/api_imediaengine_addlistener.dita +++ b/dita/RTC-NG/API/api_imediaengine_addlistener.dita @@ -2,7 +2,8 @@ <ph keyref="addListener_IMediaEngine"/> - 添加一个 监听器。 + 添加一个 + 监听器。 @@ -13,38 +14,41 @@

    - - - - addListener?<EventType extends keyof IMediaEngineEvent>( + + + + addListener?<EventType extends keyof IMediaEngineEvent>( eventType: EventType, listener: IMediaEngineEvent[EventType] ): void; - - addListener?<EventType extends keyof IMediaEngineEvent>( + + addListener?<EventType extends keyof IMediaEngineEvent>( eventType: EventType, listener: IMediaEngineEvent[EventType] ): void; - -

    + +

    详情 -

    成功调用该方法后,你可以通过 监听对应 对象的事件、获取数据。根据业务需要,你可以为同一事件添加多个监听器。

    +

    成功调用该方法后,你可以通过 监听对应 对象的事件、获取数据。根据业务需要,你可以为同一事件添加多个监听器。

    参数 - - eventType - 需要监听的目标事件名。详见 - - - listener - eventType 对应的回调函数。以添加 为例: - const onPlaybackAudioFrameBeforeMixing = (channelId: string, uid: number, audioFrame: AudioFrame) => {}; + + eventType + 需要监听的目标事件名。详见 + + + listener + eventType 对应的回调函数。以添加 为例: + const onPlaybackAudioFrameBeforeMixing = (channelId: string, uid: number, audioFrame: AudioFrame) => {}; engine.addListener('onPlaybackAudioFrameBeforeMixing', onPlaybackAudioFrameBeforeMixing); - -
    + + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita b/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita index 47e92a2cb32..1cdc00ef480 100644 --- a/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita +++ b/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita @@ -13,58 +13,68 @@

    - public abstract int createCustomAudioTrack( + public abstract int createCustomAudioTrack( Constants.AudioTrackType trackType, AudioTrackConfig config); - - (int)createCustomAudioTrack:(AgoraAudioTrackType)trackType + - (int)createCustomAudioTrack:(AgoraAudioTrackType)trackType config:(AgoraAudioTrackConfig* _Nonnull)config; - virtual rtc::track_id_t createCustomAudioTrack(rtc::AUDIO_TRACK_TYPE trackType, const rtc::AudioTrackConfig& config) = 0; - abstract createCustomAudioTrack( + virtual rtc::track_id_t createCustomAudioTrack(rtc::AUDIO_TRACK_TYPE trackType, const rtc::AudioTrackConfig& config) = 0; + abstract createCustomAudioTrack( trackType: AudioTrackType, config: AudioTrackConfig ): number; - public abstract uint CreateCustomAudioTrack(AUDIO_TRACK_TYPE trackType, AudioTrackConfig config); - abstract createCustomAudioTrack( + public abstract uint CreateCustomAudioTrack(AUDIO_TRACK_TYPE trackType, AudioTrackConfig config); + abstract createCustomAudioTrack( trackType: AudioTrackType, config: AudioTrackConfig ): number; - Future<int> createCustomAudioTrack( + Future<int> createCustomAudioTrack( {required AudioTrackType trackType, required AudioTrackConfig config}); -

    +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    该方法需要在加入频道前调用。 -

    如需在频道中发布自定义采集音频,可参考以下步骤: -

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

    +

    如需在频道中发布自定义采集音频,可参考以下步骤:

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

    参数 - - trackType - 自定义音频轨道类型。详见 。 - 如指定 ,则必须在调用 加入频道时,将 中的 publishMicrophoneTrack 设为 ,否则加入频道失败并返回错误码 -2. - - - config - 自定义音频轨道配置。详见 - -
    + + trackType + 自定义音频轨道类型。详见 如指定 + ,则必须在调用 加入频道时,将 + 中的 publishMicrophoneTrack 设为 ,否则加入频道失败并返回错误码 -2. + + + config + 自定义音频轨道配置。详见 + + +
    返回值
    +
  • 方法调用成功,返回音频轨道 ID 作为该音频轨道的唯一标识。
  • +
  • 方法调用失败,返回负值。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_destroycustomaudiotrack.dita b/dita/RTC-NG/API/api_imediaengine_destroycustomaudiotrack.dita index ba0010ba698..97d070bf76d 100644 --- a/dita/RTC-NG/API/api_imediaengine_destroycustomaudiotrack.dita +++ b/dita/RTC-NG/API/api_imediaengine_destroycustomaudiotrack.dita @@ -13,38 +13,43 @@

    - public abstract int destroyCustomAudioTrack(int trackId); - - (int)destroyCustomAudioTrack:(NSInteger)trackId; - virtual int destroyCustomAudioTrack(rtc::track_id_t trackId) = 0; - abstract destroyCustomAudioTrack(trackId: number): number; - public abstract int DestroyCustomAudioTrack(uint trackId); - abstract destroyCustomAudioTrack(trackId: number): number; - Future<void> destroyCustomAudioTrack(int trackId); -

    + public abstract int destroyCustomAudioTrack(int trackId); + - (int)destroyCustomAudioTrack:(NSInteger)trackId; + virtual int destroyCustomAudioTrack(rtc::track_id_t trackId) = 0; + abstract destroyCustomAudioTrack(trackId: number): number; + public abstract int DestroyCustomAudioTrack(uint trackId); + abstract destroyCustomAudioTrack(trackId: number): number; + Future<void> destroyCustomAudioTrack(int trackId); +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    参数 - - trackId - 调用 方法返回的自定义音频轨道 ID。 - -
    + + trackId + 调用 方法返回的自定义音频轨道 ID。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_pullaudioframe.dita b/dita/RTC-NG/API/api_imediaengine_pullaudioframe.dita index b9ed41fc65d..7fbd88cbd59 100644 --- a/dita/RTC-NG/API/api_imediaengine_pullaudioframe.dita +++ b/dita/RTC-NG/API/api_imediaengine_pullaudioframe.dita @@ -13,60 +13,78 @@

    - public abstract int pullPlaybackAudioFrame(byte[] data, int lengthInByte); - - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data + public abstract int pullPlaybackAudioFrame(byte[] data, int lengthInByte); + - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data lengthInByte:(NSUInteger)lengthInByte; - virtual int pullAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - abstract pullAudioFrame(): AudioFrame; - public abstract int PullAudioFrame(AudioFrame frame); - abstract pullAudioFrame(): AudioFrame; - Future<void> pullAudioFrame(AudioFrame frame); -

    + virtual int pullAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + abstract pullAudioFrame(): AudioFrame; + public abstract int PullAudioFrame(AudioFrame frame); + abstract pullAudioFrame(): AudioFrame; + Future<void> pullAudioFrame(AudioFrame frame); +

    详情 -

    使用该方法前,你需要调用 (enabled: ) 通知 App 开启并设置外部渲染。

    +

    使用该方法前,你需要调用 (enabled: ) 通知 + App 开启并设置外部渲染。

    调用该方法后,App 会采取主动拉取的方式获取远端已解码和混音后的音频数据,用于音频播放。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法和 回调均可用于获取远端混音后的音频数据。需要注意的是:在调用 开启外部音频渲染后,App 将无法从 回调中获得数据,因此,请根据实际的业务需求在该方法和 回调之间进行选择。二者的处理机制不同,具体区别如下:
        -
      • 调用该方法后 App 会主动拉取音频数据。通过设置音频数据,SDK 可以调整缓存,帮助 App 处理延时,从而有效避免音频播放抖动。
      • -
      • SDK 通过 回调将音频数据传输给 App。如果 App 处理延时,可能会导致音频播放抖动。
      • -
    • -
    • 该方法仅用于拉取远端混音后的音频数据,如需获取采集、播放等不同音频处理阶段的音频数据,可以通过调用 注册相应的回调。
    • -
    +
  • 该方法需要在加入频道后调用。
  • +
  • 该方法和 回调均可用于获取远端混音后的音频数据。需要注意的是:在调用 + 开启外部音频渲染后,App 将无法从 回调中获得数据,因此,请根据实际的业务需求在该方法和 回调之间进行选择。二者的处理机制不同,具体区别如下:
      +
    • 调用该方法后 App 会主动拉取音频数据。通过设置音频数据,SDK 可以调整缓存,帮助 App + 处理延时,从而有效避免音频播放抖动。
    • +
    • SDK 通过 回调将音频数据传输给 App。如果 + App 处理延时,可能会导致音频播放抖动。
    • +
  • +
  • 该方法仅用于拉取远端混音后的音频数据,如需获取采集、播放等不同音频处理阶段的音频数据,可以通过调用 注册相应的回调。
  • + + +
    参数 - - frame - 指向 的指针。 - - - data - 待拉取的远端音频数据,数据类型为 byte[] - - - lengthInByte - 音频数据长度,单位为字节。该参数的值由音频数据时长、sampleRatechannels 参数确定。lengthInByte = sampleRate/1000 × 2 × channels × 音频数据时长 (ms)。 - -
    + + frame + 指向 的指针。 + + + data + 待拉取的远端音频数据,数据类型为 byte[] + + + lengthInByte + 音频数据长度,单位为字节。该参数的值由音频数据时长、 的 + sampleRatechannels + 参数确定。lengthInByte = sampleRate/1000 × + 2 × channels × 音频数据时长 (ms)。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 方法调用成功,返回一个 对象。
  • +
  • 方法调用失败,返回错误码。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_pushaudioframe.dita b/dita/RTC-NG/API/api_imediaengine_pushaudioframe.dita index 8463e5fed63..83bbb877ad8 100644 --- a/dita/RTC-NG/API/api_imediaengine_pushaudioframe.dita +++ b/dita/RTC-NG/API/api_imediaengine_pushaudioframe.dita @@ -13,53 +13,56 @@

    - public abstract int pushExternalAudioFrame(byte[] data, long timestamp); - - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data + public abstract int pushExternalAudioFrame(byte[] data, long timestamp); + - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data samples:(NSInteger)samples sourceId:(NSInteger)sourceId timestamp:(NSTimeInterval)timestamp; - - - - - -

    + + + + + +

    参数 - - frame - 外部音频帧。详见 - + + frame + 外部音频帧。详见 + - - data - 外部音频数据。 - - - samples - 外部音频帧采样数。 - - - timestamp - 外部音频帧的时间戳(毫秒)。该参数为必填。你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以帮助实现音视频同步。 - + + data + 外部音频数据。 + + + samples + 外部音频帧采样数。 + + + timestamp + 外部音频帧的时间戳(毫秒)。该参数为必填。你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以帮助实现音视频同步。 + - - - - -
    + + + + + +
    返回值

    -

    + +

    diff --git a/dita/RTC-NG/API/api_imediaengine_pushaudioframe0.dita b/dita/RTC-NG/API/api_imediaengine_pushaudioframe0.dita index 2c45588d8e4..dd9a42a1a72 100644 --- a/dita/RTC-NG/API/api_imediaengine_pushaudioframe0.dita +++ b/dita/RTC-NG/API/api_imediaengine_pushaudioframe0.dita @@ -1,53 +1,63 @@ - <ph keyref="pushAudioFrame" /> + <ph keyref="pushAudioFrame"/> 推送外部音频帧。 - +

    - - - virtual int pushAudioFrame(IAudioFrameObserver::AudioFrame* frame, rtc::track_id_t trackId = 0) = 0; - abstract pushAudioFrame(frame: AudioFrame, trackId?: number): number; - public abstract int PushAudioFrame(AudioFrame frame, uint trackId = 0); - abstract pushAudioFrame(frame: AudioFrame, trackId?: number): number; - Future<void> pushAudioFrame({required AudioFrame frame, int trackId = 0}); -

    + + + virtual int pushAudioFrame(IAudioFrameObserver::AudioFrame* frame, rtc::track_id_t trackId = 0) = 0; + abstract pushAudioFrame(frame: AudioFrame, trackId?: number): number; + public abstract int PushAudioFrame(AudioFrame frame, uint trackId = 0); + abstract pushAudioFrame(frame: AudioFrame, trackId?: number): number; + Future<void> pushAudioFrame({required AudioFrame frame, int trackId = 0}); +

    详情 -

    调用该方法推送外部音频数据前,请先进行以下操作:

      -
    1. 调用 创建音频轨道并获得音频轨道 ID。
    2. -
    3. 调用 加入频道时,将 中的 publishCustomAudioTrackId 设置为你想要发布的音频轨道 ID,并将 publishCustomAudioTrack 设置为
    4. -

    -
    +

    调用该方法推送外部音频数据前,请先进行以下操作:

      +
    1. 调用 创建音频轨道并获得音频轨道 ID。
    2. +
    3. 调用 加入频道时,将 中的 + publishCustomAudioTrackId 设置为你想要发布的音频轨道 ID,并将 + publishCustomAudioTrack 设置为
    4. +

    + +
    参数 - - frame - 外部音频帧。详见 - - - trackId - 音频轨道 ID。如果你要发布自定义的外部音频源,则将该参数设置为你想要发布的自定义音频轨道 ID。 - -
    + + frame + 外部音频帧。详见 + + + trackId + 音频轨道 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_imediaengine_pushencodedvideoimage.dita b/dita/RTC-NG/API/api_imediaengine_pushencodedvideoimage.dita index 8f78a40ac8c..89735ef09a0 100644 --- a/dita/RTC-NG/API/api_imediaengine_pushencodedvideoimage.dita +++ b/dita/RTC-NG/API/api_imediaengine_pushencodedvideoimage.dita @@ -13,64 +13,72 @@

    - public abstract int pushExternalEncodedVideoFrame( + public abstract int pushExternalEncodedVideoFrame( ByteBuffer data, EncodedVideoFrameInfo frameInfo); videoTrackId:(NSUInteger)videoTrackId; - - virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, + + virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, const agora::rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0; - abstract pushEncodedVideoImage( + abstract pushEncodedVideoImage( imageBuffer: Uint8Array, length: number, videoEncodedFrameInfo: EncodedVideoFrameInfo, videoTrackId?: number ): number; - public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo, uint videoTrackId = 0); - abstract pushEncodedVideoImage( + public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo, uint videoTrackId = 0); + abstract pushEncodedVideoImage( imageBuffer: Uint8Array, length: number, videoEncodedFrameInfo: EncodedVideoFrameInfo, videoTrackId?: number ): number; - Future<void> pushEncodedVideoImage( + Future<void> pushEncodedVideoImage( {required Uint8List imageBuffer, required int length, required EncodedVideoFrameInfo videoEncodedFrameInfo, int videoTrackId = 0}); -

    +

    详情 -

    调用 启用外部视频源并将 sourceType 参数设为 后,你可以调用本方法将已编码的外部视频帧推送到 SDK。

    +

    调用 启用外部视频源并将 + sourceType 参数设为 + 后,你可以调用本方法将已编码的外部视频帧推送到 SDK。

    参数 - - data - imageBuffer - 外部编码视频帧的 buffer。 - - - length - 外部编码视频帧的长度。 - - - frameInfo - videoEncodedFrameInfo - 外部编码视频帧的信息。详见 - - - - - -
    + + data + imageBuffer + 外部编码视频帧的 buffer。 + + + length + 外部编码视频帧的长度。 + + + frameInfo + videoEncodedFrameInfo + 外部编码视频帧的信息。详见 + + + + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 推送成功。
  • +
  • < 0: 推送失败。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita b/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita index 651f1b101e5..85b3c20aad5 100644 --- a/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita +++ b/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita @@ -1,81 +1,100 @@ - <ph keyref="pushVideoFrame" /> + <ph keyref="pushVideoFrame"/> 将外部原始视频帧通过自定义视频轨道发布到频道中。 - +

    - public abstract int pushExternalVideoFrameById(AgoraVideoFrame frame, int videoTrackId); - - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalVideoFrame(_:videoTrackId:)); - virtual int pushVideoFrame(base::ExternalVideoFrame* frame, unsigned int videoTrackId = 0) = 0; - abstract pushVideoFrame( + public abstract int pushExternalVideoFrameById(AgoraVideoFrame frame, int videoTrackId); + - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalVideoFrame(_:videoTrackId:)); + virtual int pushVideoFrame(base::ExternalVideoFrame* frame, unsigned int videoTrackId = 0) = 0; + abstract pushVideoFrame( frame: ExternalVideoFrame, videoTrackId?: number ): number; - public abstract int PushVideoFrame(ExternalVideoFrame frame, uint videoTrackId = 0); - abstract pushVideoFrame( + public abstract int PushVideoFrame(ExternalVideoFrame frame, uint videoTrackId = 0); + abstract pushVideoFrame( frame: ExternalVideoFrame, videoTrackId?: number ): number; - Future<void> pushVideoFrame( + Future<void> pushVideoFrame( {required ExternalVideoFrame frame, int videoTrackId = 0}); -

    +

    详情
    - -
    弃用:
    -
    如果你需要推送 I422 格式的视频帧,请使用该方法。其他情况下,请改用
    -
    + +
    弃用:
    +
    如果你需要推送 I422 格式的视频帧,请使用该方法。其他情况下,请改用
    +

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

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

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

    调用该方法后,即使你停止推送外部视频帧到 SDK,自定义采集的视频流仍然会被计入视频时长用量并产生费用,声网建议你根据实际情况采取相应措施避免此类视频计费:
      -
    • 如果你不再需要采集外部视频数据,可以调用 销毁自定义采集的视频轨道。
    • -
    • 如果你只想将采集到的外部视频数据用于本地预览、而不在频道内发布,可以调用 取消发送视频流,或调用 publishCustomVideoTrack 设置为
    • -
    -

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

    +
  • 如果你不再需要采集外部视频数据,可以调用 + 销毁自定义采集的视频轨道。
  • +
  • 如果你只想将采集到的外部视频数据用于本地预览、而不在频道内发布,可以调用 + 取消发送视频流,或调用 将 + publishCustomVideoTrack 设置为
  • + +

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

    适用场景 -

    SDK 自 v4.2.3 起支持 ID3D11Texture2D 类型的视频格式,该类型在游戏场景下应用较为广泛。当你需要将该类型的视频帧推送的 SDK 时,需要调用该方法,并设置 frame 中的 formatVIDEO_TEXTURE_ID3D11TEXTURE2D、设置 d3d11_texture_2dtexture_slice_index 成员,将视频帧的格式设置为 ID3D11Texture2D。

    +

    SDK 自 v4.2.3 起支持 ID3D11Texture2D 类型的视频格式,该类型在游戏场景下应用较为广泛。当你需要将该类型的视频帧推送的 SDK + 时,需要调用该方法,并设置 frame 中的 format 为 + VIDEO_TEXTURE_ID3D11TEXTURE2D、设置 + d3d11_texture_2dtexture_slice_index + 成员,将视频帧的格式设置为 ID3D11Texture2D。

    参数 - - frame - -

    待推送的视频帧。详见

    -
    -
    - - videoTrackId - 调用 方法返回的视频轨道 ID。默认值为 0。 - + + frame + +

    待推送的视频帧。详见

    +
    +
    + + videoTrackId + 调用 方法返回的视频轨道 ID。默认值为 0。 +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
      -
    • :方法调用成功。
    • -
    • :方法调用失败。详见了解详情和解决建议。
    • -
    +
  • :方法调用成功。
  • +
  • :方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita index 275625435c9..42707ff8e34 100644 --- a/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita @@ -13,57 +13,78 @@

    - public abstract int registerAudioFrameObserver(IAudioFrameObserver observer); - - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate; - virtual int registerAudioFrameObserver(IAudioFrameObserver* observer) = 0; - abstract registerAudioFrameObserver(observer: IAudioFrameObserver): number; - public abstract int RegisterAudioFrameObserver(IAudioFrameObserver audioFrameObserver, AUDIO_FRAME_POSITION position, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); - abstract registerAudioFrameObserver(observer: IAudioFrameObserver): number; - void registerAudioFrameObserver(AudioFrameObserver observer); -

    + public abstract int registerAudioFrameObserver(IAudioFrameObserver observer); + - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate; + virtual int registerAudioFrameObserver(IAudioFrameObserver* observer) = 0; + abstract registerAudioFrameObserver(observer: IAudioFrameObserver): number; + public abstract int RegisterAudioFrameObserver(IAudioFrameObserver audioFrameObserver, AUDIO_FRAME_POSITION position, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); + abstract registerAudioFrameObserver(observer: IAudioFrameObserver): number; + void registerAudioFrameObserver(AudioFrameObserver observer); +

    详情 -

    该方法用于注册音频观测器对象,即注册回调。当需要 SDK 给出 等回调时,需要使用该方法注册回调。

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

    该方法用于注册音频观测器对象,即注册回调。当需要 SDK 给出 等回调时,需要使用该方法注册回调。

    + 该方法需要在加入频道前调用。 +
    参数 - - observer - delegate - audioFrameObserver - -

    接口对象实例。详见 如果传入 ,则表示取消注册。建议在收到 后调用,来释放音频观测器对象。

    -
    -
    - - mode - 音频数据回调模式,详见 - - - position - 音频观测位置。 -
      -
    • (0x0001):该位置可观测所有远端用户混音后的播放音频,对应 回调。
    • -
    • (0x0002):该位置可观测采集的本地用户的音频,对应 回调。
    • -
    • (0x0004):该位置可观测本地和所有远端用户混音后的音频,对应 回调。
    • -
    • (0x0008):该位置可观测单个远端用户混音前的音频,对应 回调。
    • -
    • (0x0010):该位置可观测单个本地用户耳返的音频,对应 回调。
    • -
    -
    -
    -
    + + observer + delegate + audioFrameObserver + +

    接口对象实例。详见 如果传入 ,则表示取消注册。建议在收到 后调用,来释放音频观测器对象。

    +
    +
    + + mode + 音频数据回调模式,详见 + + + position + 音频观测位置。 +
      +
    • + (0x0001):该位置可观测所有远端用户混音后的播放音频,对应 回调。
    • +
    • + (0x0002):该位置可观测采集的本地用户的音频,对应 + 回调。
    • +
    • + (0x0004):该位置可观测本地和所有远端用户混音后的音频,对应 回调。
    • +
    • + (0x0008):该位置可观测单个远端用户混音前的音频,对应 回调。
    • +
    • + (0x0010):该位置可观测单个本地用户耳返的音频,对应 回调。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

    diff --git a/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita b/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita index adf28491ad0..950548ad136 100644 --- a/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita @@ -1,7 +1,7 @@ - <ph keyref="registerFaceInfoObserver" /> + <ph keyref="registerFaceInfoObserver"/> 注册一个人脸信息观测器。 @@ -13,24 +13,27 @@

    - public abstract int registerFaceInfoObserver(IFaceInfoObserver receiver); - - (BOOL)setFaceInfoDelegate:(id<AgoraFaceInfoDelegate> _Nullable)delegate NS_SWIFT_NAME(setFaceInfoDelegate(_:)); - virtual int registerFaceInfoObserver(IFaceInfoObserver* observer) = 0; - - abstract registerFaceInfoObserver(observer: IFaceInfoObserver): number; - public abstract int RegisterFaceInfoObserver(IFaceInfoObserver observer); - abstract registerFaceInfoObserver(observer: IFaceInfoObserver): number; - void registerFaceInfoObserver(FaceInfoObserver observer);

    + public abstract int registerFaceInfoObserver(IFaceInfoObserver receiver); + - (BOOL)setFaceInfoDelegate:(id<AgoraFaceInfoDelegate> _Nullable)delegate NS_SWIFT_NAME(setFaceInfoDelegate(_:)); + virtual int registerFaceInfoObserver(IFaceInfoObserver* observer) = 0; + + abstract registerFaceInfoObserver(observer: IFaceInfoObserver): number; + public abstract int RegisterFaceInfoObserver(IFaceInfoObserver observer); + abstract registerFaceInfoObserver(observer: IFaceInfoObserver): number; + void registerFaceInfoObserver(FaceInfoObserver observer); +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +
    -

    你可以调用该方法注册 回调获取声网语音驱动插件处理后的人脸信息。调用该方法注册人脸信息观测器时,你可以根据需要注册 类中的回调。在成功注册人脸信息观测器后,SDK 会在捕捉到经过语音驱动插件转换的人脸信息时,触发你所注册的回调。

    +

    你可以调用该方法注册 回调获取声网语音驱动插件处理后的人脸信息。调用该方法注册人脸信息观测器时,你可以根据需要注册 + 类中的回调。在成功注册人脸信息观测器后,SDK + 会在捕捉到经过语音驱动插件转换的人脸信息时,触发你所注册的回调。

    • 该方法需要在加入频道前调用。
    • @@ -40,22 +43,27 @@
    适用场景 -

    通过声网语音驱动插件处理后的人脸信息为符合 ARkit 标准的 BS(Blend Shape)数据,你可以使用第三方 3D 渲染引擎对 BS 数据进一步处理,例如驱动虚拟人面部作出语音对应的口型变化。

    +

    通过声网语音驱动插件处理后的人脸信息为符合 ARkit 标准的 BS(Blend Shape)数据,你可以使用第三方 3D 渲染引擎对 BS + 数据进一步处理,例如驱动虚拟人面部作出语音对应的口型变化。

    参数 - - observer - 人脸信息观测器,详见 - -
    + + observer + 人脸信息观测器,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita index b4a15093bb6..04098b6321c 100644 --- a/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita @@ -13,66 +13,81 @@

    - public abstract int registerVideoEncodedFrameObserver(IVideoEncodedFrameObserver receiver); + public abstract int registerVideoEncodedFrameObserver(IVideoEncodedFrameObserver receiver); - - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate; - virtual int registerVideoEncodedFrameObserver(IVideoEncodedFrameObserver* observer) = 0; - abstract registerVideoEncodedFrameObserver( + - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate; + virtual int registerVideoEncodedFrameObserver(IVideoEncodedFrameObserver* observer) = 0; + abstract registerVideoEncodedFrameObserver( observer: IVideoEncodedFrameObserver ): number; - public abstract int RegisterVideoEncodedFrameObserver(IVideoEncodedFrameObserver videoEncodedImageReceiver, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); - abstract registerVideoEncodedFrameObserver( + public abstract int RegisterVideoEncodedFrameObserver(IVideoEncodedFrameObserver videoEncodedImageReceiver, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); + abstract registerVideoEncodedFrameObserver( observer: IVideoEncodedFrameObserver ): number; - void registerVideoEncodedFrameObserver(VideoEncodedFrameObserver observer); -

    -
    + void registerVideoEncodedFrameObserver(VideoEncodedFrameObserver observer); +

    +
    详情 -

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

    -

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

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

    +

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

    +

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

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

    -
      -
    • 请在加入频道前调用该方法。
    • -
    + +
    参数 - - delegate - receiver - observer - videoEncodedImageReceiver - 视频帧接收观测器,详见 - 接口对象实例。详见 。如果传入 ,则表示取消注册。 - - - mode - 视频数据回调模式,详见 - -
    + + delegate + receiver + observer + videoEncodedImageReceiver + 视频帧接收观测器,详见 + 接口对象实例。详见 。如果传入 + ,则表示取消注册。 + + + mode + 视频数据回调模式,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
      -
    • : 方法调用成功。
    • -
    • : 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • : 方法调用成功。
  • +
  • : 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita index 0ad4b78ede3..d031a7c1f37 100644 --- a/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita @@ -13,64 +13,76 @@

    - public abstract int registerVideoFrameObserver(IVideoFrameObserver observer); - - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate; - virtual int registerVideoFrameObserver(IVideoFrameObserver* observer) = 0; - abstract registerVideoFrameObserver(observer: IVideoFrameObserver): number; - public abstract int RegisterVideoFrameObserver(IVideoFrameObserver videoFrameObserver, VIDEO_OBSERVER_FRAME_TYPE formatPreference, VIDEO_OBSERVER_POSITION position, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); - abstract registerVideoFrameObserver(observer: IVideoFrameObserver): number; - void registerVideoFrameObserver(VideoFrameObserver observer); -

    + public abstract int registerVideoFrameObserver(IVideoFrameObserver observer); + - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate; + virtual int registerVideoFrameObserver(IVideoFrameObserver* observer) = 0; + abstract registerVideoFrameObserver(observer: IVideoFrameObserver): number; + public abstract int RegisterVideoFrameObserver(IVideoFrameObserver videoFrameObserver, VIDEO_OBSERVER_FRAME_TYPE formatPreference, VIDEO_OBSERVER_POSITION position, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); + abstract registerVideoFrameObserver(observer: IVideoFrameObserver): number; + void registerVideoFrameObserver(VideoFrameObserver observer); +

    详情 -

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

    -

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

    +

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

    +

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

    -

    - 注册原始视频观测器后,你可以将获取到的原始视频数据应用于各种视频前处理场景,例如自行实现虚拟背景、美颜等场景,声网在 GitHub 上提供了开源的示例项目 供你参考。 -
    + + + 注册原始视频观测器后,你可以将获取到的原始视频数据应用于各种视频前处理场景,例如自行实现虚拟背景、美颜等场景,声网在 GitHub 上提供了开源的示例项目 供你参考。
    参数 - - observer - delegate - videoFrameObserver - 接口对象实例。详见 如果传入 ,则取消注册。 - - - mode - 视频数据回调模式,详见 - - - formatPreference - 视频数据类型,详见 - - - position - 视频观测位置的 bit mask。详见 - -
    + + observer + delegate + videoFrameObserver + 接口对象实例。详见 如果传入 ,则取消注册。 + + + + mode + 视频数据回调模式,详见 + + + formatPreference + 视频数据类型,详见 + + + position + 视频观测位置的 bit mask。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • :方法调用成功。
  • +
  • :方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_removealllisteners.dita b/dita/RTC-NG/API/api_imediaengine_removealllisteners.dita index 74a4e399ffa..d7d0ac67ac2 100644 --- a/dita/RTC-NG/API/api_imediaengine_removealllisteners.dita +++ b/dita/RTC-NG/API/api_imediaengine_removealllisteners.dita @@ -13,25 +13,26 @@

    - - - - removeAllListeners?<EventType extends keyof IMediaEngineEvent>( + + + + removeAllListeners?<EventType extends keyof IMediaEngineEvent>( eventType?: EventType ): void; - - removeAllListeners?<EventType extends keyof IMediaEngineEvent>( + + removeAllListeners?<EventType extends keyof IMediaEngineEvent>( eventType?: EventType ): void; -

    +

    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_removelistener.dita b/dita/RTC-NG/API/api_imediaengine_removelistener.dita index f8c0089dc49..2413cc2d0ea 100644 --- a/dita/RTC-NG/API/api_imediaengine_removelistener.dita +++ b/dita/RTC-NG/API/api_imediaengine_removelistener.dita @@ -2,7 +2,8 @@ <ph keyref="removeListener_IMediaEngine"/> - 移除指定的 监听器。 + 移除指定的 + 监听器。 @@ -13,36 +14,39 @@

    - - - - removeListener?<EventType extends keyof IMediaEngineEvent>( + + + + removeListener?<EventType extends keyof IMediaEngineEvent>( eventType: EventType, listener: IMediaEngineEvent[EventType] ): void; - - removeListener?<EventType extends keyof IMediaEngineEvent>( + + removeListener?<EventType extends keyof IMediaEngineEvent>( eventType: EventType, listener: IMediaEngineEvent[EventType] ): void; - -

    + +

    参数 - - - - - - listener - eventType 对应的回调函数。必须传入 中传入的同一个函数对象。以取消监听 为例: + + + + + + listener + eventType 对应的回调函数。必须传入 中传入的同一个函数对象。以取消监听 为例: const onPlaybackAudioFrameBeforeMixing = (channelId: string, uid: number, audioFrame: AudioFrame) => {}; engine.addListener('onPlaybackAudioFrameBeforeMixing', onPlaybackAudioFrameBeforeMixing); engine.removeListener('onPlaybackAudioFrameBeforeMixing', onPlaybackAudioFrameBeforeMixing); - -
    + + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_setexternalaudiosink.dita b/dita/RTC-NG/API/api_imediaengine_setexternalaudiosink.dita index 60440054728..604e2f306d6 100644 --- a/dita/RTC-NG/API/api_imediaengine_setexternalaudiosink.dita +++ b/dita/RTC-NG/API/api_imediaengine_setexternalaudiosink.dita @@ -1,81 +1,89 @@ - <ph keyref="setExternalAudioSink" /> + <ph keyref="setExternalAudioSink"/> 设置外部音频渲染。 - +

    - public abstract int setExternalAudioSink(boolean enabled, int sampleRate, int channels); - - (void)enableExternalAudioSink:(BOOL)enabled + public abstract int setExternalAudioSink(boolean enabled, int sampleRate, int channels); + - (void)enableExternalAudioSink:(BOOL)enabled sampleRate:(NSUInteger)sampleRate channels:(NSUInteger)channels; - virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels) = 0; - abstract setExternalAudioSink( + virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels) = 0; + abstract setExternalAudioSink( enabled: boolean, sampleRate: number, channels: number ): number; - public abstract int SetExternalAudioSink(bool enabled, int sampleRate, int channels); - abstract setExternalAudioSink( + public abstract int SetExternalAudioSink(bool enabled, int sampleRate, int channels); + abstract setExternalAudioSink( enabled: boolean, sampleRate: number, channels: number ): number; - Future<void> setExternalAudioSink( + Future<void> setExternalAudioSink( {required bool enabled, required int sampleRate, required int channels}); -

    +

    详情 -

    该方法适用于需要自行渲染音频的场景。开启外部音频渲染后,你可以调用 拉取远端音频数据。App 可以对拉取到的原始音频数据进行处理后再渲染,获取想要的音频效果。

    +

    该方法适用于需要自行渲染音频的场景。开启外部音频渲染后,你可以调用 拉取远端音频数据。App + 可以对拉取到的原始音频数据进行处理后再渲染,获取想要的音频效果。

    -
      -
    • 使用该方法前,你需要在 中设置 enableAudioDevice
    • -
    • 该方法需要在加入频道前调用。
    • -
    • 开启外部音频渲染后,App 会无法从 回调中获得数据。
    • -
    + + +
    参数 - - enabled - -

    设置是否开启外部音频渲染: -

      -
    • :开启外部音频渲染。
    • -
    • :(默认)关闭外部音频渲染。
    • -

    -
    -
    - - sampleRate - -

    外部音频渲染的采样率 (Hz),可设置为 16000,32000,44100 或 48000。

    -
    -
    - - channels - 外部音频渲染的声道数: -
      -
    • 1: 单声道
    • -
    • 2: 双声道
    • -
    -
    -
    + + enabled + +

    设置是否开启外部音频渲染:

      +
    • :开启外部音频渲染。
    • +
    • :(默认)关闭外部音频渲染。
    • +

    +
    +
    + + sampleRate + +

    外部音频渲染的采样率 (Hz),可设置为 16000,32000,44100 或 48000。

    +
    +
    + + channels + 外部音频渲染的声道数:
      +
    • 1: 单声道
    • +
    • 2: 双声道
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaengine_setexternalaudiosource2.dita b/dita/RTC-NG/API/api_imediaengine_setexternalaudiosource2.dita index 856bc84a609..85804d553e6 100644 --- a/dita/RTC-NG/API/api_imediaengine_setexternalaudiosource2.dita +++ b/dita/RTC-NG/API/api_imediaengine_setexternalaudiosource2.dita @@ -13,100 +13,102 @@

    - public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels, boolean localPlayback, boolean publish); - - (int)setExternalAudioSource:(BOOL)enabled + public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels, boolean localPlayback, boolean publish); + - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels localPlayback:(BOOL)localPlayback publish:(BOOL)publish; - virtual int setExternalAudioSource(bool enabled, + virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels, bool localPlayback = false, bool publish = true) = 0; - abstract setExternalAudioSource( + abstract setExternalAudioSource( enabled: boolean, sampleRate: number, channels: number, localPlayback?: boolean, publish?: boolean ): number; - public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels, bool localPlayback = false, bool publish = true); - abstract setExternalAudioSource( + public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels, bool localPlayback = false, bool publish = true); + abstract setExternalAudioSource( enabled: boolean, sampleRate: number, channels: number, localPlayback?: boolean, publish?: boolean ): number; - Future<void> setExternalAudioSource( + Future<void> setExternalAudioSource( {required bool enabled, required int sampleRate, required int channels, bool localPlayback = false, bool publish = true}); -

    +

    详情
    - -
    弃用:
    -
    该方法已废弃,请改用
    -
    + +
    弃用:
    +
    该方法已废弃,请改用
    +
    - 请在加入频道前调用该方法。
    + 请在加入频道前调用该方法。 +
    参数 - - enabled - -

    是否开启使用外部音频源的功能: - -

      -
    • :开启外部音频源。
    • -
    • :(默认)关闭外部音频源。
    • -

    -
    -
    - - sampleRate - 外部音频源的采样率 (Hz),可设置为 800016000320004410048000 - - - channels - 外部音频源的声道数,可设置为 1(单声道)或 2(双声道)。 - - - localPlayback - -

    是否在本地播放外部音频源: - -

      -
    • :在本地播放。
    • -
    • :(默认)不在本地播放。
    • -

    -
    -
    - - publish - -

    是否将音频发布到远端: - -

      -
    • :(默认)发布到远端。
    • -
    • :不发布到远端。
    • -

    -
    -
    -
    + + enabled + +

    是否开启使用外部音频源的功能:

      +
    • :开启外部音频源。
    • +
    • :(默认)关闭外部音频源。
    • +

    +
    +
    + + sampleRate + 外部音频源的采样率 (Hz),可设置为 + 8000160003200044100 + 或 48000 + + + channels + 外部音频源的声道数,可设置为 1(单声道)或 2(双声道)。 + + + localPlayback + +

    是否在本地播放外部音频源:

      +
    • :在本地播放。
    • +
    • :(默认)不在本地播放。
    • +

    +
    +
    + + publish + +

    是否将音频发布到远端:

      +
    • :(默认)发布到远端。
    • +
    • :不发布到远端。
    • +

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

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

    +

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

    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita b/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita index c52255cccf3..06ed6c51e95 100644 --- a/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita +++ b/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita @@ -1,83 +1,88 @@ - <ph keyref="setExternalVideoSource" /> + <ph keyref="setExternalVideoSource"/> 设置外部视频源。 - +

    - public abstract int setExternalVideoSource( + public abstract int setExternalVideoSource( boolean enable, boolean useTexture, Constants.ExternalVideoSourceType sourceType); - - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType; - virtual int setExternalVideoSource( + - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType; + virtual int setExternalVideoSource( bool enabled, bool useTexture, EXTERNAL_VIDEO_SOURCE_TYPE sourceType = VIDEO_FRAME, rtc::SenderOptions encodedVideoOption = rtc::SenderOptions()) = 0; - abstract setExternalVideoSource( + abstract setExternalVideoSource( enabled: boolean, useTexture: boolean, sourceType?: ExternalVideoSourceType, encodedVideoOption?: SenderOptions ): number; - public abstract int SetExternalVideoSource(bool enabled, bool useTexture, EXTERNAL_VIDEO_SOURCE_TYPE sourceType, SenderOptions encodedVideoOption); - abstract setExternalVideoSource( + public abstract int SetExternalVideoSource(bool enabled, bool useTexture, EXTERNAL_VIDEO_SOURCE_TYPE sourceType, SenderOptions encodedVideoOption); + abstract setExternalVideoSource( enabled: boolean, useTexture: boolean, sourceType?: ExternalVideoSourceType, encodedVideoOption?: SenderOptions ): number; - Future<void> setExternalVideoSource( + Future<void> setExternalVideoSource( {required bool enabled, required bool useTexture, ExternalVideoSourceType sourceType = ExternalVideoSourceType.videoFrame, SenderOptions encodedVideoOption = const SenderOptions()}); -

    +

    详情 - 请在加入频道前调用该方法。
    + 请在加入频道前调用该方法。 +
    参数 - - enable - enabled - 是否启用外部视频源: -
      -
    • : 启用外部视频源。SDK 准备接收外部视频帧。
    • -
    • :(默认)不启用外部视频源。
    • -
    -
    - - useTexture - 是否使用 Texture 格式的外部视频帧: -
      -
    • : 使用 Texture 格式的外部视频帧。
    • -
    • : 不使用 Texture 格式的外部视频帧。
    • -
    -
    - - sourceType - 外部视频帧是否编码,详见 - - - encodedVideoOption - 视频编码选项。如果 sourceType,则需要设置该参数。你可以了解如何设置该参数。 - -
    + + enable + enabled + 是否启用外部视频源:
      +
    • : 启用外部视频源。SDK 准备接收外部视频帧。
    • +
    • :(默认)不启用外部视频源。
    • +
    +
    + + useTexture + 是否使用 Texture 格式的外部视频帧:
      +
    • : 使用 Texture 格式的外部视频帧。
    • +
    • : 不使用 Texture 格式的外部视频帧。
    • +
    +
    + + sourceType + 外部视频帧是否编码,详见 + + + encodedVideoOption + 视频编码选项。如果 sourceType,则需要设置该参数。你可以了解如何设置该参数。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaengine_unregisteraudioframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_unregisteraudioframeobserver.dita index 95b9fe0d356..835c3482bb9 100644 --- a/dita/RTC-NG/API/api_imediaengine_unregisteraudioframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_unregisteraudioframeobserver.dita @@ -13,30 +13,34 @@

    - - - - abstract unregisterAudioFrameObserver(observer: IAudioFrameObserver): number; - - abstract unregisterAudioFrameObserver(observer: IAudioFrameObserver): number; - void unregisterAudioFrameObserver(AudioFrameObserver observer); -

    + + + + abstract unregisterAudioFrameObserver(observer: IAudioFrameObserver): number; + + abstract unregisterAudioFrameObserver(observer: IAudioFrameObserver): number; + void unregisterAudioFrameObserver(AudioFrameObserver observer); +

    参数 - - observer - 音频帧观测器,观测每帧音频的接收,详见 - -
    + + observer + 音频帧观测器,观测每帧音频的接收,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
    diff --git a/dita/RTC-NG/API/api_imediaengine_unregisterfaceinfoobserver.dita b/dita/RTC-NG/API/api_imediaengine_unregisterfaceinfoobserver.dita index 83106236f27..90e71f3869d 100644 --- a/dita/RTC-NG/API/api_imediaengine_unregisterfaceinfoobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_unregisterfaceinfoobserver.dita @@ -1,7 +1,7 @@ - <ph keyref="unregisterFaceInfoObserver" /> + <ph keyref="unregisterFaceInfoObserver"/> 取消注册人脸信息观测器。 @@ -13,39 +13,44 @@

    - - - - - abstract unregisterFaceInfoObserver(observer: IFaceInfoObserver): number; - public abstract int UnRegisterFaceInfoObserver(); - abstract unregisterFaceInfoObserver(observer: IFaceInfoObserver): number; - void unregisterFaceInfoObserver(FaceInfoObserver observer);

    + + + + + abstract unregisterFaceInfoObserver(observer: IFaceInfoObserver): number; + public abstract int UnRegisterFaceInfoObserver(); + abstract unregisterFaceInfoObserver(observer: IFaceInfoObserver): number; + void unregisterFaceInfoObserver(FaceInfoObserver observer); +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +

    参数 - - observer - 人脸信息观测器,详见 - -
    + + observer + 人脸信息观测器,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_unregistervideoencodedframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_unregistervideoencodedframeobserver.dita index 9f83bff4250..6aab0d220e6 100644 --- a/dita/RTC-NG/API/api_imediaengine_unregistervideoencodedframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_unregistervideoencodedframeobserver.dita @@ -13,33 +13,38 @@

    - - - - abstract unregisterVideoEncodedFrameObserver( + + + + abstract unregisterVideoEncodedFrameObserver( observer: IVideoEncodedFrameObserver ): number; - public abstract int UnRegisterVideoEncodedFrameObserver(); - abstract unregisterVideoEncodedFrameObserver( + public abstract int UnRegisterVideoEncodedFrameObserver(); + abstract unregisterVideoEncodedFrameObserver( observer: IVideoEncodedFrameObserver ): number; - void unregisterVideoEncodedFrameObserver(VideoEncodedFrameObserver observer); -

    + void unregisterVideoEncodedFrameObserver(VideoEncodedFrameObserver observer); +

    参数 - - observer - 视频帧观测器,观测每帧视频的接收, 详见 - -
    + + observer + 视频帧观测器,观测每帧视频的接收, 详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaengine_unregistervideoframeobserver.dita b/dita/RTC-NG/API/api_imediaengine_unregistervideoframeobserver.dita index 4fa05fca76e..3b8719c0cde 100644 --- a/dita/RTC-NG/API/api_imediaengine_unregistervideoframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaengine_unregistervideoframeobserver.dita @@ -13,29 +13,33 @@

    - - - - abstract unregisterVideoFrameObserver(observer: IVideoFrameObserver): number; - public abstract int UnRegisterVideoFrameObserver(); - abstract unregisterVideoFrameObserver(observer: IVideoFrameObserver): number; - void unregisterVideoFrameObserver(VideoFrameObserver observer); -

    + + + + abstract unregisterVideoFrameObserver(observer: IVideoFrameObserver): number; + public abstract int UnRegisterVideoFrameObserver(); + abstract unregisterVideoFrameObserver(observer: IVideoFrameObserver): number; + void unregisterVideoFrameObserver(VideoFrameObserver observer); +

    参数 - - observer - 视频帧观测器,观测每帧视频的接收, 详见 - -
    + + observer + 视频帧观测器,观测每帧视频的接收, 详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    diff --git a/dita/RTC-NG/API/api_imediaplayer_addlistener.dita b/dita/RTC-NG/API/api_imediaplayer_addlistener.dita index 14e0f293321..959ab75fbc8 100644 --- a/dita/RTC-NG/API/api_imediaplayer_addlistener.dita +++ b/dita/RTC-NG/API/api_imediaplayer_addlistener.dita @@ -2,7 +2,8 @@ <ph keyref="addListener_IMediaPlayer"/> - 添加一个 监听器。 + 添加一个 + 监听器。 @@ -13,37 +14,40 @@

    - - - - addListener?<EventType extends keyof IMediaPlayerEvent>( + + + + addListener?<EventType extends keyof IMediaPlayerEvent>( eventType: EventType, listener: IMediaPlayerEvent[EventType] ): void; - - addListener?<EventType extends keyof IMediaPlayerEvent>( + + addListener?<EventType extends keyof IMediaPlayerEvent>( eventType: EventType, listener: IMediaPlayerEvent[EventType] ): void; -

    +

    详情 -

    成功调用该方法后,你可以通过 监听对应 对象的事件、获取数据。根据业务需要,你可以为同一事件添加多个监听器。

    +

    成功调用该方法后,你可以通过 监听对应 对象的事件、获取数据。根据业务需要,你可以为同一事件添加多个监听器。

    参数 - - eventType - 需要监听的目标事件名。详见 - - - listener - eventType 对应的回调函数。以添加 为例: - const onPlayerSourceStateChanged = (connection: RtcConnection, elapsed: number) => {}; + + eventType + 需要监听的目标事件名。详见 + + + listener + eventType 对应的回调函数。以添加 为例: + const onPlayerSourceStateChanged = (connection: RtcConnection, elapsed: number) => {}; engine.addListener('onPlayerSourceStateChanged', onPlayerSourceStateChanged); - -
    + + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita b/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita index a9f443a97ff..e8b15f65516 100644 --- a/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita +++ b/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita @@ -1,47 +1,51 @@ - <ph keyref="adjustPlayoutVolume" /> + <ph keyref="adjustPlayoutVolume"/> 调节本地播放音量。 - +

    - int adjustPlayoutVolume(int volume); - - (int)adjustPlayoutVolume:(int)volume; - virtual int adjustPlayoutVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int adjustPlayoutVolume(int volume); + - (int)adjustPlayoutVolume:(int)volume; + virtual int adjustPlayoutVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int AdjustPlayoutVolume(int volume); - abstract adjustPlayoutVolume(volume: number): number; - public abstract int AdjustPlayoutVolume(int volume); - abstract adjustPlayoutVolume(volume: number): number; - Future<void> adjustPlayoutVolume(int volume); -

    + abstract adjustPlayoutVolume(volume: number): number; + public abstract int AdjustPlayoutVolume(int volume); + abstract adjustPlayoutVolume(volume: number): number; + Future<void> adjustPlayoutVolume(int volume); +

    参数 - - volume - 本地播放音量,取值范围从 0 到 100: -
      -
    • 0: 无声。
    • -
    • 100: (默认)媒体文件的原始播放音量。
    • -
    -
    -
    + + volume + 本地播放音量,取值范围从 0 到 100:
      +
    • 0: 无声。
    • +
    • 100: (默认)媒体文件的原始播放音量。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita b/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita index 9a0a8ff1af2..1fb3a9e6fcf 100644 --- a/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita +++ b/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita @@ -1,28 +1,28 @@ - <ph keyref="adjustPublishSignalVolume" /> + <ph keyref="adjustPublishSignalVolume"/> 调节远端用户听到的音量。 - +

    - int adjustPublishSignalVolume(int volume); - - (int)adjustPublishSignalVolume:(int)volume; - virtual int adjustPublishSignalVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int adjustPublishSignalVolume(int volume); + - (int)adjustPublishSignalVolume:(int)volume; + virtual int adjustPublishSignalVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int AdjustPublishSignalVolume(int volume); - abstract adjustPublishSignalVolume(volume: number): number; - public abstract int AdjustPublishSignalVolume(int volume); - abstract adjustPublishSignalVolume(volume: number): number; - Future<void> adjustPublishSignalVolume(int volume); -

    + abstract adjustPublishSignalVolume(volume: number): number; + public abstract int AdjustPublishSignalVolume(int volume); + abstract adjustPublishSignalVolume(volume: number): number; + Future<void> adjustPublishSignalVolume(int volume); +

    详情 @@ -31,22 +31,26 @@
    参数 - - volume - 信号音量,取值范围从 0 到 400: -
      -
    • 0: 无声。
    • -
    • 100: (默认)媒体文件的原始音量。
    • -
    • 400: 原始音量的四倍(自带溢出保护)。
    • -
    -
    -
    + + volume + 信号音量,取值范围从 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_imediaplayer_changeplaybackspeed.dita b/dita/RTC-NG/API/api_imediaplayer_changeplaybackspeed.dita index 7e7c25ea748..0d26da2ef48 100644 --- a/dita/RTC-NG/API/api_imediaplayer_changeplaybackspeed.dita +++ b/dita/RTC-NG/API/api_imediaplayer_changeplaybackspeed.dita @@ -13,30 +13,33 @@

    - int changePlaybackSpeed(Constants.MediaPlayerPlaybackSpeed speed); - - (void)changePlaybackSpeed:(AgoraMediaPlayerSpeed)speed; - virtual int changePlaybackSpeed(media::base::MEDIA_PLAYER_PLAYBACK_SPEED speed) = 0; - - - - -

    + int changePlaybackSpeed(Constants.MediaPlayerPlaybackSpeed speed); + - (void)changePlaybackSpeed:(AgoraMediaPlayerSpeed)speed; + virtual int changePlaybackSpeed(media::base::MEDIA_PLAYER_PLAYBACK_SPEED speed) = 0; + + + + +

    详情请在 后调用该方法。
    参数 - - speed - 播放媒体资源的速度,详见 - -
    + + speed + 播放媒体资源的速度,详见 + + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_dispose.dita b/dita/RTC-NG/API/api_imediaplayer_dispose.dita index c2dca445337..5195a0e75e3 100644 --- a/dita/RTC-NG/API/api_imediaplayer_dispose.dita +++ b/dita/RTC-NG/API/api_imediaplayer_dispose.dita @@ -1,20 +1,20 @@ - <ph keyref="dispose_IMediaPlayer" /> + <ph keyref="dispose_IMediaPlayer"/> 释放媒体播放器占用的所有资源。 - +

    - public abstract void Dispose(); -

    + public abstract void Dispose(); +

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_enableautoswitchagoracdn.dita b/dita/RTC-NG/API/api_imediaplayer_enableautoswitchagoracdn.dita index 41868d64687..588f5ec8975 100644 --- a/dita/RTC-NG/API/api_imediaplayer_enableautoswitchagoracdn.dita +++ b/dita/RTC-NG/API/api_imediaplayer_enableautoswitchagoracdn.dita @@ -1,52 +1,56 @@ - <ph keyref="enableAutoSwitchAgoraCDN" /> + <ph keyref="enableAutoSwitchAgoraCDN"/> 开启/关闭自动切换媒体资源的 CDN 线路。 - +

    - int enableAutoSwitchAgoraCDN(boolean enable); - - (int)enableAutoSwitchAgoraCDN:(BOOL)enable; - virtual int enableAutoSwitchAgoraCDN(bool enable) = 0; - abstract enableAutoSwitchAgoraCDN(enable: boolean): number; - public abstract int EnableAutoSwitchAgoraCDN(bool enable); - abstract enableAutoSwitchAgoraCDN(enable: boolean): number; - Future<void> enableAutoSwitchAgoraCDN(bool enable); -

    + int enableAutoSwitchAgoraCDN(boolean enable); + - (int)enableAutoSwitchAgoraCDN:(BOOL)enable; + virtual int enableAutoSwitchAgoraCDN(bool enable) = 0; + abstract enableAutoSwitchAgoraCDN(enable: boolean): number; + public abstract int EnableAutoSwitchAgoraCDN(bool enable); + abstract enableAutoSwitchAgoraCDN(enable: boolean): number; + Future<void> enableAutoSwitchAgoraCDN(bool enable); +

    详情

    如果你想设置 SDK 根据网络情况自动切换媒体资源 CDN 线路,你可以调用该方法。

    -

    请在 前调用该方法。

    -
    +

    请在 前调用该方法。

    + +
    参数 - - enable - 设置是否开启自动切换媒体资源的 CDN 线路: - -
      -
    • :开启自动切换媒体资源的 CDN 线路。
    • -
    • :(默认) 关闭自动切换媒体资源的 CDN 线路。
    • -
    -
    -
    + + enable + 设置是否开启自动切换媒体资源的 CDN 线路:
      +
    • :开启自动切换媒体资源的 CDN 线路。
    • +
    • :(默认) 关闭自动切换媒体资源的 CDN 线路。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_getagoracdnlinecount.dita b/dita/RTC-NG/API/api_imediaplayer_getagoracdnlinecount.dita index 9418c26ad28..e77fea254e0 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getagoracdnlinecount.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getagoracdnlinecount.dita @@ -1,32 +1,33 @@ - <ph keyref="getAgoraCDNLineCount" /> + <ph keyref="getAgoraCDNLineCount"/> 获取媒体资源的 CDN 线路数量。 - +

    - int getAgoraCDNLineCount(); - - (int)getAgoraCDNLineCount; - virtual int getAgoraCDNLineCount() = 0; - abstract getAgoraCDNLineCount(): number; - public abstract int GetAgoraCDNLineCount(); - abstract getAgoraCDNLineCount(): number; - Future<int> getAgoraCDNLineCount(); -

    + int getAgoraCDNLineCount(); + - (int)getAgoraCDNLineCount; + virtual int getAgoraCDNLineCount() = 0; + abstract getAgoraCDNLineCount(): number; + public abstract int GetAgoraCDNLineCount(); + abstract getAgoraCDNLineCount(): number; + Future<int> getAgoraCDNLineCount(); +

    返回值
      -
    • > 0:方法调用成功,返回媒体资源的 CDN 线路数量。
    • -
    • ≤ 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • > 0:方法调用成功,返回媒体资源的 CDN 线路数量。
  • +
  • ≤ 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_getcurrentagoracdnindex.dita b/dita/RTC-NG/API/api_imediaplayer_getcurrentagoracdnindex.dita index a05237db484..58ed011abad 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getcurrentagoracdnindex.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getcurrentagoracdnindex.dita @@ -1,32 +1,35 @@ - <ph keyref="getCurrentAgoraCDNIndex" /> + <ph keyref="getCurrentAgoraCDNIndex"/> 获取当前使用的媒体资源的 CDN 线路索引。 - +

    - int getCurrentAgoraCDNIndex(); - - (int)getCurrentAgoraCDNIndex; - virtual int getCurrentAgoraCDNIndex() = 0; - abstract getCurrentAgoraCDNIndex(): number; - public abstract int GetCurrentAgoraCDNIndex(); - abstract getCurrentAgoraCDNIndex(): number; - Future<int> getCurrentAgoraCDNIndex(); -

    + int getCurrentAgoraCDNIndex(); + - (int)getCurrentAgoraCDNIndex; + virtual int getCurrentAgoraCDNIndex() = 0; + abstract getCurrentAgoraCDNIndex(): number; + public abstract int GetCurrentAgoraCDNIndex(); + abstract getCurrentAgoraCDNIndex(): number; + Future<int> getCurrentAgoraCDNIndex(); +

    返回值
      -
    • ≥ 0: 方法调用成功,返回媒体资源的 CDN 线路索引。数值范围为 [0, ())。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • ≥ 0: 方法调用成功,返回媒体资源的 CDN 线路索引。数值范围为 [0, ())。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_getduration.dita b/dita/RTC-NG/API/api_imediaplayer_getduration.dita index e999111b018..78c85703c79 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getduration.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getduration.dita @@ -1,47 +1,49 @@ - <ph keyref="getDuration" /> + <ph keyref="getDuration"/> 获取媒体文件总时长。 - +

    - long getDuration(); - - (NSInteger)getDuration; - virtual int getDuration(int64_t& duration) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + long getDuration(); + - (NSInteger)getDuration; + virtual int getDuration(int64_t& duration) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetDuration(int64& duration); - abstract getDuration(): number; - public abstract int GetDuration(ref Int64 duration); - abstract getDuration(): number; - Future<int> getDuration(); -

    + abstract getDuration(): number; + public abstract int GetDuration(ref Int64 duration); + abstract getDuration(): number; + Future<int> getDuration(); +

    参数 - - duration - 输出参数。媒体文件总时长(毫秒)。 - -
    + + duration + 输出参数。媒体文件总时长(毫秒)。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。

    媒体文件总时长(毫秒)。

    -
      -
    • 方法调用成功时,返回媒体资源的总时长,单位毫秒。
    • -
    • ≤ 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita b/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita index 1f1eaf46410..b3aa95376a7 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita @@ -1,34 +1,36 @@ - <ph keyref="getMediaPlayerId" /> + <ph keyref="getMediaPlayerId"/> 获取播放器 ID。 - +

    - int getMediaPlayerId(); - - (int)getMediaPlayerId; - virtual int getMediaPlayerId() const = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int getMediaPlayerId(); + - (int)getMediaPlayerId; + virtual int getMediaPlayerId() const = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetMediaPlayerId(); - abstract getMediaPlayerId(): number; - public abstract int GetId(); - abstract getMediaPlayerId(): number; - int getMediaPlayerId(); -

    + abstract getMediaPlayerId(): number; + public abstract int GetId(); + abstract getMediaPlayerId(): number; + int getMediaPlayerId(); +

    返回值
      -
    • 方法调用成功,返回播放器 ID。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 方法调用成功,返回播放器 ID。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_getmediaplayersourceobserver.dita b/dita/RTC-NG/API/api_imediaplayer_getmediaplayersourceobserver.dita index a1a818c16cf..7337435cefa 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getmediaplayersourceobserver.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getmediaplayersourceobserver.dita @@ -2,7 +2,8 @@ <ph keyref="getMediaPlayerSourceObserver"/> - 获取 对象。 + 获取 + 对象。 @@ -13,18 +14,19 @@

    - - - - - public abstract MediaPlayerSourceObserver GetMediaPlayerSourceObserver(); - - -

    + + + + + public abstract MediaPlayerSourceObserver GetMediaPlayerSourceObserver(); + + +

    详情 -

    成功获取 对象后,你可以通过注册 中的回调来监听媒体播放器事件。

    +

    成功获取 对象后,你可以通过注册 中的回调来监听媒体播放器事件。

    返回值 diff --git a/dita/RTC-NG/API/api_imediaplayer_getmute.dita b/dita/RTC-NG/API/api_imediaplayer_getmute.dita index 343670ae998..6368b5f0d64 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getmute.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getmute.dita @@ -1,50 +1,52 @@ - <ph keyref="getMute" /> + <ph keyref="getMute"/> 获取当前播放的媒体文件是否静音。 - +

    - boolean getMute(); - - (bool)getMute; - virtual int getMute(bool& mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + boolean getMute(); + - (bool)getMute; + virtual int getMute(bool& mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetMute(bool muted); - abstract getMute(): boolean; - public abstract int GetMute(ref bool muted); - abstract getMute(): boolean; - Future<bool> getMute(); -

    + abstract getMute(): boolean; + public abstract int GetMute(ref bool muted); + abstract getMute(): boolean; + Future<bool> getMute(); +

    参数 - - mute - muted - 输出参数。静音状态: -
      -
    • : 静音。
    • -
    • : 不静音。
    • -
    -
    -
    + + mute + muted + 输出参数。静音状态:
      +
    • : 静音。
    • +
    • : 不静音。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -
      -
    • :当前播放的媒体文件为静音。
    • -
    • :当前播放的媒体文件没有静音。
    +
      +
    • :当前播放的媒体文件为静音。
    • +
    • :当前播放的媒体文件没有静音。
    • +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita b/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita index 399893da51c..b96ef759264 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita @@ -1,53 +1,52 @@ - <ph keyref="getPlayoutVolume" /> + <ph keyref="getPlayoutVolume"/> 获取当前本地播放音量。 - +

    - int getPlayoutVolume(); - - (int)getPlayoutVolume; - virtual int getPlayoutVolume(int& volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int getPlayoutVolume(); + - (int)getPlayoutVolume; + virtual int getPlayoutVolume(int& volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetPlayoutVolume(int volume); - abstract getPlayoutVolume(): number; - public abstract int GetPlayoutVolume(ref int volume); - abstract getPlayoutVolume(): number; - Future<int> getPlayoutVolume(); -

    + abstract getPlayoutVolume(): number; + public abstract int GetPlayoutVolume(ref int volume); + abstract getPlayoutVolume(): number; + Future<int> getPlayoutVolume(); +

    参数 - - volume - 输出参数。本地播放音量,取值范围从 0 到 100: - - -
      -
    • 0: 无声。
    • -
    • 100: (默认)媒体文件的原始播放音量。
    • -
    -
    -
    + + volume + 输出参数。本地播放音量,取值范围从 0 到 100:
      +
    • 0: 无声。
    • +
    • 100: (默认)媒体文件的原始播放音量。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -

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

      -
    • 0: 无声。
    • -
    • 100: (默认)媒体文件的原始播放音量。
    • -

    +

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

    +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita b/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita index 79d1317a01d..46a379de3ab 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita @@ -1,42 +1,43 @@ - <ph keyref="getPlayPosition" /> + <ph keyref="getPlayPosition"/> 获取当前播放进度。 - +

    - long getPlayPosition(); - - (NSInteger)getPosition; - virtual int getPlayPosition(int64_t& pos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + long getPlayPosition(); + - (NSInteger)getPosition; + virtual int getPlayPosition(int64_t& pos) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetPlayPosition(int64& pos); - abstract getPlayPosition(): number; - public abstract int GetPlayPosition(ref Int64 pos); - abstract getPlayPosition(): number; - Future<int> getPlayPosition(); -

    + abstract getPlayPosition(): number; + public abstract int GetPlayPosition(ref Int64 pos); + abstract getPlayPosition(): number; + Future<int> getPlayPosition(); +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - pos - 媒体资源文件当前的播放位置,单位为毫秒。 - -
    + + pos + 媒体资源文件当前的播放位置,单位为毫秒。 + + +
    返回值
      -
    • 方法调用成功,返回当前播放进度(毫秒)。
    • -
    • < 0: 方法调用失败,详见
    • +
    • 方法调用成功,返回当前播放进度(毫秒)。
    • +
    • < 0: 方法调用失败,详见
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita b/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita index 56c0fdf170c..c9a30431219 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita @@ -13,16 +13,16 @@

    - String getPlaySrc(); - - (NSString *)getPlaySrc; - virtual const char* getPlaySrc() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + String getPlaySrc(); + - (NSString *)getPlaySrc; + virtual const char* getPlaySrc() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") FString GetPlaySrc(); - abstract getPlaySrc(): string; - public abstract string GetPlaySrc(); - abstract getPlaySrc(): string; - Future<String> getPlaySrc(); -

    + abstract getPlaySrc(): string; + public abstract string GetPlaySrc(); + abstract getPlaySrc(): string; + Future<String> getPlaySrc(); +

    返回值 diff --git a/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita b/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita index 71fe195b32d..a27885ab1ca 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita @@ -1,46 +1,50 @@ - <ph keyref="getPublishSignalVolume" /> + <ph keyref="getPublishSignalVolume"/> 获取远端用户听到的音量。 - +

    - int getPublishSignalVolume(); - - (int)getPublishSignalVolume; - virtual int getPublishSignalVolume(int& volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int getPublishSignalVolume(); + - (int)getPublishSignalVolume; + virtual int getPublishSignalVolume(int& volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetPublishSignalVolume(int volume); - abstract getPublishSignalVolume(): number; - public abstract int GetPublishSignalVolume(ref int volume); - abstract getPublishSignalVolume(): number; - Future<int> getPublishSignalVolume(); -

    + abstract getPublishSignalVolume(): number; + public abstract int GetPublishSignalVolume(ref int volume); + abstract getPublishSignalVolume(): number; + Future<int> getPublishSignalVolume(); +

    参数 - - volume - 输出参数。播放文件的远端播放音量。 - -
    + + volume + 输出参数。播放文件的远端播放音量。 + + +
    返回值
    +
  • ≥ 0: 播放文件的远端播放音量。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_getstate.dita b/dita/RTC-NG/API/api_imediaplayer_getstate.dita index 76025a35067..08de9220421 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getstate.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getstate.dita @@ -1,32 +1,32 @@ - <ph keyref="getState" /> + <ph keyref="getState"/> 获取播放器当前状态。 - +

    - Constants.MediaPlayerState getState(); - - (AgoraMediaPlayerState)getPlayerState; - virtual media::base::MEDIA_PLAYER_STATE getState() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + Constants.MediaPlayerState getState(); + - (AgoraMediaPlayerState)getPlayerState; + virtual media::base::MEDIA_PLAYER_STATE getState() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") EMEDIA_PLAYER_STATE GetState(); - abstract getState(): MediaPlayerState; - public abstract MEDIA_PLAYER_STATE GetState(); - abstract getState(): MediaPlayerState; - Future<MediaPlayerState> getState(); -

    + abstract getState(): MediaPlayerState; + public abstract MEDIA_PLAYER_STATE GetState(); + abstract getState(): MediaPlayerState; + Future<MediaPlayerState> getState(); +

    返回值 -

    播放器当前状态,详见

    -
    +

    播放器当前状态,详见

    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita b/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita index b48312bf8b8..16feb045226 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita @@ -1,46 +1,51 @@ - <ph keyref="getStreamCount" /> + <ph keyref="getStreamCount"/> 获取当前媒体文件中媒体流的数量。 - +

    - int getStreamCount(); - - (NSInteger)getStreamCount; - virtual int getStreamCount(int64_t& count) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int getStreamCount(); + - (NSInteger)getStreamCount; + virtual int getStreamCount(int64_t& count) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetStreamCount(int64& count); - abstract getStreamCount(): number; - public abstract int GetStreamCount(ref Int64 count); - abstract getStreamCount(): number; - Future<int> getStreamCount(); -

    + abstract getStreamCount(): number; + public abstract int GetStreamCount(ref Int64 count); + abstract getStreamCount(): number; + Future<int> getStreamCount(); +

    详情 - 请在 后并收到 回调报告播放状态为 后再调用该方法。
    + 请在 后并收到 回调报告播放状态为 后再调用该方法。 +
    参数 - - count - 输出参数。当前媒体文件中媒体流的数量。 - -
    + + count + 输出参数。当前媒体文件中媒体流的数量。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • 方法调用成功,返回该媒体文件中媒体流的数量。
    • -
    • < 0: 方法调用失败,详见
    • -
    +
  • 0: 方法调用成功。
  • +
  • 方法调用成功,返回该媒体文件中媒体流的数量。
  • +
  • < 0: 方法调用失败,详见
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita b/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita index 2fcc81b79f8..fc9e616e4ce 100644 --- a/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita +++ b/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita @@ -1,54 +1,60 @@ - <ph keyref="getStreamInfo" /> + <ph keyref="getStreamInfo"/> 通过媒体流的索引值获取媒体流信息。 - +

    - MediaStreamInfo getStreamInfo(int index); - - (AgoraMediaStreamInfo *_Nullable)getStreamByIndex:(int)index; - virtual int getStreamInfo(int64_t index, media::base::PlayerStreamInfo* info) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + MediaStreamInfo getStreamInfo(int index); + - (AgoraMediaStreamInfo *_Nullable)getStreamByIndex:(int)index; + virtual int getStreamInfo(int64_t index, media::base::PlayerStreamInfo* info) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetStreamInfo(int64 index, FPlayerStreamInfo& info); - abstract getStreamInfo(index: number): PlayerStreamInfo; - public abstract int GetStreamInfo(Int64 index, ref PlayerStreamInfo info); - abstract getStreamInfo(index: number): PlayerStreamInfo; - Future<PlayerStreamInfo> getStreamInfo(int index); -

    + abstract getStreamInfo(index: number): PlayerStreamInfo; + public abstract int GetStreamInfo(Int64 index, ref PlayerStreamInfo info); + abstract getStreamInfo(index: number): PlayerStreamInfo; + Future<PlayerStreamInfo> getStreamInfo(int index); +

    详情 - 你需要在 后调用该方法。
    + 你需要在 后调用该方法。 +
    参数 - - index - 媒体流索引值。该参数需小于 count 参数。 - 媒体流索引值。该参数的值需小于 的返回值。 - - - info - 输出参数。媒体流的所有信息,详见 - -
    + + index + 媒体流索引值。该参数需小于 + 的 count 参数。 + 媒体流索引值。该参数的值需小于 的返回值。 + + + info + 输出参数。媒体流的所有信息,详见 + + +
    返回值
      -
    • 方法调用成功,返回媒体流信息,详见
    • -
    • 方法调用失败,返回
    • +
    • 方法调用成功,返回媒体流信息,详见
    • +
    • 方法调用失败,返回
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_initeventhandler.dita b/dita/RTC-NG/API/api_imediaplayer_initeventhandler.dita index 6cd91b4baf5..864c10dc36c 100644 --- a/dita/RTC-NG/API/api_imediaplayer_initeventhandler.dita +++ b/dita/RTC-NG/API/api_imediaplayer_initeventhandler.dita @@ -1,39 +1,43 @@ - <ph keyref="initEventHandler_IMediaPlayer" /> + <ph keyref="initEventHandler_IMediaPlayer"/> 添加媒体播放器的回调事件。 - +

    - - - - - public abstract int InitEventHandler(IMediaPlayerSourceObserver engineEventHandler); - -

    + + + + + public abstract int InitEventHandler(IMediaPlayerSourceObserver engineEventHandler); + + +

    参数 - - engineEventHandler - 待添加的回调事件,详见 - -
    + + engineEventHandler + 待添加的回调事件,详见 + + +
    - 返回值 + 返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
    -
    \ No newline at end of file +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + + + diff --git a/dita/RTC-NG/API/api_imediaplayer_mute.dita b/dita/RTC-NG/API/api_imediaplayer_mute.dita index 3bf2f282278..cb0e67a51b8 100644 --- a/dita/RTC-NG/API/api_imediaplayer_mute.dita +++ b/dita/RTC-NG/API/api_imediaplayer_mute.dita @@ -1,48 +1,52 @@ - <ph keyref="mute" /> + <ph keyref="mute"/> 设置是否静音。 - +

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

    + abstract mute(muted: boolean): number; + public abstract int Mute(bool muted); + abstract mute(muted: boolean): number; + Future<void> mute(bool muted); +

    参数 - - muted - isMute - 静音选项。 -
      -
    • :静音。
    • -
    • :(默认)不静音。
    • -
    -
    -
    + + muted + isMute + 静音选项。
      +
    • :静音。
    • +
    • :(默认)不静音。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_open.dita b/dita/RTC-NG/API/api_imediaplayer_open.dita index fb6e0a08176..16ed9397875 100644 --- a/dita/RTC-NG/API/api_imediaplayer_open.dita +++ b/dita/RTC-NG/API/api_imediaplayer_open.dita @@ -1,58 +1,67 @@ - <ph keyref="open" /> + <ph keyref="open"/> 打开媒体资源。 - +

    - int open(String url, long startPos); + int open(String url, long startPos); - - (int)open:(NSString *)url startPos:(NSInteger)startPos; + - (int)open:(NSString *)url startPos:(NSInteger)startPos; - virtual int open(const char* url, int64_t startPos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int open(const char* url, int64_t startPos) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Open(FString url, int64 startPos); - abstract open(url: string, startPos: number): number; - public abstract int Open(string url, Int64 startPos); - abstract open(url: string, startPos: number): number; - Future<void> open({required String url, required int startPos}); -

    + abstract open(url: string, startPos: number): number; + public abstract int Open(string url, Int64 startPos); + abstract open(url: string, startPos: number): number; + Future<void> open({required String url, required int startPos}); +

    详情 -

    在 Android 平台上,如果你需要打开 URI 格式的文件,请使用

    +

    在 Android 平台上,如果你需要打开 URI 格式的文件,请使用

    该方法支持打开以 content:// 开头的 URI 文件。

    -

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

    +

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

    -

    该方法为异步调用。

    -

    如需播放媒体文件,请在收到 回调报告播放状态为 后再调用 方法播放媒体文件。

    -
    +

    该方法为异步调用。

    +

    如需播放媒体文件,请在收到 回调报告播放状态为 + 后再调用 + 方法播放媒体文件。

    + +
    参数 - - url - 设置媒体文件的路径,支持本地和在线文件。 - - - startPos - 设置起始播放位置(毫秒),默认值为 0。 - -
    + + url + 设置媒体文件的路径,支持本地和在线文件。 + + + startPos + 设置起始播放位置(毫秒),默认值为 0。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_open2.dita b/dita/RTC-NG/API/api_imediaplayer_open2.dita index 7838ece1eca..05aae1ad84b 100644 --- a/dita/RTC-NG/API/api_imediaplayer_open2.dita +++ b/dita/RTC-NG/API/api_imediaplayer_open2.dita @@ -1,47 +1,51 @@ - <ph keyref="open2" /> + <ph keyref="open2"/> 通过 URI 打开媒体文件。 - +

    - int open(Uri uri, long startPos); - - - - - -

    + int open(Uri uri, long startPos); + + + + + + +

    详情 - +
    参数 - - uri - 媒体文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。 - - - startPos - 设置起始播放位置 (毫秒),默认值为 0。 - -
    + + uri + 媒体文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。 + + + startPos + 设置起始播放位置 (毫秒),默认值为 0。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_openwithagoracdnsrc.dita b/dita/RTC-NG/API/api_imediaplayer_openwithagoracdnsrc.dita index 9ccb56f0814..df7c125fe21 100644 --- a/dita/RTC-NG/API/api_imediaplayer_openwithagoracdnsrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_openwithagoracdnsrc.dita @@ -1,66 +1,80 @@ - <ph keyref="openWithAgoraCDNSrc" /> - 打开媒体资源,并通过自研调度中心请求媒体资源的所有 CDN 线路。 + + <ph keyref="openWithAgoraCDNSrc"/> + + 打开媒体资源,并通过自研调度中心请求媒体资源的所有 CDN 线路。 + - +

    - int openWithAgoraCDNSrc(String src, long startPos); + int openWithAgoraCDNSrc(String src, long startPos); - - (int)openWithAgoraCDNSrc:(NSString *)src startPos:(NSInteger)startPos; + - (int)openWithAgoraCDNSrc:(NSString *)src startPos:(NSInteger)startPos; - virtual int openWithAgoraCDNSrc(const char* src, int64_t startPos) = 0; + virtual int openWithAgoraCDNSrc(const char* src, int64_t startPos) = 0; - abstract openWithAgoraCDNSrc(src: string, startPos: number): number; - public abstract int OpenWithAgoraCDNSrc(string src, Int64 startPos); - abstract openWithAgoraCDNSrc(src: string, startPos: number): number; - Future<void> openWithAgoraCDNSrc( + abstract openWithAgoraCDNSrc(src: string, startPos: number): number; + public abstract int OpenWithAgoraCDNSrc(string src, Int64 startPos); + abstract openWithAgoraCDNSrc(src: string, startPos: number): number; + Future<void> openWithAgoraCDNSrc( {required String src, required int startPos}); -

    +

    详情 - -

    调用该方法后,声网会打开媒体资源并通过自研调度中心请求媒体资源的所有 CDN 线路。默认使用第一个线路,你也可以通过 自行切换线路。

    -

    如果你希望保障连接和播放媒体资源的安全性,你可以协商鉴权字段 (sign) 和鉴权过期时间 (ts)。确定字段后,请将其作为 URL 的 query parameter 以更新媒体资源的网路路径。例如: -

      -
    • 媒体资源网络路径为 rtmp://$domain/$appName/$streamName
    • -
    • 通过鉴权信息更新过的媒体资源网络路径为 rtmp://$domain/$appName/$streamName?ts=$ts&sign=$sign
    • -
    - -

    鉴权信息说明: -

      -
    • sign : 通过 authKey + appName + streamName + ts 进行 md5 算法加密得出的鉴权字段。你需要咨询你的 authKey 字段内容。
    • -
    • ts : 鉴权过期时间。你可以指定再过多久鉴权过期。例如, 24h1h30m20s
    • -

    -

    + +

    调用该方法后,声网会打开媒体资源并通过自研调度中心请求媒体资源的所有 CDN 线路。默认使用第一个线路,你也可以通过 自行切换线路。

    +

    如果你希望保障连接和播放媒体资源的安全性,你可以协商鉴权字段 + (sign) 和鉴权过期时间 (ts)。确定字段后,请将其作为 URL 的 + query parameter 以更新媒体资源的网路路径。例如:

      +
    • 媒体资源网络路径为 rtmp://$domain/$appName/$streamName
    • +
    • 通过鉴权信息更新过的媒体资源网络路径为 + rtmp://$domain/$appName/$streamName?ts=$ts&sign=$sign
    • +
    + +

    鉴权信息说明:

      +
    • sign : 通过 authKey + + appName + streamName + + ts 进行 md5 算法加密得出的鉴权字段。你需要咨询你的 authKey 字段内容。
    • +
    • ts : 鉴权过期时间。你可以指定再过多久鉴权过期。例如, + 24h1h30m20s
    • +

    +

    参数 - - src - 媒体资源的网络路径。 - - - startPos - 设置起始播放位置 (毫秒),默认值为 0。如果媒体资源为直播流,则无需赋值。 - -
    + + src + 媒体资源的网络路径。 + + + startPos + 设置起始播放位置 (毫秒),默认值为 0。如果媒体资源为直播流,则无需赋值。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_openwithcustomsource.dita b/dita/RTC-NG/API/api_imediaplayer_openwithcustomsource.dita index a390b5a6f34..e85f12ac6ae 100644 --- a/dita/RTC-NG/API/api_imediaplayer_openwithcustomsource.dita +++ b/dita/RTC-NG/API/api_imediaplayer_openwithcustomsource.dita @@ -1,70 +1,73 @@ - <ph keyref="openWithCustomSource" /> + <ph keyref="openWithCustomSource"/> 打开自定义媒体资源文件。 - +

    - int openWithCustomSource(long startPos, IMediaPlayerCustomDataProvider provider); + int openWithCustomSource(long startPos, IMediaPlayerCustomDataProvider provider); - - (int)openWithCustomSourceAtStartPos:(NSInteger)startPos + - (int)openWithCustomSourceAtStartPos:(NSInteger)startPos withPlayerOnReadData:(AgoraRtcMediaPlayerCustomSourceOnReadCallback)onReadDataCallback andPlayerOnSeek:(AgoraRtcMediaPlayerCustomSourceOnSeekCallback)onSeekCallback; - virtual int openWithCustomSource(int64_t startPos, IMediaPlayerCustomDataProvider* provider) = 0; + virtual int openWithCustomSource(int64_t startPos, IMediaPlayerCustomDataProvider* provider) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int OpenWithCustomSource(int64 startPos, UIMediaPlayerCustomDataProvider* provider); - - public abstract int OpenWithCustomSource(Int64 startPos, IMediaPlayerCustomDataProvider provider); - -

    + + public abstract int OpenWithCustomSource(Int64 startPos, IMediaPlayerCustomDataProvider provider); + + +

    详情
    - -
    弃用:
    -
    该方法已废弃,请改用
    -
    + +
    弃用:
    +
    该方法已废弃,请改用
    +

    该方法支持你打开自定义的媒体资源文件。例如,你可以调用该方法打开已加密的媒体资源。

    参数 - - startPos - 设置起始播放位置(毫秒),默认值为 0。 - - - provider - 自定义媒体资源文件的回调。详见 - - - onReadDataCallBack - 读取媒体资源数据回调。详见 - + + startPos + 设置起始播放位置(毫秒),默认值为 0。 + + + provider + 自定义媒体资源文件的回调。详见 + + + onReadDataCallBack + 读取媒体资源数据回调。详见 + - - onSeekCallBack - 定位媒体资源数据回调。详见 - -
    + + onSeekCallBack + 定位媒体资源数据回调。详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita b/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita index c924774dd62..ee84479a164 100644 --- a/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita +++ b/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita @@ -1,28 +1,28 @@ - <ph keyref="openWithMediaSource" /> + <ph keyref="openWithMediaSource"/> 打开媒体资源并进行播放设置。 - +

    - int openWithMediaSource(MediaPlayerSource source); - - (int)openWithMediaSource:(AgoraMediaSource *)source; - virtual int openWithMediaSource(const media::base::MediaSource &source) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int openWithMediaSource(MediaPlayerSource source); + - (int)openWithMediaSource:(AgoraMediaSource *)source; + virtual int openWithMediaSource(const media::base::MediaSource &source) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int OpenWithMediaSource(const FAgoraMediaSource& source); - abstract openWithMediaSource(source: MediaSource): number; - public abstract int OpenWithMediaSource(MediaSource source); - abstract openWithMediaSource(source: MediaSource): number; - Future<void> openWithMediaSource(MediaSource source); -

    + abstract openWithMediaSource(source: MediaSource): number; + public abstract int OpenWithMediaSource(MediaSource source); + abstract openWithMediaSource(source: MediaSource): number; + Future<void> openWithMediaSource(MediaSource source); +

    详情

    该方法支持你打开不同类型的媒体资源,包括自定义的媒体资源文件,并可进行播放设置。

    @@ -31,17 +31,21 @@
    参数 - - source - 媒体资源,详见 - -
    + + source + 媒体资源,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_imediaplayer_pause.dita b/dita/RTC-NG/API/api_imediaplayer_pause.dita index b2af949feb7..9e2f296913f 100644 --- a/dita/RTC-NG/API/api_imediaplayer_pause.dita +++ b/dita/RTC-NG/API/api_imediaplayer_pause.dita @@ -1,37 +1,41 @@ - <ph keyref="pause" /> + <ph keyref="pause"/> 暂停播放。 - +

    - int pause(); + int pause(); - - (int)pause; + - (int)pause; - virtual int pause() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int pause() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Pause(); - abstract pause(): number; - public abstract int Pause(); - abstract pause(): number; - Future<void> pause(); -

    + abstract pause(): number; + public abstract int Pause(); + abstract pause(): number; + Future<void> pause(); +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_play.dita b/dita/RTC-NG/API/api_imediaplayer_play.dita index 07ef855b645..2846aa5ab81 100644 --- a/dita/RTC-NG/API/api_imediaplayer_play.dita +++ b/dita/RTC-NG/API/api_imediaplayer_play.dita @@ -1,39 +1,43 @@ - <ph keyref="play" /> + <ph keyref="play"/> 播放媒体文件。 - +

    - int play(); - - (int)play; - virtual int play() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int play(); + - (int)play; + virtual int play() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Play(); - abstract play(): number; - public abstract int Play(); - abstract play(): number; - Future<void> play(); -

    + abstract play(): number; + public abstract int Play(); + abstract play(): number; + Future<void> play(); +

    详情 -

    调用 后,你可以调用该方法播放媒体文件。

    +

    调用 后,你可以调用该方法播放媒体文件。

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita b/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita index 808903b2230..3256b36367a 100644 --- a/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita @@ -1,53 +1,63 @@ - <ph keyref="playPreloadedSrc" /> + <ph keyref="playPreloadedSrc"/> 播放预加载的媒体资源。 - +

    - int playPreloadedSrc(String src); + int playPreloadedSrc(String src); - - (int)playPreloadedSrc:(NSString *)src; + - (int)playPreloadedSrc:(NSString *)src; - virtual int playPreloadedSrc(const char* src) = 0; + virtual int playPreloadedSrc(const char* src) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int PlayPreloadedSrc(FString src); - abstract playPreloadedSrc(src: string): number; - public abstract int PlayPreloadedSrc(string src); - abstract playPreloadedSrc(src: string): number; - Future<void> playPreloadedSrc(String src); -

    + abstract playPreloadedSrc(src: string): number; + public abstract int PlayPreloadedSrc(string src); + abstract playPreloadedSrc(src: string): number; + Future<void> playPreloadedSrc(String src); +

    详情 -

    调用 方法将媒体资源预加载到播放列表后,可以调用该方法播放已预加载的媒体资源。调用该方法后,如果你收到 回调报告状态 ,则表示播放成功。

    -

    如果你想更换播放的预加载媒体资源,你可以再次调用该方法并指定新的媒体资源路径。如果你想重新播放媒体资源,你需要在播放前调用 重新将该媒体资源预加载到播放列表。如果你想清空播放列表,请调用

    +

    调用 方法将媒体资源预加载到播放列表后,可以调用该方法播放已预加载的媒体资源。调用该方法后,如果你收到 回调报告状态 ,则表示播放成功。

    +

    如果你想更换播放的预加载媒体资源,你可以再次调用该方法并指定新的媒体资源路径。如果你想重新播放媒体资源,你需要在播放前调用 重新将该媒体资源预加载到播放列表。如果你想清空播放列表,请调用

    -

    如果你在播放暂停时调用该方法,该方法会在恢复播放后才生效。

    -
    +

    如果你在播放暂停时调用该方法,该方法会在恢复播放后才生效。

    + +
    参数 - - src - 播放列表中的媒体资源 URL 地址,必须与 方法设置的 src 一致,否则无法播放。 - -
    + + src + 播放列表中的媒体资源 URL 地址,必须与 方法设置的 + src 一致,否则无法播放。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita b/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita index ce26d7ee5a0..87f5df31168 100644 --- a/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita @@ -1,58 +1,68 @@ - <ph keyref="preloadSrc" /> + <ph keyref="preloadSrc"/> 预加载媒体资源。 - +

    - int preloadSrc(String src, long startPos); + int preloadSrc(String src, long startPos); - - (int)preloadSrc:(NSString *)src startPos:(int)startPos; + - (int)preloadSrc:(NSString *)src startPos:(int)startPos; - virtual int preloadSrc(const char* src, int64_t startPos) = 0; + virtual int preloadSrc(const char* src, int64_t startPos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int PreloadSrc(FString src, int64 startPos); - abstract preloadSrc(src: string, startPos: number): number; - public abstract int PreloadSrc(string src, Int64 startPos); - abstract preloadSrc(src: string, startPos: number): number; - Future<void> preloadSrc({required String src, required int startPos}); -

    + abstract preloadSrc(src: string, startPos: number): number; + public abstract int PreloadSrc(string src, Int64 startPos); + abstract preloadSrc(src: string, startPos: number): number; + Future<void> preloadSrc({required String src, required int startPos}); +

    详情

    你可以调用该方法将一个媒体资源预加载到播放列表中。如果需要预加载多个媒体资源,你可以多次调用该方法。

    -

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

    -

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

    +

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

    +

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

    -

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

    -
    +

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

    + +
    参数 - - - - - - startPos - 预加载到播放列表后,开始播放时的起始位置(毫秒)。预加载直播流时,将该参数设置为 0。 - -
    + + + + + + startPos + 预加载到播放列表后,开始播放时的起始位置(毫秒)。预加载直播流时,将该参数设置为 0。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver.dita b/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver.dita index 961cc49ad14..451523b82ac 100644 --- a/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver.dita @@ -13,32 +13,35 @@

    - - - virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer) = 0; - - public abstract int RegisterAudioFrameObserver(IAudioPcmFrameSink observer); - - -

    + + + virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer) = 0; + + public abstract int RegisterAudioFrameObserver(IAudioPcmFrameSink observer); + + +

    详情 -

    你需要在该方法中实现一个 类,并根据场景需要,注册该类的回调。成功注册音频帧观测器后,SDK 会在捕捉到每个音频帧时,触发你所注册的回调。

    +

    你需要在该方法中实现一个 类,并根据场景需要,注册该类的回调。成功注册音频帧观测器后,SDK + 会在捕捉到每个音频帧时,触发你所注册的回调。

    参数 - - observer - 音频帧观测器,观测每帧音频的接收,详见 - -
    + + observer + 音频帧观测器,观测每帧音频的接收,详见 + + +
    <ph keyref="return-section-title"/>
    diff --git a/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita b/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita index ef56415ac17..ca5a574a176 100644 --- a/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita +++ b/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita @@ -13,57 +13,66 @@

    - int registerAudioFrameObserver(IMediaPlayerAudioFrameObserver audioFrameObserver, int mode); + int registerAudioFrameObserver(IMediaPlayerAudioFrameObserver audioFrameObserver, int mode); - - virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer, + + virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int RegisterAudioFrameObserver(UIAudioPcmFrameSink* observer, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode = ERAW_AUDIO_FRAME_OP_MODE_TYPE::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY); - abstract registerAudioFrameObserver( + abstract registerAudioFrameObserver( observer: IAudioPcmFrameSink, mode?: RawAudioFrameOpModeType ): number; - public abstract int RegisterAudioFrameObserver(IAudioPcmFrameSink observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode); - abstract registerAudioFrameObserver( + public abstract int RegisterAudioFrameObserver(IAudioPcmFrameSink observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode); + abstract registerAudioFrameObserver( observer: IAudioPcmFrameSink, mode?: RawAudioFrameOpModeType ): number; - void registerAudioFrameObserver( + void registerAudioFrameObserver( {required AudioPcmFrameSink observer, RawAudioFrameOpModeType mode = RawAudioFrameOpModeType.rawAudioFrameOpModeReadOnly}); -

    +

    参数 - - audioFrameObserver - observer - -

    音频帧观测器,观测每帧音频的接收,详见

    -

    音频帧观测器,观测每帧音频的接收,详见

    -
    -
    - - mode - -

    音频帧的使用模式,详见

    -

    音频帧的使用模式: -

      -
    • (0): (默认) 只读模式。例如: 若用户通过 SDK 采集数据,自己进行 RTMP 推流,则可以选择该模式。
    • -
    • (2): 读写模式。例如:若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理 (例如变声),则可以选择该模式。
    • -

    -
    -
    -
    + + audioFrameObserver + observer + +

    音频帧观测器,观测每帧音频的接收,详见

    +

    音频帧观测器,观测每帧音频的接收,详见 +

    +
    +
    + + mode + +

    音频帧的使用模式,详见

    +

    音频帧的使用模式:

      +
    • (0): (默认) + 只读模式。例如: 若用户通过 SDK 采集数据,自己进行 RTMP 推流,则可以选择该模式。
    • +
    • (2): + 读写模式。例如:若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理 (例如变声),则可以选择该模式。
    • +
    +

    +
    +
    + +
    返回值 -

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

    +

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

    diff --git a/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita b/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita index 80f8d6052e7..afd596d434d 100644 --- a/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita +++ b/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita @@ -1,49 +1,54 @@ - <ph keyref="registerPlayerSourceObserver" /> + <ph keyref="registerPlayerSourceObserver"/> 注册一个播放观测器。 - +

    - int registerPlayerObserver(IMediaPlayerObserver playerObserver); + int registerPlayerObserver(IMediaPlayerObserver playerObserver); - - virtual int registerPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + + virtual int registerPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int RegisterPlayerSourceObserver(UIMediaPlayerSourceObserver* observer); - abstract registerPlayerSourceObserver( + abstract registerPlayerSourceObserver( observer: IMediaPlayerSourceObserver ): number; - - abstract registerPlayerSourceObserver( + + abstract registerPlayerSourceObserver( observer: IMediaPlayerSourceObserver ): number; - void registerPlayerSourceObserver(MediaPlayerSourceObserver observer); -

    + void registerPlayerSourceObserver(MediaPlayerSourceObserver observer); +

    参数 - - playerObserver - observer - 播放观测器,报告播放中的事件,详见 - -
    + + playerObserver + observer + 播放观测器,报告播放中的事件,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita b/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita index 4aafe91a0af..f3fce3187ea 100644 --- a/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita @@ -13,41 +13,50 @@

    - int registerVideoFrameObserver(IMediaPlayerVideoFrameObserver videoFrameObserver); - - virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int registerVideoFrameObserver(IMediaPlayerVideoFrameObserver videoFrameObserver); + + virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int RegisterVideoFrameObserver(UIVideoFrameObserver* observer); - abstract registerVideoFrameObserver( + abstract registerVideoFrameObserver( observer: IMediaPlayerVideoFrameObserver ): number; - public abstract void RegisterVideoFrameObserver(IAgoraRtcMediaPlayerVideoFrameObserver observer); - abstract registerVideoFrameObserver( + public abstract void RegisterVideoFrameObserver(IAgoraRtcMediaPlayerVideoFrameObserver observer); + abstract registerVideoFrameObserver( observer: IMediaPlayerVideoFrameObserver ): number; - void registerVideoFrameObserver(MediaPlayerVideoFrameObserver observer); -

    + void registerVideoFrameObserver(MediaPlayerVideoFrameObserver observer); +

    详情 -

    你需要在该方法中实现一个 类,并根据场景需要,注册该类的回调。成功注册视频帧观测器后,SDK 会在捕捉到每个视频帧时,触发你所注册的回调。

    +

    你需要在该方法中实现一个 + 类,并根据场景需要,注册该类的回调。成功注册视频帧观测器后,SDK 会在捕捉到每个视频帧时,触发你所注册的回调。

    参数 - - videoFrameObserver - observer - 视频帧观测器,观测每帧视频的接收。详见 - 视频帧观测器,观测每帧视频的接收。详见 - -
    + + videoFrameObserver + observer + 视频帧观测器,观测每帧视频的接收。详见 + 视频帧观测器,观测每帧视频的接收。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_removealllisteners.dita b/dita/RTC-NG/API/api_imediaplayer_removealllisteners.dita index 9eb0f53501a..e422c0e7ada 100644 --- a/dita/RTC-NG/API/api_imediaplayer_removealllisteners.dita +++ b/dita/RTC-NG/API/api_imediaplayer_removealllisteners.dita @@ -13,25 +13,26 @@

    - - - - removeAllListeners?<EventType extends keyof IMediaPlayerEvent>( + + + + removeAllListeners?<EventType extends keyof IMediaPlayerEvent>( eventType?: EventType ): void; - - removeAllListeners?<EventType extends keyof IMediaPlayerEvent>( + + removeAllListeners?<EventType extends keyof IMediaPlayerEvent>( eventType?: EventType ): void; -

    +

    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_removeeventhandler.dita b/dita/RTC-NG/API/api_imediaplayer_removeeventhandler.dita index cd8e6d9f694..4c42de85da0 100644 --- a/dita/RTC-NG/API/api_imediaplayer_removeeventhandler.dita +++ b/dita/RTC-NG/API/api_imediaplayer_removeeventhandler.dita @@ -2,7 +2,8 @@ <ph keyref="removeEventHandler_IMediaPlayer"/> - 移除 对象。 + 移除 + 对象。 @@ -13,14 +14,14 @@

    - - - - - public abstract void RemoveEventHandler(); - - -

    + + + + + public abstract void RemoveEventHandler(); + + +

    diff --git a/dita/RTC-NG/API/api_imediaplayer_removelistener.dita b/dita/RTC-NG/API/api_imediaplayer_removelistener.dita index 5062d2610da..6314ed5f77b 100644 --- a/dita/RTC-NG/API/api_imediaplayer_removelistener.dita +++ b/dita/RTC-NG/API/api_imediaplayer_removelistener.dita @@ -2,7 +2,8 @@ <ph keyref="removeListener_IMediaPlayer"/> - 移除指定的 监听器。 + 移除指定的 + 监听器。 @@ -13,35 +14,38 @@

    - - - - removeListener?<EventType extends keyof IMediaPlayerEvent>( + + + + removeListener?<EventType extends keyof IMediaPlayerEvent>( eventType: EventType, listener: IMediaPlayerEvent[EventType] ): void; - - removeListener?<EventType extends keyof IMediaPlayerEvent>( + + removeListener?<EventType extends keyof IMediaPlayerEvent>( eventType: EventType, listener: IMediaPlayerEvent[EventType] ): void; -

    +

    参数 - - - - - - listener - eventType 对应的回调函数。必须传入 中传入的同一个函数对象。以取消监听 为例: + + + + + + listener + eventType 对应的回调函数。必须传入 中传入的同一个函数对象。以取消监听 为例: const onPlayerSourceStateChanged = (state: MediaPlayerState, ec: MediaPlayerError) => {}; engine.addListener('onPlayerSourceStateChanged', onPlayerSourceStateChanged); engine.removeListener('onPlayerSourceStateChanged', onPlayerSourceStateChanged); - -
    + + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_renewagoracdnsrctoken.dita b/dita/RTC-NG/API/api_imediaplayer_renewagoracdnsrctoken.dita index c498afb305f..abdddd10069 100644 --- a/dita/RTC-NG/API/api_imediaplayer_renewagoracdnsrctoken.dita +++ b/dita/RTC-NG/API/api_imediaplayer_renewagoracdnsrctoken.dita @@ -1,55 +1,66 @@ - <ph keyref="renewAgoraCDNSrcToken" /> + <ph keyref="renewAgoraCDNSrcToken"/> 更新媒体资源网络路径的鉴权信息。 - +

    - int renewAgoraCDNSrcToken(String token, long ts); + int renewAgoraCDNSrcToken(String token, long ts); - - (int)renewAgoraCDNSrcToken:(NSString *)token ts:(NSInteger)ts; + - (int)renewAgoraCDNSrcToken:(NSString *)token ts:(NSInteger)ts; - virtual int renewAgoraCDNSrcToken(const char* token, int64_t ts) = 0; + virtual int renewAgoraCDNSrcToken(const char* token, int64_t ts) = 0; - abstract renewAgoraCDNSrcToken(token: string, ts: number): number; - public abstract int RenewAgoraCDNSrcToken(string token, Int64 ts); - abstract renewAgoraCDNSrcToken(token: string, ts: number): number; - Future<void> renewAgoraCDNSrcToken({required String token, required int ts}); -

    + abstract renewAgoraCDNSrcToken(token: string, ts: number): number; + public abstract int RenewAgoraCDNSrcToken(string token, Int64 ts); + abstract renewAgoraCDNSrcToken(token: string, ts: number): number; + Future<void> renewAgoraCDNSrcToken({required String token, required int ts}); +

    详情 -

    当鉴权信息过期(超出 ts 时间)时,你可以调用 重新打开或切换媒体资源,并传入带新鉴权信息(如更新 ts 字段内容)的媒体资源网络路径。

    -

    如果你在切换媒体资源线路 () 时遇到鉴权信息过期,你需要调用该方法并传入新的鉴权信息,以更新该媒体资源网络路径的鉴权信息。更新鉴权信息后,你还需调用 才能完成线路切换。

    +

    当鉴权信息过期(超出 ts 时间)时,你可以调用 或 + 重新打开或切换媒体资源,并传入带新鉴权信息(如更新 + ts 字段内容)的媒体资源网络路径。

    +

    如果你在切换媒体资源线路 () + 时遇到鉴权信息过期,你需要调用该方法并传入新的鉴权信息,以更新该媒体资源网络路径的鉴权信息。更新鉴权信息后,你还需调用 才能完成线路切换。

    -

    为避免鉴权信息频繁过期,请务必根据场景需求设置合适的 ts 字段内容或

    -
    +

    为避免鉴权信息频繁过期,请务必根据场景需求设置合适的 ts 字段内容或

    + +
    参数 - - token - 鉴权字段。即鉴权信息中的 sign 字段。 - - - ts - 鉴权过期时间。即鉴权信息中的 ts 字段。 - -
    + + token + 鉴权字段。即鉴权信息中的 sign 字段。 + + + ts + 鉴权过期时间。即鉴权信息中的 ts 字段。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_resume.dita b/dita/RTC-NG/API/api_imediaplayer_resume.dita index f479e2aa713..9b7f80aa032 100644 --- a/dita/RTC-NG/API/api_imediaplayer_resume.dita +++ b/dita/RTC-NG/API/api_imediaplayer_resume.dita @@ -1,35 +1,39 @@ - <ph keyref="resume" /> + <ph keyref="resume"/> 暂停后恢复播放。 - +

    - int resume(); - - (int)resume; - virtual int resume() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int resume(); + - (int)resume; + virtual int resume() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Resume(); - abstract resume(): number; - public abstract int Resume(); - abstract resume(): number; - Future<void> resume(); -

    + abstract resume(): number; + public abstract int Resume(); + abstract resume(): number; + Future<void> resume(); +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_seek.dita b/dita/RTC-NG/API/api_imediaplayer_seek.dita index 12a67b0b070..eabe385839c 100644 --- a/dita/RTC-NG/API/api_imediaplayer_seek.dita +++ b/dita/RTC-NG/API/api_imediaplayer_seek.dita @@ -1,55 +1,59 @@ - <ph keyref="seek" /> + <ph keyref="seek"/> 定位到媒体文件的指定播放位置。 - +

    - int seek(long newPos); + int seek(long newPos); - - (void)seekToPosition:(NSInteger)position; + - (void)seekToPosition:(NSInteger)position; - virtual int seek(int64_t newPos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int seek(int64_t newPos) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Seek(int64 newPos); - abstract seek(newPos: number): number; - public abstract int Seek(Int64 newPos); - abstract seek(newPos: number): number; - Future<void> seek(int newPos); -

    + abstract seek(newPos: number): number; + public abstract int Seek(Int64 newPos); + abstract seek(newPos: number): number; + Future<void> seek(int newPos); +

    详情 -

    成功调用该方法后,你会收到 回调,报告当前播放器发生的事件,如定位开始、定位成功或定位失败。

    -

    如果你想定位播放,请进行如下操作: -

      -
    • 调用该方法定位。
    • -
    • 定位完成后,调用 方法播放。
    • -

    +

    成功调用该方法后,你会收到 回调,报告当前播放器发生的事件,如定位开始、定位成功或定位失败。

    +

    如果你想定位播放,请进行如下操作:

      +
    • 调用该方法定位。
    • +
    • 定位完成后,调用 方法播放。
    • +

    参数 - - newPos - position - 指定的位置(毫秒)。 - -
    + + newPos + position + 指定的位置(毫秒)。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita b/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita index a0d3fd72156..f171ea171f3 100644 --- a/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita +++ b/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita @@ -1,47 +1,54 @@ - <ph keyref="selectAudioTrack_IMediaPlayer" /> + <ph keyref="selectAudioTrack_IMediaPlayer"/> 指定当前音频文件的播放音轨。 - +

    - int selectAudioTrack(int index); - - (int)selectAudioTrack:(int)index; - virtual int selectAudioTrack(int index) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int selectAudioTrack(int index); + - (int)selectAudioTrack:(int)index; + virtual int selectAudioTrack(int index) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") 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); -

    + abstract selectAudioTrack(index: number): number; + public abstract int SelectAudioTrack(int index); + abstract selectAudioTrack(index: number): number; + Future<void> selectAudioTrack(int index); +

    详情

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

    - 你需要在调用 获取音频流索引值后调用该方法。
    + 你需要在调用 + 获取音频流索引值后调用该方法。 +
    参数 - - index - 音轨的索引值。 - -
    + + index + 音轨的索引值。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_selectinternalsubtitle.dita b/dita/RTC-NG/API/api_imediaplayer_selectinternalsubtitle.dita index 071dadd8a61..9c6eebaa779 100644 --- a/dita/RTC-NG/API/api_imediaplayer_selectinternalsubtitle.dita +++ b/dita/RTC-NG/API/api_imediaplayer_selectinternalsubtitle.dita @@ -13,39 +13,43 @@

    - int selectInternalSubtitle(int index); + int selectInternalSubtitle(int index); - - (int)selectInternalSubtitle:(int)index; + - (int)selectInternalSubtitle:(int)index; - virtual int selectInternalSubtitle(int index) = 0; - - public abstract int SelectInternalSubtitle(int playerId, int index); - - -

    + virtual int selectInternalSubtitle(int index) = 0; + + public abstract int SelectInternalSubtitle(int playerId, int index); + + +

    详情 -

    该方法需在媒体资源打开完成后调用。

    -
    +

    该方法需在媒体资源打开完成后调用。

    + +
    参数 - - index - 内部字幕的索引值。 - - - playerId - 媒体播放器 ID。 - -
    + + index + 内部字幕的索引值。 + + + playerId + 媒体播放器 ID。 + + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita b/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita index 7c525ea9abb..e6c55e7c4c1 100644 --- a/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita +++ b/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita @@ -13,32 +13,35 @@

    - int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex); - - (int)selectMultiAudioTrack:(NSInteger)playoutTrackIndex publishTrackIndex:(NSInteger)publishTrackIndex NS_SWIFT_NAME(selectMultiAudioTrack(_:publishTrackIndex:)); - virtual int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex) = 0; - - abstract selectMultiAudioTrack( + int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex); + - (int)selectMultiAudioTrack:(NSInteger)playoutTrackIndex publishTrackIndex:(NSInteger)publishTrackIndex NS_SWIFT_NAME(selectMultiAudioTrack(_:publishTrackIndex:)); + virtual int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex) = 0; + + abstract selectMultiAudioTrack( playoutTrackIndex: number, publishTrackIndex: number ): number; - public abstract int SelectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex); - abstract selectMultiAudioTrack( + public abstract int SelectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex); + abstract selectMultiAudioTrack( playoutTrackIndex: number, publishTrackIndex: number ): number; - Future<void> selectMultiAudioTrack( - {required int playoutTrackIndex, required int publishTrackIndex});

    + Future<void> selectMultiAudioTrack( + {required int playoutTrackIndex, required int publishTrackIndex}); +

    详情
    - -
    自从
    -
    v4.3.0
    -
    + +
    自从
    +
    v4.3.0
    +

    你可以调用该方法分别设置本地播放和发送到远端的音轨。

    -

    在调用该方法前,你需要通过 来打开媒体文件,并通过 enableMultiAudioTrack 设为

    +

    在调用该方法前,你需要通过 来打开媒体文件,并通过 enableMultiAudioTrack 设为 +

    适用场景 @@ -47,21 +50,24 @@
    参数 - - playoutTrackIndex - 用于本地播放的音轨索引。你可以通过 来获取索引值。 - - - publishTrackIndex - 用于发送至远端的音轨索引。你可以通过 来获取索引值。 - -
    + + playoutTrackIndex + 用于本地播放的音轨索引。你可以通过 来获取索引值。 + + + publishTrackIndex + 用于发送至远端的音轨索引。你可以通过 来获取索引值。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    -
    + + + diff --git a/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita b/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita index 07ad27e23ec..8d2a96c3841 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita @@ -1,57 +1,69 @@ - <ph keyref="setAudioDualMonoMode" /> + <ph keyref="setAudioDualMonoMode"/> 设置当前音频文件的声道模式。 - +

    - int setAudioDualMonoMode(int mode); - - (int)setAudioDualMonoMode:(AgoraAudioDualMonoMode)mode; - virtual int setAudioDualMonoMode(agora::media::base::AUDIO_DUAL_MONO_MODE mode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int setAudioDualMonoMode(int mode); + - (int)setAudioDualMonoMode:(AgoraAudioDualMonoMode)mode; + virtual int setAudioDualMonoMode(agora::media::base::AUDIO_DUAL_MONO_MODE mode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetAudioDualMonoMode(EAUDIO_DUAL_MONO_MODE mode); - abstract setAudioDualMonoMode(mode: AudioDualMonoMode): number; - public abstract int SetAudioDualMonoMode(AUDIO_DUAL_MONO_MODE mode); - abstract setAudioDualMonoMode(mode: AudioDualMonoMode): number; - Future<void> setAudioDualMonoMode(AudioDualMonoMode mode); -

    + abstract setAudioDualMonoMode(mode: AudioDualMonoMode): number; + public abstract int SetAudioDualMonoMode(AUDIO_DUAL_MONO_MODE mode); + abstract setAudioDualMonoMode(mode: AudioDualMonoMode): number; + Future<void> setAudioDualMonoMode(AudioDualMonoMode mode); +

    详情 -

    在双声道音频文件中,左声道和右声道可以存储不同的音频数据。根据实际需要,你可以设置声道模式为原始模式、左声道模式、右声道模式或混合模式。例如,在 KTV 场景中,音频文件的左声道存储了伴奏,右声道存储了原唱的歌声。如果你只需听伴奏,调用该方法设置音频文件的声道模式为左声道模式;如果你需要同时听伴奏和原唱,调用该方法设置声道模式为混合模式。

    +

    在双声道音频文件中,左声道和右声道可以存储不同的音频数据。根据实际需要,你可以设置声道模式为原始模式、左声道模式、右声道模式或混合模式。例如,在 KTV + 场景中,音频文件的左声道存储了伴奏,右声道存储了原唱的歌声。如果你只需听伴奏,调用该方法设置音频文件的声道模式为左声道模式;如果你需要同时听伴奏和原唱,调用该方法设置声道模式为混合模式。

    -
      -
    • 你需要在调用 后调用该方法。
    • -
    • 该方法仅适用于双声道的音频文件。
    • -
    + +
    参数 - - mode - 声道模式。详见 -
      -
    • (0): 原始模式。
    • -
    • (1): 左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。
    • -
    • (2): 右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。
    • -
    • (3): 混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。
    • -
    -
    -
    + + mode + 声道模式。详见 +
      +
    • (0): 原始模式。
    • +
    • (1): + 左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。
    • +
    • (2): + 右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。
    • +
    • (3): + 混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita b/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita index fca9f8b3df6..a75869bbacc 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita @@ -1,46 +1,52 @@ - <ph keyref="setAudioPitch" /> + <ph keyref="setAudioPitch"/> 调整当前播放的媒体资源的音调。 - +

    - int setAudioPitch(int pitch); - - (int)setAudioPitch:(NSInteger)pitch; - virtual int setAudioPitch(int pitch) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int setAudioPitch(int pitch); + - (int)setAudioPitch:(NSInteger)pitch; + virtual int setAudioPitch(int pitch) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetAudioPitch(int pitch); - abstract setAudioPitch(pitch: number): number; - public abstract int SetAudioPitch(int pitch); - abstract setAudioPitch(pitch: number): number; - Future<void> setAudioPitch(int pitch); -

    + abstract setAudioPitch(pitch: number): number; + public abstract int SetAudioPitch(int pitch); + abstract setAudioPitch(pitch: number): number; + Future<void> setAudioPitch(int pitch); +

    详情 - 你需要在调用 后调用该方法。
    + 你需要在调用 后调用该方法。 +
    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_setexternalsubtitle.dita b/dita/RTC-NG/API/api_imediaplayer_setexternalsubtitle.dita index c0e21ac4d92..b6a6bbb6733 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setexternalsubtitle.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setexternalsubtitle.dita @@ -13,39 +13,45 @@

    - int setExternalSubtitle(String url); + int setExternalSubtitle(String url); - - (void)setExternalSubtitle:(NSString *)url; + - (void)setExternalSubtitle:(NSString *)url; - virtual int setExternalSubtitle(const char* url) = 0; - - - - -

    + virtual int setExternalSubtitle(const char* url) = 0; + + + + +

    详情 -

    你可以调用本方法设置播放器显示外挂字幕。支持 SRT 和 ASS 类型的字幕。 - -

    +

    你可以调用本方法设置播放器显示外挂字幕。支持 SRT 和 ASS 类型的字幕。 +

    +

    参数 - - url - 外挂字幕的 URL 地址,支持本地地址和在线地址。 - -
    + + url + 外挂字幕的 URL 地址,支持本地地址和在线地址。 + + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita b/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita index 407a4997419..fddf21a0b7d 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita @@ -1,50 +1,56 @@ - <ph keyref="setLoopCount" /> + <ph keyref="setLoopCount"/> 设置循环播放。 - +

    - int setLoopCount(int loopCount); + int setLoopCount(int loopCount); - - (void)setLoopCount:(NSInteger)loopCount; + - (void)setLoopCount:(NSInteger)loopCount; - virtual int setLoopCount(int loopCount) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int setLoopCount(int loopCount) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetLoopCount(int loopCount); - abstract setLoopCount(loopCount: number): number; - public abstract int SetLoopCount(int loopCount); - abstract setLoopCount(loopCount: number): number; - Future<void> setLoopCount(int loopCount); -

    + abstract setLoopCount(loopCount: number): number; + public abstract int SetLoopCount(int loopCount); + abstract setLoopCount(loopCount: number): number; + Future<void> setLoopCount(int loopCount); +

    详情

    如果你希望循环播放,请调用该方法并设置循环播放次数。

    -

    循环播放结束时,SDK 会触发 回调,向你报告播放状态为

    +

    循环播放结束时,SDK 会触发 回调,向你报告播放状态为

    参数 - - loopCount - 循环播放的次数。 - -
    + + loopCount + 循环播放的次数。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita b/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita index 13467804eab..5f639773534 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita @@ -1,53 +1,56 @@ - <ph keyref="setPlaybackSpeed" /> + <ph keyref="setPlaybackSpeed"/> 设置当前音频文件的播放速度。 - +

    - int setPlaybackSpeed(int speed); - - (int)setPlaybackSpeed:(int)speed; - virtual int setPlaybackSpeed(int speed) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int setPlaybackSpeed(int speed); + - (int)setPlaybackSpeed:(int)speed; + virtual int setPlaybackSpeed(int speed) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetPlaybackSpeed(int speed); - abstract setPlaybackSpeed(speed: number): number; - public abstract int SetPlaybackSpeed(int speed); - abstract setPlaybackSpeed(speed: number): number; - Future<void> setPlaybackSpeed(int speed); -

    + abstract setPlaybackSpeed(speed: number): number; + public abstract int SetPlaybackSpeed(int speed); + abstract setPlaybackSpeed(speed: number): number; + Future<void> setPlaybackSpeed(int speed); +

    详情 -

    你需要在 后调用该方法。

    +

    你需要在 后调用该方法。

    参数 - - speed - 播放速度。推荐取值范围为 [50,400],其中: - -
      -
    • 50: 0.5 倍速。
    • -
    • 100: 原始速度。
    • -
    • 400: 4 倍速。
    • -
    -
    -
    + + speed + 播放速度。推荐取值范围为 [50,400],其中:
      +
    • 50: 0.5 倍速。
    • +
    • 100: 原始速度。
    • +
    • 400: 4 倍速。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita b/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita index a4a6fbb82e4..adc558fbd5b 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita @@ -13,38 +13,48 @@

    - int setPlayerOption(String key, int value); - - (int)setPlayerOption:(NSString *)key value:(NSInteger)value NS_SWIFT_NAME(setPlayerOption(_:value:)); - virtual int setPlayerOption(const char* key, int64_t value) = 0; - abstract setPlayerOptionInInt(key: string, value: number): number; - public abstract int SetPlayerOption(string key, int value); - abstract setPlayerOptionInInt(key: string, value: number): number; - Future<void> setPlayerOptionInInt({required String key, required int value}); -

    + int setPlayerOption(String key, int value); + - (int)setPlayerOption:(NSString *)key value:(NSInteger)value NS_SWIFT_NAME(setPlayerOption(_:value:)); + virtual int setPlayerOption(const char* key, int64_t value) = 0; + abstract setPlayerOptionInInt(key: string, value: number): number; + public abstract int SetPlayerOption(string key, int value); + abstract setPlayerOptionInInt(key: string, value: number): number; + Future<void> setPlayerOptionInInt({required String key, required int value}); +

    详情 -

    媒体播放器支持通过 keyvalue 来设置选项。一般情况下,你无需知晓选项设置,使用媒体播放器默认的选项设置即可。

    -

    该方法和 的区别在于,该方法的 value 是 Int 型,value 是 String 型。二者不可混用。

    - 请确保在 之前调用该方法。
    +

    媒体播放器支持通过 keyvalue + 来设置选项。一般情况下,你无需知晓选项设置,使用媒体播放器默认的选项设置即可。

    +

    该方法和 的区别在于,该方法的 value 是 Int + 型,value 是 String + 型。二者不可混用。

    + 请确保在 之前调用该方法。 +
    参数 - - key - key 值。 - - - value - value 值。 - -
    + + key + key 值。 + + + value + value 值。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita b/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita index d3e082b980b..62e7952dbab 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita @@ -13,29 +13,34 @@

    - int setPlayerOptionString(String key, String value); - - (int)setPlayerOptionString:(NSString *)key value:(NSString *)value NS_SWIFT_NAME(setPlayerOptionString(_:value:)); - virtual int setPlayerOption(const char* key, const char* value) = 0; - abstract setPlayerOptionInString(key: string, value: string): number; - public abstract int SetPlayerOption(string key, string value); - abstract setPlayerOptionInString(key: string, value: string): number; - Future<void> setPlayerOptionInString( - {required String key, required String value}); -

    + int setPlayerOptionString(String key, String value); + - (int)setPlayerOptionString:(NSString *)key value:(NSString *)value NS_SWIFT_NAME(setPlayerOptionString(_:value:)); + virtual int setPlayerOption(const char* key, const char* value) = 0; + abstract setPlayerOptionInString(key: string, value: string): number; + public abstract int SetPlayerOption(string key, string value); + abstract setPlayerOptionInString(key: string, value: string): number; + Future<void> setPlayerOptionInString( + {required String key, required String value}); +

    详情

    -

    该方法和 的区别在于,该方法的 value 是 String 型,value 是 Int 型。二者不可混用。

    +

    该方法和 的区别在于,该方法的 value 是 String + 型,value 是 Int + 型。二者不可混用。

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

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita b/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita index 534982fd2ac..461b2e5010f 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita @@ -1,53 +1,59 @@ - <ph keyref="setRenderMode" /> + <ph keyref="setRenderMode"/> 设置播放器视图的渲染模式。 - +

    - int setRenderMode(int mode); + int setRenderMode(int mode); - - (void)setRenderMode:(AgoraMediaPlayerRenderMode)mode; + - (void)setRenderMode:(AgoraMediaPlayerRenderMode)mode; - virtual int setRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int setRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetRenderMode(ERENDER_MODE_TYPE renderMode); - abstract setRenderMode(renderMode: RenderModeType): number; - public abstract int SetRenderMode(RENDER_MODE_TYPE renderMode); - abstract setRenderMode(renderMode: RenderModeType): number; - Future<void> setRenderMode(RenderModeType renderMode); -

    + abstract setRenderMode(renderMode: RenderModeType): number; + public abstract int SetRenderMode(RENDER_MODE_TYPE renderMode); + abstract setRenderMode(renderMode: RenderModeType): number; + Future<void> setRenderMode(RenderModeType renderMode); +

    参数 - - renderMode - mode - -

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

    -

    播放器视图的渲染模式: - -

      -
    • -

    -
    -
    -
    + + renderMode + mode + +

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

    +

    播放器视图的渲染模式:

      +
    • +
    +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita b/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita index 7a81efe80a8..27c0b5ac4cc 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita @@ -1,28 +1,28 @@ - <ph keyref="setSpatialAudioParams" /> + <ph keyref="setSpatialAudioParams"/> 开启或关闭媒体播放器的空间音效。 - +

    - int setSpatialAudioParams(SpatialAudioParams params); - - (int)setSpatialAudioParams:(AgoraSpatialAudioParams* _Nonnull)params; - virtual int setSpatialAudioParams(const SpatialAudioParams& params) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int setSpatialAudioParams(SpatialAudioParams params); + - (int)setSpatialAudioParams:(AgoraSpatialAudioParams* _Nonnull)params; + virtual int setSpatialAudioParams(const SpatialAudioParams& params) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetSpatialAudioParams(const FSpatialAudioParams& params); - abstract setSpatialAudioParams(params: SpatialAudioParams): number; - public abstract int SetSpatialAudioParams(SpatialAudioParams spatial_audio_params); - abstract setSpatialAudioParams(params: SpatialAudioParams): number; - Future<void> setSpatialAudioParams(SpatialAudioParams params); -

    + abstract setSpatialAudioParams(params: SpatialAudioParams): number; + public abstract int SetSpatialAudioParams(SpatialAudioParams spatial_audio_params); + abstract setSpatialAudioParams(params: SpatialAudioParams): number; + Future<void> setSpatialAudioParams(SpatialAudioParams params); +

    详情 @@ -32,18 +32,23 @@
    参数 - - params - spatial_audio_params - 媒体播放器的空间音效参数。详见 - -
    + + params + spatial_audio_params + 媒体播放器的空间音效参数。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_setvideoframedelegate.dita b/dita/RTC-NG/API/api_imediaplayer_setvideoframedelegate.dita index 12b773b4eb0..b29e678bcfd 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setvideoframedelegate.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setvideoframedelegate.dita @@ -13,33 +13,40 @@

    - - - (BOOL)setVideoFrameDelegate:(id<AgoraRtcMediaPlayerVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setVideoFrameDelegate(_:)); - - - - - -

    + + - (BOOL)setVideoFrameDelegate:(id<AgoraRtcMediaPlayerVideoFrameDelegate> _Nullable)delegate NS_SWIFT_NAME(setVideoFrameDelegate(_:)); + + + + + + +

    详情 -

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

    +

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

    参数 - - delegate - 接口对象实例,详见 。如果传入 ,表示取消注册。 - -
    + + delegate + 接口对象实例,详见 。如果传入 ,表示取消注册。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + + diff --git a/dita/RTC-NG/API/api_imediaplayer_setview.dita b/dita/RTC-NG/API/api_imediaplayer_setview.dita index 8e04ddf6788..b51dec7b116 100644 --- a/dita/RTC-NG/API/api_imediaplayer_setview.dita +++ b/dita/RTC-NG/API/api_imediaplayer_setview.dita @@ -1,46 +1,52 @@ - <ph keyref="setView" /> + <ph keyref="setView"/> 设置播放器渲染视图。 - +

    - int setView(View videoView); + int setView(View videoView); - - (void)setView:(View *_Nullable)view; + - (void)setView:(View *_Nullable)view; - virtual int setView(media::base::view_t view) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int setView(media::base::view_t view) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetView(int64 view); - abstract setView(view: any): number; - public abstract int SetView(); - abstract setView(view: any): number; - Future<void> setView(int view); -

    + abstract setView(view: any): number; + public abstract int SetView(); + abstract setView(view: any): number; + Future<void> setView(int view); +

    参数 - - videoView - view - 渲染视图。Windows 平台为窗口句柄(HWND)。 - -
    + + videoView + view + 渲染视图。Windows 平台为窗口句柄(HWND)。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_stop.dita b/dita/RTC-NG/API/api_imediaplayer_stop.dita index 2111e3e9741..ceb9d46f345 100644 --- a/dita/RTC-NG/API/api_imediaplayer_stop.dita +++ b/dita/RTC-NG/API/api_imediaplayer_stop.dita @@ -1,36 +1,40 @@ - <ph keyref="stop" /> + <ph keyref="stop"/> 停止播放。 - +

    - int stop(); + int stop(); - - (void)stop; - virtual int stop() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + - (void)stop; + virtual int stop() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Stop(); - abstract stop(): number; - public abstract int Stop(); - abstract stop(): number; - Future<void> stop(); -

    + abstract stop(): number; + public abstract int Stop(); + abstract stop(): number; + Future<void> stop(); +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_switchagoracdnlinebyindex.dita b/dita/RTC-NG/API/api_imediaplayer_switchagoracdnlinebyindex.dita index 96254e4a4b3..13affcd81a4 100644 --- a/dita/RTC-NG/API/api_imediaplayer_switchagoracdnlinebyindex.dita +++ b/dita/RTC-NG/API/api_imediaplayer_switchagoracdnlinebyindex.dita @@ -1,56 +1,60 @@ - <ph keyref="switchAgoraCDNLineByIndex" /> + <ph keyref="switchAgoraCDNLineByIndex"/> 切换媒体资源的 CDN 线路。 - +

    - int switchAgoraCDNLineByIndex(int index); + int switchAgoraCDNLineByIndex(int index); - - (int)switchAgoraCDNLineByIndex:(int)index; + - (int)switchAgoraCDNLineByIndex:(int)index; - virtual int switchAgoraCDNLineByIndex(int index) = 0; + virtual int switchAgoraCDNLineByIndex(int index) = 0; - abstract switchAgoraCDNLineByIndex(index: number): number; - public abstract int SwitchAgoraCDNLineByIndex(int index); - abstract switchAgoraCDNLineByIndex(index: number): number; - Future<void> switchAgoraCDNLineByIndex(int index); -

    + abstract switchAgoraCDNLineByIndex(index: number): number; + public abstract int SwitchAgoraCDNLineByIndex(int index); + abstract switchAgoraCDNLineByIndex(index: number): number; + Future<void> switchAgoraCDNLineByIndex(int index); +

    详情 -

    通过 打开媒体资源后,如果你想切换媒体资源 CDN 线路,你可以调用该方法。 - - - - -

      -
    • 请在 后调用该方法。
    • -
    • 该方法在 前后均可调用。如果你在 前调用该方法,切换不会立即生效。SDK 会等待播放完成后再切换媒体资源的 CDN 线路。
    • -

    +

    通过 打开媒体资源后,如果你想切换媒体资源 CDN 线路,你可以调用该方法。 +

      +
    • 请在 后调用该方法。
    • +
    • 该方法在 前后均可调用。如果你在 + 前调用该方法,切换不会立即生效。SDK 会等待播放完成后再切换媒体资源的 CDN 线路。
    • +
    +

    参数 - - index - CDN 线路索引。 - -
    + + index + CDN 线路索引。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_switchagoracdnsrc.dita b/dita/RTC-NG/API/api_imediaplayer_switchagoracdnsrc.dita index 19806ad45de..bea2031e61d 100644 --- a/dita/RTC-NG/API/api_imediaplayer_switchagoracdnsrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_switchagoracdnsrc.dita @@ -1,68 +1,73 @@ - <ph keyref="switchAgoraCDNSrc" /> - 切换媒体资源。 + + <ph keyref="switchAgoraCDNSrc"/> + + 切换媒体资源。 + - +

    - int switchAgoraCDNSrc(String src, boolean syncPts); + int switchAgoraCDNSrc(String src, boolean syncPts); - - (int)switchAgoraCDNSrc:(NSString *)src syncPts:(BOOL)syncPts; + - (int)switchAgoraCDNSrc:(NSString *)src syncPts:(BOOL)syncPts; - virtual int switchAgoraCDNSrc(const char* src, bool syncPts = false) = 0; + virtual int switchAgoraCDNSrc(const char* src, bool syncPts = false) = 0; - abstract switchAgoraCDNSrc(src: string, syncPts?: boolean): number; - public abstract int SwitchAgoraCDNSrc(string src, bool syncPts = false); - abstract switchAgoraCDNSrc(src: string, syncPts?: boolean): number; - Future<void> switchAgoraCDNSrc({required String src, bool syncPts = false}); -

    + abstract switchAgoraCDNSrc(src: string, syncPts?: boolean): number; + public abstract int SwitchAgoraCDNSrc(string src, bool syncPts = false); + abstract switchAgoraCDNSrc(src: string, syncPts?: boolean): number; + Future<void> switchAgoraCDNSrc({required String src, bool syncPts = false}); +

    - 详情 -

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

    + 详情 +

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

    -
      -
    • 请在 后调用该方法。
    • -
    • 该方法在 前后均可调用。如果你在 前调用该方法,SDK 会等你调用 后再完成线路切换。 -
    • -
    -

    +

      +
    • 请在 后调用该方法。
    • +
    • 该方法在 前后均可调用。如果你在 前调用该方法,SDK 会等你调用 + 后再完成线路切换。
    • +
    + +

    参数 - - src - 媒体资源的网络路径。 - - - syncPts - 是否同步切换前后的起始播放位置: - - -
      -
    • :同步。
    • -
    • :(默认) 不同步。
    • -
    -

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

    -
    -
    -
    + + src + 媒体资源的网络路径。 + + + syncPts + 是否同步切换前后的起始播放位置:
      +
    • :同步。
    • +
    • :(默认) 不同步。
    • +
    +

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

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita b/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita index e0ff6338418..13ef4fdec94 100644 --- a/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita @@ -1,80 +1,85 @@ - <ph keyref="switchSrc" /> + <ph keyref="switchSrc"/> 切换媒体资源。 - +

    - int switchSrc(String src, boolean syncPts); + int switchSrc(String src, boolean syncPts); - - (int)switchSrc:(NSString *)src syncPts:(BOOL)sync; + - (int)switchSrc:(NSString *)src syncPts:(BOOL)sync; - virtual int switchSrc(const char* src, bool syncPts) = 0; + virtual int switchSrc(const char* src, bool syncPts) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SwitchSrc(FString src, bool syncPts); - abstract switchSrc(src: string, syncPts?: boolean): number; - public abstract int SwitchSrc(string src, bool syncPts = true); - abstract switchSrc(src: string, syncPts?: boolean): number; - Future<void> switchSrc({required String src, bool syncPts = true}); -

    + abstract switchSrc(src: string, syncPts?: boolean): number; + public abstract int SwitchSrc(string src, bool syncPts = true); + abstract switchSrc(src: string, syncPts?: boolean): number; + Future<void> switchSrc({required String src, bool syncPts = true}); +

    详情 -

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

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

    -

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

    -

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

    +

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

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

    +

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

    +

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

    -
      -
    • 请确保在 之后调用该方法。
    • -
    • 为保证播放正常,请在调用该方法时注意如下: - -
        -
      • 不要在播放暂停时调用该方法。
      • -
      • 不要在切换码率过程中调用
      • -
      • 确保切换码率前的播放位置不大于待切换的媒体资源总时长。
      • -
    • -
    +
  • 请确保在 之后调用该方法。
  • +
  • 为保证播放正常,请在调用该方法时注意如下:
      +
    • 不要在播放暂停时调用该方法。
    • +
    • 不要在切换码率过程中调用
    • +
    • 确保切换码率前的播放位置不大于待切换的媒体资源总时长。
    • +
  • + + +
    参数 - - src - 媒体资源的网络路径。 - - - syncPts - 是否同步切换前后的起始播放位置: - -
      -
    • :同步。
    • -
    • :(默认) 不同步。
    • -
    -

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

    -
    -
    -
    + + src + 媒体资源的网络路径。 + + + syncPts + 是否同步切换前后的起始播放位置:
      +
    • :同步。
    • +
    • :(默认) 不同步。
    • +
    +

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

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_takescreenshot.dita b/dita/RTC-NG/API/api_imediaplayer_takescreenshot.dita index 66cc273e353..2fd43f1f3ee 100644 --- a/dita/RTC-NG/API/api_imediaplayer_takescreenshot.dita +++ b/dita/RTC-NG/API/api_imediaplayer_takescreenshot.dita @@ -13,30 +13,33 @@

    - int takeScreenshot(String filename); + int takeScreenshot(String filename); - - (int)takeScreenshot:(NSString *)filename; + - (int)takeScreenshot:(NSString *)filename; - virtual int takeScreenshot(const char* filename) = 0; - - - - -

    + virtual int takeScreenshot(const char* filename) = 0; + + + + +

    参数 - - filename - 屏幕截图文件的文件名。 - -
    + + filename + 屏幕截图文件的文件名。 + + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita b/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita index ef6f2f954cd..eb0411086ec 100644 --- a/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita +++ b/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita @@ -1,53 +1,58 @@ - <ph keyref="unloadSrc" /> + <ph keyref="unloadSrc"/> 释放预加载的媒体资源。 - +

    - int unloadSrc(String src); + int unloadSrc(String src); - - (int)unloadSrc:(NSString *)src; + - (int)unloadSrc:(NSString *)src; - virtual int unloadSrc(const char* src) = 0; + virtual int unloadSrc(const char* src) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int UnloadSrc(FString src); - abstract unloadSrc(src: string): number; - public abstract int UnloadSrc(string src); - abstract unloadSrc(src: string): number; - Future<void> unloadSrc(String src); -

    + abstract unloadSrc(src: string): number; + public abstract int UnloadSrc(string src); + abstract unloadSrc(src: string): number; + Future<void> unloadSrc(String src); +

    详情

    - -

    该方法不支持释放当前播放的媒体资源。

    -

    + +

    该方法不支持释放当前播放的媒体资源。

    +
    +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayer_unregisteraudioframeobserver.dita b/dita/RTC-NG/API/api_imediaplayer_unregisteraudioframeobserver.dita index 27b935b3d47..a3e5b7969d2 100644 --- a/dita/RTC-NG/API/api_imediaplayer_unregisteraudioframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaplayer_unregisteraudioframeobserver.dita @@ -1,43 +1,47 @@ - <ph keyref="unregisterAudioFrameObserver_IMediaPlayer" /> + <ph keyref="unregisterAudioFrameObserver_IMediaPlayer"/> 取消注册音频帧观测器。 - +

    - - - virtual int unregisterAudioFrameObserver(media::IAudioPcmFrameSink* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + + + virtual int unregisterAudioFrameObserver(media::IAudioPcmFrameSink* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int UnregisterAudioFrameObserver(UIAudioPcmFrameSink* observer); - abstract unregisterAudioFrameObserver(observer: IAudioPcmFrameSink): number; - public abstract int UnregisterAudioFrameObserver(); - abstract unregisterAudioFrameObserver(observer: IAudioPcmFrameSink): number; - void unregisterAudioFrameObserver(AudioPcmFrameSink observer); -

    + abstract unregisterAudioFrameObserver(observer: IAudioPcmFrameSink): number; + public abstract int UnregisterAudioFrameObserver(); + abstract unregisterAudioFrameObserver(observer: IAudioPcmFrameSink): number; + void unregisterAudioFrameObserver(AudioPcmFrameSink observer); +

    参数 - - observer - 音频帧观测器,详见 - -
    + + observer + 音频帧观测器,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita b/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita index 84eaca3a15c..1dbbb81f03d 100644 --- a/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita +++ b/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita @@ -1,40 +1,44 @@ - <ph keyref="unregisterPlayerSourceObserver" /> + <ph keyref="unregisterPlayerSourceObserver"/> 取消注册播放观测器。 - +

    - int unRegisterPlayerObserver(IMediaPlayerObserver playerObserver); - - virtual int unregisterPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int unRegisterPlayerObserver(IMediaPlayerObserver playerObserver); + + virtual int unregisterPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int UnregisterPlayerSourceObserver(UIMediaPlayerSourceObserver* observer); - abstract unregisterPlayerSourceObserver( + abstract unregisterPlayerSourceObserver( observer: IMediaPlayerSourceObserver ): number; - - abstract unregisterPlayerSourceObserver( + + abstract unregisterPlayerSourceObserver( observer: IMediaPlayerSourceObserver ): number; - void unregisterPlayerSourceObserver(MediaPlayerSourceObserver observer); -

    + void unregisterPlayerSourceObserver(MediaPlayerSourceObserver observer); +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/api_imediaplayer_unregistervideoframeobserver.dita b/dita/RTC-NG/API/api_imediaplayer_unregistervideoframeobserver.dita index a6d21bd1309..8de6e0883cb 100644 --- a/dita/RTC-NG/API/api_imediaplayer_unregistervideoframeobserver.dita +++ b/dita/RTC-NG/API/api_imediaplayer_unregistervideoframeobserver.dita @@ -13,35 +13,42 @@

    - - - virtual int unregisterVideoFrameObserver(agora::media::base::IVideoFrameObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + + + virtual int unregisterVideoFrameObserver(agora::media::base::IVideoFrameObserver* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int UnregisterVideoFrameObserver(UIVideoFrameObserver* observer); - abstract unregisterVideoFrameObserver( + abstract unregisterVideoFrameObserver( observer: IMediaPlayerVideoFrameObserver ): number; - public abstract void UnregisterVideoFrameObserver(IAgoraRtcMediaPlayerVideoFrameObserver observer); - abstract unregisterVideoFrameObserver( + public abstract void UnregisterVideoFrameObserver(IAgoraRtcMediaPlayerVideoFrameObserver observer); + abstract unregisterVideoFrameObserver( observer: IMediaPlayerVideoFrameObserver ): number; - void unregisterVideoFrameObserver(MediaPlayerVideoFrameObserver observer); -

    + void unregisterVideoFrameObserver(MediaPlayerVideoFrameObserver observer); +

    参数 - - observer - 视频帧观测器,观测每帧视频的接收,详见 - -
    + + observer + 视频帧观测器,观测每帧视频的接收,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_enableautoremovecache.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_enableautoremovecache.dita index beeba407aab..f1d9e6adbdb 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_enableautoremovecache.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_enableautoremovecache.dita @@ -13,16 +13,16 @@

    - int enableAutoRemoveCache(boolean enable); - - (int)enableAutoRemoveCache:(BOOL)enable; - virtual int enableAutoRemoveCache(bool enable) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int enableAutoRemoveCache(boolean enable); + - (int)enableAutoRemoveCache:(BOOL)enable; + virtual int enableAutoRemoveCache(bool enable) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int EnableAutoRemoveCache(bool enable); - abstract enableAutoRemoveCache(enable: boolean): number; - public abstract int EnableAutoRemoveCache(bool enable); - abstract enableAutoRemoveCache(enable: boolean): number; - Future<void> enableAutoRemoveCache(bool enable); -

    + abstract enableAutoRemoveCache(enable: boolean): number; + public abstract int EnableAutoRemoveCache(bool enable); + abstract enableAutoRemoveCache(enable: boolean): number; + Future<void> enableAutoRemoveCache(bool enable); +

    详情 @@ -31,15 +31,15 @@
    参数 - - enable - 是否自动清除缓存文件: -
      -
    • :开启自动清除缓存文件功能。
    • -
    • :(默认)关闭自动清除缓存文件功能。
    • -
    -
    -
    + + enable + 是否自动清除缓存文件:
      +
    • :开启自动清除缓存文件功能。
    • +
    • :(默认)关闭自动清除缓存文件功能。
    • +
    +
    + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_getcachedir.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_getcachedir.dita index f537c3fa25b..bd02ed6d3bb 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_getcachedir.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_getcachedir.dita @@ -13,39 +13,43 @@

    - String getCacheDir(); - - (NSString *)cacheDir; - virtual int getCacheDir(char* path, int length) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + String getCacheDir(); + - (NSString *)cacheDir; + virtual int getCacheDir(char* path, int length) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int GetCacheDir(FString path, int length); - abstract getCacheDir(length: number): string; - public abstract int GetCacheDir(out string path, int length); - abstract getCacheDir(length: number): string; - Future<String> getCacheDir(int length); -

    + abstract getCacheDir(length: number): string; + public abstract int GetCacheDir(out string path, int length); + abstract getCacheDir(length: number): string; + Future<String> getCacheDir(int length); +

    详情 -

    如果你在调用该方法前未曾调用 方法自定义缓存文件的储存路径,该方法返回的为 SDK 默认的缓存文件储存路径。

    +

    如果你在调用该方法前未曾调用 方法自定义缓存文件的储存路径,该方法返回的为 SDK + 默认的缓存文件储存路径。

    参数 - - path - 输出参数,缓存文件的储存路径。 - - - length - 输入参数,缓存文件储存路径字符串的最大长度。根据你在 path 中获得的缓存文件储存路径字符串来填写。 - -
    + + path + 输出参数,缓存文件的储存路径。 + + + length + 输入参数,缓存文件储存路径字符串的最大长度。根据你在 + path 中获得的缓存文件储存路径字符串来填写。 + + +
    返回值
    +
  • 0:方法调用成功。
  • +
  • 方法调用成功时,返回缓存文件的储存路径。
  • +
  • < 0:方法调用失败,详见
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_getcachefilecount.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_getcachefilecount.dita index 5d5b47f9fa5..c20bcd7c331 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_getcachefilecount.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_getcachefilecount.dita @@ -13,22 +13,23 @@

    - int getCacheFileCount(); - - (NSInteger)cacheFileCount; - virtual int getCacheFileCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int getCacheFileCount(); + - (NSInteger)cacheFileCount; + virtual int getCacheFileCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int GetCacheFileCount(); - abstract getCacheFileCount(): number; - public abstract int GetCacheFileCount(); - abstract getCacheFileCount(): number; - Future<int> getCacheFileCount(); -

    + abstract getCacheFileCount(): number; + public abstract int GetCacheFileCount(); + abstract getCacheFileCount(): number; + Future<int> getCacheFileCount(); +

    返回值
    +
  • ≥ 0:方法调用成功,返回当前已缓存的媒体文件的总数量。
  • +
  • < 0:方法调用失败,详见
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilecount.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilecount.dita index f1260684c36..0e13c16643d 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilecount.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilecount.dita @@ -13,16 +13,16 @@

    - int getMaxCacheFileCount(); - - (NSInteger)maxCacheFileCount; - virtual int getMaxCacheFileCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int getMaxCacheFileCount(); + - (NSInteger)maxCacheFileCount; + virtual int getMaxCacheFileCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int GetMaxCacheFileCount(); - abstract getMaxCacheFileCount(): number; - public abstract int GetMaxCacheFileCount(); - abstract getMaxCacheFileCount(): number; - Future<int> getMaxCacheFileCount(); -

    + abstract getMaxCacheFileCount(): number; + public abstract int GetMaxCacheFileCount(); + abstract getMaxCacheFileCount(): number; + Future<int> getMaxCacheFileCount(); +

    详情 @@ -31,8 +31,9 @@
    返回值
      -
    • > 0:方法调用成功,返回缓存文件数量的上限。
    • -
    • < 0:方法调用失败,详见
    • -
    +
  • > 0:方法调用成功,返回缓存文件数量的上限。
  • +
  • < 0:方法调用失败,详见
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilesize.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilesize.dita index 1eb3fce25f2..fde039ebed9 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilesize.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilesize.dita @@ -13,16 +13,16 @@

    - long getMaxCacheFileSize(); - - (NSInteger)maxCacheFileSize; - virtual int64_t getMaxCacheFileSize() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + long getMaxCacheFileSize(); + - (NSInteger)maxCacheFileSize; + virtual int64_t getMaxCacheFileSize() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int64 GetMaxCacheFileSize(); - abstract getMaxCacheFileSize(): number; - public abstract Int64 GetMaxCacheFileSize(); - abstract getMaxCacheFileSize(): number; - Future<int> getMaxCacheFileSize(); -

    + abstract getMaxCacheFileSize(): number; + public abstract Int64 GetMaxCacheFileSize(); + abstract getMaxCacheFileSize(): number; + Future<int> getMaxCacheFileSize(); +

    详情 @@ -31,8 +31,9 @@
    返回值
      -
    • > 0:方法调用成功,返回缓存文件的总缓存上限,单位为字节。
    • -
    • < 0:方法调用失败,详见
    • -
    +
  • > 0:方法调用成功,返回缓存文件的总缓存上限,单位为字节。
  • +
  • < 0:方法调用失败,详见
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_removeallcaches.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_removeallcaches.dita index 49789138126..cc836dea90e 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_removeallcaches.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_removeallcaches.dita @@ -13,28 +13,32 @@

    - int removeAllCaches(); - - (int)removeAllCaches; - virtual int removeAllCaches() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int removeAllCaches(); + - (int)removeAllCaches; + virtual int removeAllCaches() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int RemoveAllCaches(); - abstract removeAllCaches(): number; - public abstract int RemoveAllCaches(); - abstract removeAllCaches(): number; - Future<void> removeAllCaches(); -

    + abstract removeAllCaches(): number; + public abstract int RemoveAllCaches(); + abstract removeAllCaches(): number; + Future<void> removeAllCaches(); +

    详情 -

    该方法不会删除正在播放中的已缓存媒体文件。

    -
    +

    该方法不会删除正在播放中的已缓存媒体文件。

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

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

    +

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

    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败,详见
  • + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_removecachebyuri.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_removecachebyuri.dita index 2dce5213959..1ae7b92a72d 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_removecachebyuri.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_removecachebyuri.dita @@ -13,30 +13,32 @@

    - int removeCacheByUri(String uri); - - (int)removeCacheByUri:(NSString *)uri; - virtual int removeCacheByUri(const char *uri) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int removeCacheByUri(String uri); + - (int)removeCacheByUri:(NSString *)uri; + virtual int removeCacheByUri(const char *uri) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int RemoveCacheByUri(FString uri); - abstract removeCacheByUri(uri: string): number; - public abstract int RemoveCacheByUri(string uri) ; - abstract removeCacheByUri(uri: string): number; - uture<void> removeCacheByUri(String uri); -

    + abstract removeCacheByUri(uri: string): number; + public abstract int RemoveCacheByUri(string uri) ; + abstract removeCacheByUri(uri: string): number; + uture<void> removeCacheByUri(String uri); +

    详情 -

    -

    +

    + +

    参数 - - uri - 待删除的缓存文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。 - -
    + + uri + 待删除的缓存文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。 + + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_removeoldcache.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_removeoldcache.dita index fdff3348b57..adb29e563a5 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_removeoldcache.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_removeoldcache.dita @@ -13,23 +13,24 @@

    - int removeOldCache(); - - (int)removeOldCache; - virtual int removeOldCache() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int removeOldCache(); + - (int)removeOldCache; + virtual int removeOldCache() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int RemoveOldCache(); - abstract removeOldCache(): number; - public abstract int RemoveOldCache(); - abstract removeOldCache(): number; - Future<void> removeOldCache(); -

    + abstract removeOldCache(): number; + public abstract int RemoveOldCache(); + abstract removeOldCache(): number; + Future<void> removeOldCache(); +

    详情

    缓存媒体文件占用过多空间时,你可以调用该方法清理缓存文件。调用该方法后,SDK 会删除最少使用的一个缓存媒体文件。

    -

    当你调用此方法删除缓存媒体文件时,当前正在播放的已缓存媒体文件不会被删除。

    -
    +

    当你调用此方法删除缓存媒体文件时,当前正在播放的已缓存媒体文件不会被删除。

    + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_setcachedir.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_setcachedir.dita index 1419d8331b3..7d82747cbf2 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_setcachedir.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_setcachedir.dita @@ -13,31 +13,33 @@

    - int setCacheDir(String path); - - (int)setCacheDir:(NSString *)cacheDir; - virtual int setCacheDir(const char *path) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int setCacheDir(String path); + - (int)setCacheDir:(NSString *)cacheDir; + virtual int setCacheDir(const char *path) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int SetCacheDir(FString path); - abstract setCacheDir(path: string): number; - public abstract int SetCacheDir(string path) ; - abstract setCacheDir(path: string): number; - Future<void> setCacheDir(String path); -

    + abstract setCacheDir(path: string): number; + public abstract int SetCacheDir(string path) ; + abstract setCacheDir(path: string): number; + Future<void> setCacheDir(String path); +

    详情 -

    该方法需在初始化 之后调用。

    -
    +

    该方法需在初始化 之后调用。

    + +
    参数 - - cacheDir - path - 缓存文件储存的绝对路径。请确保指定的目录存在且可写。 - -
    + + cacheDir + path + 缓存文件储存的绝对路径。请确保指定的目录存在且可写。 + + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilecount.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilecount.dita index 37cdd7ffd75..5dbd23cd01c 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilecount.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilecount.dita @@ -13,25 +13,26 @@

    - int setMaxCacheFileCount(int count); - - (int)setMaxCacheFileCount:(NSInteger)count; - virtual int setMaxCacheFileCount(int count) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int setMaxCacheFileCount(int count); + - (int)setMaxCacheFileCount:(NSInteger)count; + virtual int setMaxCacheFileCount(int count) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int SetMaxCacheFileCount(int count); - abstract setMaxCacheFileCount(count: number): number; - public abstract int SetMaxCacheFileCount(int count); - abstract setMaxCacheFileCount(count: number): number; - Future<void> setMaxCacheFileCount(int count); -

    + abstract setMaxCacheFileCount(count: number): number; + public abstract int SetMaxCacheFileCount(int count); + abstract setMaxCacheFileCount(count: number): number; + Future<void> setMaxCacheFileCount(int count); +

    参数 - - count - 可缓存的媒体文件数量的上限,默认值为 1000。 - -
    + + count + 可缓存的媒体文件数量的上限,默认值为 1000。 + + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilesize.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilesize.dita index a85be333753..2a768954ff6 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilesize.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilesize.dita @@ -13,25 +13,26 @@

    - int setMaxCacheFileSize(long cacheSize); - - (int)setMaxCacheFileSize:(NSInteger)cacheSize; - virtual int setMaxCacheFileSize(int64_t cacheSize) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int setMaxCacheFileSize(long cacheSize); + - (int)setMaxCacheFileSize:(NSInteger)cacheSize; + virtual int setMaxCacheFileSize(int64_t cacheSize) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int SetMaxCacheFileSize(int64 cacheSize); - abstract setMaxCacheFileSize(cacheSize: number): number; - public abstract int SetMaxCacheFileSize(Int64 cacheSize); - abstract setMaxCacheFileSize(cacheSize: number): number; - Future<void> setMaxCacheFileSize(int cacheSize); -

    + abstract setMaxCacheFileSize(cacheSize: number): number; + public abstract int SetMaxCacheFileSize(Int64 cacheSize); + abstract setMaxCacheFileSize(cacheSize: number): number; + Future<void> setMaxCacheFileSize(int cacheSize); +

    参数 - - cacheSize - 缓存媒体文件的总缓存上限,单位为字节。默认为 1 GB。 - -
    + + cacheSize + 缓存媒体文件的总缓存上限,单位为字节。默认为 1 GB。 + + +
    diff --git a/dita/RTC-NG/API/api_imediaplayercachemanager_sharedinstance.dita b/dita/RTC-NG/API/api_imediaplayercachemanager_sharedinstance.dita index 886961baf85..ddaaa1311f1 100644 --- a/dita/RTC-NG/API/api_imediaplayercachemanager_sharedinstance.dita +++ b/dita/RTC-NG/API/api_imediaplayercachemanager_sharedinstance.dita @@ -2,7 +2,8 @@ <ph keyref="sharedInstance"/> - 获取 实例。 + 获取 + 实例。 @@ -13,14 +14,14 @@

    - - + (instancetype)sharedInstance; - - - - - -

    + + + (instancetype)sharedInstance; + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_imediarecorder_addlistener.dita b/dita/RTC-NG/API/api_imediarecorder_addlistener.dita index 36ad2629206..9cbd1333036 100644 --- a/dita/RTC-NG/API/api_imediarecorder_addlistener.dita +++ b/dita/RTC-NG/API/api_imediarecorder_addlistener.dita @@ -2,7 +2,8 @@ <ph keyref="addListener_IMediaRecorder"/> - 添加一个 监听器。 + 添加一个 + 监听器。 @@ -13,37 +14,40 @@

    - - - - addListener?<EventType extends keyof IMediaRecorderEvent>( + + + + addListener?<EventType extends keyof IMediaRecorderEvent>( eventType: EventType, listener: IMediaRecorderEvent[EventType] ): void; - - addListener?<EventType extends keyof IMediaRecorderEvent>( + + addListener?<EventType extends keyof IMediaRecorderEvent>( eventType: EventType, listener: IMediaRecorderEvent[EventType] ): void; -

    +

    详情 -

    成功调用该方法后,你可以通过 监听对应 对象的事件、获取数据。根据业务需要,你可以为同一事件添加多个监听器。

    +

    成功调用该方法后,你可以通过 监听对应 对象的事件、获取数据。根据业务需要,你可以为同一事件添加多个监听器。

    参数 - - eventType - 需要监听的目标事件名。详见 - - - listener - eventType 对应的回调函数。以添加 为例: - const onRecorderStateChanged = (state: RecorderState, reason: RecorderReasonCode) => {}; + + eventType + 需要监听的目标事件名。详见 + + + listener + eventType 对应的回调函数。以添加 为例: + const onRecorderStateChanged = (state: RecorderState, reason: RecorderReasonCode) => {}; engine.addListener('onRecorderStateChanged', onRecorderStateChanged); - -
    + + +
    diff --git a/dita/RTC-NG/API/api_imediarecorder_enablemainqueuedispatch.dita b/dita/RTC-NG/API/api_imediarecorder_enablemainqueuedispatch.dita index 0f2aafad2f8..3b8ccf0c52c 100644 --- a/dita/RTC-NG/API/api_imediarecorder_enablemainqueuedispatch.dita +++ b/dita/RTC-NG/API/api_imediarecorder_enablemainqueuedispatch.dita @@ -13,14 +13,14 @@

    - - - (int)enableMainQueueDispatch:(BOOL)enabled; - - - - - -

    + + - (int)enableMainQueueDispatch:(BOOL)enabled; + + + + + +

    详情 @@ -29,21 +29,23 @@
    参数 - - enabled - -
      -
    • :分发回调方法到主队列。
    • -
    • :不分发回调方法到主队列。
    • -
    -
    -
    -
    + + enabled + +
      +
    • :分发回调方法到主队列。
    • +
    • :不分发回调方法到主队列。
    • +
    +
    +
    + +
    返回值
    diff --git a/dita/RTC-NG/API/api_imediarecorder_release.dita b/dita/RTC-NG/API/api_imediarecorder_release.dita index ce1f9076806..479ad64c5d1 100644 --- a/dita/RTC-NG/API/api_imediarecorder_release.dita +++ b/dita/RTC-NG/API/api_imediarecorder_release.dita @@ -13,18 +13,21 @@

    - public void release() - + (void)destroy; - virtual void release() = 0; - abstract release(): void; - - abstract release(): void; - Future<void> release(); -

    + public void release() + + (void)destroy; + virtual void release() = 0; + abstract release(): void; + + abstract release(): void; + Future<void> release(); +

    详情 -

    该方法释放 对象使用的 对象和其他所有资源。调用该方法后,如果需要再次开启录制,需要重新调用 创建 对象。

    +

    该方法释放 对象使用的 + 对象和其他所有资源。调用该方法后,如果需要再次开启录制,需要重新调用 创建 对象。

    diff --git a/dita/RTC-NG/API/api_imediarecorder_removealllisteners.dita b/dita/RTC-NG/API/api_imediarecorder_removealllisteners.dita index 5aea14b9d65..320d12950c0 100644 --- a/dita/RTC-NG/API/api_imediarecorder_removealllisteners.dita +++ b/dita/RTC-NG/API/api_imediarecorder_removealllisteners.dita @@ -13,25 +13,26 @@

    - - - - removeAllListeners?<EventType extends keyof IMediaRecorderEvent>( + + + + removeAllListeners?<EventType extends keyof IMediaRecorderEvent>( eventType?: EventType ): void; - - removeAllListeners?<EventType extends keyof IMediaRecorderEvent>( + + removeAllListeners?<EventType extends keyof IMediaRecorderEvent>( eventType?: EventType ): void; -

    +

    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/api_imediarecorder_removelistener.dita b/dita/RTC-NG/API/api_imediarecorder_removelistener.dita index 9a730aa4584..31815698a5c 100644 --- a/dita/RTC-NG/API/api_imediarecorder_removelistener.dita +++ b/dita/RTC-NG/API/api_imediarecorder_removelistener.dita @@ -2,7 +2,8 @@ <ph keyref="removeListener_IMediaRecorder"/> - 移除指定的 监听器。 + 移除指定的 + 监听器。 @@ -13,35 +14,38 @@

    - - - - removeListener?<EventType extends keyof IMediaRecorderEvent>( + + + + removeListener?<EventType extends keyof IMediaRecorderEvent>( eventType: EventType, listener: IMediaRecorderEvent[EventType] ): void; - - removeListener?<EventType extends keyof IMediaRecorderEvent>( + + removeListener?<EventType extends keyof IMediaRecorderEvent>( eventType: EventType, listener: IMediaRecorderEvent[EventType] ): void; -

    +

    参数 - - - - - - listener - eventType 对应的回调函数。必须传入 中传入的同一个函数对象。以取消监听 为例: + + + + + + listener + eventType 对应的回调函数。必须传入 中传入的同一个函数对象。以取消监听 为例: const onRecorderStateChanged = (state: RecorderState, reason: RecorderReasonCode) => {}; engine.addListener('onRecorderStateChanged', onRecorderStateChanged); engine.removeListener('onRecorderStateChanged', onRecorderStateChanged); - -
    + + +
    diff --git a/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita b/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita index 49a6764e277..4f3edb26868 100644 --- a/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita +++ b/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita @@ -2,7 +2,8 @@ <ph keyref="setMediaRecorderObserver"/> - 注册 观测器。 + 注册 + 观测器。 @@ -13,43 +14,47 @@

    - public int setMediaRecorderObserver(IMediaRecorderCallback callback) - - (int)setMediaRecorderDelegate:(id<AgoraMediaRecorderDelegate> _Nullable)delegate; - virtual int setMediaRecorderObserver(media::IMediaRecorderObserver* callback) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") + public int setMediaRecorderObserver(IMediaRecorderCallback callback) + - (int)setMediaRecorderDelegate:(id<AgoraMediaRecorderDelegate> _Nullable)delegate; + virtual int setMediaRecorderObserver(media::IMediaRecorderObserver* callback) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") int SetMediaRecorderObserver(UIMediaRecorderObserver* callback); - abstract setMediaRecorderObserver(callback: IMediaRecorderObserver): number; - public abstract int SetMediaRecorderObserver(IMediaRecorderObserver callback); - abstract setMediaRecorderObserver(callback: IMediaRecorderObserver): number; - Future<void> setMediaRecorderObserver( + abstract setMediaRecorderObserver(callback: IMediaRecorderObserver): number; + public abstract int SetMediaRecorderObserver(IMediaRecorderObserver callback); + abstract setMediaRecorderObserver(callback: IMediaRecorderObserver): number; + Future<void> setMediaRecorderObserver( {required RtcConnection connection, required MediaRecorderObserver callback}); -

    +

    详情

    该方法用于设置音视频录制的回调,以便在录制过程中向 App 通知音视频流的录制状态和信息。

    -

    调用该方法前请确保: -

      -
    • 已创建并初始化 对象。
    • -
    • 已通过 创建音视频录制对象。
    • -

    +

    调用该方法前请确保:

      +
    • 已创建并初始化 对象。
    • +
    • 已通过 创建音视频录制对象。
    • +

    参数 - - callback - delegate - 音视频流录制回调,详见 - -
    + + callback + delegate + 音视频流录制回调,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imediarecorder_startrecording.dita b/dita/RTC-NG/API/api_imediarecorder_startrecording.dita index 7b02d77e630..700fab9a867 100644 --- a/dita/RTC-NG/API/api_imediarecorder_startrecording.dita +++ b/dita/RTC-NG/API/api_imediarecorder_startrecording.dita @@ -13,67 +13,68 @@

    - public int startRecording(MediaRecorderConfiguration config) - - (int)startRecording:(AgoraMediaRecorderConfiguration* _Nonnull)config; - virtual int startRecording(const media::MediaRecorderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") + public int startRecording(MediaRecorderConfiguration config) + - (int)startRecording:(AgoraMediaRecorderConfiguration* _Nonnull)config; + virtual int startRecording(const media::MediaRecorderConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") int StartRecording(FMediaRecorderConfiguration& config); - abstract startRecording(config: MediaRecorderConfiguration): number; - public abstract int StartRecording(MediaRecorderConfiguration config); - abstract startRecording(config: MediaRecorderConfiguration): number; - Future<void> startRecording(MediaRecorderConfiguration config); -

    + abstract startRecording(config: MediaRecorderConfiguration): number; + public abstract int StartRecording(MediaRecorderConfiguration config); + abstract startRecording(config: MediaRecorderConfiguration): number; + Future<void> startRecording(MediaRecorderConfiguration config); +

    详情

    该方法用于开启音视频流录制。声网 SDK 支持同时录制本地及远端用户的音视频流。

    -

    在开始录制前请确保: - - -

    -

    该方法支持录制如下数据: - - -

    +

    在开始录制前请确保:

    +

    该方法支持录制如下数据:

    开启音视频流录制后,当视频分辨率在录制过程中发生变化时,SDK 会停止录制;当音频采样率和声道数发生变化时,SDK 会持续录制并生成单个 MP4 录制文件。

    -

    仅当检测到可录制的音视频流时,才能成功生成录制文件;如果没有可录制的音视频流,或在录制过程中的音视频流中断超过 5 秒后,SDK 会停止录制,并触发 (, ) 回调。

    - +

    仅当检测到可录制的音视频流时,才能成功生成录制文件;如果没有可录制的音视频流,或在录制过程中的音视频流中断超过 5 秒后,SDK 会停止录制,并触发 + (, ) 回调。

    -
      -
    • 如果你需要录制的是本地的音视频流,请在开始录制前确保本地用户的角色设为主播。
    • -
    • 如果你需要录制的是远端用户的音视频流,请在开始录制前确保已经订阅了该用户的音视频流。
    • -
    + +
    参数 - - config - 音视频流录制配置。详见 - -
    + + config + 音视频流录制配置。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    + +
    diff --git a/dita/RTC-NG/API/api_imediarecorder_stoprecording.dita b/dita/RTC-NG/API/api_imediarecorder_stoprecording.dita index 3cdb1d058e1..906cd01666f 100644 --- a/dita/RTC-NG/API/api_imediarecorder_stoprecording.dita +++ b/dita/RTC-NG/API/api_imediarecorder_stoprecording.dita @@ -13,29 +13,34 @@

    - public int stopRecording() - - (int)stopRecording; - virtual int stopRecording() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") + public int stopRecording() + - (int)stopRecording; + virtual int stopRecording() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") int StopRecording(); - abstract stopRecording(): number; - public abstract int StopRecording(); - abstract stopRecording(): number; - Future<void> stopRecording(); -

    + abstract stopRecording(): number; + public abstract int StopRecording(); + abstract stopRecording(): number; + Future<void> stopRecording(); +

    详情 - 调用 后,如果要停止录制,请调用该方法停止录制;否则,生成的录制文件可能无法正常播放。
    + 调用 + 后,如果要停止录制,请调用该方法停止录制;否则,生成的录制文件可能无法正常播放。 +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败:
  • + +
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita b/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita index 10e418b9f53..d7c76a63f4a 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita @@ -13,39 +13,42 @@

    - public abstract IAgoraMusicPlayer createMusicPlayer(); - (id<AgoraMusicPlayerProtocol> _Nullable)createMusicPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate> _Nullable)delegate NS_SWIFT_NAME(createMusicPlayer(delegate:)); - virtual agora_refptr<IMusicPlayer> createMusicPlayer() = 0; - abstract createMusicPlayer(): IMusicPlayer; - public abstract IMusicPlayer CreateMusicPlayer(); - abstract createMusicPlayer(): IMusicPlayer; - Future<MusicPlayer> createMusicPlayer(); -

    + public abstract IAgoraMusicPlayer createMusicPlayer(); + (id<AgoraMusicPlayerProtocol> _Nullable)createMusicPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate> _Nullable)delegate NS_SWIFT_NAME(createMusicPlayer(delegate:)); + virtual agora_refptr<IMusicPlayer> createMusicPlayer() = 0; + abstract createMusicPlayer(): IMusicPlayer; + public abstract IMusicPlayer CreateMusicPlayer(); + abstract createMusicPlayer(): IMusicPlayer; + Future<MusicPlayer> createMusicPlayer(); +

    详情
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    如果你需要播放音乐内容中心的音乐资源,你需要先调用该方法来创建一个音乐播放器。
    参数 - - delegate - 详见 - -
    + + delegate + 详见 + + +
    返回值
    +
  • 方法调用成功:返回 对象。
  • +
  • 方法调用成功:返回 实例。
  • +
  • 方法调用失败:返回空指针。
  • + +
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita b/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita index 5b1158ff536..607bd44e337 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita @@ -2,7 +2,8 @@ <ph keyref="destroy_IMusicContentCenter"/> - 销毁 实例。 + 销毁 + 实例。 @@ -13,27 +14,27 @@

    - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.release(); mInstance = null; } - + (void)destroy; - - - - - -

    + + (void)destroy; + + + + + +

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

    该方法需要在 方法前调用。

    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_enablemainqueuedispatch.dita b/dita/RTC-NG/API/api_imusiccontentcenter_enablemainqueuedispatch.dita index 4337f5f539a..47a38c3eade 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_enablemainqueuedispatch.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_enablemainqueuedispatch.dita @@ -2,7 +2,8 @@ <ph keyref="enableMainQueueDispatch_IMusicContentCenter"/> - + @@ -13,38 +14,40 @@

    - - - (void)enableMainQueueDispatch:(BOOL)enabled; - - - - - -

    + + - (void)enableMainQueueDispatch:(BOOL)enabled; + + + + + +

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

    +

    参数 - - enabled - -
      -
    • :分发回调方法到主队列。
    • -
    • :(默认)不分发回调方法到主队列。
    • -
    -
    -
    -
    -
    + + enabled + +
      +
    • :分发回调方法到主队列。
    • +
    • :(默认)不分发回调方法到主队列。
    • +
    +
    +
    +
    +
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita index b18830364bf..9b77ee15161 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita @@ -13,21 +13,22 @@

    - public abstract MusicCacheInfo[] getCaches(); - - (NSArray *)getCaches NS_SWIFT_NAME(getCaches()); - virtual int getCaches(MusicCacheInfo *cacheInfo, int32_t* cacheInfoSize) = 0; - abstract getCaches(): { cacheInfo: MusicCacheInfo[]; cacheInfoSize: number }; - public abstract int GetCaches(ref MusicCacheInfo[] cacheInfo, ref Int32 cacheInfoSize); - abstract getCaches(): { cacheInfo: MusicCacheInfo[]; cacheInfoSize: number }; - Future<List<MusicCacheInfo>> getCaches(int cacheInfoSize);

    + public abstract MusicCacheInfo[] getCaches(); + - (NSArray *)getCaches NS_SWIFT_NAME(getCaches()); + virtual int getCaches(MusicCacheInfo *cacheInfo, int32_t* cacheInfoSize) = 0; + abstract getCaches(): { cacheInfo: MusicCacheInfo[]; cacheInfoSize: number }; + public abstract int GetCaches(ref MusicCacheInfo[] cacheInfo, ref Int32 cacheInfoSize); + abstract getCaches(): { cacheInfo: MusicCacheInfo[]; cacheInfoSize: number }; + Future<List<MusicCacheInfo>> getCaches(int cacheInfoSize); +

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

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

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

    @@ -35,33 +36,39 @@
    参数 - - cacheInfo - 输出参数,指向用于存储已缓存音乐资源的内存缓冲区的指针。 - - - cacheInfoSize -

    输入和输出参数。

    • 输入值:cacheInfo 数组的长度,即你所分配的 结构体的数量。
    • -
    • 输出值:方法执行完毕后输出的 结构体的数量。

    -

    指定要获取的缓存音乐资源列表的长度。

    -
    -
    + + cacheInfo + 输出参数,指向用于存储已缓存音乐资源的内存缓冲区的指针。 + + + cacheInfoSize +

    输入和输出参数。

      +
    • 输入值:cacheInfo 数组的长度,即你所分配的 结构体的数量。
    • +
    • 输出值:方法执行完毕后输出的 结构体的数量。
    • +

    +

    指定要获取的缓存音乐资源列表的长度。

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

    方法调用成功时,返回一个包含以下属性的对象: -

      +

      方法调用成功时,返回一个包含以下属性的对象:

      • cacheInfo:音乐缓存信息数组。
      • -
      • cacheInfoSize:音乐缓存信息数组的长度。
      • +
      • cacheInfoSize:音乐缓存信息数组的长度。

    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getinternalsongcode.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getinternalsongcode.dita index 9d4353a5654..7bd005e44da 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getinternalsongcode.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getinternalsongcode.dita @@ -13,78 +13,89 @@

    - public abstract long getInternalSongCode(long songCode, String jsonOption); - - (NSInteger)getInternalSongCode:(NSInteger)songCode jsonOption:(NSString * _Nullable)jsonOption NS_SWIFT_NAME(getInternalSongCode(songCode:jsonOption:)); - virtual int getInternalSongCode(int64_t songCode, const char* jsonOption, int64_t& internalSongCode) = 0; - abstract getInternalSongCode(songCode: number, jsonOption: string): number; - public abstract int GetInternalSongCode(Int64 songCode, string jsonOption, ref Int64 internalSongCode); - abstract getInternalSongCode(songCode: number, jsonOption: string): number; - Future<int> getInternalSongCode( - {required int songCode, required String jsonOption});

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

    详情
    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +
    适用场景 -

    当你需要播放某一音乐资源的副歌片段前,你需要调用此方法,通过 jsonOption 参数和该音乐资源的 songCode 来为该音乐资源的副歌片段创建一个编号,作为该资源的唯一标识。当你获取到该片段的编号后,在你调用相应方法打开、预加载、移除该资源时,将该内部歌曲编号传入 songCode 参数。

    +

    当你需要播放某一音乐资源的副歌片段前,你需要调用此方法,通过 jsonOption 参数和该音乐资源的 + songCode + 来为该音乐资源的副歌片段创建一个编号,作为该资源的唯一标识。当你获取到该片段的编号后,在你调用相应方法打开、预加载、移除该资源时,将该内部歌曲编号传入 + songCode 参数。

    参数 - - songCode - 音乐资源编号,用于标识音乐资源。你可以通过调用 方法来获取音乐资源,并通过由此触发的 回调获取音乐资源的编号(songCode)。 - - - jsonOption - 扩展 JSON 字段,默认为 。目前支持传入下列值: - - - Key 值 - Value 值 - 示例 - - - sceneType - 场景类型: -
      -
    • 1:直播场景:K 歌及背景音乐播放。
    • -
    • 2:直播场景:背景音乐播放。
    • -
    • 3:(默认)语聊场景:K 歌。
    • -
    • 4:语聊场景:背景音乐播放。
    • -
    • 5:VR 场景:K 歌及背景音乐播放。
    • -
    声网会根据你在 sceneType 传入的应用场景进行收费。不同的应用场景对应不同的费率,你可以参考 查看详细的计费。如果需要切换到不同场景,需要重新调用此方法并传入 sceneType 的值。
    - {"sceneType":1} -
    - - highPart - 副歌片段的索引。你可以从 回调中获取副歌片段的索引然后传值。索引序号从 0 开始。 - - {"format": {"highpart": 0}} - -
    -
    - - internalSongCode - 输出参数,音乐资源的内部歌曲编号。 - -
    + + songCode + 音乐资源编号,用于标识音乐资源。你可以通过调用 或 + 方法来获取音乐资源,并通过由此触发的 + 回调获取音乐资源的编号(songCode)。 + + + jsonOption + 扩展 JSON 字段,默认为 。目前支持传入下列值: + + Key 值 + Value 值 + 示例 + + + sceneType + 场景类型:
      +
    • 1:直播场景:K 歌及背景音乐播放。
    • +
    • 2:直播场景:背景音乐播放。
    • +
    • 3:(默认)语聊场景:K 歌。
    • +
    • 4:语聊场景:背景音乐播放。
    • +
    • 5:VR 场景:K 歌及背景音乐播放。
    • +
    声网会根据你在 sceneType + 传入的应用场景进行收费。不同的应用场景对应不同的费率,你可以参考 查看详细的计费。如果需要切换到不同场景,需要重新调用此方法并传入 + sceneType 的值。
    + {"sceneType":1} +
    + + highPart + 副歌片段的索引。你可以从 + 回调中获取副歌片段的索引然后传值。索引序号从 0 开始。 + {"format": {"highpart": 0}} + +
    +
    + + internalSongCode + 输出参数,音乐资源的内部歌曲编号。 + + +
    <ph keyref="return-section-title"/>
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
      +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    • 方法调用成功,返回创建的音乐资源内部编号。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -
    +
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita index 3759c92866e..1d6a320ffb2 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita @@ -13,46 +13,45 @@

    - public abstract String getLyric(long songCode, int lyricType); - - (NSString *)getLyricWithSongCode:(NSInteger)songCode lyricType:(NSInteger)lyricType NS_SWIFT_NAME(getLyric(songCode:lyricType:)); - virtual int getLyric(agora::util::AString& requestId, int64_t songCode, int32_t LyricType = 0) = 0; - abstract getLyric(songCode: number, lyricType?: number): string; - public abstract int GetLyric(ref string requestId, Int64 songCode, int LyricType = 0); - abstract getLyric(songCode: number, lyricType?: number): string; - Future<String> getLyric({required int songCode, int lyricType = 0}); -

    + public abstract String getLyric(long songCode, int lyricType); + - (NSString *)getLyricWithSongCode:(NSInteger)songCode lyricType:(NSInteger)lyricType NS_SWIFT_NAME(getLyric(songCode:lyricType:)); + virtual int getLyric(agora::util::AString& requestId, int64_t songCode, int32_t LyricType = 0) = 0; + abstract getLyric(songCode: number, lyricType?: number): string; + public abstract int GetLyric(ref string requestId, Int64 songCode, int LyricType = 0); + abstract getLyric(songCode: number, lyricType?: number): string; + Future<String> getLyric({required int songCode, int lyricType = 0}); +

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

    成功调用该方法后,SDK 会触发 回调报告歌词的下载地址。

    参数 - - - - - - LyricType - 歌词类型: - -
      -
    • 0:xml 格式。
    • -
    • 1:lrc 格式。
    • -
    -
    - - - - -
    -
    + + + + + + LyricType + 歌词类型:
      +
    • 0:xml 格式。
    • +
    • 1:lrc 格式。
    • +
    +
    + + + + + +
    +
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita index 148ff55a89e..fad826ebba1 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita @@ -13,22 +13,22 @@

    - public abstract String getMusicCharts(); - - (NSString *)getMusicCharts; - virtual int getMusicCharts(agora::util::AString& requestId) = 0; - abstract getMusicCharts(): string; - public abstract int GetMusicCharts(ref string requestId); - abstract getMusicCharts(): string; - Future<String> getMusicCharts(); -

    + public abstract String getMusicCharts(); + - (NSString *)getMusicCharts; + virtual int getMusicCharts(agora::util::AString& requestId) = 0; + abstract getMusicCharts(): string; + public abstract int GetMusicCharts(ref string requestId); + abstract getMusicCharts(): string; + Future<String> getMusicCharts(); +

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

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

    @@ -45,9 +45,11 @@ 返回值
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -

    一个 requestId,为本次请求的唯一标识。

    +

    一个 + requestId,为本次请求的唯一标识。

    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid.dita index 10508ddfb86..c93142bb49f 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid.dita @@ -13,72 +13,78 @@

    - public String getMusicCollectionByMusicChartId(int musicChartId, int page, int pageSize) { + public String getMusicCollectionByMusicChartId(int musicChartId, int page, int pageSize) { return getMusicCollectionByMusicChartId(musicChartId, page, pageSize, null); } - - (NSString *)getMusicCollectionWithMusicChartId:(NSInteger)musicChartId page:(NSInteger)page pageSize:(NSInteger)pageSize jsonOption:(NSString * _Nullable)jsonOption NS_SWIFT_NAME(getMusicCollection(musicChartId:page:pageSize:jsonOption:)); - virtual int getMusicCollectionByMusicChartId(agora::util::AString& requestId, int32_t musicChartId, int32_t page, int32_t pageSize, const char* jsonOption = nullptr) = 0; - abstract getMusicCollectionByMusicChartId( + - (NSString *)getMusicCollectionWithMusicChartId:(NSInteger)musicChartId page:(NSInteger)page pageSize:(NSInteger)pageSize jsonOption:(NSString * _Nullable)jsonOption NS_SWIFT_NAME(getMusicCollection(musicChartId:page:pageSize:jsonOption:)); + virtual int getMusicCollectionByMusicChartId(agora::util::AString& requestId, int32_t musicChartId, int32_t page, int32_t pageSize, const char* jsonOption = nullptr) = 0; + abstract getMusicCollectionByMusicChartId( musicChartId: number, page: number, pageSize: number, jsonOption?: string ): string; - public abstract int GetMusicCollectionByMusicChartId(ref string requestId, int musicChartType, int page, int pageSize, string jsonOption = ""); - abstract getMusicCollectionByMusicChartId( + public abstract int GetMusicCollectionByMusicChartId(ref string requestId, int musicChartType, int page, int pageSize, string jsonOption = ""); + abstract getMusicCollectionByMusicChartId( musicChartId: number, page: number, pageSize: number, jsonOption?: string ): string; - Future<String> getMusicCollectionByMusicChartId( + Future<String> getMusicCollectionByMusicChartId( {required int musicChartId, required int page, required int pageSize, String? jsonOption}); -

    +

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

    成功调用该方法后,SDK 会触发 回调报告榜单中音乐资源列表的详细信息。

    +

    成功调用该方法后,SDK 会触发 + 回调报告榜单中音乐资源列表的详细信息。

    参数 - - - - - - musicChartId - musicChartType - 音乐榜单的 ID,可以通过 回调获取。你也可以通过 RESTful API 来 - - - page - 当前页面编号,默认从 1 开始。 - - - pageSize - 当前音乐资源列表的总页面数量,最大值为 50。 - - - - - -
    + + + + + + musicChartId + musicChartType + 音乐榜单的 ID,可以通过 回调获取。你也可以通过 RESTful API + 来 + + + page + 当前页面编号,默认从 1 开始。 + + + pageSize + 当前音乐资源列表的总页面数量,最大值为 50。 + + + + + + +
    - 返回值 + 返回值 -

    一个 requestId,为本次请求的唯一标识。

    -
    +

    一个 + requestId,为本次请求的唯一标识。

    + + diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita index f9ff2d0b61a..25c42b7f704 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita @@ -13,48 +13,52 @@

    - public abstract String getMusicCollectionByMusicChartId( + public abstract String getMusicCollectionByMusicChartId( int musicChartId, int page, int pageSize, String jsonOption); - - - - - - -

    + + + + + + +

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

    +

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

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

    +

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

    一个 requestId,为本次请求的唯一标识。

    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_getsongsimpleinfo.dita b/dita/RTC-NG/API/api_imusiccontentcenter_getsongsimpleinfo.dita index 360b24a550f..a1aea44fea1 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_getsongsimpleinfo.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_getsongsimpleinfo.dita @@ -13,37 +13,42 @@

    - public abstract String getSongSimpleInfo(long songCode); - - (NSString *)getSongSimpleInfoWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(getSongSimpleInfo(songCode:)); - virtual int getSongSimpleInfo(agora::util::AString& requestId, int64_t songCode) = 0; - abstract getSongSimpleInfo(songCode: number): string; - public abstract int GetSongSimpleInfo(ref string requestId, Int64 songCode); - abstract getSongSimpleInfo(songCode: number): string; - Future<String> getSongSimpleInfo(int songCode);

    + public abstract String getSongSimpleInfo(long songCode); + - (NSString *)getSongSimpleInfoWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(getSongSimpleInfo(songCode:)); + virtual int getSongSimpleInfo(agora::util::AString& requestId, int64_t songCode) = 0; + abstract getSongSimpleInfo(songCode: number): string; + public abstract int GetSongSimpleInfo(ref string requestId, Int64 songCode); + abstract getSongSimpleInfo(songCode: number): string; + Future<String> getSongSimpleInfo(int songCode); +

    详情
    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +
    -

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

    +

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

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

    参数 - - - - - - - - -
    -
    -
    + + + + + + + + + + +
    + diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita b/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita index 0b2807d9dea..fccdbeb5a8a 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita @@ -2,7 +2,8 @@ <ph keyref="initialize_IMusicContentCenter"/> - 初始化 + 初始化 @@ -13,44 +14,51 @@

    - public abstract int initialize(MusicContentCenterConfiguration configuration); - + (instancetype)sharedContentCenterWithConfig:(AgoraMusicContentCenterConfig *)config NS_SWIFT_NAME(sharedContentCenter(config:)); - virtual int initialize(const MusicContentCenterConfiguration & configuration) = 0; - abstract initialize(configuration: MusicContentCenterConfiguration): number; - public abstract int Initialize(MusicContentCenterConfiguration configuration); - abstract initialize(configuration: MusicContentCenterConfiguration): number; - Future<void> initialize(MusicContentCenterConfiguration configuration); -

    + public abstract int initialize(MusicContentCenterConfiguration configuration); + + (instancetype)sharedContentCenterWithConfig:(AgoraMusicContentCenterConfig *)config NS_SWIFT_NAME(sharedContentCenter(config:)); + virtual int initialize(const MusicContentCenterConfiguration & configuration) = 0; + abstract initialize(configuration: MusicContentCenterConfiguration): number; + public abstract int Initialize(MusicContentCenterConfiguration configuration); + abstract initialize(configuration: MusicContentCenterConfiguration): number; + Future<void> initialize(MusicContentCenterConfiguration configuration); +

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

    在调用 类下的其他方法前,你需要先调用该方法初始化

    +

    在调用 类下的其他方法前,你需要先调用该方法初始化

    参数 - - configuration - config - 的设置,详见 - -
    + + configuration + config + 的设置,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 方法调用成功,返回一个 实例。
  • +
  • 方法调用失败,返回
  • + + diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita b/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita index 9ec0fc2982c..6afd573bebc 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita @@ -13,42 +13,44 @@

    - public abstract int isPreloaded(long songCode); - - (NSInteger)isPreloadedWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(isPreloaded(songCode:)); - virtual int isPreloaded(int64_t songCode) = 0; - abstract isPreloaded(songCode: number): number; - public abstract int IsPreloaded(Int64 songCode); - abstract isPreloaded(songCode: number): number; - Future<bool> isPreloaded(int songCode); -

    + public abstract int isPreloaded(long songCode); + - (NSInteger)isPreloadedWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(isPreloaded(songCode:)); + virtual int isPreloaded(int64_t songCode) = 0; + abstract isPreloaded(songCode: number): number; + public abstract int IsPreloaded(Int64 songCode); + abstract isPreloaded(songCode: number): number; + Future<bool> isPreloaded(int songCode); +

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

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

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita b/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita index 99020f2615a..cbbeaab70dd 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita @@ -13,44 +13,50 @@

    - public abstract int registerEventHandler(IMusicContentCenterEventHandler eventHandler); - - (NSInteger)registerEventDelegate:(id<AgoraMusicContentCenterEventDelegate> _Nullable)eventDelegate; - virtual int registerEventHandler(IMusicContentCenterEventHandler* eventHandler) = 0; - abstract registerEventHandler( + public abstract int registerEventHandler(IMusicContentCenterEventHandler eventHandler); + - (NSInteger)registerEventDelegate:(id<AgoraMusicContentCenterEventDelegate> _Nullable)eventDelegate; + virtual int registerEventHandler(IMusicContentCenterEventHandler* eventHandler) = 0; + abstract registerEventHandler( eventHandler: IMusicContentCenterEventHandler ): number; - public abstract int RegisterEventHandler(IMusicContentCenterEventHandler eventHandler); - abstract registerEventHandler( + public abstract int RegisterEventHandler(IMusicContentCenterEventHandler eventHandler); + abstract registerEventHandler( eventHandler: IMusicContentCenterEventHandler ): number; - void registerEventHandler(MusicContentCenterEventHandler eventHandler); -

    + void registerEventHandler(MusicContentCenterEventHandler eventHandler); +

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

    参数 - - eventHandler - eventDelegate - 待注册的回调事件,详见 如果你想移除已注册的回调事件,请传入 - -
    + + eventHandler + eventDelegate + 待注册的回调事件,详见 如果你想移除已注册的回调事件,请传入 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_release.dita b/dita/RTC-NG/API/api_imusiccontentcenter_release.dita index e1beb939e40..8c5766596d6 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_release.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_release.dita @@ -13,22 +13,22 @@

    - protected abstract void release(); - - virtual void release() = 0; - abstract release(): void; - - abstract release(): void; - Future<void> release(); -

    + protected abstract void release(); + + virtual void release() = 0; + abstract release(): void; + + abstract release(): void; + Future<void> release(); +

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

    该方法需要在 方法前调用。

    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita b/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita index ad3a6509031..cf6549bf817 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita @@ -13,40 +13,45 @@

    - public abstract int removeCache(long songCode); - - (NSInteger)removeCacheWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(removeCache(songCode:)); - virtual int removeCache(int64_t songCode) = 0; - abstract removeCache(songCode: number): number; - public abstract int RemoveCache(Int64 songCode); - abstract removeCache(songCode: number): number; - Future<void> removeCache(int songCode);

    + public abstract int removeCache(long songCode); + - (NSInteger)removeCacheWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(removeCache(songCode:)); + virtual int removeCache(int64_t songCode) = 0; + abstract removeCache(songCode: number): number; + public abstract int RemoveCache(Int64 songCode); + abstract removeCache(songCode: number): number; + Future<void> removeCache(int songCode); +

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

    你可以调用该方法删除某一已缓存的音乐资源,如需删除多个音乐资源,你可以多次调用该方法。 - - 该方法不会删除正在播放中的已缓存音乐资源。

    +

    你可以调用该方法删除某一已缓存的音乐资源,如需删除多个音乐资源,你可以多次调用该方法。 该方法不会删除正在播放中的已缓存音乐资源。

    参数 - - songCode - 待删除的音乐资源的编号。 - -
    -
    + + songCode + 待删除的音乐资源的编号。 + + +
    +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功,音乐资源已删除。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功,音乐资源已删除。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita b/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita index 552e8bcc235..74a107f75a9 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita @@ -13,11 +13,11 @@

    - public abstract int renewToken(String token); - - (NSInteger)renewToken:(NSString * _Nonnull)token; - virtual int renewToken(const char* token) = 0; - abstract renewToken(token: string): number; - public override int RenewToken(string token) + public abstract int renewToken(String token); + - (NSInteger)renewToken:(NSString * _Nonnull)token; + virtual int renewToken(const char* token) = 0; + abstract renewToken(token: string): number; + public override int RenewToken(string token) { if (_rtcEngineInstance == null || _musicContentCenterImpl == null) { @@ -25,34 +25,39 @@ } return _musicContentCenterImpl.RenewToken(token); } - abstract renewToken(token: string): number; - Future<void> renewToken(String token); -

    + abstract renewToken(token: string): number; + Future<void> renewToken(String token); +

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

    当你用于鉴权的 Token 快要过期或已过期时,你可以调用该方法来传入新生成的 Token。

    参数 - - token - 新的 Token。 - -
    + + token + 新的 Token。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic.dita b/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic.dita index 11d986c46c9..41636a8daa4 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic.dita @@ -13,95 +13,101 @@

    - public String searchMusic(String keyword, int page, int pageSize) { + public String searchMusic(String keyword, int page, int pageSize) { return searchMusic(keyword, page, pageSize, null); } - - (NSString *)searchMusicWithKeyWord:(NSString *)keyWord page:(NSInteger)page pageSize:(NSInteger)pageSize jsonOption:(NSString * _Nullable)jsonOption NS_SWIFT_NAME(searchMusic(keyWord:page:pageSize:jsonOption:)); - virtual int searchMusic(agora::util::AString& requestId, const char* keyWord, int32_t page, int32_t pageSize, const char* jsonOption = nullptr) = 0; - abstract searchMusic( + - (NSString *)searchMusicWithKeyWord:(NSString *)keyWord page:(NSInteger)page pageSize:(NSInteger)pageSize jsonOption:(NSString * _Nullable)jsonOption NS_SWIFT_NAME(searchMusic(keyWord:page:pageSize:jsonOption:)); + virtual int searchMusic(agora::util::AString& requestId, const char* keyWord, int32_t page, int32_t pageSize, const char* jsonOption = nullptr) = 0; + abstract searchMusic( requestId: string, keyWord: string, page: number, pageSize: number, jsonOption?: string ): number; - public abstract int SearchMusic(ref string requestId, string keyWord, int page, int pageSize, string jsonOption = ""); - abstract searchMusic( + public abstract int SearchMusic(ref string requestId, string keyWord, int page, int pageSize, string jsonOption = ""); + abstract searchMusic( requestId: string, keyWord: string, page: number, pageSize: number, jsonOption?: string ): number; - Future<String> searchMusic( + Future<String> searchMusic( {required String keyWord, required int page, required int pageSize, String? jsonOption}); -

    +

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

    成功调用该方法后,SDK 会触发 回调报告检索到的音乐资源列表。

    +

    成功调用该方法后,SDK 会触发 + 回调报告检索到的音乐资源列表。

    参数 - - keyword - 搜索关键词,支持歌曲名、歌手搜索。 - - - page - 想要获取的音乐资源列表的目标页编号。 - - - pageSize - 每页所展示的音乐资源的最大数量,最大值为 50。 - - - jsonOption - 扩展 JSON 字段,默认为 。你可以通过该字段来筛选出你需要的音乐资源,目前支持筛选可打分的音乐资源及音乐资源的副歌片段: - - - Key 值 - Value 值 - 示例 - - - pitchType - 是否支持打分: -
    • 1:支持打分的音乐资源。
    • -
    • 2:不支持打分的音乐资源。
    - {"pitchType":1} -
    - - needHighPart - 是否需要副歌片段资源: -
    • :需要副歌片段资源。
    • -
    • :不需要副歌片段资源。
    - {"needHighPart":true} -
    -
    -
    - - - - -
    + + keyword + 搜索关键词,支持歌曲名、歌手搜索。 + + + page + 想要获取的音乐资源列表的目标页编号。 + + + pageSize + 每页所展示的音乐资源的最大数量,最大值为 50。 + + + jsonOption + 扩展 JSON 字段,默认为 。你可以通过该字段来筛选出你需要的音乐资源,目前支持筛选可打分的音乐资源及音乐资源的副歌片段: + + Key 值 + Value 值 + 示例 + + + pitchType + 是否支持打分:
      +
    • 1:支持打分的音乐资源。
    • +
    • 2:不支持打分的音乐资源。
    • +
    + {"pitchType":1} +
    + + needHighPart + 是否需要副歌片段资源:
      +
    • :需要副歌片段资源。
    • +
    • :不需要副歌片段资源。
    • +
    + {"needHighPart":true} +
    +
    +
    + + + + + +
    - 返回值 + 返回值
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。

    一个 requestId,为本次请求的唯一标识。

    -
    +
    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita b/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita index c76aad2e859..095f4d04ba2 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita @@ -13,65 +13,69 @@

    - public abstract String searchMusic(String keyword, int page, int pageSize, String jsonOption); - - - - - - -

    + public abstract String searchMusic(String keyword, int page, int pageSize, String jsonOption); + + + + + + +

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

    +

    参数 - - - - + + + + - - + + - - + + + + + jsonOption + 扩展 JSON 字段,默认为 。你可以通过该字段来筛选出你需要的音乐资源,目前支持筛选可打分的音乐资源及音乐资源的副歌片段: + + Key 值 + Value 值 + 示例 + + + pitchType + 是否支持打分:
      +
    • 1:支持打分的音乐资源。
    • +
    • 2:不支持打分的音乐资源。
    • +
    + {"pitchType":1} +
    + + needHighPart + 是否需要副歌片段资源:
      +
    • :需要副歌片段资源。
    • +
    • :不需要副歌片段资源。
    • +
    + {"needHighPart":true} +
    +
    - - jsonOption - 扩展 JSON 字段,默认为 。你可以通过该字段来筛选出你需要的音乐资源,目前支持筛选可打分的音乐资源及音乐资源的副歌片段: - - - Key 值 - Value 值 - 示例 - - - pitchType - 是否支持打分: -
    • 1:支持打分的音乐资源。
    • -
    • 2:不支持打分的音乐资源。
    - {"pitchType":1} -
    - - needHighPart - 是否需要副歌片段资源: -
    • :需要副歌片段资源。
    • -
    • :不需要副歌片段资源。
    - {"needHighPart":true} -
    -
    -
    -
    + +
    返回值

    一个 requestId,为本次请求的唯一标识。

    diff --git a/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita b/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita index b29a0653acb..eee831adb0c 100644 --- a/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita +++ b/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita @@ -13,30 +13,34 @@

    - public abstract int unregisterEventHandler(); - - virtual int unregisterEventHandler() = 0; - abstract unregisterEventHandler(): number; - public abstract int UnregisterEventHandler(); - abstract unregisterEventHandler(): number; - void unregisterEventHandler(); -

    + public abstract int unregisterEventHandler(); + + virtual int unregisterEventHandler() = 0; + abstract unregisterEventHandler(): number; + public abstract int UnregisterEventHandler(); + abstract unregisterEventHandler(): number; + void unregisterEventHandler(); +

    详情
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imusicontentcenter_preload.dita b/dita/RTC-NG/API/api_imusicontentcenter_preload.dita index b733b835c86..c6c26976bca 100644 --- a/dita/RTC-NG/API/api_imusicontentcenter_preload.dita +++ b/dita/RTC-NG/API/api_imusicontentcenter_preload.dita @@ -13,58 +13,69 @@

    - public abstract int preload(long songCode, String jsonOption); - - (NSInteger)preloadWithSongCode:(NSInteger)songCode jsonOption:(NSString* _Nullable)jsonOption NS_SWIFT_NAME(preload(songCode:jsonOption:)); - virtual int preload(int64_t songCode, const char* jsonOption = nullptr) = 0; - abstract preload(songCode: number, jsonOption?: string): number; - public abstract int Preload(Int64 songCode, string jsonOption = ""); - abstract preload(songCode: number, jsonOption?: string): number; - Future<void> preload({required int songCode, String? jsonOption}); -

    + public abstract int preload(long songCode, String jsonOption); + - (NSInteger)preloadWithSongCode:(NSInteger)songCode jsonOption:(NSString* _Nullable)jsonOption NS_SWIFT_NAME(preload(songCode:jsonOption:)); + virtual int preload(int64_t songCode, const char* jsonOption = nullptr) = 0; + abstract preload(songCode: number, jsonOption?: string): number; + public abstract int Preload(Int64 songCode, string jsonOption = ""); + abstract preload(songCode: number, jsonOption?: string): number; + Future<void> preload({required int songCode, String? jsonOption}); +

    详情
    - -
    弃用:
    -
    该方法已废弃,请改用
    -
    + +
    弃用:
    +
    该方法已废弃,请改用
    +
    -

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

    -

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

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

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

    +

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

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

    扩展 JSON 字段。

    -

    声网会根据你在场景字段(sceneType)传入的应用场景进行收费。不同的应用场景对应不同的费率,你可以参考 查看详细的计费。

    -

    -

      -
    • 1:直播场景:K 歌及背景音乐播放。
    • -
    • 2:直播场景:背景音乐播放。
    • -
    • 3:(默认)语聊场景:K 歌。
    • -
    • 4:语聊场景:背景音乐播放。
    • -
    • 5:VR 场景:K 歌及背景音乐播放。
    • -
    - 如果需要切换到不同场景,需要重新调用此方法并在该字段中传入 sceneType 的值。

    -

    示例:{"sceneType":1}

    -
    -
    -
    + + + + + + jsonOption + +

    扩展 JSON 字段。

    +

    声网会根据你在场景字段(sceneType)传入的应用场景进行收费。不同的应用场景对应不同的费率,你可以参考 + 查看详细的计费。

    +

    +

      +
    • 1:直播场景:K 歌及背景音乐播放。
    • +
    • 2:直播场景:背景音乐播放。
    • +
    • 3:(默认)语聊场景:K 歌。
    • +
    • 4:语聊场景:背景音乐播放。
    • +
    • 5:VR 场景:K 歌及背景音乐播放。
    • +
    如果需要切换到不同场景,需要重新调用此方法并在该字段中传入 sceneType + 的值。

    +

    示例:{"sceneType":1}

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imusicontentcenter_preload2.dita b/dita/RTC-NG/API/api_imusicontentcenter_preload2.dita index d36e76c9332..cc09cd7ce90 100644 --- a/dita/RTC-NG/API/api_imusicontentcenter_preload2.dita +++ b/dita/RTC-NG/API/api_imusicontentcenter_preload2.dita @@ -13,21 +13,22 @@

    - public abstract String preload(long songCode); - - (NSString *)preloadWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(preload(songCode:)); - virtual int preload(agora::util::AString& requestId, int64_t songCode) = 0; - abstract preload(songCode: number): string; - public abstract int Preload(ref string requestId, Int64 songCode); - abstract preload(songCode: number): string; - Future<String> preload(int songCode);

    + public abstract String preload(long songCode); + - (NSString *)preloadWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(preload(songCode:)); + virtual int preload(agora::util::AString& requestId, int64_t songCode) = 0; + abstract preload(songCode: number): string; + public abstract int Preload(ref string requestId, Int64 songCode); + abstract preload(songCode: number): string; + Future<String> preload(int songCode); +

    详情
    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +

    @@ -36,21 +37,24 @@

    参数 - - - - - - requestId - 输出参数,请求 ID。本次请求的唯一标识。 - -
    + + + + + + requestId + 输出参数,请求 ID。本次请求的唯一标识。 + + +
    <ph keyref="return-section-title"/>
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -

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

    + diff --git a/dita/RTC-NG/API/api_imusicplayer_destroy.dita b/dita/RTC-NG/API/api_imusicplayer_destroy.dita index 795d1eea5d9..9cb30ab3da2 100644 --- a/dita/RTC-NG/API/api_imusicplayer_destroy.dita +++ b/dita/RTC-NG/API/api_imusicplayer_destroy.dita @@ -13,29 +13,30 @@

    - @Override int destroy(); - - - - - - -

    + @Override int destroy(); + + + + + + +

    详情
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    返回值
    diff --git a/dita/RTC-NG/API/api_imusicplayer_getplaysrc.dita b/dita/RTC-NG/API/api_imusicplayer_getplaysrc.dita index dad6dc8f3c3..73e3ba14f6d 100644 --- a/dita/RTC-NG/API/api_imusicplayer_getplaysrc.dita +++ b/dita/RTC-NG/API/api_imusicplayer_getplaysrc.dita @@ -13,30 +13,35 @@

    - @Override String getPlaySrc(); - - - - - -

    + @Override String getPlaySrc(); + + + + + + +

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

    该方法需要在打开音乐资源之后调用: -

    +

    该方法需要在打开音乐资源之后调用:

    返回值 -

    +

    diff --git a/dita/RTC-NG/API/api_imusicplayer_open.dita b/dita/RTC-NG/API/api_imusicplayer_open.dita index 5a62658c4f9..d80b4c41430 100644 --- a/dita/RTC-NG/API/api_imusicplayer_open.dita +++ b/dita/RTC-NG/API/api_imusicplayer_open.dita @@ -13,45 +13,52 @@

    - int open(long songCode, long startPos); - - (NSInteger)openMediaWithSongCode:(NSInteger)songCode startPos:(NSInteger)startPos NS_SWIFT_NAME(openMedia(songCode:startPos:)); - virtual int open(int64_t songCode, int64_t startPos = 0) = 0; - abstract openWithSongCode(songCode: number, startPos?: number): number; - public abstract int Open(Int64 songCode, Int64 startPos); - abstract openWithSongCode(songCode: number, startPos?: number): number; - Future<void> openWithSongCode({required int songCode, int startPos = 0}); -

    + int open(long songCode, long startPos); + - (NSInteger)openMediaWithSongCode:(NSInteger)songCode startPos:(NSInteger)startPos NS_SWIFT_NAME(openMedia(songCode:startPos:)); + virtual int open(int64_t songCode, int64_t startPos = 0) = 0; + abstract openWithSongCode(songCode: number, startPos?: number): number; + public abstract int Open(Int64 songCode, Int64 startPos); + abstract openWithSongCode(songCode: number, startPos?: number): number; + Future<void> openWithSongCode({required int songCode, int startPos = 0}); +

    详情
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    - 如果你想要打开的音乐资源受数字版权保护,则需要调用此方法打开。对于不受数字版权保护的音乐资源,你可以选择通过调用此方法或 类下的 方法来打开。 -

    在调用此方法之前,请确保需要播放的音乐资源已加载完成。你可以调用 方法来检测音乐资源是否已被预加载,或通过 回调得知。

    + 如果你想要打开的音乐资源受数字版权保护,则需要调用此方法打开。对于不受数字版权保护的音乐资源,你可以选择通过调用此方法或 + 类下的 方法来打开。 +

    在调用此方法之前,请确保需要播放的音乐资源已加载完成。你可以调用 方法来检测音乐资源是否已被预加载,或通过 + 回调得知。

    参数 - - songCode - 音乐资源的编号,用于标识音乐资源。 - - - startPos - 设置起始播放位置(毫秒),默认值为 0。 - -
    + + songCode + 音乐资源的编号,用于标识音乐资源。 + + + startPos + 设置起始播放位置(毫秒),默认值为 0。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imusicplayer_open2.dita b/dita/RTC-NG/API/api_imusicplayer_open2.dita index 5cad540ec14..43b74c74e2e 100644 --- a/dita/RTC-NG/API/api_imusicplayer_open2.dita +++ b/dita/RTC-NG/API/api_imusicplayer_open2.dita @@ -13,41 +13,45 @@

    - @Override int open(String url, long startPos); - - - - - -

    + @Override int open(String url, long startPos); + + + + + + +

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

    + +

    参数 - - url - 音乐资源的路径,支持本地和在线文件。 - - - - - -
    + + url + 音乐资源的路径,支持本地和在线文件。 + + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_imusicplayer_stop.dita b/dita/RTC-NG/API/api_imusicplayer_stop.dita index 44023974138..b0a82059d5f 100644 --- a/dita/RTC-NG/API/api_imusicplayer_stop.dita +++ b/dita/RTC-NG/API/api_imusicplayer_stop.dita @@ -13,28 +13,30 @@

    - @Override int stop(); - - - - - -

    + @Override int stop(); + + + + + + +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_addextension.dita b/dita/RTC-NG/API/api_irtcengine_addextension.dita index b069853fffc..f009864bd0b 100644 --- a/dita/RTC-NG/API/api_irtcengine_addextension.dita +++ b/dita/RTC-NG/API/api_irtcengine_addextension.dita @@ -13,24 +13,25 @@

    - public void addExtension(String providerName) { + public void addExtension(String providerName) { mExtensionList.add(providerName); } - - - - - - -

    + + + + + + +

    参数 - - providerName - 想要添加的插件名称。 - -
    + + providerName + 想要添加的插件名称。 + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_addhandler.dita b/dita/RTC-NG/API/api_irtcengine_addhandler.dita index 9963e816e76..6e4b445b8ec 100644 --- a/dita/RTC-NG/API/api_irtcengine_addhandler.dita +++ b/dita/RTC-NG/API/api_irtcengine_addhandler.dita @@ -13,44 +13,49 @@

    - public void addHandler(IRtcEngineEventHandler handler) { + public void addHandler(IRtcEngineEventHandler handler) { mInstance.addHandler(handler); } - - - abstract registerEventHandler(eventHandler: IRtcEngineEventHandler): boolean; - public abstract int InitEventHandler(IRtcEngineEventHandler engineEventHandler); - abstract registerEventHandler(eventHandler: IRtcEngineEventHandler): boolean; - void registerEventHandler(RtcEngineEventHandler eventHandler); -

    + + + abstract registerEventHandler(eventHandler: IRtcEngineEventHandler): boolean; + public abstract int InitEventHandler(IRtcEngineEventHandler engineEventHandler); + abstract registerEventHandler(eventHandler: IRtcEngineEventHandler): boolean; + void registerEventHandler(RtcEngineEventHandler eventHandler); +

    详情 -

    接口类 用于 SDK 向 App 发送回调事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。 - 接口类的所有方法都有缺省(空)实现,App 可以根据需要只继承关心的事件。在回调方法中,App 不应该做耗时或者调用可能会引起阻塞的 API(如 ), - 否则可能影响 SDK 的运行。

    +

    接口类 用于 SDK 向 App 发送回调事件通知,App 通过继承该接口类的方法获取 + SDK 的事件通知。 接口类的所有方法都有缺省(空)实现,App 可以根据需要只继承关心的事件。在回调方法中,App 不应该做耗时或者调用可能会引起阻塞的 API(如 + ), 否则可能影响 SDK 的运行。

    参数 - - handler - engineEventHandler - eventHandler - 待添加的回调事件,详见 - -
    + + handler + engineEventHandler + eventHandler + 待添加的回调事件,详见 + + +
    - <ph keyref="return-section-title"/> -

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

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

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

    -
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_addlistener.dita b/dita/RTC-NG/API/api_irtcengine_addlistener.dita index b825c585d27..fb52af06774 100644 --- a/dita/RTC-NG/API/api_irtcengine_addlistener.dita +++ b/dita/RTC-NG/API/api_irtcengine_addlistener.dita @@ -2,7 +2,8 @@ <ph keyref="addListener"/> - 添加一个 监听器。 + 添加一个 + 监听器。 @@ -13,37 +14,40 @@

    - - - - addListener?<EventType extends keyof IRtcEngineEvent>( + + + + addListener?<EventType extends keyof IRtcEngineEvent>( eventType: EventType, listener: IRtcEngineEvent[EventType] ): void; - - addListener?<EventType extends keyof IRtcEngineEvent>( + + addListener?<EventType extends keyof IRtcEngineEvent>( eventType: EventType, listener: IRtcEngineEvent[EventType] ): void; -

    +

    详情 -

    成功调用该方法后,你可以通过 监听对应 对象的事件、获取数据。根据业务需要,你可以为同一事件添加多个监听器。

    +

    成功调用该方法后,你可以通过 监听对应 + 对象的事件、获取数据。根据业务需要,你可以为同一事件添加多个监听器。

    参数 - - eventType - 需要监听的目标事件名。详见 - - - listener - eventType 对应的回调函数。以添加 为例: - const onJoinChannelSuccess = (connection: RtcConnection, elapsed: number) => {}; + + eventType + 需要监听的目标事件名。详见 + + + listener + eventType 对应的回调函数。以添加 为例: + const onJoinChannelSuccess = (connection: RtcConnection, elapsed: number) => {}; engine.addListener('onJoinChannelSuccess', onJoinChannelSuccess); - -
    + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_addpublishstreamurl.dita b/dita/RTC-NG/API/api_irtcengine_addpublishstreamurl.dita index 9e71a2955ef..031d0f6d807 100644 --- a/dita/RTC-NG/API/api_irtcengine_addpublishstreamurl.dita +++ b/dita/RTC-NG/API/api_irtcengine_addpublishstreamurl.dita @@ -1,77 +1,91 @@ - <ph keyref="addPublishStreamUrl" /> - 增加旁路推流地址。 + + <ph keyref="addPublishStreamUrl"/> + + + 增加旁路推流地址。 + - +

    - public abstract int addPublishStreamUrl(String url, boolean transcodingEnabled); - - (int)addPublishStreamUrl:(NSString* _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled; - virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0; - abstract addPublishStreamUrl(url: string, transcodingEnabled: boolean): number; - public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); - abstract addPublishStreamUrl( + public abstract int addPublishStreamUrl(String url, boolean transcodingEnabled); + - (int)addPublishStreamUrl:(NSString* _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled; + virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0; + abstract addPublishStreamUrl(url: string, transcodingEnabled: boolean): number; + public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); + abstract addPublishStreamUrl( url: string, transcodingEnabled: boolean ): number; - Future<void> addPublishStreamUrl( + Future<void> addPublishStreamUrl( {required String url, required bool transcodingEnabled}); -

    +

    详情
    - -
    弃用:
    -
    该方法已废弃。请根据实际情况改用
    -
    + +
    弃用:
    +
    该方法已废弃。请根据实际情况改用
    +
    -

    调用该方法后,你可以向 CDN 推送 RTMP 或 RTMPS 协议的媒体流。SDK 会在本地触发 回调,报告增加旁路推流地址的状态。

    +

    调用该方法后,你可以向 CDN 推送 RTMP 或 RTMPS 协议的媒体流。SDK 会在本地触发 回调,报告增加旁路推流地址的状态。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 请确保已开通旁路推流的功能。详见进阶功能旁路推流 中的前提条件。
    • -
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • -
    • 该方法每次只能增加一路旁路推流地址。若需推送多路流,则需多次调用该方法。
    • -
    + + +
    参数 - - url - 旁路推流地址,格式为 RTMP 或 RTMPS。该字符长度不能超过 1024 字节,不支持中文字符等特殊字符。 - - - transcodingEnabled - -

    是否转码。转码是指在旁路推流时对音视频流进行转码处理后再推送到其他 CDN 服务器。多适用于频道内有多个主播,需要进行混流、合图的场景。 -

      -
    • : 转码。
    • -
    • : 不转码。
    • -

    - 如果该参数设为 ,需先调用 方法。
    -
    -
    + + url + 旁路推流地址,格式为 RTMP 或 RTMPS。该字符长度不能超过 1024 字节,不支持中文字符等特殊字符。 + + + transcodingEnabled + +

    是否转码。转码是指在旁路推流时对音视频流进行转码处理后再推送到其他 CDN 服务器。多适用于频道内有多个主播,需要进行混流、合图的场景。

      +
    • : 转码。
    • +
    • : 不转码。
    • +

    + 如果该参数设为 ,需先调用 + 方法。 +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • - < 0: 方法调用失败。详见了解详情和解决建议。 - -
        -
      • -2: 参数无效,一般是 URL 为空或是长度为 0 的字符串。
      • -
      • -7: 推流时未初始化引擎。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2: 参数无效,一般是 URL 为空或是长度为 0 的字符串。
    • +
    • -7: 推流时未初始化引擎。
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_addvideowatermark.dita b/dita/RTC-NG/API/api_irtcengine_addvideowatermark.dita index b228fe16b73..ee7f0268889 100644 --- a/dita/RTC-NG/API/api_irtcengine_addvideowatermark.dita +++ b/dita/RTC-NG/API/api_irtcengine_addvideowatermark.dita @@ -1,66 +1,74 @@ - <ph keyref="addVideoWatermark1" /> - 添加本地视频水印。 + + <ph keyref="addVideoWatermark1"/> + + + 添加本地视频水印。 + - +

    - public abstract int addVideoWatermark(AgoraImage watermark); - - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark - virtual int addVideoWatermark(const RtcImage& watermark) = 0; - abstract addVideoWatermark(watermarkUrl: string, options: WatermarkOptions): number; - public abstract int AddVideoWatermark(RtcImage watermark); - abstract addVideoWatermark( + public abstract int addVideoWatermark(AgoraImage watermark); + - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark + virtual int addVideoWatermark(const RtcImage& watermark) = 0; + abstract addVideoWatermark(watermarkUrl: string, options: WatermarkOptions): number; + public abstract int AddVideoWatermark(RtcImage watermark); + abstract addVideoWatermark( watermarkUrl: string, options: WatermarkOptions ): number; - Future<void> addVideoWatermark(RtcImage watermark); -

    + Future<void> addVideoWatermark(RtcImage watermark); +

    详情
    - -
    弃用:
    -
    - 该方法已废弃,请使用 - 作为替代。 -
    -
    + +
    弃用:
    +
    该方法已废弃,请使用 作为替代。
    +
    -

    - 该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户,旁路推流观众,甚至采集设备都能看到或采集到该水印图片。如果你仅仅希望在旁路直播推流中添加水印,请参考 中描述的用法。 -

    +

    该方法将一张 PNG + 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户,旁路推流观众,甚至采集设备都能看到或采集到该水印图片。如果你仅仅希望在旁路直播推流中添加水印,请参考 + 中描述的用法。

    -
      -
    • 在本地直播和旁路推流中,URL 的定义不同。本地直播中,URL 指本地直播视频上图片的本地绝对/相对路径;旁路推流中,URL 指旁路推流视频上图片的地址。
    • -
    • 待添加图片的源文件格式必须是 PNG。如果待添加的 PNG 图片的尺寸与你该方法中设置的尺寸不一致,SDK 会对 PNG 图片进行裁剪,以与设置相符。
    • -
    • 声网当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。
    • -
    + + +
    参数 - - watermark - - 待添加在本地直播推流中的水印图片:。 - - -
    + + watermark + 待添加在本地直播推流中的水印图片: + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_addvideowatermark2.dita b/dita/RTC-NG/API/api_irtcengine_addvideowatermark2.dita index 4497b20f450..7b5c037dfd4 100644 --- a/dita/RTC-NG/API/api_irtcengine_addvideowatermark2.dita +++ b/dita/RTC-NG/API/api_irtcengine_addvideowatermark2.dita @@ -13,97 +13,110 @@

    - public abstract int addVideoWatermark(String watermarkUrl, WatermarkOptions options); - - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options; - virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int addVideoWatermark(String watermarkUrl, WatermarkOptions options); + - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options; + virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int AddVideoWatermark(FString watermarkUrl, const FWatermarkOptions& options); - abstract addVideoWatermark( + abstract addVideoWatermark( watermarkUrl: string, options: WatermarkOptions ): number; - public abstract int AddVideoWatermark(string watermarkUrl, WatermarkOptions options); - abstract addVideoWatermark( + public abstract int AddVideoWatermark(string watermarkUrl, WatermarkOptions options); + abstract addVideoWatermark( watermarkUrl: string, options: WatermarkOptions ): number; - Future<void> addVideoWatermark( + Future<void> addVideoWatermark( {required String watermarkUrl, required WatermarkOptions options}); -

    +

    详情 -

    该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户、旁路直播观众和采集设备都能看到或采集到该水印图片。当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。

    -

    水印坐标和 方法中的设置有依赖关系: - - -

    +

    该方法将一张 PNG + 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户、旁路直播观众和采集设备都能看到或采集到该水印图片。当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。

    +

    水印坐标和 方法中的设置有依赖关系:

    +

    -
      -
    • 你需要在调用 方法之后再调用该方法。
    • -
    • 如果你只是在旁路推流时添加水印,你可以使用该方法或 方法设置水印。
    • -
    • 待添加水印图片必须是 PNG 格式。该方法支持所有像素格式的 PNG 图片:RGBA、RGB、Palette、Gray 和 Alpha_gray。
    • -
    • 如果待添加的 PNG 图片的尺寸与你在该方法中设置的尺寸不一致,SDK 会对 PNG 图片进行缩放或裁剪,以与设置相符。
    • -
    • 如果你已设置本地视频为镜像模式,那么此处的本地水印也为镜像。为避免本地用户看本地视频时的水印也被镜像,建议你不要对本地视频同时使用镜像和水印功能,请在应用层实现本地水印功能。
    • -
    -

    你可以在调用该方法时通过 visibleInPreview 参数设置水印在预览时是否可见,但能否最终能够生效也取决于你在调用 时设置的 position 参数(视频帧在视频链路中的位置),详见下表。 - - - - - - - - 视频观测位置 - visibleInPreview 取值 - 水印是否可见 - - - - - (默认) - - - - - - - - - - - - - - - - - - -

    + + +

    你可以在调用该方法时通过 visibleInPreview + 参数设置水印在预览时是否可见,但能否最终能够生效也取决于你在调用 时设置的 + position 参数(视频帧在视频链路中的位置),详见下表。 + + + + + + + 视频观测位置 + visibleInPreview 取值 + 水印是否可见 + + + + + (默认) + + + + + + + + + + + + + + + + + + +

    +
    参数 - - watermarkUrl - url - 待添加的水印图片的本地路径。该方法支持从本地绝对/相对路径添加水印图片。 - - - options - 待添加的水印图片的设置选项,详见 - -
    + + watermarkUrl + url + 待添加的水印图片的本地路径。该方法支持从本地绝对/相对路径添加水印图片。 + + + options + 待添加的水印图片的设置选项,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita index 036b5554187..7acf1451fdd 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita @@ -1,48 +1,54 @@ - <ph keyref="adjustAudioMixingPlayoutVolume" /> + <ph keyref="adjustAudioMixingPlayoutVolume"/> 调节音乐文件在本地播放的音量。 - +

    - public abstract int adjustAudioMixingPlayoutVolume(int volume); - - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume; - virtual int adjustAudioMixingPlayoutVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustAudioMixingPlayoutVolume(int volume); + - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume; + virtual int adjustAudioMixingPlayoutVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract adjustAudioMixingPlayoutVolume(volume: number): number; + public abstract int AdjustAudioMixingPlayoutVolume(int volume); + abstract adjustAudioMixingPlayoutVolume(volume: number): number; + Future<void> adjustAudioMixingPlayoutVolume(int volume); +

    详情 - - 你需要在调用 并收到 () 回调后调用该方法。 -
    + 你需要在调用 并收到 () 回调后调用该方法。 +
    参数 - - volume - 音乐文件音量。取值范围为 [0,100],100 (默认值)为原始音量。 - -
    + + volume + 音乐文件音量。取值范围为 [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_adjustaudiomixingpublishvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita index 1b8147dfab7..7bc23cad9d3 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita @@ -1,50 +1,58 @@ - <ph keyref="adjustAudioMixingPublishVolume" /> + <ph keyref="adjustAudioMixingPublishVolume"/> 调节音乐文件远端播放音量。 - +

    - public abstract int adjustAudioMixingPublishVolume(int volume); - - (int)adjustAudioMixingPublishVolume:(NSInteger)volume; - virtual int adjustAudioMixingPublishVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustAudioMixingPublishVolume(int volume); + - (int)adjustAudioMixingPublishVolume:(NSInteger)volume; + virtual int adjustAudioMixingPublishVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract adjustAudioMixingPublishVolume(volume: number): number; + public abstract int AdjustAudioMixingPublishVolume(int volume); + abstract adjustAudioMixingPublishVolume(volume: number): number; + Future<void> adjustAudioMixingPublishVolume(int volume); +

    详情

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

    -

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

    -
    +

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

    + +
    参数 - - volume - 音乐文件音量。取值范围为 [0,100],100 (默认值)为原始音量。 - -
    + + volume + 音乐文件音量。取值范围为 [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_adjustaudiomixingvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita index 1a6eb6a4b88..f9200182bc1 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita @@ -13,39 +13,47 @@

    - public abstract int adjustAudioMixingVolume(int volume); - - (int)adjustAudioMixingVolume:(NSInteger)volume; - virtual int adjustAudioMixingVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustAudioMixingVolume(int volume); + - (int)adjustAudioMixingVolume:(NSInteger)volume; + virtual int adjustAudioMixingVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract adjustAudioMixingVolume(volume: number): number; + public abstract int AdjustAudioMixingVolume(int volume); + abstract adjustAudioMixingVolume(volume: number): number; + Future<void> adjustAudioMixingVolume(int volume); +

    详情

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

    -
      -
    • 该方法需要在 后调用。
    • -
    • 调用该方法不影响调用 播放音效文件的音量。
    • -
    + + +
    参数 - - volume - 音乐文件音量范围为 0~100。100 (默认值)为原始文件音量。 - -
    + + volume + 音乐文件音量范围为 0~100。100 (默认值)为原始文件音量。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita index f9233d36c1f..ca8f93e78df 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita @@ -1,60 +1,65 @@ - <ph keyref="adjustCustomAudioPlayoutVolume"/> + <ph keyref="adjustCustomAudioPlayoutVolume"/> 调节自定义音频采集轨道在本地播放的音量。 - +

    - 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|RtcEngineProxy") + 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|RtcEngineProxy") int AdjustCustomAudioPlayoutVolume(int64 trackId, int volume); - abstract adjustCustomAudioPlayoutVolume( + abstract adjustCustomAudioPlayoutVolume( trackId: number, volume: number ): number; - public abstract int AdjustCustomAudioPlayoutVolume(uint trackId, int volume); - abstract adjustCustomAudioPlayoutVolume( + public abstract int AdjustCustomAudioPlayoutVolume(uint trackId, int volume); + abstract adjustCustomAudioPlayoutVolume( trackId: number, volume: number ): number; - Future<void> adjustCustomAudioPlayoutVolume( + Future<void> adjustCustomAudioPlayoutVolume( {required int trackId, required int volume}); -

    +

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

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

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

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita index d872d14b0b5..ab87804a655 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita @@ -1,60 +1,66 @@ - <ph keyref="adjustCustomAudioPublishVolume" /> + <ph keyref="adjustCustomAudioPublishVolume"/> 调节自定义音频采集轨道在远端播放的音量。 - +

    - 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|RtcEngineProxy") + 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|RtcEngineProxy") int AdjustCustomAudioPublishVolume(int64 trackId, int volume); - abstract adjustCustomAudioPublishVolume( + abstract adjustCustomAudioPublishVolume( trackId: number, volume: number ): number; - public abstract int AdjustCustomAudioPublishVolume(uint trackId, int volume); - abstract adjustCustomAudioPublishVolume( + public abstract int AdjustCustomAudioPublishVolume(uint trackId, int volume); + abstract adjustCustomAudioPublishVolume( trackId: number, volume: number ): number; - Future<void> adjustCustomAudioPublishVolume( + Future<void> adjustCustomAudioPublishVolume( {required int trackId, required int volume}); -

    +

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

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

    参数 - - trackId - 音频轨道 ID。将该参数设置为调用 方法返回的自定义音频轨道 ID。 - - - volume - 自定义采集音频的播放音量,取值范围为 [0,100]。0 表示静音,100 表示原始音量。 - -
    + + trackId + 音频轨道 ID。将该参数设置为调用 方法返回的自定义音频轨道 + ID。 + + + volume + 自定义采集音频的播放音量,取值范围为 [0,100]。0 表示静音,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_adjustloopbacksignalvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita index d4723ad0207..55e972a4c5d 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita @@ -1,48 +1,53 @@ - <ph keyref="adjustLoopbackSignalVolume" /> + <ph keyref="adjustLoopbackSignalVolume"/> 调节声卡采集信号音量。 - +

    - - - (int)adjustLoopbackSignalVolume:(NSInteger)volume; - virtual int adjustLoopbackSignalVolume(int volume) = 0; + + - (int)adjustLoopbackSignalVolume:(NSInteger)volume; + virtual int adjustLoopbackSignalVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract adjustLoopbackSignalVolume(volume: number): number; + public abstract int AdjustLoopbackSignalVolume(int volume); + abstract adjustLoopbackSignalVolume(volume: number): number; + Future<void> adjustLoopbackSignalVolume(int volume); +

    详情 -

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

    +

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

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

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

    +

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

      -
    • 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 6615417fdbe..e0dac9a5de0 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustplaybacksignalvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustplaybacksignalvolume.dita @@ -1,50 +1,57 @@ - <ph keyref="adjustPlaybackSignalVolume" /> + <ph keyref="adjustPlaybackSignalVolume"/> 调节本地播放的所有远端用户信号音量。 - +

    - public abstract int adjustPlaybackSignalVolume(int volume); - - (int)adjustPlaybackSignalVolume:(NSInteger)volume; - virtual int adjustPlaybackSignalVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustPlaybackSignalVolume(int volume); + - (int)adjustPlaybackSignalVolume:(NSInteger)volume; + virtual int adjustPlaybackSignalVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract adjustPlaybackSignalVolume(volume: number): number; + public abstract int AdjustPlaybackSignalVolume(int volume); + abstract adjustPlaybackSignalVolume(volume: number): number; + Future<void> adjustPlaybackSignalVolume(int volume); +

    详情 -
      -
    • 该方法调节的是本地播放的所有远端用户混音后的音量。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    + + +
    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 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 3eb5abb422c..76edf1e6836 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita @@ -1,55 +1,61 @@ - <ph keyref="adjustRecordingSignalVolume" /> + <ph keyref="adjustRecordingSignalVolume"/> 调节音频采集信号音量。 - +

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

    + abstract adjustRecordingSignalVolume(volume: number): number; + public abstract int AdjustRecordingSignalVolume(int volume); + abstract adjustRecordingSignalVolume(volume: number): number; + Future<void> adjustRecordingSignalVolume(int volume); +

    详情 -

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

    -
    +

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

    + +
    参数 - - volume - -

    音量,取值范围为 [0,400]。 -

      -
    • 0: 静音。如果你只需将音频信号静音,声网建议你使用
    • -
    • 100: (默认)原始音量。
    • -
    • 400: 原始音量的 4 倍,自带溢出保护。
    • -

    -
    -
    -
    + + volume + +

    音量,取值范围为 [0,400]。

      +
    • 0: 静音。如果你只需将音频信号静音,声网建议你使用
    • +
    • 100: (默认)原始音量。
    • +
    • 400: 原始音量的 4 倍,自带溢出保护。
    • +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita b/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita index dce281f6019..6f5ab00d16d 100644 --- a/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita @@ -1,56 +1,63 @@ - <ph keyref="adjustUserPlaybackSignalVolume" /> + <ph keyref="adjustUserPlaybackSignalVolume"/> 调节本地播放的指定远端用户信号音量。 - +

    - public abstract int adjustUserPlaybackSignalVolume(int uid, int volume); - - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume; - virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustUserPlaybackSignalVolume(int uid, int volume); + - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume; + virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int AdjustUserPlaybackSignalVolume(int uid, int volume); - 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( + 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}); -

    +

    详情

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

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法调节的是本地播放的指定远端用户混音后的音量。
    • -
    + + +
    参数 - - uid - 远端用户 ID。 - - - - - -
    + + uid + 远端用户 ID。 + + + + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita b/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita index 9597973bd1d..75bfa40dcd5 100644 --- a/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita +++ b/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita @@ -1,35 +1,39 @@ - <ph keyref="clearVideoWatermarks" /> + <ph keyref="clearVideoWatermarks"/> 删除已添加的视频水印。 - +

    - public abstract int clearVideoWatermarks(); - - (int)clearVideoWatermarks; - virtual int clearVideoWatermarks() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int clearVideoWatermarks(); + - (int)clearVideoWatermarks; + virtual int clearVideoWatermarks() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ClearVideoWatermarks(); - abstract clearVideoWatermarks(): number; - public abstract int ClearVideoWatermarks(); - abstract clearVideoWatermarks(): number; - Future<void> 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 cd98ce9d127..62b9a113931 100644 --- a/dita/RTC-NG/API/api_irtcengine_complain.dita +++ b/dita/RTC-NG/API/api_irtcengine_complain.dita @@ -13,17 +13,17 @@

    - public abstract int complain(String callId, String description); - - (int)complain:(NSString * _Nonnull)callId + public abstract int complain(String callId, String description); + - (int)complain:(NSString * _Nonnull)callId description:(NSString * _Nullable)description; - virtual int complain(const char* callId, const char* description) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int complain(const char* callId, const char* description) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int Complain(FString callId, 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}); -

    + 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}); +

    详情 @@ -32,31 +32,37 @@
    参数 - - callId - 通话 ID。你可以通过调用 获取该参数。 - - - description - (非必选项)通话的描述。长度应小于 800 字节。 - -
    + + callId + 通话 ID。你可以通过调用 获取该参数。 + + + description + (非必选项)通话的描述。长度应小于 800 + 字节。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita b/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita index fb37187a981..bb5985a7da3 100644 --- a/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita @@ -13,36 +13,42 @@

    - public abstract int configRhythmPlayer(AgoraRhythmPlayerConfig config); - - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config; - virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int configRhythmPlayer(AgoraRhythmPlayerConfig config); + - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config; + virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract configRhythmPlayer(config: AgoraRhythmPlayerConfig): number; + public abstract int ConfigRhythmPlayer(AgoraRhythmPlayerConfig config); + abstract configRhythmPlayer(config: AgoraRhythmPlayerConfig): number; + Future<void> configRhythmPlayer(AgoraRhythmPlayerConfig config); +

    详情

    调用 后,你可以调用该方法重新配置虚拟节拍器。

    成功调用该方法后,SDK 会在本地触发 回调,报告虚拟节拍器的状态。

    -
    + +
    参数 - - config - 节拍器配置。详见 - -
    + + config + 节拍器配置。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_create.dita b/dita/RTC-NG/API/api_irtcengine_create.dita index bf693290093..2ae62c74fc2 100644 --- a/dita/RTC-NG/API/api_irtcengine_create.dita +++ b/dita/RTC-NG/API/api_irtcengine_create.dita @@ -13,61 +13,68 @@

    - public static synchronized RtcEngine create( + public static synchronized RtcEngine create( Context context, String appId, IRtcEngineEventHandler handler) throws Exception {} - + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId + + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; - - - - - -

    + + + + + +

    详情 -

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

    +

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

    -
      -
    • 请确保在调用其他 API 前先调用该方法创建并初始化
    • -
    • 调用该方法和 均能创建 实例。该方法与 的区别在于, 支持在创建 实例时进行更多配置,如指定访问区域、设置日志文件等。
    • -
    • SDK 只支持每个 App 创建一个 实例。
    • -
    + + +
    参数 - - context - - - - appId - - - - handler - delegate - 的事件句柄,详见 。 - - -
    + + context + + + + appId + + + + handler + delegate + 的事件句柄,详见 + + +
    - <ph props="apple">返回值</ph> - <ph props="android">返回/异常</ph> + <ph props="apple">返回值</ph> + <ph props="android">返回/异常</ph>
    +
  • 方法调用成功,返回一个 对象。
  • +
  • 方法调用失败,抛出异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
  • +
  • 方法调用失败,返回错误码:
  • + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_createcustomencodedvideotrack.dita b/dita/RTC-NG/API/api_irtcengine_createcustomencodedvideotrack.dita index cbba38145c4..9b0b00b5a72 100644 --- a/dita/RTC-NG/API/api_irtcengine_createcustomencodedvideotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_createcustomencodedvideotrack.dita @@ -13,39 +13,45 @@

    - public abstract int createCustomEncodedVideoTrack(EncodedVideoTrackOptions encodedOpt); - - (unsigned int)createCustomEncodedVideoTrack:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption; - virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0; - - - - -

    + public abstract int createCustomEncodedVideoTrack(EncodedVideoTrackOptions encodedOpt); + - (unsigned int)createCustomEncodedVideoTrack:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption; + virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0; + + + + +

    详情 -

    通过该方法你可以在频道中发布多路自定义采集视频。调用步骤如下: - -

    +

    通过该方法你可以在频道中发布多路自定义采集视频。调用步骤如下:

    参数 - - encodedOpt - encodedVideoTrackOption - sender_option - 视频编码选项。详见 - -
    + + encodedOpt + encodedVideoTrackOption + sender_option + 视频编码选项。详见 + + +
    返回值
    +
  • 0: 方法调用成功,返回视频轨道 ID,即 SDK 为该视频轨道生成的唯一标识。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita b/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita index ec005b23ed4..5ef9dd591c1 100644 --- a/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita @@ -13,31 +13,38 @@

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

    + abstract createCustomVideoTrack(): number; + public abstract video_track_id_t CreateCustomVideoTrack(); + abstract createCustomVideoTrack(): number; + Future<int> createCustomVideoTrack(); +

    详情 -

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

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

    +

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

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

    返回值
    +
  • 方法调用成功,返回视频轨道 ID 作为该视频轨道的唯一标识。
  • +
  • 方法调用失败,返回负值。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_createdatastream.dita b/dita/RTC-NG/API/api_irtcengine_createdatastream.dita index 0aeebfcbd3d..cf3517d650d 100644 --- a/dita/RTC-NG/API/api_irtcengine_createdatastream.dita +++ b/dita/RTC-NG/API/api_irtcengine_createdatastream.dita @@ -1,67 +1,73 @@ - <ph keyref="createDataStream1" /> + <ph keyref="createDataStream1"/> 创建数据流。 - +

    - public abstract int createDataStream(boolean reliable, boolean ordered); - - (int)createDataStream:(NSInteger * _Nonnull)streamId + public abstract int createDataStream(boolean reliable, boolean ordered); + - (int)createDataStream:(NSInteger * _Nonnull)streamId reliable:(BOOL)reliable ordered:(BOOL)ordered; - virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; - abstract createDataStream(config: DataStreamConfig): number; - public abstract int CreateDataStream(ref int streamId, bool reliable, bool ordered); - - Future<int> createDataStream(DataStreamConfig config); -

    + virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; + abstract createDataStream(config: DataStreamConfig): number; + public abstract int CreateDataStream(ref int streamId, bool reliable, bool ordered); + + Future<int> createDataStream(DataStreamConfig config); +

    详情 -

    生命周期内,每个用户最多只能创建 5 个数据流。离开频道时数据流会被销毁,如需使用需要重新创建数据流。

    +

    生命周期内,每个用户最多只能创建 5 + 个数据流。离开频道时数据流会被销毁,如需使用需要重新创建数据流。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 不可将 reliable 设为 且将 ordered 设为
    • -
    + + +
    参数 - - - - - - reliable - -

    该数据流是否可靠: - -

      -
    • : 接收方 5 秒内会收到发送方所发送的数据,否则会收到 回调并获得相应报错信息。
    • -
    • : 接收方不保证收到,就算数据丢失也不会报错。
    • -

    -
    -
    - - ordered - -

    该数据流是否有序: - -

      -
    • : 接收方会按照发送方发送的顺序收到数据包。
    • -
    • : 接收方不保证按照发送方发送的顺序收到数据包。
    • -

    -
    -
    -
    -
    + + + + + + reliable + +

    该数据流是否可靠:

      +
    • : 接收方 5 秒内会收到发送方所发送的数据,否则会收到 + 回调并获得相应报错信息。
    • +
    • : + 接收方不保证收到,就算数据丢失也不会报错。
    • +

    +
    +
    + + ordered + +

    该数据流是否有序:

      +
    • : 接收方会按照发送方发送的顺序收到数据包。
    • +
    • : + 接收方不保证按照发送方发送的顺序收到数据包。
    • +

    +
    +
    + +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita b/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita index a16118232f0..39252c1228d 100644 --- a/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita +++ b/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita @@ -1,53 +1,57 @@ - <ph keyref="createDataStream2" /> + <ph keyref="createDataStream2"/> 创建数据流。 - +

    - public abstract int createDataStream(DataStreamConfig config); - - (int)createDataStream:(NSInteger * _Nonnull)streamId + public abstract int createDataStream(DataStreamConfig config); + - (int)createDataStream:(NSInteger * _Nonnull)streamId config:(AgoraDataStreamConfig * _Nonnull)config; - virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int CreateDataStream(int& streamId, const FDataStreamConfig& config); - abstract createDataStream(config: DataStreamConfig): number; - public abstract int CreateDataStream(ref int streamId, DataStreamConfig config); - abstract createDataStream(config: DataStreamConfig): number; - Future<int> createDataStream(DataStreamConfig config); -

    + abstract createDataStream(config: DataStreamConfig): number; + public abstract int CreateDataStream(ref int streamId, DataStreamConfig config); + abstract createDataStream(config: DataStreamConfig): number; + Future<int> createDataStream(DataStreamConfig config); +

    详情

    该方法用于创建数据流。每个用户在每个频道中最多只能创建 5 个数据流。

    -

    相比 ,该方法不支持数据可靠。接收方会丢弃超出发送时间 5 秒后的数据包。

    +

    相比 ,该方法不支持数据可靠。接收方会丢弃超出发送时间 5 秒后的数据包。

    参数 - - streamId - 输出参数,创建好的数据流 ID。 - - - config - 数据流设置。详见 - -
    + + streamId + 输出参数,创建好的数据流 ID。 + + + config + 数据流设置。详见 + + +
    返回值
      -
    • 0: 创建数据流成功。
    • -
    • 创建的数据流的 ID:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 创建数据流成功。
  • +
  • 创建的数据流的 ID:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita b/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita index bc717a9d256..d41e1899c73 100644 --- a/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita @@ -1,45 +1,48 @@ - <ph keyref="createMediaPlayer" /> - 创建媒体播放器。创建 实例。 + <ph keyref="createMediaPlayer"/> + 创建媒体播放器。创建 实例。 - +

    - public abstract IMediaPlayer createMediaPlayer(); - - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate: + public abstract IMediaPlayer createMediaPlayer(); + - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate: (id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate; - virtual agora_refptr <IMediaPlayer> createMediaPlayer() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual agora_refptr <IMediaPlayer> createMediaPlayer() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") UIMediaPlayer* CreateMediaPlayer(); - abstract createMediaPlayer(): IMediaPlayer; - public abstract IMediaPlayer CreateMediaPlayer(); - abstract createMediaPlayer(): IMediaPlayer; - Future<MediaPlayer> createMediaPlayer(); -

    + abstract createMediaPlayer(): IMediaPlayer; + public abstract IMediaPlayer CreateMediaPlayer(); + abstract createMediaPlayer(): IMediaPlayer; + Future<MediaPlayer> createMediaPlayer(); +

    参数 - - delegate - - -
    + + delegate + + + +
    返回值
      -
    • 方法调用成功:返回 对象。
    • -
    • 方法调用失败:返回空指针。
    • +
    • 方法调用成功:返回 对象。
    • +
    • 方法调用失败:返回空指针。
    -

    返回一个 实例。

    -
    +

    返回一个 实例。

    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita b/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita index ae2068c307d..1fcfdda7b60 100644 --- a/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita +++ b/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita @@ -13,41 +13,46 @@

    - public abstract AgoraMediaRecorder createMediaRecorder(RecorderStreamInfo info); - - (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") + public abstract AgoraMediaRecorder createMediaRecorder(RecorderStreamInfo info); + - (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") 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);

    + abstract createMediaRecorder(info: RecorderStreamInfo): IMediaRecorder; + public abstract IMediaRecorder CreateMediaRecorder(RecorderStreamInfo info); + abstract createMediaRecorder(info: RecorderStreamInfo): IMediaRecorder; + Future<MediaRecorder?> createMediaRecorder(RecorderStreamInfo info); +

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

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

    -

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

    +

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

    +

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

    参数 - - info - 需要录制的音视频流相关信息,详见 - -
    + + info + 需要录制的音视频流相关信息,详见 + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_createrendererview.dita b/dita/RTC-NG/API/api_irtcengine_createrendererview.dita index 95bee390e48..ba7da0ee8bc 100644 --- a/dita/RTC-NG/API/api_irtcengine_createrendererview.dita +++ b/dita/RTC-NG/API/api_irtcengine_createrendererview.dita @@ -13,37 +13,38 @@

    - public static SurfaceView CreateRendererView(Context context) { + public static SurfaceView CreateRendererView(Context context) { return new SurfaceView(context); - - - - - - -

    + + + + + + +

    详情
    - -
    弃用:
    -
    此方法已废弃。请使用 Android 原生的
    -
    + +
    弃用:
    +
    此方法已废弃。请使用 Android 原生的
    +
    -

    该方法创建视频 RendererView,返回 SurfaceView 的类型。 View 的操作和布局由 App 管理,SDK 在 App 提供的 View 上进行渲染。 显示视频视图必须调用该方法,而不是直接调用 SurfaceView。

    -

    如果你需要使用 SurfaceView,请调用本方法;如果你需要使用 TextureView,请调用 方法。 - - 请在主线程调用该方法。

    +

    该方法创建视频 RendererView,返回 SurfaceView 的类型。 View 的操作和布局由 App 管理,SDK 在 App 提供的 View + 上进行渲染。 显示视频视图必须调用该方法,而不是直接调用 SurfaceView。

    +

    如果你需要使用 SurfaceView,请调用本方法;如果你需要使用 TextureView,请调用 + 方法。 请在主线程调用该方法。

    参数 - - context - 安卓活动 (Android Activity) 的上下文。 - -
    + + context + 安卓活动 (Android Activity) 的上下文。 + + +
    返回值

    SurfaceView

    diff --git a/dita/RTC-NG/API/api_irtcengine_createtextureview.dita b/dita/RTC-NG/API/api_irtcengine_createtextureview.dita index ddc4eec9d35..5ad230237fc 100644 --- a/dita/RTC-NG/API/api_irtcengine_createtextureview.dita +++ b/dita/RTC-NG/API/api_irtcengine_createtextureview.dita @@ -13,15 +13,15 @@

    - public static TextureView CreateTextureView(Context context) { + public static TextureView CreateTextureView(Context context) { return new TextureView(context); - - - - - - -

    + + + + + + +

    详情 @@ -31,19 +31,20 @@
    此方法已废弃。请使用 Android 原生的
    -

    该方法创建 TextureView,适用于需要对视频画面进行缩放、旋转和平移的场景,如屏幕共享。View 的操作和布局由 App 管理,SDK 仅在 App 提供的 View 上进行渲染。

    -

    如果你需要使用 TextureView,请调用本方法;如果你需要使用 SurfaceView,请调用 方法。 - - 请在主线程调用该方法。

    +

    该方法创建 TextureView,适用于需要对视频画面进行缩放、旋转和平移的场景,如屏幕共享。View 的操作和布局由 App 管理,SDK 仅在 App 提供的 + View 上进行渲染。

    +

    如果你需要使用 TextureView,请调用本方法;如果你需要使用 SurfaceView,请调用 方法。 请在主线程调用该方法。

    参数 - - context - 安卓活动 (Android Activity) 的上下文。 - -
    + + context + 安卓活动 (Android Activity) 的上下文。 + + +
    返回值

    TextureView

    diff --git a/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita b/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita index 0358186acce..e75be70fe1a 100644 --- a/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita +++ b/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita @@ -14,41 +14,43 @@

    - - - - - - - -

    + + + + + + + +

    详情
    - -
    废弃:
    -
    请改用
    -
    + +
    废弃:
    +
    请改用
    +
    参数 - - appId - 你的项目的 App ID。 - - - areaCode - 区域代码。详见 - -
    + + appId + 你的项目的 App ID。 + + + areaCode + 区域代码。详见 + + +
    返回值
    +
  • 方法调用成功,返回一个 对象。
  • +
  • 方法调用失败,返回错误码。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita b/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita index 1017d47b73f..fc3a3e2f3a4 100644 --- a/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita +++ b/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita @@ -13,37 +13,39 @@

    - - - - - - - -

    + + + + + + + +

    详情
    - -
    废弃:
    -
    请改用
    -
    + +
    废弃:
    +
    请改用
    +
    参数 - - - - -
    + + + + + +
    返回值
    +
  • 方法调用成功,返回一个 对象。
  • +
  • 方法调用失败,返回错误码。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_delegate.dita b/dita/RTC-NG/API/api_irtcengine_delegate.dita index 19929bb4b35..1e559517433 100644 --- a/dita/RTC-NG/API/api_irtcengine_delegate.dita +++ b/dita/RTC-NG/API/api_irtcengine_delegate.dita @@ -2,7 +2,8 @@ <ph keyref="delegate"/> - 设置并获得 + 设置并获得 @@ -13,18 +14,19 @@

    - - @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate; - - - - - -

    + + @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate; + + + + + +

    详情 -

    SDK 通过 类向 App 报告 SDK 运行时的各种事件。该类中定义的所有方法都是可选的实现方法。

    +

    SDK 通过 类向 App 报告 SDK + 运行时的各种事件。该类中定义的所有方法都是可选的实现方法。

    diff --git a/dita/RTC-NG/API/api_irtcengine_destroycustomencodedvideotrack.dita b/dita/RTC-NG/API/api_irtcengine_destroycustomencodedvideotrack.dita index fc5a64e1782..9d5402f9479 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroycustomencodedvideotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroycustomencodedvideotrack.dita @@ -13,14 +13,14 @@

    - public abstract int destroyCustomEncodedVideoTrack(int video_track_id); - - (int)destroyCustomEncodedVideoTrack:(NSUInteger)position; - virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0; - - - - -

    + public abstract int destroyCustomEncodedVideoTrack(int video_track_id); + - (int)destroyCustomEncodedVideoTrack:(NSUInteger)position; + virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0; + + + + +

    详情 @@ -29,18 +29,21 @@
    参数 - - video_track_id - position - 视频轨道 ID,即通过 方法生成的视频轨道的唯一标识。 - -
    + + video_track_id + position + 视频轨道 ID,即通过 + 方法生成的视频轨道的唯一标识。 + + +
    返回值 +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
    diff --git a/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita b/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita index 1186782c694..ba33a394de4 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita @@ -13,32 +13,37 @@

    - public abstract int destroyCustomVideoTrack(int video_track_id); - - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId; - virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int destroyCustomVideoTrack(int video_track_id); + - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId; + virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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。 + + +
    <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 66ea87e58cc..7c4e98d069f 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita @@ -1,48 +1,52 @@ - <ph keyref="destroyMediaPlayer" /> + <ph keyref="destroyMediaPlayer"/> 销毁媒体播放器。 - +

    - int destroy(); + int destroy(); - - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer; + - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer; - virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int DestroyMediaPlayer(UIMediaPlayer* media_player); - abstract destroyMediaPlayer(mediaPlayer: IMediaPlayer): number; - public abstract int DestroyMediaPlayer(IMediaPlayer mediaPlayer); - abstract destroyMediaPlayer(mediaPlayer: IMediaPlayer): number; - Future<void> destroyMediaPlayer(MediaPlayer mediaPlayer); -

    + abstract destroyMediaPlayer(mediaPlayer: IMediaPlayer): number; + public abstract int DestroyMediaPlayer(IMediaPlayer mediaPlayer); + abstract destroyMediaPlayer(mediaPlayer: IMediaPlayer): number; + Future<void> destroyMediaPlayer(MediaPlayer mediaPlayer); +

    参数 - - mediaPlayer - media_player - -

    对象。

    -
    -
    -
    + + mediaPlayer + media_player + +

    对象。

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

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

    +

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

      -
    • ≥ 0: 方法调用成功,返回媒体播放器 ID
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • ≥ 0: 方法调用成功,返回媒体播放器 ID
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita b/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita index 38fcbb05e81..e2dec539fbb 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita @@ -13,34 +13,37 @@

    - public abstract void destroyMediaRecorder(AgoraMediaRecorder mediaRecorder); - - (int)destroyMediaRecorder:(AgoraMediaRecorder * _Nullable)mediaRecorder; - virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract void destroyMediaRecorder(AgoraMediaRecorder mediaRecorder); + - (int)destroyMediaRecorder:(AgoraMediaRecorder * _Nullable)mediaRecorder; + 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);

    + abstract destroyMediaRecorder(mediaRecorder: IMediaRecorder): number; + public abstract int DestroyMediaRecorder(IMediaRecorder mediaRecorder); + abstract destroyMediaRecorder(mediaRecorder: IMediaRecorder): number; + Future<void> destroyMediaRecorder(MediaRecorder mediaRecorder); +

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

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

    +

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

    参数 - - mediaRecorder - 待销毁的音视频录制对象。 - -
    + + mediaRecorder + 待销毁的音视频录制对象。 + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_destroyrenderer.dita b/dita/RTC-NG/API/api_irtcengine_destroyrenderer.dita index e015a9fd88f..a3212a59ea4 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroyrenderer.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroyrenderer.dita @@ -13,14 +13,14 @@

    - - - - - - - -

    + + + + + + + +

    详情 @@ -29,10 +29,11 @@
    参数 - - user - 视频所属的用户,详见 - -
    + + user + 视频所属的用户,详见 + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_destroyrendererbyconfig.dita b/dita/RTC-NG/API/api_irtcengine_destroyrendererbyconfig.dita index 59f520ea1fe..931dfac99d0 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroyrendererbyconfig.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroyrendererbyconfig.dita @@ -1,43 +1,45 @@ - <ph keyref="destroyRendererByConfig" /> + <ph keyref="destroyRendererByConfig"/> 销毁多个视频渲染器对象。 - +

    - - - - abstract destroyRendererByConfig(sourceType: VideoSourceType, channelId?: string, uid?: number): void; - - -

    + + + + abstract destroyRendererByConfig(sourceType: VideoSourceType, channelId?: string, uid?: number): void; + + + +

    参数 - - - - - - channelId - -

    - - - - uid - 远端用户 ID。 - -

    + + + + + + channelId + +

    + + + + uid + 远端用户 ID。 + + + - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_destroyrendererbyview.dita b/dita/RTC-NG/API/api_irtcengine_destroyrendererbyview.dita index 9777b0dfe2d..bf1aaefa4d2 100644 --- a/dita/RTC-NG/API/api_irtcengine_destroyrendererbyview.dita +++ b/dita/RTC-NG/API/api_irtcengine_destroyrendererbyview.dita @@ -1,33 +1,35 @@ - <ph keyref="destroyRendererByView" /> + <ph keyref="destroyRendererByView"/> 销毁单个视频渲染器对象。 - +

    - - - - abstract destroyRendererByView(view: any): void; - - -

    + + + + abstract destroyRendererByView(view: any): void; + + + +

    参数 - - view - 需要销毁的 HTMLElement 对象。 - -
    + + view + 需要销毁的 HTMLElement 对象。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_devicemanager.dita b/dita/RTC-NG/API/api_irtcengine_devicemanager.dita index 21c138bbb5b..591f14c9878 100644 --- a/dita/RTC-NG/API/api_irtcengine_devicemanager.dita +++ b/dita/RTC-NG/API/api_irtcengine_devicemanager.dita @@ -2,7 +2,8 @@ <ph keyref="deviceManager"/> - 获取 类。 + 获取 + 类。 @@ -13,14 +14,14 @@

    - - - - - - - -

    + + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_disableaudio.dita b/dita/RTC-NG/API/api_irtcengine_disableaudio.dita index 585b4c48baa..ff3f9fb6f42 100644 --- a/dita/RTC-NG/API/api_irtcengine_disableaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_disableaudio.dita @@ -1,50 +1,54 @@ - <ph keyref="disableAudio" /> + <ph keyref="disableAudio"/> 关闭音频模块。 - +

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

    + abstract disableAudio(): number; + public abstract int DisableAudio(); + abstract disableAudio(): number; + Future<void> disableAudio(); +

    详情 -
      -
    • 该方法设置内部引擎为禁用状态,在频道内和频道外均可调用。离开频道后仍然有效。
    • -
    • 该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制音频模块: -
        -
      • :是否启动麦克风采集并创建本地音频流。
      • -
      • :是否开启声卡采集。
      • -
      • :是否发布本地音频流。
      • -
      • :是否接收并播放远端音频流。
      • -
      • :是否接收并播放所有远端音频流。
      • -
    • -
    +
  • 该方法设置内部引擎为禁用状态,在频道内和频道外均可调用。离开频道后仍然有效。
  • +
  • 该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制音频模块:
      +
    • :是否启动麦克风采集并创建本地音频流。
    • +
    • :是否开启声卡采集。
    • +
    • :是否发布本地音频流。
    • +
    • :是否接收并播放远端音频流。
    • +
    • :是否接收并播放所有远端音频流。
    • +
  • + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita b/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita index 88aa42f2c7c..3fa192d6e37 100644 --- a/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita +++ b/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita @@ -1,41 +1,44 @@ - <ph keyref="disableAudioSpectrumMonitor" /> + <ph keyref="disableAudioSpectrumMonitor"/> 关闭音频频谱监测。 - +

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

    + abstract disableAudioSpectrumMonitor(): number; + public abstract int DisableAudioSpectrumMonitor(); + abstract disableAudioSpectrumMonitor(): number; + Future<void> disableAudioSpectrumMonitor(); +

    详情 -

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

    +

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

    -

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

    +

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

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_disablelastmiletest.dita b/dita/RTC-NG/API/api_irtcengine_disablelastmiletest.dita index fdcb5330557..344bc961fef 100644 --- a/dita/RTC-NG/API/api_irtcengine_disablelastmiletest.dita +++ b/dita/RTC-NG/API/api_irtcengine_disablelastmiletest.dita @@ -13,20 +13,22 @@

    - - - virtual int disableLastmileTest() = 0; - - public abstract int DisableLastmileTest(); - - -

    + + + virtual int disableLastmileTest() = 0; + + public abstract int DisableLastmileTest(); + + +

    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_disablevideo.dita b/dita/RTC-NG/API/api_irtcengine_disablevideo.dita index 570145cc6b2..724230de872 100644 --- a/dita/RTC-NG/API/api_irtcengine_disablevideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_disablevideo.dita @@ -1,51 +1,56 @@ - <ph keyref="disableVideo" /> + <ph keyref="disableVideo"/> 关闭视频模块。 - +

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

    + abstract disableVideo(): number; + public abstract int DisableVideo(); + abstract disableVideo(): number; + Future<void> disableVideo(); +

    详情 -

    该方法用于关闭视频模块,可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频模式。 调用 方法可开启视频模式。

    -

    成功调用该方法后,远端会触发 () 回调。

    +

    该方法用于关闭视频模块,可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频模式。 调用 方法可开启视频模式。

    +

    成功调用该方法后,远端会触发 () 回调。

    -
      -
    • 该方法设置的是内部引擎为禁用状态,在离开频道后仍然有效。
    • -
    • 该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制视频模块: -
        -
      • : 是否启动摄像头采集并创建本地视频流。
      • -
      • : 是否发布本地视频流。
      • -
      • : 是否接收并播放远端视频流。
      • -
      • : 是否接收并播放所有远端视频流。
      • -
    • -
    +
  • 该方法设置的是内部引擎为禁用状态,在离开频道后仍然有效。
  • +
  • 该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制视频模块:
      +
    • : 是否启动摄像头采集并创建本地视频流。
    • +
    • : 是否发布本地视频流。
    • +
    • : 是否接收并播放远端视频流。
    • +
    • : 是否接收并播放所有远端视频流。
    • +
  • + +
    <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 1d0b77d99d9..f88bb6cbabb 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableaudio.dita @@ -1,51 +1,56 @@ - <ph keyref="enableAudio" /> + <ph keyref="enableAudio"/> 启用音频模块。 - +

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

    + abstract enableAudio(): number; + public abstract int EnableAudio(); + abstract enableAudio(): number; + Future<void> enableAudio(); +

    详情

    启用音频模块(默认为开启状态)。

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableaudioqualityindication.dita b/dita/RTC-NG/API/api_irtcengine_enableaudioqualityindication.dita index f0f35ec3f57..f55d6073fc0 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableaudioqualityindication.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableaudioqualityindication.dita @@ -13,42 +13,43 @@

    - public abstract int enableAudioQualityIndication(boolean enabled); - - - - - - -

    + public abstract int enableAudioQualityIndication(boolean enabled); + + + + + + +

    详情
    - -
    弃用:
    -
    从 v2.4.1 起废弃。
    -
    + +
    弃用:
    +
    从 v2.4.1 起废弃。
    +
    参数 - - enabled - 是否启用音频质量通知回调。 - -
      -
    • : 启用。
    • -
    • : (默认)禁用。
    • -
    -
    -
    + + enabled + 是否启用音频质量通知回调。
      +
    • : 启用。
    • +
    • : (默认)禁用。
    • +
    +
    + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita b/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita index 50bdbc64c14..7ed0712555d 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita @@ -13,42 +13,49 @@

    - public abstract int enableAudioSpectrumMonitor(int intervalInMS); - - (int)enableAudioSpectrumMonitor:(int)intervalInMS; - virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableAudioSpectrumMonitor(int intervalInMS); + - (int)enableAudioSpectrumMonitor:(int)intervalInMS; + virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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}); -

    + abstract enableAudioSpectrumMonitor(intervalInMS?: number): number; + public abstract int EnableAudioSpectrumMonitor(int intervalInMS = 100); + abstract enableAudioSpectrumMonitor(intervalInMS?: number): number; + Future<void> enableAudioSpectrumMonitor({int intervalInMS = 100}); +

    详情

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

    -

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

    -
    +

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

    + +
    参数 - - intervalInMS - -

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

    -
    -
    -
    + + intervalInMS + +

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

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

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita b/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita index 880343e6b6f..69555838a97 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita @@ -1,74 +1,87 @@ - <ph keyref="enableAudioVolumeIndication" /> + <ph keyref="enableAudioVolumeIndication"/> 启用用户音量提示。 - +

    - public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean reportVad); - - (int)enableAudioVolumeIndication:(NSInteger)interval + public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean reportVad); + - (int)enableAudioVolumeIndication:(NSInteger)interval smooth:(NSInteger)smooth reportVad:(BOOL)reportVad; - virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); - abstract enableAudioVolumeIndication( + abstract enableAudioVolumeIndication( interval: number, smooth: number, reportVad: boolean ): number; - public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); - abstract enableAudioVolumeIndication( + public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); + abstract enableAudioVolumeIndication( interval: number, smooth: number, reportVad: boolean ): number; - Future<void> enableAudioVolumeIndication( + Future<void> enableAudioVolumeIndication( {required int interval, required int smooth, required bool reportVad}); -

    +

    详情 -

    该方法允许 SDK 定期向 App 报告本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息。启用该方法后,只要频道内有发流用户,SDK 会在加入频道后按设置的时间间隔触发 回调。

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

    该方法允许 SDK 定期向 App 报告本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息。启用该方法后,只要频道内有发流用户,SDK + 会在加入频道后按设置的时间间隔触发 回调。

    + 该方法在加入频道前后都能调用。 +
    参数 - - interval - 指定音量提示的时间间隔: -
      -
    • ≤ 0: 禁用音量提示功能。
    • -
    • > 0: 返回音量提示的间隔,单位为毫秒。建议设置到大于 100 毫秒,不得小于 10 毫秒,否则会收不到 回调。
    • -
    -
    - - smooth - 平滑系数,指定音量提示的灵敏度。取值范围为 [0,10],建议值为 3。数字越大,波动越灵敏;数字越小,波动越平滑。 - - - reportVad - -
      -
    • :开启本地人声检测功能。开启后, 回调的 vad 参数会报告是否在本地检测到人声。
    • -
    • :(默认)关闭本地人声检测功能。除引擎自动进行本地人声检测的场景外, 回调的 vad 参数不会报告是否在本地检测到人声。
    • -
    -
    -
    + + interval + 指定音量提示的时间间隔:
      +
    • ≤ 0: 禁用音量提示功能。
    • +
    • > 0: 返回音量提示的间隔,单位为毫秒。建议设置到大于 100 毫秒,不得小于 10 毫秒,否则会收不到 回调。
    • +
    +
    + + smooth + 平滑系数,指定音量提示的灵敏度。取值范围为 [0,10],建议值为 3。数字越大,波动越灵敏;数字越小,波动越平滑。 + + + reportVad + +
      +
    • :开启本地人声检测功能。开启后, 回调的 vad + 参数会报告是否在本地检测到人声。
    • +
    • :(默认)关闭本地人声检测功能。除引擎自动进行本地人声检测的场景外, 回调的 vad + 参数不会报告是否在本地检测到人声。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita b/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita index 3244f06e1e9..e9b2a755796 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita @@ -13,23 +13,25 @@

    - - - (int)enableCameraCenterStage:(BOOL)enabled NS_SWIFT_NAME(enableCameraCenterStage(_:)); - virtual int enableCameraCenterStage(bool enabled) = 0; - - abstract enableCameraCenterStage(enabled: boolean): number; - public abstract int EnableCameraCenterStage(bool enabled); - abstract enableCameraCenterStage(enabled: boolean): number; - Future<void> enableCameraCenterStage(bool enabled);

    + + - (int)enableCameraCenterStage:(BOOL)enabled NS_SWIFT_NAME(enableCameraCenterStage(_:)); + virtual int enableCameraCenterStage(bool enabled) = 0; + + abstract enableCameraCenterStage(enabled: boolean): number; + public abstract int EnableCameraCenterStage(bool enabled); + abstract enableCameraCenterStage(enabled: boolean): number; + Future<void> enableCameraCenterStage(bool enabled); +

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

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

    +

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

    该方法仅适用于 iOS 和 macOS。 该方法仅适用于 iOS。 该方法仅适用于 macOS。 @@ -40,19 +42,21 @@
    调用时机 -

    该方法必须在摄像头成功开启后调用,即 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 的外接摄像头使用)
  • +

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

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

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

    +

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

    -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + + diff --git a/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita b/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita index ef95546a5ba..1672a9fa49a 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita @@ -13,53 +13,60 @@

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

    +

    详情 -

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

    - 调用该方法前,请确保已开通视频截图上传服务。 +

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

    + 调用该方法前,请确保已开通视频截图上传服务。
    参数 - - enabled - 设置是否开启视频截图上传视频内容审核: -
      -
    • :开启视频截图上传
    • -
    • :关闭视频截图上传
    • -
    -
    - - config - 视频截图上传配置。详见 - 视频审核模块选择声网自研插件截图上传()时需集成视频截图上传动态库 ,如果删除该动态库会导致无法正常开启视频截图上传功能。 - - -
    + + enabled + 设置是否开启视频截图上传视频内容审核
      +
    • :开启视频截图上传
    • +
    • :关闭视频截图上传
    • +
    +
    + + config + 视频截图上传配置。详见 + 视频审核模块选择声网自研插件截图上传()时需集成视频截图上传动态库 ,如果删除该动态库会导致无法正常开启视频截图上传功能。 + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    diff --git a/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita b/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita index c81c8b0d502..0765a13e2fc 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita @@ -26,31 +26,38 @@ enabled: boolean ): number; Future<void> enableCustomAudioLocalPlayback( - {required int trackId, required bool enabled}); + {required int trackId, required bool enabled}); +
    详情 -

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

    +

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

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

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

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enabledualstreammode.dita b/dita/RTC-NG/API/api_irtcengine_enabledualstreammode.dita index ae46f165e14..5e6899459e6 100644 --- a/dita/RTC-NG/API/api_irtcengine_enabledualstreammode.dita +++ b/dita/RTC-NG/API/api_irtcengine_enabledualstreammode.dita @@ -1,25 +1,26 @@ - <ph keyref="enableDualStreamMode" /> + <ph keyref="enableDualStreamMode"/> 在发送端开启或关闭双流模式。 - +

    - public abstract int enableDualStreamMode(boolean enabled); - - (int)enableDualStreamMode:(BOOL)enabled; - virtual int enableDualStreamMode(bool enabled) = 0; - - public abstract int EnableDualStreamMode(bool enabled); - -

    + public abstract int enableDualStreamMode(boolean enabled); + - (int)enableDualStreamMode:(BOOL)enabled; + virtual int enableDualStreamMode(bool enabled) = 0; + + public abstract int EnableDualStreamMode(bool enabled); + + +

    详情 @@ -28,34 +29,36 @@
    弃用:
    从 v4.2.0 起废弃,请改用
    - -

    双流指视频大流和视频小流: -

      -
    • 视频大流:高分辨率、高帧率的视频流。
    • -
    • 视频小流:低分辨率、低帧率的视频流。
    • -

    -

    开启双流模式后,你可以在收流端调用 选择接收视频大流或视频小流。

    + +

    双流指视频大流和视频小流:

      +
    • 视频大流:高分辨率、高帧率的视频流。
    • +
    • 视频小流:低分辨率、低帧率的视频流。
    • +

    +

    开启双流模式后,你可以在收流端调用 选择接收视频大流或视频小流。

    -
    +
    参数 - - enabled - -

    是否开启双流模式。 -

      -
    • : 开启双流模式。
    • -
    • : (默认) 关闭双流模式。
    • -

    -
    -
    -
    + + enabled + +

    是否开启双流模式。

      +
    • : 开启双流模式。
    • +
    • : (默认) 关闭双流模式。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita b/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita index 2c396c2e966..d714c7cd8bc 100644 --- a/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita +++ b/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita @@ -1,80 +1,83 @@ - <ph keyref="enableDualStreamMode2" /> + <ph keyref="enableDualStreamMode2"/> 开关双流模式。 - +

    - public abstract int enableDualStreamMode(Constants.VideoSourceType sourceType, boolean enabled); - - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled; - virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0; - abstract enableDualStreamMode( + public abstract int enableDualStreamMode(Constants.VideoSourceType sourceType, boolean enabled); + - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled; + virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0; + abstract enableDualStreamMode( enabled: boolean, sourceType?: VideoSourceType, streamConfig?: SimulcastStreamConfig ): number; - public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled); - abstract enableDualStreamMode( + public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled); + abstract enableDualStreamMode( enabled: boolean, sourceType?: VideoSourceType, streamConfig?: SimulcastStreamConfig ): number; - Future<void> enableDualStreamMode(bool enabled); -

    + Future<void> enableDualStreamMode(bool enabled); +

    详情 -
    +
    弃用:
    从 v4.2.0 起废弃,请改用
    -
    -

    你可以在发流端调用该方法开启或关闭双流模式。双流指视频大流和视频小流: -

      -
    • 视频大流:高分辨率、高帧率的视频流。
    • -
    • 视频小流:低分辨率、低帧率的视频流。
    • -

    -

    开启双流模式后,你可以在收流端调用 选择接收视频大流或视频小流。

    +
    +

    你可以在发流端调用该方法开启或关闭双流模式。双流指视频大流和视频小流:

      +
    • 视频大流:高分辨率、高帧率的视频流。
    • +
    • 视频小流:低分辨率、低帧率的视频流。
    • +

    +

    开启双流模式后,你可以在收流端调用 + 选择接收视频大流或视频小流。

    -
      -
    • 该方法适用于发送端发送的所有类型的流,包括且不限于来自摄像头采集的视频流、屏幕共享流、自定义采集的视频流。
    • -
    • 如果需要在多频道场景下开启视频双流,可以调用 方法。
    • -
    • 该方法可以在加入频道前后调用。
    • +
        +
      • 该方法适用于发送端发送的所有类型的流,包括且不限于来自摄像头采集的视频流、屏幕共享流、自定义采集的视频流。
      • +
      • 如果需要在多频道场景下开启视频双流,可以调用 方法。
      • +
      • 该方法可以在加入频道前后调用。
    参数 - - sourceType - -

    视频源的类型。详见

    -
    -
    - - enabled - -

    是否开启双流模式: -

      -
    • : 开启双流模式。
    • -
    • : 关闭双流模式。
    • -

    -
    -
    -
    + + sourceType + +

    视频源的类型。详见

    +
    +
    + + enabled + +

    是否开启双流模式:

      +
    • : 开启双流模式。
    • +
    • : 关闭双流模式。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。 详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enabledualstreammode3.dita b/dita/RTC-NG/API/api_irtcengine_enabledualstreammode3.dita index 49f46a5689f..69338fc7adf 100644 --- a/dita/RTC-NG/API/api_irtcengine_enabledualstreammode3.dita +++ b/dita/RTC-NG/API/api_irtcengine_enabledualstreammode3.dita @@ -13,54 +13,61 @@

    - public abstract int enableDualStreamMode(boolean enabled, SimulcastStreamConfig streamConfig); - - (int)enableDualStreamMode:(BOOL)enabled + public abstract int enableDualStreamMode(boolean enabled, SimulcastStreamConfig streamConfig); + - (int)enableDualStreamMode:(BOOL)enabled streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig; - virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableDualStreamMode(bool enabled, const FSimulcastStreamConfig& streamConfig); - abstract enableDualStreamMode( + abstract enableDualStreamMode( enabled: boolean, streamConfig?: SimulcastStreamConfig ): number; - public abstract int EnableDualStreamMode(bool enabled, SimulcastStreamConfig streamConfig); - abstract enableDualStreamMode( + public abstract int EnableDualStreamMode(bool enabled, SimulcastStreamConfig streamConfig); + abstract enableDualStreamMode( enabled: boolean, streamConfig?: SimulcastStreamConfig ): number; - Future<void> enableDualStreamMode( + Future<void> enableDualStreamMode( {required bool enabled, SimulcastStreamConfig? streamConfig}); -

    +

    -
    +
    参数 - - enabled - -

    是否开启双流模式: - -

      -
    • : 开启双流模式。
    • -
    • : (默认) 关闭双流模式。
    • -

    -
    -
    - - streamConfig - -

    视频小流的配置。详见 。 - 当设置 mode 时,再设置 streamConfig 不会生效。

    -
    -
    -
    + + enabled + +

    是否开启双流模式:

      +
    • : 开启双流模式。
    • +
    • : (默认) 关闭双流模式。
    • +
    +

    +
    +
    + + streamConfig + +

    视频小流的配置。详见 当设置 + mode 时,再设置 + streamConfig 不会生效。

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。 详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableechocancellationexternal.dita b/dita/RTC-NG/API/api_irtcengine_enableechocancellationexternal.dita index 17f587fcc03..e96feccaa39 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableechocancellationexternal.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableechocancellationexternal.dita @@ -1,67 +1,72 @@ - <ph keyref="enableEchoCancellationExternal" /> + <ph keyref="enableEchoCancellationExternal"/> 开启/关闭自定义回声消除。 - +

    - public abstract int enableEchoCancellationExternal(boolean enabled, int audioSourceDelay); - - (int)enableEchoCancellationExternal:(BOOL)enabled + public abstract int enableEchoCancellationExternal(boolean enabled, int audioSourceDelay); + - (int)enableEchoCancellationExternal:(BOOL)enabled audioSourceDelay:(NSInteger)audioSourceDelay; - virtual int enableEchoCancellationExternal(bool enabled, int audioSourceDelay) = 0; - abstract enableEchoCancellationExternal( + virtual int enableEchoCancellationExternal(bool enabled, int audioSourceDelay) = 0; + abstract enableEchoCancellationExternal( enabled: boolean, audioSourceDelay: number ): number; - public abstract int EnableEchoCancellationExternal(bool enabled, int audioSourceDelay); - abstract enableEchoCancellationExternal( + public abstract int EnableEchoCancellationExternal(bool enabled, int audioSourceDelay); + abstract enableEchoCancellationExternal( enabled: boolean, audioSourceDelay: number ): number; - Future<void> enableEchoCancellationExternal( + Future<void> enableEchoCancellationExternal( {required bool enabled, required int audioSourceDelay}); -

    +

    详情

    调用该方法后,你可以将外部音频帧推送到自定义音频模块进行回声消除。

    - 你需要在调用 之后、加入频道之前调用该方法。
    + 你需要在调用 + 之后、加入频道之前调用该方法。 +
    参数 - - enabled - 设置是否开启自定义回声消除: - -
      -
    • :开启。
    • -
    • :关闭。
    • -
    -
    - - audioSourceDelay - 设置推送音频帧到发布音频帧中间的时间(毫秒)。取值范围为 [0,30]。 - -
      -
    • 如需调用 ,请确保该参数设为 0。
    • -
    • 如需调用 或处理声卡采集的音频帧,请确保该参数为 10 的整数倍。
    • -
    -
    -
    + + enabled + 设置是否开启自定义回声消除:
      +
    • :开启。
    • +
    • :关闭。
    • +
    +
    +
    + + audioSourceDelay + 设置推送音频帧到发布音频帧中间的时间(毫秒)。取值范围为 [0,30]。
      +
    • 如需调用 ,请确保该参数设为 0。
    • +
    • 如需调用 或处理声卡采集的音频帧,请确保该参数为 10 + 的整数倍。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enableencryption.dita b/dita/RTC-NG/API/api_irtcengine_enableencryption.dita index f09a2f40325..c224e770260 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableencryption.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableencryption.dita @@ -1,66 +1,75 @@ - <ph keyref="enableEncryption" /> - 开启或关闭内置加密。 + + <ph keyref="enableEncryption"/> + + + 开启或关闭内置加密。 + - +

    - public abstract int enableEncryption(boolean enabled, EncryptionConfig config); - - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config; - virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableEncryption(boolean enabled, EncryptionConfig config); + - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config; + virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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( + 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 + 会自动关闭加密。如需重新开启加密,你需要在用户再次加入频道前调用该方法。

    + 如果开启了内置加密,则不能使用旁路推流功能。 +
    参数 - - enabled - -

    是否开启内置加密: - -

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

    -
    -
    - - config - 配置内置加密模式和密钥。详见 - -
    + + enabled + +

    是否开启内置加密:

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

    +
    +
    + + config + 配置内置加密模式和密钥。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败 - -
        -
      • -2: 调用了无效的参数。需重新指定参数。
      • -
      • -4: 设置的加密模式不正确或加载外部加密库失败。需检查枚举值是否正确或重新加载外部加密库。
      • -
      • -7: SDK 尚未初始化。需在调用 API 之前已创建 对象并完成初始化。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败
      +
    • -2: 调用了无效的参数。需重新指定参数。
    • +
    • -4: 设置的加密模式不正确或加载外部加密库失败。需检查枚举值是否正确或重新加载外部加密库。
    • +
    • -7: SDK 尚未初始化。需在调用 API 之前已创建 + 对象并完成初始化。
    • +
    +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableextension.dita b/dita/RTC-NG/API/api_irtcengine_enableextension.dita index c1db2b0c4e5..9cdfb11687b 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableextension.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableextension.dita @@ -1,94 +1,97 @@ - <ph keyref="enableExtension" /> + <ph keyref="enableExtension"/> 启用/禁用插件。 - +

    - public abstract int enableExtension( + public abstract int enableExtension( String provider, String extension, boolean enable, Constants.MediaSourceType sourceType); - - (int)enableExtensionWithVendor:(NSString * __nonnull)provider + - (int)enableExtensionWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension enabled:(BOOL)enabled sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:)); - virtual int enableExtension(const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + 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|RtcEngineProxy") int EnableExtension(FString provider, FString extension, bool enable = true, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE); - abstract enableExtension( + abstract enableExtension( provider: string, extension: string, enable?: boolean, type?: MediaSourceType ): number; - public abstract int EnableExtension(string provider, string extension, bool enable = true, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); - abstract enableExtension( + public abstract int EnableExtension(string provider, string extension, bool enable = true, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); + abstract enableExtension( provider: string, extension: string, enable?: boolean, type?: MediaSourceType ): number; - Future<void> enableExtension( + Future<void> enableExtension( {required String provider, required String extension, bool enable = true, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

    详情 -

    如需调用本方法,请在初始化 对象后立即调用。

    +

    如需调用本方法,请在初始化 对象后立即调用。

      -
    • 如果要开启多个插件,需要多次调用该方法。
    • -
    • 不同插件在 SDK 中处理数据的顺序由插件的开通顺序决定。即先开启的插件会先处理数据。
    • -
    +
  • 如果要开启多个插件,需要多次调用该方法。
  • +
  • 不同插件在 SDK 中处理数据的顺序由插件的开通顺序决定。即先开启的插件会先处理数据。
  • + + +
    参数 - - - - - - - - - - enable - enabled - -

    是否启用插件: - -

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

    -
    -
    - - type - sourceType - 插件的媒体源类型。详见 - -
    + + + + + + + + + + enable + enabled + +

    是否启用插件:

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

    +
    +
    + + type + sourceType + 插件的媒体源类型。详见 + + +
    <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 9cb0a9827a5..ae24b9d3945 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita @@ -1,62 +1,66 @@ - <ph keyref="enableFaceDetection" /> + <ph keyref="enableFaceDetection"/> 开启/关闭本地人脸检测。 - +

    - public abstract int enableFaceDetection(boolean enabled); - - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:)); - virtual int enableFaceDetection(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableFaceDetection(boolean enabled); + - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:)); + virtual int enableFaceDetection(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + public abstract int EnableFaceDetection(bool enabled); + abstract enableFaceDetection(enabled: boolean): number; + abstract enableFaceDetection(enabled: boolean): number; + Future<void> enableFaceDetection(bool enabled); +

    详情

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

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

    开启本地人脸检测后,SDK 会触发 回调向你报告人脸检测的信息: - -

      -
    • 摄像头采集的画面大小
    • -
    • 人脸在 view 中的位置
    • -
    • 人脸距设备屏幕的距离
    • -

    -

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

    +

    开启本地人脸检测后,SDK 会触发 回调向你报告人脸检测的信息:

      +
    • 摄像头采集的画面大小
    • +
    • 人脸在 view 中的位置
    • +
    • 人脸距设备屏幕的距离
    • +
    +

    +

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

    参数 - - enable - enabled - 是否开启人脸检测: - -
      -
    • :开启人脸检测。
    • -
    • :(默认)关闭人脸检测。
    • -
    -
    -
    + + enable + 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_enablefishcorrection.dita b/dita/RTC-NG/API/api_irtcengine_enablefishcorrection.dita index cb852f87234..d9952c3ae80 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablefishcorrection.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablefishcorrection.dita @@ -2,36 +2,37 @@ enableFishCorrection - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ 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 a224008b0fa..0f6cee768fe 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita @@ -13,18 +13,18 @@

    - public abstract int enableInEarMonitoring(boolean enabled); - - (int)enableInEarMonitoring:(BOOL)enabled; - - - public abstract int EnableInEarMonitoring(bool enabled); - - -

    + public abstract int enableInEarMonitoring(boolean enabled); + - (int)enableInEarMonitoring:(BOOL)enabled; + + + public abstract int EnableInEarMonitoring(bool enabled); + + +

    详情 -
    +
    自从
    v4.0.1
    @@ -32,31 +32,36 @@

    该方法打开或关闭耳返功能。

    -
      -
    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 用户必须使用耳机(有线和蓝牙均可)才能听到耳返效果。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    + + +
    参数 - - enabled - 开启/关闭耳返功能: - -
      -
    • : 开启耳返功能。
    • -
    • : (默认)关闭耳返功能。
    • -
    -
    -
    + + enabled + 开启/关闭耳返功能:
      +
    • : 开启耳返功能。
    • +
    • : (默认)关闭耳返功能。
    • +
    +
    +
    + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 + +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita b/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita index 1d64cb2f173..3982ecb6d2a 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita @@ -13,67 +13,80 @@

    - public abstract int enableInEarMonitoring(boolean enabled, int includeAudioFilters); - - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters; - virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableInEarMonitoring(boolean enabled, int includeAudioFilters); + - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters; + virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableInEarMonitoring(bool enabled, int includeAudioFilters); - abstract enableInEarMonitoring( + abstract enableInEarMonitoring( enabled: boolean, includeAudioFilters: EarMonitoringFilterType ): number; - public abstract int EnableInEarMonitoring(bool enabled, int includeAudioFilters); - abstract enableInEarMonitoring( + public abstract int EnableInEarMonitoring(bool enabled, int includeAudioFilters); + abstract enableInEarMonitoring( enabled: boolean, includeAudioFilters: EarMonitoringFilterType ): number; - Future<void> enableInEarMonitoring( + Future<void> enableInEarMonitoring( {required bool enabled, required EarMonitoringFilterType includeAudioFilters}); -

    +

    详情

    该方法打开或关闭耳返功能。

    -
      -
    • 用户必须使用耳机(有线和蓝牙均可)才能听到耳返效果。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    + +
    参数 - - enabled - 开启/关闭耳返功能: -
      -
    • : 开启耳返功能。
    • -
    • : (默认)关闭耳返功能。
    • -
    -
    - - includeAudioFilters - 耳返 Audio filter 类型。详见 - 耳返 Audio filter 类型: -
      -
    • (1 << 0):不在耳返中添加 Audio filter。
    • -
    • (1 << 1): 在耳返中添加人声效果 Audio filter。如果你实现了美声、音效等功能,用户可以在耳返中听到添加效果后的声音。该枚举值支持使用按位或运算符(|)进行组合。
    • -
    • (1 <<2):在耳返中添加降噪 Audio filter。该枚举值支持使用按位或运算符(|)进行组合。
    • -
    • (1 <<15): - 复用发送端已进行过音效处理的 Audio filter。通过复用 Audio filter 降低耳返对 CPU 的占用率,但会增加耳返延迟,适用于需要降低 CPU 消耗且对耳返延迟不敏感的场景。该枚举值仅支持单独使用,一旦指定了该选项,其他 Audio filter 配置将自动失效。
    • -
    - 该参数仅在 enabled 设为 时生效。 + + enabled + 开启/关闭耳返功能:
      +
    • : 开启耳返功能。
    • +
    • : (默认)关闭耳返功能。
    • +
    +
    + + includeAudioFilters + 耳返 Audio filter + 类型。详见 + 耳返 Audio filter 类型:
      +
    • (1 << 0):不在耳返中添加 + Audio filter。
    • +
    • (1 + << 1): 在耳返中添加人声效果 Audio + filter。如果你实现了美声、音效等功能,用户可以在耳返中听到添加效果后的声音。该枚举值支持使用按位或运算符(|)进行组合。
    • +
    • (1 + <<2):在耳返中添加降噪 Audio filter。该枚举值支持使用按位或运算符(|)进行组合。
    • +
    • (1 + <<15): 复用发送端已进行过音效处理的 Audio filter。通过复用 Audio filter 降低耳返对 CPU + 的占用率,但会增加耳返延迟,适用于需要降低 CPU 消耗且对耳返延迟不敏感的场景。该枚举值仅支持单独使用,一旦指定了该选项,其他 + Audio filter 配置将自动失效。
    • +
    + 该参数仅在 enabled 设为 时生效。
    -
    -
    + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 + +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita b/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita index 1ccd0f80962..98d0a47d45c 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita @@ -13,30 +13,32 @@

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

    + abstract enableInstantMediaRendering(): number; + public abstract int EnableInstantMediaRendering(); + abstract enableInstantMediaRendering(): number; + Future<void> enableInstantMediaRendering(); +

    详情
    - -
    自从
    -
    v4.1.1
    -
    + +
    自从
    +
    v4.1.1
    +
    -

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

    +

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

    @@ -45,12 +47,14 @@
    <ph keyref="return-section-title"/> -

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

    +

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

    diff --git a/dita/RTC-NG/API/api_irtcengine_enablelastmiletest.dita b/dita/RTC-NG/API/api_irtcengine_enablelastmiletest.dita index 50dd63a9799..4309537adeb 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablelastmiletest.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablelastmiletest.dita @@ -1,8 +1,12 @@ - <ph keyref="enableLastmileTest"/> - 启用网络测试。 + + <ph keyref="enableLastmileTest"/> + + + 启用网络测试。 + @@ -13,44 +17,43 @@

    - - - virtual int enableLastmileTest() = 0; - - public abstract int EnableLastmileTest(); - - -

    + + + virtual int enableLastmileTest() = 0; + + public abstract int EnableLastmileTest(); + + +

    详情 -

    - 该方法启用网络连接质量测试,用于检测用户目前的网络接入质量(上行网络质量)。默认该功能为关闭状态。该方法主要用于以下场景: -

      -
    • 用户加入频道前,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • -
    • 直播场景下,当用户角色由观众切换为主播时,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • -

    -

    - 无论哪种场景,启用该方法均会消耗网络流量,影响通话质量。用户必须在收到 回调后须调用 停止测试,再加入频道或切换为主播。 +

    该方法启用网络连接质量测试,用于检测用户目前的网络接入质量(上行网络质量)。默认该功能为关闭状态。该方法主要用于以下场景:

      +
    • 用户加入频道前,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • +
    • 直播场景下,当用户角色由观众切换为主播时,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • +

    +

    无论哪种场景,启用该方法均会消耗网络流量,影响通话质量。用户必须在收到 回调后须调用 停止测试,再加入频道或切换为主播。

    -
      -
    • - 该方法请勿与 同时使用。 -
    • -
    • - 调用该方法后,在收到 回调前请勿调用其他方法,否则可能由于 API 操作过于频繁导致回调无法执行。 -
    • -
    • 在直播场景中,如果本地用户为主播,请勿加入频道后调用该方法。
    • -
    • - 加入频道前调用该方法检测网络质量后,SDK 会占用一路视频的带宽,码率与 中设置的码率相同。加入频道后,无论是否调用了 ,SDK 均会自动停止带宽占用。 -
    • -
    +
      +
    • 该方法请勿与 同时使用。
    • +
    • 调用该方法后,在收到 回调前请勿调用其他方法,否则可能由于 API + 操作过于频繁导致回调无法执行。
    • +
    • 在直播场景中,如果本地用户为主播,请勿加入频道后调用该方法。
    • +
    • 加入频道前调用该方法检测网络质量后,SDK 会占用一路视频的带宽,码率与 中设置的码率相同。加入频道后,无论是否调用了 ,SDK 均会自动停止带宽占用。
    • +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita b/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita index 185cb86d787..73eda01b322 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita @@ -1,68 +1,74 @@ - <ph keyref="enableLocalAudio" /> + <ph keyref="enableLocalAudio"/> 开关本地音频采集。 - +

    - public abstract int enableLocalAudio(boolean enabled); - - (int)enableLocalAudio:(BOOL)enabled; - virtual int enableLocalAudio(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableLocalAudio(boolean enabled); + - (int)enableLocalAudio:(BOOL)enabled; + virtual int enableLocalAudio(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract enableLocalAudio(enabled: boolean): number; + public abstract int EnableLocalAudio(bool enabled); + abstract enableLocalAudio(enabled: boolean): number; + Future<void> enableLocalAudio(bool enabled); +

    详情

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

    -

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

    -

    音频功能关闭或重新开启后,会收到 回调,并报告 (0) 或 (1)。 - - - -

      -
    • 该方法与 的区别在于: - - -
        -
      • : 开启或关闭本地音频采集及处理。使用 关闭或开启本地采集后,本地听远端播放会有短暂中断。
      • -
      • : 停止或继续发送本地音频流。
      • -
    • -
    • 该方法在加入频道前后均可调用。在加入频道前调用只能设置设备状态,在加入频道后才会立即生效。
    • -

    +

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

    +

    音频功能关闭或重新开启后,会收到 回调,并报告 (0) 或 (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_enablelocalvideo.dita b/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita index bef8b5f0eb4..9a1eb3b395f 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita @@ -1,59 +1,73 @@ - <ph keyref="enableLocalVideo" /> + <ph keyref="enableLocalVideo"/> 开关本地视频采集。 - +

    - public abstract int enableLocalVideo(boolean enabled); - - (int)enableLocalVideo:(BOOL)enabled; - virtual int enableLocalVideo(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableLocalVideo(boolean enabled); + - (int)enableLocalVideo:(BOOL)enabled; + virtual int enableLocalVideo(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract enableLocalVideo(enabled: boolean): number; + public abstract int EnableLocalVideo(bool enabled); + abstract enableLocalVideo(enabled: boolean): number; + Future<void> enableLocalVideo(bool enabled); +

    详情

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

    -

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

    -

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

    -

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

    +

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

    +

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

    +

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

    -
      -
    • 该方法在加入频道前后都能调用。
    • -
    • 该方法设置内部引擎为启用状态,在离开频道后仍然有效。
    • -
    + + +
    参数 - - 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_enableloopbackrecording.dita b/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita index 4352bcc7139..17b1ff650b3 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita @@ -13,62 +13,73 @@

    - - - (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|RtcEngineProxy") + + - (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|RtcEngineProxy") int EnableLoopbackRecording(bool enabled, FString deviceName); - abstract enableLoopbackRecording( + abstract enableLoopbackRecording( enabled: boolean, deviceName?: string ): number; - public abstract int EnableLoopbackRecording(bool enabled, string deviceName = ""); - abstract enableLoopbackRecording( + public abstract int EnableLoopbackRecording(bool enabled, string deviceName = ""); + abstract enableLoopbackRecording( enabled: boolean, deviceName?: string ): number; - Future<void> enableLoopbackRecording( + Future<void> enableLoopbackRecording( {required bool enabled, String? deviceName}); -

    +

    详情

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

    -
      -
    • 该方法仅适用于 macOS 和 Windows 平台。
    • -
    • macOS 系统默认声卡不支持采集功能,如果你需要使用该功能,请启用一个虚拟声卡,并将 deviceName 设为该虚拟声卡的设备名。声网推荐你使用声网自研的虚拟声卡 AgoraALD 进行采集。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    • 如果你调用了 关闭音频模块,声卡采集功能也会被关闭。如果你需要再次启用声卡采集功能,需要调用 启用音频模块后再次调用
    • -
    + + +
    参数 - - enabled - 是否开启声卡采集: -
      -
    • : 开启声卡采集。
    • -
    • :(默认)关闭声卡采集。
    • -
    -
    - - deviceName - 虚拟声卡的设备名。默认为空,代表使用 AgoraALD 虚拟声卡进行采集。 - 声卡的设备名。默认为空,代表使用设备自带的声卡进行采集。 - -
      -
    • macOS: 虚拟声卡的设备名。默认为空,代表使用 AgoraALD 虚拟声卡进行采集。
    • -
    • Windows: 声卡的设备名。默认为空,代表使用设备自带的声卡进行采集。
    • -
    -
    -
    + + enabled + 是否开启声卡采集:
      +
    • : 开启声卡采集。
    • +
    • :(默认)关闭声卡采集。
    • +
    +
    + + deviceName + 虚拟声卡的设备名。默认为空,代表使用 AgoraALD 虚拟声卡进行采集。 + 声卡的设备名。默认为空,代表使用设备自带的声卡进行采集。 + +
      +
    • macOS: 虚拟声卡的设备名。默认为空,代表使用 AgoraALD 虚拟声卡进行采集。
    • +
    • Windows: 声卡的设备名。默认为空,代表使用设备自带的声卡进行采集。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablemainqueuedispatch.dita b/dita/RTC-NG/API/api_irtcengine_enablemainqueuedispatch.dita index be1bac89828..aed6214298b 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablemainqueuedispatch.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablemainqueuedispatch.dita @@ -13,16 +13,16 @@

    - - - (int)enableMainQueueDispatch:(BOOL)enabled; - - removeAllListeners?<EventType extends keyof IMediaEngineEvent>( + + - (int)enableMainQueueDispatch:(BOOL)enabled; + + removeAllListeners?<EventType extends keyof IMediaEngineEvent>( eventType?: EventType ): void; - - - -

    + + + +

    @@ -30,11 +30,12 @@

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita b/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita index 095ce06e974..30c53dd1c18 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita @@ -13,90 +13,91 @@

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

    +

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

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

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

    -

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

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

    +

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

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

    +

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

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

    -

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

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

    +

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

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

    该方法仅适用于 iOS。

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

    -

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

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

    +

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

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

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengine_enableplugin.dita b/dita/RTC-NG/API/api_irtcengine_enableplugin.dita index 85a2234b17b..8f86f18280b 100644 --- a/dita/RTC-NG/API/api_irtcengine_enableplugin.dita +++ b/dita/RTC-NG/API/api_irtcengine_enableplugin.dita @@ -13,36 +13,38 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - enabled - 是否开启插件: -
      -
    • :开启插件。
    • -
    • :关闭插件。
    • -
    -
    -
    + + + + + + enabled + 是否开启插件:
      +
    • :开启插件。
    • +
    • :关闭插件。
    • +
    +
    + +
    返回值
      -
    • 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 7c3db02a5ca..03025c6bf64 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablesoundpositionindication.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablesoundpositionindication.dita @@ -1,52 +1,57 @@ - <ph keyref="enableSoundPositionIndication" /> + <ph keyref="enableSoundPositionIndication"/> 开启/关闭远端用户的语音立体声。 - +

    - public abstract int enableSoundPositionIndication(boolean enabled); - - (int)enableSoundPositionIndication:(BOOL)enabled; - virtual int enableSoundPositionIndication(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableSoundPositionIndication(boolean enabled); + - (int)enableSoundPositionIndication:(BOOL)enabled; + virtual int enableSoundPositionIndication(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita b/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita index c5e44feaa65..a43fe182192 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita @@ -1,57 +1,61 @@ - <ph keyref="enableSpatialAudio" /> + <ph keyref="enableSpatialAudio"/> 开启或关闭空间音效。 - +

    - public abstract int enableSpatialAudio(boolean enabled); - - (int)enableSpatialAudio:(BOOL)enabled; - virtual int enableSpatialAudio(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableSpatialAudio(boolean enabled); + - (int)enableSpatialAudio:(BOOL)enabled; + virtual int enableSpatialAudio(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_enablevideo.dita b/dita/RTC-NG/API/api_irtcengine_enablevideo.dita index 1c43ba8e026..d33324a0f12 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevideo.dita @@ -1,64 +1,68 @@ - <ph keyref="enableVideo" /> + <ph keyref="enableVideo"/> 启用视频模块。 - +

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

    + abstract enableVideo(): number; + public abstract int EnableVideo(); + abstract enableVideo(): number; + Future<void> enableVideo(); +

    -
    +

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

    调用时机 -

    该方法可以在加入频道前或者频道内调用: -

      -
    • 如果在加入频道前调用,则开启视频模块。
    • -
    • 如果在纯音频通话中调用,则音频通话将自动切换为视频通话。
    • +

      该方法可以在加入频道前或者频道内调用:

        +
      • 如果在加入频道前调用,则开启视频模块。
      • +
      • 如果在纯音频通话中调用,则音频通话将自动切换为视频通话。

    -
    +
    调用限制 -
      +
      • 该方法设置的是内部引擎为启用状态,在离开频道后仍然有效。
      • -
      • 调用该方法会重置整个引擎,响应时间较慢。你可以根据实际需求用以下方法来独立控制视频模块的某一项功能: -
          -
        • : 是否启动摄像头采集并创建本地视频流。
        • -
        • : 是否发布本地视频流。
        • -
        • : 是否接收并播放远端视频流。
        • -
        • : 是否接收并播放所有远端视频流。
        • +
        • 调用该方法会重置整个引擎,响应时间较慢。你可以根据实际需求用以下方法来独立控制视频模块的某一项功能:
            +
          • : 是否启动摄像头采集并创建本地视频流。
          • +
          • : 是否发布本地视频流。
          • +
          • : 是否接收并播放远端视频流。
          • +
          • : 是否接收并播放所有远端视频流。
        • -
        • 在频道内调用该方法时,会重置 的设置,需谨慎使用。
        • -
        +
      • 在频道内调用该方法时,会重置 的设置,需谨慎使用。
      • +
    <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 266d8d71a8b..bb014f99f99 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita @@ -1,65 +1,70 @@ - <ph keyref="enableVideoImageSource" /> + <ph keyref="enableVideoImageSource"/> 设置是否开启垫片推流功能。 - +

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

    +

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

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

    -

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

    +

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

    参数 - - enable - 是否开启垫片推流: -
      -
    • :开启垫片推流。
    • -
    • :(默认)关闭垫片推流。
    • -
    -
    + + enable + 是否开启垫片推流:
      +
    • :开启垫片推流。
    • +
    • :(默认)关闭垫片推流。
    • +
    +
    options - 垫片图片设置,详见 + 垫片图片设置,详见 -
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 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 2c69b55693a..5d76fa2ab4a 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita @@ -13,105 +13,114 @@

    - public abstract int enableVirtualBackground( + 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; + - (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|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableVirtualBackground(bool enabled, FVirtualBackgroundSource backgroundSource, FSegmentationProperty segproperty, EMEDIA_SOURCE_TYPE type); - abstract enableVirtualBackground( + abstract enableVirtualBackground( enabled: boolean, backgroundSource: VirtualBackgroundSource, segproperty: SegmentationProperty, type?: MediaSourceType ): number; - public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract enableVirtualBackground( + public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); + abstract enableVirtualBackground( enabled: boolean, backgroundSource: VirtualBackgroundSource, segproperty: SegmentationProperty, type?: MediaSourceType ): number; - Future<void> enableVirtualBackground( + Future<void> enableVirtualBackground( {required bool enabled, required VirtualBackgroundSource backgroundSource, required SegmentationProperty segproperty, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    详情

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

    请在 之后调用该方法。

    -
      -
    • 该功能对设备性能要求较高,调用该方法时 SDK 会自动对当前设备能力进行检查。建议你在搭载如下芯片的设备上使用:
        -
      • 骁龙 700 系列 750G 及以上
      • -
      • 骁龙 800 系列 835 及以上
      • -
      • 天玑 700 系列 720 及以上
      • -
      • 麒麟 800 系列 810 及以上
      • -
      • 麒麟 900 系列 980 及以上
      • -
      • CPU 为 i5 及更好的设备
      • -
      • 搭载 A9 及以上芯片的如下设备: -
          -
        • iPhone 6S 及以上
        • -
        • iPad Air 第三代及以上
        • -
        • iPad 第五代及以上
        • -
        • iPad Pro 第一代及以上
        • -
        • iPad mini 第五代及以上
        • -
      • -
    • -
    • 建议你在满足如下条件的场景中使用该功能: -
        -
      • 使用高清摄像设备、摄像环境光照均匀。
      • -
      • 摄像画面中,物件较少,用户的人像为半身人像且基本无遮挡,背景色较单一且与用户着装颜色不同。
      • -
    • -
    • 该方法依赖于虚拟背景动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    +
  • 该功能对设备性能要求较高,调用该方法时 SDK 会自动对当前设备能力进行检查。建议你在搭载如下芯片的设备上使用:
      +
    • 骁龙 700 系列 750G + 及以上
    • +
    • 骁龙 800 系列 835 + 及以上
    • +
    • 天玑 700 系列 720 + 及以上
    • +
    • 麒麟 800 系列 810 + 及以上
    • +
    • 麒麟 900 系列 980 + 及以上
    • +
    • CPU 为 i5 及更好的设备
    • +
    • 搭载 A9 及以上芯片的如下设备:
        +
      • iPhone 6S 及以上
      • +
      • iPad Air 第三代及以上
      • +
      • iPad 第五代及以上
      • +
      • iPad Pro 第一代及以上
      • +
      • iPad mini 第五代及以上
      • +
    • +
  • +
  • 建议你在满足如下条件的场景中使用该功能:
      +
    • 使用高清摄像设备、摄像环境光照均匀。
    • +
    • 摄像画面中,物件较少,用户的人像为半身人像且基本无遮挡,背景色较单一且与用户着装颜色不同。
    • +
  • +
  • 该方法依赖于虚拟背景动态库 ,如果删除该动态库会导致无法正常开启该功能。
  • + +
    参数 - - enabled - enable - 是否开启虚拟背景: -
      -
    • : 开启虚拟背景。
    • -
    • : 关闭虚拟背景。
    • -
    -
    - - backgroundSource - backData - 自定义的背景。详见 。为将自定义背景图的分辨率与 SDK 的视频采集分辨率适配,SDK 会在保证自定义背景图不变形的前提下,对自定义背景图进行缩放和裁剪。 - - - segproperty - segData - 背景图像的处理属性。详见 - - - type - 视频源类型。详见 。 - 在该方法中,该参数仅支持以下两种设置: -
      -
    • 默认值为
    • -
    • 如果要使用第二个摄像头采集视频,将该参数设置为
    • -
    -
    -
    + + enabled + enable + 是否开启虚拟背景:
      +
    • : 开启虚拟背景。
    • +
    • : 关闭虚拟背景。
    • +
    +
    + + backgroundSource + backData + 自定义的背景。详见 。为将自定义背景图的分辨率与 SDK + 的视频采集分辨率适配,SDK 会在保证自定义背景图不变形的前提下,对自定义背景图进行缩放和裁剪。 + + + segproperty + segData + 背景图像的处理属性。详见 + + + type + 视频源类型。详见 在该方法中,该参数仅支持以下两种设置:
      +
    • 默认值为
    • +
    • 如果要使用第二个摄像头采集视频,将该参数设置为
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -4:设备能力不满足虚拟背景的使用要求,建议更换性能更高的设备。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -4:设备能力不满足虚拟背景的使用要求,建议更换性能更高的设备。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita b/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita index 39fee1bd719..17fc7b1b8db 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita @@ -13,58 +13,64 @@

    - public abstract int enableVirtualBackground(boolean enabled, + public abstract int enableVirtualBackground(boolean enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, Constants.MediaSourceType sourceType); - - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:sourceType:)); - - - - - - -

    + - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:sourceType:)); + + + + + + +

    详情

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

    -

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

    +

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

    请在 之后调用该方法。

    参数 - - - - - - - - - - - - - - - - - - sourceType - 应用效果的媒体源。详见 - -
    + + + + + + + + + + + + + + + + + + sourceType + 应用效果的媒体源。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -4:设备能力不满足虚拟背景的使用要求,建议更换性能更高的设备。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -4:设备能力不满足虚拟背景的使用要求,建议更换性能更高的设备。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita b/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita index a82d5e59562..9aa9f6a9486 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita @@ -1,36 +1,36 @@ - <ph keyref="enableWebSdkInteroperability" /> + <ph keyref="enableWebSdkInteroperability"/> 打开与 Web SDK 的互通(仅在直播场景适用)。 - +

    - public abstract int enableWebSdkInteroperability(boolean enabled); - - (int)enableWebSdkInteroperability:(BOOL)enabled; - virtual int enableWebSdkInteroperability(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableWebSdkInteroperability(boolean enabled); + - (int)enableWebSdkInteroperability:(BOOL)enabled; + virtual int enableWebSdkInteroperability(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract enableWebSdkInteroperability(enabled: boolean): number; + public abstract int EnableWebSdkInteroperability(bool enabled); + abstract enableWebSdkInteroperability(enabled: boolean): number; + Future<void> enableWebSdkInteroperability(bool enabled); +

    详情
    - -
    弃用:
    -
    该方法已废弃,SDK 自动开启与 Web SDK 的互通,无需调用该方法开启。
    -
    + +
    弃用:
    +
    该方法已废弃,SDK 自动开启与 Web SDK 的互通,无需调用该方法开启。
    +

    该方法打开或关闭与 Web SDK 的互通。如果有用户通过 Web SDK 加入频道,请确保调用该方法,否则 Web 端用户看 Native 端的画面会是黑屏。

    该方法仅在直播场景下适用,通信场景下默认互通是打开的。

    @@ -38,22 +38,25 @@
    参数 - - enabled - 是否打开与 Web SDK 的互通: - -
      -
    • : 打开互通。
    • -
    • : (默认) 关闭互通。
    • -
    -
    -
    + + enabled + 是否打开与 Web 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_enablewirelessaccelerate.dita b/dita/RTC-NG/API/api_irtcengine_enablewirelessaccelerate.dita index c53e50858c9..130734d0cd2 100644 --- a/dita/RTC-NG/API/api_irtcengine_enablewirelessaccelerate.dita +++ b/dita/RTC-NG/API/api_irtcengine_enablewirelessaccelerate.dita @@ -13,49 +13,52 @@

    - - - virtual int enableWirelessAccelerate(bool enabled) = 0; - - public abstract int EnableWirelessAccelerate(bool enabled); - - -

    + + + virtual int enableWirelessAccelerate(bool enabled) = 0; + + public abstract int EnableWirelessAccelerate(bool enabled); + + +

    详情 -

    自该版本起,SDK 默认开启 Wi-Fi 加速功能。当 SDK 发现集成加速插件的 Wi-Fi 路由器后,该功能才会生效,使路由器合理分配 Wi-Fi 频谱资源,以降低丢包率和时延,从而减少音视频卡顿。

    -

    当路由器提供加速服务后,SDK 会周期性触发 回调,报告 Wi-Fi 连接优化数据,并在 Wi-Fi 连接质量不佳时触发 回调,报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi 连接的操作建议。

    +

    自该版本起,SDK 默认开启 Wi-Fi 加速功能。当 SDK 发现集成加速插件的 Wi-Fi 路由器后,该功能才会生效,使路由器合理分配 Wi-Fi + 频谱资源,以降低丢包率和时延,从而减少音视频卡顿。

    +

    当路由器提供加速服务后,SDK 会周期性触发 回调,报告 Wi-Fi 连接优化数据,并在 Wi-Fi + 连接质量不佳时触发 回调,报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi + 连接的操作建议。

    -
      -
    • Wi-Fi 加速功能默认关闭。必须与集成加速插件的路由器配合使用才能生效,详见哪些 Wi-Fi 路由器可支持加速功能。如果 Wi-Fi 路由器不支持加速功能,系统性能不会受损。
    • -
    • 加速功能生效后,路由器的 App 会显示加速效果和被加速 App 的名称。如果你不想在路由器的 App 中展示被加速 App 的名称,请调用 enableWirelessAccelerate(false) 关闭加速功能。
    • -
    • 声网提供的 Wi-Fi 加速功能除应用于音视频流,还可以应用于其他第三方业务流,如私有信令、课件、RTMP 协议等。如有需要,请联系 sales@agora.io。
    • -
    + + +
    参数 - - enabled - 设置是否开启 Wi-Fi 加速功能: - - - - - - - -
      -
    • :开启。
    • -
    • :关闭。
    • -
    -
    -
    + + enabled + 设置是否开启 Wi-Fi 加速功能:
      +
    • :开启。
    • +
    • :关闭。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_enumeratedevices.dita b/dita/RTC-NG/API/api_irtcengine_enumeratedevices.dita index 2da7a02bcaf..b22833c1e44 100644 --- a/dita/RTC-NG/API/api_irtcengine_enumeratedevices.dita +++ b/dita/RTC-NG/API/api_irtcengine_enumeratedevices.dita @@ -13,29 +13,32 @@

    - - - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type; - - - - - -

    + + - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type; + + + + + +

    详情 -

    该方法返回一个 NSArray 对象,包含系统中所有的音视频设备。应用程序可以通过 NSArray 对象枚举设备。

    - 不要在主线程调用该方法。
    +

    该方法返回一个 NSArray 对象,包含系统中所有的音视频设备。应用程序可以通过 NSArray + 对象枚举设备。

    + 不要在主线程调用该方法。 +
    参数 - - type - -

    - - -

    + + type + +

    + + + +

    返回值

    调用成功时,返回 NSArray 对象,包含所有的音视频设备。

    diff --git a/dita/RTC-NG/API/api_irtcengine_enumeratedisplays.dita b/dita/RTC-NG/API/api_irtcengine_enumeratedisplays.dita index 517839318e2..a9453dc89ab 100644 --- a/dita/RTC-NG/API/api_irtcengine_enumeratedisplays.dita +++ b/dita/RTC-NG/API/api_irtcengine_enumeratedisplays.dita @@ -13,14 +13,14 @@

    - - - - - - - -

    + + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_enumeratewindows.dita b/dita/RTC-NG/API/api_irtcengine_enumeratewindows.dita index f69b31e4cbf..a76e584ce12 100644 --- a/dita/RTC-NG/API/api_irtcengine_enumeratewindows.dita +++ b/dita/RTC-NG/API/api_irtcengine_enumeratewindows.dita @@ -13,14 +13,14 @@

    - - - - - - - -

    + + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getagorartcaudioplaybackdevicemanager.dita b/dita/RTC-NG/API/api_irtcengine_getagorartcaudioplaybackdevicemanager.dita index aef6dde0067..b4c782f873f 100644 --- a/dita/RTC-NG/API/api_irtcengine_getagorartcaudioplaybackdevicemanager.dita +++ b/dita/RTC-NG/API/api_irtcengine_getagorartcaudioplaybackdevicemanager.dita @@ -2,7 +2,8 @@ <ph keyref="getAgoraRtcAudioPlaybackDeviceManager"/> - 获取 对象。 + 获取 + 对象。 @@ -13,17 +14,18 @@

    - - - - - public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); - - -

    + + + + + public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); + + +

    返回值 - 一个 对象。
    + 一个 对象。 +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getagorartcaudiorecordingdevicemanager.dita b/dita/RTC-NG/API/api_irtcengine_getagorartcaudiorecordingdevicemanager.dita index b0eb6739420..119acdad86f 100644 --- a/dita/RTC-NG/API/api_irtcengine_getagorartcaudiorecordingdevicemanager.dita +++ b/dita/RTC-NG/API/api_irtcengine_getagorartcaudiorecordingdevicemanager.dita @@ -2,7 +2,8 @@ <ph keyref="getAgoraRtcAudioRecordingDeviceManager"/> - 获取 对象。 + 获取 + 对象。 @@ -13,17 +14,18 @@

    - - - - - public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); - - -

    + + + + + public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); + + +

    返回值 - 一个 对象。
    + 一个 对象。 +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getagorartccloudspatialaudioengine.dita b/dita/RTC-NG/API/api_irtcengine_getagorartccloudspatialaudioengine.dita index dfbd1c22542..093420bba73 100644 --- a/dita/RTC-NG/API/api_irtcengine_getagorartccloudspatialaudioengine.dita +++ b/dita/RTC-NG/API/api_irtcengine_getagorartccloudspatialaudioengine.dita @@ -1,29 +1,31 @@ - <ph keyref="getAgoraRtcCloudSpatialAudioEngine" /> - 获取 对象。 + <ph keyref="getAgoraRtcCloudSpatialAudioEngine"/> + 获取 + 对象。 - +

    - - - - - public abstract ICloudSpatialAudioEngine GetCloudSpatialAudioEngine(); - -

    + + + + + public abstract ICloudSpatialAudioEngine GetCloudSpatialAudioEngine(); + + +

    返回值 -

    一个 对象。

    +

    一个 对象。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getagorartcmediaplayer.dita b/dita/RTC-NG/API/api_irtcengine_getagorartcmediaplayer.dita index ce502ed4637..459772c6d22 100644 --- a/dita/RTC-NG/API/api_irtcengine_getagorartcmediaplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_getagorartcmediaplayer.dita @@ -13,17 +13,18 @@

    - - - - - public abstract IAgoraRtcMediaPlayer GetAgoraRtcMediaPlayer(); - - -

    + + + + + public abstract IAgoraRtcMediaPlayer GetAgoraRtcMediaPlayer(); + + +

    返回值 - 一个 对象。
    + 一个 对象。 +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getagorartcvideodevicemanager.dita b/dita/RTC-NG/API/api_irtcengine_getagorartcvideodevicemanager.dita index 601a986ce02..e6c11a1a5bf 100644 --- a/dita/RTC-NG/API/api_irtcengine_getagorartcvideodevicemanager.dita +++ b/dita/RTC-NG/API/api_irtcengine_getagorartcvideodevicemanager.dita @@ -2,7 +2,8 @@ <ph keyref="getAgoraRtcVideoDeviceManager"/> - 获取 对象,以管理视频设备。 + 获取 + 对象,以管理视频设备。 @@ -13,17 +14,18 @@

    - - - - - public abstract IVideoDeviceManager GetVideoDeviceManager(); - - -

    + + + + + public abstract IVideoDeviceManager GetVideoDeviceManager(); + + +

    返回值 - 一个 对象。
    + 一个 对象。 +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita b/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita index 5dcc2cf4f5a..45eb604c05e 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita @@ -1,64 +1,67 @@ - <ph keyref="getAudioDeviceInfo" /> + <ph keyref="getAudioDeviceInfo"/> 获取音频设备信息。 - +

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

    + abstract getAudioDeviceInfo(): DeviceInfo; + public abstract int GetAudioDeviceInfo(ref DeviceInfoMobile deviceInfo); + abstract getAudioDeviceInfo(): DeviceInfo; + Future<DeviceInfo> getAudioDeviceInfo(); +

    详情

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

    -
      -
    • 该方法仅适用于 Android 平台。
    • -
    • 该方法在加入频道前后均可调用。
    • -
    +
      +
    • 该方法仅适用于 Android 平台。
    • +
    • 该方法在加入频道前后均可调用。
    • +
    +
    参数 - - deviceInfo - 输入和输出参数。标识音频设备信息的 对象。 -
      -
    • 输入值:一个 对象。
    • -
    • 输出值:一个包含了音频设备信息的 对象。
    • -
    -
    - - deviceInfo - 音频设备信息,详见 - -
    + + deviceInfo + 输入和输出参数。标识音频设备信息的 对象。
      +
    • 输入值:一个 对象。
    • +
    • 输出值:一个包含了音频设备信息的 对象。
    • +
    +
    +
    + + deviceInfo + 音频设备信息,详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    -

    包含音频设备信息的 对象。 -

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

      包含音频设备信息的 对象。

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

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiodevicemanager.dita b/dita/RTC-NG/API/api_irtcengine_getaudiodevicemanager.dita index f500494e21f..2f6ee69afad 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiodevicemanager.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiodevicemanager.dita @@ -1,30 +1,31 @@ - <ph keyref="getAudioDeviceManager" /> - 获取 对象,以管理音频设备。 + <ph keyref="getAudioDeviceManager"/> + 获取 + 对象,以管理音频设备。 - +

    - - - - abstract getAudioDeviceManager(): IAudioDeviceManager; - public abstract IAudioDeviceManager GetAudioDeviceManager(); - - AudioDeviceManager getAudioDeviceManager(); -

    + + + + abstract getAudioDeviceManager(): IAudioDeviceManager; + public abstract IAudioDeviceManager GetAudioDeviceManager(); + + AudioDeviceManager getAudioDeviceManager(); +

    返回值 -

    一个 对象。

    +

    一个 对象。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudioeffectmanager.dita b/dita/RTC-NG/API/api_irtcengine_getaudioeffectmanager.dita index 9b4565d0989..ff3c143654e 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudioeffectmanager.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudioeffectmanager.dita @@ -2,7 +2,8 @@ <ph keyref="getAudioEffectManager"/> - 获取 类,以管理音效文件。 + 获取 + 类,以管理音效文件。 @@ -13,14 +14,14 @@

    - public abstract IAudioEffectManager getAudioEffectManager(); - - - - - - -

    + public abstract IAudioEffectManager getAudioEffectManager(); + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiofileinfo.dita b/dita/RTC-NG/API/api_irtcengine_getaudiofileinfo.dita index b8ae6128601..081f50ddbdb 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiofileinfo.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiofileinfo.dita @@ -13,36 +13,42 @@

    - - - - - public abstract int GetAudioFileInfo(string filePath); - - -

    + + + + + public abstract int GetAudioFileInfo(string filePath); + + +

    详情 -

    成功调用该方法后,SDK 会触发 回调,报告指定音频文件的时长等信息。你可以多次调用该方法,获取多个音频文件的信息。

    +

    成功调用该方法后,SDK 会触发 + 回调,报告指定音频文件的时长等信息。你可以多次调用该方法,获取多个音频文件的信息。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • +
    + +
    参数 - - - - -
    + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita b/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita index 297e6eae8c9..4d1d6e3b5fb 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita @@ -1,42 +1,50 @@ - <ph keyref="getAudioMixingCurrentPosition" /> + <ph keyref="getAudioMixingCurrentPosition"/> 获取音乐文件的播放进度。 - +

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

    + abstract getAudioMixingCurrentPosition(): number; + public abstract int GetAudioMixingCurrentPosition(); + abstract getAudioMixingCurrentPosition(): number; + Future<int> getAudioMixingCurrentPosition(); +

    详情

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

    -
      -
    • 你需要在调用 并收到 () 回调后调用该方法。
    • -
    • 如需多次调用 ,请确保调用间隔大于 500 ms。
    • -
    +
      +
    • 你需要在调用 并收到 () + 回调后调用该方法。
    • +
    • 如需多次调用 ,请确保调用间隔大于 500 + ms。
    • +
    +
    返回值
      -
    • ≥ 0: 方法调用成功,返回当前音乐文件播放进度(ms)。0 表示当前音乐文件未开始播放。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • ≥ 0: 方法调用成功,返回当前音乐文件播放进度(ms)。0 表示当前音乐文件未开始播放。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita b/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita index 429503671a7..89953e88c5c 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita @@ -1,40 +1,45 @@ - <ph keyref="getAudioMixingDuration" /> + <ph keyref="getAudioMixingDuration"/> 获取音乐文件总时长。 - +

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

    + abstract getAudioMixingDuration(): number; + public abstract int GetAudioMixingDuration(); + abstract getAudioMixingDuration(): number; + Future<int> getAudioMixingDuration(); +

    详情

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

    -

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

    -
    +

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

    + +
    返回值
      -
    • ≥ 0: 方法调用成功返回音乐文件时长。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • ≥ 0: 方法调用成功返回音乐文件时长。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita b/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita index 7bf14eef30f..3f6640b735d 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita @@ -1,40 +1,45 @@ - <ph keyref="getAudioMixingPlayoutVolume" /> + <ph keyref="getAudioMixingPlayoutVolume"/> 获取音乐文件的本地播放音量。 - +

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

    + abstract getAudioMixingPlayoutVolume(): number; + public abstract int GetAudioMixingPlayoutVolume(); + abstract getAudioMixingPlayoutVolume(): number; + Future<int> getAudioMixingPlayoutVolume(); +

    详情

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

    -

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

    -
    +

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

    + +
    返回值
      -
    • ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita b/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita index 0c736521405..1459b3e95a3 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita @@ -1,38 +1,43 @@ - <ph keyref="getAudioMixingPublishVolume" /> + <ph keyref="getAudioMixingPublishVolume"/> 获取音乐文件的远端播放音量。 - +

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

    + abstract getAudioMixingPublishVolume(): number; + public abstract int GetAudioMixingPublishVolume(); + abstract getAudioMixingPublishVolume(): number; + Future<int> getAudioMixingPublishVolume(); +

    详情

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

    - 你需要在调用 并收到 () 回调后调用该方法。
    + 你需要在调用 并收到 () 回调后调用该方法。 +
    返回值
      -
    • ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getaudioplaybackdevices.dita b/dita/RTC-NG/API/api_irtcengine_getaudioplaybackdevices.dita index eb602ffdbc3..be18f9ab88a 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudioplaybackdevices.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudioplaybackdevices.dita @@ -13,14 +13,14 @@

    - - - - - - - -

    + + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiorecordingdevices.dita b/dita/RTC-NG/API/api_irtcengine_getaudiorecordingdevices.dita index 2b43c8e4d57..40b33f91cb6 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiorecordingdevices.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiorecordingdevices.dita @@ -13,14 +13,14 @@

    - - - - - - - -

    + + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita b/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita index dfb7ed85670..2d98b5a3638 100644 --- a/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita +++ b/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita @@ -1,40 +1,46 @@ - <ph keyref="getAudioTrackCount" /> + <ph keyref="getAudioTrackCount"/> 获取当前音乐文件的音轨索引。 - +

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

    + abstract getAudioTrackCount(): number; + public abstract int GetAudioTrackCount(); + abstract getAudioTrackCount(): number; + Future<int> getAudioTrackCount(); +

    详情 -
      -
    • 你需要在调用 并收到() 回调后调用该方法。
    • -
    +
      +
    • 你需要在调用 并收到() 回调后调用该方法。
    • +
    + +
    返回值
      -
    • 方法调用成功时,返回当前音乐文件的音轨索引。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 方法调用成功时,返回当前音乐文件的音轨索引。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getbuffertype.dita b/dita/RTC-NG/API/api_irtcengine_getbuffertype.dita index 04c00bca42d..e1fd261f57d 100644 --- a/dita/RTC-NG/API/api_irtcengine_getbuffertype.dita +++ b/dita/RTC-NG/API/api_irtcengine_getbuffertype.dita @@ -13,19 +13,21 @@

    - - - virtual agora::media::ExternalVideoFrame::VIDEO_PIXEL_FORMAT getBufferType() = 0; - - - - -

    + + + virtual agora::media::ExternalVideoFrame::VIDEO_PIXEL_FORMAT getBufferType() = 0; + + + + +

    详情

    在你初始化自定义视频源之前,SDK 会触发该回调来查询视频帧类型。你必须在返回值中指定一种视频帧类型来告知 SDK。

    - 请确保在该回调中指定的视频帧类型和在 方法中指定的视频帧类型一致。
    + 请确保在该回调中指定的视频帧类型和在 + 方法中指定的视频帧类型一致。 +
    返回值

    diff --git a/dita/RTC-NG/API/api_irtcengine_getcallid.dita b/dita/RTC-NG/API/api_irtcengine_getcallid.dita index be076200a7c..b1ed73931c1 100644 --- a/dita/RTC-NG/API/api_irtcengine_getcallid.dita +++ b/dita/RTC-NG/API/api_irtcengine_getcallid.dita @@ -1,33 +1,36 @@ - <ph keyref="getCallId" /> + <ph keyref="getCallId"/> 获取通话 ID。 - +

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

    + abstract getCallId(): string; + public abstract int GetCallId(ref string callId); + abstract getCallId(): string; + Future<String> getCallId(); +

    详情 -

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

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

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

    + 该方法需要在加入频道后调用。 +
    参数 @@ -42,11 +45,13 @@

    通话 ID。

    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • 方法调用成功则返回当前的通话 ID。
    • 方法调用失败则返回空字符串。
    • -
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita b/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita index adcd134e728..fbbe0232ebd 100644 --- a/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita +++ b/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita @@ -1,39 +1,40 @@ - <ph keyref="getCameraMaxZoomFactor" /> + <ph keyref="getCameraMaxZoomFactor"/> 获取摄像头支持最大缩放比例。 - +

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

    + abstract getCameraMaxZoomFactor(): number; + public abstract float GetCameraMaxZoomFactor(); + abstract getCameraMaxZoomFactor(): number; + Future<double> getCameraMaxZoomFactor(); +

    详情 -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • +
    +
    返回值

    设备摄像头支持的最大缩放比例。

    -
    \ 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 9c6cec802b1..4eb94f95421 100644 --- a/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita +++ b/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita @@ -1,28 +1,32 @@ - <ph keyref="getConnectionState" /> - 获取当前网络连接状态。 + + <ph keyref="getConnectionState"/> + + + 获取当前网络连接状态。 + - +

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

    + abstract getConnectionState(): ConnectionStateType; + public abstract CONNECTION_STATE_TYPE GetConnectionState(); + abstract getConnectionState(): ConnectionStateType; + Future<ConnectionStateType> getConnectionState(); +

    详情 @@ -30,7 +34,7 @@
    返回值 -

    +

    -
    \ 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 90ab008ebd5..0c2982df9ac 100644 --- a/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita +++ b/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita @@ -13,32 +13,37 @@

    - public abstract long getCurrentMonotonicTimeInMs(); - - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs()); - virtual int64_t getCurrentMonotonicTimeInMs() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract long getCurrentMonotonicTimeInMs(); + - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs()); + virtual int64_t getCurrentMonotonicTimeInMs() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int64 GetCurrentMonotonicTimeInMs(); - abstract getCurrentMonotonicTimeInMs(): number; - public abstract long GetCurrentMonotonicTimeInMs(); - abstract getCurrentMonotonicTimeInMs(): number; - Future<int> getCurrentMonotonicTimeInMs();

    + abstract getCurrentMonotonicTimeInMs(): number; + public abstract long GetCurrentMonotonicTimeInMs(); + abstract getCurrentMonotonicTimeInMs(): number; + Future<int> getCurrentMonotonicTimeInMs(); +

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

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

    -

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

    +

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

    返回值
      -
    • ≥0: 方法调用成功,返回 SDK 当前的 Monotonic Time(毫秒)。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • ≥0: 方法调用成功,返回 SDK 当前的 + Monotonic Time(毫秒)。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getdeviceinfo.dita b/dita/RTC-NG/API/api_irtcengine_getdeviceinfo.dita index b3cd8882f56..06b95aef769 100644 --- a/dita/RTC-NG/API/api_irtcengine_getdeviceinfo.dita +++ b/dita/RTC-NG/API/api_irtcengine_getdeviceinfo.dita @@ -13,14 +13,14 @@

    - - - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type; - - - - - -

    + + - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type; + + + + + +

    详情 @@ -29,18 +29,20 @@
    参数 - - type - -

    设备的类型,包括音、视频采集或播放设备,详见

    -
    -
    -
    + + type + +

    设备的类型,包括音、视频采集或播放设备,详见

    +
    +
    + +
    返回值
      -
    • 调用成功时,返回
    • -
    • 调用失败时,返回 nil
    • -
    +
  • 调用成功时,返回
  • +
  • 调用失败时,返回 nil
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getdevicevolume.dita b/dita/RTC-NG/API/api_irtcengine_getdevicevolume.dita index 853db08f97d..7bd341856d3 100644 --- a/dita/RTC-NG/API/api_irtcengine_getdevicevolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_getdevicevolume.dita @@ -13,30 +13,33 @@

    - - - (int)getDeviceVolume:(AgoraMediaDeviceType)type; - - - - - -

    + + - (int)getDeviceVolume:(AgoraMediaDeviceType)type; + + + + + +

    参数 - - type - -

    - - -

    + + type + +

    + + + +

    返回值
      -
    • 调用成功,返回设备的音量
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 调用成功,返回设备的音量
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita b/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita index 13a21319cf4..5b3256b969d 100644 --- a/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita @@ -1,46 +1,50 @@ - <ph keyref="getEffectCurrentPosition" /> + <ph keyref="getEffectCurrentPosition"/> 获取指定音效文件的播放进度。 - +

    - public int getEffectCurrentPosition(int soundId); - - (int)getEffectCurrentPosition:(int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:)); - - (int)getEffectCurrentPosition:(int)soundId; - virtual int getEffectCurrentPosition(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public int getEffectCurrentPosition(int soundId); + - (int)getEffectCurrentPosition:(int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:)); + - (int)getEffectCurrentPosition:(int)soundId; + virtual int getEffectCurrentPosition(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract getEffectCurrentPosition(soundId: number): number; + public abstract int GetEffectCurrentPosition(int soundId); + abstract getEffectCurrentPosition(soundId: number): number; + Future<int> getEffectCurrentPosition(int soundId); +

    详情 - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    参数 - - soundId - - -
    + + soundId + + + +
    返回值
      -
    • 方法调用成功,返回指定音效文件的播放进度(毫秒)。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 方法调用成功,返回指定音效文件的播放进度(毫秒)。
  • +
  • < 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 9795b45bae6..293b387f03f 100644 --- a/dita/RTC-NG/API/api_irtcengine_geteffectduration.dita +++ b/dita/RTC-NG/API/api_irtcengine_geteffectduration.dita @@ -1,45 +1,49 @@ - <ph keyref="getEffectDuration" /> + <ph keyref="getEffectDuration"/> 获取指定音效文件总时长。 - +

    - 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|RtcEngineProxy") + 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|RtcEngineProxy") int GetEffectDuration(FString filePath); - abstract getEffectDuration(filePath: string): number; - public abstract int GetEffectDuration(string filePath); - abstract getEffectDuration(filePath: string): number; - Future<int> getEffectDuration(String filePath); -

    + abstract getEffectDuration(filePath: string): number; + public abstract int GetEffectDuration(string filePath); + abstract getEffectDuration(filePath: string): number; + Future<int> getEffectDuration(String filePath); +

    详情 - 该方法需要在加入频道后调用。
    + 该方法需要在加入频道后调用。 +
    参数 - - - - -
    + + + + + +
    返回值
      -
    • 方法调用成功,返回指定音效文件时长(毫秒)。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 方法调用成功,返回指定音效文件时长(毫秒)。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ 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 1ed2f46482a..8ba6a7f0226 100644 --- a/dita/RTC-NG/API/api_irtcengine_geteffectsvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_geteffectsvolume.dita @@ -1,38 +1,41 @@ - <ph keyref="getEffectsVolume" /> + <ph keyref="getEffectsVolume"/> 获取音效文件的播放音量。 - +

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

    + abstract getEffectsVolume(): number; + public abstract int GetEffectsVolume(); + abstract getEffectsVolume(): number; + Future<int> getEffectsVolume(); +

    详情

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

    - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    返回值
      -
    • 音效文件的音量。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 音效文件的音量。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ 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 9b6c47acb15..9f45bcbdda2 100644 --- a/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita +++ b/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita @@ -1,41 +1,42 @@ - <ph keyref="getErrorDescription" /> + <ph keyref="getErrorDescription"/> 获取警告或错误描述。 - +

    - public static String getErrorDescription(int error) - + (NSString* _Nonnull)getErrorDescription: (NSInteger)error; - virtual const char* getErrorDescription(int code) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public static String getErrorDescription(int error) + + (NSString* _Nonnull)getErrorDescription: (NSInteger)error; + virtual const char* getErrorDescription(int code) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract getErrorDescription(code: number): string; + public abstract string GetErrorDescription(int code); + abstract getErrorDescription(code: number): string; + Future<String> getErrorDescription(int code); +

    参数 - - code - error - SDK 报告的错误码或警告码。 - -
    + + code + 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 b0611f2129d..5c0f4bebb0c 100644 --- a/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita +++ b/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita @@ -1,60 +1,63 @@ - <ph keyref="getExtensionProperty" /> + <ph keyref="getExtensionProperty"/> 获取插件的详细信息。 - +

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

    + + + + + +

    详情 -

    +

    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    返回值
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
    • 方法调用成功,则返回插件信息。
    • 方法调用失败,则返回空字符串。
    • -
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita b/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita index cb48f082b21..1a725d52aa3 100644 --- a/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita +++ b/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita @@ -13,42 +13,42 @@

    - public abstract String getExtensionProperty( + public abstract String getExtensionProperty( String provider, String extension, String key, Constants.MediaSourceType sourceType); - - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider + - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension key:(NSString * __nonnull)key sourceType:(AgoraMediaSourceType)sourceType; - virtual int getExtensionProperty( + virtual int getExtensionProperty( const char* provider, const char* extension, const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetExtensionProperty(FString provider, FString extension, FString key, FString value, int buf_len, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE); - abstract getExtensionProperty( + abstract getExtensionProperty( provider: string, extension: string, key: string, bufLen: number, type?: MediaSourceType ): string; - public abstract int GetExtensionProperty(string provider, string extension, string key, ref string value, int buf_len, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); - abstract getExtensionProperty( + public abstract int GetExtensionProperty(string provider, string extension, string key, ref string value, int buf_len, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); + abstract getExtensionProperty( provider: string, extension: string, key: string, bufLen: number, type?: MediaSourceType ): string; - Future<String> getExtensionProperty( + Future<String> getExtensionProperty( {required String provider, required String extension, required String key, required int bufLen, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

    详情 @@ -57,45 +57,48 @@
    参数 - - provider - 输出参数。提供插件的服务商名称。 - 提供插件的服务商名称。 - - - extension - 输出参数。插件的名称。 - 插件的名称。 - - - key - 输出参数。插件属性的 Key。 - 插件属性的 Key。 - - - value - 输出参数。插件属性 Key 对应的值。 - - - sourceType - type - 插件的媒体源类型。详见 - - - buf_len - bufLen - 插件属性 JSON 字符串的最大长度。最大值为 512 字节。 - -
    + + provider + 输出参数。提供插件的服务商名称。 + 提供插件的服务商名称。 + + + extension + 输出参数。插件的名称。 + 插件的名称。 + + + key + 输出参数。插件属性的 Key。 + 插件属性的 Key。 + + + value + 输出参数。插件属性 Key 对应的值。 + + + sourceType + type + 插件的媒体源类型。详见 + + + buf_len + bufLen + 插件属性 JSON 字符串的最大长度。最大值为 512 字节。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
      -
    • 方法调用成功,则返回插件信息。
    • -
    • 方法调用失败,则返回空字符串。
    • -
    +
  • 方法调用成功,则返回插件信息。
  • +
  • 方法调用失败,则返回空字符串。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getlocalspatialaudioengine.dita b/dita/RTC-NG/API/api_irtcengine_getlocalspatialaudioengine.dita index 2be52464b19..0e96d713217 100644 --- a/dita/RTC-NG/API/api_irtcengine_getlocalspatialaudioengine.dita +++ b/dita/RTC-NG/API/api_irtcengine_getlocalspatialaudioengine.dita @@ -2,7 +2,8 @@ <ph keyref="getLocalSpatialAudioEngine"/> - 获取 对象。 + 获取 + 对象。 @@ -13,20 +14,20 @@

    - - - - abstract getLocalSpatialAudioEngine(): ILocalSpatialAudioEngine; - public abstract ILocalSpatialAudioEngine GetLocalSpatialAudioEngine(); - abstract getLocalSpatialAudioEngine(): ILocalSpatialAudioEngine; - LocalSpatialAudioEngine getLocalSpatialAudioEngine(); -

    + + + + abstract getLocalSpatialAudioEngine(): ILocalSpatialAudioEngine; + public abstract ILocalSpatialAudioEngine GetLocalSpatialAudioEngine(); + abstract getLocalSpatialAudioEngine(): ILocalSpatialAudioEngine; + LocalSpatialAudioEngine getLocalSpatialAudioEngine(); +

    -
    +
    详情 - 该方法需要在初始化 对象后调用。 + 该方法需要在初始化 对象后调用。
    -
    +
    返回值

    一个 对象。

    diff --git a/dita/RTC-NG/API/api_irtcengine_getloopbackrecordingvolume.dita b/dita/RTC-NG/API/api_irtcengine_getloopbackrecordingvolume.dita index f5fa62f3fba..b5d9ae9a846 100644 --- a/dita/RTC-NG/API/api_irtcengine_getloopbackrecordingvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_getloopbackrecordingvolume.dita @@ -1,41 +1,42 @@ - <ph keyref="getLoopbackRecordingVolume" /> - + <ph keyref="getLoopbackRecordingVolume"/> + - +

    - - - virtual int getLoopbackRecordingVolume() = 0; - - - - Future<int> getLoopbackRecordingVolume(); -

    + + + virtual int getLoopbackRecordingVolume() = 0; + + + + Future<int> getLoopbackRecordingVolume(); +

    详情 -

    +

    参数 - - - - -
    + + + + + +
    返回值
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getmediaengine.dita b/dita/RTC-NG/API/api_irtcengine_getmediaengine.dita index 06730bacf2c..33d88a69391 100644 --- a/dita/RTC-NG/API/api_irtcengine_getmediaengine.dita +++ b/dita/RTC-NG/API/api_irtcengine_getmediaengine.dita @@ -13,18 +13,19 @@

    - - - - abstract getMediaEngine(): IMediaEngine; - - abstract getMediaEngine(): IMediaEngine; - MediaEngine getMediaEngine(); -

    + + + + abstract getMediaEngine(): IMediaEngine; + + abstract getMediaEngine(): IMediaEngine; + MediaEngine getMediaEngine(); +

    详情 - 该方法需要在初始化 对象后调用。
    + 该方法需要在初始化 对象后调用。 +
    返回值

    对象。

    diff --git a/dita/RTC-NG/API/api_irtcengine_getmediarecorder.dita b/dita/RTC-NG/API/api_irtcengine_getmediarecorder.dita index 5e0e4ee5c13..003a6f30b17 100644 --- a/dita/RTC-NG/API/api_irtcengine_getmediarecorder.dita +++ b/dita/RTC-NG/API/api_irtcengine_getmediarecorder.dita @@ -2,7 +2,9 @@ <ph keyref="getMediaRecorder"/> - 获取 对象。创建 实例。 + 获取 + 对象。创建 实例。 @@ -13,26 +15,28 @@

    - public static synchronized AgoraMediaRecorder getMediaRecorder(RtcEngine engine) - + (instancetype _Nonnull)sharedMediaRecorderWithRtcEngine:(AgoraRtcEngineKit* _Nonnull)engine; - - abstract getMediaRecorder(): IMediaRecorder; - public abstract IMediaRecorder GetMediaRecorder(); - abstract getMediaRecorder(): IMediaRecorder; - MediaRecorder getMediaRecorder(); -

    + public static synchronized AgoraMediaRecorder getMediaRecorder(RtcEngine engine) + + (instancetype _Nonnull)sharedMediaRecorderWithRtcEngine:(AgoraRtcEngineKit* _Nonnull)engine; + + abstract getMediaRecorder(): IMediaRecorder; + public abstract IMediaRecorder GetMediaRecorder(); + abstract getMediaRecorder(): IMediaRecorder; + MediaRecorder getMediaRecorder(); +

    详情 - 该方法需要在初始化 对象后调用。
    + 该方法需要在初始化 对象后调用。 +
    参数 - - engine - 对象。 - -
    + + engine + 对象。 + + +
    返回值

    对象。

    diff --git a/dita/RTC-NG/API/api_irtcengine_getmusiccontentcenter.dita b/dita/RTC-NG/API/api_irtcengine_getmusiccontentcenter.dita index 4070a7734e9..f025302b52d 100644 --- a/dita/RTC-NG/API/api_irtcengine_getmusiccontentcenter.dita +++ b/dita/RTC-NG/API/api_irtcengine_getmusiccontentcenter.dita @@ -2,7 +2,8 @@ <ph keyref="getMusicContentCenter"/> - 获取 + 获取 @@ -13,14 +14,14 @@

    - - - - abstract getMusicContentCenter(): IMusicContentCenter; - public abstract IMusicContentCenter GetMusicContentCenter(); - abstract getMusicContentCenter(): IMusicContentCenter; - MusicContentCenter getMusicContentCenter() -

    + + + + abstract getMusicContentCenter(): IMusicContentCenter; + public abstract IMusicContentCenter GetMusicContentCenter(); + abstract getMusicContentCenter(): IMusicContentCenter; + MusicContentCenter getMusicContentCenter() +

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita b/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita index 5cef7111ac9..24126354bae 100644 --- a/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita +++ b/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita @@ -13,14 +13,14 @@

    - public abstract long getNativeHandle(); - - (void* _Nullable)getNativeHandle; - - abstract getNativeHandle(): number; - public abstract int GetNativeHandler(ref IntPtr nativeHandler); - abstract getNativeHandle(): number; - Future<int> getNativeHandle(); -

    + public abstract long getNativeHandle(); + - (void* _Nullable)getNativeHandle; + + abstract getNativeHandle(): number; + public abstract int GetNativeHandler(ref IntPtr nativeHandler); + abstract getNativeHandle(): number; + Future<int> getNativeHandle(); +

    详情 @@ -29,17 +29,19 @@
    参数 - - nativeHandler - 输出参数,SDK 引擎的 Native 句柄。 - + + nativeHandler + 输出参数,SDK 引擎的 Native 句柄。 + +
    返回值

    SDK 引擎的 Native 句柄。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita b/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita index 5f9c594cdaf..4fecad469dc 100644 --- a/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita +++ b/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita @@ -13,46 +13,46 @@

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

    + abstract getNetworkType(): number; + public abstract int GetNetworkType(); + abstract getNetworkType(): number; + Future<int> getNetworkType(); +

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

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

    - 该方法在加入频道前后均可调用。
    + 该方法在加入频道前后均可调用。 +
    返回值
      -
    • ≥ 0: 方法调用成功,返回本地网络连接类型。 - -
        -
      • 0:网络连接已断开。
      • -
      • 1:网络类型为 LAN。
      • -
      • 2:网络类型为 Wi-Fi(包含热点)。
      • -
      • 3:网络类型为 2G 移动网络。
      • -
      • 4:网络类型为 3G 移动网络。
      • -
      • 5:网络类型为 4G 移动网络。
      • -
      • 6:网络类型为 5G 移动网络。
      • -
    • -
    • < 0: 方法调用失败,返回错误码。 - -
        -
      • -1:网络连接类型未知。
      • -
    • -
    +
  • ≥ 0: 方法调用成功,返回本地网络连接类型。
      +
    • 0:网络连接已断开。
    • +
    • 1:网络类型为 LAN。
    • +
    • 2:网络类型为 Wi-Fi(包含热点)。
    • +
    • 3:网络类型为 2G 移动网络。
    • +
    • 4:网络类型为 3G 移动网络。
    • +
    • 5:网络类型为 4G 移动网络。
    • +
    • 6:网络类型为 5G 移动网络。
    • +
    +
  • +
  • < 0: 方法调用失败,返回错误码。
      +
    • -1:网络连接类型未知。
    • +
    +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita b/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita index 934b9037a5a..7219ccd3d23 100644 --- a/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita +++ b/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita @@ -13,26 +13,27 @@

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

    + abstract getNtpWallTimeInMs(): number; + public abstract UInt64 GetNtpWallTimeInMs(); + abstract getNtpWallTimeInMs(): number; + Future<int> getNtpWallTimeInMs(); +

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

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

    +

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

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getpluginparameter.dita b/dita/RTC-NG/API/api_irtcengine_getpluginparameter.dita index 197ccaba4b6..42640b9f405 100644 --- a/dita/RTC-NG/API/api_irtcengine_getpluginparameter.dita +++ b/dita/RTC-NG/API/api_irtcengine_getpluginparameter.dita @@ -13,31 +13,33 @@

    - - - - - - - -

    + + + + + + + +

    详情 -

    如果你想在使用插件时将 JSON 字符串数据传递给 C++ 层,你需要调用 获取并设置参数。

    +

    如果你想在使用插件时将 JSON 字符串数据传递给 C++ 层,你需要调用 获取并设置参数。

    参数 - - - - - - key - Key 值。 - -
    + + + + + + key + Key 值。 + + +
    返回值

    Key 值对应的 Value 值。

    diff --git a/dita/RTC-NG/API/api_irtcengine_getplugins.dita b/dita/RTC-NG/API/api_irtcengine_getplugins.dita index f0cfc58abcf..02c2a73305c 100644 --- a/dita/RTC-NG/API/api_irtcengine_getplugins.dita +++ b/dita/RTC-NG/API/api_irtcengine_getplugins.dita @@ -13,14 +13,14 @@

    - - - - - - - -

    + + + + + + + +

    详情 diff --git a/dita/RTC-NG/API/api_irtcengine_getrtcengineeventhandler.dita b/dita/RTC-NG/API/api_irtcengine_getrtcengineeventhandler.dita index 8d0944f03a0..9620f403f22 100644 --- a/dita/RTC-NG/API/api_irtcengine_getrtcengineeventhandler.dita +++ b/dita/RTC-NG/API/api_irtcengine_getrtcengineeventhandler.dita @@ -2,7 +2,8 @@ <ph keyref="getRtcEngineEventHandler"/> - 获取 对象。 + 获取 + 对象。 @@ -18,10 +19,12 @@ public abstract RtcEngineEventHandler GetRtcEngineEventHandler(); -
    + +
    详情 -

    成功获取 对象后,你可以注册 的事件回调。

    +

    成功获取 对象后,你可以注册 的事件回调。

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita b/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita index 5ef0be84caa..8ffa4f6b12b 100644 --- a/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita +++ b/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita @@ -1,70 +1,81 @@ - <ph keyref="getScreenCaptureSources" /> + <ph keyref="getScreenCaptureSources"/> 获取可共享的屏幕和窗口对象列表。 - +

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

    +

    详情 -

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

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

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

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

    -

    数组。

    +

    +

    + 数组。

    diff --git a/dita/RTC-NG/API/api_irtcengine_getscreensharehelper.dita b/dita/RTC-NG/API/api_irtcengine_getscreensharehelper.dita index cde71ffd6da..2b35bfe92e6 100644 --- a/dita/RTC-NG/API/api_irtcengine_getscreensharehelper.dita +++ b/dita/RTC-NG/API/api_irtcengine_getscreensharehelper.dita @@ -13,23 +13,24 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - appGroup - App group。 - -
    + + appGroup + App group。 + + +
    返回值

    一个子进程对象,可用于屏幕共享场景。

    diff --git a/dita/RTC-NG/API/api_irtcengine_getscreensinfo.dita b/dita/RTC-NG/API/api_irtcengine_getscreensinfo.dita index e6ad7275856..18d577581f5 100644 --- a/dita/RTC-NG/API/api_irtcengine_getscreensinfo.dita +++ b/dita/RTC-NG/API/api_irtcengine_getscreensinfo.dita @@ -13,19 +13,20 @@

    - - - - - - - -

    + + + + + + + +

    详情

    使用标识屏幕的 Display ID(macOS 系统)或 ScreenRect(Windows 系统)共享屏幕前,你需要调用该方法获取屏幕信息。

    - 该方法可以获取多个屏幕的信息。
    + 该方法可以获取多个屏幕的信息。 +
    返回值

    包含屏幕信息的对象。Windows 系统和 macOS 系统中返回的屏幕信息不同。你无需了解该对象的具体内容,直接使用该对象进行屏幕共享。

    diff --git a/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita b/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita index 011411413c5..f72f83353f1 100644 --- a/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita +++ b/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita @@ -1,71 +1,77 @@ - <ph keyref="getUserInfoByUid" /> + <ph keyref="getUserInfoByUid"/> 通过 UID 获取用户信息。 - +

    - public abstract int getUserInfoByUid(int uid, UserInfo userInfo); - - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error; - virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int getUserInfoByUid(int uid, UserInfo userInfo); + - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error; + virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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 的 Mapping 表,并在本地触发 回调。收到这个回调后,你可以调用该方法,通过传入 UID 获取包含了指定用户 User Account 的 对象。

    +

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

    参数 - - uid - 用户 ID。 - - - userInfo - 输入和输出参数。标识用户的 对象: -
      -
    • 输入值:一个 对象
    • -
    • 输出值:一个包含了用户 User Account 和 UID 的 对象
    • -
    -
    -
    - - channelId -

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

    + + uid + 用户 ID。 + + + userInfo + 输入和输出参数。标识用户的 对象:
      +
    • 输入值:一个 对象
    • +
    • 输出值:一个包含了用户 User Account 和 UID 的 + 对象
    • +
    +
    +
    + + channelId +

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

    返回值
      -
    • 方法调用成功,返回 对象。
    • -
    • 方法调用失败,则返回
    • +
    • 方法调用成功,返回 对象。
    • +
    • 方法调用失败,则返回
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 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 05ca4b31e85..fe666bff3f7 100644 --- a/dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita +++ b/dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita @@ -1,28 +1,28 @@ - <ph keyref="getUserInfoByUserAccount" /> + <ph keyref="getUserInfoByUserAccount"/> 通过 User Account 获取用户信息。 - +

    - - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error; - public abstract int getUserInfoByUserAccount(String userAccount, UserInfo userInfo); - virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error; + public abstract int getUserInfoByUserAccount(String userAccount, UserInfo userInfo); + virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetUserInfoByUserAccount(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); -

    + abstract getUserInfoByUserAccount(userAccount: string): UserInfo; + public abstract int GetUserInfoByUserAccount(string userAccount, ref UserInfo userInfo); + abstract getUserInfoByUserAccount(userAccount: string): UserInfo; + Future<UserInfo> getUserInfoByUserAccount(String userAccount); +

    详情 @@ -31,27 +31,29 @@
    参数 - - userAccount - 用户 User Account。 - - - - - - - channelId -

    - - - localUserAccount - 本地用户的 User Account。 - - - - - -

    + + userAccount + 用户 User Account。 + + + + + + + channelId +

    + + + localUserAccount + 本地用户的 User Account。 + + + + + + +

    </section> diff --git a/dita/RTC-NG/API/api_irtcengine_getversion.dita b/dita/RTC-NG/API/api_irtcengine_getversion.dita index a25a0a74e41..e59f295862e 100644 --- a/dita/RTC-NG/API/api_irtcengine_getversion.dita +++ b/dita/RTC-NG/API/api_irtcengine_getversion.dita @@ -13,26 +13,27 @@ <refbody> <section id="prototype"> <p outputclass="codeblock"> - <codeblock props="android" outputclass="language-java">public static String getSdkVersion()</codeblock> - <codeblock props="ios mac" outputclass="language-objectivec">+ (NSString * _Nonnull)getSdkVersion;</codeblock> - <codeblock props="cpp unreal" outputclass="language-cpp">virtual const char* getVersion(int* build) = 0;</codeblock> - <codeblock props="bp" outputclass="language-cpp">UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + <codeblock props="android" outputclass="language-java">public static String getSdkVersion()</codeblock> + <codeblock props="ios mac" outputclass="language-objectivec">+ (NSString * _Nonnull)getSdkVersion;</codeblock> + <codeblock props="cpp unreal" outputclass="language-cpp">virtual const char* getVersion(int* build) = 0;</codeblock> + <codeblock props="bp" outputclass="language-cpp">UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") FString GetVersion(int build);</codeblock> - <codeblock props="electron" outputclass="language-typescript">abstract getVersion(): SDKBuildInfo;</codeblock> - <codeblock props="unity cs" outputclass="language-csharp">public abstract string GetVersion(ref int build);</codeblock> - <codeblock props="rn" outputclass="language-typescript">abstract getVersion(): SDKBuildInfo;</codeblock> - <codeblock props="flutter" outputclass="language-dart">Future<SDKBuildInfo> getVersion();</codeblock> - <codeblock props="reserve" outputclass="language-cpp"></codeblock></p> + <codeblock props="electron" outputclass="language-typescript">abstract getVersion(): SDKBuildInfo;</codeblock> + <codeblock props="unity cs" outputclass="language-csharp">public abstract string GetVersion(ref int build);</codeblock> + <codeblock props="rn" outputclass="language-typescript">abstract getVersion(): SDKBuildInfo;</codeblock> + <codeblock props="flutter" outputclass="language-dart">Future<SDKBuildInfo> getVersion();</codeblock> + <codeblock props="reserve" outputclass="language-cpp"/></p> </section> <section id="parameters"> <title>参数 - - build - 编译号。 - -
    -
    + + build + 编译号。 + + +
    +
    返回值

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

    对象。

    diff --git a/dita/RTC-NG/API/api_irtcengine_getvideocapturetype.dita b/dita/RTC-NG/API/api_irtcengine_getvideocapturetype.dita index 84168f5efd8..5861014a084 100644 --- a/dita/RTC-NG/API/api_irtcengine_getvideocapturetype.dita +++ b/dita/RTC-NG/API/api_irtcengine_getvideocapturetype.dita @@ -13,18 +13,19 @@

    - - - virtual VIDEO_CAPTURE_TYPE getVideoCaptureType() = 0; - - - - -

    + + + virtual VIDEO_CAPTURE_TYPE getVideoCaptureType() = 0; + + + + +

    详情 -

    在你初始化自定义视频源之前,SDK 会触发该回调查询自采集的视频源类型。你必须在返回值中指定一种视频源类型来告知 SDK。 SDK 会在接收到视频帧后根据视频源的类型对启用相应的视频处理策略。

    +

    在你初始化自定义视频源之前,SDK 会触发该回调查询自采集的视频源类型。你必须在返回值中指定一种视频源类型来告知 SDK。 SDK + 会在接收到视频帧后根据视频源的类型对启用相应的视频处理策略。

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getvideocontenthint.dita b/dita/RTC-NG/API/api_irtcengine_getvideocontenthint.dita index 8dc7d1e3662..af27ae53171 100644 --- a/dita/RTC-NG/API/api_irtcengine_getvideocontenthint.dita +++ b/dita/RTC-NG/API/api_irtcengine_getvideocontenthint.dita @@ -13,18 +13,19 @@

    - - - virtual VideoContentHint getVideoContentHint() = 0; - - - - -

    + + + virtual VideoContentHint getVideoContentHint() = 0; + + + + +

    详情 -

    如果指定自定义视频源为屏幕共享的视频,那么在你初始化自定义视频源之前,SDK 会触发该回调查询屏幕共享视频源的内容类型。 你必须在返回值中指定一种内容类型来告知 SDK。SDK 会在接收到视频帧后根据屏幕共享视频的内容类型启用相应的视频处理策略。

    +

    如果指定自定义视频源为屏幕共享的视频,那么在你初始化自定义视频源之前,SDK 会触发该回调查询屏幕共享视频源的内容类型。 你必须在返回值中指定一种内容类型来告知 + SDK。SDK 会在接收到视频帧后根据屏幕共享视频的内容类型启用相应的视频处理策略。

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getvideodevicemanager.dita b/dita/RTC-NG/API/api_irtcengine_getvideodevicemanager.dita index a216d10c612..bb9b0df7a33 100644 --- a/dita/RTC-NG/API/api_irtcengine_getvideodevicemanager.dita +++ b/dita/RTC-NG/API/api_irtcengine_getvideodevicemanager.dita @@ -2,7 +2,8 @@ <ph keyref="getVideoDeviceManager"/> - 获取 对象,以管理视频设备。 + 获取 + 对象,以管理视频设备。 @@ -13,14 +14,14 @@

    - - - - abstract getVideoDeviceManager(): IVideoDeviceManager; - public abstract IVideoDeviceManager GetVideoDeviceManager(); - - VideoDeviceManager getVideoDeviceManager(); -

    + + + + abstract getVideoDeviceManager(): IVideoDeviceManager; + public abstract IVideoDeviceManager GetVideoDeviceManager(); + + VideoDeviceManager getVideoDeviceManager(); +

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getvideodevices.dita b/dita/RTC-NG/API/api_irtcengine_getvideodevices.dita index 1dc1c05b39c..2f191cd629a 100644 --- a/dita/RTC-NG/API/api_irtcengine_getvideodevices.dita +++ b/dita/RTC-NG/API/api_irtcengine_getvideodevices.dita @@ -13,14 +13,14 @@

    - - - - - - - -

    + + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_irtcengine_getvideosourcetype.dita b/dita/RTC-NG/API/api_irtcengine_getvideosourcetype.dita index 15e4ef0a815..d4f3d309079 100644 --- a/dita/RTC-NG/API/api_irtcengine_getvideosourcetype.dita +++ b/dita/RTC-NG/API/api_irtcengine_getvideosourcetype.dita @@ -1,40 +1,42 @@ - <ph keyref="getVideoSourceType" /> + <ph keyref="getVideoSourceType"/> 获取视频源的类型。 - +

    - - - - - - - int getVideoSourceType() { + + + + + + + int getVideoSourceType() { return canvas.uid! == 0 ? VideoSourceType.videoSourceCamera.value() : VideoSourceType.videoSourceRemote.value(); } -

    +

    详情 -

    +

    返回值
    • ≥ 0: 方法调用成功,返回当前视频源的类型。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita b/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita index d7b1032f8f2..1f5950be90f 100644 --- a/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita @@ -1,42 +1,45 @@ - <ph keyref="getVolumeOfEffect" /> + <ph keyref="getVolumeOfEffect"/> 获取指定音效文件的播放音量。 - +

    - public abstract int getVolumeOfEffect(int soundId); - - (int)getVolumeOfEffect:(int)soundId; - virtual int getVolumeOfEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int getVolumeOfEffect(int soundId); + - (int)getVolumeOfEffect:(int)soundId; + virtual int getVolumeOfEffect(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract getVolumeOfEffect(soundId: number): number; + public abstract int GetVolumeOfEffect(int soundId); + abstract getVolumeOfEffect(soundId: number): number; + Future<int> getVolumeOfEffect(int soundId); +

    参数 - - soundId - 音效文件的 ID。 - -
    + + soundId + 音效文件的 ID。 + + +
    返回值
      -
    • ≥ 0: 方法调用成功,返回播放音量。音量范围为 [0,100]。100 为原始音量。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • ≥ 0: 方法调用成功,返回播放音量。音量范围为 [0,100]。100 为原始音量。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_getwindowsinfo.dita b/dita/RTC-NG/API/api_irtcengine_getwindowsinfo.dita index 9abb00187fe..ec5f522f427 100644 --- a/dita/RTC-NG/API/api_irtcengine_getwindowsinfo.dita +++ b/dita/RTC-NG/API/api_irtcengine_getwindowsinfo.dita @@ -13,19 +13,20 @@

    - - - - - - - -

    + + + + + + + +

    详情

    使用标识窗口的 Window ID 共享窗口前,你需要调用该方法获取窗口信息。

    - 该方法可以获取多个窗口的信息。
    + 该方法可以获取多个窗口的信息。 +
    返回值

    WindowInfo 数组:

    diff --git a/dita/RTC-NG/API/api_irtcengine_initialize.dita b/dita/RTC-NG/API/api_irtcengine_initialize.dita index b8d790ca2e9..a10885de442 100644 --- a/dita/RTC-NG/API/api_irtcengine_initialize.dita +++ b/dita/RTC-NG/API/api_irtcengine_initialize.dita @@ -2,7 +2,9 @@ <ph keyref="initialize"/> - 创建并初始化 初始化 + 创建并初始化 初始化 @@ -13,62 +15,74 @@

    - public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} + public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} - + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config + + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; - virtual int initialize(const RtcEngineContext& context) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int initialize(const RtcEngineContext& context) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int Initialize(const FRtcEngineContext& context); - abstract initialize(context: RtcEngineContext): number; - public abstract int Initialize(RtcEngineContext context); - abstract initialize(context: RtcEngineContext): number; - Future<void> initialize(RtcEngineContext context); -

    + abstract initialize(context: RtcEngineContext): number; + public abstract int Initialize(RtcEngineContext context); + abstract initialize(context: RtcEngineContext): number; + Future<void> initialize(RtcEngineContext context); +

    详情 -

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

    +

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

    -
      -
    • 请确保在调用其他 API 前先调用 创建并初始化
    • -
    • 请确保在调用其他 API 前先调用该方法创建并初始化
    • -
    • 调用该方法和 均能创建 实例。该方法与 的 区别在于,该方法支持在创建 实例时进行更多配置,如指定访问区域、设置日志文件等。
    • -
    • SDK 只支持每个 App 创建一个 实例。
    • -
    +
      +
    • 请确保在调用其他 API 前先调用 创建并初始化 +
    • +
    • 请确保在调用其他 API 前先调用该方法创建并初始化
    • +
    • 调用该方法和 均能创建 实例。该方法与 的 区别在于,该方法支持在创建 + 实例时进行更多配置,如指定访问区域、设置日志文件等。
    • +
    • SDK 只支持每个 App 创建一个 实例。
    • +
    + +
    参数 - - context - config - -

    实例的配置。详见

    -
    -
    - - delegate - - -
    + + context + config + +

    实例的配置。详见

    +
    +
    + + delegate + + + +
    - <ph keyref="return-section-title" props="apple cpp framework"/> - <ph props="android">返回/异常</ph> + <ph keyref="return-section-title" props="apple cpp framework"/> + <ph props="android">返回/异常</ph> -

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

    +

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

      -
    • 方法调用成功,返回一个 对象。
    • -
    • 0: 方法调用成功。
    • -
    • 方法调用失败,抛出异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
    • -
    • < 0:方法调用失败。 -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 设置了无效的参数。
      • -
      • -7: SDK 初始化失败。
      • -
      • -22: 资源申请失败。当 App 占用资源过多,或系统资源耗尽时,SDK 分配资源失败,会返回该错误。
      • -
      • -101: App ID 无效。
      • -
    • +
    • 方法调用成功,返回一个 对象。
    • +
    • 0: 方法调用成功。
    • +
    • 方法调用失败,抛出异常,你需要捕获异常并进行处理。详见了解详情和解决建议。
    • +
    • < 0:方法调用失败。
        +
      • -1: 一般性的错误(未明确归类)。
      • +
      • -2: 设置了无效的参数。
      • +
      • -7: SDK 初始化失败。
      • +
      • -22: 资源申请失败。当 App 占用资源过多,或系统资源耗尽时,SDK 分配资源失败,会返回该错误。
      • +
      • -101: App ID 无效。
      • +
    diff --git a/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita b/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita index 88c4575f1cd..561ad2a6c94 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita @@ -1,43 +1,46 @@ - <ph keyref="isCameraAutoExposureFaceModeSupported" /> + <ph keyref="isCameraAutoExposureFaceModeSupported"/> 检测设备是否支持自动曝光功能。 - +

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

    + abstract isCameraAutoExposureFaceModeSupported(): boolean; + public abstract bool IsCameraAutoExposureFaceModeSupported(); + abstract isCameraAutoExposureFaceModeSupported(): boolean; + Future<bool> isCameraAutoExposureFaceModeSupported(); +

    详情

    - -

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

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

    返回值
      -
    • : 设备支持自动曝光功能。
    • -
    • : 设备不支持自动曝光功能。
    • -
    +
  • : 设备支持自动曝光功能。
  • +
  • : 设备不支持自动曝光功能。
  • + +
    -
    \ 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 c380a47493e..78c1ea61ea5 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita @@ -1,41 +1,43 @@ - <ph keyref="isCameraAutoFocusFaceModeSupported" /> + <ph keyref="isCameraAutoFocusFaceModeSupported"/> 检测设备是否支持人脸对焦功能。 - +

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

    + abstract isCameraAutoFocusFaceModeSupported(): boolean; + public abstract bool IsCameraAutoFocusFaceModeSupported(); + abstract isCameraAutoFocusFaceModeSupported(): boolean; + Future<bool> isCameraAutoFocusFaceModeSupported(); +

    详情 -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • +
    +
    返回值
      -
    • : 设备支持人脸对焦功能。
    • -
    • : 设备不支持人脸对焦功能。
    • -
    +
  • : 设备支持人脸对焦功能。
  • +
  • : 设备不支持人脸对焦功能。
  • + +
    -
    \ 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 0bd4d100ccd..482884b55eb 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameracenterstagesupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameracenterstagesupported.dita @@ -13,21 +13,22 @@

    - - - (BOOL)isCameraCenterStageSupported NS_SWIFT_NAME(isCameraCenterStageSupported()); - virtual bool isCameraCenterStageSupported() = 0; - - abstract isCameraCenterStageSupported(): boolean; - public abstract bool IsCameraCenterStageSupported(); - abstract isCameraCenterStageSupported(): boolean; - Future<bool> isCameraCenterStageSupported();

    + + - (BOOL)isCameraCenterStageSupported NS_SWIFT_NAME(isCameraCenterStageSupported()); + virtual bool isCameraCenterStageSupported() = 0; + + abstract isCameraCenterStageSupported(): boolean; + public abstract bool IsCameraCenterStageSupported(); + abstract isCameraCenterStageSupported(): boolean; + Future<bool> isCameraCenterStageSupported(); +

    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +
    该方法仅适用于 iOS 和 macOS。 该方法仅适用于 iOS。 @@ -36,8 +37,9 @@
    调用时机 -

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

    -
    +

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

    +
    调用限制

    无。

    @@ -45,8 +47,9 @@
    <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 90c6f5f523a..09f501d0b22 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita @@ -1,41 +1,43 @@ - <ph keyref="isCameraExposurePositionSupported" /> + <ph keyref="isCameraExposurePositionSupported"/> 检测设备是否支持手动曝光功能。 - +

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

    + abstract isCameraExposurePositionSupported(): boolean; + public abstract bool IsCameraExposurePositionSupported(); + abstract isCameraExposurePositionSupported(): boolean; + Future<bool> isCameraExposurePositionSupported(); +

    详情 -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • +
    +
    返回值
      -
    • : 设备支持手动曝光功能。
    • -
    • : 设备不支持手动曝光功能。
    • -
    +
  • : 设备支持手动曝光功能。
  • +
  • : 设备不支持手动曝光功能。
  • + +
    -
    \ 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 204e3d6a2e9..87c691c36cf 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita @@ -1,49 +1,54 @@ - <ph keyref="isCameraExposureSupported" /> + <ph keyref="isCameraExposureSupported"/> 查询当前摄像头是否支持曝光调节。 - +

    - public abstract boolean isCameraExposureSupported(); - - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported()); - virtual bool isCameraExposureSupported() = 0; - - public abstract bool IsCameraExposureSupported(); - abstract isCameraExposureSupported(): boolean; - Future<bool> isCameraExposureSupported(); -

    -
    + public abstract boolean isCameraExposureSupported(); + - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported()); + virtual bool isCameraExposureSupported() = 0; + + public abstract bool IsCameraExposureSupported(); + abstract isCameraExposureSupported(): boolean; + Future<bool> isCameraExposureSupported(); +

    +
    详情
    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +
    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 该方法必须在摄像头成功开启后调用,即 SDK 触发 回调,返回本地视频状态为 (1) 后。
    • -
    • 建议你在调用 调节曝光系数前,先调用该方法查询当前摄像头是否支持曝光调节。
    • -
    • 当你调用该方法时,查询的是当前正在使用的摄像头是否支持曝光调节,即调用 时指定的摄像头。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 该方法必须在摄像头成功开启后调用,即 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 fe318dda65a..a8bde5f7f91 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita @@ -1,40 +1,42 @@ - <ph keyref="isCameraFaceDetectSupported" /> + <ph keyref="isCameraFaceDetectSupported"/> 检查设备摄像头是否支持人脸检测。 - +

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

    + abstract isCameraFaceDetectSupported(): boolean; + public abstract bool IsCameraFaceDetectSupported(); + abstract isCameraFaceDetectSupported(): boolean; + Future<bool> isCameraFaceDetectSupported(); +

      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    -
    +
  • 该方法仅适用于 Android 和 iOS。
  • +
  • + +
  • +
    返回值
      -
    • : 设备摄像头支持人脸检测。
    • -
    • : 设备摄像头不支持人脸检测。
    • -
    +
  • : 设备摄像头支持人脸检测。
  • +
  • : 设备摄像头不支持人脸检测。
  • + +
    -
    \ 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 35ccbef2766..4bbe56b4430 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscamerafocussupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscamerafocussupported.dita @@ -1,41 +1,43 @@ - <ph keyref="isCameraFocusSupported" /> + <ph keyref="isCameraFocusSupported"/> 检测设备是否支持手动对焦功能。 - +

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

    + abstract isCameraFocusSupported(): boolean; + public abstract bool IsCameraFocusSupported(); + abstract isCameraFocusSupported(): boolean; + Future<bool> isCameraFocusSupported(); +

    详情 -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • +
    +
    返回值
      -
    • : 设备支持手动对焦功能。
    • -
    • : 设备不支持手动对焦功能。
    • -
    +
  • : 设备支持手动对焦功能。
  • +
  • : 设备不支持手动对焦功能。
  • + +
    -
    \ 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 976ae7ef248..4405dab279f 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscameratorchsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscameratorchsupported.dita @@ -1,43 +1,50 @@ - <ph keyref="isCameraTorchSupported" /> + <ph keyref="isCameraTorchSupported"/> 检测设备是否支持闪光灯常开。 - +

    - public abstract boolean isCameraTorchSupported(); - - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported()); - virtual bool isCameraTorchSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract boolean isCameraTorchSupported(); + - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported()); + virtual bool isCameraTorchSupported() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") bool IsCameraTorchSupported(); - abstract isCameraTorchSupported(): boolean; - public abstract bool IsCameraTorchSupported(); - abstract isCameraTorchSupported(): boolean; - Future<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 上,即使 返回 ,也可能因系统问题导致你无法通过 + 成功开启闪光灯。
    • +
    +
    返回值
      -
    • : 设备支持闪光灯常开。
    • -
    • : 设备不支持闪光灯常开。
    • -
    +
  • : 设备支持闪光灯常开。
  • +
  • : 设备不支持闪光灯常开。
  • + +
    -
    \ 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 b18c0e943de..3315501fbfd 100644 --- a/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita @@ -1,41 +1,43 @@ - <ph keyref="isCameraZoomSupported" /> + <ph keyref="isCameraZoomSupported"/> 检测设备是否支持摄像头缩放功能。 - +

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

    + abstract isCameraZoomSupported(): boolean; + public abstract bool IsCameraZoomSupported(); + abstract isCameraZoomSupported(): boolean; + Future<bool> isCameraZoomSupported(); +

    详情 -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • +
    +
    返回值
      -
    • : 设备支持相机缩放功能。
    • -
    • : 设备不支持相机缩放功能。
    • -
    +
  • : 设备支持相机缩放功能。
  • +
  • : 设备不支持相机缩放功能。
  • + +
    -
    \ 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 1326b7c43e8..5040c881f6a 100644 --- a/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita +++ b/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita @@ -13,20 +13,21 @@

    - public abstract boolean isFeatureAvailableOnDevice(int type); - - (BOOL)isFeatureAvailableOnDevice:(AgoraFeatureType)type; - virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0; - public abstract bool IsFeatureAvailableOnDevice(FeatureType type); - abstract isFeatureAvailableOnDevice(type: FeatureType): boolean; - Future<bool> isFeatureAvailableOnDevice(FeatureType type);

    + public abstract boolean isFeatureAvailableOnDevice(int type); + - (BOOL)isFeatureAvailableOnDevice:(AgoraFeatureType)type; + virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0; + public abstract bool IsFeatureAvailableOnDevice(FeatureType type); + abstract isFeatureAvailableOnDevice(type: FeatureType): boolean; + Future<bool> isFeatureAvailableOnDevice(FeatureType type); +

    详情
    - -
    自从
    -
    v4.2.3
    -
    + +
    自从
    +
    v4.2.3
    +

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

    @@ -37,23 +38,24 @@
    参数 - - type - 进阶功能类型,详见 - -

    进阶功能类型: -

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

    -
    -
    -
    + + type + 进阶功能类型,详见 + +

    进阶功能类型:

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

    +
    +
    + +
    返回值
      -
    • : 设备支持指定进阶功能。
    • -
    • : 设备不支持指定进阶功能。
    • -
    +
  • : 设备支持指定进阶功能。
  • +
  • : 设备不支持指定进阶功能。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita b/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita index 7ea7de58130..47b181e5d4b 100644 --- a/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita +++ b/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita @@ -1,40 +1,42 @@ - <ph keyref="isSpeakerphoneEnabled" /> + <ph keyref="isSpeakerphoneEnabled"/> 检查扬声器状态启用状态。 - +

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

    + abstract isSpeakerphoneEnabled(): boolean; + public abstract bool IsSpeakerphoneEnabled(); + abstract isSpeakerphoneEnabled(): boolean; + Future<bool> isSpeakerphoneEnabled(); +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 该方法在加入频道前后都能调用。
    • +
    +
    返回值
      -
    • : 扬声器已开启,语音会输出到扬声器。
    • -
    • : 扬声器未开启,语音会输出到非扬声器(听筒,耳机等)。
    • -
    +
  • : 扬声器已开启,语音会输出到扬声器。
  • +
  • : 扬声器未开启,语音会输出到非扬声器(听筒,耳机等)。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_istextureencodesupported.dita b/dita/RTC-NG/API/api_irtcengine_istextureencodesupported.dita index 4db2d445ecf..df242479bd6 100644 --- a/dita/RTC-NG/API/api_irtcengine_istextureencodesupported.dita +++ b/dita/RTC-NG/API/api_irtcengine_istextureencodesupported.dita @@ -13,20 +13,21 @@

    - public abstract boolean isTextureEncodeSupported(); - - - - - - -

    + public abstract boolean isTextureEncodeSupported(); + + + + + + +

    返回值
      -
    • :支持 Texture 编码。
    • -
    • :不支持 Texture 编码。
    • -
    +
  • :支持 Texture 编码。
  • +
  • :不支持 Texture 编码。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_joinchannel.dita b/dita/RTC-NG/API/api_irtcengine_joinchannel.dita index a9a1631ed2f..1dc656a28f7 100644 --- a/dita/RTC-NG/API/api_irtcengine_joinchannel.dita +++ b/dita/RTC-NG/API/api_irtcengine_joinchannel.dita @@ -1,79 +1,87 @@ - <ph keyref="joinChannel1" /> + <ph keyref="joinChannel1"/> 加入频道。 - +

    - public abstract int joinChannel( + public abstract int joinChannel( String token, String channelId, String optionalInfo, int uid); - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId info:(NSString * _Nullable)info uid:(NSUInteger)uid joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannel(const char* token, const char* channelId, const char* info, + virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0; - abstract joinChannel( + abstract joinChannel( token: string, channelId: string, info: string, uid: number ): number; - public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0); - abstract joinChannel( + public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0); + abstract joinChannel( token: string, channelId: string, info: string, uid: number ): number; - Future<void> joinChannel( + Future<void> joinChannel( {required String token, required String channelId, required String info, required int uid}); -

    +

    详情 -

    -

    -

    -

    • 用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。
    • -
    • 如果你的项目仅开启调试模式(即选择 APP ID 为鉴权机制),成功加入频道 24 小时后会自动退出该频道。
    +

    +

    +

    +

      +
    • 用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 + mute 方法实现。
    • +
    • 如果你的项目仅开启调试模式(即选择 APP ID 为鉴权机制),成功加入频道 24 小时后会自动退出该频道。
    • +
    +
    参数 - - - - - - - - - - info - optionalInfo - (非必选项) 预留参数。 - - - uid - 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。 - - - - - -
    -
    + + + + + + + + + + info + optionalInfo + (非必选项) 预留参数。 + + + uid + 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 + 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK + 不对该返回值进行维护。 + + + + + + +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita b/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita index 82d87901aaf..88283f668af 100644 --- a/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita +++ b/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita @@ -1,122 +1,144 @@ - <ph keyref="joinChannel2" /> + <ph keyref="joinChannel2"/> 设置媒体选项并加入频道。 - +

    - public abstract int joinChannel( + public abstract int joinChannel( String token, String channelId, int uid, ChannelMediaOptions options); - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId uid:(NSUInteger)uid mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannel(const char* token, const char* channelId, uid_t uid, + virtual int joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int JoinChannel(FString token, FString channelId, int64 uid, const FChannelMediaOptions& options); - abstract joinChannel( + abstract joinChannel( token: string, channelId: string, uid: number, options: ChannelMediaOptions ): number; - public abstract int JoinChannel(string token, string channelId, uint uid, + public abstract int JoinChannel(string token, string channelId, uint uid, ChannelMediaOptions options); - abstract joinChannel( + abstract joinChannel( token: string, channelId: string, uid: number, options: ChannelMediaOptions ): number; - Future<void> joinChannel( + Future<void> joinChannel( {required String token, required String channelId, required int uid, required ChannelMediaOptions options}); -

    +

    详情 -

    该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。 使用不同 App ID 的 App 不能互通。

    -

    成功调用该方法加入频道后会触发以下回调: -

      -
    • 本地会触发 回调。
    • -
    • 通信场景下的用户和直播场景下的主播加入频道后,远端会触发 回调。
    • -

    -

    在网络状况不理想的情况下,客户端可能会与声网服务器失去连接;SDK 会自动尝试重连,重连成功后,本地会触发 回调。

    -

    相比 ,该方法增加了 options 参数,用于配置用户加入频道时是否自动订阅频道内所有远端音视频流。默认情况下,用户订阅频道内所有其他用户的音频流和视频流,因此会产生用量并影响计费。如果想取消订阅,可以通过设置 options 参数或相应的 mute 方法实现。

    +

    该方法让用户加入通话频道,在同一个频道内的用户可以互相通话,多个用户加入同一个频道,可以群聊。 使用不同 App ID 的 App + 不能互通。

    +

    成功调用该方法加入频道后会触发以下回调:

      +
    • 本地会触发 回调。
    • +
    • 通信场景下的用户和直播场景下的主播加入频道后,远端会触发 回调。
    • +

    +

    在网络状况不理想的情况下,客户端可能会与声网服务器失去连接;SDK 会自动尝试重连,重连成功后,本地会触发 回调。

    +

    相比 ,该方法增加了 + options + 参数,用于配置用户加入频道时是否自动订阅频道内所有远端音视频流。默认情况下,用户订阅频道内所有其他用户的音频流和视频流,因此会产生用量并影响计费。如果想取消订阅,可以通过设置 + options 参数或相应的 mute 方法实现。

    -
      -
    • 该方法允许用户一次加入仅一个频道。
    • -
    • 请务必确保用于生成 Token 的 App ID 和 方法初始化引擎时用的是同一个 App ID,否则使用 Token 加入频道失败。
    • -
    • 如果你的项目仅开启调试模式(即选择 APP ID 为鉴权机制),成功加入频道 24 小时后会自动退出该频道。
    • -
    +
      +
    • 该方法允许用户一次加入仅一个频道。
    • +
    • 请务必确保用于生成 Token 的 App ID 和 方法初始化引擎时用的是同一个 App + ID,否则使用 Token 加入频道失败。
    • +
    • 如果你的项目仅开启调试模式(即选择 APP ID 为鉴权机制),成功加入频道 24 小时后会自动退出该频道。
    • +
    + +
    参数 - - token - 在服务端生成的用于鉴权的动态密钥。详见。 - 如果你需要同时加入多个频道或在频道间频繁切换,声网推荐你使用通配 Token 以避免每加入一个新的频道都需向服务端申请一个新的 Token,详见 - - - channelId - -

    频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): - - - -

      -
    • 26 个小写英文字母 a~z
    • -
    • 26 个大写英文字母 A~Z
    • -
    • 10 个数字 0~9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    -
    - - uid - 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。 - - - options - mediaOptions - 频道媒体设置选项。详见 - - - joinSuccessBlock - 成功加入频道回调。joinSuccessBlock 优先级高于 ,两个同时存在时, 会被忽略。需要有 回调时,请将 joinSuccessBlock 设置为 nil - -
    + + token + 在服务端生成的用于鉴权的动态密钥。详见如果你需要同时加入多个频道或在频道间频繁切换,声网推荐你使用通配 Token 以避免每加入一个新的频道都需向服务端申请一个新的 + Token,详见 + + + channelId + +

    频道名。该参数标识用户进行实时音视频互动的频道。App ID + 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 + 个字符):

      +
    • 26 个小写英文字母 a~z
    • +
    • 26 个大写英文字母 A~Z
    • +
    • 10 个数字 0~9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

    +
    +
    + + uid + 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 + 位无符号整数。建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, App 层必须记住该返回值并维护,SDK + 不对该返回值进行维护。 + + + options + mediaOptions + 频道媒体设置选项。详见 + + + joinSuccessBlock + 成功加入频道回调。joinSuccessBlock 优先级高于 ,两个同时存在时, 会被忽略。需要有 回调时,请将 joinSuccessBlock + 设置为 nil + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。 - - - -
        -
      • -2:传入的参数无效。例如,使用了不合法的 Token,uid 参数未设置为整型, 结构体成员值不合法。你需要填入有效的参数,重新加入频道。
      • -
      • -3: 对象初始化失败。你需要重新初始化 对象。
      • -
      • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
      • -8: 对象内部状态错误。可能的原因是:调用 开始通话回路测试后,未调用 停止测试就调用该方法加入频道。你需要在该方法前调用
      • -
      • -17:加入频道被拒绝。可能的原因是用户已经在频道中。建议通过 回调判断用户是否在频道中。除收到 (1) 状态外,不要再次调用该方法加入频道。
      • -
      • -102:频道名无效。你需要在 channelId 中填入有效的频道名,重新加入频道。
      • -
      • -121:用户 ID 无效。你需要在 uid 中填入有效的用户 ID,重新加入频道。
      • -
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。 +
      +
    • -2:传入的参数无效。例如,使用了不合法的 Token,uid 参数未设置为整型, 结构体成员值不合法。你需要填入有效的参数,重新加入频道。
    • +
    • -3: 对象初始化失败。你需要重新初始化 对象。
    • +
    • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
    • +
    • -8: 对象内部状态错误。可能的原因是:调用 开始通话回路测试后,未调用 停止测试就调用该方法加入频道。你需要在该方法前调用
    • +
    • -17:加入频道被拒绝。可能的原因是用户已经在频道中。建议通过 回调判断用户是否在频道中。除收到 (1) + 状态外,不要再次调用该方法加入频道。
    • +
    • -102:频道名无效。你需要在 channelId 中填入有效的频道名,重新加入频道。
    • +
    • -121:用户 ID 无效。你需要在 uid 中填入有效的用户 ID,重新加入频道。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita b/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita index e6e021f8729..ab497a17e04 100644 --- a/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita +++ b/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita @@ -1,93 +1,105 @@ - <ph keyref="joinChannelWithUserAccount1" /> + <ph keyref="joinChannelWithUserAccount1"/> 使用 User Account 和 Token 加入频道。 - +

    - public abstract int joinChannelWithUserAccount( + public abstract int joinChannelWithUserAccount( String token, String channelName, String userAccount); - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId userAccount:(NSString * _Nonnull)userAccount joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannelWithUserAccount(const char* token, + virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0; - abstract joinChannelWithUserAccount( + abstract joinChannelWithUserAccount( token: string, channelId: string, userAccount: string, options?: ChannelMediaOptions ): number; - public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount); - abstract joinChannelWithUserAccount( + public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount); + abstract joinChannelWithUserAccount( token: string, channelId: string, userAccount: string, options?: ChannelMediaOptions ): number; - Future<void> joinChannelWithUserAccount( + Future<void> joinChannelWithUserAccount( {required String token, required String channelId, required String userAccount, ChannelMediaOptions? options}); -

    +

    详情 -

    该方法允许本地用户使用 User Account 和 Token 加入频道。成功加入频道后,会触发以下回调: -

      -
    • 本地: 回调。
    • -
    • 通信场景下的用户和直播场景下的主播加入频道后,远端会依次触发 回调。
    • -

    -

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

    -
    • 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。
    • -
    • 如果你的项目仅开启调试模式(即选择 APP ID 为鉴权机制),成功加入频道 24 小时后会自动退出该频道。
    +

    该方法允许本地用户使用 User Account 和 Token 加入频道。成功加入频道后,会触发以下回调:

      +
    • 本地: 回调。
    • +
    • 通信场景下的用户和直播场景下的主播加入频道后,远端会依次触发 回调。
    • +

    +

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

    +
      +
    • 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。如果有用户通过 Web + SDK 加入频道,请确保 Web 加入的用户也是同样类型。
    • +
    • 如果你的项目仅开启调试模式(即选择 APP ID 为鉴权机制),成功加入频道 24 小时后会自动退出该频道。
    • +
    +
    参数 - - - - - - channelName - channelId - -

    - - - - - - - - - - + + + + + + channelName + channelId + +

    + + + + + + + + + +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -2: 参数无效。
      • -
      • -3: SDK 初始化失败,请尝试重新初始化 SDK。
      • -
      • -5: 调用被拒绝。
      • -
      • -17: 加入频道被拒绝。由于 SDK 仅支持用户同一时间加入一个 频道,当已经加入 频道的用户使用有效的频道名再次调用 类中的加入频道方法时,会返回此错误码。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2: 参数无效。
    • +
    • -3: SDK 初始化失败,请尝试重新初始化 SDK。
    • +
    • -5: 调用被拒绝。
    • +
    • -17: 加入频道被拒绝。由于 SDK 仅支持用户同一时间加入一个 频道,当已经加入 + 频道的用户使用有效的频道名再次调用 类中的加入频道方法时,会返回此错误码。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita b/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita index 3accbe9176b..d787bd8e90e 100644 --- a/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita +++ b/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita @@ -1,12 +1,13 @@ - <ph keyref="joinChannelWithUserAccount2" /> - 使用 User Account 和 Token 加入频道,并设置是否自动订阅音频或视频流。 + <ph keyref="joinChannelWithUserAccount2"/> + 使用 User Account 和 Token + 加入频道,并设置是否自动订阅音频或视频流。 - + @@ -24,7 +25,7 @@ const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int JoinChannelWithUserAccount(FString token, FString channelId, FString userAccount, const FChannelMediaOptions& options); abstract joinChannelWithUserAccount( token: string, @@ -48,50 +49,59 @@
    详情 -

    该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调: -

      -
    • 本地: 回调。
    • -
    • 远端:通信场景下的用户和直播场景下的主播加入频道后,远端会分别触发 回调。
    • -

    -

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

    -

    相比 ,该方法加了 options 参数,用于配置用户加入频道时是否自动订阅频道内所有远端音视频流。默认情况下,用户订阅频道内所有其他用户的音频流和视频流,因此会产生用量并影响计费。如果想取消订阅,可以通过设置 options 参数或相应的 mute 方法实现。

    -
    +

    该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调:

      +
    • 本地: 回调。
    • +
    • 远端:通信场景下的用户和直播场景下的主播加入频道后,远端会分别触发 回调。
    • +

    +

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

    +

    相比 ,该方法加了 options + 参数,用于配置用户加入频道时是否自动订阅频道内所有远端音视频流。默认情况下,用户订阅频道内所有其他用户的音频流和视频流,因此会产生用量并影响计费。如果想取消订阅,可以通过设置 + options 参数或相应的 mute 方法实现。

    + +
    参数 - - - - - - channelName - channelId - -

    - - - - userAccount - -

    用户 User Account。该参数用于标识实时音视频互动频道中的用户。你需要自行设置和管理用户的 User Account,并确保同一频道中每个用户的 User Account 是唯一的。 该参数为必填,最大不超过 255 字节,不可填 。以下为支持的字符集范围(共 89 个字符): -

      -
    • 26 个小写英文字母 a-z
    • -
    • 26 个大写英文字母 A-Z
    • -
    • 10 个数字 0-9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    -
    - - - - - - - - -
    + + + + + + channelName + channelId + +

    + + + + userAccount + +

    用户 User Account。该参数用于标识实时音视频互动频道中的用户。你需要自行设置和管理用户的 User + Account,并确保同一频道中每个用户的 User Account 是唯一的。 该参数为必填,最大不超过 255 字节,不可填 。以下为支持的字符集范围(共 89 个字符):

      +
    • 26 个小写英文字母 a-z
    • +
    • 26 个大写英文字母 A-Z
    • +
    • 10 个数字 0-9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

    +
    +
    + + + + + + + + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita b/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita index e853d8f7829..73f5dcab0aa 100644 --- a/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita +++ b/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita @@ -1,103 +1,115 @@ - <ph keyref="joinChannelWithUserAccountEx" /> + <ph keyref="joinChannelWithUserAccountEx"/> 使用 User Account 加入频道,并设置是否自动订阅音频或视频流。 - +

    - public abstract int joinChannelWithUserAccountEx(String token, String channelId, + public abstract int joinChannelWithUserAccountEx(String token, String channelId, String userAccount, ChannelMediaOptions options, IRtcEngineEventHandler eventHandler); - - (int)joinChannelExByToken:(NSString* _Nullable)token + - (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, + virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options, IRtcEngineEventHandler* eventHandler) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int JoinChannelWithUserAccountEx(FString token, FString channelId, FString userAccount, const FChannelMediaOptions& options, UIRtcEngineEventHandler* eventHandler); - abstract joinChannelWithUserAccountEx( + abstract joinChannelWithUserAccountEx( token: string, channelId: string, userAccount: string, options: ChannelMediaOptions ): number; - public int JoinChannelWithUserAccountEx(string token, string channelId, + public int JoinChannelWithUserAccountEx(string token, string channelId, string userAccount, ChannelMediaOptions options) - abstract joinChannelWithUserAccountEx( + abstract joinChannelWithUserAccountEx( token: string, channelId: string, userAccount: string, options: ChannelMediaOptions ): number; - Future<void> joinChannelWithUserAccountEx( + Future<void> joinChannelWithUserAccountEx( {required String token, required String channelId, required String userAccount, required ChannelMediaOptions options}); -

    +

    详情 -

    -

    该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调: - - -

      -
    • 本地: 回调。
    • -
    • 远端:通信场景下的用户和直播场景下的主播加入频道后,远端会分别触发 回调。
    • -

    -

    -

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

    - - 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。
    +

    +

    该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调:

      +
    • 本地: 回调。
    • +
    • 远端:通信场景下的用户和直播场景下的主播加入频道后,远端会分别触发 回调。
    • +

    +

    +

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

    + + 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。如果有用户通过 Web SDK + 加入频道,请确保 Web 加入的用户也是同样类型。 +
    参数 - - - - - - channelId - -

    - - - - - - - - options - mediaOptions - - - - - - - - - - -

    + + + + + + channelId + +

    + + + + + + + + options + mediaOptions + + + + + + + + + + + +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    - \ 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 838277cd48d..40eb2dee82c 100644 --- a/dita/RTC-NG/API/api_irtcengine_leavechannel.dita +++ b/dita/RTC-NG/API/api_irtcengine_leavechannel.dita @@ -13,14 +13,14 @@

    - public abstract int leaveChannel(); - - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock; - virtual int leaveChannel() = 0; - abstract leaveChannel(options?: LeaveChannelOptions): number; - public abstract int LeaveChannel(); - abstract leaveChannel(options?: LeaveChannelOptions): number; - Future<void> leaveChannel({LeaveChannelOptions? options}); -

    + public abstract int leaveChannel(); + - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock; + virtual int leaveChannel() = 0; + abstract leaveChannel(options?: LeaveChannelOptions): number; + public abstract int LeaveChannel(); + abstract leaveChannel(options?: LeaveChannelOptions): number; + Future<void> leaveChannel({LeaveChannelOptions? options}); +

    详情 @@ -28,36 +28,44 @@

    该方法是异步操作,调用返回时并没有真正退出频道。

    调用该方法返回时并没有真正退出频道。

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

    -

    成功调用该方法、并且离开频道后会触发以下回调: -

    +

    成功调用该方法、并且离开频道后会触发以下回调:

    -
      -
    • 如果你调用了本方法后立即调用 方法,SDK 将无法触发 回调。
    • -
    • 如果你已调用 加入多频道,调用本方法后会同时离开 加入的频道。
    • -
    • 如果你在旁路推流过程中调用了本方法离开频道,SDK 将自动调用 方法。
    • -
    + + +
    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0(ERR_OK): 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita b/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita index 9baa4b87965..b0dc0ae0d56 100644 --- a/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita +++ b/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita @@ -13,45 +13,55 @@

    - public abstract int leaveChannel(LeaveChannelOptions options); - - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options + public abstract int leaveChannel(LeaveChannelOptions options); + - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options leaveChannelBlock:(void (^ _Nullable)(AgoraChannelStats * _Nonnull))leaveChannelBlock; - virtual int leaveChannel(const LeaveChannelOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int leaveChannel(const LeaveChannelOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int LeaveChannel(const FLeaveChannelOptions& options); - abstract leaveChannel(options?: LeaveChannelOptions): number; - public abstract int LeaveChannel(LeaveChannelOptions options); - abstract leaveChannel(options?: LeaveChannelOptions): number; - Future<void> leaveChannel({LeaveChannelOptions? options}); -

    + abstract leaveChannel(options?: LeaveChannelOptions): number; + public abstract int LeaveChannel(LeaveChannelOptions options); + abstract leaveChannel(options?: LeaveChannelOptions): number; + Future<void> leaveChannel({LeaveChannelOptions? options}); +

    详情

    该方法会把会话相关的所有资源释放掉,离开频道,即挂断或退出通话。不管当前是否在通话中均可以调用该方法。

    加入频道后,必须调用本方法结束通话,才能开始下一次通话。

    -

    该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,本地会触发 回调;通信场景下的用户和直播场景下的主播离开频道后,远端会触发 回调。

    -

    调用该方法返回时并没有真正退出频道。在真正退出频道后,本地会触发 回调;通信场景下的用户和直播场景下的主播离开频道后,远端会触发 回调。

    -
    +

    该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,本地会触发 + 回调;通信场景下的用户和直播场景下的主播离开频道后,远端会触发 回调。

    +

    调用该方法返回时并没有真正退出频道。在真正退出频道后,本地会触发 + 回调;通信场景下的用户和直播场景下的主播离开频道后,远端会触发 回调。

    + +
    参数 - - options - 离开频道的选项,详见 - - - leaveChannelBlock - -

    成功离开频道的回调,提供通话相关的统计信息,详见

    -
    -
    -
    + + options + 离开频道的选项,详见 + + + leaveChannelBlock + +

    成功离开频道的回调,提供通话相关的统计信息,详见

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita b/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita index 67a5cc3ce11..c5f57334caa 100644 --- a/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita +++ b/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita @@ -13,54 +13,60 @@

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

    +

    详情 - 该方法仅适用于 Windows 和 Android。 + 该方法仅适用于 Windows 和 + Android。 该方法仅适用于 Android。 该方法仅适用于 Windows。
    参数 - - path - 插件的动态库路径和名称。例如:/library/libagora_segmentation_extension.dll - - - unload_after_use - unloadAfterUse - 是否在插件使用完毕后自动卸载: -
      -
    • : 当 销毁时自动卸载插件。
    • -
    • : 不自动卸载插件,直到进程退出(推荐)。
    • -
    -
    -
    -
    + + path + 插件的动态库路径和名称。例如:/library/libagora_segmentation_extension.dll + + + unload_after_use + unloadAfterUse + 是否在插件使用完毕后自动卸载:
      +
    • : 当 + 销毁时自动卸载插件。
    • +
    • : 不自动卸载插件,直到进程退出(推荐)。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita b/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita index b1f16c0f118..d1c74d9bddb 100644 --- a/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita +++ b/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita @@ -13,54 +13,60 @@

    - public abstract int muteAllRemoteAudioStreams(boolean muted); - - (int)muteAllRemoteAudioStreams:(BOOL)mute; - virtual int muteAllRemoteAudioStreams(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteAllRemoteAudioStreams(boolean muted); + - (int)muteAllRemoteAudioStreams:(BOOL)mute; + virtual int muteAllRemoteAudioStreams(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract muteAllRemoteAudioStreams(mute: boolean): number; + public abstract int MuteAllRemoteAudioStreams(bool mute); + abstract muteAllRemoteAudioStreams(mute: boolean): number; + Future<void> muteAllRemoteAudioStreams(bool mute); +

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

    -

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

    +

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

    调用时机

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

    -
    +
    调用限制 -

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

    +

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

    参数 - - muted - mute - -

    是否取消订阅所有远端用户的音频流: - - -

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

    -
    -
    -
    + + muted + mute + +

    是否取消订阅所有远端用户的音频流:

      +
    • : 取消订阅所有远端用户的音频流。
    • +
    • :(默认)订阅所有远端用户的音频流。
    • +
    +

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

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita b/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita index 8deb12e51e1..f148e32b7f3 100644 --- a/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita +++ b/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita @@ -1,68 +1,74 @@ - <ph keyref="muteAllRemoteVideoStreams" /> + <ph keyref="muteAllRemoteVideoStreams"/> 取消或恢复订阅所有远端用户的视频流。 - +

    - public abstract int muteAllRemoteVideoStreams(boolean muted); - - (int)muteAllRemoteVideoStreams:(BOOL)mute; - virtual int muteAllRemoteVideoStreams(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteAllRemoteVideoStreams(boolean muted); + - (int)muteAllRemoteVideoStreams:(BOOL)mute; + virtual int muteAllRemoteVideoStreams(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract muteAllRemoteVideoStreams(mute: boolean): number; + public abstract int MuteAllRemoteVideoStreams(bool mute); + abstract muteAllRemoteVideoStreams(mute: boolean): number; + Future<void> muteAllRemoteVideoStreams(bool mute); +

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

    -

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

    +

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

    调用时机

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

    - 如果你在离开频道后调用 (),则下次加入频道时,将不会订阅任何用户的视频流。 -
    + 如果你在离开频道后调用 (),则下次加入频道时,将不会订阅任何用户的视频流。 +
    调用限制 -

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

    +

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

    参数 - - muted - mute - -

    是否取消订阅所有远端用户的视频流。 - - - -

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

    -
    -
    -
    + + muted + mute + +

    是否取消订阅所有远端用户的视频流。

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

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita b/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita index 020e6df1f1c..c59c1fcbd30 100644 --- a/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita +++ b/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita @@ -13,16 +13,16 @@

    - public abstract int muteLocalAudioStream(boolean muted); - - (int)muteLocalAudioStream:(BOOL)mute; - virtual int muteLocalAudioStream(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteLocalAudioStream(boolean muted); + - (int)muteLocalAudioStream:(BOOL)mute; + virtual int muteLocalAudioStream(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract muteLocalAudioStream(mute: boolean): number; + public abstract int MuteLocalAudioStream(bool mute); + abstract muteLocalAudioStream(mute: boolean): number; + Future<void> muteLocalAudioStream(bool mute); +

    该方法用于控制是否发布本地采集的音频流。如果不发布本地采集的音频流,也不会禁用音频采集设备,所以不影响音频的采集状态。

    @@ -30,38 +30,42 @@
    调用时机

    加入频道前后均可调用。

    -
    +
    调用限制

    无。

    参数 - - muted - mute - -

    是否取消发布本地音频流。 - - -

      -
    • : 取消发布。
    • -
    • :(默认)发布。
    • -

    -
    -
    -
    + + muted + mute + +

    是否取消发布本地音频流。

      +
    • : 取消发布。
    • +
    • :(默认)发布。
    • +

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

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita b/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita index 8a9995292a6..d7739d8dd8a 100644 --- a/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita +++ b/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita @@ -1,7 +1,8 @@ - <ph keyref="muteLocalVideoStream"/> + <ph keyref="muteLocalVideoStream"/> + 取消或恢复发布本地视频流。 @@ -13,58 +14,62 @@

    - public abstract int muteLocalVideoStream(boolean muted); - - (int)muteLocalVideoStream:(BOOL)mute; - virtual int muteLocalVideoStream(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteLocalVideoStream(boolean muted); + - (int)muteLocalVideoStream:(BOOL)mute; + virtual int muteLocalVideoStream(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteLocalVideoStream(bool mute); - abstract muteLocalVideoStream(mute: boolean): number; - public abstract int MuteLocalVideoStream(bool mute); - abstract muteLocalVideoStream(mute: boolean): number; - Future<void> muteLocalVideoStream(bool mute); -

    + abstract muteLocalVideoStream(mute: boolean): number; + public abstract int MuteLocalVideoStream(bool mute); + abstract muteLocalVideoStream(mute: boolean): number; + Future<void> muteLocalVideoStream(bool mute); +

    该方法用于控制是否发布本地采集的视频流。如果不发布本地采集的视频流,也不会禁用视频采集设备,所以不影响视频的采集状态。

    -

    相比于调用 () 关闭本地视频流采集、从而取消发布本地视频流的方法,该方法响应速度更快。

    -
    +

    相比于调用 () + 关闭本地视频流采集、从而取消发布本地视频流的方法,该方法响应速度更快。

    +
    调用时机

    加入频道前后均可调用。

    -
    +
    调用限制

    无。

    参数 - - muted - mute - -

    是否取消发送本地视频流。 - - - - -

      -
    • : 取消发送本地视频流。
    • -
    • : (默认)发送本地视频流。
    • -

    -
    -
    -
    + + muted + 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 9033804c457..3262b12c4df 100644 --- a/dita/RTC-NG/API/api_irtcengine_muterecordingsignal.dita +++ b/dita/RTC-NG/API/api_irtcengine_muterecordingsignal.dita @@ -1,50 +1,58 @@ - <ph keyref="muteRecordingSignal" /> + <ph keyref="muteRecordingSignal"/> 是否将录音信号静音。 - +

    - public abstract int muteRecordingSignal(boolean muted); - -(int)muteRecordingSignal:(BOOL)muted; - virtual int muteRecordingSignal(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteRecordingSignal(boolean muted); + -(int)muteRecordingSignal:(BOOL)muted; + virtual int muteRecordingSignal(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract muteRecordingSignal(mute: boolean): number; + public abstract int MuteRecordingSignal(bool mute); + abstract muteRecordingSignal(mute: boolean): number; + Future<void> muteRecordingSignal(bool mute); +

    参数 - - muted - mute - -
      -
    • : 静音。
    • -
    • :(默认)原始音量。
    • -
    - 如果你已经调用 调节了音量,则调用该方法并设置为 时,SDK 会记录当前音量并将其静音。如需恢复之前的音量,再次调用该方法并设置为 即可。 -
    -
    -
    + + muted + mute + +
      +
    • : 静音。
    • +
    • :(默认)原始音量。
    • +
    + 如果你已经调用 调节了音量,则调用该方法并设置为 + 时,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_muteremoteaudiostream.dita b/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita index 9420a9c7e92..e6ef3a1c3ad 100644 --- a/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita +++ b/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita @@ -13,24 +13,23 @@

    - public abstract int muteRemoteAudioStream(int uid, boolean muted); - - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; + public abstract int muteRemoteAudioStream(int uid, boolean muted); + - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; + virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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}); -

    -
    -
    + 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}); +

    +
    调用时机

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

    -
    +
    调用限制

    无。

    @@ -42,29 +41,32 @@
    参数 - - uid - 指定用户的用户 ID。 - - - muted - mute - -

    是否取消订阅指定远端用户的音频流。 - -

      -
    • : 取消订阅指定用户的音频流。
    • -
    • :(默认)订阅指定用户的音频流。
    • -

    -
    -
    -
    + + uid + 指定用户的用户 ID。 + + + muted + mute + +

    是否取消订阅指定远端用户的音频流。

      +
    • : 取消订阅指定用户的音频流。
    • +
    • :(默认)订阅指定用户的音频流。
    • +

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

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita b/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita index 9a794f9b594..c550f9a34ae 100644 --- a/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita +++ b/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita @@ -1,36 +1,35 @@ - <ph keyref="muteRemoteVideoStream" /> + <ph keyref="muteRemoteVideoStream"/> 取消或恢复订阅指定远端用户的视频流。 - +

    - public abstract int muteRemoteVideoStream(int userId, boolean muted); - - (int)muteRemoteVideoStream:(NSUInteger)uid + public abstract int muteRemoteVideoStream(int userId, boolean muted); + - (int)muteRemoteVideoStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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}); -

    -
    -
    + 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}); +

    +
    调用时机

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

    -
    +
    调用限制

    无。

    @@ -42,30 +41,33 @@
    参数 - - userId - uid - 指定用户的用户 ID。 - - - muted - mute - -

    是否取消订阅指定远端用户的视频流。 - -

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

    -
    -
    -
    + + userId + uid + 指定用户的用户 ID。 + + + muted + mute + +

    是否取消订阅指定远端用户的视频流。

      +
    • : 取消订阅指定用户的视频流。
    • +
    • : (默认)订阅指定用户的视频流。
    • +

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

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita b/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita index 5e460126489..f9c7c8089a5 100644 --- a/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita @@ -1,39 +1,46 @@ - <ph keyref="pauseAllChannelMediaRelay" /> + <ph keyref="pauseAllChannelMediaRelay"/> 暂停向所有目标频道转发媒体流。 - +

    - public abstract int pauseAllChannelMediaRelay(); - - (int)pauseAllChannelMediaRelay; - virtual int pauseAllChannelMediaRelay() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int pauseAllChannelMediaRelay(); + - (int)pauseAllChannelMediaRelay; + virtual int pauseAllChannelMediaRelay() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PauseAllChannelMediaRelay(); - abstract pauseAllChannelMediaRelay(): number; - public abstract int PauseAllChannelMediaRelay(); - abstract pauseAllChannelMediaRelay(): number; - Future<void> pauseAllChannelMediaRelay(); -

    + abstract pauseAllChannelMediaRelay(): number; + public abstract int PauseAllChannelMediaRelay(); + abstract pauseAllChannelMediaRelay(): number; + Future<void> pauseAllChannelMediaRelay(); +

    详情 -

    开始跨频道转发媒体流后,如果你需要暂停向所有频道转发媒体流,可以调用该方法;暂停后,如果要恢复跨频道媒体流转发,可以调用 方法。

    - 该方法需要在调用 开始跨频道媒体流转发后调用。
    +

    开始跨频道转发媒体流后,如果你需要暂停向所有频道转发媒体流,可以调用该方法;暂停后,如果要恢复跨频道媒体流转发,可以调用 方法。

    + 该方法需要在调用 + 开始跨频道媒体流转发后调用。 +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ 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 3d34d83229f..be4bb1c2828 100644 --- a/dita/RTC-NG/API/api_irtcengine_pausealleffects.dita +++ b/dita/RTC-NG/API/api_irtcengine_pausealleffects.dita @@ -1,37 +1,41 @@ - <ph keyref="pauseAllEffects" /> + <ph keyref="pauseAllEffects"/> 暂停所有音效文件播放。 - +

    - public abstract int pauseAllEffects(); + public abstract int pauseAllEffects(); - - (int)pauseAllEffects; + - (int)pauseAllEffects; - virtual int pauseAllEffects() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int pauseAllEffects() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PauseAllEffects(); - abstract pauseAllEffects(): number; - public abstract int PauseAllEffects(); - abstract pauseAllEffects(): number; - Future<void> pauseAllEffects(); -

    + abstract pauseAllEffects(): number; + public abstract int PauseAllEffects(); + abstract pauseAllEffects(): number; + Future<void> pauseAllEffects(); +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_pauseaudio.dita b/dita/RTC-NG/API/api_irtcengine_pauseaudio.dita index 56c2de2acb2..3127c4e057c 100644 --- a/dita/RTC-NG/API/api_irtcengine_pauseaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_pauseaudio.dita @@ -2,43 +2,45 @@ pauseAudio - + - +
    - - - - - - - There are no corresponding names available
    + + + + + + + There are no corresponding names available +
    详情
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +
    -

    +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita b/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita index f89011fc19a..705a64207bb 100644 --- a/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita +++ b/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita @@ -1,28 +1,28 @@ - <ph keyref="pauseAudioMixing" /> + <ph keyref="pauseAudioMixing"/> 暂停播放音乐文件。 - +

    - public abstract int pauseAudioMixing(); - - (int)pauseAudioMixing; - virtual int pauseAudioMixing() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int pauseAudioMixing(); + - (int)pauseAudioMixing; + virtual int pauseAudioMixing() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PauseAudioMixing(); - abstract pauseAudioMixing(): number; - public abstract int PauseAudioMixing(); - abstract pauseAudioMixing(): number; - Future<void> pauseAudioMixing(); -

    + abstract pauseAudioMixing(): number; + public abstract int PauseAudioMixing(); + abstract pauseAudioMixing(): number; + Future<void> pauseAudioMixing(); +

    详情 @@ -30,10 +30,14 @@
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 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 e5db3c6482f..b8cc9bedc0e 100644 --- a/dita/RTC-NG/API/api_irtcengine_pauseeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_pauseeffect.dita @@ -1,43 +1,48 @@ - <ph keyref="pauseEffect" /> + <ph keyref="pauseEffect"/> 暂停音效文件播放。 - +

    - public abstract int pauseEffect(int soundId); - - (int)pauseEffect:(int)soundId; - virtual int pauseEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int pauseEffect(int soundId); + - (int)pauseEffect:(int)soundId; + virtual int pauseEffect(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract pauseEffect(soundId: number): number; + public abstract int PauseEffect(int soundId); + abstract pauseEffect(soundId: number): number; + Future<void> pauseEffect(int soundId); +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ 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 4b70f56b08d..3c0c5d1abec 100644 --- a/dita/RTC-NG/API/api_irtcengine_playalleffects.dita +++ b/dita/RTC-NG/API/api_irtcengine_playalleffects.dita @@ -1,128 +1,104 @@ - <ph keyref="playAllEffects" /> + <ph keyref="playAllEffects"/> 播放所有音效文件。 - +

    - - - virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + + virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PlayAllEffects(int loopCount, float pitch, float pan, int gain, bool publish); - abstract playAllEffects( + abstract playAllEffects( loopCount: number, pitch: number, pan: number, gain: number, publish?: boolean ): number; - public abstract int PlayAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false); - abstract playAllEffects( + public abstract int PlayAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false); + abstract playAllEffects( loopCount: number, pitch: number, pan: number, gain: number, publish?: boolean ): number; - Future<void> playAllEffects( + Future<void> playAllEffects( {required int loopCount, required double pitch, required double pan, required int gain, bool publish = false}); -

    +

    详情 -

    多次调用 预加载多个音效文件后,你可以调用本方法播放所有预加载的音效文件。

    +

    多次调用 预加载多个音效文件后,你可以调用本方法播放所有预加载的音效文件。

    参数 - - loopCount - 音效文件循环播放的次数: - - - - - - - - - -
      -
    • -1: 无限循环播放音效文件,直至调用 后停止。
    • -
    • 0: 播放音效文件一次。
    • -
    • 1: 播放音效文件两次。
    • -
    -
    - - pitch - -

    音效的音调。取值范围为 [0.5,2.0]。默认值为 1.0,代表原始音调。取值越小,则音调越低。

    -
    -
    + + loopCount + 音效文件循环播放的次数:
      +
    • -1: 无限循环播放音效文件,直至调用 后停止。
    • +
    • 0: 播放音效文件一次。
    • +
    • 1: 播放音效文件两次。
    • +
    +
    + + pitch + +

    音效的音调。取值范围为 [0.5,2.0]。默认值为 1.0,代表原始音调。取值越小,则音调越低。

    +
    +
    - - pan - 音效的空间位置。取值范围为 [-1.0,1.0]: - - - - - - - - - - -
      -
    • -1.0: 音效出现在左边。
    • -
    • 0: 音效出现在正前边。
    • -
    • 1.0: 音效出现在右边。
    • -
    -
    - - gain - -

    音效的音量。取值范围为 [0,100]。100 为默认值,代表原始音量。取值越小,则音量越低。

    -
    -
    - - publish - 是否将音效发布到远端: - - - - - - - - - -
      -
    • : 将音效发布到远端。本地和远端用户都能听到该音效。
    • -
    • : (默认)不将音效发布到远端。只能本地用户能听到该音效。
    • -
    -
    -
    + + pan + 音效的空间位置。取值范围为 [-1.0,1.0]:
      +
    • -1.0: 音效出现在左边。
    • +
    • 0: 音效出现在正前边。
    • +
    • 1.0: 音效出现在右边。
    • +
    +
    +
    + + gain + +

    音效的音量。取值范围为 [0,100]。100 为默认值,代表原始音量。取值越小,则音量越低。

    +
    +
    + + publish + 是否将音效发布到远端:
      +
    • : 将音效发布到远端。本地和远端用户都能听到该音效。
    • +
    • : + (默认)不将音效发布到远端。只能本地用户能听到该音效。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_playeffect.dita b/dita/RTC-NG/API/api_irtcengine_playeffect.dita index 5809d25e346..8fb4480a5be 100644 --- a/dita/RTC-NG/API/api_irtcengine_playeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_playeffect.dita @@ -13,25 +13,25 @@

    - public int playEffect(int soundId, + public int playEffect(int soundId, String filePath, int loop, double pitch, double pan, double gain); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch pan:(double)pan gain:(NSInteger)gain; - - - - - -

    + + + + + +

    详情 @@ -41,33 +41,34 @@
    参数 - - - - - - filePath - -

    - - - - - - - - - - - - - - - - - - -

    + + + + + + filePath + +

    + + + + + + + + + + + + + + + + + + + +

    diff --git a/dita/RTC-NG/API/api_irtcengine_playeffect2.dita b/dita/RTC-NG/API/api_irtcengine_playeffect2.dita index c622ac77ee6..f53b22275c6 100644 --- a/dita/RTC-NG/API/api_irtcengine_playeffect2.dita +++ b/dita/RTC-NG/API/api_irtcengine_playeffect2.dita @@ -1,22 +1,22 @@ - <ph keyref="playEffect2" /> + <ph keyref="playEffect2"/> 播放指定的本地或在线音效文件。 - +

    - public abstract int playEffect(int soundId, String filePath, int loopCount, double pitch, + public abstract int playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch @@ -24,84 +24,98 @@ gain:(NSInteger)gain publish:(BOOL)publish; - virtual int playEffect(int soundId, + virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; - - public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0); - -

    + + public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0); + + +

    详情 - -

    你可以多次调用该方法,传入不同的 soundIDfilePath,同时播放多个音效文件。为获得最佳用户体验,建议同时播放的音效文件不超过 3 个。 音效文件播放结束后,SDK 会触发 回调。 - 支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP等。详见 支持的媒体格式

    + +

    你可以多次调用该方法,传入不同的 soundID 和 + filePath,同时播放多个音效文件。为获得最佳用户体验,建议同时播放的音效文件不超过 3 个。 + 音效文件播放结束后,SDK 会触发 回调。 支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP等。详见 支持的媒体格式

    参数 - - soundId - 音效的 ID。每个音效的 ID 具有唯一性。 - 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 soundId 相同。 - - - filePath - -

    支持在线文件的 URL 地址,本地文件的 URI 地址、绝对路径或以 /assets/ 开头的路径。例如

    -

    播放文件的绝对路径或 URL 地址,需精确到文件名及后缀。通过绝对路径访问本地文件可能会遇到权限问题,建议使用 URL 地址访问本地文件。例如

    - 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 filePath 相同。
    -
    - - loopCount - -

    音效循环播放的次数。 -

      -
    • ≥ 0: 循环播放次数。例如,1 表示循环播放 1 次,即总计播放 2 次。
    • -
    • -1: 无限循环播放。
    • -

    -
    -
    - - pitch - 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。 - - - pan - -

    音效的空间位置。取值范围为 [-1.0,1.0],例如: -

      -
    • -1.0:音效出现在左边
    • -
    • 0.0:音效出现在正前方
    • -
    • 1.0:音效出现在右边
    • -

    -
    -
    - - gain - 音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。 - - - publish - -

    是否将音效发布至远端: -

      -
    • : 将音效发布至远端。本地用户和远端用户都能听到音效。
    • -
    • : 不将音效发布至远端。只有本地用户能听到音效。
    • -

    -
    -
    -
    + + soundId + 音效的 ID。每个音效的 ID 具有唯一性。 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 soundId + 相同。 + + + filePath + +

    支持在线文件的 URL 地址,本地文件的 URI 地址、绝对路径或以 + /assets/ 开头的路径。例如

    +

    播放文件的绝对路径或 URL 地址,需精确到文件名及后缀。通过绝对路径访问本地文件可能会遇到权限问题,建议使用 + URL 地址访问本地文件。例如

    + 如果你已通过 + 将音效加载至内存,请确保该参数与 中设置的 + filePath 相同。 +
    +
    + + loopCount + +

    音效循环播放的次数。

      +
    • ≥ 0: 循环播放次数。例如,1 表示循环播放 1 次,即总计播放 2 次。
    • +
    • -1: 无限循环播放。
    • +

    +
    +
    + + pitch + 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。 + + + pan + +

    音效的空间位置。取值范围为 [-1.0,1.0],例如:

      +
    • -1.0:音效出现在左边
    • +
    • 0.0:音效出现在正前方
    • +
    • 1.0:音效出现在右边
    • +

    +
    +
    + + gain + 音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。 + + + publish + +

    是否将音效发布至远端:

      +
    • : + 将音效发布至远端。本地用户和远端用户都能听到音效。
    • +
    • : + 不将音效发布至远端。只有本地用户能听到音效。
    • +

    +
    +
    + +
    返回值
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_playeffect3.dita b/dita/RTC-NG/API/api_irtcengine_playeffect3.dita index 4ef4d9ad6ce..8e424552cf2 100644 --- a/dita/RTC-NG/API/api_irtcengine_playeffect3.dita +++ b/dita/RTC-NG/API/api_irtcengine_playeffect3.dita @@ -1,22 +1,22 @@ - <ph keyref="playEffect3" /> + <ph keyref="playEffect3"/> 播放指定的本地或在线音效文件。 - +

    - public int playEffect(int soundId, String filePath, int loopCount, double pitch, + public int playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish, int startPos); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch @@ -25,7 +25,7 @@ publish:(BOOL)publish startPos:(int)startPos; - virtual int playEffect(int soundId, + virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, @@ -33,9 +33,9 @@ int gain, bool publish, int startPos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PlayEffect(int soundId, FString filePath, int loopCount, float pitch, float pan, int gain, bool publish, int startPos); - abstract playEffect( + abstract playEffect( soundId: number, filePath: string, loopCount: number, @@ -45,8 +45,8 @@ publish?: boolean, startPos?: number ): number; - public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0); - abstract playEffect( + public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0); + abstract playEffect( soundId: number, filePath: string, loopCount: number, @@ -56,7 +56,7 @@ publish?: boolean, startPos?: number ): number; - Future<void> playEffect( + Future<void> playEffect( {required int soundId, required String filePath, required int loopCount, @@ -65,87 +65,97 @@ required int gain, bool publish = false, int startPos = 0}); -

    +

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

    你可以多次调用该方法,传入不同的 soundIDfilePath,同时播放多个音效文件。为获得最佳用户体验,建议同时播放的音效文件不超过 3 个。音效文件播放结束后,SDK 会触发 回调。

    -

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

    你可以多次调用该方法,传入不同的 soundID 和 + filePath,同时播放多个音效文件。为获得最佳用户体验,建议同时播放的音效文件不超过 3 + 个。音效文件播放结束后,SDK 会触发 回调。

    +

    参数 - - soundId - 音效的 ID。每个音效的 ID 具有唯一性。 - - 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 soundId 相同。 - - - filePath - -

    播放文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP。详见支持的媒体格式

    - 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 filePath 相同。
    -
    - - loopCount - -

    音效循环播放的次数。 - - -

      -
    • ≥ 0: 循环播放次数。例如,1 表示循环播放 1 次,即总计播放 2 次。
    • -
    • -1: 无限循环播放。
    • -

    -
    -
    - - pitch - 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。 - - - pan - -

    音效的空间位置。取值范围为 [-1.0,1.0],例如: - - -

      -
    • -1.0:音效出现在左边
    • -
    • 0.0:音效出现在正前方
    • -
    • 1.0:音效出现在右边
    • -

    -
    -
    - - gain - 音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。 - - - publish - -

    是否将音效发布至远端: - - -

      -
    • : 将音效发布至远端。本地用户和远端用户都能听到音效。
    • -
    • : 不将音效发布至远端。只有本地用户能听到音效。
    • -

    -
    -
    - - startPos - -

    音效文件的播放位置,单位为毫秒。

    -
    -
    -
    + + soundId + 音效的 ID。每个音效的 ID 具有唯一性。 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 soundId + 相同。 + + + + filePath + +

    播放文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频格式包括 + MP3、AAC、M4A、MP4、WAV、3GP。详见支持的媒体格式

    + 如果你已通过 + 将音效加载至内存,请确保该参数与 中设置的 + filePath 相同。 +
    +
    + + loopCount + +

    音效循环播放的次数。

      +
    • ≥ 0: 循环播放次数。例如,1 表示循环播放 1 次,即总计播放 2 次。
    • +
    • -1: 无限循环播放。
    • +

    +
    +
    + + pitch + 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。 + + + pan + +

    音效的空间位置。取值范围为 [-1.0,1.0],例如:

      +
    • -1.0:音效出现在左边
    • +
    • 0.0:音效出现在正前方
    • +
    • 1.0:音效出现在右边
    • +

    +
    +
    + + gain + 音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。 + + + publish + +

    是否将音效发布至远端:

      +
    • : + 将音效发布至远端。本地用户和远端用户都能听到音效。
    • +
    • : + 不将音效发布至远端。只有本地用户能听到音效。
    • +

    +
    +
    + + startPos + +

    音效文件的播放位置,单位为毫秒。

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

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita b/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita index c89cef6a099..7a60de7ab95 100644 --- a/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita +++ b/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita @@ -2,7 +2,11 @@ <ph keyref="preloadChannel"/> - 使用 tokenchannelIdchannelNameuidoptionalUid 预加载频道。 + 使用 tokenchannelIdchannelNameuidoptionalUid + 预加载频道。 @@ -13,81 +17,97 @@

    - public abstract int preloadChannel(String token, String channelName, int optionalUid); - - (int)preloadChannelByToken:(NSString * _Nullable)token + 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; - abstract preloadChannel( + virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0; + abstract preloadChannel( token: string, channelId: string, uid: number ): number; - public abstract int PreloadChannel(string token, string channelId, uint uid); - abstract preloadChannel( + public abstract int PreloadChannel(string token, string channelId, uint uid); + abstract preloadChannel( token: string, channelId: string, uid: number ): number; - Future<void> preloadChannel( - {required String token, required String channelId, required int uid});

    + Future<void> preloadChannel( + {required String token, required String channelId, required int uid}); +

    详情
    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +
    -

    调用该方法可以减少观众频繁切换频道时加入频道的时间,从而缩短观众听到主播首帧音频以及看到首帧画面的耗时,提升观众端的视频体验。由于 SDK 预加载频道需要一定的时间,因此声网推荐你在确认频道信息和用户信息后、加入频道前,尽早调用该方法。

    -
    • 调用该方法时,请确保用户角色设为观众、音频应用场景设为非合唱场景(),否则预加载不生效。
    • -
    • 请确保预加载频道时传入的频道名、用户 ID、Token 和后续加入频道时传入的值相同,否则预加载不生效。
    • -
    • 目前一个 实例最多支持预加载 20 个频道,如超出限制,仅最新预加载的 20 频道个生效。
    • -
    • 预加载不生效不会影响后续正常加入频道,也不会增加加入频道的耗时。
    -

    如果当前频道已经成功预加载,观众加入、离开频道后如需再次加入该频道,只要预加载时传入的 Token 仍在有效期内,则无需重新预加载。

    +

    调用该方法可以减少观众频繁切换频道时加入频道的时间,从而缩短观众听到主播首帧音频以及看到首帧画面的耗时,提升观众端的视频体验。由于 SDK + 预加载频道需要一定的时间,因此声网推荐你在确认频道信息和用户信息后、加入频道前,尽早调用该方法。

    +
      +
    • 调用该方法时,请确保用户角色设为观众、音频应用场景设为非合唱场景(),否则预加载不生效。
    • +
    • 请确保预加载频道时传入的频道名、用户 ID、Token 和后续加入频道时传入的值相同,否则预加载不生效。
    • +
    • 目前一个 实例最多支持预加载 20 个频道,如超出限制,仅最新预加载的 + 20 频道个生效。
    • +
    • 预加载不生效不会影响后续正常加入频道,也不会增加加入频道的耗时。
    • +
    +

    如果当前频道已经成功预加载,观众加入、离开频道后如需再次加入该频道,只要预加载时传入的 Token 仍在有效期内,则无需重新预加载。

    参数 - - token - 在服务端生成的用于鉴权的动态密钥。详见。 -

    Token 过期后,根据预加载频道的数量,你可以通过不同方式来传入用于预加载频道的新 Token: -

    • 预加载一个频道时:调用此方法来传入新的 Token。
    • -
    • 预加载多个频道时:
      • 如果你使用了通配的 Token,调用 来更新所有预加载频道的 Token。 - 生成通配 Token 时,用户 ID 不得设为 0。详见
      • -
      • 如果你使用了不同的 Token:调用此方法并传入你的用户 ID、对应的频道名和更新后的 Token。

    -
    -
    - - channelId - channelName -

    待预加载的频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。 - 该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): -

      -
    • 26 个小写英文字母 a~z
    • -
    • 26 个大写英文字母 A~Z
    • -
    • 10 个数字 0~9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    - - - - -
    + + token + 在服务端生成的用于鉴权的动态密钥。详见

    Token + 过期后,根据预加载频道的数量,你可以通过不同方式来传入用于预加载频道的新 Token:

      +
    • 预加载一个频道时:调用此方法来传入新的 Token。
    • +
    • 预加载多个频道时:
        +
      • 如果你使用了通配的 Token,调用 来更新所有预加载频道的 + Token。 生成通配 Token 时,用户 ID + 不得设为 0。详见
      • +
      • 如果你使用了不同的 Token:调用此方法并传入你的用户 ID、对应的频道名和更新后的 Token。
      • +
    • +

    +
    +
    + + channelId + channelName +

    待预加载的频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。 + 该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):

      +
    • 26 个小写英文字母 a~z
    • +
    • 26 个大写英文字母 A~Z
    • +
    • 10 个数字 0~9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

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

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

    +

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

      -
    • 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 5009a4b76ca..adff4b52b12 100644 --- a/dita/RTC-NG/API/api_irtcengine_preloadchannelwithuseraccount.dita +++ b/dita/RTC-NG/API/api_irtcengine_preloadchannelwithuseraccount.dita @@ -2,7 +2,9 @@ <ph keyref="preloadChannelWithUserAccount"/> - 使用 tokenchannelIdchannelNameuserAccount 预加载频道。 + 使用 tokenchannelIdchannelNameuserAccount 预加载频道。 @@ -13,72 +15,80 @@

    - public abstract int preloadChannelWithUserAccount( + public abstract int preloadChannelWithUserAccount( String token, String channelName, String userAccount); - - (int)preloadChannelByTokenWithUserAccount:(NSString * _Nullable)token + - (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; - abstract preloadChannelWithUserAccount( + virtual int preloadChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0; + abstract preloadChannelWithUserAccount( token: string, channelId: string, userAccount: string ): number; - public abstract int PreloadChannel(string token, string channelId, string userAccount); - abstract preloadChannelWithUserAccount( + public abstract int PreloadChannel(string token, string channelId, string userAccount); + abstract preloadChannelWithUserAccount( token: string, channelId: string, userAccount: string ): number; - Future<void> preloadChannelWithUserAccount( + Future<void> preloadChannelWithUserAccount( {required String token, required String channelId, - required String userAccount});

    + required String userAccount}); +

    详情
    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +
    -

    +

    -

    • -
    • 请确保预加载频道时传入的频道名、用户 User Account、Token 和后续加入频道时传入的值相同,否则预加载不生效。
    • -
    • -
    -

    +
      +
    • +
    • 请确保预加载频道时传入的频道名、用户 User Account、Token 和后续加入频道时传入的值相同,否则预加载不生效。
    • +
    • +
    • +
    +

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

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。 -
        -
      • -2:传入的参数无效。例如,User Account 为空。你需要填入有效的参数,重新加入频道。
      • -
      • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
      • -102:频道名无效。你需要填入有效的频道名,重新加入频道。
      • -
    • -
    -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。 +
      +
    • -2:传入的参数无效。例如,User Account 为空。你需要填入有效的参数,重新加入频道。
    • +
    • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
    • +
    • -102:频道名无效。你需要填入有效的频道名,重新加入频道。
    • +
  • + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita b/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita index 13ef5985df7..3618bf57bdb 100644 --- a/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita @@ -1,76 +1,91 @@ - <ph keyref="preloadEffect" /> + <ph keyref="preloadEffect"/> 将音效文件加载至内存。 - +

    - public int preloadEffect(int soundId, String filePath); + public int preloadEffect(int soundId, String filePath); - - (int)preloadEffect:(int)soundId + - (int)preloadEffect:(int)soundId filePath:(NSString* _Nonnull)filePath; - virtual int preloadEffect(int soundId, const char* filePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int preloadEffect(int soundId, const char* filePath) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PreloadEffect(int soundId, FString filePath, int startPos); - abstract preloadEffect( + abstract preloadEffect( soundId: number, filePath: string, startPos?: number ): number; - public abstract int PreloadEffect(int soundId, string filePath, int startPos = 0); - abstract preloadEffect( + public abstract int PreloadEffect(int soundId, string filePath, int startPos = 0); + abstract preloadEffect( soundId: number, filePath: string, startPos?: number ): number; - Future<void> preloadEffect( + Future<void> preloadEffect( {required int soundId, required String filePath, int startPos = 0}); -

    +

    详情

    为保证通信畅通,请注意控制预加载音效文件的大小,并在 前就使用该方法完成音效预加载。

    -

    该方法支持的音频文件格式见 RTC SDK 支持播放哪些格式的音频文件

    -
    +

    该方法支持的音频文件格式见 RTC SDK + 支持播放哪些格式的音频文件

    + +
    参数 - - soundId - 音效的 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
    • -
    • iOS : 音频文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 /var/mobile/Containers/Data/audio.mp4
    • -
    • macOS: 音频文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 /var/mobile/Containers/Data/audio.mp4
    • -
    -
    - - startPos - 音效文件加载的起始位置,单位为毫秒。 - -
    + + soundId + 音效的 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
    • +
    • iOS : 音频文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 + /var/mobile/Containers/Data/audio.mp4
    • +
    • macOS: 音频文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 + /var/mobile/Containers/Data/audio.mp4
    • +
    +
    + + startPos + 音效文件加载的起始位置,单位为毫秒。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pullaudioframe2.dita b/dita/RTC-NG/API/api_irtcengine_pullaudioframe2.dita index d26cae586a8..2134249e8eb 100644 --- a/dita/RTC-NG/API/api_irtcengine_pullaudioframe2.dita +++ b/dita/RTC-NG/API/api_irtcengine_pullaudioframe2.dita @@ -13,33 +13,40 @@

    - public abstract int pullPlaybackAudioFrame(ByteBuffer data, int lengthInByte); - - - - - - -

    + public abstract int pullPlaybackAudioFrame(ByteBuffer data, int lengthInByte); + + + + + + +

    参数 - - data - 待拉取的远端音频数据,数据类型为 ByteBuffer - - - lengthInByte - 远端音频数据长度,单位为字节。 该参数的值由音频数据时长、sampleRatechannels 参数确定。lengthInByte = sampleRate/1000 × 2 × channels × 音频数据时长 (ms)。 - -
    + + data + 待拉取的远端音频数据,数据类型为 ByteBuffer + + + lengthInByte + 远端音频数据长度,单位为字节。 该参数的值由音频数据时长、 的 + sampleRatechannels + 参数确定。lengthInByte = + sampleRate/1000 × 2 × channels × + 音频数据时长 (ms)。 + + +
    返回值
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pullplaybackaudioframesamplebufferbylengthinbyte.dita b/dita/RTC-NG/API/api_irtcengine_pullplaybackaudioframesamplebufferbylengthinbyte.dita index 12de2535bd6..f4e59ba0991 100644 --- a/dita/RTC-NG/API/api_irtcengine_pullplaybackaudioframesamplebufferbylengthinbyte.dita +++ b/dita/RTC-NG/API/api_irtcengine_pullplaybackaudioframesamplebufferbylengthinbyte.dita @@ -13,18 +13,19 @@

    - - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte; -

    + - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte; +

    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pushaudioframe2.dita b/dita/RTC-NG/API/api_irtcengine_pushaudioframe2.dita index f89f7f6098c..e8216b78d79 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushaudioframe2.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushaudioframe2.dita @@ -13,70 +13,78 @@

    - public abstract int pushExternalAudioFrame(byte[] data, long timestamp, int sampleRate, + public abstract int pushExternalAudioFrame(byte[] data, long timestamp, int sampleRate, int channels, Constants.BytesPerSample bytesPerSample, int trackId); - - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data + - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data samples:(NSInteger)samples sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels trackId:(NSInteger)trackId timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sampleRate:channels:trackId:timestamp:)); - - - - - -

    + + + + + +

    详情 -

    调用该方法推送外部音频数据前,请先进行以下操作:

      -
    1. 调用 创建音频轨道并获得音频轨道 ID。
    2. -
    3. 调用 加入频道时,将 中的 publishCustomAudioTrackId 设置为你想要发布的音频轨道 ID,并将 publishCustomAudioTrack 设置为
    4. -

    -
    +

    调用该方法推送外部音频数据前,请先进行以下操作:

      +
    1. 调用 创建音频轨道并获得音频轨道 ID。
    2. +
    3. 调用 加入频道时,将 中的 + publishCustomAudioTrackId 设置为你想要发布的音频轨道 ID,并将 + publishCustomAudioTrack 设置为
    4. +

    + +
    参数 - - data - 外部音频数据。 - - - samples - 外部音频帧采样数。 - - - timestamp - 外部音频帧的时间戳(毫秒)。该参数为必填。你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以帮助实现音视频同步。 - - - sampleRate - 外部音频渲染的采样率 (Hz),可设置为 8000,16000,32000,44100 或 48000。 - - - channels - 外部音频渲染的声道数: -
      -
    • 1: 单声道
    • -
    • 2: 双声道
    • -
    -
    - - bytesPerSample - 每个采样点的字节数。对于 PCM 来说,一般使用 16 bit,即两个字节。 - - - trackId - 音频轨道 ID。将该参数设置为 方法中返回的自定义音频轨道 ID。 - -
    + + data + 外部音频数据。 + + + samples + 外部音频帧采样数。 + + + timestamp + 外部音频帧的时间戳(毫秒)。该参数为必填。你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以帮助实现音视频同步。 + + + sampleRate + 外部音频渲染的采样率 (Hz),可设置为 8000,16000,32000,44100 或 48000。 + + + channels + 外部音频渲染的声道数:
      +
    • 1: 单声道
    • +
    • 2: 双声道
    • +
    +
    + + bytesPerSample + 每个采样点的字节数。对于 PCM 来说,一般使用 16 bit,即两个字节。 + + + trackId + 音频轨道 ID。将该参数设置为 方法中返回的自定义音频轨道 + ID。 + + +
    返回值
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe.dita b/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe.dita index 1cccbb7019e..b74f1065a28 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe.dita @@ -1,53 +1,62 @@ - <ph keyref="pushCaptureAudioFrame1" /> + <ph keyref="pushCaptureAudioFrame1"/> 推送外部音频帧,该音频帧未经 SDK 回声消除模块处理。 - +

    - public abstract int pushCaptureAudioFrame(byte[] data, int lengthInByte); - - (int)pushCaptureAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; - virtual int pushCaptureAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - abstract pushCaptureAudioFrame(frame: AudioFrame): number; - - abstract pushCaptureAudioFrame(frame: AudioFrame): number; - Future<void> pushCaptureAudioFrame(AudioFrame frame); -

    + public abstract int pushCaptureAudioFrame(byte[] data, int lengthInByte); + - (int)pushCaptureAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; + virtual int pushCaptureAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + abstract pushCaptureAudioFrame(frame: AudioFrame): number; + + abstract pushCaptureAudioFrame(frame: AudioFrame): number; + Future<void> pushCaptureAudioFrame(AudioFrame frame); +

    详情 -

    本地用户可以调用 将本地采集的音频帧推送给远端用户,但该音频帧不会被 SDK 的回声消除模块处理。为避免本地用户听到自己的回声,远端用户需要先后调用 将自己采集的音频帧和接收到的音频帧一起推送到自定义的回声消除模块进行处理。

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

    本地用户可以调用 将本地采集的音频帧推送给远端用户,但该音频帧不会被 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_pushcaptureaudioframe2.dita b/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe2.dita index f7ad0e83b4a..41e0fd59d8c 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe2.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe2.dita @@ -2,7 +2,8 @@ <ph keyref="pushCaptureAudioFrame2"/> - + @@ -13,33 +14,34 @@

    - public abstract int pushCaptureAudioFrame(ByteBuffer data, int lengthInByte); - - - - - - -

    + public abstract int pushCaptureAudioFrame(ByteBuffer data, int lengthInByte); + + + + + + +

    详情
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_pushdirectcdnstreamingcustomvideoframe.dita b/dita/RTC-NG/API/api_irtcengine_pushdirectcdnstreamingcustomvideoframe.dita index 93c2f74f6fd..eb5df683db4 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushdirectcdnstreamingcustomvideoframe.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushdirectcdnstreamingcustomvideoframe.dita @@ -13,28 +13,34 @@

    - public abstract int pushDirectCdnStreamingCustomVideoFrame(VideoFrame frame); - - (int)pushDirectCdnStreamingCustomVideoFrame:(AgoraVideoFrame * _Nonnull)frame; - virtual int pushDirectCdnStreamingCustomVideoFrame(media::base::ExternalVideoFrame* frame) = 0; - - public abstract int PushDirectCdnStreamingCustomVideoFrame(ExternalVideoFrame frame); - - -

    + public abstract int pushDirectCdnStreamingCustomVideoFrame(VideoFrame frame); + - (int)pushDirectCdnStreamingCustomVideoFrame:(AgoraVideoFrame * _Nonnull)frame; + virtual int pushDirectCdnStreamingCustomVideoFrame(media::base::ExternalVideoFrame* frame) = 0; + + public abstract int PushDirectCdnStreamingCustomVideoFrame(ExternalVideoFrame frame); + + +

    参数 - - frame - 外部视频数据。详见 VideoFrame - -
    + + frame + 外部视频数据。详见 VideoFrame + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer.dita b/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer.dita index 76011c9cb40..b3300e519cf 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer.dita @@ -13,31 +13,34 @@

    - - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; -

    + - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; +

    详情
    - -
    弃用:
    -
    该方法从 v4.3.1 起废弃,请改用
    -
    + +
    弃用:
    +
    该方法从 v4.3.1 起废弃,请改用
    +
    参数 - - sampleBuffer - 采样缓冲区。 - -
    + + sampleBuffer + 采样缓冲区。 + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer2.dita b/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer2.dita index 7e6b2a3bc42..72eb07b8e66 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer2.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer2.dita @@ -13,51 +13,54 @@

    - - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer + - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels trackId:(NSInteger)trackId NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:sampleRate:channels:trackId:)); - - - - -

    + + + + +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +
    参数 - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + +
    返回值
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe.dita b/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe.dita index 47ae5b3054e..f6320740d1d 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe.dita @@ -1,54 +1,65 @@ - <ph keyref="pushReverseAudioFrame1" /> + <ph keyref="pushReverseAudioFrame1"/> 推送外部音频帧,该音频帧经过自定义回声消除模块处理。 - +

    - public abstract int pushReverseAudioFrame(byte[] data, int lengthInByte); - - (int)pushReverseAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; - virtual int pushReverseAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - abstract pushReverseAudioFrame(frame: AudioFrame): number; - - abstract pushReverseAudioFrame(frame: AudioFrame): number; - Future<void> pushReverseAudioFrame(AudioFrame frame); -

    + public abstract int pushReverseAudioFrame(byte[] data, int lengthInByte); + - (int)pushReverseAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; + virtual int pushReverseAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + abstract pushReverseAudioFrame(frame: AudioFrame): number; + + abstract pushReverseAudioFrame(frame: AudioFrame): number; + Future<void> pushReverseAudioFrame(AudioFrame frame); +

    详情 -

    为避免本地用户听到自己的回声,本地用户调用 后,远端用户需要先后调用 将自己采集的音频帧和接收到的音频帧一起推送到自定义的回声消除模块进行处理。

    - 调用该方法前,你需要将 中的 publishCustomAudioTrackAec 设为 并将 publishCustomAudioTrack 设为
    +

    为避免本地用户听到自己的回声,本地用户调用 后,远端用户需要先后调用 + 将自己采集的音频帧和接收到的音频帧一起推送到自定义的回声消除模块进行处理。

    + 调用该方法前,你需要将 中的 + publishCustomAudioTrackAec 设为 并将 publishCustomAudioTrack 设为 +
    参数 - - frame - audioFrame - 外部音频帧。详见 - - - data - 待推送的音频数据,数据类型为 byte[] - - - - - -
    + + frame + audioFrame + 外部音频帧。详见 + + + data + 待推送的音频数据,数据类型为 byte[] + + + + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe2.dita b/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe2.dita index 3399bd9ce8e..534a4b4a2d8 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe2.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe2.dita @@ -2,7 +2,8 @@ <ph keyref="pushReverseAudioFrame2"/> - + @@ -13,33 +14,34 @@

    - public abstract int pushReverseAudioFrame(ByteBuffer data, int lengthInByte); - - - - - - -

    + public abstract int pushReverseAudioFrame(ByteBuffer data, int lengthInByte); + + + + + + +

    详情
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_pushvideoframe2.dita b/dita/RTC-NG/API/api_irtcengine_pushvideoframe2.dita index 021d9b31b67..a29647d60ed 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushvideoframe2.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushvideoframe2.dita @@ -13,14 +13,14 @@

    - public abstract boolean pushExternalVideoFrame(AgoraVideoFrame frame); - - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:)) - - - - - -

    + public abstract boolean pushExternalVideoFrame(AgoraVideoFrame frame); + - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:)) + + + + + +

    详情 @@ -30,22 +30,29 @@
    如果你需要推送 I422 格式的视频帧,请使用该方法。其他情况下,请改用
    -

    调用 方法,设置 enabled 参数为 encodedFrame 参数为 后,你可以调用本方法将未编码的外部视频帧推送到 SDK。

    -

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

    +

    调用 方法,设置 + enabled 参数为 encodedFrame 参数为 后,你可以调用本方法将未编码的外部视频帧推送到 SDK。

    +

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

    参数 - - - - -
    + + + + + +
    返回值
    • :方法调用成功。
    • -
    • :方法调用失败。详见了解详情和解决建议。
    • -
    +
  • :方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita b/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita index c49cfba358d..3bf8ff6ffa9 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita @@ -13,14 +13,14 @@

    - public abstract int pushExternalVideoFrameById(VideoFrame frame, int videoTrackId); - - - - - - -

    + public abstract int pushExternalVideoFrameById(VideoFrame frame, int videoTrackId); + + + + + + +

    详情 @@ -31,20 +31,23 @@
    参数 - - frame - 待推送的外部原始视频帧。详见 - - - - - -
    + + frame + 待推送的外部原始视频帧。详见 + + + + + + +
    返回值
    +
  • 0: 推送成功。
  • +
  • < 0: 推送失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita b/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita index 15478db340f..414f4eb6383 100644 --- a/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita +++ b/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita @@ -13,14 +13,14 @@

    - public abstract boolean pushExternalVideoFrame(VideoFrame frame); - - - - - - -

    + public abstract boolean pushExternalVideoFrame(VideoFrame frame); + + + + + + +

    详情 @@ -30,16 +30,19 @@
    参数 - - - - -
    + + + + + +
    返回值
    +
  • :方法调用成功。
  • +
  • :方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita b/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita index d9ca79d35dc..4e58736c996 100644 --- a/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita +++ b/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita @@ -1,73 +1,86 @@ - <ph keyref="queryCameraFocalLengthCapability" /> + <ph keyref="queryCameraFocalLengthCapability"/> 查询摄像头支持的焦距能力。 - +

    - public AgoraFocalLengthInfo[] queryCameraFocalLengthCapability(); - - (NSArray<AgoraFocalLengthInfo *>* __nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability()); - virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0; - - - public abstract int QueryCameraFocalLengthCapability(ref FocalLengthInfo[] focalLengthInfos, ref int size); - abstract queryCameraFocalLengthCapability(): { + public AgoraFocalLengthInfo[] queryCameraFocalLengthCapability(); + - (NSArray<AgoraFocalLengthInfo *>* __nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability()); + virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0; + + + 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
    -
    + +
    自从
    +
    v4.3.1
    +
    -

    如需开启摄像头广角、超广角拍摄模式,建议你先调用该方法查询设备是否具备相应的焦距能力,再根据查询结果调用 调整摄像头的焦距配置,以达到最佳的摄像头采集效果。

    - 通过该方法获取摄像头焦距能力的具体实现请参考 - 该方法仅适用于 Android 和 iOS。
    +

    如需开启摄像头广角、超广角拍摄模式,建议你先调用该方法查询设备是否具备相应的焦距能力,再根据查询结果调用 调整摄像头的焦距配置,以达到最佳的摄像头采集效果。

    + 通过该方法获取摄像头焦距能力的具体实现请参考 + 该方法仅适用于 Android 和 iOS。 +
    参数 - - focalLengthInfos - 输入和输出参数。指向 对象数组的指针:
      -
    • 输入值:指向一个 对象数组,用于存储焦距信息。
    • -
    • 输出值:方法执行后,输出查询到的焦距信息。
    -
    - 输出参数。方法执行后,输出包含摄像头焦距信息的 对象数组。 -
    - - size - 输入和输出参数。焦距信息数量:
      -
    • 输入值:指定 focalLengthInfos 数组可以容纳的最大焦距信息数量。请确保该值不小于 8,即 focalLengthInfos 至少有空间存储 8 个焦距信息。
    • -
    • 输出值:方法执行后,输出查询到的焦距信息数量。
    -
    - 输出参数。方法执行后,输出查询到的焦距信息数量。 -
    -
    + + focalLengthInfos + 输入和输出参数。指向 对象数组的指针:
      +
    • 输入值:指向一个 对象数组,用于存储焦距信息。
    • +
    • 输出值:方法执行后,输出查询到的焦距信息。
    • +
    +
    + 输出参数。方法执行后,输出包含摄像头焦距信息的 + 对象数组。 +
    + + size + 输入和输出参数。焦距信息数量:
      +
    • 输入值:指定 focalLengthInfos + 数组可以容纳的最大焦距信息数量。请确保该值不小于 8,即 focalLengthInfos + 至少有空间存储 8 个焦距信息。
    • +
    • 输出值:方法执行后,输出查询到的焦距信息数量。
    • +
    +
    + 输出参数。方法执行后,输出查询到的焦距信息数量。 +
    + +
    <ph keyref="return-section-title"/> -

    返回 对象数组,其中包含摄像头的方向和焦距类型。

    -

    返回一个包含以下属性的对象: -

      -
    • focalLengthInfos 对象数组,其中包含摄像头的方向和焦距类型。
    • -
    • size:实际查询到的焦距信息数量。
    +

    返回 + 对象数组,其中包含摄像头的方向和焦距类型。

    +

    返回一个包含以下属性的对象:

      +
    • focalLengthInfos + 对象数组,其中包含摄像头的方向和焦距类型。
    • +
    • size:实际查询到的焦距信息数量。
    • +

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 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 d3142f7a793..820ba3301da 100644 --- a/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita +++ b/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita @@ -13,65 +13,73 @@

    - public abstract CodecCapInfo[] queryCodecCapability(); - - (NSArray <AgoraVideoCodecCapInfo *> *__nullable)queryCodecCapability; - virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0; + public abstract CodecCapInfo[] queryCodecCapability(); + - (NSArray <AgoraVideoCodecCapInfo *> *__nullable)queryCodecCapability; + virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int QueryCodecCapability(TArray<FCodecCapInfo> codecInfo); - 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);

    + 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); +

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

    参数 - - codecInfo - + + codecInfo +

    输入和输出参数,表示 SDK 的视频编码能力数组。详见

    • 输入值:用户执行该方法时定义的 ,表示待查询的视频编解码能力。
    • -
    • 输出值:方法执行完毕后输出的 ,表示 SDK 实际支持的视频编解码能力。
    • +
    • 输出值:方法执行完毕后输出的 ,表示 SDK + 实际支持的视频编解码能力。
    -
    - - size - 输入和输出参数,表示 数组的大小。 -
      -
    • 输入值:用户执行该方法时定义的 的大小。
    • -
    • 输出值:方法执行完毕后输出的 的大小。
    • -
    - 的大小。 -
    -
    + + + size + 输入和输出参数,表示 + 数组的大小。
      +
    • 输入值:用户执行该方法时定义的 的大小。
    • +
    • 输出值:方法执行完毕后输出的 的大小。
    • +
    +
    + 的大小。 +
    + +
    返回值
    +
  • 如果调用成功,则返回 数组,表示 SDK 的视频编码能力。
  • +
  • 如果调用超时,请修改调用逻辑,不要在主线程中调用该方法。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita b/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita index bf734af88a7..c5585363681 100644 --- a/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita +++ b/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita @@ -13,35 +13,41 @@

    - public abstract int queryDeviceScore(); - - (int)queryDeviceScore NS_SWIFT_NAME(queryDeviceScore()); - virtual int queryDeviceScore() = 0; - - abstract queryDeviceScore(): number; - public abstract int QueryDeviceScore(); - abstract queryDeviceScore(): number; - Future<int> queryDeviceScore();

    + public abstract int queryDeviceScore(); + - (int)queryDeviceScore NS_SWIFT_NAME(queryDeviceScore()); + virtual int queryDeviceScore() = 0; + + abstract queryDeviceScore(): number; + public abstract int QueryDeviceScore(); + abstract queryDeviceScore(): number; + Future<int> queryDeviceScore(); +

    详情
    - -
    自从
    -
    v4.3.0
    -
    + +
    自从
    +
    v4.3.0
    +

    适用场景 -

    在高清或超高清视频场景下,可以先调用该方法查询设备的等级评分。如果返回的评分较低(比如低于 60),则需要适当调低视频分辨率,以避免影响视频体验。不同业务场景要求的最低设备评分等级不同,具体评分推荐请

    +

    在高清或超高清视频场景下,可以先调用该方法查询设备的等级评分。如果返回的评分较低(比如低于 + 60),则需要适当调低视频分辨率,以避免影响视频体验。不同业务场景要求的最低设备评分等级不同,具体评分推荐请

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

    方法调用成功时,返回一个取值范围为 [0,100] 的值,表示当前设备的评分等级,数值越大表示设备能力越强,大部分设备的评分在 60 到 100 之间;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。

    +

    方法调用成功时,返回一个取值范围为 [0,100] 的值,表示当前设备的评分等级,数值越大表示设备能力越强,大部分设备的评分在 60 到 + 100 之间;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。

    -
    + + + diff --git a/dita/RTC-NG/API/api_irtcengine_queryinterface.dita b/dita/RTC-NG/API/api_irtcengine_queryinterface.dita index df8a3ee2ebd..53ae3f38126 100644 --- a/dita/RTC-NG/API/api_irtcengine_queryinterface.dita +++ b/dita/RTC-NG/API/api_irtcengine_queryinterface.dita @@ -13,34 +13,37 @@

    - - - virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + + virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") UObject* QueryInterface(EINTERFACE_ID_TYPE iid); - - - - -

    + + + + +

    参数 - - iid - 想要获取的接口类 ID。详见 - - - inter - 输出参数。指定接口的对象指针。 - -
    + + iid + 想要获取的接口类 ID。详见 + + + inter + 输出参数。指定接口的对象指针。 + + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita b/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita index 643248905c2..c12e033f74b 100644 --- a/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita +++ b/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita @@ -13,44 +13,53 @@

    - public abstract int queryScreenCaptureCapability(); - - (AgoraScreenCaptureFrameRateCapability)queryScreenCaptureCapability NS_SWIFT_NAME(queryScreenCaptureCapability()); - #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) + 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|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int QueryScreenCaptureCapability(); - - public abstract int QueryScreenCaptureCapability(); - abstract queryScreenCaptureCapability(): number; - Future<int> queryScreenCaptureCapability();

    + + public abstract int QueryScreenCaptureCapability(); + abstract queryScreenCaptureCapability(): number; + Future<int> queryScreenCaptureCapability(); +

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

    适用场景

    该方法仅适用于 Android 和 iOS。

    -

    在屏幕共享场景下,如果你想启用高帧率(如 60 fps)、但不确定设备是否支持时,可以先调用该方法查询设备支持的最高帧率。如果设备不支持高帧率,你可以在开启屏幕共享时适当调低屏幕共享流的帧率,以确保共享场景的效果符合预期。

    +

    在屏幕共享场景下,如果你想启用高帧率(如 60 + fps)、但不确定设备是否支持时,可以先调用该方法查询设备支持的最高帧率。如果设备不支持高帧率,你可以在开启屏幕共享时适当调低屏幕共享流的帧率,以确保共享场景的效果符合预期。

    <ph keyref="return-section-title"/> - - +
  • <0:方法调用失败。详见了解详情和解决建议。
  • +
    diff --git a/dita/RTC-NG/API/api_irtcengine_rate.dita b/dita/RTC-NG/API/api_irtcengine_rate.dita index 73ec4f062e5..d69c4449e20 100644 --- a/dita/RTC-NG/API/api_irtcengine_rate.dita +++ b/dita/RTC-NG/API/api_irtcengine_rate.dita @@ -1,65 +1,72 @@ - <ph keyref="rate" /> + <ph keyref="rate"/> 给通话评分。 - +

    - public abstract int rate(String callId, int rating, String description); - - (int)rate:(NSString * _Nonnull)callId + 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, + virtual int rate(const char* callId, int rating, const char* description) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int Rate(FString callId, int rating, FString description); - abstract rate(callId: string, rating: number, description: string): number; - public abstract int Rate(string callId, int rating, string description); - abstract rate(callId: string, rating: number, description: string): number; - Future<void> rate( + abstract rate(callId: string, rating: number, description: string): number; + public abstract int Rate(string callId, int rating, string description); + abstract rate(callId: string, rating: number, description: string): number; + Future<void> rate( {required String callId, required int rating, required String description}); -

    +

    详情 - 该方法需要在用户离开频道后调用。
    + 该方法需要在用户离开频道后调用。 +
    参数 - - callId - 通话 ID。你可以通过调用 获取该参数。 - - - rating - 给通话的评分,最低 1 分,最高 5 分,如超过这个范围,SDK 会返回 -2(ERR_INVALID_ARGUMENT) 错误。 - - - description - (非必选项)给通话的描述。长度应小于 800 字节。 - -
    + + callId + 通话 ID。你可以通过调用 获取该参数。 + + + rating + 给通话的评分,最低 1 分,最高 5 分,如超过这个范围,SDK 会返回 + -2(ERR_INVALID_ARGUMENT) 错误。 + + + description + (非必选项)给通话的描述。长度应小于 800 + 字节。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -2(ERR_INVALID_ARGUMENT)。
      • -
      • -3(ERR_NOT_READY)。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2(ERR_INVALID_ARGUMENT)。
    • +
    • -3(ERR_NOT_READY)。
    • +
  • + +
    -
    \ 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 bd93d93bcbc..633b28ff6a5 100644 --- a/dita/RTC-NG/API/api_irtcengine_registeraudioencodedframeobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_registeraudioencodedframeobserver.dita @@ -1,70 +1,77 @@ - <ph keyref="registerAudioEncodedFrameObserver" /> + <ph keyref="registerAudioEncodedFrameObserver"/> 注册音频编码数据观测器。 - +

    - public abstract int registerAudioEncodedFrameObserver( + public abstract int registerAudioEncodedFrameObserver( AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); - - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nonnull)delegate + - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nonnull)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull) config; - virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterAudioEncodedFrameObserver(const FAudioEncodedFrameObserverConfig& config, UIAudioEncodedFrameObserver* observer); - abstract registerAudioEncodedFrameObserver( + abstract registerAudioEncodedFrameObserver( config: AudioEncodedFrameObserverConfig, observer: IAudioEncodedFrameObserver ): number; - public abstract int RegisterAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); - abstract registerAudioEncodedFrameObserver( + public abstract int RegisterAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); + abstract registerAudioEncodedFrameObserver( config: AudioEncodedFrameObserverConfig, observer: IAudioEncodedFrameObserver ): number; - void registerAudioEncodedFrameObserver( + void registerAudioEncodedFrameObserver( {required AudioEncodedFrameObserverConfig config, required AudioEncodedFrameObserver observer}); -

    +

    详情

    - -

      -
    • 请在加入频道后调用该方法。
    • -
    • 由于该方法和 都会设置音频内容和音质,不建议该方法和 一起使用。否则,只有后调用的方法会生效。
    • -

    + +
      +
    • 请在加入频道后调用该方法。
    • +
    • 由于该方法和 都会设置音频内容和音质,不建议该方法和 + 一起使用。否则,只有后调用的方法会生效。
    • +
    +
    +

    参数 - - config - 编码后音频的观测器设置。详见 - + + config + 编码后音频的观测器设置。详见 + - - observer - delegate - 编码后音频的观测器。详见 - -
    + + observer + delegate + 编码后音频的观测器。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 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 77c700591f1..7880a3d4865 100644 --- a/dita/RTC-NG/API/api_irtcengine_registeraudiospectrumobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_registeraudiospectrumobserver.dita @@ -1,55 +1,61 @@ - <ph keyref="registerAudioSpectrumObserver" /> + <ph keyref="registerAudioSpectrumObserver"/> 注册音频频谱观测器。 - +

    - public abstract int registerAudioSpectrumObserver(IAudioSpectrumObserver observer); - - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate; - virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0; + 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") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterAudioSpectrumObserver(UIAudioSpectrumObserver* observer); - abstract registerAudioSpectrumObserver( + abstract registerAudioSpectrumObserver( observer: IAudioSpectrumObserver ): number; - public abstract int RegisterAudioSpectrumObserver(IAudioSpectrumObserver observer); - abstract registerAudioSpectrumObserver( + public abstract int RegisterAudioSpectrumObserver(IAudioSpectrumObserver observer); + abstract registerAudioSpectrumObserver( observer: IAudioSpectrumObserver ): number; - void registerAudioSpectrumObserver(AudioSpectrumObserver observer); -

    + void registerAudioSpectrumObserver(AudioSpectrumObserver observer); +

    详情 -

    成功注册音频频谱观测器并调用 开启音频频谱监测后,SDK 会按照你设置的时间间隔报告你在 类中实现的回调。

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

    成功注册音频频谱观测器并调用 开启音频频谱监测后,SDK + 会按照你设置的时间间隔报告你在 类中实现的回调。

    + 该方法在加入频道前后均可调用。 +
    参数 - - observer - delegate - -

    音频频谱观测器。详见

    -
    -
    -
    + + observer + 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 d741698266f..96ed73c81c8 100644 --- a/dita/RTC-NG/API/api_irtcengine_registerextension.dita +++ b/dita/RTC-NG/API/api_irtcengine_registerextension.dita @@ -13,72 +13,79 @@

    - public abstract int registerExtension( + public abstract int registerExtension( String provider, String extension, Constants.MediaSourceType sourceType); - - (int)registerExtensionWithVendor:(NSString * __nonnull)provider + - (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, + 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|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterExtension(FString provider, FString extension, EMEDIA_SOURCE_TYPE type); - abstract registerExtension( + abstract registerExtension( provider: string, extension: string, type?: MediaSourceType ): number; - public abstract int RegisterExtension(string provider, string extension, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); - abstract registerExtension( + public abstract int RegisterExtension(string provider, string extension, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); + abstract registerExtension( provider: string, extension: string, type?: MediaSourceType ): number; - Future<void> registerExtension( + Future<void> registerExtension( {required String provider, required String extension, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

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

    加载插件后,你可以通过该方法注册插件。

      -
    • 调用该方法前,需要先调用 加载插件。
    • -
    • 调用该方法前,需要先在 Xcode 中将插件动态库(.xcframework)链接至你的工程。
    • -
    • 调用该方法前,需要先调用 加载插件。
    • -
    • 对于 SDK 外部的插件(例如云市场插件、SDK 拓展插件),在调用 前需要调用该方法注册。
    • -
    +
  • 调用该方法前,需要先调用 加载插件。
  • +
  • 调用该方法前,需要先在 Xcode 中将插件动态库(.xcframework)链接至你的工程。
  • +
  • 调用该方法前,需要先调用 + 加载插件。
  • +
  • 对于 SDK 外部的插件(例如云市场插件、SDK 拓展插件),在调用 + 前需要调用该方法注册。
  • +
    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita b/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita index 1a64354e80a..c99061ee7f7 100644 --- a/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita +++ b/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita @@ -1,77 +1,85 @@ - <ph keyref="registerLocalUserAccount" /> + <ph keyref="registerLocalUserAccount"/> 注册本地用户 User Account。 - +

    - public abstract int registerLocalUserAccount(String appId, String userAccount); - - (int)registerLocalUserAccountWithAppID:(NSString * _Nonnull)appID userAccount:(NSString * _Nonnull)userAccount; - virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int registerLocalUserAccount(String appId, String userAccount); + - (int)registerLocalUserAccountWithAppID:(NSString * _Nonnull)appID userAccount:(NSString * _Nonnull)userAccount; + virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterLocalUserAccount(FString appId, 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( + 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 后,本地会触发 回调,告知本地用户的 UID 和 User Account。

    -

    该方法为可选。如果你希望用户使用 User Account 加入频道,可以选用以下两种方式: - - -

      -
    • 先调用 方法注册 Account,再调用 方法加入频道。
    • -
    • 直接调用 方法加入频道。
    • -

    -

    两种方式的区别在于,提前调用 ,可以缩短使用 进入频道的时间。

    +

    成功注册 User Account 后,本地会触发 回调,告知本地用户的 UID 和 + User Account。

    +

    该方法为可选。如果你希望用户使用 User Account 加入频道,可以选用以下两种方式:

      +
    • 先调用 方法注册 Account,再调用 方法加入频道。
    • +
    • 直接调用 方法加入频道。
    • +

    +

    两种方式的区别在于,提前调用 ,可以缩短使用 进入频道的时间。

    -
      -
    • userAccount 不能为空,否则该方法不生效。
    • -
    • 请确保在该方法中设置的 userAccount 在频道中的唯一性。
    • -
    • 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。 如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。
    • -
    + + +
    参数 - - appId - appID - 你的项目在控制台注册的 App ID。 - - - userAccount - -

    用户 User Account。该参数用于标识实时音视频互动频道中的用户。你需要自行设置和管理用户的 User Account,并确保同一频道中每个用户的 User Account 是唯一的。该参数为必填,最大不超过 255 字节,不可填 。以下为支持的字符集范围(共 89 个字符): - -

      -
    • 26 个小写英文字母 a-z
    • -
    • 26 个大写英文字母 A-Z
    • -
    • 10 个数字 0-9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    -
    -
    + + appId + appID + 你的项目在控制台注册的 App ID。 + + + userAccount + +

    用户 User Account。该参数用于标识实时音视频互动频道中的用户。你需要自行设置和管理用户的 User + Account,并确保同一频道中每个用户的 User Account 是唯一的。该参数为必填,最大不超过 255 字节,不可填 。以下为支持的字符集范围(共 89 个字符):

      +
    • 26 个小写英文字母 a-z
    • +
    • 26 个大写英文字母 A-Z
    • +
    • 10 个数字 0-9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita b/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita index 558c869d5a6..62555b23344 100644 --- a/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita @@ -1,62 +1,71 @@ - <ph keyref="registerMediaMetadataObserver" /> + <ph keyref="registerMediaMetadataObserver"/> 注册媒体 metadata 观测器用于接收或发送 metadata。 - +

    - public abstract int registerMediaMetadataObserver(IMetadataObserver observer, int type); - - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type; - virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; + public abstract int registerMediaMetadataObserver(IMetadataObserver observer, int type); + - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type; + virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterMediaMetadataObserver(UIMetadataObserver* observer, FENUMWRAP_METADATA_TYPE type); - abstract registerMediaMetadataObserver( + abstract registerMediaMetadataObserver( observer: IMetadataObserver, type: MetadataType ): number; - public abstract int RegisterMediaMetadataObserver(IMetadataObserver observer, METADATA_TYPE type); - abstract registerMediaMetadataObserver( + public abstract int RegisterMediaMetadataObserver(IMetadataObserver observer, METADATA_TYPE type); + abstract registerMediaMetadataObserver( observer: IMetadataObserver, type: MetadataType ): number; - void registerMediaMetadataObserver( + void registerMediaMetadataObserver( {required MetadataObserver observer, required MetadataType type}); -

    +

    详情 -

    你需要自行实现 类并在本方法中指定 metadata 类型。本方法允许你为视频流添加同步的 metadata,用于多样化的直播互动,如发送购物链接、电子优惠券和在线测试。

    -

    调用该方法成功后,SDK 会触发 回调。

    - 请在 前调用该方法。
    +

    你需要自行实现 类并在本方法中指定 metadata 类型。本方法允许你为视频流添加同步的 + metadata,用于多样化的直播互动,如发送购物链接、电子优惠券和在线测试。

    +

    调用该方法成功后,SDK 会触发 + 回调。

    + 请在 前调用该方法。 +
    参数 - - observer - metadata 观测器。详见 - - - type - -

    metadata 类型。目前仅支持 详见

    -
    -
    -
    + + observer + metadata 观测器。详见 + + + type + +

    metadata 类型。目前仅支持 详见

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

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

    +

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

    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita b/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita index 91fbe526327..f9e0b720356 100644 --- a/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita @@ -13,40 +13,46 @@

    - - - virtual int registerPacketObserver(IPacketObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + + virtual int registerPacketObserver(IPacketObserver* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterPacketObserver(UIPacketObserver* observer); - - public abstract int RegisterPacketObserver(IPacketObserver observer); - - -

    + + public abstract int RegisterPacketObserver(IPacketObserver observer); + + +

    详情 -

    该方法注册数据包观测器 (Packet Observer)。在 SDK 发送/接收(语音、视频)网络包时,会回调 定义的接口,App 可用此接口对数据做处理,例如加解密。

    +

    该方法注册数据包观测器 (Packet Observer)。在 SDK 发送/接收(语音、视频)网络包时,会回调 定义的接口,App 可用此接口对数据做处理,例如加解密。

    -
      -
    • 处理后发送到网络的包大小不应超过 1200 字节,否则有可能发送失败。
    • -
    • 若需调用此方法,需确保接收端和发送端都调用此方法,否则会出现未定义行为(例如音频无声或视频黑屏)。
    • -
    • 若在直播场景下使用旁路推流、录制,不建议调用此方法。
    • -
    • 你需要在加入频道前调用该方法。
    • -
    + + +
    参数 - - observer - - -
    + + observer + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_registerplugin.dita b/dita/RTC-NG/API/api_irtcengine_registerplugin.dita index d1f91d26b87..548208d9679 100644 --- a/dita/RTC-NG/API/api_irtcengine_registerplugin.dita +++ b/dita/RTC-NG/API/api_irtcengine_registerplugin.dita @@ -13,38 +13,43 @@

    - - - - - - - -

    + + + + + + + +

    详情

    注册插件后,你可以在 SDK 中使用插件的功能。举例来说,如果你想使用 FaceUnity 的插件,你可以先将该插件文件集成到 SDK 的项目工程文件中,然后调用该方法注册插件。

    -

    声网提供两种方式供你使用插件: -

    +

    声网提供两种方式供你使用插件:

    参数 - - pluginInfo - 插件信息。详见 - -
    + + pluginInfo + 插件信息。详见 + + +
    返回值
    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_release.dita b/dita/RTC-NG/API/api_irtcengine_release.dita index 26bbfcf0550..37657407fdc 100644 --- a/dita/RTC-NG/API/api_irtcengine_release.dita +++ b/dita/RTC-NG/API/api_irtcengine_release.dita @@ -13,7 +13,7 @@

    - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.doDestroy(); @@ -21,36 +21,46 @@ System.gc(); } - + (void)destroy; - virtual void release(bool sync = false) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + (void)destroy; + virtual void release(bool sync = false) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") void Release(bool sync); - abstract release(sync?: boolean): void; - public abstract void Dispose(bool sync = false); - abstract release(sync?: boolean): void; - Future<void> release({bool sync = false}); -

    + abstract release(sync?: boolean): void; + public abstract void Dispose(bool sync = false); + abstract release(sync?: boolean): void; + Future<void> release({bool sync = false}); +

    详情

    该方法释放 SDK 使用的所有资源。有些 App 只在用户需要时才进行实时音视频通信,不需要时则将资源释放出来用于其他操作,该方法适用于此类情况。

    -

    调用该方法后,你将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通信功能, 你必须依次重新调用 方法创建一个新的 对象。

    -

    调用该方法后,你将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通信功能,你必须依次重新调用 方法创建一个新的 对象。

    +

    调用该方法后,你将无法再使用 SDK + 的其它方法和回调。如需再次使用实时音视频通信功能, 你必须依次重新调用 方法创建一个新的 对象。

    +

    调用该方法后,你将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通信功能,你必须依次重新调用 + 方法创建一个新的 对象。

      -
    • 该方法为同步调用。需要等待 资源释放后才能执行其他操作(例如:创建一个新的 对象),因此建议在子线程中调用该方法,避免主线程阻塞。
    • -
    • 不建议在 SDK 的回调中调用 ,否则由于 SDK 要等待回调返回才能回收相关的对象资源,会造成死锁。
    +
  • 该方法为同步调用。需要等待 资源释放后才能执行其他操作(例如:创建一个新的 + 对象),因此建议在子线程中调用该方法,避免主线程阻塞。
  • +
  • 不建议在 SDK 的回调中调用 ,否则由于 SDK + 要等待回调返回才能回收相关的对象资源,会造成死锁。
  • + +
    参数 - - sync - -

    该方法是否为同步调用:

    -
      -
    • :该方法为同步调用。
    • -
    • :该方法为异步调用。目前该方法仅支持同步调用,请不要将该参数设置为该值。
    • -
    -
    -
    + + sync + +

    该方法是否为同步调用:

    +
      +
    • :该方法为同步调用。
    • +
    • :该方法为异步调用。目前该方法仅支持同步调用,请不要将该参数设置为该值。
    • +
    +
    +
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_removealllisteners.dita b/dita/RTC-NG/API/api_irtcengine_removealllisteners.dita index 5219f51bd3e..cd19c562d17 100644 --- a/dita/RTC-NG/API/api_irtcengine_removealllisteners.dita +++ b/dita/RTC-NG/API/api_irtcengine_removealllisteners.dita @@ -13,17 +13,17 @@

    - - - - removeAllListeners?<EventType extends keyof IMediaEngineEvent>( + + + + removeAllListeners?<EventType extends keyof IMediaEngineEvent>( eventType?: EventType ): void; - - removeAllListeners?<EventType extends keyof IMediaEngineEvent>( + + removeAllListeners?<EventType extends keyof IMediaEngineEvent>( eventType?: EventType ): void; -

    +

    详情 @@ -32,10 +32,11 @@
    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_removeeventhandler.dita b/dita/RTC-NG/API/api_irtcengine_removeeventhandler.dita index a3b1ba3a5fc..5df961a8ec4 100644 --- a/dita/RTC-NG/API/api_irtcengine_removeeventhandler.dita +++ b/dita/RTC-NG/API/api_irtcengine_removeeventhandler.dita @@ -2,7 +2,8 @@ <ph keyref="removeEventHandler"/> - 移除 对象。 + 移除 + 对象。 @@ -13,14 +14,14 @@

    - - - - - public abstract void RemoveEventHandler(); - - -

    + + + + + public abstract void RemoveEventHandler(); + + +

    diff --git a/dita/RTC-NG/API/api_irtcengine_removehandler.dita b/dita/RTC-NG/API/api_irtcengine_removehandler.dita index c0557bc8ed4..696e0b45b69 100644 --- a/dita/RTC-NG/API/api_irtcengine_removehandler.dita +++ b/dita/RTC-NG/API/api_irtcengine_removehandler.dita @@ -1,30 +1,31 @@ - <ph keyref="removeHandler" /> - 删除指定的回调句柄。删除指定的回调事件。 + <ph keyref="removeHandler"/> + 删除指定的回调句柄。删除指定的回调事件。 - +

    - public void removeHandler(IRtcEngineEventHandler handler) { + public void removeHandler(IRtcEngineEventHandler handler) { mInstance.removeHandler(handler); } - - - abstract unregisterEventHandler(eventHandler: IRtcEngineEventHandler): boolean; - - abstract unregisterEventHandler( + + + abstract unregisterEventHandler(eventHandler: IRtcEngineEventHandler): boolean; + + abstract unregisterEventHandler( eventHandler: IRtcEngineEventHandler ): boolean; - void unregisterEventHandler(RtcEngineEventHandler eventHandler); -

    + void unregisterEventHandler(RtcEngineEventHandler eventHandler); +

    详情 @@ -34,21 +35,26 @@
    参数 - - handler - 待删除的回调句柄。详见 - - - eventHandler - 待删除的回调事件。详见 - -
    + + handler + 待删除的回调句柄。详见 + + + eventHandler + 待删除的回调事件。详见 + + +
    - <ph keyref="return-section-title"/> -

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

    -
      -
    • : 方法调用成功。
    • -
    • : 方法调用失败。详见了解详情和解决建议。
    • -
    + <ph keyref="return-section-title"/> +

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

    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_removeinjectstreamurl.dita b/dita/RTC-NG/API/api_irtcengine_removeinjectstreamurl.dita index c4f3b86e089..092d56e3b01 100644 --- a/dita/RTC-NG/API/api_irtcengine_removeinjectstreamurl.dita +++ b/dita/RTC-NG/API/api_irtcengine_removeinjectstreamurl.dita @@ -1,46 +1,52 @@ - <ph keyref="removeInjectStreamUrl" /> + <ph keyref="removeInjectStreamUrl"/> 删除导入的外部媒体流。 - +

    - public abstract int removeInjectStreamUrl(String url); - - (int)removeInjectStreamUrl:(NSString * _Nonnull)url; - virtual int removeInjectStreamUrl(const char* url) = 0; - abstract removeInjectStreamUrl(url: string): number; - public abstract int RemoveInjectStreamUrl(string url); - - Future<void> removeInjectStreamUrl(String url); -

    + public abstract int removeInjectStreamUrl(String url); + - (int)removeInjectStreamUrl:(NSString * _Nonnull)url; + virtual int removeInjectStreamUrl(const char* url) = 0; + abstract removeInjectStreamUrl(url: string): number; + public abstract int RemoveInjectStreamUrl(string url); + + Future<void> removeInjectStreamUrl(String url); +

    详情 - -

    成功删除外部视频源 URL 地址后会触发 回调,uid666

    + +

    成功删除外部视频源 URL 地址后会触发 回调,uid 为 + 666

    参数 - - url - 已导入、待删除的外部视频源 URL 地址。 - -
    + + url + 已导入、待删除的外部视频源 URL 地址。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_removelistener.dita b/dita/RTC-NG/API/api_irtcengine_removelistener.dita index f2e7ea330d4..0a920401776 100644 --- a/dita/RTC-NG/API/api_irtcengine_removelistener.dita +++ b/dita/RTC-NG/API/api_irtcengine_removelistener.dita @@ -2,7 +2,8 @@ <ph keyref="removeListener"/> - 移除指定的 监听器。 + 移除指定的 + 监听器。 @@ -13,19 +14,19 @@

    - - - - removeListener?<EventType extends keyof IRtcEngineEvent>( + + + + removeListener?<EventType extends keyof IRtcEngineEvent>( eventType: EventType, listener: IRtcEngineEvent[EventType] ): void; - - removeListener?<EventType extends keyof IRtcEngineEvent>( + + removeListener?<EventType extends keyof IRtcEngineEvent>( eventType: EventType, listener: IRtcEngineEvent[EventType] ): void; -

    +

    详情 @@ -34,17 +35,19 @@
    参数 - - - - - - listener - eventType 对应的回调函数。必须传入 中传入的同一个函数对象。以取消监听 为例: + + + + + + listener + eventType 对应的回调函数。必须传入 + 中传入的同一个函数对象。以取消监听 为例: const onJoinChannelSuccess = (connection: RtcConnection, elapsed: number) => {}; engine.addListener('onJoinChannelSuccess', onJoinChannelSuccess); engine.removeListener('onJoinChannelSuccess', onJoinChannelSuccess); - -
    + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_removepublishstreamurl.dita b/dita/RTC-NG/API/api_irtcengine_removepublishstreamurl.dita index affc48e1332..9956d2ef260 100644 --- a/dita/RTC-NG/API/api_irtcengine_removepublishstreamurl.dita +++ b/dita/RTC-NG/API/api_irtcengine_removepublishstreamurl.dita @@ -1,57 +1,66 @@ - <ph keyref="removePublishStreamUrl" /> + <ph keyref="removePublishStreamUrl"/> 删除旁路推流地址。 - +

    - public abstract int removePublishStreamUrl(String url); - - (int)removePublishStreamUrl:(NSString * _Nonnull)url; - virtual int removePublishStreamUrl(const char *url) = 0; - abstract removePublishStreamUrl(url: string): number; - public abstract int RemovePublishStreamUrl(string url); - abstract removePublishStreamUrl(url: string): number; - Future<void> removePublishStreamUrl(String url); -

    + public abstract int removePublishStreamUrl(String url); + - (int)removePublishStreamUrl:(NSString * _Nonnull)url; + virtual int removePublishStreamUrl(const char *url) = 0; + abstract removePublishStreamUrl(url: string): number; + public abstract int RemovePublishStreamUrl(string url); + abstract removePublishStreamUrl(url: string): number; + Future<void> removePublishStreamUrl(String url); +

    详情
    - -
    弃用:
    -
    该方法已废弃。请改用
    -
    + +
    弃用:
    +
    该方法已废弃。请改用
    +
    -

    调用该方法后,SDK 会在本地触发 回调,报告删除旁路推流地址的状态。

    +

    调用该方法后,SDK 会在本地触发 回调,报告删除旁路推流地址的状态。

    -
      -
    • 调用该方法前,请确保已开通旁路推流的功能。详见旁路推流中的前提条件。
    • -
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法每次只能删除一路旁路推流地址。若需删除多路流,则需多次调用该方法。
    • -
    + + +
    参数 - - url - 待删除的旁路推流地址,格式为 RTMP 或 RTMPS。该字符长度不能超过 1024 字节。推流地址不支持中文等特殊字符。 - -
    + + url + 待删除的旁路推流地址,格式为 RTMP 或 RTMPS。该字符长度不能超过 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_renewtoken.dita b/dita/RTC-NG/API/api_irtcengine_renewtoken.dita index 6a3035afaf9..575344f5ca0 100644 --- a/dita/RTC-NG/API/api_irtcengine_renewtoken.dita +++ b/dita/RTC-NG/API/api_irtcengine_renewtoken.dita @@ -1,55 +1,60 @@ - <ph keyref="renewToken" /> + <ph keyref="renewToken"/> 更新 Token。 - +

    - public abstract int renewToken(String token); - - (int)renewToken:(NSString * _Nonnull)token; - virtual int renewToken(const char* token) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int renewToken(String token); + - (int)renewToken:(NSString * _Nonnull)token; + virtual int renewToken(const char* token) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RenewToken(FString token); - abstract renewToken(token: string): number; - public abstract int RenewToken(string token); - abstract renewToken(token: string): number; - Future<void> renewToken(String token); -

    + abstract renewToken(token: string): number; + public abstract int RenewToken(string token); + abstract renewToken(token: string): number; + Future<void> renewToken(String token); +

    - 详情该方法用于更新 Token。Token 会在一定时间后失效。在以下两种情况下,App 应重新获取 Token,然后调用该方法传入新的 Token,否则 SDK 无法和服务器建立连接: - -
      -
    • 发生 回调时。
    • -
    • 回调报告 (9) 时。
    • -
    + 详情该方法用于更新 Token。Token 会在一定时间后失效。在以下两种情况下,App 应重新获取 Token,然后调用该方法传入新的 + Token,否则 SDK 无法和服务器建立连接: +
    参数 - - token - 新的 Token。 - -
    + + token + 新的 Token。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 - -
        -
      • -2:传入的参数无效。例如,使用了不合法的 Token。你需要填入有效的参数。
      • -
      • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2:传入的参数无效。例如,使用了不合法的 Token。你需要填入有效的参数。
    • +
    • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita b/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita index 6ab953309df..8777a2c7f66 100644 --- a/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita @@ -1,39 +1,44 @@ - <ph keyref="resumeAllChannelMediaRelay" /> + <ph keyref="resumeAllChannelMediaRelay"/> 恢复向所有目标频道转发媒体流。 - +

    - public abstract int resumeAllChannelMediaRelay(); - - (int)resumeAllChannelMediaRelay; - virtual int resumeAllChannelMediaRelay() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int resumeAllChannelMediaRelay(); + - (int)resumeAllChannelMediaRelay; + virtual int resumeAllChannelMediaRelay() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ResumeAllChannelMediaRelay(); - abstract resumeAllChannelMediaRelay(): number; - public abstract int ResumeAllChannelMediaRelay(); - abstract resumeAllChannelMediaRelay(): number; - Future<void> resumeAllChannelMediaRelay(); -

    + abstract resumeAllChannelMediaRelay(): number; + public abstract int ResumeAllChannelMediaRelay(); + abstract resumeAllChannelMediaRelay(): number; + Future<void> resumeAllChannelMediaRelay(); +

    详情 -

    调用 方法后,如果你需要恢复向所有目标频道转发媒体流,可以调用该方法。

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

    调用 方法后,如果你需要恢复向所有目标频道转发媒体流,可以调用该方法。

    + 该方法需要在 后调用。 +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ 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 842ad7db55a..8066d23829e 100644 --- a/dita/RTC-NG/API/api_irtcengine_resumealleffects.dita +++ b/dita/RTC-NG/API/api_irtcengine_resumealleffects.dita @@ -1,37 +1,41 @@ - <ph keyref="resumeAllEffects" /> + <ph keyref="resumeAllEffects"/> 恢复播放所有音效文件。 - +

    - public abstract int resumeAllEffects(); + public abstract int resumeAllEffects(); - - (int)resumeAllEffects; + - (int)resumeAllEffects; - virtual int resumeAllEffects() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int resumeAllEffects() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ResumeAllEffects(); - abstract resumeAllEffects(): number; - public abstract int ResumeAllEffects(); - abstract resumeAllEffects(): number; - Future<void> resumeAllEffects(); -

    + abstract resumeAllEffects(): number; + public abstract int ResumeAllEffects(); + abstract resumeAllEffects(): number; + Future<void> resumeAllEffects(); +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_resumeaudio.dita b/dita/RTC-NG/API/api_irtcengine_resumeaudio.dita index 6a502ff9935..23b78ecba64 100644 --- a/dita/RTC-NG/API/api_irtcengine_resumeaudio.dita +++ b/dita/RTC-NG/API/api_irtcengine_resumeaudio.dita @@ -1,41 +1,42 @@ - <ph keyref="resumeAudio" /> - + <ph keyref="resumeAudio"/> + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    详情 -

    +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita b/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita index ab09c182447..28d89eea8f8 100644 --- a/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita +++ b/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita @@ -1,28 +1,28 @@ - <ph keyref="resumeAudioMixing" /> + <ph keyref="resumeAudioMixing"/> 恢复播放音乐文件。 - +

    - public abstract int resumeAudioMixing(); - - (int)resumeAudioMixing; - virtual int resumeAudioMixing() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int resumeAudioMixing(); + - (int)resumeAudioMixing; + virtual int resumeAudioMixing() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ResumeAudioMixing(); - abstract resumeAudioMixing(): number; - public abstract int ResumeAudioMixing(); - abstract resumeAudioMixing(): number; - Future<void> resumeAudioMixing(); -

    + abstract resumeAudioMixing(): number; + public abstract int ResumeAudioMixing(); + abstract resumeAudioMixing(): number; + Future<void> resumeAudioMixing(); +

    详情 @@ -30,10 +30,14 @@
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita b/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita index 0e1f08b09ba..8fbdc6df51d 100644 --- a/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita @@ -1,45 +1,50 @@ - <ph keyref="resumeEffect" /> + <ph keyref="resumeEffect"/> 恢复播放指定音效文件。 - +

    - public abstract int resumeEffect(int soundId); + public abstract int resumeEffect(int soundId); - - (int)resumeEffect:(int)soundId; + - (int)resumeEffect:(int)soundId; - virtual int resumeEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int resumeEffect(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract resumeEffect(soundId: number): number; + public abstract int ResumeEffect(int soundId); + abstract resumeEffect(soundId: number): number; + Future<void> resumeEffect(int soundId); +

    参数 - - soundId - - -
    + + soundId + + + +
    <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 1368e7fd003..a94173bcfc6 100644 --- a/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita @@ -13,40 +13,49 @@

    - public abstract int selectAudioTrack(int audioIndex); - - (int)selectAudioTrack:(NSInteger)index; - virtual int selectAudioTrack(int index) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int selectAudioTrack(int audioIndex); + - (int)selectAudioTrack:(NSInteger)index; + virtual int selectAudioTrack(int index) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract selectAudioTrack(index: number): number; + public abstract int SelectAudioTrack(int index); + abstract selectAudioTrack(index: number): number; + Future<void> selectAudioTrack(int index); +

    详情

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

    -
      -
    • 该方法支持的音频文件格式见
    • -
    • 你需要在调用 并收到 () 回调后调用该方法。
    • -
    + + +
    参数 - - index - audioIndex - 指定的播放音轨。取值范围为 [0, ()]。 - -
    + + index + audioIndex + 指定的播放音轨。取值范围为 [0, ()]。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita b/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita index f882e08dc34..547cd9dc4a6 100644 --- a/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita +++ b/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita @@ -1,58 +1,59 @@ - <ph keyref="sendCustomReportMessage" /> + <ph keyref="sendCustomReportMessage"/> 发送自定义上报消息。 - +

    - public abstract int sendCustomReportMessage( + public abstract int sendCustomReportMessage( String id, String category, String event, String label, int value); - - (int)sendCustomReportMessage:(NSString * _Nullable)messageId + - (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, + virtual int sendCustomReportMessage(const char *id, const char* category, const char* event, const char* label, int value) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SendCustomReportMessage(FString id, FString category, FString event, FString label, int value); - abstract sendCustomReportMessage( + abstract sendCustomReportMessage( id: string, category: string, event: string, label: string, value: number ): number; - public abstract int SendCustomReportMessage(string id, string category, string @event, string label, int value); - abstract sendCustomReportMessage( + public abstract int SendCustomReportMessage(string id, string category, string @event, string label, int value); + abstract sendCustomReportMessage( id: string, category: string, event: string, label: string, value: number ): number; - Future<void> sendCustomReportMessage( + Future<void> sendCustomReportMessage( {required String id, required String category, required String event, required String label, required int value}); -

    +

    详情 -

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

    +

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

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_sendmetadata.dita b/dita/RTC-NG/API/api_irtcengine_sendmetadata.dita index 78f8ef72525..1432c73ae4e 100644 --- a/dita/RTC-NG/API/api_irtcengine_sendmetadata.dita +++ b/dita/RTC-NG/API/api_irtcengine_sendmetadata.dita @@ -1,52 +1,58 @@ - <ph keyref="sendMetaData" /> + <ph keyref="sendMetaData"/> 发送媒体附属信息。 - +

    - - - - abstract sendMetaData(metadata: Metadata, sourceType: VideoSourceType): number; - public abstract int SendMetadata(Metadata metadata, VIDEO_SOURCE_TYPE source_type); - abstract sendMetaData(metadata: Metadata, sourceType: VideoSourceType): number; - Future<void> sendMetaData( + + + + abstract sendMetaData(metadata: Metadata, sourceType: VideoSourceType): number; + public abstract int SendMetadata(Metadata metadata, VIDEO_SOURCE_TYPE source_type); + abstract sendMetaData(metadata: Metadata, sourceType: VideoSourceType): number; + Future<void> sendMetaData( {required Metadata metadata, required VideoSourceType sourceType}); -

    +

    详情 -

    成功调用 方法后,SDK 会触发 回调,你可以调用该方法发送媒体附属信息。

    -

    如果成功发送了媒体附属信息,接收端会收到 回调。

    +

    成功调用 方法后,SDK 会触发 + 回调,你可以调用该方法发送媒体附属信息。

    +

    如果成功发送了媒体附属信息,接收端会收到 回调。

    参数 - - metadata - 媒体附属信息。详见 - - - sourceType - source_type - 视频源的类型,详见 - -
    + + metadata + 媒体附属信息。详见 + + + sourceType + source_type + 视频源的类型,详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita b/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita index 44764cec99c..1a697704e44 100644 --- a/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita +++ b/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita @@ -1,76 +1,80 @@ - <ph keyref="sendStreamMessage" /> + <ph keyref="sendStreamMessage"/> 发送数据流。 - +

    - public abstract int sendStreamMessage(int streamId, byte[] message); - - (int)sendStreamMessage:(NSInteger)streamId + public abstract int sendStreamMessage(int streamId, byte[] message); + - (int)sendStreamMessage:(NSInteger)streamId data:(NSData * _Nonnull)data; - virtual int sendStreamMessage(int streamId, + virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SendStreamMessage(int streamId, FString data); - abstract sendStreamMessage(streamId: number, data: Uint8Array, length: number): number; - public abstract int SendStreamMessage(int streamId, byte[] data, uint length); - abstract sendStreamMessage( + abstract sendStreamMessage(streamId: number, data: Uint8Array, length: number): number; + public abstract int SendStreamMessage(int streamId, byte[] data, uint length); + abstract sendStreamMessage( streamId: number, data: Uint8Array, length: number ): number; - Future<void> sendStreamMessage( + Future<void> sendStreamMessage( {required int streamId, required Uint8List data, required int length}); -

    +

    详情 -

    该方法发送数据流消息到频道内所有用户。SDK 对该方法的实现进行了如下限制: - -

      -
    • 频道内每秒最多能发送 30 个包,且每个包最大为 1 KB。
    • -
    • 每个客户端每秒最多能发送 6 KB 数据。
    • -
    • 频道内每人最多能同时有 5 个数据通道。
    • -

    -

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

    +

    该方法发送数据流消息到频道内所有用户。SDK 对该方法的实现进行了如下限制:

      +
    • 频道内每秒最多能发送 30 个包,且每个包最大为 1 KB。
    • +
    • 每个客户端每秒最多能发送 6 KB 数据。
    • +
    • 频道内每人最多能同时有 5 个数据通道。
    • +

    +

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

    -
      -
    • 请确保在调用该方法前,已调用 创建了数据通道。
    • -
    • 直播场景下,该方法仅适用于主播用户。
    • -
    + +
    参数 - - streamId - 数据流 ID。可以通过 获取。 - - - message - data - 待发送的数据。 - - - length - 数据长度。 - -
    + + streamId + 数据流 ID。可以通过 获取。 + + + message + data + 待发送的数据。 + + + length + 数据长度。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setaddonlogfile.dita b/dita/RTC-NG/API/api_irtcengine_setaddonlogfile.dita index 7ec68772340..650c28c3ee5 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaddonlogfile.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaddonlogfile.dita @@ -13,28 +13,31 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - filePath - SDK 的 Electron 层的日志文件的完整路径。请确保你指定的目录存在且可写。你可以通过该参数修改日志文件名。 - -
    + + filePath + SDK 的 Electron 层的日志文件的完整路径。请确保你指定的目录存在且可写。你可以通过该参数修改日志文件名。 + + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita b/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita index 45e42fd6251..e7ca0d43208 100644 --- a/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita @@ -1,47 +1,53 @@ - <ph keyref="setAdvancedAudioOptions" /> + <ph keyref="setAdvancedAudioOptions"/> 设置音频的高级选项。 - +

    - public abstract int SetAdvancedAudioOptions(AdvancedAudioOptions options); - - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options; - virtual int setAdvancedAudioOptions(media::base::AdvancedAudioOptions &options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int SetAdvancedAudioOptions(AdvancedAudioOptions options); + - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options; + virtual int setAdvancedAudioOptions(media::base::AdvancedAudioOptions &options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setAdvancedAudioOptions(options: AdvancedAudioOptions): number; + public abstract int SetAdvancedAudioOptions(AdvancedAudioOptions options); + abstract setAdvancedAudioOptions(options: AdvancedAudioOptions): number; + Future<void> setAdvancedAudioOptions(AdvancedAudioOptions options); +

    详情

    如果你对音频处理有进阶需求,例如需要采集和发送立体声,可以调用该方法设置音频的高级选项。

    - 你需要在 前调用该方法。
    + 你需要在 和 + 前调用该方法。 +
    参数 - - options - 音频的高级选项。详见 - -
    + + options + 音频的高级选项。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setainsmode.dita b/dita/RTC-NG/API/api_irtcengine_setainsmode.dita index 7abd5191caf..e3d12a5a2aa 100644 --- a/dita/RTC-NG/API/api_irtcengine_setainsmode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setainsmode.dita @@ -13,38 +13,45 @@

    - 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|RtcEngineProxy") + 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|RtcEngineProxy") 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( - {required bool enabled, required AudioAinsMode 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( + {required bool enabled, required AudioAinsMode mode}); +

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

    你可以调用开方法来开启 AI 降噪功能。该功能可以在保证语音质量的前提下,智能化检测并降低周围环境中多种稳态与非稳态噪声,使人声更加清晰。 -稳态噪声指在任何时间点上都具有相同频率的噪声,常见的稳态噪声有: -

    -非稳态噪声是指随时间而快速变化的噪声,常见的非稳态噪声有: -

    + 稳态噪声指在任何时间点上都具有相同频率的噪声,常见的稳态噪声有: 非稳态噪声是指随时间而快速变化的噪声,常见的非稳态噪声有:

    -
    • 该方法依赖于 AI 降噪动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    • 该方法依赖于 AI 降噪动态库,如果删除该动态库会导致无法正常开启该功能。AI 降噪动态库名称见
    • -
    • 目前暂不推荐在 Android 6.0 及以下版本的设备上开启该功能。
    +
    适用场景 @@ -53,34 +60,37 @@
    参数 - - enabled - 是否开启 AI 降噪功能: - -
      -
    • 开启 AI 降噪功能。
    • -
    • (默认)关闭 AI 降噪功能。
    • -
    -
    - - mode - -

    降噪模式,详见

    -

    降噪模式: -

      -
    • 0:(默认)均衡降噪模式。如果你希望实现对噪声抑制和延时都较为均衡的降噪效果,可选择该模式。
    • -
    • 1:强降噪模式;适用于对噪声抑制性能要求较高的场景,如户外直播。该模式可以更大程度地减少噪声,但同时可能会造成语音损伤。
    • -
    • 2:低延时强降噪模式。该模式的降噪延时比弱降噪和强降噪模式大约低一半,适用于对降噪及低延时要求较高的场景,如实时合唱。
    • -

    -
    -
    -
    + + enabled + 是否开启 AI 降噪功能:
      +
    • 开启 AI 降噪功能。
    • +
    • (默认)关闭 AI 降噪功能。 +
    • +
    +
    + + mode + +

    降噪模式,详见

    +

    降噪模式:

      +
    • 0:(默认)均衡降噪模式。如果你希望实现对噪声抑制和延时都较为均衡的降噪效果,可选择该模式。
    • +
    • 1:强降噪模式;适用于对噪声抑制性能要求较高的场景,如户外直播。该模式可以更大程度地减少噪声,但同时可能会造成语音损伤。
    • +
    • 2:低延时强降噪模式。该模式的降噪延时比弱降噪和强降噪模式大约低一半,适用于对降噪及低延时要求较高的场景,如实时合唱。
    • +
    +

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

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

    +

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

    diff --git a/dita/RTC-NG/API/api_irtcengine_setaudioeffectparameters.dita b/dita/RTC-NG/API/api_irtcengine_setaudioeffectparameters.dita index 750dea04106..1894e7c403d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudioeffectparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudioeffectparameters.dita @@ -1,119 +1,142 @@ - <ph keyref="setAudioEffectParameters" /> + <ph keyref="setAudioEffectParameters"/> 设置 SDK 预设人声音效的参数。 - +

    - public abstract int setAudioEffectParameters(int preset, int param1, int param2); - - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2; - virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioEffectParameters(int preset, int param1, int param2); + - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2; + virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAudioEffectParameters(FENUMWRAP_AUDIO_EFFECT_PRESET preset, int param1, int param2); - abstract setAudioEffectParameters(preset: AudioEffectPreset, param1: number, param2: number): number; - public abstract int SetAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2); - abstract setAudioEffectParameters( + abstract setAudioEffectParameters(preset: AudioEffectPreset, param1: number, param2: number): number; + public abstract int SetAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2); + abstract setAudioEffectParameters( preset: AudioEffectPreset, param1: number, param2: number ): number; - Future<void> setAudioEffectParameters( + Future<void> setAudioEffectParameters( {required AudioEffectPreset preset, required int param1, required int param2}); -

    +

    详情 -

    调用该方法可以对本地发流用户进行如下设置: -

      -
    • 3D 人声音效:设置 3D 人声音效的环绕周期。
    • -
    • 电音音效:设置电音音效的基础调式和主音音高。为方便用户自行调节电音音效,建议你将基础调式和主音音高配置选项与应用的 UI 元素绑定。
    • -

    +

    调用该方法可以对本地发流用户进行如下设置:

      +
    • 3D 人声音效:设置 3D 人声音效的环绕周期。
    • +
    • 电音音效:设置电音音效的基础调式和主音音高。为方便用户自行调节电音音效,建议你将基础调式和主音音高配置选项与应用的 UI 元素绑定。
    • +
    +

    设置后,频道内所有用户都能听到该效果。

    -

      -
    • 该方法在加入频道前后都能调用。
    • -
    • -
    • 该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
    • -
    • 调用 后,不建议调用以下方法,否则 设置的效果会被覆盖:
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    +
  • 该方法在加入频道前后都能调用。
  • +
  • +
  • 该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
  • +
  • 调用 后,不建议调用以下方法,否则 设置的效果会被覆盖:
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • + + +
    参数 - - preset - SDK 预设的音效,支持以下设置: -
      -
    • ,3D 人声音效。 -
        -
      • 你需要在使用该枚举前将 profile 参数设置 为 (3) 或 (5),否则该枚举设置无效。
      • -
      • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
      • -
    • -
    • ,电音音效。
    • -
    -
    - - param1 - -
      -
    • 如果 preset 设为 ,则 param1 表示 3D 人声音效的环绕周期。取值范围为 [1,60],单位为秒。默认值为 10,表示人声会 10 秒环绕 360 度。
    • -
    • 如果 preset 设为 ,则 param1 表示电音音效的基础调式: + + preset + SDK 预设的音效,支持以下设置:
        +
      • ,3D 人声音效。
          +
        • 你需要在使用该枚举前将 profile 参数设置 为 (3) 或 + (5),否则该枚举设置无效。
        • +
        • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
        • +
        +
      • +
      • ,电音音效。
      • +
      +
      +
      + + param1 +
        -
      • 1: (默认)自然大调。
      • -
      • 2: 自然小调。
      • -
      • 3: 和风小调。
      • -
    • -
    -
    - - param2 - -
      -
    • 如果 preset 设为 ,你需要将 param2 设置为 0
    • -
    • 如果 preset 设为 ,则 param2 表示电音音效的主音音高: - +
    • 如果 preset 设为 ,则 + param1 表示 3D 人声音效的环绕周期。取值范围为 + [1,60],单位为秒。默认值为 10,表示人声会 10 秒环绕 360 度。
    • +
    • 如果 preset 设为 ,则 param1 表示电音音效的基础调式:
        +
      • 1: (默认)自然大调。
      • +
      • 2: 自然小调。
      • +
      • 3: 和风小调。
      • +
      +
    • +
    +
    +
    + + param2 +
      -
    • 1: A
    • -
    • 2: A#
    • -
    • 3: B
    • -
    • 4: (Default) C
    • -
    • 5: C#
    • -
    • 6: D
    • -
    • 7: D#
    • -
    • 8: E
    • -
    • 9: F
    • -
    • 10: F#
    • -
    • 11: G
    • -
    • 12: G#
    • -
    -
    -
    -
    +
  • 如果 preset 设为 ,你需要将 + param2 设置为 0
  • +
  • 如果 preset 设为 ,则 param2 表示电音音效的主音音高:
      +
    • 1: A
    • +
    • 2: A#
    • +
    • 3: B
    • +
    • 4: (Default) C
    • +
    • 5: C#
    • +
    • 6: D
    • +
    • 7: D#
    • +
    • 8: E
    • +
    • 9: F
    • +
    • 10: F#
    • +
    • 11: G
    • +
    • 12: G#
    • +
    +
  • + + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita b/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita index 7cfeb3599c9..79f9fad8a9b 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita @@ -1,95 +1,135 @@ - <ph keyref="setAudioEffectPreset" /> + <ph keyref="setAudioEffectPreset"/> 设置 SDK 预设的人声音效。 - +

    - public abstract int setAudioEffectPreset(int preset); - - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset; - virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioEffectPreset(int preset); + - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset; + virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setAudioEffectPreset(preset: AudioEffectPreset): number; + public abstract int SetAudioEffectPreset(AUDIO_EFFECT_PRESET preset); + abstract setAudioEffectPreset(preset: AudioEffectPreset): number; + Future<void> setAudioEffectPreset(AudioEffectPreset preset); +

    详情

    调用该方法可以为本地发流用户设置 SDK 预设的人声音效,且不会改变原声的性别特征。设置音效后,频道内所有用户都能听到该效果。

    -

    根据不同的场景,你可以为用户设置不同的音效,各音效的适用场景可参考

    +

    根据不同的场景,你可以为用户设置不同的音效,各音效的适用场景可参考

    -

      -
    • 该方法在加入频道前后都能调用。
    • -
    • -
    • 如果调用 并设置除 外的枚举,请勿再调用 ,否则 设置的效果会被覆盖。
    • -
    • 调用 后,不建议调用以下方法,否则 设置的效果会被覆盖:
        -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    • 该方法依赖于美声动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    +
  • 该方法在加入频道前后都能调用。
  • +
  • +
  • 如果调用 并设置除 外的枚举,请勿再调用 ,否则 设置的效果会被覆盖。
  • +
  • 调用 后,不建议调用以下方法,否则 设置的效果会被覆盖:
      +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • +
  • 该方法依赖于美声动态库 ,如果删除该动态库会导致无法正常开启该功能。
  • + + +
    参数 - - preset - 预设的音效选项,详见 - 预设的音效选项。 - - -
      -
    • : 原声,即关闭人声音效。
    • -
    • : KTV。
    • -
    • : 演唱会。
    • -
    • : 录音棚。
    • -
    • : 留声机。
    • -
    • : 虚拟立体声,即 SDK 将单声道的音频渲染出双声道的音效。使用该预设音效前,你需要将 profile 参数设置为 (4) 或 (5),否则该预设音效的设置无效。
    • -
    • : 空旷。
    • -
    • : 空灵。
    • -
    • : 虚拟环绕声,即 SDK 在双声道的基础上产生仿真的环绕声场,从而营造出具有环绕感的音效。 - 启用虚拟环绕声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
    • -
    • : 合唱。声网推荐你在合唱场景下使用,使人声更具空间立体感。
    • -
    • : 3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后,你还可以调用 修改环绕周期。 -
        -
      • 使用该预设音效前,你需要将 profile 参数设置为 (3) 或 (5),否则该预设音效的设置无效。
      • -
      • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
      • -
    • -
    • : 大叔。建议用于处理男声,否则无法达到预期效果。
    • -
    • : 老年男性。建议用于处理男声,否则无法达到预期效果。
    • -
    • : 男孩。建议用于处理男声,否则无法达到预期效果。
    • -
    • : 少女。建议用于处理女声,否则无法达到预期效果。
    • -
    • : 女孩。建议用于处理女声,否则无法达到预期效果。
    • -
    • : 猪八戒。
    • -
    • : 绿巨人。
    • -
    • : R&B。使用该预设音效前,你需要将 profile 参数设置为 (4) 或 (5),否则该预设音效的设置无效。
    • -
    • : 流行。使用该预设音效前,你需要将 profile 参数设置为 (4) 或 (5),否则该预设音效的设置无效。
    • -
    • : 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。
    • -
    -
    -
    + + preset + 预设的音效选项,详见 + 预设的音效选项。
      +
    • : 原声,即关闭人声音效。
    • +
    • : KTV。
    • +
    • : 演唱会。
    • +
    • : 录音棚。
    • +
    • : 留声机。
    • +
    • : 虚拟立体声,即 SDK + 将单声道的音频渲染出双声道的音效。使用该预设音效前,你需要将 的 + profile 参数设置为 (4) 或 (5),否则该预设音效的设置无效。
    • +
    • : 空旷。
    • +
    • : 空灵。
    • +
    • : 虚拟环绕声,即 + SDK 在双声道的基础上产生仿真的环绕声场,从而营造出具有环绕感的音效。 + 启用虚拟环绕声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
    • +
    • : + 合唱。声网推荐你在合唱场景下使用,使人声更具空间立体感。
    • +
    • : 3D 人声,即 SDK + 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后,你还可以调用 修改环绕周期。
        +
      • 使用该预设音效前,你需要将 的 + profile 参数设置为 (3) 或 (5),否则该预设音效的设置无效。
      • +
      • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
      • +
    • +
    • : + 大叔。建议用于处理男声,否则无法达到预期效果。
    • +
    • : + 老年男性。建议用于处理男声,否则无法达到预期效果。
    • +
    • : + 男孩。建议用于处理男声,否则无法达到预期效果。
    • +
    • : + 少女。建议用于处理女声,否则无法达到预期效果。
    • +
    • : + 女孩。建议用于处理女声,否则无法达到预期效果。
    • +
    • : 猪八戒。
    • +
    • : 绿巨人。
    • +
    • : R&B。使用该预设音效前,你需要将 profile 参数设置为 + (4) 或 (5),否则该预设音效的设置无效。
    • +
    • : 流行。使用该预设音效前,你需要将 profile 参数设置为 + (4) 或 (5),否则该预设音效的设置无效。
    • +
    • : 电音,即 SDK 以主音音高为 C + 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 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 acb8cea369a..ee7d655de9c 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita @@ -1,51 +1,60 @@ - <ph keyref="setAudioMixingDualMonoMode" /> + <ph keyref="setAudioMixingDualMonoMode"/> 设置当前音频文件的声道模式。 - +

    - public abstract int setAudioMixingDualMonoMode(Constants.AudioMixingDualMonoMode mode); - - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode; - virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioMixingDualMonoMode(Constants.AudioMixingDualMonoMode mode); + - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode; + virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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 场景中,音频文件的左声道存储了伴奏,右声道存储了原唱的歌声。如果你只需听伴奏,调用该方法设置音频文件的声道模式为左声道模式;如果你需要同时听伴奏和原唱,调用该方法设置声道模式为混合模式。

    +

    在双声道音频文件中,左声道和右声道可以存储不同的音频数据。根据实际需要,你可以设置声道模式为原始模式、左声道模式、右声道模式或混合模式。例如,在 KTV + 场景中,音频文件的左声道存储了伴奏,右声道存储了原唱的歌声。如果你只需听伴奏,调用该方法设置音频文件的声道模式为左声道模式;如果你需要同时听伴奏和原唱,调用该方法设置声道模式为混合模式。

    -
      -
    • 你需要在调用 并收到 () 回调后调用该方法。
    • -
    • 该方法仅适用于双声道的音频文件。
    • -
    + +
    参数 - - mode - 声道模式。详见 - -
    + + mode + 声道模式。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 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 7413050d7f7..c58da57f0b1 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiomixingpitch.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiomixingpitch.dita @@ -1,47 +1,56 @@ - <ph keyref="setAudioMixingPitch" /> + <ph keyref="setAudioMixingPitch"/> 调整本地播放的音乐文件的音调。 - +

    - public abstract int setAudioMixingPitch(int pitch); - - (int)setAudioMixingPitch:(NSInteger)pitch; - virtual int setAudioMixingPitch(int pitch) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioMixingPitch(int pitch); + - (int)setAudioMixingPitch:(NSInteger)pitch; + virtual int setAudioMixingPitch(int pitch) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setAudioMixingPitch(pitch: number): number; + public abstract int SetAudioMixingPitch(int pitch); + abstract setAudioMixingPitch(pitch: number): number; + Future<void> setAudioMixingPitch(int pitch); +

    详情

    本地人声和播放的音乐文件混音时,调用该方法可以仅调节音乐文件的音调。

    - 你需要在调用 并收到 () 回调后调用该方法。
    + 你需要在调用 并收到 () 回调后调用该方法。 +
    参数 - - pitch - 按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。取值范围为 [-12,12],每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。 - -
    + + pitch + 按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。取值范围为 + [-12,12],每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 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 ed96fcb2fe9..7ea730fba0a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita @@ -13,44 +13,50 @@

    - public abstract int setAudioMixingPlaybackSpeed(int speed); - - (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:)); - virtual int setAudioMixingPlaybackSpeed(int speed) = 0; - - abstract setAudioMixingPlaybackSpeed(speed: number): number; - public abstract int SetAudioMixingPlaybackSpeed(int speed); - abstract setAudioMixingPlaybackSpeed(speed: number): number; - Future<void> setAudioMixingPlaybackSpeed(int speed);

    + public abstract int setAudioMixingPlaybackSpeed(int speed); + - (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:)); + virtual int setAudioMixingPlaybackSpeed(int speed) = 0; + + abstract setAudioMixingPlaybackSpeed(speed: number): number; + public abstract int SetAudioMixingPlaybackSpeed(int speed); + abstract setAudioMixingPlaybackSpeed(speed: number): number; + Future<void> setAudioMixingPlaybackSpeed(int speed); +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +
    -

    你需要在调用 并收到 回调报告播放状态为 后再调用该方法。

    +

    你需要在调用 并收到 回调报告播放状态为 后再调用该方法。

    参数 - - speed - 音乐文件的播放速度。推荐取值范围为 [50,400],其中: -
      -
    • 50: 0.5 倍速。
    • -
    • 100: 原始速度。
    • -
    • 400: 4 倍速。
    • -
    -
    -
    + + speed + 音乐文件的播放速度。推荐取值范围为 [50,400],其中:
      +
    • 50: 0.5 倍速。
    • +
    • 100: 原始速度。
    • +
    • 400: 4 倍速。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

    -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + + diff --git a/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita b/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita index 0db641d3398..6fcd9f42398 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita @@ -1,47 +1,55 @@ - <ph keyref="setAudioMixingPosition" /> + <ph keyref="setAudioMixingPosition"/> 设置音乐文件的播放位置。 - +

    - public abstract int setAudioMixingPosition(int pos); - - (int)setAudioMixingPosition:(NSInteger)pos; - virtual int setAudioMixingPosition(int pos /*in ms*/) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioMixingPosition(int pos); + - (int)setAudioMixingPosition:(NSInteger)pos; + virtual int setAudioMixingPosition(int pos /*in ms*/) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setAudioMixingPosition(pos: number): number; + public abstract int SetAudioMixingPosition(int pos); + abstract setAudioMixingPosition(pos: number): number; + Future<void> setAudioMixingPosition(int pos); +

    详情

    该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而非从头到尾播放整个文件。

    - 你需要在调用 并收到 () 回调后调用该方法。
    + 你需要在调用 并收到 () 回调后调用该方法。 +
    参数 - - pos - 整数。进度条位置,单位为毫秒。 - -
    + + 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_setaudioprofile.dita b/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita index 7b95a20609c..3ba9cc5fa05 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita @@ -1,82 +1,102 @@ - <ph keyref="setAudioProfile" /> + <ph keyref="setAudioProfile"/> 设置音频编码属性和音频场景。 - +

    - public abstract int setAudioProfile(int profile, int scenario); - - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario; - virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioProfile(int profile, int scenario); + - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario; + virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAudioProfile(EAUDIO_PROFILE_TYPE profile = EAUDIO_PROFILE_TYPE::AUDIO_PROFILE_DEFAULT, EAUDIO_SCENARIO_TYPE scenario = EAUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_DEFAULT); - abstract setAudioProfile( + abstract setAudioProfile( profile: AudioProfileType, scenario?: AudioScenarioType ): number; - public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario); - abstract setAudioProfile( + public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario); + abstract setAudioProfile( profile: AudioProfileType, scenario?: AudioScenarioType ): number; - Future<void> setAudioProfile( + Future<void> setAudioProfile( {required AudioProfileType profile, AudioScenarioType scenario = AudioScenarioType.audioScenarioDefault}); -

    +

    详情
    - -
    弃用:
    -
    此方法已废弃,如需设置音频编码属性,请改用 ;如需设置音频场景,请改用
    -
    + +
    弃用:
    +
    此方法已废弃,如需设置音频编码属性,请改用 ;如需设置音频场景,请改用
    +
    -
      -
    • 该方法在加入频道前后均可调用。
    • -
    • 由于 iOS 系统限制,部分音频路由在通话音量模式下无法识别。因此,如需使用外接声卡,建议将音频应用场景设置为高音质场景 (3)。在这种场景下,SDK 会切换到媒体音量规避该问题。
    • -
    • 在有高音质需求的场景(例如音乐教学场景)中,建议将 profile 设置为 (4)scenario 设置为 (3)
    • -
    + + +
    参数 - - profile - -

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

      -
    • (0):默认值 -
        -
      • -
    • -
    • (1):指定 32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。
    • -
    • (2):指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。
    • -
    • (3):指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。
    • -
    • (4):指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 96 Kbps。
    • -
    • (5):指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。
    • -

    -
    -
    - - scenario - - -
    + + profile + +

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

      +
    • (0):默认值
        +
      • +
    • +
    • (1):指定 32 kHz + 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。
    • +
    • (2):指定 48 kHz + 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。
    • +
    • (3):指定 48 kHz + 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。
    • +
    • (4):指定 48 kHz + 采样率,音乐编码,单声道,编码码率最大值为 96 Kbps。
    • +
    • (5):指定 48 + kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。
    • +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita b/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita index 4877905c155..bd76bb13a94 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita @@ -1,49 +1,60 @@ - <ph keyref="setAudioProfile2" /> + <ph keyref="setAudioProfile2"/> 设置音频编码属性。 - +

    - public synchronized int setAudioProfile(int profile) - - (int)setAudioProfile:(AgoraAudioProfile)profile; - virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0; - abstract setAudioProfile(profile: AudioProfileType, scenario?: AudioScenarioType): number; - public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile); - -

    + public synchronized int setAudioProfile(int profile) + - (int)setAudioProfile:(AgoraAudioProfile)profile; + virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0; + abstract setAudioProfile(profile: AudioProfileType, scenario?: AudioScenarioType): number; + public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile); + + +

    详情 -
      -
    • 该方法在加入频道前后均可调用。
    • -
    • 在有高音质需求的场景(例如音乐教学场景)中,建议将 profile 设置为 (4)
    • -
    • 如果你想设置音频应用场景,可以直接调用 方法进行设置,也可以调用 并设置 结构体中的 mAudioScenarioaudioScenario
    • -
    + + +
    参数 - - profile - -

    - - -

    + + profile + +

    + + + +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita b/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita index 017b2c945e0..ad1e222fdc4 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita @@ -1,62 +1,71 @@ - <ph keyref="setAudioScenario" /> + <ph keyref="setAudioScenario"/> 设置音频场景。 - +

    - public abstract int setAudioScenario(int scenario); - - (int)setAudioScenario:(AgoraAudioScenario)scenario; - virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioScenario(int scenario); + - (int)setAudioScenario:(AgoraAudioScenario)scenario; + virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAudioScenario(EAUDIO_SCENARIO_TYPE scenario = EAUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_DEFAULT); - abstract setAudioScenario(scenario: AudioScenarioType): number; - public abstract int SetAudioScenario(AUDIO_SCENARIO_TYPE scenario); - abstract setAudioScenario(scenario: AudioScenarioType): number; - Future<void> setAudioScenario(AudioScenarioType scenario); -

    + abstract setAudioScenario(scenario: AudioScenarioType): number; + public abstract int SetAudioScenario(AUDIO_SCENARIO_TYPE scenario); + abstract setAudioScenario(scenario: AudioScenarioType): number; + Future<void> setAudioScenario(AudioScenarioType scenario); +

    详情 -
      -
    • 该方法在加入频道前后均可调用。
    • -
    • -
    -
    + + +
    参数 - - scenario - 音频场景。不同的音频场景下,设备的音量类型是不同的。 - 详见 -
      -
    • (0):(默认)自动场景,根据用户角色和音频路由自动匹配合适的音质。
    • -
    • (3): 高音质场景,适用于音乐为主的场景。 -
    • -
    • (5): 聊天室场景,适用于用户需要频繁上下麦的场景。该场景下,观众会收到申请麦克风权限的弹窗提示。
    • -
    • (7): 合唱场景。适用于网络条件良好,要求极低延时的实时合唱场景。 -
    • -
    • (8): 会议场景,适用于人声为主的多人会议。
    • -
    -
    -
    -
    + + scenario + 音频场景。不同的音频场景下,设备的音量类型是不同的。 + 详见 + 。 +
      +
    • + (0):(默认)自动场景,根据用户角色和音频路由自动匹配合适的音质。
    • +
    • (3): 高音质场景,适用于音乐为主的场景。
    • +
    • (5): + 聊天室场景,适用于用户需要频繁上下麦的场景。该场景下,观众会收到申请麦克风权限的弹窗提示。
    • +
    • (7): + 合唱场景。适用于网络条件良好,要求极低延时的实时合唱场景。
    • +
    • (8): 会议场景,适用于人声为主的多人会议。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita b/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita index 7a18e341c2b..e15d34c7a78 100644 --- a/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita +++ b/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita @@ -1,55 +1,65 @@ - <ph keyref="setAudioSessionOperationRestriction" /> + <ph keyref="setAudioSessionOperationRestriction"/> 设置 SDK 对 Audio Session 的操作权限。 - +

    - - - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:)); - virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:)); + virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAudioSessionOperationRestriction(EAUDIO_SESSION_OPERATION_RESTRICTION restriction); - abstract setAudioSessionOperationRestriction(restriction: AudioSessionOperationRestriction): number; - public abstract int SetAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction); - abstract setAudioSessionOperationRestriction( + abstract setAudioSessionOperationRestriction(restriction: AudioSessionOperationRestriction): number; + public abstract int SetAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction); + abstract setAudioSessionOperationRestriction( restriction: AudioSessionOperationRestriction ): number; - Future<void> setAudioSessionOperationRestriction( + Future<void> setAudioSessionOperationRestriction( AudioSessionOperationRestriction restriction); -

    +

    详情 -

    默认情况下,SDK 和 App 对 Audio Session 都有操作权限。如果你只需使用 App 对 Audio Session 进行操作,你可以调用该方法限制 SDK 对 Audio Session 的操作权限。

    -

    该方法在加入频道前后都能调用。一旦调用该方法限制了 SDK 对 Audio Session 的操作权限,该限制会在 SDK 需要更改 Audio Session 时生效。

    +

    默认情况下,SDK 和 App 对 Audio Session 都有操作权限。如果你只需使用 App 对 Audio Session 进行操作,你可以调用该方法限制 + SDK 对 Audio Session 的操作权限。

    +

    该方法在加入频道前后都能调用。一旦调用该方法限制了 SDK 对 Audio Session 的操作权限,该限制会在 SDK 需要更改 Audio Session + 时生效。

    -
      -
    • 该方法仅适用于 iOS 平台。
    • -
    • 该方法不会限制 App 对 Audio Session 的操作权限。
    • -
    + +
    参数 - - restriction - SDK 对 Audio Session 的操作权限,详见 。该参数为 Bit Mask,每个 Bit 对应一个权限。 - -
    + + restriction + SDK 对 Audio Session 的操作权限,详见 。该参数为 Bit Mask,每个 Bit + 对应一个权限。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setavsyncsource.dita b/dita/RTC-NG/API/api_irtcengine_setavsyncsource.dita index fd4946109e9..33ea1561602 100644 --- a/dita/RTC-NG/API/api_irtcengine_setavsyncsource.dita +++ b/dita/RTC-NG/API/api_irtcengine_setavsyncsource.dita @@ -1,51 +1,63 @@ - <ph keyref="setAVSyncSource" /> - 设置发流端音画同步。 + + <ph keyref="setAVSyncSource"/> + + + 设置发流端音画同步。 + - +

    - public abstract int setAVSyncSource(String channelId, int uid); - - (int) setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid; - virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAVSyncSource(String channelId, int uid); + - (int) setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid; + virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAVSyncSource(FString channelId, int64 uid); - abstract setAVSyncSource(channelId: string, uid: number): number; - public abstract int SetAVSyncSource(string channelId, uint uid); - abstract setAVSyncSource(channelId: string, uid: number): number; - Future<void> setAVSyncSource({required String channelId, required int uid}); -

    + abstract setAVSyncSource(channelId: string, uid: number): number; + public abstract int SetAVSyncSource(string channelId, uint uid); + abstract setAVSyncSource(channelId: string, uid: number): number; + Future<void> setAVSyncSource({required String channelId, required int uid}); +

    详情 -

    同一用户可能使用两个设备分别发送音频流和视频流,为保证接收端听到和看到的音频和视频的时间同步性,你可以在视频发送端调用该方法,并传入音频发送端的频道名、用户 ID。 SDK 会以发送的音频流的时间戳为基准进行自动调节发送的视频流,以保证即使在两个发送端的上行网络情况不一致(如分别使用 Wi-Fi 和 4G 网络)的情况下,也能让接收到的音视频具有时间同步性。

    - 建议你在加入频道前调用该方法。
    +

    同一用户可能使用两个设备分别发送音频流和视频流,为保证接收端听到和看到的音频和视频的时间同步性,你可以在视频发送端调用该方法,并传入音频发送端的频道名、用户 ID。 + SDK 会以发送的音频流的时间戳为基准进行自动调节发送的视频流,以保证即使在两个发送端的上行网络情况不一致(如分别使用 Wi-Fi 和 4G + 网络)的情况下,也能让接收到的音视频具有时间同步性。

    + 建议你在加入频道前调用该方法。 +
    参数 - - channelId - 标识音频发送端所在频道的频道名。 - - - uid - 音频发送端的用户 ID。 - -
    + + channelId + 标识音频发送端所在频道的频道名。 + + + uid + 音频发送端的用户 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_setbeautyeffectoptions.dita b/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita index 21f4825e7ba..aecfe872884 100644 --- a/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita @@ -1,88 +1,92 @@ - <ph keyref="setBeautyEffectOptions" /> + <ph keyref="setBeautyEffectOptions"/> 设置美颜效果选项。 - +

    - public abstract int setBeautyEffectOptions(boolean enabled, BeautyOptions options); - - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)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|RtcEngineProxy") + public abstract int setBeautyEffectOptions(boolean enabled, BeautyOptions options); + - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)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|RtcEngineProxy") int SetBeautyEffectOptions(bool enabled, const FBeautyOptions& options, EMEDIA_SOURCE_TYPE type); - abstract setBeautyEffectOptions( + abstract setBeautyEffectOptions( enabled: boolean, options: BeautyOptions, type?: MediaSourceType ): number; - public abstract int SetBeautyEffectOptions(bool enabled, BeautyOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setBeautyEffectOptions( + public abstract int SetBeautyEffectOptions(bool enabled, BeautyOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); + abstract setBeautyEffectOptions( enabled: boolean, options: BeautyOptions, type?: MediaSourceType ): number; - Future<void> setBeautyEffectOptions( + Future<void> setBeautyEffectOptions( {required bool enabled, required BeautyOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    详情

    开启本地美颜功能,并设置美颜效果选项。

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

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

    +

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

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

    - public abstract int setBeautyEffectOptions( + public abstract int setBeautyEffectOptions( boolean enabled, BeautyOptions options, Constants.MediaSourceType sourceType); - - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setBeautyEffectOptions(_:options:sourceType:)); - - - - - - -

    + - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setBeautyEffectOptions(_:options:sourceType:)); + + + + + + +

    详情

    开启本地美颜功能,并设置美颜效果选项和效果应用的媒体源。

    -

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

    +

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

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -4:当前设备不支持该功能,可能的原因有: -
          -
        • 当前设备能力不满足美颜的使用要求,建议更换性能更高的设备。
        • -
        • 当前设备版本低于 Android 5.0,不支持该操作,建议更换设备或升级操作系统。
        • -
        -
      • -
      -
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。 +
        +
      • -4:当前设备不支持该功能,可能的原因有:
          +
        • 当前设备能力不满足美颜的使用要求,建议更换性能更高的设备。
        • +
        • 当前设备版本低于 Android + 5.0,不支持该操作,建议更换设备或升级操作系统。
        • +
        +
      • +
      +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita b/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita index 754fdf57464..26a9540ef89 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita @@ -1,38 +1,40 @@ - <ph keyref="setCameraAutoExposureFaceModeEnabled" /> + <ph keyref="setCameraAutoExposureFaceModeEnabled"/> 设置是否开启自动曝光功能。 - +

    - - - virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0; + + + virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setCameraAutoExposureFaceModeEnabled(enabled: boolean): number; + public abstract int SetCameraAutoExposureFaceModeEnabled(bool enabled); + abstract setCameraAutoExposureFaceModeEnabled(enabled: boolean): number; + Future<void> setCameraAutoExposureFaceModeEnabled(bool enabled); +

    详情

    - -

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

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

    参数 @@ -40,20 +42,24 @@ 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 39046764c4a..6d0d1417c38 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita @@ -1,66 +1,72 @@ - <ph keyref="setCameraAutoFocusFaceModeEnabled" /> + <ph keyref="setCameraAutoFocusFaceModeEnabled"/> 设置是否开启人脸对焦功能。 - +

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

    + 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 平台开启人脸自动对焦。如需自行设置人脸自动对焦,请调用该方法。

    +

    SDK 默认在 Android 平台关闭人脸自动对焦,在 iOS + 平台开启人脸自动对焦。如需自行设置人脸自动对焦,请调用该方法。

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • +
    +
    参数 - - enabled - enable - -

    是否开启人脸对焦: - -

      -
    • : 开启人脸对焦功能。
    • -
    • : 关闭人脸对焦功能。
    • -

    -
    -
    -
    + + 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 31098950ba3..9ed10a22527 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita @@ -1,58 +1,70 @@ - <ph keyref="setCameraCapturerConfiguration" /> + <ph keyref="setCameraCapturerConfiguration"/> 设置摄像头采集配置。 - +

    - public abstract int setCameraCapturerConfiguration(CameraCapturerConfiguration config); - - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config; - virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setCameraCapturerConfiguration(CameraCapturerConfiguration config); + - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config; + virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetCameraCapturerConfiguration(const FCameraCapturerConfiguration& config); - abstract setCameraCapturerConfiguration( + abstract setCameraCapturerConfiguration( config: CameraCapturerConfiguration ): number; - public abstract int SetCameraCapturerConfiguration(CameraCapturerConfiguration config); - abstract setCameraCapturerConfiguration( + public abstract int SetCameraCapturerConfiguration(CameraCapturerConfiguration config); + abstract setCameraCapturerConfiguration( config: CameraCapturerConfiguration ): number; - Future<void> setCameraCapturerConfiguration( + Future<void> setCameraCapturerConfiguration( CameraCapturerConfiguration config); -

    +

    详情 -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 该方法必须在开启本地摄像头采集前调用,如 前调用。
    • -
    • 在调整摄像头的焦距配置前,建议先调用 查询设备支持的焦距能力,再根据查询结果进行配置。
    • -
    • 由于部分 Android 设备的限制,即使根据 的查询结果设置焦距类型,设置结果也可能不生效。
    • -
    + +
    参数 - - config - 摄像头采集配置,详见 。 - 在该方法中,不需要设置 deviceId 参数。 - -
    + + config + 摄像头采集配置,详见 在该方法中,不需要设置 + deviceId 参数。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 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 920d7b11dc5..1acbc2679c7 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameradeviceorientation.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameradeviceorientation.dita @@ -1,65 +1,72 @@ - <ph keyref="setCameraDeviceOrientation" /> + <ph keyref="setCameraDeviceOrientation"/> 设置采集视频的旋转角度。 - +

    - - - virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0; + + + virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetCameraDeviceOrientation(EVIDEO_SOURCE_TYPE type, FENUMWRAP_VIDEO_ORIENTATION orientation); - abstract setCameraDeviceOrientation( + abstract setCameraDeviceOrientation( type: VideoSourceType, orientation: VideoOrientation ): number; - public abstract int SetCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation); - abstract setCameraDeviceOrientation( + public abstract int SetCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation); + abstract setCameraDeviceOrientation( type: VideoSourceType, orientation: VideoOrientation ): number; - Future<void> setCameraDeviceOrientation( + Future<void> setCameraDeviceOrientation( {required VideoSourceType type, required VideoOrientation orientation}); -

    -
    +

    +
    详情
      -
    • 该方法仅适用于 Windows。
    • -
    • 该方法必须在 后调用,设置结果在摄像头成功开启后生效,即 SDK 触发 回调返回本地视频状态为 (1) 后。
    • -
    • 当视频采集设备不带重力感应功能时,你可以调用该方法手动调整采集到的视频画面的旋转角度。
    • -
    +
  • 该方法仅适用于 Windows。
  • +
  • 该方法必须在 后调用,设置结果在摄像头成功开启后生效,即 SDK 触发 回调返回本地视频状态为 (1) 后。
  • +
  • 当视频采集设备不带重力感应功能时,你可以调用该方法手动调整采集到的视频画面的旋转角度。
  • +
    参数 - - type - 视频源类型,详见 - + + 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 ba837215489..ed60e2d8b60 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita @@ -1,66 +1,77 @@ - <ph keyref="setCameraExposureFactor" /> + <ph keyref="setCameraExposureFactor"/> 设置当前摄像头的曝光系数。 - +

    - public abstract int setCameraExposureFactor(int factor); - + public abstract int setCameraExposureFactor(int factor); + - (CGFloat)setCameraExposureFactor:(CGFloat)exposureFactor NS_SWIFT_NAME(setCameraExposureFactor(_:)); - virtual int setCameraExposureFactor(float factor) = 0; - - public abstract int SetCameraExposureFactor(float factor); - abstract setCameraExposureFactor(factor: number): number; - Future<void> setCameraExposureFactor(double factor); -

    -
    + virtual int setCameraExposureFactor(float factor) = 0; + + public abstract int SetCameraExposureFactor(float factor); + abstract setCameraExposureFactor(factor: number): number; + Future<void> setCameraExposureFactor(double factor); +

    +
    详情
    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +

    当拍摄环境光线不足或过于明亮时,会影响视频采集的画质。为了获得更好的视频效果,你可以使用该方法调节摄像头的曝光系数。

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 该方法必须在 后调用,设置结果在摄像头成功开启后生效,即 SDK 触发 回调返回本地视频状态为 (1) 后。
    • -
    • 建议你在调用该方法前,先调用 查询当前摄像头是否支持调节曝光系数。
    • -
    • 当你调用该方法时,设置的是当前正在使用的摄像头的曝光系数,即调用 时指定的摄像头。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 该方法必须在 后调用,设置结果在摄像头成功开启后生效,即 SDK + 触发 回调返回本地视频状态为 (1) 后。
    • +
    • 建议你在调用该方法前,先调用 + 查询当前摄像头是否支持调节曝光系数。
    • +
    • 当你调用该方法时,设置的是当前正在使用的摄像头的曝光系数,即调用 时指定的摄像头。
    • +
    参数 - - exposureFactor - factor - -

    摄像头的曝光系数。默认值为 0,表示使用摄像头的默认曝光量。取值越大,曝光量越大。视频图像过曝时,你可以降低曝光系数;视频图像欠曝且暗部细节丢失时,你可以增加曝光系数。如果你指定的曝光系数超出设备支持的范围,SDK 会自动调节为设备实际支持的范围。

    -

    取值范围为 [-20,20]。

    -

    取值范围为 [-8.0,8.0]。

    -

    在 Android 平台上,取值范围为 [-20.0,20.0];在 iOS 平台上,取值范围为 [-8.0,8.0]。

    -
    -
    -
    + + exposureFactor + factor + +

    摄像头的曝光系数。默认值为 + 0,表示使用摄像头的默认曝光量。取值越大,曝光量越大。视频图像过曝时,你可以降低曝光系数;视频图像欠曝且暗部细节丢失时,你可以增加曝光系数。如果你指定的曝光系数超出设备支持的范围,SDK + 会自动调节为设备实际支持的范围。

    +

    取值范围为 [-20,20]。

    +

    取值范围为 [-8.0,8.0]。

    +

    在 Android 平台上,取值范围为 [-20.0,20.0];在 + iOS 平台上,取值范围为 [-8.0,8.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_setcameraexposureposition.dita b/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita index cbf245b1910..b981b697984 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita @@ -1,67 +1,74 @@ - <ph keyref="setCameraExposurePosition" /> + <ph keyref="setCameraExposurePosition"/> 设置手动曝光位置。 - +

    - public abstract int setCameraExposurePosition(float positionXinView, float positionYinView); - - (BOOL)setCameraExposurePosition:(CGPoint)positionInView; - virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0; + public abstract int setCameraExposurePosition(float positionXinView, float positionYinView); + - (BOOL)setCameraExposurePosition:(CGPoint)positionInView; + virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetCameraExposurePosition(float positionXinView, float positionYinView); - abstract setCameraExposurePosition( + abstract setCameraExposurePosition( positionXinView: number, positionYinView: number ): number; - public abstract int SetCameraExposurePosition(float positionXinView, float positionYinView); - abstract setCameraExposurePosition( + public abstract int SetCameraExposurePosition(float positionXinView, float positionYinView); + abstract setCameraExposurePosition( positionXinView: number, positionYinView: number ): number; - Future<void> setCameraExposurePosition( + Future<void> setCameraExposurePosition( {required double positionXinView, required double positionYinView}); -

    +

    详情 -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    • 成功调用该方法后,本地会触发 回调。
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • +
    • 成功调用该方法后,本地会触发 回调。
    • +
    -
    +
    参数 - - 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 6ae0be75bc9..3bb0ca1dc26 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita @@ -1,67 +1,72 @@ - <ph keyref="setCameraFocusPositionInPreview" /> + <ph keyref="setCameraFocusPositionInPreview"/> 设置手动对焦位置,并触发对焦。 - +

    - public abstract int setCameraFocusPositionInPreview(float positionX, float positionY); - - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position; - virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0; + public abstract int setCameraFocusPositionInPreview(float positionX, float positionY); + - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position; + virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetCameraFocusPositionInPreview(float positionX, float positionY); - abstract setCameraFocusPositionInPreview( + abstract setCameraFocusPositionInPreview( positionX: number, positionY: number ): number; - public abstract int SetCameraFocusPositionInPreview(float positionX, float positionY); - abstract setCameraFocusPositionInPreview( + public abstract int SetCameraFocusPositionInPreview(float positionX, float positionY); + abstract setCameraFocusPositionInPreview( positionX: number, positionY: number ): number; - Future<void> setCameraFocusPositionInPreview( + Future<void> setCameraFocusPositionInPreview( {required double positionX, required double positionY}); -

    +

    详情
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    • 成功调用该方法后,本地会触发 回调。
    • -
    -
    +
  • 该方法仅适用于 Android 和 iOS。
  • +
  • +
  • 成功调用该方法后,本地会触发 回调。
  • + +
    参数 - - 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 fafc36f92bc..e9a06c65259 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita @@ -13,21 +13,22 @@

    - - - (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:)); - virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0; - - - public abstract int SetCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode); - abstract setCameraStabilizationMode(mode: CameraStabilizationMode): number; - Future<void> setCameraStabilizationMode(CameraStabilizationMode mode);

    + + - (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:)); + virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0; + + + public abstract int SetCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode); + abstract setCameraStabilizationMode(mode: CameraStabilizationMode): number; + Future<void> setCameraStabilizationMode(CameraStabilizationMode mode); +

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

    该方法仅适用于 iOS。

    @@ -40,13 +41,15 @@
    调用时机 -

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

    -
    +

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

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

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

    +

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

    -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + + diff --git a/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita b/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita index 5161c08d24a..72d46b8419e 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita @@ -1,58 +1,62 @@ - <ph keyref="setCameraTorchOn" /> + <ph keyref="setCameraTorchOn"/> 设置是否打开闪光灯。 - +

    - public abstract int setCameraTorchOn(boolean isOn); - - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:)); - virtual int setCameraTorchOn(bool isOn) = 0; + public abstract int setCameraTorchOn(boolean isOn); + - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:)); + virtual int setCameraTorchOn(bool isOn) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setCameraTorchOn(isOn: boolean): number; + public abstract int SetCameraTorchOn(bool isOn); + abstract setCameraTorchOn(isOn: boolean): number; + Future<void> setCameraTorchOn(bool isOn); +

    详情 -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    + +
    参数 - - isOn - -

    是否打开闪光灯: - -

      -
    • : 打开闪光灯。
    • -
    • :(默认)关闭闪光灯。
    • -

    -
    -
    -
    + + 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 fcfe4fae69d..6cf89d55caa 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita @@ -1,53 +1,65 @@ - <ph keyref="setCameraZoomFactor" /> + <ph keyref="setCameraZoomFactor"/> 设置摄像头缩放比例。 - +

    - public abstract int setCameraZoomFactor(float factor); - - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor; - virtual int setCameraZoomFactor(float factor) = 0; + public abstract int setCameraZoomFactor(float factor); + - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor; + virtual int setCameraZoomFactor(float factor) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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 + 的数值,从而实现超广角的拍摄效果。

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • -
    + +
    参数 - - factor - zoomFactor - 摄像头缩放比例。对不支持超广角的设备,取值范围从 1.0 到最大缩放比例;对支持超广角的设备,取值范围从 0.5 到最大缩放比例。你可以通过 方法获取设备支持的最大缩放比例。 - -
    + + factor + zoomFactor + 摄像头缩放比例。对不支持超广角的设备,取值范围从 1.0 到最大缩放比例;对支持超广角的设备,取值范围从 0.5 到最大缩放比例。你可以通过 方法获取设备支持的最大缩放比例。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 方法调用成功: 返回设置的 factor 值。
    • -
    • 方法调用失败: 返回值 < 0。
    • -
    +
  • 方法调用成功: 返回设置的 + factor 值。
  • +
  • 方法调用失败: 返回值 < 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 c5cecdec73c..40297e236f9 100644 --- a/dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita +++ b/dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita @@ -1,81 +1,96 @@ - <ph keyref="setChannelProfile" /> + <ph keyref="setChannelProfile"/> 设置频道场景。 - +

    - public abstract int setChannelProfile(int profile); - - (int)setChannelProfile:(AgoraChannelProfile)profile; - virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setChannelProfile(int profile); + - (int)setChannelProfile:(AgoraChannelProfile)profile; + virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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 的默认视频编码码率是不同的,详见 中的说明。 -
    • -
    + + +
    参数 - - profile - -

    频道使用场景。详见

    -

    频道使用场景。 - -

      -
    • (0):通信。声网推荐使用直播场景以获取更好的音视频体验。
    • -
    • (1):(默认)直播。
    • -
    • (2):游戏语音场景。 -
      - -
      废弃:
      -
      请改用
      -
      -
    • -
    • (3):互动。该场景对延时进行了优化。如果你的场景中有用户需要频繁互动,建议使用该场景。 -
      - -
      废弃:
      -
      请改用
      -
      -
    • -

    -
    -
    -
    + + profile + +

    频道使用场景。详见 +

    +

    频道使用场景。

      +
    • + (0):通信。声网推荐使用直播场景以获取更好的音视频体验。
    • +
    • + (1):(默认)直播。
    • +
    • (2):游戏语音场景。
      + +
      废弃:
      +
      请改用
      +
      +
      +
    • +
    • + (3):互动。该场景对延时进行了优化。如果你的场景中有用户需要频繁互动,建议使用该场景。
      + +
      废弃:
      +
      请改用
      +
      +
      +
    • +
    +

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

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

    +

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

      -
    • 0(ERR_OK) 方法调用成功。
    • -
    • < 0 方法调用失败。详见了解详情和解决建议。 -
        -
      • -2: 参数无效。
      • -
      • -7: SDK 尚未初始化。
      • -
    • -
    +
  • 0(ERR_OK) 方法调用成功。
  • +
  • < 0 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2: 参数无效。
    • +
    • -7: SDK 尚未初始化。
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setclientrole.dita b/dita/RTC-NG/API/api_irtcengine_setclientrole.dita index 77538483203..df0639c7796 100644 --- a/dita/RTC-NG/API/api_irtcengine_setclientrole.dita +++ b/dita/RTC-NG/API/api_irtcengine_setclientrole.dita @@ -1,72 +1,74 @@ - <ph keyref="setClientRole1" /> + <ph keyref="setClientRole1"/> 设置用户角色。 - +

    - public abstract int setClientRole(int role); - - (int)setClientRole:(AgoraClientRole)role; - virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; - abstract setClientRole( + public abstract int setClientRole(int role); + - (int)setClientRole:(AgoraClientRole)role; + virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; + abstract setClientRole( role: ClientRoleType, options?: ClientRoleOptions ): number; - public abstract int SetClientRole(CLIENT_ROLE_TYPE role); - abstract setClientRole( + public abstract int SetClientRole(CLIENT_ROLE_TYPE role); + abstract setClientRole( role: ClientRoleType, options?: ClientRoleOptions ): number; -

    +

    详情

    直播场景下,SDK 会默认设置用户角色为观众,你可以调用该方法设置用户角色为主播。

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

    -

    如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作: -

      -
    • 调用 修改发布状态。
    • -
    • 本地触发 回调。
    • -
    • 远端触发 回调。
    • +

      如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作:

        +
      • 调用 修改发布状态。
      • +
      • 本地触发 回调。
      • +
      • 远端触发 回调。

    参数 - - role - -

    用户角色。详见

    -

    用户的角色: - -

      -
    • (1):主播。
    • -
    • (2):观众。
    • -

    - 角色为观众的用户无法在频道内发布音视频流。在直播场景下发流时,请确保你的用户角色已切换为主播。 -
    -
    -
    + + role + +

    用户角色。详见

    +

    用户的角色:

      +
    • (1):主播。
    • +
    • (2):观众。
    • +
    +

    + 角色为观众的用户无法在频道内发布音视频流。在直播场景下发流时,请确保你的用户角色已切换为主播。 +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 - -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -7: SDK 尚未初始化。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -7: SDK 尚未初始化。
    • +
    +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita b/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita index c7d042c38ba..06e7bd2cf5c 100644 --- a/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita @@ -1,82 +1,94 @@ - <ph keyref="setClientRole2" /> + <ph keyref="setClientRole2"/> 设置直播场景下的用户角色和级别。 - +

    - public abstract int setClientRole(int role, ClientRoleOptions options); - - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options; - virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setClientRole(int role, ClientRoleOptions options); + - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options; + virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetClientRole(ECLIENT_ROLE_TYPE clientroletype, FClientRoleOptions& options); - abstract setClientRole( + abstract setClientRole( role: ClientRoleType, options?: ClientRoleOptions ): number; - public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); - abstract setClientRole( + public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); + abstract setClientRole( role: ClientRoleType, options?: ClientRoleOptions ): number; - Future<void> setClientRole( + Future<void> setClientRole( {required ClientRoleType role, ClientRoleOptions? options}); -

    +

    详情

    直播场景下,SDK 会默认设置用户角色为观众,你可以调用该方法设置用户角色为主播。

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

    -

    如果你在加入频道前调用该方法设置用户角色为主播、并且通过 方法设置了本地视频属性,则用户加入频道时会自动开启本地视频预览。

    -

    如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作: -

      -
    • 调用 修改发布状态。
    • -
    • 本地触发 回调。
    • -
    • 远端触发 回调。
    • -

    -

    该方法与 的区别在于,该方法还支持设置用户级别。 -

      -
    • 用户角色(role)确定用户在 SDK 层的权限,包含是否可以发送流、是否可以接收流、是否可以旁路推流等。
    • -
    • 用户级别(level)需要与角色结合使用,确定用户在其权限范围内可以享受到的服务。例如对于观众,选择接收低延时还是超低延时的视频流。不同的级别会影响计费。
    • -

    - 该方法仅适用于直播场景(profile 设为 )。
    +

    如果你在加入频道前调用该方法设置用户角色为主播、并且通过 + 方法设置了本地视频属性,则用户加入频道时会自动开启本地视频预览。

    +

    如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作:

    +

    该方法与 + 的区别在于,该方法还支持设置用户级别。

    + 该方法仅适用于直播场景( 中 + profile 设为 )。 +
    参数 - - role - clientroletype - 直播场景中的用户角色。详见 -
      -
    • (1): 主播。主播可以发流也可以收流。
    • -
    • (2):(默认)观众。观众只能收流不能发流。
    • -
    -
    - - options - 用户具体设置,包含用户级别。详见 - -
    + + role + clientroletype + 直播场景中的用户角色。详见 +
      +
    • (1): 主播。主播可以发流也可以收流。
    • +
    • (2):(默认)观众。观众只能收流不能发流。
    • +
    +
    +
    + + options + 用户具体设置,包含用户级别。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -5: 调用被拒绝。
      • -
      • -7: SDK 尚未初始化。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -5: 调用被拒绝。
    • +
    • -7: SDK 尚未初始化。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita b/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita index 66fd226dd4f..bdcce630289 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita @@ -1,71 +1,87 @@ - <ph keyref="setCloudProxy" /> - 设置云代理服务。 + + <ph keyref="setCloudProxy"/> + + + 设置云代理服务。 + - +

    - public abstract int setCloudProxy(int proxyType); - - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:)); - virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setCloudProxy(int proxyType); + - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:)); + virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setCloudProxy(proxyType: CloudProxyType): number; + public abstract int SetCloudProxy(CLOUD_PROXY_TYPE proxyType); + abstract setCloudProxy(proxyType: CloudProxyType): number; + Future<void> setCloudProxy(CloudProxyType proxyType); +

    详情 -

    当用户的网络访问受到防火墙限制时,你需要将声网提供的 IP 和端口号添加到防火墙白名单,然后调用该方法开启云代理,并通过 proxyType 参数设置云代理类型。

    -

    成功连接云代理后,SDK 会触发 (, ) 回调。 -

    -

    如果你想关闭已设置的 Force UDP 或 Force TCP 云代理,请调用 ()

    -

    如果你想更改已设置的云代理类型,请先调用 (),再调用 并传入你期望的 proxyType 值。 -

    +

    当用户的网络访问受到防火墙限制时,你需要将声网提供的 IP 和端口号添加到防火墙白名单,然后调用该方法开启云代理,并通过 + proxyType 参数设置云代理类型。

    +

    成功连接云代理后,SDK 会触发 (, ) 回调。

    +

    如果你想关闭已设置的 Force UDP 或 Force TCP 云代理,请调用 ()

    +

    如果你想更改已设置的云代理类型,请先调用 (),再调用 + 并传入你期望的 proxyType 值。

    -
      -
    • 建议你在频道外调用该方法。
    • -
    • 如果用户处于内网防火墙环境下,使用 Force UDP 云代理时,旁路推流和跨频道媒体流转发功能不可用。
    • -
    • 使用 Force UDP 云代理时,调用 方法时无法播放 HTTP 协议的在线音频文件。旁路推流和跨频道媒体流转发功能会使用 TCP 协议的云代理。
    • -
    +
    参数 - - proxyType - -

    云代理类型,详见

    -

    云代理类型。 -

      -
    • (0):自动模式。SDK 默认开启该模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换到 TLS 443。
    • -
    • (1):UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。
    • -
    • (2):TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。
    • -

    -

    该参数为必填参数,如果你不赋值,SDK 会报错。

    -
    -
    -
    + + proxyType + +

    云代理类型,详见

    +

    云代理类型。 +

      +
    • (0):自动模式。SDK 默认开启该模式。在该模式下,SDK 优先连接 + SD-RTN™,如果连接失败,自动切换到 TLS 443。
    • +
    • (1):UDP 协议的云代理,即 Force UDP + 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。
    • +
    • (2):TCP(加密)协议的云代理,即 Force TCP + 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。
    • +

    +

    该参数为必填参数,如果你不赋值,SDK 会报错。

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

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

    +

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

      -
    • 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_setcolorenhanceoptions.dita b/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita index 84bd1dc4906..02344a2fc45 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita @@ -1,84 +1,95 @@ - <ph keyref="setColorEnhanceOptions" /> - 设置色彩增强功能。 + + <ph keyref="setColorEnhanceOptions"/> + + 设置色彩增强功能。 + - +

    - public abstract int setColorEnhanceOptions(boolean enabled, ColorEnhanceOptions options); + 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|RtcEngineProxy") + virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetColorEnhanceOptions(bool enabled, const FColorEnhanceOptions& options, EMEDIA_SOURCE_TYPE type); - abstract setColorEnhanceOptions( + abstract setColorEnhanceOptions( enabled: boolean, options: ColorEnhanceOptions, type?: MediaSourceType ): number; - public abstract int SetColorEnhanceOptions(bool enabled, ColorEnhanceOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setColorEnhanceOptions( + public abstract int SetColorEnhanceOptions(bool enabled, ColorEnhanceOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); + abstract setColorEnhanceOptions( enabled: boolean, options: ColorEnhanceOptions, type?: MediaSourceType ): number; - Future<void> setColorEnhanceOptions( + Future<void> setColorEnhanceOptions( {required bool enabled, required ColorEnhanceOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    详情

    摄像头采集到的视频画面可能存在色彩失真的现象。色彩增强功能可以通过智能调节饱和度和对比度等视频特性,提升视频色彩丰富度和色彩还原度,最终使视频画面更生动。

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

    -
      -
    • 请在 后调用该方法。
    • -
    • 色彩增强对设备性能有一定要求。开启色彩增强后,如果设备出现严重发烫等问题,建议你将色彩增强等级修改为消耗性能较少的等级或关闭色彩增强功能。
    • -
    • 该方法和 均可开启色彩增强功能:
        -
      • 当你使用 SDK 采集视频时,建议使用该方法(该方法只可对 SDK 采集的视频起作用)。
      • -
      • 当你使用外部的视频源实现自定义视频采集,或者将外部视频源发送给 SDK 时,建议使用 方法。
      • -
    • -
    • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    +
  • 请在 后调用该方法。
  • +
  • 色彩增强对设备性能有一定要求。开启色彩增强后,如果设备出现严重发烫等问题,建议你将色彩增强等级修改为消耗性能较少的等级或关闭色彩增强功能。
  • +
  • 该方法和 均可开启色彩增强功能:
      +
    • 当你使用 SDK 采集视频时,建议使用该方法(该方法只可对 SDK 采集的视频起作用)。
    • +
    • 当你使用外部的视频源实现自定义视频采集,或者将外部视频源发送给 SDK 时,建议使用 方法。
    • +
  • +
  • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
  • + + +
    参数 - - enabled - enable - 是否开启色彩增强功能: -
      -
    • :开启色彩增强功能。
    • -
    • :(默认)关闭色彩增强功能。
    • -
    -
    - - options - 色彩增强选项,用于设置色彩增强的效果。详见 - - - - - -
    + + enabled + enable + 是否开启色彩增强功能:
      +
    • :开启色彩增强功能。
    • +
    • :(默认)关闭色彩增强功能。
    • +
    +
    + + options + 色彩增强选项,用于设置色彩增强的效果。详见 + + + + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions2.dita b/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions2.dita index 644a408d0ce..67d6787f88d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions2.dita @@ -1,61 +1,71 @@ - <ph keyref="setColorEnhanceOptions2" /> - 设置色彩增强功能并指定媒体源。 + + <ph keyref="setColorEnhanceOptions2"/> + + 设置色彩增强功能并指定媒体源。 + - +

    - public abstract int setColorEnhanceOptions( + public abstract int setColorEnhanceOptions( boolean enabled, ColorEnhanceOptions options, Constants.MediaSourceType sourceType); - - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setColorEnhanceOptions(_:options:sourceType:)); - - - - - - -

    + - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setColorEnhanceOptions(_:options:sourceType:)); + + + + + + +

    详情

    摄像头采集到的视频画面可能存在色彩失真的现象。色彩增强功能可以通过智能调节饱和度和对比度等视频特性,提升视频色彩丰富度和色彩还原度,最终使视频画面更生动。

    -

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

    +

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

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setcontentinspec.dita b/dita/RTC-NG/API/api_irtcengine_setcontentinspec.dita index 4b08caee768..9e9b49adf5e 100644 --- a/dita/RTC-NG/API/api_irtcengine_setcontentinspec.dita +++ b/dita/RTC-NG/API/api_irtcengine_setcontentinspec.dita @@ -2,36 +2,37 @@ setContentInspec - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita b/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita index 50656b22c88..669e0ea5a88 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita @@ -6,70 +6,73 @@ - +

    - public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeaker); - - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker; - virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0; + public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeaker); + - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker; + virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); - abstract setDefaultAudioRouteToSpeakerphone( + abstract setDefaultAudioRouteToSpeakerphone( defaultToSpeaker: boolean ): number; - public abstract int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); - abstract setDefaultAudioRouteToSpeakerphone( + public abstract int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); + abstract setDefaultAudioRouteToSpeakerphone( defaultToSpeaker: boolean ): number; - Future<void> setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); -

    + Future<void> setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); +

    详情 -
      -
    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 该方法需要在加入频道前调用。如需在加入频道后切换音频路由,请调用
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 该方法需要在加入频道前调用。如需在加入频道后切换音频路由,请调用
    • +

    手机设备一般有两个音频路由,一个是位于顶部的听筒,播放声音偏小;一个是位于底部的扬声器,播放声音偏大。设置默认的音频路由,就是在没有外接设备的前提下,设置系统使用听筒还是扬声器播放音频。

    -

    不同场景下,系统默认的音频路由也不同。具体如下: - - - -

    +

    不同场景下,系统默认的音频路由也不同。具体如下:

    调用该 API 可以改变上述默认音频路由。成功改变音频路由后,SDK 会触发 回调。

    -

    当手机插入外接设备,如蓝牙设备或耳机时,系统的音频路由会发生改变。详细的路由变化规律请参考 音频路由

    -
    +

    当手机插入外接设备,如蓝牙设备或耳机时,系统的音频路由会发生改变。详细的路由变化规律请参考 音频路由

    + +
    参数 - - defaultToSpeaker - 是否使用扬声器作为默认的音频路由: -
      -
    • : 设置默认音频路由为扬声器。
    • -
    • : 设置默认音频路由为听筒。
    • -
    -
    -
    + + defaultToSpeaker + 是否使用扬声器作为默认的音频路由:
      +
    • : 设置默认音频路由为扬声器。
    • +
    • : 设置默认音频路由为听筒。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremoteaudiostreams.dita b/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremoteaudiostreams.dita index db95470d782..0c1c68abb16 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremoteaudiostreams.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremoteaudiostreams.dita @@ -1,68 +1,72 @@ - <ph keyref="setDefaultMuteAllRemoteAudioStreams" /> + <ph keyref="setDefaultMuteAllRemoteAudioStreams"/> 默认取消或恢复订阅远端用户的音频流。 - +

    - public abstract int setDefaultMuteAllRemoteAudioStreams(boolean muted); - - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute; - virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; - abstract setDefaultMuteAllRemoteAudioStreams(mute: boolean): number; - public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); - abstract setDefaultMuteAllRemoteAudioStreams(mute: boolean): number; - Future<void> setDefaultMuteAllRemoteAudioStreams(bool mute); -

    + public abstract int setDefaultMuteAllRemoteAudioStreams(boolean muted); + - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute; + virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; + abstract setDefaultMuteAllRemoteAudioStreams(mute: boolean): number; + public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); + abstract setDefaultMuteAllRemoteAudioStreams(mute: boolean): number; + Future<void> setDefaultMuteAllRemoteAudioStreams(bool mute); +

    详情
    - -
    弃用:
    -
    该方法已废弃,请改用
    -
    + +
    弃用:
    +
    该方法已废弃,请改用
    +

    该方法需要在加入频道后调用。调用成功后,本地用户取消或恢复订阅调用时刻之后加入频道的远端用户。

    -

    取消订阅音频流后,如果需要恢复订阅频道内的远端,可以进行如下操作: - - - -

      -
    • 如果需要恢复订阅单个用户的音频流,调用 (),并指定你想要订阅的远端用户 ID。
    • -
    • 如果想恢复订阅多个用户的音频流,则需要多次调用 ()。
    • -

    -
    +

    取消订阅音频流后,如果需要恢复订阅频道内的远端,可以进行如下操作:

    +

    + +
    参数 - - muted - mute - -

    是否默认取消订阅远端用户的音频流: - -

      -
    • :默认取消订阅远端用户的音频流。
    • -
    • :(默认)默认订阅远端用户的音频流。
    • -

    -
    -
    -
    + + muted + mute + +

    是否默认取消订阅远端用户的音频流:

      +
    • :默认取消订阅远端用户的音频流。
    • +
    • :(默认)默认订阅远端用户的音频流。
    • +
    +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremotevideostreams.dita b/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremotevideostreams.dita index f9b5dc5f0d7..9f5d77ffbd5 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremotevideostreams.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremotevideostreams.dita @@ -1,62 +1,66 @@ - <ph keyref="setDefaultMuteAllRemoteVideoStreams" /> + <ph keyref="setDefaultMuteAllRemoteVideoStreams"/> 默认取消或恢复订阅远端用户的视频流。 - +

    - public abstract int setDefaultMuteAllRemoteVideoStreams(boolean muted); - - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute; - virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; - abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number; - public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); - abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number; - Future<void> setDefaultMuteAllRemoteVideoStreams(bool mute); -

    + public abstract int setDefaultMuteAllRemoteVideoStreams(boolean muted); + - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute; + virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; + abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number; + public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); + abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number; + Future<void> setDefaultMuteAllRemoteVideoStreams(bool mute); +

    详情

    该方法需要在加入频道后调用。调用成功后,本地用户取消或恢复订阅调用时刻之后加入频道的远端用户。

    -

    取消订阅视频流后,如果需要恢复订阅频道内的远端用户,可以进行如下操作: - - - -

      -
    • 如果需要恢复订阅单个用户的视频流,调用 (),并指定你想要订阅的远端用户 ID。
    • -
    • 如果想恢复订阅多个用户的视频流,则需要多次调用 ()。
    • -

    -
    +

    取消订阅视频流后,如果需要恢复订阅频道内的远端用户,可以进行如下操作:

    +

    + +
    参数 - - muted - mute - -

    是否默认取消订阅远端用户的视频流: - -

      -
    • : 默认取消订阅。
    • -
    • :(默认)默认订阅。
    • -

    -
    -
    -
    + + muted + mute + +

    是否默认取消订阅远端用户的视频流:

      +
    • : 默认取消订阅。
    • +
    • :(默认)默认订阅。
    • +
    +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setdevicevolume.dita b/dita/RTC-NG/API/api_irtcengine_setdevicevolume.dita index e5cdbd895bd..d90410faaee 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdevicevolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdevicevolume.dita @@ -13,38 +13,42 @@

    - - - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume; - - - - - -

    + + - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume; + + + + + +

    详情

    设置音、视频采集或播放设备的音量。

    - 该方法需要在加入频道后调用。
    + 该方法需要在加入频道后调用。 +
    参数 - - type - -

    - - - - volume - 设备音量。取值范围 [0,255]。0 表示无声,255 表示最大音量。 - -

    + + type + +

    + + + + volume + 设备音量。取值范围 [0,255]。0 表示无声,255 表示最大音量。 + + +

    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingaudioconfiguration.dita b/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingaudioconfiguration.dita index 4d9c4d36fe4..b18e2e4b4fb 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingaudioconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingaudioconfiguration.dita @@ -1,53 +1,61 @@ - <ph keyref="setDirectCdnStreamingAudioConfiguration" /> + <ph keyref="setDirectCdnStreamingAudioConfiguration"/> 设置主播端直接向 CDN 推流时的音频编码属性。 - +

    - public abstract int setDirectCdnStreamingAudioConfiguration(int profile); - - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile; - virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setDirectCdnStreamingAudioConfiguration(int profile); + - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile; + virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetDirectCdnStreamingAudioConfiguration(EAUDIO_PROFILE_TYPE profile); - abstract setDirectCdnStreamingAudioConfiguration( + abstract setDirectCdnStreamingAudioConfiguration( profile: AudioProfileType ): number; - public abstract int SetDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile); - abstract setDirectCdnStreamingAudioConfiguration( + public abstract int SetDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile); + abstract setDirectCdnStreamingAudioConfiguration( profile: AudioProfileType ): number; - Future<void> setDirectCdnStreamingAudioConfiguration( + Future<void> setDirectCdnStreamingAudioConfiguration( AudioProfileType profile); -

    +

    -

    该方法仅对麦克风采集或自采集的音频有效,即对在 中设置 publishMicrophoneTrackpublishCustomAudioTrack 时所采集的音频有效。

    +

    该方法仅对麦克风采集或自采集的音频有效,即对在 中设置 + publishMicrophoneTrack 或 + publishCustomAudioTrack 时所采集的音频有效。

    参数 - - profile - -

    - - -

    + + profile + +

    + + + +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingvideoconfiguration.dita b/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingvideoconfiguration.dita index ac289fd9e1d..910091e565c 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingvideoconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingvideoconfiguration.dita @@ -13,44 +13,55 @@

    - public abstract int setDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); - - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; - virtual + public abstract int setDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); + - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; + virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetDirectCdnStreamingVideoConfiguration(const FVideoEncoderConfiguration& config); - abstract setDirectCdnStreamingVideoConfiguration( + abstract setDirectCdnStreamingVideoConfiguration( config: VideoEncoderConfiguration ): number; - public abstract int SetDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); - abstract setDirectCdnStreamingVideoConfiguration( + public abstract int SetDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); + abstract setDirectCdnStreamingVideoConfiguration( config: VideoEncoderConfiguration ): number; - Future<void> setDirectCdnStreamingVideoConfiguration( + Future<void> setDirectCdnStreamingVideoConfiguration( VideoEncoderConfiguration config); -

    +

    详情 -

    该方法仅对摄像头采集、屏幕共享或自采集的视频有效。即对在 中设置 publishCameraTrackpublishCustomVideoTrack 时所采集的视频有效。

    -

    如果你设置的视频分辨率超出你的摄像头设备支持的范围,SDK 会根据你的设置进行自适应,取最接近、且长宽比与你设置的分辨率一致的值进行采集、编码、推流。你可以通过 回调了解推送的视频流的实际分辨率。

    +

    该方法仅对摄像头采集、屏幕共享或自采集的视频有效。即对在 中设置 + publishCameraTrack 或 + publishCustomVideoTrack 时所采集的视频有效。

    +

    如果你设置的视频分辨率超出你的摄像头设备支持的范围,SDK 会根据你的设置进行自适应,取最接近、且长宽比与你设置的分辨率一致的值进行采集、编码、推流。你可以通过 + 回调了解推送的视频流的实际分辨率。

    参数 - - config - 视频编码参数配置。详见 。 - 在直接向 CDN 推流时,SDK 目前仅支持将 设为横屏模式()或竖屏模式()。 - -
    + + config + 视频编码参数配置。详见 在直接向 CDN + 推流时,SDK 目前仅支持将 设为横屏模式()或竖屏模式()。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    diff --git a/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita b/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita index c0b91af3b01..10e8766f052 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita @@ -13,45 +13,58 @@

    - public abstract int setDualStreamMode(Constants.SimulcastStreamMode mode); - - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode; - virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0; - - public abstract int SetDualStreamMode(SIMULCAST_STREAM_MODE mode); - - -

    + public abstract int setDualStreamMode(Constants.SimulcastStreamMode mode); + - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode; + virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0; + + public abstract int SetDualStreamMode(SIMULCAST_STREAM_MODE mode); + + +

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

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

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

    - 该方法和 的区别与联系如下: -
      -
    • 调用该方法并设置 mode 时,跟 () 的效果相同。
    • -
    • 调用该方法并设置 mode 时,跟 () 的效果相同。
    • -
    • 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。
    • +

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

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

      + 该方法和 的区别与联系如下:
        +
      • 调用该方法并设置 mode 时,跟 () + 的效果相同。
      • +
      • 调用该方法并设置 mode 时,跟 () + 的效果相同。
      • +
      • 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。
    参数 - - mode - 发送视频流的模式。详见 - -
    + + mode + 发送视频流的模式。详见 + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita b/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita index fd593a311fc..c3d1c56f8c7 100644 --- a/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita @@ -13,62 +13,73 @@

    - public abstract int setDualStreamMode( + public abstract int setDualStreamMode( Constants.SimulcastStreamMode mode, SimulcastStreamConfig streamConfig); - - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode + - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig; - virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, + virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetDualStreamMode(FENUMWRAP_SIMULCAST_STREAM_MODE mode, const FSimulcastStreamConfig& streamConfig); - abstract setDualStreamMode( + abstract setDualStreamMode( mode: SimulcastStreamMode, streamConfig?: SimulcastStreamConfig ): number; - public abstract int SetDualStreamMode(SIMULCAST_STREAM_MODE mode, SimulcastStreamConfig streamConfig); - abstract setDualStreamMode( + public abstract int SetDualStreamMode(SIMULCAST_STREAM_MODE mode, SimulcastStreamConfig streamConfig); + abstract setDualStreamMode( mode: SimulcastStreamMode, streamConfig?: SimulcastStreamConfig ): number; - Future<void> setDualStreamMode( + Future<void> setDualStreamMode( {required SimulcastStreamMode mode, SimulcastStreamConfig? streamConfig}); -

    +

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

    -

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

    - 该方法和 的区别与联系如下: -
      -
    • 调用该方法并设置 mode 时,跟调用 并设置 enabled 的效果相同。
    • -
    • 调用该方法并设置 mode 时,跟调用 并设置 enabled 的效果相同。
    • -
    • 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。
    • +

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

      + 该方法和 的区别与联系如下:
        +
      • 调用该方法并设置 mode 时,跟调用 并设置 enabled 为 + 的效果相同。
      • +
      • 调用该方法并设置 mode 时,跟调用 并设置 enabled 为 + 的效果相同。
      • +
      • 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。
    参数 - - - - - - - - -
    + + + + + + + + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。 详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita b/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita index 9b4eee32407..9bb4f02b8e7 100644 --- a/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita @@ -13,81 +13,98 @@

    - public abstract int setEarMonitoringAudioFrameParameters( + public abstract int setEarMonitoringAudioFrameParameters( int sampleRate, int channel, int mode, int samplesPerCall); - - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall; - virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, + virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetEarMonitoringAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setEarMonitoringAudioFrameParameters( + abstract setEarMonitoringAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - public abstract int SetEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setEarMonitoringAudioFrameParameters( + public abstract int SetEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); + abstract setEarMonitoringAudioFrameParameters( sampleRate: number, channel: number, 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 会根据该采样间隔触发 回调。
    • -
    + +
    参数 - - sampleRate - 中报告音频的采样率 (Hz),可设置为 8000、 16000、 32000、44100 或 48000。 - - - channel - -

    中报告音频的声道数,可设置为 1 或 2: - -

      -
    • 1: 单声道。
    • -
    • 2: 双声道。
    • -

    -
    -
    - - mode - -

    音频帧的使用模式,详见

    -

    - - - - samplesPerCall - 中报告的音频的采样点数,如旁路推流应用中通常为 1024。 - -

    + + sampleRate + 中报告音频的采样率 (Hz),可设置为 8000、 + 16000、 32000、44100 或 48000。 + + + channel + +

    中报告音频的声道数,可设置为 1 或 2:

      +
    • 1: 单声道。
    • +
    • 2: 双声道。
    • +

    +
    +
    + + mode + +

    音频帧的使用模式,详见 +

    +

    + + + + samplesPerCall + 中报告的音频的采样点数,如旁路推流应用中通常为 + 1024。 + + +

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

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

    +

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

      -
    • 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 2abb224d68f..8d3b60b50a9 100644 --- a/dita/RTC-NG/API/api_irtcengine_seteffectposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_seteffectposition.dita @@ -1,51 +1,57 @@ - <ph keyref="setEffectPosition" /> + <ph keyref="setEffectPosition"/> 设置指定音效文件的播放位置。 - +

    - public abstract int setEffectPosition(int soundId, int 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|RtcEngineProxy") + public abstract int setEffectPosition(int soundId, int 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|RtcEngineProxy") 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}); -

    + 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}); +

    详情

    成功设置后,本地音效文件会在指定位置开始播放。

    - 该方法需要在 playEffect 后调用。
    + 该方法需要在 playEffect 后调用。 +
    参数 - - soundId - - - - pos - 音效文件的播放位置,单位为毫秒。 - -
    + + soundId + + + + pos + 音效文件的播放位置,单位为毫秒。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita b/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita index 7aab6349513..85095f53d31 100644 --- a/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita @@ -1,48 +1,54 @@ - <ph keyref="setEffectsVolume" /> + <ph keyref="setEffectsVolume"/> 设置音效文件的播放音量。 - +

    - public abstract int setEffectsVolume(double volume); + public abstract int setEffectsVolume(double volume); - - (int)setEffectsVolume:(NSInteger)volume; + - (int)setEffectsVolume:(NSInteger)volume; - virtual int setEffectsVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setEffectsVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetEffectsVolume(int volume); - abstract setEffectsVolume(volume: number): number; - public abstract int SetEffectsVolume(int volume); - abstract setEffectsVolume(volume: number): number; - Future<void> setEffectsVolume(int volume); -

    + abstract setEffectsVolume(volume: number): number; + public abstract int SetEffectsVolume(int volume); + abstract setEffectsVolume(volume: number): number; + Future<void> setEffectsVolume(int volume); +

    详情 - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    参数 - - volume - 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 - -
    + + volume + 播放音量。取值范围为 [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 7114a9e421b..56a192f977c 100644 --- a/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita +++ b/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita @@ -1,60 +1,69 @@ - <ph keyref="setEnableSpeakerphone" /> + <ph keyref="setEnableSpeakerphone"/> 开启或关闭扬声器播放。 - +

    - public abstract int setEnableSpeakerphone(boolean enabled); - - (int)setEnableSpeakerphone:(BOOL)enableSpeaker; - virtual int setEnableSpeakerphone(bool speakerOn) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setEnableSpeakerphone(boolean enabled); + - (int)setEnableSpeakerphone:(BOOL)enableSpeaker; + virtual int setEnableSpeakerphone(bool speakerOn) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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);

    + abstract setEnableSpeakerphone(speakerOn: boolean): number; + public abstract int SetEnableSpeakerphone(bool speakerOn); + abstract setEnableSpeakerphone(speakerOn: boolean): number; + Future<void> setEnableSpeakerphone(bool speakerOn);

    +
    详情 -

    如果 SDK 默认的音频路由(见音频路由 的设置无法满足你的需求,你可以调用 切换当前的音频路由。成功改变音频路由后,SDK 会触发 回调。

    +

    如果 SDK 默认的音频路由(见音频路由 的设置无法满足你的需求,你可以调用 切换当前的音频路由。成功改变音频路由后,SDK 会触发 回调。

    该方法只设置用户在当前频道内使用的音频路由,不会影响 SDK 默认的音频路由。如果用户离开当前频道并加入新的频道,则用户还是会使用 SDK 默认的音频路由。

    -
      -
    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 该方法需要在加入频道后调用。
    • -
    • 如果用户使用了蓝牙耳机、有线耳机等外接音频播放设备,则该方法的设置无效,音频只会通过外接设备播放。当有多个外接设备时,音频会通过最后一个接入的设备播放。
    • -
    + +
    参数 - - enabled - enableSpeaker - speakerOn - -

    设置是否开启扬声器播放: - -

      -
    • : 开启。音频路由为扬声器。
    • -
    • : 关闭。音频路由为听筒。
    • -

    -
    -
    -
    + + enabled + enableSpeaker + speakerOn + +

    设置是否开启扬声器播放:

      +
    • : 开启。音频路由为扬声器。
    • +
    • : 关闭。音频路由为听筒。
    • +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setencryptionmode.dita b/dita/RTC-NG/API/api_irtcengine_setencryptionmode.dita index 6d1598766a8..eedc9fb74fb 100644 --- a/dita/RTC-NG/API/api_irtcengine_setencryptionmode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setencryptionmode.dita @@ -1,65 +1,72 @@ - <ph keyref="setEncryptionMode" /> + <ph keyref="setEncryptionMode"/> 启用内置的加密方案。 - +

    - public abstract int setEncryptionMode(String encryptionMode); - - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode; - virtual int setEncryptionMode(const char* encryptionMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setEncryptionMode(String encryptionMode); + - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode; + virtual int setEncryptionMode(const char* encryptionMode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetEncryptionMode(FString encryptionMode); - abstract setEncryptionMode(encryptionMode: string): number; - public abstract int SetEncryptionMode(string encryptionMode); - abstract setEncryptionMode(encryptionMode: string): number; - Future<void> setEncryptionMode(String encryptionMode); -

    + abstract setEncryptionMode(encryptionMode: string): number; + public abstract int SetEncryptionMode(string encryptionMode); + abstract setEncryptionMode(encryptionMode: string): number; + Future<void> setEncryptionMode(String encryptionMode); +

    详情
    - -
    弃用:
    -
    请改用 方法。
    -
    + +
    弃用:
    +
    请改用 方法。
    +
    -

    SDK 支持内置加密方案,默认支持 AES-128-GCM。如需采用其他加密方案,可以调用本方法。同一频道内的所有用户必须设置相同的加密方式和 secret 才能进行通话。关于这几种加密方式的区别,请参考 AES 加密算法的相关资料。

    - 在调用本方法前,请先调用 启用内置加密功能。
    +

    SDK 支持内置加密方案,默认支持 AES-128-GCM。如需采用其他加密方案,可以调用本方法。同一频道内的所有用户必须设置相同的加密方式和 + secret 才能进行通话。关于这几种加密方式的区别,请参考 AES 加密算法的相关资料。

    + 在调用本方法前,请先调用 + 启用内置加密功能。 +
    参数 - - encryptionMode - -

    加密模式: - -

      -
    • "aes-128-xts": 128 位 AES 加密,XTS 模式;
    • -
    • "aes-128-ecb": 128 位 AES 加密,ECB 模式;
    • -
    • "aes-256-xts": 256 位 AES 加密,XTS 模式;
    • -
    • "sm4-128-ecb": 128 位 SM4 加密,ECB 模式;
    • -
    • "aes-128-gcm": 128 位 AES 加密,GCM 模式;
    • -
    • "aes-256-gcm": 256 位 AES 加密,GCM 模式;
    • -
    • "": 设置为空字符串时,默认使用加密方式 "aes-128-gcm"。
    • -

    -
    -
    -
    + + encryptionMode + +

    加密模式:

      +
    • "aes-128-xts": 128 位 AES 加密,XTS 模式;
    • +
    • "aes-128-ecb": 128 位 AES 加密,ECB 模式;
    • +
    • "aes-256-xts": 256 位 AES 加密,XTS 模式;
    • +
    • "sm4-128-ecb": 128 位 SM4 加密,ECB 模式;
    • +
    • "aes-128-gcm": 128 位 AES 加密,GCM 模式;
    • +
    • "aes-256-gcm": 256 位 AES 加密,GCM 模式;
    • +
    • "": 设置为空字符串时,默认使用加密方式 "aes-128-gcm"。
    • +
    +

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

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setencryptionsecret.dita b/dita/RTC-NG/API/api_irtcengine_setencryptionsecret.dita index 02b9e4ece94..c3e6dbc52da 100644 --- a/dita/RTC-NG/API/api_irtcengine_setencryptionsecret.dita +++ b/dita/RTC-NG/API/api_irtcengine_setencryptionsecret.dita @@ -1,58 +1,67 @@ - <ph keyref="setEncryptionSecret" /> + <ph keyref="setEncryptionSecret"/> 启用内置加密,并设置数据加密密码。 - +

    - public abstract int setEncryptionSecret(String secret); - - (int)setEncryptionSecret:(NSString * _Nullable)secret; - virtual int setEncryptionSecret(const char* secret) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setEncryptionSecret(String secret); + - (int)setEncryptionSecret:(NSString * _Nullable)secret; + virtual int setEncryptionSecret(const char* secret) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetEncryptionSecret(FString secret); - abstract setEncryptionSecret(secret: string): number; - public abstract int SetEncryptionSecret(string secret); - abstract setEncryptionSecret(secret: string): number; - Future<void> setEncryptionSecret(String secret); -

    + abstract setEncryptionSecret(secret: string): number; + public abstract int SetEncryptionSecret(string secret); + abstract setEncryptionSecret(secret: string): number; + Future<void> setEncryptionSecret(String secret); +

    详情
    - -
    弃用:
    -
    请改用 方法。
    -
    + +
    弃用:
    +
    请改用 方法。
    +
    -

    在加入频道之前, App 需调用该方法指定 secret 来启用内置的加密功能,同一频道内的所有用户应设置相同的 secret。 - 当用户离开频道时,该频道的 secret 会自动清除。如果未指定 secret 或将 secret 设置为空,则无法激活加密功能。

    +

    在加入频道之前, App 需调用该方法指定 secret + 来启用内置的加密功能,同一频道内的所有用户应设置相同的 secret。 当用户离开频道时,该频道的 + secret 会自动清除。如果未指定 secret 或将 + secret 设置为空,则无法激活加密功能。

    -
      -
    • 请不要在旁路推流时调用此方法。
    • -
    • 为保证最佳传输效果,请确保加密后的数据大小不超过原始数据大小 + 16 字节。16 字节是 AES 通用加密模式下最大填充块大小。
    • -
    + + +
    参数 - - secret - 加密密码。 - -
    + + secret + 加密密码。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita b/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita index ad5db53e7ad..2eb5279fd42 100644 --- a/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita +++ b/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita @@ -1,51 +1,51 @@ - <ph keyref="setExtensionProperty" /> + <ph keyref="setExtensionProperty"/> 设置插件的属性。 - +

    - public abstract int setExtensionProperty( + 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; + - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension key:(NSString * __nonnull)key value:(NSString * __nonnull)value; - virtual int setExtensionProperty( + 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|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetExtensionProperty(FString provider, FString extension, FString key, FString value, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE); - abstract setExtensionProperty( + abstract setExtensionProperty( provider: string, extension: string, key: string, value: string, type?: MediaSourceType ): number; - public abstract int SetExtensionProperty(string provider, string extension, string key, string value, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); - abstract setExtensionProperty( + public abstract int SetExtensionProperty(string provider, string extension, string key, string value, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); + abstract setExtensionProperty( provider: string, extension: string, key: string, value: string, type?: MediaSourceType ): number; - Future<void> setExtensionProperty( + Future<void> setExtensionProperty( {required String provider, required String extension, required String key, required String value, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

    详情 @@ -54,33 +54,38 @@
    参数 - - provider - 提供插件的服务商名称。 - - - extension - 插件的名称。 - - - key - 插件属性的 Key。 - - - value - 插件属性 Key 对应的值。 - - - - - -
    + + provider + 提供插件的服务商名称。 + + + extension + 插件的名称。 + + + key + 插件属性的 Key。 + + + value + 插件属性 Key 对应的值。 + + + + + + +
    <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 fac2a3c3eaa..88e8b4937ec 100644 --- a/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita +++ b/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita @@ -1,72 +1,80 @@ - <ph keyref="setExtensionProviderProperty" /> + <ph keyref="setExtensionProviderProperty"/> 设置插件服务商的属性。 - +

    - public abstract int setExtensionProviderProperty(String provider, String key, String value); + public abstract int setExtensionProviderProperty(String provider, String key, String value); - - (int) setExtensionProviderPropertyWithVendor:(NSString * __nonnull)provider key:(NSString * __nonnull)key value:(NSString * __nonnull)value; + - (int) setExtensionProviderPropertyWithVendor:(NSString * __nonnull)provider key:(NSString * __nonnull)key value:(NSString * __nonnull)value; - virtual int setExtensionProviderProperty( + virtual int setExtensionProviderProperty( const char* provider, const char* key, const char* value) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetExtensionProviderProperty(FString provider, FString key, FString value); - abstract setExtensionProviderProperty( + abstract setExtensionProviderProperty( provider: string, key: string, value: string ): number; - public abstract int SetExtensionProviderProperty(string provider, string key, string value); - abstract setExtensionProviderProperty( + public abstract int SetExtensionProviderProperty(string provider, string key, string value); + abstract setExtensionProviderProperty( provider: string, key: string, value: string ): number; - Future<void> setExtensionProviderProperty( + Future<void> setExtensionProviderProperty( {required String provider, required String key, required String 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_setexternalaudiosource.dita b/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource.dita index e3819a30170..1fe058964ea 100644 --- a/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource.dita +++ b/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource.dita @@ -13,59 +13,61 @@

    - public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels); - - (int)setExternalAudioSource:(BOOL)enabled + public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels); + - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels; - - - public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels); - - -

    + + + public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels); + + +

    详情
    - -
    弃用:
    -
    该方法已废弃,请改用
    -
    + +
    弃用:
    +
    该方法已废弃,请改用
    +

    请在 前调用该方法。

    参数 - - enabled - -
      -
    • : 开启使用外部音频源的功能。
    • -
    • : (默认)关闭使用外部音频源的功能。
    • -
    -
    - - sampleRate - 外部音频源的采样率 (Hz),可设置为 8000,16000,32000,44100 或 48000。 - - - channels - -

    外部音频源的通道数,可设置为 1 或 2: - -

      -
    • 1: 单声道
    • -
    • 2: 双声道
    • -

    -
    -
    -
    + + enabled + +
      +
    • : 开启使用外部音频源的功能。
    • +
    • : (默认)关闭使用外部音频源的功能。
    • +
    +
    +
    + + sampleRate + 外部音频源的采样率 (Hz),可设置为 8000,16000,32000,44100 或 48000。 + + + channels + +

    外部音频源的通道数,可设置为 1 或 2:

      +
    • 1: 单声道
    • +
    • 2: 双声道
    • +

    +
    +
    + +
    返回值
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setexternalaudiosourcevolume.dita b/dita/RTC-NG/API/api_irtcengine_setexternalaudiosourcevolume.dita index 6867fea83cb..7c26232d895 100644 --- a/dita/RTC-NG/API/api_irtcengine_setexternalaudiosourcevolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_setexternalaudiosourcevolume.dita @@ -13,44 +13,45 @@

    - - - - - public abstract int SetExternalAudioSourceVolume(int sourcePos, int volume); - - -

    + + + + + public abstract int SetExternalAudioSourceVolume(int sourcePos, int volume); + + +

    详情 -

    你可以多次调用该方法,设置不同位置的外部音频帧音量。音量设置对被推送到指定位置的所有外部音频帧都有效。 - - 该方法需要在加入频道后调用。

    +

    你可以多次调用该方法,设置不同位置的外部音频帧音量。音量设置对被推送到指定位置的所有外部音频帧都有效。 该方法需要在加入频道后调用。

    参数 - - sourcePos - 外部音频的推送位置。详见 - 外部音频帧的推送位置: -
      -
    • 0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。
    • -
    • 1: 音频采集之后、前处理之前的位置。如果你需要 SDK 的音频模块处理外部音频帧,请设置该位置。
    • -
    • 2: 音频前处理之后、编码之前的位置。如果你无需 SDK 的音频模块处理外部音频帧,请设置该位置。
    • -
    -
    - - volume - 外部音频帧的音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 - -
    + + sourcePos + 外部音频的推送位置。详见 + 外部音频帧的推送位置:
      +
    • 0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。
    • +
    • 1: 音频采集之后、前处理之前的位置。如果你需要 SDK 的音频模块处理外部音频帧,请设置该位置。
    • +
    • 2: 音频前处理之后、编码之前的位置。如果你无需 SDK 的音频模块处理外部音频帧,请设置该位置。
    • +
    +
    + + volume + 外部音频帧的音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 + + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita b/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita index f9879cf7a28..b955fe33cfe 100644 --- a/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita @@ -13,49 +13,53 @@

    - public abstract int setHeadphoneEQParameters(int lowGain, int highGain); - - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain; - virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setHeadphoneEQParameters(int lowGain, int highGain); + - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain; + virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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( + 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( {required int lowGain, required int highGain}); -

    +

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

    在空间音效场景下,如果在调用 方法使用预设的耳机均衡效果后仍未达到预期,你可以通过调用该方法进一步调节耳机均衡效果。

    +

    在空间音效场景下,如果在调用 + 方法使用预设的耳机均衡效果后仍未达到预期,你可以通过调用该方法进一步调节耳机均衡效果。

    参数 - - lowGain - 耳机均衡器的低频参数。取值范围为 [-10,10],取值越大,声音越低沉。 - - - highGain - 耳机均衡器的高频参数。取值范围为 [-10,10],取值越大,声音越尖锐。 - -
    + + lowGain + 耳机均衡器的低频参数。取值范围为 [-10,10],取值越大,声音越低沉。 + + + highGain + 耳机均衡器的高频参数。取值范围为 [-10,10],取值越大,声音越尖锐。 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita b/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita index ec449b1ceb0..7efc3dd34f6 100644 --- a/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita +++ b/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita @@ -13,44 +13,48 @@

    - public abstract int setHeadphoneEQPreset(int preset); - - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset; - virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setHeadphoneEQPreset(int preset); + - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset; + virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setHeadphoneEQPreset(preset: HeadphoneEqualizerPreset): number; + public abstract int SetHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset); + abstract setHeadphoneEQPreset(preset: HeadphoneEqualizerPreset): number; + Future<void> setHeadphoneEQPreset(HeadphoneEqualizerPreset preset); +

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

    该方法主要应用于空间音效场景下,你可以选择预设的耳机均衡器收听音频,以达到预期的音频体验。

    - 如果你使用的耳机已经具备良好的均衡效果,调用该方法时可能不会获得明显的体验提升效果,甚至可能导致体验下降。
    + 如果你使用的耳机已经具备良好的均衡效果,调用该方法时可能不会获得明显的体验提升效果,甚至可能导致体验下降。 +
    参数 - - preset - 预设的耳机均衡效果。详见 - -
    + + preset + 预设的耳机均衡效果。详见 + + +
    <ph keyref="return-section-title"/> -

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

    +

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

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_sethighqualityaudioparameters.dita b/dita/RTC-NG/API/api_irtcengine_sethighqualityaudioparameters.dita index 599d6fa2786..a81c6db90dd 100644 --- a/dita/RTC-NG/API/api_irtcengine_sethighqualityaudioparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_sethighqualityaudioparameters.dita @@ -13,62 +13,68 @@

    - - - virtual int setHighQualityAudioParameters(bool fullband, + + + virtual int setHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate) = 0; - - public abstract int SetHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate); - - -

    + + public abstract int SetHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate); + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。声网不建议你使用。如果你希望设置音频高音质选项,请改用 方法。
    -
    + +
    弃用:
    +
    该方法已废弃。声网不建议你使用。如果你希望设置音频高音质选项,请改用 方法。
    +
    参数 - - fullband - -

    全频带编解码器(48 kHz 采样率), 不兼容 v1.7.4 以前版本。

    -
      -
    • :启用全频带编解码器。
    • -
    • :禁用全频带编解码器。
    • -
    -
    - - stereo - -

    立体声编解码器,不兼容 v1.7.4 以前版本。

    -
      -
    • :启用立体声编解码器。
    • -
    • :禁用立体声编解码器。
    • -
    -
    - - fullBitrate - -

    高码率模式,建议仅在纯音频模式下使用。

    -
      -
    • :启用高码率模式。
    • -
    • :禁用高码率模式。
    • -
    -
    -
    + + fullband + +

    全频带编解码器(48 kHz 采样率), 不兼容 v1.7.4 以前版本。

    +
      +
    • :启用全频带编解码器。
    • +
    • :禁用全频带编解码器。
    • +
    +
    +
    + + stereo + +

    立体声编解码器,不兼容 v1.7.4 以前版本。

    +
      +
    • :启用立体声编解码器。
    • +
    • :禁用立体声编解码器。
    • +
    +
    +
    + + fullBitrate + +

    高码率模式,建议仅在纯音频模式下使用。

    +
      +
    • :启用高码率模式。
    • +
    • :禁用高码率模式。
    • +
    +
    +
    + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita b/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita index 5ba946abef5..a6e11769223 100644 --- a/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita +++ b/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita @@ -1,58 +1,63 @@ - <ph keyref="setInEarMonitoringVolume" /> + <ph keyref="setInEarMonitoringVolume"/> 设置耳返音量。 - +

    - public abstract int setInEarMonitoringVolume(int volume); - - (int)setInEarMonitoringVolume:(NSInteger)volume; - virtual int setInEarMonitoringVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setInEarMonitoringVolume(int volume); + - (int)setInEarMonitoringVolume:(NSInteger)volume; + virtual int setInEarMonitoringVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetInEarMonitoringVolume(int volume); - abstract setInEarMonitoringVolume(volume: number): number; - public abstract int SetInEarMonitoringVolume(int volume); - abstract setInEarMonitoringVolume(volume: number): number; - Future<void> setInEarMonitoringVolume(int volume); -

    + abstract setInEarMonitoringVolume(volume: number): number; + public abstract int SetInEarMonitoringVolume(int volume); + abstract setInEarMonitoringVolume(volume: number): number; + Future<void> setInEarMonitoringVolume(int volume); +

    详情 -
      -
    • 该方法在加入频道前后都能调用。
    • -
    + + +
    参数 - - volume - 设置耳返音量,取值范围为 [0,400]。 -
      -
    • 0: 静音
    • -
    • 100: (默认)原始音量。
    • -
    • 400: 原始音量的 4 倍。
    • -
    -
    -
    -
    + + volume + 设置耳返音量,取值范围为 [0,400]。
      +
    • 0: 静音
    • +
    • 100: (默认)原始音量。
    • +
    • 400: 原始音量的 4 倍。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

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

    +

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

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -2: 参数设置无效,例如耳返音量超出取值范围 (< 0 或 > 400)。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2: 参数设置无效,例如耳返音量超出取值范围 (< 0 或 > 400)。
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setlivetranscoding.dita b/dita/RTC-NG/API/api_irtcengine_setlivetranscoding.dita index 3249898537b..27123959c79 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlivetranscoding.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlivetranscoding.dita @@ -1,59 +1,67 @@ - <ph keyref="setLiveTranscoding" /> + <ph keyref="setLiveTranscoding"/> 设置直播推流转码。 - +

    - public abstract int setLiveTranscoding(LiveTranscoding transcoding); - - (int)setLiveTranscoding:(AgoraLiveTranscoding *_Nullable)transcoding; - virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; - abstract setLiveTranscoding(transcoding: LiveTranscoding): number; - public abstract int SetLiveTranscoding(LiveTranscoding transcoding); - abstract setLiveTranscoding(transcoding: LiveTranscoding): number; - Future<void> setLiveTranscoding(LiveTranscoding transcoding); -

    + public abstract int setLiveTranscoding(LiveTranscoding transcoding); + - (int)setLiveTranscoding:(AgoraLiveTranscoding *_Nullable)transcoding; + virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; + abstract setLiveTranscoding(transcoding: LiveTranscoding): number; + public abstract int SetLiveTranscoding(LiveTranscoding transcoding); + abstract setLiveTranscoding(transcoding: LiveTranscoding): number; + Future<void> setLiveTranscoding(LiveTranscoding transcoding); +

    详情
    - -
    弃用:
    -
    该方法已废弃。请根据实际情况改用
    -
    + +
    弃用:
    +
    该方法已废弃。请根据实际情况改用
    +
    -

    该方法用于旁路推流的视图布局及音频设置等。调用该方法更新转码设置后本地会触发 回调。

    +

    该方法用于旁路推流的视图布局及音频设置等。调用该方法更新转码设置后本地会触发 回调。

    -
      -
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • -
    • 请确保已开通旁路推流的功能。
    • -
    • 首次调用该方法更新转码设置时,不会触发 回调。
    • -
    • 该方法需要在加入频道后调用。
    • -
    + + +
    参数 - - transcoding - -

    推流转码设置。详见

    -
    -
    -
    + + transcoding + +

    推流转码设置。详见

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

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita b/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita index 5d36a561d19..9260610796d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita @@ -1,51 +1,59 @@ - <ph keyref="setLocalAccessPoint" /> + <ph keyref="setLocalAccessPoint"/> 配置与声网私有媒体服务器接入模块的连接。 - +

    - public abstract int setLocalAccessPoint(LocalAccessPointConfiguration config); - - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:)); - virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLocalAccessPoint(LocalAccessPointConfiguration config); + - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:)); + virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLocalAccessPoint(const FLocalAccessPointConfiguration& config); - abstract setLocalAccessPoint(config: LocalAccessPointConfiguration): number; - public abstract int SetLocalAccessPoint(LocalAccessPointConfiguration config); - abstract setLocalAccessPoint(config: LocalAccessPointConfiguration): number; - Future<void> setLocalAccessPoint(LocalAccessPointConfiguration config); -

    + abstract setLocalAccessPoint(config: LocalAccessPointConfiguration): number; + public abstract int SetLocalAccessPoint(LocalAccessPointConfiguration config); + abstract setLocalAccessPoint(config: LocalAccessPointConfiguration): number; + Future<void> setLocalAccessPoint(LocalAccessPointConfiguration config); +

    详情

    成功部署声网私有媒体服务器并在内网终端集成 RTC SDK v4.x 后,你可以调用该方法指定 Local Access Point,给 SDK 分配接入模块。

    -
      -
    • 该方法仅在部署声网混合云方案后生效。你可以联系 了解和部署声网混合云。
    • -
    • 该方法需要在加入频道前调用。
    • -
    + + +
    参数 - - config - Local Access Point 配置。详见 - -
    + + config + Local Access Point 配置。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalpublishfallbackoption.dita b/dita/RTC-NG/API/api_irtcengine_setlocalpublishfallbackoption.dita index c6a76b21a13..9a267c74e45 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalpublishfallbackoption.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalpublishfallbackoption.dita @@ -1,55 +1,69 @@ - <ph keyref="setLocalPublishFallbackOption" /> + <ph keyref="setLocalPublishFallbackOption"/> 设置弱网条件下发布的音视频流回退选项。 - +

    - public abstract int setLocalPublishFallbackOption(int option); - - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option; - virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; - - public abstract int SetLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option); - - Future<void> setLocalPublishFallbackOption(StreamFallbackOptions option); -

    + public abstract int setLocalPublishFallbackOption(int option); + - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option; + virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; + + public abstract int SetLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option); + + Future<void> setLocalPublishFallbackOption(StreamFallbackOptions option); +

    详情 -

    网络不理想的环境下,实时通信音视频的质量会下降。你可以调用此方法并将 option 设置为 (2),设置后 SDK 会在上行弱网且音视频质量严重受影响时,自动关断视频流,从而保证或提高音频质量。同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。当本地推流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发 回调表示本地发布的媒体流已回退为音频流。

    +

    网络不理想的环境下,实时通信音视频的质量会下降。你可以调用此方法并将 option 设置为 (2),设置后 SDK + 会在上行弱网且音视频质量严重受影响时,自动关断视频流,从而保证或提高音频质量。同时 SDK + 会持续监控网络质量,并在网络质量改善时恢复音视频流。当本地推流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发 回调表示本地发布的媒体流已回退为音频流。

    -
      -
    • 旁路推流场景下,设置本地推流回退为 (2) 可能会导致远端的 CDN 用户听到声音的时间有所延迟。因此在有旁路推流的场景下,建议不开启该功能。
    • -
    • 该方法需要在加入频道前调用。
    • -
    + + +
    参数 - - option - 本地发流回退处理选项。详见 - 本地发流回退处理选项: - -
      -
    • (0):(默认)上行网络较弱时,不对音视频流作回退处理。
    • -
    • (2):上行网络较弱时只发布音频流。
    • -
    -
    -
    + + option + 本地发流回退处理选项。详见 + 本地发流回退处理选项:
      +
    • + (0):(默认)上行网络较弱时,不对音视频流作回退处理。
    • +
    • + (2):上行网络较弱时只发布音频流。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita b/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita index d93001fb96b..a5a13bd5318 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita @@ -1,73 +1,76 @@ - <ph keyref="setLocalRenderMode1" /> + <ph keyref="setLocalRenderMode1"/> 设置本地视图显示模式。 - +

    - public abstract int setLocalRenderMode(int renderMode); - - (int)setLocalRenderMode:(NSUInteger)uid + public abstract int setLocalRenderMode(int renderMode); + - (int)setLocalRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode) mode; - virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; - abstract setLocalRenderMode( + virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; + abstract setLocalRenderMode( renderMode: RenderModeType, mirrorMode?: VideoMirrorModeType ): number; - public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode); - abstract setLocalRenderMode( + public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode); + abstract setLocalRenderMode( renderMode: RenderModeType, mirrorMode?: VideoMirrorModeType ): number; - Future<void> setLocalRenderMode2(RenderModeType renderMode); -

    + Future<void> setLocalRenderMode2(RenderModeType renderMode); +

    详情
    - -
    弃用:
    -
    该方法已废弃,请使用 作为替代。
    -
    + +
    弃用:
    +
    该方法已废弃,请使用 作为替代。
    +

    该方法设置本地视图显示模式。 App 可以多次调用此方法更改显示模式。

    参数 - - renderMode - mode - -

    本地视图显示模式。详见

    -

    本地视图显示模式。 - - -

      -
    • -

    -
    -
    - - uid - - 用户 ID。 - - -
    + + renderMode + mode + +

    本地视图显示模式。详见

    +

    本地视图显示模式。

      +
    • +
    +

    +
    +
    + + uid + 用户 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_setlocalrendermode2.dita b/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita index 413f5eb8f08..df09d232d63 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita @@ -1,86 +1,104 @@ - <ph keyref="setLocalRenderMode2" /> + <ph keyref="setLocalRenderMode2"/> 更新本地视图显示模式。 - +

    - public abstract int setLocalRenderMode(int renderMode, int mirrorMode); - - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode + public abstract int setLocalRenderMode(int renderMode, int mirrorMode); + - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode mirror:(AgoraVideoMirrorMode)mirror; - virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLocalRenderMode(ERENDER_MODE_TYPE renderMode, EVIDEO_MIRROR_MODE_TYPE mirrorMode = EVIDEO_MIRROR_MODE_TYPE::VIDEO_MIRROR_MODE_AUTO); - abstract setLocalRenderMode( + abstract setLocalRenderMode( renderMode: RenderModeType, mirrorMode?: VideoMirrorModeType ): number; - public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); - abstract setLocalRenderMode( + public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); + abstract setLocalRenderMode( renderMode: RenderModeType, mirrorMode?: VideoMirrorModeType ): number; - Future<void> setLocalRenderMode( + Future<void> setLocalRenderMode( {required RenderModeType renderMode, VideoMirrorModeType mirrorMode = VideoMirrorModeType.videoMirrorModeAuto}); -

    +

    详情

    初始化本地用户视图后,你可以调用该方法更新本地用户视图的渲染和镜像模式。该方法只影响本地用户看到的视频画面,不影响本地发布视频。

    -
      -
    • 请在调用 方法初始化本地视图后,调用该方法。
    • -
    • 你可以在通话中多次调用该方法,多次更新本地用户视图的显示模式。
    • -
    • 该方法仅对第一个摄像头 () 生效。在自定义视频采集或使用其他类型视频源的场景下,你需要使用 方法替代该方法。
    • -
    + + +
    参数 - - renderMode - mode - -

    本地视图显示模式。详见

    -

    本地视图显示模式。 - -

      -
    • (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
    • -
    • (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
    • -
    • (3): 该模式已废弃,不推荐使用。
    • -

    -
    -
    - - mirrorMode - mirror - -

    本地视图的镜像模式,详见 。 - 该参数仅对 SDK 自渲染生效,如果你想要设置视图镜像,可以将 GameObject 的 scaleX 设为 -1+1

    -

    本地视图的镜像模式。 -

      -
    • (0):SDK 决定镜像模式。如果你使用前置摄像头,默认启动本地视图镜像模式;如果你启用后置摄像头,默认关闭本地视图镜像模式。
    • -
    • (1):开启本地视图的镜像模式。
    • -
    • (2):关闭本地视图的镜像模式。
    • -

    - 如果你使用前置摄像头,默认启动本地用户视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。
    -
    -
    + + renderMode + mode + +

    本地视图显示模式。详见 +

    +

    本地视图显示模式。

      +
    • + (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
    • +
    • + (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
    • +
    • (3): 该模式已废弃,不推荐使用。
    • +
    +

    +
    +
    + + mirrorMode + mirror + +

    本地视图的镜像模式,详见 + 该参数仅对 SDK 自渲染生效,如果你想要设置视图镜像,可以将 GameObject 的 scaleX + 设为 -1+1

    +

    本地视图的镜像模式。

      +
    • (0):SDK + 决定镜像模式。如果你使用前置摄像头,默认启动本地视图镜像模式;如果你启用后置摄像头,默认关闭本地视图镜像模式。
    • +
    • (1):开启本地视图的镜像模式。
    • +
    • (2):关闭本地视图的镜像模式。
    • +
    +

    + 如果你使用前置摄像头,默认启动本地用户视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。 +
    +
    + +
    <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 bc95647e781..d3edb24a092 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita @@ -1,61 +1,69 @@ - <ph keyref="setLocalVideoMirrorMode" /> + <ph keyref="setLocalVideoMirrorMode"/> 设置本地视频镜像。 - +

    - public abstract int setLocalVideoMirrorMode(int mode); - - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode; - virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLocalVideoMirrorMode(int mode); + - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode; + virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setLocalVideoMirrorMode(mirrorMode: VideoMirrorModeType): number; + public abstract int SetLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode); + abstract setLocalVideoMirrorMode(mirrorMode: VideoMirrorModeType): number; + Future<void> setLocalVideoMirrorMode(VideoMirrorModeType mirrorMode); +

    详情
    - -
    弃用:
    -
    该方法已废弃。
    -
    请改用
    -
    请改用
    -
    + +
    弃用:
    +
    该方法已废弃。
    +
    请改用
    +
    请改用
    +
    参数 - - mode - mirrorMode - -

    本地视频镜像模式。详见

    -

    -

      -
    • -

    -
    -
    -
    + + mode + mirrorMode + +

    本地视频镜像模式。详见 +

    +

    +

      +
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvideorenderer.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvideorenderer.dita index af06527cf05..d1567b7a037 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvideorenderer.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvideorenderer.dita @@ -2,7 +2,8 @@ setlocalvideorenderer - + @@ -13,33 +14,34 @@

    - - - - - - - -

    + + + + + + + +

    详情
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvoicechanger.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoicechanger.dita index 13750817510..639a0482af3 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvoicechanger.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvoicechanger.dita @@ -13,86 +13,98 @@

    - public abstract int setLocalVoiceChanger(int voiceChanger); - - (int) setLocalVoiceChanger:(AgoraAudioVoiceChanger)voiceChanger; - virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0; - - public abstract int SetLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger); - - -

    + public abstract int setLocalVoiceChanger(int voiceChanger); + - (int) setLocalVoiceChanger:(AgoraAudioVoiceChanger)voiceChanger; + virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0; + + public abstract int SetLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger); + + +

    详情
    - -
    弃用:
    -
    该方法已废弃,请改用以下方法: -
      -
    • :音效
    • -
    • :美声效果
    • -
    • :变声效果
    • -
    -
    + +
    弃用:
    +
    该方法已废弃,请改用以下方法:
      +
    • :音效
    • +
    • :美声效果
    • +
    • :变声效果
    • +
    +
    +
    -

    通信场景下的用户或直播场景下的主播均可调用该方法为本地语音设置以下效果。成功设置以后,频道内的所有用户均可听到声音效果。 - - - -

      -
    • 变声效果:枚举值以 VOICE_CHANGER 为前缀。效果包括老男人、小男孩、小女孩、猪八戒、空灵和绿巨人,通常用于语聊场景。
    • -
    • 美音效果:枚举值以 VOICE_BEAUTY 为前缀。效果包括浑厚、低沉、圆润、假音、饱满、清澈、高亢、嘹亮和空旷,通常用于语聊和唱歌场景。
    • -
    • 语聊美声效果:枚举值以 GENERAL_BEAUTY_VOICE 为前缀。效果包括磁性(男)、清新(女)和活力(女),通常用于语聊场景。该功能主要细化了男声和女声各自的特点。
    • -

    +

    通信场景下的用户或直播场景下的主播均可调用该方法为本地语音设置以下效果。成功设置以后,频道内的所有用户均可听到声音效果。

      +
    • 变声效果:枚举值以 VOICE_CHANGER + 为前缀。效果包括老男人、小男孩、小女孩、猪八戒、空灵和绿巨人,通常用于语聊场景。
    • +
    • 美音效果:枚举值以 VOICE_BEAUTY + 为前缀。效果包括浑厚、低沉、圆润、假音、饱满、清澈、高亢、嘹亮和空旷,通常用于语聊和唱歌场景。
    • +
    • 语聊美声效果:枚举值以 GENERAL_BEAUTY_VOICE + 为前缀。效果包括磁性(男)、清新(女)和活力(女),通常用于语聊场景。该功能主要细化了男声和女声各自的特点。
    • +
    +

    -
      -
    • 为达到更好的声音效果,建议在调用该方法前将 profile 参数设置为 (4) 或 (5)。
    • -
    • 该方法对人声的处理效果最佳,不建议调用该方法处理含人声和音乐的音频数据。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    +
      +
    • 为达到更好的声音效果,建议在调用该方法前将 的 + profile 参数设置为 (4) 或 (5)。
    • +
    • 该方法对人声的处理效果最佳,不建议调用该方法处理含人声和音乐的音频数据。
    • +
    • 该方法在加入频道前后都能调用。
    • +
    + +
    参数 - - voiceChanger - -

    预设本地语音变声、美音或语聊美声效果选项,默认值为 ,即原声。详见 。设置语聊美声效果时,建议使用 处理男声,使用 处理女声,否则音频可能会产生失真。

    -

    本地语音的变声、美音或语聊美声效果选项: - - -

      -
    • : + + voiceChanger + +

      预设本地语音变声、美音或语聊美声效果选项,默认值为 + ,即原声。详见 。设置语聊美声效果时,建议使用 处理男声,使用 + 处理女声,否则音频可能会产生失真。

      +

      本地语音的变声、美音或语聊美声效果选项:

        +
      • : (默认)原声,即关闭本地语音的变声、美音或语聊美声效果。
      • -
      • : 变声:老男孩。
      • -
      • : 变声:小男孩。
      • -
      • : 变声:小女孩。
      • -
      • : 变声:猪八戒。
      • -
      • : 变声:空灵。
      • -
      • : 变声:绿巨人。
      • -
      • : 美音:浑厚。
      • -
      • : 美音:低沉。
      • -
      • : 美音:圆润。
      • -
      • : 美音:假音。
      • -
      • : 美音:饱满。
      • -
      • : 美音:清澈。
      • -
      • : 美音:高亢。
      • -
      • : 美音:嘹亮。
      • -
      • : 美音:空旷。
      • -
      • : +
      • : 变声:老男孩。
      • +
      • : 变声:小男孩。
      • +
      • : 变声:小女孩。
      • +
      • : 变声:猪八戒。
      • +
      • : 变声:空灵。
      • +
      • : 变声:绿巨人。
      • +
      • : 美音:浑厚。
      • +
      • : 美音:低沉。
      • +
      • : 美音:圆润。
      • +
      • : 美音:假音。
      • +
      • : 美音:饱满。
      • +
      • : 美音:清澈。
      • +
      • : 美音:高亢。
      • +
      • : 美音:嘹亮。
      • +
      • : 美音:空旷。
      • +
      • : 语聊美声:磁性(男)。此枚举为男声定制化效果,不适用于女声。若女声使用此音效设置,则音频可能会产生失真。
      • -
      • : +
      • : 语聊美声:清新(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。
      • -
      • : +
      • : 语聊美声:活力(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。
      • -

      -
      -
      -
    + +

    + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita index 6cc7727f078..ae117f0a154 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita @@ -1,61 +1,69 @@ - <ph keyref="setLocalVoiceEqualization" /> + <ph keyref="setLocalVoiceEqualization"/> 设置本地语音音效均衡。 - +

    - public abstract int setLocalVoiceEqualization( + public abstract int setLocalVoiceEqualization( Constants.AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency + - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain; - virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLocalVoiceEqualization(EAUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - abstract setLocalVoiceEqualization( + abstract setLocalVoiceEqualization( bandFrequency: AudioEqualizationBandFrequency, bandGain: number ): number; - public abstract int SetLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - abstract setLocalVoiceEqualization( + public abstract int SetLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); + abstract setLocalVoiceEqualization( bandFrequency: AudioEqualizationBandFrequency, bandGain: number ): number; - Future<void> setLocalVoiceEqualization( + Future<void> setLocalVoiceEqualization( {required AudioEqualizationBandFrequency bandFrequency, required int bandGain}); -

    +

    详情 - 该方法在加入频道前后都能调用。
    + 该方法在加入频道前后都能调用。 +
    参数 - - bandFrequency - 频谱子带索引。取值范围是 [0,9],分别代表音效的 10 个频带。对应的中心频率为 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。详见 - - - bandGain - gain - 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 0。 - -
    + + bandFrequency + 频谱子带索引。取值范围是 [0,9],分别代表音效的 10 个频带。对应的中心频率为 + [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。详见 + + + bandGain + gain + 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 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_setlocalvoiceformant.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita index 989783b3bdb..c9d2ddbf070 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita @@ -13,44 +13,51 @@

    - 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|RtcEngineProxy") + - (int)setLocalVoiceFormant:(double)formantRatio; + virtual int setLocalVoiceFormant(double formantRatio) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLocalVoiceFormant(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);

    + abstract setLocalVoiceFormant(formantRatio: number): number; + public abstract int SetLocalVoiceFormant(double formantRatio); + abstract setLocalVoiceFormant(formantRatio: number): number; + Future<void> setLocalVoiceFormant(double formantRatio); +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +

    共振峰比率是影响声音音色的一个参数,共振峰比率取值越小声音会更低沉,取值越大声音会更尖锐。

    -

    在语音直播、语聊房、K 歌房等场景中,你可以调用该方法设置本地语音的共振峰比率参数从而改变音色效果。设置共振峰比率后,频道内所有用户都能听到该效果。如果你想要在调整音色的同时改变音调,声网推荐你搭配 一起使用。 - 该方法在加入频道前后均可调用。

    +

    在语音直播、语聊房、K + 歌房等场景中,你可以调用该方法设置本地语音的共振峰比率参数从而改变音色效果。设置共振峰比率后,频道内所有用户都能听到该效果。如果你想要在调整音色的同时改变音调,声网推荐你搭配 + 一起使用。 该方法在加入频道前后均可调用。

    参数 - - formantRatio - 共振峰比率,取值范围为 [-1.0,1.0]。默认值为 0.0,即不改变原声的音色。 - 声网推荐的取值范围为 [-0.4,0.6] ,超出此范围外音效听感可能不佳。 - -
    + + formantRatio + 共振峰比率,取值范围为 [-1.0,1.0]。默认值为 0.0,即不改变原声的音色。 声网推荐的取值范围为 + [-0.4,0.6] ,超出此范围外音效听感可能不佳。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita index e268fbb7f66..f4eb990ed98 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita @@ -1,46 +1,52 @@ - <ph keyref="setLocalVoicePitch" /> + <ph keyref="setLocalVoicePitch"/> 设置本地语音音调。 - +

    - public abstract int setLocalVoicePitch(double pitch); - - (int)setLocalVoicePitch:(double)pitch; - virtual int setLocalVoicePitch(double pitch) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLocalVoicePitch(double pitch); + - (int)setLocalVoicePitch:(double)pitch; + virtual int setLocalVoicePitch(double pitch) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setLocalVoicePitch(pitch: number): number; + public abstract int SetLocalVoicePitch(double pitch); + abstract setLocalVoicePitch(pitch: number): number; + Future<void> setLocalVoicePitch(double pitch); +

    详情 - 该方法在加入频道前后都能调用。
    + 该方法在加入频道前后都能调用。 +
    参数 - - pitch - 语音频率。可以 [0.5,2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。 - -
    + + pitch + 语音频率。可以 [0.5,2.0] 范围内设置。取值越小,则音调越低。默认值为 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_setlocalvoicereverb.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita index b791e56d9e8..55db997bc6d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita @@ -1,59 +1,66 @@ - <ph keyref="setLocalVoiceReverb" /> + <ph keyref="setLocalVoiceReverb"/> 设置本地音效混响。 - +

    - public abstract int setLocalVoiceReverb(Constants.AUDIO_REVERB_TYPE reverbKey, int value); - - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value; - virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLocalVoiceReverb(Constants.AUDIO_REVERB_TYPE reverbKey, int value); + - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value; + virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLocalVoiceReverb(EAUDIO_REVERB_TYPE reverbKey, int value); - abstract setLocalVoiceReverb( + abstract setLocalVoiceReverb( reverbKey: AudioReverbType, value: number ): number; - public abstract int SetLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value); - abstract setLocalVoiceReverb( + public abstract int SetLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value); + abstract setLocalVoiceReverb( reverbKey: AudioReverbType, value: number ): number; - Future<void> setLocalVoiceReverb( + Future<void> setLocalVoiceReverb( {required AudioReverbType reverbKey, required int value}); -

    +

    详情 -

    SDK 提供一个使用更为简便的方法 ,直接实现流行、R&B、KTV 等预置的混响效果。

    - 该方法在加入频道前后都能调用。
    +

    SDK 提供一个使用更为简便的方法 ,直接实现流行、R&B、KTV + 等预置的混响效果。

    + 该方法在加入频道前后都能调用。 +
    参数 - - reverbKey - reverbType - 混响音效 Key。该方法共有 5 个混响音效 Key,详见 - - - value - 各混响音效 Key 所对应的值。 - -
    + + reverbKey + reverbType + 混响音效 Key。该方法共有 5 个混响音效 Key,详见 + + + value + 各混响音效 Key 所对应的值。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverbpreset.dita b/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverbpreset.dita index 6481f216acc..dc7fdfbf793 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverbpreset.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverbpreset.dita @@ -13,41 +13,51 @@

    - public abstract int setLocalVoiceReverbPreset(int reverbPreset); - - (int) setLocalVoiceReverbPreset:(AgoraAudioReverbPreset)reverbPreset; - virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0; - - public abstract int SetLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset); - - -

    + public abstract int setLocalVoiceReverbPreset(int reverbPreset); + - (int) setLocalVoiceReverbPreset:(AgoraAudioReverbPreset)reverbPreset; + virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0; + + public abstract int SetLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset); + + +

    详情 - -
    - -
    弃用:
    -
    请改用
    -
    -
    -

    通信场景下的用户或直播场景下的主播均可调用该方法设置本地语音混响。成功设置以后,频道内的所有用户均可听到声音效果。

    - -
      -
    • 当使用以 AUDIO_REVERB_FX 为前缀的枚举值时,请确保在调用该方法前将 profile 参数设置为 (4) 或 (5) ,否则该方法设置无效。
    • -
    • 当使用 时,建议在调用该方法前将 profile 参数设置为 (5)。
    • -
    • 该方法对人声的处理效果最佳,不建议调用该方法处理含人声和音乐的音频数据。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    -
    +
    + +
    弃用:
    +
    请改用
    +
    +
    +

    通信场景下的用户或直播场景下的主播均可调用该方法设置本地语音混响。成功设置以后,频道内的所有用户均可听到声音效果。

    + +
      +
    • 当使用以 AUDIO_REVERB_FX 为前缀的枚举值时,请确保在调用该方法前将 profile 参数设置为 (4) 或 (5) ,否则该方法设置无效。
    • +
    • 当使用 + 时,建议在调用该方法前将 的 + profile 参数设置为 (5)。
    • +
    • 该方法对人声的处理效果最佳,不建议调用该方法处理含人声和音乐的音频数据。
    • +
    • 该方法在加入频道前后都能调用。
    • +
    +
    参数 - - - reverbPreset - preset -

    本地语音混响选项,默认值为 ,即原声。详见 。为达到更好的混响效果,建议使用以 AUDIO_REVERB_FX 为前缀的枚举值。

    -

    本地语音混响选项。为达到更好的混响效果,建议使用以 AUDIO_REVERB_FX 为前缀的枚举值。

      + + + reverbPreset + preset +

      本地语音混响选项,默认值为 ,即原声。详见 。为达到更好的混响效果,建议使用以 + AUDIO_REVERB_FX 为前缀的枚举值。

      +

      本地语音混响选项。为达到更好的混响效果,建议使用以 + AUDIO_REVERB_FX 为前缀的枚举值。

      • : (默认)原声,即关闭本地语音混响。
      • : KTV(增强版)。
      • : 演唱会(增强版)。
      • @@ -59,15 +69,17 @@
      • : 留声机。

      -
      -
      -
      + + +
    返回值
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setlogfile.dita b/dita/RTC-NG/API/api_irtcengine_setlogfile.dita index 457503dc02a..9b137f8aecc 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlogfile.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlogfile.dita @@ -1,55 +1,63 @@ - <ph keyref="setLogFile" /> + <ph keyref="setLogFile"/> 设置日志文件 - +

    - public abstract int setLogFile(String filePath); - - (int)setLogFile:(NSString * _Nonnull)filePath; - virtual int setLogFile(const char* filePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLogFile(String filePath); + - (int)setLogFile:(NSString * _Nonnull)filePath; + virtual int setLogFile(const char* filePath) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLogFile(FString filePath); - abstract setLogFile(filePath: string): number; - public abstract int SetLogFile(string filePath); - abstract setLogFile(filePath: string): number; - Future<void> setLogFile(String filePath); -

    + abstract setLogFile(filePath: string): number; + public abstract int SetLogFile(string filePath); + abstract setLogFile(filePath: string): number; + Future<void> setLogFile(String filePath); +

    详情
    - -
    弃用:
    -
    此方法已废弃,请改用 中的 logConfig 参数设置日志文件路径 。
    -
    + +
    弃用:
    +
    此方法已废弃,请改用 中的 logConfig + 参数设置日志文件路径 。
    +

    设置 SDK 的输出 log 文件。SDK 运行时产生的所有 log 将写入该文件。App 必须保证指定的目录存在而且可写。

    -

    如需调用本方法,请在调用 方法初始化 对象后立即调用,否则输出日志可能不完整。

    -
    +

    如需调用本方法,请在调用 方法初始化 + 对象后立即调用,否则输出日志可能不完整。

    + +
    参数 - - filePath - 日志文件的完整路径。该日志文件为 UTF-8 编码。 - -
    + + filePath + 日志文件的完整路径。该日志文件为 UTF-8 编码。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setlogfilesize.dita b/dita/RTC-NG/API/api_irtcengine_setlogfilesize.dita index 8722e26f152..793355c4997 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlogfilesize.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlogfilesize.dita @@ -1,71 +1,85 @@ - <ph keyref="setLogFileSize" /> + <ph keyref="setLogFileSize"/> 设置 SDK 输出的日志文件的大小。 - +

    - public abstract int setLogFileSize(long fileSizeInKBytes); - - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes; - virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLogFileSize(long fileSizeInKBytes); + - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes; + virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLogFileSize(int fileSizeInKBytes); - abstract setLogFileSize(fileSizeInKBytes: number): number; - public abstract int SetLogFileSize(uint fileSizeInKBytes); - abstract setLogFileSize(fileSizeInKBytes: number): number; - Future<void> setLogFileSize(int fileSizeInKBytes); -

    + abstract setLogFileSize(fileSizeInKBytes: number): number; + public abstract int SetLogFileSize(uint fileSizeInKBytes); + abstract setLogFileSize(fileSizeInKBytes: number): number; + Future<void> setLogFileSize(int fileSizeInKBytes); +

    详情
    - -
    弃用:
    -
    该方法已废弃,请改用 中的 logConfig 参数设置日志文件大小。
    -
    + +
    弃用:
    +
    该方法已废弃,请改用 中的 logConfig + 参数设置日志文件大小。
    +

    默认情况下,SDK 会生成 5 个 SDK 日志文件和 5 个 API 调用日志文件,规则如下:

      -
    • SDK 日志文件的名称分别为:agorasdk.logagorasdk.1.logagorasdk.2.logagorasdk.3.logagorasdk.4.log
    • -
    • API 调用日志文件的名称分别为:agoraapi.logagoraapi.1.logagoraapi.2.logagoraapi.3.logagoraapi.4.log
    • -
    • 每个 SDK 日志文件的默认大小为 2,048 KB;API 调用日志文件的默认大小为 2,048 KB。日志文件均为 UTF-8 编码。
    • -
    • 最新的日志永远写在 agorasdk.logagoraapi.log 中。
    • -
    • agorasdk.log 写满后,SDK 会按照以下顺序对日志文件进行操作: - -
        -
      1. 删除 agorasdk.4.log 文件(如有)。
      2. -
      3. agorasdk.3.log 重命名为 agorasdk.4.log
      4. -
      5. agorasdk.2.log 重命名为 agorasdk.3.log
      6. -
      7. agorasdk.1.log 重命名为 agorasdk.2.log
      8. -
      9. 新建 agorasdk.log 文件。
      10. -
    • -
    • agoraapi.log 文件的覆盖规则与 agorasdk.log 相同。
    • +
    • SDK + 日志文件的名称分别为:agorasdk.logagorasdk.1.logagorasdk.2.logagorasdk.3.logagorasdk.4.log
    • +
    • API + 调用日志文件的名称分别为:agoraapi.logagoraapi.1.logagoraapi.2.logagoraapi.3.logagoraapi.4.log
    • +
    • 每个 SDK 日志文件的默认大小为 2,048 KB;API 调用日志文件的默认大小为 2,048 KB。日志文件均为 UTF-8 编码。
    • +
    • 最新的日志永远写在 agorasdk.logagoraapi.log 中。
    • +
    • agorasdk.log 写满后,SDK 会按照以下顺序对日志文件进行操作:
        +
      1. 删除 agorasdk.4.log 文件(如有)。
      2. +
      3. agorasdk.3.log 重命名为 + agorasdk.4.log
      4. +
      5. agorasdk.2.log 重命名为 + agorasdk.3.log
      6. +
      7. agorasdk.1.log 重命名为 + agorasdk.2.log
      8. +
      9. 新建 agorasdk.log 文件。
      10. +
    • +
    • agoraapi.log 文件的覆盖规则与 agorasdk.log 相同。
    -

    该方法仅用于设置 agorasdk.log 文件的大小,对agoraapi.log不生效。

    -
    +

    该方法仅用于设置 agorasdk.log + 文件的大小,对agoraapi.log不生效。

    + +
    参数 - - fileSizeInKBytes - 单个 agorasdk.log 日志文件的大小,单位为 KB,取值范围为 [128,20480],默认值为 2,048 KB。如果你将 fileSizeInKByte 设为小于 128 KB,SDK 会自动调整到 128 KB;如果你将 fileSizeInKByte 设为大于 20,480 KB,SDK 会自动调整到 20,480 KB。 - -
    + + fileSizeInKBytes + 单个 agorasdk.log 日志文件的大小,单位为 KB,取值范围为 [128,20480],默认值为 2,048 + KB。如果你将 fileSizeInKByte 设为小于 128 KB,SDK 会自动调整到 128 KB;如果你将 + fileSizeInKByte 设为大于 20,480 KB,SDK 会自动调整到 20,480 + KB。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita b/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita index 10f9aa5962c..3f9e9d88025 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita @@ -1,65 +1,87 @@ - <ph keyref="setLogFilter" /> + <ph keyref="setLogFilter"/> 设置日志输出等级。 - +

    - public abstract int setLogFilter(int filter); - - (int)setLogFilter:(NSUInteger)filter; - virtual int setLogFilter(unsigned int filter) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLogFilter(int filter); + - (int)setLogFilter:(NSUInteger)filter; + virtual int setLogFilter(unsigned int filter) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLogFilter(int filter); - abstract setLogFilter(filter: LogFilterType): number; - public abstract int SetLogFilter(uint filter); - abstract setLogFilter(filter: LogFilterType): number; - Future<void> setLogFilter(LogFilterType filter); -

    + abstract setLogFilter(filter: LogFilterType): number; + public abstract int SetLogFilter(uint filter); + abstract setLogFilter(filter: LogFilterType): number; + Future<void> setLogFilter(LogFilterType filter); +

    详情
    - -
    弃用:
    -
    请改用 中的 logConfig
    -
    + +
    弃用:
    +
    请改用 中的 logConfig
    +
    -

    该方法设置 SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 。 - 选择一个级别,你就可以看到在该级别之前所有级别的日志信息。

    -

    例如,你选择 级别,就可以看到在 级别的日志信息。

    +

    该方法设置 SDK + 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 。 选择一个级别,你就可以看到在该级别之前所有级别的日志信息。

    +

    例如,你选择 级别,就可以看到在 级别的日志信息。

    参数 - - filter - -

    日志过滤等级。详见 -

      -
    • (0):不输出日志信息。
    • -
    • (0x80f):输出所有 API 日志信息。如果你想获取最完整的日志,可以将日志级别设为该等级。
    • -
    • (0x0f):输出 级别的日志信息。建议你将日志级别设为该等级。
    • -
    • (0x0e):输出 级别的日志信息。
    • -
    • (0x0c):输出 级别的日志信息。
    • -
    • (0x08):输出 级别的日志信息。
    • -

    -
    -
    -
    + + filter + +

    日志过滤等级。详见 + +

      +
    • (0):不输出日志信息。
    • +
    • (0x80f):输出所有 API + 日志信息。如果你想获取最完整的日志,可以将日志级别设为该等级。
    • +
    • (0x0f):输出 级别的日志信息。建议你将日志级别设为该等级。
    • +
    • (0x0e):输出 级别的日志信息。
    • +
    • (0x0c):输出 级别的日志信息。
    • +
    • (0x08):输出 级别的日志信息。
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setloglevel.dita b/dita/RTC-NG/API/api_irtcengine_setloglevel.dita index 080433b44a2..c21a3d0eea3 100644 --- a/dita/RTC-NG/API/api_irtcengine_setloglevel.dita +++ b/dita/RTC-NG/API/api_irtcengine_setloglevel.dita @@ -1,54 +1,59 @@ - <ph keyref="setLogLevel" /> + <ph keyref="setLogLevel"/> 设置 SDK 的日志输出级别。 - +

    - public abstract int setLogLevel(int level); - - (int)setLogLevel:(AgoraLogLevel)level; - virtual int setLogLevel(commons::LOG_LEVEL level) = 0; + public abstract int setLogLevel(int level); + - (int)setLogLevel:(AgoraLogLevel)level; + virtual int setLogLevel(commons::LOG_LEVEL level) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLogLevel(ELOG_LEVEL level); - abstract setLogLevel(level: LogLevel): number; - public abstract int SetLogLevel(LOG_LEVEL level); - abstract setLogLevel(level: LogLevel): number; - Future<void> setLogLevel(LogLevel level); -

    + abstract setLogLevel(level: LogLevel): number; + public abstract int SetLogLevel(LOG_LEVEL level); + abstract setLogLevel(level: LogLevel): number; + Future<void> setLogLevel(LogLevel level); +

    详情
    - -
    弃用:
    -
    该方法已经废弃。请改用 设置日志输出级别。
    -
    + +
    弃用:
    +
    该方法已经废弃。请改用 设置日志输出级别。
    +

    选择一个级别,你就可以看到该级别的日志信息。

    参数 - - level - 日志级别: - -
    + + level + 日志级别: + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita b/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita index a3922a65404..540b0ed3ec8 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita @@ -1,85 +1,95 @@ - <ph keyref="setLowlightEnhanceOptions" /> - 设置暗光增强功能。 + + <ph keyref="setLowlightEnhanceOptions"/> + + + 设置暗光增强功能。 + - +

    - public abstract int setLowlightEnhanceOptions(boolean enabled, LowLightEnhanceOptions options); + 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|RtcEngineProxy") + virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLowlightEnhanceOptions(bool enabled, const FLowlightEnhanceOptions& options, EMEDIA_SOURCE_TYPE type); - abstract setLowlightEnhanceOptions( + abstract setLowlightEnhanceOptions( enabled: boolean, options: LowlightEnhanceOptions, type?: MediaSourceType ): number; - public abstract int SetLowlightEnhanceOptions(bool enabled, LowlightEnhanceOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setLowlightEnhanceOptions( + public abstract int SetLowlightEnhanceOptions(bool enabled, LowlightEnhanceOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); + abstract setLowlightEnhanceOptions( enabled: boolean, options: LowlightEnhanceOptions, type?: MediaSourceType ): number; - Future<void> setLowlightEnhanceOptions( + Future<void> setLowlightEnhanceOptions( {required bool enabled, required LowlightEnhanceOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    详情

    暗光增强功能可以在光线亮度偏低(如背光、阴天、暗场景)和亮度不均匀的环境下自适应调整视频画面的亮度值,恢复或凸显图像的细节信息,最终提升视频图像的整体视觉效果。

    你可以调用该方法开启暗光增强功能并设置暗光增强的效果。

    -
      -
    • 请在 后调用该方法。
    • -
    • 暗光增强对设备性能有一定要求。开启暗光增强后,如果设备出现严重发烫等问题,建议你将暗光增强等级修改为消耗性能较少的等级或关闭暗光增强功能。
    • -
    • 该方法和 均可开启暗光增强功能: -
        -
      • 当你使用 SDK 采集视频时,建议使用该方法(该方法只可对 SDK 采集的视频起作用)。
      • -
      • 当你使用外部的视频源实现自定义视频采集,或者将外部视频源发送给 SDK 时,建议使用 方法。
      • -
    • -
    • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    +
  • 请在 后调用该方法。
  • +
  • 暗光增强对设备性能有一定要求。开启暗光增强后,如果设备出现严重发烫等问题,建议你将暗光增强等级修改为消耗性能较少的等级或关闭暗光增强功能。
  • +
  • 该方法和 均可开启暗光增强功能:
      +
    • 当你使用 SDK 采集视频时,建议使用该方法(该方法只可对 SDK 采集的视频起作用)。
    • +
    • 当你使用外部的视频源实现自定义视频采集,或者将外部视频源发送给 SDK 时,建议使用 方法。
    • +
  • +
  • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
  • + + +
    参数 - - enabled - enable - 是否开启暗光增强功能: -
      -
    • : 开启暗光增强功能。
    • -
    • :(默认)关闭暗光增强功能。
    • -
    -
    - - options - 暗光增强选项,用于设置暗光增强的效果。详见 - + + enabled + enable + 是否开启暗光增强功能:
      +
    • : 开启暗光增强功能。
    • +
    • :(默认)关闭暗光增强功能。
    • +
    +
    + + options + 暗光增强选项,用于设置暗光增强的效果。详见 + type 媒体源类型,详见 -
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita b/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita index 059d7a67369..530be811571 100644 --- a/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita @@ -1,61 +1,71 @@ - <ph keyref="setLowlightEnhanceOptions2" /> - 设置暗光增强功能并指定媒体源。 + + <ph keyref="setLowlightEnhanceOptions2"/> + + + 设置暗光增强功能并指定媒体源。 + - +

    - public abstract int setLowlightEnhanceOptions( + public abstract int setLowlightEnhanceOptions( boolean enabled, LowLightEnhanceOptions options, Constants.MediaSourceType sourceType); - - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:sourceType:)); - - - - - - -

    + - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:sourceType:)); + + + + + + +

    详情

    暗光增强功能可以在光线亮度偏低(如背光、阴天、暗场景)和亮度不均匀的环境下自适应调整视频画面的亮度值,恢复或凸显图像的细节信息,最终提升视频图像的整体视觉效果。

    -

    该方法和 均可用于设置暗光增强功能,区别在于该方法支持在设置暗光增强功能时指定应用暗光增强的媒体源。

    +

    该方法和 + 均可用于设置暗光增强功能,区别在于该方法支持在设置暗光增强功能时指定应用暗光增强的媒体源。

    参数 - - - - - - - - - - type - 媒体资源类型,详见 - - - - - -
    + + + + + + + + + + type + 媒体资源类型,详见 + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setmaxmetadatasize.dita b/dita/RTC-NG/API/api_irtcengine_setmaxmetadatasize.dita index d33a40a0f56..05c9f098b78 100644 --- a/dita/RTC-NG/API/api_irtcengine_setmaxmetadatasize.dita +++ b/dita/RTC-NG/API/api_irtcengine_setmaxmetadatasize.dita @@ -1,45 +1,50 @@ - <ph keyref="setMaxMetadataSize" /> + <ph keyref="setMaxMetadataSize"/> 设置媒体附属信息的最大大小。 - +

    - - - - abstract setMaxMetadataSize(size: number): number; - public abstract int SetMaxMetadataSize(int size); - abstract setMaxMetadataSize(size: number): number; - Future<void> setMaxMetadataSize(int size); -

    + + + + abstract setMaxMetadataSize(size: number): number; + public abstract int SetMaxMetadataSize(int size); + abstract setMaxMetadataSize(size: number): number; + Future<void> setMaxMetadataSize(int size); +

    详情 -

    调用 后,你可以调用本方法来设置媒体附属信息的最大大小。

    +

    调用 后,你可以调用本方法来设置媒体附属信息的最大大小。

    参数 - - size - 媒体附属信息的最大大小。 - -
    + + size + 媒体附属信息的最大大小。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setmediametadatadatasource.dita b/dita/RTC-NG/API/api_irtcengine_setmediametadatadatasource.dita index d01624c7130..71c708aee3e 100644 --- a/dita/RTC-NG/API/api_irtcengine_setmediametadatadatasource.dita +++ b/dita/RTC-NG/API/api_irtcengine_setmediametadatadatasource.dita @@ -18,31 +18,38 @@ - + +
    详情 -

    你需要在该方法中实现一个 协议,并指定 metadata 的数据类型。成功调用该方法后,SDK 会触发 回调。

    -

    该接口可以与 接口搭配使用,在直播场景中实现发送商品链接、分发优惠券、发送答题等功能,构建更为丰富的直播互动方式。

    +

    你需要在该方法中实现一个 协议,并指定 metadata + 的数据类型。成功调用该方法后,SDK 会触发 回调。

    +

    该接口可以与 + 接口搭配使用,在直播场景中实现发送商品链接、分发优惠券、发送答题等功能,构建更为丰富的直播互动方式。

    - 请在加入频道前调用该方法。

    + 请在加入频道前调用该方法。 +

    参数 - - metadataDataSource - 协议。 - - - - - -
    + + metadataDataSource + 协议。 + + + + + + +
    返回值
      -
    • :方法调用成功。
    • -
    • :方法调用失败。详见了解详情和解决建议。
    • -
    +
  • :方法调用成功。
  • +
  • :方法调用失败。详见了解详情和解决建议。
  • + + diff --git a/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita b/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita index 73822f26220..9eabc20cd10 100644 --- a/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita @@ -1,77 +1,87 @@ - <ph keyref="setMixedAudioFrameParameters" /> - 设置 报告的音频数据格式。 + <ph keyref="setMixedAudioFrameParameters"/> + 设置 + 报告的音频数据格式。 - +

    - public abstract int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); - - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + public abstract int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); + - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel samplesPerCall:(NSInteger)samplesPerCall; - virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); - abstract setMixedAudioFrameParameters( + abstract setMixedAudioFrameParameters( sampleRate: number, channel: number, samplesPerCall: number ): number; - public abstract int SetMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); - abstract setMixedAudioFrameParameters( + public abstract int SetMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); + abstract setMixedAudioFrameParameters( sampleRate: number, channel: number, samplesPerCall: number ): number; - Future<void> setMixedAudioFrameParameters( + Future<void> setMixedAudioFrameParameters( {required int sampleRate, required int channel, required int samplesPerCall}); -

    +

    参数 - - sampleRate - -

    音频数据采样率 (Hz),可设置为 800016000320004410048000

    -
    -
    + + sampleRate + +

    音频数据采样率 (Hz),可设置为 8000、 + 1600032000、 + 4410048000

    +
    +
    - - channel - -

    音频数据声道数,可设置为 1(单声道) 或 2(双声道)。

    -
    -
    + + channel + +

    音频数据声道数,可设置为 1(单声道) 或 2(双声道)。

    +
    +
    - - samplesPerCall - -

    音频数据采样点数。旁路推流场景下通常设为 1024

    -
    -
    + + samplesPerCall + +

    音频数据采样点数。旁路推流场景下通常设为 1024

    +
    +
    -

    SDK 会根据该方法设置的采样间隔(秒)定期触发 回调。 采样间隔 = samplesPerCall/(sampleRate x channel)。请确保你的取值能满足采样间隔大于或等于 0.01 秒。

    -
    +

    SDK 会根据该方法设置的采样间隔(秒)定期触发 回调。 采样间隔 = + samplesPerCall/(sampleRate x + channel)。请确保你的取值能满足采样间隔大于或等于 0.01 秒。

    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setparameters.dita b/dita/RTC-NG/API/api_irtcengine_setparameters.dita index 1378da27519..30cbf02f297 100644 --- a/dita/RTC-NG/API/api_irtcengine_setparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setparameters.dita @@ -13,48 +13,55 @@

    - public abstract int setParameters(String parameters); - - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:)); - virtual int setParameters(const char* parameters) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setParameters(String parameters); + - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:)); + virtual int setParameters(const char* parameters) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetParameters(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);

    + 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
    -
    + +
    自从
    +
    v4.1.0
    +
    -

    获取 JSON 配置方式。

    +

    获取 JSON 配置方式。

    参数 - - parameters - options - JSON 字符串形式的参数。 - - - key - key 值。 - - - value - value 值。 - -
    + + parameters + options + JSON 字符串形式的参数。 + + + key + key 值。 + + + value + value 值。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita b/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita index 45e262f5285..fc5018b0f87 100644 --- a/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita @@ -1,61 +1,69 @@ - <ph keyref="setPlaybackAudioFrameBeforeMixingParameters" /> - 设置 报告的音频数据格式。 + <ph keyref="setPlaybackAudioFrameBeforeMixingParameters"/> + 设置 + 报告的音频数据格式。 - +

    - public abstract int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate + public abstract int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); + - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel; - virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - abstract setPlaybackAudioFrameBeforeMixingParameters( + abstract setPlaybackAudioFrameBeforeMixingParameters( sampleRate: number, channel: number ): number; - public abstract int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - abstract setPlaybackAudioFrameBeforeMixingParameters( + public abstract int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); + abstract setPlaybackAudioFrameBeforeMixingParameters( sampleRate: number, channel: number ): number; - Future<void> setPlaybackAudioFrameBeforeMixingParameters( + Future<void> setPlaybackAudioFrameBeforeMixingParameters( {required int sampleRate, required int channel}); -

    +

    参数 - - sampleRate - -

    音频数据采样率 (Hz),可设置为 800016000320004410048000

    -
    -
    + + sampleRate + +

    音频数据采样率 (Hz),可设置为 8000、 + 1600032000、 + 4410048000

    +
    +
    - - channel - -

    音频数据声道数,可设置为 1(单声道)或 2(双声道)。

    -
    -
    -
    + + channel + +

    音频数据声道数,可设置为 1(单声道)或 2(双声道)。

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita b/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita index 2e67a22aa53..cd914d88e1b 100644 --- a/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita @@ -1,96 +1,109 @@ - <ph keyref="setPlaybackAudioFrameParameters" /> + <ph keyref="setPlaybackAudioFrameParameters"/> 设置播放的音频格式。 - +

    - public abstract int setPlaybackAudioFrameParameters( + public abstract int setPlaybackAudioFrameParameters( int sampleRate, int channel, int mode, int samplesPerCall); - - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall; - virtual int setPlaybackAudioFrameParameters(int sampleRate, + virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetPlaybackAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setPlaybackAudioFrameParameters( + abstract setPlaybackAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - public abstract int SetPlaybackAudioFrameParameters(int sampleRate, int channel, + public abstract int SetPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setPlaybackAudioFrameParameters( + abstract setPlaybackAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - Future<void> setPlaybackAudioFrameParameters( + Future<void> setPlaybackAudioFrameParameters( {required int sampleRate, required int channel, required RawAudioFrameOpModeType mode, required int samplesPerCall}); -

    +

    详情 -

    该方法设置 回调数据的格式。

    +

    该方法设置 回调数据的格式。

    -
      -
    • 该方法需要在加入频道前调用。
    • -
    • SDK 会通过该方法中的 samplesPerCallsampleRatechannel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 回调。
    • -
    +
      +
    • 该方法需要在加入频道前调用。
    • +
    • SDK 会通过该方法中的 + samplesPerCallsampleRate 和 + channel 参数计算出采样间隔,计算公式为采样间隔 = + samplesPerCall/(sampleRate + × channel)。请确保采样间隔不小于 0.01 秒。SDK + 会根据该采样间隔触发 回调。
    • +
    + +
    参数 - - sampleRate - 中返回数据的采样率,可设置为 8000、 16000、 32000、44100 或 48000。 - - - channel - -

    中返回数据的通道数,可设置为 1 或 2: - - -

      -
    • 1: 单声道
    • -
    • 2: 双声道
    • -

    -
    -
    - - mode - -

    音频帧的使用模式,详见

    -

    - - - - samplesPerCall - 中返回数据的采样点数,如旁路推流应用中通常为 1024。 - -

    + + sampleRate + 中返回数据的采样率,可设置为 8000、 16000、 + 32000、44100 或 48000。 + + + channel + +

    中返回数据的通道数,可设置为 1 或 2:

      +
    • 1: 单声道
    • +
    • 2: 双声道
    • +

    +
    +
    + + mode + +

    音频帧的使用模式,详见 +

    +

    + + + + samplesPerCall + 中返回数据的采样点数,如旁路推流应用中通常为 1024。 + + +

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setpluginparameter.dita b/dita/RTC-NG/API/api_irtcengine_setpluginparameter.dita index f51bbfb423e..2786c7b0872 100644 --- a/dita/RTC-NG/API/api_irtcengine_setpluginparameter.dita +++ b/dita/RTC-NG/API/api_irtcengine_setpluginparameter.dita @@ -13,14 +13,14 @@

    - - - - - - - -

    + + + + + + + +

    详情 @@ -30,20 +30,23 @@
    参数 - - - - - - parameter - 包含 Key 和 Value 值的 JSON 字符串。 - -
    + + + + + + parameter + 包含 Key 和 Value 值的 JSON 字符串。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita b/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita index 270de9cb077..cc03284371d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita @@ -1,103 +1,121 @@ - <ph keyref="setRecordingAudioFrameParameters" /> + <ph keyref="setRecordingAudioFrameParameters"/> 设置采集的原始音频数据格式。 - +

    - public abstract int setRecordingAudioFrameParameters( + public abstract int setRecordingAudioFrameParameters( int sampleRate, int channel, int mode, int samplesPerCall); - - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall; - virtual int setRecordingAudioFrameParameters(int sampleRate, + virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRecordingAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setRecordingAudioFrameParameters( + abstract setRecordingAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - public abstract int SetRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setRecordingAudioFrameParameters( + public abstract int SetRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); + abstract setRecordingAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - Future<void> setRecordingAudioFrameParameters( + Future<void> setRecordingAudioFrameParameters( {required int sampleRate, required int channel, required RawAudioFrameOpModeType mode, required int samplesPerCall}); -

    +

    详情 -

    该方法设置 回调的采集音频格式。

    +

    该方法设置 回调的采集音频格式。

    -
      -
    • 该方法需要在加入频道前调用。
    • -
    • SDK 会通过该方法中的 samplesPerCallsampleRatechannel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 回调。
    • -
    +
      +
    • 该方法需要在加入频道前调用。
    • +
    • SDK 会通过该方法中的 + samplesPerCallsampleRate 和 + channel 参数计算出采样间隔,计算公式为采样间隔 = + samplesPerCall/(sampleRate + × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 回调。
    • +
    + +
    参数 - - sampleRate - 中返回数据的采样率,可设置为 8000、 16000、 32000、44100 或 48000。 - SDK 返回数据的采样率 (Hz),可设置为 8000、 16000、 32000、 44100 或 48000。 - - - channel - -

    中返回数据的通道数,可设置为 1 或 2: -

      -
    • 1: 单声道。
    • -
    • 2: 双声道。
    • -

    -
    - -

    SDK 返回数据的通道数。取值可为 1 或 2: -

      -
    • 1: 单声道。
    • -
    • 2: 双声道。
    • -

    -
    -
    - - mode - -

    音频帧的使用模式,详见

    -

    - - SDK 返回数据的使用模式,详见 - - - samplesPerCall - 中返回数据的采样点数,如旁路推流应用中通常为 1024。 - SDK 返回数据的采样点数,如旁路推流应用中通常为 1024。 - -

    + + sampleRate + 中返回数据的采样率,可设置为 8000、 16000、 32000、44100 或 + 48000。 + SDK 返回数据的采样率 (Hz),可设置为 8000、 16000、 32000、 44100 或 + 48000。 + + + channel + +

    中返回数据的通道数,可设置为 1 或 2:

      +
    • 1: 单声道。
    • +
    • 2: 双声道。
    • +

    +
    + +

    SDK 返回数据的通道数。取值可为 1 或 2:

      +
    • 1: 单声道。
    • +
    • 2: 双声道。
    • +

    +
    +
    + + mode + +

    音频帧的使用模式,详见 +

    +

    + + SDK 返回数据的使用模式,详见 + + + samplesPerCall + 中返回数据的采样点数,如旁路推流应用中通常为 1024。 + SDK 返回数据的采样点数,如旁路推流应用中通常为 1024。 + + +

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita b/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita index dce257a75e0..6a86f4595e9 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita @@ -1,59 +1,67 @@ - <ph keyref="setRemoteDefaultVideoStreamType" /> + <ph keyref="setRemoteDefaultVideoStreamType"/> 设置默认订阅的视频流类型。 - +

    - public abstract int setRemoteDefaultVideoStreamType(int streamType); - - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType; - virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setRemoteDefaultVideoStreamType(int streamType); + - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType; + virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteDefaultVideoStreamType(EVIDEO_STREAM_TYPE streamType); - abstract setRemoteDefaultVideoStreamType(streamType: VideoStreamType): number; - public abstract int SetRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType); - abstract setRemoteDefaultVideoStreamType(streamType: VideoStreamType): number; - Future<void> setRemoteDefaultVideoStreamType(VideoStreamType streamType); -

    + abstract setRemoteDefaultVideoStreamType(streamType: VideoStreamType): number; + public abstract int SetRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType); + abstract setRemoteDefaultVideoStreamType(streamType: VideoStreamType): number; + Future<void> setRemoteDefaultVideoStreamType(VideoStreamType streamType); +

    详情

    -

      -
    • 该方法只能在加入频道前调用。SDK 不支持你在加入频道后修改默认订阅的视频流类型。
    • -
    • 如果你既调用了该方法,也调用了 ,则 SDK 以 中的设置为准。
    • -
    +
      +
    • 该方法只能在加入频道前调用。SDK 不支持你在加入频道后修改默认订阅的视频流类型。
    • +
    • 如果你既调用了该方法,也调用了 ,则 SDK 以 中的设置为准。
    • +
    +
    参数 - - streamType - -

    默认订阅的视频流类型:

    -

    默认订阅的视频流类型: -

      -
    • (0):视频大流,即高分辨率、高码率视频流。
    • -
    • (1):视频小流,即低分辨率、低码率视频流。
    • -

    -
    -
    -
    + + streamType + +

    默认订阅的视频流类型:

    +

    默认订阅的视频流类型:

      +
    • (0):视频大流,即高分辨率、高码率视频流。
    • +
    • (1):视频小流,即低分辨率、低码率视频流。
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremoterendermode.dita b/dita/RTC-NG/API/api_irtcengine_setremoterendermode.dita index eee9849f3a2..436a331ff31 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremoterendermode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremoterendermode.dita @@ -13,52 +13,56 @@

    - public abstract int setRemoteRenderMode(int userId, int renderMode); - - (int)setRemoteRenderMode:(NSUInteger)uid + public abstract int setRemoteRenderMode(int userId, int renderMode); + - (int)setRemoteRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode) mode; - virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode) = 0; - - public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode); - - -

    + virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode) = 0; + + public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode); + + +

    详情
    - -
    弃用:
    -
    该方法已废弃,请使用
    -
    + +
    弃用:
    +
    该方法已废弃,请使用
    +

    该方法设置远端视图显示模式。App 可以多次调用此方法更改显示模式。

    参数 - - userId - 远端用户 ID。 - - - renderMode - -

    远端用户视图的渲染模式,详见

    -

    远端用户视图的渲染模式。 -

      -
    • + + userId + 远端用户 ID。 + + + renderMode + +

      远端用户视图的渲染模式,详见

      +

      远端用户视图的渲染模式。

        +
      • (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
      • -
      • +
      • (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
      • -

      -
      -
      -
    + +

    + + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita b/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita index 54c1ae3409f..0843fa817a5 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita @@ -1,95 +1,99 @@ - <ph keyref="setRemoteRenderMode2" /> + <ph keyref="setRemoteRenderMode2"/> 更新远端视图显示模式。 - +

    - public abstract int setRemoteRenderMode(int userId, int renderMode, int mirrorMode); - - (int)setRemoteRenderMode:(NSUInteger)uid + public abstract int setRemoteRenderMode(int userId, int renderMode, int mirrorMode); + - (int)setRemoteRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode)mode mirror:(AgoraVideoMirrorMode)mirror; - virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteRenderMode(int64 uid, ERENDER_MODE_TYPE renderMode, EVIDEO_MIRROR_MODE_TYPE mirrorMode); - abstract setRemoteRenderMode( + abstract setRemoteRenderMode( uid: number, renderMode: RenderModeType, mirrorMode: VideoMirrorModeType ): number; - public abstract int SetRemoteRenderMode(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); - abstract setRemoteRenderMode( + public abstract int SetRemoteRenderMode(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); + abstract setRemoteRenderMode( uid: number, renderMode: RenderModeType, mirrorMode: VideoMirrorModeType ): number; - Future<void> setRemoteRenderMode( + Future<void> setRemoteRenderMode( {required int uid, required RenderModeType renderMode, required VideoMirrorModeType mirrorMode}); -

    +

    详情

    初始化远端用户视图后,你可以调用该方法更新远端用户视图在本地显示时的渲染和镜像模式。该方法只影响本地用户看到的视频画面。

    -
      -
    • 请在调用 方法初始化远端视图后,调用该方法。
    • -
    • 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。
    • -
    +
      +
    • 请在调用 方法初始化远端视图后,调用该方法。
    • +
    • 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。
    • +
    + +
    参数 - - userId - uid - 远端用户 ID。 - - - renderMode - mode - -

    远端用户视图的渲染模式,详见

    -

    远端用户视图的渲染模式。 - - - - -

      -
    • -

    -
    -
    - - mirrorMode - mirror - -

    远端用户视图的镜像模式,详见

    -

    远端用户视图的镜像模式。 - - - - -

      -
    • -

    -
    -
    -
    + + userId + uid + 远端用户 ID。 + + + renderMode + mode + +

    远端用户视图的渲染模式,详见 +

    +

    远端用户视图的渲染模式。

      +
    • +
    +

    +
    +
    + + mirrorMode + mirror + +

    远端用户视图的镜像模式,详见 +

    +

    远端用户视图的镜像模式。

      +
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita b/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita index 82e4078665c..76b7da4fe0a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita @@ -1,55 +1,71 @@ - <ph keyref="setRemoteSubscribeFallbackOption" /> - 设置弱网环境下订阅的音视频流回退选项。 - - - - - - - - -
    -

    - public abstract int setRemoteSubscribeFallbackOption(int option); - - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option; - virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; - abstract setRemoteSubscribeFallbackOption( + + <ph keyref="setRemoteSubscribeFallbackOption"/> + + + 设置弱网环境下订阅的音视频流回退选项。 + + + + + + + + + +

    +

    + public abstract int setRemoteSubscribeFallbackOption(int option); + - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option; + virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; + abstract setRemoteSubscribeFallbackOption( option: StreamFallbackOptions ): number; - public abstract int SetRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option); - abstract setRemoteSubscribeFallbackOption( + public abstract int SetRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option); + abstract setRemoteSubscribeFallbackOption( option: StreamFallbackOptions ): number; - Future<void> setRemoteSubscribeFallbackOption(StreamFallbackOptions option); -

    -
    -
    - 详情 -

    网络不理想的环境下,实时通信音视频的质量会下降。你可以调用该方法并将 option 设置为 ,SDK 会在下行弱网且音视频质量严重受影响时,将视频流切换为小流或关闭视频流,从而保证音频质量。同时,SDK 会持续监控网络质量,并在网络质量改善时恢复订阅音视频流。

    -

    当订阅流回退为音频流或由音频流恢复为音视频流时,SDK 会触发 回调。

    - 该方法需要在加入频道前调用。
    -
    - 参数 - - - option - 订阅流的回退选项。详见 -
      -
    • (0): 网络条件较差时,不对音视频流作回退处理,但不能保证音视频流的质量。
    • -
    • (1):(默认)网络条件较差时,只接收视频小流(低分辨率、低码率视频流)。
    • -
    • (2): 网络条件较差时,先尝试只接收视频小流;如果因网络环境太差无法显示视频,则再回退到只接收订阅的音频流。
    • -
    -
    -
    -
    - <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    - - \ No newline at end of file + Future<void> setRemoteSubscribeFallbackOption(StreamFallbackOptions option); +

    +
    +
    + 详情 +

    网络不理想的环境下,实时通信音视频的质量会下降。你可以调用该方法并将 option 设置为 ,SDK + 会在下行弱网且音视频质量严重受影响时,将视频流切换为小流或关闭视频流,从而保证音频质量。同时,SDK 会持续监控网络质量,并在网络质量改善时恢复订阅音视频流。

    +

    当订阅流回退为音频流或由音频流恢复为音视频流时,SDK 会触发 + 回调。

    + 该方法需要在加入频道前调用。 +
    +
    + 参数 + + + option + 订阅流的回退选项。详见 + +
      +
    • (0): + 网络条件较差时,不对音视频流作回退处理,但不能保证音视频流的质量。
    • +
    • + (1):(默认)网络条件较差时,只接收视频小流(低分辨率、低码率视频流)。
    • +
    • (2): + 网络条件较差时,先尝试只接收视频小流;如果因网络环境太差无法显示视频,则再回退到只接收订阅的音频流。
    • +
    +
    +
    +
    +
    + <ph keyref="return-section-title"/> +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    +
    +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita b/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita index 8ee6eca4bdf..527150a0802 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita @@ -1,8 +1,12 @@ - <ph keyref="setRemoteUserPriority"/> - 设置远端用户媒体流的优先级。 + + <ph keyref="setRemoteUserPriority"/> + + + 设置远端用户媒体流的优先级。 + @@ -13,45 +17,52 @@

    - public abstract int setRemoteUserPriority(int uid, int userPriority); - - virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; - - public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); - -

    + public abstract int setRemoteUserPriority(int uid, int userPriority); + + virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; + + public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); + +

    - 详情 -

    设置远端用户的优先级。如果将某个用户的优先级设为高,那么发给这个用户的音视频流的优先级就会高于其他用户。弱网下 SDK 会优先保证高优先级用户收到的流的质量。

    + 详情 +

    设置远端用户的优先级。如果将某个用户的优先级设为高,那么发给这个用户的音视频流的优先级就会高于其他用户。弱网下 SDK + 会优先保证高优先级用户收到的流的质量。

    -
      -
    • 目前 SDK 仅允许将一名远端用户设为高优先级。
    • -
    • 该方法需要在加入频道前调用。
    • -
    +
      +
    • 目前 SDK 仅允许将一名远端用户设为高优先级。
    • +
    • 该方法需要在加入频道前调用。
    • +
    + +
    参数 - - uid - 远端用户的 ID。 - - - userPriority - -

    远端用户的需求优先级。详见 -

      -
    • :用户需求优先级为高。
    • -
    • :(默认)用户需求优先级为正常。
    • -

    -
    -
    -
    + + uid + 远端用户的 ID。 + + + userPriority + +

    远端用户的需求优先级。详见 +

      +
    • :用户需求优先级为高。
    • +
    • :(默认)用户需求优先级为正常。
    • +

    +
    +
    + +
    返回值
      -
    • 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 ae9189aa6b0..2371d237d73 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremoteuserspatialaudioparams.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremoteuserspatialaudioparams.dita @@ -1,60 +1,65 @@ - <ph keyref="setRemoteUserSpatialAudioParams" /> + <ph keyref="setRemoteUserSpatialAudioParams"/> 设置远端用户的空间音效参数。 - +

    - public abstract int setRemoteUserSpatialAudioParams(int uid, SpatialAudioParams params); - - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid + public abstract int setRemoteUserSpatialAudioParams(int uid, SpatialAudioParams params); + - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid params:(AgoraSpatialAudioParams* _Nonnull)params; - virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteUserSpatialAudioParams(int64 uid, const FSpatialAudioParams& params); - abstract setRemoteUserSpatialAudioParams( + abstract setRemoteUserSpatialAudioParams( uid: number, params: SpatialAudioParams ): number; - public abstract int SetRemoteUserSpatialAudioParams(uint uid, SpatialAudioParams param); - abstract setRemoteUserSpatialAudioParams( + public abstract int SetRemoteUserSpatialAudioParams(uint uid, SpatialAudioParams param); + abstract setRemoteUserSpatialAudioParams( uid: number, params: SpatialAudioParams ): number; - Future<void> setRemoteUserSpatialAudioParams( + Future<void> setRemoteUserSpatialAudioParams( {required int uid, required SpatialAudioParams params}); -

    +

    详情 -

    该方法需要在 后调用。成功设置远端用户的空间音效参数后,本地用户听远端用户会有空间感。

    +

    该方法需要在 后调用。成功设置远端用户的空间音效参数后,本地用户听远端用户会有空间感。

    参数 - - - - - - params - param - 空间音效参数。详见 - -
    + + + + + + params + param + 空间音效参数。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setremotevideorenderer.dita b/dita/RTC-NG/API/api_irtcengine_setremotevideorenderer.dita index 8b21027eea7..44316b51877 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotevideorenderer.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotevideorenderer.dita @@ -2,7 +2,8 @@ setremotevideorenderer - + @@ -13,33 +14,34 @@

    - - - - - - - -

    + + + + + + + +

    详情
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita b/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita index bcd0cbc0956..4e70433c62a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita @@ -1,71 +1,91 @@ - <ph keyref="setRemoteVideoStreamType" /> - 设置订阅的视频流类型。 + + <ph keyref="setRemoteVideoStreamType"/> + + + 设置订阅的视频流类型。 + - +

    - public abstract int setRemoteVideoStreamType(int uid, int streamType); - - (int)setRemoteVideoStream:(NSUInteger)uid + public abstract int setRemoteVideoStreamType(int uid, int streamType); + - (int)setRemoteVideoStream:(NSUInteger)uid type:(AgoraVideoStreamType)streamType; - virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVideoStreamType(int64 uid, EVIDEO_STREAM_TYPE streamType); - abstract setRemoteVideoStreamType( + abstract setRemoteVideoStreamType( uid: number, streamType: VideoStreamType ): number; - public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType); - abstract setRemoteVideoStreamType( + public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType); + abstract setRemoteVideoStreamType( uid: number, streamType: VideoStreamType ): number; - Future<void> setRemoteVideoStreamType( + Future<void> setRemoteVideoStreamType( {required int uid, required VideoStreamType streamType}); -

    +

    - 详情 -

    SDK 默认在发送端开启小流自适应模式 (),即:发送端仅发送大流,主播身份的接收端可以调用该方法发起小流申请,发送端收到申请后开始自动发送小流。

    -

    在接收视频小流时,SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。

    + 详情 +

    SDK 默认在发送端开启小流自适应模式 (),即:发送端仅发送大流,主播身份的接收端可以调用该方法发起小流申请,发送端收到申请后开始自动发送小流。

    +

    在接收视频小流时,SDK + 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。

      -
    • 该方法在加入频道前后都能调用。
    • -
    • 如果发送端已调用 并将 mode 设置为 (始终不发送小流),则调用该方法不生效,你需要在发送端重新调用 修改设置。
    • +
    • 该方法在加入频道前后都能调用。
    • +
    • 如果发送端已调用 并将 + mode 设置为 (始终不发送小流),则调用该方法不生效,你需要在发送端重新调用 修改设置。
    • 观众角色的接收端调用该方法不生效。
    • -
    • 如果既调用了 ,也调用了 ,则 SDK 以 中的设置为准。
    +
  • 如果既调用了 ,也调用了 ,则 SDK 以 中的设置为准。
  • + +
    参数 - - uid - 用户 ID。 - - - streamType - -

    视频流类型:

    -

    视频流类型: -

      -
    • 0:视频大流。
    • -
    • 1:视频小流。
    • -

    -
    -
    -
    + + uid + 用户 ID。 + + + streamType + +

    视频流类型:

    +

    视频流类型:

      +
    • 0:视频大流。
    • +
    • 1:视频小流。
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 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 e70e57bb169..930321d4cf0 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita @@ -13,60 +13,81 @@

    - public abstract int setRemoteVideoSubscriptionOptions(int uid, VideoSubscriptionOptions options); - - (int)setRemoteVideoSubscriptionOptions:(NSUInteger)uid + 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|RtcEngineProxy") + virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVideoSubscriptionOptions(int64 uid, const FVideoSubscriptionOptions& options); - abstract setRemoteVideoSubscriptionOptions( + abstract setRemoteVideoSubscriptionOptions( uid: number, options: VideoSubscriptionOptions ): number; - public abstract int SetRemoteVideoSubscriptionOptions(uint uid, VideoSubscriptionOptions options); - abstract setRemoteVideoSubscriptionOptions( + public abstract int SetRemoteVideoSubscriptionOptions(uint uid, VideoSubscriptionOptions options); + abstract setRemoteVideoSubscriptionOptions( uid: number, options: VideoSubscriptionOptions ): number; - Future<void> setRemoteVideoSubscriptionOptions( + Future<void> setRemoteVideoSubscriptionOptions( {required int uid, required VideoSubscriptionOptions options}); -

    +

    详情

    当远端发送双流时,可调用此方法来设置远端视频流的订阅选项。

    -

      -
    • 如果你只注册了 对象,则默认订阅原始视频数据和编码后的视频数据 (效果等同于 encodedFrameOnly 设置为 )。
    • -
    • 如果你只注册了 对象,则默认只订阅编码后的视频数据 (效果等同于 encodedFrameOnly 设置为 )。
    • -
    • 如果你先后注册了 对象,则默认订阅原始视频数据和编码后的视频数据 (效果等同于 encodedFrameOnly 设置为 )。
    • -
    • 如果你先调用该方法设置了 options 参数、然后再注册 对象,则需要再次调用该方法并按照以上两项描述设置 options 参数,以获得预期的效果。
    • -

    - 声网推荐你按照以下步骤调用该方法: - -
      -
    1. 调用 加入频道时设置 autoSubscribeVideo
    2. -
    3. 在收到 回调后调用该方法,设置对指定远端用户视频流的订阅选项。
    4. -
    5. 调用 方法,开始恢复订阅指定远端用户的视频流。如果你在上一步中将 encodedFrameOnly 设置为 ,SDK 会在本地触发 回调,上报接收到的编码后视频帧信息。
    6. -
    +
      +
    • 如果你只注册了 对象,则默认订阅原始视频数据和编码后的视频数据 (效果等同于 + encodedFrameOnly 设置为 )。
    • +
    • 如果你只注册了 对象,则默认只订阅编码后的视频数据 (效果等同于 + encodedFrameOnly 设置为 )。
    • +
    • 如果你先后注册了 对象,则默认订阅原始视频数据和编码后的视频数据 (效果等同于 + encodedFrameOnly 设置为 )。
    • +
    • 如果你先调用该方法设置了 options 参数、然后再注册 对象,则需要再次调用该方法并按照以上两项描述设置 + options 参数,以获得预期的效果。
    • +
    +

    + 声网推荐你按照以下步骤调用该方法:
      +
    1. 调用 加入频道时设置 + autoSubscribeVideo
    2. +
    3. 在收到 回调后调用该方法,设置对指定远端用户视频流的订阅选项。
    4. +
    5. 调用 方法,开始恢复订阅指定远端用户的视频流。如果你在上一步中将 + encodedFrameOnly 设置为 ,SDK 会在本地触发 + 回调,上报接收到的编码后视频帧信息。
    6. +
    +
    +
    参数 - - uid - 远端用户 ID。 - - - options - 视频流的订阅设置,详见 - -
    + + uid + 远端用户 ID。 + + + options + 视频流的订阅设置,详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setremotevoice3dposition.dita b/dita/RTC-NG/API/api_irtcengine_setremotevoice3dposition.dita index 210fd405ec9..aa1f8ef5f6f 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotevoice3dposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotevoice3dposition.dita @@ -1,79 +1,82 @@ - <ph keyref="setRemoteVoice3DPosition" /> + <ph keyref="setRemoteVoice3DPosition"/> 设置远端用户声音的 3D 位置。 - +

    - public abstract int setRemoteVoice3DPosition( + public abstract int setRemoteVoice3DPosition( int uid, double azimuth, double elevation, double distance); - - (int)setRemoteVoice3DPosition:(NSUInteger)uid + - (int)setRemoteVoice3DPosition:(NSUInteger)uid azimuth:(double)azimuth elevation:(double)elevation distance:(double)distance; - virtual int setRemoteVoice3DPosition(uid_t uid, double azimuth, double elevation, double distance) = 0; - - - - There are no corresponding names available -

    + virtual int setRemoteVoice3DPosition(uid_t uid, double azimuth, double elevation, double distance) = 0; + + + + There are no corresponding names available +

    详情

    通过设置远端用户声音的水平角、垂直角和声源距离,让远端用户的声音听起来有方位感。

    在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。

    -

    该方法和 的区别是:该方法设置声音的 3D 位置; 设置声音的 2D 位置,即水平面上的位置。

    +

    该方法和 的区别是:该方法设置声音的 3D 位置; 设置声音的 2D 位置,即水平面上的位置。

    -
      -
    • 使用该方法需要在加入频道前调用 开启远端用户声音的立体声。
    • -
    • 为获得最佳听觉体验,建议使用该方法时使用有线耳机。
    • -
    • 该方法需要在加入频道后调用。
    • -
    +
      +
    • 使用该方法需要在加入频道前调用 + 开启远端用户声音的立体声。
    • +
    • 为获得最佳听觉体验,建议使用该方法时使用有线耳机。
    • +
    • 该方法需要在加入频道后调用。
    • +
    + +
    参数 - - uid - 远端用户的 ID。 - - - azimuth - 水平角。取值范围为 [0,360],单位为度。其中: - -
      -
    • 0:(默认)0 度,表示水平面的正前方。
    • -
    • 90: 90 度,表示水平面的正左方。
    • -
    • 180: 180 度,表示水平面的正右方。
    • -
    -
    - - elevation - 垂直角。取值范围为 [-90,90],单位为度。其中: - -
      -
    • 0:(默认)0 度,表示水平面无旋转。
    • -
    • -90: -90 度,表示水平面向下旋转 90 度。
    • -
    • 90: 90 度,表示水平面向上旋转 90 度。
    • -
    -
    - - distance - 声源距离。取值不能小于 0.5,单位为米。为避免设置距离过大导致声音较小,建议设置范围为 [0.5,50]。 - -
    + + uid + 远端用户的 ID。 + + + azimuth + 水平角。取值范围为 [0,360],单位为度。其中:
      +
    • 0:(默认)0 度,表示水平面的正前方。
    • +
    • 90: 90 度,表示水平面的正左方。
    • +
    • 180: 180 度,表示水平面的正右方。
    • +
    +
    + + elevation + 垂直角。取值范围为 [-90,90],单位为度。其中:
      +
    • 0:(默认)0 度,表示水平面无旋转。
    • +
    • -90: -90 度,表示水平面向下旋转 90 度。
    • +
    • 90: 90 度,表示水平面向上旋转 90 度。
    • +
    +
    + + distance + 声源距离。取值不能小于 0.5,单位为米。为避免设置距离过大导致声音较小,建议设置范围为 [0.5,50]。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita b/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita index 08f6279de59..fa71ec8d07a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita +++ b/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita @@ -1,79 +1,83 @@ - <ph keyref="setRemoteVoicePosition" /> + <ph keyref="setRemoteVoicePosition"/> 设置远端用户声音的 2D 位置,即水平面位置。 - +

    - public abstract int setRemoteVoicePosition(int uid, double pan, double gain); - - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain; - virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setRemoteVoicePosition(int uid, double pan, double gain); + - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain; + virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVoicePosition(int64 uid, float pan, float gain); - abstract setRemoteVoicePosition( + abstract setRemoteVoicePosition( uid: number, pan: number, gain: number ): number; - public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); - abstract setRemoteVoicePosition( + public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); + abstract setRemoteVoicePosition( uid: number, pan: number, gain: number ): number; - Future<void> setRemoteVoicePosition( + Future<void> setRemoteVoicePosition( {required int uid, required double pan, required double gain}); -

    +

    详情

    设置远端用户声音的 2D 位置和音量,方便本地用户听声辨位。

    通过调用该接口设置远端用户声音出现的位置,左右声道的声音差异会产生声音的方位感,从而判断出远端用户的实时位置。在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。

    -
      -
    • 使用该方法需要在加入频道前调用 开启远端用户的语音立体声。
    • -
    • 为获得最佳听觉体验,建议使用该方法时使用有线耳机。
    • -
    • 该方法需要在加入频道后调用。
    • -
    +
      +
    • 使用该方法需要在加入频道前调用 + 开启远端用户的语音立体声。
    • +
    • 为获得最佳听觉体验,建议使用该方法时使用有线耳机。
    • +
    • 该方法需要在加入频道后调用。
    • +
    + +
    参数 - - uid - 远端用户的 ID - - - pan - 设置远端用户声音的 2D 位置,取值范围为 [-1.0,1.0]: - - - - -
      -
    • (默认)0.0: 声音出现在正前方。
    • -
    • -1.0: 声音出现在左边。
    • -
    • 1.0: 声音出现在右边。
    • -
    -
    - - gain - 设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。 - -
    + + uid + 远端用户的 ID + + + pan + 设置远端用户声音的 2D 位置,取值范围为 [-1.0,1.0]:
      +
    • (默认)0.0: 声音出现在正前方。
    • +
    • -1.0: 声音出现在左边。
    • +
    • 1.0: 声音出现在右边。
    • +
    +
    +
    + + gain + 设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.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_setrendermode.dita b/dita/RTC-NG/API/api_irtcengine_setrendermode.dita index ca7bcb21505..e037dce27d0 100644 --- a/dita/RTC-NG/API/api_irtcengine_setrendermode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setrendermode.dita @@ -13,22 +13,23 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - mode - 渲染模式。详见 - -
    + + mode + 渲染模式。详见 + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita b/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita index a197f80bba6..838b5001956 100644 --- a/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita +++ b/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita @@ -13,47 +13,56 @@

    - public abstract int setRouteInCommunicationMode(int route); - - virtual int setRouteInCommunicationMode(int route) = 0; - - public abstract int SetRouteInCommunicationMode(int route); - abstract setRouteInCommunicationMode(route: number): number; - Future<void> setRouteInCommunicationMode(int route);

    + public abstract int setRouteInCommunicationMode(int route); + + virtual int setRouteInCommunicationMode(int route) = 0; + + public abstract int SetRouteInCommunicationMode(int route); + abstract setRouteInCommunicationMode(route: number): number; + Future<void> setRouteInCommunicationMode(int route); +

    详情
    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +
    -

    该方法用于在通话音量模式()下,将音频路由从蓝牙耳机切换为听筒、有线耳机或扬声器。该方法调用成功后,SDK 会触发 回调,报告修改后的路由。

    - 该方法与 同时使用时可能引起冲突。声网建议你单独使用 -
    • 该方法仅适用于 Android。
    • 该方法与 同时使用时可能引起冲突。声网建议你单独使用
    +

    该方法用于在通话音量模式()下,将音频路由从蓝牙耳机切换为听筒、有线耳机或扬声器。该方法调用成功后,SDK 会触发 回调,报告修改后的路由。

    + 该方法与 + 同时使用时可能引起冲突。声网建议你单独使用 +
      +
    • 该方法仅适用于 Android。
    • +
    • 该方法与 同时使用时可能引起冲突。声网建议你单独使用
    • +
    参数 - - route - 期望使用的音频路由: -
      -
    • -1:系统默认的音频路由。
    • -
    • 0:带麦克风的耳机。
    • -
    • 1:听筒。
    • -
    • 2:不带麦克风的耳机。
    • -
    • 3:设备自带的扬声器。
    • -
    • 4:(暂不支持)外接的扬声器。
    • -
    • 5:蓝牙耳机。
    • -
    • 6:USB 设备。
    • -
    -
    -
    -
    + + route + 期望使用的音频路由:
      +
    • -1:系统默认的音频路由。
    • +
    • 0:带麦克风的耳机。
    • +
    • 1:听筒。
    • +
    • 2:不带麦克风的耳机。
    • +
    • 3:设备自带的扬声器。
    • +
    • 4:(暂不支持)外接的扬声器。
    • +
    • 5:蓝牙耳机。
    • +
    • 6:USB 设备。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    无实际意义。

    -
    +

    无实际意义。

    + + diff --git a/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita b/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita index 9507f97afdc..33def0f01b9 100644 --- a/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita +++ b/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita @@ -1,51 +1,57 @@ - <ph keyref="setScreenCaptureContentHint" /> + <ph keyref="setScreenCaptureContentHint"/> 设置屏幕共享内容类型。 - +

    - - - virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0; + + + virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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 会根据不同的内容类型,使用不同的算法对共享效果进行优化。如果不调用该方法,SDK 会将屏幕共享的内容默认为 ,即无指定的内容类型。

    + 该方法在开始屏幕共享前后都能调用。
    参数 - - - contentHint - 屏幕共享的内容类型。详见 - - + + + contentHint + 屏幕共享的内容类型。详见 + +
    - <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    -
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
      -
    • -
    -
    -
    \ No newline at end of file + <ph keyref="return-section-title"/> +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +
      +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。 +
        +
      • +
      +
    • +
    + + + diff --git a/dita/RTC-NG/API/api_irtcengine_setscreencaptureorientation.dita b/dita/RTC-NG/API/api_irtcengine_setscreencaptureorientation.dita index 888cac74ae4..92e01526e2a 100644 --- a/dita/RTC-NG/API/api_irtcengine_setscreencaptureorientation.dita +++ b/dita/RTC-NG/API/api_irtcengine_setscreencaptureorientation.dita @@ -2,43 +2,45 @@ setScreenCaptureOrientation - + - +
    - - - - - - - There are no corresponding names available
    + + + + + + + There are no corresponding names available +
    详情
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +
    -

    +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita b/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita index 3a5f190e9be..a9e84159bc2 100644 --- a/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita +++ b/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita @@ -1,52 +1,58 @@ - <ph keyref="setScreenCaptureScenario" /> + <ph keyref="setScreenCaptureScenario"/> 设置屏幕共享的场景。 - +

    - public abstract int setScreenCaptureScenario(Constants.ScreenScenarioType screenScenario); - - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType + public abstract int setScreenCaptureScenario(Constants.ScreenScenarioType screenScenario); + - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType NS_SWIFT_NAME(setScreenCaptureScenario(_:)); - virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0; + virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setScreenCaptureScenario(screenScenario: ScreenScenarioType): number; + public abstract int SetScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario); + abstract setScreenCaptureScenario(screenScenario: ScreenScenarioType): number; + Future<void> setScreenCaptureScenario(ScreenScenarioType screenScenario); +

    详情 -

    开启屏幕共享或窗口共享时,你可以调用该方法设置屏幕共享的场景,SDK 会根据你设置的场景调整共享画面的画质。

    - 声网建议你在加入频道前调用该方法。 +

    开启屏幕共享或窗口共享时,你可以调用该方法设置屏幕共享的场景,SDK 会根据你设置的场景调整共享画面的画质。

    + 声网建议你在加入频道前调用该方法。
    参数 - - scenarioType - screenScenario - 屏幕共享的场景,详见 - -
    + + scenarioType + screenScenario + 屏幕共享的场景,详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita b/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita index 70d41558d94..2304e0474ad 100644 --- a/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita +++ b/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita @@ -13,56 +13,67 @@

    - public abstract int setSubscribeAudioAllowlist(int[] uidList); - - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; - virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeAudioAllowlist(int[] uidList); + - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; + virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeAudioAllowlist(TArray<int64> uidList, int uidNumber); - abstract setSubscribeAudioAllowlist( + abstract setSubscribeAudioAllowlist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeAudioAllowlist(uint[] uidList, int uidNumber); - abstract setSubscribeAudioAllowlist( + public abstract int SetSubscribeAudioAllowlist(uint[] uidList, int uidNumber); + abstract setSubscribeAudioAllowlist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeAudioAllowlist( + Future<void> setSubscribeAudioAllowlist( {required List<int> uidList, required int uidNumber}); -

    +

    详情

    你可以调用该方法指定想要订阅的音频流。

    -
      -
    • -
    • 音频订阅白名单不受 以及 中的 autoSubscribeAudio 的影响。
    • -
    • 设置订阅白名单后,如果离开当前频道后再重新加入频道,白名单依然生效。
    • -
    • -
    +
      +
    • +
    • 音频订阅白名单不受 以及 中的 + autoSubscribeAudio 的影响。
    • +
    • 设置订阅白名单后,如果离开当前频道后再重新加入频道,白名单依然生效。
    • +
    • +
    + +
    参数 - - uidList - allowlist - -

    音频订阅白名单的用户 ID 列表。

    -

    如果你想指定订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅白名单中移除,需要重新调用 方法更新音频订阅白名单的用户 ID 列表,使其不包含你想移除的用户的 uid

    -
    -
    - - uidNumber - 白名单用户 ID 列表中的用户数量。 - -
    + + uidList + allowlist + +

    音频订阅白名单的用户 ID 列表。

    +

    如果你想指定订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅白名单中移除,需要重新调用 方法更新音频订阅白名单的用户 ID + 列表,使其不包含你想移除的用户的 uid

    +
    +
    + + uidNumber + 白名单用户 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 fa63d3603a9..7f6cc2e0564 100644 --- a/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblocklist.dita +++ b/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblocklist.dita @@ -1,68 +1,80 @@ - <ph keyref="setSubscribeAudioBlocklist" /> + <ph keyref="setSubscribeAudioBlocklist"/> 设置音频订阅黑名单。 - +

    - public abstract int setSubscribeAudioBlocklist(int[] uidList); - - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist; - virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeAudioBlocklist(int[] uidList); + - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist; + virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeAudioBlocklist(TArray<int64> uidList, int uidNumber); - abstract setSubscribeAudioBlocklist( + abstract setSubscribeAudioBlocklist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeAudioBlocklist(uint[] uidList, int uidNumber); - abstract setSubscribeAudioBlocklist( + public abstract int SetSubscribeAudioBlocklist(uint[] uidList, int uidNumber); + abstract setSubscribeAudioBlocklist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeAudioBlocklist( + Future<void> setSubscribeAudioBlocklist( {required List<int> uidList, required int uidNumber}); -

    +

    详情

    你可以调用该方法指定不订阅的音频流。

    -
      -
    • 该方法在加入频道前后均可调用。
    • -
    • 音频订阅黑名单不受 以及 中的 autoSubscribeAudio 影响。
    • -
    • 设置订阅黑名单后,如果离开当前频道后再重新加入频道,黑名单依然生效。
    • -
    • 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
    • -
    +
      +
    • 该方法在加入频道前后均可调用。
    • +
    • 音频订阅黑名单不受 以及 中的 + autoSubscribeAudio 影响。
    • +
    • 设置订阅黑名单后,如果离开当前频道后再重新加入频道,黑名单依然生效。
    • +
    • 如果某个用户同时在音频订阅黑名单和白名单中,仅订阅黑名单生效。
    • +
    + +
    参数 - - uidList - blocklist - -

    订阅黑名单的用户 ID 列表。

    -

    如果你想指定不订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 方法更新订阅黑名单的用户 ID 列表,使其不包含你想移除的用户的 uid

    -
    -
    - - uidNumber - 黑名单用户 ID 列表中的用户数量。 - -
    + + uidList + blocklist + +

    订阅黑名单的用户 ID 列表。

    +

    如果你想指定不订阅某一发流用户的音频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 方法更新订阅黑名单的用户 ID + 列表,使其不包含你想移除的用户的 uid

    +
    +
    + + uidNumber + 黑名单用户 ID 列表中的用户数量。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita b/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita index d2fab3f8d34..3160568bf47 100644 --- a/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita +++ b/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita @@ -13,55 +13,67 @@

    - public abstract int setSubscribeVideoAllowlist(int[] uidList); - - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; - virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeVideoAllowlist(int[] uidList); + - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; + virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeVideoAllowlist(TArray<int64> uidList, int uidNumber); - abstract setSubscribeVideoAllowlist( + abstract setSubscribeVideoAllowlist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeVideoAllowlist(uint[] uidList, int uidNumber); - abstract setSubscribeVideoAllowlist( + public abstract int SetSubscribeVideoAllowlist(uint[] uidList, int uidNumber); + abstract setSubscribeVideoAllowlist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeVideoAllowlist( + Future<void> setSubscribeVideoAllowlist( {required List<int> uidList, required int uidNumber}); -

    +

    详情

    你可以调用该方法指定想要订阅的视频流。

    -
      -
    • -
    • 视频订阅白名单不受 以及 中的 autoSubscribeVideo 的影响。
    • -
    • -
    • -
    +
      +
    • +
    • 视频订阅白名单不受 以及 中的 + autoSubscribeVideo 的影响。
    • +
    • +
    • +
    + +
    参数 - - uidList - -

    视频订阅白名单的用户 ID 列表。

    -

    如果你想指定仅订阅某一发流用户的视频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅白名单中移除,需要重新调用 方法更新音频订阅白名单的用户 ID 列表,使其不包含你想移除的用户的 uid

    -
    -
    - - - - -
    + + uidList + +

    视频订阅白名单的用户 ID 列表。

    +

    如果你想指定仅订阅某一发流用户的视频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅白名单中移除,需要重新调用 方法更新音频订阅白名单的用户 ID + 列表,使其不包含你想移除的用户的 uid

    +
    +
    + + + + + +
    <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 8a9c67e7a65..71dc69e5984 100644 --- a/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblocklist.dita +++ b/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblocklist.dita @@ -13,56 +13,68 @@

    - public abstract int setSubscribeVideoBlocklist(int[] uidList); - - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist; - virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeVideoBlocklist(int[] uidList); + - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist; + virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeVideoBlocklist(TArray<int64> uidList, int uidNumber); - abstract setSubscribeVideoBlocklist( + abstract setSubscribeVideoBlocklist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeVideoBlocklist(uint[] uidList, int uidNumber); - abstract setSubscribeVideoBlocklist( + public abstract int SetSubscribeVideoBlocklist(uint[] uidList, int uidNumber); + abstract setSubscribeVideoBlocklist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeVideoBlocklist( + Future<void> setSubscribeVideoBlocklist( {required List<int> uidList, required int uidNumber}); -

    +

    详情

    你可以调用该方法指定不订阅的视频流。

    -
      -
    • -
    • 视频订阅黑名单不受 以及 中的 autoSubscribeVideo 的影响。
    • -
    • -
    • -
    +
      +
    • +
    • 视频订阅黑名单不受 以及 中的 + autoSubscribeVideo 的影响。
    • +
    • +
    • +
    + +
    参数 - - uidList - blocklist - -

    视频订阅黑名单的用户 ID 列表。

    -

    如果你想指定不订阅某一发流用户的视频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 方法更新订阅黑名单的用户 ID 列表,使其不包含你想移除的用户的 uid

    -
    -
    - - - - -
    + + uidList + blocklist + +

    视频订阅黑名单的用户 ID 列表。

    +

    如果你想指定不订阅某一发流用户的视频流,将该用户的 ID 加入此列表中。如果你想要将某一用户从订阅黑名单中移除,需要重新调用 方法更新订阅黑名单的用户 ID + 列表,使其不包含你想移除的用户的 uid

    +
    +
    + + + + + +
    <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 a219dec226e..85eaaca6f08 100644 --- a/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita @@ -1,56 +1,72 @@ - <ph keyref="setupLocalVideo" /> + <ph keyref="setupLocalVideo"/> 初始化本地视图。 - +

    - public abstract int setupLocalVideo(VideoCanvas local); - - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local; - virtual int setupLocalVideo(const VideoCanvas& canvas) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setupLocalVideo(VideoCanvas local); + - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local; + virtual int setupLocalVideo(const VideoCanvas& canvas) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setupLocalVideo(canvas: VideoCanvas): number; + public abstract int SetupLocalVideo(VideoCanvas canvas); + abstract setupLocalVideo(canvas: VideoCanvas): number; + Future<void> setupLocalVideo(VideoCanvas canvas); +

    详情

    该方法初始化本地视图并设置本地用户视频显示属性,只影响本地用户看到的视频画面,不影响本地发布视频。调用该方法绑定本地视频流的显示视窗(view),并设置本地用户视图的渲染模式和镜像模式。

    -

    在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。退出频道后,绑定仍然有效,如果需要解除绑定,可以调用该方法将参数 view 设为

    -

    在实时互动场景下,如果你需要在本地视频预览的画面中同时看到多个预览画面、且不同画面分别处于视频链路上不同观测点,可以重复调用该方法设置不同的 view,并针对每个 view 设置不同的观测位置。例如:将视频源设置为摄像头,然后对应两个 view 分别设置 position,即可在本地视频预览中同时看到没有经过视频前处理的原始画面和已经过视频前处理(美颜、虚拟背景、水印本地预览)的画面。

    +

    在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。退出频道后,绑定仍然有效,如果需要解除绑定,可以调用该方法将参数 + view 设为

    +

    在实时互动场景下,如果你需要在本地视频预览的画面中同时看到多个预览画面、且不同画面分别处于视频链路上不同观测点,可以重复调用该方法设置不同的 + view,并针对每个 view + 设置不同的观测位置。例如:将视频源设置为摄像头,然后对应两个 view 分别设置 + position 和 + ,即可在本地视频预览中同时看到没有经过视频前处理的原始画面和已经过视频前处理(美颜、虚拟背景、水印本地预览)的画面。

    -
      -
    • 如果你想要在原生窗口上渲染图像,请调用此方法;如果你仅需在 Unity 项目内渲染图像,可直接通过 类来实现。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    • 如果你希望在通话中更新本地用户视图的渲染或镜像模式,请使用 方法。
    • -
    • 如果想要停止渲染视图,需要将 view 设为 后再次调用该方法,以停止渲染并清理渲染缓存。
    • -
    +
      +
    • 如果你想要在原生窗口上渲染图像,请调用此方法;如果你仅需在 Unity 项目内渲染图像,可直接通过 类来实现。
    • +
    • 该方法在加入频道前后都能调用。
    • +
    • 如果你希望在通话中更新本地用户视图的渲染或镜像模式,请使用 + 方法。
    • +
    • 如果想要停止渲染视图,需要将 view 设为 后再次调用该方法,以停止渲染并清理渲染缓存。
    • +
    + +
    参数 - - canvas - local - 本地视频显示属性。详见 - -
    + + canvas + local + 本地视频显示属性。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 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 062765252ef..38b04318eac 100644 --- a/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita +++ b/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita @@ -13,48 +13,62 @@

    - public abstract int setupRemoteVideo(VideoCanvas remote); - - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote; - virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setupRemoteVideo(VideoCanvas remote); + - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote; + virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetupRemoteVideo(const FVideoCanvas& canvas); - abstract setupRemoteVideo(canvas: VideoCanvas): number; - public abstract int SetupRemoteVideo(VideoCanvas canvas); - abstract setupRemoteVideo(canvas: VideoCanvas): number; - Future<void> setupRemoteVideo(VideoCanvas canvas); -

    + abstract setupRemoteVideo(canvas: VideoCanvas): number; + public abstract int SetupRemoteVideo(VideoCanvas canvas); + abstract setupRemoteVideo(canvas: VideoCanvas): number; + Future<void> setupRemoteVideo(VideoCanvas canvas); +

    详情

    该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。

    -

    调用该方法时需要指定远端视频的用户 ID,一般可以在进频道前提前设置好。如果无法在加入频道前得到远端用户的 ID,可以在收到 回调时调用该方法。

    +

    调用该方法时需要指定远端视频的用户 ID,一般可以在进频道前提前设置好。如果无法在加入频道前得到远端用户的 ID,可以在收到 回调时调用该方法。

    如需解除某个远端用户的绑定视图,可以调用该方法并将 view 设置为空。

    离开频道后,SDK 会清除远端用户视图的绑定关系。

    -

    在移动端自定义合图布局场景下,你可以调用该方法并针对合图视频流的每一路子视频流设置一个单独的 view 进行渲染。

    +

    在移动端自定义合图布局场景下,你可以调用该方法并针对合图视频流的每一路子视频流设置一个单独的 view 进行渲染。

    -
      -
    • 如果你想要在原生窗口上渲染图像,请调用此方法;如果你仅需在 Unity 项目内渲染图像,可直接通过 类来实现。
    • -
    • 如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 方法。
    • -
    • 如果你使用了录制服务,录制服务会作为一个哑客户端加入频道,因此也会触发 回调。由于录制服务不会发送视频流,App 无需为它绑定视图。如果 App 无法识别哑客户端,可以在收到 回调时再绑定远端用户视图。
    • -
    • 如果想要停止渲染视图,需要将 view 设为 后再次调用该方法,以停止渲染并清理渲染缓存。
    • -
    +
      +
    • 如果你想要在原生窗口上渲染图像,请调用此方法;如果你仅需在 Unity 项目内渲染图像,可直接通过 类来实现。
    • +
    • 如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 + 方法。
    • +
    • 如果你使用了录制服务,录制服务会作为一个哑客户端加入频道,因此也会触发 + 回调。由于录制服务不会发送视频流,App 无需为它绑定视图。如果 App 无法识别哑客户端,可以在收到 回调时再绑定远端用户视图。
    • +
    • 如果想要停止渲染视图,需要将 view 设为 后再次调用该方法,以停止渲染并清理渲染缓存。
    • +
    + +
    参数 - - canvas - remote - -

    远端视频显示属性。详见

    -
    -
    -
    + + canvas + remote + +

    远端视频显示属性。详见

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 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 a63dfadd0bd..b085179cb2d 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita @@ -1,8 +1,12 @@ - <ph keyref="setVideoDenoiserOptions"/> - 设置视频降噪功能。 + + <ph keyref="setVideoDenoiserOptions"/> + + + 设置视频降噪功能。 + @@ -13,74 +17,83 @@

    - public abstract int setVideoDenoiserOptions(boolean enabled, VideoDenoiserOptions options); + 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|RtcEngineProxy") + virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetVideoDenoiserOptions(bool enabled, const FVideoDenoiserOptions& options, EMEDIA_SOURCE_TYPE type); - abstract setVideoDenoiserOptions( + abstract setVideoDenoiserOptions( enabled: boolean, options: VideoDenoiserOptions, type?: MediaSourceType ): number; - public abstract int SetVideoDenoiserOptions(bool enabled, VideoDenoiserOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setVideoDenoiserOptions( + public abstract int SetVideoDenoiserOptions(bool enabled, VideoDenoiserOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); + abstract setVideoDenoiserOptions( enabled: boolean, options: VideoDenoiserOptions, type?: MediaSourceType ): number; - Future<void> setVideoDenoiserOptions( + Future<void> setVideoDenoiserOptions( {required bool enabled, required VideoDenoiserOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    详情

    采光不足的环境和低端视频采集设备会使视频图像含有明显的噪声,影响视频画质。在实时互动场景下,视频噪声还会在编码过程中占用码流资源并降低编码效率。

    你可以调用该方法开启视频降噪功能并设置视频降噪的效果。

    -
      -
    • 请在 后调用该方法。
    • -
    • 视频降噪对设备性能有一定要求。开启视频降噪后,如果设备出现严重发烫等问题,建议你将视频降噪等级修改为消耗性能较少的等级或关闭视频降噪功能。
    • -
    • 该方法和 均可开启视频降噪功能: -
        -
      • 当你使用 SDK 采集视频时,建议使用该方法(该方法只可对 SDK 采集的视频起作用)。
      • -
      • 当你使用外部的视频源实现自定义视频采集,或者将外部视频源发送给 SDK 时,建议使用 方法。
      • -
    • -
    • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    +
  • 请在 后调用该方法。
  • +
  • 视频降噪对设备性能有一定要求。开启视频降噪后,如果设备出现严重发烫等问题,建议你将视频降噪等级修改为消耗性能较少的等级或关闭视频降噪功能。
  • +
  • 该方法和 均可开启视频降噪功能:
      +
    • 当你使用 SDK 采集视频时,建议使用该方法(该方法只可对 SDK 采集的视频起作用)。
    • +
    • 当你使用外部的视频源实现自定义视频采集,或者将外部视频源发送给 SDK 时,建议使用 方法。
    • +
  • +
  • 该方法依赖于视频增强动态库 ,如果删除该动态库会导致无法正常开启该功能。
  • + + +
    参数 - - enabled - enable - 是否开启视频降噪功能: - -
      -
    • : 开启视频降噪功能。
    • -
    • :(默认)关闭视频降噪功能。
    • -
    -
    - - options - 视频降噪选项,用于设置视频降噪的效果。详见 - - - - - -
    + + enabled + enable + 是否开启视频降噪功能:
      +
    • + : 开启视频降噪功能。
    • +
    • + :(默认)关闭视频降噪功能。
    • +
    +
    +
    + + options + 视频降噪选项,用于设置视频降噪的效果。详见 + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita b/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita index 2ba73e8ff24..e8ce2b68da8 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita @@ -1,8 +1,12 @@ - <ph keyref="setVideoDenoiserOptions2"/> - 设置视频降噪功能并指定媒体源。 + + <ph keyref="setVideoDenoiserOptions2"/> + + + 设置视频降噪功能并指定媒体源。 + @@ -13,49 +17,56 @@

    - public abstract int setVideoDenoiserOptions( + public abstract int setVideoDenoiserOptions( boolean enabled, VideoDenoiserOptions options, Constants.MediaSourceType sourceType); - - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:sourceType:)); - - - - - - -

    + - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:sourceType:)); + + + + + + +

    详情

    采光不足的环境和低端视频采集设备会使视频图像含有明显的噪声,影响视频画质。在实时互动场景下,视频噪声还会在编码过程中占用码流资源并降低编码效率。

    -

    该方法和 均可用于设置视频降噪功能,区别在于该方法支持在设置视频降噪功能时指定应用视频降噪功能的媒体源。

    +

    该方法和 + 均可用于设置视频降噪功能,区别在于该方法支持在设置视频降噪功能时指定应用视频降噪功能的媒体源。

    参数 - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + +
    <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 dda18681c5e..ab14e3e2923 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita @@ -13,46 +13,58 @@

    - public abstract int setVideoEncoderConfiguration(VideoEncoderConfiguration config); - - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; - virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setVideoEncoderConfiguration(VideoEncoderConfiguration config); + - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; + virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetVideoEncoderConfiguration(const FVideoEncoderConfiguration& config); - abstract setVideoEncoderConfiguration( + abstract setVideoEncoderConfiguration( config: VideoEncoderConfiguration ): number; - public abstract int SetVideoEncoderConfiguration(VideoEncoderConfiguration config); - abstract setVideoEncoderConfiguration( + public abstract int SetVideoEncoderConfiguration(VideoEncoderConfiguration config); + abstract setVideoEncoderConfiguration( config: VideoEncoderConfiguration ): number; - Future<void> setVideoEncoderConfiguration(VideoEncoderConfiguration config); -

    + Future<void> setVideoEncoderConfiguration(VideoEncoderConfiguration config); +

    详情

    设置本地视频的编码属性。每一种视频编码属性对应一系列视频相关参数设置,包含分辨率、帧率和码率。

    -

    该方法的 config 参数设置是在理想网络状态下能达到的最大值。如果网络状态不好,视频引擎便不能使用该 config 渲染本地视频,它会自动降低到一个合适的视频参数设置。

    +

    该方法的 config 参数设置是在理想网络状态下能达到的最大值。如果网络状态不好,视频引擎便不能使用该 + config 渲染本地视频,它会自动降低到一个合适的视频参数设置。

    -
      -
    • 该方法在加入频道前后都能调用。如果用户在加入频道后不需要重新设置视频编码属性,则建议在 前调用该方法,可以加快首帧出图的时间。
    • -
    • 该方法和 方法均支持设置镜像效果,声网建议你仅选择一种方法进行设置,同时使用两种方法会导致镜像效果叠加从而造成设置镜像失败。
    • -
    - 该方法在加入频道前后都能调用。如果用户在加入频道后不需要重新设置视频编码属性,则建议在 前调用该方法,可以加快首帧出图的时间。 - 该方法只能在加入频道前调用。建议在 前调用该方法,可以加快首帧出图的时间。
    +
      +
    • 该方法在加入频道前后都能调用。如果用户在加入频道后不需要重新设置视频编码属性,则建议在 + 前调用该方法,可以加快首帧出图的时间。
    • +
    • 该方法和 + 方法均支持设置镜像效果,声网建议你仅选择一种方法进行设置,同时使用两种方法会导致镜像效果叠加从而造成设置镜像失败。
    • +
    + 该方法在加入频道前后都能调用。如果用户在加入频道后不需要重新设置视频编码属性,则建议在 + 前调用该方法,可以加快首帧出图的时间。 + 该方法只能在加入频道前调用。建议在 + 前调用该方法,可以加快首帧出图的时间。 +
    参数 - - config - 视频编码参数配置。详见 - -
    + + config + 视频编码参数配置。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideoprofile.dita b/dita/RTC-NG/API/api_irtcengine_setvideoprofile.dita index a1a21327566..564dcb482e8 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideoprofile.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideoprofile.dita @@ -13,50 +13,57 @@

    - public abstract int setVideoProfile(int profile, boolean swapWidthAndHeight); - - (int)setVideoProfile:(AgoraVideoProfile)profile + public abstract int setVideoProfile(int profile, boolean swapWidthAndHeight); + - (int)setVideoProfile:(AgoraVideoProfile)profile swapWidthAndHeight:(BOOL)swapWidthAndHeight - virtual int setVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight) = 0; - - public abstract int SetVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight = false); - - -

    + virtual int setVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight) = 0; + + public abstract int SetVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight = false); + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。请改用 方法。
    -
    + +
    弃用:
    +
    该方法已废弃。请改用 方法。
    +
    -

    该方法设置视频的编码属性。该方法在加入频道前后都能调用。 如果用户加入频道后不需要重新设置视频编码属性,则建议在 前调用该方法,可以加快首帧出图的时间。

    +

    该方法设置视频的编码属性。该方法在加入频道前后都能调用。 如果用户加入频道后不需要重新设置视频编码属性,则建议在 + 前调用该方法,可以加快首帧出图的时间。

    参数 - - profile - -

    视频属性。详见

    -
    -
    - - swapWidthAndHeight - -

    SDK 会按照你选择的视频属性 (profile) 输出固定宽高的视频。该参数设置是否交换宽和高:

    -
      -
    • : 交换宽和高
    • -
    • : 不交换宽和高(默认)
    • -
    -
    -
    + + profile + +

    视频属性。详见

    +
    +
    + + swapWidthAndHeight + +

    SDK 会按照你选择的视频属性 (profile) + 输出固定宽高的视频。该参数设置是否交换宽和高:

    +
      +
    • : 交换宽和高
    • +
    • : 不交换宽和高(默认)
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideoprofile2.dita b/dita/RTC-NG/API/api_irtcengine_setvideoprofile2.dita index ee402b598e0..312c3baa5dc 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideoprofile2.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideoprofile2.dita @@ -13,51 +13,53 @@

    - public abstract int setVideoProfile(int width, int height, int frameRate, int bitrate); - - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate; - - - - - -

    + public abstract int setVideoProfile(int width, int height, int frameRate, int bitrate); + - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate; + + + + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。请改用 方法。
    -
    + +
    弃用:
    +
    该方法已废弃。请改用 方法。
    +
    -

    该方法手动设置视频的编码属性。该方法在加入频道前后都能调用。 如果用户加入频道后不需要重新设置视频编码属性,则建议在 前调用该方法,可以加快首帧出图的时间。

    +

    该方法手动设置视频的编码属性。该方法在加入频道前后都能调用。 如果用户加入频道后不需要重新设置视频编码属性,则建议在 前调用该方法,可以加快首帧出图的时间。

    参数 - - width - 你想要设置的视频宽度,宽 × 高的最大值不超过 1280 × 720。 - - - height - 你想要设置的视频高度,宽 × 高的最大值不超过 1280 × 720。 - - - frameRate - 你想要设置的视频帧率,最高值不超过 30,如: 5、10、15、24、30 等。 - - - bitrate - 你想要设置的视频码率,需要开发者根据想要设置的视频的宽、高和帧率,根据 Bitrate 中的码率参考表,手动推算出合适值。宽和高固定的情况下,码率随帧率的变化而变化: -
      -
    • 如选取的帧率为 5 FPS,则推算码率为上表推荐码率除以 2。
    • -
    • 如选取的帧率为 15 FPS,则推算码率为上表推荐码率。
    • -
    • 如选取的帧率为 30 FPS,则推算码率为上表码率乘以 1.5。
    • -
    • 如选取其余帧率,等比例推算即可。
    • -
    • 如设置的视频码率超出合理范围,SDK 会自动按照合理区间处理码率。
    • -
    -
    -
    + + width + 你想要设置的视频宽度,宽 × 高的最大值不超过 1280 × 720。 + + + height + 你想要设置的视频高度,宽 × 高的最大值不超过 1280 × 720。 + + + frameRate + 你想要设置的视频帧率,最高值不超过 30,如: 5、10、15、24、30 等。 + + + bitrate + 你想要设置的视频码率,需要开发者根据想要设置的视频的宽、高和帧率,根据 Bitrate + 中的码率参考表,手动推算出合适值。宽和高固定的情况下,码率随帧率的变化而变化:
      +
    • 如选取的帧率为 5 FPS,则推算码率为上表推荐码率除以 2。
    • +
    • 如选取的帧率为 15 FPS,则推算码率为上表推荐码率。
    • +
    • 如选取的帧率为 30 FPS,则推算码率为上表码率乘以 1.5。
    • +
    • 如选取其余帧率,等比例推算即可。
    • +
    • 如设置的视频码率超出合理范围,SDK 会自动按照合理区间处理码率。
    • +
    +
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideoqualityparameters.dita b/dita/RTC-NG/API/api_irtcengine_setvideoqualityparameters.dita index 4c9dd426360..0884c8e8dc9 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideoqualityparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideoqualityparameters.dita @@ -13,43 +13,46 @@

    - public abstract int setVideoQualityParameters(boolean preferFrameRateOverImageQuality); - - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality; - virtual int setVideoQualityParameters(bool preferFrameRateOverImageQuality) = 0; - - public abstract int SetVideoQualityParameters(bool preferFrameRateOverImageQuality); - - -

    + public abstract int setVideoQualityParameters(boolean preferFrameRateOverImageQuality); + - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality; + virtual int setVideoQualityParameters(bool preferFrameRateOverImageQuality) = 0; + + public abstract int SetVideoQualityParameters(bool preferFrameRateOverImageQuality); + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。建议使用 类中的 degradationPreference 参数设置视频质量偏好。
    -
    + +
    弃用:
    +
    该方法已废弃。建议使用 类中的 + degradationPreference 参数设置视频质量偏好。
    +
    参数 - - preferFrameRateOverImageQuality - -

    画质和流畅度里,是否优先保证流畅度: -

      -
    • :优先保证流畅度。
    • -
    • : (默认)优先保证画质。
    • -

    -
    -
    -
    + + preferFrameRateOverImageQuality + +

    画质和流畅度里,是否优先保证流畅度:

      +
    • :优先保证流畅度。
    • +
    • : (默认)优先保证画质。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideorenderdimension.dita b/dita/RTC-NG/API/api_irtcengine_setvideorenderdimension.dita index e9733430ec3..627f0653f1f 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideorenderdimension.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideorenderdimension.dita @@ -13,42 +13,45 @@

    - - - - - - - -

    + + + + + + + +

    详情

    SDK 会自动控制 JavaScript 层视频渲染,如果你觉得应用显示的视频分辨率过低,你可以调用该方法设置视频渲染分辨率。

    -
      -
    • 该方法只影响本地渲染,不影响远端用户所见。
    • -
    • 为保证视频质量,请在设置视频渲染帧率时,相应地调整视频渲染分辨率。详见
    • -
    +
      +
    • 该方法只影响本地渲染,不影响远端用户所见。
    • +
    • 为保证视频质量,请在设置视频渲染帧率时,相应地调整视频渲染分辨率。详见
    • +
    + +
    参数 - - user - 视频所属的用户,详见 - - - width - 视频的宽度 (px)。 - - - height - 视频的高度 (px)。 - - - channelId - 标识视频渲染所属的频道的 ID。仅在多频道场景下需要设置该参数。 - -
    + + user + 视频所属的用户,详见 + + + width + 视频的宽度 (px)。 + + + height + 视频的高度 (px)。 + + + channelId + 标识视频渲染所属的频道的 ID。仅在多频道场景下需要设置该参数。 + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideorenderfps.dita b/dita/RTC-NG/API/api_irtcengine_setvideorenderfps.dita index 9c51bb96c29..1a25a259cf6 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideorenderfps.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideorenderfps.dita @@ -13,30 +13,34 @@

    - - - - - - - -

    + + + + + + + +

    详情

    SDK 会自动控制 JavaScript 层视频渲染,如果你觉得应用显示的视频帧率过低,你可以调用该方法设置视频渲染帧率。

    -
      -
    • 该方法只影响本地渲染,不影响远端用户所见。
    • -
    • 为保证视频质量,请在设置视频渲染分辨率时,相应地调整视频渲染帧率。详见
    • -
    +
      +
    • 该方法只影响本地渲染,不影响远端用户所见。
    • +
    • 为保证视频质量,请在设置视频渲染分辨率时,相应地调整视频渲染帧率。详见
    • +
    + +
    参数 - - fps - 本地视频渲染帧率 (fps)。不能超过 30 fps。 - -
    + + fps + 本地视频渲染帧率 (fps)。不能超过 30 fps。 + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita b/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita index 5ef7068654d..1ef44b8d1cd 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita @@ -13,23 +13,24 @@

    - public abstract int setVideoScenario(Constants.VideoScenario scenarioType); - - (int)setVideoScenario:(AgoraApplicationScenarioType)scenarioType NS_SWIFT_NAME(setVideoScenario(_:)); - virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setVideoScenario(Constants.VideoScenario scenarioType); + - (int)setVideoScenario:(AgoraApplicationScenarioType)scenarioType NS_SWIFT_NAME(setVideoScenario(_:)); + virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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);

    + abstract setVideoScenario(scenarioType: VideoApplicationScenarioType): number; + public abstract int SetVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType); + abstract setVideoScenario(scenarioType: VideoApplicationScenarioType): number; + Future<void> setVideoScenario(VideoApplicationScenarioType scenarioType); +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +

    成功调用该方法设置视频业务场景后,SDK 会基于指定场景启用最佳实践策略,自动调整关键性能指标,进而优化视频体验质量。

    该方法需要在加入频道前调用。 @@ -37,60 +38,71 @@
    参数 - - scenarioType - 视频业务场景。详见 。 -

    设置为 (1) 后,SDK 会启用以下策略: -

      -
    • 针对会议场景对小流码率要求较高的情况,自动启用多项抗弱网技术,提升小流的抗弱网能力,确保多路流订阅时接收端的流畅性。
    • -
    • 实时监测接收端大流的订阅人数,根据订阅人数动态调节大流配置:
        -
      • 无人订阅大流时,会自动降低大流的码率和帧率,节省上行带宽和消耗。
      • -
      • 有人订阅大流时,大流会重置为用户最近一次调用 时的 配置。如果用户此前没有进行设置,则使用如下值: -
          -
        • 视频分辨率:桌面端为 1280 × 720;移动端为 960 × 540
        • -
        • 视频帧率:15 fps
        • -
        • 码率:桌面端为 1600 Kbps;移动端为 1000 Kbps
        • -
        -
          -
        • 视频分辨率:960 × 540
        • -
        • 视频帧率:15 fps
        • -
        • 码率:1000 Kbps
        • -
        -
          -
        • 视频分辨率:1280 × 720
        • -
        • 视频帧率:15 fps
        • -
        • 码率:1600 Kbps
        • -
        -
      -
    • -
    • 实时监测接收端小流的订阅人数,根据订阅人数动态开启和关闭小流: - 如果用户已调用 将小流设置为始终不发送 (),会议场景对小流的动态开关不生效。
        -
      • 无人订阅小流时,自动关闭小流,节省上行带宽和消耗。
      • -
      • 有人订阅小流时,开启小流并重置为用户最近一次调用 时的 配置。如果用户此前没有进行设置,则使用如下值: -
          -
        • 视频分辨率:480 × 272
        • -
        • 视频帧率:15 fps
        • -
        • 码率:500 Kbps
        • -
        -
      -
    • -
    -

    -
    -
    + + scenarioType + 视频业务场景。详见

    设置为 (1) 后,SDK 会启用以下策略:

      +
    • 针对会议场景对小流码率要求较高的情况,自动启用多项抗弱网技术,提升小流的抗弱网能力,确保多路流订阅时接收端的流畅性。
    • +
    • 实时监测接收端大流的订阅人数,根据订阅人数动态调节大流配置:
        +
      • 无人订阅大流时,会自动降低大流的码率和帧率,节省上行带宽和消耗。
      • +
      • 有人订阅大流时,大流会重置为用户最近一次调用 时的 + 配置。如果用户此前没有进行设置,则使用如下值:
          +
        • 视频分辨率:桌面端为 1280 × 720;移动端为 960 × 540
        • +
        • 视频帧率:15 fps
        • +
        • 码率:桌面端为 1600 Kbps;移动端为 1000 Kbps
        • +
        +
          +
        • 视频分辨率:960 × 540
        • +
        • 视频帧率:15 fps
        • +
        • 码率:1000 Kbps
        • +
        +
          +
        • 视频分辨率:1280 × 720
        • +
        • 视频帧率:15 fps
        • +
        • 码率:1600 Kbps
        • +
        +
      • +
      +
    • +
    • 实时监测接收端小流的订阅人数,根据订阅人数动态开启和关闭小流: 如果用户已调用 将小流设置为始终不发送 (),会议场景对小流的动态开关不生效。
        +
      • 无人订阅小流时,自动关闭小流,节省上行带宽和消耗。
      • +
      • 有人订阅小流时,开启小流并重置为用户最近一次调用 时的 + 配置。如果用户此前没有进行设置,则使用如下值:
          +
        • 视频分辨率:480 × 272
        • +
        • 视频帧率:15 fps
        • +
        • 码率:500 Kbps
        • +
        +
      • +
      +
    • +
    +

    +
    +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
        -
      • -1:一般性的错误(未明确归类)。
      • -
      • -4:不支持设置视频业务场景。可能的原因是当前使用的是音频 SDK。
      • -
      • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
      -
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
        +
      • -1:一般性的错误(未明确归类)。
      • +
      • -4:不支持设置视频业务场景。可能的原因是当前使用的是音频 SDK。
      • +
      • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • +
      +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvideosource.dita b/dita/RTC-NG/API/api_irtcengine_setvideosource.dita index 30f998c8229..7da770954d8 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvideosource.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvideosource.dita @@ -13,32 +13,36 @@

    - - - virtual bool setVideoSource(IVideoSource *source) = 0; - - - - -

    + + + virtual bool setVideoSource(IVideoSource *source) = 0; + + + + +

    详情 -

    实时通信过程中,SDK 会启动默认的视频输入设备,即内置的摄像头,采集视频。但是,如果你需要自定义视频输入设备,你可以先通过 类自定义视频源,再调用该方法将自定义的视频源加入到 SDK 中。

    - 该方法在加入频道前后都能调用。
    +

    实时通信过程中,SDK 会启动默认的视频输入设备,即内置的摄像头,采集视频。但是,如果你需要自定义视频输入设备,你可以先通过 类自定义视频源,再调用该方法将自定义的视频源加入到 SDK 中。

    + 该方法在加入频道前后都能调用。 +
    参数 - - source - 自定义的视频源。详细定义见 - -
    + + source + 自定义的视频源。详细定义见 + + +
    返回值
      -
    • : 自定义视频源添加成功。
    • -
    • : 自定义视频源添加失败。
    • -
    +
  • : 自定义视频源添加成功。
  • +
  • : 自定义视频源添加失败。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setview.dita b/dita/RTC-NG/API/api_irtcengine_setview.dita index 420941819c9..ff297bdb2b5 100644 --- a/dita/RTC-NG/API/api_irtcengine_setview.dita +++ b/dita/RTC-NG/API/api_irtcengine_setview.dita @@ -13,22 +13,23 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - renderConfig - 视频渲染配置。详见 - -
    + + renderConfig + 视频渲染配置。详见 + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita b/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita index 2ae2f796d7c..a139f9e952e 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita @@ -1,102 +1,98 @@ - <ph keyref="setVoiceBeautifierParameters" /> + <ph keyref="setVoiceBeautifierParameters"/> 设置预设美声效果的参数。 - +

    - public abstract int setVoiceBeautifierParameters(int preset, int param1, int param2); - - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2; - virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setVoiceBeautifierParameters(int preset, int param1, int param2); + - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2; + virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); - abstract setVoiceBeautifierParameters( + abstract setVoiceBeautifierParameters(preset: VoiceBeautifierPreset, param1: number, param2: number): number; + public abstract int SetVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2); + abstract setVoiceBeautifierParameters( preset: VoiceBeautifierPreset, param1: number, param2: number ): number; - Future<void> setVoiceBeautifierParameters( + Future<void> setVoiceBeautifierParameters( {required VoiceBeautifierPreset preset, required int param1, required int param2}); -

    +

    详情

    调用该方法可以设置歌唱美声效果的性别特征和混响效果。该方法对本地发流用户进行设置。设置后,频道内所有用户都能听到该效果。

    -

      -
    • 该方法在加入频道前后都能调用。
    • -
    • -
    • 该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
    • -
    • 调用 ,不建议调用以下方法,否则 设置的效果会被覆盖: - - -
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    +
  • 该方法在加入频道前后都能调用。
  • +
  • +
  • 该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
  • +
  • 调用 ,不建议调用以下方法,否则 设置的效果会被覆盖:
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • + + +
    参数 - - preset - 预设的音效: - - - -
      -
    • SINGING_BEAUTIFIER: 歌唱美声。
    • -
    -
    - - param1 - 歌声的性别特征: - - - -
      -
    • 1: 男声。
    • -
    • 2: 女声。
    • -
    -
    - - param2 - 歌声的混响效果: - - - -
      -
    • 1: 歌声在小房间的混响效果。
    • -
    • 2: 歌声在大房间的混响效果。
    • -
    • 3: 歌声在大厅的混响效果。
    • -
    -
    -
    + + preset + 预设的音效:
      +
    • SINGING_BEAUTIFIER: 歌唱美声。
    • +
    +
    +
    + + param1 + 歌声的性别特征:
      +
    • 1: 男声。
    • +
    • 2: 女声。
    • +
    +
    +
    + + param2 + 歌声的混响效果:
      +
    • 1: 歌声在小房间的混响效果。
    • +
    • 2: 歌声在大房间的混响效果。
    • +
    • 3: 歌声在大厅的混响效果。
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 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 3a4236a09c9..15cf4f4f7c9 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita @@ -1,97 +1,127 @@ - <ph keyref="setVoiceBeautifierPreset" /> + <ph keyref="setVoiceBeautifierPreset"/> 设置预设的美声效果。 - +

    - public abstract int setVoiceBeautifierPreset(int preset); - - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset; - virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setVoiceBeautifierPreset(int preset); + - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset; + virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setVoiceBeautifierPreset(preset: VoiceBeautifierPreset): number; + public abstract int SetVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset); + abstract setVoiceBeautifierPreset(preset: VoiceBeautifierPreset): number; + Future<void> setVoiceBeautifierPreset(VoiceBeautifierPreset preset); +

    详情 -

    调用该方法可以为本地发流用户设置预设的人声美化效果。设置美声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置不同的美声效果。各美声效果的适用场景可参考设置人声效果

    -

    为获取更好的人声效果,建议你在调用该方法前进行以下操作: -

      -
    • 调用 将音频场景设为高音质场景,即 (3)。
    • -
    • 调用 profile 设为 (4) 或 (5)。
    • -
    +

    调用该方法可以为本地发流用户设置预设的人声美化效果。设置美声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置不同的美声效果。各美声效果的适用场景可参考设置人声效果

    +

    为获取更好的人声效果,建议你在调用该方法前进行以下操作:

      +
    • 调用 将音频场景设为高音质场景,即 (3)。
    • +
    • 调用 将 + profile 设为 (4) 或 (5)。
    • +

    -
      -
    • 该方法在加入频道前后都能调用。
    • -
    • 请勿将 profile 参数设置为 (1)(6),否则该方法不生效。
    • -
    • 该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
    • -
    • 调用 ,不建议调用以下方法,否则 设置的效果会被覆盖:
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    • 该方法依赖于美声动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    +
  • 该方法在加入频道前后都能调用。
  • +
  • 请勿将 profile 参数设置为 + (1)(6),否则该方法不生效。
  • +
  • 该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
  • +
  • 调用 ,不建议调用以下方法,否则 设置的效果会被覆盖:
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • +
  • 该方法依赖于美声动态库 ,如果删除该动态库会导致无法正常开启该功能。
  • + + +
    参数 - - preset - -

    预设的美声效果选项,详见

    -

    预设的美声效果选项: -

      -
    • : 原声,即关闭美声效果。
    • -
    • : 磁性(男)。
    • -
    • : 清新(女)。
    • -
    • : 活力(女)。
    • -
    • : 歌唱美声。 -
        -
      • 如果调用 (),你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声,否则音频会失真。
      • -
      • 如果调用 (, param1, param2),你可以美化男声或女声并添加混响效果。
      • -
    • -
    • : 浑厚。
    • -
    • : 低沉。
    • -
    • : 圆润。
    • -
    • : 假音。
    • -
    • : 饱满。
    • -
    • : 清澈。
    • -
    • : 高亢。
    • -
    • : 嘹亮。
    • -
    • : 超高音质,即让音频更清晰、细节更丰富。 - -
        -
      • 为达到更好的效果,建议在调用该方法前将 profile 参数设置为 (4) 或 (5),且 scenario 参数设置为 (3)。
      • -
      • 如果用户的音频采集设备可以高度还原音频细节,建议你不要开启超高音质,否则 SDK 会过度还原音频细节,达不到预期效果。
      • -
    • -

    -
    -
    -
    + + preset + +

    预设的美声效果选项,详见 +

    +

    预设的美声效果选项:

      +
    • : 原声,即关闭美声效果。
    • +
    • : 磁性(男)。
    • +
    • : 清新(女)。
    • +
    • : 活力(女)。
    • +
    • : 歌唱美声。
        +
      • 如果调用 (),你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声,否则音频会失真。
      • +
      • 如果调用 (, param1, + param2),你可以美化男声或女声并添加混响效果。
      • +
      +
    • +
    • : 浑厚。
    • +
    • : 低沉。
    • +
    • : 圆润。
    • +
    • : 假音。
    • +
    • : 饱满。
    • +
    • : 清澈。
    • +
    • : 高亢。
    • +
    • : 嘹亮。
    • +
    • : 超高音质,即让音频更清晰、细节更丰富。
        +
      • 为达到更好的效果,建议在调用该方法前将 的 + profile 参数设置为 (4) 或 + (5),且 scenario 参数设置为 (3)。
      • +
      • 如果用户的音频采集设备可以高度还原音频细节,建议你不要开启超高音质,否则 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_setvoiceconversionparameters.dita b/dita/RTC-NG/API/api_irtcengine_setvoiceconversionparameters.dita index 2b0241223c2..115f1f56a11 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvoiceconversionparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvoiceconversionparameters.dita @@ -2,40 +2,41 @@ setVoiceConversionParameters - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    详情 -

    +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ 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 9ba4841223c..1327da8d7f0 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita @@ -13,66 +13,79 @@

    - public abstract int setVoiceConversionPreset(int preset); - - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset; - virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setVoiceConversionPreset(int preset); + - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset; + virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetVoiceConversionPreset(FENUMWRAP_VOICE_CONVERSION_PRESET preset); - abstract setVoiceConversionPreset(preset: VoiceConversionPreset): number; - public abstract int SetVoiceConversionPreset(VOICE_CONVERSION_PRESET preset); - abstract setVoiceConversionPreset(preset: VoiceConversionPreset): number; - Future<void> setVoiceConversionPreset(VoiceConversionPreset preset); -

    + abstract setVoiceConversionPreset(preset: VoiceConversionPreset): number; + public abstract int SetVoiceConversionPreset(VOICE_CONVERSION_PRESET preset); + abstract setVoiceConversionPreset(preset: VoiceConversionPreset): number; + Future<void> setVoiceConversionPreset(VoiceConversionPreset preset); +

    详情 -

    调用该方法可以为本地发流用户设置 SDK 预设的变声效果。设置变声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置不同的变声效果。

    -

    各变声效果的适用场景可参考

    +

    调用该方法可以为本地发流用户设置 SDK + 预设的变声效果。设置变声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置不同的变声效果。

    +

    各变声效果的适用场景可参考

    -

      -
    • 该方法在加入频道前后都能调用。
    • -
    • -
    • 该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
    • -
    • 调用 后,不建议调用以下方法,否则 设置的效果会被覆盖: -
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    • 该方法依赖于美声动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    +
  • 该方法在加入频道前后都能调用。
  • +
  • +
  • 该方法对人声的处理效果最佳,不建议调用该方法处理含音乐的音频数据。
  • +
  • 调用 后,不建议调用以下方法,否则 设置的效果会被覆盖:
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • +
  • 该方法依赖于美声动态库 ,如果删除该动态库会导致无法正常开启该功能。
  • + + +
    参数 - - preset - -

    预设的变声效果选项:

    -

    预设的变声效果选项: - -

      -
    • : 原声,即关闭变声效果。
    • -
    • : 中性。为避免音频失真,请确保仅对女声设置该效果。
    • -
    • : 甜美。为避免音频失真,请确保仅对女声设置该效果。
    • -
    • : 稳重。为避免音频失真,请确保仅对男声设置该效果。
    • -
    • : 低沉。为避免音频失真,请确保仅对男声设置该效果。
    • -

    -
    -
    -
    + + preset + +

    预设的变声效果选项: +

    +

    预设的变声效果选项:

      +
    • : 原声,即关闭变声效果。
    • +
    • : + 中性。为避免音频失真,请确保仅对女声设置该效果。
    • +
    • : + 甜美。为避免音频失真,请确保仅对女声设置该效果。
    • +
    • : + 稳重。为避免音频失真,请确保仅对男声设置该效果。
    • +
    • : 低沉。为避免音频失真,请确保仅对男声设置该效果。
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita b/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita index 73e1aba1df4..a24dd6de59c 100644 --- a/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita @@ -1,50 +1,55 @@ - <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 + - (int)setVolumeOfEffect:(int)soundId withVolume:(int)volume; - virtual int setVolumeOfEffect(int soundId, int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setVolumeOfEffect(int soundId, int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetVolumeOfEffect(int soundId, int volume); - abstract setVolumeOfEffect(soundId: number, volume: number): number; - public abstract int SetVolumeOfEffect(int soundId, int volume); - abstract setVolumeOfEffect(soundId: number, volume: number): number; - Future<void> setVolumeOfEffect({required int soundId, required int volume}); -

    + 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}); +

    参数 - - soundId - 指定音效的 ID。每个音效均有唯一的 ID。 - - - volume - 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 - -
    + + soundId + 指定音效的 ID。每个音效均有唯一的 ID。 + + + volume + 播放音量。取值范围为 [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_startaudioframedump.dita b/dita/RTC-NG/API/api_irtcengine_startaudioframedump.dita index 01513b9023c..a91f65be7d2 100644 --- a/dita/RTC-NG/API/api_irtcengine_startaudioframedump.dita +++ b/dita/RTC-NG/API/api_irtcengine_startaudioframedump.dita @@ -13,25 +13,26 @@

    - - - virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location, + + + virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location, const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0; - - - - -

    + + + + +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita b/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita index 399df139c1c..819ea2f89b8 100644 --- a/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita +++ b/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita @@ -1,100 +1,110 @@ - <ph keyref="startAudioMixing" /> + <ph keyref="startAudioMixing"/> 开始播放音乐文件。 - +

    - public abstract int startAudioMixing(String filePath, boolean loopback, int cycle); - - (int)startAudioMixing:(NSString * _Nonnull)filePath + public abstract int startAudioMixing(String filePath, boolean loopback, int cycle); + - (int)startAudioMixing:(NSString * _Nonnull)filePath loopback:(BOOL)loopback cycle:(NSInteger)cycle NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:)); - virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0; - abstract startAudioMixing(filePath: string, loopback: boolean, cycle: number, startPos?: number): number; - public abstract int StartAudioMixing(string filePath, bool loopback, int cycle); - abstract startAudioMixing( + virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0; + abstract startAudioMixing(filePath: string, loopback: boolean, cycle: number, startPos?: number): number; + public abstract int StartAudioMixing(string filePath, bool loopback, int cycle); + abstract startAudioMixing( filePath: string, loopback: boolean, cycle: number, startPos?: number ): number; - Future<void> startAudioMixing( + Future<void> startAudioMixing( {required String filePath, required bool loopback, required int cycle, int startPos = 0}); -

    +

    详情
    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    -

    该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 () 回调。播放结束后,本地会触发 () 回调。

    +

    该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 () 回调。播放结束后,本地会触发 () 回调。

    -
      -
    • 该方法在加入频道前后均可调用。如需多次调用 ,请确保调用间隔大于 500 ms。
    • -
    • 如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告警告码 701。
    • -
    • 在 Android 平台上调用该方法时,请注意如下事项:
        -
      • 请确保使用 Android 4.2 或以上设备,且 API Level 不低于 16。
      • -
      • 如果播放的是在线音乐文件,建议不要使用重定向地址。重定向地址在某些机型上可能无法打开。
      • -
      • 如果在模拟器上调用该方法,则请确保音乐文件在 /sdcard/ 目录下,且格式为 MP3。
      • -
    • -
    +
  • 该方法在加入频道前后均可调用。如需多次调用 ,请确保调用间隔大于 500 + ms。
  • +
  • 如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告警告码 701。
  • +
  • 在 Android + 平台上调用该方法时,请注意如下事项:
      +
    • 请确保使用 Android 4.2 或以上设备,且 API Level 不低于 16。
    • +
    • 如果播放的是在线音乐文件,建议不要使用重定向地址。重定向地址在某些机型上可能无法打开。
    • +
    • 如果在模拟器上调用该方法,则请确保音乐文件在 /sdcard/ 目录下,且格式为 MP3。
    • +
  • + + +
    参数 - - - - - - filePath - -

    - - - - loopback - -

    是否只在本地播放音乐文件: - -

      -
    • : 只在本地播放音乐文件,只有本地用户能听到音乐。
    • -
    • : 将本地播放的音乐文件发布至远端,本地用户和远端用户都能听到音乐。
    • -

    -
    -
    - - cycle - -

    音乐文件的播放次数。 - -

      -
    • ≥ 0: 播放次数。例如,0 表示不播放;1 表示播放 1 次。
    • -
    • -1: 无限循环播放。
    • -

    -
    -
    -
    + + + + + + filePath + +

    + + + + loopback + +

    是否只在本地播放音乐文件:

      +
    • : + 只在本地播放音乐文件,只有本地用户能听到音乐。
    • +
    • : + 将本地播放的音乐文件发布至远端,本地用户和远端用户都能听到音乐。
    • +

    +
    +
    + + cycle + +

    音乐文件的播放次数。

      +
    • ≥ 0: 播放次数。例如,0 表示不播放;1 表示播放 1 次。
    • +
    • -1: 无限循环播放。
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita b/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita index 434dbf25704..c6249074848 100644 --- a/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita +++ b/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita @@ -1,113 +1,117 @@ - <ph keyref="startAudioMixing2" /> + <ph keyref="startAudioMixing2"/> 开始播放音乐文件。 - +

    - public abstract int startAudioMixing(String filePath, boolean loopback, int cycle, int startPos); - - (int)startAudioMixing:(NSString* _Nonnull)filePath loopback:(BOOL)loopback cycle:(NSInteger)cycle startPos:(NSInteger)startPos; - virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startAudioMixing(String filePath, boolean loopback, int cycle, int startPos); + - (int)startAudioMixing:(NSString* _Nonnull)filePath loopback:(BOOL)loopback cycle:(NSInteger)cycle startPos:(NSInteger)startPos; + virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartAudioMixing(FString filePath, bool loopback, int cycle, int startPos = 0); - abstract startAudioMixing( + abstract startAudioMixing( filePath: string, loopback: boolean, cycle: number, startPos?: number ): number; - public abstract int StartAudioMixing(string filePath, bool loopback, int cycle, int startPos); - abstract startAudioMixing( + public abstract int StartAudioMixing(string filePath, bool loopback, int cycle, int startPos); + abstract startAudioMixing( filePath: string, loopback: boolean, cycle: number, startPos?: number ): number; - Future<void> startAudioMixing( + Future<void> startAudioMixing( {required String filePath, required bool loopback, required int cycle, int startPos = 0}); -

    +

    详情 -

    该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 () 回调。播放结束后,本地会触发 () 回调。

    +

    该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 () 回调。播放结束后,本地会触发 + () 回调。

    该方法支持播放以 content:// 开头的 URI 文件。

    -
      -
    • 该方法在加入频道前后均可调用。如需多次调用 ,请确保调用间隔大于 500 ms。
    • -
    • 如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告警告码 701。
    • -
    • 该方法支持的音频文件格式见 RTC SDK 支持播放哪些格式的音频文件
    • -
    • -
    • 在 Android 平台上调用该方法时,请注意如下事项: -
        -
      • 请确保使用 Android 4.2 或以上设备,且 API Level 不低于 16。
      • -
      • 如果播放的是在线音乐文件,建议不要使用重定向地址。重定向地址在某些机型上可能无法打开。
      • -
      • 如果在模拟器上调用该方法,则请确保音乐文件在 /sdcard/ 目录下,且格式为 MP3。
      • -
    • -
    +
  • 该方法在加入频道前后均可调用。如需多次调用 ,请确保调用间隔大于 500 + ms。
  • +
  • 如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告警告码 701。
  • +
  • 该方法支持的音频文件格式见 RTC SDK 支持播放哪些格式的音频文件
  • +
  • +
  • 在 Android 平台上调用该方法时,请注意如下事项:
      +
    • 请确保使用 Android 4.2 或以上设备,且 API Level 不低于 16。
    • +
    • 如果播放的是在线音乐文件,建议不要使用重定向地址。重定向地址在某些机型上可能无法打开。
    • +
    • 如果在模拟器上调用该方法,则请确保音乐文件在 /sdcard/ 目录下,且格式为 MP3。
    • +
  • + + +
    参数 - - - - - - loopback - -

    是否只在本地播放音乐文件: - -

      -
    • : 只在本地播放音乐文件,只有本地用户能听到音乐。
    • -
    • : 将本地播放的音乐文件发布至远端,本地用户和远端用户都能听到音乐。
    • -

    -
    -
    - - cycle - -

    音乐文件的播放次数。 - - - -

      -
    • ≥ 0: 播放次数。例如,0 表示不播放;1 表示播放 1 次。
    • -
    • -1: 无限循环播放。
    • -

    -
    -
    - - startPos - 音乐文件的播放位置,单位为毫秒。 - -
    + + + + + + loopback + +

    是否只在本地播放音乐文件:

      +
    • : + 只在本地播放音乐文件,只有本地用户能听到音乐。
    • +
    • : + 将本地播放的音乐文件发布至远端,本地用户和远端用户都能听到音乐。
    • +

    +
    +
    + + cycle + +

    音乐文件的播放次数。

      +
    • ≥ 0: 播放次数。例如,0 表示不播放;1 表示播放 1 次。
    • +
    • -1: 无限循环播放。
    • +

    +
    +
    + + startPos + 音乐文件的播放位置,单位为毫秒。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败 -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 设置了无效的参数。
      • -
      • -3:SDK 尚未准备好:
          -
        • 请检查是否已开启音频模块。
        • -
        • 请检查程序集完整性。
        • -
        • 初始化失败。请重新初始化
        • -
      • -
      -
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败
        +
      • -1: 一般性的错误(未明确归类)。
      • +
      • -2: 设置了无效的参数。
      • +
      • -3:SDK 尚未准备好:
          +
        • 请检查是否已开启音频模块。
        • +
        • 请检查程序集完整性。
        • +
        • 初始化失败。请重新初始化
        • +
      • +
      +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita b/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita index 93db65f6c7b..c808a892b9d 100644 --- a/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita +++ b/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita @@ -13,50 +13,54 @@

    - public abstract int startAudioRecording(String filePath, int quality); - - (int)startAudioRecording:(NSString * _Nonnull)filePath + public abstract int startAudioRecording(String filePath, int quality); + - (int)startAudioRecording:(NSString * _Nonnull)filePath quality:(AgoraAudioRecordingQuality)quality; - virtual int startAudioRecording(const char* filePath, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; - - public abstract int StartAudioRecording(string filePath, AUDIO_RECORDING_QUALITY_TYPE quality); - - -

    + virtual int startAudioRecording(const char* filePath, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; + + public abstract int StartAudioRecording(string filePath, AUDIO_RECORDING_QUALITY_TYPE quality); + + +

    详情 调用该方法时,默认的录音采样率为 32 kHz,不可修改。 -

    SDK 支持通话过程中在客户端进行录音。该方法录制频道内所有用户的音频,并生成一个包含所有用户声音的录音文件,录音文件格式可以为: - - -

      -
    • .wav: 文件大,音质保真度高;
    • -
    • .aac: 文件小,有一定的音质保真度损失。
    • -

    -

    请确保 App 里指定的目录存在且可写。该接口需在 之后调用。如果调用 时还在录音,录音会自动停止。

    +

    SDK 支持通话过程中在客户端进行录音。该方法录制频道内所有用户的音频,并生成一个包含所有用户声音的录音文件,录音文件格式可以为:

      +
    • .wav: 文件大,音质保真度高;
    • +
    • .aac: 文件小,有一定的音质保真度损失。
    • +
    +

    +

    请确保 App 里指定的目录存在且可写。该接口需在 之后调用。如果调用 时还在录音,录音会自动停止。

    参数 - - - - - - quality - 录音质量。详见 -
      -
    • 0: 低音质。采样率为 32 kHz,录制 10 分钟的文件大小为 1.2 M 左右。
    • -
    • 1: 中音质。采样率为 32 kHz,录制 10 分钟的文件大小为 2 M 左右。
    • -
    • 2: 高音质。采样率为 32 kHz,录制 10 分钟的文件大小为 3.75 M 左右。
    • -
    -
    -
    + + + + + + quality + 录音质量。详见 +
      +
    • 0: 低音质。采样率为 32 kHz,录制 10 分钟的文件大小为 1.2 M 左右。
    • +
    • 1: 中音质。采样率为 32 kHz,录制 10 分钟的文件大小为 2 M 左右。
    • +
    • 2: 高音质。采样率为 32 kHz,录制 10 分钟的文件大小为 3.75 M 左右。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startaudiorecording2.dita b/dita/RTC-NG/API/api_irtcengine_startaudiorecording2.dita index 8cbb4b9e938..2fc6fde7a60 100644 --- a/dita/RTC-NG/API/api_irtcengine_startaudiorecording2.dita +++ b/dita/RTC-NG/API/api_irtcengine_startaudiorecording2.dita @@ -13,63 +13,68 @@

    - - - virtual int startAudioRecording(const char* filePath, + + + virtual int startAudioRecording(const char* filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; - - public abstract int StartAudioRecording(string filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality); - - -

    + + public abstract int StartAudioRecording(string filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality); + + +

    详情 -

    SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内所有用户的音频,并得到一个包含所有用户声音的录音文件。录音文件格式可以为: - - -

      -
    • .wav: 文件大,音质保真度较高。
    • -
    • .aac: 文件小,音质保真度较低。
    • -

    +

    SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内所有用户的音频,并得到一个包含所有用户声音的录音文件。录音文件格式可以为:

      +
    • .wav: 文件大,音质保真度较高。
    • +
    • .aac: 文件小,音质保真度较低。
    • +
    +

    -
      -
    • 请确保你在该方法中指定的路径存在并且可写。
    • -
    • 该接口需在 之后调用。如果调用 时还在录音,录音会自动停止。
    • -
    • 为保证录音效果,当 sampleRate 设为 44.1 kHz 或 48 kHz 时,建议将 quality 设为
    • -
    +
      +
    • 请确保你在该方法中指定的路径存在并且可写。
    • +
    • 该接口需在 之后调用。如果调用 时还在录音,录音会自动停止。
    • +
    • 为保证录音效果,当 sampleRate 设为 44.1 kHz 或 48 kHz 时,建议将 + quality 设为
    • +
    + +
    参数 - - - - - - sampleRate - -

    录音采样率(Hz),可以设为以下值: - - -

      -
    • 16000
    • -
    • 32000(默认)
    • -
    • 44100
    • -
    • 48000
    • -

    -
    -
    - - quality - 录音音质。详见 - -
    + + + + + + sampleRate + +

    录音采样率(Hz),可以设为以下值:

      +
    • 16000
    • +
    • 32000(默认)
    • +
    • 44100
    • +
    • 48000
    • +
    +

    +
    +
    + + quality + 录音音质。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startaudiorecording3.dita b/dita/RTC-NG/API/api_irtcengine_startaudiorecording3.dita index af1bad04409..0b829b2817e 100644 --- a/dita/RTC-NG/API/api_irtcengine_startaudiorecording3.dita +++ b/dita/RTC-NG/API/api_irtcengine_startaudiorecording3.dita @@ -1,54 +1,58 @@ - <ph keyref="startAudioRecording3" /> + <ph keyref="startAudioRecording3"/> 开始客户端录音并进行录音配置。 - +

    - public abstract int startAudioRecording(AudioFileRecordingConfig config); - - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config; - virtual int startAudioRecording(const AudioFileRecordingConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startAudioRecording(AudioFileRecordingConfig config); + - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config; + virtual int startAudioRecording(const AudioFileRecordingConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartAudioRecording(const FAudioRecordingConfiguration& config); - abstract startAudioRecording(config: AudioRecordingConfiguration): number; - public abstract int StartAudioRecording(AudioRecordingConfiguration config); - abstract startAudioRecording(config: AudioRecordingConfiguration): number; - Future<void> startAudioRecording(AudioRecordingConfiguration config); -

    + abstract startAudioRecording(config: AudioRecordingConfiguration): number; + public abstract int StartAudioRecording(AudioRecordingConfiguration config); + abstract startAudioRecording(config: AudioRecordingConfiguration): number; + Future<void> startAudioRecording(AudioRecordingConfiguration config); +

    详情 -

    SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内用户的音频,并得到一个录音文件。录音文件格式可以为: - - -

      -
    • WAV: 音质保真度较高,文件较大。例如,采样率为 32000 Hz,录音时长为 10 分钟的文件大小约为 73 M。
    • -
    • AAC: 音质保真度较低,文件较小。例如,采样率为 32000 Hz,录音音质为 ,录音时长为 10 分钟的文件大小约为 2 M。
    • -

    +

    SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内用户的音频,并得到一个录音文件。录音文件格式可以为:

      +
    • WAV: 音质保真度较高,文件较大。例如,采样率为 32000 Hz,录音时长为 10 分钟的文件大小约为 73 M。
    • +
    • AAC: 音质保真度较低,文件较小。例如,采样率为 32000 Hz,录音音质为 ,录音时长为 10 分钟的文件大小约为 2 M。
    • +

    用户离开频道后,录音会自动停止。

    - 该方法需要在加入频道后调用。
    + 该方法需要在加入频道后调用。 +
    参数 - - config - 录音配置。详见 - -
    + + config + 录音配置。详见 + + +
    <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 373f293ff07..c526f305c3f 100644 --- a/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita @@ -13,66 +13,79 @@

    - public abstract int startCameraCapture( + public abstract int startCameraCapture( Constants.VideoSourceType sourceType, CameraCapturerConfiguration config); - - (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|RtcEngineProxy") + - (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|RtcEngineProxy") int StartCameraCapture(EVIDEO_SOURCE_TYPE sourceType, const FCameraCapturerConfiguration& config); - abstract startCameraCapture( + abstract startCameraCapture( sourceType: VideoSourceType, config: CameraCapturerConfiguration ): number; - public abstract int StartCameraCapture(VIDEO_SOURCE_TYPE sourceType, CameraCapturerConfiguration config); - abstract startCameraCapture( + public abstract int StartCameraCapture(VIDEO_SOURCE_TYPE sourceType, CameraCapturerConfiguration config); + abstract startCameraCapture( sourceType: VideoSourceType, config: CameraCapturerConfiguration ): number; - Future<void> startCameraCapture( + Future<void> startCameraCapture( {required VideoSourceType sourceType, required CameraCapturerConfiguration config}); -

    +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +

    调用该方法可以通过指定 sourceType 同时开启多路摄像头采集。

    - 在 iOS 平台上调用该方法前,如果要开启多路摄像头采集,需要在调用该方法前,先调用 并设置 enabled + 在 iOS + 平台上调用该方法前,如果要开启多路摄像头采集,需要在调用该方法前,先调用 并设置 + enabled
    参数 - - sourceType - -

    视频源的类型。详见

    -
      -
    • iOS 设备最多支持 2 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
    • -
    • Android 设备最多支持 4 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
    • -
    • 桌面端最多支持 4 路摄像头采集的视频流。
    • -
    -
    -
    + + sourceType + +

    视频源的类型。详见

    +
      +
    • iOS 设备最多支持 2 + 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
    • +
    • Android 设备最多支持 4 + 路摄像头采集的视频流(要求设备配备多摄像头或支持外接摄像头)。
    • +
    • 桌面端最多支持 4 + 路摄像头采集的视频流。
    • +
    +
    +
    - - config - -

    视频采集配置。详见

    - 在 iOS 平台上,该参数无实际作用。请使用 中的 config 参数设置视频采集配置。
    -
    -
    + + config + +

    视频采集配置。详见

    + 在 iOS 平台上,该参数无实际作用。请使用 + 中的 config + 参数设置视频采集配置。 +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startchannelmediarelay.dita b/dita/RTC-NG/API/api_irtcengine_startchannelmediarelay.dita index 66710e94fe8..f4791952327 100644 --- a/dita/RTC-NG/API/api_irtcengine_startchannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_startchannelmediarelay.dita @@ -13,66 +13,78 @@

    - public abstract int startChannelMediaRelay( + public abstract int startChannelMediaRelay( ChannelMediaRelayConfiguration channelMediaRelayConfiguration); - - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; - virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; + virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartChannelMediaRelay(const FChannelMediaRelayConfiguration& configuration) __deprecated; - abstract startChannelMediaRelay( + abstract startChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - abstract startChannelMediaRelay( + public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + abstract startChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - Future<void> startChannelMediaRelay( + Future<void> startChannelMediaRelay( ChannelMediaRelayConfiguration configuration); -

    +

    详情
    - -
    弃用:
    -
    该方法已废弃。请改用
    -
    + +
    弃用:
    +
    该方法已废弃。请改用
    +
    -

    成功调用该方法后,SDK 会触发 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。 -

      -
    • 如果 回调报告 (2) 和 (0),且 回调报告 (4), 则表示 SDK 开始在源频道和目标频道之间转发媒体流。
    • -
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • -

    +

    成功调用该方法后,SDK 会触发 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。

      +
    • 如果 回调报告 (2) 和 (0),且 + 回调报告 (4), 则表示 SDK + 开始在源频道和目标频道之间转发媒体流。
    • +
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • +
    +

    -
      -
    • 请在成功加入频道后调用该方法。
    • -
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • -
    • 成功调用该方法后,若你想再次调用该方法,必须先调用 方法退出当前的转发状态。
    • -
    • 跨频道媒体流转发功能需要开通。
    • -
    • 该功能不支持 String 型 UID。
    • -
    +
      +
    • 请在成功加入频道后调用该方法。
    • +
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • +
    • 成功调用该方法后,若你想再次调用该方法,必须先调用 + 方法退出当前的转发状态。
    • +
    • 跨频道媒体流转发功能需要开通。
    • +
    • 该功能不支持 String 型 UID。
    • +
    + +
    参数 - - channelMediaRelayConfiguration - config - configuration - 跨频道媒体流转发参数配置。详见 - -
    + + channelMediaRelayConfiguration + config + configuration + 跨频道媒体流转发参数配置。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。 -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -7: 方法调用被拒绝。可能因为 SDK 未初始化成功,或用户角色不是主播。
      • -
      • -8:内部状态错误。可能因为用户角色不是主播。
      • -
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -7: 方法调用被拒绝。可能因为 SDK 未初始化成功,或用户角色不是主播。
    • +
    • -8:内部状态错误。可能因为用户角色不是主播。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startdirectcdnstreaming.dita b/dita/RTC-NG/API/api_irtcengine_startdirectcdnstreaming.dita index 71b39706929..bb0e9df2dbf 100644 --- a/dita/RTC-NG/API/api_irtcengine_startdirectcdnstreaming.dita +++ b/dita/RTC-NG/API/api_irtcengine_startdirectcdnstreaming.dita @@ -1,79 +1,112 @@ - <ph keyref="startDirectCdnStreaming" /> + <ph keyref="startDirectCdnStreaming"/> 设置主播端开始直接向 CDN 推流。 - + -
    -

    - public abstract int startDirectCdnStreaming(IDirectCdnStreamingEventHandler eventHandler, + +

    +

    + public abstract int startDirectCdnStreaming(IDirectCdnStreamingEventHandler eventHandler, String publishUrl, DirectCdnStreamingMediaOptions options); - - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate publishUrl:(NSString * _Nonnull)publishUrl mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options; - virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler, + - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate publishUrl:(NSString * _Nonnull)publishUrl mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options; + virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler, const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartDirectCdnStreaming(UIDirectCdnStreamingEventHandler* eventHandler, FString publishUrl, FDirectCdnStreamingMediaOptions& options); - abstract startDirectCdnStreaming( + abstract startDirectCdnStreaming( eventHandler: IDirectCdnStreamingEventHandler, publishUrl: string, options: DirectCdnStreamingMediaOptions ): number; - public abstract int StartDirectCdnStreaming(string publishUrl, DirectCdnStreamingMediaOptions options); - abstract startDirectCdnStreaming( + public abstract int StartDirectCdnStreaming(string publishUrl, DirectCdnStreamingMediaOptions options); + abstract startDirectCdnStreaming( eventHandler: IDirectCdnStreamingEventHandler, publishUrl: string, options: DirectCdnStreamingMediaOptions ): number; - Future<void> startDirectCdnStreaming( + Future<void> startDirectCdnStreaming( {required DirectCdnStreamingEventHandler eventHandler, required String publishUrl, required DirectCdnStreamingMediaOptions options}); -

    +

    详情

    SDK 不支持同一时间向同一个 URL 重复推流。

    媒体选项说明

    -

    SDK 不支持 publishCameraTrackpublishCustomVideoTrack 同时为 ,也不支持 publishMicrophoneTrackpublishCustomAudioTrack 同时为 。你可以根据场景需求设置媒体选项 ()。示例如下:

    +

    SDK 不支持 publishCameraTrack 和 + publishCustomVideoTrack 同时为 ,也不支持 publishMicrophoneTrack 和 + publishCustomAudioTrack 同时为 。你可以根据场景需求设置媒体选项 ()。示例如下:

    如果你想推送主播端采集的音视频流,请将媒体选项进行如下设置:

      -
    • publishCustomAudioTrack 设为 并调用
    • -
    • publishCustomAudioTrack 设为 并调用
    • -
    • publishCustomVideoTrack 设为 并调用
    • -
    • 确保 publishCameraTrack (默认值)
    • -
    • 确保 publishMicrophoneTrack (默认值)
    • +
    • publishCustomAudioTrack 设为 并调用
    • +
    • publishCustomAudioTrack 设为 并调用
    • +
    • publishCustomVideoTrack 设为 并调用
    • +
    • 确保 publishCameraTrack (默认值)
    • +
    • 确保 publishMicrophoneTrack (默认值)
    -

    自 v4.2.0 起,SDK 支持推送纯音频流。你可以在 中将 publishCustomAudioTrack 或者 publishMicrophoneTrack 设为 ,并调用 即可推送纯音频流。 - 自 v4.2.0 起,SDK 支持推送纯音频流。你可以在 中将 publishCustomAudioTrack 或者 publishMicrophoneTrack 设为 ,并调用 即可推送纯音频流。 - 在向 CDN 直接推流时,SDK 目前仅支持推送一路音频流及视频流,或一路纯音频流。

    +

    自 v4.2.0 起,SDK + 支持推送纯音频流。你可以在 中将 + publishCustomAudioTrack 或者 + publishMicrophoneTrack 设为 ,并调用 + 即可推送纯音频流。 + 自 v4.2.0 起,SDK 支持推送纯音频流。你可以在 中将 + publishCustomAudioTrack 或者 + publishMicrophoneTrack 设为 ,并调用 即可推送纯音频流。 + 在向 CDN 直接推流时,SDK 目前仅支持推送一路音频流及视频流,或一路纯音频流。

    参数 - - eventHandler - delegate - 详见 - - - publishUrl - CDN 推流 URL。 - - - options - 主播端的媒体选项。详见 - -
    + + eventHandler + delegate + 详见 + + + publishUrl + CDN 推流 URL。 + + + options + 主播端的媒体选项。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startechotest.dita b/dita/RTC-NG/API/api_irtcengine_startechotest.dita index c9d6f3f13ff..acd86d3457d 100644 --- a/dita/RTC-NG/API/api_irtcengine_startechotest.dita +++ b/dita/RTC-NG/API/api_irtcengine_startechotest.dita @@ -1,57 +1,67 @@ - <ph keyref="startEchoTest1" /> - 开始语音通话回路测试。 + + <ph keyref="startEchoTest1"/> + + + 开始语音通话回路测试。 + - +

    - public abstract int startEchoTest(); - - (int)startEchoTest:(void(^ _Nullable) + public abstract int startEchoTest(); + - (int)startEchoTest:(void(^ _Nullable) (NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock; - virtual int startEchoTest() = 0; - abstract startEchoTest(intervalInSeconds?: number): number; - public abstract int StartEchoTest(); - -

    + virtual int startEchoTest() = 0; + abstract startEchoTest(intervalInSeconds?: number): number; + public abstract int StartEchoTest(); + + +

    详情
    - -
    弃用:
    -
    该方法已废弃,请改用
    -
    + +
    弃用:
    +
    该方法已废弃,请改用
    +
    -

    该方法启动语音通话测试,目的是测试系统的音频设备(耳麦、扬声器等)和网络连接是否正常。在测试过程中,用户先说一段话,声音会在 10 秒后回放出来。如果 10 秒后用户能正常听到自己刚才说的话,就表示系统音频设备和网络连接都是正常的。

    +

    该方法启动语音通话测试,目的是测试系统的音频设备(耳麦、扬声器等)和网络连接是否正常。在测试过程中,用户先说一段话,声音会在 10 秒后回放出来。如果 10 + 秒后用户能正常听到自己刚才说的话,就表示系统音频设备和网络连接都是正常的。

    -
      -
    • 请在加入频道前调用该方法。
    • -
    • - 调用 后必须调用 以结束测试,否则不能进行下一次回声测试,也无法加入频道。 -
    • -
    • 直播场景下,该方法仅能由用户角色为主播的用户调用。
    • -
    +
      +
    • 请在加入频道前调用该方法。
    • +
    • 调用 后必须调用 + 以结束测试,否则不能进行下一次回声测试,也无法加入频道。
    • +
    • 直播场景下,该方法仅能由用户角色为主播的用户调用。
    • +
    + +
    参数 - - successBlock - 成功开始语音通话测试回调。 - -
    + + successBlock + 成功开始语音通话测试回调。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_startechotest2.dita b/dita/RTC-NG/API/api_irtcengine_startechotest2.dita index da606f33031..15b938ee74a 100644 --- a/dita/RTC-NG/API/api_irtcengine_startechotest2.dita +++ b/dita/RTC-NG/API/api_irtcengine_startechotest2.dita @@ -1,65 +1,76 @@ - <ph keyref="startEchoTest2" /> - 开始语音通话回路测试。 + + <ph keyref="startEchoTest2"/> + + + 开始语音通话回路测试。 + - +

    - public abstract int startEchoTest(int intervalInSeconds); - - (int)startEchoTestWithInterval:(NSInteger)interval + public abstract int startEchoTest(int intervalInSeconds); + - (int)startEchoTestWithInterval:(NSInteger)interval successBlock:(void(^ _Nullable) (NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock; - virtual int startEchoTest(int intervalInSeconds) = 0; - abstract startEchoTest(intervalInSeconds?: number): number; - public abstract int StartEchoTest(int intervalInSeconds); - abstract startEchoTest(intervalInSeconds?: number): number; - Future<void> startEchoTest({int intervalInSeconds = 10}); -

    + virtual int startEchoTest(int intervalInSeconds) = 0; + abstract startEchoTest(intervalInSeconds?: number): number; + public abstract int StartEchoTest(int intervalInSeconds); + abstract startEchoTest(intervalInSeconds?: number): number; + Future<void> startEchoTest({int intervalInSeconds = 10}); +

    详情
    - -
    弃用:
    -
    该方法自 v4.0.1 废弃,请改用
    -
    + +
    弃用:
    +
    该方法自 v4.0.1 废弃,请改用
    +

    该方法启动语音通话测试,目的是测试系统的音频设备(耳麦、扬声器等)和网络连接是否正常。在测试过程中,用户先说一段话,声音会在设置的时间间隔(单位为秒)后回放出来。如果用户能正常听到自己刚才说的话,就表示系统音频设备和网络连接都是正常的。

    -
      -
    • 请在加入频道前调用该方法。
    • -
    • - 调用 后必须调用 以结束测试,否则不能进行下一次回声测试,也无法加入频道。 -
    • -
    • 直播场景下,该方法仅能由用户角色为主播的用户调用。
    • -
    +
      +
    • 请在加入频道前调用该方法。
    • +
    • 调用 后必须调用 + 以结束测试,否则不能进行下一次回声测试,也无法加入频道。
    • +
    • 直播场景下,该方法仅能由用户角色为主播的用户调用。
    • +
    + +
    参数 - - intervalInSeconds - interval - 设置返回语音通话回路测试结果的时间间隔,取值范围为 [2,10],单位为秒。 - - - successBlock - 成功开始语音通话测试回调。 - -
    + + intervalInSeconds + interval + 设置返回语音通话回路测试结果的时间间隔,取值范围为 [2,10],单位为秒。 + + + successBlock + 成功开始语音通话测试回调。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startechotest3.dita b/dita/RTC-NG/API/api_irtcengine_startechotest3.dita index bd605aa7b91..db32ba1761f 100644 --- a/dita/RTC-NG/API/api_irtcengine_startechotest3.dita +++ b/dita/RTC-NG/API/api_irtcengine_startechotest3.dita @@ -13,41 +13,46 @@

    - public abstract int startEchoTest(EchoTestConfiguration config); - - (int)startEchoTestWithConfig:(AgoraEchoTestConfiguration* _Nonnull)config; - virtual int startEchoTest(const EchoTestConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startEchoTest(EchoTestConfiguration config); + - (int)startEchoTestWithConfig:(AgoraEchoTestConfiguration* _Nonnull)config; + virtual int startEchoTest(const EchoTestConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartEchoTest(const FEchoTestConfiguration& config); - abstract startEchoTest(config: EchoTestConfiguration): number; - public abstract int StartEchoTest(EchoTestConfiguration config); - abstract startEchoTest(config: EchoTestConfiguration): number; - Future<void> startEchoTest(EchoTestConfiguration config); -

    + abstract startEchoTest(config: EchoTestConfiguration): number; + public abstract int StartEchoTest(EchoTestConfiguration config); + abstract startEchoTest(config: EchoTestConfiguration): number; + Future<void> startEchoTest(EchoTestConfiguration config); +

    详情

    为测试用户本地发流、收流是否正常,你可以调用该方法进行音视频通话回路测试,即测试系统的音视频设备和用户的上下行网络是否正常。

    -

    开始测试后,用户需发出声音或面对摄像头,音频或视频会在约 2 秒后播放出来。如果音频播放正常,则表示系统音频设备和用户上下行网络均正常; 如果视频播放正常,则表示系统视频设备和用户上下行网络均正常。 - -

      -
    • 该方法在加入频道前后均可调用。在频道内调用时,需确保当前没有发布音视频流。
    • -
    • 调用该方法后,必须调用 结束测试,否则该用户无法进行下一次音视频通话回路测试, 也无法加入频道。
    • -
    • 直播场景下,该方法仅能由主播调用。
    • -

    +

    开始测试后,用户需发出声音或面对摄像头,音频或视频会在约 2 秒后播放出来。如果音频播放正常,则表示系统音频设备和用户上下行网络均正常; + 如果视频播放正常,则表示系统视频设备和用户上下行网络均正常。 +

      +
    • 该方法在加入频道前后均可调用。在频道内调用时,需确保当前没有发布音视频流。
    • +
    • 调用该方法后,必须调用 结束测试,否则该用户无法进行下一次音视频通话回路测试, + 也无法加入频道。
    • +
    • 直播场景下,该方法仅能由主播调用。
    • +
    +

    参数 - - config - 音视频通话回路测试的配置。详见 - -
    + + config + 音视频通话回路测试的配置。详见 + + +
    返回值
      -
    • 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 c82417112ca..183030b5d6d 100644 --- a/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita +++ b/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita @@ -1,42 +1,49 @@ - <ph keyref="startLastmileProbeTest" /> - 开始通话前网络质量探测。 + + <ph keyref="startLastmileProbeTest"/> + + + 开始通话前网络质量探测。 + - +

    - public abstract int startLastmileProbeTest(LastmileProbeConfig config); - - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config; - virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startLastmileProbeTest(LastmileProbeConfig config); + - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config; + virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract startLastmileProbeTest(config: LastmileProbeConfig): number; + public abstract int StartLastmileProbeTest(LastmileProbeConfig config); + abstract startLastmileProbeTest(config: LastmileProbeConfig): number; + Future<void> startLastmileProbeTest(LastmileProbeConfig config); +

    详情

    开始通话前网络质量探测,向用户反馈上下行网络的带宽、丢包、网络抖动和往返时延数据。

    -

    启用该方法后,SDK 会依次返回如下 2 个回调: -

      -
    • ,视网络情况约 2 秒内返回。该回调通过打分反馈上下行网络质量,更贴近用户的主观感受。
    • -
    • ,视网络情况约 30 秒内返回。该回调通过具体数据反馈上下行网络质量,更加客观。
    • +

      启用该方法后,SDK 会依次返回如下 2 个回调:

        +
      • ,视网络情况约 2 + 秒内返回。该回调通过打分反馈上下行网络质量,更贴近用户的主观感受。
      • +
      • ,视网络情况约 30 + 秒内返回。该回调通过具体数据反馈上下行网络质量,更加客观。

      该方法需要在加入频道前调用,用于判断和预测目前的上行网络质量是否足够好。

        -
      • 调用该方法后,在收到 回调之前请不要调用其他方法,否则可能会由于 API 操作过于频繁导致此方法无法执行。
      • +
      • 调用该方法后,在收到 回调之前请不要调用其他方法,否则可能会由于 API + 操作过于频繁导致此方法无法执行。
      • 在直播场景中,如果本地用户为主播,请勿加入频道后调用该方法。
      @@ -44,17 +51,22 @@
      参数 - - config - Last mile 网络探测配置,详见 - -
      + + config + Last mile 网络探测配置,详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita b/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita index 50b776c1999..d454a5d2c9d 100644 --- a/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita +++ b/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita @@ -1,52 +1,60 @@ - <ph keyref="startLocalVideoTranscoder" /> + <ph keyref="startLocalVideoTranscoder"/> 开启本地合图。 - +

    - public abstract int startLocalVideoTranscoder(LocalTranscoderConfiguration config); - - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalVideoTranscoder(_:)); - virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0; + public abstract int startLocalVideoTranscoder(LocalTranscoderConfiguration config); + - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalVideoTranscoder(_:)); + virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartLocalVideoTranscoder(const FLocalTranscoderConfiguration& config); - abstract startLocalVideoTranscoder( + abstract startLocalVideoTranscoder( config: LocalTranscoderConfiguration ): number; - public abstract int StartLocalVideoTranscoder(LocalTranscoderConfiguration config); - abstract startLocalVideoTranscoder( + public abstract int StartLocalVideoTranscoder(LocalTranscoderConfiguration config); + abstract startLocalVideoTranscoder( config: LocalTranscoderConfiguration ): number; - Future<void> startLocalVideoTranscoder(LocalTranscoderConfiguration config); -

    + Future<void> startLocalVideoTranscoder(LocalTranscoderConfiguration config); +

    调用该方法后,你可以在本地将多路视频流合并为一路视频流。例如:将摄像头采集的视频流、屏幕共享流、媒体播放器中的视频流、远端视频流、视频文件、图片等合并为一路视频流,然后将已合图的视频流发布到频道中。

    - 适用场景 -

    你可以在远程会议、直播、在线教育等场景下开启本地合图功能,可以让用户更加方便地查看和管理多个视频画面,同时支持人像画中画等功能。

    -

    以下是一个实现人像画中画的典型场景: -

      -
    1. 调用 ,并将自定义背景图设置为 ,即:在摄像头采集的视频中将人像和背景分割。
    2. -
    3. 调用 ,开始采集屏幕共享视频流。
    4. -
    5. 调用该方法,并将采集人像的视频源设置为参与本地合图的视频源之一,即可在合图后的视频中实现人像画中画。
    6. + 适用场景 +

      你可以在远程会议、直播、在线教育等场景下开启本地合图功能,可以让用户更加方便地查看和管理多个视频画面,同时支持人像画中画等功能。

      +

      以下是一个实现人像画中画的典型场景:

        +
      1. 调用 ,并将自定义背景图设置为 ,即:在摄像头采集的视频中将人像和背景分割。
      2. +
      3. 调用 ,开始采集屏幕共享视频流。
      4. +
      5. 调用该方法,并将采集人像的视频源设置为参与本地合图的视频源之一,即可在合图后的视频中实现人像画中画。

    调用时机
      -
    • 如果你需要对本地采集的视频流进行合图,需要在 之后调用该方法。
    • -
    • 如果你要将合图后的视频流发布到频道中,需要在调用 时,将 中的 publishTranscodedVideoTrack 设置为
    • +
    • 如果你需要对本地采集的视频流进行合图,需要在 之后调用该方法。
    • +
    • 如果你要将合图后的视频流发布到频道中,需要在调用 时,将 中的 publishTranscodedVideoTrack 设置为
    @@ -54,12 +62,18 @@
    • 本地合图对 CPU 的消耗较高,声网建议你在性能较高的设备上开启该功能。
    • 如果你需要对本地采集的视频流进行合图,SDK 支持如下采集组合:
        -
      • 在 Windows 平台上,最多支持 4 路摄像头采集的视频流 + 4 路屏幕共享流合图。
      • -
      • 在 macOS 平台上,最多支持 4 路摄像头采集的视频流 + 1 路屏幕共享流合图。
      • -
      • 在 Android 和 iOS 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
      • -
      • 在 Android 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
      • -
      • 在 iOS 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
    • -
    • 在进行合图配置时,需确保采集人像的摄像头视频流在合图中的图层编号大于屏幕共享流的图层编号,否则人像会被屏幕共享覆盖、无法显示在最终合图的视频流中。
    • +
    • 在 Windows 平台上,最多支持 4 + 路摄像头采集的视频流 + 4 路屏幕共享流合图。
    • +
    • 在 macOS 平台上,最多支持 4 + 路摄像头采集的视频流 + 1 路屏幕共享流合图。
    • +
    • 在 Android 和 iOS 平台上,最多支持 2 + 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 路屏幕共享合图。
    • +
    • 在 Android 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 + 路屏幕共享合图。
    • +
    • 在 iOS 平台上,最多支持 2 路摄像头采集的视频流(需要设备本身支持双摄或支持外接摄像头)+ 1 + 路屏幕共享合图。
    • +
    +
  • 在进行合图配置时,需确保采集人像的摄像头视频流在合图中的图层编号大于屏幕共享流的图层编号,否则人像会被屏幕共享覆盖、无法显示在最终合图的视频流中。
  • <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 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 5f9b0c788a6..fd403a5976d 100644 --- a/dita/RTC-NG/API/api_irtcengine_startmediarenderingtracing.dita +++ b/dita/RTC-NG/API/api_irtcengine_startmediarenderingtracing.dita @@ -13,43 +13,52 @@

    - public abstract int startMediaRenderingTracing(); - - (int)startMediaRenderingTracing NS_SWIFT_NAME(startMediaRenderingTracing()); - virtual int startMediaRenderingTracing() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startMediaRenderingTracing(); + - (int)startMediaRenderingTracing NS_SWIFT_NAME(startMediaRenderingTracing()); + virtual int startMediaRenderingTracing() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartMediaRenderingTracing(); - abstract startMediaRenderingTracing(): number; - public abstract int StartMediaRenderingTracing(); - abstract startMediaRenderingTracing(): number; - Future<void> startMediaRenderingTracing();

    + abstract startMediaRenderingTracing(): number; + public abstract int StartMediaRenderingTracing(); + abstract startMediaRenderingTracing(): number; + Future<void> startMediaRenderingTracing(); +

    详情
    - -
    自从
    -
    v4.1.1
    -
    + +
    自从
    +
    v4.1.1
    +
    -

    成功调用该方法后,SDK 会以调用该方法的时刻作为起点,并通过 回调报告视频帧渲染的相关信息。

    +

    成功调用该方法后,SDK 会以调用该方法的时刻作为起点,并通过 回调报告视频帧渲染的相关信息。

    -
      -
    • SDK 默认在成功加入频道的时刻起打点,自动开始跟踪视频频的渲染事件。你可以根据实际业务场景,在合适的时机调用该方法,进行自定义打点。
    • -
    • 离开当前频道后,SDK 会自动重置该时间点为下一次成功加入频道的时刻。
    • -
    +
      +
    • SDK 默认在成功加入频道的时刻起打点,自动开始跟踪视频频的渲染事件。你可以根据实际业务场景,在合适的时机调用该方法,进行自定义打点。
    • +
    • 离开当前频道后,SDK 会自动重置该时间点为下一次成功加入频道的时刻。
    • +
    + +
    适用场景 -

    声网推荐你将该方法和 App 中的 UI 设置(按钮、滑动条等)结合使用,用于针对终端用户的体验改进。例如:在终端用户在点击 加入频道 按钮的时刻调用该方法进行打点,然后通过 回调获取视频帧渲染过程中的指标,从而针对指标进行专项优化。

    +

    声网推荐你将该方法和 App 中的 UI 设置(按钮、滑动条等)结合使用,用于针对终端用户的体验改进。例如:在终端用户在点击 加入频道 + 按钮的时刻调用该方法进行打点,然后通过 + 回调获取视频帧渲染过程中的指标,从而针对指标进行专项优化。

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 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 89acb320053..ee7eee68cc4 100644 --- a/dita/RTC-NG/API/api_irtcengine_startorupdatechannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_startorupdatechannelmediarelay.dita @@ -13,65 +13,77 @@

    - public abstract int startOrUpdateChannelMediaRelay( + public abstract int startOrUpdateChannelMediaRelay( ChannelMediaRelayConfiguration channelMediaRelayConfiguration); - - (int)startOrUpdateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(startOrUpdateChannelMediaRelay(_:)); - virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startOrUpdateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(startOrUpdateChannelMediaRelay(_:)); + virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartOrUpdateChannelMediaRelay(const FChannelMediaRelayConfiguration& configuration); - abstract startOrUpdateChannelMediaRelay( + abstract startOrUpdateChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - public abstract int StartOrUpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - abstract startOrUpdateChannelMediaRelay( + public abstract int StartOrUpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + abstract startOrUpdateChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - Future<void> startOrUpdateChannelMediaRelay( + Future<void> startOrUpdateChannelMediaRelay( ChannelMediaRelayConfiguration configuration); -

    +

    详情
    - -
    自从
    -
    v4.2.0
    -
    -

    首次成功调用该方法将开始跨频道转发媒体流。如需将流转发到多个目标频道,或退出当前的转发频道,可以再次调用该方法添加或移除转发的目标频道。该功能最多支持将媒体流转发至 6 个目标频道。

    -

    成功调用该方法后,SDK 会触发 回调,报告当前的跨频道媒体流转发状态。常见状态如下: -

      -
    • 如果 回调报告 (2) 和 (0), 则表示 SDK 开始在源频道和目标频道之间转发媒体流。
    • -
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • -

    + +
    自从
    +
    v4.2.0
    +
    + +

    首次成功调用该方法将开始跨频道转发媒体流。如需将流转发到多个目标频道,或退出当前的转发频道,可以再次调用该方法添加或移除转发的目标频道。该功能最多支持将媒体流转发至 6 + 个目标频道。

    +

    成功调用该方法后,SDK 会触发 + 回调,报告当前的跨频道媒体流转发状态。常见状态如下:

      +
    • 如果 回调报告 (2) 和 (0), + 则表示 SDK 开始在源频道和目标频道之间转发媒体流。
    • +
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • +
    +

    -
      -
    • 请在成功加入频道后调用该方法。
    • -
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • -
    • 跨频道媒体流转发功能需要开通。
    • -
    • 该功能不支持 String 型 UID。
    • -
    +
      +
    • 请在成功加入频道后调用该方法。
    • +
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • +
    • 跨频道媒体流转发功能需要开通。
    • +
    • 该功能不支持 String 型 UID。
    • +
    + +
    参数 - - channelMediaRelayConfiguration - config - configuration - 跨频道媒体流转发参数配置。详见 - -
    + + channelMediaRelayConfiguration + config + configuration + 跨频道媒体流转发参数配置。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。 -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -7: 方法调用被拒绝。可能因为 SDK 未初始化成功,或用户角色不是主播。
      • -
      • -8:内部状态错误。可能因为用户角色不是主播。
      • -
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。 +
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -7: 方法调用被拒绝。可能因为 SDK 未初始化成功,或用户角色不是主播。
    • +
    • -8:内部状态错误。可能因为用户角色不是主播。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startpreview.dita b/dita/RTC-NG/API/api_irtcengine_startpreview.dita index 1430692319d..6041e395b90 100644 --- a/dita/RTC-NG/API/api_irtcengine_startpreview.dita +++ b/dita/RTC-NG/API/api_irtcengine_startpreview.dita @@ -1,45 +1,54 @@ - <ph keyref="startPreview" /> + <ph keyref="startPreview"/> 开启视频预览。 - +

    - public abstract int startPreview(); - - (int)startPreview; - virtual int startPreview() = 0; - abstract startPreviewWithoutSourceType(): number; - public abstract int StartPreview(); - abstract startPreviewWithoutSourceType(): number; - Future<void> startPreviewWithoutSourceType();

    + public abstract int startPreview(); + - (int)startPreview; + virtual int startPreview() = 0; + abstract startPreviewWithoutSourceType(): number; + public abstract int StartPreview(); + abstract startPreviewWithoutSourceType(): number; + 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_startpreview2.dita b/dita/RTC-NG/API/api_irtcengine_startpreview2.dita index 4a771dff96f..3b2550e773b 100644 --- a/dita/RTC-NG/API/api_irtcengine_startpreview2.dita +++ b/dita/RTC-NG/API/api_irtcengine_startpreview2.dita @@ -1,30 +1,30 @@ - <ph keyref="startPreview2" /> + <ph keyref="startPreview2"/> 开启视频预览并指定预览的视频源。 - +

    - public abstract int startPreview(Constants.VideoSourceType sourceType); + public abstract int startPreview(Constants.VideoSourceType sourceType); - - (int)startPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(startPreview(_:)); - virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(startPreview(_:)); + virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartPreview(EVIDEO_SOURCE_TYPE sourceType = EVIDEO_SOURCE_TYPE::VIDEO_SOURCE_CAMERA_PRIMARY); - abstract startPreview(sourceType?: VideoSourceType): number; - public abstract int StartPreview(VIDEO_SOURCE_TYPE sourceType); - abstract startPreview(sourceType?: VideoSourceType): number; - Future<void> startPreview( + abstract startPreview(sourceType?: VideoSourceType): number; + public abstract int StartPreview(VIDEO_SOURCE_TYPE sourceType); + abstract startPreview(sourceType?: VideoSourceType): number; + Future<void> startPreview( {VideoSourceType sourceType = VideoSourceType.videoSourceCameraPrimary}); -

    +

    详情 @@ -33,28 +33,37 @@
    自从
    v4.2.2
    - -

    + +

    -

      -
    • 本地预览默认开启镜像功能。
    • -
    • 如果调用 退出频道,本地预览依然处于开启状态,如需要关闭本地预览,需要调用
    • -
    • 该方法中设置的视频源类型需要跟 的视频源类型一致。
    • -
    +
      +
    • 本地预览默认开启镜像功能。
    • +
    • 如果调用 退出频道,本地预览依然处于开启状态,如需要关闭本地预览,需要调用
    • +
    • 该方法中设置的视频源类型需要跟 的视频源类型一致。
    • +
    + +
    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startprimarycustomaudiotrack.dita b/dita/RTC-NG/API/api_irtcengine_startprimarycustomaudiotrack.dita index 2cd0406d128..365959431e5 100644 --- a/dita/RTC-NG/API/api_irtcengine_startprimarycustomaudiotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_startprimarycustomaudiotrack.dita @@ -2,40 +2,41 @@ startPrimaryCustomAudioTrack - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    详情 -

    +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita b/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita index 1a3ce5b3c23..8e1a97ecb8d 100644 --- a/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita @@ -13,28 +13,28 @@

    - public abstract int startRhythmPlayer( + public abstract int startRhythmPlayer( String sound1, String sound2, AgoraRhythmPlayerConfig config); - - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config; - virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config; + virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRhythmPlayer(FString sound1, FString sound2, const FAgoraRhythmPlayerConfig& config); - abstract startRhythmPlayer( + abstract startRhythmPlayer( sound1: string, sound2: string, config: AgoraRhythmPlayerConfig ): number; - public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config); - abstract startRhythmPlayer( + public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config); + abstract startRhythmPlayer( sound1: string, sound2: string, config: AgoraRhythmPlayerConfig ): number; - Future<void> startRhythmPlayer( + Future<void> startRhythmPlayer( {required String sound1, required String sound2, required AgoraRhythmPlayerConfig config}); -

    +

    详情 @@ -42,42 +42,51 @@

    你需要在该方法中设置强拍和弱拍的文件路径、每小节的拍数、节拍速度以及是否将节拍器的声音发送至远端。

    成功调用该方法后,SDK 会在本地触发 回调,报告虚拟节拍器的状态。

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 开启虚拟节拍器后,SDK 会从头开始播放指定的音频文件,并根据你在 中设置的 beatsPerMinute 控制每个文件的播放时长。例如,将 beatsPerMinute 设为 60,则 SDK 会 1 秒播放 1 个节拍。如果文件时长超过了节拍时长,则 SDK 只播放节拍时长部分的音频。
    • -
    • 虚拟节拍器的声音默认会发布至远端,如果你不希望远端用户听到虚拟节拍器的声音,你可以将 中的 publishRhythmPlayerTrack 设为
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 开启虚拟节拍器后,SDK 会从头开始播放指定的音频文件,并根据你在 + 中设置的 beatsPerMinute 控制每个文件的播放时长。例如,将 + beatsPerMinute 设为 60,则 SDK 会 1 秒播放 + 1 个节拍。如果文件时长超过了节拍时长,则 SDK 只播放节拍时长部分的音频。
    • +
    • 虚拟节拍器的声音默认会发布至远端,如果你不希望远端用户听到虚拟节拍器的声音,你可以将 中的 + publishRhythmPlayerTrack 设为
    • +
    +
    参数 - - sound1 - 强拍文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频文件格式见 RTC SDK 支持播放哪些格式的音频文件。 - - - - sound2 - 弱拍文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频文件格式见 RTC SDK 支持播放哪些格式的音频文件。 - - - - config - 节拍器配置。详见 - -
    + + sound1 + 强拍文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频文件格式见 RTC SDK + 支持播放哪些格式的音频文件 + + + sound2 + 弱拍文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频文件格式见 RTC SDK + 支持播放哪些格式的音频文件 + + + config + 节拍器配置。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败 - - - - -
        -
      • -22: 无法找到音频文件。请填写正确的 sound1sound2
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败
      +
    • -22: 无法找到音频文件。请填写正确的 sound1 和 + sound2
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita index c249f6ac6d7..0d600148b69 100644 --- a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita +++ b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita @@ -1,8 +1,12 @@ - <ph keyref="startRtmpStreamWithoutTranscoding"/> - 开始非转码推流。 + + <ph keyref="startRtmpStreamWithoutTranscoding"/> + + + 开始非转码推流。 + @@ -13,31 +17,33 @@

    - public abstract int startRtmpStreamWithoutTranscoding(String url); - - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url; - virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startRtmpStreamWithoutTranscoding(String url); + - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url; + virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRtmpStreamWithoutTranscoding(FString url); - abstract startRtmpStreamWithoutTranscoding(url: string): number; - public abstract int StartRtmpStreamWithoutTranscoding(string url); - abstract startRtmpStreamWithoutTranscoding(url: string): number; - Future<void> startRtmpStreamWithoutTranscoding(String url); -

    + abstract startRtmpStreamWithoutTranscoding(url: string): number; + public abstract int StartRtmpStreamWithoutTranscoding(string url); + abstract startRtmpStreamWithoutTranscoding(url: string): number; + Future<void> startRtmpStreamWithoutTranscoding(String url); +

    详情

    声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流

    调用该方法,你可以向指定的旁路推流地址推送直播音视频流。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    -
    + +
    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita index b00fa6b36e0..54c8eb789d2 100644 --- a/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita +++ b/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita @@ -1,8 +1,12 @@ - <ph keyref="startRtmpStreamWithTranscoding"/> - 开始旁路推流并设置转码属性。 + + <ph keyref="startRtmpStreamWithTranscoding"/> + + + 开始旁路推流并设置转码属性。 + @@ -13,61 +17,70 @@

    - public abstract int startRtmpStreamWithTranscoding(String url, LiveTranscoding transcoding); - - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding; - virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startRtmpStreamWithTranscoding(String url, LiveTranscoding transcoding); + - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding; + virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRtmpStreamWithTranscoding(FString url, FLiveTranscoding& transcoding); - abstract startRtmpStreamWithTranscoding( + abstract startRtmpStreamWithTranscoding( url: string, transcoding: LiveTranscoding ): number; - public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); - abstract startRtmpStreamWithTranscoding( + public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); + abstract startRtmpStreamWithTranscoding( url: string, transcoding: LiveTranscoding ): number; - Future<void> startRtmpStreamWithTranscoding( + Future<void> startRtmpStreamWithTranscoding( {required String url, required LiveTranscoding transcoding}); -

    +

    详情

    声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流

    调用该方法,你可以向指定的旁路推流地址推送直播音视频流并设置转码属性。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。

    -

    一次推流代表一个推流任务,最大并发任务数默认为 200,表示你在一个声网项目下最多同时运行 200 个推流任务,如需更高配额,请

    +

    一次推流代表一个推流任务,最大并发任务数默认为 200,表示你在一个声网项目下最多同时运行 200 个推流任务,如需更高配额,请

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    -
      -
    • 请在加入频道后调用该方法。
    • -
    • 只有直播场景下的主播才能调用该方法。
    • -
    • 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 ,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
    • -
    +
      +
    • 请在加入频道后调用该方法。
    • +
    • 只有直播场景下的主播才能调用该方法。
    • +
    • 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 ,再调用该方法重推,否则 + SDK 会返回与上次推流失败时一样的错误码。
    • +
    + +
    参数 - - url - 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。 - - - transcoding - -

    旁路推流的转码属性,详见 类。

    -
    -
    -
    + + url + 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。 + + + transcoding + +

    旁路推流的转码属性,详见 类。

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -2:URL 或转码属性参数错误,请检查你的 URL 或参数设置。
      • -
      • -7:调用该方法前,未初始化 SDK。
      • -
      • -19:该旁路推流 URL 已在使用中,请使用其他旁路推流 URL。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2:URL 或转码属性参数错误,请检查你的 URL 或参数设置。
    • +
    • -7:调用该方法前,未初始化 SDK。
    • +
    • -19:该旁路推流 URL 已在使用中,请使用其他旁路推流 URL。
    • +
    +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita b/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita index 65027493daa..07d5a66e036 100644 --- a/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita @@ -13,66 +13,97 @@

    - public abstract int startScreenCapture(ScreenCaptureParameters screenCaptureParameters); + public abstract int startScreenCapture(ScreenCaptureParameters screenCaptureParameters); - - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:)); - #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) + - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:)); + #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0; #endif - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartScreenCapture(const FScreenCaptureParameters2& captureParams); - abstract startScreenCapture(captureParams: ScreenCaptureParameters2): number; - public abstract int StartScreenCapture(ScreenCaptureParameters2 captureParams); - abstract startScreenCapture(captureParams: ScreenCaptureParameters2): number; - Future<void> startScreenCapture(ScreenCaptureParameters2 captureParams); -

    + abstract startScreenCapture(captureParams: ScreenCaptureParameters2): number; + public abstract int StartScreenCapture(ScreenCaptureParameters2 captureParams); + abstract startScreenCapture(captureParams: ScreenCaptureParameters2): number; + Future<void> startScreenCapture(ScreenCaptureParameters2 captureParams); +

    详情 -

    开启屏幕共享有如下两种方案,你可以根据实际场景进行选择: - - -

      -
    • 在加入频道前调用该方法,然后调用 加入频道并设置 publishScreenCaptureVideo,即可开始屏幕共享。
    • -
    • 在加入频道后调用该方法,然后调用 设置 publishScreenCaptureVideo,即可开始屏幕共享。
    • -

    -

    屏幕共享 Extension 进程状态发生改变时,SDK 会相应地触发 回调,当 sourceType 的类型为 时,state 参数表示屏幕共享的状态。

    +

    开启屏幕共享有如下两种方案,你可以根据实际场景进行选择:

      +
    • 在加入频道前调用该方法,然后调用 加入频道并设置 + publishScreenCaptureVideo,即可开始屏幕共享。
    • +
    • 在加入频道后调用该方法,然后调用 设置 + publishScreenCaptureVideo,即可开始屏幕共享。
    • +

    +

    屏幕共享 Extension 进程状态发生改变时,SDK 会相应地触发 回调,当 sourceType 的类型为 + 时,state + 参数表示屏幕共享的状态。

    -
      -
    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 在 iOS 平台上,屏幕共享仅适用于 iOS 12.0 及以上。
    • -
    • 屏幕共享流的计费以 中的 dimensions 值为准:当你未传值时,以 1280 × 720 计费;当你传值时,以你传入的值计费。详细的计费规则请参考
    • -
    • 在 iOS 平台上,如果你使用音频自采集而非 SDK 采集音频,为避免应用退后台后屏幕共享停止,建议你对应用添加保活处理逻辑。
    • -
    • 在 iOS 平台上,该功能对设备性能要求较高,建议你在 iPhone X 及之后机型上使用。
    • -
    • 在 iOS 平台上,该方法依赖于屏幕共享动态库 AgoraReplayKitExtension.xcframework,如果删除该动态库会导致无法正常开启屏幕共享。
    • -
    • 在 Android 平台上,如果用户未授予 App 屏幕采集权限,SDK 会上报 (2) 回调。
    • -
    • 在 Android 9 及之后版本上,为避免应用退后台后被系统杀死,建议你在 /app/Manifests/AndroidManifest.xml 文件中添加前台服务权限:android.permission.FOREGROUND_SERVICE
    • -
    • 因 Android 性能限制,屏幕共享不支持 Android TV。
    • -
    • 因 Android 系统限制,使用华为手机进行屏幕共享时,为避免崩溃,请不要在共享过程中调节屏幕共享流的视频编码分辨率。
    • -
    • 因 Android 系统限制,部分小米手机不支持屏幕共享时采集系统音频。
    • -
    • 为提高屏幕共享时采集系统音频的成功率,建议你在加入频道前通过 方法设置音频场景为
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 在 iOS 平台上,屏幕共享仅适用于 iOS 12.0 + 及以上。
    • +
    • 屏幕共享流的计费以 中的 dimensions + 值为准:当你未传值时,以 1280 × 720 计费;当你传值时,以你传入的值计费。详细的计费规则请参考
    • +
    • 在 iOS 平台上,如果你使用音频自采集而非 SDK + 采集音频,为避免应用退后台后屏幕共享停止,建议你对应用添加保活处理逻辑。
    • +
    • 在 iOS 平台上,该功能对设备性能要求较高,建议你在 + iPhone X 及之后机型上使用。
    • +
    • 在 iOS 平台上,该方法依赖于屏幕共享动态库 + AgoraReplayKitExtension.xcframework,如果删除该动态库会导致无法正常开启屏幕共享。
    • +
    • 在 Android 平台上,如果用户未授予 App + 屏幕采集权限,SDK 会上报 (2) + 回调。
    • +
    • 在 Android 9 + 及之后版本上,为避免应用退后台后被系统杀死,建议你在 + /app/Manifests/AndroidManifest.xml + 文件中添加前台服务权限:android.permission.FOREGROUND_SERVICE
    • +
    • 因 Android 性能限制,屏幕共享不支持 + Android TV。
    • +
    • 因 Android + 系统限制,使用华为手机进行屏幕共享时,为避免崩溃,请不要在共享过程中调节屏幕共享流的视频编码分辨率。
    • +
    • 因 Android + 系统限制,部分小米手机不支持屏幕共享时采集系统音频。
    • +
    • 为提高屏幕共享时采集系统音频的成功率,建议你在加入频道前通过 方法设置音频场景为 +
    • +
    +
    参数 - - parameters - screenCaptureParameters - captureParams - 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2,073,600 像素。该像素值为计费标准。详见 - -
    + + parameters + screenCaptureParameters + captureParams + 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2,073,600 像素。该像素值为计费标准。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -2 (iOS 平台): 参数为空。
      • -
      • -2 (Anroid 平台): 系统版本过低,请确保 Android API 级别不低于 21。
      • -
      • -3 (Anroid 平台): 无法采集系统音频,请确保 Android API 级别不低于 29。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2 (iOS 平台): 参数为空。
    • +
    • -2 (Anroid 平台): 系统版本过低,请确保 Android API + 级别不低于 21。
    • +
    • -3 (Anroid 平台): 无法采集系统音频,请确保 Android API + 级别不低于 29。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita b/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita index b0c8202553b..55bf64868ec 100644 --- a/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita +++ b/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita @@ -1,78 +1,95 @@ - <ph keyref="startScreenCapture2" /> + <ph keyref="startScreenCapture2"/> 开始屏幕采集。 - +

    - - + + - (int)startScreenCapture:(AgoraVideoSourceType)sourceType config:(AgoraScreenCaptureConfiguration * _Nullable)config NS_SWIFT_NAME(startScreenCapture(_:config:)); - virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartScreenCaptureBySourceType(EVIDEO_SOURCE_TYPE sourceType, const FScreenCaptureConfiguration& config); - abstract startScreenCaptureBySourceType( + abstract startScreenCaptureBySourceType( sourceType: VideoSourceType, config: ScreenCaptureConfiguration ): number; - public abstract int StartScreenCapture(VIDEO_SOURCE_TYPE sourceType, ScreenCaptureConfiguration config); - - Future<void> startScreenCaptureBySourceType( + public abstract int StartScreenCapture(VIDEO_SOURCE_TYPE sourceType, ScreenCaptureConfiguration config); + + Future<void> startScreenCaptureBySourceType( {required VideoSourceType sourceType, required ScreenCaptureConfiguration config}); -

    +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +

    - 该方法和 均可以开启屏幕采集,区别如下: - 该方法和 均可以开启屏幕采集,区别如下: + 该方法和 、 + 均可以开启屏幕采集,区别如下: + 该方法和 均可以开启屏幕采集,区别如下:

      -
    • 仅适用于移动端,该方法仅适用于桌面端。
    • -
    • 仅支持采集单个屏幕或窗口;调用该方法可以通过 sourceType 指定多个视频源,以采集多路屏幕共享流,用于本地合图或者多频道发布。
    • +
    • + 仅适用于移动端,该方法仅适用于桌面端。
    • +
    • 仅支持采集单个屏幕或窗口;调用该方法可以通过 + sourceType 指定多个视频源,以采集多路屏幕共享流,用于本地合图或者多频道发布。

      -
    • 该方法仅适用于 macOS 和 Windows 平台。
    • -
    • 如果调用该方法开始屏幕采集,声网建议你使用 停止采集,不要与 混用。
    +
  • 该方法仅适用于 macOS 和 Windows 平台。
  • +
  • 如果调用该方法开始屏幕采集,声网建议你使用 停止采集,不要与 混用。
  • +
    参数 - - sourceType - -

    视频源的类型,详见

    -
      -
    • Windows 平台最多支持 4 路屏幕采集的视频流。
    • -
    • macOS 平台最多支持 1 路屏幕采集的视频流,当前仅支持将该参数设置为 (2)
    -
    -
    - - config - 屏幕采集配置。详见 - -
    + + sourceType + +

    视频源的类型,详见

    +
      +
    • Windows 平台最多支持 4 + 路屏幕采集的视频流。
    • +
    • macOS 平台最多支持 1 + 路屏幕采集的视频流,当前仅支持将该参数设置为 (2)
    • +
    +
    +
    + + config + 屏幕采集配置。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita b/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita index da590c67caf..5247ddeab2b 100644 --- a/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita +++ b/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita @@ -1,91 +1,107 @@ - <ph keyref="startScreenCaptureByDisplayId" /> + <ph keyref="startScreenCaptureByDisplayId"/> 开始采集指定屏幕的视频流。 - +

    - - - (int)startScreenCaptureByDisplayId:(UInt32)displayId + + - (int)startScreenCaptureByDisplayId:(UInt32)displayId regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - - virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect, + + virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartScreenCaptureByDisplayId(int displayId, const FRectangle& regionRect, const FScreenCaptureParameters& captureParams); - abstract startScreenCaptureByDisplayId( + abstract startScreenCaptureByDisplayId( displayId: number, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, ScreenCaptureParameters captureParams); - abstract startScreenCaptureByDisplayId( + public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, ScreenCaptureParameters captureParams); + abstract startScreenCaptureByDisplayId( displayId: number, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - Future<void> startScreenCaptureByDisplayId( + Future<void> startScreenCaptureByDisplayId( {required int displayId, required Rectangle regionRect, required ScreenCaptureParameters captureParams}); -

    +

    详情

    共享一个屏幕或该屏幕的部分区域。

    -

    开启屏幕共享有如下两种方案,你可以根据实际场景进行选择: -

      -
    • 在加入频道前调用该方法,然后调用 加入频道并设置 publishScreenTrackpublishSecondaryScreenTrack,即可开始屏幕共享。
    • -
    • 在加入频道后调用该方法,然后调用 设置 publishScreenTrackpublishSecondaryScreenTrack,即可开始屏幕共享。
    • +

      开启屏幕共享有如下两种方案,你可以根据实际场景进行选择:

        +
      • 在加入频道前调用该方法,然后调用 加入频道并设置 + publishScreenTrack 或 + publishSecondaryScreenTrack,即可开始屏幕共享。
      • +
      • 在加入频道后调用该方法,然后调用 设置 + publishScreenTrack 或 + publishSecondaryScreenTrack,即可开始屏幕共享。

      - 该方法仅适用于 Windows 和 macOS。 + 该方法仅适用于 Windows 和 + macOS。
    参数 - - displayId - 指定待共享的屏幕 ID。 - 对于 Windows 平台,如果你需要同时共享两个屏幕(主屏 + 副屏),可以在调用该方法时,将 displayId 设置为 -1 - - - - regionRect - (可选)指定待共享区域相对于整个屏幕的位置。如需共享整个屏幕,则填 nil详见 由如下参数组成: -
      -
    • x:左上角的横向偏移。
    • -
    • y:左上角的纵向偏移。
    • -
    • width:待共享区域的宽。
    • -
    • height:待共享区域的高。
    • -
    - 如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果宽或高设为 0,则共享整个屏幕。 -
    - - captureParams - 屏幕共享的参数配置。默认的视频编码分辨率为 1920 × 1080,即 2073600 像素。该像素值为计费标准。详见 - -
    + + displayId + 指定待共享的屏幕 ID。 对于 Windows 平台,如果你需要同时共享两个屏幕(主屏 + 副屏),可以在调用该方法时,将 + displayId 设置为 -1 + + + + regionRect + (可选)指定待共享区域相对于整个屏幕的位置。如需共享整个屏幕,则填 nil详见 由如下参数组成: +
      +
    • x:左上角的横向偏移。
    • +
    • y:左上角的纵向偏移。
    • +
    • width:待共享区域的宽。
    • +
    • height:待共享区域的高。
    • +
    + 如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果宽或高设为 0,则共享整个屏幕。 +
    + + captureParams + 屏幕共享的参数配置。默认的视频编码分辨率为 1920 × 1080,即 2073600 像素。该像素值为计费标准。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 - -
        -
      • -2:传入的参数无效。
      • -
      • -8:屏幕共享状态无效。可能因为你已经共享了其他屏幕或窗口。尝试调用 停止当前共享,再重新开始共享屏幕。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2:传入的参数无效。
    • +
    • -8:屏幕共享状态无效。可能因为你已经共享了其他屏幕或窗口。尝试调用 + 停止当前共享,再重新开始共享屏幕。
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita b/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita index 8cecc103720..94f25d1dce1 100644 --- a/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita +++ b/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita @@ -1,79 +1,91 @@ - <ph keyref="startScreenCaptureByScreenRect" /> + <ph keyref="startScreenCaptureByScreenRect"/> 开始采集指定屏幕区域的视频流。 - +

    - - - virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect, + + + virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartScreenCaptureByScreenRect(const FRectangle& screenRect, const FRectangle& regionRect, const FScreenCaptureParameters& captureParams) __deprecated; - abstract startScreenCaptureByScreenRect( + abstract startScreenCaptureByScreenRect( screenRect: Rectangle, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - public abstract int StartScreenCaptureByScreenRect(Rectangle screenRect, Rectangle regionRect, + public abstract int StartScreenCaptureByScreenRect(Rectangle screenRect, Rectangle regionRect, ScreenCaptureParameters captureParams); - abstract startScreenCaptureByScreenRect( + abstract startScreenCaptureByScreenRect( screenRect: Rectangle, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - Future<void> startScreenCaptureByScreenRect( + Future<void> startScreenCaptureByScreenRect( {required Rectangle screenRect, required Rectangle regionRect, required ScreenCaptureParameters captureParams}); -

    +

    详情
    弃用:
    -
    该方法已废弃。请改用 。如果你需要在设备外接其他显示屏的情况下开启屏幕共享,强烈建议你使用
    +
    该方法已废弃。请改用 。如果你需要在设备外接其他显示屏的情况下开启屏幕共享,强烈建议你使用
    -
    -

    共享一个屏幕或该屏幕的部分区域。你需要在该方法中指定想要共享的屏幕区域。

    -

    - 该方法仅适用于 Windows 平台。 + +

    共享一个屏幕或该屏幕的部分区域。你需要在该方法中指定想要共享的屏幕区域。

    +

    + 该方法仅适用于 + Windows 平台。

    参数 - - - screenRect - 指定待共享的屏幕相对于虚拟屏的位置。 - - - regionRect - (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕。 - - - captureParams - 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 - - + + + screenRect + 指定待共享的屏幕相对于虚拟屏的位置。 + + + regionRect + (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕。 + + + captureParams + 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
      -
    • -
    +
  • 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 2e512fb9716..d69d8979351 100644 --- a/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita +++ b/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita @@ -1,215 +1,225 @@ - <ph keyref="startScreenCaptureByWindowId" /> + <ph keyref="startScreenCaptureByWindowId"/> 开始采集指定窗口的视频流。 - +

    - - - (int)startScreenCaptureByWindowId:(UInt32)windowId + + - (int)startScreenCaptureByWindowId:(UInt32)windowId regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - virtual int startScreenCaptureByWindowId(view_t windowId, + virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartScreenCaptureByWindowId(int64 windowId, const FRectangle& regionRect, const FScreenCaptureParameters& captureParams); - abstract startScreenCaptureByWindowId( + abstract startScreenCaptureByWindowId( windowId: any, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - public abstract int StartScreenCaptureByWindowId(view_t windowId, Rectangle regionRect, ScreenCaptureParameters captureParams); - abstract startScreenCaptureByWindowId( + public abstract int StartScreenCaptureByWindowId(view_t windowId, Rectangle regionRect, ScreenCaptureParameters captureParams); + abstract startScreenCaptureByWindowId( windowId: any, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - Future<void> startScreenCaptureByWindowId( + Future<void> startScreenCaptureByWindowId( {required int windowId, required Rectangle regionRect, required ScreenCaptureParameters captureParams}); -

    +

    详情

    共享一个窗口或该窗口的部分区域。用户需要在该方法中指定想要共享的窗口 ID。

    -

    +

    -

    • 该方法仅适用于 macOS 和 Windows 平台。
    • -
    • SDK 的窗口共享功能依赖于 WGC(Windows Graphics Capture)或 GDI(Graphics Device Interface)采集,WGC 在早于 Windows 10 2004 的系统上无法设置关闭鼠标采集,因此,当你在搭载早于 Windows 10 2004 系统的设备上进行窗口共享时,可能出现 captureMouseCursor(false) 不生效的现象。详见
    -

    该方法支持共享通用 Windows 平台(UWP)应用窗口。声网使用最新版 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 平台。
    • +
    • SDK 的窗口共享功能依赖于 WGC(Windows Graphics Capture)或 GDI(Graphics Device + Interface)采集,WGC 在早于 Windows 10 2004 的系统上无法设置关闭鼠标采集,因此,当你在搭载早于 Windows 10 + 2004 系统的设备上进行窗口共享时,可能出现 captureMouseCursor(false) 不生效的现象。详见 +
    • +
    +

    该方法支持共享通用 Windows 平台(UWP)应用窗口。声网使用最新版 + 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(系统自带) + 全部 + + + + +
    +

    参数 - - windowId - 指定待共享的窗口 ID。 - - - - regionRect - (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高为 0,则共享整个窗口。 - - - regionRect - -

    (可选)待共享区域相对于整个窗口的位置。如不填,则表示共享整个窗口。由如下参数组成: - - - - -

      -
    • x:左上角的横向偏移。
    • -
    • y:左上角的纵向偏移。
    • -
    • width:待共享区域的宽。
    • -
    • height:待共享区域的高。
    • -

    -

    如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高设为 0,则共享整个窗口。

    -
    -
    - - captureParams - 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 - -
    + + windowId + 指定待共享的窗口 ID。 + + + regionRect + (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高为 0,则共享整个窗口。 + + + regionRect + +

    (可选)待共享区域相对于整个窗口的位置。如不填,则表示共享整个窗口。由如下参数组成:

      +
    • x:左上角的横向偏移。
    • +
    • y:左上角的纵向偏移。
    • +
    • width:待共享区域的宽。
    • +
    • height:待共享区域的高。
    • +

    +

    如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高设为 0,则共享整个窗口。

    +
    +
    + + captureParams + 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_startsecondarycustomaudiotrack.dita b/dita/RTC-NG/API/api_irtcengine_startsecondarycustomaudiotrack.dita index 9e15f190d45..4eb0e64aa25 100644 --- a/dita/RTC-NG/API/api_irtcengine_startsecondarycustomaudiotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_startsecondarycustomaudiotrack.dita @@ -2,40 +2,41 @@ startSecondaryCustomAudioTrack - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    详情 -

    +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_statechanged.dita b/dita/RTC-NG/API/api_irtcengine_statechanged.dita index 683d32d8a0b..02f33b926a9 100644 --- a/dita/RTC-NG/API/api_irtcengine_statechanged.dita +++ b/dita/RTC-NG/API/api_irtcengine_statechanged.dita @@ -13,47 +13,48 @@

    - - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine device:(NSString* _Nonnull)deviceId + + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine device:(NSString* _Nonnull)deviceId type:(AgoraMediaDeviceType)deviceType stateChanged:(NSInteger)state; - - - - - -

    + + + + + +

    - 详情
    + 详情 +
    参数 - - engine - 对象。 - - - deviceId - 设备 ID。 - - - deviceType - -

    - - - - state - -

    设备状态: -

      -
    • 0:设备插入,但未使用。
    • -
    • 1:设备正在使用。
    • -
    • 8:设备被拔出。
    • -

    -
    -
    -
    + + engine + 对象。 + + + deviceId + 设备 ID。 + + + deviceType + +

    + + + + state + +

    设备状态:

      +
    • 0:设备插入,但未使用。
    • +
    • 1:设备正在使用。
    • +
    • 8:设备被拔出。
    • +

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita b/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita index 3da2641a986..0fbc5645d59 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita @@ -1,37 +1,41 @@ - <ph keyref="stopAllEffects" /> + <ph keyref="stopAllEffects"/> 停止播放所有音效文件。 - +

    - public abstract int stopAllEffects(); + public abstract int stopAllEffects(); - - (int)stopAllEffects; + - (int)stopAllEffects; - virtual int stopAllEffects() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int stopAllEffects() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopAllEffects(); - abstract stopAllEffects(): number; - public abstract int StopAllEffects(); - abstract stopAllEffects(): number; - Future<void> stopAllEffects(); -

    + abstract stopAllEffects(): number; + public abstract int StopAllEffects(); + abstract stopAllEffects(): number; + Future<void> stopAllEffects(); +

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stopaudioframedump.dita b/dita/RTC-NG/API/api_irtcengine_stopaudioframedump.dita index ecea2222581..04015a65853 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopaudioframedump.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopaudioframedump.dita @@ -13,25 +13,26 @@

    - - - virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0; + + + virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0; - - - - -

    + + + + +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita b/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita index 536bc32b57c..4724c416782 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita @@ -1,28 +1,28 @@ - <ph keyref="stopAudioMixing" /> + <ph keyref="stopAudioMixing"/> 停止播放音乐文件。 - +

    - public abstract int stopAudioMixing(); - - (int)stopAudioMixing; - virtual int stopAudioMixing() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopAudioMixing(); + - (int)stopAudioMixing; + virtual int stopAudioMixing() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopAudioMixing(); - abstract stopAudioMixing(): number; - public abstract int StopAudioMixing(); - abstract stopAudioMixing(): number; - Future<void> stopAudioMixing(); -

    + abstract stopAudioMixing(): number; + public abstract int StopAudioMixing(); + abstract stopAudioMixing(): number; + Future<void> stopAudioMixing(); +

    详情 @@ -30,10 +30,14 @@
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita b/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita index 30252e57ff7..3335a03038f 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita @@ -1,35 +1,39 @@ - <ph keyref="stopAudioRecording" /> + <ph keyref="stopAudioRecording"/> 停止客户端录音。 - +

    - public abstract int stopAudioRecording(); - - (int)stopAudioRecording; - virtual int stopAudioRecording() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopAudioRecording(); + - (int)stopAudioRecording; + virtual int stopAudioRecording() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopAudioRecording(); - abstract stopAudioRecording(): number; - public abstract int StopAudioRecording(); - abstract stopAudioRecording(): number; - Future<void> stopAudioRecording(); -

    + abstract stopAudioRecording(): number; + public abstract int StopAudioRecording(); + abstract stopAudioRecording(): number; + Future<void> stopAudioRecording(); +

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ 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 9bb6086e002..8470156fef9 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopcameracapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopcameracapture.dita @@ -1,56 +1,62 @@ - <ph keyref="stopCameraCapture" /> + <ph keyref="stopCameraCapture"/> 停止通过摄像头采集视频。 - +

    - public abstract int stopCameraCapture(Constants.VideoSourceType sourceType); - - (int)stopCameraCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:)); - virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopCameraCapture(Constants.VideoSourceType sourceType); + - (int)stopCameraCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:)); + virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract stopCameraCapture(sourceType: VideoSourceType): number; + public abstract int StopCameraCapture(VIDEO_SOURCE_TYPE sourceType); + abstract stopCameraCapture(sourceType: VideoSourceType): number; + Future<void> stopCameraCapture(VideoSourceType sourceType); +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    -

    调用 开启一路或多路摄像头采集的视频流后,你可以调用该方法,通过设置 sourceType 停止一路或多路摄像头的视频采集。

    - 在 iOS 平台上,如果要关闭多路摄像头采集,需要在调用该方法之后调用 并设置 enabled +

    调用 开启一路或多路摄像头采集的视频流后,你可以调用该方法,通过设置 + sourceType 停止一路或多路摄像头的视频采集。

    + 在 iOS 平台上,如果要关闭多路摄像头采集,需要在调用该方法之后调用 + 并设置 enabled 为 + 如果你正在使用本地合图功能,调用该方法停止通过第一个摄像头采集视频,会造成本地合图中断。
    参数 - - sourceType - 视频源的类型,详见 - + + 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 dc03cbe710e..881763a84bf 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopchannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopchannelmediarelay.dita @@ -1,41 +1,50 @@ - <ph keyref="stopChannelMediaRelay" /> + <ph keyref="stopChannelMediaRelay"/> 停止跨频道媒体流转发。一旦停止,主播会退出所有目标频道。 - +

    - public abstract int stopChannelMediaRelay(); - - (int)stopChannelMediaRelay; - virtual int stopChannelMediaRelay() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopChannelMediaRelay(); + - (int)stopChannelMediaRelay; + virtual int stopChannelMediaRelay() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopChannelMediaRelay(); - abstract stopChannelMediaRelay(): number; - public abstract int StopChannelMediaRelay(); - abstract stopChannelMediaRelay(): number; - Future<void> stopChannelMediaRelay(); -

    + abstract stopChannelMediaRelay(): number; + public abstract int StopChannelMediaRelay(); + abstract stopChannelMediaRelay(): number; + Future<void> stopChannelMediaRelay(); +

    详情 -

    成功调用该方法后,SDK 会触发 回调。如果报告 (0) 和 (0),则表示已停止转发媒体流。

    - - 如果该方法调用不成功,SDK 会触发 回调,并报告状态码 (2) 或 (8)。你可以调用 方法离开频道,跨频道媒体流转发会自动停止。 -
    +

    成功调用该方法后,SDK 会触发 回调。如果报告 (0) 和 + (0),则表示已停止转发媒体流。

    + 如果该方法调用不成功,SDK 会触发 回调,并报告状态码 (2) 或 (8)。你可以调用 方法离开频道,跨频道媒体流转发会自动停止。 +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stopdirectcdnstreaming.dita b/dita/RTC-NG/API/api_irtcengine_stopdirectcdnstreaming.dita index a66f99c9eb7..b462c1f1d9d 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopdirectcdnstreaming.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopdirectcdnstreaming.dita @@ -1,12 +1,12 @@ - <ph keyref="stopDirectCdnStreaming" /> + <ph keyref="stopDirectCdnStreaming"/> 设置主播端停止直接向 CDN 推流。 - + @@ -15,18 +15,23 @@ public abstract int stopDirectCdnStreaming(); - (int)stopDirectCdnStreaming; virtual int stopDirectCdnStreaming() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopDirectCdnStreaming(); abstract stopDirectCdnStreaming(): number; public abstract int StopDirectCdnStreaming(); abstract stopDirectCdnStreaming(): number; - Future<void> stopDirectCdnStreaming(); + Future<void> stopDirectCdnStreaming(); +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    - \ 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 64b9d220694..f27acc8f24b 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopechotest.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopechotest.dita @@ -1,41 +1,46 @@ - <ph keyref="stopEchoTest" /> - 停止语音通话回路测试。 + + <ph keyref="stopEchoTest"/> + + + 停止语音通话回路测试。 + - +

    - public abstract int stopEchoTest(); - - (int)stopEchoTest; - virtual int stopEchoTest() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopEchoTest(); + - (int)stopEchoTest; + virtual int stopEchoTest() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopEchoTest(); - abstract stopEchoTest(): number; - public abstract int StopEchoTest(); - abstract stopEchoTest(): number; - Future<void> stopEchoTest(); -

    + abstract stopEchoTest(): number; + public abstract int StopEchoTest(); + abstract stopEchoTest(): number; + Future<void> stopEchoTest(); +

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • - < 0: 方法调用失败。详见了解详情和解决建议。 - - -
        -
      • -5(ERR_REFUSED): 停止测试失败,可能是测试不在运行中。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -5(ERR_REFUSED): 停止测试失败,可能是测试不在运行中。
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stopeffect.dita b/dita/RTC-NG/API/api_irtcengine_stopeffect.dita index 5ed167cde93..4041c26f561 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopeffect.dita @@ -1,45 +1,50 @@ - <ph keyref="stopEffect" /> + <ph keyref="stopEffect"/> 停止播放指定音效文件。 - +

    - public abstract int stopEffect(int soundId); + public abstract int stopEffect(int soundId); - - (int)stopEffect:(int)soundId; + - (int)stopEffect:(int)soundId; - virtual int stopEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int stopEffect(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract stopEffect(soundId: number): number; + public abstract int StopEffect(int soundId); + abstract stopEffect(soundId: number): number; + Future<void> stopEffect(int soundId); +

    参数 - - soundId - 指定音效文件的 ID。每个音效文件均有唯一的 ID。 - -
    + + 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_stoplastmileprobetest.dita b/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita index 31c071696a4..4f55f170640 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita @@ -1,35 +1,43 @@ - <ph keyref="stopLastmileProbeTest" /> - 停止通话前网络质量探测。 + + <ph keyref="stopLastmileProbeTest"/> + + + 停止通话前网络质量探测。 + - +

    - public abstract int stopLastmileProbeTest(); - - (int)stopLastmileProbeTest; - virtual int stopLastmileProbeTest() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopLastmileProbeTest(); + - (int)stopLastmileProbeTest; + virtual int stopLastmileProbeTest() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopLastmileProbeTest(); - abstract stopLastmileProbeTest(): number; - public abstract int StopLastmileProbeTest(); - abstract stopLastmileProbeTest(): number; - Future<void> stopLastmileProbeTest(); -

    + abstract stopLastmileProbeTest(): number; + public abstract int StopLastmileProbeTest(); + abstract stopLastmileProbeTest(): number; + Future<void> stopLastmileProbeTest(); +

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita b/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita index e817269b89a..48adb25abe5 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita @@ -1,40 +1,44 @@ - <ph keyref="stopLocalVideoTranscoder" /> + <ph keyref="stopLocalVideoTranscoder"/> 停止本地合图。 - +

    - public abstract int stopLocalVideoTranscoder(); - - (int)stopLocalVideoTranscoder NS_SWIFT_NAME(stopLocalVideoTranscoder()); - virtual int stopLocalVideoTranscoder() = 0; + public abstract int stopLocalVideoTranscoder(); + - (int)stopLocalVideoTranscoder NS_SWIFT_NAME(stopLocalVideoTranscoder()); + virtual int stopLocalVideoTranscoder() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopLocalVideoTranscoder(); - abstract stopLocalVideoTranscoder(): number; - public abstract int StopLocalVideoTranscoder(); - abstract stopLocalVideoTranscoder(): number; - Future<void> stopLocalVideoTranscoder(); -

    + abstract stopLocalVideoTranscoder(): number; + public abstract int StopLocalVideoTranscoder(); + abstract stopLocalVideoTranscoder(): number; + Future<void> stopLocalVideoTranscoder(); +

    详情 -

    调用 后, 如果你希望停止本地合图,请调用该方法。

    +

    调用 后, 如果你希望停止本地合图,请调用该方法。

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stoppreview.dita b/dita/RTC-NG/API/api_irtcengine_stoppreview.dita index d384361312a..e3ee05c86e9 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoppreview.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoppreview.dita @@ -1,36 +1,39 @@ - <ph keyref="stopPreview" /> + <ph keyref="stopPreview"/> 停止视频预览。 - +

    - public abstract int stopPreview(); - - (int)stopPreview; - virtual int stopPreview() = 0; - abstract stopPreview(sourceType?: VideoSourceType): number; - public abstract int StopPreview(); - abstract stopPreview(sourceType?: VideoSourceType): number; -

    + public abstract int stopPreview(); + - (int)stopPreview; + virtual int stopPreview() = 0; + abstract stopPreview(sourceType?: VideoSourceType): number; + public abstract int StopPreview(); + abstract stopPreview(sourceType?: VideoSourceType): number; + +

    详情 -

    调用 开启预览后,如果你想关闭本地视频预览,请调用该方法。

    - 请在加入频道前或离开频道后调用该方法。 +

    调用 开启预览后,如果你想关闭本地视频预览,请调用该方法。

    + 请在加入频道前或离开频道后调用该方法。
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita b/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita index ba3b3b48498..09e65178f16 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita @@ -1,57 +1,61 @@ - <ph keyref="stopPreview2" /> + <ph keyref="stopPreview2"/> 停止视频预览。 - +

    - public abstract int stopPreview(Constants.VideoSourceType sourceType); + public abstract int stopPreview(Constants.VideoSourceType sourceType); - - (int)stopPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopPreview(_:)); - virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)stopPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopPreview(_:)); + virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopPreview(EVIDEO_SOURCE_TYPE sourceType = EVIDEO_SOURCE_TYPE::VIDEO_SOURCE_CAMERA_PRIMARY); - abstract stopPreview(sourceType?: VideoSourceType): number; - public abstract int StopPreview(VIDEO_SOURCE_TYPE sourceType); - abstract stopPreview(sourceType?: VideoSourceType): number; - Future<void> stopPreview( + abstract stopPreview(sourceType?: VideoSourceType): number; + public abstract int StopPreview(VIDEO_SOURCE_TYPE sourceType); + abstract stopPreview(sourceType?: VideoSourceType): number; + Future<void> stopPreview( {VideoSourceType sourceType = VideoSourceType.videoSourceCameraPrimary}); -

    +

    -
    +
    详情
    自从
    v4.2.2
    -
    -

    调用 开启预览后,如果你想关闭本地视频预览,请调用该方法。

    + +

    调用 开启预览后,如果你想关闭本地视频预览,请调用该方法。

    请在加入频道前或离开频道后调用该方法。 -
    -
    +
    +
    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • +
    diff --git a/dita/RTC-NG/API/api_irtcengine_stopprimarycustomaudiotrack.dita b/dita/RTC-NG/API/api_irtcengine_stopprimarycustomaudiotrack.dita index 2682d6a133d..65356b956d8 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopprimarycustomaudiotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopprimarycustomaudiotrack.dita @@ -2,40 +2,41 @@ stopPrimaryCustomAudioTrack - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    详情 -

    +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita b/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita index d51af2fa7d2..6fcf4f395d7 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita @@ -1,39 +1,45 @@ - <ph keyref="stopRhythmPlayer" /> + <ph keyref="stopRhythmPlayer"/> 关闭虚拟节拍器。 - +

    - public abstract int stopRhythmPlayer(); - - (int)stopRhythmPlayer; - virtual int stopRhythmPlayer() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopRhythmPlayer(); + - (int)stopRhythmPlayer; + virtual int stopRhythmPlayer() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopRhythmPlayer(); - abstract stopRhythmPlayer(): number; - public abstract int StopRhythmPlayer(); - abstract stopRhythmPlayer(): number; - Future<void> stopRhythmPlayer(); -

    + abstract stopRhythmPlayer(): number; + public abstract int StopRhythmPlayer(); + abstract stopRhythmPlayer(): number; + Future<void> stopRhythmPlayer(); +

    详情 -

    调用 后,你可以调用该方法关闭虚拟节拍器。

    - 该方法仅适用于 Android 和 iOS。
    +

    调用 后,你可以调用该方法关闭虚拟节拍器。

    + 该方法仅适用于 Android 和 + iOS。 +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita b/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita index 6853e82ad66..d1c05969c4e 100644 --- a/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita +++ b/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita @@ -1,8 +1,12 @@ - <ph keyref="stopRtmpStream"/> - 结束旁路推流。 + + <ph keyref="stopRtmpStream"/> + + + 结束旁路推流。 + @@ -13,16 +17,16 @@

    - public abstract int stopRtmpStream(String url); - - (int)stopRtmpStream:(NSString* _Nonnull)url; - virtual int stopRtmpStream(const char* url) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopRtmpStream(String url); + - (int)stopRtmpStream:(NSString* _Nonnull)url; + virtual int stopRtmpStream(const char* url) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopRtmpStream(FString url); - abstract stopRtmpStream(url: string): number; - public abstract int StopRtmpStream(string url); - abstract stopRtmpStream(url: string): number; - Future<void> stopRtmpStream(String url); -

    + abstract stopRtmpStream(url: string): number; + public abstract int StopRtmpStream(string url); + abstract stopRtmpStream(url: string): number; + Future<void> stopRtmpStream(String url); +

    详情 @@ -33,17 +37,22 @@
    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita b/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita index 14b37b02717..c95df058520 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita @@ -1,42 +1,47 @@ - <ph keyref="stopScreenCapture" /> + <ph keyref="stopScreenCapture"/> 停止屏幕采集。 - +

    - public abstract int stopScreenCapture(); - - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture()); + public abstract int stopScreenCapture(); + - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture()); - #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__) + #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__) virtual int stopScreenCapture() = 0; #endif - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopScreenCapture(); - abstract stopScreenCapture(): number; - public abstract int StopScreenCapture(); - abstract stopScreenCapture(): number; - Future<void> stopScreenCapture(); -

    + abstract stopScreenCapture(): number; + public abstract int StopScreenCapture(); + abstract stopScreenCapture(): number; + Future<void> stopScreenCapture(); +

    详情 -

    在调用 开始屏幕采集后,调用该方法停止屏幕采集。

    +

    在调用 开始屏幕采集后,调用该方法停止屏幕采集。

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita b/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita index b7ceb7877c9..d7d7c55a2e2 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita @@ -1,57 +1,69 @@ - <ph keyref="stopScreenCapture2" /> + <ph keyref="stopScreenCapture2"/> 停止屏幕采集。 - +

    - - - (int)stopScreenCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopScreenCapture(_:)); - virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + - (int)stopScreenCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopScreenCapture(_:)); + virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopScreenCaptureBySourceType(EVIDEO_SOURCE_TYPE sourceType); - abstract stopScreenCaptureBySourceType(sourceType: VideoSourceType): number; - public abstract int StopScreenCapture(VIDEO_SOURCE_TYPE sourceType); - - Future<void> stopScreenCaptureBySourceType(VideoSourceType sourceType); -

    + abstract stopScreenCaptureBySourceType(sourceType: VideoSourceType): number; + public abstract int StopScreenCapture(VIDEO_SOURCE_TYPE sourceType); + + Future<void> stopScreenCaptureBySourceType(VideoSourceType sourceType); +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    -

    调用 开始一路或多路屏幕采集后,你可以通过调用该方法并设置 sourceType 停止指定屏幕采集。

    +

    调用 开始一路或多路屏幕采集后,你可以通过调用该方法并设置 + sourceType 停止指定屏幕采集。

      -
    • 该方法仅适用于 macOS 和 Windows 平台。
    • -
    • 如果你调用 开始屏幕采集,声网建议你使用 停止采集,不要与该方法混用。
    • -
    • 如果你调用 开始屏幕采集,声网建议你使用 停止采集,不要与该方法混用。
    +
  • 该方法仅适用于 macOS 和 Windows 平台。
  • +
  • 如果你调用 开始屏幕采集,声网建议你使用 停止采集,不要与该方法混用。
  • +
  • 如果你调用 + 或 开始屏幕采集,声网建议你使用 停止采集,不要与该方法混用。
  • +
    参数 - - sourceType - 视频源的类型,详见 - + + 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_stopsecondarycustomaudiotrack.dita b/dita/RTC-NG/API/api_irtcengine_stopsecondarycustomaudiotrack.dita index 28e8b4d708c..3c15098a0d6 100644 --- a/dita/RTC-NG/API/api_irtcengine_stopsecondarycustomaudiotrack.dita +++ b/dita/RTC-NG/API/api_irtcengine_stopsecondarycustomaudiotrack.dita @@ -2,40 +2,41 @@ stopSecondaryCustomAudioTrack - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    详情 -

    +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_switchcamera.dita b/dita/RTC-NG/API/api_irtcengine_switchcamera.dita index 4d16600f78f..47b59daa99d 100644 --- a/dita/RTC-NG/API/api_irtcengine_switchcamera.dita +++ b/dita/RTC-NG/API/api_irtcengine_switchcamera.dita @@ -1,45 +1,56 @@ - <ph keyref="switchCamera" /> + <ph keyref="switchCamera"/> 切换前置/后置摄像头。 - +

    - public abstract int switchCamera(); - - (int)switchCamera; - virtual int switchCamera() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int switchCamera(); + - (int)switchCamera; + virtual int switchCamera() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SwitchCamera(); - abstract switchCamera(): number; - public abstract int SwitchCamera(); - abstract switchCamera(): number; - Future<void> switchCamera(); -

    + abstract switchCamera(): number; + public abstract int SwitchCamera(); + abstract switchCamera(): number; + Future<void> switchCamera(); +

    详情

    你可以调用该方法在 App 运行期间基于可用摄像头的实际情况来动态切换摄像头,而无需重启视频流或重新配置视频源。

    -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 该方法必须在摄像头成功开启后调用,即 SDK 触发 回调,返回本地视频状态为 (1) 后。
    • -
    • 该方法仅会对第一路摄像头采集的视频流进行摄像头切换操作,即调用 时设置为 (0) 的视频源。
    • -
    • 该方法和 均用于切换摄像头,区别在于 通过指定摄像头 ID 切换到特定的摄像头,该方法则切换摄像头的方向(前置或后置)。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 该方法必须在摄像头成功开启后调用,即 SDK 触发 回调,返回本地视频状态为 (1) + 后。
    • +
    • 该方法仅会对第一路摄像头采集的视频流进行摄像头切换操作,即调用 时设置为 + (0) 的视频源。
    • +
    • 该方法和 均用于切换摄像头,区别在于 通过指定摄像头 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_switchcamera2.dita b/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita index 414bb0be414..69e8064763c 100644 --- a/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita +++ b/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita @@ -1,59 +1,65 @@ - <ph keyref="switchCamera2" /> + <ph keyref="switchCamera2"/> 通过摄像头 ID 切换摄像头。 - +

    - public abstract int switchCamera(String cameraId); - - - - - - - -

    + public abstract int switchCamera(String cameraId); + + + + + + + +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +

    -

      -
    • -
    • -
    • 该方法和 均用于切换摄像头,区别在于 切换摄像头的方向(前置或后置),该方法则通过指定摄像头 ID 切换到特定的摄像头。
    • -
    +
      +
    • +
    • +
    • 该方法和 均用于切换摄像头,区别在于 切换摄像头的方向(前置或后置),该方法则通过指定摄像头 ID 切换到特定的摄像头。
    • +
    参数 - - cameraId - 摄像头 ID。你可以通过 Android 原生系统 API 获取摄像头 ID,详见 - + + cameraId + 摄像头 ID。你可以通过 Android 原生系统 API 获取摄像头 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_switchchannel.dita b/dita/RTC-NG/API/api_irtcengine_switchchannel.dita index 444adcbf4e3..7436d3869ef 100644 --- a/dita/RTC-NG/API/api_irtcengine_switchchannel.dita +++ b/dita/RTC-NG/API/api_irtcengine_switchchannel.dita @@ -13,64 +13,70 @@

    - public abstract int switchChannel(String token, String channelName); - -(int)switchChannel:(NSString* _Nonnull)token channelName:(NSString* _Nonnull)channelName; - virtual int switchChannel(const char* token, const char* channel) = 0; - - - - -

    + public abstract int switchChannel(String token, String channelName); + -(int)switchChannel:(NSString* _Nonnull)token channelName:(NSString* _Nonnull)channelName; + virtual int switchChannel(const char* token, const char* channel) = 0; + + + + +

    详情

    当直播频道中的观众想从一个频道切换到另一个频道时,可以调用该方法,实现快速切换。

    -

    成功调用该方切换频道后,本地会先收到离开原频道的回调 ,再收到成功加入新频道的回调

    -

    用户成功切换频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。

    +

    成功调用该方切换频道后,本地会先收到离开原频道的回调 ,再收到成功加入新频道的回调

    +

    用户成功切换频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute + 方法实现。

    参数 - - token - -

    动态秘钥。 -

      -
    • 安全要求不高: 将值设为
    • -
    • 安全要求高: 将值设置为从你的服务端生成的 Token。如果你的项目已经启用了 App Certificate, 请务必使用 Token。
    • -
    - 请确保用于生成 token 的 App ID、频道名和用户名和 方法初始化引擎时用的 App ID,以及该方法中设置的频道名和用户名是一致的。 -

    -
    -
    - - channelNamechannel - -

    频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。 - 该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): -

      -
    • 26 个小写英文字母 a~z
    • -
    • 26 个大写英文字母 A~Z
    • -
    • 10 个数字 0~9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    -
    -
    + + token + +

    动态秘钥。

      +
    • 安全要求不高: 将值设为
    • +
    • 安全要求高: 将值设置为从你的服务端生成的 Token。如果你的项目已经启用了 App Certificate, 请务必使用 + Token。
    • +
    + 请确保用于生成 token 的 App ID、频道名和用户名和 方法初始化引擎时用的 App ID,以及该方法中设置的频道名和用户名是一致的。 + +

    +
    +
    + + channelNamechannel + +

    频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。 该参数为长度在 + 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):

      +
    • 26 个小写英文字母 a~z
    • +
    • 26 个大写英文字母 A~Z
    • +
    • 10 个数字 0~9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -5: 调用被拒绝。可能因为用户角色不是观众。
      • -
      • -7: SDK 尚未初始化。
      • -
      • -102: 频道名无效。请更换有效的频道名。
      • -
      • -113: 用户不在频道内。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -5: 调用被拒绝。可能因为用户角色不是观众。
    • +
    • -7: SDK 尚未初始化。
    • +
    • -102: 频道名无效。请更换有效的频道名。
    • +
    • -113: 用户不在频道内。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_switchchannel2.dita b/dita/RTC-NG/API/api_irtcengine_switchchannel2.dita index 2de463c02ad..282dc283685 100644 --- a/dita/RTC-NG/API/api_irtcengine_switchchannel2.dita +++ b/dita/RTC-NG/API/api_irtcengine_switchchannel2.dita @@ -13,71 +13,76 @@

    - - - virtual int switchChannel(const char* token, + + + virtual int switchChannel(const char* token, const char* channelId, const ChannelMediaOptions& options) = 0; - - public abstract int SwitchChannel(string token, string channelId, ChannelMediaOptions options); - - -

    + + public abstract int SwitchChannel(string token, string channelId, ChannelMediaOptions options); + + +

    详情

    当直播频道中的观众想从一个频道切换到另一个频道时,可以调用该方法,实现快速切换。

    -

    成功调用该方切换频道后,本地会先收到离开原频道的回调 ,再收到成功加入新频道的回调

    -

    用户成功切换频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。

    +

    成功调用该方切换频道后,本地会先收到离开原频道的回调 ,再收到成功加入新频道的回调

    +

    用户成功切换频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute + 方法实现。

    参数 - - token - -

    动态秘钥。 -

      -
    • 安全要求不高: 将值设为
    • -
    • 安全要求高: 将值设置为从你的服务端生成的 Token。如果你的项目已经启用了 App Certificate, 请务必使用 Token。
    • -
    - 请确保用于生成 token 的 App ID 和 方法初始化引擎时用的 App ID,以及该方法中设置的频道名和用户名是一致的。 -

    -
    -
    - - channelId - channelName - -

    频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同 channelId 的用户会进入同一个频道进行音视频互动。 - 该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): -

      -
    • 26 个小写英文字母 a~z
    • -
    • 26 个大写英文字母 A~Z
    • -
    • 10 个数字 0~9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    -
    - - options - 频道媒体设置选项。详见 - -
    + + token + +

    动态秘钥。

      +
    • 安全要求不高: 将值设为
    • +
    • 安全要求高: 将值设置为从你的服务端生成的 Token。如果你的项目已经启用了 App Certificate, 请务必使用 + Token。
    • +
    + 请确保用于生成 token 的 App ID 和 方法初始化引擎时用的 App ID,以及该方法中设置的频道名和用户名是一致的。 + +

    +
    +
    + + channelId + channelName + +

    频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同 channelId + 的用户会进入同一个频道进行音视频互动。 该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):

      +
    • 26 个小写英文字母 a~z
    • +
    • 26 个大写英文字母 A~Z
    • +
    • 10 个数字 0~9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

    +
    +
    + + options + 频道媒体设置选项。详见 + + +
    返回值
      -
    • 0(ERR_OK): 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -5: 调用被拒绝。可能因为用户角色不是观众。
      • -
      • -7: SDK 尚未初始化。
      • -
      • -102: 频道名无效。请更换有效的频道名。
      • -
      • -113: 用户不在频道内。
      • -
    • -
    +
  • 0(ERR_OK): 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -5: 调用被拒绝。可能因为用户角色不是观众。
    • +
    • -7: SDK 尚未初始化。
    • +
    • -102: 频道名无效。请更换有效的频道名。
    • +
    • -113: 用户不在频道内。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_takescreenshot.dita b/dita/RTC-NG/API/api_irtcengine_takescreenshot.dita index 5cc0f939787..e27320516b1 100644 --- a/dita/RTC-NG/API/api_irtcengine_takescreenshot.dita +++ b/dita/RTC-NG/API/api_irtcengine_takescreenshot.dita @@ -13,28 +13,31 @@

    - - - virtual int takeScreenshot(const char* filename) = 0; - - - - -

    + + + virtual int takeScreenshot(const char* filename) = 0; + + + + +

    参数 - - filename - 屏幕截图文件的文件名。 - -
    + + filename + 屏幕截图文件的文件名。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita b/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita index a81f3041904..975659fa9cd 100644 --- a/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita +++ b/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita @@ -1,66 +1,78 @@ - <ph keyref="takeSnapshot" /> + <ph keyref="takeSnapshot"/> 获取视频截图。 - +

    - public abstract int takeSnapshot(int uid, String filePath); - - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; - virtual int takeSnapshot(uid_t uid, const char* filePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int takeSnapshot(int uid, String filePath); + - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; + virtual int takeSnapshot(uid_t uid, const char* filePath) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int TakeSnapshot(int64 uid, FString filePath); - abstract takeSnapshot(uid: number, filePath: string): number; - public abstract int TakeSnapshot(uint uid, string filePath); - abstract takeSnapshot(uid: number, filePath: string): number; - Future<void> takeSnapshot({required int uid, required String filePath}); -

    + abstract takeSnapshot(uid: number, filePath: string): number; + public abstract int TakeSnapshot(uint uid, string filePath); + abstract takeSnapshot(uid: number, filePath: string): number; + Future<void> takeSnapshot({required int uid, required String filePath}); +

    详情

    该方法用于对指定用户的视频流进行截图,生成一张 JPG 格式的图片,并保存至指定的路径。

    -

    该方法是异步操作,调用返回时 SDK 并没有真正获取截图。成功调用该方法后,SDK 会触发 回调报告截图是否成功和获取截图的详情。

    -

    调用该方法返回时 SDK 并没有真正获取截图。成功调用该方法后,SDK 会触发 回调报告截图是否成功和获取截图的详情。

    +

    该方法是异步操作,调用返回时 SDK + 并没有真正获取截图。成功调用该方法后,SDK 会触发 回调报告截图是否成功和获取截图的详情。

    +

    调用该方法返回时 SDK 并没有真正获取截图。成功调用该方法后,SDK 会触发 + 回调报告截图是否成功和获取截图的详情。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法用于本地视频截图时,是对 中指定发布的视频流进行截图。
    • -
    • 如果用户的视频经过前处理,例如,添加了水印或美颜,生成的截图会包含前处理效果。
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 该方法用于本地视频截图时,是对 中指定发布的视频流进行截图。
    • +
    • 如果用户的视频经过前处理,例如,添加了水印或美颜,生成的截图会包含前处理效果。
    • +
    +
    参数 - - uid - 用户 ID。如果要对本地用户的视频截图,则设为 0。 - - - filePath - -

    截图的本地保存路径,需精确到文件名及格式, 例如: -

      -
    • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
    • -
    • iOS: /App Sandbox/Library/Caches/example.jpg
    • -
    • macOS: ~/Library/Logs/example.jpg
    • -
    • Android: /storage/emulated/0/Android/data/<package name>/files/example.jpg
    • -
    请确保目录存在且可写。

    -
    -
    -
    + + uid + 用户 ID。如果要对本地用户的视频截图,则设为 0。 + + + filePath + +

    截图的本地保存路径,需精确到文件名及格式, 例如:

      +
    • Windows: + C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
    • +
    • iOS: /App + Sandbox/Library/Caches/example.jpg
    • +
    • macOS: + ~/Library/Logs/example.jpg
    • +
    • Android: + /storage/emulated/0/Android/data/<package + name>/files/example.jpg
    • +
    请确保目录存在且可写。

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita b/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita index 57746301af6..7f39fa94d96 100644 --- a/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita +++ b/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita @@ -1,36 +1,40 @@ - <ph keyref="unloadAllEffects" /> + <ph keyref="unloadAllEffects"/> 从内存释放所有预加载音效文件。 - +

    - - - virtual int unloadAllEffects() = 0; + + + virtual int unloadAllEffects() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UnloadAllEffects(); - abstract unloadAllEffects(): number; - public abstract int UnloadAllEffects(); - abstract unloadAllEffects(): number; - Future<void> unloadAllEffects(); -

    + abstract unloadAllEffects(): number; + public abstract int UnloadAllEffects(); + abstract unloadAllEffects(): number; + Future<void> unloadAllEffects(); +

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita b/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita index 5920540a7d7..40b06db7dc7 100644 --- a/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita +++ b/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita @@ -1,45 +1,50 @@ - <ph keyref="unloadEffect" /> + <ph keyref="unloadEffect"/> 从内存释放某个预加载的音效文件。 - +

    - public abstract int unloadEffect(int soundId); + public abstract int unloadEffect(int soundId); - - (int)unloadEffect:(int)soundId; + - (int)unloadEffect:(int)soundId; - virtual int unloadEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int unloadEffect(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UnloadEffect(int soundId); - abstract unloadEffect(soundId: number): number; - public abstract int UnloadEffect(int soundId); - abstract unloadEffect(soundId: number): number; - Future<void> unloadEffect(int soundId); -

    + abstract unloadEffect(soundId: number): number; + public abstract int UnloadEffect(int soundId); + abstract unloadEffect(soundId: number): number; + Future<void> unloadEffect(int soundId); +

    参数 - - soundId - 指定音效文件的 ID。每个音效文件均有唯一的 ID。 - -
    + + 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_unregisteraudioencodedframeobserver.dita b/dita/RTC-NG/API/api_irtcengine_unregisteraudioencodedframeobserver.dita index 025dbcf4e69..39843a08c90 100644 --- a/dita/RTC-NG/API/api_irtcengine_unregisteraudioencodedframeobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_unregisteraudioencodedframeobserver.dita @@ -13,36 +13,39 @@

    - - - - abstract unregisterAudioEncodedFrameObserver( + + + + abstract unregisterAudioEncodedFrameObserver( observer: IAudioEncodedFrameObserver ): number; - public abstract int UnRegisterAudioEncodedFrameObserver(); - abstract unregisterAudioEncodedFrameObserver( + public abstract int UnRegisterAudioEncodedFrameObserver(); + abstract unregisterAudioEncodedFrameObserver( observer: IAudioEncodedFrameObserver ): number; - void unregisterAudioEncodedFrameObserver(AudioEncodedFrameObserver observer); -

    + void unregisterAudioEncodedFrameObserver(AudioEncodedFrameObserver observer); +

    参数 - - observer - 音频编码数据观测器。详见 - + + observer + 音频编码数据观测器。详见 +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengine_unregisteraudioframeobserver.dita b/dita/RTC-NG/API/api_irtcengine_unregisteraudioframeobserver.dita index cdae66ebea4..e90ac2550ca 100644 --- a/dita/RTC-NG/API/api_irtcengine_unregisteraudioframeobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_unregisteraudioframeobserver.dita @@ -13,21 +13,24 @@

    - - - - - public abstract int UnRegisterAudioFrameObserver(); - - -

    + + + + + public abstract int UnRegisterAudioFrameObserver(); + + +

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita b/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita index a1ca89c70a2..8bf2bb71db4 100644 --- a/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita @@ -1,53 +1,58 @@ - <ph keyref="unregisterAudioSpectrumObserver" /> + <ph keyref="unregisterAudioSpectrumObserver"/> 取消注册音频频谱观测器。 - +

    - public abstract int unRegisterAudioSpectrumObserver(IAudioSpectrumObserver observer); - - (int) unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate; - virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int unRegisterAudioSpectrumObserver(IAudioSpectrumObserver observer); + - (int) unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate; + virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UnregisterAudioSpectrumObserver(UIAudioSpectrumObserver* observer); - abstract unregisterAudioSpectrumObserver( + abstract unregisterAudioSpectrumObserver( observer: IAudioSpectrumObserver ): number; - public abstract int UnregisterAudioSpectrumObserver(); - abstract unregisterAudioSpectrumObserver( + public abstract int UnregisterAudioSpectrumObserver(); + abstract unregisterAudioSpectrumObserver( observer: IAudioSpectrumObserver ): number; - void unregisterAudioSpectrumObserver(AudioSpectrumObserver observer); -

    + void unregisterAudioSpectrumObserver(AudioSpectrumObserver observer); +

    详情 -

    调用 后,如果你想取消注册音频频谱观测器,请调用该方法。

    - 该方法在加入频道前后均可调用。
    +

    调用 后,如果你想取消注册音频频谱观测器,请调用该方法。

    + 该方法在加入频道前后均可调用。 +
    参数 - - observer - delegate - 音频频谱观测器。详见 。 - - -
    + + observer + delegate + 音频频谱观测器。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita b/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita index 10cd90eb934..43e225b6943 100644 --- a/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita @@ -1,56 +1,59 @@ - <ph keyref="unregisterMediaMetadataObserver" /> + <ph keyref="unregisterMediaMetadataObserver"/> 取消注册媒体 metadata 观测器。 - +

    - public abstract int unregisterMediaMetadataObserver(IMetadataObserver observer, int type); - - virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int unregisterMediaMetadataObserver(IMetadataObserver observer, int type); + + 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( + abstract unregisterMediaMetadataObserver( observer: IMetadataObserver, type: MetadataType ): number; - public abstract int UnregisterMediaMetadataObserver(); - abstract unregisterMediaMetadataObserver( + public abstract int UnregisterMediaMetadataObserver(); + abstract unregisterMediaMetadataObserver( observer: IMetadataObserver, type: MetadataType ): number; - void unregisterMediaMetadataObserver( + void unregisterMediaMetadataObserver( {required MetadataObserver observer, required MetadataType type}); -

    +

    参数 observer - metadata 观测器,详见 + metadata 观测器,详见 - - + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_unregisterplugin.dita b/dita/RTC-NG/API/api_irtcengine_unregisterplugin.dita index 542864cf5a1..81d295a7e9b 100644 --- a/dita/RTC-NG/API/api_irtcengine_unregisterplugin.dita +++ b/dita/RTC-NG/API/api_irtcengine_unregisterplugin.dita @@ -13,14 +13,14 @@

    - - - - - - - -

    + + + + + + + +

    详情 @@ -29,16 +29,19 @@
    参数 - - pluginId - 用于标识插件的 ID,可以从 中获取。 - -
    + + pluginId + 用于标识插件的 ID,可以从 中获取。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_unregistervideoencodedimagereceiver.dita b/dita/RTC-NG/API/api_irtcengine_unregistervideoencodedimagereceiver.dita index 3f7caa65785..cfac5437e3f 100644 --- a/dita/RTC-NG/API/api_irtcengine_unregistervideoencodedimagereceiver.dita +++ b/dita/RTC-NG/API/api_irtcengine_unregistervideoencodedimagereceiver.dita @@ -13,13 +13,14 @@

    - - - - - public abstract void UnRegisterVideoEncodedImageReceiver(); - - -

    -
    + + + + + public abstract void UnRegisterVideoEncodedImageReceiver(); + + +

    + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_unregistervideoframeobserver.dita b/dita/RTC-NG/API/api_irtcengine_unregistervideoframeobserver.dita index 7fef40a76a4..ecb577c91ce 100644 --- a/dita/RTC-NG/API/api_irtcengine_unregistervideoframeobserver.dita +++ b/dita/RTC-NG/API/api_irtcengine_unregistervideoframeobserver.dita @@ -13,20 +13,22 @@

    - - - - - public abstract void UnRegisterVideoFrameObserver(); - - -

    + + + + + public abstract void UnRegisterVideoFrameObserver(); + + +

    返回值
      -
    • 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 2cb85a6f5b2..ff878a8d22b 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita @@ -1,52 +1,59 @@ - <ph keyref="updateChannelMediaOptions" /> + <ph keyref="updateChannelMediaOptions"/> 加入频道后更新频道媒体选项。 - +

    - public abstract int updateChannelMediaOptions(ChannelMediaOptions options); - - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions; - virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int updateChannelMediaOptions(ChannelMediaOptions options); + - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions; + virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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 + 频道媒体选项,详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 - - - -
        -
      • -2: 结构体成员值设置无效。例如,使用了不合法的 Token,设置了无效的用户角色。你需要填入有效的参数。
      • -
      • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
      • -8: 对象内部状态错误。可能的原因是用户不在频道中。建议通过 回调判断用户是否在频道中。如果收到 (1) 或 (5),则表示用户不在频道中。你需要在调用该方法前调用 加入频道。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2: 结构体成员值设置无效。例如,使用了不合法的 + Token,设置了无效的用户角色。你需要填入有效的参数。
    • +
    • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
    • +
    • -8: 对象内部状态错误。可能的原因是用户不在频道中。建议通过 回调判断用户是否在频道中。如果收到 (1) 或 (5),则表示用户不在频道中。你需要在调用该方法前调用 加入频道。
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_updatechannelmediarelay.dita b/dita/RTC-NG/API/api_irtcengine_updatechannelmediarelay.dita index 7f38d1ee6e6..3981f4e49a6 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatechannelmediarelay.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatechannelmediarelay.dita @@ -1,62 +1,72 @@ - <ph keyref="updateChannelMediaRelay" /> + <ph keyref="updateChannelMediaRelay"/> 更新媒体流转发的频道。 - +

    - public abstract int updateChannelMediaRelay( + public abstract int updateChannelMediaRelay( ChannelMediaRelayConfiguration channelMediaRelayConfiguration); - - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; - virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; + virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateChannelMediaRelay(const FChannelMediaRelayConfiguration& configuration) __deprecated; - abstract updateChannelMediaRelay( + abstract updateChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - abstract updateChannelMediaRelay( + public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + abstract updateChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - Future<void> updateChannelMediaRelay( + Future<void> updateChannelMediaRelay( ChannelMediaRelayConfiguration configuration); -

    +

    详情
    - -
    弃用:
    -
    该方法已废弃。请改用
    -
    + +
    弃用:
    +
    该方法已废弃。请改用
    +

    成功开始跨频道转发媒体流后,如果你希望将流转发到多个目标频道,或退出当前的转发频道,可以调用该方法。

    -

    成功调用该方法后,SDK 会触发 回调, 并在回调中报告状态码 (7)。

    - 请在成功调用 方法并收到 (, ) 后调用该方法;否则,方法调用会失败。
    +

    成功调用该方法后,SDK 会触发 回调, 并在回调中报告状态码 (7)。

    + 请在成功调用 方法并收到 (, ) + 后调用该方法;否则,方法调用会失败。 +
    参数 - - channelMediaRelayConfiguration - config - configuration - 跨频道媒体流转发参数配置。详见 - -
    + + channelMediaRelayConfiguration + config + configuration + 跨频道媒体流转发参数配置。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_updatedirectcdnstreamingmediaoptions.dita b/dita/RTC-NG/API/api_irtcengine_updatedirectcdnstreamingmediaoptions.dita index 034dce724ed..285f21c202d 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatedirectcdnstreamingmediaoptions.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatedirectcdnstreamingmediaoptions.dita @@ -2,40 +2,41 @@ updateDirectCdnStreamingMediaOptions - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    详情 -

    +

    参数 - - - - -
    + + + + + +
    返回值
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita b/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita index 6a2b914f5d7..caccacad445 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita @@ -1,54 +1,62 @@ - <ph keyref="updateLocalTranscoderConfiguration" /> + <ph keyref="updateLocalTranscoderConfiguration"/> 更新本地合图配置。 - +

    - public abstract int updateLocalTranscoderConfiguration(LocalTranscoderConfiguration config); - - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalTranscoderConfiguration(_:)); - virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0; + public abstract int updateLocalTranscoderConfiguration(LocalTranscoderConfiguration config); + - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalTranscoderConfiguration(_:)); + virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateLocalTranscoderConfiguration(const FLocalTranscoderConfiguration& config); - abstract updateLocalTranscoderConfiguration( + abstract updateLocalTranscoderConfiguration( config: LocalTranscoderConfiguration ): number; - public abstract int UpdateLocalTranscoderConfiguration(LocalTranscoderConfiguration config); - abstract updateLocalTranscoderConfiguration( + public abstract int UpdateLocalTranscoderConfiguration(LocalTranscoderConfiguration config); + abstract updateLocalTranscoderConfiguration( config: LocalTranscoderConfiguration ): number; - Future<void> updateLocalTranscoderConfiguration( + Future<void> updateLocalTranscoderConfiguration( LocalTranscoderConfiguration config); -

    +

    详情 -

    调用 后,如果你希望更新本地合图配置,请调用该方法。

    - 如果你想要更新用于合图的的本地采集视频源类型,比如:增加第二路摄像头或者屏幕采集的视频,需要在 之后调用该方法。 +

    调用 后,如果你希望更新本地合图配置,请调用该方法。

    + 如果你想要更新用于合图的的本地采集视频源类型,比如:增加第二路摄像头或者屏幕采集的视频,需要在 之后调用该方法。
    参数 - - config - 本地合图的配置,详见 - -
    + + config + 本地合图的配置,详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita b/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita index be8e675b538..807a75c4946 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita @@ -13,46 +13,52 @@

    - public abstract int updatePreloadChannelToken(String token); - - (int)updatePreloadChannelToken:(NSString * _Nonnull)token NS_SWIFT_NAME(updatePreloadChannelToken(_:)); - virtual int updatePreloadChannelToken(const char* token) = 0; - abstract updatePreloadChannelToken(token: string): number; - public abstract int UpdatePreloadChannelToken(string token); - abstract updatePreloadChannelToken(token: string): number; - Future<void> updatePreloadChannelToken(String token);

    + public abstract int updatePreloadChannelToken(String token); + - (int)updatePreloadChannelToken:(NSString * _Nonnull)token NS_SWIFT_NAME(updatePreloadChannelToken(_:)); + virtual int updatePreloadChannelToken(const char* token) = 0; + abstract updatePreloadChannelToken(token: string): number; + public abstract int UpdatePreloadChannelToken(string token); + abstract updatePreloadChannelToken(token: string): number; + Future<void> updatePreloadChannelToken(String token); +

    详情
    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +

    你需要自行维护通配 Token 的生命周期。当通配 Token 过期后,你需要在你的服务端生成新的通配 Token,然后通过此方法来传入新的 Token。

    适用场景 -

    在需要频繁切换频道及多频道场景下,使用通配 Token 可以避免观众在切换不同频道时需多次申请 Token 从而导致切换频道时间增长,可以进一步加快切换频道的速度,同时减少你的 Token 服务端的压力。

    +

    在需要频繁切换频道及多频道场景下,使用通配 Token 可以避免观众在切换不同频道时需多次申请 Token + 从而导致切换频道时间增长,可以进一步加快切换频道的速度,同时减少你的 Token 服务端的压力。

    参数 - - token - 新的 Token。 - -
    + + token + 新的 Token。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -2:传入的参数无效。例如,使用了不合法的 Token。你需要填入有效的参数,重新加入频道。
      • -
      • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
    • +
    • < 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 38660527f2c..f3cc958a9f5 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatertmptranscoding.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatertmptranscoding.dita @@ -1,8 +1,12 @@ - <ph keyref="updateRtmpTranscoding"/> - 更新旁路推流转码属性。 + + <ph keyref="updateRtmpTranscoding"/> + + + 更新旁路推流转码属性。 + @@ -13,36 +17,42 @@

    - public abstract int updateRtmpTranscoding(LiveTranscoding transcoding); - - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding; - virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int updateRtmpTranscoding(LiveTranscoding transcoding); + - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding; + virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateRtmpTranscoding(FLiveTranscoding& transcoding); - abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; - public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); - abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; - Future<void> updateRtmpTranscoding(LiveTranscoding transcoding); -

    + abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; + public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); + abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; + Future<void> updateRtmpTranscoding(LiveTranscoding transcoding); +

    详情

    声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流

    -

    开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 回调。

    +

    开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 + 回调。

    参数 - - - - -
    -
    + + + + + +
    +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 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 21a5085b4f5..291e89a1f03 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita @@ -1,62 +1,70 @@ - <ph keyref="updateScreenCapture" /> + <ph keyref="updateScreenCapture"/> 更新屏幕采集的参数配置。 - +

    - - - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nonnull)parameters NS_SWIFT_NAME(updateScreenCapture(_:)); - virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0; + + - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nonnull)parameters NS_SWIFT_NAME(updateScreenCapture(_:)); + virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract updateScreenCapture(captureParams: ScreenCaptureParameters2): number; + public abstract int UpdateScreenCapture(ScreenCaptureParameters2 captureParams); + abstract updateScreenCapture(captureParams: ScreenCaptureParameters2): number; + Future<void> updateScreenCapture(ScreenCaptureParameters2 captureParams); +

    详情 -

    如果在开启屏幕共享时未采集系统音频、然后想要更新参数配置、发布系统音频,可参考以下步骤: -

      -
    1. 调用该方法并设置 captureAudio
    2. -
    3. 调用 设置 publishScreenCaptureAudio,即可发布屏幕采集的音频。
    4. +

      如果在开启屏幕共享时未采集系统音频、然后想要更新参数配置、发布系统音频,可参考以下步骤:

        +
      1. 调用该方法并设置 captureAudio
      2. +
      3. 调用 设置 + publishScreenCaptureAudio,即可发布屏幕采集的音频。

      • 该方法仅适用于 Android 和 iOS 平台。
      • -
      • 在 iOS 平台上,屏幕共享仅适用于 iOS 12.0 及以上。
      • +
      • 在 iOS 平台上,屏幕共享仅适用于 iOS 12.0 + 及以上。
    参数 - - parameters - captureParams - 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 - -
    + + parameters + captureParams + 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 -
        -
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • +
    +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita b/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita index 2a8f2543106..ec21ece32a9 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita @@ -1,61 +1,71 @@ - <ph keyref="updateScreenCaptureParameters" /> + <ph keyref="updateScreenCaptureParameters"/> 更新屏幕采集的参数配置。 - +

    - public abstract int updateScreenCaptureParameters( + public abstract int updateScreenCaptureParameters( ScreenCaptureParameters screenCaptureParameters); - - - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams; - virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams; + virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateScreenCaptureParameters(const FScreenCaptureParameters& captureParams); - abstract updateScreenCaptureParameters( + abstract updateScreenCaptureParameters( captureParams: ScreenCaptureParameters ): number; - public abstract int UpdateScreenCaptureParameters(ScreenCaptureParameters captureParams); - abstract updateScreenCaptureParameters( + public abstract int UpdateScreenCaptureParameters(ScreenCaptureParameters captureParams); + abstract updateScreenCaptureParameters( captureParams: ScreenCaptureParameters ): number; - Future<void> updateScreenCaptureParameters( + Future<void> updateScreenCaptureParameters( ScreenCaptureParameters captureParams); -

    +

    详情 -
      -
    • 该方法仅适用于 Windows 和 macOS 平台。
    • -
    • 请在开启屏幕共享或窗口共享后调用该方法。
    • -
    +
      +
    • 该方法仅适用于 Windows 和 macOS 平台。
    • +
    • 请在开启屏幕共享或窗口共享后调用该方法。
    • +
    + +
    参数 - - screenCaptureParameters - captureParams - 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 - -
    + + screenCaptureParameters + captureParams + 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion.dita b/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion.dita index a508319ae86..1f5865b7463 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion.dita @@ -1,28 +1,28 @@ - <ph keyref="updateScreenCaptureRegion1" /> + <ph keyref="updateScreenCaptureRegion1"/> 更新屏幕采集的区域。 - +

    - - - virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + + virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateScreenCaptureRegion(const FRectangle& regionRect); - abstract updateScreenCaptureRegion(regionRect: Rectangle): number; - public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); - abstract updateScreenCaptureRegion(regionRect: Rectangle): number; - Future<void> updateScreenCaptureRegion(Rectangle regionRect); -

    + abstract updateScreenCaptureRegion(regionRect: Rectangle): number; + public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); + abstract updateScreenCaptureRegion(regionRect: Rectangle): number; + Future<void> updateScreenCaptureRegion(Rectangle regionRect); +

    详情 @@ -31,35 +31,39 @@
    参数 - - regionRect - 待共享区域相对于整个屏幕或窗口的位置,如不填,则表示共享整个屏幕或窗口。详见 。如果设置的共享区域超出了屏幕或窗口的边界,则只共享屏幕或窗口内的内容;如果将 width 或 height 设为 0,则共享整个屏幕或窗口。 - - - rect - -

    (可选)待共享区域相对于整个窗口的位置。如不填,则表示共享整个窗口。由如下参数组成: - - - -

      -
    • x:左上角的横向偏移。
    • -
    • y:左上角的纵向偏移。
    • -
    • width:待共享区域的宽。
    • -
    • height:待共享区域的高。
    • -

    -

    如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高设为 0,则共享整个窗口。

    -
    -
    -
    + + regionRect + 待共享区域相对于整个屏幕或窗口的位置,如不填,则表示共享整个屏幕或窗口。详见 。如果设置的共享区域超出了屏幕或窗口的边界,则只共享屏幕或窗口内的内容;如果将 width 或 height 设为 + 0,则共享整个屏幕或窗口。 + + + rect + +

    (可选)待共享区域相对于整个窗口的位置。如不填,则表示共享整个窗口。由如下参数组成:

      +
    • x:左上角的横向偏移。
    • +
    • y:左上角的纵向偏移。
    • +
    • width:待共享区域的宽。
    • +
    • height:待共享区域的高。
    • +

    +

    如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高设为 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_updatescreencaptureregion2.dita b/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita index 49a6c8036d0..404cc012e49 100644 --- a/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita +++ b/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita @@ -13,30 +13,37 @@

    - - - (int)updateScreenCaptureRegion:(CGRect)rect; - virtual int updateScreenCaptureRegion(const Rect* rect) = 0; - abstract updateScreenCaptureRegion(regionRect: Rectangle): number; - public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); - - Future<void> updateScreenCaptureRegion(Rectangle regionRect); -

    + + - (int)updateScreenCaptureRegion:(CGRect)rect; + virtual int updateScreenCaptureRegion(const Rect* rect) = 0; + abstract updateScreenCaptureRegion(regionRect: Rectangle): number; + public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); + + Future<void> updateScreenCaptureRegion(Rectangle regionRect); +

    参数 - - rect - regionRect - 待共享区域相对于整个屏幕的位置,如不填,则表示共享整个屏幕。详见 如果设置的共享区域超出了屏幕或窗口的边界,则只共享屏幕或窗口内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕或窗口。 - -
    + + rect + regionRect + 待共享区域相对于整个屏幕的位置,如不填,则表示共享整个屏幕。详见 如果设置的共享区域超出了屏幕或窗口的边界,则只共享屏幕或窗口内的内容;如果将 width 或 + height 设为 0 ,则共享整个屏幕或窗口。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
    diff --git a/dita/RTC-NG/API/api_irtcengine_uploadlogfile.dita b/dita/RTC-NG/API/api_irtcengine_uploadlogfile.dita index 683efb01f75..b74b65db7d2 100644 --- a/dita/RTC-NG/API/api_irtcengine_uploadlogfile.dita +++ b/dita/RTC-NG/API/api_irtcengine_uploadlogfile.dita @@ -1,60 +1,69 @@ - <ph keyref="uploadLogFile" /> + <ph keyref="uploadLogFile"/> 上传所有本地的 SDK 日志文件。 - +

    - - - virtual int uploadLogFile(agora::util::AString& requestId) = 0; - - public abstract string UploadLogFile(); - - Future<void> uploadLogFile(String requestId); -

    + + + virtual int uploadLogFile(agora::util::AString& requestId) = 0; + + public abstract string UploadLogFile(); + + Future<void> uploadLogFile(String requestId); +

    详情 -

    将客户端的所有日志文件上传至声网服务器。成功调用该方法后,SDK 会触发 回调报告日志文件是否成功上传至声网服务器。

    +

    将客户端的所有日志文件上传至声网服务器。成功调用该方法后,SDK 会触发 + 回调报告日志文件是否成功上传至声网服务器。

    - 该方法每分钟的调用次数不得超过 1 次,超出后会报错误码 ERR_TOO_OFTEN(12)。

    + 该方法每分钟的调用次数不得超过 1 次,超出后会报错误码 + ERR_TOO_OFTEN(12)。

    - 该方法每分钟的调用次数不得超过 1 次,超出后会返回

    + 该方法每分钟的调用次数不得超过 1 次,超出后会返回

    为了方便排查问题,建议你将 uploadLogFile 方法与应用的 UI 元素绑定,在出现质量问题时提示用户上传日志。

    参数 - - requestId - -

    请求 ID。该请求 ID 与 回调中的 requestId 一致。你可以通过 requestId 将特定的上传和回调对应起来。

    -
    -
    -
    + + requestId + +

    请求 ID。该请求 ID 与 回调中的 + requestId 一致。你可以通过 + requestId 将特定的上传和回调对应起来。

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 - -
        -
      • -12(ERR_TOO_OFTEN): 调用频率超出限制。
      • -
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。 +
        +
      • -12(ERR_TOO_OFTEN): 调用频率超出限制。
      • +
      -
    • 方法调用成功: 返回请求 ID。该请求 ID 与 回调中的 requestId 一致。你可以通过 requestId 将特定的上传和回调对应起来。
    • -
    • 方法调用失败: 返回 。可能是因为调用频率超出限制。
    • -
    +
  • 方法调用成功: 返回请求 ID。该请求 ID 与 回调中的 + requestId 一致。你可以通过 requestId + 将特定的上传和回调对应起来。
  • +
  • 方法调用失败: 返回 。可能是因为调用频率超出限制。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_addpublishstreamurlex.dita b/dita/RTC-NG/API/api_irtcengineex_addpublishstreamurlex.dita index 188c3d220d2..e5a5082c47b 100644 --- a/dita/RTC-NG/API/api_irtcengineex_addpublishstreamurlex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_addpublishstreamurlex.dita @@ -1,74 +1,83 @@ - <ph keyref="addPublishStreamUrlEx" /> + <ph keyref="addPublishStreamUrlEx"/> 增加旁路推流地址。 - +

    - public abstract int addPublishStreamUrlEx( + public abstract int addPublishStreamUrlEx( String url, boolean transcodingEnabled, RtcConnection connection); - - (int)addPublishStreamUrlEx:(NSString * _Nonnull)url + - (int)addPublishStreamUrlEx:(NSString * _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int addPublishStreamUrlEx(const char* url, bool transcodingEnabled, const RtcConnection& connection) = 0; - public abstract int AddPublishStreamUrlEx(string url, bool transcodingEnabled, RtcConnection connection); - abstract addPublishStreamUrlEx(url: string, transcodingEnabled: boolean, connection: RtcConnection): number; - abstract addPublishStreamUrlEx( + virtual int addPublishStreamUrlEx(const char* url, bool transcodingEnabled, const RtcConnection& connection) = 0; + public abstract int AddPublishStreamUrlEx(string url, bool transcodingEnabled, RtcConnection connection); + abstract addPublishStreamUrlEx(url: string, transcodingEnabled: boolean, connection: RtcConnection): number; + abstract addPublishStreamUrlEx( url: string, transcodingEnabled: boolean, connection: RtcConnection ): number; - Future<void> addPublishStreamUrlEx( + Future<void> addPublishStreamUrlEx( {required String url, required bool transcodingEnabled, - required RtcConnection connection}); -

    + required RtcConnection connection}); +

    详情 -

    调用该方法后,你可以根据 选择向 CDN 推送任意一路 RTMP 或 RTMPS 协议的媒体流。SDK 会在本地触发 回调,报告增加旁路推流地址的状态。

    +

    调用该方法后,你可以根据 选择向 CDN 推送任意一路 RTMP 或 RTMPS 协议的媒体流。SDK + 会在本地触发 回调,报告增加旁路推流地址的状态。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 请确保已开通旁路推流的功能。
    • -
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • -
    • 该方法每次只能增加一路旁路推流地址。若需推送多路流,则需多次调用该方法。
    • -
    • 在一个 实例中,最多只能推送一路上行媒体流(比如通过 选择正在发布的摄像头采集的视频流或者屏幕共享视频流)到 CDN。
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 请确保已开通旁路推流的功能。
    • +
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • +
    • 该方法每次只能增加一路旁路推流地址。若需推送多路流,则需多次调用该方法。
    • +
    • 在一个 实例中,最多只能推送一路上行媒体流(比如通过 选择正在发布的摄像头采集的视频流或者屏幕共享视频流)到 CDN。
    • +
    + +
    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。 -
        -
      • -2: 参数无效,一般是 URL 为空或是长度为 0 的字符串。
      • -
      • -7: 推流时未初始化引擎。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。 +
      +
    • -2: 参数无效,一般是 URL 为空或是长度为 0 的字符串。
    • +
    • -7: 推流时未初始化引擎。
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_addvideowatermarkex.dita b/dita/RTC-NG/API/api_irtcengineex_addvideowatermarkex.dita index 83982f02f9b..792c05bd97b 100644 --- a/dita/RTC-NG/API/api_irtcengineex_addvideowatermarkex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_addvideowatermarkex.dita @@ -1,88 +1,95 @@ - <ph keyref="addVideoWatermarkEx" /> + <ph keyref="addVideoWatermarkEx"/> 添加本地视频水印。 - +

    - public abstract int addVideoWatermarkEx( + public abstract int addVideoWatermarkEx( String watermarkUrl, WatermarkOptions options, RtcConnection connection); - - (int)addVideoWatermarkEx:(NSURL* _Nonnull)url + - (int)addVideoWatermarkEx:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int addVideoWatermarkEx(const char* watermarkUrl, + virtual int addVideoWatermarkEx(const char* watermarkUrl, const WatermarkOptions& options, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int AddVideoWatermarkEx(FString watermarkUrl, const FWatermarkOptions& options, const FRtcConnection& connection); - abstract addVideoWatermarkEx( + abstract addVideoWatermarkEx( watermarkUrl: string, options: WatermarkOptions, connection: RtcConnection ): number; - public abstract int AddVideoWatermarkEx(string watermarkUrl, WatermarkOptions options, RtcConnection connection); - abstract addVideoWatermarkEx( + public abstract int AddVideoWatermarkEx(string watermarkUrl, WatermarkOptions options, RtcConnection connection); + abstract addVideoWatermarkEx( watermarkUrl: string, options: WatermarkOptions, connection: RtcConnection ): number; - Future<void> addVideoWatermarkEx( + Future<void> addVideoWatermarkEx( {required String watermarkUrl, required WatermarkOptions options, required RtcConnection connection}); -

    +

    详情 -

    -

    水印坐标和 方法中的设置有依赖关系: - - - - -

      -
    • 如果视频编码方向()固定为横屏或自适应模式下的横屏,那么水印使用横屏坐标。
    • -
    • 如果视频编码方向()固定为竖屏或自适应模式下的竖屏,那么水印使用竖屏坐标。
    • -
    • 设置水印坐标时,水印的图像区域不能超出 方法中设置的视频尺寸,否则超出部分将被裁剪。
    • -

    +

    +

    水印坐标和 方法中的设置有依赖关系:

      +
    • 如果视频编码方向()固定为横屏或自适应模式下的横屏,那么水印使用横屏坐标。
    • +
    • 如果视频编码方向()固定为竖屏或自适应模式下的竖屏,那么水印使用竖屏坐标。
    • +
    • 设置水印坐标时,水印的图像区域不能超出 + 方法中设置的视频尺寸,否则超出部分将被裁剪。
    • +
    +

    -
      -
    • 你需要在调用 方法之后再调用本方法。
    • -
    • 待添加水印图片必须是 PNG 格式。本方法支持所有像素格式的 PNG 图片:RGBA、RGB、Palette、Gray 和 Alpha_gray。
    • -
    • 如果待添加的 PNG 图片的尺寸与你在本方法中设置的尺寸不一致,SDK 会对 PNG 图片进行缩放或裁剪,以与设置相符。
    • -
    • 如果你已经使用 方法开启本地视频预览,那么本方法的 visibleInPreview 可设置水印在预览时是否可见。
    • -
    • 如果你已设置本地视频为镜像模式,那么此处的本地水印也为镜像。为避免本地用户看本地视频时的水印也被镜像,建议你不要对本地视频同时使用镜像和水印功能,请在应用层实现本地水印功能。
    • -
    +
      +
    • 你需要在调用 方法之后再调用本方法。
    • +
    • 待添加水印图片必须是 PNG 格式。本方法支持所有像素格式的 PNG 图片:RGBA、RGB、Palette、Gray 和 + Alpha_gray。
    • +
    • 如果待添加的 PNG 图片的尺寸与你在本方法中设置的尺寸不一致,SDK 会对 PNG 图片进行缩放或裁剪,以与设置相符。
    • +
    • 如果你已经使用 方法开启本地视频预览,那么本方法的 + visibleInPreview 可设置水印在预览时是否可见。
    • +
    • 如果你已设置本地视频为镜像模式,那么此处的本地水印也为镜像。为避免本地用户看本地视频时的水印也被镜像,建议你不要对本地视频同时使用镜像和水印功能,请在应用层实现本地水印功能。
    • +
    + +
    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_adjustrecordingsignalvolumeex.dita b/dita/RTC-NG/API/api_irtcengineex_adjustrecordingsignalvolumeex.dita index 90b966c8568..d32c97a1df6 100644 --- a/dita/RTC-NG/API/api_irtcengineex_adjustrecordingsignalvolumeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_adjustrecordingsignalvolumeex.dita @@ -13,22 +13,23 @@

    - public abstract int adjustRecordingSignalVolumeEx(int volume, RtcConnection connection); - - (int)adjustRecordingSignalVolumeEx:(NSInteger)volume + public abstract int adjustRecordingSignalVolumeEx(int volume, RtcConnection connection); + - (int)adjustRecordingSignalVolumeEx:(NSInteger)volume connection:(AgoraRtcConnection* _Nonnull)connection; - virtual int adjustRecordingSignalVolumeEx(int volume, const RtcConnection& connection) = 0; - - - -

    + virtual int adjustRecordingSignalVolumeEx(int volume, const RtcConnection& connection) = 0; + + + + +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    该方法需要在加入频道后调用。
    @@ -39,24 +40,27 @@
    参数 - - volume - 音量,取值范围为 [0,400]。
      -
    • 0:静音。如果你只需将音频信号静音,声网建议你使用
    • -
    • 100:(默认) 原始音量。
    • -
    • 400:原始音量的 4 倍,自带溢出保护。
    -
    - - connection - Connection 信息。详见 - + + volume + 音量,取值范围为 [0,400]。
      +
    • 0:静音。如果你只需将音频信号静音,声网建议你使用
    • +
    • 100:(默认) 原始音量。
    • +
    • 400:原始音量的 4 倍,自带溢出保护。
    • +
    +
    + + connection + Connection 信息。详见 +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita b/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita index eae298124a4..f45f9306b98 100644 --- a/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita @@ -13,67 +13,74 @@

    - public abstract int adjustUserPlaybackSignalVolumeEx( + public abstract int adjustUserPlaybackSignalVolumeEx( int uid, int volume, RtcConnection connection); - - (int)adjustUserPlaybackSignalVolumeEx:(NSUInteger)uid + - (int)adjustUserPlaybackSignalVolumeEx:(NSUInteger)uid volume:(NSInteger)volume connection:(AgoraRtcConnection* _Nonnull)connection; - virtual int adjustUserPlaybackSignalVolumeEx(unsigned int uid, int volume, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int adjustUserPlaybackSignalVolumeEx(unsigned int uid, int volume, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int AdjustUserPlaybackSignalVolumeEx(int64 uid, int volume, const FRtcConnection& connection); - abstract adjustUserPlaybackSignalVolumeEx( + abstract adjustUserPlaybackSignalVolumeEx( uid: number, volume: number, connection: RtcConnection ): number; - public abstract int AdjustUserPlaybackSignalVolumeEx(uint uid, int volume, RtcConnection connection); - abstract adjustUserPlaybackSignalVolumeEx( + public abstract int AdjustUserPlaybackSignalVolumeEx(uint uid, int volume, RtcConnection connection); + abstract adjustUserPlaybackSignalVolumeEx( uid: number, volume: number, connection: RtcConnection ): number; - Future<void> adjustUserPlaybackSignalVolumeEx( + Future<void> adjustUserPlaybackSignalVolumeEx( {required int uid, required int volume, required RtcConnection connection}); -

    +

    详情
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    你可以在通话中调用该方法调节指定远端用户在本地播放的音量。如需调节多个用户在本地播放的音量,则需多次调用该方法。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法调节的是本地播放的指定远端用户混音后的音量。
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 该方法调节的是本地播放的指定远端用户混音后的音量。
    • +
    + +
    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_clearvideowatermarkex.dita b/dita/RTC-NG/API/api_irtcengineex_clearvideowatermarkex.dita index 33d1fc738a2..311888fc285 100644 --- a/dita/RTC-NG/API/api_irtcengineex_clearvideowatermarkex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_clearvideowatermarkex.dita @@ -1,43 +1,48 @@ - <ph keyref="clearVideoWatermarkEx" /> + <ph keyref="clearVideoWatermarkEx"/> 删除已添加的视频水印。 - +

    - public abstract int clearVideoWatermarkEx(RtcConnection connection); - - (int)clearVideoWatermarkEx:(AgoraRtcConnection * _Nonnull)connection; - virtual int clearVideoWatermarkEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int clearVideoWatermarkEx(RtcConnection connection); + - (int)clearVideoWatermarkEx:(AgoraRtcConnection * _Nonnull)connection; + virtual int clearVideoWatermarkEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ClearVideoWatermarkEx(const FRtcConnection& connection); - abstract clearVideoWatermarkEx(connection: RtcConnection): number; - public abstract int ClearVideoWatermarkEx(RtcConnection connection); - abstract clearVideoWatermarkEx(connection: RtcConnection): number; - Future<void> clearVideoWatermarkEx(RtcConnection connection); -

    + abstract clearVideoWatermarkEx(connection: RtcConnection): number; + public abstract int ClearVideoWatermarkEx(RtcConnection connection); + abstract clearVideoWatermarkEx(connection: RtcConnection): number; + Future<void> clearVideoWatermarkEx(RtcConnection connection); +

    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita b/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita index b382596dd53..6115ec1c5f7 100644 --- a/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita @@ -1,88 +1,94 @@ - <ph keyref="createDataStreamEx1" /> + <ph keyref="createDataStreamEx1"/> 创建数据流。 - +

    - public abstract int createDataStreamEx( + public abstract int createDataStreamEx( boolean reliable, boolean ordered, RtcConnection connection); - - (int)createDataStreamEx:(NSInteger * _Nonnull)streamId + - (int)createDataStreamEx:(NSInteger * _Nonnull)streamId reliable:(BOOL)reliable ordered:(BOOL)ordered connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(createDataStreamEx(_:reliable:ordered:connection:)); - virtual int createDataStreamEx(int* streamId, bool reliable, bool ordered, const RtcConnection& connection) = 0; - abstract createDataStreamEx( + virtual int createDataStreamEx(int* streamId, bool reliable, bool ordered, const RtcConnection& connection) = 0; + abstract createDataStreamEx( config: DataStreamConfig, connection: RtcConnection ): number; - public abstract int CreateDataStreamEx(ref int streamId, bool reliable, bool ordered, RtcConnection connection); - -

    + public abstract int CreateDataStreamEx(ref int streamId, bool reliable, bool ordered, RtcConnection connection); + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。请改用
    -
    + +
    弃用:
    +
    该方法已废弃。请改用
    +

    你可以调用该方法创建数据流并提高数据传输的可靠性和有序性。

    -
      -
    • 请确保将 reliableordered 设为相同的值。
    • -
    • 生命周期内,每个用户最多只能创建 5 个数据流。
    • -
    • 频道内数据通道最多允许数据延迟 5 秒,若超过 5 秒接收方尚未收到数据流,则数据通道会向 App 报错。
    • -
    +
      +
    • 请确保将 reliableordered + 设为相同的值。
    • +
    • 生命周期内,每个用户最多只能创建 5 个数据流。
    • +
    • 频道内数据通道最多允许数据延迟 5 秒,若超过 5 秒接收方尚未收到数据流,则数据通道会向 App 报错。
    • +
    + +
    参数 - - - - - - reliable - -

    是否保证数据可靠性,即接收方是否需要在数据发送后的 5 秒内接收: - -

      -
    • : 保证接收方会在数据发送后的 5 秒内接收。如果接收方在数据发送后的 5 秒内没有接收数据,SDK 会报错。
    • -
    • : 不保证收方会在数据发送后的 5 秒内接收。如果接收延迟或丢失数据,SDK 不会报错。
    • -

    -
    -
    - - ordered - -

    是否保证数据有序性,即接收方是否需要收到有序的数据: - -

      -
    • :保证接收方会按照发送方发送的顺序收到数据包。
    • -
    • :不保证接收方按照发送方发送的顺序收到数据包。
    • -

    -
    -
    - - - - -
    + + + + + + reliable + +

    是否保证数据可靠性,即接收方是否需要在数据发送后的 5 秒内接收:

      +
    • : 保证接收方会在数据发送后的 5 + 秒内接收。如果接收方在数据发送后的 5 秒内没有接收数据,SDK 会报错。
    • +
    • : 不保证收方会在数据发送后的 5 + 秒内接收。如果接收延迟或丢失数据,SDK 不会报错。
    • +

    +
    +
    + + ordered + +

    是否保证数据有序性,即接收方是否需要收到有序的数据:

      +
    • :保证接收方会按照发送方发送的顺序收到数据包。
    • +
    • :不保证接收方按照发送方发送的顺序收到数据包。
    • +

    +
    +
    + + + + + +
    返回值
      -
    • 成功创建的数据流 ID:方法调用成功。
    • -
    • 0: 创建数据流成功。
    • -
    • < 0: 创建数据流失败。
    • -
    +
  • 成功创建的数据流 ID:方法调用成功。
  • +
  • 0: 创建数据流成功。
  • +
  • < 0: 创建数据流失败。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita b/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita index d94322eef9f..719455b8851 100644 --- a/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita +++ b/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita @@ -1,66 +1,71 @@ - <ph keyref="createDataStreamEx2" /> + <ph keyref="createDataStreamEx2"/> 创建数据流。 - +

    - public abstract int createDataStreamEx(DataStreamConfig config, RtcConnection connection); + public abstract int createDataStreamEx(DataStreamConfig config, RtcConnection connection); - - (int)createDataStreamEx:(NSInteger * _Nonnull)streamId + - (int)createDataStreamEx:(NSInteger * _Nonnull)streamId config:(AgoraDataStreamConfig * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(createDataStreamEx(_:config:connection:)); - virtual int createDataStreamEx(int* streamId, DataStreamConfig& config, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int createDataStreamEx(int* streamId, DataStreamConfig& config, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int CreateDataStreamEx(int& streamId, const FDataStreamConfig& config, const FRtcConnection& connection); - abstract createDataStreamEx( + abstract createDataStreamEx( config: DataStreamConfig, connection: RtcConnection ): number; - public abstract int CreateDataStreamEx(ref int streamId, DataStreamConfig config, RtcConnection connection); - abstract createDataStreamEx( + public abstract int CreateDataStreamEx(ref int streamId, DataStreamConfig config, RtcConnection connection); + abstract createDataStreamEx( config: DataStreamConfig, connection: RtcConnection ): number; - Future<int> createDataStreamEx( + Future<int> createDataStreamEx( {required DataStreamConfig config, required RtcConnection connection}); -

    +

    详情

    创建数据流。每个用户在每个频道中最多只能创建 5 个数据流。

    -

    相比 ,本方法不支持数据可靠。接收方会丢弃超出发送时间 5 秒后的数据包。

    +

    相比 ,本方法不支持数据可靠。接收方会丢弃超出发送时间 5 秒后的数据包。

    参数 - - - - - - config - 数据流设置。详见 - - - - - -
    + + + + + + config + 数据流设置。详见 + + + + + + +
    返回值
      -
    • 0: 创建数据流成功。
    • -
    • 创建的数据流的 ID:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 创建数据流成功。
  • +
  • 创建的数据流的 ID:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita b/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita index 60b34f1234c..9c689ca9131 100644 --- a/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita @@ -2,7 +2,8 @@ <ph keyref="enableAudioVolumeIndicationEx"/> - + @@ -13,65 +14,71 @@

    - public abstract int enableAudioVolumeIndicationEx( + public abstract int enableAudioVolumeIndicationEx( int interval, int smooth, boolean reportVad, RtcConnection connection); - - (int)enableAudioVolumeIndicationEx:(NSInteger)interval + - (int)enableAudioVolumeIndicationEx:(NSInteger)interval smooth:(NSInteger)smooth reportVad:(BOOL)reportVad connection:(AgoraRtcConnection* _Nonnull)connection NS_SWIFT_NAME(enableAudioVolumeIndicationEx(_:smooth:reportVad:connection:)); - virtual int enableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int enableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, const FRtcConnection& connection); - abstract enableAudioVolumeIndicationEx( + abstract enableAudioVolumeIndicationEx( interval: number, smooth: number, reportVad: boolean, connection: RtcConnection ): number; - public abstract int EnableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, RtcConnection connection); - abstract enableAudioVolumeIndicationEx( + public abstract int EnableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, RtcConnection connection); + abstract enableAudioVolumeIndicationEx( interval: number, smooth: number, reportVad: boolean, connection: RtcConnection ): number; - Future<void> enableAudioVolumeIndicationEx( + Future<void> enableAudioVolumeIndicationEx( {required int interval, required int smooth, required bool reportVad, required RtcConnection connection}); -

    +

    详情 -

    该方法允许 SDK 定期向 App 报告本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息。启用该方法后,只要频道内有发流用户,SDK 会在加入频道后按设置的时间间隔触发 回调。

    +

    该方法允许 SDK 定期向 App 报告本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息。启用该方法后,只要频道内有发流用户,SDK + 会在加入频道后按设置的时间间隔触发 回调。

    参数 - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita b/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita index 4435a6731b7..c44401aa3a4 100644 --- a/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita @@ -13,54 +13,61 @@

    - public abstract int enableContentInspectEx( + public abstract int enableContentInspectEx( boolean enabled, ContentInspectConfig config, RtcConnection connection); - - (int)enableContentInspectEx:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(enableContentInspectEx(_:config:connection:)); - virtual int enableContentInspectEx(bool enabled, const media::ContentInspectConfig &config, const RtcConnection& connection) = 0; - public abstract int EnableContentInspectEx(bool enabled, ContentInspectConfig config, RtcConnection connection); - abstract enableContentInspectEx( + - (int)enableContentInspectEx:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(enableContentInspectEx(_:config:connection:)); + virtual int enableContentInspectEx(bool enabled, const media::ContentInspectConfig &config, const RtcConnection& connection) = 0; + public abstract int EnableContentInspectEx(bool enabled, ContentInspectConfig config, RtcConnection connection); + abstract enableContentInspectEx( enabled: boolean, config: ContentInspectConfig, connection: RtcConnection ): number; - Future<void> enableContentInspectEx( + Future<void> enableContentInspectEx( {required bool enabled, required ContentInspectConfig config, - required RtcConnection connection});

    + required RtcConnection connection}); +

    详情
    - -
    自从
    -
    v4.2.3
    -
    + +
    自从
    +
    v4.2.3
    +
    -

    该方法可以对多条视频流截图并上传。开启视频截图上传后,SDK 会根据你在 中设置的模块类型和频率对本地用户发送的视频进行截图和上传。截图完成后,声网服务器会以 HTTPS 请求的形式,向你的服务器发送回调通知,并将所有截图发送至你指定的第三方云存储。

    +

    该方法可以对多条视频流截图并上传。开启视频截图上传后,SDK 会根据你在 + 中设置的模块类型和频率对本地用户发送的视频进行截图和上传。截图完成后,声网服务器会以 HTTPS + 请求的形式,向你的服务器发送回调通知,并将所有截图发送至你指定的第三方云存储。

    调用该方法前,请确保已开通视频截图上传服务。
    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -
    + diff --git a/dita/RTC-NG/API/api_irtcengineex_enabledualstreammodeex.dita b/dita/RTC-NG/API/api_irtcengineex_enabledualstreammodeex.dita index 32f7e1faad1..3e4006bae8e 100644 --- a/dita/RTC-NG/API/api_irtcengineex_enabledualstreammodeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_enabledualstreammodeex.dita @@ -13,71 +13,76 @@

    - public abstract int enableDualStreamModeEx( + public abstract int enableDualStreamModeEx( boolean enabled, SimulcastStreamConfig streamConfig, RtcConnection connection); - - (int)enableDualStreamModeEx:(BOOL)enabled + - (int)enableDualStreamModeEx:(BOOL)enabled streamConfig:(AgoraSimulcastStreamConfig*)streamConfig connection:(AgoraRtcConnection* _Nonnull)connection; - virtual int enableDualStreamModeEx(bool enabled, const SimulcastStreamConfig& streamConfig, + virtual int enableDualStreamModeEx(bool enabled, const SimulcastStreamConfig& streamConfig, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableDualStreamModeEx(bool enabled, const FSimulcastStreamConfig& streamConfig, const FRtcConnection& connection); - abstract enableDualStreamModeEx( + abstract enableDualStreamModeEx( enabled: boolean, streamConfig: SimulcastStreamConfig, connection: RtcConnection ): number; - public abstract int EnableDualStreamModeEx(bool enabled, SimulcastStreamConfig streamConfig, RtcConnection connection); - abstract enableDualStreamModeEx( + public abstract int EnableDualStreamModeEx(bool enabled, SimulcastStreamConfig streamConfig, RtcConnection connection); + abstract enableDualStreamModeEx( enabled: boolean, streamConfig: SimulcastStreamConfig, connection: RtcConnection ): number; - Future<void> enableDualStreamModeEx( + Future<void> enableDualStreamModeEx( {required bool enabled, required SimulcastStreamConfig streamConfig, required RtcConnection connection}); -

    +

    详情
    - -
    自从
    -
    v4.0.1
    -
    + +
    自从
    +
    v4.0.1
    +
    弃用:
    从 v4.2.0 起废弃,请改用
    -
    +

    该方法适用于发送端发送的所有类型的流,包括且不限于来自摄像头采集的视频流、屏幕共享流、自定义采集的视频流。

    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。 详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita b/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita index 2ed5d4c13a1..3d77023594a 100644 --- a/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita @@ -13,60 +13,65 @@

    - public abstract int enableEncryptionEx( + public abstract int enableEncryptionEx( boolean enabled, EncryptionConfig config, RtcConnection connection); - - (int)enableEncryptionEx:(bool)enabled encryptionConfig:(AgoraEncryptionConfig *_Nonnull)config connection:(AgoraRtcConnection* _Nonnull)connection NS_SWIFT_NAME(enableEncryptionEx(_:encryptionConfig:connection:)); - virtual int enableEncryptionEx(const RtcConnection& connection, bool enabled, const EncryptionConfig& config) = 0; - - abstract enableEncryptionEx( + - (int)enableEncryptionEx:(bool)enabled encryptionConfig:(AgoraEncryptionConfig *_Nonnull)config connection:(AgoraRtcConnection* _Nonnull)connection NS_SWIFT_NAME(enableEncryptionEx(_:encryptionConfig:connection:)); + virtual int enableEncryptionEx(const RtcConnection& connection, bool enabled, const EncryptionConfig& config) = 0; + + abstract enableEncryptionEx( connection: RtcConnection, enabled: boolean, config: EncryptionConfig ): number; - public abstract int EnableEncryptionEx(RtcConnection connection, bool enabled, EncryptionConfig config); - abstract enableEncryptionEx( + public abstract int EnableEncryptionEx(RtcConnection connection, bool enabled, EncryptionConfig config); + abstract enableEncryptionEx( connection: RtcConnection, enabled: boolean, config: EncryptionConfig ): number; - Future<void> enableEncryptionEx( + Future<void> enableEncryptionEx( {required RtcConnection connection, required bool enabled, - required EncryptionConfig config});

    + required EncryptionConfig config}); +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +
    -

    -

    +

    +

    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。

    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + + diff --git a/dita/RTC-NG/API/api_irtcengineex_enableloopbackrecordingex.dita b/dita/RTC-NG/API/api_irtcengineex_enableloopbackrecordingex.dita index 534193e7738..fe69e4fa900 100644 --- a/dita/RTC-NG/API/api_irtcengineex_enableloopbackrecordingex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_enableloopbackrecordingex.dita @@ -13,66 +13,71 @@

    - - - (int)enableLoopbackRecordingEx:(BOOL)enabled + + - (int)enableLoopbackRecordingEx:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(enableLoopbackRecordingEx(_:deviceName:connection:)); - virtual int enableLoopbackRecordingEx(const RtcConnection& connection, bool enabled, const char* deviceName = NULL) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int enableLoopbackRecordingEx(const RtcConnection& connection, bool enabled, const char* deviceName = NULL) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableLoopbackRecordingEx(const FRtcConnection& connection, bool enabled, FString deviceName); - abstract enableLoopbackRecordingEx( + abstract enableLoopbackRecordingEx( connection: RtcConnection, enabled: boolean, deviceName?: string ): number; - public abstract int EnableLoopbackRecordingEx(RtcConnection connection, bool enabled, string deviceName); - abstract enableLoopbackRecordingEx( + public abstract int EnableLoopbackRecordingEx(RtcConnection connection, bool enabled, string deviceName); + abstract enableLoopbackRecordingEx( connection: RtcConnection, enabled: boolean, deviceName?: string ): number; - Future<void> enableLoopbackRecordingEx( + Future<void> enableLoopbackRecordingEx( {required RtcConnection connection, required bool enabled, String? deviceName}); -

    +

    详情

    启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端。

    -
      -
    • 该方法仅适用于 macOS 和 Windows 平台。
    • -
    • macOS 系统默认声卡不支持采集功能,如果你需要使用该功能,请启用一个虚拟声卡,并将 deviceName 设为该虚拟声卡的设备名。声网推荐你使用声网自研的虚拟声卡 AgoraALD 进行采集。
    • -
    • 该方法目前仅支持一路声卡采集。
    • -
    +
      +
    • 该方法仅适用于 macOS 和 Windows 平台。
    • +
    • macOS + 系统默认声卡不支持采集功能,如果你需要使用该功能,请启用一个虚拟声卡,并将 deviceName + 设为该虚拟声卡的设备名。声网推荐你使用声网自研的虚拟声卡 AgoraALD 进行采集。
    • +
    • 该方法目前仅支持一路声卡采集。
    • +
    参数 - - - - - - enabled - 是否开启声卡采集: - -
      -
    • : 开启声卡采集。
    • -
    • :(默认)不开启声卡采集。
    • -
    -
    - - - - -
    + + + + + + enabled + 是否开启声卡采集:
      +
    • : 开启声卡采集。
    • +
    • :(默认)不开启声卡采集。
    • +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita b/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita index 4a87a50589d..bea2359d1f2 100644 --- a/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita @@ -1,7 +1,7 @@ - <ph keyref="getCallIdEx" /> + <ph keyref="getCallIdEx"/> 使用连接 ID 获取通话 ID。 @@ -13,22 +13,23 @@

    - public abstract String getCallIdEx(RtcConnection connection); - - (NSString * _Nullable)getCallIdEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(getCallIdEx(_:)); - virtual int getCallIdEx(agora::util::AString& callId, const RtcConnection& connection) = 0; - - abstract getCallIdEx(connection: RtcConnection): string; - public abstract int GetCallIdEx(ref string callId, RtcConnection connection); - abstract getCallIdEx(connection: RtcConnection): string; - Future<String> getCallIdEx(RtcConnection connection);

    + public abstract String getCallIdEx(RtcConnection connection); + - (NSString * _Nullable)getCallIdEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(getCallIdEx(_:)); + virtual int getCallIdEx(agora::util::AString& callId, const RtcConnection& connection) = 0; + + abstract getCallIdEx(connection: RtcConnection): string; + public abstract int GetCallIdEx(ref string callId, RtcConnection connection); + abstract getCallIdEx(connection: RtcConnection): string; + Future<String> getCallIdEx(RtcConnection connection); +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +

    @@ -36,15 +37,16 @@

    参数 - - - - - - - - -
    + + + + + + + + + +
    - + diff --git a/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita b/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita index 88f9a1522b7..b7659c9c42a 100644 --- a/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita @@ -1,30 +1,34 @@ - <ph keyref="getConnectionStateEx" /> - 获取当前网络连接状态。 + + <ph keyref="getConnectionStateEx"/> + + + 获取当前网络连接状态。 + - +

    - public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionStateEx( + public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionStateEx( RtcConnection connection); - - (AgoraConnectionState)getConnectionStateEx:(AgoraRtcConnection * _Nonnull)connection; - virtual CONNECTION_STATE_TYPE getConnectionStateEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (AgoraConnectionState)getConnectionStateEx:(AgoraRtcConnection * _Nonnull)connection; + virtual CONNECTION_STATE_TYPE getConnectionStateEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") ECONNECTION_STATE_TYPE GetConnectionStateEx(const FRtcConnection& connection); - abstract getConnectionStateEx(connection: RtcConnection): ConnectionStateType; - public abstract CONNECTION_STATE_TYPE GetConnectionStateEx(RtcConnection connection); - abstract getConnectionStateEx(connection: RtcConnection): ConnectionStateType; - Future<ConnectionStateType> getConnectionStateEx(RtcConnection connection); -

    + abstract getConnectionStateEx(connection: RtcConnection): ConnectionStateType; + public abstract CONNECTION_STATE_TYPE GetConnectionStateEx(RtcConnection connection); + abstract getConnectionStateEx(connection: RtcConnection): ConnectionStateType; + Future<ConnectionStateType> getConnectionStateEx(RtcConnection connection); +

    详情 @@ -33,14 +37,15 @@
    参数 - - - - -
    + + + + + +
    返回值 -

    +

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuidex.dita b/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuidex.dita index 7fde57814d7..d18f0da0ee8 100644 --- a/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuidex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuidex.dita @@ -13,17 +13,17 @@

    - public abstract UserInfo getUserInfoByUid(int uid, String channelId, String localUserAccount); - - (int)getUserInfoWithUserId:(NSUInteger)uid + public abstract UserInfo getUserInfoByUid(int uid, String channelId, String localUserAccount); + - (int)getUserInfoWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo *_Nullable* _Nullable)userInfo channelId:(NSString* _Nonnull)channelId localUserAccount:(NSString* _Nonnull)localUserAccount; - - - - - -

    + + + + + +

    详情 @@ -32,38 +32,41 @@
    参数 - - uid - 用户 ID。 - - - userInfo - 标识用户信息的 对象。 -
      -
    • 输入值:一个 对象。
    • -
    • 输出值:一个包含了用户 User Account 和 UID 的 对象。
    • -
    -
    - - channelId - -

    - - - - localUserAccount - 本地用户的 User Account。 - -

    + + uid + 用户 ID。 + + + userInfo + 标识用户信息的 对象。
      +
    • 输入值:一个 对象。
    • +
    • 输出值:一个包含了用户 User Account 和 UID 的 + 对象。
    • +
    +
    + + channelId + +

    + + + + localUserAccount + 本地用户的 User Account。 + + +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
      -
    • 方法调用成功,返回 对象。
    • -
    • 方法调用失败,则返回
    • -
    +
  • 方法调用成功,返回 对象。
  • +
  • 方法调用失败,则返回
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuseraccountex.dita b/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuseraccountex.dita index de24b47276e..1b6d5273856 100644 --- a/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuseraccountex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuseraccountex.dita @@ -13,17 +13,17 @@

    - public abstract UserInfo getUserInfoByUserAccount(String userAccount, String channelId, String localUserAccount); - - (int)getUserInfoWithUserAccount:(NSString * _Nonnull)userAccount + public abstract UserInfo getUserInfoByUserAccount(String userAccount, String channelId, String localUserAccount); + - (int)getUserInfoWithUserAccount:(NSString * _Nonnull)userAccount userInfo:(AgoraUserInfo *_Nullable* _Nullable)userInfo channelId:(NSString* _Nonnull)channelId localUserAccount:(NSString* _Nonnull)localUserAccount; - - - - - -

    + + + + + +

    详情 @@ -32,23 +32,24 @@
    参数 - - userAccount - 用户 User Account。 - - - - - - - - - - - - - -
    + + userAccount + 用户 User Account。 + + + + + + + + + + + + + + +
    </section> diff --git a/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita b/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita index f38f4a7c75b..860ca755362 100644 --- a/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita @@ -13,71 +13,78 @@ <refbody> <section id="prototype"> <p outputclass="codeblock"> - <codeblock props="android" outputclass="language-java">public abstract int joinChannelEx(String token, RtcConnection connection, + <codeblock props="android" outputclass="language-java">public abstract int joinChannelEx(String token, RtcConnection connection, ChannelMediaOptions options, IRtcEngineEventHandler eventHandler);</codeblock> - <codeblock props="ios mac" outputclass="language-objectivec">- (int)joinChannelExByToken:(NSString* _Nullable)token + <codeblock props="ios mac" outputclass="language-objectivec">- (int)joinChannelExByToken:(NSString* _Nullable)token connection:(AgoraRtcConnection * _Nonnull)connection delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate mediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions joinSuccess:(void(^ _Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;</codeblock> - <codeblock props="cpp unreal" outputclass="language-cpp">virtual int joinChannelEx(const char* token, const RtcConnection& connection, + <codeblock props="cpp unreal" outputclass="language-cpp">virtual int joinChannelEx(const char* token, const RtcConnection& connection, const ChannelMediaOptions& options, IRtcEngineEventHandler* eventHandler) = 0;</codeblock> - <codeblock props="bp" outputclass="language-cpp">UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + <codeblock props="bp" outputclass="language-cpp">UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int JoinChannelEx(FString token, const FRtcConnection& connection, const FChannelMediaOptions& options, UIRtcEngineEventHandler* eventHandler);</codeblock> - <codeblock props="electron" outputclass="language-typescript">abstract joinChannelEx( + <codeblock props="electron" outputclass="language-typescript">abstract joinChannelEx( token: string, connection: RtcConnection, options: ChannelMediaOptions ): number;</codeblock> - <codeblock props="unity cs" outputclass="language-csharp">public abstract int JoinChannelEx(string token, RtcConnection connection, ChannelMediaOptions options);</codeblock> - <codeblock props="rn" outputclass="language-typescript">abstract joinChannelEx( + <codeblock props="unity cs" outputclass="language-csharp">public abstract int JoinChannelEx(string token, RtcConnection connection, ChannelMediaOptions options);</codeblock> + <codeblock props="rn" outputclass="language-typescript">abstract joinChannelEx( token: string, connection: RtcConnection, options: ChannelMediaOptions ): number;</codeblock> - <codeblock props="flutter" outputclass="language-dart">Future<void> joinChannelEx( + <codeblock props="flutter" outputclass="language-dart">Future<void> joinChannelEx( {required String token, required RtcConnection connection, required ChannelMediaOptions options});</codeblock> - <codeblock props="reserve" outputclass="language-cpp"></codeblock></p> + <codeblock props="reserve" outputclass="language-cpp"/></p> </section> <section id="detailed_desc"> <title>详情

    调用该方法,你可以同时加入多个频道。

    -
      -
    • 如果你已经在一个频道内,你不能用相同的用户 UID 再次加入该频道。
    • -
    • 如果你想在不同的设备上加入相同的频道,请确保你在不同设备上使用的用户 UID 都不同。
    • -
    • 请确保生成 Token 时传入的 App ID 和创建 实例时传入的 App ID 一致。
    • -
    • 如果你的项目仅开启调试模式(即选择 APP ID 为鉴权机制),成功加入频道 24 小时后会自动退出该频道。
    • -
    • 在多摄像头采集场景下,你需要在调用该方法之后调用 方法设置 sourceType,以确保第二个摄像头采集正常。
    • -
    +
      +
    • 如果你已经在一个频道内,你不能用相同的用户 UID 再次加入该频道。
    • +
    • 如果你想在不同的设备上加入相同的频道,请确保你在不同设备上使用的用户 UID 都不同。
    • +
    • 请确保生成 Token 时传入的 App ID 和创建 实例时传入的 App ID + 一致。
    • +
    • 如果你的项目仅开启调试模式(即选择 APP ID 为鉴权机制),成功加入频道 24 小时后会自动退出该频道。
    • +
    • 在多摄像头采集场景下,你需要在调用该方法之后调用 方法设置 sourceType,以确保第二个摄像头采集正常。
    • +
    + +
    参数 - - - - - - connection - Connection 信息。详见 - - - - - - - eventHandler - delegate - 的回调类,详见 - - - - - -
    + + + + + + connection + Connection 信息。详见 + + + + + + + eventHandler + delegate + 的回调类,详见 + + + + + + + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita b/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita index 060145a4bc5..cff9cd80fd2 100644 --- a/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita @@ -13,49 +13,58 @@

    - public abstract int leaveChannelEx(RtcConnection connection); - - (int)leaveChannelEx:(AgoraRtcConnection * _Nonnull)connection + public abstract int leaveChannelEx(RtcConnection connection); + - (int)leaveChannelEx:(AgoraRtcConnection * _Nonnull)connection leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats* _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannelEx(_:leaveChannelBlock:)); - virtual int leaveChannelEx(const RtcConnection& connection) = 0; - abstract leaveChannelEx( + virtual int leaveChannelEx(const RtcConnection& connection) = 0; + abstract leaveChannelEx( connection: RtcConnection, options?: LeaveChannelOptions ): number; - public abstract int LeaveChannelEx(RtcConnection connection); - - -

    + public abstract int LeaveChannelEx(RtcConnection connection); + + +

    详情

    离开频道,即挂断或退出通话。

    调用 加入频道后,必须调用本方法结束通话,才能开始下一次通话。

    不管当前是否在通话中,都可以调用该方法。该方法会把会话相关的所有资源释放掉。

    -

    该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 回调。

    +

    该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 回调。

    调用该方法返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 回调。

    -

    成功调用该方法离开频道后,本地会触发 回调;通信场景下的用户和直播场景下的主播离开频道后,远端会触发 回调。

    +

    成功调用该方法离开频道后,本地会触发 回调;通信场景下的用户和直播场景下的主播离开频道后,远端会触发 + 回调。

    -
      -
    • 如果你调用了本方法后立即调用 方法,SDK 将无法触发 回调。
    • -
    • 调用 后会同时离开 加入的频道。
    • -
    +
      +
    • 如果你调用了本方法后立即调用 方法,SDK 将无法触发 回调。
    • +
    • 调用 后会同时离开 和 + 加入的频道。
    • +
    + +
    参数 - - - - - - - - -
    + + + + + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita b/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita index d2bcd63f8a2..d532c1c32c2 100644 --- a/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita +++ b/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita @@ -13,69 +13,82 @@

    - public abstract int leaveChannelEx(RtcConnection connection, LeaveChannelOptions options); - - (int)leaveChannelEx:(AgoraRtcConnection * _Nonnull)connection + public abstract int leaveChannelEx(RtcConnection connection, LeaveChannelOptions options); + - (int)leaveChannelEx:(AgoraRtcConnection * _Nonnull)connection options:(AgoraLeaveChannelOptions * _Nonnull)options leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats* _Nonnull stat))leaveChannelBlock; - virtual int leaveChannelEx(const RtcConnection& connection, const LeaveChannelOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int leaveChannelEx(const RtcConnection& connection, const LeaveChannelOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int LeaveChannelEx(const FRtcConnection& connection, const FLeaveChannelOptions& options); - abstract leaveChannelEx( + abstract leaveChannelEx( connection: RtcConnection, options?: LeaveChannelOptions ): number; - public abstract int LeaveChannelEx(RtcConnection connection, LeaveChannelOptions options); - abstract leaveChannelEx( + public abstract int LeaveChannelEx(RtcConnection connection, LeaveChannelOptions options); + abstract leaveChannelEx( connection: RtcConnection, options?: LeaveChannelOptions ): number; - Future<void> leaveChannelEx( + Future<void> leaveChannelEx( {required RtcConnection connection, LeaveChannelOptions? options}); -

    +

    详情

    离开频道,即挂断或退出通话。

    调用 加入频道后,必须调用本方法结束通话,才能开始下一次通话。

    不管当前是否在通话中,都可以调用该方法。该方法会把会话相关的所有资源释放掉。

    -

    该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 回调。

    +

    该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 回调。

    调用该方法返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 回调。

    -

    成功调用该方法离开频道后,本地会触发 回调;通信场景下的用户和直播场景下的主播离开频道后,远端会触发 回调。

    +

    成功调用该方法离开频道后,本地会触发 回调;通信场景下的用户和直播场景下的主播离开频道后,远端会触发 + 回调。

    -
      -
    • 如果你调用了本方法后立即调用 方法,SDK 将无法触发 回调。
    • -
    • 调用 后会同时离开 加入的频道。
    • -
    +
      +
    • 如果你调用了本方法后立即调用 方法,SDK 将无法触发 回调。
    • +
    • 调用 后会同时离开 和 + 加入的频道。
    • +
    + +
    参数 - - - - - - options - -
    - -
    自从
    -
    v4.1.0
    -
    -
    -

    离开频道的选项,详见

    - 该参数仅支持设置 中的 stopMicrophoneRecording 成员,设置其他成员均不生效。
    -
    - - - - -
    + + + + + + options + +
    + +
    自从
    +
    v4.1.0
    +
    +
    +

    离开频道的选项,详见

    + 该参数仅支持设置 中的 + stopMicrophoneRecording + 成员,设置其他成员均不生效。
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita b/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita index c21645ab0c4..cdf54c67a63 100644 --- a/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita @@ -13,59 +13,69 @@

    - public abstract int muteAllRemoteAudioStreamsEx(boolean muted, RtcConnection connection); - - (int)muteAllRemoteAudioStreamsEx:(BOOL)mute + public abstract int muteAllRemoteAudioStreamsEx(boolean muted, RtcConnection connection); + - (int)muteAllRemoteAudioStreamsEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteAllRemoteAudioStreamsEx(_:connection:)); - virtual int muteAllRemoteAudioStreamsEx(bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int muteAllRemoteAudioStreamsEx(bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteAllRemoteAudioStreamsEx(bool mute, const FRtcConnection& connection); - abstract muteAllRemoteAudioStreamsEx( + abstract muteAllRemoteAudioStreamsEx( mute: boolean, connection: RtcConnection ): number; - public abstract int MuteAllRemoteAudioStreamsEx(bool mute, RtcConnection connection); - abstract muteAllRemoteAudioStreamsEx( + public abstract int MuteAllRemoteAudioStreamsEx(bool mute, RtcConnection connection); + abstract muteAllRemoteAudioStreamsEx( mute: boolean, connection: RtcConnection ): number; - Future<void> muteAllRemoteAudioStreamsEx( + Future<void> muteAllRemoteAudioStreamsEx( {required bool mute, required RtcConnection connection}); -

    +

    详情

    成功调用该方法后,本地用户会取消或恢复订阅远端用户的音频流,包括在调用该方法后加入频道的用户的音频流。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 如果需要在加入频道前设置默认不订阅远端用户音频流,可以在调用 加入频道时设置 autoSubscribeAudio
    • -
    • 该方法的推荐设置详见设置订阅状态
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 如果需要在加入频道前设置默认不订阅远端用户音频流,可以在调用 加入频道时设置 + autoSubscribeAudio
    • +
    • 该方法的推荐设置详见设置订阅状态
    • +
    + +
    参数 - - muted - mute - -

    是否取消订阅所有远端用户的音频流: -

      -
    • : 取消订阅所有远端用户的音频流。
    • -
    • :(默认)订阅所有远端用户的音频流。
    • -

    -
    -
    - - - - -
    + + muted + mute + +

    是否取消订阅所有远端用户的音频流:

      +
    • : 取消订阅所有远端用户的音频流。
    • +
    • :(默认)订阅所有远端用户的音频流。
    • +
    +

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita b/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita index db17fa33d5b..1ba44d021ba 100644 --- a/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita @@ -13,31 +13,32 @@

    - public abstract int muteAllRemoteVideoStreamsEx(boolean muted, RtcConnection connection); - - (int)muteAllRemoteVideoStreamsEx:(BOOL)mute + public abstract int muteAllRemoteVideoStreamsEx(boolean muted, RtcConnection connection); + - (int)muteAllRemoteVideoStreamsEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteAllRemoteVideoStreamsEx(_:connection:)); - virtual int muteAllRemoteVideoStreamsEx(bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int muteAllRemoteVideoStreamsEx(bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteAllRemoteVideoStreamsEx(bool mute, const FRtcConnection& connection); - abstract muteAllRemoteVideoStreamsEx( + abstract muteAllRemoteVideoStreamsEx( mute: boolean, connection: RtcConnection ): number; - public abstract int MuteAllRemoteVideoStreamsEx(bool mute, RtcConnection connection); - abstract muteAllRemoteVideoStreamsEx( + public abstract int MuteAllRemoteVideoStreamsEx(bool mute, RtcConnection connection); + abstract muteAllRemoteVideoStreamsEx( mute: boolean, connection: RtcConnection ): number; - Future<void> muteAllRemoteVideoStreamsEx( - {required bool mute, required RtcConnection connection});

    + Future<void> muteAllRemoteVideoStreamsEx( + {required bool mute, required RtcConnection connection}); +

    详情
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    @@ -52,13 +53,17 @@ - + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita b/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita index 7f31c3c6f69..a4257966daf 100644 --- a/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita @@ -13,53 +13,58 @@

    - public abstract int muteLocalAudioStreamEx(boolean muted, RtcConnection connection); - - (int)muteLocalAudioStreamEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteLocalAudioStreamEx(_:connection:)); - virtual int muteLocalAudioStreamEx(bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteLocalAudioStreamEx(boolean muted, RtcConnection connection); + - (int)muteLocalAudioStreamEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteLocalAudioStreamEx(_:connection:)); + virtual int muteLocalAudioStreamEx(bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteLocalAudioStreamEx(bool mute, const FRtcConnection& connection); - abstract muteLocalAudioStreamEx( + abstract muteLocalAudioStreamEx( mute: boolean, connection: RtcConnection ): number; - public abstract int MuteLocalAudioStreamEx(bool mute, RtcConnection connection); - abstract muteLocalAudioStreamEx( + public abstract int MuteLocalAudioStreamEx(bool mute, RtcConnection connection); + abstract muteLocalAudioStreamEx( mute: boolean, connection: RtcConnection ): number; - Future<void> muteLocalAudioStreamEx( + Future<void> muteLocalAudioStreamEx( {required bool mute, required RtcConnection connection}); -

    +

    详情 该方法不影响音频采集状态,因为没有禁用音频采集设备。 -

    成功调用该方法后,远端会触发 回调和 回调。

    +

    成功调用该方法后,远端会触发 回调和 回调。

    参数 - - muted - mute - -

    是否取消发布本地音频流。 -

      -
    • : 取消发布。
    • -
    • :(默认)发布。
    • -

    -
    -
    - - - - -
    + + muted + mute + +

    是否取消发布本地音频流。

      +
    • : 取消发布。
    • +
    • :(默认)发布。
    • +

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita b/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita index f8f80233704..2e28a71dfc0 100644 --- a/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita @@ -13,55 +13,61 @@

    - public abstract int muteLocalVideoStreamEx(boolean muted, RtcConnection connection); - - (int)muteLocalVideoStreamEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteLocalVideoStreamEx(_:connection:)); - virtual int muteLocalVideoStreamEx(bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteLocalVideoStreamEx(boolean muted, RtcConnection connection); + - (int)muteLocalVideoStreamEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteLocalVideoStreamEx(_:connection:)); + virtual int muteLocalVideoStreamEx(bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteLocalVideoStreamEx(bool mute, const FRtcConnection& connection); - abstract muteLocalVideoStreamEx( + abstract muteLocalVideoStreamEx( mute: boolean, connection: RtcConnection ): number; - public abstract int MuteLocalVideoStreamEx(bool mute, RtcConnection connection); - abstract muteLocalVideoStreamEx( + public abstract int MuteLocalVideoStreamEx(bool mute, RtcConnection connection); + abstract muteLocalVideoStreamEx( mute: boolean, connection: RtcConnection ): number; - Future<void> muteLocalVideoStreamEx( - {required bool mute, required RtcConnection connection});

    + Future<void> muteLocalVideoStreamEx( + {required bool mute, required RtcConnection connection}); +

    详情
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    -

    成功调用该方法后,远端会触发 回调。

    +

    成功调用该方法后,远端会触发 回调。

    -
      -
    • 该方法不影响视频采集状态,没有禁用摄像头。
    • -
    +
      +
    • 该方法不影响视频采集状态,没有禁用摄像头。
    • +
    +
    参数 - - - + + + -
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengineex_muterecordingsignalex.dita b/dita/RTC-NG/API/api_irtcengineex_muterecordingsignalex.dita index 8b545292c38..38e9d65a7c2 100644 --- a/dita/RTC-NG/API/api_irtcengineex_muterecordingsignalex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_muterecordingsignalex.dita @@ -13,22 +13,23 @@

    - public abstract int muteRecordingSignalEx(boolean muted, RtcConnection connection); - - (int)muteRecordingSignalEx:(BOOL)mute + public abstract int muteRecordingSignalEx(boolean muted, RtcConnection connection); + - (int)muteRecordingSignalEx:(BOOL)mute connection:(AgoraRtcConnection* _Nonnull)connection; - virtual int muteRecordingSignalEx(bool mute, const RtcConnection& connection) = 0; - - - -

    + virtual int muteRecordingSignalEx(bool mute, const RtcConnection& connection) = 0; + + + + +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    该方法需要在加入频道后调用。
    @@ -39,24 +40,28 @@
    参数 - - muted - mute - 是否将录音信号静音:
      -
    • : 静音。
    • -
    • : (默认) 原始音量。如果先前调用 方法调节了音量,则恢复为上一次设置的音量。
    -
    - - connection - Connection 信息。详见 - + + muted + mute + 是否将录音信号静音:
      +
    • : 静音。
    • +
    • : (默认) 原始音量。如果先前调用 + 方法调节了音量,则恢复为上一次设置的音量。
    • +
    +
    + + connection + Connection 信息。详见 +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita b/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita index 672be97efa3..9851a0ce91f 100644 --- a/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita @@ -1,72 +1,78 @@ - <ph keyref="muteRemoteAudioStreamEx" /> + <ph keyref="muteRemoteAudioStreamEx"/> 停止/恢复接收指定的音频流。 - +

    - public abstract int muteRemoteAudioStreamEx(int uid, boolean muted, RtcConnection connection); - - (int)muteRemoteAudioStreamEx:(NSUInteger)uid + public abstract int muteRemoteAudioStreamEx(int uid, boolean muted, RtcConnection connection); + - (int)muteRemoteAudioStreamEx:(NSUInteger)uid mute:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int muteRemoteAudioStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int muteRemoteAudioStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteRemoteAudioStreamEx(int64 uid, bool mute, const FRtcConnection& connection); - abstract muteRemoteAudioStreamEx( + abstract muteRemoteAudioStreamEx( uid: number, mute: boolean, connection: RtcConnection ): number; - public abstract int MuteRemoteAudioStreamEx(uint uid, bool mute, RtcConnection connection); - abstract muteRemoteAudioStreamEx( + public abstract int MuteRemoteAudioStreamEx(uint uid, bool mute, RtcConnection connection); + abstract muteRemoteAudioStreamEx( uid: number, mute: boolean, connection: RtcConnection ): number; - Future<void> muteRemoteAudioStreamEx( + Future<void> muteRemoteAudioStreamEx( {required int uid, required bool mute, required RtcConnection connection}); -

    +

    详情该方法停止/恢复接收某一个指定远端用户的音频流。在加入频道前或后都可以调用。该方法的设置在离开频道后失效。
    参数 - - uid - 指定用户的 ID。 - - - mute - muted - -

    是否停止接收指定音频流:

    -
      -
    • : 停止接收指定音频流。
    • -
    • :(默认)继续接收指定音频流。
    • -
    -
    - - - - -
    + + uid + 指定用户的 ID。 + + + mute + muted + +

    是否停止接收指定音频流:

    +
      +
    • : 停止接收指定音频流。
    • +
    • :(默认)继续接收指定音频流。
    • +
    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita b/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita index 95b8c4f471e..a64c3c2dd5a 100644 --- a/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita @@ -1,41 +1,41 @@ - <ph keyref="muteRemoteVideoStreamEx" /> + <ph keyref="muteRemoteVideoStreamEx"/> 停止/恢复接收指定的视频流。 - +

    - public abstract int muteRemoteVideoStreamEx(int uid, boolean muted, RtcConnection connection); - - (int)muteRemoteVideoStreamEx:(NSUInteger)uid + public abstract int muteRemoteVideoStreamEx(int uid, boolean muted, RtcConnection connection); + - (int)muteRemoteVideoStreamEx:(NSUInteger)uid mute:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int muteRemoteVideoStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int muteRemoteVideoStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteRemoteVideoStreamEx(int64 uid, bool mute, const FRtcConnection& connection); - abstract muteRemoteVideoStreamEx( + abstract muteRemoteVideoStreamEx( uid: number, mute: boolean, connection: RtcConnection ): number; - public abstract int MuteRemoteVideoStreamEx(uint uid, bool mute, RtcConnection connection); - abstract muteRemoteVideoStreamEx( + public abstract int MuteRemoteVideoStreamEx(uint uid, bool mute, RtcConnection connection); + abstract muteRemoteVideoStreamEx( uid: number, mute: boolean, connection: RtcConnection ): number; - Future<void> muteRemoteVideoStreamEx( + Future<void> muteRemoteVideoStreamEx( {required int uid, required bool mute, required RtcConnection connection}); -

    +

    详情 @@ -44,35 +44,38 @@
    参数 - - uid - -

    远端用户的 ID。

    -
    -
    - - mute - muted - -

    是否停止接收某个远端用户的视频: - -

      -
    • : 停止接收。
    • -
    • : (默认)恢复接收。
    • -

    -
    -
    - - - - -
    + + uid + +

    远端用户的 ID。

    +
    +
    + + mute + muted + +

    是否停止接收某个远端用户的视频:

      +
    • : 停止接收。
    • +
    • : (默认)恢复接收。
    • +

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_pauseallchannelmediarelayex.dita b/dita/RTC-NG/API/api_irtcengineex_pauseallchannelmediarelayex.dita index 1c41a5843b4..9fd030b2682 100644 --- a/dita/RTC-NG/API/api_irtcengineex_pauseallchannelmediarelayex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_pauseallchannelmediarelayex.dita @@ -13,35 +13,43 @@

    - public abstract int pauseAllChannelMediaRelayEx(RtcConnection connection); - - (int)pauseAllChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(pauseAllChannelMediaRelayEx(_:)); - virtual int pauseAllChannelMediaRelayEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int pauseAllChannelMediaRelayEx(RtcConnection connection); + - (int)pauseAllChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(pauseAllChannelMediaRelayEx(_:)); + virtual int pauseAllChannelMediaRelayEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PauseAllChannelMediaRelayEx(const FRtcConnection& connection); - abstract pauseAllChannelMediaRelayEx(connection: RtcConnection): number; - public abstract int PauseAllChannelMediaRelayEx(RtcConnection connection); - abstract pauseAllChannelMediaRelayEx(connection: RtcConnection): number; - Future<void> pauseAllChannelMediaRelayEx(RtcConnection connection); -

    + abstract pauseAllChannelMediaRelayEx(connection: RtcConnection): number; + public abstract int PauseAllChannelMediaRelayEx(RtcConnection connection); + abstract pauseAllChannelMediaRelayEx(connection: RtcConnection): number; + Future<void> pauseAllChannelMediaRelayEx(RtcConnection connection); +

    详情 -

    开始跨频道转发媒体流后,如果你需要暂停向所有频道转发媒体流,可以调用该方法;暂停后,如果要恢复跨频道媒体流转发,可以调用 方法。

    - 该方法需要在调用 开始跨频道媒体流转发后调用。
    +

    开始跨频道转发媒体流后,如果你需要暂停向所有频道转发媒体流,可以调用该方法;暂停后,如果要恢复跨频道媒体流转发,可以调用 方法。

    + 该方法需要在调用 + 开始跨频道媒体流转发后调用。 +
    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_pushaudioframeex.dita b/dita/RTC-NG/API/api_irtcengineex_pushaudioframeex.dita index 659022e6eb1..d626386e0b5 100644 --- a/dita/RTC-NG/API/api_irtcengineex_pushaudioframeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_pushaudioframeex.dita @@ -13,35 +13,38 @@

    - - - (int)pushExternalAudioFrameExNSData:(NSData * _Nonnull)data + + - (int)pushExternalAudioFrameExNSData:(NSData * _Nonnull)data sourceId:(NSInteger)sourceId timestamp:(NSTimeInterval)timestamp; - - - - - -

    + + + + + +

    参数 - - sourceId - 外部音频源的 ID。 - - - timestamp - 外部音频帧的时间戳。 - -
    + + sourceId + 外部音频源的 ID。 + + + timestamp + 外部音频帧的时间戳。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_pushencodedvideoimageex.dita b/dita/RTC-NG/API/api_irtcengineex_pushencodedvideoimageex.dita index 389809c71b8..72bf3b2f391 100644 --- a/dita/RTC-NG/API/api_irtcengineex_pushencodedvideoimageex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_pushencodedvideoimageex.dita @@ -1,58 +1,61 @@ - <ph keyref="pushEncodedVideoImageEx" /> + <ph keyref="pushEncodedVideoImageEx"/> 推送外部编码视频帧到 SDK。 - +

    - public abstract int pushExternalEncodedVideoFrameEx( + public abstract int pushExternalEncodedVideoFrameEx( ByteBuffer data, EncodedVideoFrameInfo frameInfo, int videoTrackId); - - virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, + + virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, const agora::rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo, unsigned int videoTrackId = 0) = 0; - - public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo, RtcConnection connection); - -

    + + public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo, RtcConnection connection); + + +

    详情 -

    +

    参数 - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + +
    返回值
      -
    • 0:推送成功。
    • -
    • < 0: 推送失败。
    • -
    +
  • 0:推送成功。
  • +
  • < 0: 推送失败。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_resumeallchannelmediarelayex.dita b/dita/RTC-NG/API/api_irtcengineex_resumeallchannelmediarelayex.dita index e69629a826a..6cf50b23575 100644 --- a/dita/RTC-NG/API/api_irtcengineex_resumeallchannelmediarelayex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_resumeallchannelmediarelayex.dita @@ -13,36 +13,41 @@

    - public abstract int resumeAllChannelMediaRelayEx(RtcConnection connection); - - (int)resumeAllChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(resumeAllChannelMediaRelayEx(_:)); - virtual int resumeAllChannelMediaRelayEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int resumeAllChannelMediaRelayEx(RtcConnection connection); + - (int)resumeAllChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(resumeAllChannelMediaRelayEx(_:)); + virtual int resumeAllChannelMediaRelayEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ResumeAllChannelMediaRelayEx(const FRtcConnection& connection); - abstract resumeAllChannelMediaRelayEx(connection: RtcConnection): number; - public abstract int ResumeAllChannelMediaRelayEx(RtcConnection connection); - abstract resumeAllChannelMediaRelayEx(connection: RtcConnection): number; - Future<void> resumeAllChannelMediaRelayEx(RtcConnection connection); -

    + abstract resumeAllChannelMediaRelayEx(connection: RtcConnection): number; + public abstract int ResumeAllChannelMediaRelayEx(RtcConnection connection); + abstract resumeAllChannelMediaRelayEx(connection: RtcConnection): number; + Future<void> resumeAllChannelMediaRelayEx(RtcConnection connection); +

    详情

    调用 方法后,如果你需要恢复向所有目标频道转发媒体流,可以调用该方法。

    - 该方法需要在 后调用。 + 该方法需要在 后调用。
    参数 - - - - + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_sendcustomreportmessageex.dita b/dita/RTC-NG/API/api_irtcengineex_sendcustomreportmessageex.dita index 06317496e71..ca9c6a22801 100644 --- a/dita/RTC-NG/API/api_irtcengineex_sendcustomreportmessageex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_sendcustomreportmessageex.dita @@ -1,31 +1,31 @@ - <ph keyref="sendCustomReportMessageEx" /> + <ph keyref="sendCustomReportMessageEx"/> 自定义数据上报和分析服务。 - +

    - public abstract int sendCustomReportMessageEx( + public abstract int sendCustomReportMessageEx( String id, String category, String event, String label, int value, RtcConnection connection); - - (int)sendCustomReportMessageEx:(NSString * _Nullable)messageId + - (int)sendCustomReportMessageEx:(NSString * _Nullable)messageId category:(NSString * _Nullable)category event:(NSString * _Nullable)event label:(NSString * _Nullable)label value:(NSInteger)value connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int sendCustomReportMessageEx(const char* id, const char* category, const char* event, const char* label, + virtual int sendCustomReportMessageEx(const char* id, const char* category, const char* event, const char* label, int value, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SendCustomReportMessageEx(FString id, FString category, FString event, FString label, int value, const FRtcConnection& connection); - abstract sendCustomReportMessageEx( + abstract sendCustomReportMessageEx( id: string, category: string, event: string, @@ -33,8 +33,8 @@ value: number, connection: RtcConnection ): number; - public abstract int SendCustomReportMessageEx(string id, string category, string @event, string label, int value, RtcConnection connection); - abstract sendCustomReportMessageEx( + public abstract int SendCustomReportMessageEx(string id, string category, string @event, string label, int value, RtcConnection connection); + abstract sendCustomReportMessageEx( id: string, category: string, event: string, @@ -42,18 +42,18 @@ value: number, connection: RtcConnection ): number; - Future<void> sendCustomReportMessageEx( + Future<void> sendCustomReportMessageEx( {required String id, required String category, required String event, required String label, required int value, required RtcConnection connection}); -

    +

    详情 -

    +

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita b/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita index 5ef34031d9e..25201521c1e 100644 --- a/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita @@ -1,83 +1,86 @@ - <ph keyref="sendStreamMessageEx" /> + <ph keyref="sendStreamMessageEx"/> 发送数据流。 - +

    - public abstract int sendStreamMessageEx(int streamId, byte[] message, RtcConnection connection); - - virtual int sendStreamMessageEx(int streamId, const char* data, size_t length, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int sendStreamMessageEx(int streamId, byte[] message, RtcConnection connection); + + virtual int sendStreamMessageEx(int streamId, const char* data, size_t length, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SendStreamMessageEx(int streamId, FString data, const FRtcConnection& connection); - abstract sendStreamMessageEx(streamId: number, data: Uint8Array, length: number, connection: RtcConnection): number; - public abstract int SendStreamMessageEx(int streamId, byte[] data, uint length, RtcConnection connection); - abstract sendStreamMessageEx( + abstract sendStreamMessageEx(streamId: number, data: Uint8Array, length: number, connection: RtcConnection): number; + public abstract int SendStreamMessageEx(int streamId, byte[] data, uint length, RtcConnection connection); + abstract sendStreamMessageEx( streamId: number, data: Uint8Array, length: number, connection: RtcConnection ): number; - Future<void> sendStreamMessageEx( + Future<void> sendStreamMessageEx( {required int streamId, required Uint8List data, required int length, required RtcConnection connection}); -

    +

    详情 -

    调用 后,你可以调用本方法向频道内所有用户发送数据流消息。

    -

    SDK 对该方法有如下限制: - - -

      -
    • 频道内每秒最多能发送 60 个包,且每个包最大为 1 KB。
    • -
    • 每个客户端每秒最多能发送 30 KB 数据。
    • -
    • 频道内每人最多能同时有 5 个数据通道。
    • -

    -

    成功调用该方法后,远端会触发 回调,远端用户可以在该回调中获取接收到的流消息; - 若调用失败,远端会触发 回调。

    +

    调用 后,你可以调用本方法向频道内所有用户发送数据流消息。

    +

    SDK 对该方法有如下限制:

      +
    • 频道内每秒最多能发送 60 个包,且每个包最大为 1 KB。
    • +
    • 每个客户端每秒最多能发送 30 KB 数据。
    • +
    • 频道内每人最多能同时有 5 个数据通道。
    • +

    +

    成功调用该方法后,远端会触发 回调,远端用户可以在该回调中获取接收到的流消息; 若调用失败,远端会触发 + 回调。

    -
      -
    • 请确保在调用该方法前,已调用 创建了数据通道。
    • -
    • 该方法仅适用于通信场景以及直播场景下的主播用户,如果直播场景下的观众调用此方法可能会造成观众变主播。
    • -
    +
      +
    • 请确保在调用该方法前,已调用 创建了数据通道。
    • +
    • 该方法仅适用于通信场景以及直播场景下的主播用户,如果直播场景下的观众调用此方法可能会造成观众变主播。
    • +
    +
    参数 - - streamId - 数据流 ID。可以通过 获取。 - - - message - data - 待发送的数据。 - - + + streamId + 数据流 ID。可以通过 获取。 + + + message + data + 待发送的数据。 + + length 数据长度。 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita b/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita index 499272643a9..7a88b7b6860 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita @@ -13,73 +13,88 @@

    - public abstract int setDualStreamModeEx(Constants.SimulcastStreamMode mode, + public abstract int setDualStreamModeEx(Constants.SimulcastStreamMode mode, SimulcastStreamConfig streamConfig, RtcConnection connection); - - (int)setDualStreamModeEx:(AgoraSimulcastStreamMode)mode + - (int)setDualStreamModeEx:(AgoraSimulcastStreamMode)mode streamConfig:(AgoraSimulcastStreamConfig*)streamConfig connection:(AgoraRtcConnection* _Nonnull)connection; - virtual int setDualStreamModeEx(SIMULCAST_STREAM_MODE mode, + virtual int setDualStreamModeEx(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetDualStreamModeEx(FENUMWRAP_SIMULCAST_STREAM_MODE mode, const FSimulcastStreamConfig& streamConfig, const FRtcConnection& connection); - abstract setDualStreamModeEx( + abstract setDualStreamModeEx( mode: SimulcastStreamMode, streamConfig: SimulcastStreamConfig, connection: RtcConnection ): number; - public abstract int SetDualStreamModeEx(SIMULCAST_STREAM_MODE mode, SimulcastStreamConfig streamConfig, RtcConnection connection); - abstract setDualStreamModeEx( + public abstract int SetDualStreamModeEx(SIMULCAST_STREAM_MODE mode, SimulcastStreamConfig streamConfig, RtcConnection connection); + abstract setDualStreamModeEx( mode: SimulcastStreamMode, streamConfig: SimulcastStreamConfig, connection: RtcConnection ): number; - Future<void> setDualStreamModeEx( + Future<void> setDualStreamModeEx( {required SimulcastStreamMode mode, required SimulcastStreamConfig streamConfig, required RtcConnection connection}); -

    +

    详情
    - -
    自从
    -
    v4.0.1
    -
    + +
    自从
    +
    v4.0.1
    +
    -

    SDK 默认在发送端开启小流自适应模式 (),即发送端不主动发送小流,主播身份的接收端可以调用 发起小流申请,发送端收到申请后开始自动发送小流。 -

      -
    • 如果你想修改此行为,可以调用该方法并修改 mode(始终不发送小流)或 (始终发送小流)。
    • -
    • 如果你在进行修改后又想恢复该默认行为,可重新调用该方法,并将 mode 设置为

    - 该方法和 的区别与联系如下: -
      -
    • 调用该方法并设置 mode 时,跟 () 的效果相同。
    • -
    • 调用该方法并设置 mode 时,跟 () 的效果相同。
    • -
    • 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。
    -
    +

    SDK 默认在发送端开启小流自适应模式 (),即发送端不主动发送小流,主播身份的接收端可以调用 + 发起小流申请,发送端收到申请后开始自动发送小流。

      +
    • 如果你想修改此行为,可以调用该方法并修改 mode(始终不发送小流)或 (始终发送小流)。
    • +
    • 如果你在进行修改后又想恢复该默认行为,可重新调用该方法,并将 mode 设置为
    • +

    + 该方法和 的区别与联系如下:
      +
    • 调用该方法并设置 mode + 时,跟 () 的效果相同。
    • +
    • 调用该方法并设置 mode + 时,跟 () 的效果相同。
    • +
    • 两种方法均可在加入频道前后调用,若同时使用,则以后调用的方法中的设置为准。
    • +
    +
    +
    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。 详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita b/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita index bc804ce70ef..c08be7d4f99 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita @@ -1,95 +1,108 @@ - <ph keyref="setRemoteRenderModeEx" /> + <ph keyref="setRemoteRenderModeEx"/> 设置远端视图显示模式。 - +

    - public abstract int setRemoteRenderModeEx( + public abstract int setRemoteRenderModeEx( int uid, int renderMode, int mirrorMode, RtcConnection connection); - - (int)setRemoteRenderModeEx:(NSUInteger)uid + - (int)setRemoteRenderModeEx:(NSUInteger)uid mode:(AgoraVideoRenderMode)mode mirror:(AgoraVideoMirrorMode)mirror connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setRemoteRenderModeEx(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, + virtual int setRemoteRenderModeEx(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteRenderModeEx(int64 uid, ERENDER_MODE_TYPE renderMode, EVIDEO_MIRROR_MODE_TYPE mirrorMode, const FRtcConnection& connection); - abstract setRemoteRenderModeEx( + abstract setRemoteRenderModeEx( uid: number, renderMode: RenderModeType, mirrorMode: VideoMirrorModeType, connection: RtcConnection ): number; - public abstract int SetRemoteRenderModeEx(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode, RtcConnection connection); - abstract setRemoteRenderModeEx( + public abstract int SetRemoteRenderModeEx(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode, RtcConnection connection); + abstract setRemoteRenderModeEx( uid: number, renderMode: RenderModeType, mirrorMode: VideoMirrorModeType, connection: RtcConnection ): number; - Future<void> setRemoteRenderModeEx( + Future<void> setRemoteRenderModeEx( {required int uid, required RenderModeType renderMode, required VideoMirrorModeType mirrorMode, - required RtcConnection connection});

    + required RtcConnection connection}); +

    详情 -

    初始化远端用户视图后,你可以调用该方法更新远端用户视图在本地显示时的渲染和镜像模式。该方法只影响本地用户看到的视频画面。 - -

      -
    • 请在调用 方法初始化远端视图后,调用该方法。
    • -
    • 请在渲染了对应远端用户 ID 的 组件后,调用该方法。
    • -
    • 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。
    • -

    +

    初始化远端用户视图后,你可以调用该方法更新远端用户视图在本地显示时的渲染和镜像模式。该方法只影响本地用户看到的视频画面。 +

      +
    • 请在调用 方法初始化远端视图后,调用该方法。
    • +
    • 请在渲染了对应远端用户 ID 的 组件后,调用该方法。
    • +
    • 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。
    • +
    +

    参数 - - uid - 远端用户 ID。 - - - renderMode - -

    远端视图显示模式,详见

    -

    远端视图显示模式: -

      -
    • -

    -
    -
    - - mirrorMode - -

    远端用户视图的镜像模式,详见

    -

    远端用户视图的镜像模式: -

      -
    • -

    -
    -
    - - - - -
    + + uid + 远端用户 ID。 + + + renderMode + +

    远端视图显示模式,详见 +

    +

    远端视图显示模式:

      +
    • +
    +

    +
    +
    + + mirrorMode + +

    远端用户视图的镜像模式,详见 +

    +

    远端用户视图的镜像模式:

      +
    • +
    +

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita b/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita index 21ad36f385e..7b4a3161b21 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita @@ -1,8 +1,12 @@ - <ph keyref="setRemoteVideoStreamTypeEx"/> - 设置订阅的视频流类型。 + + <ph keyref="setRemoteVideoStreamTypeEx"/> + + + 设置订阅的视频流类型。 + @@ -13,60 +17,70 @@

    - public abstract int setRemoteVideoStreamTypeEx(int uid, int streamType, RtcConnection connection); - - (int)setRemoteVideoStreamEx:(NSUInteger)uid + public abstract int setRemoteVideoStreamTypeEx(int uid, int streamType, RtcConnection connection); + - (int)setRemoteVideoStreamEx:(NSUInteger)uid type:(AgoraVideoStreamType)streamType connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(setRemoteVideoStreamEx(_:type:connection:)); - virtual int setRemoteVideoStreamTypeEx(uid_t uid, VIDEO_STREAM_TYPE streamType, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteVideoStreamTypeEx(uid_t uid, VIDEO_STREAM_TYPE streamType, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVideoStreamTypeEx(int64 uid, EVIDEO_STREAM_TYPE streamType, const FRtcConnection& connection); - abstract setRemoteVideoStreamTypeEx( + abstract setRemoteVideoStreamTypeEx( uid: number, streamType: VideoStreamType, connection: RtcConnection ): number; - public abstract int SetRemoteVideoStreamTypeEx(uint uid, VIDEO_STREAM_TYPE streamType, RtcConnection connection); - abstract setRemoteVideoStreamTypeEx( + public abstract int SetRemoteVideoStreamTypeEx(uint uid, VIDEO_STREAM_TYPE streamType, RtcConnection connection); + abstract setRemoteVideoStreamTypeEx( uid: number, streamType: VideoStreamType, connection: RtcConnection ): number; - Future<void> setRemoteVideoStreamTypeEx( + Future<void> setRemoteVideoStreamTypeEx( {required int uid, required VideoStreamType streamType, required RtcConnection connection}); -

    +

    - 详情 + 详情

      -
    • 如果发送端已调用 并将 mode 设置为 (始终不发送小流),则调用该方法不生效,你需要在发送端重新调用 修改设置。
    • -
    • 观众角色的接收端调用该方法不生效。
    +
  • 如果发送端已调用 并将 + mode 设置为 (始终不发送小流),则调用该方法不生效,你需要在发送端重新调用 修改设置。
  • +
  • 观众角色的接收端调用该方法不生效。
  • +
    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_setremotevideosubscriptionoptionsex.dita b/dita/RTC-NG/API/api_irtcengineex_setremotevideosubscriptionoptionsex.dita index 61882428f3d..cc6e225bd8f 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setremotevideosubscriptionoptionsex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setremotevideosubscriptionoptionsex.dita @@ -13,30 +13,30 @@

    - public abstract int setRemoteVideoSubscriptionOptionsEx( + public abstract int setRemoteVideoSubscriptionOptionsEx( int uid, VideoSubscriptionOptions options, RtcConnection rtcConnection); - - (int)setRemoteVideoSubscriptionOptionsEx:(NSUInteger)uid + - (int)setRemoteVideoSubscriptionOptionsEx:(NSUInteger)uid options:(AgoraVideoSubscriptionOptions* _Nonnull)options connection:(AgoraRtcConnection* _Nonnull)connection NS_SWIFT_NAME(setRemoteVideoSubscriptionOptionsEx(_:options:connection:)); - virtual int setRemoteVideoSubscriptionOptionsEx(uid_t uid, const VideoSubscriptionOptions& options, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteVideoSubscriptionOptionsEx(uid_t uid, const VideoSubscriptionOptions& options, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVideoSubscriptionOptionsEx(int64 uid, const FVideoSubscriptionOptions& options, const FRtcConnection& connection); - abstract setRemoteVideoSubscriptionOptionsEx( + abstract setRemoteVideoSubscriptionOptionsEx( uid: number, options: VideoSubscriptionOptions, connection: RtcConnection ): number; - public abstract int SetRemoteVideoSubscriptionOptionsEx(uint uid, VideoSubscriptionOptions options, RtcConnection connection); - abstract setRemoteVideoSubscriptionOptionsEx( + public abstract int SetRemoteVideoSubscriptionOptionsEx(uint uid, VideoSubscriptionOptions options, RtcConnection connection); + abstract setRemoteVideoSubscriptionOptionsEx( uid: number, options: VideoSubscriptionOptions, connection: RtcConnection ): number; - Future<void> setRemoteVideoSubscriptionOptionsEx( + Future<void> setRemoteVideoSubscriptionOptionsEx( {required int uid, required VideoSubscriptionOptions options, required RtcConnection connection}); -

    +

    详情 @@ -45,19 +45,20 @@
    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_setremotevoice3dpositionex.dita b/dita/RTC-NG/API/api_irtcengineex_setremotevoice3dpositionex.dita index 8a06dcd4485..a63bb46193a 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setremotevoice3dpositionex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setremotevoice3dpositionex.dita @@ -1,72 +1,79 @@ - <ph keyref="setRemoteVoice3DPositionEx" /> + <ph keyref="setRemoteVoice3DPositionEx"/> 设置远端用户声音的 3D 位置。 - +

    - public abstract int setRemoteVoice3DPositionEx( + public abstract int setRemoteVoice3DPositionEx( int uid, double azimuth, double elevation, double distance, RtcConnection connection); - - (int)setRemoteVoice3DPositionEx:(NSUInteger)uid + - (int)setRemoteVoice3DPositionEx:(NSUInteger)uid azimuth:(double)azimuth elevation:(double)elevation distance:(double)distance connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setRemoteVoice3DPositionEx(uid_t uid, double azimuth, double elevation, double distance, const RtcConnection& connection) = 0; - - - - There are no corresponding names available -

    + virtual int setRemoteVoice3DPositionEx(uid_t uid, double azimuth, double elevation, double distance, const RtcConnection& connection) = 0; + + + + There are no corresponding names available +

    详情

    通过设置远端用户声音的水平角、垂直角和声源距离,让远端用户的声音听起来有方位感。

    在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。

    -

    该方法和 的区别是:该方法设置声音的 3D 位置; 设置声音的 2D 位置,即水平面上的位置。

    +

    该方法和 的区别是:该方法设置声音的 3D 位置; 设置声音的 2D 位置,即水平面上的位置。

    -
      -
    • 使用该方法需要在加入频道前调用 开启远端用户声音的立体声。
    • -
    • 为获得最佳听觉体验,建议使用该方法时使用有线耳机。
    • -
    • 该方法需要在加入频道后调用。
    • -
    +
      +
    • 使用该方法需要在加入频道前调用 + 开启远端用户声音的立体声。
    • +
    • 为获得最佳听觉体验,建议使用该方法时使用有线耳机。
    • +
    • 该方法需要在加入频道后调用。
    • +
    + +
    参数 - - - - - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_setremotevoicepositionex.dita b/dita/RTC-NG/API/api_irtcengineex_setremotevoicepositionex.dita index 87448cf01d2..e30a3771f4e 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setremotevoicepositionex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setremotevoicepositionex.dita @@ -1,90 +1,93 @@ - <ph keyref="setRemoteVoicePositionEx" /> + <ph keyref="setRemoteVoicePositionEx"/> 设置远端用户声音的 2D 位置,即水平面位置。 - +

    - public abstract int setRemoteVoicePositionEx( + public abstract int setRemoteVoicePositionEx( int uid, double pan, double gain, RtcConnection connection); - - (int)setRemoteVoicePosition:(NSUInteger)uid + - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setRemoteVoicePositionEx(uid_t uid, double pan, double gain, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteVoicePositionEx(uid_t uid, double pan, double gain, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVoicePositionEx(int64 uid, float pan, float gain, const FRtcConnection& connection); - abstract setRemoteVoicePositionEx( + abstract setRemoteVoicePositionEx( uid: number, pan: number, gain: number, connection: RtcConnection ): number; - public abstract int SetRemoteVoicePositionEx(uint uid, double pan, double gain, RtcConnection connection); - abstract setRemoteVoicePositionEx( + public abstract int SetRemoteVoicePositionEx(uint uid, double pan, double gain, RtcConnection connection); + abstract setRemoteVoicePositionEx( uid: number, pan: number, gain: number, connection: RtcConnection ): number; - Future<void> setRemoteVoicePositionEx( + Future<void> setRemoteVoicePositionEx( {required int uid, required double pan, required double gain, required RtcConnection connection}); -

    +

    详情

    设置远端用户声音的空间位置和音量,方便本地用户听声辨位。

    通过调用该接口设置远端用户声音出现的位置,左右声道的声音差异会产生声音的方位感,从而判断出远端用户的实时位置。在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。

    -
      -
    • 为获得最佳听觉体验,建议用户佩戴有线耳机。
    • -
    • 该方法需要在加入频道后调用。
    • -
    +
      +
    • 为获得最佳听觉体验,建议用户佩戴有线耳机。
    • +
    • 该方法需要在加入频道后调用。
    • +
    + +
    参数 - - uid - 远端用户的 ID。 - - - pan - 设置远端用户声音的空间位置,取值范围为 [-1.0,1.0]: - - - -
      -
    • -1.0: 声音出现在左边。
    • -
    • (默认)0.0: 声音出现在正前方。
    • -
    • 1.0: 声音出现在右边。
    • -
    -
    - - gain - 设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。 - - - - - -
    + + uid + 远端用户的 ID。 + + + pan + 设置远端用户声音的空间位置,取值范围为 [-1.0,1.0]:
      +
    • -1.0: 声音出现在左边。
    • +
    • (默认)0.0: 声音出现在正前方。
    • +
    • 1.0: 声音出现在右边。
    • +
    +
    + + gain + 设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。 + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioallowlistex.dita b/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioallowlistex.dita index 51d2fe0b100..7ecefd64be9 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioallowlistex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioallowlistex.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeAudioAllowlistEx"/> - + @@ -13,51 +14,56 @@

    - public abstract int setSubscribeAudioAllowlistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeAudioAllowlistEx:(NSArray <NSNumber *> *_Nonnull)allowlist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeAudioAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeAudioAllowlistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeAudioAllowlistEx:(NSArray <NSNumber *> *_Nonnull)allowlist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeAudioAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeAudioAllowlistEx(TArray<int64> uidList, int uidNumber, const FRtcConnection& connection); - abstract setSubscribeAudioAllowlistEx( + abstract setSubscribeAudioAllowlistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int GetCacheDir(out string path, int length); - abstract setSubscribeAudioAllowlistEx( + public abstract int GetCacheDir(out string path, int length); + abstract setSubscribeAudioAllowlistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeAudioAllowlistEx( + Future<void> setSubscribeAudioAllowlistEx( {required List<int> uidList, required int uidNumber, required RtcConnection connection}); -

    +

    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblocklistex.dita b/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblocklistex.dita index c8a8c875906..2e28549f600 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblocklistex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblocklistex.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeAudioBlocklistEx"/> - + @@ -13,27 +14,27 @@

    - public abstract int setSubscribeAudioBlocklistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeAudioBlocklistEx:(NSArray <NSNumber *> *_Nonnull)blocklist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeAudioBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeAudioBlocklistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeAudioBlocklistEx:(NSArray <NSNumber *> *_Nonnull)blocklist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeAudioBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeAudioBlocklistEx(TArray<int64> uidList, int uidNumber, const FRtcConnection& connection); - abstract setSubscribeAudioBlocklistEx( + abstract setSubscribeAudioBlocklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int SetSubscribeAudioBlocklistEx(uint[] uidList, int uidNumber, RtcConnection connection); - abstract setSubscribeAudioBlocklistEx( + public abstract int SetSubscribeAudioBlocklistEx(uint[] uidList, int uidNumber, RtcConnection connection); + abstract setSubscribeAudioBlocklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeAudioBlocklistEx( + Future<void> setSubscribeAudioBlocklistEx( {required List<int> uidList, required int uidNumber, required RtcConnection connection}); -

    +

    @@ -41,25 +42,30 @@

    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoallowlistex.dita b/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoallowlistex.dita index 4aef44bf325..c0b1b1ca1d5 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoallowlistex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoallowlistex.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeVideoAllowlistEx"/> - + @@ -13,51 +14,56 @@

    - public abstract int setSubscribeVideoAllowlistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeVideoAllowlistEx:(NSArray <NSNumber *> *_Nonnull)allowlist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeVideoAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeVideoAllowlistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeVideoAllowlistEx:(NSArray <NSNumber *> *_Nonnull)allowlist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeVideoAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeVideoAllowlistEx(TArray<int64> uidList, int uidNumber, const FRtcConnection& connection); - abstract setSubscribeVideoAllowlistEx( + abstract setSubscribeVideoAllowlistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int SetSubscribeVideoAllowlistEx(uint[] uidList, int uidNumber, RtcConnection connection); - abstract setSubscribeVideoAllowlistEx( + public abstract int SetSubscribeVideoAllowlistEx(uint[] uidList, int uidNumber, RtcConnection connection); + abstract setSubscribeVideoAllowlistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeVideoAllowlistEx( + Future<void> setSubscribeVideoAllowlistEx( {required List<int> uidList, required int uidNumber, required RtcConnection connection}); -

    +

    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblocklistex.dita b/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblocklistex.dita index 6d57ecb07fb..2aa24dd48a6 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblocklistex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblocklistex.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeVideoBlocklistEx"/> - + @@ -13,51 +14,56 @@

    - public abstract int setSubscribeVideoBlocklistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeVideoBlocklistEx:(NSArray <NSNumber *> *_Nonnull)blocklist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeVideoBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeVideoBlocklistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeVideoBlocklistEx:(NSArray <NSNumber *> *_Nonnull)blocklist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeVideoBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeVideoBlocklistEx(TArray<int64> uidList, int uidNumber, const FRtcConnection& connection); - abstract setSubscribeVideoBlocklistEx( + abstract setSubscribeVideoBlocklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int SetSubscribeVideoBlocklistEx(uint[] uidList, int uidNumber, RtcConnection connection); - abstract setSubscribeVideoBlocklistEx( + public abstract int SetSubscribeVideoBlocklistEx(uint[] uidList, int uidNumber, RtcConnection connection); + abstract setSubscribeVideoBlocklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeVideoBlocklistEx( + Future<void> setSubscribeVideoBlocklistEx( {required List<int> uidList, required int uidNumber, required RtcConnection connection}); -

    +

    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    diff --git a/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita b/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita index 40980f2bc12..750777e1952 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita @@ -1,68 +1,76 @@ - <ph keyref="setupRemoteVideoEx" /> + <ph keyref="setupRemoteVideoEx"/> 初始化远端用户视图。 - +

    - public abstract int setupRemoteVideoEx(VideoCanvas remote, RtcConnection connection); - - (int)setupRemoteVideoEx:(AgoraRtcVideoCanvas* _Nonnull)remote + public abstract int setupRemoteVideoEx(VideoCanvas remote, RtcConnection connection); + - (int)setupRemoteVideoEx:(AgoraRtcVideoCanvas* _Nonnull)remote connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setupRemoteVideoEx(const VideoCanvas& canvas, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setupRemoteVideoEx(const VideoCanvas& canvas, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetupRemoteVideoEx(const FVideoCanvas& canvas, const FRtcConnection& connection); - abstract setupRemoteVideoEx( + abstract setupRemoteVideoEx( canvas: VideoCanvas, connection: RtcConnection ): number; - public abstract int SetupRemoteVideoEx(VideoCanvas canvas, RtcConnection connection); - abstract setupRemoteVideoEx( + public abstract int SetupRemoteVideoEx(VideoCanvas canvas, RtcConnection connection); + abstract setupRemoteVideoEx( canvas: VideoCanvas, connection: RtcConnection ): number; - Future<void> setupRemoteVideoEx( + Future<void> setupRemoteVideoEx( {required VideoCanvas canvas, required RtcConnection connection}); -

    +

    详情

    该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。

    -

    调用该方法时需要在 中指定远端视频的用户 ID,一般可以在进频道前提前设置好。

    -

    如果无法在加入频道前得到远端用户的 uid,可以在收到 回调时调用该方法。如果启用了视频录制功能,视频录制服务会做为一个哑客户端加入频道,因此其他客户端也会收到它的 onUserJoined 事件, App 不应给它绑定视图(因为它不会发送视频流)。

    +

    调用该方法时需要在 中指定远端视频的用户 ID,一般可以在进频道前提前设置好。

    +

    如果无法在加入频道前得到远端用户的 uid,可以在收到 + 回调时调用该方法。如果启用了视频录制功能,视频录制服务会做为一个哑客户端加入频道,因此其他客户端也会收到它的 onUserJoined + 事件, App 不应给它绑定视图(因为它不会发送视频流)。

    如需解除某个远端用户的绑定视图,可以调用该方法并将 view 设置为空。

    离开频道后,SDK 会清除远端用户视图的绑定关系。

    -

    如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 方法。

    -
    +

    如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 方法。

    + +
    参数 - - remote - canvas - -

    视频画布信息。详见

    -
    -
    - - - - -
    + + remote + canvas + +

    视频画布信息。详见

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita b/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita index c90764229e4..2f3649429db 100644 --- a/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita @@ -1,62 +1,68 @@ - <ph keyref="setVideoEncoderConfigurationEx" /> + <ph keyref="setVideoEncoderConfigurationEx"/> 设置视频编码属性。 - +

    - public abstract int setVideoEncoderConfigurationEx( + public abstract int setVideoEncoderConfigurationEx( VideoEncoderConfiguration config, RtcConnection connection); - - (int)setVideoEncoderConfigurationEx:(AgoraVideoEncoderConfiguration* _Nonnull)config + - (int)setVideoEncoderConfigurationEx:(AgoraVideoEncoderConfiguration* _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setVideoEncoderConfigurationEx(const VideoEncoderConfiguration& config, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setVideoEncoderConfigurationEx(const VideoEncoderConfiguration& config, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetVideoEncoderConfigurationEx(const FVideoEncoderConfiguration& config, const FRtcConnection& connection); - abstract setVideoEncoderConfigurationEx( + abstract setVideoEncoderConfigurationEx( config: VideoEncoderConfiguration, connection: RtcConnection ): number; - public abstract int SetVideoEncoderConfigurationEx(VideoEncoderConfiguration config, RtcConnection connection); - abstract setVideoEncoderConfigurationEx( + public abstract int SetVideoEncoderConfigurationEx(VideoEncoderConfiguration config, RtcConnection connection); + abstract setVideoEncoderConfigurationEx( config: VideoEncoderConfiguration, connection: RtcConnection ): number; - Future<void> setVideoEncoderConfigurationEx( + Future<void> setVideoEncoderConfigurationEx( {required VideoEncoderConfiguration config, required RtcConnection connection}); -

    +

    详情

    设置本地视频的编码属性。每一种视频编码属性对应一系列视频相关参数设置,包含分辨率、帧率和码率。

    -

    该方法的 config 参数设置是在理想网络状态下能达到的最大值。如果网络状态不好,视频引擎便不能使用该 config 渲染本地视频,它会自动降低到一个合适的视频参数设置。

    +

    该方法的 config 参数设置是在理想网络状态下能达到的最大值。如果网络状态不好,视频引擎便不能使用该 + config 渲染本地视频,它会自动降低到一个合适的视频参数设置。

    参数 - - config - 视频编码参数配置。详见 - - - - - -
    + + config + 视频编码参数配置。详见 + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_startchannelmediarelayex.dita b/dita/RTC-NG/API/api_irtcengineex_startchannelmediarelayex.dita index ea1e9c009ec..8d14da476c8 100644 --- a/dita/RTC-NG/API/api_irtcengineex_startchannelmediarelayex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_startchannelmediarelayex.dita @@ -13,73 +13,85 @@

    - public abstract int startChannelMediaRelayEx( + public abstract int startChannelMediaRelayEx( ChannelMediaRelayConfiguration channelMediaRelayConfiguration, RtcConnection connection); - - (int)startChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startChannelMediaRelayEx(_:connection:)); - virtual int startChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startChannelMediaRelayEx(_:connection:)); + virtual int startChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartChannelMediaRelayEx(const FChannelMediaRelayConfiguration& configuration, const FRtcConnection& connection); - abstract startChannelMediaRelayEx( + abstract startChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - public abstract int StartChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); - abstract startChannelMediaRelayEx( + public abstract int StartChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); + abstract startChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - Future<void> startChannelMediaRelayEx( + Future<void> startChannelMediaRelayEx( {required ChannelMediaRelayConfiguration configuration, required RtcConnection connection}); -

    +

    详情
    - -
    弃用:
    -
    该方法已废弃。请改用
    -
    + +
    弃用:
    +
    该方法已废弃。请改用
    +
    -

    成功调用该方法后,SDK 会触发 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。 -

      -
    • 如果 回调报告 (2) 和 (0),且 回调报告 (4), 则表示 SDK 开始在源频道和目标频道之间转发媒体流。
    • -
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • -

    +

    成功调用该方法后,SDK 会触发 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。

      +
    • 如果 回调报告 (2) 和 (0),且 + 回调报告 (4), 则表示 SDK + 开始在源频道和目标频道之间转发媒体流。
    • +
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • +
    +

    -
      -
    • 请在成功加入频道后调用该方法。
    • -
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • -
    • 成功调用该方法后,若你想再次调用该方法,必须先调用 方法退出当前的转发状态。
    • -
    • 跨频道媒体流转发功能需要开通。
    • -
    • 该功能不支持 String 型 UID。
    • -
    +
      +
    • 请在成功加入频道后调用该方法。
    • +
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • +
    • 成功调用该方法后,若你想再次调用该方法,必须先调用 + 方法退出当前的转发状态。
    • +
    • 跨频道媒体流转发功能需要开通。
    • +
    • 该功能不支持 String 型 UID。
    • +
    + +
    参数 - - channelMediaRelayConfiguration - config - configuration - 跨频道媒体流转发参数配置。详见 - - - - - -
    + + channelMediaRelayConfiguration + config + configuration + 跨频道媒体流转发参数配置。详见 + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。 -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -7: 方法调用被拒绝。可能因为 SDK 未初始化成功,或用户角色不是主播。
      • -
      • -8:内部状态错误。可能因为用户角色不是主播。
      • -
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -7: 方法调用被拒绝。可能因为 SDK 未初始化成功,或用户角色不是主播。
    • +
    • -8:内部状态错误。可能因为用户角色不是主播。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_startmediarenderingtracingex.dita b/dita/RTC-NG/API/api_irtcengineex_startmediarenderingtracingex.dita index f0f821fad6b..0dbdc0bc2fe 100644 --- a/dita/RTC-NG/API/api_irtcengineex_startmediarenderingtracingex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_startmediarenderingtracingex.dita @@ -13,45 +13,48 @@

    - public abstract int startMediaRenderingTracingEx(RtcConnection connection); - - (int)startMediaRenderingTracingEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startMediaRenderingTracingEx(_:)); - virtual int startMediaRenderingTracingEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startMediaRenderingTracingEx(RtcConnection connection); + - (int)startMediaRenderingTracingEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startMediaRenderingTracingEx(_:)); + virtual int startMediaRenderingTracingEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartMediaRenderingTracingEx(const FRtcConnection& connection); - abstract startMediaRenderingTracingEx(connection: RtcConnection): number; - public abstract int StartMediaRenderingTracingEx(RtcConnection connection); - abstract startMediaRenderingTracingEx(connection: RtcConnection): number; - Future<void> startMediaRenderingTracingEx(RtcConnection connection);

    + abstract startMediaRenderingTracingEx(connection: RtcConnection): number; + public abstract int StartMediaRenderingTracingEx(RtcConnection connection); + abstract startMediaRenderingTracingEx(connection: RtcConnection): number; + Future<void> startMediaRenderingTracingEx(RtcConnection connection); +

    详情
    - -
    自从
    -
    v4.1.1
    -
    + +
    自从
    +
    v4.1.1
    +

    - -

    -
    +
    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita b/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita index 7669bbd4b89..9226bcc72d6 100644 --- a/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita @@ -13,72 +13,84 @@

    - public abstract int startOrUpdateChannelMediaRelayEx( + public abstract int startOrUpdateChannelMediaRelayEx( ChannelMediaRelayConfiguration channelMediaRelayConfiguration, RtcConnection connection); - - (int)startOrUpdateChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startOrUpdateChannelMediaRelayEx(_:connection:)); - virtual int startOrUpdateChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startOrUpdateChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startOrUpdateChannelMediaRelayEx(_:connection:)); + virtual int startOrUpdateChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartOrUpdateChannelMediaRelayEx(const FChannelMediaRelayConfiguration& configuration, const FRtcConnection& connection); - abstract startOrUpdateChannelMediaRelayEx( + abstract startOrUpdateChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - public abstract int StartOrUpdateChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); - abstract startOrUpdateChannelMediaRelayEx( + public abstract int StartOrUpdateChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); + abstract startOrUpdateChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - Future<void> startOrUpdateChannelMediaRelayEx( + Future<void> startOrUpdateChannelMediaRelayEx( {required ChannelMediaRelayConfiguration configuration, required RtcConnection connection}); -

    +

    详情
    - -
    自从
    -
    v4.2.0
    -
    -

    首次成功调用该方法将开始跨频道转发媒体流。如需将流转发到多个目标频道,或退出当前的转发频道,可以再次调用该方法添加或移除转发的目标频道。该功能最多支持将媒体流转发至 6 个目标频道。

    -

    成功调用该方法后,SDK 会触发 回调,报告当前的跨频道媒体流转发状态。常见状态如下: -

      -
    • 如果 回调报告 (2) 和 (0), 则表示 SDK 开始在源频道和目标频道之间转发媒体流。
    • -
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • -

    + +
    自从
    +
    v4.2.0
    +
    + +

    首次成功调用该方法将开始跨频道转发媒体流。如需将流转发到多个目标频道,或退出当前的转发频道,可以再次调用该方法添加或移除转发的目标频道。该功能最多支持将媒体流转发至 6 + 个目标频道。

    +

    成功调用该方法后,SDK 会触发 + 回调,报告当前的跨频道媒体流转发状态。常见状态如下:

      +
    • 如果 回调报告 (2) 和 (0), + 则表示 SDK 开始在源频道和目标频道之间转发媒体流。
    • +
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • +
    +

    -
      -
    • 请在成功加入频道后调用该方法。
    • -
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • -
    • 跨频道媒体流转发功能需要开通。
    • -
    • 该功能不支持 String 型 UID。
    • -
    +
      +
    • 请在成功加入频道后调用该方法。
    • +
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • +
    • 跨频道媒体流转发功能需要开通。
    • +
    • 该功能不支持 String 型 UID。
    • +
    + +
    参数 - - channelMediaRelayConfiguration - config - configuration - 跨频道媒体流转发参数配置。详见 - - - - - -
    + + channelMediaRelayConfiguration + config + configuration + 跨频道媒体流转发参数配置。详见 + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。 -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -7: 方法调用被拒绝。可能因为 SDK 未初始化成功,或用户角色不是主播。
      • -
      • -8:内部状态错误。可能因为用户角色不是主播。
      • -
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。 +
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -7: 方法调用被拒绝。可能因为 SDK 未初始化成功,或用户角色不是主播。
    • +
    • -8:内部状态错误。可能因为用户角色不是主播。
    • +
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithouttranscodingex.dita b/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithouttranscodingex.dita index 437b38099fd..97b9fbba83e 100644 --- a/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithouttranscodingex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithouttranscodingex.dita @@ -13,48 +13,51 @@

    - public abstract int startRtmpStreamWithoutTranscodingEx(String url, RtcConnection connection); - - (int)startRtmpStreamWithoutTranscodingEx:(NSString* _Nonnull)url + public abstract int startRtmpStreamWithoutTranscodingEx(String url, RtcConnection connection); + - (int)startRtmpStreamWithoutTranscodingEx:(NSString* _Nonnull)url connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startRtmpStreamWithoutTranscodingEx(_:connection:)); - virtual int startRtmpStreamWithoutTranscodingEx(const char* url, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int startRtmpStreamWithoutTranscodingEx(const char* url, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRtmpStreamWithoutTranscodingEx(FString url, const FRtcConnection& connection); - abstract startRtmpStreamWithoutTranscodingEx( + abstract startRtmpStreamWithoutTranscodingEx( url: string, connection: RtcConnection ): number; - public abstract int StartRtmpStreamWithoutTranscodingEx(string url, RtcConnection connection); - abstract startRtmpStreamWithoutTranscodingEx( + public abstract int StartRtmpStreamWithoutTranscodingEx(string url, RtcConnection connection); + abstract startRtmpStreamWithoutTranscodingEx( url: string, connection: RtcConnection ): number; - Future<void> startRtmpStreamWithoutTranscodingEx( - {required String url, required RtcConnection connection});

    + Future<void> startRtmpStreamWithoutTranscodingEx( + {required String url, required RtcConnection connection}); +

    详情
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流

    调用该方法,你可以向指定的旁路推流地址推送直播音视频流。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    -
    + +
    参数 - - - - - - - - -
    + + + + + + + + + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithtranscodingex.dita b/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithtranscodingex.dita index 951074d4797..423e152e7e7 100644 --- a/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithtranscodingex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithtranscodingex.dita @@ -13,64 +13,70 @@

    - public abstract int startRtmpStreamWithTranscodingEx( + public abstract int startRtmpStreamWithTranscodingEx( String url, LiveTranscoding transcoding, RtcConnection connection); - - (int)startRtmpStreamWithTranscodingEx:(NSString* _Nonnull)url + - (int)startRtmpStreamWithTranscodingEx:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startRtmpStreamWithTranscodingEx(_:transcoding:connection:)); - virtual int startRtmpStreamWithTranscodingEx(const char* url, const LiveTranscoding& transcoding, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int startRtmpStreamWithTranscodingEx(const char* url, const LiveTranscoding& transcoding, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRtmpStreamWithTranscodingEx(FString url, const FLiveTranscoding& transcoding, const FRtcConnection& connection); - abstract startRtmpStreamWithTranscodingEx( + abstract startRtmpStreamWithTranscodingEx( url: string, transcoding: LiveTranscoding, connection: RtcConnection ): number; - public abstract int StartRtmpStreamWithTranscodingEx(string url, LiveTranscoding transcoding, RtcConnection connection); - abstract startRtmpStreamWithTranscodingEx( + public abstract int StartRtmpStreamWithTranscodingEx(string url, LiveTranscoding transcoding, RtcConnection connection); + abstract startRtmpStreamWithTranscodingEx( url: string, transcoding: LiveTranscoding, connection: RtcConnection ): number; - Future<void> startRtmpStreamWithTranscodingEx( + Future<void> startRtmpStreamWithTranscodingEx( {required String url, required LiveTranscoding transcoding, - required RtcConnection connection});

    + required RtcConnection connection}); +

    详情
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流

    调用该方法,你可以向指定的旁路推流地址推送直播音视频流并设置转码属性。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    -
      -
    • 请确保已开通旁路推流服务。详见旁路推流中的前提条件。
    • -
    • 请在加入频道后调用该方法。
    • -
    • 只有直播场景下的主播才能调用该方法。
    • -
    • 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 ,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
    • -
    +
      +
    • 请确保已开通旁路推流服务。详见旁路推流中的前提条件。
    • +
    • 请在加入频道后调用该方法。
    • +
    • 只有直播场景下的主播才能调用该方法。
    • +
    • 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 ,再调用该方法重推,否则 + SDK 会返回与上次推流失败时一样的错误码。
    • +
    + +
    参数 - - - - - - - - - - - - -
    -
    + + + + + + + + + + + + + + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_stopchannelmediarelayex.dita b/dita/RTC-NG/API/api_irtcengineex_stopchannelmediarelayex.dita index 7a9e49d1991..8f64d7a9cee 100644 --- a/dita/RTC-NG/API/api_irtcengineex_stopchannelmediarelayex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_stopchannelmediarelayex.dita @@ -13,22 +13,23 @@

    - public abstract int stopChannelMediaRelayEx(RtcConnection connection); - - (int)stopChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(stopChannelMediaRelayEx(_:)); - virtual int stopChannelMediaRelayEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopChannelMediaRelayEx(RtcConnection connection); + - (int)stopChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(stopChannelMediaRelayEx(_:)); + virtual int stopChannelMediaRelayEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopChannelMediaRelayEx(const FRtcConnection& connection); - abstract stopChannelMediaRelayEx(connection: RtcConnection): number; - public abstract int StopChannelMediaRelayEx(RtcConnection connection); - abstract stopChannelMediaRelayEx(connection: RtcConnection): number; - Future<void> stopChannelMediaRelayEx(RtcConnection connection);

    + abstract stopChannelMediaRelayEx(connection: RtcConnection): number; + public abstract int StopChannelMediaRelayEx(RtcConnection connection); + abstract stopChannelMediaRelayEx(connection: RtcConnection): number; + Future<void> stopChannelMediaRelayEx(RtcConnection connection); +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    @@ -43,10 +44,14 @@
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_stoprtmpstreamex.dita b/dita/RTC-NG/API/api_irtcengineex_stoprtmpstreamex.dita index 02f378b5470..265740f448d 100644 --- a/dita/RTC-NG/API/api_irtcengineex_stoprtmpstreamex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_stoprtmpstreamex.dita @@ -1,8 +1,12 @@ - <ph keyref="stopRtmpStreamEx"/> - 结束旁路推流。 + + <ph keyref="stopRtmpStreamEx"/> + + + 结束旁路推流。 + @@ -13,18 +17,18 @@

    - public abstract int stopRtmpStreamEx(String url, RtcConnection connection); - - (int)stopRtmpStreamEx:(NSString* _Nonnull)url + public abstract int stopRtmpStreamEx(String url, RtcConnection connection); + - (int)stopRtmpStreamEx:(NSString* _Nonnull)url connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(stopRtmpStreamEx(_:connection:)); - virtual int stopRtmpStreamEx(const char* url, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int stopRtmpStreamEx(const char* url, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopRtmpStreamEx(FString url, const FRtcConnection& connection); - abstract stopRtmpStreamEx(url: string, connection: RtcConnection): number; - public abstract int StopRtmpStreamEx(string url, RtcConnection connection); - abstract stopRtmpStreamEx(url: string, connection: RtcConnection): number; - Future<void> stopRtmpStreamEx( + abstract stopRtmpStreamEx(url: string, connection: RtcConnection): number; + public abstract int StopRtmpStreamEx(string url, RtcConnection connection); + abstract stopRtmpStreamEx(url: string, connection: RtcConnection): number; + Future<void> stopRtmpStreamEx( {required String url, required RtcConnection connection}); -

    +

    详情 @@ -35,17 +39,22 @@
    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita b/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita index ec761af5122..313c62bd231 100644 --- a/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita @@ -13,61 +13,68 @@

    - public abstract int takeSnapshotEx(RtcConnection connection, int uid, String filePath); - - (NSInteger)takeSnapshotEx:(AgoraRtcConnection * _Nonnull)connection uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; - virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const char* filePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int takeSnapshotEx(RtcConnection connection, int uid, String filePath); + - (NSInteger)takeSnapshotEx:(AgoraRtcConnection * _Nonnull)connection uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; + virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const char* filePath) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int TakeSnapshotEx(const FRtcConnection& connection, int64 uid, FString filePath); - abstract takeSnapshotEx( + abstract takeSnapshotEx( connection: RtcConnection, uid: number, filePath: string ): number; - public abstract int TakeSnapshotEx(RtcConnection connection, uint uid, string filePath); - abstract takeSnapshotEx( + public abstract int TakeSnapshotEx(RtcConnection connection, uint uid, string filePath); + abstract takeSnapshotEx( connection: RtcConnection, uid: number, filePath: string ): number; - Future<void> takeSnapshotEx( + Future<void> takeSnapshotEx( {required RtcConnection connection, required int uid, required String filePath}); -

    +

    详情

    -

    调用该方法返回时 SDK 并没有真正获取截图。成功调用该方法后,SDK 会触发 回调报告截图是否成功和获取截图的详情。

    +

    调用该方法返回时 SDK 并没有真正获取截图。成功调用该方法后,SDK 会触发 + 回调报告截图是否成功和获取截图的详情。

    -
      -
    • 该方法需要在调用 后调用。
    • -
    • 该方法用于本地视频截图时,是对 中指定发布的视频流进行截图。
    • -
    • 如果用户的视频经过前处理,例如,添加了水印或美颜,生成的截图会包含前处理效果。
    • -
    +
      +
    • 该方法需要在调用 后调用。
    • +
    • 该方法用于本地视频截图时,是对 中指定发布的视频流进行截图。
    • +
    • 如果用户的视频经过前处理,例如,添加了水印或美颜,生成的截图会包含前处理效果。
    • +
    +
    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_updatechannelmediaoptionsex.dita b/dita/RTC-NG/API/api_irtcengineex_updatechannelmediaoptionsex.dita index 50833f02b8a..4b6363cfa0d 100644 --- a/dita/RTC-NG/API/api_irtcengineex_updatechannelmediaoptionsex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_updatechannelmediaoptionsex.dita @@ -1,51 +1,52 @@ - <ph keyref="updateChannelMediaOptionsEx" /> + <ph keyref="updateChannelMediaOptionsEx"/> 加入频道后更新频道媒体选项 。 - +

    - public abstract int updateChannelMediaOptionsEx( + public abstract int updateChannelMediaOptionsEx( ChannelMediaOptions options, RtcConnection connection); - - (int)updateChannelExWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions + - (int)updateChannelExWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int updateChannelMediaOptionsEx(const ChannelMediaOptions& options, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int updateChannelMediaOptionsEx(const ChannelMediaOptions& options, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateChannelMediaOptionsEx(const FChannelMediaOptions& options, const FRtcConnection& connection); - abstract updateChannelMediaOptionsEx( + abstract updateChannelMediaOptionsEx( options: ChannelMediaOptions, connection: RtcConnection ): number; - public abstract int UpdateChannelMediaOptionsEx(ChannelMediaOptions options, RtcConnection connection); - abstract updateChannelMediaOptionsEx( + public abstract int UpdateChannelMediaOptionsEx(ChannelMediaOptions options, RtcConnection connection); + abstract updateChannelMediaOptionsEx( options: ChannelMediaOptions, connection: RtcConnection ): number; - Future<void> updateChannelMediaOptionsEx( + Future<void> updateChannelMediaOptionsEx( {required ChannelMediaOptions options, required RtcConnection connection}); -

    +

    参数 - - options - 频道媒体选项,详见 - - - - - -
    -
    + + options + 频道媒体选项,详见 + + + + + + +
    +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_irtcengineex_updatechannelmediarelayex.dita b/dita/RTC-NG/API/api_irtcengineex_updatechannelmediarelayex.dita index 64ee8aa2b09..dc5f061d659 100644 --- a/dita/RTC-NG/API/api_irtcengineex_updatechannelmediarelayex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_updatechannelmediarelayex.dita @@ -13,57 +13,67 @@

    - public abstract int updateChannelMediaRelayEx( + public abstract int updateChannelMediaRelayEx( ChannelMediaRelayConfiguration channelMediaRelayConfiguration, RtcConnection connection); - - (int)updateChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(updateChannelMediaRelayEx(_:connection:)); - virtual int updateChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)updateChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(updateChannelMediaRelayEx(_:connection:)); + virtual int updateChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateChannelMediaRelayEx(const FChannelMediaRelayConfiguration& configuration, const FRtcConnection& connection); - abstract updateChannelMediaRelayEx( + abstract updateChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - public abstract int UpdateChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); - abstract updateChannelMediaRelayEx( + public abstract int UpdateChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); + abstract updateChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - Future<void> updateChannelMediaRelayEx( + Future<void> updateChannelMediaRelayEx( {required ChannelMediaRelayConfiguration configuration, required RtcConnection connection}); -

    +

    详情
    - -
    弃用:
    -
    该方法已废弃。请改用
    -
    + +
    弃用:
    +
    该方法已废弃。请改用
    +

    成功开始跨频道转发媒体流后,如果你希望将流转发到多个目标频道,或退出当前的转发频道,可以调用该方法。

    -

    成功调用该方法后,SDK 会触发 回调, 并在回调中报告状态码 (7)。

    - 请在成功调用 方法并收到 (, ) 后调用该方法;否则,方法调用会失败。
    +

    成功调用该方法后,SDK 会触发 回调, 并在回调中报告状态码 (7)。

    + 请在成功调用 方法并收到 (, ) + 后调用该方法;否则,方法调用会失败。 +
    参数 - - channelMediaRelayConfiguration - config - configuration - 跨频道媒体流转发参数配置。详见 - - - - - -
    + + channelMediaRelayConfiguration + config + configuration + 跨频道媒体流转发参数配置。详见 + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_irtcengineex_updatertmptranscodingex.dita b/dita/RTC-NG/API/api_irtcengineex_updatertmptranscodingex.dita index 4b303ffe09c..8c3f3ecd4b4 100644 --- a/dita/RTC-NG/API/api_irtcengineex_updatertmptranscodingex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_updatertmptranscodingex.dita @@ -1,8 +1,12 @@ - <ph keyref="updateRtmpTranscodingEx"/> - 更新旁路推流转码属性。 + + <ph keyref="updateRtmpTranscodingEx"/> + + + 更新旁路推流转码属性。 + @@ -13,50 +17,56 @@

    - public abstract int updateRtmpTranscodingEx( + public abstract int updateRtmpTranscodingEx( LiveTranscoding transcoding, RtcConnection connection); - - (int)updateRtmpTranscodingEx:(AgoraLiveTranscoding* _Nullable)transcoding + - (int)updateRtmpTranscodingEx:(AgoraLiveTranscoding* _Nullable)transcoding connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(updateRtmpTranscodingEx(_:connection:)); - virtual int updateRtmpTranscodingEx(const LiveTranscoding& transcoding, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int updateRtmpTranscodingEx(const LiveTranscoding& transcoding, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateRtmpTranscodingEx(const FLiveTranscoding& transcoding, const FRtcConnection& connection); - abstract updateRtmpTranscodingEx( + abstract updateRtmpTranscodingEx( transcoding: LiveTranscoding, connection: RtcConnection ): number; - public abstract int UpdateRtmpTranscodingEx(LiveTranscoding transcoding, RtcConnection connection); - abstract updateRtmpTranscodingEx( + public abstract int UpdateRtmpTranscodingEx(LiveTranscoding transcoding, RtcConnection connection); + abstract updateRtmpTranscodingEx( transcoding: LiveTranscoding, connection: RtcConnection ): number; - Future<void> updateRtmpTranscodingEx( + Future<void> updateRtmpTranscodingEx( {required LiveTranscoding transcoding, required RtcConnection connection}); -

    +

    详情

    声网推荐你使用更加完善的服务端推流功能,详见实现服务端旁路推流

    -

    开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 回调。

    +

    开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 + 回调。

    参数 - - - - - - - - -
    + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_iscreencapturesourcelist_getcount.dita b/dita/RTC-NG/API/api_iscreencapturesourcelist_getcount.dita index a788b4c50d3..55e3eb76fa7 100644 --- a/dita/RTC-NG/API/api_iscreencapturesourcelist_getcount.dita +++ b/dita/RTC-NG/API/api_iscreencapturesourcelist_getcount.dita @@ -13,21 +13,21 @@

    - - - virtual unsigned int getCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") + + + virtual unsigned int getCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") int64 GetCount(); - - - - -

    + + + + +

    详情 - 该方法仅适用于 macOS 和 Windows。 -
    + 该方法仅适用于 macOS 和 Windows。 +
    返回值

    可共享的窗口和屏幕的个数。

    diff --git a/dita/RTC-NG/API/api_iscreencapturesourcelist_getsourceinfo.dita b/dita/RTC-NG/API/api_iscreencapturesourcelist_getsourceinfo.dita index af09ab01b51..326138a52a4 100644 --- a/dita/RTC-NG/API/api_iscreencapturesourcelist_getsourceinfo.dita +++ b/dita/RTC-NG/API/api_iscreencapturesourcelist_getsourceinfo.dita @@ -13,32 +13,36 @@

    - - - virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") + + + virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") FScreenCaptureSourceInfo GetSourceInfo(int64 index); - - - - -

    + + + + +

    详情 -

    获取到 后,你可以传入指定的可共享窗口或屏幕的索引值,以获取到该窗口或屏幕的信息

    - 该方法仅适用于 macOS 和 Windows。 +

    获取到 后,你可以传入指定的可共享窗口或屏幕的索引值,以获取到该窗口或屏幕的信息 +

    + 该方法仅适用于 macOS 和 Windows。
    参数 - - index - 指定的可共享窗口或屏幕的索引。索引值范围为 [0,())。 - -
    + + index + 指定的可共享窗口或屏幕的索引。索引值范围为 [0,())。 + + +
    返回值 -
    + +
    diff --git a/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita b/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita index 6d7a031e794..ac163fe9d45 100644 --- a/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita +++ b/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IScreenCaptureSourceList"/> - 释放 + 释放 @@ -13,21 +14,22 @@

    - - - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") + + + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") void Release(); - - - - -

    + + + + +

    详情 -

    获取可共享的窗口和屏幕对象列表后,为避免内存泄露,请调用该方法释放 ,不要直接删除

    - 该方法仅适用于 macOS 和 Windows。 +

    获取可共享的窗口和屏幕对象列表后,为避免内存泄露,请调用该方法释放 ,不要直接删除 +

    + 该方法仅适用于 macOS 和 Windows。
    diff --git a/dita/RTC-NG/API/api_ivideodevicecollection_getcount.dita b/dita/RTC-NG/API/api_ivideodevicecollection_getcount.dita index 593abcbc1d6..85fc8730714 100644 --- a/dita/RTC-NG/API/api_ivideodevicecollection_getcount.dita +++ b/dita/RTC-NG/API/api_ivideodevicecollection_getcount.dita @@ -13,16 +13,16 @@

    - - - virtual int getCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") + + + virtual int getCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") int GetCount(); - - - - -

    + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_ivideodevicecollection_getdevice.dita b/dita/RTC-NG/API/api_ivideodevicecollection_getdevice.dita index 86bdc5c7d33..c8ea0f8b350 100644 --- a/dita/RTC-NG/API/api_ivideodevicecollection_getdevice.dita +++ b/dita/RTC-NG/API/api_ivideodevicecollection_getdevice.dita @@ -1,54 +1,56 @@ - <ph keyref="getDevice_IVideoDeviceCollection" /> + <ph keyref="getDevice_IVideoDeviceCollection"/> 获取某个被索引的视频采集设备的指定信息。 - +

    - - - virtual int getDevice(int index, + + + virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") int GetDevice(int index, FString& deviceNameUTF8, FString& deviceIdUTF8); - abstract getDevice(): string; - public abstract string GetDevice(); - - Future<String> getDevice(); -

    + abstract getDevice(): string; + public abstract string GetDevice(); + + Future<String> getDevice(); +

    参数 - - index - 指定的索引值,必须小于 方法的返回值。 - - - deviceName - 设备名称。最大长度为 - - - deviceId - 视频设备的设备 ID。最大长度为 - -
    + + index + 指定的索引值,必须小于 方法的返回值。 + + + deviceName + 设备名称。最大长度为 + + + deviceId + 视频设备的设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。

    视频采集设备信息。

    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ivideodevicecollection_release.dita b/dita/RTC-NG/API/api_ivideodevicecollection_release.dita index a12325532c8..d2072a936cf 100644 --- a/dita/RTC-NG/API/api_ivideodevicecollection_release.dita +++ b/dita/RTC-NG/API/api_ivideodevicecollection_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IVideoDeviceCollection"/> - 释放 对象占用的所有资源。 + 释放 + 对象占用的所有资源。 @@ -13,16 +14,16 @@

    - - - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") + + + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") void Release(); - - - - -

    + + + + +

    diff --git a/dita/RTC-NG/API/api_ivideodevicecollection_setdevice.dita b/dita/RTC-NG/API/api_ivideodevicecollection_setdevice.dita index a64e92c8d62..877e55afb30 100644 --- a/dita/RTC-NG/API/api_ivideodevicecollection_setdevice.dita +++ b/dita/RTC-NG/API/api_ivideodevicecollection_setdevice.dita @@ -1,49 +1,57 @@ - <ph keyref="setDevice_IVideoDeviceCollection" /> + <ph keyref="setDevice_IVideoDeviceCollection"/> 指定设备。 - +

    - - - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId; - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") + + - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId; + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") int SetDevice(FString& deviceIdUTF8); - - public abstract int SetDevice(string deviceIdUTF8); - - Future<void> setDevice(String deviceIdUTF8); -

    + + public abstract int SetDevice(string deviceIdUTF8); + + Future<void> setDevice(String deviceIdUTF8); +

    参数 - - type - -

    - - - - deviceId - 设备 ID。最大长度为 可通过 获取。插拔设备不会影响 deviceId - -

    + + type + +

    + + + + deviceId + 设备 ID。最大长度为 可通过 获取。插拔设备不会影响 + deviceId + + +

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita b/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita index e99234f60d6..cc728ed81b6 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita @@ -1,41 +1,46 @@ - <ph keyref="enumerateVideoDevices" /> + <ph keyref="enumerateVideoDevices"/> 获取系统中所有的视频设备列表。 - +

    - - - virtual IVideoDeviceCollection* enumerateVideoDevices() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + + + virtual IVideoDeviceCollection* enumerateVideoDevices() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") UIVideoDeviceCollection* EnumerateVideoDevices(); - abstract enumerateVideoDevices(): VideoDeviceInfo[]; - public abstract DeviceInfo[] EnumerateVideoDevices(); - abstract enumerateVideoDevices(): VideoDeviceInfo[]; - List<VideoDeviceInfo> enumerateVideoDevices(); -

    + abstract enumerateVideoDevices(): VideoDeviceInfo[]; + public abstract DeviceInfo[] EnumerateVideoDevices(); + abstract enumerateVideoDevices(): VideoDeviceInfo[]; + List<VideoDeviceInfo> enumerateVideoDevices(); +

    详情 - 该方法仅适用于 Windows 和 macOS。 -

    该方法返回一个 对象,包含系统中所有的视频设备。通过 对象,App 可以枚举视频设备。 - App 必须调用 方法在使用过后释放返回的对象。

    + 该方法仅适用于 Windows 和 + macOS。 +

    该方法返回一个 + 对象,包含系统中所有的视频设备。通过 对象,App 可以枚举视频设备。 App + 必须调用 方法在使用过后释放返回的对象。

    返回值
      -
    • 方法调用成功: 返回一个 对象,其中包含系统中所有视频设备。
    • -
    • 方法调用成功:返回一个 数组,其中包含系统中所有视频设备。
    • -
    • 方法调用失败: 返回空列表。
    • -
    +
  • 方法调用成功: 返回一个 + 对象,其中包含系统中所有视频设备。
  • +
  • 方法调用成功:返回一个 + 数组,其中包含系统中所有视频设备。
  • +
  • 方法调用失败: 返回空列表。
  • + +
    -
    \ 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 14584cd1790..4d7b65ef8b2 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_getcapability.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_getcapability.dita @@ -1,63 +1,71 @@ - <ph keyref="getCapability" /> + <ph keyref="getCapability"/> 获取视频采集设备在指定的视频格式下的详细视频帧信息。 - +

    - - - virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0; + + + virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") int GetCapability(FString deviceIdUTF8, int deviceCapabilityNumber, FVideoFormat& capability); - abstract getCapability( + abstract getCapability( deviceIdUTF8: string, deviceCapabilityNumber: number ): VideoFormat; - public abstract int GetCapability(string deviceIdUTF8, uint deviceCapabilityNumber, out VideoFormat capability); - abstract getCapability( + public abstract int GetCapability(string deviceIdUTF8, uint deviceCapabilityNumber, out VideoFormat capability); + abstract getCapability( deviceIdUTF8: string, deviceCapabilityNumber: number ): VideoFormat; - Future<VideoFormat> getCapability( + Future<VideoFormat> getCapability( {required String deviceIdUTF8, required int deviceCapabilityNumber}); -

    +

    详情 - 该方法仅适用于 Windows 和 macOS。 -

    在调用 获取视频采集设备支持的视频格式数量后,你可以调用该方法获取指定索引号支持的具体视频帧信息。

    + 该方法仅适用于 Windows 和 + macOS。 +

    在调用 + 获取视频采集设备支持的视频格式数量后,你可以调用该方法获取指定索引号支持的具体视频帧信息。

    参数 - - - - - - deviceCapabilityNumber - 视频格式的索引号。如果 的返回值为 i,则该参数取值范围为[0,i)。 - - - capability - 输出参数。表示指定视频格式的具体信息,包括宽度(px),高度(px)和帧率(fps)。详见 - -
    + + + + + + deviceCapabilityNumber + 视频格式的索引号。如果 的返回值为 + i,则该参数取值范围为[0,i)。 + + + capability + 输出参数。表示指定视频格式的具体信息,包括宽度(px),高度(px)和帧率(fps)。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    -

    指定视频格式的具体信息,包括宽度(px),高度(px)和帧率(fps)。详见

    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +

    指定视频格式的具体信息,包括宽度(px),高度(px)和帧率(fps)。详见

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ivideodevicemanager_getdevice.dita b/dita/RTC-NG/API/api_ivideodevicemanager_getdevice.dita index 471f13a606d..708806e842c 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_getdevice.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_getdevice.dita @@ -1,46 +1,50 @@ - <ph keyref="getDevice_IVideoDeviceManager" /> + <ph keyref="getDevice_IVideoDeviceManager"/> 获取当前使用的视频采集设备。 - +

    - - - virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + + + virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") int GetDevice(FString& deviceIdUTF8); - abstract getDevice(): string; - public abstract int GetDevice(ref string deviceIdUTF8); - abstract getDevice(): string; - Future<String> getDevice(); -

    + abstract getDevice(): string; + public abstract int GetDevice(ref string deviceIdUTF8); + abstract getDevice(): string; + Future<String> getDevice(); +

    详情 - 该方法仅适用于 Windows 和 macOS。 + 该方法仅适用于 Windows 和 + macOS。
    参数 - - deviceIdUTF8 - 输出参数。设备 ID。最大长度为 - -
    + + deviceIdUTF8 + 输出参数。设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。

    视频采集设备。

    diff --git a/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita b/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita index bd581c8853a..3b54444219d 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita @@ -1,50 +1,58 @@ - <ph keyref="numberOfCapabilities" /> + <ph keyref="numberOfCapabilities"/> 获取指定视频采集设备支持的视频格式数量。 - +

    - - - virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0; + + + virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") int NumberOfCapabilities(FString deviceIdUTF8); - abstract numberOfCapabilities(deviceIdUTF8: string): number; - public abstract int NumberOfCapabilities(string deviceIdUTF8); - abstract numberOfCapabilities(deviceIdUTF8: string): number; - Future<void> numberOfCapabilities(String 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。

    视频采集设备可能支持多种视频格式,每一种格式都支持不同的视频帧宽度、视频帧高度、帧率组合。

    -

    你可以通过调用该方法,获取指定的视频采集设备可支持多少种视频格式,然后调用 获取指定视频格式下的具体视频帧信息。

    +

    你可以通过调用该方法,获取指定的视频采集设备可支持多少种视频格式,然后调用 + 获取指定视频格式下的具体视频帧信息。

    参数 - - deviceIdUTF8 - 视频采集设备的 ID。 - -
    + + deviceIdUTF8 + 视频采集设备的 ID。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • > 0: 方法调用成功。返回该设备支持的视频格式数量。例如:如果指定的摄像头支持 10 种不同的视频格式,则返回值为 10。
    • -
    • ≤ 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • > 0: + 方法调用成功。返回该设备支持的视频格式数量。例如:如果指定的摄像头支持 10 种不同的视频格式,则返回值为 10。
  • +
  • ≤ 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/api_ivideodevicemanager_release.dita b/dita/RTC-NG/API/api_ivideodevicemanager_release.dita index 5d66767ecb6..8da96fb0299 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_release.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IVideoDeviceManager"/> - 释放 对象占用的所有资源。 + 释放 + 对象占用的所有资源。 @@ -13,20 +14,21 @@

    - - - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + + + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") void Release(); - abstract release(): void; - - abstract release(): void; - Future<void> release(); -

    + abstract release(): void; + + abstract release(): void; + Future<void> release(); +

    详情 - 该方法仅适用于 Windows 和 macOS。 + 该方法仅适用于 Windows 和 + macOS。
    diff --git a/dita/RTC-NG/API/api_ivideodevicemanager_setdevice.dita b/dita/RTC-NG/API/api_ivideodevicemanager_setdevice.dita index e024df84496..7c5248f09d5 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_setdevice.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_setdevice.dita @@ -13,39 +13,48 @@

    - - - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + + + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") int SetDevice(FString deviceIdUTF8); - abstract setDevice(deviceIdUTF8: string): number; - public abstract int SetDevice(string deviceIdUTF8); - abstract setDevice(deviceIdUTF8: string): number; - Future<void> setDevice(String deviceIdUTF8); -

    + abstract setDevice(deviceIdUTF8: string): number; + public abstract int SetDevice(string deviceIdUTF8); + abstract setDevice(deviceIdUTF8: string): number; + Future<void> setDevice(String deviceIdUTF8); +

    详情 -
    • 插拔设备不会改变设备 ID。
    • -
    • 该方法仅适用于 Windows 和 macOS。
    +
      +
    • 插拔设备不会改变设备 ID。
    • +
    • 该方法仅适用于 Windows 和 macOS。
    • +
    +
    参数 - - deviceId - deviceIdUTF8 - -

    设备 ID。可通过调用 方法获取。

    -

    最大长度为

    -
    -
    -
    + + deviceId + deviceIdUTF8 + +

    设备 ID。可通过调用 方法获取。

    +

    最大长度为

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_ivideodevicemanager_startdevicetest.dita b/dita/RTC-NG/API/api_ivideodevicemanager_startdevicetest.dita index 86c5f83682d..5f398d1b325 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_startdevicetest.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_startdevicetest.dita @@ -1,45 +1,50 @@ - <ph keyref="startDeviceTest" /> + <ph keyref="startDeviceTest"/> 开启视频采集设备测试。 - +

    - - - virtual int startDeviceTest(view_t hwnd) = 0; - abstract startDeviceTest(hwnd: any): number; - public abstract int StartDeviceTest(view_t hwnd); - abstract startDeviceTest(hwnd: any): number; - Future<void> startDeviceTest(int hwnd); -

    + + + virtual int startDeviceTest(view_t hwnd) = 0; + abstract startDeviceTest(hwnd: any): number; + public abstract int StartDeviceTest(view_t hwnd); + abstract startDeviceTest(hwnd: any): number; + Future<void> startDeviceTest(int hwnd); +

    详情 -

    该方法用于测试当前视频采集设备是否工作正常,使用前需保证已调用过 ,且输入视频的 HWND 有效。

    +

    该方法用于测试当前视频采集设备是否工作正常,使用前需保证已调用过 ,且输入视频的 HWND 有效。

    参数 - - hwnd - 显示图像的窗口句柄。 - -
    + + hwnd + 显示图像的窗口句柄。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ivideodevicemanager_stopdevicetest.dita b/dita/RTC-NG/API/api_ivideodevicemanager_stopdevicetest.dita index 98fb64b4579..3998a8c397e 100644 --- a/dita/RTC-NG/API/api_ivideodevicemanager_stopdevicetest.dita +++ b/dita/RTC-NG/API/api_ivideodevicemanager_stopdevicetest.dita @@ -1,33 +1,37 @@ - <ph keyref="stopDeviceTest" /> + <ph keyref="stopDeviceTest"/> 停止视频采集设备测试。 - +

    - - - virtual int stopDeviceTest() = 0; - abstract stopDeviceTest(): number; - public abstract int StopDeviceTest(); - abstract stopDeviceTest(): number; - Future<void> stopDeviceTest(); -

    + + + virtual int stopDeviceTest() = 0; + abstract stopDeviceTest(): number; + public abstract int StopDeviceTest(); + abstract stopDeviceTest(): number; + Future<void> stopDeviceTest(); +

    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_ivideosink_getbuffertype.dita b/dita/RTC-NG/API/api_ivideosink_getbuffertype.dita index 424efb27a0a..e48d8b2c633 100644 --- a/dita/RTC-NG/API/api_ivideosink_getbuffertype.dita +++ b/dita/RTC-NG/API/api_ivideosink_getbuffertype.dita @@ -2,7 +2,8 @@ ivideosink_getbuffertype - + @@ -13,33 +14,34 @@

    - - - - - - - -

    + + + + + + + +

    详情
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_ivideosink_getpixelformat.dita b/dita/RTC-NG/API/api_ivideosink_getpixelformat.dita index 3a209911bbe..b43d49fc301 100644 --- a/dita/RTC-NG/API/api_ivideosink_getpixelformat.dita +++ b/dita/RTC-NG/API/api_ivideosink_getpixelformat.dita @@ -2,7 +2,8 @@ ivideosink_getpixelformat - + @@ -13,33 +14,34 @@

    - - - - - - - -

    + + + + + + + +

    详情
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC-NG/API/api_livetranscoding_addbackgroundimage.dita b/dita/RTC-NG/API/api_livetranscoding_addbackgroundimage.dita index dd664f9ab4c..c635c571599 100644 --- a/dita/RTC-NG/API/api_livetranscoding_addbackgroundimage.dita +++ b/dita/RTC-NG/API/api_livetranscoding_addbackgroundimage.dita @@ -13,19 +13,19 @@

    - public void addBackgroundImage(AgoraImage backgroundImage) { + public void addBackgroundImage(AgoraImage backgroundImage) { if (backgroundImageList == null) { backgroundImageList = new ArrayList<AgoraImage>(); } backgroundImageList.add(backgroundImage); } - - - - - - -

    + + + + + + +

    详情 @@ -35,10 +35,11 @@
    参数 - - backgroundImage - 直播视频上的背景图。必须为 PNG 格式。详见 - -
    + + backgroundImage + 直播视频上的背景图。必须为 PNG 格式。详见 + + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_adduser.dita b/dita/RTC-NG/API/api_livetranscoding_adduser.dita index 6e7f9657c76..28b89bb2dca 100644 --- a/dita/RTC-NG/API/api_livetranscoding_adduser.dita +++ b/dita/RTC-NG/API/api_livetranscoding_adduser.dita @@ -13,32 +13,35 @@

    - public int addUser(TranscodingUser user) { + public int addUser(TranscodingUser user) { if (user == null || user.uid == 0) { return -Constants.ERR_INVALID_ARGUMENT; } - + - (int)addUser:(AgoraLiveTranscodingUser* _Nonnull)user; - - - - - -

    + + + + + +

    参数 - - user - 参与合图的用户,详见 - -
    + + user + 参与合图的用户,详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_addwatermark.dita b/dita/RTC-NG/API/api_livetranscoding_addwatermark.dita index 653fedf2bff..cd56b399096 100644 --- a/dita/RTC-NG/API/api_livetranscoding_addwatermark.dita +++ b/dita/RTC-NG/API/api_livetranscoding_addwatermark.dita @@ -13,19 +13,19 @@

    - public void addWatermark(AgoraImage watermark) { + public void addWatermark(AgoraImage watermark) { if (watermarkList == null) { watermarkList = new ArrayList<AgoraImage>(); } watermarkList.add(watermark); } - - - - - - -

    + + + + + + +

    详情 @@ -35,10 +35,11 @@
    参数 - - watermark - 直播视频上的水印。必须为 PNG 格式。详见 - -
    + + watermark + 直播视频上的水印。必须为 PNG 格式。详见 + + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_defaulttranscoding.dita b/dita/RTC-NG/API/api_livetranscoding_defaulttranscoding.dita index f8c433aeef8..56160dda11e 100644 --- a/dita/RTC-NG/API/api_livetranscoding_defaulttranscoding.dita +++ b/dita/RTC-NG/API/api_livetranscoding_defaulttranscoding.dita @@ -13,14 +13,14 @@

    - - + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding; - - - - - -

    + + + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding; + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_livetranscoding_getadvancedfeatures.dita b/dita/RTC-NG/API/api_livetranscoding_getadvancedfeatures.dita index ad59bbea87d..220879749a9 100644 --- a/dita/RTC-NG/API/api_livetranscoding_getadvancedfeatures.dita +++ b/dita/RTC-NG/API/api_livetranscoding_getadvancedfeatures.dita @@ -13,16 +13,16 @@

    - public Map<String, Boolean> getAdvancedFeatures() { + public Map<String, Boolean> getAdvancedFeatures() { return advancedFeatures; } - - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures; - - - - - -

    + - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures; + + + + + +

    详情 @@ -30,7 +30,9 @@
    返回值 -

    高级功能名称和该功能的开/关状态。详见 高级功能的名称,包含 LBHQ(低码率的高清视频功能)和 VEO(优化的视频编码器功能)以及该功能的开/关状态。

    +

    高级功能名称和该功能的开/关状态。详见 高级功能的名称,包含 LBHQ(低码率的高清视频功能)和 + VEO(优化的视频编码器功能)以及该功能的开/关状态。

    diff --git a/dita/RTC-NG/API/api_livetranscoding_getbackgroundcolor.dita b/dita/RTC-NG/API/api_livetranscoding_getbackgroundcolor.dita index 841a8d0d3be..1cbf219aebc 100644 --- a/dita/RTC-NG/API/api_livetranscoding_getbackgroundcolor.dita +++ b/dita/RTC-NG/API/api_livetranscoding_getbackgroundcolor.dita @@ -13,16 +13,16 @@

    - public int getBackgroundColor() { + public int getBackgroundColor() { return this.backgroundColor; } - - - - - - -

    + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_livetranscoding_getbackgroundimagelist.dita b/dita/RTC-NG/API/api_livetranscoding_getbackgroundimagelist.dita index c89a98782be..2b315cd17dd 100644 --- a/dita/RTC-NG/API/api_livetranscoding_getbackgroundimagelist.dita +++ b/dita/RTC-NG/API/api_livetranscoding_getbackgroundimagelist.dita @@ -13,16 +13,16 @@

    - public ArrayList<AgoraImage> getBackgroundImageList() { + public ArrayList<AgoraImage> getBackgroundImageList() { return backgroundImageList; } - - - - - - -

    + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_livetranscoding_getblue.dita b/dita/RTC-NG/API/api_livetranscoding_getblue.dita index 8da60ff3b3a..d9386d114e8 100644 --- a/dita/RTC-NG/API/api_livetranscoding_getblue.dita +++ b/dita/RTC-NG/API/api_livetranscoding_getblue.dita @@ -13,25 +13,25 @@

    - @Deprecated + @Deprecated public int getBlue() { return backgroundColor & 0x0ff; } - - - - - - -

    + + + + + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。
    -
    + +
    弃用:
    +
    该方法已废弃。
    +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_getgreen.dita b/dita/RTC-NG/API/api_livetranscoding_getgreen.dita index d10ae421b33..d54d86f29f0 100644 --- a/dita/RTC-NG/API/api_livetranscoding_getgreen.dita +++ b/dita/RTC-NG/API/api_livetranscoding_getgreen.dita @@ -13,25 +13,25 @@

    - @Deprecated + @Deprecated public int getGreen() { return (backgroundColor >> 8) & 0x0ff; } - - - - - - -

    + + + + + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。
    -
    + +
    弃用:
    +
    该方法已废弃。
    +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_getred.dita b/dita/RTC-NG/API/api_livetranscoding_getred.dita index b7502172f36..721f68986ff 100644 --- a/dita/RTC-NG/API/api_livetranscoding_getred.dita +++ b/dita/RTC-NG/API/api_livetranscoding_getred.dita @@ -13,25 +13,25 @@

    - @Deprecated + @Deprecated public int getRed() { return (backgroundColor >> 16) & 0x0ff; } - - - - - - -

    + + + + + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。
    -
    + +
    弃用:
    +
    该方法已废弃。
    +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_getusercount.dita b/dita/RTC-NG/API/api_livetranscoding_getusercount.dita index 0b7c320ad36..51f78fa0680 100644 --- a/dita/RTC-NG/API/api_livetranscoding_getusercount.dita +++ b/dita/RTC-NG/API/api_livetranscoding_getusercount.dita @@ -13,16 +13,16 @@

    - public int getUserCount() { + public int getUserCount() { return transcodingUsers.size(); } - - - - - - -

    + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_livetranscoding_getusers.dita b/dita/RTC-NG/API/api_livetranscoding_getusers.dita index d1d0fe50747..ef5aa837f53 100644 --- a/dita/RTC-NG/API/api_livetranscoding_getusers.dita +++ b/dita/RTC-NG/API/api_livetranscoding_getusers.dita @@ -13,17 +13,17 @@

    - public final ArrayList<TranscodingUser> getUsers() { + public final ArrayList<TranscodingUser> getUsers() { Collection<TranscodingUser> values = transcodingUsers.values(); return new ArrayList<>(values); } - - - - - - -

    + + + + + + +

    详情 diff --git a/dita/RTC-NG/API/api_livetranscoding_getwatermarklist.dita b/dita/RTC-NG/API/api_livetranscoding_getwatermarklist.dita index 4cb8082c9b8..94a271d8ee8 100644 --- a/dita/RTC-NG/API/api_livetranscoding_getwatermarklist.dita +++ b/dita/RTC-NG/API/api_livetranscoding_getwatermarklist.dita @@ -13,16 +13,16 @@

    - public ArrayList<AgoraImage> getWatermarkList() { + public ArrayList<AgoraImage> getWatermarkList() { return watermarkList; } - - - - - - -

    + + + + + + +

    返回值 diff --git a/dita/RTC-NG/API/api_livetranscoding_removebackgroundimage.dita b/dita/RTC-NG/API/api_livetranscoding_removebackgroundimage.dita index afc2d1b0912..587cc640937 100644 --- a/dita/RTC-NG/API/api_livetranscoding_removebackgroundimage.dita +++ b/dita/RTC-NG/API/api_livetranscoding_removebackgroundimage.dita @@ -13,19 +13,19 @@

    - public boolean removeBackgroundImage(AgoraImage backgroundImage) { + public boolean removeBackgroundImage(AgoraImage backgroundImage) { if (backgroundImageList == null) { return false; } return backgroundImageList.remove(backgroundImage); } - - - - - - -

    + + + + + + +

    详情 @@ -34,17 +34,19 @@
    参数 - - - - -
    + + + + + +
    返回值

    是否成功删除背景图:

      -
    • :成功。
    • -
    • :失败。
    • -
    +
  • :成功。
  • +
  • :失败。
  • + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_removeuser.dita b/dita/RTC-NG/API/api_livetranscoding_removeuser.dita index 5736afddf99..20ec7a3c0f2 100644 --- a/dita/RTC-NG/API/api_livetranscoding_removeuser.dita +++ b/dita/RTC-NG/API/api_livetranscoding_removeuser.dita @@ -13,7 +13,7 @@

    - public int removeUser(int uid) { + public int removeUser(int uid) { if (!transcodingUsers.containsKey(uid)) return -Constants.ERR_INVALID_ARGUMENT; @@ -21,27 +21,30 @@ userCount = transcodingUsers.size(); return Constants.ERR_OK; } - - (int)removeUser:(NSUInteger)uid; - - - - - -

    + - (int)removeUser:(NSUInteger)uid; + + + + + +

    参数 - - uid - 待删除的用户 ID。 - -
    + + uid + 待删除的用户 ID。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_removewatermark.dita b/dita/RTC-NG/API/api_livetranscoding_removewatermark.dita index c1f2f816409..206bca2cd3d 100644 --- a/dita/RTC-NG/API/api_livetranscoding_removewatermark.dita +++ b/dita/RTC-NG/API/api_livetranscoding_removewatermark.dita @@ -13,19 +13,19 @@

    - public boolean removeWatermark(AgoraImage watermark) { + public boolean removeWatermark(AgoraImage watermark) { if (watermarkList == null) { return false; } return watermarkList.remove(watermark); } - - - - - - -

    + + + + + + +

    详情 @@ -34,18 +34,18 @@
    参数 - - - - -
    + + + + + +
    返回值 -

    是否成功删除水印: -

      -
    • :成功删除水印。
    • -
    • :删除水印失败。
    • -

    +

    是否成功删除水印:

      +
    • :成功删除水印。
    • +
    • :删除水印失败。
    • +

    diff --git a/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita b/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita index 3531f49bc97..d09ce023585 100644 --- a/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita +++ b/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita @@ -13,16 +13,16 @@

    - public void setAdvancedFeatures(String featureName, Boolean opened) { + public void setAdvancedFeatures(String featureName, Boolean opened) { advancedFeatures.put(featureName, opened); } - - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened; - - - - - -

    + - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened; + + + + + +

    详情 @@ -31,20 +31,19 @@
    参数 - - featureName - 转码推流高级功能的名称,包含 LBHQ(低码率的高清视频功能)和 VEO(优化的视频编码器功能)。 - - - opened - 是否启用转码推流的高级功能: - - -
      -
    • :开启转码推流的高级功能。
    • -
    • :(默认)关闭转码推流的高级功能。
    • -
    -
    -
    + + featureName + 转码推流高级功能的名称,包含 LBHQ(低码率的高清视频功能)和 VEO(优化的视频编码器功能)。 + + + opened + 是否启用转码推流的高级功能:
      +
    • :开启转码推流的高级功能。
    • +
    • :(默认)关闭转码推流的高级功能。
    • +
    +
    +
    + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor.dita b/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor.dita index 821118c669b..047817f7ae8 100644 --- a/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor.dita +++ b/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor.dita @@ -13,24 +13,26 @@

    - public void setBackgroundColor(int color) { + public void setBackgroundColor(int color) { this.backgroundColor = color; } - - - - - - -

    + + + + + + +

    参数 - - color - 用于旁路直播的输出视频的背景色,格式为 RGB 定义下的 Hex 值,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 0x000000,黑色。 - -
    + + color + 用于旁路直播的输出视频的背景色,格式为 RGB 定义下的 Hex 值,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 + 0x000000,黑色。 + + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor2.dita b/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor2.dita index 98138522ec5..16f5faec9c0 100644 --- a/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor2.dita +++ b/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor2.dita @@ -13,32 +13,33 @@

    - public void setBackgroundColor(int red, int green, int blue) { + public void setBackgroundColor(int red, int green, int blue) { this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } - - - - - - -

    + + + + + + +

    参数 - - red - 红。 - - - green - 绿。 - - - blue - 蓝。 - -
    + + red + 红。 + + + green + 绿。 + + + blue + 蓝。 + + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_setblue.dita b/dita/RTC-NG/API/api_livetranscoding_setblue.dita index 6a558e204df..56dc0ae2f24 100644 --- a/dita/RTC-NG/API/api_livetranscoding_setblue.dita +++ b/dita/RTC-NG/API/api_livetranscoding_setblue.dita @@ -13,36 +13,37 @@

    - @Deprecated + @Deprecated public void setBlue(int blue) { int red = getRed(); int green = getGreen(); this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } - - - - - - -

    + + + + + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。
    -
    + +
    弃用:
    +
    该方法已废弃。
    +
    参数 - - blue - 背景蓝色分量。 - -
    + + blue + 背景蓝色分量。 + + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_setgreen.dita b/dita/RTC-NG/API/api_livetranscoding_setgreen.dita index de93a33edba..0a38387ed10 100644 --- a/dita/RTC-NG/API/api_livetranscoding_setgreen.dita +++ b/dita/RTC-NG/API/api_livetranscoding_setgreen.dita @@ -13,36 +13,37 @@

    - @Deprecated + @Deprecated public void setGreen(int green) { int red = getRed(); int blue = getBlue(); this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } - - - - - - -

    + + + + + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。
    -
    + +
    弃用:
    +
    该方法已废弃。
    +
    参数 - - green - 背景绿色分量。 - -
    + + green + 背景绿色分量。 + + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_setred.dita b/dita/RTC-NG/API/api_livetranscoding_setred.dita index cfc3cfcbd3d..8ab0fc9e00e 100644 --- a/dita/RTC-NG/API/api_livetranscoding_setred.dita +++ b/dita/RTC-NG/API/api_livetranscoding_setred.dita @@ -13,36 +13,37 @@

    - @Deprecated + @Deprecated public void setRed(int red) { int green = getGreen(); int blue = getBlue(); this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } - - - - - - -

    + + + + + + +

    详情
    - -
    弃用:
    -
    该方法已废弃。
    -
    + +
    弃用:
    +
    该方法已废弃。
    +
    参数 - - red - 背景红色分量。 - -
    + + red + 背景红色分量。 + + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_setusers.dita b/dita/RTC-NG/API/api_livetranscoding_setusers.dita index b4376a9bba7..dfa25612776 100644 --- a/dita/RTC-NG/API/api_livetranscoding_setusers.dita +++ b/dita/RTC-NG/API/api_livetranscoding_setusers.dita @@ -13,7 +13,7 @@

    - public void setUsers(ArrayList<TranscodingUser> users) { + public void setUsers(ArrayList<TranscodingUser> users) { transcodingUsers.clear(); if (users != null) { for (TranscodingUser user : users) { @@ -22,25 +22,27 @@ } userCount = transcodingUsers.size(); } - - - - - - -

    + + + + + + +

    详情 -

    该方法用于设置参与合图的全部用户。该方法会使用新的 TranscodingUser 数据替换原有的数据。

    +

    该方法用于设置参与合图的全部用户。该方法会使用新的 TranscodingUser + 数据替换原有的数据。

    参数 - - users - 所有参与合图的用户,定义详见 - -
    + + users + 所有参与合图的用户,定义详见 + + +
    diff --git a/dita/RTC-NG/API/api_livetranscoding_setusers2.dita b/dita/RTC-NG/API/api_livetranscoding_setusers2.dita index 6a2d0cf24b8..0f9af2ba4db 100644 --- a/dita/RTC-NG/API/api_livetranscoding_setusers2.dita +++ b/dita/RTC-NG/API/api_livetranscoding_setusers2.dita @@ -13,7 +13,7 @@

    - public void setUsers(Map<Integer, TranscodingUser> users) { + public void setUsers(Map<Integer, TranscodingUser> users) { transcodingUsers.clear(); if (users != null) { transcodingUsers.putAll(users); @@ -21,13 +21,13 @@ userCount = transcodingUsers.size(); } - - - - - - -

    + + + + + + +

    详情 @@ -36,10 +36,11 @@
    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/api_mediaplayercontroller_initialize.dita b/dita/RTC-NG/API/api_mediaplayercontroller_initialize.dita index 6259a4f0614..f8d33555245 100644 --- a/dita/RTC-NG/API/api_mediaplayercontroller_initialize.dita +++ b/dita/RTC-NG/API/api_mediaplayercontroller_initialize.dita @@ -1,37 +1,38 @@ - <ph keyref="initialize_MediaPlayerController" /> - 创建一个 + <ph keyref="initialize_MediaPlayerController"/> + 创建一个 - +

    - - - - - - - Future<void> initialize(); -

    + + + + + + + Future<void> initialize(); +

    详情

      -
    • 该方法需要在初始化 对象后调用。
    • -
    • 请确保在调用其他 中的 API 前先调用该方法。
    • +
    • 该方法需要在初始化 对象后调用。
    • +
    • 请确保在调用其他 中的 API 前先调用该方法。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_monitordevicechange.dita b/dita/RTC-NG/API/api_monitordevicechange.dita index ee70bb26935..c18b0cdbd3b 100644 --- a/dita/RTC-NG/API/api_monitordevicechange.dita +++ b/dita/RTC-NG/API/api_monitordevicechange.dita @@ -13,32 +13,33 @@

    - - - (void)monitorDeviceChange:(BOOL)enabled; - virtual int enableLoopbackRecording(bool enabled) = 0; - - - - -

    + + - (void)monitorDeviceChange:(BOOL)enabled; + virtual int enableLoopbackRecording(bool enabled) = 0; + + + + +

    详情

    该方法用来开启设备插拔监测,这里设备指的是音视频外接设备,比如外接摄像头等。

    -

    该方法仅适用于 macOS 平台。

    -
    +

    该方法仅适用于 macOS 平台。

    + +
    参数 - - enabled - 是否开启监测: -
      -
    • : 开启。
    • -
    • : 关闭。
    • -
    -
    -
    + + enabled + 是否开启监测:
      +
    • : 开启。
    • +
    • : 关闭。
    • +
    +
    + +
    diff --git a/dita/RTC-NG/API/api_musicchartcollection_get.dita b/dita/RTC-NG/API/api_musicchartcollection_get.dita index 8370c3599d0..edf7dc015ec 100644 --- a/dita/RTC-NG/API/api_musicchartcollection_get.dita +++ b/dita/RTC-NG/API/api_musicchartcollection_get.dita @@ -13,32 +13,35 @@

    - - - virtual MusicChartInfo* get(int index) = 0; - abstract get(index: number): MusicChartInfo; - - abstract get(index: number): MusicChartInfo; - Future<MusicChartInfo> get(int index); -

    + + + virtual MusicChartInfo* get(int index) = 0; + abstract get(index: number): MusicChartInfo; + + abstract get(index: number): MusicChartInfo; + Future<MusicChartInfo> get(int index); + +

    - 详情
    - -
    自从
    -
    v4.1.0
    -
    + 详情 +
    + +
    自从
    +
    v4.1.0
    +

    参数 - - index - 数组的索引。 - -
    + + index + 数组的索引。 + + +
    返回值

    ,包含音乐榜单的详细信息。

    diff --git a/dita/RTC-NG/API/api_musicchartcollection_getcount.dita b/dita/RTC-NG/API/api_musicchartcollection_getcount.dita index 0ca0004dfd5..b102509316f 100644 --- a/dita/RTC-NG/API/api_musicchartcollection_getcount.dita +++ b/dita/RTC-NG/API/api_musicchartcollection_getcount.dita @@ -13,22 +13,22 @@

    - - - virtual int getCount() = 0; - abstract getCount(): number; - - abstract getCount(): number; - Future<int> getCount(); -

    + + + virtual int getCount() = 0; + abstract getCount(): number; + + abstract getCount(): number; + Future<int> getCount(); +

    详情
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    diff --git a/dita/RTC-NG/API/api_musiccollection_getcount.dita b/dita/RTC-NG/API/api_musiccollection_getcount.dita index 8f57981eb8f..2f028ac59d4 100644 --- a/dita/RTC-NG/API/api_musiccollection_getcount.dita +++ b/dita/RTC-NG/API/api_musiccollection_getcount.dita @@ -13,21 +13,22 @@

    - - - virtual int getCount() = 0; - abstract getCount(): number; - - abstract getCount(): number; - int getCount(); -

    + + + virtual int getCount() = 0; + abstract getCount(): number; + + abstract getCount(): number; + int getCount(); +

    - 详情
    - -
    自从
    -
    v4.1.0
    -
    + 详情 +
    + +
    自从
    +
    v4.1.0
    +
    diff --git a/dita/RTC-NG/API/api_musiccollection_getmusic.dita b/dita/RTC-NG/API/api_musiccollection_getmusic.dita index ea3d690debe..6f44ca29a71 100644 --- a/dita/RTC-NG/API/api_musiccollection_getmusic.dita +++ b/dita/RTC-NG/API/api_musiccollection_getmusic.dita @@ -13,21 +13,22 @@

    - - - virtual Music* getMusic(int32_t index) = 0; - abstract getMusic(index: number): Music; - - abstract getMusic(index: number): Music; - Music getMusic(int index); -

    + + + virtual Music* getMusic(int32_t index) = 0; + abstract getMusic(index: number): Music; + + abstract getMusic(index: number): Music; + Music getMusic(int index); +

    - 详情
    - -
    自从
    -
    v4.1.0
    -
    + 详情 +
    + +
    自从
    +
    v4.1.0
    +
    diff --git a/dita/RTC-NG/API/api_musiccollection_getpage.dita b/dita/RTC-NG/API/api_musiccollection_getpage.dita index 2d779213d2d..8a6a06767e4 100644 --- a/dita/RTC-NG/API/api_musiccollection_getpage.dita +++ b/dita/RTC-NG/API/api_musiccollection_getpage.dita @@ -13,20 +13,21 @@

    - - - virtual int getPage() = 0; - abstract getPage(): number; - - abstract getPage(): number; - int getPage();

    + + + virtual int getPage() = 0; + abstract getPage(): number; + + abstract getPage(): number; + int getPage();

    - 详情
    - -
    自从
    -
    v4.1.0
    -
    + 详情 +
    + +
    自从
    +
    v4.1.0
    +

    diff --git a/dita/RTC-NG/API/api_musiccollection_getpagesize.dita b/dita/RTC-NG/API/api_musiccollection_getpagesize.dita index 4e0ef3d876c..316a1a71d68 100644 --- a/dita/RTC-NG/API/api_musiccollection_getpagesize.dita +++ b/dita/RTC-NG/API/api_musiccollection_getpagesize.dita @@ -13,21 +13,22 @@

    - - - virtual int getPageSize() = 0; - virtual int getPageSize() = 0; - - virtual int getPageSize() = 0; - int getPageSize(); -

    + + + virtual int getPageSize() = 0; + virtual int getPageSize() = 0; + + virtual int getPageSize() = 0; + int getPageSize(); +

    - 详情
    - -
    自从
    -
    v4.1.0
    -
    + 详情 +
    + +
    自从
    +
    v4.1.0
    +
    diff --git a/dita/RTC-NG/API/api_musiccollection_gettotal.dita b/dita/RTC-NG/API/api_musiccollection_gettotal.dita index 5958958630d..847699bcd34 100644 --- a/dita/RTC-NG/API/api_musiccollection_gettotal.dita +++ b/dita/RTC-NG/API/api_musiccollection_gettotal.dita @@ -13,21 +13,22 @@

    - - - virtual int getTotal() = 0; - abstract getTotal(): number; - - abstract getTotal(): number; - int getTotal(); -

    + + + virtual int getTotal() = 0; + abstract getTotal(): number; + + abstract getTotal(): number; + int getTotal(); +

    - 详情
    - -
    自从
    -
    v4.1.0
    -
    + 详情 +
    + +
    自从
    +
    v4.1.0
    +

    diff --git a/dita/RTC-NG/API/api_registereventhandler.dita b/dita/RTC-NG/API/api_registereventhandler.dita index d50a019a81f..1ee156314dc 100644 --- a/dita/RTC-NG/API/api_registereventhandler.dita +++ b/dita/RTC-NG/API/api_registereventhandler.dita @@ -2,43 +2,45 @@ registerEventHandler - + - +
    - - - - - - - There are no corresponding names available
    + + + + + + + There are no corresponding names available +
    详情
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +
    -

    +

    参数 - - - - -
    + + + + + +
    返回值
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_rtc_local_view_surfaceview.dita b/dita/RTC-NG/API/api_rtc_local_view_surfaceview.dita index 734cb52b99c..b53b7cfa421 100644 --- a/dita/RTC-NG/API/api_rtc_local_view_surfaceview.dita +++ b/dita/RTC-NG/API/api_rtc_local_view_surfaceview.dita @@ -13,60 +13,61 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    diff --git a/dita/RTC-NG/API/api_rtc_local_view_surfaceview_screen.dita b/dita/RTC-NG/API/api_rtc_local_view_surfaceview_screen.dita index 9157b427a6e..ab0c8f0c317 100644 --- a/dita/RTC-NG/API/api_rtc_local_view_surfaceview_screen.dita +++ b/dita/RTC-NG/API/api_rtc_local_view_surfaceview_screen.dita @@ -13,38 +13,39 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC-NG/API/api_rtc_local_view_textureview.dita b/dita/RTC-NG/API/api_rtc_local_view_textureview.dita index 3ea3cf149d7..175d3b3082f 100644 --- a/dita/RTC-NG/API/api_rtc_local_view_textureview.dita +++ b/dita/RTC-NG/API/api_rtc_local_view_textureview.dita @@ -13,52 +13,53 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + +

    diff --git a/dita/RTC-NG/API/api_rtc_local_view_textureview_screen.dita b/dita/RTC-NG/API/api_rtc_local_view_textureview_screen.dita index 041e3fa04ed..cf8e9b1e2d3 100644 --- a/dita/RTC-NG/API/api_rtc_local_view_textureview_screen.dita +++ b/dita/RTC-NG/API/api_rtc_local_view_textureview_screen.dita @@ -13,42 +13,43 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - - - - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC-NG/API/api_rtc_remote_view_surfaceview.dita b/dita/RTC-NG/API/api_rtc_remote_view_surfaceview.dita index f3614b62d03..b98d8e7ca0f 100644 --- a/dita/RTC-NG/API/api_rtc_remote_view_surfaceview.dita +++ b/dita/RTC-NG/API/api_rtc_remote_view_surfaceview.dita @@ -13,60 +13,61 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dita/RTC-NG/API/api_rtc_remote_view_textureview.dita b/dita/RTC-NG/API/api_rtc_remote_view_textureview.dita index 318e9be3835..8d1d13318bc 100644 --- a/dita/RTC-NG/API/api_rtc_remote_view_textureview.dita +++ b/dita/RTC-NG/API/api_rtc_remote_view_textureview.dita @@ -13,56 +13,57 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + + diff --git a/dita/RTC-NG/API/api_rtc_render_view_rtcsurfaceview.dita b/dita/RTC-NG/API/api_rtc_render_view_rtcsurfaceview.dita index 9e266673ea7..1f9a6a0143d 100644 --- a/dita/RTC-NG/API/api_rtc_render_view_rtcsurfaceview.dita +++ b/dita/RTC-NG/API/api_rtc_render_view_rtcsurfaceview.dita @@ -13,75 +13,69 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - key - WidgetElementSemanticsNode 的标识符。详见 Flutter 官方文档关于 key 对象的描述。 - - - uid - 用户 ID。 - - - channelId - -

    - - - - renderMode - 视频渲染模式,详见 - - - mirrorMode - 视频镜像模式,详见 。 -

    -

      -
    • -

    -
    -
    - - zOrderOnTop - 是否将当前画面放置在当前窗口的另一个图层上。 - 该参数仅适用于 Android。 - - - zOrderMediaOverlay - 是否将 SurfaceView 视图的表层置于窗口中另一个 SurfaceView 的上层 (但依然位于窗口的下层)。 - - - - - - - - - 该参数仅适用于 Android。 - - - onPlatformViewCreated - 平台视图被创建时会触发该事件。 - - - gestureRecognizers - Gesture 对象。 - - - subProcess - 是否创建一个子进程。 - -
    + + key + WidgetElement 和 + SemanticsNode 的标识符。详见 Flutter 官方文档关于 + key 对象的描述。 + + + uid + 用户 ID。 + + + channelId + +

    + + + + renderMode + 视频渲染模式,详见 + + + mirrorMode + 视频镜像模式,详见

    +

      +
    • +
    +

    +
    +
    + + zOrderOnTop + 是否将当前画面放置在当前窗口的另一个图层上。 该参数仅适用于 Android。 + + + zOrderMediaOverlay + 是否将 SurfaceView 视图的表层置于窗口中另一个 SurfaceView 的上层 (但依然位于窗口的下层)。 该参数仅适用于 Android。 + + + onPlatformViewCreated + 平台视图被创建时会触发该事件。 + + + gestureRecognizers + Gesture 对象。 + + + subProcess + 是否创建一个子进程。 + + +
    diff --git a/dita/RTC-NG/API/api_rtc_render_view_rtctextureview.dita b/dita/RTC-NG/API/api_rtc_render_view_rtctextureview.dita index e1dfba4e0b1..b6d703eb8b5 100644 --- a/dita/RTC-NG/API/api_rtc_render_view_rtctextureview.dita +++ b/dita/RTC-NG/API/api_rtc_render_view_rtctextureview.dita @@ -13,56 +13,57 @@

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + + diff --git a/dita/RTC-NG/API/api_rtcengineext_getassetabsolutepath.dita b/dita/RTC-NG/API/api_rtcengineext_getassetabsolutepath.dita index 9d4fd4ff461..050a7112dde 100644 --- a/dita/RTC-NG/API/api_rtcengineext_getassetabsolutepath.dita +++ b/dita/RTC-NG/API/api_rtcengineext_getassetabsolutepath.dita @@ -1,37 +1,38 @@ - <ph keyref="getAssetAbsolutePath" /> + <ph keyref="getAssetAbsolutePath"/> 通过 Asset 的相对规路径获取该 Asset 的实际绝对路径。 - +

    - - - - - - Future<String?> getAssetAbsolutePath(String assetPath) -

    + + + + + + Future<String?> getAssetAbsolutePath(String assetPath) +

    参数 - - assetPath - pubspec.yaml 文件中配置的 flutter -> assets 字段。 - -
    + + assetPath + pubspec.yaml 文件中配置的 flutter -> assets 字段。 + + +
    返回值

    Asset 的实际路径。

    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_videosurface_enablefilptextureapply.dita b/dita/RTC-NG/API/api_videosurface_enablefilptextureapply.dita index 07b98a900c5..4838b7a4a67 100644 --- a/dita/RTC-NG/API/api_videosurface_enablefilptextureapply.dita +++ b/dita/RTC-NG/API/api_videosurface_enablefilptextureapply.dita @@ -2,8 +2,7 @@ <ph keyref="enableFilpTextureApply"/> - 在渲染时,开启/关闭 Texture 的镜像。 + 在渲染时,开启/关闭 Texture 的镜像。 @@ -14,11 +13,11 @@

    - - - - - public void EnableFilpTextureApply(bool flipX, bool flipY) + + + + + public void EnableFilpTextureApply(bool flipX, bool flipY) { if (FlipX != flipX) { @@ -34,44 +33,39 @@ FlipY = flipY; } } - - -

    + + +

    详情 -
      -
    • 确保在主线程中调用此方法。
    • -
    • 确保在绑定 VideoSurface.cs 前调用此方法。
    • -
    +
      +
    • 确保在主线程中调用此方法。
    • +
    • 确保在绑定 VideoSurface.cs 前调用此方法。
    • +
    + +
    参数 - - flipX - 是否开启 Texture 在水平方向的镜像: - - - - -
      -
    • :开启
    • -
    • :(默认)不开启
    • -
    -
    - - flipY - 是否开启 Texture 在垂直方向的镜像: - - - - -
      -
    • :开启
    • -
    • :(默认)不开启
    • -
    -
    -
    + + flipX + 是否开启 Texture 在水平方向的镜像:
      +
    • :开启
    • +
    • :(默认)不开启
    • +
    +
    +
    + + flipY + 是否开启 Texture 在垂直方向的镜像:
      +
    • :开启
    • +
    • :(默认)不开启
    • +
    +
    +
    + +
    diff --git a/dita/RTC-NG/API/api_videosurface_setenable.dita b/dita/RTC-NG/API/api_videosurface_setenable.dita index 7e8dd2020b8..5d410e43665 100644 --- a/dita/RTC-NG/API/api_videosurface_setenable.dita +++ b/dita/RTC-NG/API/api_videosurface_setenable.dita @@ -1,42 +1,44 @@ - <ph keyref="setEnable" /> + <ph keyref="setEnable"/> 开始/停止视频渲染。 - +

    - - - - - public void SetEnable(bool enable) + + + + + public void SetEnable(bool enable) { Enable = enable; } - -

    + + +

    参数 - - enable - 是否开始视频渲染。 -

    -

      -
    • :(默认)开启
    • -
    • :不开启
    • -

    -
    -
    -
    + + enable + 是否开始视频渲染。

    +

      +
    • :(默认)开启
    • +
    • :不开启
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/api_videosurface_setforuser.dita b/dita/RTC-NG/API/api_videosurface_setforuser.dita index ec2dd8804d4..8548e283e84 100644 --- a/dita/RTC-NG/API/api_videosurface_setforuser.dita +++ b/dita/RTC-NG/API/api_videosurface_setforuser.dita @@ -1,54 +1,57 @@ - <ph keyref="setForUser" /> + <ph keyref="setForUser"/> 设置本地/远端视频显示。 - +

    - - - - - public void SetForUser(uint uid = 0, string channelId = "", + + + + + public void SetForUser(uint uid = 0, string channelId = "", VIDEO_SOURCE_TYPE source_type = VIDEO_SOURCE_TYPE.VIDEO_SOURCE_CAMERA_PRIMARY) { Uid = uid; ChannelId = channelId; SourceType = source_type; } - -

    + + +

    详情 -
      -
    • 确保在主线程中调用此方法。
    • -
    • 确保在绑定 VideoSurface.cs 前调用此方法。
    • -
    +
      +
    • 确保在主线程中调用此方法。
    • +
    • 确保在绑定 VideoSurface.cs 前调用此方法。
    • +
    +
    参数 - - uid - 远端用户的 ID,通过 获得。默认值为 0,表示可以看到本地视频。 - - - channelId - 频道 ID。 - - - source_type - 视频流类型,详见 - -
    + + uid + 远端用户的 ID,通过 获得。默认值为 0,表示可以看到本地视频。 + + + channelId + 频道 ID。 + + + source_type + 视频流类型,详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_agorartcmediaplayervideoframedelegate_agorartcmediaplayergetvideopixelformat.dita b/dita/RTC-NG/API/callback_agorartcmediaplayervideoframedelegate_agorartcmediaplayergetvideopixelformat.dita index 2f18cc25b4d..f30fe4dcfc4 100644 --- a/dita/RTC-NG/API/callback_agorartcmediaplayervideoframedelegate_agorartcmediaplayergetvideopixelformat.dita +++ b/dita/RTC-NG/API/callback_agorartcmediaplayervideoframedelegate_agorartcmediaplayergetvideopixelformat.dita @@ -1,6 +1,7 @@ - + <ph keyref="AgoraRtcMediaPlayerGetVideoPixelFormat"/> 设置媒体播放器输出的原始视频数据格式。 @@ -13,22 +14,24 @@

    - - - (AgoraVideoFormat)AgoraRtcMediaPlayerGetVideoPixelFormat NS_SWIFT_NAME(AgoraRtcMediaPlayerGetVideoPixelFormat()); - - - - - -

    + + - (AgoraVideoFormat)AgoraRtcMediaPlayerGetVideoPixelFormat NS_SWIFT_NAME(AgoraRtcMediaPlayerGetVideoPixelFormat()); + + + + + + +

    -

    你需要在调用 方法时注册该回调。成功注册后,媒体播放器会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置期望的视频数据格式。

    +

    你需要在调用 + 方法时注册该回调。成功注册后,媒体播放器会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置期望的视频数据格式。

    返回值

    设置媒体播放器输出的原始数据格式。详见

    在默认情况下,原始视频像素格式 () 可能为 I420 或 CVPixelBufferRef。

    -
    +
    diff --git a/dita/RTC-NG/API/callback_agorartcmediaplayervideoframedelegate_didreceivepixelbuffer.dita b/dita/RTC-NG/API/callback_agorartcmediaplayervideoframedelegate_didreceivepixelbuffer.dita index 37689c05b01..f048a3ff369 100644 --- a/dita/RTC-NG/API/callback_agorartcmediaplayervideoframedelegate_didreceivepixelbuffer.dita +++ b/dita/RTC-NG/API/callback_agorartcmediaplayervideoframedelegate_didreceivepixelbuffer.dita @@ -13,31 +13,34 @@

    - - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceivePixelBuffer:(CVPixelBufferRef _Nonnull)pixelBuffer NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceivePixelBuffer:)); - - - - - -

    + + + + + + +

    详情 -

    当媒体播放器获取到视频源的像素缓冲区时会触发此回调,并报告 CVPixelBufferRef 类型的像素缓冲区的详细信息。你可以利用这些数据进行图像处理和分析、自定义渲染等。

    +

    当媒体播放器获取到视频源的像素缓冲区时会触发此回调,并报告 CVPixelBufferRef + 类型的像素缓冲区的详细信息。你可以利用这些数据进行图像处理和分析、自定义渲染等。

    参数 - - playerKit - 的实例。 - - - pixelBuffer - 一个 CVPixelBufferRef 对象,包含了像素缓冲区的详细信息。 - -
    -
    + + playerKit + 的实例。 + + + pixelBuffer + 一个 CVPixelBufferRef 对象,包含了像素缓冲区的详细信息。 + + + +
    diff --git a/dita/RTC-NG/API/callback_airplayconnected.dita b/dita/RTC-NG/API/callback_airplayconnected.dita index 81bc6e77fed..bcdfc5d0fbc 100644 --- a/dita/RTC-NG/API/callback_airplayconnected.dita +++ b/dita/RTC-NG/API/callback_airplayconnected.dita @@ -2,7 +2,8 @@ <ph keyref="airplayConnected"/> - 音频路由切换为 Apple AirPlay 时触发(仅适用于 iOS 和 macOS)。 + 音频路由切换为 Apple AirPlay 时触发(仅适用于 iOS 和 + macOS)。 @@ -13,14 +14,14 @@

    - - - - - - - -

    + + + + + + + +

    diff --git a/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onmixedaudioencodedframe.dita b/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onmixedaudioencodedframe.dita index fe139df712f..af0d389f80e 100644 --- a/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onmixedaudioencodedframe.dita +++ b/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onmixedaudioencodedframe.dita @@ -13,32 +13,34 @@

    - public abstract void onMixedAudioEncodedFrame( + public abstract void onMixedAudioEncodedFrame( ByteBuffer buffer, int samplesPerChannel, int channels, int samplesPerSec, int codecType); - - (void)onMixedEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; - virtual void onMixedAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnMixedAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); - onMixedAudioEncodedFrame?( + - (void)onMixedEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; + virtual void onMixedAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnMixedAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); + onMixedAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - public virtual void OnMixedAudioEncodedFrame(IntPtr frameBufferPtr, int length, + public virtual void OnMixedAudioEncodedFrame(IntPtr frameBufferPtr, int length, EncodedAudioFrameInfo audioEncodedFrameInfo) { } - onMixedAudioEncodedFrame?( + onMixedAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - final void Function(Uint8List frameBuffer, int length, + final void Function(Uint8List frameBuffer, int length, EncodedAudioFrameInfo audioEncodedFrameInfo)? onMixedAudioEncodedFrame; -

    +

    -

    调用 并将音频编码内容设为 后,你可以通过该回调获取本地和所有远端用户混音、编码后的音频数据。

    +

    调用 并将音频编码内容设为 + 后,你可以通过该回调获取本地和所有远端用户混音、编码后的音频数据。

    diff --git a/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onplaybackaudioencodedframe.dita b/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onplaybackaudioencodedframe.dita index a1ade2e5ef7..34ef9e0f3e1 100644 --- a/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onplaybackaudioencodedframe.dita +++ b/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onplaybackaudioencodedframe.dita @@ -13,33 +13,35 @@

    - public abstract void onPlaybackAudioEncodedFrame( + public abstract void onPlaybackAudioEncodedFrame( ByteBuffer buffer, int samplesPerChannel, int channels, int samplesPerSec, int codecType); - - (void)onPlaybackEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; - virtual void onPlaybackAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlaybackAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); - onPlaybackAudioEncodedFrame?( + - (void)onPlaybackEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; + virtual void onPlaybackAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlaybackAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); + onPlaybackAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - public virtual void OnPlaybackAudioEncodedFrame(IntPtr frameBufferPtr, int length, + public virtual void OnPlaybackAudioEncodedFrame(IntPtr frameBufferPtr, int length, EncodedAudioFrameInfo audioEncodedFrameInfo) { } - onPlaybackAudioEncodedFrame?( + onPlaybackAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - final void Function(Uint8List frameBuffer, int length, + final void Function(Uint8List frameBuffer, int length, EncodedAudioFrameInfo audioEncodedFrameInfo)? onPlaybackAudioEncodedFrame; -

    +

    -

    调用 并将音频编码内容设为 后,你可以通过该回调获取所有远端用户的音频编码数据。

    +

    调用 并将音频编码内容设为 + 后,你可以通过该回调获取所有远端用户的音频编码数据。

    diff --git a/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onrecordaudioencodedframe.dita b/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onrecordaudioencodedframe.dita index 763f1d69d13..028d4bc1d92 100644 --- a/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onrecordaudioencodedframe.dita +++ b/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onrecordaudioencodedframe.dita @@ -13,77 +13,79 @@

    - public abstract void onRecordAudioEncodedFrame( + public abstract void onRecordAudioEncodedFrame( ByteBuffer buffer, int samplesPerChannel, int channels, int samplesPerSec, int codecType); - - (void)onRecordEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; + - (void)onRecordEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; - virtual void onRecordAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRecordAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); - onRecordAudioEncodedFrame?( + virtual void onRecordAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRecordAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); + onRecordAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - public virtual void OnRecordAudioEncodedFrame(IntPtr frameBufferPtr, int length, + public virtual void OnRecordAudioEncodedFrame(IntPtr frameBufferPtr, int length, EncodedAudioFrameInfo audioEncodedFrameInfo) { } - onRecordAudioEncodedFrame?( + onRecordAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - final void Function(Uint8List frameBuffer, int length, + final void Function(Uint8List frameBuffer, int length, EncodedAudioFrameInfo audioEncodedFrameInfo)? onRecordAudioEncodedFrame; -

    +

    -

    调用 并将音频编码内容设为 后,你可以通过该回调获取本地用户的音频编码数据。

    +

    调用 并将音频编码内容设为 + 后,你可以通过该回调获取本地用户的音频编码数据。

    参数 - - buffer - frameData - frameBuffer - frameBufferPtr - 音频 buffer。 - - - length - 音频数据长度,单位为字节。 - - - audioEncodedFrameInfo - info - 编码后音频的信息。详见 - - - - - - - - - - - - - - - codecType - 音频编码类型: - -
      -
    • (1): OPUS 编码格式。
    • -
    • (8): LC-AAC 编码格式。
    • -
    • (9): HE-AAC 编码格式。
    • -
    • (11): HE-AAC v2 编码格式。
    • -
    -
    -
    + + buffer + frameData + frameBuffer + frameBufferPtr + 音频 buffer。 + + + length + 音频数据长度,单位为字节。 + + + audioEncodedFrameInfo + info + 编码后音频的信息。详见 + + + + + + + + + + + + + + + codecType + 音频编码类型:
      +
    • (1): OPUS 编码格式。
    • +
    • (8): LC-AAC 编码格式。
    • +
    • (9): HE-AAC 编码格式。
    • +
    • (11): HE-AAC v2 编码格式。
    • +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita b/dita/RTC-NG/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita index 8b67a6a0894..c81658621cb 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita @@ -13,31 +13,40 @@

    - - - virtual bool isMultipleChannelFrameWanted() { return false; } - - public virtual bool IsMultipleChannelFrameWanted() + + + virtual bool isMultipleChannelFrameWanted() { return false; } + + public virtual bool IsMultipleChannelFrameWanted() { return true; } - - -

    + + +

    成功注册音频观测器后,SDK 会在捕捉到每个音频帧的时候触发该回调。

    -

    在多频道场景下,如果你希望从多个频道获取音频数据,则需要将该回调的返回值设为 。 成功设置后,SDK 会触发 回调,向你发送接收的混音前的音频帧,并报告该音频帧来自哪个频道。

    +

    在多频道场景下,如果你希望从多个频道获取音频数据,则需要将该回调的返回值设为 。 + 成功设置后,SDK 会触发 + 回调,向你发送接收的混音前的音频帧,并报告该音频帧来自哪个频道。

    -
      -
    • 一旦你将该回调的返回值设为 ,则 SDK 只触发 来返回接收到的混音前的音频数据。 将不会被触发。在多频道场景下,建议你将该回调的返回值设为
    • -
    • 如果你将该回调的返回值设为 ,则 SDK 只触发 来返回接收到的音频数据。
    • -
    +
      +
    • 一旦你将该回调的返回值设为 ,则 SDK 只触发 来返回接收到的混音前的音频数据。 将不会被触发。在多频道场景下,建议你将该回调的返回值设为 +
    • +
    • 如果你将该回调的返回值设为 ,则 SDK 只触发 来返回接收到的音频数据。
    • +
    + +
    返回值
      -
    • : 获取多个频道的音频帧。
    • -
    • : 不获取多个频道的音频帧。
    • -
    +
  • : 获取多个频道的音频帧。
  • +
  • : 不获取多个频道的音频帧。
  • + +
    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita b/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita index a3e5aeb8c30..07acc591c44 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita @@ -13,88 +13,91 @@

    - public abstract boolean onPlaybackAudioFrameBeforeMixing(int userId, int type, + public abstract boolean onPlaybackAudioFrameBeforeMixing(int userId, int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onPlaybackAudioFrameBeforeMixing:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(onPlaybackAudioFrame(beforeMixing:channelId:uid:)); - virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, rtc::uid_t uid, AudioFrame& audioFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlaybackAudioFrameBeforeMixing, const FString, channelId, int64, uid, const FAudioFrame&, audioFrame); - onPlaybackAudioFrameBeforeMixing?( + - (BOOL)onPlaybackAudioFrameBeforeMixing:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(onPlaybackAudioFrame(beforeMixing:channelId:uid:)); + virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, rtc::uid_t uid, AudioFrame& audioFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlaybackAudioFrameBeforeMixing, const FString, channelId, int64, uid, const FAudioFrame&, audioFrame); + onPlaybackAudioFrameBeforeMixing?( channelId: string, uid: number, audioFrame: AudioFrame ): void; - public virtual bool OnPlaybackAudioFrameBeforeMixing(string channel_id, + public virtual bool OnPlaybackAudioFrameBeforeMixing(string channel_id, uint uid, AudioFrame audio_frame) { return false; } - onPlaybackAudioFrameBeforeMixing?( + onPlaybackAudioFrameBeforeMixing?( channelId: string, uid: number, audioFrame: AudioFrame ): void; - final void Function(String channelId, int uid, AudioFrame audioFrame)? + final void Function(String channelId, int uid, AudioFrame audioFrame)? onPlaybackAudioFrameBeforeMixing; -

    +

    - 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
    + 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。 +
    参数 - - channelId - channel_id - 频道 ID。 - - - uid - userId - 订阅的远端用户的 ID。 - - - audioFrame - frame - audio_frame - 音频原始数据。详见 - + + channelId + channel_id + 频道 ID。 + + + uid + userId + 订阅的远端用户的 ID。 + + + audioFrame + frame + audio_frame + 音频原始数据。详见 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing2.dita b/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing2.dita index 67343866080..4f7cdfbf0b0 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing2.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing2.dita @@ -13,39 +13,42 @@

    - - - - - public virtual bool OnPlaybackAudioFrameBeforeMixing(string channel_id, + + + + + public virtual bool OnPlaybackAudioFrameBeforeMixing(string channel_id, string uid, AudioFrame audio_frame) { return false; } - - -

    + + +

    -

    成功注册音频观测器后,如果你将 的返回值设为 ,则 SDK 会在捕捉到各频道内混音前的音频数据时,触发该回调,将音频数据发送给你。

    +

    成功注册音频观测器后,如果你将 + 的返回值设为 ,则 SDK + 会在捕捉到各频道内混音前的音频数据时,触发该回调,将音频数据发送给你。

    参数 - - channel_id - 该音频帧所在的频道名。 - - - uid - 发送该音频帧的用户 ID。 - - - audio_Frame - 音频原始数据。详见 - -
    + + channel_id + 该音频帧所在的频道名。 + + + uid + 发送该音频帧的用户 ID。 + + + audio_Frame + 音频原始数据。详见 + + +
    返回值

    无实际含义。

    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserverbase_getearmonitoringaudioparams.dita b/dita/RTC-NG/API/callback_iaudioframeobserverbase_getearmonitoringaudioparams.dita index 1d70a323083..55d2b6822bb 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserverbase_getearmonitoringaudioparams.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserverbase_getearmonitoringaudioparams.dita @@ -2,7 +2,8 @@ <ph keyref="getEarMonitoringAudioParams"/> - 设置 回调数据的格式。 + 设置 + 回调数据的格式。 @@ -13,30 +14,34 @@

    - public abstract AudioParams getEarMonitoringAudioParams(); - + public abstract AudioParams getEarMonitoringAudioParams(); + - (AgoraAudioParams* _Nonnull)getEarMonitoringAudioParams NS_SWIFT_NAME(getEarMonitoringAudioParams()); - virtual AudioParams getEarMonitoringAudioParams() = 0; - - public virtual AudioParams GetEarMonitoringAudioParams() + virtual AudioParams getEarMonitoringAudioParams() = 0; + + public virtual AudioParams GetEarMonitoringAudioParams() { return new AudioParams(); } - - -

    + + +

    - -
    自从
    -
    v4.0.1
    -
    + +
    自从
    +
    v4.0.1
    +
    -

    你需要在调用 方法时注册该回调。成功注册音频数据观测器后,SDK 会触发该回调,你可以在该回调的返回值中设置耳返的音频数据格式。

    +

    你需要在调用 方法时注册该回调。成功注册音频数据观测器后,SDK + 会触发该回调,你可以在该回调的返回值中设置耳返的音频数据格式。

    -

    SDK 会通过你在返回值中设置的 计算采样间隔触发 回调。计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)

    -

    请确保采样间隔不小于 0.01 秒。

    +

    SDK 会通过你在返回值中设置的 计算采样间隔触发 回调。计算公式为采样间隔 = + samplesPerCall/(sampleRate × + channel)

    +

    请确保采样间隔不小于 0.01 秒。

    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserverbase_getmixedaudioparams.dita b/dita/RTC-NG/API/callback_iaudioframeobserverbase_getmixedaudioparams.dita index f0904f3e500..bd0ea4717e8 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserverbase_getmixedaudioparams.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserverbase_getmixedaudioparams.dita @@ -2,7 +2,8 @@ <ph keyref="getMixedAudioParams"/> - 设置 回调数据的格式。 + 设置 + 回调数据的格式。 @@ -13,25 +14,30 @@

    - public abstract AudioParams getMixedAudioParams(); - - (AgoraAudioParams* _Nonnull)getMixedAudioParams NS_SWIFT_NAME(getMixedAudioParams()); - virtual AudioParams getMixedAudioParams() = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMixedAudioParams); - - public virtual AudioParams GetMixedAudioParams() + public abstract AudioParams getMixedAudioParams(); + - (AgoraAudioParams* _Nonnull)getMixedAudioParams NS_SWIFT_NAME(getMixedAudioParams()); + virtual AudioParams getMixedAudioParams() = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMixedAudioParams); + + public virtual AudioParams GetMixedAudioParams() { return new AudioParams(); } - - -

    + + +

    -

    你需要在调用 方法时注册该回调。成功注册音频数据观测器后,SDK 会触发该回调,你可以在该回调的返回值中设置 SDK 采集和播放音频混音后的数据格式。

    +

    你需要在调用 方法时注册该回调。成功注册音频数据观测器后,SDK + 会触发该回调,你可以在该回调的返回值中设置 SDK 采集和播放音频混音后的数据格式。

    -

    SDK 会通过你在返回值中设置的 计算采样间隔触发 回调。计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)

    -

    请确保采样间隔不小于 0.01 秒。

    -
    +

    SDK 会通过你在返回值中设置的 计算采样间隔触发 回调。计算公式为采样间隔 = + samplesPerCall/(sampleRate × + channel)

    +

    请确保采样间隔不小于 0.01 秒。

    + +
    返回值

    SDK 采集和播放音频混音后的音频数据,详见

    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserverbase_getobservedaudioframeposition.dita b/dita/RTC-NG/API/callback_iaudioframeobserverbase_getobservedaudioframeposition.dita index f922b4cd6f1..b3cee84993a 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserverbase_getobservedaudioframeposition.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserverbase_getobservedaudioframeposition.dita @@ -13,40 +13,45 @@

    - - (AgoraAudioFramePosition)getObservedAudioFramePosition NS_SWIFT_NAME(getObservedAudioFramePosition()); - - (AgoraAudioFramePosition)getObservedAudioFramePosition NS_SWIFT_NAME(getObservedAudioFramePosition()); - virtual int getObservedAudioFramePosition() = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetObservedAudioFramePosition); - - public virtual int GetObservedAudioFramePosition() - - -

    + - (AgoraAudioFramePosition)getObservedAudioFramePosition NS_SWIFT_NAME(getObservedAudioFramePosition()); + - (AgoraAudioFramePosition)getObservedAudioFramePosition NS_SWIFT_NAME(getObservedAudioFramePosition()); + virtual int getObservedAudioFramePosition() = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetObservedAudioFramePosition); + + public virtual int GetObservedAudioFramePosition() + + +

    -

    成功注册音频数据观测器后,SDK 会在每个特定的音频帧处理节点通过该回调来判断是否触发如下回调: - -

      -
    • -
    • -
    • -
    • -
    • -

    -

    你可以根据场景需求,通过修改 的返回值,设置你需要观测的某个或多个位置。

    +

    成功注册音频数据观测器后,SDK 会在每个特定的音频帧处理节点通过该回调来判断是否触发如下回调:

      +
    • +
    • +
    • +
    • +
    • +

    +

    你可以根据场景需求,通过修改 + 的返回值,设置你需要观测的某个或多个位置。

    注解观测多个位置时,需要使用 |(或运算符)。为降低设备耗能,你可以根据实际需求适当减少观测位置。

    返回值 -

    返回设置观测位置的位掩码,取值如下: - -

      -
    • (0x0001):该位置可观测所有远端用户混音后的播放音频,对应 回调。
    • -
    • (0x0002):该位置可观测采集的本地用户的音频,对应 回调。
    • -
    • (0x0004):该位置可观测本地和所有远端用户混音后的音频,对应 回调。
    • -
    • (0x0008):该位置可观测单个远端用户混音前的音频,对应 回调。
    • -
    • (0x0010):该位置可观测单个本地用户耳返的音频,对应 回调。
    • -

    +

    返回设置观测位置的位掩码,取值如下:

      +
    • + (0x0001):该位置可观测所有远端用户混音后的播放音频,对应 + 回调。
    • +
    • (0x0002):该位置可观测采集的本地用户的音频,对应 + 回调。
    • +
    • (0x0004):该位置可观测本地和所有远端用户混音后的音频,对应 + 回调。
    • +
    • + (0x0008):该位置可观测单个远端用户混音前的音频,对应 回调。
    • +
    • + (0x0010):该位置可观测单个本地用户耳返的音频,对应 + 回调。
    • +

    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserverbase_getplaybackaudioparams.dita b/dita/RTC-NG/API/callback_iaudioframeobserverbase_getplaybackaudioparams.dita index e1def9984a4..459a4769970 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserverbase_getplaybackaudioparams.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserverbase_getplaybackaudioparams.dita @@ -2,7 +2,8 @@ <ph keyref="getPlaybackAudioParams"/> - 设置 回调数据的格式。 + 设置 + 回调数据的格式。 @@ -13,25 +14,30 @@

    - public abstract AudioParams getMixedAudioParams(); - - (AgoraAudioParams* _Nonnull)getPlaybackAudioParams NS_SWIFT_NAME(getPlaybackAudioParams()); - virtual AudioParams getPlaybackAudioParams() = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetPlaybackAudioParams); - - public virtual AudioParams GetPlaybackAudioParams() + public abstract AudioParams getMixedAudioParams(); + - (AgoraAudioParams* _Nonnull)getPlaybackAudioParams NS_SWIFT_NAME(getPlaybackAudioParams()); + virtual AudioParams getPlaybackAudioParams() = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetPlaybackAudioParams); + + public virtual AudioParams GetPlaybackAudioParams() { return new AudioParams(); } - - -

    + + +

    -

    你需要在调用 方法时注册该回调。成功注册音频数据观测器后,SDK 会触发该回调,你可以在该回调的返回值中设置 SDK 播放的音频数据格式。

    +

    你需要在调用 方法时注册该回调。成功注册音频数据观测器后,SDK + 会触发该回调,你可以在该回调的返回值中设置 SDK 播放的音频数据格式。

    -

    SDK 会通过你在返回值中设置的 计算采样间隔触发 回调。计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)

    -

    请确保采样间隔不小于 0.01 秒。

    -
    +

    SDK 会通过你在返回值中设置的 计算采样间隔触发 回调。计算公式为采样间隔 = + samplesPerCall/(sampleRate × + channel)

    +

    请确保采样间隔不小于 0.01 秒。

    + +
    返回值

    SDK 播放的音频数据,详见

    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserverbase_getrecordaudioparams.dita b/dita/RTC-NG/API/callback_iaudioframeobserverbase_getrecordaudioparams.dita index 959dad34751..b38b19223f8 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserverbase_getrecordaudioparams.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserverbase_getrecordaudioparams.dita @@ -2,7 +2,8 @@ <ph keyref="getRecordAudioParams"/> - 设置 回调数据的格式。 + 设置 + 回调数据的格式。 @@ -13,25 +14,30 @@

    - public abstract AudioParams getRecordAudioParams(); - - (AgoraAudioParams* _Nonnull)getRecordAudioParams NS_SWIFT_NAME(getRecordAudioParams()); - virtual AudioParams getRecordAudioParams() = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetRecordAudioParams); - - public virtual AudioParams GetRecordAudioParams() + public abstract AudioParams getRecordAudioParams(); + - (AgoraAudioParams* _Nonnull)getRecordAudioParams NS_SWIFT_NAME(getRecordAudioParams()); + virtual AudioParams getRecordAudioParams() = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetRecordAudioParams); + + public virtual AudioParams GetRecordAudioParams() { return new AudioParams(); } - - -

    + + +

    -

    你需要在调用 方法时注册该回调。成功注册音频数据观测器后,SDK 会触发该回调,你可以在该回调的返回值中设置 SDK 采集的音频数据格式。

    +

    你需要在调用 方法时注册该回调。成功注册音频数据观测器后,SDK + 会触发该回调,你可以在该回调的返回值中设置 SDK 采集的音频数据格式。

    -

    SDK 会通过你在返回值中设置的 计算采样间隔触发 回调。计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)

    -

    请确保采样间隔不小于 0.01 秒。

    -
    +

    SDK 会通过你在返回值中设置的 计算采样间隔触发 回调。计算公式为采样间隔 = + samplesPerCall/(sampleRate × + channel)

    +

    请确保采样间隔不小于 0.01 秒。

    + +
    返回值

    SDK 采集的音频数据,详见

    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserverbase_onearmonitoringaudioframe.dita b/dita/RTC-NG/API/callback_iaudioframeobserverbase_onearmonitoringaudioframe.dita index 0a5034f0d45..c40803e7f45 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserverbase_onearmonitoringaudioframe.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserverbase_onearmonitoringaudioframe.dita @@ -13,84 +13,98 @@

    - public abstract boolean onEarMonitoringAudioFrame(int type, int samplesPerChannel, + public abstract boolean onEarMonitoringAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onEarMonitoringAudioFrame:(AgoraAudioFrame* _Nonnull)frame; + - (BOOL)onEarMonitoringAudioFrame:(AgoraAudioFrame* _Nonnull)frame; - virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) = 0; - onEarMonitoringAudioFrame?(audioFrame: AudioFrame): void; - public virtual bool OnEarMonitoringAudioFrame(AudioFrame audioFrame) + virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) = 0; + onEarMonitoringAudioFrame?(audioFrame: AudioFrame): void; + public virtual bool OnEarMonitoringAudioFrame(AudioFrame audioFrame) { return true; } - onEarMonitoringAudioFrame?(audioFrame: AudioFrame): void; - final void Function(AudioFrame audioFrame)? onEarMonitoringAudioFrame; -

    + onEarMonitoringAudioFrame?(audioFrame: AudioFrame): void; + final void Function(AudioFrame audioFrame)? onEarMonitoringAudioFrame; +

    -

    为保证耳返的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置耳返音频数据格式: -

      -
    • 方法一:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。
    • -
    • 方法二:调用 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 回调。
    • -

    -

    为保证耳返的音频数据格式符合预期,你可以使用如下方法设置耳返音频数据格式:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。

    +

    为保证耳返的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置耳返音频数据格式:

      +
    • 方法一:调用 设置音频数据格式后,调用 + 注册音频观测器对象,SDK + 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 + 回调。
    • +
    • 方法二:调用 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK + 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 + 回调。
    • +
    +

    +

    为保证耳返的音频数据格式符合预期,你可以使用如下方法设置耳返音频数据格式:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 + 回调。

      -
    • 方法一的优先级高于方法二,如果已使用方法一设置了音频数据格式,则使用方法二的设置不生效。
    • -
    • 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
    -

    为保证耳返的音频数据格式符合预期,你可以调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。

    +
  • 方法一的优先级高于方法二,如果已使用方法一设置了音频数据格式,则使用方法二的设置不生效。
  • +
  • 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
  • + +

    为保证耳返的音频数据格式符合预期,你可以调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 + 回调。

    参数 - - audioFrame - frame - 音频原始数据。详见 - + + audioFrame + frame + 音频原始数据。详见 + - - type - 音频数据的类型。 - - - samplesPerChannel - 每声道的采样点数。 - - - bytesPerSample - 每个采样点的字节数(byte)。对于 PCM 音频数据,一般是两个字节。 - - - channels - -

    声道数: - -

      -
    • 1:单声道。
    • -
    • 2:双声道。双声道的音频数据是交叉存储的。
    • -

    -
    -
    - - samplesPerSec - 音频采样率(Hz)。 - - - buffer - 音频 buffer。buffer 大小为 samplesPerChannel x channels x bytesPerSample。 - - - renderTimeMs - 外部音频帧的渲染时间戳(毫秒)。你可以使用该时间戳还原音频帧的顺序。在音视频场景下(包含使用外部视频源的场景),该时间戳可以用于实现音频和视频的同步。 - - - avsync_type - 预留参数。 - -
    + + type + 音频数据的类型。 + + + samplesPerChannel + 每声道的采样点数。 + + + bytesPerSample + 每个采样点的字节数(byte)。对于 PCM 音频数据,一般是两个字节。 + + + channels + +

    声道数:

      +
    • 1:单声道。
    • +
    • 2:双声道。双声道的音频数据是交叉存储的。
    • +

    +
    +
    + + samplesPerSec + 音频采样率(Hz)。 + + + buffer + 音频 buffer。buffer 大小为 samplesPerChannel x channels x bytesPerSample。 + + + renderTimeMs + 外部音频帧的渲染时间戳(毫秒)。你可以使用该时间戳还原音频帧的顺序。在音视频场景下(包含使用外部视频源的场景),该时间戳可以用于实现音频和视频的同步。 + + + avsync_type + 预留参数。 + + +
    返回值

    无实际含义。

    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserverbase_onmixedaudioframe.dita b/dita/RTC-NG/API/callback_iaudioframeobserverbase_onmixedaudioframe.dita index 316a2cd2d34..8a9d933ff66 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserverbase_onmixedaudioframe.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserverbase_onmixedaudioframe.dita @@ -13,91 +13,100 @@

    - public abstract boolean onMixedAudioFrame(int type, int samplesPerChannel, int bytesPerSample, + public abstract boolean onMixedAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onMixedAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onMixedAudioFrame(_:channelId:)); - virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMixedAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); - onMixedAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - public virtual bool OnMixedAudioFrame(string channelId, AudioFrame audio_frame) + - (BOOL)onMixedAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onMixedAudioFrame(_:channelId:)); + virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMixedAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); + onMixedAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + public virtual bool OnMixedAudioFrame(string channelId, AudioFrame audio_frame) { return true; } - onMixedAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - final void Function(String channelId, AudioFrame audioFrame)? + onMixedAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + final void Function(String channelId, AudioFrame audioFrame)? onMixedAudioFrame; -

    +

    -

    为保证采集和播放混音后的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置音频的数据格式: - -

      -
    • 方法一:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。
    • -
    • 方法二:调用 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 回调。
    • -

    -

    为保证采集和播放混音后的音频数据格式符合预期,你可以在如下方法设置音频的数据格式:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。

    +

    为保证采集和播放混音后的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置音频的数据格式:

      +
    • 方法一:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK + 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。
    • +
    • 方法二:调用 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK + 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 回调。
    • +
    +

    +

    为保证采集和播放混音后的音频数据格式符合预期,你可以在如下方法设置音频的数据格式:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 + 回调。

    -
      -
    • 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。
    • -
    • 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
    • -
    -

    为保证采集和播放混音后的音频数据格式符合预期,你可以调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。

    +
      +
    • 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。
    • +
    • 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
    • +
    +

    为保证采集和播放混音后的音频数据格式符合预期,你可以调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 + 回调。

    参数 - - audioFrame - audio_frame - frame - 音频原始数据。详见 - - - channelId - 频道 ID。 - + + audioFrame + audio_frame + frame + 音频原始数据。详见 + + + channelId + 频道 ID。 + - - type - 音频数据的类型。 - - - samplesPerChannel - 每声道的采样点数。 - - - bytesPerSample - 每个采样点的字节数(byte)。对于 PCM 音频数据,一般是两个字节。 - - - channels - -

    声道数: - -

      -
    • 1:单声道。
    • -
    • 2:双声道。双声道的音频数据是交叉存储的。
    • -

    -
    -
    - - samplesPerSec - 音频采样率(Hz)。 - - - buffer - 音频 buffer。buffer 大小为 samplesPerChannel x channels x bytesPerSample。 - - - renderTimeMs - 外部音频帧的渲染时间戳(毫秒)。你可以使用该时间戳还原音频帧的顺序。在音视频场景下(包含使用外部视频源的场景),该时间戳可以用于实现音频和视频的同步。 - - - avsync_type - 预留参数。 - -
    + + type + 音频数据的类型。 + + + samplesPerChannel + 每声道的采样点数。 + + + bytesPerSample + 每个采样点的字节数(byte)。对于 PCM 音频数据,一般是两个字节。 + + + channels + +

    声道数:

      +
    • 1:单声道。
    • +
    • 2:双声道。双声道的音频数据是交叉存储的。
    • +

    +
    +
    + + samplesPerSec + 音频采样率(Hz)。 + + + buffer + 音频 buffer。buffer 大小为 samplesPerChannel x channels x bytesPerSample。 + + + renderTimeMs + 外部音频帧的渲染时间戳(毫秒)。你可以使用该时间戳还原音频帧的顺序。在音视频场景下(包含使用外部视频源的场景),该时间戳可以用于实现音频和视频的同步。 + + + avsync_type + 预留参数。 + + +
    返回值

    无实际含义。

    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserverbase_onplaybackaudioframe.dita b/dita/RTC-NG/API/callback_iaudioframeobserverbase_onplaybackaudioframe.dita index d3df0c4d37b..e6c46ff1cc1 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserverbase_onplaybackaudioframe.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserverbase_onplaybackaudioframe.dita @@ -13,37 +13,50 @@

    - public abstract boolean onPlaybackAudioFrame(int type, int samplesPerChannel, int bytesPerSample, + public abstract boolean onPlaybackAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onPlaybackAudioFrame:(AgoraAudioFrame* _Nonnull)frame; - virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlaybackAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); - onPlaybackAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - public virtual bool OnPlaybackAudioFrame(string channelId, AudioFrame audio_frame) + - (BOOL)onPlaybackAudioFrame:(AgoraAudioFrame* _Nonnull)frame; + virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlaybackAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); + onPlaybackAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + public virtual bool OnPlaybackAudioFrame(string channelId, AudioFrame audio_frame) { return true; } - onPlaybackAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - final void Function(String channelId, AudioFrame audioFrame)? + onPlaybackAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + final void Function(String channelId, AudioFrame audioFrame)? onPlaybackAudioFrame; -

    +

    -

    为保证播放的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置音频的数据格式: - -

      -
    • 方法一:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。
    • -
    • 方法二:调用 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 回调。
    • -

    -

    为保证播放的音频数据格式符合预期,你可以在如下方法设置音频的数据格式:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。

    +

    为保证播放的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置音频的数据格式:

      +
    • 方法一:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK + 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 + 回调。
    • +
    • 方法二:调用 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK + 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 + 回调。
    • +
    +

    +

    为保证播放的音频数据格式符合预期,你可以在如下方法设置音频的数据格式:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 + 回调。

    -
      -
    • 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。
    • -
    • 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
    • -
    -

    为保证播放的音频数据格式符合预期,你可以调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。

    +
      +
    • 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。
    • +
    • 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
    • +
    +

    为保证播放的音频数据格式符合预期,你可以调用 + 设置音频数据格式后,调用 注册音频观测器对象,SDK + 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 + 回调。

    -
    +
    diff --git a/dita/RTC-NG/API/callback_iaudioframeobserverbase_onrecordaudioframe.dita b/dita/RTC-NG/API/callback_iaudioframeobserverbase_onrecordaudioframe.dita index f6f0a8b7bfa..2ad60e13fa0 100644 --- a/dita/RTC-NG/API/callback_iaudioframeobserverbase_onrecordaudioframe.dita +++ b/dita/RTC-NG/API/callback_iaudioframeobserverbase_onrecordaudioframe.dita @@ -13,94 +13,102 @@

    - public abstract boolean onRecordAudioFrame(String channelId, int type, int samplesPerChannel, + public abstract boolean onRecordAudioFrame(String channelId, int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onRecordAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onRecordAudioFrame(_:channelId:)); - virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRecordAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); - onRecordAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - public virtual bool OnRecordAudioFrame(string channelId, AudioFrame audioFrame) + - (BOOL)onRecordAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onRecordAudioFrame(_:channelId:)); + virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRecordAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); + onRecordAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + public virtual bool OnRecordAudioFrame(string channelId, AudioFrame audioFrame) { return true; } - onRecordAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - final void Function(String channelId, AudioFrame audioFrame)? + onRecordAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + final void Function(String channelId, AudioFrame audioFrame)? onRecordAudioFrame; -

    +

    -

    为保证采集的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置音频的数据格式: - -

      -
    • 方法一:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。
    • -
    • 方法二:调用 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 回调。
    • -

    -

    为保证采集的音频数据格式符合预期,你可以在如下方法设置音频的数据格式:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。

    +

    为保证采集的音频数据格式符合预期,你可以在如下两种方法中任选一种,设置音频的数据格式:

      +
    • 方法一:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK + 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。
    • +
    • 方法二:调用 注册音频观测器对象后,在 回调的返回值中设置具体的音频观测位置,然后在 回调的返回值中设置音频数据格式,SDK + 会根据该回调的返回值计算采样间隔,并根据该采样间隔触发 回调。
    • +
    +

    +

    为保证采集的音频数据格式符合预期,你可以在如下方法设置音频的数据格式:调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 + 回调。

    -
      -
    • 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。
    • -
    • 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
    • -
    -

    为保证采集的音频数据格式符合预期,你可以调用 设置音频数据格式后,调用 注册音频观测器对象,SDK 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。

    +
      +
    • 方法一的优先级高于方法二,如果使用方法一设置音频数据格式,方法二设置无效。
    • +
    • 由于框架的限制,该回调不支持将处理后的音频数据发送回 SDK。
    • +
    +

    为保证采集的音频数据格式符合预期,你可以调用 设置音频数据格式后,调用 注册音频观测器对象,SDK + 会根据该方法中的参数计算采样间隔,并根据该采样间隔触发 回调。

    参数 - - audioFrame - frame - 音频原始数据。详见 - - - channelId - 频道 ID。 - + + audioFrame + frame + 音频原始数据。详见 + + + channelId + 频道 ID。 + - - channelId - 频道 ID。 - - - type - 音频数据的类型。 - - - samplesPerChannel - 每声道的采样点数。 - - - bytesPerSample - 每个采样点的字节数(byte)。对于 PCM 音频数据,一般是两个字节。 - - - channels - -

    声道数: - -

      -
    • 1:单声道。
    • -
    • 2:双声道。双声道的音频数据是交叉存储的。
    • -

    -
    -
    - - samplesPerSec - 音频采样率(Hz)。 - - - buffer - 音频 buffer。buffer 大小为 samplesPerChannel x channels x bytesPerSample。 - - - renderTimeMs - 外部音频帧的渲染时间戳(毫秒)。你可以使用该时间戳还原音频帧的顺序。在音视频场景下(包含使用外部视频源的场景),该时间戳可以用于实现音频和视频的同步。 - - - avsync_type - 预留参数。 - -
    + + channelId + 频道 ID。 + + + type + 音频数据的类型。 + + + samplesPerChannel + 每声道的采样点数。 + + + bytesPerSample + 每个采样点的字节数(byte)。对于 PCM 音频数据,一般是两个字节。 + + + channels + +

    声道数:

      +
    • 1:单声道。
    • +
    • 2:双声道。双声道的音频数据是交叉存储的。
    • +

    +
    +
    + + samplesPerSec + 音频采样率(Hz)。 + + + buffer + 音频 buffer。buffer 大小为 samplesPerChannel x channels x bytesPerSample。 + + + renderTimeMs + 外部音频帧的渲染时间戳(毫秒)。你可以使用该时间戳还原音频帧的顺序。在音视频场景下(包含使用外部视频源的场景),该时间戳可以用于实现音频和视频的同步。 + + + avsync_type + 预留参数。 + + +
    返回值

    无实际含义。

    diff --git a/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita b/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita index 1f6f03fc7bc..82c4cb9047c 100644 --- a/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita +++ b/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita @@ -13,19 +13,19 @@

    - AudioFrame onFrame(AudioFrame frame); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + AudioFrame onFrame(AudioFrame frame); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceiveAudioFrame:)); - virtual void onFrame(agora::media::base::AudioPcmFrame* frame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFrame, const FAudioPcmFrame&, pcmFrame); - onFrame?(frame: AudioPcmFrame): void; - public virtual bool OnFrame(AudioPcmFrame frame) + virtual void onFrame(agora::media::base::AudioPcmFrame* frame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFrame, const FAudioPcmFrame&, pcmFrame); + onFrame?(frame: AudioPcmFrame): void; + public virtual bool OnFrame(AudioPcmFrame frame) { return true; } - onFrame?(frame: AudioPcmFrame): void; - final void Function(AudioPcmFrame frame)? onFrame; -

    + onFrame?(frame: AudioPcmFrame): void; + final void Function(AudioPcmFrame frame)? onFrame; +

    注册音频数据观测器后,每次接收到一帧音频帧时,都会触发该回调,报告音频帧信息。

    @@ -33,20 +33,23 @@
    <ph keyref="callback-section-title"/> - - frame - audioFrame - 音频帧信息。详见 详见 - - - playerKit - 详见 - -
    + + frame + audioFrame + 音频帧信息。详见 详见 + + + playerKit + 详见 + + +
    返回值 - -

    根据你在 中设置的 mode 使用音频数据后,在此返回值中传入该音频数据。

    +

    根据你在 中设置的 + mode 使用音频数据后,在此返回值中传入该音频数据。

    无实际含义。

    diff --git a/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita b/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita index dd01479b546..7610cc0f39b 100644 --- a/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita +++ b/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita @@ -1,52 +1,57 @@ - <ph keyref="onLocalAudioSpectrum" /> + <ph keyref="onLocalAudioSpectrum"/> 获取本地音频频谱。 - +

    - boolean onLocalAudioSpectrum(AudioSpectrumInfo data); + boolean onLocalAudioSpectrum(AudioSpectrumInfo data); - - (BOOL)onLocalAudioSpectrum:(NSArray<NSNumber *> * _Nullable)audioSpectrumData; - virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLocalAudioSpectrum, const FAudioSpectrumData&, data); - onLocalAudioSpectrum?(data: AudioSpectrumData): void; - public virtual bool OnLocalAudioSpectrum(AudioSpectrumData data) + - (BOOL)onLocalAudioSpectrum:(NSArray<NSNumber *> * _Nullable)audioSpectrumData; + virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLocalAudioSpectrum, const FAudioSpectrumData&, data); + onLocalAudioSpectrum?(data: AudioSpectrumData): void; + public virtual bool OnLocalAudioSpectrum(AudioSpectrumData data) { return true; } - onLocalAudioSpectrum?(data: AudioSpectrumData): void; - final void Function(AudioSpectrumData data)? onLocalAudioSpectrum; -

    + onLocalAudioSpectrum?(data: AudioSpectrumData): void; + final void Function(AudioSpectrumData data)? onLocalAudioSpectrum; +

    -

    成功调用 实现 中的 回调并调用 开启音频频谱监测后,SDK 会按照你设置的时间间隔触发该回调,报告编码后的本地音频数据的频谱。

    +

    成功调用 实现 中的 + 回调并调用 开启音频频谱监测后,SDK + 会按照你设置的时间间隔触发该回调,报告编码后的本地音频数据的频谱。

    参数 - - data - audioSpectrumData - 本地用户的音频频谱数据。详见 - 本地用户的音频频谱数据。声网将声音频率分为 256 个频域,通过该参数报告各频域的能量值,每个能量值的取值范围为 [-300,1],单位为 dBFS。 - -
    + + data + audioSpectrumData + 本地用户的音频频谱数据。详见 + + 本地用户的音频频谱数据。声网将声音频率分为 256 个频域,通过该参数报告各频域的能量值,每个能量值的取值范围为 + [-300,1],单位为 dBFS。 + + +
    返回值 -

    是否接收频谱数据: -

      -
    • : 接收。
    • -
    • : 不接收。
    • -

    +

    是否接收频谱数据:

      +
    • : 接收。
    • +
    • : 不接收。
    • +

    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita b/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita index 9d1c5847362..8f0425f9085 100644 --- a/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita +++ b/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita @@ -1,65 +1,69 @@ - <ph keyref="onRemoteAudioSpectrum" /> + <ph keyref="onRemoteAudioSpectrum"/> 获取远端音频频谱。 - +

    - boolean onRemoteAudioSpectrum(UserAudioSpectrumInfo[] userAudioSpectrumInfos, int spectrumNumber); + boolean onRemoteAudioSpectrum(UserAudioSpectrumInfo[] userAudioSpectrumInfos, int spectrumNumber); - - (BOOL)onRemoteAudioSpectrum:(NSArray<AgoraAudioSpectrumInfo *> * _Nullable)AudioSpectrumInfo; + - (BOOL)onRemoteAudioSpectrum:(NSArray<AgoraAudioSpectrumInfo *> * _Nullable)AudioSpectrumInfo; - virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRemoteAudioSpectrum, const TArray<FUserAudioSpectrumInfo>, spectrums, int, spectrumNumber); - onRemoteAudioSpectrum?( + virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRemoteAudioSpectrum, const TArray<FUserAudioSpectrumInfo>, spectrums, int, spectrumNumber); + onRemoteAudioSpectrum?( spectrums: UserAudioSpectrumInfo[], spectrumNumber: number ): void; - public virtual bool OnRemoteAudioSpectrum(UserAudioSpectrumInfo[] spectrums, uint spectrumNumber) + public virtual bool OnRemoteAudioSpectrum(UserAudioSpectrumInfo[] spectrums, uint spectrumNumber) { return true; } - onRemoteAudioSpectrum?( + onRemoteAudioSpectrum?( spectrums: UserAudioSpectrumInfo[], spectrumNumber: number ): void; - final void Function( + final void Function( List<UserAudioSpectrumInfo> spectrums, int spectrumNumber)? onRemoteAudioSpectrum; -

    +

    -

    成功调用 实现 中的 回调并调用 开启音频频谱监测后,SDK 会按照你设置的时间间隔触发该回调,报告接收到的远端音频数据的频谱。

    +

    成功调用 实现 中的 + 回调并调用 开启音频频谱监测后,SDK + 会按照你设置的时间间隔触发该回调,报告接收到的远端音频数据的频谱。

    参数 - - userAudioSpectrumInfos - AudioSpectrumInfo - spectrums - 远端用户的音频频谱信息,详见 。 数组数量等于 SDK 监测到的远端用户数量,数组为空表示没有监测到远端用户的音频频谱。 - - - spectrumNumber - 远端用户的数量。 - -
    + + userAudioSpectrumInfos + AudioSpectrumInfo + spectrums + 远端用户的音频频谱信息,详见 。 数组数量等于 SDK + 监测到的远端用户数量,数组为空表示没有监测到远端用户的音频频谱。 + + + spectrumNumber + 远端用户的数量。 + + +
    返回值 -

    是否接收频谱数据: -

      -
    • : 接收。
    • -
    • : 不接收。
    • -

    +

    是否接收频谱数据:

      +
    • : 接收。
    • +
    • : 不接收。
    • +

    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita b/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita index c5243e17da6..b47627f035e 100644 --- a/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita +++ b/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita @@ -1,45 +1,45 @@ - <ph keyref="onDirectCdnStreamingStateChanged" /> + <ph keyref="onDirectCdnStreamingStateChanged"/> CDN 推流状态改变回调。 - +

    - void onDirectCdnStreamingStateChanged( + void onDirectCdnStreamingStateChanged( DirectCdnStreamingState state, DirectCdnStreamingReason reason, String message); - - (void)onDirectCdnStreamingStateChanged:(AgoraDirectCdnStreamingState)state + - (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) { + virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char* message) { (void)state; (void)reason; (void)message; }; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnDirectCdnStreamingStateChanged, EDIRECT_CDN_STREAMING_STATE, state, EDIRECT_CDN_STREAMING_REASON, error, FString, message); - onDirectCdnStreamingStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnDirectCdnStreamingStateChanged, EDIRECT_CDN_STREAMING_STATE, state, EDIRECT_CDN_STREAMING_REASON, error, FString, message); + onDirectCdnStreamingStateChanged?( state: DirectCdnStreamingState, reason: DirectCdnStreamingReason, message: string ): void; - public virtual void OnDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, string message) - onDirectCdnStreamingStateChanged?( + public virtual void OnDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, string message) + onDirectCdnStreamingStateChanged?( state: DirectCdnStreamingState, reason: DirectCdnStreamingReason, message: string ): void; - final void Function( + final void Function( DirectCdnStreamingState state, DirectCdnStreamingReason reason, String message)? onDirectCdnStreamingStateChanged; -

    +

    主播端直接向 CDN 推流后,当推流状态改变时,SDK 会触发该回调向你报告新的状态、错误码和信息。你可以据此排查问题。

    @@ -47,18 +47,19 @@
    参数 - - state - 当前推流状态。详见 - - - reason - 推流状态改变的原因。详见 - - - message - 状态改变对应的信息。 - -
    + + state + 当前推流状态。详见 + + + reason + 推流状态改变的原因。详见 + + + message + 状态改变对应的信息。 + + +
    diff --git a/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita b/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita index 9aee6c4c9ac..cb77b7d95d7 100644 --- a/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita +++ b/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita @@ -1,40 +1,41 @@ - <ph keyref="onDirectCdnStreamingStats" /> + <ph keyref="onDirectCdnStreamingStats"/> CDN 推流统计数据回调。 - +

    - void onDirectCdnStreamingStats(DirectCdnStreamingStats stats); - - (void)onDirectCdnStreamingStats:(AgoraDirectCdnStreamStats *_Nonnull)stats; - virtual void onDirectCdnStreamingStats(const DirectCdnStreamStats& stats) { + 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; -

    + 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; +

    在主播直接向 CDN 推流的过程中,SDK 每隔 1 秒触发一次该回调。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - stats - 当前推流的统计数据。详见 - -
    + + stats + 当前推流的统计数据。详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_ifaceinfoobserver_onfaceinfo.dita b/dita/RTC-NG/API/callback_ifaceinfoobserver_onfaceinfo.dita index 3590c6aa2b0..be306d3af17 100644 --- a/dita/RTC-NG/API/callback_ifaceinfoobserver_onfaceinfo.dita +++ b/dita/RTC-NG/API/callback_ifaceinfoobserver_onfaceinfo.dita @@ -1,7 +1,7 @@ - <ph keyref="onFaceInfo" /> + <ph keyref="onFaceInfo"/> 报告已获取语音驱动插件处理后的人脸信息。 @@ -13,77 +13,81 @@

    - boolean onFaceInfo(String outFaceInfo); - - (BOOL)onFaceInfo:(NSString* _Nonnull)outFaceInfo NS_SWIFT_NAME(onFaceInfo(_:)); - virtual bool onFaceInfo(const char* outFaceInfo) = 0; - - - onFaceInfo?(outFaceInfo: string): void; - public virtual bool OnFaceInfo(string outFaceInfo) + boolean onFaceInfo(String outFaceInfo); + - (BOOL)onFaceInfo:(NSString* _Nonnull)outFaceInfo NS_SWIFT_NAME(onFaceInfo(_:)); + virtual bool onFaceInfo(const char* outFaceInfo) = 0; + + + onFaceInfo?(outFaceInfo: string): void; + public virtual bool OnFaceInfo(string outFaceInfo) { return true; } - onFaceInfo?(outFaceInfo: string): void; - final void Function(String outFaceInfo)? onFaceInfo;

    + onFaceInfo?(outFaceInfo: string): void; + final void Function(String outFaceInfo)? onFaceInfo; +

    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +

    参数 - - outFaceInfo - 输出参数,语音驱动插件处理后的人脸信息 JSON 字符串,包含以下字段: -
      -
    • faces:Object 序列。包含识别到的人脸信息,每一张人脸对应一个 Object。
    • -
    • blendshapes:Object。面捕系数集,命名符合 ARkit 标准,内部的键值对为每一个 blendshape 系数。blendshape 系数为浮点,取值范围为 [0.0,1.0]。
    • -
    • rotation:Object 序列。头部旋转量,包含以下三个键值对,取值为浮点数,范围为 [-180.0,180.0]: -
        -
      • pitch:头部俯仰角度。低头为正值,抬头为负值。
      • -
      • yaw:头部水平旋转角度。左转为正值,右转为负值。
      • -
      • roll:头部垂直旋转角度。右倾为正值,左倾为负值。
      • + + outFaceInfo + 输出参数,语音驱动插件处理后的人脸信息 JSON 字符串,包含以下字段:
          +
        • faces:Object 序列。包含识别到的人脸信息,每一张人脸对应一个 Object。
        • +
        • blendshapes:Object。面捕系数集,命名符合 ARkit 标准,内部的键值对为每一个 blendshape + 系数。blendshape 系数为浮点,取值范围为 [0.0,1.0]。
        • +
        • rotation:Object 序列。头部旋转量,包含以下三个键值对,取值为浮点数,范围为 [-180.0,180.0]:
            +
          • pitch:头部俯仰角度。低头为正值,抬头为负值。
          • +
          • yaw:头部水平旋转角度。左转为正值,右转为负值。
          • +
          • roll:头部垂直旋转角度。右倾为正值,左倾为负值。
          • +
          +
        • +
        • timestamp:String。输出结果的时间戳,单位为毫秒。
        - -
      • timestamp:String。输出结果的时间戳,单位为毫秒。
      • -
      -

      以下为 JSON 示例: -

      -{ - "faces":[{ - "blendshapes":{ - "eyeBlinkLeft":0.9, "eyeLookDownLeft":0.0, "eyeLookInLeft":0.0, "eyeLookOutLeft":0.0, "eyeLookUpLeft":0.0, - "eyeSquintLeft":0.0, "eyeWideLeft":0.0, "eyeBlinkRight":0.0, "eyeLookDownRight":0.0, "eyeLookInRight":0.0, - "eyeLookOutRight":0.0, "eyeLookUpRight":0.0, "eyeSquintRight":0.0, "eyeWideRight":0.0, "jawForward":0.0, - "jawLeft":0.0, "jawRight":0.0, "jawOpen":0.0, "mouthClose":0.0, "mouthFunnel":0.0, "mouthPucker":0.0, - "mouthLeft":0.0, "mouthRight":0.0, "mouthSmileLeft":0.0, "mouthSmileRight":0.0, "mouthFrownLeft":0.0, - "mouthFrownRight":0.0, "mouthDimpleLeft":0.0, "mouthDimpleRight":0.0, "mouthStretchLeft":0.0, "mouthStretchRight":0.0, - "mouthRollLower":0.0, "mouthRollUpper":0.0, "mouthShrugLower":0.0, "mouthShrugUpper":0.0, "mouthPressLeft":0.0, - "mouthPressRight":0.0, "mouthLowerDownLeft":0.0, "mouthLowerDownRight":0.0, "mouthUpperUpLeft":0.0, "mouthUpperUpRight":0.0, - "browDownLeft":0.0, "browDownRight":0.0, "browInnerUp":0.0, "browOuterUpLeft":0.0, "browOuterUpRight":0.0, - "cheekPuff":0.0, "cheekSquintLeft":0.0, "cheekSquintRight":0.0, "noseSneerLeft":0.0, "noseSneerRight":0.0, - "tongueOut":0.0 - }, - "rotation":{"pitch":30.0, "yaw":25.5, "roll":-15.5}, - - }], - "timestamp":"654879876546" -}
      -

      - - -
    +

    以下为 JSON 示例: +

    { "faces":[{ "blendshapes":{ + "eyeBlinkLeft":0.9, "eyeLookDownLeft":0.0, "eyeLookInLeft":0.0, + "eyeLookOutLeft":0.0, "eyeLookUpLeft":0.0, "eyeSquintLeft":0.0, + "eyeWideLeft":0.0, "eyeBlinkRight":0.0, "eyeLookDownRight":0.0, + "eyeLookInRight":0.0, "eyeLookOutRight":0.0, + "eyeLookUpRight":0.0, "eyeSquintRight":0.0, "eyeWideRight":0.0, + "jawForward":0.0, "jawLeft":0.0, "jawRight":0.0, "jawOpen":0.0, + "mouthClose":0.0, "mouthFunnel":0.0, "mouthPucker":0.0, + "mouthLeft":0.0, "mouthRight":0.0, "mouthSmileLeft":0.0, + "mouthSmileRight":0.0, "mouthFrownLeft":0.0, + "mouthFrownRight":0.0, "mouthDimpleLeft":0.0, + "mouthDimpleRight":0.0, "mouthStretchLeft":0.0, + "mouthStretchRight":0.0, "mouthRollLower":0.0, + "mouthRollUpper":0.0, "mouthShrugLower":0.0, + "mouthShrugUpper":0.0, "mouthPressLeft":0.0, + "mouthPressRight":0.0, "mouthLowerDownLeft":0.0, + "mouthLowerDownRight":0.0, "mouthUpperUpLeft":0.0, + "mouthUpperUpRight":0.0, "browDownLeft":0.0, + "browDownRight":0.0, "browInnerUp":0.0, "browOuterUpLeft":0.0, + "browOuterUpRight":0.0, "cheekPuff":0.0, "cheekSquintLeft":0.0, + "cheekSquintRight":0.0, "noseSneerLeft":0.0, + "noseSneerRight":0.0, "tongueOut":0.0 }, + "rotation":{"pitch":30.0, "yaw":25.5, "roll":-15.5}, }], + "timestamp":"654879876546" }
    +

    + + + +
    返回值
      -
    • : 人脸信息 JSON 解析成功。
    • -
    • : 人脸信息 JSON 解析失败。
    • +
    • : 人脸信息 JSON 解析成功。
    • +
    • : 人脸信息 JSON 解析失败。
    diff --git a/dita/RTC-NG/API/callback_imediaplayeraudioframeobserver_onframe.dita b/dita/RTC-NG/API/callback_imediaplayeraudioframeobserver_onframe.dita index 7cec9f9d234..d961483169e 100644 --- a/dita/RTC-NG/API/callback_imediaplayeraudioframeobserver_onframe.dita +++ b/dita/RTC-NG/API/callback_imediaplayeraudioframeobserver_onframe.dita @@ -1,47 +1,47 @@ - <ph keyref="onFrame_IMediaPlayerAudioFrameObserver" /> + <ph keyref="onFrame_IMediaPlayerAudioFrameObserver"/> 已获取音频帧回调。 - +

    - - - - onFrame?(frame: AudioPcmFrame): void; - public virtual bool OnFrame(AudioPcmFrame frame) + + + + onFrame?(frame: AudioPcmFrame): void; + public virtual bool OnFrame(AudioPcmFrame frame) { return true; } - onFrame?(frame: AudioPcmFrame): void; - final void Function(AudioPcmFrame frame)? onFrame; -

    + onFrame?(frame: AudioPcmFrame): void; + final void Function(AudioPcmFrame frame)? onFrame; +

    注册音频帧观测器后,每次接收到一帧音频帧时,都会触发该回调,报告音频帧信息。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - frame - -

    音频帧信息,详见

    -
    -
    + + frame + +

    音频帧信息,详见

    +
    +
    返回值 -

    无实际含义。

    +

    无实际含义。

    -
    \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onreaddata.dita b/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onreaddata.dita index b228090cf62..3be42dc13da 100644 --- a/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onreaddata.dita +++ b/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onreaddata.dita @@ -1,32 +1,33 @@ - <ph keyref="onReadData" /> + <ph keyref="onReadData"/> 读取媒体资源数据回调。 - +

    - int onReadData(ByteBuffer buffer, int bufferSize); + int onReadData(ByteBuffer buffer, int bufferSize); - typedef int(^AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, unsigned char * _Nullable buffer, int bufferSize); + typedef int(^AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, unsigned char * _Nullable buffer, int bufferSize); - virtual int onReadData(unsigned char *buffer, int bufferSize) = 0; + virtual int onReadData(unsigned char *buffer, int bufferSize) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnReadData, TArray<int64>, buffer, int, bufferSize); - - public virtual int OnReadData(IntPtr bufferPtr, int bufferSize) + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnReadData, TArray<int64>, buffer, int, bufferSize); + + public virtual int OnReadData(IntPtr bufferPtr, int bufferSize) { return 0; - } - -

    + } + + +

    使用 打开媒体资源时,SDK 会触发该回调向你请求传入媒体资源数据的 Buffer。

    @@ -34,25 +35,28 @@
    参数 - - playerKit - 媒体播放器协议。详见 - - - buffer - bufferPtr - 输入参数,数据 Buffer,单位为字节。请将 SDK 报告的 bufferSize 数据写入到此参数中。 - - - bufferSize - 数据 Buffer 的长度,单位为字节。 - -
    + + playerKit + 媒体播放器协议。详见 + + + buffer + bufferPtr + 输入参数,数据 Buffer,单位为字节。请将 SDK 报告的 bufferSize + 数据写入到此参数中。 + + + bufferSize + 数据 Buffer 的长度,单位为字节。 + + +
    返回值
      -
    • 如果读取数据成功,请在返回值中传入你实际读取的数据长度,单位为字节。
    • -
    • 如果读取数据失败,请在返回值中传入 0。
    • -
    +
  • 如果读取数据成功,请在返回值中传入你实际读取的数据长度,单位为字节。
  • +
  • 如果读取数据失败,请在返回值中传入 0。
  • + +
    diff --git a/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onseek.dita b/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onseek.dita index 7eb0949c9cf..93b3606df01 100644 --- a/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onseek.dita +++ b/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onseek.dita @@ -1,65 +1,69 @@ - <ph keyref="onSeek" /> + <ph keyref="onSeek"/> 定位媒体资源数据回调。 - +

    - long onSeek(long offset, int whence); + long onSeek(long offset, int whence); - typedef long long(^AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, long long offset, int whence); + typedef long long(^AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, long long offset, int whence); - virtual int64_t onSeek(int64_t offset, int whence) = 0; + virtual int64_t onSeek(int64_t offset, int whence) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnSeek, int64, offset, int, whence); - - public virtual Int64 OnSeek(Int64 offset, int whence) + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnSeek, int64, offset, int, whence); + + public virtual Int64 OnSeek(Int64 offset, int whence) { return 0; } - -

    + + +

    -

    使用 打开媒体资源时,SDK 会触发该回调,向你请求定位到媒体资源中的指定位置。

    +

    使用 打开媒体资源时,SDK + 会触发该回调,向你请求定位到媒体资源中的指定位置。

    参数 - - playerKit - 媒体播放器协议。详见 - - - offset - 输入参数。定位位置相对于起点的偏移量,单位为字节。取值可正可负。 - - - whence - 输入参数。表示定位的起点位置。可以为如下值: - -
      -
    • 0:起点为数据的头,定位后的实际数据偏移量为 offset
    • -
    • 1:起点为当前位置,定位后的实际数据偏移量为当前位置加上 offset
    • -
    • 2:起点为数据的尾,定位后的实际数据偏移量为文件长度加上 offset
    • -
    • 65536:不执行定位操作,返回文件大小。建议在播放 MP3、WAV 等纯音频文件时使用该参数值。
    • -
    -
    -
    + + playerKit + 媒体播放器协议。详见 + + + offset + 输入参数。定位位置相对于起点的偏移量,单位为字节。取值可正可负。 + + + whence + 输入参数。表示定位的起点位置。可以为如下值:
      +
    • 0:起点为数据的头,定位后的实际数据偏移量为 offset
    • +
    • 1:起点为当前位置,定位后的实际数据偏移量为当前位置加上 offset
    • +
    • 2:起点为数据的尾,定位后的实际数据偏移量为文件长度加上 offset
    • +
    • 65536:不执行定位操作,返回文件大小。建议在播放 MP3、WAV 等纯音频文件时使用该参数值。
    • +
    +
    + +
    返回值
      -
    • whence65536 时,返回媒体文件大小。
    • -
    • whence0/1/2 时,返回实际定位后的数据偏移量。
    • -
    • -1:定位失败。
    • -
    +
  • whence65536 时,返回媒体文件大小。
  • +
  • whence 为 + 0/1/2 + 时,返回实际定位后的数据偏移量。
  • +
  • -1:定位失败。
  • + +
    diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onagoracdntokenwillexpire.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onagoracdntokenwillexpire.dita index a69d3656a27..cef98219d52 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onagoracdntokenwillexpire.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onagoracdntokenwillexpire.dita @@ -1,32 +1,35 @@ - <ph keyref="onAgoraCDNTokenWillExpire" /> + <ph keyref="onAgoraCDNTokenWillExpire"/> 提示鉴权信息即将过期。 - +

    - void onAgoraCDNTokenWillExpire(); + void onAgoraCDNTokenWillExpire(); - - (void)onAgoraCDNTokenWillExpire; + - (void)onAgoraCDNTokenWillExpire; - virtual void onAgoraCDNTokenWillExpire() = 0; + virtual void onAgoraCDNTokenWillExpire() = 0; - onAgoraCDNTokenWillExpire?(): void; - public virtual void OnAgoraCDNTokenWillExpire() {} - onAgoraCDNTokenWillExpire?(): void; - final void Function()? onAgoraCDNTokenWillExpire; -

    + onAgoraCDNTokenWillExpire?(): void; + public virtual void OnAgoraCDNTokenWillExpire() {} + onAgoraCDNTokenWillExpire?(): void; + final void Function()? onAgoraCDNTokenWillExpire; +

    -

    当你调用 切换媒体资源的时候,如果 ts 过期,该回调会被触发,提示你更新鉴权信息。你需要调用 传入新的鉴权信息,以更新该媒体资源网络路径的鉴权信息。更新鉴权信息后,你还需要调用 才能完成线路切换。

    +

    当你调用 切换媒体资源的时候,如果 ts + 过期,该回调会被触发,提示你更新鉴权信息。你需要调用 + 传入新的鉴权信息,以更新该媒体资源网络路径的鉴权信息。更新鉴权信息后,你还需要调用 + 才能完成线路切换。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita index 73acfa66f36..85b2b505e50 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita @@ -13,17 +13,17 @@

    - void onAudioVolumeIndication(int volume); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + void onAudioVolumeIndication(int volume); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit volumeIndicationDidReceive:(NSInteger)volume; - virtual void onAudioVolumeIndication(int volume) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioVolumeIndicationSource, int, volume); - onAudioVolumeIndication?(volume: number): void; - public virtual void OnAudioVolumeIndication(int volume) {} - onAudioVolumeIndication?(volume: number): void; - final void Function(int volume)? onAudioVolumeIndication; -

    + virtual void onAudioVolumeIndication(int volume) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioVolumeIndicationSource, int, volume); + onAudioVolumeIndication?(volume: number): void; + public virtual void OnAudioVolumeIndication(int volume) {} + onAudioVolumeIndication?(volume: number): void; + final void Function(int volume)? onAudioVolumeIndication; +

    SDK 每 200 毫秒触发一次该回调,报告媒体播放器当前的音量。

    @@ -31,10 +31,11 @@
    参数 - - volume - 播放器的当前音量,取值范围为 [0,255]。 - -
    + + volume + 播放器的当前音量,取值范围为 [0,255]。 + + +
    diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_oncompleted.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_oncompleted.dita index a9a54f13b72..bacb22c7866 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_oncompleted.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_oncompleted.dita @@ -13,15 +13,15 @@

    - void onCompleted(); + void onCompleted(); - - virtual void onCompleted() = 0; - onCompleted?(): void; - public virtual void OnCompleted() { } - onCompleted?(): void; - final void Function()? onCompleted; -

    + + virtual void onCompleted() = 0; + onCompleted?(): void; + public virtual void OnCompleted() { } + onCompleted?(): void; + final void Function()? onCompleted; +

    diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita index 746dd1ac952..b40adeab77b 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita @@ -1,30 +1,30 @@ - <ph keyref="onMetaData" /> + <ph keyref="onMetaData"/> 报告已获取媒体附属信息。 - +

    - void onMetaData(Constants.MediaPlayerMetadataType type, byte[] data); + void onMetaData(Constants.MediaPlayerMetadataType type, byte[] data); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveData:(NSString *_Nullable)data length:(NSInteger)length; - virtual void onMetaData(const void* data, int length) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMetaDataSource, int64, data, int, length); - onMetaData?(data: Uint8Array, length: number): void; - public virtual void OnMetaData(byte[] data, int length) { } - onMetaData?(data: Uint8Array, length: number): void; - final void Function(Uint8List data, int length)? onMetaData; -

    + virtual void onMetaData(const void* data, int length) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMetaDataSource, int64, data, int, length); + onMetaData?(data: Uint8Array, length: number): void; + public virtual void OnMetaData(byte[] data, int length) { } + onMetaData?(data: Uint8Array, length: number): void; + final void Function(Uint8List data, int length)? onMetaData; +

    解析媒体附属信息后时,SDK 会触发该回调,报告媒体附属信息的数据类型和具体数据。

    @@ -32,22 +32,23 @@
    参数 - - - - - - type - 媒体附属信息数据类型,详见 - - - data - 具体数据,用户自定义格式的数据。 - - - length - 数据长度,单位为 byte。 - -
    + + + + + + type + 媒体附属信息数据类型,详见 + + + data + 具体数据,用户自定义格式的数据。 + + + length + 数据长度,单位为 byte。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita index eef88553549..479591b8325 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita @@ -1,8 +1,12 @@ - <ph keyref="onPlayBufferUpdated"/> - 报告当前缓冲数据能播放的时间。 + + <ph keyref="onPlayBufferUpdated"/> + + + 报告当前缓冲数据能播放的时间。 + @@ -13,42 +17,40 @@

    - void onPlayBufferUpdated(long playCachedBuffer); + void onPlayBufferUpdated(long playCachedBuffer); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didPlayBufferUpdated:(NSInteger)playCachedBuffer NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didPlayBufferUpdated:)); - virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0; + virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayBufferUpdated, int64, playCachedBuffer); - onPlayBufferUpdated?(playCachedBuffer: number): void; - public virtual void OnPlayBufferUpdated(Int64 playCachedBuffer) { } - onPlayBufferUpdated?(playCachedBuffer: number): void; - final void Function(int playCachedBuffer)? onPlayBufferUpdated; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayBufferUpdated, int64, playCachedBuffer); + onPlayBufferUpdated?(playCachedBuffer: number): void; + public virtual void OnPlayBufferUpdated(Int64 playCachedBuffer) { } + onPlayBufferUpdated?(playCachedBuffer: number): void; + final void Function(int playCachedBuffer)? onPlayBufferUpdated; +

    -

    - 播放在线媒体资源的过程中,SDK 会每隔 1 秒触发一次该回调,报告当前缓冲的数据能支持的播放时间。 - - - - -

      -
    • 当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回
    • -
    • 当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回
    • -

    +

    播放在线媒体资源的过程中,SDK 会每隔 1 秒触发一次该回调,报告当前缓冲的数据能支持的播放时间。

      +
    • 当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回
    • +
    • 当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回
    • +
    +

    参数 - - - - - - playCachedBuffer - 当前缓冲的数据能支持的播放时间 (毫秒)。 - -
    + + + + + + playCachedBuffer + 当前缓冲的数据能支持的播放时间 (毫秒)。 + + +
    diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita index ed7995277d9..07adc3768a5 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita @@ -13,41 +13,45 @@

    - void onPlayerCacheStats(CacheStatistics stats); - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit cacheStats:(AgoraMediaPlayerCacheStatistics *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:cacheStats:)); - virtual void onPlayerCacheStats(const media::base::CacheStatistics& stats) { + void onPlayerCacheStats(CacheStatistics stats); + (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit cacheStats:(AgoraMediaPlayerCacheStatistics *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:cacheStats:)); + virtual void onPlayerCacheStats(const media::base::CacheStatistics& stats) { (void)stats; } - - onPlayerCacheStats?(stats: CacheStatistics): void; - public virtual void OnPlayerCacheStats(CacheStatistics stats) + + onPlayerCacheStats?(stats: CacheStatistics): void; + public virtual void OnPlayerCacheStats(CacheStatistics stats) { } - onPlayerCacheStats?(stats: CacheStatistics): void; - final void Function(CacheStatistics stats)? onPlayerCacheStats;

    + onPlayerCacheStats?(stats: CacheStatistics): void; + final void Function(CacheStatistics stats)? onPlayerCacheStats; +

    详情
    - -
    自从
    -
    v4.3.0
    -
    + +
    自从
    +
    v4.3.0
    +
    -

    调用 方法且设置 enableCache 成员为 后,SDK 会在媒体文件打开后每秒触发一次该回调,报告当前缓存的媒体文件的统计数据。

    +

    调用 方法且设置 enableCache 成员为 + 后,SDK + 会在媒体文件打开后每秒触发一次该回调,报告当前缓存的媒体文件的统计数据。

    参数 - - stats - info - 缓存中的媒体资源的相关信息,详见 - - - - - -
    -
    + + stats + info + 缓存中的媒体资源的相关信息,详见 + + + + + + + + diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita index 158f08642be..11e0e5b797d 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita @@ -1,68 +1,71 @@ - <ph keyref="onPlayerEvent" /> + <ph keyref="onPlayerEvent"/> 报告播放器的事件。 - +

    - void onPlayerEvent(Constants.MediaPlayerEvent eventCode, long elapsedTime, String message); + void onPlayerEvent(Constants.MediaPlayerEvent eventCode, long elapsedTime, String message); - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didOccurEvent:(AgoraMediaPlayerEvent)eventCode elapsedTime:(NSInteger)elapsedTime message:(NSString *_Nullable)message; - virtual void onPlayerEvent(media::base::MEDIA_PLAYER_EVENT eventCode, int64_t elapsedTime, const char* message) = 0; + virtual void onPlayerEvent(media::base::MEDIA_PLAYER_EVENT eventCode, int64_t elapsedTime, const char* message) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlayerEvent, EMEDIA_PLAYER_EVENT, eventCode, int64, elapsedTime, const FString, message); - onPlayerEvent?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlayerEvent, EMEDIA_PLAYER_EVENT, eventCode, int64, elapsedTime, const FString, message); + onPlayerEvent?( eventCode: MediaPlayerEvent, elapsedTime: number, message: string ): void; - public virtual void OnPlayerEvent(MEDIA_PLAYER_EVENT eventCode, Int64 elapsedTime, string message) { } - onPlayerEvent?( + public virtual void OnPlayerEvent(MEDIA_PLAYER_EVENT eventCode, Int64 elapsedTime, string message) { } + onPlayerEvent?( eventCode: MediaPlayerEvent, elapsedTime: number, message: string ): void; - final void Function( + final void Function( MediaPlayerEvent eventCode, int elapsedTime, String message)? onPlayerEvent; -

    +

      -
    • 调用 定位播放后,SDK 会触发该回调,报告定位播放的结果。
    • -
    • 调用 设置使用的音轨后,SDK 会触发该回调,报告音轨已改变。
    • -
    +
  • 调用 定位播放后,SDK 会触发该回调,报告定位播放的结果。
  • +
  • 调用 设置使用的音轨后,SDK + 会触发该回调,报告音轨已改变。
  • + +
    参数 - - playerKit - 详见 - - - eventCode - 播放器事件,详见 - - - elapsedTime - 发生事件的时间 (毫秒)。 - - - message - 事件的信息。 - -
    + + playerKit + 详见 + + + eventCode + 播放器事件,详见 + + + elapsedTime + 发生事件的时间 (毫秒)。 + + + message + 事件的信息。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita index 5b38ec29307..4ddfb8a453d 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita @@ -1,30 +1,30 @@ - <ph keyref="onPlayerInfoUpdated" /> + <ph keyref="onPlayerInfoUpdated"/> 媒体播放器相关信息发生改变回调。 - +

    - void onPlayerInfoUpdated(PlayerUpdatedInfo info); + void onPlayerInfoUpdated(PlayerUpdatedInfo info); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit infoUpdated:(AgoraMediaPlayerUpdatedInfo *_Nonnull)info; + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit infoUpdated:(AgoraMediaPlayerUpdatedInfo *_Nonnull)info; - virtual void onPlayerInfoUpdated(const media::base::PlayerUpdatedInfo& info) = 0; + virtual void onPlayerInfoUpdated(const media::base::PlayerUpdatedInfo& info) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayerInfoUpdated, const FPlayerUpdatedInfo&, info); - onPlayerInfoUpdated?(info: PlayerUpdatedInfo): void; - public virtual void OnPlayerInfoUpdated(PlayerUpdatedInfo info) { } - onPlayerInfoUpdated?(info: PlayerUpdatedInfo): void; - final void Function(PlayerUpdatedInfo info)? onPlayerInfoUpdated; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayerInfoUpdated, const FPlayerUpdatedInfo&, info); + onPlayerInfoUpdated?(info: PlayerUpdatedInfo): void; + public virtual void OnPlayerInfoUpdated(PlayerUpdatedInfo info) { } + onPlayerInfoUpdated?(info: PlayerUpdatedInfo): void; + final void Function(PlayerUpdatedInfo info)? onPlayerInfoUpdated; +

    当媒体播放器相关信息发生改变时,SDK 会触发该回调。你可用其进行问题定位和排查。

    @@ -32,14 +32,15 @@
    参数 - - - - - - info - 媒体播放器相关信息。详见 - -
    + + + + + + info + 媒体播放器相关信息。详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita index f7f7eac33d7..b775d8e1512 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita @@ -13,41 +13,43 @@

    - void onPlayerPlaybackStats(PlayerPlaybackStats stats); - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playbackStats:(AgoraMediaPlayerPlaybackStats *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:playbackStats:)); - virtual void onPlayerPlaybackStats(const media::base::PlayerPlaybackStats& stats) { + void onPlayerPlaybackStats(PlayerPlaybackStats stats); + (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playbackStats:(AgoraMediaPlayerPlaybackStats *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:playbackStats:)); + virtual void onPlayerPlaybackStats(const media::base::PlayerPlaybackStats& stats) { (void)stats; } - - onPlayerPlaybackStats?(stats: PlayerPlaybackStats): void; - public virtual void OnPlayerPlaybackStats(PlayerPlaybackStats stats) + + onPlayerPlaybackStats?(stats: PlayerPlaybackStats): void; + public virtual void OnPlayerPlaybackStats(PlayerPlaybackStats stats) { } - onPlayerPlaybackStats?(stats: PlayerPlaybackStats): void; - final void Function(PlayerPlaybackStats stats)? onPlayerPlaybackStats;

    + onPlayerPlaybackStats?(stats: PlayerPlaybackStats): void; + final void Function(PlayerPlaybackStats stats)? onPlayerPlaybackStats; +

    详情
    - -
    自从
    -
    v4.3.0
    -
    + +
    自从
    +
    v4.3.0
    +

    当媒体资源开始播放后,SDK 会每秒触发一次该回调,报告媒体资源的相关信息。

    参数 - - stats - info - 媒体资源的相关信息,详见 - - - playerKit - 实例。 - -
    -
    + + stats + info + 媒体资源的相关信息,详见 + + + playerKit + 实例。 + + + + diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita index c1b5fc79add..37a689d225e 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita @@ -1,38 +1,38 @@ - <ph keyref="onPlayerSourceStateChanged" /> + <ph keyref="onPlayerSourceStateChanged"/> 报告播放器状态改变。 - +

    - void onPlayerStateChanged(Constants.MediaPlayerState state, Constants.MediaPlayerReason reason); + void onPlayerStateChanged(Constants.MediaPlayerState state, Constants.MediaPlayerReason reason); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didChangedToState:(AgoraMediaPlayerState)state reason:(AgoraMediaPlayerReason)reason NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didChangedTo:reason:)); - virtual void onPlayerSourceStateChanged(media::base::MEDIA_PLAYER_STATE state, + virtual void onPlayerSourceStateChanged(media::base::MEDIA_PLAYER_STATE state, media::base::MEDIA_PLAYER_REASON reason) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlayerSourceStateChanged, EMEDIA_PLAYER_STATE, state, FENUMWRAP_MEDIA_PLAYER_ERROR, ec); - onPlayerSourceStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlayerSourceStateChanged, EMEDIA_PLAYER_STATE, state, FENUMWRAP_MEDIA_PLAYER_ERROR, ec); + onPlayerSourceStateChanged?( state: MediaPlayerState, reason: MediaPlayerReason ): void; - public virtual void OnPlayerSourceStateChanged(MEDIA_PLAYER_STATE state, MEDIA_PLAYER_REASON reason) - onPlayerSourceStateChanged?( + public virtual void OnPlayerSourceStateChanged(MEDIA_PLAYER_STATE state, MEDIA_PLAYER_REASON reason) + onPlayerSourceStateChanged?( state: MediaPlayerState, reason: MediaPlayerReason ): void; - final void Function(MediaPlayerState state, MediaPlayerReason reason)? + final void Function(MediaPlayerState state, MediaPlayerReason reason)? onPlayerSourceStateChanged; -

    +

    当播放器状态改变时,SDK 会触发该回调,报告新的播放状态。

    @@ -40,18 +40,19 @@
    参数 - - - - - - state - 新的播放状态,详见 - - - reason - 播放器状态改变的原因,详见 - -
    + + + + + + state + 新的播放状态,详见 + + + reason + 播放器状态改变的原因,详见 + + +
    diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita index 5170ae25056..cf69d44f571 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita @@ -1,46 +1,47 @@ - <ph keyref="onPlayerSrcInfoChanged" /> + <ph keyref="onPlayerSrcInfoChanged"/> 媒体资源视频码率变化回调。 - +

    - void onPlayerSrcInfoChanged(SrcInfo from, SrcInfo to); + void onPlayerSrcInfoChanged(SrcInfo from, SrcInfo to); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playerSrcInfoDidChange:(AgoraMediaPlayerSrcInfo *_Nonnull)to from:(AgoraMediaPlayerSrcInfo *_Nonnull)from; + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playerSrcInfoDidChange:(AgoraMediaPlayerSrcInfo *_Nonnull)to from:(AgoraMediaPlayerSrcInfo *_Nonnull)from; - virtual void onPlayerSrcInfoChanged(const media::base::SrcInfo& from, const media::base::SrcInfo& to) = 0; + virtual void onPlayerSrcInfoChanged(const media::base::SrcInfo& from, const media::base::SrcInfo& to) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlayerSrcInfoChanged, const FSrcInfo&, from, const FSrcInfo&, to); - onPlayerSrcInfoChanged?(from: SrcInfo, to: SrcInfo): void; - public virtual void OnPlayerSrcInfoChanged(SrcInfo from, SrcInfo to) {} - onPlayerSrcInfoChanged?(from: SrcInfo, to: SrcInfo): void; - final void Function(SrcInfo from, SrcInfo to)? onPlayerSrcInfoChanged; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlayerSrcInfoChanged, const FSrcInfo&, from, const FSrcInfo&, to); + onPlayerSrcInfoChanged?(from: SrcInfo, to: SrcInfo): void; + public virtual void OnPlayerSrcInfoChanged(SrcInfo from, SrcInfo to) {} + onPlayerSrcInfoChanged?(from: SrcInfo, to: SrcInfo): void; + final void Function(SrcInfo from, SrcInfo to)? onPlayerSrcInfoChanged; +

    参数 - - - - - - from - 变化前,媒体资源播放时的视频码率相关信息。详见 - - - to - 变化后,媒体资源播放时的视频码率相关信息。详见 - -
    + + + + + + from + 变化前,媒体资源播放时的视频码率相关信息。详见 + + + to + 变化后,媒体资源播放时的视频码率相关信息。详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita index 2fd8291edaf..e7b08f7c911 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita @@ -1,29 +1,29 @@ - <ph keyref="onPositionChanged" /> + <ph keyref="onPositionChanged"/> 报告当前媒体资源的播放进度。 - +

    - void onPositionChanged(long positionMs, long timestampMs); - - (void)AgoraMediaPlayer:(AgoraMediaPlayer *_Nonnull)playerKit + void onPositionChanged(long positionMs, long timestampMs); + - (void)AgoraMediaPlayer:(AgoraMediaPlayer *_Nonnull)playerKit didChangedToPosition:(NSInteger)positionMs atTimestamp:(NSTimeInterval)timestampMs NS_SWIFT_NAME(AgoraMediaPlayer(_:didChangedToPosition:atTimestamp:)); - virtual void onPositionChanged(int64_t positionMs, int64_t timestampMs) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPositionChanged, int64, position_ms); - onPositionChanged?(positionMs: number): void; - public virtual void OnPositionChanged(Int64 position_ms) { } - onPositionChanged?(positionMs: number): void; - final void Function(int position)? onPositionChanged; -

    + virtual void onPositionChanged(int64_t positionMs, int64_t timestampMs) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPositionChanged, int64, position_ms); + onPositionChanged?(positionMs: number): void; + public virtual void OnPositionChanged(Int64 position_ms) { } + onPositionChanged?(positionMs: number): void; + final void Function(int position)? onPositionChanged; +

    播放媒体文件时,SDK 每隔 1 秒会自动触发该回调,报告当前播放进度。

    @@ -31,19 +31,20 @@
    参数 - - - - - - positionMs - position_ms - 当前播放进度,单位为 ms。 - - - timestampMs - 当前播放进度的 NTP 时间戳,单位为 ms。 - -
    + + + + + + positionMs + position_ms + 当前播放进度,单位为 ms。 + + + timestampMs + 当前播放进度的 NTP 时间戳,单位为 ms。 + + +
    diff --git a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita index bedd8938378..bcd283e9bd4 100644 --- a/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita +++ b/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita @@ -1,48 +1,49 @@ - <ph keyref="onPreloadEvent" /> + <ph keyref="onPreloadEvent"/> 报告预加载媒体资源的事件。 - +

    - void onPreloadEvent(String src, Constants.MediaPlayerPreloadEvent event); + void onPreloadEvent(String src, Constants.MediaPlayerPreloadEvent event); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didPreloadEvent:(AgoraMediaPlayerPreloadEvent)event; - virtual void onPreloadEvent(const char* src, media::base::PLAYER_PRELOAD_EVENT event) = 0; + virtual void onPreloadEvent(const char* src, media::base::PLAYER_PRELOAD_EVENT event) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPreloadEvent, const FString, src, EPLAYER_PRELOAD_EVENT, event); - onPreloadEvent?(src: string, event: PlayerPreloadEvent): void; - public virtual void OnPreloadEvent(string src, PLAYER_PRELOAD_EVENT @event) { } - onPreloadEvent?(src: string, event: PlayerPreloadEvent): void; - final void Function(String src, PlayerPreloadEvent event)? onPreloadEvent; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPreloadEvent, const FString, src, EPLAYER_PRELOAD_EVENT, event); + onPreloadEvent?(src: string, event: PlayerPreloadEvent): void; + public virtual void OnPreloadEvent(string src, PLAYER_PRELOAD_EVENT @event) { } + onPreloadEvent?(src: string, event: PlayerPreloadEvent): void; + final void Function(String src, PlayerPreloadEvent event)? onPreloadEvent; +

    参数 - - - - - + + + + + src 媒体资源的路径。 - - event - @event - 预加载媒体资源时发生的事件。详见 - -
    + + event + @event + 预加载媒体资源时发生的事件。详见 + + +
    diff --git a/dita/RTC-NG/API/callback_imediaplayervideoframeobserver_onframe.dita b/dita/RTC-NG/API/callback_imediaplayervideoframeobserver_onframe.dita index 7a294ccd50b..741513ca958 100644 --- a/dita/RTC-NG/API/callback_imediaplayervideoframeobserver_onframe.dita +++ b/dita/RTC-NG/API/callback_imediaplayervideoframeobserver_onframe.dita @@ -13,14 +13,14 @@

    - - - - onFrame?(frame: VideoFrame): void; - - onFrame?(frame: VideoFrame): void; - final void Function(VideoFrame frame)? onFrame; -

    + + + + onFrame?(frame: VideoFrame): void; + + onFrame?(frame: VideoFrame): void; + final void Function(VideoFrame frame)? onFrame; +

    注册视频观测器后,每次接收到一帧视频时,都会触发该回调,报告视频帧信息。

    @@ -28,10 +28,11 @@
    参数 - - frame - 视频帧信息,详见 - -
    + + frame + 视频帧信息,详见 + + +
    diff --git a/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderinfoupdated.dita b/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderinfoupdated.dita index 15750de96ad..e333b8c6028 100644 --- a/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderinfoupdated.dita +++ b/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderinfoupdated.dita @@ -1,59 +1,62 @@ - <ph keyref="onRecorderInfoUpdated" /> + <ph keyref="onRecorderInfoUpdated"/> 录制信息更新回调。 - +

    - void onRecorderInfoUpdated(String channelId, int uid, RecorderInfo info); - - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder informationDidUpdated:(NSString * _Nonnull)channelId uid:(NSUInteger)uid info:(AgoraMediaRecorderInfo* _Nonnull)info; - virtual void onRecorderInfoUpdated(const char* channelId, rtc::uid_t uid, const RecorderInfo& info) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRecorderInfoUpdated, FString, channelId, int64, uid, const FRecorderInfo&, info); - onRecorderInfoUpdated?( + void onRecorderInfoUpdated(String channelId, int uid, RecorderInfo info); + - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder informationDidUpdated:(NSString * _Nonnull)channelId uid:(NSUInteger)uid info:(AgoraMediaRecorderInfo* _Nonnull)info; + virtual void onRecorderInfoUpdated(const char* channelId, rtc::uid_t uid, const RecorderInfo& info) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRecorderInfoUpdated, FString, channelId, int64, uid, const FRecorderInfo&, info); + onRecorderInfoUpdated?( channelId: string, uid: number, info: RecorderInfo ): void; - public virtual void OnRecorderInfoUpdated(string channelId, uint uid, RecorderInfo info) {} - onRecorderInfoUpdated?( + public virtual void OnRecorderInfoUpdated(string channelId, uint uid, RecorderInfo info) {} + onRecorderInfoUpdated?( channelId: string, uid: number, info: RecorderInfo ): void; - final void Function(String channelId, int uid, RecorderInfo info)? + final void Function(String channelId, int uid, RecorderInfo info)? onRecorderInfoUpdated; -

    +

    -

    成功注册该回调并开启音视频流录制后,SDK 会根据你在 中设置的 recorderInfoUpdateInterval 的值周期性触发该回调,报告当前录制文件的文件名、时长和大小。

    +

    成功注册该回调并开启音视频流录制后,SDK 会根据你在 中设置的 + recorderInfoUpdateInterval + 的值周期性触发该回调,报告当前录制文件的文件名、时长和大小。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - + + + + - - + + - info - 录制文件信息。详见 - + info + 录制文件信息。详见 + recorder - 对象。 + 对象。 -
    + +
    diff --git a/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderstatechanged.dita b/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderstatechanged.dita index 772d0b7ca2a..a0228144684 100644 --- a/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderstatechanged.dita +++ b/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderstatechanged.dita @@ -13,26 +13,26 @@

    - void onRecorderStateChanged(String channelId, int uid, int state, int reason); - - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder stateDidChanged:(NSString * _Nonnull)channelId uid:(NSUInteger)uid state:(AgoraMediaRecorderState)state reason:(AgoraMediaRecorderReasonCode)reason; - virtual void onRecorderStateChanged(const char* channelId, rtc::uid_t uid, RecorderState state, RecorderReasonCode reason) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRecorderStateChanged, FString, channelId, int64, uid, FENUMWRAP_RecorderState, state, ERecorderErrorCode, error); - onRecorderStateChanged?( + void onRecorderStateChanged(String channelId, int uid, int state, int reason); + - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder stateDidChanged:(NSString * _Nonnull)channelId uid:(NSUInteger)uid state:(AgoraMediaRecorderState)state reason:(AgoraMediaRecorderReasonCode)reason; + virtual void onRecorderStateChanged(const char* channelId, rtc::uid_t uid, RecorderState state, RecorderReasonCode reason) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRecorderStateChanged, FString, channelId, int64, uid, FENUMWRAP_RecorderState, state, ERecorderErrorCode, error); + onRecorderStateChanged?( channelId: string, uid: number, state: RecorderState, reason: RecorderReasonCode ): void; - public virtual void OnRecorderStateChanged(string channelId, uint uid, RecorderState state, RecorderReasonCode reason) - onRecorderStateChanged?( + public virtual void OnRecorderStateChanged(string channelId, uint uid, RecorderState state, RecorderReasonCode reason) + onRecorderStateChanged?( channelId: string, uid: number, state: RecorderState, reason: RecorderReasonCode ): void; - final void Function(String channelId, int uid, RecorderState state, + final void Function(String channelId, int uid, RecorderState state, RecorderReasonCode reason)? onRecorderStateChanged; -

    +

    音视频流录制状态发生改变时,SDK 会触发该回调,报告当前的录制状态和引起录制状态改变的原因。

    @@ -40,44 +40,44 @@
    <ph keyref="callback-section-title"/> - - recorder - 对象。 - - - channelId - 频道名称。 - - - uid - 用户 ID。 - - - state - 当前的录制状态。详见 - 当前的录制状态: - - -
      -
    • (-1):音视频流录制出错。
    • -
    • (2):音视频流录制开始。
    • -
    • (3):音视频流录制停止。
    • -
    -
    - - error - 录制状态出错的原因。详见 - 录制状态出错的原因: - - -
      -
    • (0):一切正常。
    • -
    • (1):录制文件写入失败。
    • -
    • (2):没有可录制的音视频流或者录制的音视频流中断超过 5 秒。
    • -
    • (3):录制时长超出上限。
    • -
    • (4):录制配置改变。
    • -
    -
    -
    + + recorder + 对象。 + + + channelId + 频道名称。 + + + uid + 用户 ID。 + + + state + 当前的录制状态。详见 + 当前的录制状态:
      +
    • (-1):音视频流录制出错。
    • +
    • (2):音视频流录制开始。
    • +
    • (3):音视频流录制停止。
    • +
    +
    +
    + + error + 录制状态出错的原因。详见 + 录制状态出错的原因:
      +
    • (0):一切正常。
    • +
    • (1):录制文件写入失败。
    • +
    • (2):没有可录制的音视频流或者录制的音视频流中断超过 5 + 秒。
    • +
    • (3):录制时长超出上限。
    • +
    • (4):录制配置改变。
    • +
    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_imetadataobserver_getmaxmetadatasize.dita b/dita/RTC-NG/API/callback_imetadataobserver_getmaxmetadatasize.dita index 18ceb7784ca..4cc2eaa8be1 100644 --- a/dita/RTC-NG/API/callback_imetadataobserver_getmaxmetadatasize.dita +++ b/dita/RTC-NG/API/callback_imetadataobserver_getmaxmetadatasize.dita @@ -1,36 +1,39 @@ - <ph keyref="getMaxMetadataSize" /> + <ph keyref="getMaxMetadataSize"/> 请求最大的 metadata 大小。 - +

    - public abstract int getMaxMetadataSize(); - - (NSInteger)metadataMaxSize; - virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMaxMetadataSize); - - public virtual int GetMaxMetadataSize() + public abstract int getMaxMetadataSize(); + - (NSInteger)metadataMaxSize; + virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; } + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMaxMetadataSize); + + public virtual int GetMaxMetadataSize() { return 0; } - -

    + + +

    -

    在成功调用 完成注册后,SDK 会在发送每一个视频帧时触发一次该回调;你需要在该方法的返回值中指定 metadata 的最大数据大小。

    +

    在成功调用 完成注册后,SDK + 会在发送每一个视频帧时触发一次该回调;你需要在该方法的返回值中指定 metadata 的最大数据大小。

    返回值 -

    指定 metadata 中 buffer 的最大数据大小,单位为 Byte,最大值不超过 1024。请确保在该返回值中进行传参。

    +

    指定 metadata 中 buffer 的最大数据大小,单位为 Byte,最大值不超过 + 1024。请确保在该返回值中进行传参。

    -
    \ 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 dfa3565f711..ba9e993059e 100644 --- a/dita/RTC-NG/API/callback_imetadataobserver_onmetadatareceived.dita +++ b/dita/RTC-NG/API/callback_imetadataobserver_onmetadatareceived.dita @@ -1,53 +1,54 @@ - <ph keyref="onMetadataReceived" /> + <ph keyref="onMetadataReceived"/> 接收端已收到 metadata。 - +

    - public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs); - - (void)receiveMetadata:(NSData * _Nonnull)data + public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs); + - (void)receiveMetadata:(NSData * _Nonnull)data fromUser:(NSInteger)uid atTimestamp:(NSTimeInterval)timestamp; - 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) + 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) { } - onMetadataReceived?(metadata: Metadata): void; - final void Function(Metadata metadata)? onMetadataReceived; -

    + onMetadataReceived?(metadata: Metadata): void; + final void Function(Metadata metadata)? onMetadataReceived; +

    参数 - - buffer - data - 接收到的数据。 - - - uid - 用户 ID。 - - - timestampMs - timestamp - 时间戳。 - - - metadata - 接收到的 metadata,详见 - -
    + + buffer + data + 接收到的数据。 + + + uid + 用户 ID。 + + + timestampMs + timestamp + 时间戳。 + + + metadata + 接收到的 metadata,详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita b/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita index 5ab66b74f3a..033cf7d2de4 100644 --- a/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita +++ b/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita @@ -13,55 +13,58 @@

    - public abstract byte[] onReadyToSendMetadata(long timeStampMs, int sourceType); - - (NSData * _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp + public abstract byte[] onReadyToSendMetadata(long timeStampMs, int sourceType); + - (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) + 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 大小不超过 中设定的值。
    + 请确保在该方法中传入的 metadata 大小不超过 + 中设定的值。 +
    参数 - - timeStampMs - timestamp - 时间戳。 - - - sourceType - source_Type - 视频数据类型。详见 - - - metadata - 用户想要发送的 metadata。详见 - -
    + + timeStampMs + timestamp + 时间戳。 + + + sourceType + source_Type + 视频数据类型。详见 + + + metadata + 用户想要发送的 metadata。详见 + + +
    返回值
      -
    • : 发送
    • -
    • : 不发送
    • +
    • : 发送
    • +
    • : 不发送
    -

    指定想要发送的 metadata ,格式为 NSData,由如下字段组成: -

      -
    • uid:发送该 metadata 的远端用户的 ID。
    • -
    • size:metadata 的大小。
    • -
    • buffer:metadata 数据。
    • -
    • timeStampMs:metadata 发送时的 NTP 时间戳(ms)。
    • -

    +

    指定想要发送的 metadata ,格式为 NSData,由如下字段组成:

      +
    • uid:发送该 metadata 的远端用户的 ID。
    • +
    • size:metadata 的大小。
    • +
    • buffer:metadata 数据。
    • +
    • timeStampMs:metadata 发送时的 NTP 时间戳(ms)。
    • +
    +

    指定想要发送的 metadata,格式为 byte[]。请确保在该返回值中进行传参。

    diff --git a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita index 05d955b9da2..5ea8d3f69e3 100644 --- a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita +++ b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita @@ -13,54 +13,55 @@

    - void onLyricResult(String requestId, long songCode, String lyricUrl, int reason); - - (void)onLyricResult:(NSString*)requestId songCode:(NSInteger)songCode lyricUrl:(NSString* _Nullable)lyricUrl reason:(AgoraMusicContentCenterStateReason)reason; - virtual void onLyricResult(const char* requestId, int64_t songCode, const char* lyricUrl, MusicContentCenterStateReason reason) = 0; - onLyricResult?( + void onLyricResult(String requestId, long songCode, String lyricUrl, int reason); + - (void)onLyricResult:(NSString*)requestId songCode:(NSInteger)songCode lyricUrl:(NSString* _Nullable)lyricUrl reason:(AgoraMusicContentCenterStateReason)reason; + virtual void onLyricResult(const char* requestId, int64_t songCode, const char* lyricUrl, MusicContentCenterStateReason reason) = 0; + onLyricResult?( requestId: string, songCode: number, lyricUrl: string, reason: MusicContentCenterStateReason ): void; - public abstract void OnLyricResult(string requestId, long songCode, string lyricUrl, MusicContentCenterStateReason reason); - onLyricResult?( + public abstract void OnLyricResult(string requestId, long songCode, string lyricUrl, MusicContentCenterStateReason reason); + onLyricResult?( requestId: string, songCode: number, lyricUrl: string, reason: MusicContentCenterStateReason ): void; - final void Function(String requestId, int songCode, String lyricUrl, + final void Function(String requestId, int songCode, String lyricUrl, MusicContentCenterStateReason reason)? onLyricResult; -

    +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    当你调用 获取指定歌曲的歌词下载地址后,SDK 会触发该回调。

    参数 - - - - - - - - + + + + + + + + - lyricUrl - 歌词的下载地址。 - - - - - -
    + lyricUrl + 歌词的下载地址。 + + + + + + +
    diff --git a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita index 6e03818e45e..6df0b2cd279 100644 --- a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita +++ b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita @@ -13,67 +13,78 @@

    - void onMusicChartsResult(String requestId, MusicChartInfo[] list, int reason); - - (void)onMusicChartsResult:(NSString *)requestId result:(NSArray<AgoraMusicChartInfo*> *)result reason:(AgoraMusicContentCenterStateReason)reason; - virtual void onMusicChartsResult(const char* requestId, agora_refptr<MusicChartCollection> result, MusicContentCenterStateReason reason) = 0; - onMusicChartsResult?( + void onMusicChartsResult(String requestId, MusicChartInfo[] list, int reason); + - (void)onMusicChartsResult:(NSString *)requestId result:(NSArray<AgoraMusicChartInfo*> *)result reason:(AgoraMusicContentCenterStateReason)reason; + virtual void onMusicChartsResult(const char* requestId, agora_refptr<MusicChartCollection> result, MusicContentCenterStateReason reason) = 0; + onMusicChartsResult?( requestId: string, result: MusicChartInfo[], reason: MusicContentCenterStateReason ): void; - public abstract void OnMusicChartsResult(string requestId, MusicChartInfo[] result, MusicContentCenterStateReason reason); - onMusicChartsResult?( + public abstract void OnMusicChartsResult(string requestId, MusicChartInfo[] result, MusicContentCenterStateReason reason); + onMusicChartsResult?( requestId: string, result: MusicChartInfo[], reason: MusicContentCenterStateReason ): void; - final void Function(String requestId, List<MusicChartInfo> result, + final void Function(String requestId, List<MusicChartInfo> result, MusicContentCenterStateReason reason)? onMusicChartsResult; -

    +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    当你调用 方法获取全部音乐榜单之后,SDK 会触发该回调。

    参数 - - requestId - 请求 ID。本次请求的唯一标识。 - - - reason - -

    音乐内容中心的请求状态码,详见

    -

    音乐内容中心的请求状态码: -

      -
    • (0):请求成功。
    • -
    • (1):一般错误,无明确归因。
    • -
    • (2):网关异常。可能的原因有: -
        -
      • 当前使用的 Token 已过期。请重新生成 Token。
      • -
      • 传入的 Token 无效。请确保你使用的是 RTM Token。
      • -
      • 网络错误。请检查你的网络。
      • -
    • -
    • (3):权限错误或音乐资源不存在。请确保你的项目已开通声网音乐内容中心权限,请
    • -
    • (4):内部数据解析错误。请
    • -
    • (5):音乐资源加载时出错。请
    • -
    • (6):音乐资源解密时出错。请
    • -
    • (7):HTTP 内部出现错误。请稍后重新请求。
    • -

    -
    -
    - - list - result - 当前可播放的音乐榜单列表。详见 - -
    + + requestId + 请求 ID。本次请求的唯一标识。 + + + reason + +

    音乐内容中心的请求状态码,详见

    +

    音乐内容中心的请求状态码:

      +
    • (0):请求成功。
    • +
    • + (1):一般错误,无明确归因。
    • +
    • (2):网关异常。可能的原因有:
        +
      • 当前使用的 Token 已过期。请重新生成 Token。
      • +
      • 传入的 Token 无效。请确保你使用的是 RTM Token。
      • +
      • 网络错误。请检查你的网络。
      • +
    • +
    • + (3):权限错误或音乐资源不存在。请确保你的项目已开通声网音乐内容中心权限,请
    • +
    • + (4):内部数据解析错误。请
    • +
    • + (5):音乐资源加载时出错。请
    • +
    • + (6):音乐资源解密时出错。请
    • +
    • + (7):HTTP 内部出现错误。请稍后重新请求。
    • +
    +

    +
    +
    + + list + result + + 当前可播放的音乐榜单列表。详见 + + +
    diff --git a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita index ac2c3e068c5..48c4d2e4538 100644 --- a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita +++ b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita @@ -13,62 +13,65 @@

    - void onMusicCollectionResult( + void onMusicCollectionResult( String requestId, int page, int pageSize, int total, Music[] list, int reason); - - (void)onMusicCollectionResult:(NSString *)requestId result:(AgoraMusicCollection *)result reason:(AgoraMusicContentCenterStateReason)reason; - virtual void onMusicCollectionResult(const char* requestId, agora_refptr<MusicCollection> result, MusicContentCenterStateReason reason) = 0; - onMusicCollectionResult?( + - (void)onMusicCollectionResult:(NSString *)requestId result:(AgoraMusicCollection *)result reason:(AgoraMusicContentCenterStateReason)reason; + virtual void onMusicCollectionResult(const char* requestId, agora_refptr<MusicCollection> result, MusicContentCenterStateReason reason) = 0; + onMusicCollectionResult?( requestId: string, result: MusicCollection, reason: MusicContentCenterStateReason ): void; - public abstract void OnMusicCollectionResult(string requestId, MusicCollection result, MusicContentCenterStateReason reason); - onMusicCollectionResult?( + public abstract void OnMusicCollectionResult(string requestId, MusicCollection result, MusicContentCenterStateReason reason); + onMusicCollectionResult?( requestId: string, result: MusicCollection, reason: MusicContentCenterStateReason ): void; - final void Function(String requestId, MusicCollection result, + final void Function(String requestId, MusicCollection result, MusicContentCenterStateReason reason)? onMusicCollectionResult; -

    +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    -

    当你调 方法来获取指定榜单的音乐资源列表或调用 来搜索音乐资源时,SDK 会触发此回调报告榜单中音乐资源列表的详细信息。

    +

    当你调 方法来获取指定榜单的音乐资源列表或调用 来搜索音乐资源时,SDK 会触发此回调报告榜单中音乐资源列表的详细信息。

    参数 - - - - - - - - - - page - 当前页面编号,默认从 1 开始。 - - - pageSize - 每页所展示的音乐资源的最大数量,最大值为 50。 - - - total - 列表内音乐资源的总数量。 - - - list - result - 音乐资源列表的详细信息。详见 - -
    + + + + + + + + + + page + 当前页面编号,默认从 1 开始。 + + + pageSize + 每页所展示的音乐资源的最大数量,最大值为 50。 + + + total + 列表内音乐资源的总数量。 + + + list + result + 音乐资源列表的详细信息。详见 + + +
    diff --git a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita index 61b2cb02226..f162d6eb3db 100644 --- a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita +++ b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita @@ -13,11 +13,11 @@

    - void onPreLoadEvent( + void onPreLoadEvent( String requestId, long songCode, int percent, String lyricUrl, int state, int reason); - - (void)onPreLoadEvent:(NSString*)requestId songCode:(NSInteger)songCode percent:(NSInteger)percent lyricUrl:(NSString * _Nullable)lyricUrl state:(AgoraMusicContentCenterPreloadState)state reason:(AgoraMusicContentCenterStateReason)reason; - virtual void onPreLoadEvent(const char* requestId, int64_t songCode, int percent, const char* lyricUrl, PreloadState state, MusicContentCenterStateReason reason) = 0; - onPreLoadEvent?( + - (void)onPreLoadEvent:(NSString*)requestId songCode:(NSInteger)songCode percent:(NSInteger)percent lyricUrl:(NSString * _Nullable)lyricUrl state:(AgoraMusicContentCenterPreloadState)state reason:(AgoraMusicContentCenterStateReason)reason; + virtual void onPreLoadEvent(const char* requestId, int64_t songCode, int percent, const char* lyricUrl, PreloadState state, MusicContentCenterStateReason reason) = 0; + onPreLoadEvent?( requestId: string, songCode: number, percent: number, @@ -25,8 +25,8 @@ status: PreloadState, reason: MusicContentCenterStateReason ): void; - public abstract void OnPreLoadEvent(string requestId, long songCode, int percent, string lyricUrl, PreloadState state, MusicContentCenterStateReason reason); - onPreLoadEvent?( + public abstract void OnPreLoadEvent(string requestId, long songCode, int percent, string lyricUrl, PreloadState state, MusicContentCenterStateReason reason); + onPreLoadEvent?( requestId: string, songCode: number, percent: number, @@ -34,60 +34,60 @@ status: PreloadState, reason: MusicContentCenterStateReason ): void; - final void Function( + final void Function( String requestId, int songCode, int percent, String lyricUrl, PreloadState state, MusicContentCenterStateReason reason)? onPreLoadEvent; -

    +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    当你调用 方法预加载音乐资源后,SDK 会触发该回调。

    参数 - - - - + + + + - songCode - 音乐资源的编号,用于标识一个音乐资源。 - - - percent - 音乐资源当前的加载进度,取值范围为 [0,100]。 - - - lyricUrl - 歌词下载地址。 - - - state - -

    当前音乐资源的加载状态。详见

    -

    当前音乐资源的加载状态: - -

      -
    • 0:音乐资源加载完成。
    • -
    • 1:音乐资源加载失败。
    • -
    • 2:音乐资源正在加载中。
    • -

    -
    -
    - - - - -
    + songCode + 音乐资源的编号,用于标识一个音乐资源。 + + + percent + 音乐资源当前的加载进度,取值范围为 [0,100]。 + + + lyricUrl + 歌词下载地址。 + + + state + +

    当前音乐资源的加载状态。详见

    +

    当前音乐资源的加载状态:

      +
    • 0:音乐资源加载完成。
    • +
    • 1:音乐资源加载失败。
    • +
    • 2:音乐资源正在加载中。
    • +

    +
    +
    + + + + + +
    diff --git a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita index a4c32b0d77c..2a31d8cdf22 100644 --- a/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita +++ b/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita @@ -13,59 +13,61 @@

    - void onSongSimpleInfoResult(String requestId, long songCode, String simpleInfo, int reason); - - (void)onSongSimpleInfoResult:(NSString*)requestId songCode:(NSInteger)songCode simpleInfo:(NSString* _Nullable)simpleInfo reason:(AgoraMusicContentCenterStateReason)reason; - virtual void onSongSimpleInfoResult(const char* requestId, int64_t songCode, const char* simpleInfo, MusicContentCenterStateReason reason) = 0; - onSongSimpleInfoResult?( + void onSongSimpleInfoResult(String requestId, long songCode, String simpleInfo, int reason); + - (void)onSongSimpleInfoResult:(NSString*)requestId songCode:(NSInteger)songCode simpleInfo:(NSString* _Nullable)simpleInfo reason:(AgoraMusicContentCenterStateReason)reason; + virtual void onSongSimpleInfoResult(const char* requestId, int64_t songCode, const char* simpleInfo, MusicContentCenterStateReason reason) = 0; + onSongSimpleInfoResult?( requestId: string, songCode: number, simpleInfo: string, reason: MusicContentCenterStateReason ): void; - public abstract void OnSongSimpleInfoResult(string requestId, long songCode, string simpleInfo, MusicContentCenterStateReason reason); - onSongSimpleInfoResult?( + public abstract void OnSongSimpleInfoResult(string requestId, long songCode, string simpleInfo, MusicContentCenterStateReason reason); + onSongSimpleInfoResult?( requestId: string, songCode: number, simpleInfo: string, reason: MusicContentCenterStateReason ): void; - final void Function(String requestId, int songCode, String simpleInfo, - MusicContentCenterStateReason reason)? onSongSimpleInfoResult;

    + final void Function(String requestId, int songCode, String simpleInfo, + MusicContentCenterStateReason reason)? onSongSimpleInfoResult; +

    详情
    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +

    当你调用 获取某一音乐资源的详细信息后,SDK 会触发该回调。

    参数 - - - - - - songCode - 音乐资源的编号,用于标识音乐资源。 - - - simpleInfo - 音乐资源的相关信息,包含下列内容: -
    • 副歌片段的开始和结束的时间(ms)
    • -
    • 副歌片段的歌词下载地址
    • -
    • 副歌片段时长(ms)
    • -
    • 歌曲名称
    • -
    • 歌手名
    -
    - - - - + + + + + + songCode + 音乐资源的编号,用于标识音乐资源。 + + + simpleInfo + 音乐资源的相关信息,包含下列内容:
      +
    • 副歌片段的开始和结束的时间(ms)
    • +
    • 副歌片段的歌词下载地址
    • +
    • 副歌片段时长(ms)
    • +
    • 歌曲名称
    • +
    • 歌手名
    • +
    +
    + + + +
    -
    + diff --git a/dita/RTC-NG/API/callback_ipacketobserver_onreceiveaudiopacket.dita b/dita/RTC-NG/API/callback_ipacketobserver_onreceiveaudiopacket.dita index 0feb137188f..c2a7d6fa33c 100644 --- a/dita/RTC-NG/API/callback_ipacketobserver_onreceiveaudiopacket.dita +++ b/dita/RTC-NG/API/callback_ipacketobserver_onreceiveaudiopacket.dita @@ -1,40 +1,43 @@ - <ph keyref="onReceiveAudioPacket" /> + <ph keyref="onReceiveAudioPacket"/> 本地用户收到音频包回调。 - +

    - - - virtual bool onReceiveAudioPacket(Packet& packet) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnReceiveAudioPacket, const FPacket&, packet); - - - -

    + + + virtual bool onReceiveAudioPacket(Packet& packet) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnReceiveAudioPacket, const FPacket&, packet); + + + + +

    参数 - - packet - 收到的音频包,详见 - -
    + + packet + 收到的音频包,详见 + + +
    返回值
      -
    • : 成功接收音频包。
    • -
    • : 丢弃音频包。
    • -
    +
  • : 成功接收音频包。
  • +
  • : 丢弃音频包。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_ipacketobserver_onreceivevideopacket.dita b/dita/RTC-NG/API/callback_ipacketobserver_onreceivevideopacket.dita index 393f1c5d3b0..bf540c24ea0 100644 --- a/dita/RTC-NG/API/callback_ipacketobserver_onreceivevideopacket.dita +++ b/dita/RTC-NG/API/callback_ipacketobserver_onreceivevideopacket.dita @@ -1,40 +1,43 @@ - <ph keyref="onReceiveVideoPacket" /> + <ph keyref="onReceiveVideoPacket"/> 本地用户收到视频包回调。 - +

    - - - virtual bool onReceiveVideoPacket(Packet& packet) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnReceiveVideoPacket, const FPacket&, packet); - - - -

    + + + virtual bool onReceiveVideoPacket(Packet& packet) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnReceiveVideoPacket, const FPacket&, packet); + + + + +

    参数 - - packet - 收到的视频包,详见 - -
    + + packet + 收到的视频包,详见 + + +
    返回值
      -
    • : 成功接收视频包。
    • -
    • : 丢弃视频包。
    • -
    +
  • : 成功接收视频包。
  • +
  • : 丢弃视频包。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_ipacketobserver_onsendaudiopacket.dita b/dita/RTC-NG/API/callback_ipacketobserver_onsendaudiopacket.dita index a1afea083ff..50624f852b9 100644 --- a/dita/RTC-NG/API/callback_ipacketobserver_onsendaudiopacket.dita +++ b/dita/RTC-NG/API/callback_ipacketobserver_onsendaudiopacket.dita @@ -1,40 +1,43 @@ - <ph keyref="onSendAudioPacket" /> + <ph keyref="onSendAudioPacket"/> 已发送音频包回调。 - +

    - - - virtual bool onSendAudioPacket(Packet& packet) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSendAudioPacket, const FPacket&, packet); - - - -

    + + + virtual bool onSendAudioPacket(Packet& packet) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSendAudioPacket, const FPacket&, packet); + + + + +

    参数 - - packet - 发送的音频包,详见 - -
    + + packet + 发送的音频包,详见 + + +
    返回值
      -
    • : 成功发送音频包。
    • -
    • : 丢弃音频包。
    • -
    +
  • : 成功发送音频包。
  • +
  • : 丢弃音频包。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_ipacketobserver_onsendvideopacket.dita b/dita/RTC-NG/API/callback_ipacketobserver_onsendvideopacket.dita index 879243be6e5..e9de01e568e 100644 --- a/dita/RTC-NG/API/callback_ipacketobserver_onsendvideopacket.dita +++ b/dita/RTC-NG/API/callback_ipacketobserver_onsendvideopacket.dita @@ -1,40 +1,43 @@ - <ph keyref="onSendVideoPacket" /> + <ph keyref="onSendVideoPacket"/> 已发送视频包回调。 - +

    - - - virtual bool onSendVideoPacket(Packet& packet) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSendVideoPacket, const FPacket&, packet); - - - -

    + + + virtual bool onSendVideoPacket(Packet& packet) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSendVideoPacket, const FPacket&, packet); + + + + +

    参数 - - packet - 发送的视频包,详见 - -
    + + packet + 发送的视频包,详见 + + +
    返回值
      -
    • : 成功发送视频包;
    • -
    • : 丢弃视频包。
    • -
    +
  • : 成功发送视频包;
  • +
  • : 丢弃视频包。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita index 7af04419d4e..16bf854420e 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita @@ -1,57 +1,56 @@ - <ph keyref="onActiveSpeaker" /> + <ph keyref="onActiveSpeaker"/> 监测到远端最活跃用户回调。 - +

    - public void onActiveSpeaker(int uid) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid; - virtual void onActiveSpeaker(uid_t userId) { (void)userId; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnActiveSpeaker, int64, userId); - 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; -

    + public void onActiveSpeaker(int uid) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid; + virtual void onActiveSpeaker(uid_t userId) { (void)userId; } + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnActiveSpeaker, int64, userId); + 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 会持续监测音量最大的远端用户,并统计该用户被判断为音量最大者的次数。当前时间段内,该次数累积最多的远端用户为最活跃的用户。

    -

    当频道内用户数量大于或等于 2 且有远端活跃用户时,SDK 会触发该回调并报告远端最活跃用户的 uid。 - - - -

      -
    • 如果远端最活跃用户一直是同一位用户,则 SDK 不会再次触发 回调。
    • -
    • 如果远端最活跃用户有变化,则 SDK 会再次触发该回调并报告新的远端最活跃用户的 uid
    • -

    -

    +

    成功调用 后,SDK + 会持续监测音量最大的远端用户,并统计该用户被判断为音量最大者的次数。当前时间段内,该次数累积最多的远端用户为最活跃的用户。

    +

    当频道内用户数量大于或等于 2 且有远端活跃用户时,SDK 会触发该回调并报告远端最活跃用户的 uid

      +
    • 如果远端最活跃用户一直是同一位用户,则 SDK 不会再次触发 回调。
    • +
    • 如果远端最活跃用户有变化,则 SDK 会再次触发该回调并报告新的远端最活跃用户的 uid
    • +
    +

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - - - - - userId - uid - speakerUid - 远端最活跃用户的 ID。 - -
    + + + + + + + + + + userId + uid + speakerUid + 远端最活跃用户的 ID。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onapicallexecuted.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onapicallexecuted.dita index 25b6f86d422..5e6e70ca91b 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onapicallexecuted.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onapicallexecuted.dita @@ -13,54 +13,56 @@

    - public void onApiCallExecuted(int error, String api, String result) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onApiCallExecuted(int error, String api, String result) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didApiCallExecute:(NSInteger)error api:(NSString * _Nonnull)api result:(NSString * _Nonnull)result; - virtual void onApiCallExecuted(int err, + virtual void onApiCallExecuted(int err, const char* api, const char* result) { (void)err; (void)api; (void)result; } - onApiCallExecuted?(err: ErrorCodeType, api: string, result: string): void; - public virtual void OnApiCallExecuted(int err, string api, string result) - onApiCallExecuted?(err: ErrorCodeType, api: string, result: string): void; - final void Function(ErrorCodeType err, String api, String result)? + onApiCallExecuted?(err: ErrorCodeType, api: string, result: string): void; + public virtual void OnApiCallExecuted(int err, string api, string result) + onApiCallExecuted?(err: ErrorCodeType, api: string, result: string): void; + final void Function(ErrorCodeType err, String api, String result)? onApiCallExecuted; -

    +

    - -
    弃用:
    -
    自 v4.1.0 废弃。该方法既不能准确表征具体的 API 方法,也不能代表 API 的执行结果。
    -
    声网建议你通过相关频道和媒体的事件通知得知 API 的执行结果。例如,当调用 方法开启麦克风后,通过 回调判断麦克风的开启状态。
    -
    + +
    弃用:
    +
    自 v4.1.0 废弃。该方法既不能准确表征具体的 API 方法,也不能代表 API 的执行结果。
    +
    声网建议你通过相关频道和媒体的事件通知得知 API 的执行结果。例如,当调用 + 方法开启麦克风后,通过 回调判断麦克风的开启状态。
    +
    <ph keyref="callback-section-title"/> - - - - - - err - error - 当方法调用失败时 SDK 返回的错误码。如果该方法调用成功,SDK 会返回 0。 - - - api - SDK 执行的 API 方法。 - - - result - SDK 调用 API 的结果。 - -
    + + + + + + err + error + 当方法调用失败时 SDK 返回的错误码。如果该方法调用成功,SDK 会返回 0。 + + + api + SDK 执行的 API 方法。 + + + result + SDK 调用 API 的结果。 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onapierror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onapierror.dita index 6373107585c..10c00416517 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onapierror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onapierror.dita @@ -13,29 +13,32 @@

    - - - - - - - -

    + + + + + + + +

    SDK 运行过程中,当 Electron 层发生错误时,SDK 会触发该回调。

    - 该回调仅报告 Electron 层发生的错误。如果你想收到 Native 层发生的错误,请改用
    + 该回调仅报告 Electron 层发生的错误。如果你想收到 Native + 层发生的错误,请改用 +
    参数 - - apiType - 内部引擎。可忽略。 - - - msg - 错误描述。典型出错原因为调用 API 时传入参数出错,如参数值不符合规范、参数个数不正确。 - -
    + + apiType + 内部引擎。可忽略。 + + + msg + 错误描述。典型出错原因为调用 API 时传入参数出错,如参数值不符合规范、参数个数不正确。 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita index 71a076bac1f..1af27afd3bb 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita @@ -1,8 +1,12 @@ - <ph keyref="onAudioDeviceStateChanged"/> - 音频设备变化回调。 + + <ph keyref="onAudioDeviceStateChanged"/> + + + 音频设备变化回调。 + @@ -13,49 +17,53 @@

    - - - virtual void onAudioDeviceStateChanged(const char* deviceId, + + + virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) { (void)deviceId; (void)deviceType; (void)deviceState; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnAudioDeviceStateChanged, FString, deviceId, int, deviceType, int, deviceState); - onAudioDeviceStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnAudioDeviceStateChanged, 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?( + 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, + final void Function(String deviceId, MediaDeviceType deviceType, MediaDeviceStateType deviceState)? onAudioDeviceStateChanged; -

    +

    提示系统音频设备状态发生改变,比如耳机被拔出。

    - 该方法仅适用于 Windows 和 macOS。
    + 该方法仅适用于 Windows 和 macOS。 +
    - <ph keyref="callback-section-title"/> + + <ph keyref="callback-section-title"/> + - - deviceId - 设备 ID。 - - - deviceType - 设备类型定义。详见 - - - deviceState - 设备状态,详见 - -
    + + deviceId + 设备 ID。 + + + deviceType + 设备类型定义。详见 + + + deviceState + 设备状态,详见 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicetestvolumeindication.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicetestvolumeindication.dita index 5a4cce6f38a..14d44e279bf 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicetestvolumeindication.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicetestvolumeindication.dita @@ -13,36 +13,39 @@

    - - - virtual void onAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) { + + + virtual void onAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) { (void)volumeType; (void)volume; } - - public virtual void OnAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) - - -

    + + public virtual void OnAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) + + +

    -

    成功调用 方法开启音频设备测试后,SDK 会按设置的时间间隔触发 回调,报告被测试音频设备的音量信息。

    +

    成功调用 方法开启音频设备测试后,SDK 会按设置的时间间隔触发 + 回调,报告被测试音频设备的音量信息。

    参数 - - volumeType - -

    音量类型。详见

    -
    -
    - - volume - -

    音量大小,范围为 [0,255]。

    -
    -
    -
    + + volumeType + +

    音量类型。详见

    +
    +
    + + volume + +

    音量大小,范围为 [0,255]。

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita index d094652edb4..e9c8f0d908c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita @@ -13,28 +13,28 @@

    - - - virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) { + + + virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) { (void)deviceType; (void)volume; (void)muted; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnAudioDeviceVolumeChanged, FENUMWRAP_MEDIA_DEVICE_TYPE, deviceType, int, volume, bool, muted); - onAudioDeviceVolumeChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnAudioDeviceVolumeChanged, 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?( + 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)? + final void Function(MediaDeviceType deviceType, int volume, bool muted)? onAudioDeviceVolumeChanged; -

    +

    当音频播放、采集设备或 App 的音量发生改变时,会触发该回调。

    @@ -43,25 +43,24 @@
    <ph keyref="callback-section-title"/> - - deviceType - 设备类型定义。详见 - - - volume - 音量。范围为 [0,255]。 - - - muted - -

    音频设备是否为静音状态: - -

      -
    • : 音频设备已静音。
    • -
    • : 音频设备未被静音。
    • -

    -
    -
    -
    + + deviceType + 设备类型定义。详见 + + + volume + 音量。范围为 [0,255]。 + + + muted + +

    音频设备是否为静音状态:

      +
    • : 音频设备已静音。
    • +
    • : 音频设备未被静音。
    • +

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita index c4db8ed519d..2ef0cb10c0f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita @@ -1,43 +1,44 @@ - <ph keyref="onAudioEffectFinished" /> + <ph keyref="onAudioEffectFinished"/> 本地音效文件播放已结束回调。 - +

    - public void onAudioEffectFinished(int soundId) {} - - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId; - virtual void onAudioEffectFinished(int soundId) { + public void onAudioEffectFinished(int soundId) {} + - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId; + virtual void onAudioEffectFinished(int soundId) { } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioEffectFinished, int, soundId); - onAudioEffectFinished?(soundId: number): void; - public virtual void OnAudioEffectFinished(int soundId) - onAudioEffectFinished?(soundId: number): void; - final void Function(int soundId)? onAudioEffectFinished; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioEffectFinished, 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。 - -
    + + + + + + soundId + 指定音效的 ID。每个音效均有唯一的 ID。 + + +
    -
    \ 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 99cc238e097..0eda6af1847 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingfinished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingfinished.dita @@ -1,45 +1,48 @@ - <ph keyref="onAudioMixingFinished" /> + <ph keyref="onAudioMixingFinished"/> 本地音乐文件播放已结束回调。 - +

    - public void onAudioMixingFinished() {} - - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onAudioMixingFinished() { + public void onAudioMixingFinished() {} + - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onAudioMixingFinished() { } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnAudioMixingFinished); - onAudioMixingFinished?(): void; - public virtual void OnAudioMixingFinished() - onAudioMixingFinished?(): void; - final void Function()? onAudioMixingFinished; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnAudioMixingFinished); + onAudioMixingFinished?(): void; + public virtual void OnAudioMixingFinished() + onAudioMixingFinished?(): void; + final void Function()? onAudioMixingFinished; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    -

    当调用 播放本地音乐文件结束后,会触发该回调。如果调用 失败,会返回错误码 WARN_AUDIO_MIXING_OPEN_ERROR

    +

    当调用 播放本地音乐文件结束后,会触发该回调。如果调用 失败,会返回错误码 + WARN_AUDIO_MIXING_OPEN_ERROR

    - <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_onaudiomixingpositionchanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita index 9381186d21c..a2f8dc7440a 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita @@ -13,39 +13,45 @@

    - public void onAudioMixingPositionChanged(long position) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingPositionChanged:(NSInteger)position NS_SWIFT_NAME(rtcEngine(_:audioMixingPositionChanged:)); - virtual void onAudioMixingPositionChanged(int64_t position) {} - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioMixingPositionChanged, int64, position); - onAudioMixingPositionChanged?(position: number): void; - public virtual void OnAudioMixingPositionChanged(long position) { } - onAudioMixingPositionChanged?(position: number): void; - final void Function(int position)? onAudioMixingPositionChanged;

    + public void onAudioMixingPositionChanged(long position) {} + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingPositionChanged:(NSInteger)position NS_SWIFT_NAME(rtcEngine(_:audioMixingPositionChanged:)); + virtual void onAudioMixingPositionChanged(int64_t position) {} + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioMixingPositionChanged, int64, position); + onAudioMixingPositionChanged?(position: number): void; + public virtual void OnAudioMixingPositionChanged(long position) { } + onAudioMixingPositionChanged?(position: number): void; + final void Function(int position)? onAudioMixingPositionChanged; +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +

    当你调用 方法播放音乐文件后,SDK 会每隔一秒触发一次该回调,报告音乐文件当前的播放进度。

    参数 - - position - 音乐文件当前的播放进度,单位为 ms。 - -
    + + position + 音乐文件当前的播放进度,单位为 ms。 + + +
    <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 838f53d1029..81144b629e4 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita @@ -1,37 +1,37 @@ - <ph keyref="onAudioMixingStateChanged" /> + <ph keyref="onAudioMixingStateChanged"/> 音乐文件的播放状态已改变回调。 - +

    - public void onAudioMixingStateChanged(int state, int reasonCode); - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingStateChanged:(AgoraAudioMixingStateType)state + public void onAudioMixingStateChanged(int state, int reasonCode); + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingStateChanged:(AgoraAudioMixingStateType)state reasonCode:(AgoraAudioMixingReasonCode)reasonCode; - virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) { + virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) { (void)state; (void)reason; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnAudioMixingStateChanged, FENUMWRAP_AUDIO_MIXING_STATE_TYPE, state, FENUMWRAP_AUDIO_MIXING_REASON_TYPE, reason); - onAudioMixingStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnAudioMixingStateChanged, FENUMWRAP_AUDIO_MIXING_STATE_TYPE, state, FENUMWRAP_AUDIO_MIXING_REASON_TYPE, reason); + onAudioMixingStateChanged?( state: AudioMixingStateType, reason: AudioMixingReasonType ): void; - public virtual void OnAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {} - onAudioMixingStateChanged?( + public virtual void OnAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {} + onAudioMixingStateChanged?( state: AudioMixingStateType, reason: AudioMixingReasonType ): void; - final void Function(AudioMixingStateType state, AudioMixingReasonType reason)? + final void Function(AudioMixingStateType state, AudioMixingReasonType reason)? onAudioMixingStateChanged; -

    +

    该回调在音乐文件播放状态发生改变时触发,并报告当前的播放状态和错误码。

    @@ -39,37 +39,53 @@ reasonCode:(AgoraAudioMixingReasonCode)reasonCode;
    参数 - - state - 音乐文件播放状态。详见 -

    -

      -
    • (710): 音乐文件正常播放。
    • -
    • (711): 音乐文件暂停播放。
    • -
    • (713): 音乐文件停止播放。
    • -
    • (714): 音乐文件报错。SDK 会在 reasonCode 参数中返回具体的报错原因。
    • -
    • (715): 音乐文件已结束一次播放。
    • -
    • (716): 音乐文件已结束循环播放。
    • -

    -
    -
    - - reasonCode - reason - 错误码。详见 -

    -

      -
    • (0): 正常。
    • -
    • (701): 音乐文件打开出错。
    • -
    • (702): 音乐文件打开太频繁。
    • -
    • (703): 音乐文件播放异常中断。
    • -
    • (721): 音乐文件完成一次循环播放。
    • -
    • (722): 音乐文件开始新的一次循环播放。
    • -
    • (723): 音乐文件完成所有循环播放。
    • -
    • (724): 成功调用 暂停播放音乐文件。
    • -

    -
    -
    -
    + + state + 音乐文件播放状态。详见 +

    +

      +
    • (710): 音乐文件正常播放。
    • +
    • (711): 音乐文件暂停播放。
    • +
    • (713): 音乐文件停止播放。
    • +
    • (714): 音乐文件报错。SDK 会在 + reasonCode 参数中返回具体的报错原因。
    • +
    • (715): + 音乐文件已结束一次播放。
    • +
    • (716): 音乐文件已结束循环播放。
    • +
    +

    +
    +
    + + reasonCode + reason + 错误码。详见 +

    +

      +
    • (0): 正常。
    • +
    • (701): + 音乐文件打开出错。
    • +
    • (702): + 音乐文件打开太频繁。
    • +
    • (703): + 音乐文件播放异常中断。
    • +
    • (721): + 音乐文件完成一次循环播放。
    • +
    • (722): 音乐文件开始新的一次循环播放。
    • +
    • (723): + 音乐文件完成所有循环播放。
    • +
    • (724): 成功调用 + 暂停播放音乐文件。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita index 9f133b2bf0a..4043fac3b96 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita @@ -1,26 +1,26 @@ - <ph keyref="onAudioPublishStateChanged" /> + <ph keyref="onAudioPublishStateChanged"/> 音频发布状态改变回调。 - +

    - public void onAudioPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, + public void onAudioPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioPublishStateChange:(NSString * _Nonnull)channelId oldState:(AgoraStreamPublishState)oldState newState:(AgoraStreamPublishState)newState elapseSinceLastState:(int)elapseSinceLastState; - virtual void onAudioPublishStateChanged(const char* channel, + virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { @@ -29,52 +29,54 @@ elapseSinceLastState:(int)elapseSinceLastState; (void)newState; (void)elapseSinceLastState; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnAudioPublishStateChanged, FString, channel, ESTREAM_PUBLISH_STATE, oldState, ESTREAM_PUBLISH_STATE, newState, int, elapseSinceLastState); - onAudioPublishStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnAudioPublishStateChanged, FString, channel, ESTREAM_PUBLISH_STATE, oldState, ESTREAM_PUBLISH_STATE, newState, int, elapseSinceLastState); + onAudioPublishStateChanged?( channel: string, oldState: StreamPublishState, newState: StreamPublishState, elapseSinceLastState: number ): void; - public virtual void OnAudioPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, + public virtual void OnAudioPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) - onAudioPublishStateChanged?( + onAudioPublishStateChanged?( channel: string, oldState: StreamPublishState, newState: StreamPublishState, elapseSinceLastState: number ): void; - final void Function( + final void Function( String channel, StreamPublishState oldState, StreamPublishState newState, int elapseSinceLastState)? onAudioPublishStateChanged; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - channel - channelId - 频道名。 - - - oldState - 之前的发布状态,详见 - - - newState - 当前的发布状态,详见 - - - elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 - -
    + + + + + + channel + channelId + 频道名。 + + + oldState + 之前的发布状态,详见 + + + newState + 当前的发布状态,详见 + + + elapseSinceLastState + 两次状态变化时间间隔(毫秒)。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita index 00f43380a12..be692ede6c4 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita @@ -1,88 +1,91 @@ - <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) { + 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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnAudioQuality, int64, uid, int, quality, int, delay, int, lost); - onAudioQuality?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnAudioQuality, 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?( + 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, + final void Function(RtcConnection connection, int remoteUid, QualityType quality, int delay, int lost)? onAudioQuality; -

    +

    -

    - -
    弃用:
    -
    请改用
    -
    -
    +
    + +
    弃用:
    +
    请改用
    +
    +

    该回调描述远端用户在通话中的音频质量,针对每个远端用户/主播每 2 秒触发一次。如果远端同时存在多个用户/主播,该回调每 2 秒会被触发多次。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - uid - remoteUid - 用户 ID,指定是谁发的音频流。 - - - quality - 语音质量。详见 -
      -
    • -
    -
    - - delay - 音频包从发送端到接收端的延迟(毫秒),包括声音采样前处理、网络传输、网络抖动缓冲引起的延迟。 - - - lost - 音频包从发送端到接收端的丢包率 (%)。 - -
    + + + + + + connection + Connection 信息。详见 + + + uid + remoteUid + 用户 ID,指定是谁发的音频流。 + + + quality + 语音质量。详见 +
      +
    • +
    +
    +
    + + delay + 音频包从发送端到接收端的延迟(毫秒),包括声音采样前处理、网络传输、网络抖动缓冲引起的延迟。 + + + lost + 音频包从发送端到接收端的丢包率 (%)。 + + +
    -
    \ 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 a3d5b837546..8c2eeff4b93 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioroutingchanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioroutingchanged.dita @@ -1,76 +1,75 @@ - <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; } + public void onAudioRouteChanged(int routing) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing; + virtual void onAudioRoutingChanged(int routing) { (void)routing; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioRoutingChanged, int, routing); - onAudioRoutingChanged?(routing: number): void; - public virtual void OnAudioRoutingChanged(int routing) {} - onAudioRoutingChanged?(routing: number): void; - final void Function(int routing)? onAudioRoutingChanged; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioRoutingChanged, int, routing); + onAudioRoutingChanged?(routing: number): void; + public virtual void OnAudioRoutingChanged(int routing) {} + onAudioRoutingChanged?(routing: number): void; + final void Function(int routing)? onAudioRoutingChanged; +

    -

    该回调仅适用于 Android、iOS 和 macOS 平台。

    +

    该回调仅适用于 Android、iOS 和 macOS 平台。

    -

    该回调仅适用于 macOS 平台。

    -
    +

    该回调仅适用于 macOS 平台。

    + +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - routing - -

    当前的音频路由。详见

    -

    当前的音频路由: - - -

      -
    • (-1):使用默认的音频路由。
    • -
    • (0):音频路由为带麦克风的耳机。
    • -
    • (1):音频路由为听筒。
    • -
    • (2):音频路由为不带麦克风的耳机。
    • -
    • (3):音频路由为设备自带的扬声器。
    • -
    • (4):(暂不支持)音频路由为外接的扬声器。
    • -
    • (5):音频路由为使用 HFP 协议的蓝牙耳机。
    • -
    • (10):音频路由为使用 A2DP 协议的蓝牙耳机或蓝牙音箱。
    • -

    -

    当前的音频路由: - - - - -

      -
    • -1:使用默认的音频路由。
    • -
    • 0:音频路由为带麦克风的耳机。
    • -
    • 1:音频路由为听筒。
    • -
    • 2:音频路由为不带麦克风的耳机。
    • -
    • 3:音频路由为设备自带的扬声器。
    • -
    • 4:音频路由为外接的扬声器。(仅适用于 iOS 和 macOS)
    • -
    • 5:音频路由为蓝牙耳机。
    • -

    -
    -
    -
    + + + + + + routing + +

    当前的音频路由。详见

    +

    当前的音频路由:

      +
    • (-1):使用默认的音频路由。
    • +
    • (0):音频路由为带麦克风的耳机。
    • +
    • (1):音频路由为听筒。
    • +
    • (2):音频路由为不带麦克风的耳机。
    • +
    • (3):音频路由为设备自带的扬声器。
    • +
    • (4):(暂不支持)音频路由为外接的扬声器。
    • +
    • (5):音频路由为使用 HFP + 协议的蓝牙耳机。
    • +
    • (10):音频路由为使用 A2DP + 协议的蓝牙耳机或蓝牙音箱。
    • +
    +

    +

    当前的音频路由:

      +
    • -1:使用默认的音频路由。
    • +
    • 0:音频路由为带麦克风的耳机。
    • +
    • 1:音频路由为听筒。
    • +
    • 2:音频路由为不带麦克风的耳机。
    • +
    • 3:音频路由为设备自带的扬声器。
    • +
    • 4:音频路由为外接的扬声器。(仅适用于 iOS 和 macOS)
    • +
    • 5:音频路由为蓝牙耳机。
    • +
    +

    +
    +
    + +
    -
    \ 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 ad328ae0d6b..7c7b41f60cd 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita @@ -1,27 +1,27 @@ - <ph keyref="onAudioSubscribeStateChanged" /> + <ph keyref="onAudioSubscribeStateChanged"/> 音频订阅状态发生改变回调。 - +

    - public void onAudioSubscribeStateChanged( + public void onAudioSubscribeStateChanged( String channel, int uid, int oldState, int newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (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, + virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, @@ -32,125 +32,122 @@ elapseSinceLastState:(int)elapseSinceLastState; (void)newState; (void)elapseSinceLastState; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnAudioSubscribeStateChanged, FString, channel, int64, uid, ESTREAM_SUBSCRIBE_STATE, oldState, ESTREAM_SUBSCRIBE_STATE, newState, int, elapseSinceLastState); - onAudioSubscribeStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnAudioSubscribeStateChanged, FString, channel, int64, uid, ESTREAM_SUBSCRIBE_STATE, oldState, ESTREAM_SUBSCRIBE_STATE, newState, int, elapseSinceLastState); + onAudioSubscribeStateChanged?( channel: string, uid: number, oldState: StreamSubscribeState, newState: StreamSubscribeState, elapseSinceLastState: number ): void; - public virtual void OnAudioSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnAudioSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - onAudioSubscribeStateChanged?( + onAudioSubscribeStateChanged?( channel: string, uid: number, oldState: StreamSubscribeState, newState: StreamSubscribeState, elapseSinceLastState: number ): void; - final void Function( + final void Function( String channel, int uid, StreamSubscribeState oldState, StreamSubscribeState newState, int elapseSinceLastState)? onAudioSubscribeStateChanged; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - channel - channelId - 频道名。 - - - uid - 远端用户的 ID。 - - - oldState - 之前的订阅状态,详见 - 之前的订阅状态。 - - - -
      -
    • (0): 加入频道后的初始订阅状态。
    • -
    • (1): 订阅失败。可能是因为: - - - -
        -
      • 远端用户: - - - -
          -
        • 调用 () 或 () 停止发送本地媒体流。
        • -
        • 调用 关闭本地音频或视频模块。
        • -
        • 调用 () 或 () 关闭本地音频或视频采集。
        • -
        • 用户角色为观众。
        • -
      • -
      • 本地用户调用以下方法停止接收远端媒体流: - - - -
          -
        • 调用 ()、 () 停止接收远端音频流。
        • -
        • 调用 ()、 () 停止接收远端视频流。
        • -
      • -
    • -
    • (2): 正在订阅。
    • -
    • (3): 收到了远端流,订阅成功。
    • -
    -
    - - newState - 当前的订阅状态,详见 - 当前的订阅状态。 - - - -
      -
    • (0): 加入频道后的初始订阅状态。
    • -
    • (1): 订阅失败。可能是因为: - - - -
        -
      • 远端用户: - - - -
          -
        • 调用 () 或 () 停止发送本地媒体流。
        • -
        • 调用 关闭本地音频或视频模块。
        • -
        • 调用 () 或 () 关闭本地音频或视频采集。
        • -
        • 用户角色为观众。
        • -
      • -
      • 本地用户调用以下方法停止接收远端媒体流: - - - -
          -
        • 调用 ()、 () 停止接收远端音频流。
        • -
        • 调用 ()、 () 停止接收远端视频流。
        • -
      • -
    • -
    • (2): 正在订阅。
    • -
    • (3): 收到了远端流,订阅成功。
    • -
    -
    - - elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 - -
    + + + + + + channel + channelId + 频道名。 + + + uid + 远端用户的 ID。 + + + oldState + 之前的订阅状态,详见 + 之前的订阅状态。
      +
    • (0): 加入频道后的初始订阅状态。
    • +
    • (1): 订阅失败。可能是因为:
        +
      • 远端用户:
          +
        • 调用 () 或 () 停止发送本地媒体流。
        • +
        • 调用 关闭本地音频或视频模块。
        • +
        • 调用 () 或 () + 关闭本地音频或视频采集。
        • +
        • 用户角色为观众。
        • +
      • +
      • 本地用户调用以下方法停止接收远端媒体流:
          +
        • 调用 ()、 () 停止接收远端音频流。
        • +
        • 调用 ()、 () 停止接收远端视频流。
        • +
      • +
    • +
    • (2): 正在订阅。
    • +
    • (3): 收到了远端流,订阅成功。
    • +
    +
    + + newState + 当前的订阅状态,详见 + + 当前的订阅状态。
      +
    • (0): 加入频道后的初始订阅状态。
    • +
    • (1): 订阅失败。可能是因为:
        +
      • 远端用户:
          +
        • 调用 () 或 () 停止发送本地媒体流。
        • +
        • 调用 关闭本地音频或视频模块。
        • +
        • 调用 () 或 () 关闭本地音频或视频采集。
        • +
        • 用户角色为观众。
        • +
      • +
      • 本地用户调用以下方法停止接收远端媒体流:
          +
        • 调用 ()、 () 停止接收远端音频流。
        • +
        • 调用 ()、 () 停止接收远端视频流。
        • +
      • +
    • +
    • (2): 正在订阅。
    • +
    • (3): 收到了远端流,订阅成功。
    • +
    +
    + + elapseSinceLastState + 两次状态变化时间间隔(毫秒)。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita index 639ab0fb36c..b683053d08f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita @@ -1,86 +1,100 @@ - <ph keyref="onAudioVolumeIndication" /> + <ph keyref="onAudioVolumeIndication"/> 用户音量提示回调。 - +

    - public void onAudioVolumeIndication(AudioVolumeInfo[] speakers, int totalVolume) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onAudioVolumeIndication(AudioVolumeInfo[] speakers, int totalVolume) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportAudioVolumeIndicationOfSpeakers:(NSArray<AgoraRtcAudioVolumeInfo *> * _Nonnull)speakers totalVolume:(NSInteger)totalVolume; - virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, + virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber, int totalVolume) { (void)speakers; (void)speakerNumber; (void)totalVolume; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnAudioVolumeIndication, 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) {} - onAudioVolumeIndication?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnAudioVolumeIndication, 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) {} + onAudioVolumeIndication?( connection: RtcConnection, speakers: AudioVolumeInfo[], speakerNumber: number, totalVolume: number ): void; - final void Function(RtcConnection connection, List<AudioVolumeInfo> speakers, + final void Function(RtcConnection connection, List<AudioVolumeInfo> speakers, int speakerNumber, int totalVolume)? onAudioVolumeIndication; -

    +

    -

    该回调默认禁用,你可以通过 开启。 开启后,只要频道内有发流用户,SDK 会在加入频道后按 中设置的时间间隔触发 回调。每次会触发两个 回调,一个报告本地发流用户的音量相关信息,另一个报告瞬时音量最高的远端用户(最多 3 位)的音量相关信息。

    +

    该回调默认禁用,你可以通过 开启。 开启后,只要频道内有发流用户,SDK + 会在加入频道后按 中设置的时间间隔触发 回调。每次会触发两个 回调,一个报告本地发流用户的音量相关信息,另一个报告瞬时音量最高的远端用户(最多 3 + 位)的音量相关信息。

    -

    在收到该回调后如需更新 UI 界面,请将确保将执行的线程转至 UI 线程中。

    -

    启用该功能后,如果有用户将自己静音(调用了 ),SDK 会继续报告本地用户的音量提示回调。

    -

    瞬时音量最高的远端用户静音后 20 秒,远端的音量提示回调中将不再包含该用户;如果远端所有用户都将自己静音,20 秒后 SDK 停止报告远端用户的音量提示回调。

    -
    +

    在收到该回调后如需更新 UI 界面,请将确保将执行的线程转至 UI 线程中。

    +

    启用该功能后,如果有用户将自己静音(调用了 ),SDK + 会继续报告本地用户的音量提示回调。

    +

    瞬时音量最高的远端用户静音后 20 秒,远端的音量提示回调中将不再包含该用户;如果远端所有用户都将自己静音,20 秒后 SDK + 停止报告远端用户的音量提示回调。

    + +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - speakers - 用户音量信息,详见 数组。如果 speakers 为空,则表示远端用户不发流或没有远端用户。 - - - speakerNumber - -

    用户数量。 - -

      -
    • 在本地用户的回调中,只要本地用户在发流,speakerNumber 始终为 1。
    • -
    • 在远端用户的回调中,speakerNumber 取值范围为 [0,3]。如果远端发流用户数量大于 3,则此回调中 speakerNumber 值为 3。
    • -

    -
    -
    - - totalVolume - -

    混音后的总音量,取值范围为 [0,255]。 - -

      -
    • 在本地用户的回调中,totalVolume 为本地发流用户的音量。
    • -
    • 在远端用户的回调中,totalVolume 为瞬时音量最高的远端用户(最多 3 位)混音后的总音量。 如果用户调用了 ,则 totalVolume 为音乐文件和用户声音的总音量。
    • -

    -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + speakers + 用户音量信息,详见 数组。如果 + speakers 为空,则表示远端用户不发流或没有远端用户。 + + + speakerNumber + +

    用户数量。

      +
    • 在本地用户的回调中,只要本地用户在发流,speakerNumber 始终为 + 1。
    • +
    • 在远端用户的回调中,speakerNumber 取值范围为 + [0,3]。如果远端发流用户数量大于 3,则此回调中 speakerNumber 值为 + 3。
    • +
    +

    +
    +
    + + totalVolume + +

    混音后的总音量,取值范围为 [0,255]。

      +
    • 在本地用户的回调中,totalVolume 为本地发流用户的音量。
    • +
    • 在远端用户的回调中,totalVolume 为瞬时音量最高的远端用户(最多 3 + 位)混音后的总音量。 如果用户调用了 ,则 + totalVolume + 为音乐文件和用户声音的总音量。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita index 92a34e6a922..39cf4436396 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita @@ -13,56 +13,59 @@

    - public void onCameraExposureAreaChanged(Rect rect) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine cameraExposureDidChangedToRect:(CGRect)rect; - virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) { + public void onCameraExposureAreaChanged(Rect rect) {} + - (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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnCameraExposureAreaChanged, int, x, int, y, int, width, int, height); - - public virtual void OnCameraExposureAreaChanged(int x, int y, int width, int height) - onCameraExposureAreaChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnCameraExposureAreaChanged, int, x, int, y, int, width, int, height); + + public virtual void OnCameraExposureAreaChanged(int x, int y, int width, int height) + onCameraExposureAreaChanged?( x: number, y: number, width: number, height: number ): void; - final void Function(int x, int y, int width, int height)? + final void Function(int x, int y, int width, int height)? onCameraExposureAreaChanged; -

    +

    该回调是由本地用户调用 方法改变曝光位置触发的。

    - 该回调仅适用于 Android 和 iOS。
    + 该回调仅适用于 Android 和 + iOS。 +
    <ph keyref="callback-section-title"/> - - x - 发生改变的曝光区域的 x 坐标。 - - - y - 发生改变的曝光区域的 y 坐标。 - - - width - 发生改变的曝光区域的宽度。 - - - height - 发生改变的曝光区域的高度。 - - - - - - rect - 镜头内表示曝光的区域。详见 - -
    + + x + 发生改变的曝光区域的 x 坐标。 + + + y + 发生改变的曝光区域的 y 坐标。 + + + width + 发生改变的曝光区域的宽度。 + + + height + 发生改变的曝光区域的高度。 + + + + + + + rect + 镜头内表示曝光的区域。详见 + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita index 8dc0e2d8ccd..e34e435f860 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita @@ -1,71 +1,75 @@ - <ph keyref="onCameraFocusAreaChanged" /> + <ph keyref="onCameraFocusAreaChanged"/> 相机对焦区域已改变回调。 - +

    - public void onCameraFocusAreaChanged(Rect rect) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine cameraFocusDidChangedToRect:(CGRect)rect; - virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) { + public void onCameraFocusAreaChanged(Rect rect) {} + - (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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnCameraFocusAreaChanged, int, x, int, y, int, width, int, height); - - public virtual void OnCameraFocusAreaChanged(int x, int y, int width, int height) - onCameraFocusAreaChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnCameraFocusAreaChanged, int, x, int, y, int, width, int, height); + + public virtual void OnCameraFocusAreaChanged(int x, int y, int width, int height) + onCameraFocusAreaChanged?( x: number, y: number, width: number, height: number ): void; - final void Function(int x, int y, int width, int height)? + final void Function(int x, int y, int width, int height)? onCameraFocusAreaChanged; -

    +

    -

    该回调是由本地用户调用 方法改变对焦位置触发的。

    - 该回调仅适用于 Android 和 iOS。
    +

    该回调是由本地用户调用 方法改变对焦位置触发的。

    + 该回调仅适用于 Android 和 + iOS。 +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - x - 发生改变的对焦区域的 x 坐标。 - - - y - 发生改变的对焦区域的 y 坐标。 - - - width - 发生改变的对焦区域的宽度。 - - - height - 发生改变的对焦区域的高度。 - + + x + 发生改变的对焦区域的 x 坐标。 + + + y + 发生改变的对焦区域的 y 坐标。 + + + width + 发生改变的对焦区域的宽度。 + + + height + 发生改变的对焦区域的高度。 + - - rect - 镜头内表示对焦的区域。详见 - - - - - -
    + + rect + 镜头内表示对焦的区域。详见 + + + + + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita index 3607ce2cce0..99b72b3c52c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita @@ -1,46 +1,48 @@ - <ph keyref="onCameraReady" /> + <ph keyref="onCameraReady"/> 摄像头就绪回调。 - +

    - public void onCameraReady() {} - - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onCameraReady() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnCameraReady); - onCameraReady?(): void; - public virtual void OnCameraReady() - onCameraReady?(): void; - final void Function()? onCameraReady; -

    + public void onCameraReady() {} + - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onCameraReady() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnCameraReady); + 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_onchannelmediarelayevent.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelayevent.dita index ce1e664fae7..12ecb3e3958 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelayevent.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelayevent.dita @@ -13,60 +13,79 @@

    - public void onChannelMediaRelayEvent(int code) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onChannelMediaRelayEvent(int code) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didReceiveChannelMediaRelayEvent:(AgoraChannelMediaRelayEvent)event; - virtual void onChannelMediaRelayEvent(int code) { + virtual void onChannelMediaRelayEvent(int code) { (void)code; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnChannelMediaRelayEvent, int, code); - onChannelMediaRelayEvent?(code: ChannelMediaRelayEvent): void; - public virtual void OnChannelMediaRelayEvent(int code) { } - onChannelMediaRelayEvent?(code: ChannelMediaRelayEvent): void; - final void Function(ChannelMediaRelayEvent code)? onChannelMediaRelayEvent; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnChannelMediaRelayEvent, int, code); + onChannelMediaRelayEvent?(code: ChannelMediaRelayEvent): void; + public virtual void OnChannelMediaRelayEvent(int code) { } + onChannelMediaRelayEvent?(code: ChannelMediaRelayEvent): void; + final void Function(ChannelMediaRelayEvent code)? onChannelMediaRelayEvent; +

    - -
    弃用:
    -
    该回调已废弃。
    -
    + +
    弃用:
    +
    该回调已废弃。
    +
    <ph keyref="callback-section-title"/> - - - - - - code - event - -

    跨频道媒体流转发事件码。详见

    -

    跨频道媒体流转发事件码: - -

      -
    • (0):网络中断导致用户与服务器连接断开。
    • -
    • (1):用户与服务器建立连接。
    • -
    • (2):用户已加入源频道。
    • -
    • (3):用户已加入目标频道。
    • -
    • (4):SDK 开始向目标频道发送数据包。
    • -
    • (5):服务器收到了目标频道发送的视频流。
    • -
    • (6):服务器收到了目标频道发送的音频流
    • -
    • (7):目标频道已更新。
    • -
    • (9):目标频道未发生改变,即目标频道更新失败。
    • -
    • (10):目标频道名为
    • -
    • (11):视频属性已发送至服务器。
    • -
    • (12):暂停向目标频道转发媒体流成功。
    • -
    • (13):暂停向目标频道转发媒体流失败。
    • -
    • (14):恢复向目标频道转发媒体流成功。
    • -
    • (15):恢复向目标频道转发媒体流失败。
    • -

    -
    -
    -
    + + + + + + code + event + +

    跨频道媒体流转发事件码。详见 +

    +

    跨频道媒体流转发事件码:

      +
    • (0):网络中断导致用户与服务器连接断开。
    • +
    • (1):用户与服务器建立连接。
    • +
    • (2):用户已加入源频道。
    • +
    • (3):用户已加入目标频道。
    • +
    • (4):SDK + 开始向目标频道发送数据包。
    • +
    • (5):服务器收到了目标频道发送的视频流。
    • +
    • (6):服务器收到了目标频道发送的音频流
    • +
    • (7):目标频道已更新。
    • +
    • (9):目标频道未发生改变,即目标频道更新失败。
    • +
    • (10):目标频道名为
    • +
    • (11):视频属性已发送至服务器。
    • +
    • (12):暂停向目标频道转发媒体流成功。
    • +
    • (13):暂停向目标频道转发媒体流失败。
    • +
    • (14):恢复向目标频道转发媒体流成功。
    • +
    • (15):恢复向目标频道转发媒体流失败。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita index 454b1a2f2c4..ea5d37e31a7 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita @@ -1,86 +1,101 @@ - <ph keyref="onChannelMediaRelayStateChanged" /> + <ph keyref="onChannelMediaRelayStateChanged"/> 跨频道媒体流转发状态发生改变回调。 - +

    - public void onChannelMediaRelayStateChanged(int state, int code) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onChannelMediaRelayStateChanged(int state, int code) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state error:(AgoraChannelMediaRelayError)error; - virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,CHANNEL_MEDIA_RELAY_ERROR code) { + virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,CHANNEL_MEDIA_RELAY_ERROR code) { } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnChannelMediaRelayStateChanged, int, state, int, code); - onChannelMediaRelayStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnChannelMediaRelayStateChanged, int, state, int, code); + onChannelMediaRelayStateChanged?( state: ChannelMediaRelayState, code: ChannelMediaRelayError ): void; - public virtual void OnChannelMediaRelayStateChanged(int state, int code) {} - onChannelMediaRelayStateChanged?( + public virtual void OnChannelMediaRelayStateChanged(int state, int code) {} + onChannelMediaRelayStateChanged?( state: ChannelMediaRelayState, code: ChannelMediaRelayError ): void; - final void Function( + 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 中提示的错误信息。
    • -

    -
    -
    - - code - -

    跨频道媒体流转发出错的错误码。详见

    -

    跨频道媒体流转发出错的错误码: - - -

      -
    • (0):一切正常。
    • -
    • (1):服务器回应出错。
    • -
    • (2):服务器无回应。该错误可能是网络状况不佳导致的。如果在发起跨频道连麦时报告该错误,你可以稍后重试;如果在跨频道连麦过程中报告该错误,你可以调用 方法离开频道。该错误也可能是由于当前的 App ID 未开启跨频道连麦服务导致的。你可以申请开通跨频道连麦服务。
    • -
    • (3):SDK 无法获取服务,可能是因为服务器资源有限导致。
    • -
    • (4):发起跨频道转发媒体流请求失败。
    • -
    • (5):接受跨频道转发媒体流请求失败。
    • -
    • (6):服务器接收跨频道转发媒体流失败。
    • -
    • (7):服务器发送跨频道转发媒体流失败。
    • -
    • (8):SDK 因网络质量不佳与服务器断开。你可以调用 方法离开当前频道。
    • -
    • (9):服务器内部出错。
    • -
    • (10):源频道的 Token 已过期。
    • -
    • (11):目标频道的 Token 已过期。
    • -

    -
    -
    -
    + + + + + + state + +

    跨频道媒体流转发状态。详见 +

    +

    跨频道媒体流转发状态:

      +
    • (0):SDK 正在初始化。
    • +
    • (1):SDK 尝试跨频道。
    • +
    • (2):源频道主播成功加入目标频道。
    • +
    • (3):发生异常,详见 + code 中提示的错误信息。
    • +
    +

    +
    +
    + + code + +

    跨频道媒体流转发出错的错误码。详见 +

    +

    跨频道媒体流转发出错的错误码:

      +
    • (0):一切正常。
    • +
    • + (1):服务器回应出错。
    • +
    • + (2):服务器无回应。该错误可能是网络状况不佳导致的。如果在发起跨频道连麦时报告该错误,你可以稍后重试;如果在跨频道连麦过程中报告该错误,你可以调用 + 方法离开频道。该错误也可能是由于当前的 App ID + 未开启跨频道连麦服务导致的。你可以申请开通跨频道连麦服务。
    • +
    • (3):SDK + 无法获取服务,可能是因为服务器资源有限导致。
    • +
    • + (4):发起跨频道转发媒体流请求失败。
    • +
    • + (5):接受跨频道转发媒体流请求失败。
    • +
    • + (6):服务器接收跨频道转发媒体流失败。
    • +
    • + (7):服务器发送跨频道转发媒体流失败。
    • +
    • (8):SDK + 因网络质量不佳与服务器断开。你可以调用 + 方法离开当前频道。
    • +
    • (9):服务器内部出错。
    • +
    • (10):源频道的 Token + 已过期。
    • +
    • (11):目标频道的 Token + 已过期。
    • +
    +

    +
    +
    + +
    -
    \ 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 0c0eaec5b9b..620069bc966 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita @@ -6,36 +6,36 @@

    - public void onClientRoleChanged(int oldRole, int newRole, ClientRoleOptions newRoleOptions) {} + public void onClientRoleChanged(int oldRole, int newRole, ClientRoleOptions newRoleOptions) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChanged:(AgoraClientRole)oldRole + - (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) { + virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) { (void)oldRole; (void)newRole; (void)newRoleOptions; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnClientRoleChanged, ECLIENT_ROLE_TYPE, oldRole, ECLIENT_ROLE_TYPE, newRole, FClientRoleOptions, roleoption); - onClientRoleChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnClientRoleChanged, ECLIENT_ROLE_TYPE, oldRole, ECLIENT_ROLE_TYPE, newRole, FClientRoleOptions, roleoption); + onClientRoleChanged?( connection: RtcConnection, oldRole: ClientRoleType, newRole: ClientRoleType newRoleOptions: ClientRoleOptions ): void; - public virtual void OnClientRoleChanged(RtcConnection connection, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, ClientRoleOptions newRoleOptions) { } - onClientRoleChanged?( + public virtual void OnClientRoleChanged(RtcConnection connection, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, ClientRoleOptions newRoleOptions) { } + onClientRoleChanged?( connection: RtcConnection, oldRole: ClientRoleType, newRole: ClientRoleType newRoleOptions: ClientRoleOptions ): void; - final void Function( + final void Function( RtcConnection connection, ClientRoleType oldRole, ClientRoleType newRole, ClientRoleOptions newRoleOptions)? onClientRoleChanged; -

    +

    该回调是由本地用户在加入频道后调用 改变用户角色触发的。

    @@ -43,40 +43,45 @@ NS_SWIFT_NAME(rtcEngine(_:didClientRoleChanged:newRole:newRoleOptions:)); <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - oldRole - 切换前的角色: -
      -
    • -
    -
    - - newRole - 切换后的角色: -
      -
    • -
    -
    - - newRoleOptions - -
    - -
    自从
    -
    v4.1.0
    -
    -
    -

    切换后的角色属性。详见

    -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + oldRole + 切换前的角色: +
      +
    • +
    +
    +
    + + newRole + 切换后的角色: +
      +
    • +
    +
    +
    + + newRoleOptions + +
    + +
    自从
    +
    v4.1.0
    +
    +
    +

    切换后的角色属性。详见

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita index 09574df3b67..f2747a757c1 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita @@ -1,73 +1,80 @@ - <ph keyref="onClientRoleChangeFailed" /> + <ph keyref="onClientRoleChangeFailed"/> 直播场景下切换用户角色失败回调。 - +

    - public void onClientRoleChangeFailed(int reason, int currentRole) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChangeFailed:(AgoraClientRoleChangeFailedReason)reason currentRole:(AgoraClientRole)currentRole; - virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) { + public void onClientRoleChangeFailed(int reason, int currentRole) {} + - (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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnClientRoleChangeFailed, ECLIENT_ROLE_CHANGE_FAILED_REASON, reason, ECLIENT_ROLE_TYPE, currentRole); - onClientRoleChangeFailed?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnClientRoleChangeFailed, ECLIENT_ROLE_CHANGE_FAILED_REASON, reason, ECLIENT_ROLE_TYPE, currentRole); + onClientRoleChangeFailed?( connection: RtcConnection, reason: ClientRoleChangeFailedReason, currentRole: ClientRoleType ): void; - public virtual void OnClientRoleChangeFailed(RtcConnection connection, CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) { } - onClientRoleChangeFailed?( + public virtual void OnClientRoleChangeFailed(RtcConnection connection, CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) { } + onClientRoleChangeFailed?( connection: RtcConnection, reason: ClientRoleChangeFailedReason, currentRole: ClientRoleType ): void; - final void Function( + final void Function( RtcConnection connection, ClientRoleChangeFailedReason reason, ClientRoleType currentRole)? onClientRoleChangeFailed; -

    -
    -
    -

    直播场景下,本地用户加入频道后调用 切换用户角色失败时,SDK 会触发该回调,报告切换失败的原因和当前的用户角色。

    +

    +
    +
    +

    直播场景下,本地用户加入频道后调用 切换用户角色失败时,SDK + 会触发该回调,报告切换失败的原因和当前的用户角色。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - reason - 切换用户角色失败的原因。详见 - 切换用户角色失败的原因。 -
      -
    • (1): 频道内主播人数达到上限。 - 该枚举仅在开启 128 人功能后报告。主播人数的上限根据开启 128 人功能时实际配置的人数而定。
    • -
    • (2): 请求被服务端拒绝。建议提示用户重新尝试切换用户角色。
    • -
    • (3): 请求超时。建议提示用户检查网络连接状况后重新尝试切换用户角色。
    • -
    • (4): 网络连接断开。可根据 报告的 reason,排查网络连接失败的具体原因。
    • -
    -
    - - currentRole - 当前用户角色。详见 - 当前用户角色。 -
      -
    • (1): 主播。主播可以发流也可以收流。
    • -
    • (2): 观众。观众只能收流不能发流。
    • -
    -
    - - - - -
    + + reason + 切换用户角色失败的原因。详见 + + 切换用户角色失败的原因。
      +
    • (1): + 频道内主播人数达到上限。 该枚举仅在开启 128 人功能后报告。主播人数的上限根据开启 128 + 人功能时实际配置的人数而定。
    • +
    • (2): + 请求被服务端拒绝。建议提示用户重新尝试切换用户角色。
    • +
    • (3): + 请求超时。建议提示用户检查网络连接状况后重新尝试切换用户角色。
    • +
    • (4): + 网络连接断开。可根据 报告的 + reason,排查网络连接失败的具体原因。
    • +
    +
    + + currentRole + 当前用户角色。详见 + 当前用户角色。
      +
    • (1): 主播。主播可以发流也可以收流。
    • +
    • (2): 观众。观众只能收流不能发流。
    • +
    +
    + + + + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita index db52aba4cbb..2e7495336ff 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita @@ -1,47 +1,48 @@ - <ph keyref="onConnectionBanned" /> + <ph keyref="onConnectionBanned"/> 网络连接已被服务器禁止回调。 - +

    - public void onConnectionBanned() {} - - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionBanned() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionBanned); - onConnectionBanned?(connection: RtcConnection): void; - public virtual void OnConnectionBanned(RtcConnection connection) {} - onConnectionBanned?(connection: RtcConnection): void; - final void Function(RtcConnection connection)? onConnectionBanned; -

    + public void onConnectionBanned() {} + - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionBanned() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionBanned); + onConnectionBanned?(connection: RtcConnection): void; + public virtual void OnConnectionBanned(RtcConnection connection) {} + onConnectionBanned?(connection: RtcConnection): void; + final void Function(RtcConnection connection)? onConnectionBanned; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - -
    + + + + + + connection + Connection 信息。详见 + + +
    -
    \ 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 0fdb280faf6..dd388e83a5a 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectioninterrupted.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectioninterrupted.dita @@ -1,52 +1,55 @@ - <ph keyref="onConnectionInterrupted" /> + <ph keyref="onConnectionInterrupted"/> 网络连接中断回调。 - +

    - public void onConnectionInterrupted() {} - - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionInterrupted() {} - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionInterrupted); - onConnectionInterrupted?(connection: RtcConnection): void; - public virtual void OnConnectionInterrupted(RtcConnection connection) {} - onConnectionInterrupted?(connection: RtcConnection): void; - final void Function(RtcConnection connection)? onConnectionInterrupted; -

    + public void onConnectionInterrupted() {} + - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionInterrupted() {} + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionInterrupted); + 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 秒时触发。
    • -
    • 回调是无论是否成功加入频道,只要 10 秒内和服务器无法建立连接都会触发。
    • -
    如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    +

    SDK 在和服务器建立连接后,失去了网络连接超过 4 秒,会触发该回调。在触发事件后,SDK 会主动重连服务器,所以该事件可以用于 UI 提示。该回调与 的区别是:

      +
    • 回调一定是发生在成功加入频道后,且 SDK + 刚失去和服务器连接超过 4 秒时触发。
    • +
    • 回调是无论是否成功加入频道,只要 10 + 秒内和服务器无法建立连接都会触发。
    • +
    如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - 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 bed2959ddad..bb48702927e 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionlost.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionlost.dita @@ -1,42 +1,44 @@ - <ph keyref="onConnectionLost" /> + <ph keyref="onConnectionLost"/> 网络连接中断,且 SDK 无法在 10 秒内连接服务器回调。 - +

    - public void onConnectionLost() {} - - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionLost() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionLost); - onConnectionLost?(connection: RtcConnection): void; - public virtual void OnConnectionLost(RtcConnection connection) {} - onConnectionLost?(connection: RtcConnection): void; - final void Function(RtcConnection connection)? onConnectionLost; -

    + public void onConnectionLost() {} + - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionLost() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionLost); + 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 会停止尝试重连。

    +

    SDK 在调用 后,无论是否加入成功,只要 10 秒和服务器无法连接就会触发该回调。如果 SDK + 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - -
    + + + + + + connection + Connection 信息。详见 + + +
    -
    \ 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 64e8cd4583e..8243155a652 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita @@ -1,110 +1,126 @@ - <ph keyref="onConnectionStateChanged" /> + <ph keyref="onConnectionStateChanged"/> 网络连接状态已改变回调。 - +

    - public void onConnectionStateChanged(int state, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onConnectionStateChanged(int state, int reason) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine connectionStateChanged:(AgoraConnectionState)state reason:(AgoraConnectionChangedReason)reason; - virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { + virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { (void)state; (void)reason; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnConnectionStateChanged, ECONNECTION_STATE_TYPE, state, ECONNECTION_CHANGED_REASON_TYPE, reason); - onConnectionStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnConnectionStateChanged, ECONNECTION_STATE_TYPE, state, ECONNECTION_CHANGED_REASON_TYPE, reason); + onConnectionStateChanged?( connection: RtcConnection, state: ConnectionStateType, reason: ConnectionChangedReasonType ): void; - public virtual void OnConnectionStateChanged(RtcConnection connection, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {} - onConnectionStateChanged?( + public virtual void OnConnectionStateChanged(RtcConnection connection, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {} + onConnectionStateChanged?( connection: RtcConnection, state: ConnectionStateType, reason: ConnectionChangedReasonType ): void; - final void Function(RtcConnection connection, ConnectionStateType state, + final void Function(RtcConnection connection, ConnectionStateType state, ConnectionChangedReasonType reason)? onConnectionStateChanged; -

    +

    该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态和引起网络状态改变的原因。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - state - -

    当前网络连接状态。详见

    -
      -
    • - (1):网络连接断开。
    • -
    • - (2):建立网络连接中。
    • -
    • - (3):网络已连接。
    • -
    • - (4):重新建立网络连接中 。
    • -
    • - (5):网络连接失败 。
    • -
    -
    - - reason - -

    引起当前网络连接状态改变的原因。详见

    -

    -

      -
    • (0):建立网络连接中。
    • -
    • (1):成功加入频道。
    • -
    • (2):网络连接中断。
    • -
    • (3):网络连接被服务器禁止,有可能是因为用户被踢出频道。
    • -
    • (4):加入频道失败。
    • -
    • (5):离开频道。
    • -
    • (6):不是有效的 APP ID。请更换有效的 APP ID 重新加入频道。
    • -
    • (7):不是有效的频道名。请更换有效的频道名重新加入频道。
    • -
    • (8):生成的 Token 无效。一般有以下原因: - - - -
        -
      • 在控制台上启用了 App Certificate,但加入频道未使用 Token。当启用了 App Certificate,必须使用 Token。
      • -
      • 在调用 加入频道时指定的 uid 与生成 Token 时传入的 uid 不一致。
      • -
    • -
    • (9):当前使用的 Token 过期,不再有效,需要重新在你的服务端申请生成 Token 。
    • -
    • (10):此用户被服务器禁止 。
    • -
    • (11):由于设置了代理服务器,SDK 尝试重连 。
    • -
    • (12):更新 Token 引起网络连接状态改变 。
    • -
    • (13):客户端 IP 地址变更,可能是由于网络类型,或网络运营商的 IP 或端口发生改变引起 。
    • -
    • (14):SDK 和服务器连接保活超时,进入自动重连状态 。
    • -
    • (15):重新加入频道成功。
    • -
    • (16):SDK 和服务器失去连接 。
    • -
    • (17):连接状态变化由回声测试引起。
    • -
    • (18):本地 IP 地址被用户更改。
    • -
    • (19):使用相同的 UID 从不同的设备加入同一频道。
    • -
    • (20):频道内主播人数已达上限。
    • -

    -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + state + +

    当前网络连接状态。详见

    +
      +
    • (1):网络连接断开。
    • +
    • (2):建立网络连接中。
    • +
    • (3):网络已连接。
    • +
    • (4):重新建立网络连接中 。
    • +
    • (5):网络连接失败 。
    • +
    +
    +
    + + reason + +

    引起当前网络连接状态改变的原因。详见

    +

    +

      +
    • (0):建立网络连接中。
    • +
    • (1):成功加入频道。
    • +
    • (2):网络连接中断。
    • +
    • + (3):网络连接被服务器禁止,有可能是因为用户被踢出频道。
    • +
    • (4):加入频道失败。
    • +
    • (5):离开频道。
    • +
    • (6):不是有效的 APP + ID。请更换有效的 APP ID 重新加入频道。
    • +
    • + (7):不是有效的频道名。请更换有效的频道名重新加入频道。
    • +
    • (8):生成的 Token + 无效。一般有以下原因:
        +
      • 在控制台上启用了 App Certificate,但加入频道未使用 Token。当启用了 App + Certificate,必须使用 Token。
      • +
      • 在调用 加入频道时指定的 uid 与生成 Token + 时传入的 uid 不一致。
      • +
      +
    • +
    • (9):当前使用的 Token + 过期,不再有效,需要重新在你的服务端申请生成 Token 。
    • +
    • + (10):此用户被服务器禁止 。
    • +
    • + (11):由于设置了代理服务器,SDK 尝试重连 。
    • +
    • (12):更新 Token + 引起网络连接状态改变 。
    • +
    • + (13):客户端 IP 地址变更,可能是由于网络类型,或网络运营商的 IP 或端口发生改变引起 。
    • +
    • (14):SDK + 和服务器连接保活超时,进入自动重连状态 。
    • +
    • + (15):重新加入频道成功。
    • +
    • (16):SDK 和服务器失去连接 。
    • +
    • + (17):连接状态变化由回声测试引起。
    • +
    • (18):本地 IP 地址被用户更改。
    • +
    • (19):使用相同的 UID + 从不同的设备加入同一频道。
    • +
    • + (20):频道内主播人数已达上限。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncontentinspectresult.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncontentinspectresult.dita index 6bd4d5d884d..e35c1cbfd39 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_oncontentinspectresult.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_oncontentinspectresult.dita @@ -1,49 +1,51 @@ - <ph keyref="onContentInspectResult" /> + <ph keyref="onContentInspectResult"/> 视频内容审核结果回调。 - +

    - public void onContentInspectResult(int result) {} + public void onContentInspectResult(int result) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine contentInspectResult:(AgoraContentInspectResult)result; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine contentInspectResult:(AgoraContentInspectResult)result; - virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; } - onContentInspectResult?(result: ContentInspectResult): void; - public virtual void OnContentInspectResult(CONTENT_INSPECT_RESULT result) - onContentInspectResult?(result: ContentInspectResult): void; - final void Function(ContentInspectResult result)? onContentInspectResult; -

    + virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; } + onContentInspectResult?(result: ContentInspectResult): void; + public virtual void OnContentInspectResult(CONTENT_INSPECT_RESULT result) + onContentInspectResult?(result: ContentInspectResult): void; + final void Function(ContentInspectResult result)? onContentInspectResult; +

    -

    调用 启用视频内容审核服务,并设置 中的 type 后,SDK 会触发 回调,报告鉴黄结果。

    +

    调用 启用视频内容审核服务,并设置 中的 type 后,SDK 会触发 回调,报告鉴黄结果。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - result - 鉴黄结果。详见 - -

    鉴黄结果: - - -

      -
    • (1):正常图片。
    • -
    • (2):性感图片。
    • -
    • (3):色情图片。
    • -

    -
    -
    -
    + + result + 鉴黄结果。详见 + +

    鉴黄结果:

      +
    • (1):正常图片。
    • +
    • (2):性感图片。
    • +
    • (3):色情图片。
    • +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_ondispose.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_ondispose.dita index 7e2961ee6e5..8b1aac5606f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_ondispose.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_ondispose.dita @@ -13,17 +13,18 @@

    - - - virtual void onDispose() = 0; - - - - -

    + + + virtual void onDispose() = 0; + + + + +

    -

    SDK 触发该回调提醒你关闭视频源设备。该回调通知你 SDK 即将销毁 对象。收到该回调后,请你确保不再使用

    +

    SDK 触发该回调提醒你关闭视频源设备。该回调通知你 SDK 即将销毁 + 对象。收到该回调后,请你确保不再使用

    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_ondownlinknetworkinfoupdated.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_ondownlinknetworkinfoupdated.dita index c17cf56ec96..b279990337e 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_ondownlinknetworkinfoupdated.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_ondownlinknetworkinfoupdated.dita @@ -1,28 +1,28 @@ - <ph keyref="onDownlinkNetworkInfoUpdated" /> + <ph keyref="onDownlinkNetworkInfoUpdated"/> 下行网络信息变化回调。 - +

    - public void onDownlinkNetworkInfoUpdated(DownlinkNetworkInfo info) {} - - virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) { + public void onDownlinkNetworkInfoUpdated(DownlinkNetworkInfo info) {} + + virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) { (void)info; } - - - - final void Function(DownlinkNetworkInfo info)? onDownlinkNetworkInfoUpdated; -

    + + + + final void Function(DownlinkNetworkInfo info)? onDownlinkNetworkInfoUpdated; +

    该回调用于提示用户切换大流或小流。

    @@ -30,10 +30,11 @@
    参数 - - info - 下行网络信息,详见 - -
    + + info + 下行网络信息,详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita index 4931beca97a..f10bc893757 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita @@ -1,68 +1,72 @@ - <ph keyref="onEncryptionError" /> + <ph keyref="onEncryptionError"/> 内置加密出错回调。 - +

    - public void onEncryptionError(int errorType) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onEncryptionError(int errorType) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurEncryptionError:(AgoraEncryptionErrorType)errorType; - virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) { + virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) { (void)errorType; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnEncryptionError, EENCRYPTION_ERROR_TYPE, errorType); - onEncryptionError?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnEncryptionError, EENCRYPTION_ERROR_TYPE, errorType); + onEncryptionError?( connection: RtcConnection, errorType: EncryptionErrorType ): void; - public virtual void OnEncryptionError(RtcConnection connection, ENCRYPTION_ERROR_TYPE errorType) {} - onEncryptionError?( + public virtual void OnEncryptionError(RtcConnection connection, ENCRYPTION_ERROR_TYPE errorType) {} + onEncryptionError?( connection: RtcConnection, errorType: EncryptionErrorType ): void; - final void Function(RtcConnection connection, EncryptionErrorType errorType)? + final void Function(RtcConnection connection, EncryptionErrorType errorType)? onEncryptionError; -

    +

    -

    调用 开启加密后, 如果发流端、收流端出现加解密出错,SDK 会触发该回调。

    +

    调用 开启加密后, 如果发流端、收流端出现加解密出错,SDK 会触发该回调。

    参数 - - - - - - connection - Connection 信息。详见 - - - errorType - 错误类型,详见 - - - errorType - 错误类型。 -
      -
    • (0): 内部原因。
    • -
    • (1): 媒体流解密错误。请确保接收端和发送端使用的加密模式或密钥一致。
    • -
    • (2): 媒体流加密错误。
    • -
    • (3): 数据流解密错误。请确保接收端和发送端使用的加密模式或密钥一致。
    • -
    • (4): 数据流加密错误。
    • -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + errorType + 错误类型,详见 + + + errorType + 错误类型。
      +
    • (0): 内部原因。
    • +
    • (1): + 媒体流解密错误。请确保接收端和发送端使用的加密模式或密钥一致。
    • +
    • (2): + 媒体流加密错误。
    • +
    • (3): + 数据流解密错误。请确保接收端和发送端使用的加密模式或密钥一致。
    • +
    • (4): + 数据流加密错误。
    • +
    +
    + +
    -
    \ 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 73a65d24690..24aabaaa512 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita @@ -1,158 +1,186 @@ - <ph keyref="onError" /> + <ph keyref="onError"/> 发生错误回调。 - +

    - public void onError(int err) {} + public void onError(int err) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurError:(AgoraErrorCode)errorCode; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurError:(AgoraErrorCode)errorCode; - virtual void onError(int err, const char* msg) { + virtual void onError(int err, const char* msg) { (void)err; (void)msg; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnError, int, err, 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; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnError, int, err, 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; +

    -

    该回调方法表示 SDK 运行时出现了网络或媒体相关的错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。

    +

    该回调方法表示 SDK 运行时出现了网络或媒体相关的错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App + 干预或提示用户。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - errorCode - err - 错误码。详见 - - - msg - 错误描述。 - - - err - 错误码。 - -
      -
    • (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):没有摄像头使用权限。请检查是否已经打开摄像头权限。
    • + + + + + + errorCode + err + 错误码。详见 + + + msg + 错误描述。 + + + err + 错误码。 + +
        +
      • (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):没有摄像头使用权限。请检查是否已经打开摄像头权限。
      -
      -
    + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerror.dita index 9235709523d..0ffbb08775c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerror.dita @@ -1,48 +1,48 @@ - <ph keyref="onExtensionError" /> + <ph keyref="onExtensionError"/> 插件出错回调。 - +

    - void onError(String provider, String extension, int error, String message); - - (void)onExtensionError:(NSString * __nullable)provider + void onError(String provider, String extension, int error, String message); + - (void)onExtensionError:(NSString * __nullable)provider extension:(NSString * __nullable)extension error:(int)error message:(NSString * __nullable)message; - virtual void onExtensionError(const char* provider, const char* extension, int error, const char* message) { + virtual void onExtensionError(const char* provider, const char* extension, int error, const char* message) { (void)provider; (void)extension; (void)error; (void)message; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionError, FString, provider, FString, extension, int, error, FString, message); - onExtensionError?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionError, FString, provider, FString, extension, int, error, FString, message); + onExtensionError?( provider: string, extension: string, error: number, message: string ): void; - public virtual void OnExtensionError(string provider, string extension, int error, string message) { } - onExtensionError?( + public virtual void OnExtensionError(string provider, string extension, int error, string message) { } + onExtensionError?( provider: string, extension: string, error: number, message: string ): void; - final void Function( + final void Function( String provider, String extension, int error, String message)? onExtensionError; -

    +

    启用插件失败或者插件运行出错时,插件会触发该回调并上报错误码和错误原因。

    @@ -50,22 +50,23 @@
    参数 - - - - - - extension - 插件的名称。 - - - error - 错误码。详见插件服务商提供的插件文档。 - - - message - 错误原因。详见插件服务商提供的插件文档。 - -
    + + + + + + extension + 插件的名称。 + + + error + 错误码。详见插件服务商提供的插件文档。 + + + message + 错误原因。详见插件服务商提供的插件文档。 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionevent.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionevent.dita index 2c66789b0e6..e1a3d7b138f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionevent.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionevent.dita @@ -1,50 +1,50 @@ - <ph keyref="onExtensionEvent" /> + <ph keyref="onExtensionEvent"/> 插件事件回调。 - +

    - void onEvent(String provider, String extension, String key, String value); - - (void)onEvent:(NSString * __nullable)provider + void onEvent(String provider, String extension, String key, String value); + - (void)onEvent:(NSString * __nullable)provider extension:(NSString * __nullable)extension key:(NSString * __nullable)key value:(NSString * __nullable)value; @end - virtual void onExtensionEvent(const char* provider, const char* extension, const char* key, const char* value) { + virtual void onExtensionEvent(const char* provider, const char* extension, const char* key, const char* value) { (void)provider; (void)extension; (void)key; (void)value; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionEvent, FString, provider, FString, extension, FString, key, FString, value); - onExtensionEvent?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionEvent, FString, provider, FString, extension, FString, key, FString, value); + onExtensionEvent?( provider: string, extension: string, key: string, value: string ): void; - public virtual void OnExtensionEvent(string provider, string extension, string key, string value) { } - onExtensionEvent?( + public virtual void OnExtensionEvent(string provider, string extension, string key, string value) { } + onExtensionEvent?( provider: string, extension: string, key: string, value: string ): void; - final void Function( + final void Function( String provider, String extName, String key, String value)? onExtensionEvent; -

    +

    为监听插件事件,你需要注册该回调。

    @@ -52,23 +52,24 @@
    参数 - - - - - - extension - extName - 插件名称。 - - - - - - - - - -
    + + + + + + extension + extName + 插件名称。 + + + + + + + + + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstarted.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstarted.dita index ccbb018a576..9a5b8cecd3d 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstarted.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstarted.dita @@ -1,32 +1,32 @@ - <ph keyref="onExtensionStarted" /> + <ph keyref="onExtensionStarted"/> 插件启用回调。 - +

    - void onStarted(String provider, String extension); - - (void)onExtensionStarted:(NSString * __nullable)provider + void onStarted(String provider, String extension); + - (void)onExtensionStarted:(NSString * __nullable)provider extension:(NSString * __nullable)extension; - virtual void onExtensionStarted(const char* provider, const char* extension) { + virtual void onExtensionStarted(const char* provider, const char* extension) { (void)provider; (void)extension; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStarted, FString, provider, FString, extension); - onExtensionStarted?(provider: string, extension: string): void; - public virtual void OnExtensionStarted(string provider, string extension) { } - onExtensionStarted?(provider: string, extension: string): void; - final void Function(String provider, String extName)? onExtensionStarted; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStarted, FString, provider, FString, extension); + onExtensionStarted?(provider: string, extension: string): void; + public virtual void OnExtensionStarted(string provider, string extension) { } + onExtensionStarted?(provider: string, extension: string): void; + final void Function(String provider, String extName)? onExtensionStarted; +

    成功创建音频或视频插件后,插件会触发该回调。

    @@ -34,15 +34,16 @@
    参数 - - - - - - extension - extName - 插件名称。 - -
    + + + + + + extension + extName + 插件名称。 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstopped.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstopped.dita index c14aee36aa9..474ca8db6a6 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstopped.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstopped.dita @@ -1,32 +1,32 @@ - <ph keyref="onExtensionStopped" /> + <ph keyref="onExtensionStopped"/> 插件禁用回调。 - +

    - void onStopped(String provider, String extension); - - (void)onExtensionStopped:(NSString * __nullable)provider + void onStopped(String provider, String extension); + - (void)onExtensionStopped:(NSString * __nullable)provider extension:(NSString * __nullable)extension; - virtual void onExtensionStopped(const char* provider, const char* extension) { + virtual void onExtensionStopped(const char* provider, const char* extension) { (void)provider; (void)extension; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStopped, FString, provider, FString, extension); - onExtensionStopped?(provider: string, extension: string): void; - public virtual void OnExtensionStopped(string provider, string extension) { } - onExtensionStopped?(provider: string, extension: string): void; - final void Function(String provider, String extName)? onExtensionStopped; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStopped, FString, provider, FString, extension); + onExtensionStopped?(provider: string, extension: string): void; + public virtual void OnExtensionStopped(string provider, string extension) { } + onExtensionStopped?(provider: string, extension: string): void; + final void Function(String provider, String extName)? onExtensionStopped; +

    成功销毁音频或视频插件后,插件会触发该回调。

    @@ -34,14 +34,15 @@
    参数 - - - - - - - - -
    + + + + + + + + + +
    -
    \ 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 e249385695b..041989f73b7 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita @@ -1,22 +1,22 @@ - <ph keyref="onFacePositionChanged" /> + <ph keyref="onFacePositionChanged"/> 报告本地人脸检测结果。 - +

    - public void onFacePositionChanged( + public void onFacePositionChanged( int imageWidth, int imageHeight, AgoraFacePositionInfo[] faceRectArr) {} - - (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, + - (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; @@ -25,88 +25,95 @@ (void) vecDistance; (void) numFaces; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnFacePositionChanged, int, imageWidth, int, imageHeight, FRectangle, vecRectangle, TArray<int>, vecDistance, int, numFaces); - onFacePositionChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnFacePositionChanged, int, imageWidth, int, imageHeight, FRectangle, vecRectangle, TArray<int>, vecDistance, int, numFaces); + onFacePositionChanged?( imageWidth: number, imageHeight: number, vecRectangle: Rectangle, vecDistance: number, numFaces: number ): void; - public virtual void OnFacePositionChanged(int imageWidth, int imageHeight, Rectangle vecRectangle, int[] vecDistance, int numFaces) {} - onFacePositionChanged?( + public virtual void OnFacePositionChanged(int imageWidth, int imageHeight, Rectangle vecRectangle, int[] vecDistance, int numFaces) {} + onFacePositionChanged?( imageWidth: number, imageHeight: number, vecRectangle: Rectangle, vecDistance: number, numFaces: number ): void; - final void Function(int imageWidth, int imageHeight, Rectangle vecRectangle, + final void Function(int imageWidth, int imageHeight, Rectangle vecRectangle, int vecDistance, int numFaces)? onFacePositionChanged; -

    +

    -

    调用 () 开启本地人脸检测后,你可以通过该回调实时获取以下人脸检测的信息: - - -

      -
    • 摄像头采集的画面大小
    • -
    • 人脸在 view 中的位置
    • -
    • 人脸距设备屏幕的距离
    • -

    +

    调用 () + 开启本地人脸检测后,你可以通过该回调实时获取以下人脸检测的信息:

      +
    • 摄像头采集的画面大小
    • +
    • 人脸在 view 中的位置
    • +
    • 人脸距设备屏幕的距离
    • +
    +

    其中,人脸距设备屏幕的距离由 SDK 通过摄像头采集的画面大小和人脸在 view 中的位置拟合计算得出。

    -
      -
    • 该回调仅适用于 Android 和 iOS 平台。
    • -
    • 当检测到摄像头前的人脸消失时,该回调会立刻触发;在无人脸的状态下,该回调触发频率会降低,以节省设备耗能。
    • -
    • 当人脸距离设备屏幕过近时,SDK 不会触发该回调。
    • -
    • Android 平台上,人脸距设备屏幕的距离(distance)值有一定误差,请不要用它进行精确计算。
    • -
    +
      +
    • 该回调仅适用于 Android 和 iOS 平台。
    • +
    • 当检测到摄像头前的人脸消失时,该回调会立刻触发;在无人脸的状态下,该回调触发频率会降低,以节省设备耗能。
    • +
    • 当人脸距离设备屏幕过近时,SDK 不会触发该回调。
    • +
    • Android + 平台上,人脸距设备屏幕的距离(distance)值有一定误差,请不要用它进行精确计算。
    • +
    + +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - imageWidth - width - 摄像头采集画面的宽度 (px)。 - - - imageHeight - height - 摄像头采集画面的高度 (px)。 - - - faceRectArr - faces - 检测到的人脸信息,详见 。检测到几张人脸,就会报告几个 数组。数组长度可以为 0,表示没有检测到摄像头前出现人脸。 - - - vecRectangle - -

    是一个长度为 numFaces 的数组,表示检测到的人脸信息: - -

      -
    • x:人脸在 view 中的 x 坐标 (px)。以摄像头采集 view 的左上角为原点,x 坐标为人脸左上角相对于原点的横向位移。
    • -
    • y:人脸在 view 中的 y 坐标 (px)。以摄像头采集 view 的左上角为原点,y 坐标为人脸左上角相对原点的纵向位移。
    • -
    • width:人脸在 view 中的宽度 (px)。
    • -
    • height:人脸在 view 中的高度 (px)。
    • -

    -
    - 检测到的人脸信息。详见 -
    - - vecDistance - 是一个长度为 numFaces 的数组,表示人脸和设备屏幕之间的距离 (cm)。 - 人脸和设备屏幕之间的距离 (cm)。 - - - numFaces - 检测的人脸数量。如果为 0,则表示没有检测到人脸。 - -
    + + + + + + imageWidth + width + 摄像头采集画面的宽度 (px)。 + + + imageHeight + height + 摄像头采集画面的高度 (px)。 + + + faceRectArr + faces + 检测到的人脸信息,详见 。检测到几张人脸,就会报告几个 数组。数组长度可以为 0,表示没有检测到摄像头前出现人脸。 + + + vecRectangle + +

    是一个长度为 numFaces 的数组,表示检测到的人脸信息:

      +
    • x:人脸在 view 中的 x 坐标 (px)。以摄像头采集 view 的左上角为原点,x + 坐标为人脸左上角相对于原点的横向位移。
    • +
    • y:人脸在 view 中的 y 坐标 (px)。以摄像头采集 view 的左上角为原点,y + 坐标为人脸左上角相对原点的纵向位移。
    • +
    • width:人脸在 view 中的宽度 (px)。
    • +
    • height:人脸在 view 中的高度 (px)。
    • +
    +

    +
    + 检测到的人脸信息。详见 +
    + + vecDistance + 是一个长度为 numFaces + 的数组,表示人脸和设备屏幕之间的距离 (cm)。 + 人脸和设备屏幕之间的距离 (cm)。 + + + numFaces + 检测的人脸数量。如果为 0,则表示没有检测到人脸。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita index bda9da46ef4..e1304fc7e90 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita @@ -13,32 +13,33 @@

    - - - virtual void onFirstLocalAudioFrame(int elapsed) { + + + virtual void onFirstLocalAudioFrame(int elapsed) { (void)elapsed; } - - public virtual void OnFirstLocalAudioFrame(int elapsed) - - -

    + + public virtual void OnFirstLocalAudioFrame(int elapsed) + + +

    - -
    弃用:
    -
    请改用 回调。
    -
    + +
    弃用:
    +
    请改用 回调。
    +
    <ph keyref="callback-section-title"/> - - elapsed - 从调用 方法直至该回调被触发的时间。 - -
    + + elapsed + 从调用 方法直至该回调被触发的时间。 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita index b7a165029d1..4bd0dc10ab9 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita @@ -1,62 +1,71 @@ - <ph keyref="onFirstLocalAudioFramePublished" /> - 已发布本地音频首帧回调。 + + <ph keyref="onFirstLocalAudioFramePublished"/> + + + 已发布本地音频首帧回调。 + - +

    - public void onFirstLocalAudioFramePublished(int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed; - virtual void onFirstLocalAudioFramePublished(int elapsed) { + public void onFirstLocalAudioFramePublished(int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed; + virtual void onFirstLocalAudioFramePublished(int elapsed) { (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFirstLocalAudioFramePublished, int, elapsed); - onFirstLocalAudioFramePublished?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFirstLocalAudioFramePublished, int, elapsed); + onFirstLocalAudioFramePublished?( connection: RtcConnection, elapsed: number ): void; - public virtual void OnFirstLocalAudioFramePublished(RtcConnection connection, int elapsed) {} - onFirstLocalAudioFramePublished?( + public virtual void OnFirstLocalAudioFramePublished(RtcConnection connection, int elapsed) {} + onFirstLocalAudioFramePublished?( connection: RtcConnection, elapsed: number ): void; - final void Function(RtcConnection connection, int elapsed)? + final void Function(RtcConnection connection, int elapsed)? onFirstLocalAudioFramePublished; -

    +

    -

    SDK 会在以下时机触发该回调: -

      -
    • 开启本地音频的情况下,调用 成功加入频道后。
    • -
    • 调用 (),再调用 () 后。
    • -
    • 调用 ,再调用 后。
    • -
    • 调用 成功向 SDK 推送音频帧后。
    • -
    • 调用 成功向 SDK 推送音频帧后。
    • -

    +

    SDK 会在以下时机触发该回调:

      +
    • 开启本地音频的情况下,调用 成功加入频道后。
    • +
    • 调用 (),再调用 () 后。
    • +
    • 调用 ,再调用 后。
    • +
    • 调用 成功向 SDK + 推送音频帧后。
    • +
    • 调用 成功向 SDK + 推送音频帧后。
    • +
    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - elapsed - 从调用 方法到触发该回调的时间间隔(毫秒)。 - -
    + + + + + + connection + Connection 信息。详见 + + + elapsed + 从调用 方法到触发该回调的时间间隔(毫秒)。 + + +
    -
    \ 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 6ea02ccdef2..c6e4e743a45 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita @@ -1,82 +1,89 @@ - <ph keyref="onFirstLocalVideoFrame" /> - 已显示本地视频首帧回调。 + + <ph keyref="onFirstLocalVideoFrame"/> + + + 已显示本地视频首帧回调。 + - +

    - public void onFirstLocalVideoFrame( + public void onFirstLocalVideoFrame( Constants.VideoSourceType source, int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (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) { + virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) { (void)source; (void)width; (void)height; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstLocalVideoFrame, EVIDEO_SOURCE_TYPE, source, int, width, int, height, int, elapsed); - onFirstLocalVideoFrame?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstLocalVideoFrame, EVIDEO_SOURCE_TYPE, source, int, width, int, height, int, elapsed); + onFirstLocalVideoFrame?( source: VideoSourceType, width: number, height: number, elapsed: number ): void; - public virtual void OnFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) { } - onFirstLocalVideoFrame?( + public virtual void OnFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) { } + onFirstLocalVideoFrame?( source: VideoSourceType, width: number, height: number, elapsed: number ): void; - final void Function( + 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)。 - - - elapsed - 从调用 到发生此事件过去的时间(毫秒)。如果在 前调用了 ,则是从 到发生此事件过去的时间。 - -
    + size + 本地渲染视频的尺寸。 + + + width + 本地渲染视频的宽 (px) 。 + + + height + 本地渲染视频的高 (px)。 + + + elapsed + 从调用 到发生此事件过去的时间(毫秒)。如果在 前调用了 ,则是从 + 到发生此事件过去的时间。 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita index cd5c0fac411..8ae2be55939 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita @@ -1,70 +1,74 @@ - <ph keyref="onFirstLocalVideoFramePublished" /> + <ph keyref="onFirstLocalVideoFramePublished"/> 已发布本地视频首帧回调。 - +

    - public void onFirstLocalVideoFramePublished(Constants.VideoSourceType source, int elapsed) {} + public void onFirstLocalVideoFramePublished(Constants.VideoSourceType source, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFramePublishedWithElapsed:(NSInteger)elapsed sourceType:(AgoraVideoSourceType)sourceType; - virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) { + virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) { (void)source; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstLocalVideoFramePublished, EVIDEO_SOURCE_TYPE, source, int, elapsed); - onFirstLocalVideoFramePublished?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstLocalVideoFramePublished, EVIDEO_SOURCE_TYPE, source, int, elapsed); + onFirstLocalVideoFramePublished?( connection: RtcConnection, elapsed: number ): void; - public virtual void OnFirstLocalVideoFramePublished(RtcConnection connection, int elapsed) {} - onFirstLocalVideoFramePublished?( + public virtual void OnFirstLocalVideoFramePublished(RtcConnection connection, int elapsed) {} + onFirstLocalVideoFramePublished?( connection: RtcConnection, elapsed: number ): void; - final void Function(RtcConnection connection, int elapsed)? + final void Function(RtcConnection connection, int elapsed)? onFirstLocalVideoFramePublished; -

    +

    -

    SDK 会在以下三种时机触发该回调: -

      -
    • 开启本地视频的情况下,调用 成功加入频道后。
    • -
    • 调用 (),再调用 () 后。
    • -
    • 调用 ,再调用 后。
    • -
    • 调用 成功向 SDK 推送视频帧后。
    • -

    +

    SDK 会在以下三种时机触发该回调:

      +
    • 开启本地视频的情况下,调用 成功加入频道后。
    • +
    • 调用 (),再调用 () 后。
    • +
    • 调用 ,再调用 后。
    • +
    • 调用 成功向 + SDK 推送视频帧后。
    • +
    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - + + + + + + connection + Connection 信息。详见 + - - + + - - elapsed - 从调用 方法到触发该回调的时间间隔(毫秒)。 - -
    + + elapsed + 从调用 方法到触发该回调的时间间隔(毫秒)。 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita index 5179050eaea..e77e8689edf 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita @@ -1,86 +1,83 @@ - <ph keyref="onFirstRemoteAudioDecoded" /> + <ph keyref="onFirstRemoteAudioDecoded"/> 已解码远端音频首帧的回调。 - +

    - public void onFirstRemoteAudioDecoded(int uid, int elapsed) { + public void onFirstRemoteAudioDecoded(int uid, int elapsed) { } - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; - virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) { + virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) { (void)uid; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstRemoteAudioDecoded, int64, uid, int, elapsed); - onFirstRemoteAudioDecoded?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstRemoteAudioDecoded, int64, uid, int, elapsed); + onFirstRemoteAudioDecoded?( connection: RtcConnection, uid: number, elapsed: number ): void; - public virtual void OnFirstRemoteAudioDecoded(RtcConnection connection, uint uid, int elapsed) { } - onFirstRemoteAudioDecoded?( + public virtual void OnFirstRemoteAudioDecoded(RtcConnection connection, uint uid, int elapsed) { } + onFirstRemoteAudioDecoded?( connection: RtcConnection, uid: number, elapsed: number ): void; - final void Function(RtcConnection connection, int uid, int elapsed)? + final void Function(RtcConnection connection, int uid, int elapsed)? onFirstRemoteAudioDecoded; -

    +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    -

    SDK 会在以下时机触发该回调: - - -

      -
    • 远端用户首次上线后发送音频。
    • -
    • 远端用户音频离线再上线发送音频。音频离线指本地在 15 秒内没有收到音频包,可能有如下原因: - - -
        -
      • 远端用户离开频道
      • -
      • 远端用户掉线
      • -
      • 远端用户调用 方法停止发送音频流
      • -
      • 远端用户调用 方法关闭音频
      • -
    • -

    +

    SDK 会在以下时机触发该回调:

      +
    • 远端用户首次上线后发送音频。
    • +
    • 远端用户音频离线再上线发送音频。音频离线指本地在 15 秒内没有收到音频包,可能有如下原因:
        +
      • 远端用户离开频道
      • +
      • 远端用户掉线
      • +
      • 远端用户调用 方法停止发送音频流
      • +
      • 远端用户调用 方法关闭音频
      • +
      +
    • +
    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - engine - 对象。 - - - - - - - uid - 远端用户 ID。 - - - elapsed - 从本地用户调用 直至该回调触发的延迟,单位为毫秒。 - -
    + + engine + 对象。 + + + + + + + uid + 远端用户 ID。 + + + 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 e1eb6e0aa1d..70825cdf0d6 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudioframe.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudioframe.dita @@ -1,72 +1,73 @@ - <ph keyref="onFirstRemoteAudioFrame" /> + <ph keyref="onFirstRemoteAudioFrame"/> 已接收远端音频首帧回调。 - +

    - public void onFirstRemoteAudioFrame(int uid, int elapsed) { + public void onFirstRemoteAudioFrame(int uid, int elapsed) { } - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteAudioFrameOfUid: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 { + virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) AGORA_DEPRECATED_ATTRIBUTE { (void)uid; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstRemoteAudioFrame, int64, uid, int, elapsed); - onFirstRemoteAudioFrame?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstRemoteAudioFrame, int64, uid, int, elapsed); + onFirstRemoteAudioFrame?( connection: RtcConnection, userId: number, elapsed: number ): void; - public virtual void OnFirstRemoteAudioFrame(RtcConnection connection, uint userId, int elapsed) { } - onFirstRemoteAudioFrame?( + public virtual void OnFirstRemoteAudioFrame(RtcConnection connection, uint userId, int elapsed) { } + onFirstRemoteAudioFrame?( connection: RtcConnection, userId: number, elapsed: number ): void; - final void Function(RtcConnection connection, int userId, int elapsed)? + final void Function(RtcConnection connection, int userId, int elapsed)? onFirstRemoteAudioFrame; -

    +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - engine - 对象。 - - - - - - - uid - userId - 发送音频帧的远端用户的用户 ID。 - - - elapsed - - -
    + + engine + 对象。 + + + + + + + uid + userId + 发送音频帧的远端用户的用户 ID。 + + + 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 c8e0b3633fc..824430ac29c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita @@ -1,22 +1,22 @@ - <ph keyref="onFirstRemoteVideoDecoded" /> + <ph keyref="onFirstRemoteVideoDecoded"/> 已接收到远端视频并完成解码回调。 - +

    - public void onFirstRemoteVideoDecoded(int uid, int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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, + virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) { @@ -25,79 +25,74 @@ (void)height; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstRemoteVideoDecoded, int64, uid, int, width, int, height, int, elapsed); - onFirstRemoteVideoDecoded?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstRemoteVideoDecoded, 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?( + 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, + final void Function(RtcConnection connection, int remoteUid, int width, int height, int elapsed)? onFirstRemoteVideoDecoded; -

    +

    -

    SDK 会在以下时机触发该回调: - - - -

      -
    • 远端用户首次上线后发送视频。
    • -
    • 远端用户视频离线再上线后发送视频。出现这种中断的可能原因包括: - - - -
        -
      • 远端用户离开频道。
      • -
      • 远端用户掉线。
      • -
      • 远端用户调用 方法关闭视频模块。
      • -
    • -

    +

    SDK 会在以下时机触发该回调:

      +
    • 远端用户首次上线后发送视频。
    • +
    • 远端用户视频离线再上线后发送视频。出现这种中断的可能原因包括:
        +
      • 远端用户离开频道。
      • +
      • 远端用户掉线。
      • +
      • 远端用户调用 方法关闭视频模块。
      • +
      +
    • +
    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - uid - 用户 ID,指定是哪个用户的视频流。 - - - - - - - size - 视频流尺寸。 - - - connection - Connection 信息。详见 - - - remoteUid - 用户 ID,指定是哪个用户的视频流。 - - - width - 视频流宽(px)。 - - - height - 视频流高(px)。 - - - elapsed - 从本地调用 开始到该回调触发的延迟(毫秒)。 - -
    + + uid + 用户 ID,指定是哪个用户的视频流。 + + + + + + + size + 视频流尺寸。 + + + connection + Connection 信息。详见 + + + remoteUid + 用户 ID,指定是哪个用户的视频流。 + + + width + 视频流宽(px)。 + + + height + 视频流高(px)。 + + + elapsed + 从本地调用 开始到该回调触发的延迟(毫秒)。 + + +
    -
    \ 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 945fd7b9e8f..9676795779f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita @@ -1,80 +1,83 @@ - <ph keyref="onFirstRemoteVideoFrame" /> + + <ph keyref="onFirstRemoteVideoFrame"/> + 渲染器已接收首帧远端视频回调。 - +

    - public void onFirstRemoteVideoFrame(int uid, int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onFirstRemoteVideoFrame(int uid, int width, int height, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoFrameOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed; - virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) { + virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) { (void)userId; (void)width; (void)height; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstRemoteVideoFrame, int64, userId, int, width, int, height, int, elapsed); - onFirstRemoteVideoFrame?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstRemoteVideoFrame, int64, userId, int, width, int, height, int, elapsed); + onFirstRemoteVideoFrame?( connection: RtcConnection, remoteUid: number, width: number, height: number, elapsed: number ): void; - public virtual void OnFirstRemoteVideoFrame(RtcConnection connection, uint remoteUid, int width, int height, int elapsed) {} - onFirstRemoteVideoFrame?( + public virtual void OnFirstRemoteVideoFrame(RtcConnection connection, uint remoteUid, int width, int height, int elapsed) {} + onFirstRemoteVideoFrame?( connection: RtcConnection, remoteUid: number, width: number, height: number, elapsed: number ): void; - final void Function(RtcConnection connection, int remoteUid, int width, + final void Function(RtcConnection connection, int remoteUid, int width, int height, int elapsed)? onFirstRemoteVideoFrame; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - uid - remoteUid - userId - 用户 ID,指定是哪个用户的视频流。 - - - size - 视频流尺寸。 - - - connection - Connection 信息。详见 - - - width - 视频流宽(px)。 - - - height - 视频流高(px)。 - - - elapsed - 从本地调用 到发生此事件过去的时间(毫秒)。 - -
    + + + + + + uid + remoteUid + userId + 用户 ID,指定是哪个用户的视频流。 + + + size + 视频流尺寸。 + + + connection + Connection 信息。详见 + + + width + 视频流宽(px)。 + + + height + 视频流高(px)。 + + + elapsed + 从本地调用 到发生此事件过去的时间(毫秒)。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_oninitialize.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_oninitialize.dita index ee953d3d434..b879ecee225 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_oninitialize.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_oninitialize.dita @@ -13,14 +13,14 @@

    - - - virtual bool onInitialize(IVideoFrameConsumer *consumer) = 0; - - - - -

    + + + virtual bool onInitialize(IVideoFrameConsumer *consumer) = 0; + + + + +

    SDK 触发该回调提醒你初始化自定义视频源。你可以在这个回调中做一些准备工作,例如打开摄像头,并通过返回值告知 SDK 自定义的视频源是否已经准备完毕。

    @@ -28,16 +28,19 @@
    参数 - - consumer - SDK 传给你的一个 对象。你需要保存该对象,并在视频源启动后,通过这个对象把视频帧传给 SDK。 - -
    + + consumer + SDK 传给你的一个 + 对象。你需要保存该对象,并在视频源启动后,通过这个对象把视频帧传给 SDK。 + + +
    返回值
      -
    • : 自定义的视频源已经完成了初始化工作。
    • -
    • : 自定义的视频源设备没准备好或者初始化失败,SDK 会停下来并上报错误。
    • -
    +
  • : 自定义的视频源已经完成了初始化工作。
  • +
  • : 自定义的视频源设备没准备好或者初始化失败,SDK 会停下来并上报错误。
  • + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onintrarequestreceived.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onintrarequestreceived.dita index b37b35d71ac..d032c33cae2 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onintrarequestreceived.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onintrarequestreceived.dita @@ -2,36 +2,37 @@ onIntraRequestReceived - + - +

    - - - - - - - final void Function(RtcConnection connection)? onIntraRequestReceived; -

    + + + + + + + final void Function(RtcConnection connection)? onIntraRequestReceived; +

    -

    +

    - <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_onjoinchannelsuccess.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita index 6efe53a5364..b5e973234e9 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita @@ -1,62 +1,63 @@ - <ph keyref="onJoinChannelSuccess" /> + <ph keyref="onJoinChannelSuccess"/> 成功加入频道回调。 - +

    - public void onJoinChannelSuccess(String channel, int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onJoinChannelSuccess(String channel, int uid, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger) elapsed; - virtual void onJoinChannelSuccess(const char* channel, + virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) { (void)channel; (void)uid; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnJoinChannelSuccess, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnJoinChannelSuccess, 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; -

    +

    该回调方法表示该客户端成功加入了指定的频道。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - engine - 对象。 - - - channel - 频道名。 - - - uid - 加入频道的用户 ID。 - - - connection - Connection 信息。详见 - - - elapsed - 从本地调用 开始到发生此事件过去的时间(毫秒)。 - -
    + + engine + 对象。 + + + channel + 频道名。 + + + uid + 加入频道的用户 ID。 + + + connection + Connection 信息。详见 + + + elapsed + 从本地调用 开始到发生此事件过去的时间(毫秒)。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita index 044e570ef2e..87e0b8a7db1 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita @@ -1,47 +1,50 @@ - <ph keyref="onLastmileProbeResult" /> - 通话前网络上下行 Last mile 质量探测报告回调。 + + <ph keyref="onLastmileProbeResult"/> + + + 通话前网络上下行 Last mile 质量探测报告回调。 + - +

    - public void onLastmileProbeResult(LastmileProbeResult result) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLastmileProbeResult(LastmileProbeResult result) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileProbeTestResult:(AgoraLastmileProbeResult * _Nonnull)result; - virtual void onLastmileProbeResult(const LastmileProbeResult& result) { + virtual void onLastmileProbeResult(const LastmileProbeResult& result) { (void)result; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLastmileProbeResult, const FLastmileProbeResult&, result); - onLastmileProbeResult?(result: LastmileProbeResult): void; - public virtual void OnLastmileProbeResult(LastmileProbeResult result) - onLastmileProbeResult?(result: LastmileProbeResult): void; - final void Function(LastmileProbeResult result)? onLastmileProbeResult; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLastmileProbeResult, 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 秒内返回该回调。 -

    +

    在调用 之后,SDK 会在约 30 秒内返回该回调。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - result - 上下行 Last mile 质量探测结果。 详见: - -
    + + + + + + result + 上下行 Last mile 质量探测结果。 详见: + + +
    -
    \ 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 9393be3d2da..16a388e3954 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita @@ -1,48 +1,52 @@ - <ph keyref="onLastmileQuality" /> + <ph keyref="onLastmileQuality"/> 网络上下行 last mile 质量报告回调。 - +

    - public void onLastmileQuality(int quality) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality; - virtual void onLastmileQuality(int quality) { + public void onLastmileQuality(int quality) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality; + virtual void onLastmileQuality(int quality) { (void)quality; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLastmileQuality, int, quality); - onLastmileQuality?(quality: QualityType): void; - public virtual void OnLastmileQuality(int quality) - onLastmileQuality?(quality: QualityType): void; - final void Function(QualityType quality)? onLastmileQuality; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLastmileQuality, 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 网络质量。详见 -
      -
    • -
    -
    -
    + + + + + + quality + Last mile 网络质量。详见 +
      +
    • +
    +
    +
    + +
    -
    \ 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 01735c01e96..b8908a43ee4 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita @@ -1,49 +1,51 @@ - <ph keyref="onLeaveChannel" /> + <ph keyref="onLeaveChannel"/> 离开频道回调。 - +

    - public void onLeaveChannel(RtcStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLeaveChannel(RtcStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLeaveChannelWithStats:(AgoraChannelStats * _Nonnull)stats; - virtual void onLeaveChannel(const RtcStats& stats) { + virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLeaveChannel, 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; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLeaveChannel, 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; +

    -

    App 调用 方法时,SDK 提示 App 离开频道成功。在该回调方法中,App 可以得到此次通话的总通话时长、SDK 收发数据的流量等信息。

    +

    App 调用 方法时,SDK 提示 App 离开频道成功。在该回调方法中,App + 可以得到此次通话的总通话时长、SDK 收发数据的流量等信息。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - stats - 通话的统计数据: - -
    + + + + + + connection + Connection 信息。详见 + + + stats + 通话的统计数据: + + +
    -
    \ 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 c91bd1dc559..d999db667ce 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita @@ -1,81 +1,97 @@ - <ph keyref="onLocalAudioStateChanged" /> - 本地音频状态发生改变回调。 + + <ph keyref="onLocalAudioStateChanged"/> + + + 本地音频状态发生改变回调。 + - +

    - public void onLocalAudioStateChanged(int state, int reason) {} - - (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) { + public void onLocalAudioStateChanged(int state, int reason) {} + - (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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalAudioStateChanged, ELOCAL_AUDIO_STREAM_STATE, state, ELOCAL_AUDIO_STREAM_ERROR, error); - onLocalAudioStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalAudioStateChanged, ELOCAL_AUDIO_STREAM_STATE, state, ELOCAL_AUDIO_STREAM_ERROR, error); + onLocalAudioStateChanged?( connection: RtcConnection, state: LocalAudioStreamState, reason: LocalAudioStreamReason ): void; - public virtual void OnLocalAudioStateChanged(RtcConnection connection, LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) - onLocalAudioStateChanged?( + public virtual void OnLocalAudioStateChanged(RtcConnection connection, LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) + onLocalAudioStateChanged?( connection: RtcConnection, state: LocalAudioStreamState, reason: LocalAudioStreamReason ): void; - final void Function(RtcConnection connection, LocalAudioStreamState state, + final void Function(RtcConnection connection, LocalAudioStreamState state, LocalAudioStreamReason reason)? onLocalAudioStateChanged; -

    +

    -

    本地音频的状态发生改变时(包括本地麦克风采集状态和音频编码状态),SDK 会触发该回调报告当前的本地音频状态。在本地音频出现故障时,该回调可以帮助你了解当前音频的状态以及出现故障的原因,方便你排查问题。

    - - 当状态为 (3) 时, 你可以在 error 参数中查看返回的错误信息。 -
    +

    本地音频的状态发生改变时(包括本地麦克风采集状态和音频编码状态),SDK + 会触发该回调报告当前的本地音频状态。在本地音频出现故障时,该回调可以帮助你了解当前音频的状态以及出现故障的原因,方便你排查问题。

    + 当状态为 (3) 时, 你可以在 error 参数中查看返回的错误信息。 +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - state - 当前的本地音频状态。详见 - 当前的本地音频状态。 -
      -
    • (0): 本地音频默认初始状态。
    • -
    • (1): 本地音频采集设备启动成功。
    • -
    • (2): 本地音频首帧编码成功。
    • -
    • (3): 本地音频启动失败。
    • -
    -
    - - reason - 本地音频状态改变原因。详见 - 本地音频状态改变原因。 -
      -
    • (0): 本地音频状态正常。
    • -
    • (1): 本地音频出错原因不明确。建议提示用户尝试重新加入频道。
    • -
    • (2): 没有权限启动本地音频采集设备。请提示用户开启权限。
    • -
    • (3): 本地音频采集设备已经在使用中。请提示用户检查麦克风是否被其他应用占用。麦克风空闲约 5 秒后本地音频采集会自动恢复,你也可以在麦克风空闲后尝试重新加入频道。
    • -
    • (4): 本地音频采集失败。
    • -
    • (5): 本地音频编码失败。
    • -
    • (8): 本地音频采集被系统来电、智能助手、闹钟中断。如需恢复本地音频采集,请用户中止电话、智能助手、闹钟。
    • -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + state + 当前的本地音频状态。详见 + + 当前的本地音频状态。
      +
    • (0): + 本地音频默认初始状态。
    • +
    • (1): + 本地音频采集设备启动成功。
    • +
    • (2): + 本地音频首帧编码成功。
    • +
    • (3): 本地音频启动失败。
    • +
    +
    + + reason + 本地音频状态改变原因。详见 + + 本地音频状态改变原因。
      +
    • (0): 本地音频状态正常。
    • +
    • (1): + 本地音频出错原因不明确。建议提示用户尝试重新加入频道。
    • +
    • (2): + 没有权限启动本地音频采集设备。请提示用户开启权限。
    • +
    • (3): + 本地音频采集设备已经在使用中。请提示用户检查麦克风是否被其他应用占用。麦克风空闲约 5 + 秒后本地音频采集会自动恢复,你也可以在麦克风空闲后尝试重新加入频道。
    • +
    • (4): + 本地音频采集失败。
    • +
    • (5): + 本地音频编码失败。
    • +
    • (8): + 本地音频采集被系统来电、智能助手、闹钟中断。如需恢复本地音频采集,请用户中止电话、智能助手、闹钟。
    • +
    +
    + +
    -
    \ 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 eaa9895bedc..c16c5d5ab93 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostats.dita @@ -1,50 +1,51 @@ - <ph keyref="onLocalAudioStats" /> + <ph keyref="onLocalAudioStats"/> 通话中本地音频流的统计信息回调。 - +

    - public void onLocalAudioStats(LocalAudioStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalAudioStats(LocalAudioStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStats:(AgoraRtcLocalAudioStats * _Nonnull)stats; - virtual void onLocalAudioStats(const LocalAudioStats& stats) { + virtual void onLocalAudioStats(const LocalAudioStats& stats) { (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLocalAudioStats, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLocalAudioStats, 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 秒触发该回调一次。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - stats - 本地音频统计数据。详见 - -
    + + + + + + connection + Connection 信息。详见 + + + stats + 本地音频统计数据。详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalpublishfallbacktoaudioonly.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalpublishfallbacktoaudioonly.dita index 87ad42e987d..55f588fd49c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalpublishfallbacktoaudioonly.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalpublishfallbacktoaudioonly.dita @@ -1,51 +1,57 @@ - <ph keyref="onLocalPublishFallbackToAudioOnly" /> + <ph keyref="onLocalPublishFallbackToAudioOnly"/> 本地发布流已回退为音频流回调。 - +

    - public void onLocalPublishFallbackToAudioOnly(boolean isFallbackOrRecover) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalPublishFallbackToAudioOnly(boolean isFallbackOrRecover) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalPublishFallbackToAudioOnly:(BOOL)isFallbackOrRecover; - virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) { + virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) { (void)isFallbackOrRecover; } - - public virtual void OnLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) - - final void Function(bool isFallbackOrRecover)? + + public virtual void OnLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) + + final void Function(bool isFallbackOrRecover)? onLocalPublishFallbackToAudioOnly; -

    +

    -

    如果你调用了 接口并将 option 设置为 ,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。

    - 如果本地发流已回退为音频流,远端的 App 上会收到 - 的回调事件。
    +

    如果你调用了 接口并将 + option 设置为 + ,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。

    + 如果本地发流已回退为音频流,远端的 App 上会收到 + 的回调事件。 +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - isFallbackOrRecover - -
      -
    • : + + + + + + isFallbackOrRecover + +
        +
      • : 由于网络环境不理想,本地发布的媒体流已回退为音频流。
      • -
      • : 由于网络环境改善,发布的音频流已恢复为音视频流。
      • -
      -
      -
    +
  • : 由于网络环境改善,发布的音频流已恢复为音视频流。
  • + + + + +
    -
    \ 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 a1be7813553..0d085095971 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita @@ -1,50 +1,53 @@ - <ph keyref="onLocalUserRegistered" /> + <ph keyref="onLocalUserRegistered"/> 本地用户成功注册 User Account 回调。 - +

    - 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) { + 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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalUserRegistered, int64, uid, 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(bool isFallbackOrRecover)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalUserRegistered, int64, uid, 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(bool isFallbackOrRecover)? onLocalPublishFallbackToAudioOnly; -

    +

    -

    本地用户成功调用 方法注册用户 User Account,或调用 加入频道后,SDK 会触发该回调,并告知本地用户的 UID 和 User Account。

    +

    本地用户成功调用 方法注册用户 User Account,或调用 加入频道后,SDK 会触发该回调,并告知本地用户的 UID 和 User + Account。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - uid - 本地用户的 ID。 - - - userAccount - 本地用户的 User Account。 - -
    + + + + + + uid + 本地用户的 ID。 + + + userAccount + 本地用户的 User Account。 + + +
    -
    \ 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 65fdff7e6e4..515fc11fb6d 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita @@ -1,8 +1,12 @@ - <ph keyref="onLocalVideoStateChanged"/> - 本地视频状态发生改变回调。 + + <ph keyref="onLocalVideoStateChanged"/> + + + 本地视频状态发生改变回调。 + @@ -13,30 +17,30 @@

    - public void onLocalVideoStateChanged(Constants.VideoSourceType source, int state, int reason) {} + public void onLocalVideoStateChanged(Constants.VideoSourceType source, int state, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state reason:(AgoraLocalVideoStreamReason)reason sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:localVideoStateChangedOf:reason:sourceType:)); + - (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) { + virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) { (void)source; (void)state; (void)reason; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnLocalVideoStateChanged, EVIDEO_SOURCE_TYPE, source, ELOCAL_VIDEO_STREAM_STATE, state, ELOCAL_VIDEO_STREAM_ERROR, error); - onLocalVideoStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnLocalVideoStateChanged, EVIDEO_SOURCE_TYPE, source, ELOCAL_VIDEO_STREAM_STATE, state, ELOCAL_VIDEO_STREAM_ERROR, error); + onLocalVideoStateChanged?( source: VideoSourceType, state: LocalVideoStreamState, reason: LocalVideoStreamReason ): void; - public virtual void OnLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) - onLocalVideoStateChanged?( + public virtual void OnLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) + onLocalVideoStateChanged?( source: VideoSourceType, state: LocalVideoStreamState, reason: LocalVideoStreamReason ): void; - final void Function(VideoSourceType source, LocalVideoStreamState state, + final void Function(VideoSourceType source, LocalVideoStreamState state, LocalVideoStreamReason reason)? onLocalVideoStateChanged;; -

    +

    本地视频的状态发生改变时,SDK 会触发该回调,报告当前的本地视频状态以及状态改变的原因。

    @@ -47,15 +51,28 @@
    触发时机 -
    • SDK 会在如下情况触发该回调,且 statereason: -
        -
      • 应用退到后台,系统回收摄像头。
      • -
      • Android 9 及以上版本,App 切后台一段时间后,系统会收回相机权限。
      • -
      • Android 6 及以上版本,如果相机被第三方应用占用一段时间后释放,则 SDK 会触发该回调,并报告 () 回调。
      • -
      • 摄像头正常启动,但连续 4 秒都没有输出采集的视频。
    • -
    • 当摄像头输出采集的视频帧时,如果 SDK 检测到连续 15 个重复的视频帧,会触发该回调,且 statereason。 - 帧重复检测仅针对分辨率大于 200 × 200、帧率大于等于 10 fps、码率小于 20 Kbps 的视频帧。
    -
    +
      +
    • SDK 会在如下情况触发该回调,且 statereason 为 +
        +
      • 应用退到后台,系统回收摄像头。
      • +
      • Android 9 及以上版本,App + 切后台一段时间后,系统会收回相机权限。
      • +
      • Android 6 + 及以上版本,如果相机被第三方应用占用一段时间后释放,则 SDK 会触发该回调,并报告 () 回调。
      • +
      • 摄像头正常启动,但连续 4 秒都没有输出采集的视频。
      • +
    • +
    • 当摄像头输出采集的视频帧时,如果 SDK 检测到连续 15 个重复的视频帧,会触发该回调,且 state 为 + reason帧重复检测仅针对分辨率大于 + 200 × 200、帧率大于等于 10 fps、码率小于 20 Kbps 的视频帧。
    • +
    +
    使用限制

    对某些机型而言,当本地视频采集设备正在使用中时,SDK 不会在本地视频状态发生改变时触发该回调,你需要自行做超时判断。

    @@ -63,43 +80,57 @@
    <ph keyref="callback-section-title"/> - - - - - - sourceType - source - 视频源的类型。详见 - - - state - -

    本地视频状态,详见

    -

    -

      -
    • (0): 本地视频默认初始状态。
    • -
    • (1): 本地视频采集设备启动成功。
    • -
    • (2): 本地视频首帧编码成功。
    • -
    • (3): 本地视频启动失败。
    • -

    -
    -
    - - reason - -

    本地视频状态改变原因,详见

    -

    -

      -
    • (0): 本地视频状态正常。
    • -
    • (1): 出错原因不明确。
    • -
    • (3): 本地视频采集设备正在使用中。请提示用户检查摄像头是否被其他 App 占用,或者尝试重新加入频道。
    • -
    • (4): 本地视频采集失败。请提示用户检查视频采集设备是否正常工作,检查摄像头是否被其他 App 占用,或者尝试重新加入频道。
    • -
    • (5):本地视频编码失败。
    • -
    • (8):找不到本地视频采集设备。需检查摄像头是否与设备正常连接、摄像头是否正常工作,或者尝试重新加入频道。
    • -

    -
    -
    -
    + + + + + + sourceType + source + 视频源的类型。详见 + + + state + +

    本地视频状态,详见 +

    +

    +

      +
    • (0): + 本地视频默认初始状态。
    • +
    • (1): + 本地视频采集设备启动成功。
    • +
    • (2): + 本地视频首帧编码成功。
    • +
    • (3): + 本地视频启动失败。
    • +
    +

    +
    +
    + + reason + +

    本地视频状态改变原因,详见 +

    +

    +

      +
    • (0): 本地视频状态正常。
    • +
    • (1): + 出错原因不明确。
    • +
    • (3): + 本地视频采集设备正在使用中。请提示用户检查摄像头是否被其他 App 占用,或者尝试重新加入频道。
    • +
    • (4): + 本地视频采集失败。请提示用户检查视频采集设备是否正常工作,检查摄像头是否被其他 App 占用,或者尝试重新加入频道。
    • +
    • + (5):本地视频编码失败。
    • +
    • + (8):找不到本地视频采集设备。需检查摄像头是否与设备正常连接、摄像头是否正常工作,或者尝试重新加入频道。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita index 5f8964f8060..c49f4afe724 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita @@ -1,58 +1,59 @@ - <ph keyref="onLocalVideoStats" /> + <ph keyref="onLocalVideoStats"/> 本地视频流统计信息回调。 - +

    - public void onLocalVideoStats(Constants.VideoSourceType source, LocalVideoStats stats) {} + public void onLocalVideoStats(Constants.VideoSourceType source, LocalVideoStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStats:(AgoraRtcLocalVideoStats * _Nonnull)stats sourceType:(AgoraVideoSourceType)sourceType; - virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) { + virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) { (void)source; (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalVideoStats, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalVideoStats, 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 秒触发一次。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - + + + + + + connection + Connection 信息。详见 + - - + + - - stats - 本地视频流统计信息。详见 - -
    + + stats + 本地视频流统计信息。详见 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita index 696221c7698..d90e4435e7d 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita @@ -13,60 +13,63 @@

    - public void onLocalVideoTranscoderError( + public void onLocalVideoTranscoderError( LocalTranscoderConfiguration.TranscodingVideoStream stream, int error) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalVideoTranscoderErrorWithStream:(AgoraTranscodingVideoStream * _Nonnull )stream + - (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){ + virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){ (void)stream; (void)error; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalVideoTranscoderError, const FTranscodingVideoStream&, stream, EVIDEO_TRANSCODER_ERROR, error); - onLocalVideoTranscoderError?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalVideoTranscoderError, const FTranscodingVideoStream&, stream, EVIDEO_TRANSCODER_ERROR, error); + onLocalVideoTranscoderError?( stream: TranscodingVideoStream, error: VideoTranscoderError ): void; - public virtual void OnLocalVideoTranscoderError(TranscodingVideoStream stream, VIDEO_TRANSCODER_ERROR error){} - onLocalVideoTranscoderError?( + public virtual void OnLocalVideoTranscoderError(TranscodingVideoStream stream, VIDEO_TRANSCODER_ERROR error){} + onLocalVideoTranscoderError?( stream: TranscodingVideoStream, error: VideoTranscoderError ): void; - final void Function( + final void Function( TranscodingVideoStream stream, VideoTranscoderError error)? - onLocalVideoTranscoderError;

    + onLocalVideoTranscoderError; +

    详情
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    -

    当你调用 失败时,SDK 会触发该回调,报告合图失败的原因。

    +

    当你调用 失败时,SDK 会触发该回调,报告合图失败的原因。

    参数 - - stream - 合图失败的视频流。详见 - - - error - errorCode - 本地合图出错原因。详见 - 本地合图出错原因: -
      -
    • 1:指定的视频源未开始进行视频采集,你需要为其创建视频轨道并开始视频采集。
    • -
    • 2:视频源类型无效,你需要重新指定支持的视频源类型。
    • -
    • 3:图片路径无效,你需要重新指定正确的图片路径。
    • -
    • 4:图片格式无效,需确保图片格式为 PNG、JPEG 或 GIF 中的一种。
    • -
    • 5:合图后的视频编码分辨率无效。
    • -
    • 20:内部未知错误。
    • -
    -
    -
    -
    + + stream + 合图失败的视频流。详见 + + + error + errorCode + 本地合图出错原因。详见 + 本地合图出错原因:
      +
    • 1:指定的视频源未开始进行视频采集,你需要为其创建视频轨道并开始视频采集。
    • +
    • 2:视频源类型无效,你需要重新指定支持的视频源类型。
    • +
    • 3:图片路径无效,你需要重新指定正确的图片路径。
    • +
    • 4:图片格式无效,需确保图片格式为 PNG、JPEG 或 GIF 中的一种。
    • +
    • 5:合图后的视频编码分辨率无效。
    • +
    • 20:内部未知错误。
    • +
    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onmicrophoneenabled.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onmicrophoneenabled.dita index 040b4cb0b3a..e578f557160 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onmicrophoneenabled.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onmicrophoneenabled.dita @@ -1,54 +1,54 @@ - <ph keyref="onMicrophoneEnabled" /> + <ph keyref="onMicrophoneEnabled"/> 麦克风状态已改变回调。 - +

    - - - virtual void onMicrophoneEnabled(bool enabled) { (void)enabled; } - - public virtual void OnMicrophoneEnabled(bool enabled) - -

    + + + virtual void onMicrophoneEnabled(bool enabled) { (void)enabled; } + + public virtual void OnMicrophoneEnabled(bool enabled) + + +

    - -
    弃用:
    -
    -

    请改用 回调的: -

      -
    • (0)。
    • -
    • (1)。
    • -

    -
    -
    + +
    弃用:
    +
    +

    请改用 回调的:

      +
    • (0)。
    • +
    • (1)。
    • +

    +
    +
    -

    该回调是由本地用户调用 方法开启或关闭本地音频采集触发的。

    +

    该回调是由本地用户调用 方法开启或关闭本地音频采集触发的。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - enabled - -

    麦克风状态: -

      -
    • :麦克风已启用。
    • -
    • :麦克风已禁用。
    • -

    -
    -
    -
    + + enabled + +

    麦克风状态:

      +
    • :麦克风已启用。
    • +
    • :麦克风已禁用。
    • +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita index b3258d79d43..7c398623e7a 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita @@ -1,82 +1,95 @@ - <ph keyref="onNetworkQuality" /> + <ph keyref="onNetworkQuality"/> 通话中每个用户的网络上下行 last mile 质量报告回调。 - +

    - public void onNetworkQuality(int uid, int txQuality, int rxQuality) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onNetworkQuality(int uid, int txQuality, int rxQuality) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkQuality:(NSUInteger)uid txQuality:(AgoraNetworkQuality)txQuality rxQuality:(AgoraNetworkQuality)rxQuality; - virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) { + virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) { (void)uid; (void)txQuality; (void)rxQuality; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnNetworkQuality, int64, uid, int, txQuality, int, rxQuality); - onNetworkQuality?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnNetworkQuality, int64, uid, int, txQuality, int, rxQuality); + onNetworkQuality?( connection: RtcConnection, remoteUid: number, txQuality: QualityType, rxQuality: QualityType ): void; - public virtual void OnNetworkQuality(RtcConnection connection, uint remoteUid, int txQuality, int rxQuality) {} - onNetworkQuality?( + public virtual void OnNetworkQuality(RtcConnection connection, uint remoteUid, int txQuality, int rxQuality) {} + onNetworkQuality?( connection: RtcConnection, remoteUid: number, txQuality: QualityType, rxQuality: QualityType ): void; - final void Function(RtcConnection connection, int remoteUid, + final void Function(RtcConnection connection, int remoteUid, QualityType txQuality, QualityType rxQuality)? onNetworkQuality; -

    +

    该回调描述每个用户在通话中的 last mile 网络状态,其中 last mile 是指设备到声网边缘服务器的网络状态。

    该回调每 2 秒触发一次。如果远端有多个用户,该回调每 2 秒会被触发多次。

    - 用户不发流时,txQualityUNKNOWNUnknown;用户不收流时,rxQualityUNKNOWNUnknown
    + 用户不发流时,txQualityUNKNOWNUnknown;用户不收流时,rxQualityUNKNOWNUnknown +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - uid - remoteUid - -

    用户 ID。表示该回调报告的是持有该 ID 的用户的网络质量。如果当 uid 为 0 时,返回的是本地用户的网络质量。

    -
    -
    - - txQuality - 该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算。 该值代表当前的上行网络质量,帮助判断是否可以支持当前设置的视频编码属性。 假设上行码率是 1000 Kbps,那么支持直播场景下 640 × 480 的分辨率、15 fps 的帧率没有问题,但是支持 1280 × 720 的分辨率就会有困难。 详见 -
      -
    • -
    -
    - - rxQuality - 该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算。详见 -
      -
    • -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + uid + remoteUid + +

    用户 ID。表示该回调报告的是持有该 ID 的用户的网络质量。如果当 uid 为 0 时,返回的是本地用户的网络质量。

    +
    +
    + + txQuality + 该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算。 该值代表当前的上行网络质量,帮助判断是否可以支持当前设置的视频编码属性。 + 假设上行码率是 1000 Kbps,那么支持直播场景下 640 × 480 的分辨率、15 fps 的帧率没有问题,但是支持 1280 × 720 + 的分辨率就会有困难。 详见 +
      +
    • +
    +
    +
    + + rxQuality + 该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算。详见 +
      +
    • +
    +
    + +
    -
    \ 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 2de1ff0ae10..32b5c19fdc6 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworktypechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworktypechanged.dita @@ -1,67 +1,65 @@ - <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) { + public void onNetworkTypeChanged(int type) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type; + virtual void onNetworkTypeChanged(NETWORK_TYPE type) { (void)type; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnNetworkTypeChanged, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnNetworkTypeChanged, 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 会触发该回调,并在回调中明确当前的网络连接类型。你可以通过该回调获取正在使用的网络类型;当连接中断时,该回调能辨别引起中断的原因是网络切换还是网络条件不好。

    +

    本地网络连接类型发生改变时,SDK + 会触发该回调,并在回调中明确当前的网络连接类型。你可以通过该回调获取正在使用的网络类型;当连接中断时,该回调能辨别引起中断的原因是网络切换还是网络条件不好。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - type - -

    本地网络连接类型。详见

    -

    网络连接类型: - - - - - -

      -
    • (-1):网络连接类型未知。
    • -
    • (0):网络连接已断开。
    • -
    • (1):网络类型为 LAN。
    • -
    • (2):网络类型为 Wi-Fi(包含热点)。
    • -
    • (3):网络类型为 2G 移动网络。
    • -
    • (4):网络类型为 3G 移动网络。
    • -
    • (5):网络类型为 4G 移动网络。
    • -
    • (6):网络类型为 5G 移动网络。
    • -

    -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + type + +

    本地网络连接类型。详见 +

    +

    网络连接类型:

      +
    • (-1):网络连接类型未知。
    • +
    • (0):网络连接已断开。
    • +
    • (1):网络类型为 LAN。
    • +
    • (2):网络类型为 Wi-Fi(包含热点)。
    • +
    • (3):网络类型为 2G 移动网络。
    • +
    • (4):网络类型为 3G 移动网络。
    • +
    • (5):网络类型为 4G 移动网络。
    • +
    • (6):网络类型为 5G 移动网络。
    • +
    +

    +
    +
    + +
    -
    \ 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 6abb2cba765..9cb7d3953a7 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita @@ -1,52 +1,53 @@ - <ph keyref="onPermissionError" /> + <ph keyref="onPermissionError"/> 获取设备权限出错回调。 - +

    - public void onPermissionError(int permission) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type; - virtual void onPermissionError(PERMISSION_TYPE permissionType) { + public void onPermissionError(int permission) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type; + virtual void onPermissionError(PERMISSION_TYPE permissionType) { (void)permissionType; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPermissionError, EPERMISSION_TYPE, permissionType); - onPermissionError?(permissionType: PermissionType): void; - public virtual void OnPermissionError(PERMISSION_TYPE permissionType) {} - onPermissionError?(permissionType: PermissionType): void; - final void Function(PermissionType permissionType)? onPermissionError; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPermissionError, 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 - 设备权限类型。详见 - 设备权限类型。 -
      -
    • (0): 音频采集设备的权限。
    • -
    • (1): 摄像头权限。
    • -
    • (2): 屏幕共享权限。
    • -
    -
    -
    + + + + + + permission + type + permissionType + 设备权限类型。详见 + 设备权限类型。
      +
    • (0): 音频采集设备的权限。
    • +
    • (1): 摄像头权限。
    • +
    • (2): 屏幕共享权限。
    • +
    +
    + +
    -
    \ 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 660bf860fb4..0c5e87d84d7 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onproxyconnected.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onproxyconnected.dita @@ -1,82 +1,87 @@ - <ph keyref="onProxyConnected" /> + <ph keyref="onProxyConnected"/> 代理连接状态回调。 - +

    - public void onProxyConnected( + 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)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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnProxyConnected, FString, channel, int64, uid, EPROXY_TYPE, proxyType, FString, localProxyIp, int, elapsed); - onProxyConnected?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnProxyConnected, FString, channel, int64, uid, EPROXY_TYPE, proxyType, 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?( + 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, + final void Function(String channel, int uid, ProxyType proxyType, String localProxyIp, int elapsed)? onProxyConnected; -

    +

    -

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 设置代理并成功加入频道后,SDK 会触发该回调报告用户 ID、连接的代理类型和从调用 到触发该回调经过的时间等。

    +

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 设置代理并成功加入频道后,SDK + 会触发该回调报告用户 ID、连接的代理类型和从调用 到触发该回调经过的时间等。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - channel - 频道名称。 - - - uid - 用户 ID - - - proxyType - 连接上的代理类型。详见 - 连接上的代理类型。 -
      -
    • (0): 预留参数,暂不支持。
    • -
    • (1): UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。
    • -
    • (2): TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。
    • -
    • (3): 预留参数,暂不支持。
    • -
    • (4): 自动模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换为 TLS 443。
    • -
    -
    - - localProxyIp - 预留参数,暂不支持。 - - - elapsed - 从调用 到 SDK 触发该回调的经过的时间(毫秒)。 - -
    + + channel + 频道名称。 + + + uid + 用户 ID + + + proxyType + 连接上的代理类型。详见 + 连接上的代理类型。
      +
    • (0): 预留参数,暂不支持。
    • +
    • (1): UDP 协议的云代理,即 Force UDP + 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。
    • +
    • (2): TCP(加密)协议的云代理,即 Force TCP + 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。
    • +
    • (3): 预留参数,暂不支持。
    • +
    • (4): 自动模式。在该模式下,SDK 优先连接 + SD-RTN™,如果连接失败,自动切换为 TLS 443。
    • +
    +
    + + localProxyIp + 预留参数,暂不支持。 + + + elapsed + 从调用 到 SDK 触发该回调的经过的时间(毫秒)。 + + +
    -
    \ 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 eebd2181e67..47829d97e92 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita @@ -1,60 +1,61 @@ - <ph keyref="onRejoinChannelSuccess" /> + <ph keyref="onRejoinChannelSuccess"/> 成功重新加入频道回调。 - +

    - public void onRejoinChannelSuccess(String channel, int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRejoinChannelSuccess(String channel, int uid, int elapsed) {} + - (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) { + virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) { (void)channel; (void)uid; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRejoinChannelSuccess, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRejoinChannelSuccess, 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 会进行自动重连,自动重连成功后触发此回调方法。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - channel - 频道名。 - - - uid - 重新加入频道的用户 ID。 - - - connection - Connection 信息。详见 - - - elapsed - 从调用 方法到触发该回调的时间间隔(毫秒)。 - -
    + + + + + + channel + 频道名。 + + + uid + 重新加入频道的用户 ID。 + + + connection + Connection 信息。详见 + + + elapsed + 从调用 方法到触发该回调的时间间隔(毫秒)。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingbegin.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingbegin.dita index 64f2769486c..d258701b936 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingbegin.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingbegin.dita @@ -13,14 +13,14 @@

    - - - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRemoteAudioMixingBegin() - - public virtual void OnRemoteAudioMixingBegin() - - -

    + + - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRemoteAudioMixingBegin() + + public virtual void OnRemoteAudioMixingBegin() + + +

    当远端有用户调用 播放本地音乐文件,会触发该回调。

    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingend.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingend.dita index 61b7a818ba1..69d55635fba 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingend.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingend.dita @@ -13,14 +13,14 @@

    - - - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRemoteAudioMixingEnd() - - public virtual void OnRemoteAudioMixingEnd() - - -

    + + - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRemoteAudioMixingEnd() + + public virtual void OnRemoteAudioMixingEnd() + + +

    当远端有用户播放本地音乐文件结束,会触发该回调。

    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita index e64d8dffec6..7f537b93b61 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita @@ -1,22 +1,26 @@ - <ph keyref="onRemoteAudioStateChanged" /> - 远端音频流状态发生改变回调。 + + <ph keyref="onRemoteAudioStateChanged"/> + + + 远端音频流状态发生改变回调。 + - +

    - public void onRemoteAudioStateChanged(int uid, int state, int reason, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteAudioStateChanged(int uid, int state, int reason, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStateChangedOfUid:(NSUInteger)uid state:(AgoraAudioRemoteState)state reason:(AgoraAudioRemoteReason)reason elapsed:(NSInteger)elapsed; - virtual void onRemoteAudioStateChanged(uid_t uid, + virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) { @@ -25,82 +29,107 @@ (void)reason; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteAudioStateChanged, int64, uid, EREMOTE_AUDIO_STATE, state, EREMOTE_AUDIO_STATE_REASON, reason, int, elapsed); - onRemoteAudioStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteAudioStateChanged, int64, uid, EREMOTE_AUDIO_STATE, state, EREMOTE_AUDIO_STATE_REASON, reason, int, elapsed); + onRemoteAudioStateChanged?( connection: RtcConnection, remoteUid: number, state: RemoteAudioState, reason: RemoteAudioStateReason, elapsed: number ): void; - public virtual void OnRemoteAudioStateChanged(RtcConnection connection, uint remoteUid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {} - onRemoteAudioStateChanged?( + public virtual void OnRemoteAudioStateChanged(RtcConnection connection, uint remoteUid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {} + onRemoteAudioStateChanged?( connection: RtcConnection, remoteUid: number, state: RemoteAudioState, reason: RemoteAudioStateReason, elapsed: number ): void; - final void Function( + final void Function( RtcConnection connection, int remoteUid, RemoteAudioState state, RemoteAudioStateReason reason, int elapsed)? onRemoteAudioStateChanged; -

    +

    远端用户(通信场景)或主播(直播场景)的音频状态发生改变时,SDK 会触发该回调向本地用户报告当前的远端音频流状态。

    - 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调可能不准确。
    + 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调可能不准确。 +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - uid - remoteUid - 发生音频状态改变的远端用户 ID。 - - - state - 远端音频流状态,详见 - 远端音频流状态。 - -
      -
    • (0): 远端音频默认初始状态。在 的情况下,会报告该状态。
    • -
    • (1): 本地用户已接收远端音频首包。
    • -
    • (2): 远端音频流正在解码,正常播放。在 的情况下, 会报告该状态。
    • -
    • (3): 远端音频流卡顿。在 的情况下,会报告该状态。
    • -
    • (4): 远端音频流播放失败。在 的情况下,会报告该状态。
    • -
    -
    - - reason - 远端音频流状态改变的具体原因,详见 - 远端音频流状态改变的具体原因。 - -
      -
    • (0): 音频状态发生改变时,会报告该原因。
    • -
    • (1): 网络阻塞。
    • -
    • (2): 网络恢复正常。
    • -
    • (3): 本地用户停止接收远端音频流或本地用户禁用音频模块。
    • -
    • (4): 本地用户恢复接收远端音频流或本地用户启动音频模块。
    • -
    • (5): 远端用户停止发送音频流或远端用户禁用音频模块。
    • -
    • (6): 远端用户恢复发送音频流或远端用户启用音频模块。
    • -
    • (7): 远端用户离开频道。
    • -
    -
    - - elapsed - 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 - -
    + + + + + + connection + Connection 信息。详见 + + + uid + remoteUid + 发生音频状态改变的远端用户 ID。 + + + state + 远端音频流状态,详见 + + 远端音频流状态。
      +
    • (0): 远端音频默认初始状态。在 + + 或 + 的情况下,会报告该状态。
    • +
    • (1): + 本地用户已接收远端音频首包。
    • +
    • (2): + 远端音频流正在解码,正常播放。在 + 的情况下, 会报告该状态。
    • +
    • (3): 远端音频流卡顿。在 + 的情况下,会报告该状态。
    • +
    • (4): 远端音频流播放失败。在 + + 的情况下,会报告该状态。
    • +
    +
    + + reason + + 远端音频流状态改变的具体原因,详见 + 远端音频流状态改变的具体原因。
      +
    • (0): + 音频状态发生改变时,会报告该原因。
    • +
    • (1): + 网络阻塞。
    • +
    • (2): + 网络恢复正常。
    • +
    • (3): + 本地用户停止接收远端音频流或本地用户禁用音频模块。
    • +
    • (4): + 本地用户恢复接收远端音频流或本地用户启动音频模块。
    • +
    • (5): + 远端用户停止发送音频流或远端用户禁用音频模块。
    • +
    • (6): + 远端用户恢复发送音频流或远端用户启用音频模块。
    • +
    • (7): + 远端用户离开频道。
    • +
    +
    +
    + + elapsed + 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 + + +
    - \ 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 0bb1572d14d..572c50706b1 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostats.dita @@ -1,50 +1,51 @@ - <ph keyref="onRemoteAudioStats" /> + <ph keyref="onRemoteAudioStats"/> 通话中远端音频流的统计信息回调。 - +

    - public void onRemoteAudioStats(RemoteAudioStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteAudioStats(RemoteAudioStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStats:(AgoraRtcRemoteAudioStats * _Nonnull)stats; - virtual void onRemoteAudioStats(const RemoteAudioStats& stats) { + virtual void onRemoteAudioStats(const RemoteAudioStats& stats) { (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRemoteAudioStats, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRemoteAudioStats, 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; -

    +

    该回调针对每个发送音频流的远端用户/主播每 2 秒触发一次。如果远端有多个用户/主播发送音频流,该回调每 2 秒会被触发多次。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - stats - 接收到的远端音频统计数据,详见 - -
    + + + + + + connection + Connection 信息。详见 + + + stats + 接收到的远端音频统计数据,详见 + + +
    -
    \ 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 483e19bdc3e..9f39f92fccf 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiotransportstats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiotransportstats.dita @@ -1,25 +1,25 @@ - <ph keyref="onRemoteAudioTransportStats" /> + <ph keyref="onRemoteAudioTransportStats"/> 通话中远端音频流传输的统计信息回调。 - +

    - public void onRemoteAudioTransportStats(int uid, int delay, int lost, int rxKBitRate) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteAudioTransportStats(int uid, int delay, int lost, int rxKBitRate) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine audioTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate; - virtual void onRemoteAudioTransportStats(uid_t uid, + virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) { @@ -28,65 +28,67 @@ (void)lost; (void)rxKBitRate; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteAudioTransportStats, int64, uid, int, delay, int, lost, int, rxKBitRate); - onRemoteAudioTransportStats?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteAudioTransportStats, int64, uid, int, delay, int, lost, int, rxKBitRate); + onRemoteAudioTransportStats?( connection: RtcConnection, remoteUid: number, delay: number, lost: number, rxKBitRate: number ): void; - public virtual void OnRemoteAudioTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {} - onRemoteAudioTransportStats?( + public virtual void OnRemoteAudioTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {} + onRemoteAudioTransportStats?( connection: RtcConnection, remoteUid: number, delay: number, lost: number, rxKBitRate: number ): void; - final void Function(RtcConnection connection, int remoteUid, int delay, + final void Function(RtcConnection connection, int remoteUid, int delay, int lost, int rxKBitRate)? onRemoteAudioTransportStats; -

    +

    -

    - -
    弃用:
    -
    请改用
    -
    -
    +
    + +
    弃用:
    +
    请改用
    +
    +

    -

    该回调描述远端用户通话中端到端的网络统计信息,通过音频包计算,用客观的数据,如丢包、 网络延迟等,展示当前网络状态。通话中,当用户收到远端用户/主播发送的音频数据包后 ,会每 2 秒触发一次该回调。

    +

    该回调描述远端用户通话中端到端的网络统计信息,通过音频包计算,用客观的数据,如丢包、 + 网络延迟等,展示当前网络状态。通话中,当用户收到远端用户/主播发送的音频数据包后 ,会每 2 秒触发一次该回调。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - Connection 信息。详见 - - - uid - remoteUid - 用户 ID,指定是哪个用户/主播的音频包。 - - - delay - 音频包从发送端到接收端的延时(毫秒)。 - - - lost - 音频包从发送端到接收端的丢包率 (%)。 - - - rxKBitrate - 远端音频包的接收码率(Kbps)。 - -
    + + + + + + connection + Connection 信息。详见 + + + uid + remoteUid + 用户 ID,指定是哪个用户/主播的音频包。 + + + delay + 音频包从发送端到接收端的延时(毫秒)。 + + + lost + 音频包从发送端到接收端的丢包率 (%)。 + + + rxKBitrate + 远端音频包的接收码率(Kbps)。 + + +
    -
    \ 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 f59f9ab3574..2044ed65b62 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotesubscribefallbacktoaudioonly.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotesubscribefallbacktoaudioonly.dita @@ -1,65 +1,75 @@ - <ph keyref="onRemoteSubscribeFallbackToAudioOnly" /> - 订阅流已回退为音频流或恢复为音视频流回调。 + + <ph keyref="onRemoteSubscribeFallbackToAudioOnly"/> + + + 订阅流已回退为音频流或恢复为音视频流回调。 + - +

    - public void onRemoteSubscribeFallbackToAudioOnly(int uid, boolean isFallbackOrRecover) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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) { + virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) { (void)uid; (void)isFallbackOrRecover; } - onRemoteSubscribeFallbackToAudioOnly?( + onRemoteSubscribeFallbackToAudioOnly?( uid: number, isFallbackOrRecover: boolean ): void; - public virtual void OnRemoteSubscribeFallbackToAudioOnly(uint uid, bool isFallbackOrRecover) - onRemoteSubscribeFallbackToAudioOnly?( + public virtual void OnRemoteSubscribeFallbackToAudioOnly(uint uid, bool isFallbackOrRecover) + onRemoteSubscribeFallbackToAudioOnly?( uid: number, isFallbackOrRecover: boolean ): void; - final void Function(int uid, bool isFallbackOrRecover)? + final void Function(int uid, bool isFallbackOrRecover)? onRemoteSubscribeFallbackToAudioOnly; -

    +

    -

    当你调用了 并将 option 设置为 后,该回调会在下列情况时被触发: -

      +

      当你调用了 并将 + option 设置为 后,该回调会在下列情况时被触发:

      • 下行网络环境较差,订阅的音视频流回退为音频流
      • 下行网络环境改善,订阅音频流恢复为音视频流

      - 订阅流因弱网环境而回退为视频小流时,你可以通过 回调来监控远端视频大小流的切换。 + 订阅流因弱网环境而回退为视频小流时,你可以通过 + 回调来监控远端视频大小流的切换。
    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - uid - 远端用户的用户 ID。 - - - isFallbackOrRecover - -
      -
    • : 由于网络环境不理想,订阅流已回退为音频流。
    • -
    • : 由于网络环境改善,订阅流已恢复为音视频流。
    • -
    -
    -
    + + + + + + uid + 远端用户的用户 ID。 + + + isFallbackOrRecover + +
      +
    • : 由于网络环境不理想,订阅流已回退为音频流。
    • +
    • : 由于网络环境改善,订阅流已恢复为音视频流。
    • +
    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita index 4d3f44fc689..cfdd8372372 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita @@ -1,22 +1,26 @@ - <ph keyref="onRemoteVideoStateChanged" /> - 远端视频状态发生改变回调。 + + <ph keyref="onRemoteVideoStateChanged"/> + + + 远端视频状态发生改变回调。 + - +

    - public void onRemoteVideoStateChanged(int uid, int state, int reason, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoStateChanged(int uid, int state, int reason, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteReason)reason elapsed:(NSInteger)elapsed; - virtual void onRemoteVideoStateChanged(uid_t uid, + virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) { @@ -25,86 +29,148 @@ (void)reason; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteVideoStateChanged, int64, uid, EREMOTE_VIDEO_STATE, state, EREMOTE_VIDEO_STATE_REASON, reason, int, elapsed); - onRemoteVideoStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteVideoStateChanged, int64, uid, EREMOTE_VIDEO_STATE, state, EREMOTE_VIDEO_STATE_REASON, reason, int, elapsed); + onRemoteVideoStateChanged?( connection: RtcConnection, remoteUid: number, state: RemoteVideoState, reason: RemoteVideoStateReason, elapsed: number ): void; - public virtual void OnRemoteVideoStateChanged(RtcConnection connection, uint remoteUid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {} - onRemoteVideoStateChanged?( + public virtual void OnRemoteVideoStateChanged(RtcConnection connection, uint remoteUid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {} + onRemoteVideoStateChanged?( connection: RtcConnection, remoteUid: number, state: RemoteVideoState, reason: RemoteVideoStateReason, elapsed: number ): void; - final void Function( + final void Function( RtcConnection connection, int remoteUid, RemoteVideoState state, RemoteVideoStateReason reason, int elapsed)? onRemoteVideoStateChanged; -

    +

    - 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调可能不准确。
    + 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调可能不准确。 +
    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - + + + + + connection Connection 信息。详见 - - uid - remoteUid - 发生视频状态改变的远端用户 ID。 - - - state - -

    远端视频流状态,详见

    -

    远端视频流状态: -

      -
    • (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):本地的视频解码器不支持对收到的远端视频流进行解码。
    • -

    -
    -
    - - elapsed - 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 - -
    + + uid + remoteUid + 发生视频状态改变的远端用户 ID。 + + + state + +

    远端视频流状态,详见

    +

    远端视频流状态:

      +
    • + + (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):本地的视频解码器不支持对收到的远端视频流进行解码。
    • +
    +

    +
    +
    + + elapsed + 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita index 73ef3c04203..60e2b6ff348 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita @@ -1,48 +1,57 @@ - <ph keyref="onRemoteVideoStats" /> - 通话中远端视频流的统计信息回调。 + + <ph keyref="onRemoteVideoStats"/> + + + 通话中远端视频流的统计信息回调。 + - +

    - public void onRemoteVideoStats(RemoteVideoStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoStats(RemoteVideoStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStats:(AgoraRtcRemoteVideoStats * _Nonnull)stats; - virtual void onRemoteVideoStats(const RemoteVideoStats& stats) { + virtual void onRemoteVideoStats(const RemoteVideoStats& stats) { (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRemoteVideoStats, const FRemoteVideoStats&, stats); - onRemoteVideoStats?(connection: RtcConnection, stats: RemoteVideoStats): void; - public virtual void OnRemoteVideoStats(RtcConnection connection, RemoteVideoStats stats) {} - onRemoteVideoStats?(connection: RtcConnection, stats: RemoteVideoStats): void; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRemoteVideoStats, 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 秒会被触发多次。

    +

    该回调描述远端用户在通话中端到端的视频流统计信息, 针对每个远端用户/主播每 2 秒触发一次。如果远端同时存在多个用户/主播, 该回调每 2 + 秒会被触发多次。

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - Connection 信息。详见 - - - stats - 远端视频统计数据。详见 - -
    + + + + + + connection + Connection 信息。详见 + + + stats + 远端视频统计数据。详见 + + +
    -
    \ 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 3b853e0173a..2ca16577e43 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideotransportstats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideotransportstats.dita @@ -1,25 +1,29 @@ - <ph keyref="onRemoteVideoTransportStats" /> - 通话中远端视频流传输的统计信息回调。 + + <ph keyref="onRemoteVideoTransportStats"/> + + + 通话中远端视频流传输的统计信息回调。 + - +

    - public void onRemoteVideoTransportStats(int uid, int delay, int lost, int rxKBitRate) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoTransportStats(int uid, int delay, int lost, int rxKBitRate) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate; - virtual void onRemoteVideoTransportStats(uid_t uid, + virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) { @@ -28,64 +32,67 @@ (void)lost; (void)rxKBitRate; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteVideoTransportStats, int64, uid, int, delay, int, lost, int, rxKBitRate); - onRemoteVideoTransportStats?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteVideoTransportStats, int64, uid, int, delay, int, lost, int, rxKBitRate); + onRemoteVideoTransportStats?( connection: RtcConnection, remoteUid: number, delay: number, lost: number, rxKBitRate: number ): void; - public virtual void OnRemoteVideoTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {} - onRemoteVideoTransportStats?( + public virtual void OnRemoteVideoTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {} + onRemoteVideoTransportStats?( connection: RtcConnection, remoteUid: number, delay: number, lost: number, rxKBitRate: number ): void; - final void Function(RtcConnection connection, int remoteUid, int delay, + 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 信息。详见 - - - uid - remoteUid - 用户 ID,指定是哪个用户/主播的视频包。 - - - delay - 视频包从发送端到接收端的延时(毫秒)。 - - - lost - 视频包从发送端到接收端的丢包率 (%)。 - - - rxKBitRate - 远端视频包的接收码率(Kbps)。 - -
    + + + + + + connection + Connection 信息。详见 + + + uid + remoteUid + 用户 ID,指定是哪个用户/主播的视频包。 + + + delay + 视频包从发送端到接收端的延时(毫秒)。 + + + lost + 视频包从发送端到接收端的丢包率 (%)。 + + + rxKBitRate + 远端视频包的接收码率(Kbps)。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequestaudiofileinfo.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequestaudiofileinfo.dita index cc104e6e209..eace224025d 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequestaudiofileinfo.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequestaudiofileinfo.dita @@ -13,14 +13,14 @@

    - - - - - public virtual void OnRequestAudioFileInfo(AudioFileInfo info, AUDIO_FILE_INFO_ERROR error) - - -

    + + + + + public virtual void OnRequestAudioFileInfo(AudioFileInfo info, AUDIO_FILE_INFO_ERROR error) + + +

    @@ -28,14 +28,15 @@

    <ph keyref="callback-section-title"/> - - info - 音频文件信息。详见 - - - error - 信息获取状态。详见 - -
    + + info + 音频文件信息。详见 + + + error + 信息获取状态。详见 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita index a15623adb45..2bfcc143066 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita @@ -1,46 +1,54 @@ - <ph keyref="onRequestToken" /> - Token 已过期回调。 + + <ph keyref="onRequestToken"/> + + + Token 已过期回调。 + - +

    - public void onRequestToken() {} - - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRequestToken() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnRequestToken); - onRequestToken?(connection: RtcConnection): void; - public virtual void OnRequestToken(RtcConnection connection) {} - onRequestToken?(connection: RtcConnection): void; - final void Function(RtcConnection connection)? onRequestToken; -

    + public void onRequestToken() {} + - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRequestToken() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnRequestToken); + onRequestToken?(connection: RtcConnection): void; + public virtual void OnRequestToken(RtcConnection connection) {} + onRequestToken?(connection: RtcConnection): void; + final void Function(RtcConnection connection)? onRequestToken; +

    在通话过程中如果 Token 已失效,SDK 会触发该回调,提醒 App 更新 Token。

    -

    - 当收到该回调时,你需要重新在服务端生成新的 Token,然后通过下列任意一种方式来更新 Token: -

    • 调用 来传入新的 Token。
    • -
    • 调用 离开当前频道,然后在调用 时传入新的 Token 重新加入频道。

    +

    当收到该回调时,你需要重新在服务端生成新的 Token,然后通过下列任意一种方式来更新 Token:

      +
    • 调用 来传入新的 Token。
    • +
    • 调用 离开当前频道,然后在调用 + 时传入新的 Token 重新加入频道。
    • +

    - <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_onrhythmplayerstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita index bb820f3cdd2..8c54c044b1c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita @@ -13,60 +13,68 @@

    - public void onRhythmPlayerStateChanged(int state, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRhythmPlayerStateChanged:(AgoraRhythmPlayerState)state + 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) { + virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) { (void)state; (void)reason; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRhythmPlayerStateChanged, FENUMWRAP_RHYTHM_PLAYER_STATE_TYPE, state, FENUMWRAP_RHYTHM_PLAYER_ERROR_TYPE, errorCode); - onRhythmPlayerStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRhythmPlayerStateChanged, FENUMWRAP_RHYTHM_PLAYER_STATE_TYPE, state, FENUMWRAP_RHYTHM_PLAYER_ERROR_TYPE, errorCode); + onRhythmPlayerStateChanged?( state: RhythmPlayerStateType, reason: RhythmPlayerReason ): void; - public virtual void OnRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) - onRhythmPlayerStateChanged?( + 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)? + final void Function(RhythmPlayerStateType state, RhythmPlayerReason reason)? onRhythmPlayerStateChanged; -

    +

    -

    虚拟节拍器状态发生改变时,SDK 会触发该回调报告当前的虚拟节拍器状态。在虚拟节拍器出现故障时,该回调可以帮助你了解当前虚拟节拍的状态以及出现故障的原因,方便你排查问题。

    - 该回调仅适用于 Android 和 iOS。
    +

    虚拟节拍器状态发生改变时,SDK + 会触发该回调报告当前的虚拟节拍器状态。在虚拟节拍器出现故障时,该回调可以帮助你了解当前虚拟节拍的状态以及出现故障的原因,方便你排查问题。

    + 该回调仅适用于 Android 和 + iOS。 +
    <ph keyref="callback-section-title"/> - - state - 当前的虚拟节拍器状态,详见 - - - state - 当前的虚拟节拍器状态。 -
      -
    • (810): 虚拟节拍器未开启或已关闭。
    • -
    • (811): 正在打开节拍音频文件。
    • -
    • (812): 正在解码节拍音频文件。
    • -
    • (813): 正在播放节拍音频文件。
    • -
    • (814): 开启虚拟节拍器失败。你可以通过报告的错误码 errorCode 排查错误原因,也可以重新尝试开启虚拟节拍器。
    • -
    -
    - - errorCode - 虚拟节拍器发生错误的错误码和错误信息,详见 - 虚拟节拍器发生错误的错误码和错误信息。 -
      -
    • (0): 正常播放节拍音频文件,没有错误。
    • -
    • (1): 一般性错误,没有明确原因。
    • -
    • (801): 打开节拍音频文件出错。
    • -
    • (802): 播放节拍音频文件出错。
    • -
    • (803): 节拍音频文件时长超出限制。最大时长为 1.2 秒。
    • -
    -
    -
    + + state + 当前的虚拟节拍器状态,详见 + + + state + 当前的虚拟节拍器状态。
      +
    • (810): 虚拟节拍器未开启或已关闭。
    • +
    • (811): 正在打开节拍音频文件。
    • +
    • (812): 正在解码节拍音频文件。
    • +
    • (813): 正在播放节拍音频文件。
    • +
    • (814): + 开启虚拟节拍器失败。你可以通过报告的错误码 errorCode + 排查错误原因,也可以重新尝试开启虚拟节拍器。
    • +
    +
    + + errorCode + 虚拟节拍器发生错误的错误码和错误信息,详见 + 虚拟节拍器发生错误的错误码和错误信息。
      +
    • (0): 正常播放节拍音频文件,没有错误。
    • +
    • (1): 一般性错误,没有明确原因。
    • +
    • (801): + 打开节拍音频文件出错。
    • +
    • (802): + 播放节拍音频文件出错。
    • +
    • (803): + 节拍音频文件时长超出限制。最大时长为 1.2 秒。
    • +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita index c05d5b0014a..70def1562f3 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita @@ -1,51 +1,58 @@ - <ph keyref="onRtcStats" /> - 当前通话统计信息回调。 + + <ph keyref="onRtcStats"/> + + + 当前通话统计信息回调。 + - +

    - public void onRtcStats(RtcStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRtcStats(RtcStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportRtcStats:(AgoraChannelStats * _Nonnull)stats; - virtual void onRtcStats(const RtcStats& stats) { + virtual void onRtcStats(const RtcStats& stats) { (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRtcStats, 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; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRtcStats, 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; +

    SDK 定期向 App 报告当前通话的统计信息,每两秒触发一次。

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - Connection 信息。详见 - - - stats - -

    RTC 引擎统计数据,详见

    -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + stats + +

    RTC 引擎统计数据,详见

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita index 018944cfd60..74dd48a6232 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita @@ -1,52 +1,62 @@ - <ph keyref="onRtmpStreamingEvent" /> - 旁路推流事件回调。 + + <ph keyref="onRtmpStreamingEvent"/> + + + 旁路推流事件回调。 + - +

    - public void onRtmpStreamingEvent(String url, int event) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode; - virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) { + public void onRtmpStreamingEvent(String url, int event) {} + - (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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRtmpStreamingEvent, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRtmpStreamingEvent, 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。 - - - eventCode - event - 旁路推流事件码。详见 - 旁路推流事件码。 - -
      -
    • (1): 旁路推流时,添加背景图或水印出错。
    • -
    • (2): 该推流 URL 已用于推流。如果你想开始新的推流,请使用新的推流 URL。
    • -
    • (3): 功能不支持。
    • -
    • (4): 预留参数。
    • -
    -
    -
    + + url + 旁路推流 URL。 + + + eventCode + event + 旁路推流事件码。详见 + 旁路推流事件码。
      +
    • (1): + 旁路推流时,添加背景图或水印出错。
    • +
    • (2): 该推流 URL + 已用于推流。如果你想开始新的推流,请使用新的推流 URL。
    • +
    • + (3): 功能不支持。
    • +
    • (4): + 预留参数。
    • +
    +
    + +
    -
    \ 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 f12eb201bb6..f83970cffd6 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita @@ -1,8 +1,12 @@ - <ph keyref="onRtmpStreamingStateChanged" /> - 旁路推流状态发生改变回调。 + + <ph keyref="onRtmpStreamingStateChanged"/> + + + 旁路推流状态发生改变回调。 + @@ -13,94 +17,123 @@

    - public void onRtmpStreamingStateChanged(String url, int state, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine rtmpStreamingChangedToState:(NSString * _Nonnull)url + public void onRtmpStreamingStateChanged(String url, int state, int reason) {} + - (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, + virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason) { (void)url; (void)state; (void)reason; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRtmpStreamingStateChanged, FString, url, ERTMP_STREAM_PUBLISH_STATE, state, ERTMP_STREAM_PUBLISH_REASON, errCode); - onRtmpStreamingStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRtmpStreamingStateChanged, FString, url, ERTMP_STREAM_PUBLISH_STATE, state, ERTMP_STREAM_PUBLISH_REASON, errCode); + onRtmpStreamingStateChanged?( url: string, state: RtmpStreamPublishState, reason: RtmpStreamPublishReason ): void; - public virtual void OnRtmpStreamingStateChanged(string url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason) - onRtmpStreamingStateChanged?( + public virtual void OnRtmpStreamingStateChanged(string url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason) + onRtmpStreamingStateChanged?( url: string, state: RtmpStreamPublishState, reason: RtmpStreamPublishReason ): void; - final void Function(String url, RtmpStreamPublishState state, + final void Function(String url, RtmpStreamPublishState state, RtmpStreamPublishReason reason)? onRtmpStreamingStateChanged; -

    +

    -

    旁路推流状态发生改变时,SDK会触发该回调,并在回调中明确状态发生改变的 URL 地址及当前推流状态。该回调方便推流用户了解当前的推流状态;推流出错时,你可以通过返回的错误码了解出错的原因,方便排查问题。

    +

    旁路推流状态发生改变时,SDK会触发该回调,并在回调中明确状态发生改变的 URL + 地址及当前推流状态。该回调方便推流用户了解当前的推流状态;推流出错时,你可以通过返回的错误码了解出错的原因,方便排查问题。

    - <ph keyref="callback-section-title"/> + + <ph keyref="callback-section-title"/> + - - - - - - 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 会返回该值。
    • -
    -
    -
    + + + + + + 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_onscreencaptureinfoupdated.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onscreencaptureinfoupdated.dita index 4073059aabd..a2f43262141 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onscreencaptureinfoupdated.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onscreencaptureinfoupdated.dita @@ -1,8 +1,12 @@ - <ph keyref="onScreenCaptureInfoUpdated"/> - 屏幕共享信息更新回调。 + + <ph keyref="onScreenCaptureInfoUpdated"/> + + + 屏幕共享信息更新回调。 + @@ -13,27 +17,31 @@

    - - - - - public virtual void OnScreenCaptureInfoUpdated(ScreenCaptureInfo info) - - -

    + + + + + public virtual void OnScreenCaptureInfoUpdated(ScreenCaptureInfo info) + + +

    -

    调用 开启屏幕共享,并通过 excludeWindowList 屏蔽指定窗口时,如果窗口屏蔽失败,SDK 会触发该回调。

    - 该回调仅适用于 Windows。
    +

    调用 开启屏幕共享,并通过 + excludeWindowList 屏蔽指定窗口时,如果窗口屏蔽失败,SDK 会触发该回调。

    + 该回调仅适用于 Windows。 +
    参数 - - info - -

    屏幕共享信息。详见

    -
    -
    -
    + + info + +

    屏幕共享信息。详见

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita index 80e03f9dfd0..62dde8a0b71 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita @@ -13,9 +13,9 @@

    - public void onSnapshotTaken(int uid, String filePath, int width, int height, int errCode) {} - - (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) { + public void onSnapshotTaken(int uid, String filePath, int width, int height, int errCode) {} + - (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; @@ -23,8 +23,8 @@ (void)errCode; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnSnapshotTaken, int64, uid, FString, filePath, int, width, int, height, int, errCode); - onSnapshotTaken?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnSnapshotTaken, int64, uid, FString, filePath, int, width, int, height, int, errCode); + onSnapshotTaken?( connection: RtcConnection, uid: number, filePath: string, @@ -32,8 +32,8 @@ height: number, errCode: number ): void; - public virtual void OnSnapshotTaken(RtcConnection connection, uint uid, string filePath, int width, int height, int errCode) { } - onSnapshotTaken?( + public virtual void OnSnapshotTaken(RtcConnection connection, uint uid, string filePath, int width, int height, int errCode) { } + onSnapshotTaken?( connection: RtcConnection, uid: number, filePath: string, @@ -41,8 +41,9 @@ height: number, errCode: number ): void; - final void Function(RtcConnection connection, int uid, String filePath, - int width, int height, int errCode)? onSnapshotTaken;

    + final void Function(RtcConnection connection, int uid, String filePath, + int width, int height, int errCode)? onSnapshotTaken; +

    成功调用 后,SDK 触发该回调报告截图是否成功和获取截图的详情。

    @@ -50,43 +51,43 @@
    <ph keyref="callback-section-title"/> - - - - - - uid - 用户 ID。如果 uid 为 0,表示本地用户。 - - - - - - - filePath - 截图的本地保存路径。 - - - width - 图片宽度(px)。 - - - height - 图片高度(px)。 - - - errCode - 截图成功的提示或失败的原因。 -
      -
    • 0:截图成功。
    • -
    • < 0: 截图失败。 -
        -
      • -1:写入文件失败或 JPEG 编码失败。
      • -
      • -2: 方法调用后 1 秒内没有收到指定用户的视频帧。可能的原因有:本地采集停止、远端停止发布或者视频数据处理堵塞。
      • -
      • -3: 方法调用过于频繁。
      • -
    • -
    -
    -
    + + + + + + uid + 用户 ID。如果 uid 为 0,表示本地用户。 + + + + + + + filePath + 截图的本地保存路径。 + + + width + 图片宽度(px)。 + + + height + 图片高度(px)。 + + + errCode + 截图成功的提示或失败的原因。
      +
    • 0:截图成功。
    • +
    • < 0: 截图失败。
        +
      • -1:写入文件失败或 JPEG 编码失败。
      • +
      • -2: 方法调用后 1 + 秒内没有收到指定用户的视频帧。可能的原因有:本地采集停止、远端停止发布或者视频数据处理堵塞。
      • +
      • -3: 方法调用过于频繁。
      • +
    • +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstart.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstart.dita index 52a38ff484a..e891493ceef 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstart.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstart.dita @@ -13,23 +13,25 @@

    - - - virtual bool onStart() = 0; - - - - -

    + + + virtual bool onStart() = 0; + + + + +

    -

    SDK 触发该回调提醒你启动视频帧采集。启动成功后,SDK 会打开 的开关,接收你采集的视频帧。你需要通过返回值告知 SDK 自定义的视频源是否已经成功启动。

    +

    SDK 触发该回调提醒你启动视频帧采集。启动成功后,SDK 会打开 + 的开关,接收你采集的视频帧。你需要通过返回值告知 SDK 自定义的视频源是否已经成功启动。

    返回值
      -
    • : 自定义的视频源启动成功。
    • -
    • : 自定义的视频源启动失败,SDK 会停下来并上报错误。
    • -
    +
  • : 自定义的视频源启动成功。
  • +
  • : 自定义的视频源启动失败,SDK 会停下来并上报错误。
  • + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstop.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstop.dita index ef15cd278a3..9f900a1c276 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstop.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstop.dita @@ -13,17 +13,18 @@

    - - - virtual void onStop() = 0; - - - - -

    + + + virtual void onStop() = 0; + + + + +

    -

    SDK 触发该回调提醒你停止视频帧采集。该回调通知你 的开关即将关闭,SDK 不会接收你之后采集的视频帧。

    +

    SDK 触发该回调提醒你停止视频帧采集。该回调通知你 的开关即将关闭,SDK + 不会接收你之后采集的视频帧。

    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreaminjectedstatus.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreaminjectedstatus.dita index d8129501dcf..98b7de65411 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreaminjectedstatus.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreaminjectedstatus.dita @@ -13,56 +13,64 @@

    - public void onStreamInjectedStatus(String url, int uid, int status) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamInjectedStatus(String url, int uid, int status) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamInjectedStatusOfUrl:(NSString * _Nonnull)url uid:(NSUInteger)uid status:(AgoraInjectStreamStatus)status; - virtual void onStreamInjectedStatus(const char* url, uid_t uid, int status) { + virtual void onStreamInjectedStatus(const char* url, uid_t uid, int status) { (void)url; (void)uid; (void)status; } - - public virtual void OnStreamInjectedStatus(string url, uint uid, int status) - - -

    + + public virtual void OnStreamInjectedStatus(string url, uint uid, int status) + + +

    -
    -
    + +
    +
    <ph keyref="callback-section-title"/> - - - - - - url - 在线媒体流的地址。 - - - uid - 用户 ID。 - - - status - 输入的在线媒体流状态: - 输入的在线媒体流状态: -
      -
    • 0: 外部视频流导入成功。
    • -
    • 1: 外部视频流已存在。
    • -
    • 2: 外部视频流导入未经授权。
    • -
    • 3: 导入外部视频流超时。
    • -
    • 4: 外部视频流导入失败。
    • -
    • 5: 外部视频流停止导入成功。
    • -
    • 6: 未找到要停止导入的外部视频流。
    • -
    • 7: 要停止导入的外部视频流未经授权。
    • -
    • 8: 停止导入外部视频流超时。
    • -
    • 9: 停止导入外部视频流失败。
    • -
    • 10: 导入的外部视频流被中断。
    • -
    -
    -
    + + + + + + url + 在线媒体流的地址。 + + + uid + 用户 ID。 + + + status + 输入的在线媒体流状态: + 输入的在线媒体流状态:
      +
    • 0: 外部视频流导入成功。
    • +
    • 1: + 外部视频流已存在。
    • +
    • 2: + 外部视频流导入未经授权。
    • +
    • 3: + 导入外部视频流超时。
    • +
    • 4: 外部视频流导入失败。
    • +
    • 5: + 外部视频流停止导入成功。
    • +
    • 6: + 未找到要停止导入的外部视频流。
    • +
    • 7: + 要停止导入的外部视频流未经授权。
    • +
    • 8: + 停止导入外部视频流超时。
    • +
    • 9: 停止导入外部视频流失败。
    • +
    • 10: 导入的外部视频流被中断。
    • +
    +
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita index cad25b25f95..9b5192b9029 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita @@ -1,34 +1,38 @@ - <ph keyref="onStreamMessage" /> - 接收到对方数据流消息的回调。 + + <ph keyref="onStreamMessage"/> + + + 接收到对方数据流消息的回调。 + - +

    - public void onStreamMessage(int uid, int streamId, byte[] data) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamMessage(int uid, int streamId, byte[] data) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine receiveStreamMessageFromUid:(NSUInteger)uid streamId:(NSInteger)streamId data:(NSData * _Nonnull)data; - virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) { + virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) { (void)userId; (void)streamId; (void)data; (void)length; (void)sentTs; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnStreamMessage, int64, userId, int, streamId, FString, data, int64, length, int, sentTs); - onStreamMessage?(connection: RtcConnection, remoteUid: number, streamId: number, data: Uint8Array, length: number, sentTs: number): void; - public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, uint length, UInt64 sentTs) { } - onStreamMessage?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnStreamMessage, int64, userId, int, streamId, FString, data, int64, length, int, sentTs); + onStreamMessage?(connection: RtcConnection, remoteUid: number, streamId: number, data: Uint8Array, length: number, sentTs: number): void; + public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, uint length, UInt64 sentTs) { } + onStreamMessage?( connection: RtcConnection, remoteUid: number, streamId: number, @@ -36,48 +40,49 @@ length: number, sentTs: number ): void; - final void Function(RtcConnection connection, int remoteUid, int streamId, + final void Function(RtcConnection connection, int remoteUid, int streamId, Uint8List data, int length, int sentTs)? onStreamMessage; -

    +

    -

    - 该回调表示本地用户收到了远端用户调用 方法发送的流消息。 -

    +

    该回调表示本地用户收到了远端用户调用 方法发送的流消息。

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - - - - - uid - userId - remoteUid - 发送消息的用户 ID。 - - - streamId - 接收到的消息的 Stream ID。 - - - data - 接收到的数据。 - - - length - 数据长度,单位为字节。 - - - sentTs - 数据流发出的时间。 - -
    + + + + + + + + + + uid + userId + remoteUid + 发送消息的用户 ID。 + + + streamId + 接收到的消息的 Stream ID。 + + + data + 接收到的数据。 + + + length + 数据长度,单位为字节。 + + + sentTs + 数据流发出的时间。 + + +
    -
    \ 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 eb4906d89b8..660a6f2b2a6 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita @@ -1,26 +1,30 @@ - <ph keyref="onStreamMessageError" /> - 接收对方数据流消息发生错误的回调。 + + <ph keyref="onStreamMessageError"/> + + + 接收对方数据流消息发生错误的回调。 + - +

    - public void onStreamMessageError(int uid, int streamId, int error, int missed, int cached) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamMessageError(int uid, int streamId, int error, int missed, int cached) {} + - (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 userId, int streamId, int code, int missed, int cached) { + virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) { (void)userId; (void)streamId; (void)code; @@ -28,8 +32,8 @@ (void)cached; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnStreamMessageError, int64, userId, int, streamId, int, code, int, missed, int, cached); - onStreamMessageError?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnStreamMessageError, int64, userId, int, streamId, int, code, int, missed, int, cached); + onStreamMessageError?( connection: RtcConnection, remoteUid: number, streamId: number, @@ -37,8 +41,8 @@ missed: number, cached: number ): void; - public virtual void OnStreamMessageError(RtcConnection connection, uint remoteUid, int streamId, int code, int missed, int cached) {} - onStreamMessageError?( + public virtual void OnStreamMessageError(RtcConnection connection, uint remoteUid, int streamId, int code, int missed, int cached) {} + onStreamMessageError?( connection: RtcConnection, remoteUid: number, streamId: number, @@ -46,48 +50,51 @@ missed: number, cached: number ): void; - final void Function(RtcConnection connection, int remoteUid, int streamId, + final void Function(RtcConnection connection, int remoteUid, int streamId, ErrorCodeType code, int missed, int cached)? onStreamMessageError; -

    +

    -

    - 该回调表示本地用户未收到远端用户调用 方法发送的流消息。

    +

    该回调表示本地用户未收到远端用户调用 方法发送的流消息。

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - Connection 信息。详见 - - - uid - userId - remoteUid - 发送消息的用户 ID。 - - - streamId - 接收到的消息的 Stream ID。 - - - code - error - 发生错误的错误码。详见 - - - missed - 丢失的消息数量。 - - - cached - 数据流中断时,后面缓存的消息数量。 - -
    + + + + + + connection + Connection 信息。详见 + + + uid + userId + remoteUid + 发送消息的用户 ID。 + + + streamId + 接收到的消息的 Stream ID。 + + + code + error + 发生错误的错误码。详见 + + + missed + 丢失的消息数量。 + + + cached + 数据流中断时,后面缓存的消息数量。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreampublished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreampublished.dita index dcf968ae50f..af94d25a86c 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreampublished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreampublished.dita @@ -1,72 +1,85 @@ - <ph keyref="onStreamPublished" /> + <ph keyref="onStreamPublished"/> 旁路推流已开启回调。 - +

    - public void onStreamPublished(String url, int error) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamPublished(String url, int error) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamPublishedWithUrl:(NSString * _Nonnull)url errorCode:(AgoraErrorCode)errorCode; - virtual void onStreamPublished(const char *url, int error) { + virtual void onStreamPublished(const char *url, int error) { (void)url; (void)error; } - onStreamPublished?(url: string, error: ErrorCodeType): void; - public virtual void OnStreamPublished(string url, int error) - onStreamPublished?(url: string, error: ErrorCodeType): void; - final void Function(String url, ErrorCodeType error)? onStreamPublished; -

    + onStreamPublished?(url: string, error: ErrorCodeType): void; + public virtual void OnStreamPublished(string url, int error) + onStreamPublished?(url: string, error: ErrorCodeType): void; + final void Function(String url, ErrorCodeType error)? onStreamPublished; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +

    该回调用于通知主播推流状态。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - url - 主播推流的 URL 地址。 - - - error - errorCode - -

    推流错误码。 -

      -
    • ERR_OK (0): 推流成功。
    • -
    • ERR_FAILED (1): 推流失败。
    • -
    • ERR_INVALID_ARGUMENT (2): 参数错误。如果你在调用 前没有调用 配置 ,SDK 会回调 ERR_INVALID_ARGUMENT
    • -
    • ERR_TIMEDOUT (10): 推流超时未成功。
    • -
    • ERR_ALREADY_IN_USE (19): 推流地址已推流。
    • -
    • ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH (130): 推流已加密不能推流。
    • -
    • ERR_PUBLISH_STREAM_CDN_ERROR (151): CDN 相关错误。请调用 方法删除原来的推流地址,然后调用 方法重新推流到新地址。
    • -
    • ERR_PUBLISH_STREAM_NUM_REACH_LIMIT (152): 单个主播的推流地址数目达到上限 10。请删掉一些不用的推流地址再增加推流地址。
    • -
    • ERR_PUBLISH_STREAM_NOT_AUTHORIZED (153): 操作不属于主播自己的流,如更新其他主播的流参数、停止其他主播的流。请检查应用业务逻辑。
    • -
    • ERR_PUBLISH_STREAM_INTERNAL_SERVER_ERROR (154): 推流服务器出现错误。请调用 重新推流。
    • -
    • ERR_PUBLISH_STREAM_FORMAT_NOT_SUPPORTED (156): 推流地址格式有错误。请检查推流地址格式是否正确。
    • -

    -
    -
    -
    + + + + + + url + 主播推流的 URL 地址。 + + + error + errorCode + +

    推流错误码。

      +
    • ERR_OK (0): 推流成功。
    • +
    • ERR_FAILED (1): 推流失败。
    • +
    • ERR_INVALID_ARGUMENT (2): 参数错误。如果你在调用 前没有调用 配置 ,SDK 会回调 + ERR_INVALID_ARGUMENT
    • +
    • ERR_TIMEDOUT (10): 推流超时未成功。
    • +
    • ERR_ALREADY_IN_USE (19): 推流地址已推流。
    • +
    • ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH (130): + 推流已加密不能推流。
    • +
    • ERR_PUBLISH_STREAM_CDN_ERROR (151): CDN + 相关错误。请调用 + 方法删除原来的推流地址,然后调用 + 方法重新推流到新地址。
    • +
    • ERR_PUBLISH_STREAM_NUM_REACH_LIMIT (152): + 单个主播的推流地址数目达到上限 10。请删掉一些不用的推流地址再增加推流地址。
    • +
    • ERR_PUBLISH_STREAM_NOT_AUTHORIZED (153): + 操作不属于主播自己的流,如更新其他主播的流参数、停止其他主播的流。请检查应用业务逻辑。
    • +
    • ERR_PUBLISH_STREAM_INTERNAL_SERVER_ERROR (154): + 推流服务器出现错误。请调用 重新推流。
    • +
    • ERR_PUBLISH_STREAM_FORMAT_NOT_SUPPORTED (156): + 推流地址格式有错误。请检查推流地址格式是否正确。
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreamunpublished.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreamunpublished.dita index 761ba58ee8f..bbc5b369cb5 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreamunpublished.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreamunpublished.dita @@ -1,49 +1,50 @@ - <ph keyref="onStreamUnpublished" /> + <ph keyref="onStreamUnpublished"/> 旁路推流已停止回调。 - +

    - public void onStreamUnpublished(String url) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamUnpublished(String url) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamUnpublishedWithUrl:(NSString * _Nonnull)url; - virtual void onStreamUnpublished(const char *url) { + virtual void onStreamUnpublished(const char *url) { (void)url; } - onStreamUnpublished?(url: string): void; - public virtual void OnStreamUnpublished(string url) - onStreamUnpublished?(url: string): void; - final void Function(String url)? onStreamUnpublished; -

    + onStreamUnpublished?(url: string): void; + public virtual void OnStreamUnpublished(string url) + onStreamUnpublished?(url: string): void; + final void Function(String url)? onStreamUnpublished; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - url - 被删除的旁路推流地址。 - -
    + + + + + + url + 被删除的旁路推流地址。 + + +
    -
    \ 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 e3763477759..e5fe6912fb5 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita @@ -1,53 +1,59 @@ - <ph keyref="onTokenPrivilegeWillExpire" /> - Token 服务将在30s内过期回调。 + + <ph keyref="onTokenPrivilegeWillExpire"/> + + + Token 服务将在30s内过期回调。 + - +

    - public void onTokenPrivilegeWillExpire(String token) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onTokenPrivilegeWillExpire(String token) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine tokenPrivilegeWillExpire:(NSString *_Nonnull)token; - virtual void onTokenPrivilegeWillExpire(const char* token) { + virtual void onTokenPrivilegeWillExpire(const char* token) { (void)token; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnTokenPrivilegeWillExpire, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnTokenPrivilegeWillExpire, 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 即将失效,SDK 会提前 30 秒触发该回调,提醒 App 更新 Token。

    -

    - 当收到该回调时,你需要重新在服务端生成新的 Token,然后调用 将新生成的 Token 传给 SDK。在多频道场景下,你需要调用 来传入新的 Token。 -

    +

    当收到该回调时,你需要重新在服务端生成新的 Token,然后调用 将新生成的 Token 传给 + SDK。在多频道场景下,你需要调用 来传入新的 Token。

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - - - - - token - 即将服务失效的 Token。 - -
    + + + + + + + + + + token + 即将服务失效的 Token。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita index 8c1b6892df6..179388bff09 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita @@ -13,19 +13,19 @@

    - 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) { + 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; } - - - public virtual void OnTranscodedStreamLayoutInfo(RtcConnection connection, uint uid, int width, int height, int layoutCount, VideoLayout[] layoutlist) - onTranscodedStreamLayoutInfo?( + + + public virtual void OnTranscodedStreamLayoutInfo(RtcConnection connection, uint uid, int width, int height, int layoutCount, VideoLayout[] layoutlist) + onTranscodedStreamLayoutInfo?( connection: RtcConnection, uid: number, width: number, @@ -33,21 +33,22 @@ layoutCount: number, layoutlist: VideoLayout[] ): void; - final void Function( + final void Function( RtcConnection connection, int uid, int width, int height, int layoutCount, - List<VideoLayout> layoutlist)? onTranscodedStreamLayoutInfo;

    + List<VideoLayout> layoutlist)? onTranscodedStreamLayoutInfo; +

    详情
    - -
    自从
    -
    v4.3.0
    -
    + +
    自从
    +
    v4.3.0
    +

    当本地第一次接收到合图服务器发送的合图视频流,或者合图流的布局信息有变化时,SDK 会触发该回调,报告合图视频流中每一路子视频流的布局信息。

    该回调仅适用于 Android 和 iOS。 @@ -55,18 +56,18 @@
    参数 - - - - - - - - - - uid - 发布合图视频流的用户 ID。 - + + + + + + + + + + uid + 发布合图视频流的用户 ID。 + width 合图视频流的宽度 (px)。 @@ -85,6 +86,7 @@ layoutlist 某一路合图视频流的详细布局信息。详见 -
    - + +
    +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita index 2c33f39cc70..a93b901b5b4 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita @@ -1,38 +1,43 @@ - <ph keyref="onTranscodingUpdated" /> + <ph keyref="onTranscodingUpdated"/> 旁路推流转码设置已被更新回调。 - +

    - public void onTranscodingUpdated() {} - - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onTranscodingUpdated() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnTranscodingUpdated); - onTranscodingUpdated?(): void; - public virtual void OnTranscodingUpdated() - onTranscodingUpdated?(): void; - final void Function()? onTranscodingUpdated; -

    + public void onTranscodingUpdated() {} + - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onTranscodingUpdated() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnTranscodingUpdated); + onTranscodingUpdated?(): void; + public virtual void OnTranscodingUpdated() + onTranscodingUpdated?(): void; + final void Function()? onTranscodingUpdated; +

    -

    方法中的直播参数 更新时, 回调会被触发并向主播报告更新信息。

    - 首次调用 方法设置转码参数 时,不会触发此回调。
    +

    方法中的直播参数 更新时, + 回调会被触发并向主播报告更新信息。

    + 首次调用 + 方法设置转码参数 时,不会触发此回调。 +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita index 705371d0b59..f0e4263215f 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita @@ -1,46 +1,48 @@ - <ph keyref="onUplinkNetworkInfoUpdated" /> + <ph keyref="onUplinkNetworkInfoUpdated"/> 上行网络信息变化回调。 - +

    - public void onUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + public void onUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine uplinkNetworkInfoUpdate:(AgoraUplinkNetworkInfo *_Nonnull)networkInfo; - virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) { + virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) { (void)info; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnUplinkNetworkInfoUpdated, const FUplinkNetworkInfo&, info); - onUplinkNetworkInfoUpdated?(info: UplinkNetworkInfo): void; - public virtual void OnUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} - onUplinkNetworkInfoUpdated?(info: UplinkNetworkInfo): void; - final void Function(UplinkNetworkInfo info)? onUplinkNetworkInfoUpdated; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnUplinkNetworkInfoUpdated, 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 格式的外部编码视频数据的场景。 +
    参数 - - - - - - info - networkInfo - 上行网络信息,详见 - -
    + + + + + + info + networkInfo + 上行网络信息,详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuploadlogresult.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuploadlogresult.dita index 95ce35dabfa..beb63aa2766 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuploadlogresult.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuploadlogresult.dita @@ -1,92 +1,79 @@ - <ph keyref="onUploadLogResult" /> - 报告日志文件上传结果。 + + <ph keyref="onUploadLogResult"/> + + + 报告日志文件上传结果。 + - +

    - - - virtual void onUploadLogResult(const char* requestId, + + + virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) { (void)requestId; (void)success; (void)reason; } - - public virtual void OnUploadLogResult(string requestId, bool success, UPLOAD_ERROR_REASON reason) - - final void Function(RtcConnection connection, String requestId, bool success, + + public virtual void OnUploadLogResult(string requestId, bool success, UPLOAD_ERROR_REASON reason) + + final void Function(RtcConnection connection, String requestId, bool success, UploadErrorReason reason)? onUploadLogResult; -

    +

    -

    - 调用 - - 后,SDK 会触发该回调报告日志文件上传的结果。如果上传失败,请参考 - reason - 排查问题。 -

    +

    调用 后,SDK 会触发该回调报告日志文件上传的结果。如果上传失败,请参考 + reason 排查问题。

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - connection - Connection 信息。详见 - - - requestId - - 请求 ID。该请求 ID 与 - - 中返回的 - requestId - 一致。你可以通过 - requestId - 将特定的上传和回调对应起来。 + + connection + Connection 信息。详见 + + + requestId + 请求 ID。该请求 ID 与 中返回的 + requestId 一致。你可以通过 + requestId 将特定的上传和回调对应起来。 + + + success + +

    是否成功上传日志文件:

      +
    • + + + : 日志文件上传成功。
    • +
    • + + + : 日志文件上传失败。失败的原因详见 + reason 参数。
    • +
    +

    -
    - - success - -

    - 是否成功上传日志文件: - - - - - -

      -
    • - : 日志文件上传成功。 -
    • -
    • - : 日志文件上传失败。失败的原因详见 - reason - 参数。 -
    • -

    -
    -
    - - reason - - 日志文件上传失败的原因。详见 - - 。 - - -
    + + + reason + 日志文件上传失败的原因。详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseraccountupdated.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseraccountupdated.dita index e73ebd74857..9232086c2dd 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseraccountupdated.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseraccountupdated.dita @@ -2,36 +2,37 @@ onUserAccountUpdated - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    -

    +

    - <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_onuserenablelocalvideo.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita index 75bd818b70a..abcaef11013 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita @@ -1,81 +1,96 @@ - <ph keyref="onUserEnableLocalVideo" /> - 远端用户开/关本地视频采集回调。 + + <ph keyref="onUserEnableLocalVideo"/> + + + 远端用户开/关本地视频采集回调。 + - +

    - public void onUserEnableLocalVideo(int uid, boolean enabled) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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) { + virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) { (void)uid; (void)enabled; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserEnableLocalVideo, int64, uid, bool, enabled); - onUserEnableLocalVideo?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserEnableLocalVideo, int64, uid, bool, enabled); + onUserEnableLocalVideo?( connection: RtcConnection, remoteUid: number, enabled: boolean ): void; - public virtual void OnUserEnableLocalVideo(RtcConnection connection, uint remoteUid, bool enabled) {} - onUserEnableLocalVideo?( + 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)? + final void Function(RtcConnection connection, int remoteUid, bool enabled)? onUserEnableLocalVideo; -

    +

    - -
    弃用:
    -
    该回调已废弃,请改用 回调的如下枚举: -
      -
    • (0) 和 (5)。
    • -
    • (2) 和 (6)。
    • -
    -
    + +
    弃用:
    +
    该回调已废弃,请改用 回调的如下枚举:
      +
    • + (0) 和 (5)。
    • +
    • + (2) 和 (6)。
    • +
    +
    +
    -

    该回调是由远端用户调用 方法开启或关闭视频采集触发的。

    +

    该回调是由远端用户调用 方法开启或关闭视频采集触发的。

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - - - - - uid - remoteUid - 用户 ID,提示是哪个用户的视频流。 - - - enabled - -

    远端用户是否启用视频采集: -

      -
    • : 该用户已启用视频功能。启用后,其他用户可以接收到该用户的视频流。
    • -
    • : 该用户已关闭视频功能。关闭后,该用户仍然可以接收其他用户的视频流,但其他用户接收不到该用户的视频流。
    • -

    -
    -
    -
    + + + + + + + + + + uid + remoteUid + 用户 ID,提示是哪个用户的视频流。 + + + enabled + +

    远端用户是否启用视频采集:

      +
    • + : + 该用户已启用视频功能。启用后,其他用户可以接收到该用户的视频流。
    • +
    • + : + 该用户已关闭视频功能。关闭后,该用户仍然可以接收其他用户的视频流,但其他用户接收不到该用户的视频流。
    • +
    +

    +
    +
    + +
    -
    \ 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 10e5940f7d0..1cef6a6f092 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita @@ -1,81 +1,95 @@ - <ph keyref="onUserEnableVideo" /> - 远端用户开/关视频模块回调。 + + <ph keyref="onUserEnableVideo"/> + + + 远端用户开/关视频模块回调。 + - +

    - public void onUserEnableVideo(int uid, boolean enabled) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserEnableVideo(int uid, boolean enabled) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid - virtual void onUserEnableVideo(uid_t uid, bool enabled) { + virtual void onUserEnableVideo(uid_t uid, bool enabled) { (void)uid; (void)enabled; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserEnableVideo, int64, uid, bool, enabled); - onUserEnableVideo?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserEnableVideo, int64, uid, bool, enabled); + onUserEnableVideo?( connection: RtcConnection, remoteUid: number, enabled: boolean ): void; - public virtual void OnUserEnableVideo(RtcConnection connection, uint remoteUid, bool enabled) {} - onUserEnableVideo?( + 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)? + final void Function(RtcConnection connection, int remoteUid, bool enabled)? onUserEnableVideo; -

    +

    - -
    弃用:
    -
    请改用 回调的: -
      -
    • (0) 和 (5) 。
    • -
    • (2) 和 (6)。
    • -
    -
    + +
    弃用:
    +
    请改用 回调的:
      +
    • + (0) 和 (5) 。
    • +
    • + (2) 和 (6)。
    • +
    +
    +

    关闭视频功能是指该用户只能进行语音通话,不能显示、发送自己的视频,也不能接收、显示别人的视频。

    -

    该回调是由远端用户调用 方法开启或关闭视频模块触发的。 -

    +

    该回调是由远端用户调用 + 方法开启或关闭视频模块触发的。

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - Connection 信息。详见 - - - uid - remoteUid - 用户 ID,提示是哪个用户的视频流。 - - - enabled - -
      -
    • : 该用户已启用视频功能。
    • -
    • : 该用户已关闭视频功能。
    • -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + uid + remoteUid + 用户 ID,提示是哪个用户的视频流。 + + + enabled + +
      +
    • + : 该用户已启用视频功能。
    • +
    • + : 该用户已关闭视频功能。
    • +
    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita index b94f12eaa4b..5e44d847f63 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita @@ -1,50 +1,59 @@ - <ph keyref="onUserInfoUpdated" /> - 远端用户信息已更新回调。 + + <ph keyref="onUserInfoUpdated"/> + + + 远端用户信息已更新回调。 + - +

    - 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) { + 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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserInfoUpdated, 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; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserInfoUpdated, 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 表,并在本地触发该回调。

    +

    远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 + Mapping 表,并在本地触发该回调。

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - uid - 远端用户 ID。 - - - userInfo - info - 标识用户信息的 UserInfo 对象,包含用户 UID 和 User Account。详见 类。 - -
    + + + + + + uid + 远端用户 ID。 + + + userInfo + info + 标识用户信息的 UserInfo 对象,包含用户 UID 和 User Account。详见 + 类。 + + +
    -
    \ 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 9ea3d342898..c8afd7698a0 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita @@ -1,67 +1,73 @@ - <ph keyref="onUserJoined" /> - 远端用户(通信场景)/主播(直播场景)加入当前频道回调。 + + <ph keyref="onUserJoined"/> + + + 远端用户(通信场景)/主播(直播场景)加入当前频道回调。 +

    - public void onUserJoined(int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserJoined(int uid, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; - virtual void onUserJoined(uid_t uid, int elapsed) { + virtual void onUserJoined(uid_t uid, int elapsed) { (void)uid; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserJoined, int64, uid, int, elapsed); - onUserJoined?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserJoined, int64, uid, int, elapsed); + onUserJoined?( connection: RtcConnection, remoteUid: number, elapsed: number ): void; - public virtual void OnUserJoined(RtcConnection connection, uint remoteUid, int elapsed) {} - onUserJoined?( + public virtual void OnUserJoined(RtcConnection connection, uint remoteUid, int elapsed) {} + onUserJoined?( connection: RtcConnection, remoteUid: number, elapsed: number ): void; - final void Function(RtcConnection connection, int remoteUid, int elapsed)? + final void Function(RtcConnection connection, int remoteUid, int elapsed)? onUserJoined; -

    +

      -
    • 通信场景下,该回调提示有远端用户加入了频道。如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调。
    • -
    • 直播场景下,该回调提示有主播加入了频道。如果加入之前,已经有主播在频道中了,新加入的用户也会收到已有主播加入频道的回调。建议连麦主播不超过 17 人。
    • +
    • 通信场景下,该回调提示有远端用户加入了频道。如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调。
    • +
    • 直播场景下,该回调提示有主播加入了频道。如果加入之前,已经有主播在频道中了,新加入的用户也会收到已有主播加入频道的回调。建议连麦主播不超过 17 人。
    -

    该回调在如下情况下会被触发: -

      -
    • 远端用户/主播加入频道。
    • -
    • 远端用户加入频道后将用户角色改变为主播。
    • -
    • 远端用户/主播网络中断后重新加入频道。
    • -

    +

    该回调在如下情况下会被触发:

      +
    • 远端用户/主播加入频道。
    • +
    • 远端用户加入频道后将用户角色改变为主播。
    • +
    • 远端用户/主播网络中断后重新加入频道。
    • +
    +

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - Connection 信息。详见 - - - uid - remoteUid - 新加入频道的远端用户/主播 ID。 - - - elapsed - 从本地用户调用 到该回调触发的延迟(毫秒)。 - - -
    + + + + + + connection + Connection 信息。详见 + + + uid + remoteUid + 新加入频道的远端用户/主播 ID。 + + + elapsed + 从本地用户调用 到该回调触发的延迟(毫秒)。 + + +
    -
    \ 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 dcfee238ad5..955e0ce0bdd 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita @@ -1,55 +1,60 @@ - <ph keyref="onUserMuteAudio" /> - 远端用户(通信场景)/主播(直播场景)停止或恢复发送音频流回调。 + + <ph keyref="onUserMuteAudio"/> + + + 远端用户(通信场景)/主播(直播场景)停止或恢复发送音频流回调。 + - +

    - public void onUserMuteAudio(int uid, boolean muted) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid; - virtual void onUserMuteAudio(uid_t uid, bool muted) { + public void onUserMuteAudio(int uid, boolean muted) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid; + virtual void onUserMuteAudio(uid_t uid, bool muted) { (void)uid; (void)muted; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserMuteAudio, int64, uid, bool, muted); - onUserMuteAudio?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserMuteAudio, int64, uid, bool, muted); + onUserMuteAudio?( connection: RtcConnection, remoteUid: number, muted: boolean ): void; - public virtual void OnUserMuteAudio(RtcConnection connection, uint remoteUid, bool muted) { } - onUserMuteAudio?( + 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)? + final void Function(RtcConnection connection, int remoteUid, bool muted)? onUserMuteAudio; -

    +

    - -
    弃用:
    -
    请改用
    -
    -
    -

    该回调是由远端用户调用 方法关闭或开启音频发送触发的。

    - 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调可能不准确。
    + +
    弃用:
    +
    请改用
    +
    + +

    该回调是由远端用户调用 方法关闭或开启音频发送触发的。

    + 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调可能不准确。 +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - + + uid @@ -58,13 +63,13 @@ muted - 该用户是否静音: -
      -
    • : 该用户已将音频静音。
    • -
    • : 该用户取消了音频静音。
    • -
    + 该用户是否静音:
      +
    • : 该用户已将音频静音。
    • +
    • : 该用户取消了音频静音。
    • +
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita index cfb29ae9672..97c4ea0f8c4 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita @@ -1,65 +1,67 @@ - <ph keyref="onUserMuteVideo" /> + <ph keyref="onUserMuteVideo"/> 远端用户取消或恢复发布视频流回调。 - +

    - public void onUserMuteVideo(int uid, boolean muted) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid - virtual void onUserMuteVideo(uid_t uid, bool muted) { + public void onUserMuteVideo(int uid, boolean muted) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid + virtual void onUserMuteVideo(uid_t uid, bool muted) { (void)uid; (void)muted; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserMuteVideo, int64, userId, bool, muted); - onUserMuteVideo?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserMuteVideo, int64, userId, bool, muted); + onUserMuteVideo?( connection: RtcConnection, remoteUid: number, muted: boolean ): void; - public virtual void OnUserMuteVideo(RtcConnection connection, uint remoteUid, bool muted) {} - onUserMuteVideo?( + public virtual void OnUserMuteVideo(RtcConnection connection, uint remoteUid, bool muted) {} + onUserMuteVideo?( connection: RtcConnection, remoteUid: number, muted: boolean ): void; - final void Function(RtcConnection connection, int remoteUid, bool muted)? + final void Function(RtcConnection connection, int remoteUid, bool muted)? onUserMuteVideo; -

    +

    - -
    弃用:
    -
    你也可以使用 回调的: - - -
      -
    • (0) 和 (5) 。
    • -
    • (2) 和 (6)。
    • -
    -
    + +
    弃用:
    +
    你也可以使用 回调的:
      +
    • (0) 和 (5) 。
    • +
    • (2) 和 (6)。
    • +
    +
    +
    -

    当远端用户调用 取消或恢复发布视频流时,SDK 会触发该回调向本地用户报告远端用户的发流状况。

    - 当频道内的用户(通信场景)或主播(直播场景)的人数超过 17 时,该回调可能不准确。
    +

    当远端用户调用 取消或恢复发布视频流时,SDK + 会触发该回调向本地用户报告远端用户的发流状况。

    + 当频道内的用户(通信场景)或主播(直播场景)的人数超过 17 时,该回调可能不准确。 +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - + + connection - Connection 信息。详见 + Connection 信息。详见 uid @@ -68,13 +70,13 @@ muted - 远端用户是否取消发布视频流: -
      -
    • : 取消发布视频流。
    • -
    • : 发布视频流。
    • -
    + 远端用户是否取消发布视频流:
      +
    • : 取消发布视频流。
    • +
    • : 发布视频流。
    • +
    +
    -
    \ 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 95b344ea567..ce24967caa3 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseroffline.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseroffline.dita @@ -1,77 +1,93 @@ - <ph keyref="onUserOffline" /> - 远端用户(通信场景)/主播(直播场景)离开当前频道回调。 + + <ph keyref="onUserOffline"/> + + + 远端用户(通信场景)/主播(直播场景)离开当前频道回调。 + - +

    - public void onUserOffline(int uid, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserOffline(int uid, int reason) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOfflineOfUid:(NSUInteger)uid reason:(AgoraUserOfflineReason)reason; - virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) { + virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) { (void)uid; (void)reason; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserOffline, int64, uid, EUSER_OFFLINE_REASON_TYPE, reason); - onUserOffline?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserOffline, int64, uid, EUSER_OFFLINE_REASON_TYPE, reason); + onUserOffline?( connection: RtcConnection, remoteUid: number, reason: UserOfflineReasonType ): void; - public virtual void OnUserOffline(RtcConnection connection, uint remoteUid, USER_OFFLINE_REASON_TYPE reason) {} - onUserOffline?( + public virtual void OnUserOffline(RtcConnection connection, uint remoteUid, USER_OFFLINE_REASON_TYPE reason) {} + onUserOffline?( connection: RtcConnection, remoteUid: number, reason: UserOfflineReasonType ): void; - final void Function(RtcConnection connection, int remoteUid, + final void Function(RtcConnection connection, int remoteUid, UserOfflineReasonType reason)? onUserOffline; -

    +

    -

    用户离开频道有两个原因: -

      -
    • 正常离开:远端用户/主播会发送类似“再见”的消息。接收此消息后,判断用户离开频道。
    • -
    • 超时掉线:在一定时间内(通信场景为 20 秒,直播场景稍有延时),用户没有收到对方的任何数据包,则判定为对方掉线。在网络较差的情况下,有可能会误报。建议使用云信令 SDK 来做可靠的掉线检测。
    • -

    +

    用户离开频道有两个原因:

      +
    • 正常离开:远端用户/主播会发送类似“再见”的消息。接收此消息后,判断用户离开频道。
    • +
    • 超时掉线:在一定时间内(通信场景为 20 + 秒,直播场景稍有延时),用户没有收到对方的任何数据包,则判定为对方掉线。在网络较差的情况下,有可能会误报。建议使用云信令 SDK + 来做可靠的掉线检测。
    • +
    +

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - Connection 信息。详见 - - - uid - remoteUid - 离线用户或主播的用户 ID。 - - - reason - -

    离线原因:

    -

    远端用户(通信场景)或主播(直播场景)下线的原因: -

      -
    • (0):用户主动离开。此时离开频道的用户会发送一个类似“再见”的消息。收到该消息是,SDK 判定该用户离开频道。
    • -
    • (1):因过长时间收不到对方数据包,SDK 判定该远端用户超时掉线。注意:在网络连接不稳定时,该判定 可能会有误。建议使用实时消息 SDK 来做可靠的掉线检测。
    • -
    • (2):用户的角色从主播切换为观众。
    • -

    -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + uid + remoteUid + 离线用户或主播的用户 ID。 + + + reason + +

    离线原因:

    +

    远端用户(通信场景)或主播(直播场景)下线的原因:

      +
    • + (0):用户主动离开。此时离开频道的用户会发送一个类似“再见”的消息。收到该消息是,SDK 判定该用户离开频道。
    • +
    • + (1):因过长时间收不到对方数据包,SDK + 判定该远端用户超时掉线。注意:在网络连接不稳定时,该判定 可能会有误。建议使用实时消息 SDK 来做可靠的掉线检测。
    • +
    • + (2):用户的角色从主播切换为观众。
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserstatechanged.dita index 7ab50d0dff2..852be970af0 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserstatechanged.dita @@ -2,36 +2,37 @@ onUserStateChanged - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    -

    +

    - <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_onvideodevicestatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita index 59cd1658dc0..2c9e3020968 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita @@ -1,8 +1,12 @@ - <ph keyref="onVideoDeviceStateChanged"/> - 视频设备变化回调。 + + <ph keyref="onVideoDeviceStateChanged"/> + + + 视频设备变化回调。 + @@ -13,47 +17,51 @@

    - - - (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)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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnVideoDeviceStateChanged, FString, deviceId, int, deviceType, int, deviceState); - onVideoDeviceStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnVideoDeviceStateChanged, 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?( + 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, + final void Function(String deviceId, MediaDeviceType deviceType, MediaDeviceStateType deviceState)? onVideoDeviceStateChanged; -

    +

    该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断。

    - 该回调仅适用于 Windows 和 macOS。
    + 该回调仅适用于 Windows 和 macOS。 +
    - <ph keyref="callback-section-title"/> + + <ph keyref="callback-section-title"/> + - - deviceId - 设备 ID。 - - - deviceType - 设备类型。详见 - - - deviceState - 设备状态。详见 - -
    + + deviceId + 设备 ID。 + + + deviceType + 设备类型。详见 + + + deviceState + 设备状态。详见 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita index e840b9162b1..8a451b72cfe 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita @@ -1,28 +1,32 @@ - <ph keyref="onVideoPublishStateChanged" /> - 视频发布状态改变回调。 + + <ph keyref="onVideoPublishStateChanged"/> + + + 视频发布状态改变回调。 + - +

    - public void onVideoPublishStateChanged(Constants.VideoSourceType source, String channel, + public void onVideoPublishStateChanged(Constants.VideoSourceType source, String channel, int oldState, int newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId + - (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) { + 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; @@ -30,61 +34,63 @@ elapseSinceLastState:(int)elapseSinceLastState; (void)elapseSinceLastState; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoPublishStateChanged, EVIDEO_SOURCE_TYPE, source, FString, channel, ESTREAM_PUBLISH_STATE, oldState, ESTREAM_PUBLISH_STATE, newState, int, elapseSinceLastState); - onVideoPublishStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoPublishStateChanged, EVIDEO_SOURCE_TYPE, source, FString, channel, ESTREAM_PUBLISH_STATE, oldState, ESTREAM_PUBLISH_STATE, newState, int, elapseSinceLastState); + onVideoPublishStateChanged?( source: VideoSourceType, channel: string, oldState: StreamPublishState, newState: StreamPublishState, elapseSinceLastState: number ): void; - public virtual void OnVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { } - onVideoPublishStateChanged?( + public virtual void OnVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { } + onVideoPublishStateChanged?( source: VideoSourceType, channel: string, oldState: StreamPublishState, newState: StreamPublishState, elapseSinceLastState: number ): void; - final void Function( + final void Function( VideoSourceType source, String channel, StreamPublishState oldState, StreamPublishState newState, - int elapseSinceLastState)? onVideoPublishStateChanged; -

    -
    -
    + int elapseSinceLastState)? onVideoPublishStateChanged; +

    +
    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - channel - channelId - 频道名。 - - + + + + + + channel + channelId + 频道名。 + + sourceType source - 视频源的类型。详见 + 视频源的类型。详见 + + + oldState + 之前的发布状态,详见 + + + newState + 当前的发布状态,详见 - oldState - 之前的发布状态,详见 - - - newState - 当前的发布状态,详见 - - - elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 - -
    + elapseSinceLastState + 两次状态变化时间间隔(毫秒)。 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita index 3e043e5f014..bcd48876a03 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita @@ -13,62 +13,66 @@

    - public void onVideoRenderingTracingResult(int uid, + 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)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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnVideoRenderingTracingResult, int64, uid, EMEDIA_TRACE_EVENT, currentEvent, FVideoRenderingTracingInfo, tracingInfo); - onVideoRenderingTracingResult?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnVideoRenderingTracingResult, int64, uid, EMEDIA_TRACE_EVENT, currentEvent, FVideoRenderingTracingInfo, tracingInfo); + onVideoRenderingTracingResult?( connection: RtcConnection, uid: number, currentEvent: MediaTraceEvent, tracingInfo: VideoRenderingTracingInfo ): void; - public virtual void OnVideoRenderingTracingResult(RtcConnection connection, uint uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) { } - onVideoRenderingTracingResult?( + public virtual void OnVideoRenderingTracingResult(RtcConnection connection, uint uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) { } + onVideoRenderingTracingResult?( connection: RtcConnection, uid: number, currentEvent: MediaTraceEvent, tracingInfo: VideoRenderingTracingInfo ): void; - final void Function( + final void Function( RtcConnection connection, int uid, MediaTraceEvent currentEvent, - VideoRenderingTracingInfo tracingInfo)? onVideoRenderingTracingResult;

    + VideoRenderingTracingInfo tracingInfo)? onVideoRenderingTracingResult; +

    - -
    自从
    -
    v4.1.1
    -
    + +
    自从
    +
    v4.1.1
    +
    -

    调用 方法或加入频道后,SDK 会触发该回调,报告视频帧渲染的事件和渲染过程中的指标。开发者可以针对指标进行专项优化,以提高出图效率。

    +

    调用 方法或加入频道后,SDK + 会触发该回调,报告视频帧渲染的事件和渲染过程中的指标。开发者可以针对指标进行专项优化,以提高出图效率。

    <ph keyref="callback-section-title"/> - - - - - - uid - 用户 ID。 - - - currentEvent - 当前视频帧渲染事件。详见 - - - tracingInfo - 视频帧渲染过程中的指标。开发者需要尽可能降低指标值,以提高出图效率。详见 - -
    + + + + + + uid + 用户 ID。 + + + currentEvent + 当前视频帧渲染事件。详见 + + + tracingInfo + 视频帧渲染过程中的指标。开发者需要尽可能降低指标值,以提高出图效率。详见 + + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita index 1147a4c9f11..b41d2eb5133 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita @@ -1,29 +1,33 @@ - <ph keyref="onVideoSizeChanged" /> - 本地或远端视频大小和旋转信息发生改变回调。 + + <ph keyref="onVideoSizeChanged"/> + + + 本地或远端视频大小和旋转信息发生改变回调。 + - +

    - public void onVideoSizeChanged( + public void onVideoSizeChanged( Constants.VideoSourceType source, int uid, int width, int height, int rotation) {} - - (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)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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoSizeChanged, EVIDEO_SOURCE_TYPE, sourceType, int64, uid, int, width, int, height, int, rotation); - onVideoSizeChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoSizeChanged, EVIDEO_SOURCE_TYPE, sourceType, int64, uid, int, width, int, height, int, rotation); + onVideoSizeChanged?( connection: RtcConnection, sourceType: VideoSourceType, uid: number, @@ -31,8 +35,8 @@ height: number, rotation: number ): void; - public virtual void OnVideoSizeChanged(RtcConnection connection, VIDEO_SOURCE_TYPE sourceType, uint uid, int width, int height, int rotation) { } - onVideoSizeChanged?( + public virtual void OnVideoSizeChanged(RtcConnection connection, VIDEO_SOURCE_TYPE sourceType, uint uid, int width, int height, int rotation) { } + onVideoSizeChanged?( connection: RtcConnection, sourceType: VideoSourceType, uid: number, @@ -40,49 +44,52 @@ height: number, rotation: number ): void; - final void Function(RtcConnection connection, VideoSourceType sourceType, + 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 信息。详见 - - - sourceType - source - 视频源的类型。详见 + + + - - uid - 图像尺寸和旋转信息发生变化的用户 ID(本地用户的 uid 为 0。此时视频为本地用户的视频预览)。 - - - size - 视频流的尺寸。 - - - width - 视频流的宽度(像素)。 - - - height - 视频流的高度(像素)。 - - - rotation - 旋转信息,取值范围 [0,360)。 - 在 iOS 平台上,该参数值始终为 0。 - 该参数值始终为 0。 - - -
    + + connection + Connection 信息。详见 + + + sourceType + source + 视频源的类型。详见 + + + uid + 图像尺寸和旋转信息发生变化的用户 ID(本地用户的 uid 为 0。此时视频为本地用户的视频预览)。 + + + size + 视频流的尺寸。 + + + width + 视频流的宽度(像素)。 + + + height + 视频流的高度(像素)。 + + + rotation + 旋转信息,取值范围 [0,360)。 在 iOS 平台上,该参数值始终为 0。 + 该参数值始终为 0。 + + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosourceframesizechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosourceframesizechanged.dita index 306c7602997..bf50053d9a5 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosourceframesizechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosourceframesizechanged.dita @@ -2,36 +2,37 @@ onVideoSourceFrameSizeChanged - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    -

    +

    - <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_onvideostopped.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita index e4c1df0c043..475d9b63afd 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita @@ -1,44 +1,46 @@ - <ph keyref="onVideoStopped" /> + <ph keyref="onVideoStopped"/> 视频功能已停止回调。 - +

    - public void onVideoStopped() {} - - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onVideoStopped() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnVideoStopped); - onVideoStopped?(): void; - public virtual void OnVideoStopped() - onVideoStopped?(): void; - final void Function()? onVideoStopped; -

    + public void onVideoStopped() {} + - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onVideoStopped() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnVideoStopped); + 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 efd89783cdb..7aaebe1c26b 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita @@ -1,27 +1,27 @@ - <ph keyref="onVideoSubscribeStateChanged" /> + <ph keyref="onVideoSubscribeStateChanged"/> 视频订阅状态发生改变回调。 - +

    - public void onVideoSubscribeStateChanged( + public void onVideoSubscribeStateChanged( String channel, int uid, int oldState, int newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (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, + virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, @@ -32,105 +32,122 @@ (void)newState; (void)elapseSinceLastState; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoSubscribeStateChanged, FString, channel, int64, uid, ESTREAM_SUBSCRIBE_STATE, oldState, ESTREAM_SUBSCRIBE_STATE, newState, int, elapseSinceLastState); - onVideoSubscribeStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoSubscribeStateChanged, FString, channel, int64, uid, ESTREAM_SUBSCRIBE_STATE, oldState, ESTREAM_SUBSCRIBE_STATE, newState, int, elapseSinceLastState); + onVideoSubscribeStateChanged?( channel: string, uid: number, oldState: StreamSubscribeState, newState: StreamSubscribeState, elapseSinceLastState: number ): void; - public virtual void OnVideoSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnVideoSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - onVideoSubscribeStateChanged?( + onVideoSubscribeStateChanged?( channel: string, uid: number, oldState: StreamSubscribeState, newState: StreamSubscribeState, elapseSinceLastState: number ): void; - final void Function( + final void Function( String channel, int uid, StreamSubscribeState oldState, StreamSubscribeState newState, int elapseSinceLastState)? onVideoSubscribeStateChanged; -

    -
    -
    +

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - channel - 频道名。 - - - uid - 远端用户的 ID。 - - - oldState - 之前的订阅状态,详见 - 之前的订阅状态。 -
      -
    • (0): 加入频道后的初始订阅状态。
    • -
    • (1): 订阅失败。可能是因为: -
        -
      • 远端用户: -
          -
        • 调用 () 或 () 停止发送本地媒体流。
        • -
        • 调用 关闭本地音频或视频模块。
        • -
        • 调用 () 或 () 关闭本地音频或视频采集。
        • -
        • 用户角色为观众。
        • -
      • -
      • 本地用户调用以下方法停止接收远端媒体流: -
          -
        • 调用 ()、 () 停止接收远端音频流。
        • -
        • 调用 ()、 () 停止接收远端视频流。
        • -
      • -
    • -
    • (2): 正在订阅。
    • -
    • (3): 收到了远端流,订阅成功。
    • -
    -
    - - newState - 当前的订阅状态,详见 - 当前的订阅状态。 -
      -
    • (0): 加入频道后的初始订阅状态。
    • -
    • (1): 订阅失败。可能是因为: - -
        -
      • 远端用户: - -
          -
        • 调用 () 或 () 停止发送本地媒体流。
        • -
        • 调用 关闭本地音频或视频模块。
        • -
        • 调用 () 或 () 关闭本地音频或视频采集。
        • -
        • 用户角色为观众。
        • -
      • -
      • 本地用户调用以下方法停止接收远端媒体流: - -
          -
        • 调用 ()、 () 停止接收远端音频流。
        • -
        • 调用 ()、 () 停止接收远端视频流。
        • -
      • -
    • -
    • (2): 正在订阅。
    • -
    • (3): 收到了远端流,订阅成功。
    • -
    -
    - - elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 - -
    + + + + + + channel + 频道名。 + + + uid + 远端用户的 ID。 + + + oldState + 之前的订阅状态,详见 + 之前的订阅状态。
      +
    • (0): 加入频道后的初始订阅状态。
    • +
    • (1): 订阅失败。可能是因为:
        +
      • 远端用户:
          +
        • 调用 () 或 () 停止发送本地媒体流。
        • +
        • 调用 关闭本地音频或视频模块。
        • +
        • 调用 () 或 () + 关闭本地音频或视频采集。
        • +
        • 用户角色为观众。
        • +
      • +
      • 本地用户调用以下方法停止接收远端媒体流:
          +
        • 调用 ()、 () 停止接收远端音频流。
        • +
        • 调用 ()、 () 停止接收远端视频流。
        • +
      • +
    • +
    • (2): 正在订阅。
    • +
    • (3): 收到了远端流,订阅成功。
    • +
    +
    + + newState + 当前的订阅状态,详见 + 当前的订阅状态。
      +
    • (0): 加入频道后的初始订阅状态。
    • +
    • (1): 订阅失败。可能是因为:
        +
      • 远端用户:
          +
        • 调用 () 或 () 停止发送本地媒体流。
        • +
        • 调用 关闭本地音频或视频模块。
        • +
        • 调用 () 或 () + 关闭本地音频或视频采集。
        • +
        • 用户角色为观众。
        • +
      • +
      • 本地用户调用以下方法停止接收远端媒体流:
          +
        • 调用 ()、 () 停止接收远端音频流。
        • +
        • 调用 ()、 () 停止接收远端视频流。
        • +
      • +
    • +
    • (2): 正在订阅。
    • +
    • (3): 收到了远端流,订阅成功。
    • +
    +
    + + elapseSinceLastState + 两次状态变化时间间隔(毫秒)。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvirtualbackgroundsourceenabled.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvirtualbackgroundsourceenabled.dita index 1b7b0917e7f..35b97fd4d22 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onvirtualbackgroundsourceenabled.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onvirtualbackgroundsourceenabled.dita @@ -1,46 +1,48 @@ - <ph keyref="onVirtualBackgroundSourceEnabled" /> + <ph keyref="onVirtualBackgroundSourceEnabled"/> 报告虚拟背景是否成功开启。(BETA 功能) - +

    - - - - - public virtual void OnVirtualBackgroundSourceEnabled(bool enabled, + + + + + public virtual void OnVirtualBackgroundSourceEnabled(bool enabled, VIRTUAL_BACKGROUND_SOURCE_STATE_REASON reason) - - There are no corresponding names available -

    + + There are no corresponding names available +

    -

    调用 后,SDK 触发该回调报告虚拟背景是否成功开启。

    - 如果虚拟背景中自定义的背景图为 PNG、JPG 格式的图片,该回调的触发时机会延迟到图片读取完毕。
    +

    调用 后,SDK 触发该回调报告虚拟背景是否成功开启。

    + 如果虚拟背景中自定义的背景图为 PNG、JPG 格式的图片,该回调的触发时机会延迟到图片读取完毕。 +
    参数 - - enabled - 是否成功开启虚拟背景: -
      -
    • : 成功开启虚拟背景。
    • -
    • : 未成功开启虚拟背景。
    • -
    -
    - - reason - 虚拟背景开启出错的原因或开启成功的提示。详见 - -
    + + enabled + 是否成功开启虚拟背景:
      +
    • : 成功开启虚拟背景。
    • +
    • : 未成功开启虚拟背景。
    • +
    +
    + + reason + 虚拟背景开启出错的原因或开启成功的提示。详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onwarning.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onwarning.dita index cb33415352e..6ceb9861ea7 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onwarning.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onwarning.dita @@ -2,36 +2,37 @@ onWarning - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    -

    +

    - <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_onwlaccmessage.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onwlaccmessage.dita index bdb2a1b43f6..15bae24d440 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onwlaccmessage.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onwlaccmessage.dita @@ -1,8 +1,12 @@ - <ph keyref="onWlAccMessage"/> - 报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi 连接的操作建议。 + + <ph keyref="onWlAccMessage"/> + + + 报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi 连接的操作建议。 + @@ -13,94 +17,57 @@

    - virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) { + virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) { (void)reason; (void)action; (void)wlAccMsg; } - - public virtual void OnWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, string wlAccMsg) - - -

    + + public virtual void OnWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, string wlAccMsg) + + +

    -

    - 调用 - - (true) 开启 Wi-Fi 加速功能后,当 Wi-Fi 连接质量不佳时,SDK 会触发该回调,报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi 连接的操作建议。 -

    +

    调用 (true) 开启 Wi-Fi 加速功能后,当 Wi-Fi + 连接质量不佳时,SDK 会触发该回调,报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi 连接的操作建议。

    -

    - 强烈建议你在 App 中展示将该回调报告的 - action - 和 - wlAccMsg - ,提示用户采取网络优化措施,以获得更好的音视频体验。 -

    -
    +

    强烈建议你在 App 中展示将该回调报告的 actionwlAccMsg + ,提示用户采取网络优化措施,以获得更好的音视频体验。

    + +
    参数 - - reason - -

    - Wi-Fi 连接质量不佳的原因。详见 - - 。 -

    -
    -
    - - action - -

    - 改善 Wi-Fi 连接质量的操作建议。详见 - - 。 -

    -
    -
    - - wlAccMsg - - 根据 - action - 的值提供的详细帮助信息: - - -
      -
    • - 当 - action - 为 ,该参数的值为 - NULL - 。 -
    • -
    • - 当 - action - 为 - - ,该参数的值为推荐用户连接的网络名称(SSID)。 -
    • -
    • - 当 - action - 为 - - ,该参数的值为开启路由器 5G 频道的操作步骤的链接。 -
    • -
    • - 当 - action - 为 - - ,该参数的值为修改网络名称(SSID)的操作步骤的链接。 -
    • -
    -
    -
    + + reason + +

    Wi-Fi 连接质量不佳的原因。详见

    +
    +
    + + action + +

    改善 Wi-Fi 连接质量的操作建议。详见

    +
    +
    + + wlAccMsg + 根据 action 的值提供的详细帮助信息:
      +
    • action 为 ,该参数的值为 NULL
    • +
    • action + + ,该参数的值为推荐用户连接的网络名称(SSID)。
    • +
    • action + + ,该参数的值为开启路由器 5G 频道的操作步骤的链接。
    • +
    • action + + ,该参数的值为修改网络名称(SSID)的操作步骤的链接。
    • +
    +
    +
    + +
    diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onwlaccstats.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onwlaccstats.dita index 8895ca0720d..d9290d23b1b 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onwlaccstats.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onwlaccstats.dita @@ -13,30 +13,33 @@

    - virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats) { + virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats) { (void)currentStats; (void)averageStats; } - - ublic virtual void OnWlAccStats(WlAccStats currentStats, WlAccStats averageStats) - - -

    + + ublic virtual void OnWlAccStats(WlAccStats currentStats, WlAccStats averageStats) + + +

    -

    调用 (true) 开启 Wi-Fi 加速功能后,SDK 每隔两秒触发一次该回调,报告当前的 Wi-Fi 加速效果和自加入频道后平均的 Wi-Fi 加速效果。Wi-Fi 加速效果用端到端延时、丢包率和音视频卡顿率三个指标下降的百分比来衡量。

    +

    调用 (true) 开启 Wi-Fi 加速功能后,SDK + 每隔两秒触发一次该回调,报告当前的 Wi-Fi 加速效果和自加入频道后平均的 Wi-Fi 加速效果。Wi-Fi + 加速效果用端到端延时、丢包率和音视频卡顿率三个指标下降的百分比来衡量。

    参数 - - currentStats - 当前的 Wi-Fi 加速效果。详见 - - - averageStats - 自加入频道后平均的 Wi-Fi 加速效果。详见 - -
    + + currentStats + 当前的 Wi-Fi 加速效果。详见 + + + averageStats + 自加入频道后平均的 Wi-Fi 加速效果。详见 + + +
    diff --git a/dita/RTC-NG/API/callback_ivideoencodedframeobserver_onencodedvideoframereceived.dita b/dita/RTC-NG/API/callback_ivideoencodedframeobserver_onencodedvideoframereceived.dita index 525a4eba12b..edb0285b3be 100644 --- a/dita/RTC-NG/API/callback_ivideoencodedframeobserver_onencodedvideoframereceived.dita +++ b/dita/RTC-NG/API/callback_ivideoencodedframeobserver_onencodedvideoframereceived.dita @@ -13,59 +13,63 @@

    - boolean onEncodedVideoFrameReceived(ByteBuffer buffer, EncodedVideoFrameInfo info); - - (BOOL)onEncodedVideoFrameReceived:(NSData * _Nonnull )videoData length:(size_t)length info:(AgoraEncodedVideoFrameInfo * _Nonnull)videoFrameInfo NS_SWIFT_NAME(onEncodedVideoFrameReceived(_:length:info:)); - virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t* imageBuffer, size_t length, + boolean onEncodedVideoFrameReceived(ByteBuffer buffer, EncodedVideoFrameInfo info); + - (BOOL)onEncodedVideoFrameReceived:(NSData * _Nonnull )videoData length:(size_t)length info:(AgoraEncodedVideoFrameInfo * _Nonnull)videoFrameInfo NS_SWIFT_NAME(onEncodedVideoFrameReceived(_:length:info:)); + virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t* imageBuffer, size_t length, const rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0; - onEncodedVideoFrameReceived?( + onEncodedVideoFrameReceived?( uid: number, imageBuffer: Uint8Array, length: number, videoEncodedFrameInfo: EncodedVideoFrameInfo ): void; - public virtual bool OnEncodedVideoFrameReceived(uint uid, IntPtr imageBufferPtr, UInt64 length, EncodedVideoFrameInfo videoEncodedFrameInfo) + public virtual bool OnEncodedVideoFrameReceived(uint uid, IntPtr imageBufferPtr, UInt64 length, EncodedVideoFrameInfo videoEncodedFrameInfo) { return true; } - onEncodedVideoFrameReceived?( + onEncodedVideoFrameReceived?( uid: number, imageBuffer: Uint8Array, length: number, videoEncodedFrameInfo: EncodedVideoFrameInfo ): void; - final void Function(int uid, Uint8List imageBuffer, int length, + final void Function(int uid, Uint8List imageBuffer, int length, EncodedVideoFrameInfo videoEncodedFrameInfo)? onEncodedVideoFrameReceived; -

    +

    -

    调用 方法并将 encodedFrameOnly 设置为 时,SDK 会在本地触发该回调,上报接收到的编码后视频帧信息。

    +

    调用 方法并将 + encodedFrameOnly 设置为 + 时,SDK 会在本地触发该回调,上报接收到的编码后视频帧信息。

    参数 - - uid - 远端用户 ID。 - - - videoData - imageBuffer - imageBufferPtr - buffer - 视频图像 buffer。 - 视频图像数据。 - - - length - 视频图像的数据长度。 - - - info - videoFrameInfo - videoEncodedFrameInfo - 编码后的视频帧信息,详见 - -
    + + uid + 远端用户 ID。 + + + videoData + imageBuffer + imageBufferPtr + buffer + 视频图像 buffer。 + 视频图像数据。 + + + length + 视频图像的数据长度。 + + + info + videoFrameInfo + videoEncodedFrameInfo + 编码后的视频帧信息,详见 + + +
    返回值

    无实际含义。

    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita index 603923434c0..e6c69094c79 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita @@ -1,43 +1,45 @@ - <ph keyref="getMirrorApplied" /> + <ph keyref="getMirrorApplied"/> 设置视频数据镜像。 - +

    - boolean getMirrorApplied(); - - (BOOL)getMirrorApplied; - virtual bool getMirrorApplied() { return false; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMirrorApplied); - - - -

    + boolean getMirrorApplied(); + - (BOOL)getMirrorApplied; + virtual bool getMirrorApplied() { return false; } + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMirrorApplied); + + + + +

    -

    如果你希望获取的视频数据为原始视频的镜像,需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对原始视频数据作镜像处理。

    +

    如果你希望获取的视频数据为原始视频的镜像,需要在调用 + 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对原始视频数据作镜像处理。

    • 该功能仅支持 RGBA 和 YUV420 格式的视频数据。
    • -
    • 该方法和 方法均支持设置镜像效果,声网建议你仅选择一种方法进行设置,同时使用两种方法会导致镜像效果叠加从而造成设置镜像失败。
    • +
    • 该方法和 + 方法均支持设置镜像效果,声网建议你仅选择一种方法进行设置,同时使用两种方法会导致镜像效果叠加从而造成设置镜像失败。
    -
    + +
    返回值 -

    设置 SDK 输出视频数据时是否作镜像处理: - -

      -
    • : 镜像。
    • -
    • : (默认)不镜像。
    • -

    +

    设置 SDK 输出视频数据时是否作镜像处理:

      +
    • : 镜像。
    • +
    • : (默认)不镜像。
    • +

    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getobservedframeposition.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getobservedframeposition.dita index 27222a9b175..95cda3d1f01 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_getobservedframeposition.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getobservedframeposition.dita @@ -13,47 +13,60 @@

    - int getObservedFramePosition(); - - (unsigned int)getObservedFramePosition; - virtual uint32_t getObservedFramePosition() { + int getObservedFramePosition(); + - (unsigned int)getObservedFramePosition; + virtual uint32_t getObservedFramePosition() { return base::POSITION_POST_CAPTURER | base::POSITION_PRE_RENDERER; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetObservedFramePosition); - - public virtual VIDEO_OBSERVER_POSITION GetObservedFramePosition() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetObservedFramePosition); + + public virtual VIDEO_OBSERVER_POSITION GetObservedFramePosition() { return VIDEO_OBSERVER_POSITION.POSITION_POST_CAPTURER | VIDEO_OBSERVER_POSITION.POSITION_PRE_RENDERER; } - - -

    + + +

    -

    成功注册视频数据观测器后,SDK 会在每个特定的视频帧处理节点通过该回调来判断是否触发 回调,供你观测本地采集视频数据、远端发送的视频数据以及编码前的视频数据。你可以根据场景需求,通过修改该方法的返回值,设置你需要观测的某个或多个位置:

    +

    成功注册视频数据观测器后,SDK 会在每个特定的视频帧处理节点通过该回调来判断是否触发 、 + + 回调,供你观测本地采集视频数据、远端发送的视频数据以及编码前的视频数据。你可以根据场景需求,通过修改该方法的返回值,设置你需要观测的某个或多个位置:

    -

      -
    • (1 << 0),本地采集视频数据后的位置,对应 回调。
    • -
    • (1 << 1),接收远端发送的视频在渲染前的位置,对应 回调。
    • -
    • (1 << 2),本地视频编码前的位置,对应 回调。
    • -

    +
      +
    • (1 << 0),本地采集视频数据后的位置,对应 + 回调。
    • +
    • (1 << 1),接收远端发送的视频在渲染前的位置,对应 + 回调。
    • +
    • (1 << 2),本地视频编码前的位置,对应 + 回调。
    • +

    -
      -
    • 观测多个位置时,需要使用 '|' (或)运算符。
    • -
    • 该回调默认观测 (1 << 0)和 (1 << 1)。
    • -
    • 为降低设备耗能,你可以根据实际需求适当减少观测位置。
    • -
    • 当视频处理模式为 、并且设置观测点为 | 时,会造成 不生效,需要修改视频处理模式或观测点的位置。
    • -
    +
      +
    • 观测多个位置时,需要使用 '|' (或)运算符。
    • +
    • 该回调默认观测 (1 << 0)和 (1 << 1)。
    • +
    • 为降低设备耗能,你可以根据实际需求适当减少观测位置。
    • +
    • 当视频处理模式为 、并且设置观测点为 | 时,会造成 不生效,需要修改视频处理模式或观测点的位置。
    • +
    + +
    返回值 -

    设置观测位置的 bit mask。详见

    -

    设置观测位置的 bit mask。 - - -

      -
    • (1 << 0),本地采集视频数据后的位置,对应 回调。
    • -
    • (1 << 1),接收远端发送的视频在渲染前的位置,对应 回调。
    • -
    • (1 << 2),本地视频编码前的位置,对应 回调。
    • -

    +

    设置观测位置的 bit mask。详见

    +

    设置观测位置的 bit mask。

      +
    • (1 << 0),本地采集视频数据后的位置,对应 + 回调。
    • +
    • (1 << 1),接收远端发送的视频在渲染前的位置,对应 + 回调。
    • +
    • (1 << 2),本地视频编码前的位置,对应 + 回调。
    • +
    +

    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita index 1b0319ca580..f30312d1376 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita @@ -1,43 +1,48 @@ - <ph keyref="getRotationApplied" /> + <ph keyref="getRotationApplied"/> 设置视频数据旋转。 - +

    - boolean getRotationApplied(); - - (BOOL)getRotationApplied; - virtual bool getRotationApplied() { return false; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetRotationApplied); - - - -

    + boolean getRotationApplied(); + - (BOOL)getRotationApplied; + virtual bool getRotationApplied() { return false; } + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetRotationApplied); + + + + +

    -

    如果你希望获取的视频数据已根据 中的旋转信息 rotation 进行旋转,需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对采集到的视频数据进行旋转。

    -

    如果你在采集端已经根据 中的旋转信息 rotation 进行旋转,就无需调用该方法设置视频数据旋转。

    +

    如果你希望获取的视频数据已根据 + 中的旋转信息 rotation 进行旋转,需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK + 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对采集到的视频数据进行旋转。

    +

    如果你在采集端已经根据 中的旋转信息 + rotation 进行旋转,就无需调用该方法设置视频数据旋转。

      -
    • 该功能仅支持视频处理模式为 的场景。
    • +
    • 该功能仅支持视频处理模式为 的场景。
    • 该功能仅支持 RGBA 和 YUV420 格式的视频数据。
    -
    + +
    返回值 -

    设置 SDK 输出视频数据时是否作旋转处理: -

      -
    • : 旋转。
    • -
    • : (默认)不旋转。
    • -

    +

    设置 SDK 输出视频数据时是否作旋转处理:

      +
    • : 旋转。
    • +
    • : (默认)不旋转。
    • +

    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita index e126379bb44..6ce366b3eb6 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita @@ -13,36 +13,38 @@

    - - - virtual bool getSmoothRenderingEnabled(){ return false; } - - - - -

    + + + virtual bool getSmoothRenderingEnabled(){ return false; } + + + + +

    - -
    自从
    -
    v3.0.0
    -
    + +
    自从
    +
    v3.0.0
    +
    -

    如果你希望从 获取的视频帧出帧时间间隔更均匀,可以在调用 方法时注册该回调,并将该回调的返回值设为

    +

    如果你希望从 获取的视频帧出帧时间间隔更均匀,可以在调用 方法时注册该回调,并将该回调的返回值设为

    -
      -
    • 该回调需要在加入频道前注册。
    • -
    • 该回调适用于对获取的视频帧处理后自渲染的场景,不适用于处理后传回 SDK 的场景。
    • -
    +
      +
    • 该回调需要在加入频道前注册。
    • +
    • 该回调适用于对获取的视频帧处理后自渲染的场景,不适用于处理后传回 SDK 的场景。
    • +
    + +
    返回值 -

    设置是否对获取的视频帧平滑处理: - -

      -
    • : 平滑处理。
    • -
    • : (默认)不平滑处理。
    • -

    +

    设置是否对获取的视频帧平滑处理:

      +
    • : 平滑处理。
    • +
    • : (默认)不平滑处理。
    • +

    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita index 86a12cef7f5..042de9c94cc 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita @@ -13,44 +13,52 @@

    - int getVideoFormatPreference(); + int getVideoFormatPreference(); - - (AgoraVideoFormat)getVideoFormatPreference; + - (AgoraVideoFormat)getVideoFormatPreference; - virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference() { return VIDEO_PIXEL_DEFAULT; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetVideoFormatPreference); - - public virtual VIDEO_OBSERVER_FRAME_TYPE GetVideoFormatPreference() + virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference() { return VIDEO_PIXEL_DEFAULT; } + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetVideoFormatPreference); + + public virtual VIDEO_OBSERVER_FRAME_TYPE GetVideoFormatPreference() { return VIDEO_OBSERVER_FRAME_TYPE.FRAME_TYPE_RGBA; } - - -

    + + +

    -

    你需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置期望的视频数据格式。

    +

    你需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK + 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置期望的视频数据格式。

    返回值 -

    设置 SDK 输出的原始数据格式。详见

    -

    在默认情况下,原始视频像素格式 () 存在以下类型: -

    • 在 Android 平台上,默认的视频帧类型可能为 I420Buffer 或 TextureBuffer。自 v4.2.3 起,TextureBuffer 类型的纹理格式不再包括 OES 格式,仅为 RGB 格式。你需要在处理视频数据时增加对 I420、RGB 纹理格式的适配。
    • -
    • 默认的视频帧类型可能为 I420Buffer 或 TextureBuffer。自 v4.2.3 起,TextureBuffer 类型的纹理格式不再包括 OES 格式,仅为 RGB 格式。你需要在处理视频数据时增加对 I420、RGB 纹理格式的适配。
    • -
    • 在 iOS 和 macOS 平台上,默认的视频帧类型可能为 I420 或 CVPixelBufferRef。
    • -
    • 默认的视频帧类型可能为 I420 或 CVPixelBufferRef。
    • -
    • 在 Windows 平台上,默认为 YUV420。

    +

    设置 SDK 输出的原始数据格式。详见

    +

    在默认情况下,原始视频像素格式 () 存在以下类型:

      +
    • 在 Android 平台上,默认的视频帧类型可能为 I420Buffer 或 TextureBuffer。自 + v4.2.3 起,TextureBuffer 类型的纹理格式不再包括 OES 格式,仅为 RGB 格式。你需要在处理视频数据时增加对 I420、RGB + 纹理格式的适配。
    • +
    • 默认的视频帧类型可能为 I420Buffer 或 TextureBuffer。自 v4.2.3 + 起,TextureBuffer 类型的纹理格式不再包括 OES 格式,仅为 RGB 格式。你需要在处理视频数据时增加对 I420、RGB + 纹理格式的适配。
    • +
    • 在 iOS 和 macOS 平台上,默认的视频帧类型可能为 I420 或 + CVPixelBufferRef。
    • +
    • 默认的视频帧类型可能为 I420 或 CVPixelBufferRef。
    • +
    • 在 Windows 平台上,默认为 YUV420。
    • +

    -

      -
    • (0): 原始视频像素格式。
    • -
    • (1): I420 格式。
    • -
    • (2): BGRA 格式。
    • -
    • (3): NV21 格式。
    • -
    • (4): RGBA 格式。
    • -
    • (8): NV12 格式。
    • -
    • (10):TEXTURE_2D 格式。
    • -
    • (16): I422 格式。
    • -

    +
      +
    • (0): 原始视频像素格式。
    • +
    • (1): I420 格式。
    • +
    • (2): BGRA 格式。
    • +
    • (3): NV21 格式。
    • +
    • (4): RGBA 格式。
    • +
    • (8): NV12 格式。
    • +
    • (10):TEXTURE_2D 格式。
    • +
    • (16): I422 格式。
    • +

    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita index 8bfd6b476a4..5e5c7506a87 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita @@ -1,40 +1,40 @@ - <ph keyref="getVideoFrameProcessMode" /> + <ph keyref="getVideoFrameProcessMode"/> 设置视频处理模式。 - +

    - int getVideoFrameProcessMode(); - - (AgoraVideoFrameProcessMode)getVideoFrameProcessMode; - virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode() { + int getVideoFrameProcessMode(); + - (AgoraVideoFrameProcessMode)getVideoFrameProcessMode; + virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode() { return PROCESS_MODE_READ_ONLY; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetVideoFrameProcessMode); - - - -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetVideoFrameProcessMode); + + + + +

    成功注册视频观测器后,SDK 会触发一次该回调。你需要在该回调的返回值中设置期望的视频处理模式。

    返回值 -

    详见

    -

    视频帧率处理模式: -

      -
    • (0):(默认)只读模式。
    • -
    • (1):读写模式。
    • -

    +

    详见

    +

    视频帧率处理模式:

      +
    • (0):(默认)只读模式。
    • +
    • (1):读写模式。
    • +

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita index 379e9484798..76a92c9678b 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita @@ -13,38 +13,44 @@

    - boolean onCaptureVideoFrame(int sourceType, VideoFrame videoFrame); - - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame sourceType:(AgoraVideoSourceType)sourceType; - virtual bool onCaptureVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnCaptureVideoFrame, EVIDEO_SOURCE_TYPE, sourceType, const FVideoFrame&, videoFrame); - onCaptureVideoFrame?( + boolean onCaptureVideoFrame(int sourceType, VideoFrame videoFrame); + - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame sourceType:(AgoraVideoSourceType)sourceType; + virtual bool onCaptureVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnCaptureVideoFrame, EVIDEO_SOURCE_TYPE, sourceType, const FVideoFrame&, videoFrame); + onCaptureVideoFrame?( sourceType: VideoSourceType, videoFrame: VideoFrame ): void; - public virtual bool OnCaptureVideoFrame(VIDEO_SOURCE_TYPE sourceType, VideoFrame videoFrame) - onCaptureVideoFrame?( + public virtual bool OnCaptureVideoFrame(VIDEO_SOURCE_TYPE sourceType, VideoFrame videoFrame) + onCaptureVideoFrame?( sourceType: VideoSourceType, videoFrame: VideoFrame ): void; - final void Function(VideoSourceType sourceType, VideoFrame videoFrame)? + final void Function(VideoSourceType sourceType, VideoFrame videoFrame)? onCaptureVideoFrame; -

    +

    -

    你可以在回调中获取本地设备采集到的原始视频数据,并可根据需要进行前处理。完成前处理后,你可以在该回调中直接修改 videoFrame,并将返回值设置为 ,即可将修改后的视频数据发送给 SDK。

    -

    如果你需要将处理后的数据发送给 SDK,需要先调用 (0) 方法,将视频处理模式设置为读写模式。

    +

    你可以在回调中获取本地设备采集到的原始视频数据,并可根据需要进行前处理。完成前处理后,你可以在该回调中直接修改 + videoFrame,并将返回值设置为 ,即可将修改后的视频数据发送给 SDK。

    +

    如果你需要将处理后的数据发送给 SDK,需要先调用 (0) 方法,将视频处理模式设置为读写模式。

    你可以在回调中获取本地设备采集到的原始视频数据。

    适用场景
      -
    • 在本地采集的视频数据被 SDK 处理之前对其进行前处理。例如:通过该回调中获取视频数据,并对其进行滤镜、水印、裁剪、旋转等处理。
    • -
    • 获取本地采集的视频数据被 SDK 处理之前的信息。例如:视频帧的原始宽度、高度、帧率等。
    +
  • 在本地采集的视频数据被 SDK + 处理之前对其进行前处理。例如:通过该回调中获取视频数据,并对其进行滤镜、水印、裁剪、旋转等处理。
  • +
  • 获取本地采集的视频数据被 SDK 处理之前的信息。例如:视频帧的原始宽度、高度、帧率等。
  • +
    触发时机

    成功注册视频数据观测器后,SDK 捕捉到每个视频帧时。

    -
    +
    使用限制
      @@ -60,38 +66,40 @@ sourceType 视频源类型,可能的视频源包括:摄像头、屏幕或媒体播放器。详见 - - videoFrame - 视频帧数据。详见 。 - 通过该回调获取的视频帧数据格式默认值如下: -
        -
      • Android:I420 或 RGB (GLES20.GL_TEXTURE_2D)
      • -
      • iOS:I420 或 CVPixelBufferRef
      • -
      • macOS:I420 或 CVPixelBufferRef
      • -
      • Windows:YUV420
      -
      -
    + + videoFrame + 视频帧数据。详见 通过该回调获取的视频帧数据格式默认值如下:
      +
    • Android:I420 或 + RGB (GLES20.GL_TEXTURE_2D)
    • +
    • iOS:I420 或 + CVPixelBufferRef
    • +
    • macOS:I420 或 + CVPixelBufferRef
    • +
    • Windows:YUV420
    • +
    +
    + +
    返回值

    -

      -
    • 当视频处理模式为 时: - -
        -
      • :无实际含义。
      • -
      • :无实际含义。
      • -
    • -
    • 当视频处理模式为 时: -
        -
      • :设置 SDK 接收视频帧。
      • -
      • :设置 SDK 丢弃视频帧。
      • -
    • -
    -
      -
    • :设置 SDK 接收视频帧。
    • -
    • :设置 SDK 丢弃视频帧。
    • -

    +
  • 当视频处理模式为 + 时:
      +
    • :无实际含义。
    • +
    • :无实际含义。
    • +
  • +
  • 当视频处理模式为 时:
      +
    • :设置 SDK 接收视频帧。
    • +
    • :设置 SDK 丢弃视频帧。
    • +
  • + +
      +
    • :设置 SDK 接收视频帧。
    • +
    • :设置 SDK 丢弃视频帧。
    • +

    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onframe.dita index 0cf2765bb7c..97d330707a3 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onframe.dita @@ -13,19 +13,19 @@

    - void onFrame(VideoFrame frame); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + void onFrame(VideoFrame frame); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceiveVideoFrame:)); - virtual void onFrame(const VideoFrame* frame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFrame, const FAudioPcmFrame&, pcmFrame); - - public virtual bool OnFrame(VideoFrame audioFrame, VideoFrameBufferConfig config) + virtual void onFrame(const VideoFrame* frame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFrame, const FAudioPcmFrame&, pcmFrame); + + public virtual bool OnFrame(VideoFrame audioFrame, VideoFrameBufferConfig config) { return true; } - - -

    + + +

    注册视频数据观测器后,每次接收到一帧视频帧时,都会触发该回调,报告视频帧信息。

    @@ -33,29 +33,33 @@
    <ph keyref="callback-section-title"/> - - frame - -

    视频帧信息。 - 详见 WebRTC VideoFrame 详见

    -
    -
    - - audioFrame - 视频帧的属性设置。详见 - - - config - 视频帧的类型及来源。详见 - - - playerKit - 详见 - - - videoFrame - 视频帧信息,详见 - -
    + + frame + +

    视频帧信息。 详见 WebRTC VideoFrame + 详见 +

    +
    +
    + + audioFrame + 视频帧的属性设置。详见 + + + config + 视频帧的类型及来源。详见 + + + playerKit + 详见 + + + videoFrame + 视频帧信息,详见 + + +
    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita index c02074e8683..15f7d82e1fd 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita @@ -13,39 +13,43 @@

    - boolean onMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId); - - (BOOL)onMediaPlayerVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame mediaPlayerId:(NSInteger)mediaPlayerId; - virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0; - onMediaPlayerVideoFrame?(videoFrame: VideoFrame, mediaPlayerId: number): void; - public virtual bool OnMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId) - onMediaPlayerVideoFrame?(videoFrame: VideoFrame, mediaPlayerId: number): void; - final void Function(VideoFrame videoFrame, int mediaPlayerId)? + boolean onMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId); + - (BOOL)onMediaPlayerVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame mediaPlayerId:(NSInteger)mediaPlayerId; + virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0; + onMediaPlayerVideoFrame?(videoFrame: VideoFrame, mediaPlayerId: number): void; + public virtual bool OnMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId) + onMediaPlayerVideoFrame?(videoFrame: VideoFrame, mediaPlayerId: number): void; + final void Function(VideoFrame videoFrame, int mediaPlayerId)? onMediaPlayerVideoFrame; -

    +

    -

    成功注册视频数据观测器并调用 后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在该回调中获取媒体播放器中的视频数据,然后根据场景需要,对视频数据进行前处理。

    +

    成功注册视频数据观测器并调用 后,SDK + 会在捕捉到每个视频帧时触发该回调。你可以在该回调中获取媒体播放器中的视频数据,然后根据场景需要,对视频数据进行前处理。

    完成前处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

    - 由于框架的限制,该回调不支持将处理后的视频数据发送回 SDK。 + 由于框架的限制,该回调不支持将处理后的视频数据发送回 + SDK。 该回调仅支持只读模式。
    参数 - - - - - - mediaPlayerId - 媒体播放器 ID。 - -
    + + + + + + mediaPlayerId + 媒体播放器 ID。 + + +
    返回值
    • :无实际含义。
    • -
    • :无实际含义。
    +
  • :无实际含义。
  • +
    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita index 3c7d909cd76..139d6ea0b26 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita @@ -1,12 +1,12 @@ - <ph keyref="onPreEncodeScreenVideoFrame" /> + <ph keyref="onPreEncodeScreenVideoFrame"/> 获取屏幕采集后、编码前的视频数据。 - + @@ -16,9 +16,9 @@ boolean onPreEncodeScreenVideoFrame(VideoFrame videoFrame); - (BOOL)onPreEncodeScreenVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; virtual bool onPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; - + onPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; - + onPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; final void Function(VideoFrame videoFrame)? onPreEncodeScreenVideoFrame;

    @@ -28,20 +28,26 @@

    完成处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

      -
    • 你需要通过 设置观测 (1 << 2) 后,才能使用该回调获取本地视频编码前的视频数据。
    • -
    • 你需要通过 posiition 设置观测 (1 << 2) 后,才能使用该回调获取本地视频编码前的视频数据。
    • +
    • 你需要通过 + 设置观测 (1 << 2) + 后,才能使用该回调获取本地视频编码前的视频数据。
    • +
    • 你需要通过 的 + posiition 设置观测 (1 << 2) + 后,才能使用该回调获取本地视频编码前的视频数据。
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • 如果你获取到的视频数据类型为 RGBA,SDK 不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    - 由于框架的限制,该回调不支持将处理后的视频数据发送回 SDK。 + 由于框架的限制,该回调不支持将处理后的视频数据发送回 + SDK。
    参数 - - + +
    @@ -50,4 +56,4 @@

    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita index b81c3b9e64d..fca953b6ecd 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita @@ -13,32 +13,37 @@

    - boolean onPreEncodeVideoFrame(int sourceType, VideoFrame videoFrame); - - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame sourceType:(AgoraVideoSourceType)sourceType; - virtual bool onPreEncodeVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPreEncodeVideoFrame, EVIDEO_SOURCE_TYPE, sourceType, const FVideoFrame&, videoFrame); - onPreEncodeVideoFrame?( + boolean onPreEncodeVideoFrame(int sourceType, VideoFrame videoFrame); + - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame sourceType:(AgoraVideoSourceType)sourceType; + virtual bool onPreEncodeVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPreEncodeVideoFrame, EVIDEO_SOURCE_TYPE, sourceType, const FVideoFrame&, videoFrame); + onPreEncodeVideoFrame?( sourceType: VideoSourceType, videoFrame: VideoFrame ): void; - public virtual bool OnPreEncodeVideoFrame(VIDEO_SOURCE_TYPE sourceType, VideoFrame videoFrame) - onPreEncodeVideoFrame?( + public virtual bool OnPreEncodeVideoFrame(VIDEO_SOURCE_TYPE sourceType, VideoFrame videoFrame) + onPreEncodeVideoFrame?( sourceType: VideoSourceType, videoFrame: VideoFrame ): void; - final void Function(VideoFrame videoFrame)? onPreEncodeVideoFrame; -

    + final void Function(VideoFrame videoFrame)? onPreEncodeVideoFrame; +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取编码前的视频数据,然后根据场景需要,对视频数据进行处理。

    完成处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

    -
      -
    • 你需要通过 设置观测 (1 << 2) 后,才能使用该回调获取本地视频编码前的视频数据。
    • -
    • 你需要通过 position 参数设置观测 (1 << 2) 后,才能使用该回调获取本地视频编码前的视频数据。
    • -
    • 由于框架的限制,该回调不支持将处理后的视频数据发送回 SDK。
    • -
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • -
    +
      +
    • 你需要通过 + 设置观测 (1 << 2) + 后,才能使用该回调获取本地视频编码前的视频数据。
    • +
    • 你需要通过 的 + position 参数设置观测 (1 << 2) + 后,才能使用该回调获取本地视频编码前的视频数据。
    • +
    • 由于框架的限制,该回调不支持将处理后的视频数据发送回 SDK。
    • +
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • +
    参数 @@ -51,7 +56,8 @@ -
    + +
    返回值

    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita index 222048e13aa..5821a7f1441 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita @@ -13,52 +13,56 @@

    - boolean onRenderVideoFrame(String channelId, int uid, VideoFrame videoFrame); - - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame + boolean onRenderVideoFrame(String channelId, int uid, VideoFrame videoFrame); + - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame uid:(NSUInteger)uid channelId:(NSString * _Nonnull)channelId; - virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRenderVideoFrame, const FString, channelId, int64, remoteUid, const FVideoFrame&, videoFrame); - onRenderVideoFrame?( + virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRenderVideoFrame, const FString, channelId, int64, remoteUid, const FVideoFrame&, videoFrame); + onRenderVideoFrame?( channelId: string, remoteUid: number, videoFrame: VideoFrame ): void; - public virtual bool OnRenderVideoFrame(string channelId, uint remoteUid, VideoFrame videoFrame) - onRenderVideoFrame?( + public virtual bool OnRenderVideoFrame(string channelId, uint remoteUid, VideoFrame videoFrame) + onRenderVideoFrame?( channelId: string, remoteUid: number, videoFrame: VideoFrame ): void; - final void Function(String channelId, int remoteUid, VideoFrame videoFrame)? + final void Function(String channelId, int remoteUid, VideoFrame videoFrame)? onRenderVideoFrame; -

    +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取远端发送的渲染前的视频数据,然后根据场景需要,对视频数据进行处理。

    -
      -
    • 如果你获取到的视频数据类型为 RGBA,SDK 不支持对 alpha 通道的值进行处理。
    • -
    • 由于框架的限制,该回调不支持将处理后的视频数据发送回 SDK。
    • -
    - Unity 仅支持将 YUV 格式的视频数据发回 SDK。请确保调用 方法注册原始视频帧观测器时,将 mode 设置为 INTPTR
    +
      +
    • 如果你获取到的视频数据类型为 RGBA,SDK 不支持对 alpha 通道的值进行处理。
    • +
    • 由于框架的限制,该回调不支持将处理后的视频数据发送回 SDK。
    • +
    + Unity 仅支持将 YUV 格式的视频数据发回 SDK。请确保调用 方法注册原始视频帧观测器时,将 mode + 设置为 INTPTR +
    参数 - - uid - remoteUid - 发送该帧视频的远端用户 ID。 - - - - - - - channelId - 频道 ID。 - -
    + + uid + remoteUid + 发送该帧视频的远端用户 ID。 + + + + + + + channelId + 频道 ID。 + + +
    返回值

    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframeex.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframeex.dita index 039b0a22353..579aeea7ffe 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframeex.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframeex.dita @@ -13,48 +13,51 @@

    - - - virtual bool onRenderVideoFrameEx(const char *channelId, + + + virtual bool onRenderVideoFrameEx(const char *channelId, unsigned int uid, VideoFrame& videoFrame) { return true; } - - public virtual bool OnRenderVideoFrameEx(string channelId, uint uid, VideoFrame videoFrame) + + public virtual bool OnRenderVideoFrameEx(string channelId, uint uid, VideoFrame videoFrame) { return true; } - - -

    + + +

    -

    成功注册视频观测器后,如果你将 的返回值设为 ,则 SDK 会在捕捉到各频道内的视频数据时,触发该回调,将视频数据发送给你。

    -

    获取该回调中的视频数据后,你可以根据场景需要,对视频数据进行美颜、滤镜等后处理,然后将处理后的视频数据再通过该回调的 videoFrame 参数发送回 SDK。

    - 该回调不支持将处理后的 RGBA 格式的视频数据发送回 SDK。
    +

    成功注册视频观测器后,如果你将 + 的返回值设为 ,则 SDK 会在捕捉到各频道内的视频数据时,触发该回调,将视频数据发送给你。

    +

    获取该回调中的视频数据后,你可以根据场景需要,对视频数据进行美颜、滤镜等后处理,然后将处理后的视频数据再通过该回调的 + videoFrame 参数发送回 SDK。

    + 该回调不支持将处理后的 RGBA 格式的视频数据发送回 SDK。 +
    参数 - - channelId - 该视频帧所在的频道名。 - - - uid - 发送该帧视频的用户 ID。 - - - - - -
    + + channelId + 该视频帧所在的频道名。 + + + uid + 发送该帧视频的用户 ID。 + + + + + + +
    返回值 -

    如果对该视频帧的后处理失败,是否将其发送回 SDK: -

      -
    • : 发送
    • -
    • : 不发送
    • -

    +

    如果对该视频帧的后处理失败,是否将其发送回 SDK:

      +
    • : 发送
    • +
    • : 不发送
    • +

    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita index abbce53a760..c1928ae5804 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita @@ -13,24 +13,27 @@

    - boolean onScreenCaptureVideoFrame(VideoFrame videoFrame); - - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; - virtual bool onScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0; - onScreenCaptureVideoFrame?(videoFrame: VideoFrame): void; - - onScreenCaptureVideoFrame?(videoFrame: VideoFrame): void; - final void Function(VideoFrame videoFrame)? onScreenCaptureVideoFrame; -

    + boolean onScreenCaptureVideoFrame(VideoFrame videoFrame); + - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; + virtual bool onScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0; + onScreenCaptureVideoFrame?(videoFrame: VideoFrame): void; + + onScreenCaptureVideoFrame?(videoFrame: VideoFrame): void; + final void Function(VideoFrame videoFrame)? onScreenCaptureVideoFrame; +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取从屏幕采集到的视频数据,然后根据场景需要,对视频数据进行前处理。

    -

    完成前处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

    +

    完成前处理后,你可以在该回调中,传入处理后的视频数据将其发送回 + SDK。

    -
      -
    • 如果你获取到的视频数据类型为 RGBA,SDK 不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • -
    • 此处获取的视频数据未经过前处理,如水印、裁剪、旋转和美颜等。
    • -
    - 由于框架的限制,该回调不支持将处理后的视频数据发送回 SDK。 +
      +
    • 如果你获取到的视频数据类型为 RGBA,SDK 不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • +
    • 此处获取的视频数据未经过前处理,如水印、裁剪、旋转和美颜等。
    • +
    + + 由于框架的限制,该回调不支持将处理后的视频数据发送回 + SDK。
    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita index ce2e4a40192..9567d56eccc 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita @@ -13,15 +13,15 @@

    - - - virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame& videoFrame) = 0; - onSecondaryPreEncodeCameraVideoFrame?(videoFrame: VideoFrame): void; - - onSecondaryPreEncodeCameraVideoFrame?(videoFrame: VideoFrame): void; - final void Function(VideoFrame videoFrame)? + + + virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame& videoFrame) = 0; + onSecondaryPreEncodeCameraVideoFrame?(videoFrame: VideoFrame): void; + + onSecondaryPreEncodeCameraVideoFrame?(videoFrame: VideoFrame): void; + final void Function(VideoFrame videoFrame)? onSecondaryPreEncodeCameraVideoFrame; -

    +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取第二个摄像头采集后、编码前的视频数据,然后根据场景需要,对视频数据进行处理。

    @@ -29,28 +29,33 @@
    • 该回调仅适用于 Windows。
    • -
    • 你需要通过 设置观测 (1 << 2) 后,才能使用该回调获取第二个摄像头采集后、编码前的视频数据。
    • +
    • 你需要通过 设置观测 (1 << 2) + 后,才能使用该回调获取第二个摄像头采集后、编码前的视频数据。
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • 如果你获取到的视频数据类型为 RGBA,SDK 不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    - 由于框架的限制,该回调不支持将处理后的视频数据发送回 SDK。 + 由于框架的限制,该回调不支持将处理后的视频数据发送回 + SDK。
    参数 - - - - -
    + + + + + +
    返回值

    -

      -
    • :设置 SDK 接收视频帧。
    • -
    • :设置 SDK 丢弃视频帧。
    • -

    +
      +
    • :设置 SDK 接收视频帧。
    • +
    • :设置 SDK 丢弃视频帧。
    • +
    +

    diff --git a/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita b/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita index ca57cc02a56..fe3a95a0fc9 100644 --- a/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita +++ b/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita @@ -13,15 +13,15 @@

    - - - virtual bool onSecondaryPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; - onSecondaryPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; - - onSecondaryPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; - final void Function(VideoFrame videoFrame)? + + + virtual bool onSecondaryPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; + onSecondaryPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; + + onSecondaryPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; + final void Function(VideoFrame videoFrame)? onSecondaryPreEncodeScreenVideoFrame; -

    +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取从第二个屏幕采集后、编码前的视频数据,然后根据场景需要,对视频数据进行处理。

    @@ -29,28 +29,33 @@
    • 该回调仅适用于 Windows。
    • -
    • 你需要通过 设置观测 (1 << 2) 后,才能使用该回调获取从第二个屏幕采集后、编码前的视频数据。
    • +
    • 你需要通过 设置观测 (1 << 2) + 后,才能使用该回调获取从第二个屏幕采集后、编码前的视频数据。
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • 如果你获取到的视频数据类型为 RGBA,SDK 不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    - 由于框架的限制,该回调不支持将处理后的视频数据发送回 SDK。 + 由于框架的限制,该回调不支持将处理后的视频数据发送回 + SDK。
    参数 - - - - -
    + + + + + +
    返回值

    -

      -
    • :设置 SDK 接收视频帧。
    • -
    • :设置 SDK 丢弃视频帧。
    • -

    +
      +
    • :设置 SDK 接收视频帧。
    • +
    • :设置 SDK 丢弃视频帧。
    • +
    +

    diff --git a/dita/RTC-NG/API/callback_ivideosink_ondispose.dita b/dita/RTC-NG/API/callback_ivideosink_ondispose.dita index ba91ca32fec..43fe25f9b8e 100644 --- a/dita/RTC-NG/API/callback_ivideosink_ondispose.dita +++ b/dita/RTC-NG/API/callback_ivideosink_ondispose.dita @@ -2,7 +2,8 @@ ivideosink_ondispose - + @@ -13,31 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/callback_ivideosink_oninitialize.dita b/dita/RTC-NG/API/callback_ivideosink_oninitialize.dita index 4ad45499f72..a380535d0ea 100644 --- a/dita/RTC-NG/API/callback_ivideosink_oninitialize.dita +++ b/dita/RTC-NG/API/callback_ivideosink_oninitialize.dita @@ -2,7 +2,8 @@ ivideosink_oninitialize - + @@ -13,31 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/callback_ivideosink_onrenderpixelbuffer.dita b/dita/RTC-NG/API/callback_ivideosink_onrenderpixelbuffer.dita index 512a3e6d85b..e230f6305d3 100644 --- a/dita/RTC-NG/API/callback_ivideosink_onrenderpixelbuffer.dita +++ b/dita/RTC-NG/API/callback_ivideosink_onrenderpixelbuffer.dita @@ -2,7 +2,8 @@ ivideosink_onrenderpixelbuffer - + @@ -13,31 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/callback_ivideosink_onrenderrawdata.dita b/dita/RTC-NG/API/callback_ivideosink_onrenderrawdata.dita index 33cce906960..468c28299a9 100644 --- a/dita/RTC-NG/API/callback_ivideosink_onrenderrawdata.dita +++ b/dita/RTC-NG/API/callback_ivideosink_onrenderrawdata.dita @@ -2,7 +2,8 @@ ivideosink_onrenderrawdata - + @@ -13,31 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/callback_ivideosink_onstart.dita b/dita/RTC-NG/API/callback_ivideosink_onstart.dita index fe5a5568831..383e2cc1fc6 100644 --- a/dita/RTC-NG/API/callback_ivideosink_onstart.dita +++ b/dita/RTC-NG/API/callback_ivideosink_onstart.dita @@ -2,7 +2,8 @@ ivideosink_onstart - + @@ -13,31 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/callback_ivideosink_onstop.dita b/dita/RTC-NG/API/callback_ivideosink_onstop.dita index 58af8a57e2a..4d10aa48e2f 100644 --- a/dita/RTC-NG/API/callback_ivideosink_onstop.dita +++ b/dita/RTC-NG/API/callback_ivideosink_onstop.dita @@ -2,7 +2,8 @@ ivideosink_onstop - + @@ -13,31 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/callback_videosurface_ontexturesizemodify.dita b/dita/RTC-NG/API/callback_videosurface_ontexturesizemodify.dita index 1e6e3eba8fe..6e236d48d6e 100644 --- a/dita/RTC-NG/API/callback_videosurface_ontexturesizemodify.dita +++ b/dita/RTC-NG/API/callback_videosurface_ontexturesizemodify.dita @@ -1,28 +1,29 @@ - <ph keyref="onTextureSizeModify" /> + <ph keyref="onTextureSizeModify"/> Texture 的宽高发生改变回调。 - +

    - - - - - public event OnTextureSizeModifyHandler OnTextureSizeModify; - -

    + + + + + public event OnTextureSizeModifyHandler OnTextureSizeModify; + + +

    该回调在 Texture 的宽高发生变化时被触发。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_Localaccesspointconfiguration.dita b/dita/RTC-NG/API/class_Localaccesspointconfiguration.dita index d5dc9ce374b..8385aafc86a 100644 --- a/dita/RTC-NG/API/class_Localaccesspointconfiguration.dita +++ b/dita/RTC-NG/API/class_Localaccesspointconfiguration.dita @@ -6,7 +6,7 @@

    - public class LocalAccessPointConfiguration { + public class LocalAccessPointConfiguration { public static class LogUploadServerInfo { public String serverDomain = null; public String serverPath = null; @@ -65,14 +65,14 @@ public int mode = Constants.LOCAL_RPOXY_CONNECTIVITY_FIRST; public AdvancedConfigInfo advancedConfig = null; } - NS_SWIFT_NAME(AgoraLocalAccessPointConfiguration) __attribute__((visibility("default"))) @interface AgoraLocalAccessPointConfiguration : NSObject + NS_SWIFT_NAME(AgoraLocalAccessPointConfiguration) __attribute__((visibility("default"))) @interface AgoraLocalAccessPointConfiguration : NSObject @property(copy, nonatomic) NSArray* _Nullable ipList NS_SWIFT_NAME(ipList); @property(copy, nonatomic) NSArray* _Nullable domainList NS_SWIFT_NAME(domainList); @property(copy, nonatomic) NSString* _Nullable verifyDomainName NS_SWIFT_NAME(verifyDomainName); @property(assign, nonatomic) AgoraLocalProxyMode mode NS_SWIFT_NAME(mode); @property(strong, nonatomic) AdvancedConfigInfo* _Nullable advancedConfig NS_SWIFT_NAME(advancedConfig); @end - struct LocalAccessPointConfiguration { + struct LocalAccessPointConfiguration { const char** ipList; int ipListSize; const char** domainList; @@ -82,7 +82,7 @@ AdvancedConfigInfo advancedConfig; LocalAccessPointConfiguration() : ipList(NULL), ipListSize(0), domainList(NULL), domainListSize(0), verifyDomainName(NULL), mode(ConnectivityFirst) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLocalAccessPointConfiguration { GENERATED_BODY() @@ -100,7 +100,7 @@ struct FLocalAccessPointConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAccessPointConfiguration") ELOCAL_PROXY_MODE mode = ELOCAL_PROXY_MODE::ConnectivityFirst; }; - export class LocalAccessPointConfiguration { + export class LocalAccessPointConfiguration { ipList?: string[]; @@ -116,7 +116,7 @@ struct FLocalAccessPointConfiguration advancedConfig?: AdvancedConfigInfo; } - public class LocalAccessPointConfiguration + public class LocalAccessPointConfiguration { public string[] ipList { set; get; } public int ipListSize { set; get; } @@ -137,7 +137,7 @@ struct FLocalAccessPointConfiguration advancedConfig = new AdvancedConfigInfo(); } }; - export class LocalAccessPointConfiguration { + export class LocalAccessPointConfiguration { ipList?: string[]; @@ -153,7 +153,7 @@ struct FLocalAccessPointConfiguration advancedConfig?: AdvancedConfigInfo; } - class LocalAccessPointConfiguration { + class LocalAccessPointConfiguration { const LocalAccessPointConfiguration( {this.ipList, this.ipListSize, @@ -188,47 +188,52 @@ struct FLocalAccessPointConfiguration _$LocalAccessPointConfigurationFromJson(json); Map<String, dynamic> toJson() => _$LocalAccessPointConfigurationToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - ipList - Local Access Point 的对内 IP 地址列表。ipList 和 domainList 必须至少填一个。 - - - ipListSize - Local Access Point 对内 IP 地址的数量。该参数的值必须和你填入的 IP 地址的数量一致。 - - - domainList - Local Access Point 的域名列表。SDK 会根据你填入的域名解析出 Local Access Point 的 IP 地址。域名解析的超时时间为 10 秒。ipList 和 domainList 必须至少填一个。如果你同时指定 IP 地址和域名,SDK 会将根据域名解析出来的 IP 地址和你指定的 IP 地址合并、去重,然后随机连接一个 IP 来实现负载均衡。 - - - domainListSize - Local Access Point 域名的数量。该参数的值必须和你填入的域名的数量一致。 - - - verifyDomainName - 内网证书验证域名。如果传值为空,则用 SDK 默认的证书验证域名 secure-edge.local - - - mode - -

    连接模式。详见

    -

    连接模式: -

      -
    • (0):SDK 优先尝试连接指定的声网私有媒体服务器;如果无法连接到指定的声网私有媒体服务器,则连接声网 SD-RTN™。
    • -
    • (1):SDK 只尝试连接指定的声网私有媒体服务器。
    • -

    -
    -
    - - advancedConfig - Local Access Point 的高级选项。详见 - -
    + + ipList + Local Access Point 的对内 IP 地址列表。ipList 和 domainList 必须至少填一个。 + + + ipListSize + Local Access Point 对内 IP 地址的数量。该参数的值必须和你填入的 IP 地址的数量一致。 + + + domainList + Local Access Point 的域名列表。SDK 会根据你填入的域名解析出 Local Access Point 的 IP + 地址。域名解析的超时时间为 10 秒。ipList 和 domainList 必须至少填一个。如果你同时指定 IP 地址和域名,SDK + 会将根据域名解析出来的 IP 地址和你指定的 IP 地址合并、去重,然后随机连接一个 IP 来实现负载均衡。 + + + domainListSize + Local Access Point 域名的数量。该参数的值必须和你填入的域名的数量一致。 + + + verifyDomainName + 内网证书验证域名。如果传值为空,则用 SDK 默认的证书验证域名 secure-edge.local + + + mode + +

    连接模式。详见

    +

    连接模式:

      +
    • (0):SDK + 优先尝试连接指定的声网私有媒体服务器;如果无法连接到指定的声网私有媒体服务器,则连接声网 SD-RTN™。
    • +
    • (1):SDK 只尝试连接指定的声网私有媒体服务器。
    • +

    +
    +
    + + advancedConfig + Local Access Point 的高级选项。详见 + + +
    diff --git a/dita/RTC-NG/API/class_advancedaudiooptions.dita b/dita/RTC-NG/API/class_advancedaudiooptions.dita index b434cd26e24..c02205bfee4 100644 --- a/dita/RTC-NG/API/class_advancedaudiooptions.dita +++ b/dita/RTC-NG/API/class_advancedaudiooptions.dita @@ -1,12 +1,16 @@ - <ph keyref="AdvancedAudioOptions" /> - 音频的高级选项。 + + <ph keyref="AdvancedAudioOptions"/> + + + 音频的高级选项。 +

    - public class AdvancedAudioOptions { + public class AdvancedAudioOptions { public enum AgoraAudioProcessChannels { AGORA_AUDIO_MONO_PROCESSING(1), AGORA_AUDIO_STEREO_PROCESSING(2); @@ -28,14 +32,14 @@ audioProcessingChannels = AgoraAudioProcessChannels.AGORA_AUDIO_MONO_PROCESSING; } } - __attribute__((visibility("default"))) @interface AgoraAdvancedAudioOptions: NSObject + __attribute__((visibility("default"))) @interface AgoraAdvancedAudioOptions: NSObject @property(assign, nonatomic) AgoraAudioProcessChannels audioProcessingChannels; @end - struct AdvancedAudioOptions { + struct AdvancedAudioOptions { AUDIO_PROCESSING_CHANNELS audioProcessingChannels; AdvancedAudioOptions(): audioProcessingChannels(AUDIO_PROCESSING_MONO) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAdvancedAudioOptions { GENERATED_BODY() @@ -44,20 +48,20 @@ struct FAdvancedAudioOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvancedAudioOptions") int audioProcessingChannels; }; - export class AdvancedAudioOptions { + export class AdvancedAudioOptions { audioProcessingChannels?: number; } - public class AdvancedAudioOptions : OptionalJsonParse + public class AdvancedAudioOptions : OptionalJsonParse { public Optional<int> audioProcessingChannels = new Optional<int>(); }; - export class AdvancedAudioOptions { + export class AdvancedAudioOptions { audioProcessingChannels?: number; } - class AdvancedAudioOptions { + class AdvancedAudioOptions { const AdvancedAudioOptions({this.audioProcessingChannels}); @JsonKey(name: 'audioProcessingChannels') @@ -65,21 +69,25 @@ struct FAdvancedAudioOptions factory AdvancedAudioOptions.fromJson(Map<String, dynamic> json) => _$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 - 音频前处理的声道数。详见 - 音频前处理的声道数:
      -
    • (1):(默认)单声道。
    • -
    • (2):双声道。
    + + audioProcessingChannels + 音频前处理的声道数。详见 + 音频前处理的声道数:
      +
    • (1):(默认)单声道。
    • +
    • (2):双声道。
    • +
    -
    -
    + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_advancedconfiginfo.dita b/dita/RTC-NG/API/class_advancedconfiginfo.dita index 6b5cc22e509..d7f0d5a34a8 100644 --- a/dita/RTC-NG/API/class_advancedconfiginfo.dita +++ b/dita/RTC-NG/API/class_advancedconfiginfo.dita @@ -6,7 +6,7 @@

    - public static class AdvancedConfigInfo { + public static class AdvancedConfigInfo { public LogUploadServerInfo logUploadServer = null; public AdvancedConfigInfo() { logUploadServer = new LogUploadServerInfo(); @@ -16,26 +16,26 @@ return logUploadServer; } }; - NS_SWIFT_NAME(AdvancedConfigInfo) __attribute__((visibility("default"))) @interface AdvancedConfigInfo : NSObject + NS_SWIFT_NAME(AdvancedConfigInfo) __attribute__((visibility("default"))) @interface AdvancedConfigInfo : NSObject @property(strong, nonatomic) LogUploadServerInfo* _Nullable logUploadServer; @end - struct AdvancedConfigInfo { + struct AdvancedConfigInfo { LogUploadServerInfo logUploadServer; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAdvancedConfigInfo { GENERATED_BODY() FLogUploadServerInfo logUploadServer; }; - export class AdvancedConfigInfo { + export class AdvancedConfigInfo { logUploadServer?: LogUploadServerInfo; } - - export class AdvancedConfigInfo { + + export class AdvancedConfigInfo { logUploadServer?: LogUploadServerInfo; } - class AdvancedConfigInfo { + class AdvancedConfigInfo { const AdvancedConfigInfo({this.logUploadServer}); @JsonKey(name: 'logUploadServer') @@ -45,25 +45,28 @@ struct FAdvancedConfigInfo { _$AdvancedConfigInfoFromJson(json); Map<String, dynamic> toJson() => _$AdvancedConfigInfoToJson(this); -} -

    +} +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - logUploadServer - 自定义的日志上传服务器。默认情况下,SDK 会将日志上传至声网日志服务器。你可以通过该参数修改日志上传的服务器。详见 - -
    + + logUploadServer + 自定义的日志上传服务器。默认情况下,SDK 会将日志上传至声网日志服务器。你可以通过该参数修改日志上传的服务器。详见 + + +
    diff --git a/dita/RTC-NG/API/class_advanceoptions.dita b/dita/RTC-NG/API/class_advanceoptions.dita index 4984de56c3d..04fd28519b9 100644 --- a/dita/RTC-NG/API/class_advanceoptions.dita +++ b/dita/RTC-NG/API/class_advanceoptions.dita @@ -6,7 +6,7 @@

    - static public class AdvanceOptions { + static public class AdvanceOptions { public ENCODING_PREFERENCE encodingPreference; public COMPRESSION_PREFERENCE compressionPreference; public AdvanceOptions( @@ -19,11 +19,11 @@ this.compressionPreference = COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY; } } - __attribute__((visibility("default"))) @interface AgoraAdvancedVideoOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraAdvancedVideoOptions : NSObject @property(assign, nonatomic) AgoraCompressionPreference compressionPreference; @property(assign, nonatomic) AgoraEncodingPreference encodingPreference; @end - + ENCODING_PREFERENCE encodingPreference; COMPRESSION_PREFERENCE compressionPreference; @@ -41,7 +41,7 @@ compressionPreference == rhs.compressionPreference; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAdvanceOptions { GENERATED_BODY() @@ -52,11 +52,11 @@ struct FAdvanceOptions { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvanceOptions") ECOMPRESSION_PREFERENCE compressionPreference; }; - export class AdvanceOptions { + export class AdvanceOptions { encodingPreference?: EncodingPreference; compressionPreference?: CompressionPreference; } - public class AdvanceOptions + public class AdvanceOptions { public ENCODING_PREFERENCE encodingPreference { set; get; } public COMPRESSION_PREFERENCE compressionPreference { set; get; } @@ -73,11 +73,11 @@ struct FAdvanceOptions { compressionPreference = compression_preference; } } - export class AdvanceOptions { + export class AdvanceOptions { encodingPreference?: EncodingPreference; compressionPreference?: CompressionPreference; } - class AdvanceOptions { + class AdvanceOptions { const AdvanceOptions({this.encodingPreference, this.compressionPreference}); @JsonKey(name: 'encodingPreference') @@ -90,29 +90,31 @@ struct FAdvanceOptions { _$AdvanceOptionsFromJson(json); Map<String, dynamic> toJson() => _$AdvanceOptionsToJson(this); -} -

    +} +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - encodingPreference - 视频编码器偏好。详见 - - - compressionPreference - 视频编码的压缩偏好。详见 - -
    + + encodingPreference + 视频编码器偏好。详见 + + + compressionPreference + 视频编码的压缩偏好。详见 + + +
    diff --git a/dita/RTC-NG/API/class_agorafacepositioninfo.dita b/dita/RTC-NG/API/class_agorafacepositioninfo.dita index c076d449886..eb298ad99f9 100644 --- a/dita/RTC-NG/API/class_agorafacepositioninfo.dita +++ b/dita/RTC-NG/API/class_agorafacepositioninfo.dita @@ -1,65 +1,71 @@ - <ph keyref="AgoraFacePositionInfo"/> - 检测到的人脸信息。 + + <ph keyref="AgoraFacePositionInfo"/> + + + 检测到的人脸信息。 +

    - public static class AgoraFacePositionInfo { + public static class AgoraFacePositionInfo { public int x; public int y; public int width; public int height; public int distance; } - NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject + NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject @property(assign, nonatomic) NSInteger x NS_SWIFT_NAME(x); @property(assign, nonatomic) NSInteger y NS_SWIFT_NAME(y); @property(assign, nonatomic) NSInteger width NS_SWIFT_NAME(width); @property(assign, nonatomic) NSInteger height NS_SWIFT_NAME(height); @property(assign, nonatomic) NSInteger distance NS_SWIFT_NAME(distance); @end - - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - x - -

    人脸在画面中的 x 坐标 (px)。以摄像头采集画面的左上角为原点,x 坐标为人脸左上角相对于原点的横向位移。

    -
    -
    - - y - -

    人脸在画面中的 y 坐标 (px)。以摄像头采集画面的左上角为原点,y 坐标为人脸左上角相对原点的纵向位移。

    -
    -
    - - width - -

    人脸在画面中的宽度 (px)。

    -
    -
    - - height - -

    人脸在画面中的高度 (px)。

    -
    -
    - - distance - -

    人脸距设备屏幕的距离 (cm)。

    -
    -
    -
    + + x + +

    人脸在画面中的 x 坐标 (px)。以摄像头采集画面的左上角为原点,x 坐标为人脸左上角相对于原点的横向位移。

    +
    +
    + + y + +

    人脸在画面中的 y 坐标 (px)。以摄像头采集画面的左上角为原点,y 坐标为人脸左上角相对原点的纵向位移。

    +
    +
    + + width + +

    人脸在画面中的宽度 (px)。

    +
    +
    + + height + +

    人脸在画面中的高度 (px)。

    +
    +
    + + distance + +

    人脸距设备屏幕的距离 (cm)。

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita b/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita index 46aced82367..7c740323eee 100644 --- a/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita +++ b/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita @@ -1,12 +1,16 @@ - <ph keyref="AgoraRhythmPlayerConfig" /> - 虚拟节拍器配置。 + + <ph keyref="AgoraRhythmPlayerConfig"/> + + + 虚拟节拍器配置。 +

    - public class AgoraRhythmPlayerConfig { + public class AgoraRhythmPlayerConfig { public int beatsPerMeasure; public int beatsPerMinute; @@ -25,18 +29,18 @@ return beatsPerMinute; } } - __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject @property (assign, nonatomic) int beatsPerMeasure; @property (assign, nonatomic) int beatsPerMinute; @end - struct AgoraRhythmPlayerConfig { + struct AgoraRhythmPlayerConfig { int beatsPerMeasure; int beatsPerMinute; AgoraRhythmPlayerConfig() : beatsPerMeasure(4), beatsPerMinute(60) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAgoraRhythmPlayerConfig { GENERATED_BODY() @@ -46,13 +50,13 @@ struct FAgoraRhythmPlayerConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraRhythmPlayerConfig") int beatsPerMinute = 60; }; - export class AgoraRhythmPlayerConfig { + export class AgoraRhythmPlayerConfig { beatsPerMeasure?: number; beatsPerMinute?: number; } - public class AgoraRhythmPlayerConfig + public class AgoraRhythmPlayerConfig { public AgoraRhythmPlayerConfig() { @@ -62,13 +66,13 @@ struct FAgoraRhythmPlayerConfig public int beatsPerMeasure { set; get; } public int beatsPerMinute { set; get; } }; - export class AgoraRhythmPlayerConfig { + export class AgoraRhythmPlayerConfig { beatsPerMeasure?: number; beatsPerMinute?: number; } - class AgoraRhythmPlayerConfig { + class AgoraRhythmPlayerConfig { const AgoraRhythmPlayerConfig({this.beatsPerMeasure, this.beatsPerMinute}); @JsonKey(name: 'beatsPerMeasure') @@ -79,19 +83,22 @@ struct FAgoraRhythmPlayerConfig _$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 - 每小节的拍数,取值范围为 [1,9]。默认值为 4,即每小节包含 1 个强拍和 3 个弱拍。 - - - beatsPerMinute - 节拍速度(拍/分钟),取值范围为 [60,360]。默认值为 60,即 1 分钟有 60 拍。 - -
    + + beatsPerMeasure + 每小节的拍数,取值范围为 [1,9]。默认值为 4,即每小节包含 1 个强拍和 3 个弱拍。 + + + beatsPerMinute + 节拍速度(拍/分钟),取值范围为 [60,360]。默认值为 60,即 1 分钟有 60 拍。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_agorartcdeviceinfo.dita b/dita/RTC-NG/API/class_agorartcdeviceinfo.dita index b1c165de6e7..fe7fe194d44 100644 --- a/dita/RTC-NG/API/class_agorartcdeviceinfo.dita +++ b/dita/RTC-NG/API/class_agorartcdeviceinfo.dita @@ -6,41 +6,43 @@

    - - __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject + + __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject @property (assign, nonatomic) int __deprecated index; @property(assign, nonatomic) AgoraMediaDeviceType type; @property(copy, nonatomic) NSString *_Nullable deviceId; @property(copy, nonatomic) NSString *_Nullable deviceName; @property(copy, nonatomic) NSString *_Nullable deviceTypeName; @end - - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - 设备类型,详见 - - - deviceId - 设备 ID。 - - - deviceName - 设备名称。 - - - deviceTypeName - 音频设备的类型,如:built-in、USB、HDMI 等。 - -
    + + type + 设备类型,详见 + + + deviceId + 设备 ID。 + + + deviceName + 设备名称。 + + + deviceTypeName + 音频设备的类型,如:built-in、USB、HDMI 等。 + + +
    diff --git a/dita/RTC-NG/API/class_agorartcexception.dita b/dita/RTC-NG/API/class_agorartcexception.dita index 5a96abe14df..ebf71ce28eb 100644 --- a/dita/RTC-NG/API/class_agorartcexception.dita +++ b/dita/RTC-NG/API/class_agorartcexception.dita @@ -6,32 +6,33 @@

    - - - - - - - class AgoraRtcException implements Exception { + + + + + + + class AgoraRtcException implements Exception { AgoraRtcException({required this.code, this.message}); final int code; final String? message; @override String toString() => 'AgoraRtcException($code, $message)'; -} -

    +} +

    参数 - - code - 错误码,详见 - - - message - 错误描述。 - -
    + + code + 错误码,详见 + + + message + 错误描述。 + + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_agorartcmediaplayervideoframedelegate.dita b/dita/RTC-NG/API/class_agorartcmediaplayervideoframedelegate.dita index e9725b701f1..376adc2ed45 100644 --- a/dita/RTC-NG/API/class_agorartcmediaplayervideoframedelegate.dita +++ b/dita/RTC-NG/API/class_agorartcmediaplayervideoframedelegate.dita @@ -5,7 +5,8 @@ 媒体播放器所播放的视频的观测器。
    -

    你可以调用 注册或取消注册媒体播放器的视频观测器。成功注册后,你可以通过 下的回调来获取视频帧的详细信息。

    +

    你可以调用 注册或取消注册媒体播放器的视频观测器。成功注册后,你可以通过 下的回调来获取视频帧的详细信息。

    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_agoravideoview.dita b/dita/RTC-NG/API/class_agoravideoview.dita index 8420ac9c2a0..285a7a86cc0 100644 --- a/dita/RTC-NG/API/class_agoravideoview.dita +++ b/dita/RTC-NG/API/class_agoravideoview.dita @@ -1,18 +1,19 @@ - <ph keyref="AgoraVideoView" /> - 类,用于渲染本地和远端视频。 + <ph keyref="AgoraVideoView"/> + + 类,用于渲染本地和远端视频。

    - - - - - - - class AgoraVideoView extends StatefulWidget { + + + + + + + class AgoraVideoView extends StatefulWidget { const AgoraVideoView({ Key? key, required this.controller, @@ -24,27 +25,28 @@ @override State<AgoraVideoView> createState() => AgoraVideoViewState(); } -

    +

    -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - key - Widget 的标识符。详见 Flutter 官方文档关于 key 对象的描述。 - - - controller - 控制待渲染的视频类型: - -
      -
    • 如果渲染 的视频,详见
    • -
    • 如果渲染媒体播放器中的视频,详见
    • -
    -
    -
    + + key + Widget 的标识符。详见 Flutter 官方文档关于 key 对象的描述。 + + + controller + 控制待渲染的视频类型:
      +
    • 如果渲染 的视频,详见
    • +
    • 如果渲染媒体播放器中的视频,详见
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_agoraview.dita b/dita/RTC-NG/API/class_agoraview.dita index f4ff32ac458..94ffd17f22b 100644 --- a/dita/RTC-NG/API/class_agoraview.dita +++ b/dita/RTC-NG/API/class_agoraview.dita @@ -1,15 +1,15 @@ - <ph keyref="AgoraView" /> + <ph keyref="AgoraView"/> 自定义标签的属性。

    - - - - interface AgoraView { + + + + interface AgoraView { "video-source-type": VideoSourceType; uid: number; "channel-id": string; @@ -17,50 +17,51 @@ "renderer-mirror": boolean; style: any; } - - -

    + + + +

    该自定义标签的使用方式如下:

    - <agora-view video-source-type="{VideoSourceType.VideoSourceCamera}" channel-id="" uid="{0}"></agora-view> + <agora-view video-source-type="{VideoSourceType.VideoSourceCamera}" channel-id="" uid="{0}"></agora-view>

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - video-source-type - 视频源的类型,详见 - - - uid - 远端用户 ID。 - - - channel-id - -

    - - - - renderer-content-mode - 视频渲染模式,详见 - - - renderer-mirror - 渲染视频时,是否开启视频镜像: - -

      -
    • : 开启镜像。
    • -
    • : 不开启镜像。
    • -
    -
    - - style - 元素的行内样式。详见 - -
    + + video-source-type + 视频源的类型,详见 + + + uid + 远端用户 ID。 + + + channel-id + +

    + + + + renderer-content-mode + 视频渲染模式,详见 + + + renderer-mirror + 渲染视频时,是否开启视频镜像:

      +
    • : 开启镜像。
    • +
    • : 不开启镜像。
    • +
    +
    + + style + 元素的行内样式。详见 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_audiodeviceinfo.dita b/dita/RTC-NG/API/class_audiodeviceinfo.dita index 24eb63ae76a..4aa45d3e983 100644 --- a/dita/RTC-NG/API/class_audiodeviceinfo.dita +++ b/dita/RTC-NG/API/class_audiodeviceinfo.dita @@ -2,25 +2,26 @@ <ph keyref="AudioDeviceInfo"/> - 类,包含音频设备的 ID 和设备名称。 + 类,包含音频设备的 ID + 和设备名称。

    - - - - export class AudioDeviceInfo { + + + + export class AudioDeviceInfo { deviceId?: string; deviceTypeName?: string; deviceName?: string; } - - export class AudioDeviceInfo { + + export class AudioDeviceInfo { deviceId?: string; deviceTypeName?: string; deviceName?: string; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioDeviceInfo { const AudioDeviceInfo({this.deviceId, this.deviceTypeName, this.deviceName}); @@ -38,23 +39,25 @@ class AudioDeviceInfo { Map<String, dynamic> toJson() => _$AudioDeviceInfoToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - - - - - deviceTypeName - 音频设备类型,如:built-in、USB、HDMI 等。 - -
    + + + + + + + + + + deviceTypeName + 音频设备类型,如:built-in、USB、HDMI 等。 + + +
    diff --git a/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita b/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita index 657f1ab3947..3ed4641022c 100644 --- a/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita +++ b/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita @@ -1,12 +1,16 @@ - <ph keyref="AudioEncodedFrameObserverConfig" /> - 编码后音频的观测器设置。 + + <ph keyref="AudioEncodedFrameObserverConfig"/> + + + 编码后音频的观测器设置。 +

    - public class AudioEncodedFrameObserverConfig { + public class AudioEncodedFrameObserverConfig { public int postionType; public int encodingType; @@ -15,18 +19,18 @@ encodingType = Constants.AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM; } } - __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject @property (assign, nonatomic) AgoraAudioEncodedFrameDelegatePosition postionType; @property (assign, nonatomic) AgoraAudioEncodingType encodingType; @end - struct AudioEncodedFrameObserverConfig { + struct AudioEncodedFrameObserverConfig { AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType; AUDIO_ENCODING_TYPE encodingType; AudioEncodedFrameObserverConfig() : postionType(AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK), encodingType(AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM){} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioEncodedFrameObserverConfig { GENERATED_BODY() @@ -36,13 +40,13 @@ struct FAudioEncodedFrameObserverConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioEncodedFrameObserverConfig") FENUMWRAP_AUDIO_ENCODING_TYPE encodingType = EENUMCUSTOM_AUDIO_ENCODING_TYPE::AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM; }; - export class AudioEncodedFrameObserverConfig { + export class AudioEncodedFrameObserverConfig { postionType?: AudioEncodedFrameObserverPosition; encodingType?: AudioEncodingType; } - public class AudioEncodedFrameObserverConfig + public class AudioEncodedFrameObserverConfig { public AudioEncodedFrameObserverConfig() { @@ -59,13 +63,13 @@ struct FAudioEncodedFrameObserverConfig public AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType { set; get; } public AUDIO_ENCODING_TYPE encodingType { set; get; } } - export class AudioEncodedFrameObserverConfig { + export class AudioEncodedFrameObserverConfig { postionType?: AudioEncodedFrameObserverPosition; encodingType?: AudioEncodingType; } - class AudioEncodedFrameObserverConfig { + class AudioEncodedFrameObserverConfig { const AudioEncodedFrameObserverConfig({this.postionType, this.encodingType}); @JsonKey(name: 'postionType') @@ -81,42 +85,73 @@ 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 - -

    音频编码内容。详见

    -

    音频编码内容: - -

      -
    • (1):仅编码本地用户的音频。
    • -
    • (2):仅编码所有远端用户的音频。
    • -
    • (3):编码本地和所有远端用户混音后的音频。
    • -

    -
    -
    - - 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。
    • -

    -
    -
    -
    + + postionType + +

    音频编码内容。详见 +

    +

    音频编码内容:

      +
    • + (1):仅编码本地用户的音频。
    • +
    • + (2):仅编码所有远端用户的音频。
    • +
    • + (3):编码本地和所有远端用户混音后的音频。
    • +
    +

    +
    +
    + + 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。
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_audioexternalsourceposition.dita b/dita/RTC-NG/API/class_audioexternalsourceposition.dita index 91b23f1a883..8b75af55a5c 100644 --- a/dita/RTC-NG/API/class_audioexternalsourceposition.dita +++ b/dita/RTC-NG/API/class_audioexternalsourceposition.dita @@ -6,51 +6,53 @@

    - public enum AudioExternalSourcePos { + public enum AudioExternalSourcePos { AUDIO_EXTERNAL_PLAYOUT_SOURCE(0), AUDIO_EXTERNAL_RECORD_SOURCE_PRE_PROCESS(1), AUDIO_EXTERNAL_RECORD_SOURCE_POST_PROCESS(2); } - typedef NS_ENUM(NSUInteger, AgoraAudioExternalSourcePos) { + typedef NS_ENUM(NSUInteger, AgoraAudioExternalSourcePos) { AgoraAudioExternalPlayoutSource = 0, AgoraAudioExternalRecordSourcePreProcess = 1, AgoraAudioExternalRecordSourcePostProcess = 2, }; - enum AUDIO_EXTERNAL_SOURCE_POSITION { + enum AUDIO_EXTERNAL_SOURCE_POSITION { AUDIO_EXTERNAL_PLAYOUT_SOURCE = 0, AUDIO_EXTERNAL_RECORD_SOURCE_PRE_PROCESS = 1, AUDIO_EXTERNAL_RECORD_SOURCE_POST_PROCESS = 2, }; - - - - -

    + + + + +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - 0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。 - - - - 1: 音频采集之后、前处理之前的位置。如果你需要 SDK 的音频模块处理外部音频帧,请设置该位置。 - - - - 2: 音频前处理之后、编码之前的位置。如果你无需 SDK 的音频模块处理外部音频帧,请设置该位置。 - -
    + + + 0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。 + + + + 1: 音频采集之后、前处理之前的位置。如果你需要 SDK 的音频模块处理外部音频帧,请设置该位置。 + + + + 2: 音频前处理之后、编码之前的位置。如果你无需 SDK 的音频模块处理外部音频帧,请设置该位置。 + + +
    diff --git a/dita/RTC-NG/API/class_audioframe.dita b/dita/RTC-NG/API/class_audioframe.dita index f5f32d6113e..9d9135d6991 100644 --- a/dita/RTC-NG/API/class_audioframe.dita +++ b/dita/RTC-NG/API/class_audioframe.dita @@ -1,12 +1,12 @@ - <ph keyref="AudioFrame" /> + <ph keyref="AudioFrame"/> 原始音频数据。

    - public class AudioFrame { + public class AudioFrame { public ByteBuffer buffer; public int sampleRataHz; public int bytesPerSample; @@ -62,7 +62,7 @@ + ", timestamp=" + timestamp + '}'; } } - + __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject @property(assign, nonatomic) NSInteger samplesPerChannel; @@ -79,7 +79,7 @@ __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject @property(assign, nonatomic) NSInteger avSyncType; @end - struct AudioFrame { + struct AudioFrame { AUDIO_FRAME_TYPE type; int samplesPerChannel; agora::rtc::BYTES_PER_SAMPLE bytesPerSample; @@ -99,7 +99,7 @@ __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject avsync_type(0), }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioFrame { GENERATED_BODY() @@ -120,7 +120,7 @@ struct FAudioFrame { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") int avsync_type; }; - export class AudioFrame { + export class AudioFrame { type?: AudioFrameType; samplesPerChannel?: number; bytesPerSample?: BytesPerSample; @@ -130,7 +130,7 @@ struct FAudioFrame { renderTimeMs?: number; avsync_type?: number; } - public class AudioFrame + public class AudioFrame { public AudioFrame() { @@ -166,7 +166,7 @@ struct FAudioFrame { public long renderTimeMs { set; get; } public int avsync_type { set; get; } } - export class AudioFrame { + export class AudioFrame { type?: AudioFrameType; samplesPerChannel?: number; bytesPerSample?: BytesPerSample; @@ -176,7 +176,7 @@ struct FAudioFrame { renderTimeMs?: number; avsync_type?: number; } - class AudioFrame { + class AudioFrame { const AudioFrame( {this.type, this.samplesPerChannel, @@ -186,63 +186,72 @@ 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 - 每个声道的采样点数。 - - - bytesPerSample - 每个采样点的字节数。对于 PCM 来说,一般使用 16 bit,即两个字节。 - - - channelschannelNums - -

    声道数量(如果是立体声,数据是交叉的)。 -

      -
    • 1: 单声道
    • -
    • 2: 双声道
    • -

    -
    -
    - - samplesPerSec - sampleRataHz - 每声道每秒的采样点数。 - - - buffer - RawBuffer - -

    声音数据缓存区(如果是立体声,数据是交叉存储的)。

    -

    缓存区数据大小 buffer = samples × channels × bytesPerSample

    -
    -
    - - renderTimeMs - -

    外部音频帧的渲染时间戳。

    -

    你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以用于实现音视频同步。

    -
    -
    - - avsyncType avsync_type - 保留参数。 - - - timestamp - 音频帧的时间戳。 - -
    + + type + +

    音频帧类型,详见

    +
    +
    + + samplesPerChannel + 每个声道的采样点数。 + + + bytesPerSample + 每个采样点的字节数。对于 PCM 来说,一般使用 16 bit,即两个字节。 + + + channelschannelNums + +

    声道数量(如果是立体声,数据是交叉的)。

      +
    • 1: 单声道
    • +
    • 2: 双声道
    • +
    +

    +
    +
    + + samplesPerSec + sampleRataHz + 每声道每秒的采样点数。 + + + buffer + RawBuffer + +

    声音数据缓存区(如果是立体声,数据是交叉存储的)。

    +

    缓存区数据大小 buffer = samples × + channels × bytesPerSample

    +
    +
    + + renderTimeMs + +

    外部音频帧的渲染时间戳。

    +

    你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以用于实现音视频同步。

    +
    +
    + + + avsyncType + avsync_type + + 保留参数。 + + + timestamp + 音频帧的时间戳。 + + +
    -
    \ 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 5b0f2ae8f7a..5988157de56 100644 --- a/dita/RTC-NG/API/class_audioparams.dita +++ b/dita/RTC-NG/API/class_audioparams.dita @@ -6,7 +6,7 @@

    - public class AudioParams { + public class AudioParams { public int sampleRate = 0; public int channel = 0; public int mode = Constants.RAW_AUDIO_FRAME_OP_MODE_READ_ONLY; @@ -20,7 +20,7 @@ this.samplesPerCall = samplesPerCall; } } - __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject + __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject @property (assign, nonatomic) NSInteger sampleRate; @@ -31,7 +31,7 @@ @property (assign, nonatomic) NSInteger samplesPerCall; @end - struct AudioParams { + struct AudioParams { int sample_rate; int channels; rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE mode; @@ -39,7 +39,7 @@ AudioParams() : sample_rate(0), channels(0), mode(rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY), samples_per_call(0) {} AudioParams(int samplerate, int channel, rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE type, int samplesPerCall) : sample_rate(samplerate), channels(channel), mode(type), samples_per_call(samplesPerCall) {} }; - export class AudioParams { + export class AudioParams { sample_rate?: number; @@ -49,7 +49,7 @@ samples_per_call?: number; } - public class AudioParams + public class AudioParams { public int sample_rate { set; get; } public int channels { set; get; } @@ -72,7 +72,7 @@ samples_per_call = samplesPerCall; } }; - export class AudioParams { + export class AudioParams { sample_rate?: number; @@ -82,7 +82,7 @@ samples_per_call?: number; } - class AudioParams { + class AudioParams { const AudioParams( {this.sampleRate, this.channels, this.mode, this.samplesPerCall}); @@ -103,67 +103,91 @@ Map<String, dynamic> toJson() => _$AudioParamsToJson(this); } -

    +

    -

    你可以在以下 API 中传入 对象,用于设置对应回调报告的音频数据格式: -

      -
    • :设置 回调的数据格式。
    • -
    • :设置 回调的数据格式。
    • -
    • :设置 回调的数据格式。
    • -
    • :设置 回调的数据格式。
    • -

    -

    SDK 会根据 设置以下回调中的音频数据格式: -

      -
    • -
    • -
    • -

    +

    你可以在以下 API 中传入 + 对象,用于设置对应回调报告的音频数据格式:

      +
    • :设置 回调的数据格式。
    • +
    • :设置 回调的数据格式。
    • +
    • :设置 回调的数据格式。
    • +
    • :设置 回调的数据格式。
    • +

    +

    SDK 会根据 设置以下回调中的音频数据格式:

      +
    • +
    • +
    • +
    • +
    • +
    • +

    -
      -
    • SDK 会通过 中的 samplesPerCallsampleRatechannel 参数计算采样间隔,并根据该采样间隔触发 回调。
    • -
    • 采样间隔 = samplesPerCall/(sampleRate × channel)
    • -
    • 请确保采样间隔不得小于 0.01 (s)。
    • -
    +
      +
    • SDK 会通过 中的 + samplesPerCallsampleRate 和 + channel 参数计算采样间隔,并根据该采样间隔触发 回调。
    • +
    • 采样间隔 = + samplesPerCall/(sampleRate + × channel)
    • +
    • 请确保采样间隔不得小于 0.01 (s)。
    • +
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - sampleRate - sample_rate - 数据的采样率,单位为 Hz,取值如下: - -
      -
    • 8000
    • -
    • 16000(默认值)
    • -
    • 32000
    • -
    • 44100
    • -
    • 48000
    • -
    -
    - - channel - channels - 数据的声道数,取值如下: -
      -
    • 1:单声道(默认值)
    • -
    • 2:双声道
    • -
    -
    - - mode - 数据的使用模式。详见 - 数据的使用模式,取值如下: -
      -
    • (0): 只读模式,用户仅从 获取原始数据,不作任何修改。例如: 若用户通过 SDK 采集数据,自己进行旁路推流,则可以选择该模式。
    • -
    • (2): 读写模式, 用户从 获取并修改数据,并返回给 SDK 进行编码传输。用户修改 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。
    • -
    -
    - - samplesPerCall - samples_per_call - 数据的采样点数,如旁路推流应用中通常为 1024。 - -
    + + sampleRate + sample_rate + 数据的采样率,单位为 Hz,取值如下:
      +
    • 8000
    • +
    • 16000(默认值)
    • +
    • 32000
    • +
    • 44100
    • +
    • 48000
    • +
    +
    + + channel + channels + 数据的声道数,取值如下:
      +
    • 1:单声道(默认值)
    • +
    • 2:双声道
    • +
    +
    + + mode + 数据的使用模式。详见 + 数据的使用模式,取值如下:
      +
    • (0): 只读模式,用户仅从 + 获取原始数据,不作任何修改。例如: 若用户通过 SDK 采集数据,自己进行旁路推流,则可以选择该模式。
    • +
    • (2): 读写模式, 用户从 + 获取并修改数据,并返回给 SDK 进行编码传输。用户修改 SDK + 返回的原始视频,并返回给 SDK 进行编码传输。例如: + 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。
    • +
    +
    +
    + + samplesPerCall + samples_per_call + 数据的采样点数,如旁路推流应用中通常为 1024。 + + +
    diff --git a/dita/RTC-NG/API/class_audiopcmframe.dita b/dita/RTC-NG/API/class_audiopcmframe.dita index 4fa35f5754c..686282b1a75 100644 --- a/dita/RTC-NG/API/class_audiopcmframe.dita +++ b/dita/RTC-NG/API/class_audiopcmframe.dita @@ -1,13 +1,17 @@ - <ph keyref="AudioPcmFrame" /> - 外部 PCM 格式音频帧的信息。 + + <ph keyref="AudioPcmFrame"/> + + + 外部 PCM 格式音频帧的信息。 +

    - - __attribute__((visibility("default"))) @interface AgoraAudioPcmFrame: NSObject + + __attribute__((visibility("default"))) @interface AgoraAudioPcmFrame: NSObject @property (assign, nonatomic) uint32_t captureTimestamp; @property (assign, nonatomic) size_t samplesPerChannel; @property (assign, nonatomic) int sampleRateHz; @@ -16,7 +20,7 @@ @property (assign, nonatomic) BytesPerSampleType bytesPerSample; @end - struct AudioPcmFrame { + struct AudioPcmFrame { OPTIONAL_ENUM_SIZE_T { kMaxDataSizeSamples = 3840, kMaxDataSizeBytes = kMaxDataSizeSamples * sizeof(int16_t), @@ -30,7 +34,7 @@ int16_t data_[kMaxDataSizeSamples]; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioPcmFrame { GENERATED_BODY() @@ -48,7 +52,7 @@ struct FAudioPcmFrame { /*3840 * sizeof(int16_t)*/ TArray<int64> data_; }; - export class AudioPcmFrame { + export class AudioPcmFrame { capture_timestamp?: number; samples_per_channel_?: number; sample_rate_hz_?: number; @@ -56,7 +60,7 @@ struct FAudioPcmFrame { bytes_per_sample?: BytesPerSample; data_?: number[]; } - + public struct AudioPcmFrame { public UInt32 capture_timestamp; public UInt64 samples_per_channel_; @@ -65,7 +69,7 @@ struct FAudioPcmFrame { public BYTES_PER_SAMPLE bytes_per_sample; public Int16[] data_; }; - export class AudioPcmFrame { + export class AudioPcmFrame { capture_timestamp?: number; samples_per_channel_?: number; sample_rate_hz_?: number; @@ -73,7 +77,7 @@ struct FAudioPcmFrame { bytes_per_sample?: BytesPerSample; data_?: number[]; } - class AudioPcmFrame { + class AudioPcmFrame { const AudioPcmFrame( {this.captureTimestamp, this.samplesPerChannel, @@ -104,51 +108,54 @@ struct FAudioPcmFrame { _$AudioPcmFrameFromJson(json); Map<String, dynamic> toJson() => _$AudioPcmFrameToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - OPTIONAL_ENUM_SIZE_T - PCM 格式音频帧缓冲大小。初始值为 3840。 - - - capture_timestamp - captureTimestamp - 音频帧的时间戳 (ms)。 - - - samples_per_channel_ - samplesPerChannel - 每个声道的采样点数。 - - - sample_rate_hz_ - sampleRateHz - 音频采样率 (Hz)。 - - - num_channels_ - channelNumbers - numChannels - 音频声道数。 - - - bytes_per_sample - bytesPerSample - 音频数据的字节数。 - - - data_ - data - 音频帧数据。 - - - pcmBuffer - 缓存中的音频帧数量。 - -
    + + OPTIONAL_ENUM_SIZE_T + PCM 格式音频帧缓冲大小。初始值为 3840。 + + + capture_timestamp + captureTimestamp + 音频帧的时间戳 (ms)。 + + + samples_per_channel_ + samplesPerChannel + 每个声道的采样点数。 + + + sample_rate_hz_ + sampleRateHz + 音频采样率 (Hz)。 + + + num_channels_ + channelNumbers + numChannels + 音频声道数。 + + + bytes_per_sample + bytesPerSample + 音频数据的字节数。 + + + data_ + data + 音频帧数据。 + + + pcmBuffer + 缓存中的音频帧数量。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_audiorecordingconfiguration.dita b/dita/RTC-NG/API/class_audiorecordingconfiguration.dita index a86a61a05b3..b64571af981 100644 --- a/dita/RTC-NG/API/class_audiorecordingconfiguration.dita +++ b/dita/RTC-NG/API/class_audiorecordingconfiguration.dita @@ -1,12 +1,16 @@ - <ph keyref="AudioRecordingConfiguration" /> - 录音配置。 + + <ph keyref="AudioRecordingConfiguration"/> + + + 录音配置。 +

    - public class AudioRecordingConfiguration { + public class AudioRecordingConfiguration { public String filePath; public int sampleRate; public boolean codec; @@ -22,14 +26,14 @@ recordingChannel = 1; } } - __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration: NSObject @property (copy, nonatomic) NSString * _Nullable filePath; @property (assign, nonatomic) NSUInteger sampleRate; @property (assign, nonatomic) AgoraAudioFileRecordingType fileRecordOption; @property (assign, nonatomic) AgoraAudioRecordingQuality quality; @property (assign, nonatomic) NSInteger recordingChannel; @end - struct AudioRecordingConfiguration { + struct AudioRecordingConfiguration { const char* filePath; bool encode; int sampleRate; @@ -69,7 +73,7 @@ quality(rhs.quality), recordingChannel(rhs.recordingChannel) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioRecordingConfiguration { GENERATED_BODY() @@ -87,7 +91,7 @@ struct FAudioRecordingConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") int recordingChannel; }; - export class AudioRecordingConfiguration { + export class AudioRecordingConfiguration { filePath?: string; @@ -101,7 +105,7 @@ struct FAudioRecordingConfiguration recordingChannel?: number; } - public class AudioRecordingConfiguration + public class AudioRecordingConfiguration { public AudioRecordingConfiguration() { @@ -141,7 +145,7 @@ struct FAudioRecordingConfiguration public AUDIO_RECORDING_QUALITY_TYPE quality { set; get; } public int recordingChannel { set; get; } }; - export class AudioRecordingConfiguration { + export class AudioRecordingConfiguration { filePath?: string; @@ -155,7 +159,7 @@ struct FAudioRecordingConfiguration recordingChannel?: number; } - class AudioRecordingConfiguration { + class AudioRecordingConfiguration { const AudioRecordingConfiguration( {this.filePath, this.encode, @@ -187,80 +191,97 @@ struct FAudioRecordingConfiguration 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 - 录音文件在本地保存的绝对路径,需精确到文件名及格式。例如:。 - -

    请确保你指定的路径存在并且可写。

    -
    -
    - - encode - codec - 设置是否编码音频数据: -
      -
    • : 将音频数据用 AAC 编码。
    • -
    • :(默认)不编码音频数据,直接保存录制的音频数据。
    • -
    -
    - - sampleRate - 录音采样率(Hz)。 -
      -
    • 16000
    • -
    • 32000 (默认)
    • -
    • 44100
    • -
    • 48000
    • -
    - -

    如果把该参数设为 44100 或 48000,为保证录音效果,建议录制 WAV 文件或 quality 的 AAC 文件。

    -
    -
    - - fileRecordingType - fileRecordOption - -

    录音内容。详见

    -

    录音内容: -

      -
    • (1):仅录制本地用户的音频。
    • -
    • (2):仅录制所有远端用户的音频。
    • -
    • (3): (默认)录制本地和所有远端用户混音后的音频。
    • -

    -
    -
    - - 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 左右。
    • -

    - -

    该参数仅适用于 AAC 文件。

    -
    -
    + + filePath + 录音文件在本地保存的绝对路径,需精确到文件名及格式。例如: +

    请确保你指定的路径存在并且可写。

    +
    +
    +
    + + encode + codec + 设置是否编码音频数据:
      +
    • : 将音频数据用 AAC 编码。
    • +
    • :(默认)不编码音频数据,直接保存录制的音频数据。
    • +
    +
    + + sampleRate + 录音采样率(Hz)。
      +
    • 16000
    • +
    • 32000 (默认)
    • +
    • 44100
    • +
    • 48000
    • +
    + +

    如果把该参数设为 44100 或 48000,为保证录音效果,建议录制 WAV 文件或 + quality 的 AAC 文件。

    +
    +
    + + fileRecordingType + fileRecordOption + +

    录音内容。详见

    +

    录音内容:

      +
    • (1):仅录制本地用户的音频。
    • +
    • + (2):仅录制所有远端用户的音频。
    • +
    • (3): + (默认)录制本地和所有远端用户混音后的音频。
    • +
    +

    +
    +
    + + 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 左右。
    • +
    +

    + +

    该参数仅适用于 AAC 文件。

    +
    +
    +
    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_audiospectrumdata.dita b/dita/RTC-NG/API/class_audiospectrumdata.dita index d64eaa3a3ad..32f43c826b6 100644 --- a/dita/RTC-NG/API/class_audiospectrumdata.dita +++ b/dita/RTC-NG/API/class_audiospectrumdata.dita @@ -1,17 +1,17 @@ - <ph keyref="AudioSpectrumData" /> + <ph keyref="AudioSpectrumData"/> 音频频谱数据。

    - public class AudioSpectrumInfo { + public class AudioSpectrumInfo { private float[] audioSpectrumData; private int dataLength; } - - struct AudioSpectrumData { + + struct AudioSpectrumData { const float *audioSpectrumData; int dataLength; @@ -19,7 +19,7 @@ AudioSpectrumData(const float *data, int length) : audioSpectrumData(data), dataLength(length) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioSpectrumData { GENERATED_BODY() @@ -28,25 +28,25 @@ struct FAudioSpectrumData { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioSpectrumData") int dataLength; }; - export class AudioSpectrumData { + export class AudioSpectrumData { audioSpectrumData?: number[]; dataLength?: number; } - public struct AudioSpectrumData + public struct AudioSpectrumData { public float[] audioSpectrumData; public int dataLength; }; - export class AudioSpectrumData { + export class AudioSpectrumData { audioSpectrumData?: number[]; dataLength?: number; } -class AudioSpectrumData { + class AudioSpectrumData { const AudioSpectrumData({this.audioSpectrumData, this.dataLength}); @JsonKey(name: 'audioSpectrumData') @@ -56,22 +56,25 @@ struct FAudioSpectrumData { factory AudioSpectrumData.fromJson(Map<String, dynamic> json) => _$AudioSpectrumDataFromJson(json); Map<String, dynamic> toJson() => _$AudioSpectrumDataToJson(this); - } -

    + } +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - audioSpectrumData - -

    音频频谱数据。声网将声音频率分为 256 个频域,通过该参数报告各频域的能量值,每个能量值的取值范围为 [-300,1],单位为 dBFS。

    -
    -
    - - dataLength - 音频频谱数据长度为 256。 - -
    + + audioSpectrumData + +

    音频频谱数据。声网将声音频率分为 256 个频域,通过该参数报告各频域的能量值,每个能量值的取值范围为 [-300,1],单位为 + dBFS。

    +
    +
    + + dataLength + 音频频谱数据长度为 256。 + + +
    -
    \ 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 5839c99e6ad..6be90341f1a 100644 --- a/dita/RTC-NG/API/class_audiotrackconfig.dita +++ b/dita/RTC-NG/API/class_audiotrackconfig.dita @@ -1,12 +1,16 @@ - <ph keyref="AudioTrackConfig" /> - 自定义音频轨道的配置选项。 - -
    -

    - public class AudioTrackConfig { + + <ph keyref="AudioTrackConfig"/> + + + 自定义音频轨道的配置选项。 + + +

    +

    + public class AudioTrackConfig { public boolean enableLocalPlayback; @@ -14,18 +18,18 @@ this.enableLocalPlayback = true; } } - NS_SWIFT_NAME(AgoraAudioTrackConfig) __attribute__((visibility("default"))) @interface AgoraAudioTrackConfig : NSObject + NS_SWIFT_NAME(AgoraAudioTrackConfig) __attribute__((visibility("default"))) @interface AgoraAudioTrackConfig : NSObject @property (assign, nonatomic) BOOL enableLocalPlayback NS_SWIFT_NAME(enableLocalPlayback); @end - struct AudioTrackConfig { + struct AudioTrackConfig { bool enableLocalPlayback; AudioTrackConfig() : enableLocalPlayback(true) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioTrackConfig { GENERATED_BODY() @@ -33,10 +37,10 @@ struct FAudioTrackConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioTrackConfig") bool enableLocalPlayback = true; }; - export class AudioTrackConfig { + export class AudioTrackConfig { enableLocalPlayback?: boolean; } - public class AudioTrackConfig + public class AudioTrackConfig { public bool enableLocalPlayback; @@ -51,10 +55,10 @@ struct FAudioTrackConfig } }; - export class AudioTrackConfig { + export class AudioTrackConfig { enableLocalPlayback?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioTrackConfig { const AudioTrackConfig({this.enableLocalPlayback}); @@ -65,21 +69,23 @@ class AudioTrackConfig { _$AudioTrackConfigFromJson(json); Map<String, dynamic> toJson() => _$AudioTrackConfigToJson(this); -} -

    -
    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - - - enableLocalPlayback - 是否启用本地音频播放: -
      -
    • :(默认) 启用本地音频播放。
    • -
    • :不启用本地音频播放。
    • -
    -
    -
    -
    - - \ No newline at end of file +} +

    +
    +
    + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + + + enableLocalPlayback + 是否启用本地音频播放:
      +
    • :(默认) 启用本地音频播放。
    • +
    • :不启用本地音频播放。
    • +
    +
    +
    +
    +
    +
    +
    diff --git a/dita/RTC-NG/API/class_audiovolumeinfo.dita b/dita/RTC-NG/API/class_audiovolumeinfo.dita index fa1d11d12e1..d1bad8decb4 100644 --- a/dita/RTC-NG/API/class_audiovolumeinfo.dita +++ b/dita/RTC-NG/API/class_audiovolumeinfo.dita @@ -1,31 +1,31 @@ - <ph keyref="AudioVolumeInfo" /> + <ph keyref="AudioVolumeInfo"/> 用户音量信息。

    - public static class AudioVolumeInfo { + public static class AudioVolumeInfo { public int uid; public int volume; public int vad; public double voicePitch; } - __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger volume; @property(assign, nonatomic) NSUInteger vad; @property (assign, nonatomic) double voicePitch; @end - struct AudioVolumeInfo { + struct AudioVolumeInfo { uid_t uid; unsigned int volume; unsigned int vad; double voicePitch; AudioVolumeInfo() : uid(0), volume(0), vad(0), voicePitch(0.0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioVolumeInfo { GENERATED_BODY() @@ -39,7 +39,7 @@ struct FAudioVolumeInfo { float voicePitch; }; - public class AudioVolumeInfo + public class AudioVolumeInfo { public AudioVolumeInfo() { @@ -63,7 +63,7 @@ struct FAudioVolumeInfo { public double voicePitch { set; get; } } - export class AudioVolumeInfo { + export class AudioVolumeInfo { uid?: number; @@ -73,7 +73,7 @@ struct FAudioVolumeInfo { voicePitch?: number; } - export class AudioVolumeInfo { + export class AudioVolumeInfo { uid?: number; @@ -83,7 +83,7 @@ struct FAudioVolumeInfo { voicePitch?: number; } - class AudioVolumeInfo { + class AudioVolumeInfo { const AudioVolumeInfo({this.uid, this.volume, this.vad, this.voicePitch}); @JsonKey(name: 'uid') @@ -98,51 +98,60 @@ struct FAudioVolumeInfo { _$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 - -

    用户 ID。 - - -

      -
    • 在本地用户的回调中,uid 为 0。
    • -
    • 在远端用户的回调中,uid 为瞬时音量最高的远端用户(最多 3 位)的 ID。
    • -

    -
    -
    - - volume - 用户的音量,取值范围为 [0,255]。如果用户将自己静音(将 设为 ),但开启了音频采集,volume 的值表示本地采集信号的音量。如果用户调用了 ,则 volume 为用户混音后的音量。 - - - vad - -

    本地用户的人声状态。 - - -

      -
    • 0:本地无人声。
    • -
    • 1:本地有人声。
    • -

    - -
      -
    • vad 无法报告远端用户的人声状态。对于远端用户,vad 的值始终为 1。
    • -
    • 如需使用此参数,请在调用 时设置 reportVad
    • -
    -
    - - voicePitch - -

    本地用户的人声音调(Hz)。取值范围为 [0.0,4000.0]。 -

    - voicePitch 无法报告远端用户的人声音调。对于远端用户,voicePitch 的值始终为 0.0。 -
    -
    -
    + + uid + +

    用户 ID。

      +
    • 在本地用户的回调中,uid 为 0。
    • +
    • 在远端用户的回调中,uid 为瞬时音量最高的远端用户(最多 3 位)的 + ID。
    • +

    +
    +
    + + volume + 用户的音量,取值范围为 [0,255]。如果用户将自己静音(将 设为 + ),但开启了音频采集,volume + 的值表示本地采集信号的音量。如果用户调用了 ,则 volume + 为用户混音后的音量。 + + + vad + +

    本地用户的人声状态。

      +
    • 0:本地无人声。
    • +
    • 1:本地有人声。
    • +
    +

    + +
      +
    • vad + 无法报告远端用户的人声状态。对于远端用户,vad 的值始终为 1。
    • +
    • 如需使用此参数,请在调用 时设置 + reportVad
    • +
    +
    +
    +
    + + voicePitch + +

    本地用户的人声音调(Hz)。取值范围为 [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 83a897c680a..0cce21e2b83 100644 --- a/dita/RTC-NG/API/class_beautyoptions.dita +++ b/dita/RTC-NG/API/class_beautyoptions.dita @@ -1,12 +1,16 @@ - <ph keyref="BeautyOptions" /> - 美颜选项。 + + <ph keyref="BeautyOptions"/> + + + 美颜选项。 +

    - public class BeautyOptions { + public class BeautyOptions { public static final int LIGHTENING_CONTRAST_LOW = 0; public static final int LIGHTENING_CONTRAST_NORMAL = 1; public static final int LIGHTENING_CONTRAST_HIGH = 2; @@ -17,7 +21,7 @@ public float rednessLevel; public float sharpnessLevel; } - __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject @property(nonatomic, assign) AgoraLighteningContrastLevel lighteningContrastLevel; @property(nonatomic, assign) float lighteningLevel; @@ -25,7 +29,7 @@ @property(nonatomic, assign) float rednessLevel; @property(nonatomic, assign) float sharpnessLevel; @end - struct BeautyOptions { + struct BeautyOptions { enum LIGHTENING_CONTRAST_LEVEL { LIGHTENING_CONTRAST_LOW = 0, LIGHTENING_CONTRAST_NORMAL = 1, @@ -47,7 +51,7 @@ BeautyOptions() : lighteningContrastLevel(LIGHTENING_CONTRAST_NORMAL), lighteningLevel(0), smoothnessLevel(0), rednessLevel(0), sharpnessLevel(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FBeautyOptions { GENERATED_BODY() @@ -63,7 +67,7 @@ struct FBeautyOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") float sharpnessLevel; }; - export class BeautyOptions { + export class BeautyOptions { lighteningContrastLevel?: LighteningContrastLevel; @@ -75,7 +79,7 @@ struct FBeautyOptions sharpnessLevel?: number; } - public class BeautyOptions + public class BeautyOptions { public BeautyOptions() { @@ -114,7 +118,7 @@ struct FBeautyOptions public float rednessLevel { set; get; } public float sharpnessLevel { set; get; } } - export class BeautyOptions { + export class BeautyOptions { lighteningContrastLevel?: LighteningContrastLevel; @@ -126,7 +130,7 @@ struct FBeautyOptions sharpnessLevel?: number; } -class BeautyOptions { + class BeautyOptions { const BeautyOptions( {this.lighteningContrastLevel, this.lighteningLevel, @@ -151,44 +155,60 @@ struct FBeautyOptions

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <title> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - lighteningContrastLevel - -

    对比度,常与 lighteningLevel 搭配使用。取值越大,明暗对比程度越大。详见 -

      -
    • (0):低对比度。
    • -
    • (1):正常对比度。
    • -
    • (2):高对比度。
    • -

    -
    -
    - - lighteningLevel - -

    美白程度,取值范围为 [0.0,1.0],其中 0.0 表示原始亮度,默认值为 0.70.60.0。取值越大,美白程度越大。

    -
    -
    - - smoothnessLevel - -

    磨皮程度,取值范围为 [0.0,1.0],其中 0.0 表示原始磨皮程度,默认值为 0.50.50.0。取值越大,磨皮程度越大。

    -
    -
    - - rednessLevel - -

    红润度,取值范围为 [0.0,1.0],其中 0.0 表示原始红润度,默认值为 0.10.10.0。取值越大,红润程度越大。

    -
    -
    - - sharpnessLevel - -

    锐化程度,取值范围为 [0.0,1.0],其中 0.0 表示原始锐度,默认值为 0.10.30.0。取值越大,锐化程度越大。

    -
    -
    -
    + + lighteningContrastLevel + +

    对比度,常与 lighteningLevel 搭配使用。取值越大,明暗对比程度越大。详见 +

      +
    • (0):低对比度。
    • +
    • (1):正常对比度。
    • +
    • (2):高对比度。
    • +

    +
    +
    + + lighteningLevel + +

    美白程度,取值范围为 [0.0,1.0],其中 0.0 表示原始亮度,默认值为 0.70.60.0。取值越大,美白程度越大。

    +
    +
    + + smoothnessLevel + +

    磨皮程度,取值范围为 [0.0,1.0],其中 0.0 表示原始磨皮程度,默认值为 0.50.50.0。取值越大,磨皮程度越大。

    +
    +
    + + rednessLevel + +

    红润度,取值范围为 [0.0,1.0],其中 0.0 表示原始红润度,默认值为 0.10.10.0。取值越大,红润程度越大。

    +
    +
    + + sharpnessLevel + +

    锐化程度,取值范围为 [0.0,1.0],其中 0.0 表示原始锐度,默认值为 0.10.30.0。取值越大,锐化程度越大。

    +
    +
    + +
    -
    \ 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 43d88a147bf..20709ea34e0 100644 --- a/dita/RTC-NG/API/class_cachestatistics.dita +++ b/dita/RTC-NG/API/class_cachestatistics.dita @@ -1,12 +1,12 @@ - <ph keyref="CacheStatistics" /> + <ph keyref="CacheStatistics"/> 缓存文件的统计数据。

    - public class CacheStatistics { + public class CacheStatistics { @CalledByNative public CacheStatistics() { fileSize = 0; @@ -17,17 +17,17 @@ private long cacheSize; private long downloadSize; } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerCacheStatistics : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerCacheStatistics : NSObject @property(assign, nonatomic) NSInteger fileSize; @property(assign, nonatomic) NSInteger cacheSize; @property(assign, nonatomic) NSInteger downloadSize; @end - struct CacheStatistics { + struct CacheStatistics { int64_t fileSize; int64_t cacheSize; int64_t downloadSize; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FCacheStatistics { GENERATED_BODY() UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CacheStatistics") @@ -37,7 +37,7 @@ struct FCacheStatistics { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CacheStatistics") int64 downloadSize; }; - export class CacheStatistics { + export class CacheStatistics { fileSize?: number; @@ -45,13 +45,13 @@ struct FCacheStatistics { downloadSize?: number; } - public class CacheStatistics + public class CacheStatistics { public Int64 fileSize { set; get; } public Int64 cacheSize { set; get; } public Int64 downloadSize { set; get; } }; - export class CacheStatistics { + export class CacheStatistics { fileSize?: number; @@ -59,7 +59,7 @@ struct FCacheStatistics { downloadSize?: number; } - class CacheStatistics { + class CacheStatistics { const CacheStatistics({this.fileSize, this.cacheSize, this.downloadSize}); @JsonKey(name: 'fileSize') @@ -76,22 +76,24 @@ struct FCacheStatistics { 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 - 本次播放的媒体文件的大小,单位为字节。 - - - cacheSize - 本次播放的媒体文件已缓存的数据大小,单位为字节。 - - - downloadSize - 本次播放已下载的媒体文件大小,单位为字节。 - -
    + + fileSize + 本次播放的媒体文件的大小,单位为字节。 + + + cacheSize + 本次播放的媒体文件已缓存的数据大小,单位为字节。 + + + 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 730ee7c892c..88601630e33 100644 --- a/dita/RTC-NG/API/class_cameracapturerconfiguration.dita +++ b/dita/RTC-NG/API/class_cameracapturerconfiguration.dita @@ -1,12 +1,16 @@ - <ph keyref="CameraCapturerConfiguration"/> - 摄像头采集配置。 + + <ph keyref="CameraCapturerConfiguration"/> + + + 摄像头采集配置。 +

    - public class CameraCapturerConfiguration { + public class CameraCapturerConfiguration { public enum CAMERA_DIRECTION { CAMERA_REAR(0), CAMERA_FRONT(1), @@ -153,7 +157,7 @@ + ", cameraFocalLengthType=" + cameraFocalLengthType + '}'; } } - __attribute__((visibility("default"))) @interface AgoraCameraCapturerConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraCameraCapturerConfiguration: NSObject #if TARGET_OS_IOS @property (assign, nonatomic) AgoraCameraDirection cameraDirection; @property(assign, nonatomic) AgoraFocalLength cameraFocalLengthType; @@ -168,7 +172,7 @@ @property(assign, nonatomic) BOOL followEncodeDimensionRatio; @end - struct CameraCapturerConfiguration { + struct CameraCapturerConfiguration { #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) Optional<CAMERA_DIRECTION> cameraDirection; @@ -184,7 +188,7 @@ VideoFormat format; CameraCapturerConfiguration() : format(VideoFormat(0, 0, 0)) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FCameraCapturerConfiguration { GENERATED_BODY() @@ -197,7 +201,7 @@ struct FCameraCapturerConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") bool followEncodeDimensionRatio = true; }; - export class CameraCapturerConfiguration { + export class CameraCapturerConfiguration { deviceId?: string; @@ -206,7 +210,7 @@ struct FCameraCapturerConfiguration followEncodeDimensionRatio?: boolean; } - public class CameraCapturerConfiguration : IOptionalJsonParse + 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>(); @@ -230,7 +234,7 @@ struct FCameraCapturerConfiguration this.format = format; } } - export class CameraCapturerConfiguration { + export class CameraCapturerConfiguration { cameraDirection?: CameraDirection; @@ -245,7 +249,7 @@ struct FCameraCapturerConfiguration followEncodeDimensionRatio?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class CameraCapturerConfiguration { const CameraCapturerConfiguration( {this.cameraDirection, @@ -277,68 +281,81 @@ class CameraCapturerConfiguration { _$CameraCapturerConfigurationFromJson(json); Map<String, dynamic> toJson() => _$CameraCapturerConfigurationToJson(this); -} -

    +}
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <title> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - cameraDirection - (可选)摄像头方向。详见 。 - 该参数仅适用于 Android 和 iOS 平台。 - - - cameraId - (可选)摄像头 ID。默认为前置摄像头对应的摄像头 ID。你可以通过 Android 原生系统 API 获取摄像头 ID,详见 。 -
      -
    • 该参数仅适用于 Android。
    • -
    • 该参数和 cameraDirection 均用于指定摄像头,二者为互斥关系,你可以按需选用其中之一,具体区别如下:
        -
      • 通过 cameraDirection 指定摄像头的方式更为简便。你只需指定摄像头的方向(前置或后置),无需指定具体的摄像头 ID,SDK 会通过系统 API 去检索和确定实际的摄像头 ID。
      • -
      • 通过 cameraId 则可以更精确地指定某个特定的摄像头。对于多摄像头的设备,cameraDirection 无法识别或访问全部可用摄像头,这种情况建议使用 cameraId 直接指定你想要的摄像头 ID。
      • -
    -
    -
    - - cameraFocalLengthType - (可选)摄像头的焦距类型。详见 。 -
      -
    • 该参数仅适用于 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 - (可选)是否跟随 中设置的视频宽高比: -
      -
    • :(默认) 跟随。SDK 会将采集到的视频按照已设置的视频宽高比进行裁剪,会同步改变本地预览画面、 中的视频画面。
    • -
    • :不跟随。SDK不改变采集到的视频帧宽高比。
    • -
    -
    -
    + + cameraDirection + (可选)摄像头方向。详见 该参数仅适用于 Android 和 iOS 平台。 + + + cameraId + (可选)摄像头 ID。默认为前置摄像头对应的摄像头 ID。你可以通过 Android 原生系统 API 获取摄像头 ID,详见
      +
    • 该参数仅适用于 Android。
    • +
    • 该参数和 cameraDirection 均用于指定摄像头,二者为互斥关系,你可以按需选用其中之一,具体区别如下:
        +
      • 通过 cameraDirection + 指定摄像头的方式更为简便。你只需指定摄像头的方向(前置或后置),无需指定具体的摄像头 ID,SDK 会通过系统 API 去检索和确定实际的摄像头 + ID。
      • +
      • 通过 cameraId + 则可以更精确地指定某个特定的摄像头。对于多摄像头的设备,cameraDirection + 无法识别或访问全部可用摄像头,这种情况建议使用 cameraId 直接指定你想要的摄像头 ID。
      • +
    • +
    +
    +
    + + cameraFocalLengthType + (可选)摄像头的焦距类型。详见
      +
    • 该参数仅适用于 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 + (可选)是否跟随 中设置的视频宽高比:
      +
    • :(默认) 跟随。SDK + 会将采集到的视频按照已设置的视频宽高比进行裁剪,会同步改变本地预览画面、 中的视频画面。
    • +
    • :不跟随。SDK不改变采集到的视频帧宽高比。
    • +
    +
    + + diff --git a/dita/RTC-NG/API/class_channel.dita b/dita/RTC-NG/API/class_channel.dita index 845a41a70ad..b55c712c19c 100644 --- a/dita/RTC-NG/API/class_channel.dita +++ b/dita/RTC-NG/API/class_channel.dita @@ -6,21 +6,20 @@

    - - - - - - - -

    + + + + + + + +

    -

    频道信息。可以设为如下值: -

      -
    • ""。
    • -
    • 字符串。
    • -

    +

    频道信息。可以设为如下值:

      +
    • ""。
    • +
    • 字符串。
    • +

    diff --git a/dita/RTC-NG/API/class_channelmediainfo.dita b/dita/RTC-NG/API/class_channelmediainfo.dita index 714325985aa..88c3967ddf4 100644 --- a/dita/RTC-NG/API/class_channelmediainfo.dita +++ b/dita/RTC-NG/API/class_channelmediainfo.dita @@ -1,30 +1,31 @@ - <ph keyref="ChannelMediaInfo"/> - 频道媒体信息。 - + + <ph keyref="ChannelMediaInfo"/> + + 频道媒体信息。

    - public class ChannelMediaInfo { + public class ChannelMediaInfo { public String channelName = null; public String token = null; public int uid = 0; } - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayInfo: NSObject + __attribute__((visibility("default"))) @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 { + struct ChannelMediaInfo { const char* channelName; const char* token; uid_t uid; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FChannelMediaInfo { GENERATED_BODY() @@ -36,7 +37,7 @@ struct FChannelMediaInfo { int64 uid; }; - export class ChannelMediaInfo { + export class ChannelMediaInfo { channelName?: string; @@ -44,7 +45,7 @@ struct FChannelMediaInfo { uid?: number; } - public class ChannelMediaInfo + public class ChannelMediaInfo { public ChannelMediaInfo() { @@ -60,7 +61,7 @@ struct FChannelMediaInfo { public string token { set; get; } public uint uid { set; get; } } - export class ChannelMediaInfo { + export class ChannelMediaInfo { channelName?: string; @@ -68,7 +69,7 @@ struct FChannelMediaInfo { uid?: number; } - class ChannelMediaInfo { + class ChannelMediaInfo { const ChannelMediaInfo({this.channelName, this.token, this.uid}); @JsonKey(name: 'channelName') @@ -80,24 +81,27 @@ struct FChannelMediaInfo { factory ChannelMediaInfo.fromJson(Map<String, dynamic> json) => _$ChannelMediaInfoFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaInfoToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - channelName - 频道名。 - - - token - 能加入频道的 Token。 - - - uid - 用户 ID。 - -
    + + channelName + 频道名。 + + + token + 能加入频道的 Token。 + + + uid + 用户 ID。 + + +
    diff --git a/dita/RTC-NG/API/class_channelmediaoptions.dita b/dita/RTC-NG/API/class_channelmediaoptions.dita index 5ad38fdb0d8..d2c099c7246 100644 --- a/dita/RTC-NG/API/class_channelmediaoptions.dita +++ b/dita/RTC-NG/API/class_channelmediaoptions.dita @@ -1,12 +1,16 @@ - <ph keyref="ChannelMediaOptions"/> - 频道媒体设置选项。 + + <ph keyref="ChannelMediaOptions"/> + + + 频道媒体设置选项。 +

    - public class ChannelMediaOptions { + public class ChannelMediaOptions { public Boolean publishCameraTrack; public Boolean publishSecondaryCameraTrack; public Boolean publishThirdCameraTrack; @@ -37,7 +41,7 @@ public Integer customVideoTrackId; public Boolean isAudioFilterable; } - __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject @property(assign, nonatomic) BOOL publishCameraTrack; @property(assign, nonatomic) BOOL publishSecondaryCameraTrack; @property(assign, nonatomic) BOOL publishMicrophoneTrack; @@ -79,7 +83,7 @@ @property(assign, nonatomic) BOOL isAudioFilterable; @end - struct ChannelMediaOptions { + struct ChannelMediaOptions { Optional<bool> publishCameraTrack; Optional<bool> publishSecondaryCameraTrack; Optional<bool> publishThirdCameraTrack; @@ -122,7 +126,7 @@ ChannelMediaOptions() {} ~ChannelMediaOptions() {} - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FChannelMediaOptions { GENERATED_BODY() @@ -208,7 +212,7 @@ struct FChannelMediaOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") AGORAOPTIONAL isAudioFilterable; }; - struct ChannelMediaOptions { + struct ChannelMediaOptions { Optional<bool> publishCameraTrack; Optional<bool> publishSecondaryCameraTrack; Optional<bool> publishMicrophoneTrack; @@ -247,7 +251,7 @@ struct FChannelMediaOptions ChannelMediaOptions() {} ~ChannelMediaOptions() {} - export class ChannelMediaOptions { + export class ChannelMediaOptions { publishCameraTrack?: boolean; @@ -309,7 +313,7 @@ struct FChannelMediaOptions isAudioFilterable?: boolean; } - public class ChannelMediaOptions : OptionalJsonParse + public class ChannelMediaOptions : OptionalJsonParse { public Optional<bool> publishCameraTrack = new Optional<bool>(); public Optional<bool> publishSecondaryCameraTrack = new Optional<bool>(); @@ -344,7 +348,7 @@ struct FChannelMediaOptions public Optional<bool> isAudioFilterable = new Optional<bool>(); } - export class ChannelMediaOptions { + export class ChannelMediaOptions { publishCameraTrack?: boolean; @@ -410,7 +414,7 @@ struct FChannelMediaOptions isAudioFilterable?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class ChannelMediaOptions { const ChannelMediaOptions( {this.publishCameraTrack, @@ -555,326 +559,333 @@ class ChannelMediaOptions { Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); } -

    +

    -
    SDK 支持在同一时间、同一 中发布多路音频流、一路视频流。例如,publishMicrophoneTrackpublishCustomAudioTrackpublishMediaPlayerAudioTrack 可以同时为 publishCameraTrackpublishScreenCaptureVideopublishScreenTrackpublishCustomVideoTrackpublishEncodedVideoTrack 之中同一时间只能有一个为 。 - 建议你根据业务场景自行设置成员参数值,否则 SDK 会自动对成员参数进行赋值。 +
    SDK 支持在同一时间、同一 + 中发布多路音频流、一路视频流。例如,publishMicrophoneTrackpublishCustomAudioTrack + 和 publishMediaPlayerAudioTrack 可以同时为 publishCameraTrackpublishScreenCaptureVideopublishScreenTrackpublishCustomVideoTrack 或 + publishEncodedVideoTrack 之中同一时间只能有一个为 建议你根据业务场景自行设置成员参数值,否则 SDK + 会自动对成员参数进行赋值。
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - publishCameraTrack - 设置是否发布摄像头采集的视频: -
      -
    • :发布摄像头采集的视频。
    • -
    • :不发布摄像头采集的视频。
    • -
    -
    - - publishSecondaryCameraTrack - 设置是否发布第二个摄像头采集的视频: -
      -
    • :发布第二个摄像头采集的视频。
    • -
    • :不发布第二个摄像头采集的视频。
    • -
    -
    - - publishMicrophoneTrack - 设置是否发布麦克风采集到的音频: -
      -
    • :发布麦克风采集到的音频。
    • -
    • :不发布麦克风采集到的音频。
    • -
    - - -
    • 自 v4.0.0 起,该参数名称由 publishAudioTrack 改为 publishMicrophoneTrack
    • -
    • 自 v6.0.0 起,该参数名称由 publishAudioTrack 改为 publishMicrophoneTrack
    • -
    • 如果你将该参数设为 ,SDK 也会关闭麦克风采集。
    • -
    • 如果你想要发布麦克风采集到的音频流,请确保 enableAudioRecordingOrPlayout 设为
    • -
    -
    -
    - - publishThirdCameraTrack - 设置是否发布第三个摄像头采集的视频: -
      -
    • :发布第三个摄像头采集的视频。
    • -
    • :不发布第三个摄像头采集的视频。
    • -
    - 该参数仅适用于 Android、Windows 和 macOS 平台。该参数仅适用于 Android 平台。
    -
    - - publishFourthCameraTrack - 设置是否发布第四个摄像头采集的视频: -
      -
    • :发布第四个摄像头采集的视频。
    • -
    • :不发布第四个摄像头采集的视频。
    • -
    - 该参数仅适用于 Android、Windows 和 macOS 平台。该参数仅适用于 Android 平台。
    -
    - - publishScreenTrack - -

    设置是否发布屏幕采集的视频: -

      -
    • :发布屏幕采集到的视频。
    • -
    • :不发布屏幕采集到的视频。
    • -

    - 该参数仅适用于 Windows 和 macOS 平台。 -
    -
    - - publishScreenCaptureVideo - -

    设置是否发布屏幕采集的视频: -

      -
    • :发布屏幕采集到的视频。
    • -
    • :不发布屏幕采集到的视频。
    • -

    - 该参数仅适用于 Android 和 iOS 平台。 - 自 v4.0.0 起,该参数名称由 publishScreenTrack 改为 publishScreenCaptureVideo
    -
    - - publishScreenCaptureAudio - -

    设置是否发布屏幕采集的音频: -

      -
    • :发布屏幕采集到的音频。
    • -
    • :不发布屏幕采集到的音频。
    • -

    - 该参数仅适用于 Android 和 iOS 平台。 -
    -
    - - publishSecondaryScreenTrack - 设置是否发布第二个屏幕采集的视频: - -
      -
    • :发布第二个屏幕采集到的视频。
    • -
    • :不发布第二个屏幕采集到的视频。
    • -
    -
    -
    - - publishThirdScreenTrack - 设置是否发布第三个屏幕采集的视频: - -
      -
    • :发布第三个屏幕采集到的视频。
    • -
    • :不发布第三个屏幕采集到的视频。
    • -
    -

    - 该参数仅适用于 Windows 和 macOS 平台。

    -
    -
    - - publishFourthScreenTrack - 设置是否发布第四个屏幕采集的视频: - -
      -
    • :发布第四个屏幕采集到的视频。
    • -
    • :不发布第四个屏幕采集到的视频。
    • -
    -

    - 该参数仅适用于 Windows 和 macOS 平台。

    -
    -
    - - publishTranscodedVideoTrack - 设置是否发布本地的转码视频: -
      -
    • :发布本地的转码视频。
    • -
    • :不发布本地的转码视频。
    • -
    - 自 v4.2.0 起,该参数名称由 publishTrancodedVideoTrack 更正为 publishTranscodedVideoTrack -
    -
    - - publishMixedAudioTrack - 设置是否发布本地混音音频: -
      -
    • :发布本地混音音频。
    • -
    • :不发布本地混音音频。
    • -
    -
    -
    - publishCustomAudioTrack - 设置是否发布自定义采集的音频: - -
      -
    • :发布自定义采集到的音频。
    • -
    • :不发布自定义采集到的音频。
    • -
    -
    - - publishCustomAudioTrackId - 待发布的自定义音频轨道的 ID。默认值为 0。 - -

    如果你已在 中设置了 sourceNumber 大于 1,SDK 会创建对应数量的自采集音频轨道,并从 0 开始为每一个音频轨道分配一个 ID。

    -
    -
    - - publishCustomVideoTrack - 设置是否发布自定义采集的视频: -
      -
    • :发布自定义采集的视频。
    • -
    • :不发布自定义采集到的视频。
    • + publishCameraTrack + 设置是否发布摄像头采集的视频:
        +
      • :发布摄像头采集的视频。
      • +
      • :不发布摄像头采集的视频。
      • +
      + + + publishSecondaryCameraTrack + 设置是否发布第二个摄像头采集的视频:
        +
      • :发布第二个摄像头采集的视频。
      • +
      • :不发布第二个摄像头采集的视频。
      • +
      +
      + + publishMicrophoneTrack + 设置是否发布麦克风采集到的音频:
        +
      • :发布麦克风采集到的音频。
      • +
      • :不发布麦克风采集到的音频。
      • +
      + + +
        +
      • 自 v4.0.0 起,该参数名称由 + publishAudioTrack 改为 + publishMicrophoneTrack
      • +
      • 自 v6.0.0 起,该参数名称由 + publishAudioTrack 改为 + publishMicrophoneTrack
      • +
      • 如果你将该参数设为 ,SDK + 也会关闭麦克风采集。
      • +
      • 如果你想要发布麦克风采集到的音频流,请确保 + enableAudioRecordingOrPlayout 设为 +
      • +
      +
      +
      + + publishThirdCameraTrack + 设置是否发布第三个摄像头采集的视频:
        +
      • :发布第三个摄像头采集的视频。
      • +
      • :不发布第三个摄像头采集的视频。
      • +
      + 该参数仅适用于 + Android、Windows 和 macOS 平台。该参数仅适用于 Android 平台。
      +
      + + publishFourthCameraTrack + 设置是否发布第四个摄像头采集的视频:
        +
      • :发布第四个摄像头采集的视频。
      • +
      • :不发布第四个摄像头采集的视频。
      • +
      + 该参数仅适用于 + Android、Windows 和 macOS 平台。该参数仅适用于 Android 平台。
      +
      + + publishScreenTrack + +

      设置是否发布屏幕采集的视频:

        +
      • :发布屏幕采集到的视频。
      • +
      • :不发布屏幕采集到的视频。
      • +

      + 该参数仅适用于 Windows 和 + macOS 平台。 +
      +
      + + publishScreenCaptureVideo + +

      设置是否发布屏幕采集的视频:

        +
      • :发布屏幕采集到的视频。
      • +
      • :不发布屏幕采集到的视频。
      • +

      + 该参数仅适用于 Android 和 + iOS 平台。 + 自 v4.0.0 起,该参数名称由 + publishScreenTrack 改为 + publishScreenCaptureVideo +
      +
      + + publishScreenCaptureAudio + +

      设置是否发布屏幕采集的音频:

        +
      • :发布屏幕采集到的音频。
      • +
      • :不发布屏幕采集到的音频。
      • +

      + 该参数仅适用于 Android 和 + iOS 平台。 +
      +
      + + publishSecondaryScreenTrack + 设置是否发布第二个屏幕采集的视频:
        +
      • :发布第二个屏幕采集到的视频。
      • +
      • :不发布第二个屏幕采集到的视频。
      • +
      +
      +
      + + publishThirdScreenTrack + 设置是否发布第三个屏幕采集的视频:
        +
      • :发布第三个屏幕采集到的视频。
      • +
      • :不发布第三个屏幕采集到的视频。
      • +
      +

      + 该参数仅适用于 + Windows 和 macOS 平台。

      +
      +
      + + publishFourthScreenTrack + 设置是否发布第四个屏幕采集的视频:
        +
      • :发布第四个屏幕采集到的视频。
      • +
      • :不发布第四个屏幕采集到的视频。
      • +
      +

      + 该参数仅适用于 + Windows 和 macOS 平台。

      +
      +
      + + publishTranscodedVideoTrack + 设置是否发布本地的转码视频:
        +
      • :发布本地的转码视频。
      • +
      • :不发布本地的转码视频。
      • +
      + 自 v4.2.0 起,该参数名称由 + publishTrancodedVideoTrack 更正为 + publishTranscodedVideoTrack +
      +
      + + publishMixedAudioTrack + 设置是否发布本地混音音频:
        +
      • :发布本地混音音频。
      • +
      • :不发布本地混音音频。
      • +
      +
      +
      + + publishCustomAudioTrack + 设置是否发布自定义采集的音频:
        +
      • :发布自定义采集到的音频。
      • +
      • :不发布自定义采集到的音频。
      • +
      +
      + + publishCustomAudioTrackId + 待发布的自定义音频轨道的 ID。默认值为 0。

      如果你已在 + 中设置了 sourceNumber 大于 1,SDK 会创建对应数量的自采集音频轨道,并从 0 + 开始为每一个音频轨道分配一个 ID。

      +
      +
      + + publishCustomVideoTrack + 设置是否发布自定义采集的视频:
        +
      • :发布自定义采集的视频。
      • +
      • :不发布自定义采集到的视频。
      -
      -
      - - publishEncodedVideoTrack - 设置是否发布编码后的视频: - -
        -
      • :发布编码后的视频 。
      • -
      • :不发布编码后的视频。
      • -
      -
      - - publishMediaPlayerAudioTrack - 设置是否发布媒体播放器的音频: - -
        -
      • :发布媒体播放器的音频。
      • -
      • :不发布媒体播放器的音频。
      • -
      -
      - - publishMediaPlayerVideoTrack - 设置是否发布媒体播放器的视频: - -
        -
      • :发布媒体播放器的视频。
      • -
      • :不发布媒体播放器的视频。
      • -
      -
      - - autoSubscribeAudio - 设置是否自动订阅所有音频流: - -
        -
      • :自动订阅所有音频流。
      • -
      • :不自动订阅任何音频流。
      • -
      -
      - - autoSubscribeVideo - 设置是否自动订阅所有视频流: - -
        -
      • :自动订阅所有视频流。
      • -
      • :不自动订阅任何视频流。
      • -
      -
      - - enableAudioRecordingOrPlayout - 设置是否开启音频录制或播放: - -
        -
      • :开启音频录制或播放。
      • -
      • :不开启音频录制或播放。
      • -
      - 如果那你需要发布麦克风采集的音频流,请确保该参数设为
      -
      - - publishMediaPlayerId - 待发布的媒体播放器的 ID。默认值为 0。 - - - clientRoleType - - - - clientRoleType - 用户角色。详见 - - - - - - - defaultVideoStreamType - - - - channelProfile - - - - audioDelayMs - -

      发送音频帧的延时(毫秒)。你可以通过该参数来设置需要发送的音频帧的延时,以确保音画同步。

      -

      如果要关闭延时,将此参数值设置为 0。

      -
      -
      - - publishCustomAudioTrackAec - 设置是否发布经过外部回声消除模块处理的音频帧。 - -
        -
      • :发布经过外部回声消除模块处理的音频帧。
      • -
      • :不发布经过外部回声消除模块处理的音频帧。
      • -
      -
      - - token - -

      (可选)在服务端生成的用于鉴权的动态密钥。详见

      - -
        -
      • 该参数仅在调用 时生效。
      • -
      • 请确保用于生成 token 的 App ID、频道名和用户名和 方法初始化引擎时用的 App ID,以及 方法加入频道时设置的频道名和用户名是一致的。
      • -
      -
      - - startPreview - 设置是否在加入频道时自动开启预览。 - -
        -
      • :自动开启预览。该参数值生效的前提是已通过 方法设置了本地视频属性;否则,不会开启预览。
      • -
      • :不自动开启预览。
      • -
      -
      - - publishRhythmPlayerTrack - 设置是否发布虚拟节拍器声音至远端: - -
        -
      • :发布。本地用户和远端用户都能听到节拍器。
      • -
      • :不发布。只有本地用户能听到节拍器。
      • -
      -
      - - isInteractiveAudience - 是否开启互动观众模式: - -
        -
      • :开启互动观众模式。成功开启后,本地用户作为互动观众,收到低延时和流畅的远端用户视频。
      • -
      • :不开启互动观众模式。本地用户作为普通观众,收到默认设置的远端用户视频。
      • -
      - -
        -
      • 该参数用于实现跨直播间连麦场景。连麦主播需要调用 方法,以观众身份加入对方的直播间,并将 isInteractiveAudience 设置为
      • -
      • 仅当用户角色为 时,该参数生效。
      • -
      -
      - - customVideoTrackId - 调用 方法返回的视频轨道 ID。默认值为 0。 - - - isAudioFilterable - 设置是否让当前音频流根据音强算法参与选流。 - -
        -
      • :参与音强选流。如未开启音强选流功能,该参数不会生效。
      • -
      • :不参与音强选流。
      • -
      - 如需启用该功能,请联系
      -
      -
    + + + + publishEncodedVideoTrack + 设置是否发布编码后的视频:
      +
    • :发布编码后的视频 。
    • +
    • :不发布编码后的视频。
    • +
    +
    + + publishMediaPlayerAudioTrack + 设置是否发布媒体播放器的音频:
      +
    • :发布媒体播放器的音频。
    • +
    • :不发布媒体播放器的音频。
    • +
    +
    + + publishMediaPlayerVideoTrack + 设置是否发布媒体播放器的视频:
      +
    • :发布媒体播放器的视频。
    • +
    • :不发布媒体播放器的视频。
    • +
    +
    + + autoSubscribeAudio + 设置是否自动订阅所有音频流:
      +
    • :自动订阅所有音频流。
    • +
    • :不自动订阅任何音频流。
    • +
    +
    + + autoSubscribeVideo + 设置是否自动订阅所有视频流:
      +
    • :自动订阅所有视频流。
    • +
    • :不自动订阅任何视频流。
    • +
    +
    +
    + + enableAudioRecordingOrPlayout + 设置是否开启音频录制或播放:
      +
    • :开启音频录制或播放。
    • +
    • + + :不开启音频录制或播放。
    • +
    + 如果那你需要发布麦克风采集的音频流,请确保该参数设为
    +
    + + publishMediaPlayerId + 待发布的媒体播放器的 ID。默认值为 0。 + + + clientRoleType + + + + clientRoleType + 用户角色。详见 + + + + + + + defaultVideoStreamType + + + + channelProfile + + + + audioDelayMs + +

    发送音频帧的延时(毫秒)。你可以通过该参数来设置需要发送的音频帧的延时,以确保音画同步。

    +

    如果要关闭延时,将此参数值设置为 0。

    +
    +
    + + publishCustomAudioTrackAec + 设置是否发布经过外部回声消除模块处理的音频帧。
      +
    • :发布经过外部回声消除模块处理的音频帧。
    • +
    • :不发布经过外部回声消除模块处理的音频帧。
    • +
    +
    +
    + + token + +

    (可选)在服务端生成的用于鉴权的动态密钥。详见

    + +
      +
    • 该参数仅在调用 时生效。
    • +
    • 请确保用于生成 token 的 App ID、频道名和用户名和 + 方法初始化引擎时用的 App ID,以及 方法加入频道时设置的频道名和用户名是一致的。
    • +
    +
    + + startPreview + 设置是否在加入频道时自动开启预览。
      +
    • :自动开启预览。该参数值生效的前提是已通过 方法设置了本地视频属性;否则,不会开启预览。
    • +
    • :不自动开启预览。
    • +
    +
    + + publishRhythmPlayerTrack + 设置是否发布虚拟节拍器声音至远端:
      +
    • :发布。本地用户和远端用户都能听到节拍器。
    • +
    • :不发布。只有本地用户能听到节拍器。
    • +
    +
    + + isInteractiveAudience + 是否开启互动观众模式:
      +
    • :开启互动观众模式。成功开启后,本地用户作为互动观众,收到低延时和流畅的远端用户视频。
    • +
    • :不开启互动观众模式。本地用户作为普通观众,收到默认设置的远端用户视频。
    • +
    + +
      +
    • 该参数用于实现跨直播间连麦场景。连麦主播需要调用 + 方法,以观众身份加入对方的直播间,并将 isInteractiveAudience + 设置为
    • +
    • 仅当用户角色为 时,该参数生效。
    • +
    +
    +
    +
    + + customVideoTrackId + 调用 方法返回的视频轨道 ID。默认值为 0。 + + + isAudioFilterable + 设置是否让当前音频流根据音强算法参与选流。
      +
    • :参与音强选流。如未开启音强选流功能,该参数不会生效。
    • +
    • :不参与音强选流。
    • +
    + 如需启用该功能,请联系
    +
    + +
    diff --git a/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita b/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita index b3136a91fc9..7662473ede5 100644 --- a/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita +++ b/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita @@ -1,12 +1,14 @@ - <ph keyref="ChannelMediaRelayConfiguration"/> - 跨频道媒体流转发配置信息。 - -
    -

    - public class ChannelMediaRelayConfiguration { + + <ph keyref="ChannelMediaRelayConfiguration"/> + + 跨频道媒体流转发配置信息。 + +

    +

    + public class ChannelMediaRelayConfiguration { private ChannelMediaInfo srcInfo = null; private Map<String, ChannelMediaInfo> destInfos = null; @@ -36,7 +38,7 @@ } } - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos; @property (strong, nonatomic) AgoraChannelMediaRelayInfo *_Nonnull sourceInfo; @@ -44,7 +46,7 @@ - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName; - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName; @end - struct ChannelMediaRelayConfiguration { + struct ChannelMediaRelayConfiguration { ChannelMediaInfo *srcInfo; ChannelMediaInfo *destInfos; int destCount; @@ -55,7 +57,7 @@ , destCount(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FChannelMediaRelayConfiguration { GENERATED_BODY() @@ -68,7 +70,7 @@ struct FChannelMediaRelayConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration") int destCount; }; - export class ChannelMediaRelayConfiguration { + export class ChannelMediaRelayConfiguration { srcInfo?: ChannelMediaInfo; @@ -76,7 +78,7 @@ struct FChannelMediaRelayConfiguration destCount?: number; } - public class ChannelMediaRelayConfiguration + public class ChannelMediaRelayConfiguration { public ChannelMediaRelayConfiguration() { @@ -95,7 +97,7 @@ struct FChannelMediaRelayConfiguration public ChannelMediaInfo[] destInfos { set; get; } public int destCount { set; get; } } - export class ChannelMediaRelayConfiguration { + export class ChannelMediaRelayConfiguration { srcInfo?: ChannelMediaInfo; @@ -103,7 +105,7 @@ struct FChannelMediaRelayConfiguration destCount?: number; } - class ChannelMediaRelayConfiguration { + class ChannelMediaRelayConfiguration { const ChannelMediaRelayConfiguration( {this.srcInfo, this.destInfos, this.destCount}); @@ -116,88 +118,105 @@ struct FChannelMediaRelayConfiguration factory ChannelMediaRelayConfiguration.fromJson(Map<String, dynamic> json) => _$ChannelMediaRelayConfigurationFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaRelayConfigurationToJson(this); - } -

    -
    -
    - 方法 - - - setSrcChannelInfo - 设置源频道信息。详见 - - - setDestChannelInfo - 设置目标频道信息。详见 - - - removeDestChannelInfo - 删除目标频道信息。详见 - - - getSrcChannelMediaInfo - 获取源频道信息。详见 - - - getDestChannelMediaInfos - 获取目标频道信息。详见 - - -
    -
    - 方法 - - - setDestinationInfo - 设置目标频道信息。详见 - - - removeDestinationInfoForChannelName - 移除目标频道信息。详见 - - -
    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - - srcInfo - sourceInfo - -

    源频道信息 ,包含如下成员: -

      -
    • channelName:源频道名。默认值为 ,表示 SDK 填充当前的频道名。
    • -
    • token:能加入源频道的 token。由你在 srcInfo 中设置的 channelNameuid 生成。 -
        -
      • 如未启用 App Certificate,可直接将该参数设为默认值 ,表示 SDK 填充 App ID。
      • -
      • 如已启用 App Certificate,则务必填入使用 channelNameuid 生成的 token,且其中的 uid 必须为 0。
      • -
    • -
    • uid:标识源频道中的转发媒体流的 UID。默认值为 0,请勿修改。
    • -

    -
    -
    - - destInfos - destinationInfos - -

    目标频道信息 ,包含如下成员: -

      -
    • channelName :目标频道的频道名。
    • -
    • - token:能加入目标频道的 token。由你在 destInfos 中设置的 channelNameuid 生成。 -
        -
      • 如未启用 App Certificate,可直接将该参数设为默认值 ,表示 SDK 填充 App ID。
      • -
      • 如已启用 App Certificate,则务必填入使用 channelNameuid 生成的 token
      • -

      由于目标频道中任意频道的 token 过期会导致所有跨频道推流停止,因此建议你将目标频道的 token 设置为相同的过期时长。

    • -
    • - uid:标识目标频道中的转发媒体流的 UID。取值范围为 0 到(2 32-1),请确保与目标频道中的所有 UID 不同。默认值为 0,表示 SDK 随机分配一个 UID。
    • -

    -
    -
    - - destCount - 目标频道数量,默认值为 0,取值范围为 [0,6]。该参数应与你在 destInfos 中定义的 数组的数目一致。 - -
    - + } +

    +
    +
    + 方法 + + + setSrcChannelInfo + 设置源频道信息。详见 + + + setDestChannelInfo + 设置目标频道信息。详见 + + + removeDestChannelInfo + 删除目标频道信息。详见 + + + getSrcChannelMediaInfo + 获取源频道信息。详见 + + + getDestChannelMediaInfos + 获取目标频道信息。详见 + + +
    +
    + 方法 + + + setDestinationInfo + 设置目标频道信息。详见 + + + removeDestinationInfoForChannelName + 移除目标频道信息。详见 + + +
    +
    + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + + + + srcInfo + sourceInfo + +

    源频道信息 ,包含如下成员:

      +
    • channelName:源频道名。默认值为 ,表示 SDK 填充当前的频道名。
    • +
    • token:能加入源频道的 token。由你在 + srcInfo 中设置的 channelName 和 + uid 生成。
        +
      • 如未启用 App Certificate,可直接将该参数设为默认值 ,表示 + SDK 填充 App ID。
      • +
      • 如已启用 App Certificate,则务必填入使用 channelName 和 + uid 生成的 token,且其中的 + uid 必须为 0。
      • +
      +
    • +
    • uid:标识源频道中的转发媒体流的 UID。默认值为 0,请勿修改。
    • +
    +

    +
    +
    + + destInfos + destinationInfos + +

    目标频道信息 ,包含如下成员:

      +
    • + channelName :目标频道的频道名。
    • +
    • + token:能加入目标频道的 token。由你在 + destInfos 中设置的 channelName 和 + uid 生成。
        +
      • 如未启用 App Certificate,可直接将该参数设为默认值 ,表示 + SDK 填充 App ID。
      • +
      • 如已启用 App Certificate,则务必填入使用 channelName 和 + uid 生成的 token
      • +
      +

      由于目标频道中任意频道的 token 过期会导致所有跨频道推流停止,因此建议你将目标频道的 token + 设置为相同的过期时长。

    • +
    • + uid:标识目标频道中的转发媒体流的 UID。取值范围为 0 到(2 + 32-1),请确保与目标频道中的所有 UID 不同。默认值为 0,表示 SDK 随机分配一个 UID。
    • +
    +

    +
    +
    + + destCount + 目标频道数量,默认值为 0,取值范围为 [0,6]。该参数应与你在 destInfos 中定义的 数组的数目一致。 + +
    +
    +
    diff --git a/dita/RTC-NG/API/class_clientroleoptions.dita b/dita/RTC-NG/API/class_clientroleoptions.dita index 0d9aa700379..3036df37da6 100644 --- a/dita/RTC-NG/API/class_clientroleoptions.dita +++ b/dita/RTC-NG/API/class_clientroleoptions.dita @@ -1,12 +1,16 @@ - <ph keyref="ClientRoleOptions"/> - 用户角色属性设置。 + + <ph keyref="ClientRoleOptions"/> + + + 用户角色属性设置。 +

    - public class ClientRoleOptions { + public class ClientRoleOptions { public int audienceLatencyLevel; @CalledByNative @@ -14,17 +18,17 @@ return audienceLatencyLevel; } } - __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject + __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject @property (assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel; @end - struct ClientRoleOptions + struct ClientRoleOptions { AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; ClientRoleOptions() : audienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY), }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FClientRoleOptions { GENERATED_BODY() @@ -32,11 +36,11 @@ struct FClientRoleOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ClientRoleOptions") EAUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel = EAUDIENCE_LATENCY_LEVEL_TYPE::AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY; }; - export class ClientRoleOptions { + export class ClientRoleOptions { audienceLatencyLevel?: AudienceLatencyLevelType; } - public class ClientRoleOptions + public class ClientRoleOptions { public ClientRoleOptions() { @@ -45,11 +49,11 @@ struct FClientRoleOptions public AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; }; - export class ClientRoleOptions { + export class ClientRoleOptions { audienceLatencyLevel?: AudienceLatencyLevelType; } - class ClientRoleOptions { + class ClientRoleOptions { const ClientRoleOptions({this.audienceLatencyLevel}); @JsonKey(name: 'audienceLatencyLevel') @@ -57,20 +61,26 @@ struct FClientRoleOptions factory ClientRoleOptions.fromJson(Map<String, dynamic> json) => _$ClientRoleOptionsFromJson(json); Map<String, dynamic> toJson() => _$ClientRoleOptionsToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - audienceLatencyLevel - 观众端延时级别。详见 -
      -
    • (1): 低延时。
    • -
    • (2): (默认)超低延时。
    • -
    -
    -
    + + audienceLatencyLevel + 观众端延时级别。详见 +
      +
    • (1): 低延时。
    • +
    • (2): + (默认)超低延时。
    • +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_climaxsegment.dita b/dita/RTC-NG/API/class_climaxsegment.dita index 65321b644cf..8167e0a5c65 100644 --- a/dita/RTC-NG/API/class_climaxsegment.dita +++ b/dita/RTC-NG/API/class_climaxsegment.dita @@ -6,7 +6,7 @@

    - public class ClimaxSegment { + public class ClimaxSegment { public int startTimeMs; public int endTimeMs; @@ -26,29 +26,29 @@ return endTimeMs; } } - __attribute__((visibility("default"))) @interface AgoraClimaxSegment : NSObject + __attribute__((visibility("default"))) @interface AgoraClimaxSegment : NSObject @property(nonatomic, assign) NSInteger startTimeMs; @property(nonatomic, assign) NSInteger endTimeMs; @end - struct ClimaxSegment + struct ClimaxSegment { int32_t startTimeMs; int32_t endTimeMs; }; - export class ClimaxSegment { + export class ClimaxSegment { startTimeMs?: number; endTimeMs?: number; } - public class ClimaxSegment + public class ClimaxSegment { public int startTimeMs; public int endTimeMs; }; - export class ClimaxSegment { + export class ClimaxSegment { startTimeMs?: number; endTimeMs?: number; } - class ClimaxSegment { + class ClimaxSegment { const ClimaxSegment({this.startTimeMs, this.endTimeMs}); @JsonKey(name: 'startTimeMs') @@ -61,28 +61,30 @@ _$ClimaxSegmentFromJson(json); Map<String, dynamic> toJson() => _$ClimaxSegmentToJson(this); -} -

    +} +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - startTimeMs - 音乐高潮片段的开始时间点,单位毫秒。 - - - endTimeMs - 音乐高潮片段的结束时间点,单位毫秒。 - -
    + + startTimeMs + 音乐高潮片段的开始时间点,单位毫秒。 + + + endTimeMs + 音乐高潮片段的结束时间点,单位毫秒。 + + +
    diff --git a/dita/RTC-NG/API/class_codeccapinfo.dita b/dita/RTC-NG/API/class_codeccapinfo.dita index 74d0783c220..3811cc445cd 100644 --- a/dita/RTC-NG/API/class_codeccapinfo.dita +++ b/dita/RTC-NG/API/class_codeccapinfo.dita @@ -6,7 +6,7 @@

    - public class CodecCapInfo { + public class CodecCapInfo { public int codecType; public int codecCapMask; public CodecCapLevels codecLevels; @@ -25,17 +25,17 @@ this.codecCapMask = codecCapMask; } } - __attribute__((visibility("default"))) @interface AgoraVideoCodecCapInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoCodecCapInfo : NSObject @property(assign, nonatomic) AgoraVideoCodecType codecType; @property(assign, nonatomic) NSUInteger codecCapMask; @property(strong, nonatomic) AgoraVideoCodecCapLevels *_Nonnull codecCapLevels; @end - struct CodecCapInfo { + struct CodecCapInfo { VIDEO_CODEC_TYPE codecType; int codecCapMask; CodecCapLevels codecLevels; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FCodecCapInfo { GENERATED_BODY() @@ -44,16 +44,16 @@ struct FCodecCapInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CodecCapInfo") int codecCapMask; }; - struct CodecCapInfo { + struct CodecCapInfo { VIDEO_CODEC_TYPE codecType; int codecCapMask; }; - export class CodecCapInfo { + export class CodecCapInfo { codecType?: VideoCodecType; codecCapMask?: number; codecLevels?: CodecCapLevels; } - public class CodecCapInfo + public class CodecCapInfo { public VIDEO_CODEC_TYPE codecType; @@ -61,12 +61,12 @@ struct FCodecCapInfo { public CodecCapLevels codecLevels; }; - export class CodecCapInfo { + export class CodecCapInfo { codecType?: VideoCodecType; codecCapMask?: number; codecLevels?: CodecCapLevels; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class CodecCapInfo { const CodecCapInfo({this.codecType, this.codecCapMask, this.codecLevels}); @@ -83,49 +83,54 @@ class CodecCapInfo { _$CodecCapInfoFromJson(json); Map<String, dynamic> toJson() => _$CodecCapInfoToJson(this); -}

    +} +

    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - codecType - 视频编解码类型。详见 - -

    视频编解码类型: -

      -
    • 1:VP8。
    • -
    • 2:H.264。
    • -
    • 3:(默认)H.265。

    -
    -
    - - codecCapMask - SDK 编解码类型的 bit mask。详见 - -

    编解码类型的 bit mask: -

      -
    • 0:不支持编解码。
    • -
    • 1 << 0:支持硬件解码。
    • -
    • 1 << 1:支持硬件编码。
    • -
    • 1 << 2:支持软件解码。
    • -
    • 1 << 3:支持软件编码。
    • -

    -
    -
    - - codecLevels - SDK 支持的编解码能力等级。详见 - -
    + + codecType + 视频编解码类型。详见 + +

    视频编解码类型:

      +
    • 1:VP8。
    • +
    • 2:H.264。
    • +
    • 3:(默认)H.265。
    • +
    +

    +
    +
    + + codecCapMask + SDK 编解码类型的 bit mask。详见 + + +

    编解码类型的 bit mask:

      +
    • 0:不支持编解码。
    • +
    • 1 << 0:支持硬件解码。
    • +
    • 1 << 1:支持硬件编码。
    • +
    • 1 << 2:支持软件解码。
    • +
    • 1 << 3:支持软件编码。
    • +

    +
    +
    + + codecLevels + SDK 支持的编解码能力等级。详见 + + +
    diff --git a/dita/RTC-NG/API/class_codeccaplevels.dita b/dita/RTC-NG/API/class_codeccaplevels.dita index 989cdf856b9..1bfe1b23b30 100644 --- a/dita/RTC-NG/API/class_codeccaplevels.dita +++ b/dita/RTC-NG/API/class_codeccaplevels.dita @@ -6,7 +6,7 @@

    - public class CodecCapLevels { + public class CodecCapLevels { public int hwDecodingLevel; public int swDecodingLevel; @@ -21,21 +21,21 @@ this.swDecodingLevel = swDecLevel; }; }; - __attribute__((visibility("default"))) @interface AgoraVideoCodecCapLevels : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoCodecCapLevels : NSObject @property(assign, nonatomic) AgoraVideoCodecCapabilityLevel hwDecodingLevel; @property(assign, nonatomic) AgoraVideoCodecCapabilityLevel swDecodingLevel; @end - struct CodecCapLevels { + struct CodecCapLevels { VIDEO_CODEC_CAPABILITY_LEVEL hwDecodingLevel; VIDEO_CODEC_CAPABILITY_LEVEL swDecodingLevel; CodecCapLevels(): hwDecodingLevel(CODEC_CAPABILITY_LEVEL_UNSPECIFIED), swDecodingLevel(CODEC_CAPABILITY_LEVEL_UNSPECIFIED) {} }; - export class CodecCapLevels { + export class CodecCapLevels { hwDecodingLevel?: VideoCodecCapabilityLevel; swDecodingLevel?: VideoCodecCapabilityLevel; } - public class CodecCapLevels + public class CodecCapLevels { public VIDEO_CODEC_CAPABILITY_LEVEL hwDecodingLevel; public VIDEO_CODEC_CAPABILITY_LEVEL swDecodingLevel; @@ -46,11 +46,11 @@ swDecodingLevel = VIDEO_CODEC_CAPABILITY_LEVEL.CODEC_CAPABILITY_LEVEL_UNSPECIFIED; } }; - export class CodecCapLevels { + export class CodecCapLevels { hwDecodingLevel?: VideoCodecCapabilityLevel; swDecodingLevel?: VideoCodecCapabilityLevel; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class CodecCapLevels { const CodecCapLevels({this.hwDecodingLevel, this.swDecodingLevel}); @@ -68,31 +68,41 @@ class CodecCapLevels {

    - -
    自从
    -
    v4.2.2
    -
    + +
    自从
    +
    v4.2.2
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - hwDecodingLevel - 硬件解码能力等级,表示设备能够对不同品质视频进行硬件解码的能力。详见 -
      -
    • (-1):不支持的视频类型。目前仅支持对 H.264 和 H.265 格式的视频进行查询,如果视频为其他格式,则返回该值。
    • -
    • (5):基本的编解码支持,即:对 1080p、30 fps 以下的视频进行编解码。
    • -
    • (10):最高支持对 1080p、30 fps 的视频进行编解码。
    • -
    • (20):最高支持对 1080p、60 fps 的视频进行编解码。
    • -
    • (30):最高支持对 4K、30 fps 的视频进行编解码。
    -
    + + hwDecodingLevel + 硬件解码能力等级,表示设备能够对不同品质视频进行硬件解码的能力。详见 +
      +
    • + (-1):不支持的视频类型。目前仅支持对 H.264 和 H.265 格式的视频进行查询,如果视频为其他格式,则返回该值。
    • +
    • (5):基本的编解码支持,即:对 + 1080p、30 fps 以下的视频进行编解码。
    • +
    • (10):最高支持对 1080p、30 + fps 的视频进行编解码。
    • +
    • (20):最高支持对 1080p、60 + fps 的视频进行编解码。
    • +
    • (30):最高支持对 4K、30 fps + 的视频进行编解码。
    • +
    +
    swDecodingLevel - 软件解码能力等级,表示设备能够对不同品质视频进行软件解码的能力。详见 + 软件解码能力等级,表示设备能够对不同品质视频进行软件解码的能力。详见 -
    + +
    diff --git a/dita/RTC-NG/API/class_colorenhanceoptions.dita b/dita/RTC-NG/API/class_colorenhanceoptions.dita index 828439006f7..a1fed38147b 100644 --- a/dita/RTC-NG/API/class_colorenhanceoptions.dita +++ b/dita/RTC-NG/API/class_colorenhanceoptions.dita @@ -1,12 +1,16 @@ - <ph keyref="ColorEnhanceOptions" /> - 色彩增强选项。 + + <ph keyref="ColorEnhanceOptions"/> + + + 色彩增强选项。 +

    - public class ColorEnhanceOptions { + public class ColorEnhanceOptions { public float strengthLevel; public float skinProtectLevel; @@ -20,18 +24,18 @@ skinProtectLevel = skinProtect; } } - __attribute__((visibility("default"))) @interface AgoraColorEnhanceOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraColorEnhanceOptions : NSObject @property(nonatomic, assign) float strengthLevel; @property(nonatomic, assign) float skinProtectLevel; @end - struct ColorEnhanceOptions { + struct ColorEnhanceOptions { float strengthLevel; float skinProtectLevel; ColorEnhanceOptions(float stength, float skinProtect) : strengthLevel(stength), skinProtectLevel(skinProtect) {} ColorEnhanceOptions() : strengthLevel(0), skinProtectLevel(1) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FColorEnhanceOptions { GENERATED_BODY() @@ -41,7 +45,7 @@ struct FColorEnhanceOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ColorEnhanceOptions") float skinProtectLevel; }; - public class ColorEnhanceOptions + public class ColorEnhanceOptions { public float strengthLevel { set; get; } public float skinProtectLevel { set; get; } @@ -58,19 +62,19 @@ struct FColorEnhanceOptions skinProtectLevel = 1; } }; - export class ColorEnhanceOptions { + export class ColorEnhanceOptions { strengthLevel?: number; skinProtectLevel?: number; } - export class ColorEnhanceOptions { + export class ColorEnhanceOptions { strengthLevel?: number; skinProtectLevel?: number; } - class ColorEnhanceOptions { + class ColorEnhanceOptions { const ColorEnhanceOptions({this.strengthLevel, this.skinProtectLevel}); @JsonKey(name: 'strengthLevel') final double? strengthLevel; @@ -81,21 +85,30 @@ struct FColorEnhanceOptions 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 - 色彩增强程度。取值范围为 [0.0,1.0]。0.0 表示不对视频进行色彩增强。取值越大,色彩增强的程度越大。默认值为 0.5 - - - skinProtectLevel -

    肤色保护程度。取值范围为 [0.0,1.0]。0.0 表示不对肤色进行保护。取值越大,肤色保护的程度越大。默认值为 1.0

    -

    • 当色彩增强程度较大时,人像肤色会明显失真,你需要设置肤色保护程度;
    • 肤色保护程度较大时,色彩增强效果会略微降低。
    - 因此,为获取最佳的色彩增强效果,建议你动态调节 strengthLevelskinProtectLevel 以实现最合适的效果。

    -
    -
    + + strengthLevel + 色彩增强程度。取值范围为 [0.0,1.0]。0.0 表示不对视频进行色彩增强。取值越大,色彩增强的程度越大。默认值为 + 0.5 + + + skinProtectLevel +

    肤色保护程度。取值范围为 [0.0,1.0]。0.0 + 表示不对肤色进行保护。取值越大,肤色保护的程度越大。默认值为 1.0

    +

      +
    • 当色彩增强程度较大时,人像肤色会明显失真,你需要设置肤色保护程度;
    • +
    • 肤色保护程度较大时,色彩增强效果会略微降低。
    • +
    因此,为获取最佳的色彩增强效果,建议你动态调节 strengthLevel 和 + skinProtectLevel 以实现最合适的效果。

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_contentinspectconfig.dita b/dita/RTC-NG/API/class_contentinspectconfig.dita index a3a3b027825..0972ed33b2a 100644 --- a/dita/RTC-NG/API/class_contentinspectconfig.dita +++ b/dita/RTC-NG/API/class_contentinspectconfig.dita @@ -6,7 +6,7 @@

    - public class ContentInspectConfig { + public class ContentInspectConfig { public final static int CONTENT_INSPECT_TYPE_INVALID = 0; public final static int CONTENT_INSPECT_TYPE_SUPERVISE = 2; public final static int CONTENT_INSPECT_TYPE_IMAGE_MODERATION = 3; @@ -34,12 +34,12 @@ moduleCount = 0; } } - __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject @property (nonatomic, copy) NSString* _Nullable extraInfo; @property (nonatomic, copy) NSString* _Nullable serverConfig; @property(copy, nonatomic) NSArray<AgoraContentInspectModule*>* _Nullable modules; @end - struct ContentInspectConfig { + struct ContentInspectConfig { const char* extraInfo; const char* serverConfig; @@ -55,7 +55,7 @@ } ContentInspectConfig() :extraInfo(NULL), serverConfig(NULL), moduleCount(0){} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FContentInspectConfig { GENERATED_BODY() @@ -67,7 +67,7 @@ struct FContentInspectConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectConfig") int moduleCount; }; - export class ContentInspectConfig { + export class ContentInspectConfig { extraInfo?: string; @@ -77,7 +77,7 @@ struct FContentInspectConfig moduleCount?: number; } - public class ContentInspectConfig + public class ContentInspectConfig { public string extraInfo; public string serverConfig; @@ -92,7 +92,7 @@ struct FContentInspectConfig moduleCount = 0; } }; - export class ContentInspectConfig { + export class ContentInspectConfig { extraInfo?: string; @@ -102,7 +102,7 @@ struct FContentInspectConfig moduleCount?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class ContentInspectConfig { const ContentInspectConfig( {this.extraInfo, this.serverConfig, this.modules, this.moduleCount}); @@ -124,51 +124,59 @@ class ContentInspectConfig { Map<String, dynamic> toJson() => _$ContentInspectConfigToJson(this); } -

    +

    参数 - - CONTENT_INSPECT_TYPE_INVALID - 0:(默认)无实际功能。请不要将 type 设为该值。 - - - CONTENT_INSPECT_TYPE_MODERATION - 1:视频鉴黄。SDK 会对本地用户发送的视频进行截图、鉴黄,并将截图和审核结果上传。 - - - CONTENT_INSPECT_TYPE_SUPERVISE - 2:使用声网自研插件截图上传。SDK 会对本地用户发送的视频进行截图并上传。 - - - CONTENT_INSPECT_TYPE_IMAGE_MODERATION - 3:使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。 - - - extraInfo - -

    附加信息,最大长度为 1024 字节。

    -

    SDK 会将附加信息和截图一起上传至声网服务器;截图完成后,声网服务器会将附加信息随回调通知一起发送给你的服务器。

    -

    SDK 会将附加信息和截图一起上传至声网内容审核服务器;审核完成后,声网内容审核服务器会将附加信息随审核结果一起发送给你的服务器。

    -
    -
    - - serverConfig - (可选)云市场视频截图上传相关服务端配置,该参数仅在 中的 type 设置为 时生效。如需使用,请 - - - modules - -

    功能模块。详见

    -

    最多支持配置 32 个 实例,MAX_CONTENT_INSPECT_MODULE_COUNT 的取值范围为 [1,32] 中的整数。

    - 一个功能模块最多只能配置一个实例。目前仅支持截图上传功能。 -
    -
    - - moduleCount - 功能模块数,即配置的 实例的数量,必须与 modules 中配置的实例个数一致。最大值为 32。 - -
    + + CONTENT_INSPECT_TYPE_INVALID + 0:(默认)无实际功能。请不要将 type 设为该值。 + + + CONTENT_INSPECT_TYPE_MODERATION + 1:视频鉴黄。SDK 会对本地用户发送的视频进行截图、鉴黄,并将截图和审核结果上传。 + + + CONTENT_INSPECT_TYPE_SUPERVISE + 2:使用声网自研插件截图上传。SDK 会对本地用户发送的视频进行截图并上传。 + + + CONTENT_INSPECT_TYPE_IMAGE_MODERATION + 3:使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。 + + + extraInfo + +

    附加信息,最大长度为 1024 字节。

    +

    SDK 会将附加信息和截图一起上传至声网服务器;截图完成后,声网服务器会将附加信息随回调通知一起发送给你的服务器。

    +

    SDK + 会将附加信息和截图一起上传至声网内容审核服务器;审核完成后,声网内容审核服务器会将附加信息随审核结果一起发送给你的服务器。

    +
    +
    + + serverConfig + (可选)云市场视频截图上传相关服务端配置,该参数仅在 中的 + type 设置为 时生效。如需使用,请 + + + modules + +

    功能模块。详见

    +

    最多支持配置 32 个 + 实例,MAX_CONTENT_INSPECT_MODULE_COUNT 的取值范围为 + [1,32] 中的整数。

    + 一个功能模块最多只能配置一个实例。目前仅支持截图上传功能。 +
    +
    + + moduleCount + 功能模块数,即配置的 实例的数量,必须与 + modules 中配置的实例个数一致。最大值为 32。 + + +
    diff --git a/dita/RTC-NG/API/class_contentinspectmodule.dita b/dita/RTC-NG/API/class_contentinspectmodule.dita index fd6f9af7777..e104c4962c7 100644 --- a/dita/RTC-NG/API/class_contentinspectmodule.dita +++ b/dita/RTC-NG/API/class_contentinspectmodule.dita @@ -2,23 +2,24 @@ <ph keyref="ContentInspectModule"/> - 结构体,用于配置视频截图上传的频率。 + + 结构体,用于配置视频截图上传的频率。

    - public static class ContentInspectModule { + public static class ContentInspectModule { public int type; public int interval; public ContentInspectModule() { type = CONTENT_INSPECT_TYPE_INVALID; interval = 0; } - __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject + __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject @property (assign, nonatomic) AgoraContentInspectType type; @property (assign, nonatomic) NSInteger interval; @end - struct ContentInspectModule { + struct ContentInspectModule { CONTENT_INSPECT_TYPE type; unsigned int interval; ContentInspectModule() { @@ -26,7 +27,7 @@ interval = 0; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FContentInspectModule { GENERATED_BODY() @@ -35,13 +36,13 @@ struct FContentInspectModule { int64 interval = 0; }; - export class ContentInspectModule { + export class ContentInspectModule { type?: ContentInspectType; interval?: number; } - public class ContentInspectModule + public class ContentInspectModule { public CONTENT_INSPECT_TYPE type; public uint interval; @@ -52,13 +53,13 @@ struct FContentInspectModule { interval = 0; } }; - export class ContentInspectModule { + export class ContentInspectModule { type?: ContentInspectType; interval?: number; } - class ContentInspectModule { + class ContentInspectModule { const ContentInspectModule({this.type, this.interval}); @JsonKey(name: 'type') @@ -70,28 +71,36 @@ struct FContentInspectModule { Map<String, dynamic> toJson() => _$ContentInspectModuleToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - 功能模块的类型。详见 - -

    功能模块的类型: -

      -
    • (0):(默认)该功能模块无实际功能。请不要设为该值。
    • -
    • (1):视频鉴黄。SDK 会对视频流进行截图、鉴黄,并将截图和审核结果上传。
    • -
    • (2):使用声网自研插件截图上传。SDK 会对视频流进行截图并上传。
    • -
    • (3):使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。
    • -

    -
    -
    - - interval - 视频截图上传的间隔,单位为秒,取值必须大于 0。默认值为 0,表示不进行截图上传。视频内容审核的间隔,单位为秒,取值必须大于 0。默认值为 0,表示不进行内容审核。推荐值为 10 秒,你也可以根据业务需求自行调整。 - -
    + + type + 功能模块的类型。详见 + +

    功能模块的类型:

      +
    • (0):(默认)该功能模块无实际功能。请不要设为该值。
    • +
    • (1):视频鉴黄。SDK 会对视频流进行截图、鉴黄,并将截图和审核结果上传。
    • +
    • (2):使用声网自研插件截图上传。SDK + 会对视频流进行截图并上传。
    • +
    • (3):使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。
    • +

    +
    +
    + + interval + 视频截图上传的间隔,单位为秒,取值必须大于 0。默认值为 0,表示不进行截图上传。视频内容审核的间隔,单位为秒,取值必须大于 0。默认值为 0,表示不进行内容审核。推荐值为 10 + 秒,你也可以根据业务需求自行调整。 + + +
    diff --git a/dita/RTC-NG/API/class_datastreamconfig.dita b/dita/RTC-NG/API/class_datastreamconfig.dita index 57fd48d15e6..75f627f4427 100644 --- a/dita/RTC-NG/API/class_datastreamconfig.dita +++ b/dita/RTC-NG/API/class_datastreamconfig.dita @@ -1,24 +1,24 @@ - <ph keyref="DataStreamConfig" /> + <ph keyref="DataStreamConfig"/> 数据流设置。

    - public class DataStreamConfig { + public class DataStreamConfig { public boolean syncWithAudio = false; public boolean ordered = false; } - __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject @property (assign, nonatomic) BOOL ordered; @property (assign, nonatomic) BOOL syncWithAudio; @end - struct DataStreamConfig { + struct DataStreamConfig { bool syncWithAudio; bool ordered; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FDataStreamConfig { GENERATED_BODY() @@ -28,24 +28,24 @@ struct FDataStreamConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DataStreamConfig") bool ordered; }; - export class DataStreamConfig { + export class DataStreamConfig { syncWithAudio?: boolean; ordered?: boolean; } - public class DataStreamConfig + public class DataStreamConfig { public bool syncWithAudio; public bool ordered; } - export class DataStreamConfig { + export class DataStreamConfig { syncWithAudio?: boolean; ordered?: boolean; } - class DataStreamConfig { + class DataStreamConfig { const DataStreamConfig({this.syncWithAudio, this.ordered}); @JsonKey(name: 'syncWithAudio') @@ -55,72 +55,80 @@ struct FDataStreamConfig factory DataStreamConfig.fromJson(Map<String, dynamic> json) => _$DataStreamConfigFromJson(json); Map<String, dynamic> toJson() => _$DataStreamConfigToJson(this); -} -

    +} +

    下表展示不同的参数设置下,SDK 的行为:

    - - - - - - - syncWithAudio - ordered - SDK 行为 - - - - - - - 接收端接收到数据包后,SDK 立刻触发 回调。 - - - - - 如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 回调。如果数据包的延迟超出了音频延迟,SDK 会在接收到该数据包时立刻触发 回调;此情况会造成音频包和数据包的不同步。 - - - - - 如果数据包的延迟在 5 秒以内,SDK 会修正数据包的乱序问题。如果数据包的延迟超出 5 秒,SDK 会丢弃该数据包。 - - - - - 如果数据包的延迟在音频延迟的范围内,SDK 会修正数据包的乱序问题。如果数据包的延迟超出音频延迟,SDK 会丢弃该数据包。 - - - -
    + + + + + + + syncWithAudio + ordered + 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 - -

    是否与本地发送的音频流同步。 - -

      -
    • : 数据流与音频流同步。该设置适用于歌词同步等特殊场景。
    • -
    • : 数据流与音频流不同步。该设置适用于需要数据包立刻到达接收端的场景。
    • -
    设置数据流与音频流同步后,如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 回调。

    -
    -
    - - ordered - -

    是否保证接收到的数据按发送的顺序排列。 - -

      -
    • : 保证 SDK 按照发送方发送的顺序输出数据包。
    • -
    • : 不保证 SDK 按照发送方发送的顺序输出数据包。
    • -
    当需要数据包立刻到达接收端时,不能将该参数设置为

    -
    -
    -
    + + syncWithAudio + +

    是否与本地发送的音频流同步。

      +
    • : + 数据流与音频流同步。该设置适用于歌词同步等特殊场景。
    • +
    • : + 数据流与音频流不同步。该设置适用于需要数据包立刻到达接收端的场景。
    • +
    设置数据流与音频流同步后,如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 回调。

    +
    +
    + + ordered + +

    是否保证接收到的数据按发送的顺序排列。

      +
    • : 保证 SDK + 按照发送方发送的顺序输出数据包。
    • +
    • : 不保证 SDK + 按照发送方发送的顺序输出数据包。
    • +
    当需要数据包立刻到达接收端时,不能将该参数设置为

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_device.dita b/dita/RTC-NG/API/class_device.dita index a3dae84ed91..5582850a470 100644 --- a/dita/RTC-NG/API/class_device.dita +++ b/dita/RTC-NG/API/class_device.dita @@ -6,26 +6,28 @@

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - deviceId - 设备 ID。 - - - deviceName - 设备名称。 - -
    + + deviceId + 设备 ID。 + + + deviceName + 设备名称。 + + +
    diff --git a/dita/RTC-NG/API/class_deviceinfo.dita b/dita/RTC-NG/API/class_deviceinfo.dita index 9f2a5b53f6e..338cd87117b 100644 --- a/dita/RTC-NG/API/class_deviceinfo.dita +++ b/dita/RTC-NG/API/class_deviceinfo.dita @@ -1,12 +1,12 @@ - <ph keyref="DeviceInfo" /> + <ph keyref="DeviceInfo"/> 音频设备信息。

    - public class DeviceInfo { + public class DeviceInfo { public boolean isLowLatencyAudioSupported; @CalledByNative @@ -14,13 +14,13 @@ this.isLowLatencyAudioSupported = isLowLatencyAudioSupported; } } - - struct DeviceInfo { + + struct DeviceInfo { bool isLowLatencyAudioSupported; DeviceInfo() : isLowLatencyAudioSupported(false) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FDeviceInfo { GENERATED_BODY() @@ -28,19 +28,19 @@ struct FDeviceInfo UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DeviceInfo") bool isLowLatencyAudioSupported; }; - export class DeviceInfo { + export class DeviceInfo { isLowLatencyAudioSupported?: boolean; } - public class DeviceInfoMobile + public class DeviceInfoMobile { public bool isLowLatencyAudioSupported; }; - export class DeviceInfo { + export class DeviceInfo { isLowLatencyAudioSupported?: boolean; } - class DeviceInfo { + class DeviceInfo { const DeviceInfo({this.isLowLatencyAudioSupported}); @JsonKey(name: 'isLowLatencyAudioSupported') @@ -49,21 +49,24 @@ struct FDeviceInfo _$DeviceInfoFromJson(json); Map<String, dynamic> toJson() => _$DeviceInfoToJson(this); } -

    +

    - 该类仅适用于 Android 平台。
    + 该类仅适用于 Android + 平台。 +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - isLowLatencyAudioSupported - 是否支持极低延时音频采集和播放: -
      -
    • : 支持
    • -
    • : 不支持
    • -
    -
    -
    + + isLowLatencyAudioSupported + 是否支持极低延时音频采集和播放:
      +
    • : 支持
    • +
    • : 不支持
    • +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_directcdnstreamingmediaoptions.dita b/dita/RTC-NG/API/class_directcdnstreamingmediaoptions.dita index 65e6df4a3fb..c4fb1b57203 100644 --- a/dita/RTC-NG/API/class_directcdnstreamingmediaoptions.dita +++ b/dita/RTC-NG/API/class_directcdnstreamingmediaoptions.dita @@ -6,7 +6,7 @@

    - public class DirectCdnStreamingMediaOptions { + public class DirectCdnStreamingMediaOptions { public Boolean publishCameraTrack; public Boolean publishMicrophoneTrack; public Boolean publishCustomAudioTrack; @@ -20,7 +20,7 @@ publishCustomVideoTrack = false; } } - __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingMediaOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingMediaOptions : NSObject @property(assign, nonatomic) BOOL publishCameraTrack; @property(assign, nonatomic) BOOL publishMicrophoneTrack; @@ -29,7 +29,7 @@ @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack; @property(assign, nonatomic) NSInteger publishMediaPlayerId; @property(assign, nonatomic) NSInteger customVideoTrackId; - struct DirectCdnStreamingMediaOptions { + struct DirectCdnStreamingMediaOptions { Optional<bool> publishCameraTrack; Optional<bool> publishMicrophoneTrack; Optional<bool> publishCustomAudioTrack; @@ -42,7 +42,7 @@ ~DirectCdnStreamingMediaOptions() {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FDirectCdnStreamingMediaOptions { GENERATED_BODY() @@ -66,7 +66,7 @@ struct FDirectCdnStreamingMediaOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DirectCdnStreamingMediaOptions") int64 customVideoTrackId; }; -export class DirectCdnStreamingMediaOptions { + export class DirectCdnStreamingMediaOptions { publishCameraTrack?: boolean; publishMicrophoneTrack?: boolean; publishCustomAudioTrack?: boolean; @@ -85,7 +85,7 @@ struct FDirectCdnStreamingMediaOptions public Optional<int> publishMediaPlayerId = new Optional<int>(); public Optional<video_track_id_t> customVideoTrackId = new Optional<video_track_id_t>(); } -export class DirectCdnStreamingMediaOptions { + export class DirectCdnStreamingMediaOptions { publishCameraTrack?: boolean; publishMicrophoneTrack?: boolean; publishCustomAudioTrack?: boolean; @@ -94,7 +94,7 @@ struct FDirectCdnStreamingMediaOptions publishMediaPlayerId?: number; customVideoTrackId?: number; } -class DirectCdnStreamingMediaOptions { + class DirectCdnStreamingMediaOptions { const DirectCdnStreamingMediaOptions( {this.publishCameraTrack, this.publishMicrophoneTrack, @@ -130,60 +130,56 @@ struct FDirectCdnStreamingMediaOptions Map<String, dynamic> toJson() => _$DirectCdnStreamingMediaOptionsToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - publishCameraTrack - 设置是否发布摄像头采集的视频。 -
      -
    • : 发布摄像头采集的视频。
    • -
    • :(默认)不发布摄像头采集的视频。
    • -
    -
    - - publishMicrophoneTrack - 设置是否发布麦克风采集的音频。 -
      -
    • : 发布麦克风采集的音频。
    • -
    • :(默认)不发布麦克风采集的音频。
    • -
    -
    - - publishCustomAudioTrack - 设置是否发布自定义采集的音频。 -
      -
    • : 发布自定义采集的音频。
    • -
    • :(默认)不发布自定义采集的音频。
    • -
    -
    - - publishMediaPlayerAudioTrack - 设置是否发布媒体播放器的音频。 -
      -
    • : 发布媒体播放器的音频。
    • -
    • :(默认)不发布媒体播放器的音频。
    • -
    -
    - - publishCustomVideoTrack - 设置是否发布自定义采集的视频。 - -
      -
    • : 发布自定义采集的视频。
    • -
    • :(默认)不发布自定义采集的视频。
    • -
    -
    - - publishMediaPlayerId - 待发布的媒体播放器的 ID。默认值为 0。 - - - customVideoTrackId - 调用 方法返回的视频轨道 ID。默认值为 0。 - -
    + + publishCameraTrack + 设置是否发布摄像头采集的视频。
      +
    • : 发布摄像头采集的视频。
    • +
    • :(默认)不发布摄像头采集的视频。
    • +
    +
    + + publishMicrophoneTrack + 设置是否发布麦克风采集的音频。
      +
    • : 发布麦克风采集的音频。
    • +
    • :(默认)不发布麦克风采集的音频。
    • +
    +
    + + publishCustomAudioTrack + 设置是否发布自定义采集的音频。
      +
    • : 发布自定义采集的音频。
    • +
    • :(默认)不发布自定义采集的音频。
    • +
    +
    + + publishMediaPlayerAudioTrack + 设置是否发布媒体播放器的音频。
      +
    • : 发布媒体播放器的音频。
    • +
    • :(默认)不发布媒体播放器的音频。
    • +
    +
    + + publishCustomVideoTrack + 设置是否发布自定义采集的视频。
      +
    • : 发布自定义采集的视频。
    • +
    • :(默认)不发布自定义采集的视频。
    • +
    +
    + + publishMediaPlayerId + 待发布的媒体播放器的 ID。默认值为 0。 + + + customVideoTrackId + 调用 方法返回的视频轨道 ID。默认值为 0。 + + +
    diff --git a/dita/RTC-NG/API/class_directcdnstreamingstats.dita b/dita/RTC-NG/API/class_directcdnstreamingstats.dita index 49d6fdbb25a..445461a9073 100644 --- a/dita/RTC-NG/API/class_directcdnstreamingstats.dita +++ b/dita/RTC-NG/API/class_directcdnstreamingstats.dita @@ -1,12 +1,12 @@ - <ph keyref="DirectCdnStreamingStats" /> + <ph keyref="DirectCdnStreamingStats"/> 当前 CDN 推流的统计数据。

    - public class DirectCdnStreamingStats { + public class DirectCdnStreamingStats { public int videoWidth; public int videoHeight; public int fps; @@ -21,21 +21,21 @@ audioBitrate = 0; } } - __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingStats : NSObject + __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingStats : NSObject @property(assign, nonatomic) NSUInteger videoWidth; @property(assign, nonatomic) NSUInteger videoHeight; @property(assign, nonatomic) NSUInteger fps; @property(assign, nonatomic) NSUInteger videoBitrate; @property(assign, nonatomic) NSUInteger audioBitrate; @end - struct DirectCdnStreamingStats { + struct DirectCdnStreamingStats { int videoWidth; int videoHeight; int fps; int videoBitrate; int audioBitrate; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FDirectCdnStreamingStats { GENERATED_BODY() @@ -50,14 +50,14 @@ struct FDirectCdnStreamingStats { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DirectCdnStreamingStats") int audioBitrate; }; - export class DirectCdnStreamingStats { + export class DirectCdnStreamingStats { videoWidth?: number; videoHeight?: number; fps?: number; videoBitrate?: number; audioBitrate?: number; } - public class DirectCdnStreamingStats + public class DirectCdnStreamingStats { public int videoWidth { set; get; } public int videoHeight { set; get; } @@ -65,14 +65,14 @@ struct FDirectCdnStreamingStats { public int videoBitrate { set; get; } public int audioBitrate { set; get; } }; - export class DirectCdnStreamingStats { + export class DirectCdnStreamingStats { videoWidth?: number; videoHeight?: number; fps?: number; videoBitrate?: number; audioBitrate?: number; } - class DirectCdnStreamingStats { + class DirectCdnStreamingStats { const DirectCdnStreamingStats( {this.videoWidth, this.videoHeight, @@ -99,32 +99,34 @@ struct FDirectCdnStreamingStats { _$DirectCdnStreamingStatsFromJson(json); Map<String, dynamic> toJson() => _$DirectCdnStreamingStatsToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - videoWidth - 视频的宽度(px)。 - - - videoHeight - 视频的高度(px)。 - - - fps - 当前视频帧率(fps)。 - - - videoBitrate - 当前视频码率(bps)。 - - - audioBitrate - 当前音频码率(bps)。 - -
    + + videoWidth + 视频的宽度(px)。 + + + videoHeight + 视频的高度(px)。 + + + fps + 当前视频帧率(fps)。 + + + videoBitrate + 当前视频码率(bps)。 + + + audioBitrate + 当前音频码率(bps)。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_downlinknetworkinfo.dita b/dita/RTC-NG/API/class_downlinknetworkinfo.dita index b929e43e033..d7b913f6e69 100644 --- a/dita/RTC-NG/API/class_downlinknetworkinfo.dita +++ b/dita/RTC-NG/API/class_downlinknetworkinfo.dita @@ -6,34 +6,36 @@

    - public static class DownlinkNetworkInfo { + public static class DownlinkNetworkInfo { public int lastmile_buffer_delay_time_ms; public int bandwidth_estimation_bps; }; - __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject @property(nonatomic, assign) int lastmileBufferDelayTimeMs; @property(nonatomic, assign) int bandwidthEstimationBps; @end - - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - lastmile_buffer_delay_time_ms - lastmileBufferDelayTimeMs - Lastmile 缓冲的网络延迟 (ms)。 - - - bandwidth_estimation_bps - bandwidthEstimationBps - 网络带宽预估码率 (bps)。 - -
    + + lastmile_buffer_delay_time_ms + lastmileBufferDelayTimeMs + Lastmile 缓冲的网络延迟 (ms)。 + + + bandwidth_estimation_bps + bandwidthEstimationBps + 网络带宽预估码率 (bps)。 + + +
    diff --git a/dita/RTC-NG/API/class_echotestconfiguration.dita b/dita/RTC-NG/API/class_echotestconfiguration.dita index 67a5781219f..c93bdb7a0f1 100644 --- a/dita/RTC-NG/API/class_echotestconfiguration.dita +++ b/dita/RTC-NG/API/class_echotestconfiguration.dita @@ -1,12 +1,12 @@ - <ph keyref="EchoTestConfiguration" /> + <ph keyref="EchoTestConfiguration"/> 音视频通话回路测试的配置。

    - public class EchoTestConfiguration { + public class EchoTestConfiguration { public SurfaceView view = null; public boolean enableAudio = true; public boolean enableVideo = true; @@ -40,7 +40,7 @@ this.channelId = null; } } - NS_SWIFT_NAME(AgoraEchoTestConfiguration) + NS_SWIFT_NAME(AgoraEchoTestConfiguration) __attribute__((visibility("default"))) @interface AgoraEchoTestConfiguration : NSObject @property(strong, nonatomic) VIEW_CLASS* _Nullable view NS_SWIFT_NAME(view); @property(assign, nonatomic) BOOL enableAudio NS_SWIFT_NAME(enableAudio); @@ -49,7 +49,7 @@ __attribute__((visibility("default"))) @interface AgoraEchoTestConfiguration : N @property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId); @property(assign, nonatomic) NSInteger intervalInSeconds NS_SWIFT_NAME(intervalInSeconds); @end - + struct EchoTestConfiguration { view_t view; bool enableAudio; @@ -64,7 +64,7 @@ struct EchoTestConfiguration { EchoTestConfiguration() : view(OPTIONAL_NULLPTR), enableAudio(true), enableVideo(true), token(OPTIONAL_NULLPTR), channelId(OPTIONAL_NULLPTR), intervalInSeconds(2) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FEchoTestConfiguration { GENERATED_BODY() @@ -82,7 +82,7 @@ struct FEchoTestConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") int intervalInSeconds = 2; }; - export class EchoTestConfiguration { + export class EchoTestConfiguration { view?: any; @@ -96,7 +96,7 @@ struct FEchoTestConfiguration intervalInSeconds?: number; } - public class EchoTestConfiguration + public class EchoTestConfiguration { public view_t view; public bool enableAudio; @@ -105,7 +105,7 @@ struct FEchoTestConfiguration public string channelId; public int intervalInSeconds; }; - export class EchoTestConfiguration { + export class EchoTestConfiguration { view?: any; @@ -119,7 +119,7 @@ struct FEchoTestConfiguration intervalInSeconds?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class EchoTestConfiguration { const EchoTestConfiguration( {this.view, @@ -152,50 +152,57 @@ class EchoTestConfiguration { 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 - - - enableAudio - 是否开启音频设备: -
      -
    • : (默认) 开启音频设备。如需测试音频设备,请设为
    • -
    • : 关闭音频设备。
    • -
    -
    - - enableVideo - 是否开启视频设备: -
      -
    • : (默认) 开启视频设备。如需测试视频设备,请设为
    • -
    • : 关闭视频设备。
    • -
    -
    - 是否开启视频设备。暂不支持视频设备检测,请将该参数设为 -
    - - token - 用于保证音视频通话回路测试安全性的 Token。如果你在控制台未启用 App 证书,则不需要向该参数传值;如果你在控制台已启用 App 证书,则必须向该参数传入 Token,且在你生成 Token 时使用的 uid 必须为 0xFFFFFFFF,使用的频道名必须为标识每个音视频通话回路测试的频道名。服务端生成 Token 的方式请参考 - - - channelId - 标识每个音视频通话回路测试的频道名。为保证回路测试功能正常,同一个项目(App ID) 的各终端用户在不同设备上做音视频通话回路测试时,传入的标识每个回路测试的频道名不能相同。 - - - intervalInSeconds - 设置返回音视频回路测试结果的时间间隔或延迟,取值范围为 [2,10],单位为秒,默认为 2 秒。 -
      -
    • 对于音频回路测试,测试结果会根据你设置的时间间隔返回。
    • -
    • 对于视频回路测试,视频画面会在短时间内显示,之后延迟会逐渐增加,直至达到你设置的延迟。
    • -
    -
    -
    -
    + + view + 用于渲染本地用户视频的视图。该参数仅适用于测试视频设备的场景,请确保 enableVideo + + + enableAudio + 是否开启音频设备:
      +
    • : (默认) 开启音频设备。如需测试音频设备,请设为
    • +
    • : 关闭音频设备。
    • +
    +
    + + enableVideo + 是否开启视频设备:
      +
    • : (默认) 开启视频设备。如需测试视频设备,请设为
    • +
    • : 关闭视频设备。
    • +
    +
    + 是否开启视频设备。暂不支持视频设备检测,请将该参数设为 +
    + + token + 用于保证音视频通话回路测试安全性的 Token。如果你在控制台未启用 App 证书,则不需要向该参数传值;如果你在控制台已启用 App + 证书,则必须向该参数传入 Token,且在你生成 Token 时使用的 uid 必须为 + 0xFFFFFFFF,使用的频道名必须为标识每个音视频通话回路测试的频道名。服务端生成 Token 的方式请参考 + + + channelId + 标识每个音视频通话回路测试的频道名。为保证回路测试功能正常,同一个项目(App ID) + 的各终端用户在不同设备上做音视频通话回路测试时,传入的标识每个回路测试的频道名不能相同。 + + + intervalInSeconds + 设置返回音视频回路测试结果的时间间隔或延迟,取值范围为 [2,10],单位为秒,默认为 2 秒。
      +
    • 对于音频回路测试,测试结果会根据你设置的时间间隔返回。
    • +
    • 对于视频回路测试,视频画面会在短时间内显示,之后延迟会逐渐增加,直至达到你设置的延迟。
    • +
    +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_encodedaudioframeinfo.dita b/dita/RTC-NG/API/class_encodedaudioframeinfo.dita index f480cb6a660..058aeea2ccf 100644 --- a/dita/RTC-NG/API/class_encodedaudioframeinfo.dita +++ b/dita/RTC-NG/API/class_encodedaudioframeinfo.dita @@ -1,19 +1,19 @@ - <ph keyref="EncodedAudioFrameInfo" /> + <ph keyref="EncodedAudioFrameInfo"/> 编码后音频的信息。

    - - __attribute__((visibility("default"))) @interface AgoraEncodedAudioFrameInfo: NSObject + + __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; @end - struct EncodedAudioFrameInfo { + struct EncodedAudioFrameInfo { EncodedAudioFrameInfo() : codec(AUDIO_CODEC_AACLC), sampleRateHz(0), @@ -31,7 +31,7 @@ int numberOfChannels; EncodedAudioFrameAdvancedSettings advancedSettings; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FEncodedAudioFrameInfo { GENERATED_BODY() UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") @@ -47,7 +47,7 @@ struct FEncodedAudioFrameInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") int64 captureTimeMs; }; - export class EncodedAudioFrameInfo { + export class EncodedAudioFrameInfo { codec?: AudioCodecType; @@ -61,7 +61,7 @@ struct FEncodedAudioFrameInfo { captureTimeMs?: number; } - public class EncodedAudioFrameInfo + public class EncodedAudioFrameInfo { public EncodedAudioFrameInfo() { @@ -94,7 +94,7 @@ struct FEncodedAudioFrameInfo { public int64_t captureTimeMs; }; - export class EncodedAudioFrameInfo { + export class EncodedAudioFrameInfo { codec?: AudioCodecType; @@ -108,7 +108,7 @@ struct FEncodedAudioFrameInfo { captureTimeMs?: number; } - class EncodedAudioFrameInfo { + class EncodedAudioFrameInfo { const EncodedAudioFrameInfo( {this.codec, this.sampleRateHz, @@ -143,35 +143,37 @@ struct FEncodedAudioFrameInfo {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - codec - codecType - 音频编码规格: - - - sampleRateHz - samplesPerSec - 音频采样率 (Hz)。 - - - samplesPerChannel - 每个声道的音频采样数。 - - - numberOfChannels - channels - 声道数。 - - - advancedSettings - 该功能暂不支持。 - - + + codec + codecType + 音频编码规格: + + + sampleRateHz + samplesPerSec + 音频采样率 (Hz)。 + + + samplesPerChannel + 每个声道的音频采样数。 + + + numberOfChannels + channels + 声道数。 + + + advancedSettings + 该功能暂不支持。 + + 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 0876108cf34..531760379b8 100644 --- a/dita/RTC-NG/API/class_encodedvideoframeinfo.dita +++ b/dita/RTC-NG/API/class_encodedvideoframeinfo.dita @@ -1,12 +1,12 @@ - <ph keyref="EncodedVideoFrameInfo" /> - 外部编码视频帧的信息。 - -
    -

    - public class EncodedVideoFrameInfo { + <ph keyref="EncodedVideoFrameInfo"/> + 外部编码视频帧的信息。 + +

    +

    + public class EncodedVideoFrameInfo { public int codecType; public int width; public int height; @@ -106,7 +106,7 @@ } } - __attribute__((visibility("default"))) @interface AgoraEncodedVideoFrameInfo: NSObject + __attribute__((visibility("default"))) @interface AgoraEncodedVideoFrameInfo: NSObject @property (assign, nonatomic) AgoraVideoCodecType codecType; @property (assign, nonatomic) NSInteger width; @@ -120,7 +120,7 @@ @property (assign, nonatomic) AgoraVideoStreamType streamType; @end - struct EncodedVideoFrameInfo { + struct EncodedVideoFrameInfo { EncodedVideoFrameInfo() : codecType(VIDEO_CODEC_H264), width(0), @@ -162,7 +162,7 @@ streamType = rhs.streamType; return *this; } - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FEncodedVideoFrameInfo { GENERATED_BODY() @@ -189,7 +189,7 @@ struct FEncodedVideoFrameInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") EVIDEO_STREAM_TYPE streamType; }; -export class EncodedVideoFrameInfo { + export class EncodedVideoFrameInfo { codecType?: VideoCodecType; @@ -211,7 +211,7 @@ struct FEncodedVideoFrameInfo { streamType?: VideoStreamType; } - public class EncodedVideoFrameInfo + public class EncodedVideoFrameInfo { public EncodedVideoFrameInfo() { @@ -261,7 +261,7 @@ struct FEncodedVideoFrameInfo { public VIDEO_STREAM_TYPE streamType { set; get; } }; - export class EncodedVideoFrameInfo { + export class EncodedVideoFrameInfo { codecType?: VideoCodecType; @@ -283,7 +283,7 @@ struct FEncodedVideoFrameInfo { streamType?: VideoStreamType; } - class EncodedVideoFrameInfo { + class EncodedVideoFrameInfo { const EncodedVideoFrameInfo( {this.codecType, this.width, @@ -331,88 +331,92 @@ struct FEncodedVideoFrameInfo { Map<String, dynamic> toJson() => _$EncodedVideoFrameInfoToJson(this); } -

    -
    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - - - codecType - 视频编码类型,详见 。默认值为 (2) -

    视频编解码类型: -

      -
    • (1):VP8。
    • -
    • (2):H.264。
    • -
    • (3):(默认)H.265。
    • -
    - 在某些场景(如采集到的视频流分辨率过低、设备性能有限)下,SDK 会自动调整为 H.264 编码格式。

    -
    - - width - 视频帧的宽度 (px)。 - - - height - 视频帧的高度 (px)。 - - - framesPerSecond - -

    每秒的视频帧数。

    -

    当该参数不为 0 时,你可以用它计算外部编码视频帧的 Unix 时间戳。

    -
    -
    - - frameType - 视频帧的类型,详见 - 视频帧的类型: - -
      -
    • 0:(默认),空白帧。
    • -
    • 3:,关键帧。
    • -
    • 4:,Delta 帧。
    • -
    • 5:,B 帧。
    • -
    • 6:,未知。
    • -
    -
    - - rotation - 视频帧的旋转信息,详见 - 视频帧的旋转信息,取值如下: - -
      -
    • 0:(默认)不旋转。
    • -
    • 90:顺时针旋转 90 度。
    • -
    • 180:顺时针旋转 180 度。
    • -
    • 270:顺时针旋转 270 度。
    • -
    -
    - - trackId - 预留参数。 - 轨道 ID。适用于频道中有多个视频轨道的场景。 - - - captureTimeMs - 采集外部编码视频帧的 Unix 时间戳 (ms)。 - - - decodeTimeMs - 将外部编码视频帧进行解码的时间戳 (ms)。 - - - uid - 推送外部编码视频帧的用户 ID。 - - - streamType - 视频流类型。详见 - -
      -
    • (0):视频大流,即高分辨率、高码率视频流。
    • -
    • (1):视频小流,即低分辨率、低码率视频流。
    • -
    -
    -
    - +

    +
    +
    + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + + + codecType + 视频编码类型,详见 。默认值为 + (2) +

    视频编解码类型:

      +
    • (1):VP8。
    • +
    • (2):H.264。
    • +
    • (3):(默认)H.265。
    • +
    + 在某些场景(如采集到的视频流分辨率过低、设备性能有限)下,SDK 会自动调整为 H.264 编码格式。

    +
    + + width + 视频帧的宽度 (px)。 + + + height + 视频帧的高度 (px)。 + + + framesPerSecond + +

    每秒的视频帧数。

    +

    当该参数不为 0 时,你可以用它计算外部编码视频帧的 Unix 时间戳。

    +
    +
    + + frameType + 视频帧的类型,详见 + 视频帧的类型:
      +
    • 0:(默认),空白帧。
    • +
    • 3:,关键帧。
    • +
    • 4:,Delta 帧。
    • +
    • 5:,B 帧。
    • +
    • 6:,未知。
    • +
    +
    + + rotation + 视频帧的旋转信息,详见 + 视频帧的旋转信息,取值如下:
      +
    • 0:(默认)不旋转。
    • +
    • 90:顺时针旋转 90 度。
    • +
    • 180:顺时针旋转 180 度。
    • +
    • 270:顺时针旋转 270 度。
    • +
    +
    +
    + + trackId + 预留参数。 + 轨道 ID。适用于频道中有多个视频轨道的场景。 + + + captureTimeMs + 采集外部编码视频帧的 Unix 时间戳 (ms)。 + + + decodeTimeMs + 将外部编码视频帧进行解码的时间戳 (ms)。 + + + uid + 推送外部编码视频帧的用户 ID。 + + + streamType + 视频流类型。详见 + +
      +
    • (0):视频大流,即高分辨率、高码率视频流。
    • +
    • (1):视频小流,即低分辨率、低码率视频流。
    • +
    +
    +
    +
    +
    +
    diff --git a/dita/RTC-NG/API/class_encryptionconfig.dita b/dita/RTC-NG/API/class_encryptionconfig.dita index 3d7ba2cf8ac..f73fb3085fe 100644 --- a/dita/RTC-NG/API/class_encryptionconfig.dita +++ b/dita/RTC-NG/API/class_encryptionconfig.dita @@ -1,12 +1,12 @@ - <ph keyref="EncryptionConfig" /> + <ph keyref="EncryptionConfig"/> 配置内置加密模式和密钥。

    - public class EncryptionConfig { + public class EncryptionConfig { public EncryptionMode encryptionMode; public String encryptionKey; public final byte[] encryptionKdfSalt = new byte[32]; @@ -19,14 +19,14 @@ java.util.Arrays.fill(encryptionKdfSalt, (byte) 0); } } - __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject + __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 - struct EncryptionConfig { + struct EncryptionConfig { ENCRYPTION_MODE encryptionMode; const char* encryptionKey; uint8_t encryptionKdfSalt[32]; @@ -40,7 +40,7 @@ memset(encryptionKdfSalt, 0, sizeof(encryptionKdfSalt)); } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FEncryptionConfig { GENERATED_BODY() @@ -52,7 +52,7 @@ struct FEncryptionConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig") FString encryptionKdfSalt; }; - export class EncryptionConfig { + export class EncryptionConfig { encryptionMode?: EncryptionMode; @@ -62,14 +62,14 @@ struct FEncryptionConfig datastreamEncryptionEnabled?: boolean; } - public class EncryptionConfig + public class EncryptionConfig { public ENCRYPTION_MODE encryptionMode; public string encryptionKey; public byte[] encryptionKdfSalt; public bool datastreamEncryptionEnabled; } - export class EncryptionConfig { + export class EncryptionConfig { encryptionMode?: EncryptionMode; @@ -79,7 +79,7 @@ struct FEncryptionConfig datastreamEncryptionEnabled?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class EncryptionConfig { const EncryptionConfig( {this.encryptionMode, @@ -107,37 +107,46 @@ class EncryptionConfig {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - encryptionMode - -

    内置加密模式。详见 。建议使用 加密模式。这两种模式支持使用盐,安全性更高。

    -
    -
    - - encryptionKey - -

    内置加密密钥,字符串类型,长度无限制。建议使用 32 字节的密钥。

    - 如果未指定该参数或将该参数设置为 ,则无法启用内置加密,且 SDK 会返回错误码 -2
    -
    - - encryptionKdfSalt - -

    盐,长度为 32 字节。建议你在服务端使用 OpenSSL 生成盐。

    -

    如需在 App 中添加声网内置媒体流加密,详见

    - 只有在 加密模式下,该参数才生效。此时,需确保填入该参数的值不全为 0 -
    -
    - - datastreamEncryptionEnabled - 是否开启数据流加密: -
      -
    • :开启数据流加密。
    • -
    • :(默认)关闭数据流加密。
    • -
    -
    -
    -
    + + encryptionMode + +

    内置加密模式。详见 。建议使用 + 加密模式。这两种模式支持使用盐,安全性更高。

    +
    +
    + + encryptionKey + +

    内置加密密钥,字符串类型,长度无限制。建议使用 32 字节的密钥。

    + 如果未指定该参数或将该参数设置为 ,则无法启用内置加密,且 + SDK 会返回错误码 -2 +
    +
    + + encryptionKdfSalt + +

    盐,长度为 32 字节。建议你在服务端使用 OpenSSL 生成盐。

    +

    如需在 App 中添加声网内置媒体流加密,详见

    + 只有在 加密模式下,该参数才生效。此时,需确保填入该参数的值不全为 + 0 +
    +
    + + datastreamEncryptionEnabled + 是否开启数据流加密: +
      +
    • :开启数据流加密。
    • +
    • :(默认)关闭数据流加密。
    • +
    +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_externalvideoframe.dita b/dita/RTC-NG/API/class_externalvideoframe.dita index 5025251be92..3ac92ea6d06 100644 --- a/dita/RTC-NG/API/class_externalvideoframe.dita +++ b/dita/RTC-NG/API/class_externalvideoframe.dita @@ -6,7 +6,7 @@

    - public class AgoraVideoFrame { + public class AgoraVideoFrame { public static final int FORMAT_NONE = -1; public static final int FORMAT_TEXTURE_2D = 10; public static final int FORMAT_TEXTURE_OES = 11; @@ -35,7 +35,7 @@ public int cropBottom; public int rotation; } - __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject @property(assign, nonatomic) NSInteger format; @property(assign, nonatomic) CMTime time; @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead"); @@ -49,7 +49,7 @@ @property(assign, nonatomic) int cropBottom; @property(assign, nonatomic) int rotation; @end - struct ExternalVideoFrame { + struct ExternalVideoFrame { ExternalVideoFrame() : type(VIDEO_BUFFER_RAW_DATA), format(VIDEO_PIXEL_DEFAULT), @@ -98,7 +98,7 @@ void *d3d11_texture_2d; int texture_slice_index; }; - export class ExternalVideoFrame { + export class ExternalVideoFrame { type?: VideoBufferType; format?: VideoPixelFormat; buffer?: Uint8Array; @@ -116,7 +116,7 @@ metadata_buffer?: Uint8Array; metadata_size?: number; } - public class ExternalVideoFrame + public class ExternalVideoFrame { public VIDEO_BUFFER_TYPE type; public VIDEO_PIXEL_FORMAT format; @@ -137,7 +137,7 @@ public IntPtr d3d11_texture_2d; public int texture_slice_index; }; - export class ExternalVideoFrame { + export class ExternalVideoFrame { type?: VideoBufferType; format?: VideoPixelFormat; buffer?: Uint8Array; @@ -155,7 +155,7 @@ metadata_buffer?: Uint8Array; metadata_size?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class ExternalVideoFrame { const ExternalVideoFrame( {this.type, @@ -236,195 +236,193 @@ class ExternalVideoFrame { Map<String, dynamic> toJson() => _$ExternalVideoFrameToJson(this); } -

    +

    - -
    弃用:
    -
    该类已废弃。
    -
    + +
    弃用:
    +
    该类已废弃。
    +
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - -

    视频类型。详见

    -
    -
    - - format - 像素格式。详见 - 传入的视频帧的格式,必须指定为下面的某一个值: - -
      -
    • 1: I420。
    • -
    • 2: BGRA。
    • -
    • 3: NV21。
    • -
    • 4: RGBA。
    • -
    • 5: IMC2。
    • -
    • 7: ARGB。
    • -
    • 8: NV12。
    • -
    • 12: iOS 纹理 (CVPixelBufferRef)。
    • -
    • 16: I422。
    • -
    - 视频数据的格式: - -
      -
    • 10:TEXTURE_2D。
    • -
    • 11:TEXTURE_OES,通常摄像头采集的数据为这种格式。
    • -
    • 1:I420。
    • -
    • 3:NV21。
    • -
    • 4:RGBA。
    • -
    • 16:I422。
    • -
    -
    - - buffer - buf - dataBuf - 视频缓冲区。 - 该参数仅适用于非 Texture 格式的视频数据。 - 原始数据缓冲区,该参数不用于 iOS 纹理。 - - - textureBuf - iOS 纹理的 Buffer。 - - - stride - 传入视频帧的行间距,单位为像素而不是字节。对于 Texture,该值指的是 Texture 的宽度。 - -

    -

    - -
    弃用:
    -
    strideInPixels 代替。
    -
    -
    - 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 -

    -
    -
    - - strideInPixels - 该帧的行跨度,即相邻两行视频帧之间的像素点数。 - - -
      -
    • 该参数单位为像素,不是字节数。
    • -
    • 如果视频为 Texture 格式,则将该参数设为 Texture 的宽度。
    • -
    • 如果视频帧格式设为 12,则不使用该字段。
    • -
    • 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。
    • -
    -
    - - height - 传入视频帧的高度。 - - - textureID - 该帧的 Texture ID。该参数仅适用于 Texture 格式的视频数据。 - - - syncMode - 设置是否开启同步模式,开启后 SDK 会在 Texture 处理时进行等待。该参数仅适用于 Texture 格式的视频数据。 -
      -
    • :开启同步模式。
    • -
    • :不开启同步模式。
    • -
    -
    - - transform - Texture 帧额外的转换。该参数仅适用于 Texture 格式的视频数据。 - - - eglContext11 - EGLContext11。该参数仅适用于 Texture 格式的视频数据。 - - - 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 变换矩阵,典型值为一个单位矩阵。 - - - metadata_buffer - metadataBuffer - 该参数仅适用于 Texture 格式的视频数据。指 MetaData 的数据缓冲区,默认值为 NULL - - - metadata_size - metadataSize - 该参数仅适用于 Texture 格式的视频数据。指 MetaData 的大小,默认值为 0 - - - d3d11_texture_2d - 该参数仅适用于 Windows Texture 格式的视频数据。表示一个指向 ID3D11Texture2D 类型对象的指针,该类型对象被视频帧所使用。 - - - texture_slice_index - textureSliceIndex - 该参数仅适用于 Windows Texture 格式的视频数据。表示在 ID3D11Texture2D 数组中,被视频帧使用的某一个 ID3D11Texture2D 纹理对象的索引。 - - - cropLeft - 原始数据相关字段。指定左边裁剪掉的像素数量。默认为 0。 - 该参数仅适用于非 Texture 格式的视频数据。 - 该参数仅适用于原始视频数据。 - - - cropTop - 原始数据相关字段。指定顶边裁剪掉的像素数量。默认为 0。 - 该参数仅适用于非 Texture 格式的视频数据。 - 该参数仅适用于原始视频数据。 - - - cropRight - 原始数据相关字段。指定右边裁剪掉的像素数量。默认为 0。 - 该参数仅适用于非 Texture 格式的视频数据。 - 该参数仅适用于原始视频数据。 - - - cropBottom - 原始数据相关字段。指定底边裁剪掉的像素数量。默认为 0。 - 该参数仅适用于非 Texture 格式的视频数据。 - 该参数仅适用于原始视频数据。 - - - rotation - 原始数据相关字段。指定是否对传入的视频组做顺时针旋转操作,可选值为 0, 90, 180, 270。默认为 0。 - - - timestamp - time - 传入的视频帧的时间戳,以毫秒为单位。不正确的时间戳会导致丢帧或者音视频不同步。 - -
    + + type + +

    视频类型。详见

    +
    +
    + + format + 像素格式。详见 + 传入的视频帧的格式,必须指定为下面的某一个值:
      +
    • 1: I420。
    • +
    • 2: BGRA。
    • +
    • 3: NV21。
    • +
    • 4: RGBA。
    • +
    • 5: IMC2。
    • +
    • 7: ARGB。
    • +
    • 8: NV12。
    • +
    • 12: iOS 纹理 (CVPixelBufferRef)。
    • +
    • 16: I422。
    • +
    +
    + 视频数据的格式:
      +
    • 10:TEXTURE_2D。
    • +
    • 11:TEXTURE_OES,通常摄像头采集的数据为这种格式。
    • +
    • 1:I420。
    • +
    • 3:NV21。
    • +
    • 4:RGBA。
    • +
    • 16:I422。
    • +
    +
    +
    + + buffer + buf + dataBuf + 视频缓冲区。 + 该参数仅适用于非 Texture 格式的视频数据。 + 原始数据缓冲区,该参数不用于 iOS 纹理。 + + + textureBuf + iOS 纹理的 Buffer。 + + + stride + 传入视频帧的行间距,单位为像素而不是字节。对于 Texture,该值指的是 Texture 的宽度。

    +

    + +
    弃用:
    +
    strideInPixels 代替。
    +
    +
    + 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 +

    +
    +
    + + strideInPixels + 该帧的行跨度,即相邻两行视频帧之间的像素点数。 +
      +
    • 该参数单位为像素,不是字节数。
    • +
    • 如果视频为 Texture 格式,则将该参数设为 Texture 的宽度。
    • +
    • 如果视频帧格式设为 12,则不使用该字段。
    • +
    • 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。
    • +
    +
    +
    + + height + 传入视频帧的高度。 + + + textureID + 该帧的 Texture ID。该参数仅适用于 Texture 格式的视频数据。 + + + syncMode + 设置是否开启同步模式,开启后 SDK 会在 Texture 处理时进行等待。该参数仅适用于 Texture 格式的视频数据。
      +
    • :开启同步模式。
    • +
    • :不开启同步模式。
    • +
    +
    + + transform + Texture 帧额外的转换。该参数仅适用于 Texture 格式的视频数据。 + + + eglContext11 + EGLContext11。该参数仅适用于 Texture 格式的视频数据。 + + + 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 变换矩阵,典型值为一个单位矩阵。 + + + metadata_buffer + metadataBuffer + 该参数仅适用于 Texture 格式的视频数据。指 MetaData 的数据缓冲区,默认值为 NULL + + + metadata_size + metadataSize + 该参数仅适用于 Texture 格式的视频数据。指 MetaData 的大小,默认值为 0 + + + d3d11_texture_2d + 该参数仅适用于 Windows Texture 格式的视频数据。表示一个指向 ID3D11Texture2D + 类型对象的指针,该类型对象被视频帧所使用。 + + + texture_slice_index + textureSliceIndex + 该参数仅适用于 Windows Texture 格式的视频数据。表示在 ID3D11Texture2D + 数组中,被视频帧使用的某一个 ID3D11Texture2D 纹理对象的索引。 + + + cropLeft + 原始数据相关字段。指定左边裁剪掉的像素数量。默认为 0。 + 该参数仅适用于非 Texture 格式的视频数据。 + 该参数仅适用于原始视频数据。 + + + cropTop + 原始数据相关字段。指定顶边裁剪掉的像素数量。默认为 0。 + 该参数仅适用于非 Texture 格式的视频数据。 + 该参数仅适用于原始视频数据。 + + + cropRight + 原始数据相关字段。指定右边裁剪掉的像素数量。默认为 0。 + 该参数仅适用于非 Texture 格式的视频数据。 + 该参数仅适用于原始视频数据。 + + + cropBottom + 原始数据相关字段。指定底边裁剪掉的像素数量。默认为 0。 + 该参数仅适用于非 Texture 格式的视频数据。 + 该参数仅适用于原始视频数据。 + + + rotation + 原始数据相关字段。指定是否对传入的视频组做顺时针旋转操作,可选值为 0, 90, 180, 270。默认为 0。 + + + timestamp + time + 传入的视频帧的时间戳,以毫秒为单位。不正确的时间戳会导致丢帧或者音视频不同步。 + + +
    diff --git a/dita/RTC-NG/API/class_focallengthinfo.dita b/dita/RTC-NG/API/class_focallengthinfo.dita index 8c918d5c986..c98998378ae 100644 --- a/dita/RTC-NG/API/class_focallengthinfo.dita +++ b/dita/RTC-NG/API/class_focallengthinfo.dita @@ -6,7 +6,7 @@

    - public class AgoraFocalLengthInfo { + public class AgoraFocalLengthInfo { int cameraDirection; @@ -26,17 +26,17 @@ '}'; } } - __attribute__((visibility("default"))) @interface AgoraFocalLengthInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraFocalLengthInfo : NSObject @property(assign, nonatomic) int cameraDirection; @property(assign, nonatomic) AgoraFocalLength focalLengthType; @end - struct FocalLengthInfo { + struct FocalLengthInfo { int cameraDirection; CAMERA_FOCAL_LENGTH_TYPE focalLengthType; }; - - - public class FocalLengthInfo + + + public class FocalLengthInfo { public int cameraDirection; public CAMERA_FOCAL_LENGTH_TYPE focalLengthType; @@ -51,13 +51,13 @@ } } - export class FocalLengthInfo { + export class FocalLengthInfo { cameraDirection?: number; focalLengthType?: CameraFocalLengthType; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class FocalLengthInfo { const FocalLengthInfo({this.cameraDirection, this.focalLengthType}); @@ -71,14 +71,15 @@ class FocalLengthInfo { _$FocalLengthInfoFromJson(json); Map<String, dynamic> toJson() => _$FocalLengthInfoToJson(this); -}

    +} +

    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +
    仅适用于 Android 和 iOS。

    @@ -86,14 +87,15 @@ class FocalLengthInfo {

    参数 - - cameraDirection - 摄像头方向。详见 - - - focalLengthType - 焦距类型。详见 - -
    + + cameraDirection + 摄像头方向。详见 + + + focalLengthType + 焦距类型。详见 + + +
    diff --git a/dita/RTC-NG/API/class_iaudiodevicecollection.dita b/dita/RTC-NG/API/class_iaudiodevicecollection.dita index 734fd1bad07..9709c132bcd 100644 --- a/dita/RTC-NG/API/class_iaudiodevicecollection.dita +++ b/dita/RTC-NG/API/class_iaudiodevicecollection.dita @@ -1,6 +1,7 @@ - <ph keyref="IAudioDeviceCollection" /> - IAudioDeviceCollection 类。你可以通过该接口类获取音频设备相关的信息。 - \ No newline at end of file + <ph keyref="IAudioDeviceCollection"/> + IAudioDeviceCollection + 类。你可以通过该接口类获取音频设备相关的信息。 + diff --git a/dita/RTC-NG/API/class_iaudiodevicemanager.dita b/dita/RTC-NG/API/class_iaudiodevicemanager.dita index 62416b0593a..1d0cbe49356 100644 --- a/dita/RTC-NG/API/class_iaudiodevicemanager.dita +++ b/dita/RTC-NG/API/class_iaudiodevicemanager.dita @@ -1,11 +1,13 @@ - <ph keyref="IAudioDeviceManager" /> + <ph keyref="IAudioDeviceManager"/> 音频设备管理方法。
    -

    接口类提供用于测试音频设备的相关接口。你可以通过调用 方法来获取 接口。

    +

    + 接口类提供用于测试音频设备的相关接口。你可以通过调用 方法来获取 接口。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_iaudioencodedframeobserver.dita b/dita/RTC-NG/API/class_iaudioencodedframeobserver.dita index 007a0f234e6..453a79a2fc5 100644 --- a/dita/RTC-NG/API/class_iaudioencodedframeobserver.dita +++ b/dita/RTC-NG/API/class_iaudioencodedframeobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IAudioEncodedFrameObserver" /> + <ph keyref="IAudioEncodedFrameObserver"/> 编码后音频的观测器。 - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_iaudioframeobserver.dita b/dita/RTC-NG/API/class_iaudioframeobserver.dita index 2cb2fd961ae..8ee011742f9 100644 --- a/dita/RTC-NG/API/class_iaudioframeobserver.dita +++ b/dita/RTC-NG/API/class_iaudioframeobserver.dita @@ -1,12 +1,13 @@ - <ph keyref="IAudioFrameObserver" /> + <ph keyref="IAudioFrameObserver"/> 音频观测器。
    -

    继承自

    -

    你可以调用 注册或取消注册 音频观测器。

    +

    继承自

    +

    你可以调用 注册或取消注册 音频观测器。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_iaudioframeobserverbase.dita b/dita/RTC-NG/API/class_iaudioframeobserverbase.dita index 8994abfe65d..d03212ecbf4 100644 --- a/dita/RTC-NG/API/class_iaudioframeobserverbase.dita +++ b/dita/RTC-NG/API/class_iaudioframeobserverbase.dita @@ -1,11 +1,12 @@ - <ph keyref="IAudioFrameObserverBase" /> + <ph keyref="IAudioFrameObserverBase"/> 音频观测器。
    -

    你可以调用 注册或取消注册 音频观测器。

    +

    你可以调用 注册或取消注册 音频观测器。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_iaudiopcmframesink.dita b/dita/RTC-NG/API/class_iaudiopcmframesink.dita index ae54d9b7b2f..b7513363a51 100644 --- a/dita/RTC-NG/API/class_iaudiopcmframesink.dita +++ b/dita/RTC-NG/API/class_iaudiopcmframesink.dita @@ -2,10 +2,12 @@ <ph keyref="IAudioPcmFrameSink"/> - 该类用于获取原始的 PCM 音频数据。该协议用于获取原始音频数据。 + 该类用于获取原始的 PCM + 音频数据。该协议用于获取原始音频数据。
    -

    你可以继承这个类,实现 回调来获得 PCM 音频数据。

    +

    你可以继承这个类,实现 回调来获得 PCM 音频数据。

    你可以通过该协议下的 回调来获取原始音频数据。

    diff --git a/dita/RTC-NG/API/class_iaudioplaybackdevicemanager.dita b/dita/RTC-NG/API/class_iaudioplaybackdevicemanager.dita index b0c246936f9..8351ec07202 100644 --- a/dita/RTC-NG/API/class_iaudioplaybackdevicemanager.dita +++ b/dita/RTC-NG/API/class_iaudioplaybackdevicemanager.dita @@ -2,5 +2,6 @@ <ph keyref="IAudioPlaybackDeviceManager"/> - 类,用于关于音频播放设备。 + + 类,用于关于音频播放设备。 diff --git a/dita/RTC-NG/API/class_iaudiorecordingdevicemanager.dita b/dita/RTC-NG/API/class_iaudiorecordingdevicemanager.dita index 0a8f68c8f1b..4f2c40db590 100644 --- a/dita/RTC-NG/API/class_iaudiorecordingdevicemanager.dita +++ b/dita/RTC-NG/API/class_iaudiorecordingdevicemanager.dita @@ -2,5 +2,6 @@ <ph keyref="IAudioRecordingDeviceManager"/> - 类,用于关于音频采集设备。 + + 类,用于关于音频采集设备。 diff --git a/dita/RTC-NG/API/class_iaudiospectrumobserver.dita b/dita/RTC-NG/API/class_iaudiospectrumobserver.dita index 6bba1e95598..7d1fcd9461c 100644 --- a/dita/RTC-NG/API/class_iaudiospectrumobserver.dita +++ b/dita/RTC-NG/API/class_iaudiospectrumobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IAudioSpectrumObserver" /> + <ph keyref="IAudioSpectrumObserver"/> 音频频谱观测器。 - \ No newline at end of file +
    diff --git a/dita/RTC-NG/API/class_ibasespatialaudioengine.dita b/dita/RTC-NG/API/class_ibasespatialaudioengine.dita index b56cc52cf38..0dd8567c8f5 100644 --- a/dita/RTC-NG/API/class_ibasespatialaudioengine.dita +++ b/dita/RTC-NG/API/class_ibasespatialaudioengine.dita @@ -1,11 +1,13 @@ - <ph keyref="IBaseSpatialAudioEngine" /> - 该类包含 类中的部分 API。 + <ph keyref="IBaseSpatialAudioEngine"/> + 该类包含 类中的部分 + API。
    -

    类继承自

    +

    类继承自

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_idirectcdnstreamingeventhandler.dita b/dita/RTC-NG/API/class_idirectcdnstreamingeventhandler.dita index 7f6d20a3626..c75816bae38 100644 --- a/dita/RTC-NG/API/class_idirectcdnstreamingeventhandler.dita +++ b/dita/RTC-NG/API/class_idirectcdnstreamingeventhandler.dita @@ -1,6 +1,7 @@ - <ph keyref="IDirectCdnStreamingEventHandler" /> - 接口类用于 SDK 向 App 发送 CDN 推流的事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。 - \ No newline at end of file + <ph keyref="IDirectCdnStreamingEventHandler"/> + + 接口类用于 SDK 向 App 发送 CDN 推流的事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。 + diff --git a/dita/RTC-NG/API/class_ifaceinfoobserver.dita b/dita/RTC-NG/API/class_ifaceinfoobserver.dita index 815bc2fc68c..2376714085c 100644 --- a/dita/RTC-NG/API/class_ifaceinfoobserver.dita +++ b/dita/RTC-NG/API/class_ifaceinfoobserver.dita @@ -1,11 +1,12 @@ - <ph keyref="IFaceInfoObserver" /> + <ph keyref="IFaceInfoObserver"/> 人脸信息观测器。
    -

    你可以调用 注册或取消注册 观测器。

    +

    你可以调用 注册或取消注册 观测器。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_ilocalspatialaudioengine.dita b/dita/RTC-NG/API/class_ilocalspatialaudioengine.dita index c7249d68ed9..5872010f0fe 100644 --- a/dita/RTC-NG/API/class_ilocalspatialaudioengine.dita +++ b/dita/RTC-NG/API/class_ilocalspatialaudioengine.dita @@ -1,11 +1,13 @@ - <ph keyref="ILocalSpatialAudioEngine" /> + <ph keyref="ILocalSpatialAudioEngine"/> 该类通过 SDK 计算用户坐标,实现空间音效。
    -

    该类继承自 调用该类下其他 API 前,你需要调用 方法初始化该类。

    +

    该类继承自 调用该类下其他 API 前,你需要调用 方法初始化该类。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_imagetrackoptions.dita b/dita/RTC-NG/API/class_imagetrackoptions.dita index 7ddbef62c0a..ac65e166100 100644 --- a/dita/RTC-NG/API/class_imagetrackoptions.dita +++ b/dita/RTC-NG/API/class_imagetrackoptions.dita @@ -1,12 +1,12 @@ - <ph keyref="ImageTrackOptions" /> + <ph keyref="ImageTrackOptions"/> 垫片图片的设置选项。

    - public class ImageTrackOptions { + public class ImageTrackOptions { public String getImageUrl() { return imageUrl; } @@ -18,15 +18,15 @@ this.fps = fps; } } - __attribute__((visibility("default"))) @interface AgoraImageTrackOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraImageTrackOptions : NSObject @property(copy, nonatomic) NSString *_Nullable imageUrl; @property(assign, nonatomic) int fps; - struct ImageTrackOptions { + struct ImageTrackOptions { const char* imageUrl; int fps; ImageTrackOptions() : imageUrl(NULL), fps(1) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FImageTrackOptions { GENERATED_BODY() @@ -36,13 +36,13 @@ struct FImageTrackOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ImageTrackOptions") int fps = 1; }; - export class ImageTrackOptions { + export class ImageTrackOptions { imageUrl?: string; fps?: number; } - public class ImageTrackOptions + public class ImageTrackOptions { public string imageUrl { set; get; } public int fps { set; get; } @@ -53,13 +53,13 @@ struct FImageTrackOptions fps = 1; } }; - export class ImageTrackOptions { + export class ImageTrackOptions { imageUrl?: string; fps?: number; } - class ImageTrackOptions { + class ImageTrackOptions { const ImageTrackOptions({this.imageUrl, this.fps}); @JsonKey(name: 'imageUrl') @@ -73,21 +73,24 @@ struct FImageTrackOptions 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 - 垫片图片的 URL,目前支持 JPEG、JPG、PNG、GIF 格式的图片。支持从本地绝对路径或相对路径添加垫片图片。 - 在 Android 平台上,不支持从 /assets/ 中添加垫片图片。 - - + + imageUrl + 垫片图片的 URL,目前支持 JPEG、JPG、PNG、GIF 格式的图片。支持从本地绝对路径或相对路径添加垫片图片。 在 Android 平台上,不支持从 + /assets/ 中添加垫片图片。 + + fps 视频帧率,取值范围为 [1,30]。默认值为 1。 -
    + +
    diff --git a/dita/RTC-NG/API/class_imediaengine.dita b/dita/RTC-NG/API/class_imediaengine.dita index 5b8aac6511f..58b07d2598a 100644 --- a/dita/RTC-NG/API/class_imediaengine.dita +++ b/dita/RTC-NG/API/class_imediaengine.dita @@ -1,6 +1,6 @@ - <ph keyref="IMediaEngine" /> - 类。 - \ No newline at end of file + <ph keyref="IMediaEngine"/> + 类。 + diff --git a/dita/RTC-NG/API/class_imediaengineevent.dita b/dita/RTC-NG/API/class_imediaengineevent.dita index 2782d80e127..18890e61d18 100644 --- a/dita/RTC-NG/API/class_imediaengineevent.dita +++ b/dita/RTC-NG/API/class_imediaengineevent.dita @@ -2,29 +2,34 @@ <ph keyref="IMediaEngineEvent"/> - 接口,用于合并 对象的相关事件接口。 + 接口,用于合并 对象的相关事件接口。

    - - - - export type IMediaEngineEvent = IAudioFrameObserver & + + + + export type IMediaEngineEvent = IAudioFrameObserver & IVideoFrameObserver & IVideoEncodedFrameObserver; - - export type IMediaEngineEvent = IAudioFrameObserver & + + export type IMediaEngineEvent = IAudioFrameObserver & IVideoFrameObserver & IVideoEncodedFrameObserver; -

    +

    该接口合并了以下接口: -

      -
    • -
    • -
    • -
    你可以调用 , 方法来添加监听或取消监听上述接口下的回调事件。

    +
      +
    • +
    • +
    • +
    + 你可以调用 , 方法来添加监听或取消监听上述接口下的回调事件。 +

    diff --git a/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita b/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita index 85cd72561a4..3f1dc6e344e 100644 --- a/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita +++ b/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita @@ -6,24 +6,26 @@

    - - @protocol AgoraMediaFilterExtensionDelegate <NSObject> + + @protocol AgoraMediaFilterExtensionDelegate <NSObject> - (NSString * __nonnull)vendor; @end - - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - vendor - 提供插件的服务商名称。 - -
    + + vendor + 提供插件的服务商名称。 + + +
    diff --git a/dita/RTC-NG/API/class_imediaplayer.dita b/dita/RTC-NG/API/class_imediaplayer.dita index ce26f03c589..a25e362a1b9 100644 --- a/dita/RTC-NG/API/class_imediaplayer.dita +++ b/dita/RTC-NG/API/class_imediaplayer.dita @@ -1,6 +1,6 @@ - <ph keyref="IMediaPlayer" /> + <ph keyref="IMediaPlayer"/> 提供媒体播放器功能的类,支持多实例。 - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_imediaplayeraudioframeobserver.dita b/dita/RTC-NG/API/class_imediaplayeraudioframeobserver.dita index ddef9300507..e85250295c4 100644 --- a/dita/RTC-NG/API/class_imediaplayeraudioframeobserver.dita +++ b/dita/RTC-NG/API/class_imediaplayeraudioframeobserver.dita @@ -1,11 +1,12 @@ - <ph keyref="IMediaPlayerAudioFrameObserver" /> + <ph keyref="IMediaPlayerAudioFrameObserver"/> 媒体播放器的音频数据观测器。
    -

    你可以调用 注册或取消注册 观测器。

    +

    你可以调用 注册或取消注册 观测器。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_imediaplayercachemanager.dita b/dita/RTC-NG/API/class_imediaplayercachemanager.dita index 6d8c1fcff87..ec1362edbd3 100644 --- a/dita/RTC-NG/API/class_imediaplayercachemanager.dita +++ b/dita/RTC-NG/API/class_imediaplayercachemanager.dita @@ -1,6 +1,6 @@ - <ph keyref="IMediaPlayerCacheManager" /> + <ph keyref="IMediaPlayerCacheManager"/> 该类提供管理媒体播放器中缓存媒体文件的方法。 - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_imediaplayercustomdataprovider.dita b/dita/RTC-NG/API/class_imediaplayercustomdataprovider.dita index 875be695bcd..71a69c3c634 100644 --- a/dita/RTC-NG/API/class_imediaplayercustomdataprovider.dita +++ b/dita/RTC-NG/API/class_imediaplayercustomdataprovider.dita @@ -1,6 +1,6 @@ - <ph keyref="IMediaPlayerCustomDataProvider" /> + <ph keyref="IMediaPlayerCustomDataProvider"/> 提供打开自定义媒体资源文件的回调。 - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_imediaplayerevent.dita b/dita/RTC-NG/API/class_imediaplayerevent.dita index ce6104d724c..941578073ec 100644 --- a/dita/RTC-NG/API/class_imediaplayerevent.dita +++ b/dita/RTC-NG/API/class_imediaplayerevent.dita @@ -2,32 +2,37 @@ <ph keyref="IMediaPlayerEvent"/> - 接口,用于合并 对象的相关事件接口。 + 接口,用于合并 对象的相关事件接口。

    - - - - export type IMediaPlayerEvent = IMediaPlayerSourceObserver & + + + + export type IMediaPlayerEvent = IMediaPlayerSourceObserver & IMediaPlayerAudioFrameObserver & IMediaPlayerVideoFrameObserver & IAudioSpectrumObserver; - - export type IMediaPlayerEvent = IMediaPlayerSourceObserver & + + export type IMediaPlayerEvent = IMediaPlayerSourceObserver & IMediaPlayerAudioFrameObserver & IMediaPlayerVideoFrameObserver & IAudioSpectrumObserver; -

    +

    该接口合并了以下接口: -

      -
    • -
    • -
    • -
    • -
    你可以调用 , 方法来添加监听或取消监听上述接口下的回调事件。

    +
      +
    • +
    • +
    • +
    • +
    + 你可以调用 , 方法来添加监听或取消监听上述接口下的回调事件。 +

    diff --git a/dita/RTC-NG/API/class_imediaplayersourceobserver.dita b/dita/RTC-NG/API/class_imediaplayersourceobserver.dita index e8bc7a43df4..ccef239c8c4 100644 --- a/dita/RTC-NG/API/class_imediaplayersourceobserver.dita +++ b/dita/RTC-NG/API/class_imediaplayersourceobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IMediaPlayerSourceObserver" /> + <ph keyref="IMediaPlayerSourceObserver"/> 提供媒体播放器的回调。 - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_imediaplayervideoframeobserver.dita b/dita/RTC-NG/API/class_imediaplayervideoframeobserver.dita index 68f8169a2c3..62062839262 100644 --- a/dita/RTC-NG/API/class_imediaplayervideoframeobserver.dita +++ b/dita/RTC-NG/API/class_imediaplayervideoframeobserver.dita @@ -1,11 +1,12 @@ - <ph keyref="IMediaPlayerVideoFrameObserver" /> + <ph keyref="IMediaPlayerVideoFrameObserver"/> 媒体播放器的视频数据观测器。
    -

    你可以调用 注册或取消注册 观测器。

    +

    你可以调用 注册或取消注册 观测器。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_imediarecorderevent.dita b/dita/RTC-NG/API/class_imediarecorderevent.dita index 270279e6944..29583c157e1 100644 --- a/dita/RTC-NG/API/class_imediarecorderevent.dita +++ b/dita/RTC-NG/API/class_imediarecorderevent.dita @@ -2,20 +2,25 @@ <ph keyref="IMediaRecorderEvent"/> - 接口,用于合并 对象的相关事件接口。 + 接口,用于合并 对象的相关事件接口。

    - - - - export type IMediaRecorderEvent = IMediaRecorderObserver; - - export type IMediaRecorderEvent = IMediaRecorderObserver; -

    + + + + export type IMediaRecorderEvent = IMediaRecorderObserver; + + export type IMediaRecorderEvent = IMediaRecorderObserver; +

    -

    该接口合并了 接口。你可以调用 , 方法来添加监听或取消监听上述接口下的回调事件。

    +

    该接口合并了 接口。你可以调用 , 方法来添加监听或取消监听上述接口下的回调事件。 +

    diff --git a/dita/RTC-NG/API/class_imediarecorderobserver.dita b/dita/RTC-NG/API/class_imediarecorderobserver.dita index da23a5fe0e3..e5153859e99 100644 --- a/dita/RTC-NG/API/class_imediarecorderobserver.dita +++ b/dita/RTC-NG/API/class_imediarecorderobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IMediaRecorderObserver" /> + <ph keyref="IMediaRecorderObserver"/> 包含音视频录制的事件。 - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_imetadataobserver.dita b/dita/RTC-NG/API/class_imetadataobserver.dita index abed451df7f..abe555bd4b5 100644 --- a/dita/RTC-NG/API/class_imetadataobserver.dita +++ b/dita/RTC-NG/API/class_imetadataobserver.dita @@ -1,11 +1,12 @@ - <ph keyref="IMetadataObserver" /> + <ph keyref="IMetadataObserver"/> Metadata 观测器。
    -

    你可以调用 注册或取消注册 观测器。

    +

    你可以调用 注册或取消注册 观测器。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_imusiccontentcenter.dita b/dita/RTC-NG/API/class_imusiccontentcenter.dita index 12b2d866795..be3db4b82fd 100644 --- a/dita/RTC-NG/API/class_imusiccontentcenter.dita +++ b/dita/RTC-NG/API/class_imusiccontentcenter.dita @@ -2,6 +2,7 @@ <ph keyref="IMusicContentCenter"/> - 接口类提供音乐内容中心的相关方法。 - 该接口类下的方法仅适用于 Android 和 iOS 平台。 + + 接口类提供音乐内容中心的相关方法。 + 该接口类下的方法仅适用于 Android 和 iOS 平台。 diff --git a/dita/RTC-NG/API/class_imusiccontentcentereventhandler.dita b/dita/RTC-NG/API/class_imusiccontentcentereventhandler.dita index 388911b4827..6323641634f 100644 --- a/dita/RTC-NG/API/class_imusiccontentcentereventhandler.dita +++ b/dita/RTC-NG/API/class_imusiccontentcentereventhandler.dita @@ -2,5 +2,6 @@ <ph keyref="IMusicContentCenterEventHandler"/> - 接口类,用于 SDK 向客户端发送音乐内容中心事件通知。 + 接口类,用于 + SDK 向客户端发送音乐内容中心事件通知。 diff --git a/dita/RTC-NG/API/class_imusicplayer.dita b/dita/RTC-NG/API/class_imusicplayer.dita index d081605f721..6a3c4117693 100644 --- a/dita/RTC-NG/API/class_imusicplayer.dita +++ b/dita/RTC-NG/API/class_imusicplayer.dita @@ -2,5 +2,6 @@ <ph keyref="IMusicPlayer"/> - 继承自 类,提供音乐播放器的相关方法。 + 继承自 + 类,提供音乐播放器的相关方法。 diff --git a/dita/RTC-NG/API/class_injectstreamconfig.dita b/dita/RTC-NG/API/class_injectstreamconfig.dita index f3aa4396d58..add0f147aa3 100644 --- a/dita/RTC-NG/API/class_injectstreamconfig.dita +++ b/dita/RTC-NG/API/class_injectstreamconfig.dita @@ -1,13 +1,12 @@ - <ph keyref="InjectStreamConfig" /> - 输入外部音视频流的配置。 - + <ph keyref="InjectStreamConfig"/> + 输入外部音视频流的配置。

    - public class LiveInjectStreamConfig { + public class LiveInjectStreamConfig { public enum AudioSampleRateType { TYPE_32000(32000), @@ -34,7 +33,7 @@ audioChannels = 1; } } - __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject @property(assign, nonatomic) CGSize size; @property(assign, nonatomic) NSInteger videoGop; @@ -45,7 +44,7 @@ @property(assign, nonatomic) NSInteger audioChannels; + (AgoraLiveInjectStreamConfig *_Nonnull)defaultConfig; @end - struct InjectStreamConfig { + struct InjectStreamConfig { int width; int height; int videoGop; @@ -66,7 +65,7 @@ , audioChannels(1) {} }; -export class InjectStreamConfig { + export class InjectStreamConfig { width?: number height?: number videoGop?: number @@ -76,7 +75,7 @@ audioBitrate?: number audioChannels?: number } - public class InjectStreamConfig + public class InjectStreamConfig { public InjectStreamConfig() { @@ -112,8 +111,8 @@ public int audioBitrate { set; get; } public int audioChannels { set; get; } } - - class InjectStreamConfig { + + class InjectStreamConfig { const InjectStreamConfig( {this.width, this.height, @@ -143,65 +142,70 @@ factory InjectStreamConfig.fromJson(Map<String, dynamic> json) => _$InjectStreamConfigFromJson(json); Map<String, dynamic> toJson() => _$InjectStreamConfigToJson(this); - } -

    -
    + }
    +

    +
    -
    + +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - 外部视频流输入后的宽度。默认值为 0,即保留视频原始宽度。 - - - height - 外部视频流输入后的高度。默认值为 0,即保留视频原始高度。 - - - size - 外部视频流输入后的尺寸。 - - - videoGop - 外部视频流输入的 GOP(帧)。默认值为 30 帧。 - - - videoFramerate - 外部视频流输入的帧率(fps)。默认值为 15 fps。 - - - videoBitrate - -

    外部视频流输入的码率(Kbps)。默认设置为 400 Kbps。

    - 视频码率的设置与分辨率相关。如果设置的视频码率超出合理范围,SDK 会按照合理区间自动设置码率。 -
    -
    - - audioSampleRate - -

    外部音频流输入的采样率。默认值为 48000 Hz。详见

    - 声网建议目前采用默认值,不要自行设置。
    -
    - - audioBitrate - -

    外部音频流输入的码率(Kbps)。默认值为 48 Kbps。

    - 声网建议目前采用默认值,不要自行设置。
    -
    - - audioChannels - -

    外部音频流输入后的频道数。 - - -

      -
    • 1: 单声道(默认)
    • -
    • 2: 双声道
    • -

    - 声网建议目前采用默认值,不要自行设置。
    -
    -
    + + width + 外部视频流输入后的宽度。默认值为 0,即保留视频原始宽度。 + + + height + 外部视频流输入后的高度。默认值为 0,即保留视频原始高度。 + + + size + 外部视频流输入后的尺寸。 + + + videoGop + 外部视频流输入的 GOP(帧)。默认值为 30 帧。 + + + videoFramerate + 外部视频流输入的帧率(fps)。默认值为 15 fps。 + + + videoBitrate + +

    外部视频流输入的码率(Kbps)。默认设置为 400 Kbps。

    + 视频码率的设置与分辨率相关。如果设置的视频码率超出合理范围,SDK + 会按照合理区间自动设置码率。 +
    +
    + + audioSampleRate + +

    外部音频流输入的采样率。默认值为 48000 Hz。详见

    + 声网建议目前采用默认值,不要自行设置。 +
    +
    + + audioBitrate + +

    外部音频流输入的码率(Kbps)。默认值为 48 Kbps。

    + 声网建议目前采用默认值,不要自行设置。 +
    +
    + + audioChannels + +

    外部音频流输入后的频道数。

      +
    • 1: 单声道(默认)
    • +
    • 2: 双声道
    • +
    +

    + 声网建议目前采用默认值,不要自行设置。 +
    +
    + + - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_intrinsicelements.dita b/dita/RTC-NG/API/class_intrinsicelements.dita index 5f6f6d6bf37..860de52f4f5 100644 --- a/dita/RTC-NG/API/class_intrinsicelements.dita +++ b/dita/RTC-NG/API/class_intrinsicelements.dita @@ -1,31 +1,35 @@ - <ph keyref="IntrinsicElements" /> + <ph keyref="IntrinsicElements"/> 声网自定义 HTML 标签。

    - - - - interface IntrinsicElements { + + + + interface IntrinsicElements { "agora-view": AgoraView | HTMLElement; } - - -

    + + + +

    -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - agora-view - 自定义标签的名称。该标签支持渲染 对象和 HTMLElement 对象。 - -
    + + agora-view + 自定义标签的名称。该标签支持渲染 对象和 HTMLElement + 对象。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_ipacketobserver.dita b/dita/RTC-NG/API/class_ipacketobserver.dita index 0fabd674c9b..85b99974b4c 100644 --- a/dita/RTC-NG/API/class_ipacketobserver.dita +++ b/dita/RTC-NG/API/class_ipacketobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IPacketObserver" /> + <ph keyref="IPacketObserver"/> IPacketObserver 定义。 - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_irtcengine.dita b/dita/RTC-NG/API/class_irtcengine.dita index 7eb9d385575..dea65de1009 100644 --- a/dita/RTC-NG/API/class_irtcengine.dita +++ b/dita/RTC-NG/API/class_irtcengine.dita @@ -1,12 +1,13 @@ - <ph keyref="IRtcEngine" /> + <ph keyref="IRtcEngine"/> RTC SDK 的基础接口类,实现实时音视频的主要功能。
    -

    提供了 App 调用的主要方法。

    -

    在调用其他 API 之前,必须先调用 创建 对象。

    +

    提供了 App 调用的主要方法。

    +

    在调用其他 API 之前,必须先调用 创建 对象。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_irtcengineevent.dita b/dita/RTC-NG/API/class_irtcengineevent.dita index 9996af2315d..6380da7ee24 100644 --- a/dita/RTC-NG/API/class_irtcengineevent.dita +++ b/dita/RTC-NG/API/class_irtcengineevent.dita @@ -2,35 +2,39 @@ <ph keyref="IRtcEngineEvent"/> - 接口,用于合并 对象的相关事件接口。 + 接口,用于合并 对象的相关事件接口。

    - - - - export type IRtcEngineEvent = IRtcEngineEventHandler & + + + + export type IRtcEngineEvent = IRtcEngineEventHandler & IDirectCdnStreamingEventHandler & IMetadataObserver & IAudioEncodedFrameObserver & IAudioSpectrumObserver; - - export type IRtcEngineEvent = IRtcEngineEventHandler & + + export type IRtcEngineEvent = IRtcEngineEventHandler & IDirectCdnStreamingEventHandler & IMetadataObserver & IAudioEncodedFrameObserver & IAudioSpectrumObserver; -

    +

    该接口合并了以下接口: -

      -
    • -
    • -
    • -
    • -
    • -
    你可以调用 , 方法来添加监听或取消监听上述接口下的回调事件。

    +
      +
    • +
    • +
    • +
    • +
    • +
    + 你可以调用 , 方法来添加监听或取消监听上述接口下的回调事件。 +

    diff --git a/dita/RTC-NG/API/class_irtcengineeventhandler.dita b/dita/RTC-NG/API/class_irtcengineeventhandler.dita index 146f9d08a19..ce723ac014f 100644 --- a/dita/RTC-NG/API/class_irtcengineeventhandler.dita +++ b/dita/RTC-NG/API/class_irtcengineeventhandler.dita @@ -1,15 +1,19 @@ - <ph keyref="IRtcEngineEventHandler" /> - 接口类 用于 SDK 向 App 发送事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。 + <ph keyref="IRtcEngineEventHandler"/> + 接口类 用于 SDK 向 + App 发送事件通知,App 通过继承该接口类的方法获取 SDK 的事件通知。

    该接口类的所有方法都有缺省(空)实现, App 可以根据需要只继承关心的事件。

    -
      -
    • 在回调方法中,App 不应该做耗时或者调用可能会引起阻塞的 API(如 sendMessage),否则可能影响 SDK 的运行。
    • -
    • SDK 不再捕获开发者在 类回调中自行实现的代码逻辑中的异常。你需要自行处理该异常,否则异常出现时可能引起 App 崩溃。
    • -
    +
      +
    • 在回调方法中,App 不应该做耗时或者调用可能会引起阻塞的 API(如 sendMessage),否则可能影响 SDK + 的运行。
    • +
    • SDK 不再捕获开发者在 + 类回调中自行实现的代码逻辑中的异常。你需要自行处理该异常,否则异常出现时可能引起 App 崩溃。
    • +
    + - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_irtcengineeventhandlerex.dita b/dita/RTC-NG/API/class_irtcengineeventhandlerex.dita index faae5a94452..734c8c44bad 100644 --- a/dita/RTC-NG/API/class_irtcengineeventhandlerex.dita +++ b/dita/RTC-NG/API/class_irtcengineeventhandlerex.dita @@ -1,7 +1,7 @@ - <ph keyref="IRtcEngineEventHandlerEx" /> - 继承自 - 类,用于监听和报告指定频道的事件和数据。 - \ No newline at end of file + <ph keyref="IRtcEngineEventHandlerEx"/> + 继承自 + 类,用于监听和报告指定频道的事件和数据。 + diff --git a/dita/RTC-NG/API/class_irtcengineex.dita b/dita/RTC-NG/API/class_irtcengineex.dita index 452f9eb1ab5..cf4fea67265 100644 --- a/dita/RTC-NG/API/class_irtcengineex.dita +++ b/dita/RTC-NG/API/class_irtcengineex.dita @@ -1,11 +1,11 @@ - <ph keyref="IRtcEngineEx" /> + <ph keyref="IRtcEngineEx"/> 提供多频道方法的接口类。
    -

    继承自

    +

    继承自

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_iscreencapturesourcelist.dita b/dita/RTC-NG/API/class_iscreencapturesourcelist.dita index c898d434945..bb34874f3f7 100644 --- a/dita/RTC-NG/API/class_iscreencapturesourcelist.dita +++ b/dita/RTC-NG/API/class_iscreencapturesourcelist.dita @@ -1,6 +1,7 @@ - <ph keyref="IScreenCaptureSourceList" /> - 类。该类在 方法中返回。 - \ No newline at end of file + <ph keyref="IScreenCaptureSourceList"/> + 类。该类在 + 方法中返回。 + diff --git a/dita/RTC-NG/API/class_ivideodevicecollection.dita b/dita/RTC-NG/API/class_ivideodevicecollection.dita index 9f839f53977..7a301abb293 100644 --- a/dita/RTC-NG/API/class_ivideodevicecollection.dita +++ b/dita/RTC-NG/API/class_ivideodevicecollection.dita @@ -1,6 +1,6 @@ - <ph keyref="IVideoDeviceCollection" /> + <ph keyref="IVideoDeviceCollection"/> 你可以通过该接口类获取视频设备相关的信息。 - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_ivideodevicemanager.dita b/dita/RTC-NG/API/class_ivideodevicemanager.dita index d9054fab872..d314aa9f08a 100644 --- a/dita/RTC-NG/API/class_ivideodevicemanager.dita +++ b/dita/RTC-NG/API/class_ivideodevicemanager.dita @@ -1,11 +1,13 @@ - <ph keyref="IVideoDeviceManager" /> + <ph keyref="IVideoDeviceManager"/> 视频设备管理方法。
    -

    接口类提供用于测试视频设备的相关接口。你可以通过调用 方法来获取 接口。

    +

    + 接口类提供用于测试视频设备的相关接口。你可以通过调用 方法来获取 接口。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_ivideoencodedframeobserver.dita b/dita/RTC-NG/API/class_ivideoencodedframeobserver.dita index 71016aaf373..b7bd75df1a7 100644 --- a/dita/RTC-NG/API/class_ivideoencodedframeobserver.dita +++ b/dita/RTC-NG/API/class_ivideoencodedframeobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IVideoEncodedFrameObserver" /> + <ph keyref="IVideoEncodedFrameObserver"/> 用于接收编码后的视频图像的类。 - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_ivideoframeconsumer.dita b/dita/RTC-NG/API/class_ivideoframeconsumer.dita index c81c027fe73..8a1bbf7f42a 100644 --- a/dita/RTC-NG/API/class_ivideoframeconsumer.dita +++ b/dita/RTC-NG/API/class_ivideoframeconsumer.dita @@ -2,5 +2,6 @@ <ph keyref="IVideoFrameConsumer"/> - 类用于让 SDK 接收你采集的视频帧。 + 类用于让 SDK + 接收你采集的视频帧。 diff --git a/dita/RTC-NG/API/class_ivideoframeobserver.dita b/dita/RTC-NG/API/class_ivideoframeobserver.dita index 9651ab80ee0..0a84ed04c18 100644 --- a/dita/RTC-NG/API/class_ivideoframeobserver.dita +++ b/dita/RTC-NG/API/class_ivideoframeobserver.dita @@ -1,11 +1,12 @@ - <ph keyref="IVideoFrameObserver" /> + <ph keyref="IVideoFrameObserver"/> 视频观测器。
    -

    你可以调用 注册或取消注册 视频观测器。

    +

    你可以调用 注册或取消注册 视频观测器。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_ivideosink.dita b/dita/RTC-NG/API/class_ivideosink.dita index 3074f839cda..7629e0f9824 100644 --- a/dita/RTC-NG/API/class_ivideosink.dita +++ b/dita/RTC-NG/API/class_ivideosink.dita @@ -2,25 +2,26 @@ ivideosink - +

    - - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    diff --git a/dita/RTC-NG/API/class_lastmileprobeconfig.dita b/dita/RTC-NG/API/class_lastmileprobeconfig.dita index 81dc4f4f5df..d318c711520 100644 --- a/dita/RTC-NG/API/class_lastmileprobeconfig.dita +++ b/dita/RTC-NG/API/class_lastmileprobeconfig.dita @@ -1,12 +1,12 @@ - <ph keyref="LastmileProbeConfig" /> + <ph keyref="LastmileProbeConfig"/> Last mile 网络探测配置。

    - public class LastmileProbeConfig { + public class LastmileProbeConfig { public boolean probeUplink; public boolean probeDownlink; public int expectedUplinkBitrate; @@ -14,19 +14,19 @@ public LastmileProbeConfig() {} } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject @property (assign, nonatomic) BOOL probeUplink; @property (assign, nonatomic) BOOL probeDownlink; @property (assign, nonatomic) NSUInteger expectedUplinkBitrate; @property (assign, nonatomic) NSUInteger expectedDownlinkBitrate; @end - struct LastmileProbeConfig { + struct LastmileProbeConfig { bool probeUplink; bool probeDownlink; unsigned int expectedUplinkBitrate; unsigned int expectedDownlinkBitrate; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLastmileProbeConfig { GENERATED_BODY() @@ -40,7 +40,7 @@ struct FLastmileProbeConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") int expectedDownlinkBitrate; }; - export class LastmileProbeConfig { + export class LastmileProbeConfig { probeUplink?: boolean; @@ -69,7 +69,7 @@ struct FLastmileProbeConfig public uint expectedUplinkBitrate { set; get; } public uint expectedDownlinkBitrate { set; get; } } - export class LastmileProbeConfig { + export class LastmileProbeConfig { probeUplink?: boolean; @@ -79,7 +79,7 @@ struct FLastmileProbeConfig expectedDownlinkBitrate?: number; } - class LastmileProbeConfig { + class LastmileProbeConfig { const LastmileProbeConfig( {this.probeUplink, this.probeDownlink, @@ -98,39 +98,42 @@ struct FLastmileProbeConfig _$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 - -

    是否探测上行网络。有些用户,如直播频道中的普通观众,不需要进行网络探测: -

      -
    • : 探测上行网络。
    • -
    • : 不探测上行网络。
    • -

    -
    -
    - - probeDownlink - -

    是否探测下行网络: -

      -
    • : 探测下行网络。
    • -
    • : 不探测下行网络。
    • -

    -
    -
    - - expectedUplinkBitrate - 用户期望的最高发送码率,单位为 bps,范围为 [100000,5000000]。建议参考 中的码率值设置该参数的值。 - - - expectedDownlinkBitrate - 用户期望的最高接收码率,单位为 bps,范围为 [100000,5000000]。 - -
    + + probeUplink + +

    是否探测上行网络。有些用户,如直播频道中的普通观众,不需要进行网络探测:

      +
    • : 探测上行网络。
    • +
    • : 不探测上行网络。
    • +
    +

    +
    +
    + + probeDownlink + +

    是否探测下行网络:

      +
    • : 探测下行网络。
    • +
    • : 不探测下行网络。
    • +
    +

    +
    +
    + + expectedUplinkBitrate + 用户期望的最高发送码率,单位为 bps,范围为 [100000,5000000]。建议参考 中的码率值设置该参数的值。 + + + expectedDownlinkBitrate + 用户期望的最高接收码率,单位为 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 67701393464..02d92b38331 100644 --- a/dita/RTC-NG/API/class_lastmileprobeonewayresult.dita +++ b/dita/RTC-NG/API/class_lastmileprobeonewayresult.dita @@ -1,12 +1,12 @@ - <ph keyref="LastmileProbeOneWayResult" /> + <ph keyref="LastmileProbeOneWayResult"/> 上行或下行 Last mile 网络质量探测结果。

    - struct LastmileProbeOneWayResult { + struct LastmileProbeOneWayResult { unsigned int packetLossRate; unsigned int jitter; unsigned int availableBandwidth; @@ -15,7 +15,7 @@ jitter(0), availableBandwidth(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLastmileProbeOneWayResult { GENERATED_BODY() @@ -25,17 +25,17 @@ struct FLastmileProbeOneWayResult { int64 availableBandwidth; }; - public static class LastmileProbeOneWayResult { + public static class LastmileProbeOneWayResult { public int packetLossRate; public int jitter; public int availableBandwidth; } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject @property (assign, nonatomic) NSUInteger packetLossRate; @property (assign, nonatomic) NSUInteger jitter; @property (assign, nonatomic) NSUInteger availableBandwidth; @end - export class LastmileProbeOneWayResult { + export class LastmileProbeOneWayResult { packetLossRate?: number; @@ -43,7 +43,7 @@ struct FLastmileProbeOneWayResult { availableBandwidth?: number; } - public class LastmileProbeOneWayResult + public class LastmileProbeOneWayResult { public LastmileProbeOneWayResult() { @@ -60,7 +60,7 @@ struct FLastmileProbeOneWayResult { public uint jitter { set; get; } public uint availableBandwidth { set; get; } } - export class LastmileProbeOneWayResult { + export class LastmileProbeOneWayResult { packetLossRate?: number; @@ -68,7 +68,7 @@ struct FLastmileProbeOneWayResult { availableBandwidth?: number; } - class LastmileProbeOneWayResult { + class LastmileProbeOneWayResult { const LastmileProbeOneWayResult( {this.packetLossRate, this.jitter, this.availableBandwidth}); @@ -86,20 +86,22 @@ struct FLastmileProbeOneWayResult {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - packetLossRate - 丢包率。 - - - jitter - 网络抖动 (ms)。 - - - availableBandwidth - 可用网络带宽预估 (bps)。 - -
    + + packetLossRate + 丢包率。 + + + jitter + 网络抖动 (ms)。 + + + availableBandwidth + 可用网络带宽预估 (bps)。 + + +
    -
    \ 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 54f7bd0dc77..03e972b3c73 100644 --- a/dita/RTC-NG/API/class_lastmileproberesult.dita +++ b/dita/RTC-NG/API/class_lastmileproberesult.dita @@ -1,12 +1,12 @@ - <ph keyref="LastmileProbeResult" /> + <ph keyref="LastmileProbeResult"/> 上下行 Last mile 网络质量探测结果。

    - struct LastmileProbeResult { + struct LastmileProbeResult { LASTMILE_PROBE_RESULT_STATE state; LastmileProbeOneWayResult uplinkReport; LastmileProbeOneWayResult downlinkReport; @@ -15,7 +15,7 @@ LastmileProbeResult() : state(LASTMILE_PROBE_RESULT_UNAVAILABLE), rtt(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLastmileProbeResult { GENERATED_BODY() @@ -28,7 +28,7 @@ struct FLastmileProbeResult { int64 rtt = 0; }; - public static class LastmileProbeResult { + public static class LastmileProbeResult { public static class LastmileProbeOneWayResult { public int packetLossRate; @@ -41,14 +41,14 @@ struct FLastmileProbeResult { public LastmileProbeOneWayResult uplinkReport = new LastmileProbeOneWayResult(); public LastmileProbeOneWayResult downlinkReport = new LastmileProbeOneWayResult(); } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject @property (assign, nonatomic) AgoraLastmileProbeResultState state; @property (assign, nonatomic) NSUInteger rtt; @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull uplinkReport; @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull downlinkReport; @end - export class LastmileProbeResult { + export class LastmileProbeResult { state?: LastmileProbeResultState; @@ -58,7 +58,7 @@ struct FLastmileProbeResult { rtt?: number; } - public class LastmileProbeResult + public class LastmileProbeResult { public LastmileProbeResult() { @@ -79,7 +79,7 @@ struct FLastmileProbeResult { public LastmileProbeOneWayResult downlinkReport { set; get; } public uint rtt { set; get; } } - export class LastmileProbeResult { + export class LastmileProbeResult { state?: LastmileProbeResultState; @@ -89,7 +89,7 @@ struct FLastmileProbeResult { rtt?: number; } - class LastmileProbeResult { + class LastmileProbeResult { const LastmileProbeResult( {this.state, this.uplinkReport, this.downlinkReport, this.rtt}); @@ -109,34 +109,38 @@ struct FLastmileProbeResult {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - state - -

    Last mile 质量探测结果的状态。详见:

    -

    Last-mile 质量探测结果的状态,有如下几种: - - -

      -
    • (1):表示本次 Last-mile 质量探测是完整的。
    • -
    • (2):表示本次 Last-mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限。
    • -
    • (3):未进行 Last-mile 质量探测。一个可能的原因是网络连接中断。
    • -

    -
    -
    - - uplinkReport - 上行网络质量报告。详见 - - - downlinkReport - 下行网络质量报告。详见 - - - rtt - 往返时延 (ms)。 - -
    + + state + +

    Last mile + 质量探测结果的状态。详见:

    +

    Last-mile 质量探测结果的状态,有如下几种:

      +
    • (1):表示本次 Last-mile + 质量探测是完整的。
    • +
    • (2):表示本次 + Last-mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限。
    • +
    • (3):未进行 + Last-mile 质量探测。一个可能的原因是网络连接中断。
    • +
    +

    +
    +
    + + uplinkReport + 上行网络质量报告。详见 + + + downlinkReport + 下行网络质量报告。详见 + + + 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 74368ab6a17..82ac38c5d44 100644 --- a/dita/RTC-NG/API/class_leavechanneloptions.dita +++ b/dita/RTC-NG/API/class_leavechanneloptions.dita @@ -1,30 +1,30 @@ - <ph keyref="LeaveChannelOptions" /> + <ph keyref="LeaveChannelOptions"/> 离开频道的选项。

    - public class LeaveChannelOptions { + public class LeaveChannelOptions { public boolean stopAudioMixing; public boolean stopAllEffect; public boolean stopMicrophoneRecording; } - __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject @property(nonatomic, assign) BOOL stopAudioMixing; @property(nonatomic, assign) BOOL stopAllEffect; @property(nonatomic, assign) BOOL stopMicrophoneRecording; @end - struct LeaveChannelOptions { + struct LeaveChannelOptions { bool stopAudioMixing; bool stopAllEffect; bool stopMicrophoneRecording; LeaveChannelOptions() : stopAudioMixing(true), stopAllEffect(true), stopMicrophoneRecording(true) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLeaveChannelOptions { GENERATED_BODY() @@ -36,7 +36,7 @@ struct FLeaveChannelOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LeaveChannelOptions") AGORAOPTIONAL stopMicrophoneRecording; }; - export class LeaveChannelOptions { + export class LeaveChannelOptions { stopAudioMixing?: boolean; @@ -44,7 +44,7 @@ struct FLeaveChannelOptions stopMicrophoneRecording?: boolean; } - public class LeaveChannelOptions + public class LeaveChannelOptions { public LeaveChannelOptions() { @@ -57,7 +57,7 @@ struct FLeaveChannelOptions public bool stopAllEffect { set; get; } public bool stopMicrophoneRecording { set; get; } }; - export class LeaveChannelOptions { + export class LeaveChannelOptions { stopAudioMixing?: boolean; @@ -65,7 +65,7 @@ struct FLeaveChannelOptions stopMicrophoneRecording?: boolean; } - class LeaveChannelOptions { + class LeaveChannelOptions { const LeaveChannelOptions( {this.stopAudioMixing, this.stopAllEffect, this.stopMicrophoneRecording}); @@ -79,35 +79,35 @@ struct FLeaveChannelOptions _$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 - 离开频道时,是否停止播放音乐文件及混音: -
      -
    • :(默认)停止播放音乐文件及混音。
    • -
    • : 不停止播放音乐文件及混音。
    • -
    -
    - - stopAllEffect - 离开频道时,是否停止播放音效: -
      -
    • :(默认)停止播放音效。
    • -
    • : 不停止播放音效。
    • -
    -
    - - stopMicrophoneRecording - 离开频道时,是否停止麦克风采集: -
      -
    • :(默认)停止麦克风采集。
    • -
    • : 不停止麦克风采集。
    • -
    -
    -
    + + stopAudioMixing + 离开频道时,是否停止播放音乐文件及混音:
      +
    • :(默认)停止播放音乐文件及混音。
    • +
    • : 不停止播放音乐文件及混音。
    • +
    +
    +
    + + stopAllEffect + 离开频道时,是否停止播放音效:
      +
    • :(默认)停止播放音效。
    • +
    • : 不停止播放音效。
    • +
    +
    + + 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 80d8ca89a44..11429f8c95a 100644 --- a/dita/RTC-NG/API/class_livestreamadvancedfeature.dita +++ b/dita/RTC-NG/API/class_livestreamadvancedfeature.dita @@ -1,25 +1,25 @@ - <ph keyref="LiveStreamAdvancedFeature" /> + <ph keyref="LiveStreamAdvancedFeature"/> 转码推流的高级功能配置。

    - - __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject + + __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject @property(copy, nonatomic) NSString* _Nullable featureName; @property(assign, nonatomic) BOOL opened; @end - + struct LiveStreamAdvancedFeature { LiveStreamAdvancedFeature() : featureName(NULL), opened(false) {} LiveStreamAdvancedFeature(const char* feat_name, bool open) : featureName(feat_name), opened(open) {} const char* featureName; bool opened; } ; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLiveStreamAdvancedFeature { GENERATED_BODY() @@ -29,13 +29,13 @@ struct FLiveStreamAdvancedFeature { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LiveStreamAdvancedFeature") bool opened; }; - export class LiveStreamAdvancedFeature { + export class LiveStreamAdvancedFeature { featureName?: string; opened?: boolean; } - public class LiveStreamAdvancedFeature + public class LiveStreamAdvancedFeature { public LiveStreamAdvancedFeature() { @@ -51,13 +51,13 @@ struct FLiveStreamAdvancedFeature { public string featureName { set; get; } public bool opened { set; get; } }; - export class LiveStreamAdvancedFeature { + export class LiveStreamAdvancedFeature { featureName?: string; opened?: boolean; } - class LiveStreamAdvancedFeature { + class LiveStreamAdvancedFeature { const LiveStreamAdvancedFeature({this.featureName, this.opened}); @JsonKey(name: 'featureName') @@ -67,29 +67,27 @@ struct FLiveStreamAdvancedFeature { factory LiveStreamAdvancedFeature.fromJson(Map<String, dynamic> json) => _$LiveStreamAdvancedFeatureFromJson(json); Map<String, dynamic> toJson() => _$LiveStreamAdvancedFeatureToJson(this); -} -

    +} +

    -

    如需使用转码推流高级功能,请联系

    +

    如需使用转码推流高级功能,请联系

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - featureName - 转码推流高级功能的名称,包含 LBHQ(低码率的高清视频功能) 和 VEO(优化的视频编码器功能)。 - - - opened - 是否启用转码推流的高级功能: - - -
      -
    • :开启转码推流的高级功能。
    • -
    • :(默认)关闭转码推流的高级功能。
    • -
    -
    + + featureName + 转码推流高级功能的名称,包含 LBHQ(低码率的高清视频功能) 和 VEO(优化的视频编码器功能)。 + + + opened + 是否启用转码推流的高级功能:
      +
    • :开启转码推流的高级功能。
    • +
    • :(默认)关闭转码推流的高级功能。
    • +
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_livetranscoding.dita b/dita/RTC-NG/API/class_livetranscoding.dita index 00f8a4a1bb4..15634487335 100644 --- a/dita/RTC-NG/API/class_livetranscoding.dita +++ b/dita/RTC-NG/API/class_livetranscoding.dita @@ -1,12 +1,16 @@ - <ph keyref="LiveTranscoding"/> - 旁路推流的转码属性。 + + <ph keyref="LiveTranscoding"/> + + + 旁路推流的转码属性。 +

    - public class LiveTranscoding { + public class LiveTranscoding { public enum AudioSampleRateType { TYPE_32000(32000), TYPE_44100(44100), @@ -225,7 +229,7 @@ this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } } - __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject @property(assign, nonatomic) CGSize size; @property(assign, nonatomic) NSInteger videoBitrate; @@ -249,7 +253,7 @@ - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened; - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures; @end - struct LiveTranscoding { + struct LiveTranscoding { int width; int height; int videoBitrate; @@ -275,7 +279,7 @@ unsigned int advancedFeatureCount; LiveTranscoding() : width(360), height(640), videoBitrate(400), videoFramerate(15), lowLatency(false), videoGop(30), videoCodecProfile(VIDEO_CODEC_PROFILE_HIGH), backgroundColor(0x000000), videoCodecType(VIDEO_CODEC_H264_FOR_STREAM), userCount(0), transcodingUsers(NULL), transcodingExtraInfo(NULL), metadata(NULL), watermark(NULL), watermarkCount(0), backgroundImage(NULL), backgroundImageCount(0), audioSampleRate(AUDIO_SAMPLE_RATE_48000), audioBitrate(48), audioChannels(1), audioCodecProfile(AUDIO_CODEC_PROFILE_LC_AAC), advancedFeatures(NULL), advancedFeatureCount(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLiveTranscoding { GENERATED_BODY() @@ -327,7 +331,7 @@ struct FLiveTranscoding UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LiveTranscoding") int advancedFeatureCount = 0; }; - export class LiveTranscoding { + export class LiveTranscoding { width?: number; @@ -375,7 +379,7 @@ struct FLiveTranscoding advancedFeatureCount?: number; } - public class LiveTranscoding + public class LiveTranscoding { public LiveTranscoding() { @@ -460,7 +464,7 @@ struct FLiveTranscoding public LiveStreamAdvancedFeature[] advancedFeatures { set; get; } public uint advancedFeatureCount { set; get; } } - export class LiveTranscoding { + export class LiveTranscoding { width?: number; @@ -508,7 +512,7 @@ struct FLiveTranscoding advancedFeatureCount?: number; } - class LiveTranscoding { + class LiveTranscoding { const LiveTranscoding( {this.width, this.height, @@ -608,362 +612,370 @@ struct FLiveTranscoding Map<String, dynamic> toJson() => _$LiveTranscodingToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - -

    推流视频的总宽度,默认值 360,单位为像素。

    -
      -
    • 如果推视频流,width 取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 64; 如果取值高于 1920,声网服务器会自动调整为 1920。
    • -
    • 如果推音频流,请将 widthheight 设为 0。
    • -
    -
    - - height - -

    推流视频的总高度,默认值 640,单位为像素。

    -
      -
    • 如果推视频流,height 取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 64; 如果取值高于 1080,声网服务器会自动调整为 1080。
    • -
    • 如果推音频流,请将 widthheight 设为 0。
    • -
    -
    - - size - -

    推流视频的总尺寸(宽和高),单位为像素。

    -
      -
    • 如果推视频流,请注意: - - - + + width + +

      推流视频的总宽度,默认值 360,单位为像素。

      +
        +
      • 如果推视频流,width 取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 64; 如果取值高于 + 1920,声网服务器会自动调整为 1920。
      • +
      • 如果推音频流,请将 widthheight 设为 0。
      • +
      +
      +
      + + height + +

      推流视频的总高度,默认值 640,单位为像素。

      +
        +
      • 如果推视频流,height 取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 64; 如果取值高于 + 1080,声网服务器会自动调整为 1080。
      • +
      • 如果推音频流,请将 widthheight 设为 0。
      • +
      +
      +
      + + size + +

      推流视频的总尺寸(宽和高),单位为像素。

      +
        +
      • 如果推视频流,请注意:
          +
        • 宽的取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 1920,声网服务器会自动调整为 1920。
        • +
        • 高的取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 1080,声网服务器会自动调整为 1080。
        • +
      • +
      • 如果推音频流,请将宽和高都设为 0。
      • +
      +
      +
      + + videoBitrate + +

      用于旁路直播的输出视频的码率。单位为 Kbps。400 Kbps 为默认值。

      +

      你可以根据参考表中的码率值进行设置;如果设置的码率超出合理范围,声网服务器会在合理区间内自动调整码率值。

      +
      +
      + + videoFrameRate + +

      用于旁路直播的输出视频的帧率。取值范围是 (0,30],单位为 fps。15 fps 为默认值。

      + 声网服务器会将高于 30 fps 的帧率统一调整为 30 fps。
      +
      + + lowLatency + +
      + +
      弃用
      +
      不建议使用。
      +
      +
      +

      低延时模式

      +
        +
      • : 低延时,不保证画质。
      • +
      • :(默认值)高延时,保证画质。
      • +
      +
      + + videoGop + 用于旁路直播的输出视频的 GOP (Group of Pictures)。单位为帧。默认值为 30。 + + + videoCodecProfile + +

      用于旁路直播的输出视频的编码规格。可以设置为 66、77 或 100,详见

      + 如果你把这个参数设为其他值,声网服务器会将其调整为默认值。
      +
      + + videoCodecType + 用于旁路直播的输出视频的编解码类型。详见 + + + transcodingUsers + +

      用于管理参与旁路直播的视频转码合图的用户。最多支持 17 人同时参与转码合图。详见

      +
      +
      + + transcodingExtraInfo + userConfigExtraInfo + +

      预留参数:用户自定义的发送到旁路推流客户端的信息,用于填充 H264/H265 视频中 SEI 帧内容。长度限制:4096 字节。关于 SEI 的详细信息,详见 + SEI 帧相关问题

      +
      +
      + + backgroundColor + +

      用于旁路直播的输出视频的背景色。

      +

      格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 0x000000,黑色。

      +

      COLOR_CLASS 为类型统称,具体为:

        +
      • iOS: UIColor
      • +
      • macOS: NSColor
      • +

      +
      +
      + + backgroundColor + +
      + +
      弃用
      +
      已废弃,不建议使用。请改用 方法。
      +
      +
      +
      + +

      用于旁路直播的输出视频的背景色,格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认0x000000,黑色。

      +
      +
      + + userCount + +
      + +
      弃用
      +
      已废弃,不建议使用。请改用 方法。
      +
      +
      +

      参与合图的用户数量,默认 0。取值范围为 [0,17]。

      +
      +
      + + metadata + +
      + +
      弃用
      +
      已废弃,不建议使用。
      +
      +
      +

      发送给 CDN 客户端的 metadata。

      +
      +
      + + watermark + +

      直播视频上的水印。图片格式需为 PNG。详见

      +

      你可以添加一个水印,或使用数组的方式添加多个水印。该参数与 + watermarkCount搭配使用。

      +
      +
      + + backgroundImage + +

      直播视频上的背景图。图片格式需为 PNG。详见

      +

      你可以添加一张背景图,或使用数组的方式添加多张背景图。该参数与 backgroundImageCount 搭配使用。

      +
      +
      + + backgroundImageArray + 直播视频上的背景图数组。详见 。你可以使用 + backgroundImageArray 添加一张或多张背景图。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 + 0 且小于等于 10。 + + + audioSampleRate + +

      用于旁路推流的输出媒体流的音频采样率 (Hz),详见

      +
      +
      + + audioBitrate + +

      用于旁路直播的输出音频的码率。单位为 Kbps,默认值为 48,最大值为 128。

      +
      +
      + + audioChannels + +

      用于旁路直播的输出音频的声道数,默认值为 1。取值范围为 [1,5] 中的整型,建议取 1 或 2。3、4、5 需要特殊播放器支持:

        -
      • 宽的取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 1920,声网服务器会自动调整为 1920。
      • -
      • 高的取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 1080,声网服务器会自动调整为 1080。
      • -
    • -
    • 如果推音频流,请将宽和高都设为 0。
    • -
    -
    - - videoBitrate - -

    用于旁路直播的输出视频的码率。单位为 Kbps。400 Kbps 为默认值。

    -

    你可以根据参考表中的码率值进行设置;如果设置的码率超出合理范围,声网服务器会在合理区间内自动调整码率值。

    -
    -
    - - videoFrameRate - -

    用于旁路直播的输出视频的帧率。取值范围是 (0,30],单位为 fps。15 fps 为默认值。

    - 声网服务器会将高于 30 fps 的帧率统一调整为 30 fps。
    -
    - - lowLatency - -
    - -
    弃用
    -
    不建议使用。
    -
    -
    -

    低延时模式

    -
      -
    • : 低延时,不保证画质。
    • -
    • :(默认值)高延时,保证画质。
    • -
    -
    - - videoGop - 用于旁路直播的输出视频的 GOP (Group of Pictures)。单位为帧。默认值为 30。 - - - videoCodecProfile - -

    用于旁路直播的输出视频的编码规格。可以设置为 66、77 或 100,详见

    - 如果你把这个参数设为其他值,声网服务器会将其调整为默认值。
    -
    - - videoCodecType - 用于旁路直播的输出视频的编解码类型。详见 - - - transcodingUsers - -

    用于管理参与旁路直播的视频转码合图的用户。最多支持 17 人同时参与转码合图。详见

    -
    -
    - - transcodingExtraInfo - userConfigExtraInfo - -

    预留参数:用户自定义的发送到旁路推流客户端的信息,用于填充 H264/H265 视频中 SEI 帧内容。长度限制:4096 字节。关于 SEI 的详细信息,详见 SEI 帧相关问题

    -
    -
    - - backgroundColor - -

    用于旁路直播的输出视频的背景色。

    -

    格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 0x000000,黑色。

    -

    COLOR_CLASS 为类型统称,具体为: - - -

      -
    • iOS: UIColor
    • -
    • macOS: NSColor
    • -

    -
    -
    - - backgroundColor - -
    - -
    弃用
    -
    已废弃,不建议使用。请改用 方法。
    -
    -
    -
    - -

    用于旁路直播的输出视频的背景色,格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认0x000000,黑色。

    -
    -
    - - userCount - -
    - -
    弃用
    -
    已废弃,不建议使用。请改用 方法。
    -
    -
    -

    参与合图的用户数量,默认 0。取值范围为 [0,17]。

    -
    -
    - - metadata - -
    - -
    弃用
    -
    已废弃,不建议使用。
    -
    -
    -

    发送给 CDN 客户端的 metadata。

    -
    -
    - - watermark - -

    直播视频上的水印。图片格式需为 PNG。详见

    -

    你可以添加一个水印,或使用数组的方式添加多个水印。该参数与 watermarkCount搭配使用。

    -
    -
    - - backgroundImage - -

    直播视频上的背景图。图片格式需为 PNG。详见

    -

    你可以添加一张背景图,或使用数组的方式添加多张背景图。该参数与 backgroundImageCount 搭配使用。

    -
    -
    - - backgroundImageArray - 直播视频上的背景图数组。详见 。你可以使用 backgroundImageArray 添加一张或多张背景图。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 - - - audioSampleRate - -

    用于旁路推流的输出媒体流的音频采样率 (Hz),详见

    -
    -
    - - audioBitrate - -

    用于旁路直播的输出音频的码率。单位为 Kbps,默认值为 48,最大值为 128。

    -
    -
    - - audioChannels - -

    用于旁路直播的输出音频的声道数,默认值为 1。取值范围为 [1,5] 中的整型,建议取 1 或 2。3、4、5 需要特殊播放器支持:

    -
      -
    • 1: (默认)单声道
    • -
    • 2: 双声道
    • -
    • 3: 三声道
    • -
    • 4: 四声道
    • -
    • 5: 五声道
    • -
    -
    - - audioCodecProfile - 用于旁路直播输出音频的编码规格。详见 - - - watermarkArray - 直播视频上的水印数组。详见 。你可以使用 watermarkArray 添加一张或多张水印。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 - - - watermarkCount - 直播视频上的水印的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 watermark 搭配使用。 - - - backgroundImageCount - 直播视频上的背景图的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 backgroundImage 搭配使用。 - - - advancedFeatures - 转码推流的高级功能。详见 - - - advancedFeatureCount - 开启的高级功能数量。默认值为 0。 - -
    +
  • 1: (默认)单声道
  • +
  • 2: 双声道
  • +
  • 3: 三声道
  • +
  • 4: 四声道
  • +
  • 5: 五声道
  • + + + + + audioCodecProfile + 用于旁路直播输出音频的编码规格。详见 + + + watermarkArray + 直播视频上的水印数组。详见 。你可以使用 watermarkArray + 添加一张或多张水印。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 + + + watermarkCount + 直播视频上的水印的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 watermark 搭配使用。 + + + backgroundImageCount + 直播视频上的背景图的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 backgroundImage + 搭配使用。 + + + advancedFeatures + 转码推流的高级功能。详见 + + + advancedFeatureCount + 开启的高级功能数量。默认值为 0。 + + +
    方法 - - addBackgroundImage - 添加背景图。详见 - - - addUser - 添加转码合图用户。详见 - - - addWatermark - 添加水印。详见 - - - getAdvancedFeatures - 获取转码推流高级功能的开/关状态。详见 - - - getBackgroundColor - 获取背景颜色。详见 - - - getBackgroundImageList - 获取背景图列表。详见 - - - getBlue - -
    - -
    弃用
    -
    已废弃,不建议使用。
    -
    -
    -

    获取背景蓝色分量。详见

    -
    -
    - - getGreen - -
    - -
    弃用
    -
    已废弃,不建议使用。
    -
    -
    -

    获取背景绿色分量。详见

    -
    -
    - - getRed - -
    - -
    弃用
    -
    已废弃,不建议使用。
    -
    -
    -

    获取背景红色分量。详见

    -
    -
    - - getUserCount - 获取转码合图用户人数。详见 - - - getUsers - 获取参与合图的用户列表。详见 - - - getWatermarkList - 获取水印列表。详见 - - - removeBackgroundImage - 从背景图列表中删除一张背景图。详见 - - - removeUser - 删除转码合图用户。详见 - - - removeWatermark - 从水印列表中删除一个水印。详见 - - - setAdvancedFeatures - 设置是否启用转码推流的高级功能。详见 - - - setBackgroundColor [1/2] - 设置背景色。详见 - - - setBackgroundColor [2/2] - 设置背景色 RGB。详见 - - - setBlue - -
    - -
    弃用
    -
    已废弃,不建议使用。
    -
    -
    -

    设置背景蓝色分量。详见

    -
    -
    - - setGreen - -
    - -
    弃用
    -
    已废弃,不建议使用。
    -
    -
    -

    设置背景绿色分量。详见

    -
    -
    - - setRed - -
    - -
    弃用
    -
    已废弃,不建议使用。
    -
    -
    -

    设置背景红色分量。详见

    -
    -
    - - setUsers [1/2] - 批量设置用户。详见 - - - setUsers [2/2] - 批量设置用户。详见 - + + addBackgroundImage + 添加背景图。详见 + + + addUser + 添加转码合图用户。详见 + + + addWatermark + 添加水印。详见 + + + getAdvancedFeatures + 获取转码推流高级功能的开/关状态。详见 + + + getBackgroundColor + 获取背景颜色。详见 + + + getBackgroundImageList + 获取背景图列表。详见 + + + getBlue + +
    + +
    弃用
    +
    已废弃,不建议使用。
    +
    +
    +

    获取背景蓝色分量。详见

    +
    +
    + + getGreen + +
    + +
    弃用
    +
    已废弃,不建议使用。
    +
    +
    +

    获取背景绿色分量。详见

    +
    +
    + + getRed + +
    + +
    弃用
    +
    已废弃,不建议使用。
    +
    +
    +

    获取背景红色分量。详见

    +
    +
    + + getUserCount + 获取转码合图用户人数。详见 + + + getUsers + 获取参与合图的用户列表。详见 + + + getWatermarkList + 获取水印列表。详见 + + + removeBackgroundImage + 从背景图列表中删除一张背景图。详见 + + + removeUser + 删除转码合图用户。详见 + + + removeWatermark + 从水印列表中删除一个水印。详见 + + + setAdvancedFeatures + 设置是否启用转码推流的高级功能。详见 + + + setBackgroundColor [1/2] + 设置背景色。详见 + + + setBackgroundColor [2/2] + 设置背景色 RGB。详见 + + + setBlue + +
    + +
    弃用
    +
    已废弃,不建议使用。
    +
    +
    +

    设置背景蓝色分量。详见

    +
    +
    + + setGreen + +
    + +
    弃用
    +
    已废弃,不建议使用。
    +
    +
    +

    设置背景绿色分量。详见

    +
    +
    + + setRed + +
    + +
    弃用
    +
    已废弃,不建议使用。
    +
    +
    +

    设置背景红色分量。详见

    +
    +
    + + setUsers [1/2] + 批量设置用户。详见 + + + setUsers [2/2] + 批量设置用户。详见 + defaultTranscoding 应用默认的转码设置,详见 diff --git a/dita/RTC-NG/API/class_localaudiostats.dita b/dita/RTC-NG/API/class_localaudiostats.dita index f1e567f6ed0..848f26dffc3 100644 --- a/dita/RTC-NG/API/class_localaudiostats.dita +++ b/dita/RTC-NG/API/class_localaudiostats.dita @@ -1,12 +1,12 @@ - <ph keyref="LocalAudioStats" /> + <ph keyref="LocalAudioStats"/> 本地音频统计数据。

    - public static class LocalAudioStats { + public static class LocalAudioStats { public int numChannels; public int sentSampleRate; public int sentBitrate; @@ -16,7 +16,7 @@ public int earMonitorDelay; public int aecEstimatedDelay; }; - __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject @property(assign, nonatomic) NSUInteger numChannels; @property(assign, nonatomic) NSUInteger sentSampleRate; @property(assign, nonatomic) NSUInteger sentBitrate; @@ -27,7 +27,7 @@ @property(assign, nonatomic) NSUInteger aecEstimatedDelay; @end - struct LocalAudioStats + struct LocalAudioStats { int numChannels; int sentSampleRate; @@ -38,7 +38,7 @@ int earMonitorDelay; int aecEstimatedDelay; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLocalAudioStats { GENERATED_BODY() @@ -55,7 +55,7 @@ struct FLocalAudioStats UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") int audioDeviceDelay; }; - export class LocalAudioStats { + export class LocalAudioStats { numChannels?: number; @@ -73,7 +73,7 @@ struct FLocalAudioStats aecEstimatedDelay?: number; } - public class LocalAudioStats + public class LocalAudioStats { public int numChannels; public int sentSampleRate; @@ -86,7 +86,7 @@ struct FLocalAudioStats public int aecEstimatedDelay; } - export class LocalAudioStats { + export class LocalAudioStats { numChannels?: number; @@ -104,7 +104,7 @@ struct FLocalAudioStats aecEstimatedDelay?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class LocalAudioStats { const LocalAudioStats( {this.numChannels, @@ -153,40 +153,43 @@ 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 - 声道数。 - - - sentSampleRate - 发送本地音频的采样率,单位为 Hz。 - - - sentBitrate - 发送本地音频的码率平均值,单位为 Kbps。 - - - txPacketLossRate - 弱网对抗前本端到声网边缘服务器的丢包率 (%)。 - - - internalCodec - 内部的 payload 类型。 - - - audioDeviceDelay - 播放或录制音频时,音频设备模块的延迟 (ms)。 - - - earMonitorDelay - 耳返延迟 (ms),即声音从麦克风输入到耳机输出的延迟。 - - - aecEstimatedDelay - 回声消除延迟 (ms),即回声消除 (Acoustic Echo Cancellation, AEC) 模块测算出音频在本地播放前与被本地采集后的信号延迟。 - -
    + + numChannels + 声道数。 + + + sentSampleRate + 发送本地音频的采样率,单位为 Hz。 + + + sentBitrate + 发送本地音频的码率平均值,单位为 Kbps。 + + + txPacketLossRate + 弱网对抗前本端到声网边缘服务器的丢包率 (%)。 + + + internalCodec + 内部的 payload 类型。 + + + audioDeviceDelay + 播放或录制音频时,音频设备模块的延迟 (ms)。 + + + earMonitorDelay + 耳返延迟 (ms),即声音从麦克风输入到耳机输出的延迟。 + + + aecEstimatedDelay + 回声消除延迟 (ms),即回声消除 (Acoustic Echo Cancellation, AEC) + 模块测算出音频在本地播放前与被本地采集后的信号延迟。 + +
    +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_localspatialaudioconfig.dita b/dita/RTC-NG/API/class_localspatialaudioconfig.dita index 7ef9254c471..303b7e73e0c 100644 --- a/dita/RTC-NG/API/class_localspatialaudioconfig.dita +++ b/dita/RTC-NG/API/class_localspatialaudioconfig.dita @@ -1,26 +1,27 @@ - <ph keyref="LocalSpatialAudioConfig" /> - 的配置。 + <ph keyref="LocalSpatialAudioConfig"/> + + 的配置。

    - public class LocalSpatialAudioConfig { + public class LocalSpatialAudioConfig { public RtcEngine mRtcEngine; public LocalSpatialAudioConfig() { mRtcEngine = null; } } - __attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @end - struct LocalSpatialAudioConfig { + struct LocalSpatialAudioConfig { agora::rtc::IRtcEngine* rtcEngine; LocalSpatialAudioConfig() : rtcEngine(NULL) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLocalSpatialAudioConfig { GENERATED_BODY() @@ -28,10 +29,10 @@ struct FLocalSpatialAudioConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalSpatialAudioConfig") UAgoraRtcEngine* rtcEngine; }; - export class LocalSpatialAudioConfig { + export class LocalSpatialAudioConfig { rtcEngine?: IRtcEngine } - public class LocalSpatialAudioConfig + public class LocalSpatialAudioConfig { public IRtcEngine rtcEngine { set; get; } @@ -40,20 +41,22 @@ struct FLocalSpatialAudioConfig rtcEngine = null; } }; - export class LocalSpatialAudioConfig { + export class LocalSpatialAudioConfig { rtcEngine?: IRtcEngine; } - There are no corresponding names available -

    + There are no corresponding names available +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - mRtcEngine - - -
    + + rtcEngine + mRtcEngine + + + +
    diff --git a/dita/RTC-NG/API/class_localtranscoderconfiguration.dita b/dita/RTC-NG/API/class_localtranscoderconfiguration.dita index 3f8a5ebe3bd..32be40e681d 100644 --- a/dita/RTC-NG/API/class_localtranscoderconfiguration.dita +++ b/dita/RTC-NG/API/class_localtranscoderconfiguration.dita @@ -6,7 +6,7 @@

    - public class LocalTranscoderConfiguration { + public class LocalTranscoderConfiguration { public ArrayList<TranscodingVideoStream> transcodingVideoStreams; public VideoEncoderConfiguration videoOutputConfiguration; @@ -16,14 +16,14 @@ videoOutputConfiguration = new VideoEncoderConfiguration(); } } - __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject @property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams; @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration; @end - struct LocalTranscoderConfiguration { + struct LocalTranscoderConfiguration { unsigned int streamCount; TranscodingVideoStream* videoInputStreams; VideoEncoderConfiguration videoOutputConfiguration; @@ -33,7 +33,7 @@ videoOutputConfiguration() {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLocalTranscoderConfiguration { GENERATED_BODY() @@ -47,7 +47,7 @@ struct FLocalTranscoderConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration") bool syncWithPrimaryCamera = true; }; - export class LocalTranscoderConfiguration { + export class LocalTranscoderConfiguration { streamCount?: number; @@ -56,13 +56,13 @@ struct FLocalTranscoderConfiguration videoOutputConfiguration?: VideoEncoderConfiguration; } - public class LocalTranscoderConfiguration + public class LocalTranscoderConfiguration { public uint streamCount; public TranscodingVideoStream[] videoInputStreams; public VideoEncoderConfiguration videoOutputConfiguration; } - export class LocalTranscoderConfiguration { + export class LocalTranscoderConfiguration { streamCount?: number; @@ -71,7 +71,7 @@ struct FLocalTranscoderConfiguration videoOutputConfiguration?: VideoEncoderConfiguration; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class LocalTranscoderConfiguration { const LocalTranscoderConfiguration( {this.streamCount, @@ -91,24 +91,28 @@ class LocalTranscoderConfiguration { _$LocalTranscoderConfigurationFromJson(json); Map<String, dynamic> toJson() => _$LocalTranscoderConfigurationToJson(this); -}

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - streamCount - 参与本地合图的视频流的数量。 - - - videoInputStreams - transcodingVideoStreams - 参与本地合图的视频流。详见 - - - videoOutputConfiguration - 本地合图后,合图视频的编码配置。详见 - -
    + + streamCount + 参与本地合图的视频流的数量。 + + + videoInputStreams + transcodingVideoStreams + 参与本地合图的视频流。详见 + + + videoOutputConfiguration + 本地合图后,合图视频的编码配置。详见 + + +
    diff --git a/dita/RTC-NG/API/class_localvideostats.dita b/dita/RTC-NG/API/class_localvideostats.dita index 158f8c4192c..99a12442752 100644 --- a/dita/RTC-NG/API/class_localvideostats.dita +++ b/dita/RTC-NG/API/class_localvideostats.dita @@ -6,7 +6,7 @@

    - public static class LocalVideoStats { + public static class LocalVideoStats { public int uid; public int sentBitrate; public int sentFrameRate; @@ -30,7 +30,7 @@ public int captureBrightnessLevel; public int hwEncoderAccelerating; } - __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject @property(assign, nonatomic) NSUInteger sentBitrate; @property(assign, nonatomic) NSUInteger sentFrameRate; @property(assign, nonatomic) NSUInteger uid; @@ -56,7 +56,7 @@ @property(assign, nonatomic) NSInteger txPacketLossRate; @property(assign, nonatomic) AgoraCaptureBrightnessLevelType captureBrightnessLevel NS_SWIFT_NAME(captureBrightnessLevel); @end - struct LocalVideoStats + struct LocalVideoStats { uid_t uid; int sentBitrate; @@ -82,7 +82,7 @@ int hwEncoderAccelerating; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLocalVideoStats { GENERATED_BODY() @@ -132,7 +132,7 @@ struct FLocalVideoStats UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int hwEncoderAccelerating; }; - export class LocalVideoStats { + export class LocalVideoStats { uid?: number; @@ -179,7 +179,7 @@ struct FLocalVideoStats hwEncoderAccelerating?: number; } - public class LocalVideoStats + public class LocalVideoStats { public LocalVideoStats() { @@ -208,7 +208,7 @@ struct FLocalVideoStats public CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel { set; get; } public int hwEncoderAccelerating { set; get; } }; - export class LocalVideoStats { + export class LocalVideoStats { uid?: number; @@ -255,7 +255,7 @@ struct FLocalVideoStats hwEncoderAccelerating?: number; } - class LocalVideoStats { + class LocalVideoStats { const LocalVideoStats( {this.uid, this.sentBitrate, @@ -350,140 +350,147 @@ struct FLocalVideoStats _$LocalVideoStatsFromJson(json); Map<String, dynamic> toJson() => _$LocalVideoStatsToJson(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。 - - - sentBitrate - -

    实际发送码率 (Kbps) - 不包含丢包后重传视频等的发送码率。

    -
    -
    - - sentFrameRate - 实际发送帧率 (fps)。 - 不包含丢包后重传视频等的发送帧率。 - - - captureFrameRate - 本地视频采集帧率 (fps)。 - - - captureFrameWidth - 本地视频采集宽度 (px)。 - - - captureFrameHeight - 本地视频采集高度 (px)。 - - - regulatedCaptureFrameRate - SDK 内置的视频采集适配器(regulator)调整后的摄像头采集视频帧率 (fps)。Regulator 根据视频编码配置对摄像头采集视频的帧率进行调整。 - - - regulatedCaptureFrameWidth - SDK 内置的视频采集适配器(regulator)调整后的摄像头采集视频宽度 (px)。Regulator 根据视频编码配置对摄像头采集视频的宽高进行调整。 - - - regulatedCaptureFrameHeight - SDK 内置的视频采集适配器(regulator)调整后的摄像头采集视频高度 (px)。Regulator 根据视频编码配置对摄像头采集视频的宽高进行调整。 - - - encoderOutputFrameRate - 本地视频编码器的输出帧率,单位为 fps。 - - - rendererOutputFrameRate - 本地视频渲染器的输出帧率,单位为 fps。 - - - targetBitrate - 当前编码器的目标编码码率 (Kbps),该码率为 SDK 根据当前网络状况预估的一个值。 - - - targetFrameRate - 当前编码器的目标编码帧率 (fps)。 - - - qualityAdaptIndication - 统计周期内本地视频质量(基于目标帧率和目标码率)的自适应情况。详见 -

    -

      -
    • (0): 本地视频质量不变。
    • -
    • (1): 因网络带宽增加,本地视频质量改善。
    • -
    • (2): 因网络带宽减少,本地视频质量变差。
    • -

    -
    -
    - - encodedBitrate - -

    视频编码码率(Kbps)。 - 不包含丢包后重传视频等的编码码率。

    -
    -
    - - encodedFrameHeight - 视频编码高度(px)。 - - - encodedFrameWidth - 视频编码宽度(px)。 - - - encodedFrameCount - 视频发送的帧数,累计值。 - - - codecType - 视频的编码类型。详见 。 -

    -

      -
    • (1):VP8。
    • -
    • (2):H.264。
    • -
    • (3):(默认)H.265。
    • -
    - 在某些场景(如采集到的视频流分辨率过低、设备性能有限)下,SDK 会自动调整为 H.264 编码格式。

    -
    -
    - - txPacketLossRate - 弱网对抗前本端到声网边缘服务器的视频丢包率 (%)。 - - - captureFrameRate - 本地视频采集帧率 (fps)。 - - - captureBrightnessLevel - 本地采集的画质亮度级别。详见 - - - captureBrightnessLevel - 本地采集的画质亮度级别。 -
      -
    • (-1): SDK 未检测出本地采集的画质亮度级别。请等待几秒,通过下一次回调的 captureBrightnessLevel 获取亮度级别。
    • -
    • (0): 本地采集的画质亮度正常。
    • -
    • (1): 本地采集的画质亮度偏亮。
    • -
    • (2): 本地采集的画质亮度偏暗。
    • -
    -
    - - hwEncoderAccelerating - 本地视频编码加速类型。详见 -
      -
    • 0:采用软件编码,未加速。
    • -
    • 1:采用硬件编码进行加速。
    • -
    -
    -
    + + uid + 本地用户的 ID。 + + + sentBitrate + +

    实际发送码率 (Kbps) 不包含丢包后重传视频等的发送码率。

    +
    +
    + + sentFrameRate + 实际发送帧率 (fps)。 不包含丢包后重传视频等的发送帧率。 + + + captureFrameRate + 本地视频采集帧率 (fps)。 + + + captureFrameWidth + 本地视频采集宽度 (px)。 + + + captureFrameHeight + 本地视频采集高度 (px)。 + + + regulatedCaptureFrameRate + SDK 内置的视频采集适配器(regulator)调整后的摄像头采集视频帧率 (fps)。Regulator + 根据视频编码配置对摄像头采集视频的帧率进行调整。 + + + regulatedCaptureFrameWidth + SDK 内置的视频采集适配器(regulator)调整后的摄像头采集视频宽度 (px)。Regulator + 根据视频编码配置对摄像头采集视频的宽高进行调整。 + + + regulatedCaptureFrameHeight + SDK 内置的视频采集适配器(regulator)调整后的摄像头采集视频高度 (px)。Regulator + 根据视频编码配置对摄像头采集视频的宽高进行调整。 + + + encoderOutputFrameRate + 本地视频编码器的输出帧率,单位为 fps。 + + + rendererOutputFrameRate + 本地视频渲染器的输出帧率,单位为 fps。 + + + targetBitrate + 当前编码器的目标编码码率 (Kbps),该码率为 SDK 根据当前网络状况预估的一个值。 + + + targetFrameRate + 当前编码器的目标编码帧率 (fps)。 + + + qualityAdaptIndication + 统计周期内本地视频质量(基于目标帧率和目标码率)的自适应情况。详见 +

    +

      +
    • (0): 本地视频质量不变。
    • +
    • (1): 因网络带宽增加,本地视频质量改善。
    • +
    • (2): 因网络带宽减少,本地视频质量变差。
    • +
    +

    +
    +
    + + encodedBitrate + +

    视频编码码率(Kbps)。 不包含丢包后重传视频等的编码码率。

    +
    +
    + + encodedFrameHeight + 视频编码高度(px)。 + + + encodedFrameWidth + 视频编码宽度(px)。 + + + encodedFrameCount + 视频发送的帧数,累计值。 + + + codecType + 视频的编码类型。详见

    +

      +
    • (1):VP8。
    • +
    • (2):H.264。
    • +
    • (3):(默认)H.265。
    • +
    + 在某些场景(如采集到的视频流分辨率过低、设备性能有限)下,SDK 会自动调整为 H.264 编码格式。

    +
    +
    + + txPacketLossRate + 弱网对抗前本端到声网边缘服务器的视频丢包率 (%)。 + + + captureFrameRate + 本地视频采集帧率 (fps)。 + + + captureBrightnessLevel + 本地采集的画质亮度级别。详见 + + + captureBrightnessLevel + 本地采集的画质亮度级别。
      +
    • (-1): SDK + 未检测出本地采集的画质亮度级别。请等待几秒,通过下一次回调的 + captureBrightnessLevel 获取亮度级别。
    • +
    • (0): + 本地采集的画质亮度正常。
    • +
    • (1): + 本地采集的画质亮度偏亮。
    • +
    • (2): 本地采集的画质亮度偏暗。
    • +
    +
    + + hwEncoderAccelerating + 本地视频编码加速类型。详见 +
      +
    • 0:采用软件编码,未加速。
    • +
    • 1:采用硬件编码进行加速。
    • +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_logconfig.dita b/dita/RTC-NG/API/class_logconfig.dita index e472f361cd6..5b6394322ea 100644 --- a/dita/RTC-NG/API/class_logconfig.dita +++ b/dita/RTC-NG/API/class_logconfig.dita @@ -1,29 +1,29 @@ - <ph keyref="LogConfig" /> + <ph keyref="LogConfig"/> SDK 日志文件的配置。

    - public static class LogConfig { + public static class LogConfig { public String filePath; public int fileSizeInKB; public int level = Constants.LogLevel.getValue(Constants.LogLevel.LOG_LEVEL_INFO); } - __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject @property (copy, nonatomic) NSString * _Nullable filePath; @property (assign, nonatomic) NSInteger fileSizeInKB; @property (assign, nonatomic) AgoraLogLevel level; @end - struct LogConfig + struct LogConfig { const char* filePath; uint32_t fileSizeInKB; LOG_LEVEL level; LogConfig() : filePath(NULL), fileSizeInKB(DEFAULT_LOG_SIZE_IN_KB), level(OPTIONAL_LOG_LEVEL_SPECIFIER LOG_LEVEL_INFO) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLogConfig { GENERATED_BODY() @@ -35,7 +35,7 @@ struct FLogConfig { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LogConfig") TEnumAsByte<ELOG_LEVEL> level = ELOG_LEVEL::LOG_LEVEL_INFO; }; - export class LogConfig { + export class LogConfig { filePath?: string; @@ -43,7 +43,7 @@ struct FLogConfig { level?: LogLevel; } - public class LogConfig + public class LogConfig { public LogConfig() { @@ -62,7 +62,7 @@ struct FLogConfig { public uint fileSizeInKB { set; get; } public LOG_LEVEL level { set; get; } }; - export class LogConfig { + export class LogConfig { filePath?: string; @@ -70,7 +70,7 @@ struct FLogConfig { level?: LogLevel; } - class LogConfig { + class LogConfig { const LogConfig({this.filePath, this.fileSizeInKB, this.level}); @JsonKey(name: 'filePath') @@ -86,50 +86,66 @@ struct FLogConfig {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - filePath - -

    日志文件的完整路径。声网建议你使用默认的日志路径。如果你需要修改默认的日志路径,请确保你指定的路径存在且可写。

    -

    默认路径为: -

      -
    • Android:/storage/emulated/0/Android/data/<packagename>/files/agorasdk.log
    • -
    • 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
    • -

    -

    默认路径为 /storage/emulated/0/Android/data/<packagename>/files/agorasdk.log

    -

    默认路径为 AppSandbox/Library/caches/agorasdk.log

    -

    默认路径为: - -

      -
    • 开启沙盒: AppSandbox/Library/Logs/agorasdk.log,例如 /Users/<username>/Library/Containers/<AppBundleIdentifier>/Data/Library/Logs/agorasdk.log
    • -
    • 关闭沙盒: ~/Library/Logs/agorasdk.log -
    • -
    -

    -
    -
    - - 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 不生效。

    -
    -
    - - level - -

    SDK 的日志输出等级,详见

    -

    例如,如果你选择 WARN 级别,就可以看到在 FATAL、ERROR 和 WARN 级别上的所有日志信息。

    -
    -
    -
    + + filePath + +

    日志文件的完整路径。声网建议你使用默认的日志路径。如果你需要修改默认的日志路径,请确保你指定的路径存在且可写。

    +

    默认路径为:

      +
    • Android:/storage/emulated/0/Android/data/<packagename>/files/agorasdk.log
    • +
    • 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
    • +

    +

    默认路径为 + /storage/emulated/0/Android/data/<packagename>/files/agorasdk.log

    +

    默认路径为 + AppSandbox/Library/caches/agorasdk.log

    +

    默认路径为:

      +
    • 开启沙盒: + AppSandbox/Library/Logs/agorasdk.log,例如 + /Users/<username>/Library/Containers/<AppBundleIdentifier>/Data/Library/Logs/agorasdk.log
    • +
    • 关闭沙盒: ~/Library/Logs/agorasdk.log +
    • +
    +

    +
    +
    + + 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 不生效。

    +
    +
    +
    + + level + +

    SDK 的日志输出等级,详见

    +

    例如,如果你选择 WARN 级别,就可以看到在 FATAL、ERROR 和 WARN 级别上的所有日志信息。

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_loguploadserverinfo.dita b/dita/RTC-NG/API/class_loguploadserverinfo.dita index 3bba6b26962..fce84d103b0 100644 --- a/dita/RTC-NG/API/class_loguploadserverinfo.dita +++ b/dita/RTC-NG/API/class_loguploadserverinfo.dita @@ -6,7 +6,7 @@

    - public static class LogUploadServerInfo { + public static class LogUploadServerInfo { public String serverDomain = null; public String serverPath = null; @@ -27,7 +27,7 @@ serverHttps = https; } }; - __attribute__((visibility("default"))) @interface LogUploadServerInfo : NSObject + __attribute__((visibility("default"))) @interface LogUploadServerInfo : NSObject @property(copy, nonatomic) NSString* _Nullable serverDomain; @property(copy, nonatomic) NSString* _Nullable serverPath; @@ -36,7 +36,7 @@ @property(assign, nonatomic) BOOL serverHttps; @end - struct LogUploadServerInfo { + struct LogUploadServerInfo { const char* serverDomain; const char* serverPath; @@ -50,7 +50,7 @@ LogUploadServerInfo(const char* domain, const char* path, int port, bool https) : serverDomain(domain), serverPath(path), serverPort(port), serverHttps(https) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLogUploadServerInfo { GENERATED_BODY() @@ -63,20 +63,20 @@ struct FLogUploadServerInfo { bool serverHttps = true; }; - export class LogUploadServerInfo { + export class LogUploadServerInfo { serverDomain?: string; serverPath?: string; serverPort?: number; serverHttps?: boolean; } - - export class LogUploadServerInfo { + + export class LogUploadServerInfo { serverDomain?: string; serverPath?: string; serverPort?: number; serverHttps?: boolean; } - class LogUploadServerInfo { + class LogUploadServerInfo { const LogUploadServerInfo( {this.serverDomain, this.serverPath, this.serverPort, this.serverHttps}); @@ -96,42 +96,43 @@ struct FLogUploadServerInfo { _$LogUploadServerInfoFromJson(json); Map<String, dynamic> toJson() => _$LogUploadServerInfoToJson(this); -} -

    +} +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - serverDomain - 日志服务器的域名。 - - - serverPath - 日志在服务器上的存储路径。 - - - serverPort - 日志服务器的端口。 - - - serverHttps - 日志服务器是否使用 HTTPS 协议: - -
      -
    • : 使用 HTTPS 协议。
    • -
    • : 使用 HTTP 协议。
    • -
    -
    -
    + + serverDomain + 日志服务器的域名。 + + + serverPath + 日志在服务器上的存储路径。 + + + serverPort + 日志服务器的端口。 + + + serverHttps + 日志服务器是否使用 HTTPS 协议:
      +
    • : 使用 HTTPS 协议。
    • +
    • : 使用 HTTP 协议。
    • +
    +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_lowlightenhanceoptions.dita b/dita/RTC-NG/API/class_lowlightenhanceoptions.dita index 50f991bea9a..ac009250be5 100644 --- a/dita/RTC-NG/API/class_lowlightenhanceoptions.dita +++ b/dita/RTC-NG/API/class_lowlightenhanceoptions.dita @@ -1,12 +1,16 @@ - <ph keyref="LowlightEnhanceOptions" /> - 暗光增强选项。 + + <ph keyref="LowlightEnhanceOptions"/> + + + 暗光增强选项。 +

    - public class LowLightEnhanceOptions { + public class LowLightEnhanceOptions { public static final int LOW_LIGHT_ENHANCE_AUTO = 0; public static final int LOW_LIGHT_ENHANCE_MANUAL = 1; public static final int LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY = 0; @@ -24,11 +28,11 @@ lowlightEnhanceLevel = level; } } - __attribute__((visibility("default"))) @interface AgoraLowlightEnhanceOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraLowlightEnhanceOptions : NSObject @property(nonatomic, assign) AgoraLowlightEnhanceMode mode; @property(nonatomic, assign) AgoraLowlightEnhanceLevel level; @end - struct LowlightEnhanceOptions { + struct LowlightEnhanceOptions { enum LOW_LIGHT_ENHANCE_MODE { LOW_LIGHT_ENHANCE_AUTO = 0, LOW_LIGHT_ENHANCE_MANUAL = 1, @@ -47,7 +51,7 @@ LowlightEnhanceOptions() : mode(LOW_LIGHT_ENHANCE_AUTO), level(LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLowlightEnhanceOptions { GENERATED_BODY() @@ -56,7 +60,7 @@ struct FLowlightEnhanceOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LowlightEnhanceOptions") ELOW_LIGHT_ENHANCE_LEVEL level = ELOW_LIGHT_ENHANCE_LEVEL::LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY; }; - public class LowlightEnhanceOptions + public class LowlightEnhanceOptions { public LOW_LIGHT_ENHANCE_MODE mode { set; get; } public LOW_LIGHT_ENHANCE_LEVEL level { set; get; } @@ -73,19 +77,19 @@ struct FLowlightEnhanceOptions level = LOW_LIGHT_ENHANCE_LEVEL.LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY; } }; - export class LowlightEnhanceOptions { + export class LowlightEnhanceOptions { mode?: LowLightEnhanceMode; level?: LowLightEnhanceLevel; } - export class LowlightEnhanceOptions { + export class LowlightEnhanceOptions { mode?: LowLightEnhanceMode; level?: LowLightEnhanceLevel; } - class LowlightEnhanceOptions { + class LowlightEnhanceOptions { const LowlightEnhanceOptions({this.mode, this.level}); @@ -99,29 +103,38 @@ struct FLowlightEnhanceOptions _$LowlightEnhanceOptionsFromJson(json); 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 - 暗光增强等级。详见 + + level + 暗光增强等级。详见
      -
    • (0):(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。
    • -
    • (1):优先性能的暗光增强,会处理视频图像的亮度、细节,消耗的性能较少,处理速度较快。
    • -
    -
    - - mode - 暗光增强模式。详见 +
  • (0):(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。
  • +
  • (1):优先性能的暗光增强,会处理视频图像的亮度、细节,消耗的性能较少,处理速度较快。
  • + +
    +
    + + mode + 暗光增强模式。详见
      -
    • (0):(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭暗光增强功能,以适时补光和防止过曝。
    • -
    • (1):手动模式。用户需手动开启或关闭暗光增强功能。
    • -
    -
    -
    +
  • (0):(默认)自动模式。SDK + 会根据环境光亮度自动开启或关闭暗光增强功能,以适时补光和防止过曝。
  • +
  • (1):手动模式。用户需手动开启或关闭暗光增强功能。
  • + + + + +
    diff --git a/dita/RTC-NG/API/class_mediadeviceinfo.dita b/dita/RTC-NG/API/class_mediadeviceinfo.dita index bdf5ac9de1d..00853fd6732 100644 --- a/dita/RTC-NG/API/class_mediadeviceinfo.dita +++ b/dita/RTC-NG/API/class_mediadeviceinfo.dita @@ -6,26 +6,28 @@

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - deviceId - 设备 ID。 - - - deviceName - 设备名称。 - -
    + + deviceId + 设备 ID。 + + + deviceName + 设备名称。 + + +
    diff --git a/dita/RTC-NG/API/class_mediaplayercontroller.dita b/dita/RTC-NG/API/class_mediaplayercontroller.dita index d347886bf69..d6faac9765d 100644 --- a/dita/RTC-NG/API/class_mediaplayercontroller.dita +++ b/dita/RTC-NG/API/class_mediaplayercontroller.dita @@ -1,18 +1,18 @@ - <ph keyref="MediaPlayerController" /> - 的控制器,用于渲染媒体播放器的视频。 + <ph keyref="MediaPlayerController"/> + 的控制器,用于渲染媒体播放器的视频。

    - - - - - - - abstract class MediaPlayerController + + + + + + + abstract class MediaPlayerController implements MediaPlayer, VideoViewControllerBase { factory MediaPlayerController( @@ -31,30 +31,32 @@ Future<void> initialize(); } -

    +

    -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - + + - - + + - - + + - - + + -
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_mediarecorderconfiguration.dita b/dita/RTC-NG/API/class_mediarecorderconfiguration.dita index b2c7b499ace..23c7a43364d 100644 --- a/dita/RTC-NG/API/class_mediarecorderconfiguration.dita +++ b/dita/RTC-NG/API/class_mediarecorderconfiguration.dita @@ -1,12 +1,12 @@ - <ph keyref="MediaRecorderConfiguration" /> + <ph keyref="MediaRecorderConfiguration"/> 音视频流录制配置。

    - public static class MediaRecorderConfiguration { + public static class MediaRecorderConfiguration { public String storagePath; public int containerFormat = CONTAINER_MP4; public int streamType = STREAM_TYPE_BOTH; @@ -22,13 +22,13 @@ this.recorderInfoUpdateInterval = recorderInfoUpdateInterval; } } - __attribute__((visibility("default"))) @interface AgoraMediaRecorderConfiguration : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaRecorderConfiguration : NSObject @property(copy, nonatomic) NSString* _Nonnull storagePath; @property(assign, nonatomic) AgoraMediaRecorderContainerFormat containerFormat; @property(assign, nonatomic) AgoraMediaRecorderStreamType streamType; @property(assign, nonatomic) NSUInteger maxDurationMs; @property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval; - struct MediaRecorderConfiguration { + struct MediaRecorderConfiguration { const char* storagePath; MediaRecorderContainerFormat containerFormat; MediaRecorderStreamType streamType; @@ -38,7 +38,7 @@ MediaRecorderConfiguration() : storagePath(NULL), containerFormat(FORMAT_MP4), streamType(STREAM_TYPE_BOTH), maxDurationMs(120000), recorderInfoUpdateInterval(0) {} MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FMediaRecorderConfiguration { GENERATED_BODY() @@ -54,7 +54,7 @@ struct FMediaRecorderConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaRecorderConfiguration") int recorderInfoUpdateInterval; }; - export class MediaRecorderConfiguration { + export class MediaRecorderConfiguration { storagePath?: string; @@ -66,14 +66,14 @@ struct FMediaRecorderConfiguration recorderInfoUpdateInterval?: number; } - public struct MediaRecorderConfiguration { + public struct MediaRecorderConfiguration { public string storagePath; public MediaRecorderContainerFormat containerFormat; public MediaRecorderStreamType streamType; public int maxDurationMs; public int recorderInfoUpdateInterval; }; - export class MediaRecorderConfiguration { + export class MediaRecorderConfiguration { storagePath?: string; @@ -85,7 +85,7 @@ struct FMediaRecorderConfiguration recorderInfoUpdateInterval?: number; } - class MediaRecorderConfiguration { + class MediaRecorderConfiguration { const MediaRecorderConfiguration( {this.storagePath, @@ -114,48 +114,56 @@ struct FMediaRecorderConfiguration Map<String, dynamic> toJson() => _$MediaRecorderConfigurationToJson(this); } -

    +

    -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - storagePath - 录音文件在本地保存的绝对路径,需精确到文件名及格式。例如: -
      -
    • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.mp4
    • -
    • iOS: /App Sandbox/Library/Caches/example.mp4
    • -
    • macOS: /Library/Logs/example.mp4
    • -
    • Android: /storage/emulated/0/Android/data/<package name>/files/example.mp4
    • -
    - 请确保你指定的路径存在并且可写。
    -
    - - containerFormat - 录制文件的格式。详见 - 录制文件的格式,目前仅支持 - - - streamType - 录制内容。详见 - 录制内容: -
      -
    • :仅音频。
    • -
    • :仅视频。
    • -
    • :(默认)音视频。
    • -
    -
    - - maxDurationMs - 最大录制时长,单位为毫秒,默认值为 120000。 - - - recorderInfoUpdateInterval - 录制信息更新间隔,单位为毫秒,取值范围为 [1000,10000]。SDK 会根据该值的设置触发 回调,报告更新后的录制信息。 - -
    + + storagePath + 录音文件在本地保存的绝对路径,需精确到文件名及格式。例如:
      +
    • Windows: + C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.mp4
    • +
    • iOS: /App + Sandbox/Library/Caches/example.mp4
    • +
    • macOS: + /Library/Logs/example.mp4
    • +
    • Android: + /storage/emulated/0/Android/data/<package + name>/files/example.mp4
    • +
    + 请确保你指定的路径存在并且可写。
    +
    + + containerFormat + 录制文件的格式。详见 + 录制文件的格式,目前仅支持 + + + streamType + 录制内容。详见 + 录制内容:
      +
    • :仅音频。
    • +
    • :仅视频。
    • +
    • :(默认)音视频。
    • +
    +
    + + maxDurationMs + 最大录制时长,单位为毫秒,默认值为 120000。 + + + recorderInfoUpdateInterval + 录制信息更新间隔,单位为毫秒,取值范围为 [1000,10000]。SDK 会根据该值的设置触发 回调,报告更新后的录制信息。 + + +
    diff --git a/dita/RTC-NG/API/class_mediasource.dita b/dita/RTC-NG/API/class_mediasource.dita index 70c4f744b41..5cbcfb4795a 100644 --- a/dita/RTC-NG/API/class_mediasource.dita +++ b/dita/RTC-NG/API/class_mediasource.dita @@ -6,7 +6,7 @@

    - public class MediaPlayerSource { + public class MediaPlayerSource { String url; String uri; long startPos; @@ -17,7 +17,7 @@ boolean enableMultiAudioTrack; IMediaPlayerCustomDataProvider provider; } - __attribute__((visibility("default"))) @interface AgoraMediaSource : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaSource : NSObject @property(copy, nonatomic) NSString *_Nullable url; @property(copy, nonatomic) NSString *_Nullable uri; @property(assign, nonatomic) NSUInteger startPos; @@ -30,7 +30,7 @@ @property(copy, nonatomic) AgoraRtcMediaPlayerCustomSourceOnSeekCallback _Nonnull playerOnSeekCallback; @end @end - struct MediaSource { + struct MediaSource { const char* url; const char* uri; int64_t startPos; @@ -45,7 +45,7 @@ enableMultiAudioTrack(false), provider(NULL){ } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAgoraMediaSource { GENERATED_BODY() @@ -67,7 +67,7 @@ struct FAgoraMediaSource UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") UIMediaPlayerCustomDataProvider* provider; }; - export class MediaSource { + export class MediaSource { url?: string; @@ -83,7 +83,7 @@ struct FAgoraMediaSource isLiveSource?: boolean; } - public class MediaSource : OptionalJsonParse + public class MediaSource : OptionalJsonParse { public string url { set; get; } public string uri { set; get; } @@ -104,7 +104,7 @@ struct FAgoraMediaSource provider = null; } } - export class MediaSource { + export class MediaSource { url?: string; @@ -120,7 +120,7 @@ struct FAgoraMediaSource isLiveSource?: boolean; } - class MediaSource { + class MediaSource { const MediaSource( {this.url, this.uri, @@ -156,114 +156,127 @@ struct FAgoraMediaSource 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 传值;如果你打开媒体资源为自定义媒体资源,请向 playerOnReadCallbackplayerOnSeekCallback 传值,同时传值会导致方法调用失败。

    -

    如果你打开的为普通媒体资源,请向 url 传值;如果你打开媒体资源为自定义媒体资源,请向 provider 传值,同时传值会导致方法调用失败。

    -
    -
    - - uri - 媒体文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。 - - - startPos - 设置起始播放位置 (毫秒),默认值为 0。 - - - autoPlay - 打开媒体文件后,是否开启自动播放: - -
      -
    • :(默认)开启自动播放。
    • -
    • :关闭自动播放。
    • -
    - -

    如果你设置关闭自动播放,打开媒体文件后,请调用 方法来播放媒体文件。

    -
    -
    - - enableCache - 此次播放是否开启实时缓存功能: - -
      -
    • :开启实时缓存。
    • -
    • :(默认)关闭实时缓存。
    • -
    - -
      -
    • SDK 目前仅支持缓存点播流,但不支持缓存通过 HLS 协议传输的点播流。
    • -
    • 缓存前,请向 uri 传值,否则播放器会以媒体文件的 url 作为缓存索引。
    • -
    • 开启实时缓存后,播放器会预先缓存当前正在播放的媒体文件的部分数据到本地,当你下次播放该文件时播放器会直接从缓存中加载数据,可节省网络流量。当前缓存的媒体文件的相关统计数据会在媒体文件开始播放后每秒更新一次,详见
    • -
    -
    - - enableMultiAudioTrack - 此次播放是否允许选择不同音轨: -
      -
    • :允许选择不同音轨。
    • -
    • :(默认)不允许选择不同音轨。
    • -
    -

    如果你在本地播放和发布音频至远端时,需要设置不同的音轨,你需要将该参数设为 ,然后再调用 方法来设置音轨。

    -
    -
    - isAgoraSource - 打开的媒体资源是否为通过声网融合 CDN 分发的直播或点播流: -
      -
    • :打开的媒体资源是声网融合 CDN 分发的直播或点播流。
    • -
    • :(默认)打开的媒体资源不是声网融合 CDN 分发的直播或点播流。
    • -
    - -

    如果你需要打开的媒体资源为声网融合 CDN 分发的直播流或点播流,请向 url 传入直播或点播流的 URL 并将 isAgoraSource 设置为 ,否则无需设置 isAgoraSource

    -
    -
    - - isLiveSource - 打开的媒体资源是否为直播流: - - -
      -
    • :直播流。
    • -
    • :(默认)非直播流。
    • -
    -

    如果你打开的媒体资源为直播流,建议你将该参数设置为 ,可加快打开直播流的速度。

    - -

    仅当打开的媒体资源为直播流时,将 isLiveSource 设置为 后才可加快媒体资源的打开速度。

    -
    -
    - + url + +

    需要播放的媒体资源的 URL。

    + +

    如果你打开的为普通媒体资源,请向 url + 传值;如果你打开媒体资源为自定义媒体资源,请向 playerOnReadCallback 及 + playerOnSeekCallback 传值,同时传值会导致方法调用失败。

    +

    如果你打开的为普通媒体资源,请向 + url 传值;如果你打开媒体资源为自定义媒体资源,请向 + provider 传值,同时传值会导致方法调用失败。

    +
    +
    + + uri + 媒体文件的 URI(Uniform Resource Identifier),可用于标识媒体文件。 + + + startPos + 设置起始播放位置 (毫秒),默认值为 0。 + + + autoPlay + 打开媒体文件后,是否开启自动播放:
      +
    • :(默认)开启自动播放。
    • +
    • :关闭自动播放。
    • +
    + +

    如果你设置关闭自动播放,打开媒体文件后,请调用 方法来播放媒体文件。

    +
    +
    + + enableCache + 此次播放是否开启实时缓存功能:
      +
    • :开启实时缓存。
    • +
    • :(默认)关闭实时缓存。
    • +
    + +
      +
    • SDK 目前仅支持缓存点播流,但不支持缓存通过 HLS 协议传输的点播流。
    • +
    • 缓存前,请向 uri 传值,否则播放器会以媒体文件的 + url 作为缓存索引。
    • +
    • 开启实时缓存后,播放器会预先缓存当前正在播放的媒体文件的部分数据到本地,当你下次播放该文件时播放器会直接从缓存中加载数据,可节省网络流量。当前缓存的媒体文件的相关统计数据会在媒体文件开始播放后每秒更新一次,详见 +
    • +
    +
    +
    + + enableMultiAudioTrack + 此次播放是否允许选择不同音轨:
      +
    • :允许选择不同音轨。
    • +
    • :(默认)不允许选择不同音轨。
    • +
    +

    如果你在本地播放和发布音频至远端时,需要设置不同的音轨,你需要将该参数设为 ,然后再调用 + 方法来设置音轨。

    +
    +
    + + isAgoraSource + 打开的媒体资源是否为通过声网融合 CDN 分发的直播或点播流:
      +
    • :打开的媒体资源是声网融合 CDN + 分发的直播或点播流。
    • +
    • :(默认)打开的媒体资源不是声网融合 CDN + 分发的直播或点播流。
    • +
    + +

    如果你需要打开的媒体资源为声网融合 CDN 分发的直播流或点播流,请向 url + 传入直播或点播流的 URL 并将 isAgoraSource 设置为 ,否则无需设置 + isAgoraSource

    +
    +
    + + isLiveSource + 打开的媒体资源是否为直播流:
      +
    • :直播流。
    • +
    • :(默认)非直播流。
    • +
    +

    如果你打开的媒体资源为直播流,建议你将该参数设置为 ,可加快打开直播流的速度。

    + +

    仅当打开的媒体资源为直播流时,将 isLiveSource 设置为 后才可加快媒体资源的打开速度。

    +
    +
    +
    + provider

    自定义媒体资源文件的回调。详见

    -

    如果你打开媒体资源为自定义媒体资源,请仅向 provider 传值,如果你打开的为普通媒体资源,请向 url 传值。同时向 urlprovider 传值会导致方法调用会失败。

    +

    如果你打开媒体资源为自定义媒体资源,请仅向 provider + 传值,如果你打开的为普通媒体资源,请向 url 传值。同时向 + urlprovider + 传值会导致方法调用会失败。

    - - playerOnReadCallback - -

    读取媒体资源数据回调。详见

    - -

    - - - - playerOnSeekCallback - -

    定位媒体资源数据回调。详见

    - -

    - - -

    + + playerOnReadCallback + +

    读取媒体资源数据回调。详见

    + +

    + + + + playerOnSeekCallback + +

    定位媒体资源数据回调。详见

    + +

    + + + + diff --git a/dita/RTC-NG/API/class_metadata.dita b/dita/RTC-NG/API/class_metadata.dita index 1350c810d6a..5b1d0ff2ada 100644 --- a/dita/RTC-NG/API/class_metadata.dita +++ b/dita/RTC-NG/API/class_metadata.dita @@ -1,20 +1,20 @@ - <ph keyref="Metadata" /> + <ph keyref="Metadata"/> 媒体附属信息。

    - - - struct Metadata { + + + struct Metadata { unsigned int uid; unsigned int size; unsigned char *buffer; long long timeStampMs; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAgoraMetadata { GENERATED_BODY() @@ -27,7 +27,7 @@ struct FAgoraMetadata UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraMetadata") int64 timeStampMs; }; - public class Metadata + public class Metadata { public uint uid; public uint size; @@ -48,7 +48,7 @@ struct FAgoraMetadata public long timeStampMs; }; - export class Metadata { + export class Metadata { uid?: number; @@ -58,7 +58,7 @@ struct FAgoraMetadata timeStampMs?: number; } - export class Metadata { + export class Metadata { uid?: number; @@ -68,7 +68,7 @@ struct FAgoraMetadata timeStampMs?: number; } - class Metadata { + class Metadata { const Metadata({this.uid, this.size, this.buffer, this.timeStampMs}); @JsonKey(name: 'uid') @@ -83,34 +83,34 @@ struct FAgoraMetadata _$MetadataFromJson(json); 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" + /> - - uid - -

    用户 ID。 - -

      -
    • 对于接收者:发送该 的远端用户的 ID。
    • -
    • 对于发送者:请忽略。
    • -

    -
    -
    - - size - 接收到的或发送的 的缓存大小。 - - - buffer - 接收到的或发送的 的缓存地址。 - - - timeStampMs - 的时间戳,单位为毫秒。 - -
    + + uid + +

    用户 ID。

      +
    • 对于接收者:发送该 的远端用户的 ID。
    • +
    • 对于发送者:请忽略。
    • +

    +
    +
    + + size + 接收到的或发送的 的缓存大小。 + + + buffer + 接收到的或发送的 的缓存地址。 + + + timeStampMs + 的时间戳,单位为毫秒。 + + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_music.dita b/dita/RTC-NG/API/class_music.dita index 63456ff3971..4615cdd2725 100644 --- a/dita/RTC-NG/API/class_music.dita +++ b/dita/RTC-NG/API/class_music.dita @@ -6,7 +6,7 @@

    - public class Music { + public class Music { public long songCode; public String name; public String singer; @@ -86,7 +86,7 @@ return climaxSegments; } } - __attribute__((visibility("default"))) @interface AgoraMusic : NSObject + __attribute__((visibility("default"))) @interface AgoraMusic : NSObject @property(nonatomic, assign) NSInteger songCode; @property(nonatomic, assign) NSInteger type; @property(nonatomic, assign) NSInteger pitchType; @@ -98,7 +98,7 @@ @property(nonatomic, strong) NSArray<NSNumber *>* lyricList; @property(nonatomic, strong) NSArray<AgoraClimaxSegment *>* climaxSegmentList; @end - struct Music + struct Music { int64_t songCode; const char* name; @@ -114,7 +114,7 @@ ClimaxSegment* climaxSegmentList; }; - export class Music { + export class Music { songCode?: number; name?: string; singer?: string; @@ -128,7 +128,7 @@ climaxSegmentCount?: number; climaxSegmentList?: ClimaxSegment[]; } - public class Music + public class Music { public Int64 songCode; public string name; @@ -143,7 +143,7 @@ public int climaxSegmentCount; public ClimaxSegment[] climaxSegmentList; } - export class Music { + export class Music { songCode?: number; name?: string; singer?: string; @@ -157,7 +157,7 @@ climaxSegmentCount?: number; climaxSegmentList?: ClimaxSegment[]; } - class Music { + class Music { const Music( {this.songCode, this.name, @@ -212,84 +212,82 @@ Map<String, dynamic> toJson() => _$MusicToJson(this); } -

    +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - songCode - 音乐资源的编号,用于标识一个音乐资源。 - - - name - 音乐资源名称。 - - - singer - 歌手名。 - - - poster - 音乐资源海报的下载地址。 - - - releaseTime - 音乐资源发布的时间。 - - - type - 音乐资源类型: -
      -
    • 1:左声道伴奏,右声道原唱的单音轨纯音频音源。
    • -
    • 2:只有伴唱的单音轨纯音频音源。
    • -
    • 3:只有原唱的单音轨纯音频音源。
    • -
    • 4:多音轨的纯音频音源。
    • -
    -
    - - pitchType - 歌曲是否支持演唱评分功能: - -
      -
    • 1:歌曲支持演唱评分功能。
    • -
    • 2:歌曲不支持演唱评分功能。
    • -
    -
    - - durationS - 音乐资源总时长 (秒)。 - - - lyricTypes - lyricList - 支持的歌词类型: -
      -
    • 0:xml 格式。
    • -
    • 1:lrc 格式。
    • -
    -
    - - climaxSegments - climaxSegmentList - 音乐高潮片段列表,详见 - - - lyricCount - 歌曲的歌词数量。 - - - climaxSegmentCount - 高潮片段的数量。 - -
    + + songCode + 音乐资源的编号,用于标识一个音乐资源。 + + + name + 音乐资源名称。 + + + singer + 歌手名。 + + + poster + 音乐资源海报的下载地址。 + + + releaseTime + 音乐资源发布的时间。 + + + type + 音乐资源类型:
      +
    • 1:左声道伴奏,右声道原唱的单音轨纯音频音源。
    • +
    • 2:只有伴唱的单音轨纯音频音源。
    • +
    • 3:只有原唱的单音轨纯音频音源。
    • +
    • 4:多音轨的纯音频音源。
    • +
    +
    + + pitchType + 歌曲是否支持演唱评分功能:
      +
    • 1:歌曲支持演唱评分功能。
    • +
    • 2:歌曲不支持演唱评分功能。
    • +
    +
    + + durationS + 音乐资源总时长 (秒)。 + + + lyricTypes + lyricList + 支持的歌词类型:
      +
    • 0:xml 格式。
    • +
    • 1:lrc 格式。
    • +
    +
    + + climaxSegments + climaxSegmentList + 音乐高潮片段列表,详见 + + + lyricCount + 歌曲的歌词数量。 + + + climaxSegmentCount + 高潮片段的数量。 + + +
    diff --git a/dita/RTC-NG/API/class_musiccacheinfo.dita b/dita/RTC-NG/API/class_musiccacheinfo.dita index 314f3e7d1f6..93b449e8034 100644 --- a/dita/RTC-NG/API/class_musiccacheinfo.dita +++ b/dita/RTC-NG/API/class_musiccacheinfo.dita @@ -6,38 +6,38 @@

    - public class MusicCacheInfo { + public class MusicCacheInfo { public long songCode; public int status; public MusicCacheInfo() {} } - __attribute__((visibility("default"))) @interface AgoraMusicCacheInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMusicCacheInfo : NSObject @property(nonatomic, assign) NSInteger songCode; @property(nonatomic, assign) AgoraMusicCacheStatusType statusType; @end - struct MusicCacheInfo { + struct MusicCacheInfo { int64_t songCode; MUSIC_CACHE_STATUS_TYPE status; MusicCacheInfo():songCode(0), status(MUSIC_CACHE_STATUS_TYPE_CACHED) {} }; - export class MusicCacheInfo { + export class MusicCacheInfo { songCode?: number; status?: MusicCacheStatusType; } - public class MusicCacheInfo + public class MusicCacheInfo { public Int64 songCode; public MUSIC_CACHE_STATUS_TYPE status; }; - export class MusicCacheInfo { + export class MusicCacheInfo { songCode?: number; status?: MusicCacheStatusType; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class MusicCacheInfo { const MusicCacheInfo({this.songCode, this.status}); @@ -51,31 +51,37 @@ class MusicCacheInfo { _$MusicCacheInfoFromJson(json); Map<String, dynamic> toJson() => _$MusicCacheInfoToJson(this); -}

    +} +

    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - status - statusType -

    音乐资源的缓存状态,详见

    -

    音乐资源的缓存状态: -

    • (0):音乐资源已缓存。
    • -
    • (1):音乐资源正在缓存。

    -
    -
    + + + + + + status + statusType +

    音乐资源的缓存状态,详见

    +

    音乐资源的缓存状态:

      +
    • (0):音乐资源已缓存。
    • +
    • + (1):音乐资源正在缓存。
    • +

    +
    + +
    diff --git a/dita/RTC-NG/API/class_musicchartcollection.dita b/dita/RTC-NG/API/class_musicchartcollection.dita index 6b45a23ac5c..34dad7ce73c 100644 --- a/dita/RTC-NG/API/class_musicchartcollection.dita +++ b/dita/RTC-NG/API/class_musicchartcollection.dita @@ -6,37 +6,38 @@

    - - - class MusicChartCollection : public RefCountInterface { + + + class MusicChartCollection : public RefCountInterface { public: virtual int getCount() = 0; virtual MusicChartInfo* get(int index) = 0; protected: virtual ~MusicChartCollection() = default; }; - export abstract class MusicChartCollection { + export abstract class MusicChartCollection { abstract getCount(): number; abstract get(index: number): MusicChartInfo; } - - export abstract class MusicChartCollection { + + export abstract class MusicChartCollection { abstract getCount(): number; abstract get(index: number): MusicChartInfo; } - abstract class MusicChartCollection { + abstract class MusicChartCollection { Future&lt;int> getCount(); Future&lt;MusicChartInfo> get(int index); } -

    + +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    diff --git a/dita/RTC-NG/API/class_musicchartinfo.dita b/dita/RTC-NG/API/class_musicchartinfo.dita index 9ecddd1fd0c..9ab9da013f1 100644 --- a/dita/RTC-NG/API/class_musicchartinfo.dita +++ b/dita/RTC-NG/API/class_musicchartinfo.dita @@ -6,7 +6,7 @@

    - public class MusicChartInfo { + public class MusicChartInfo { public String name; public int type; @@ -26,28 +26,28 @@ return type; } } - __attribute__((visibility("default"))) @interface AgoraMusicChartInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMusicChartInfo : NSObject @property (nonatomic, copy) NSString *chartName; @property (nonatomic, assign) NSInteger identify; @end - { + { const char* chartName; int32_t id; } MusicChartInfo; - export class MusicChartInfo { + export class MusicChartInfo { chartName?: string; id?: number; } - public class MusicChartInfo + public class MusicChartInfo { public string chartName; public int id; }; - export class MusicChartInfo { + export class MusicChartInfo { chartName?: string; id?: number; } - class MusicChartInfo { + class MusicChartInfo { const MusicChartInfo({this.chartName, this.id}); @JsonKey(name: 'chartName') @@ -60,31 +60,33 @@ _$MusicChartInfoFromJson(json); Map<String, dynamic> toJson() => _$MusicChartInfoToJson(this); -} -

    +} +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - chartName - name - 榜单名。 - - - identify - type - id - 音乐榜单的 ID。 - -
    + + chartName + name + 榜单名。 + + + identify + type + id + 音乐榜单的 ID。 + + +
    diff --git a/dita/RTC-NG/API/class_musiccollection.dita b/dita/RTC-NG/API/class_musiccollection.dita index f67fe25c25c..9d7db663500 100644 --- a/dita/RTC-NG/API/class_musiccollection.dita +++ b/dita/RTC-NG/API/class_musiccollection.dita @@ -6,15 +6,15 @@

    - - __attribute__((visibility("default"))) @interface AgoraMusicCollection : NSObject + + __attribute__((visibility("default"))) @interface AgoraMusicCollection : NSObject @property(nonatomic, assign) NSInteger count; @property(nonatomic, assign) NSInteger total; @property(nonatomic, assign) NSInteger page; @property(nonatomic, assign) NSInteger pageSize; @property(nonatomic, strong) NSArray<AgoraMusic *>* musicList; @end - class MusicCollection : public RefCountInterface { + class MusicCollection : public RefCountInterface { public: virtual int getCount() = 0; virtual int getTotal() = 0; @@ -24,14 +24,14 @@ public: protected: virtual ~MusicCollection() = default; }; - export abstract class MusicCollection { + export abstract class MusicCollection { abstract getCount(): number; abstract getTotal(): number; abstract getPage(): number; abstract getPageSize(): number; abstract getMusic(index: number): Music; } - public class MusicCollection + public class MusicCollection { public int count; public int total; @@ -39,14 +39,14 @@ protected: public int pageSize; public Music[] music; }; - export abstract class MusicCollection { + export abstract class MusicCollection { abstract getCount(): number; abstract getTotal(): number; abstract getPage(): number; abstract getPageSize(): number; abstract getMusic(index: number): Music; } - abstract class MusicCollection { + abstract class MusicCollection { int getCount(); int getTotal(); @@ -57,39 +57,40 @@ protected: Music getMusic(int index); } -

    +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - count - 此次请求的音乐资源列表中的音乐数量。 - - - total - 列表内音乐资源的总数量。 - - - page - 当前页面编号,默认从 1 开始。 - - - pageSize - 当前音乐资源列表的页面总数量,最大值为 50。 - - - musicList - 当前页面列表中音乐资源的详细信息,详见 - + + count + 此次请求的音乐资源列表中的音乐数量。 + + + total + 列表内音乐资源的总数量。 + + + page + 当前页面编号,默认从 1 开始。 + + + pageSize + 当前音乐资源列表的页面总数量,最大值为 50。 + + + musicList + 当前页面列表中音乐资源的详细信息,详见 +
    diff --git a/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita b/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita index fca3749d4a1..14cc83b136a 100644 --- a/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita +++ b/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita @@ -6,7 +6,7 @@

    - public class MusicContentCenterConfiguration { + public class MusicContentCenterConfiguration { public String appId; public String token; @@ -22,14 +22,14 @@ eventHandler = null; } } - __attribute__((visibility("default"))) @interface AgoraMusicContentCenterConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraMusicContentCenterConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @property (nonatomic, copy) NSString *appId; @property (nonatomic, copy) NSString *token; @property (nonatomic, assign) NSInteger mccUid; @property (nonatomic, assign) NSUInteger maxCacheSize; @end - struct MusicContentCenterConfiguration { + struct MusicContentCenterConfiguration { const char *appId; const char *token; int64_t mccUid; @@ -40,26 +40,26 @@ MusicContentCenterConfiguration(const char*appid,const char* token,int64_t id,IMusicContentCenterEventHandler* handler,int32_t maxSize = 10): appId(appid),token(token),mccUid(id),eventHandler(handler),maxCacheSize(maxSize){} }; - export class MusicContentCenterConfiguration { + export class MusicContentCenterConfiguration { appId?: string; token?: string; mccUid?: number; maxCacheSize?: number; } - public class MusicContentCenterConfiguration + public class MusicContentCenterConfiguration { public string appId; public string token; public UInt64 mccUid; public UInt32 maxCacheSize; } - export class MusicContentCenterConfiguration { + export class MusicContentCenterConfiguration { appId?: string; token?: string; mccUid?: number; maxCacheSize?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class MusicContentCenterConfiguration { const MusicContentCenterConfiguration( {this.appId, this.token, this.mccUid, this.maxCacheSize}); @@ -82,47 +82,53 @@ class MusicContentCenterConfiguration { Map<String, dynamic> toJson() => _$MusicContentCenterConfigurationToJson(this); } -

    +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - 实例。 - - - appId - 已启用内容中心的项目的 App ID。 - - - token - 使用音乐内容中心时,用于鉴权的 RTM Token。 -
      -
    • 声网推荐你使用 AccessToken2 进行鉴权,详见。生成 Token 时,请向 uid 传入 String 型的 mccUid
    • -
    • 当你的 Token 即将过期时,你可以调用 来传入新的 Token。
    -
    -
    - - mccUid - 使用音乐内容中心的用户 ID,该 ID 可以和你加入 RTC 频道时使用的 uid 一致,但不能为 0。 - - - eventHandler - 待接收的事件回调,详见 - - - maxCacheSize - 可缓存的音乐资源数量,最多不能超过 50。 - -
    + + rtcEngine + 实例。 + + + appId + 已启用内容中心的项目的 App ID。 + + + token + 使用音乐内容中心时,用于鉴权的 RTM Token。
      +
    • 声网推荐你使用 AccessToken2 进行鉴权,详见。生成 Token + 时,请向 uid 传入 String 型的 + mccUid
    • +
    • 当你的 Token 即将过期时,你可以调用 来传入新的 Token。
    • +
    +
    +
    + + mccUid + 使用音乐内容中心的用户 ID,该 ID 可以和你加入 RTC 频道时使用的 uid 一致,但不能为 + 0。 + + + eventHandler + 待接收的事件回调,详见 + + + maxCacheSize + 可缓存的音乐资源数量,最多不能超过 50。 + + +
    diff --git a/dita/RTC-NG/API/class_mvproperty.dita b/dita/RTC-NG/API/class_mvproperty.dita index e9cc7974d45..756115be05a 100644 --- a/dita/RTC-NG/API/class_mvproperty.dita +++ b/dita/RTC-NG/API/class_mvproperty.dita @@ -6,7 +6,7 @@

    - public class MvProperty { + public class MvProperty { public String bandwidth; public String resolution; @@ -26,29 +26,29 @@ return resolution; } } - __attribute__((visibility("default"))) @interface AgoraMvProperty : NSObject + __attribute__((visibility("default"))) @interface AgoraMvProperty : NSObject @property (nonatomic, copy) NSString *resolution; @property (nonatomic, copy) NSString *bandwidth; @end - struct MvProperty + struct MvProperty { const char* resolution; const char* bandwidth; }; - export class MvProperty { + export class MvProperty { resolution?: string; bandwidth?: string; } - public class MvProperty + public class MvProperty { public string resolution; public string bandWidth; }; - export class MvProperty { + export class MvProperty { resolution?: string; bandwidth?: string; } - class MvProperty { + class MvProperty { const MvProperty({this.resolution, this.bandwidth}); @JsonKey(name: 'resolution') @@ -61,28 +61,30 @@ _$MvPropertyFromJson(json); Map<String, dynamic> toJson() => _$MvPropertyToJson(this); -} -

    +} +

    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - bandwidth - MV 的带宽,单位为 Kbps。 - - - resolution - MV 的分辨率。 - -
    + + bandwidth + MV 的带宽,单位为 Kbps。 + + + resolution + MV 的分辨率。 + + +
    diff --git a/dita/RTC-NG/API/class_packet.dita b/dita/RTC-NG/API/class_packet.dita index 0f64bf82cd0..ea33cda0464 100644 --- a/dita/RTC-NG/API/class_packet.dita +++ b/dita/RTC-NG/API/class_packet.dita @@ -1,18 +1,18 @@ - <ph keyref="Packet" /> - 定义。 + <ph keyref="Packet"/> + 定义。

    - struct Packet { + struct Packet { const unsigned char* buffer; unsigned int size; Packet() : buffer(NULL), size(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FPacket { GENERATED_BODY() @@ -21,11 +21,11 @@ struct FPacket { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|Packet") int64 size; }; - export class Packet { + export class Packet { buffer?: Uint8Array size?: number } - public class Packet + public class Packet { public Packet() { @@ -42,8 +42,8 @@ struct FPacket { public uint size { set; get; } } - - class Packet { + + class Packet { const Packet({this.buffer, this.size}); @JsonKey(name: 'buffer', ignore: true) @@ -57,19 +57,22 @@ struct FPacket {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - buffer - -

    需要发送或接收的数据的缓存地址。

    - 建议 buffer 值不要小于 2048 字节,否则有可能会出现未定义行为(例如崩溃)。 -
    -
    - - size - 将要发送或接收的数据的缓存大小。 - -
    + + buffer + +

    需要发送或接收的数据的缓存地址。

    + 建议 buffer 值不要小于 2048 + 字节,否则有可能会出现未定义行为(例如崩溃)。 +
    +
    + + size + 将要发送或接收的数据的缓存大小。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_playerplaybackstats.dita b/dita/RTC-NG/API/class_playerplaybackstats.dita index 8f09ad872b2..67bdb52ce66 100644 --- a/dita/RTC-NG/API/class_playerplaybackstats.dita +++ b/dita/RTC-NG/API/class_playerplaybackstats.dita @@ -6,45 +6,45 @@

    - public class PlayerPlaybackStats { + public class PlayerPlaybackStats { private long videoFps; private long videoBitrateInKbps; private long audioBitrateInKbps; private long totalBitrateInKbps; } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerPlaybackStats : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerPlaybackStats : NSObject @property(assign, nonatomic) NSInteger videoFps; @property(assign, nonatomic) NSInteger videoBitrateInKbps; @property(assign, nonatomic) NSInteger audioBitrateInKbps; @property(assign, nonatomic) NSInteger totalBitrateInKbps; @end - struct PlayerPlaybackStats { + struct PlayerPlaybackStats { int videoFps; int videoBitrateInKbps; int audioBitrateInKbps; int totalBitrateInKbps; }; - - export class PlayerPlaybackStats { + + export class PlayerPlaybackStats { videoFps?: number; videoBitrateInKbps?: number; audioBitrateInKbps?: number; totalBitrateInKbps?: number; } - public class PlayerPlaybackStats + public class PlayerPlaybackStats { public int videoFps; public int videoBitrateInKbps; public int audioBitrateInKbps; public int totalBitrateInKbps; } - export class PlayerPlaybackStats { + export class PlayerPlaybackStats { videoFps?: number; videoBitrateInKbps?: number; audioBitrateInKbps?: number; totalBitrateInKbps?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class PlayerPlaybackStats { const PlayerPlaybackStats( {this.videoFps, @@ -68,35 +68,38 @@ class PlayerPlaybackStats { _$PlayerPlaybackStatsFromJson(json); Map<String, dynamic> toJson() => _$PlayerPlaybackStatsToJson(this); -}

    +} +

    - -
    自从
    -
    v4.3.0
    -
    + +
    自从
    +
    v4.3.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - videoFps - 视频帧率,单位为 fps。 - - - videoBitrateInKbps - 视频码率,单位为 kbps。 - - - audioBitrateInKbps - 音频码率,单位为 kbps。 - - - totalBitrateInKbps - 媒体流的总码率,单位为 kbps。 - -
    -
    + + videoFps + 视频帧率,单位为 fps。 + + + videoBitrateInKbps + 视频码率,单位为 kbps。 + + + audioBitrateInKbps + 音频码率,单位为 kbps。 + + + totalBitrateInKbps + 媒体流的总码率,单位为 kbps。 + + + + diff --git a/dita/RTC-NG/API/class_playerstreaminfo.dita b/dita/RTC-NG/API/class_playerstreaminfo.dita index 5462467e12d..a036a3a0470 100644 --- a/dita/RTC-NG/API/class_playerstreaminfo.dita +++ b/dita/RTC-NG/API/class_playerstreaminfo.dita @@ -1,12 +1,12 @@ - <ph keyref="PlayerStreamInfo" /> + <ph keyref="PlayerStreamInfo"/> 播放器媒体流的所有信息。

    - public class MediaStreamInfo { + public class MediaStreamInfo { private int streamIndex; private int mediaStreamType; private String codecName; @@ -23,7 +23,7 @@ public MediaStreamInfo() {} } - __attribute__((visibility("default"))) @interface AgoraMediaStreamInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaStreamInfo : NSObject @property(nonatomic, assign) NSInteger streamIndex; @property(nonatomic, assign) AgoraMediaStreamType streamType; @@ -39,7 +39,7 @@ @property(nonatomic, assign) NSInteger rotation; @end - struct PlayerStreamInfo { + struct PlayerStreamInfo { int streamIndex; MEDIA_STREAM_TYPE streamType; char codecName[kMaxCharBufferLength]; @@ -66,7 +66,7 @@ duration(0) { memset(codecName, 0, sizeof(codecName)); memset(language, 0, sizeof(language)); - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FPlayerStreamInfo { GENERATED_BODY() @@ -98,7 +98,7 @@ struct FPlayerStreamInfo UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int duration; }; - export class PlayerStreamInfo { + export class PlayerStreamInfo { streamIndex?: number; @@ -126,7 +126,7 @@ struct FPlayerStreamInfo duration?: number; } - public class PlayerStreamInfo + public class PlayerStreamInfo { public int streamIndex { set; get; } public MEDIA_STREAM_TYPE streamType { set; get; } @@ -158,7 +158,7 @@ struct FPlayerStreamInfo language = ""; } }; - export class PlayerStreamInfo { + export class PlayerStreamInfo { streamIndex?: number; @@ -186,7 +186,7 @@ struct FPlayerStreamInfo duration?: number; } - class PlayerStreamInfo { + class PlayerStreamInfo { const PlayerStreamInfo( {this.streamIndex, this.streamType, @@ -235,69 +235,75 @@ struct FPlayerStreamInfo

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - streamIndex - 媒体流的索引值。 - - - streamType - mediaStreamType - 此条媒体流的类型。详见 -
      -
    • (0): 未知类型。
    • -
    • (1): 视频流。
    • -
    • (2): 音频流。
    • -
    • (3): 字幕流。
    • -
    -
    - - codecName - 此条媒体流的编码规格。 - - - language - 此条媒体流的语言。 - - - videoFrameRate - 该参数仅对视频流生效,表示视频帧率 (fps)。 - - - videoBitRate - 该参数仅对视频流生效,表示视频码率 (bps)。 - - - videoWidth - 该参数仅对视频流生效,表示视频宽度 (px)。 - - - videoHeight - 该参数仅对视频流生效,表示视频高度 (px)。 - - - videoRotation - rotation - 该参数仅对视频流生效,表示旋转角度。 - - - audioSampleRate - 该参数仅对音频流生效,表示音频采样率 (Hz)。 - - - audioChannels - 该参数仅对音频流生效,表示声道数。 - - - audioBitsPerSample - audioBytesPerSample - 该参数仅对音频流生效,表示每个音频采样点的位数 (bit)。 - - - duration - 媒体流的时长(毫秒)。 - -
    + + streamIndex + 媒体流的索引值。 + + + streamType + mediaStreamType + 此条媒体流的类型。详见 +
      +
    • (0): 未知类型。
    • +
    • (1): 视频流。
    • +
    • (2): 音频流。
    • +
    • (3): 字幕流。
    • +
    +
    +
    + + codecName + 此条媒体流的编码规格。 + + + language + 此条媒体流的语言。 + + + videoFrameRate + 该参数仅对视频流生效,表示视频帧率 (fps)。 + + + videoBitRate + 该参数仅对视频流生效,表示视频码率 (bps)。 + + + videoWidth + 该参数仅对视频流生效,表示视频宽度 (px)。 + + + videoHeight + 该参数仅对视频流生效,表示视频高度 (px)。 + + + videoRotation + rotation + 该参数仅对视频流生效,表示旋转角度。 + + + audioSampleRate + 该参数仅对音频流生效,表示音频采样率 (Hz)。 + + + audioChannels + 该参数仅对音频流生效,表示声道数。 + + + audioBitsPerSample + audioBytesPerSample + 该参数仅对音频流生效,表示每个音频采样点的位数 (bit)。 + + + 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 1dee52c433c..4ac7369c90f 100644 --- a/dita/RTC-NG/API/class_playerupdatedinfo.dita +++ b/dita/RTC-NG/API/class_playerupdatedinfo.dita @@ -1,12 +1,12 @@ - <ph keyref="PlayerUpdatedInfo" /> + <ph keyref="PlayerUpdatedInfo"/> 媒体播放器相关信息。

    - public class PlayerUpdatedInfo { + public class PlayerUpdatedInfo { private String deviceId; private long videoHeight; private long videoWidth; @@ -14,7 +14,7 @@ private long audioChannels; private long audioBitsPerSample; } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject @property(copy, nonatomic) NSString *_Nullable deviceId; @property(assign, nonatomic) NSInteger videoHeight; @property(assign, nonatomic) NSInteger videoWidth; @@ -22,7 +22,7 @@ @property(assign, nonatomic) NSInteger audioChannels; @property(assign, nonatomic) NSInteger audioBitsPerSample; @end - struct PlayerUpdatedInfo { + struct PlayerUpdatedInfo { const char* deviceId; int videoHeight; int videoWidth; @@ -30,7 +30,7 @@ int audioChannels; int audioBitsPerSample; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FPlayerUpdatedInfo { GENERATED_BODY() UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") @@ -46,7 +46,7 @@ struct FPlayerUpdatedInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") FCacheStatistics cacheStatistics; }; - export class PlayerUpdatedInfo { + export class PlayerUpdatedInfo { playerId?: string; @@ -54,7 +54,7 @@ struct FPlayerUpdatedInfo { cacheStatistics?: CacheStatistics; } - public class PlayerUpdatedInfo : OptionalJsonParse + public class PlayerUpdatedInfo : OptionalJsonParse { public Optional<string> playerId = new Optional<string>(); @@ -62,7 +62,7 @@ struct FPlayerUpdatedInfo { public Optional<CacheStatistics> cacheStatistics = new Optional<CacheStatistics>(); } - export class PlayerUpdatedInfo { + export class PlayerUpdatedInfo { playerId?: string; @@ -70,7 +70,7 @@ struct FPlayerUpdatedInfo { cacheStatistics?: CacheStatistics; } - class PlayerUpdatedInfo { + class PlayerUpdatedInfo { const PlayerUpdatedInfo({this.playerId, this.deviceId}); @JsonKey(name: 'playerId') @@ -81,35 +81,37 @@ struct FPlayerUpdatedInfo { _$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 - 设备 ID,标识一个设备。 - - - videoHeight - 视频高度 (pixel)。 - - - videoWidth - 视频宽度 (pixel)。 - - - audioSampleRate - 音频采样率 (Hz)。 - - - audioChannels - 声道数。 - - - audioBitsPerSample - 每个音频采样点的位数 (bit)。 - -
    + + deviceId + 设备 ID,标识一个设备。 + + + videoHeight + 视频高度 (pixel)。 + + + videoWidth + 视频宽度 (pixel)。 + + + audioSampleRate + 音频采样率 (Hz)。 + + + audioChannels + 声道数。 + + + audioBitsPerSample + 每个音频采样点的位数 (bit)。 + + +
    diff --git a/dita/RTC-NG/API/class_plugin.dita b/dita/RTC-NG/API/class_plugin.dita index 2897dc96c40..aa592e2fbdb 100644 --- a/dita/RTC-NG/API/class_plugin.dita +++ b/dita/RTC-NG/API/class_plugin.dita @@ -6,69 +6,75 @@

    - - - - - - - -

    + + + + + + + +

    调用 注册插件后,你可以通过 获取 接口。

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - id - 用于标识插件的 ID。 - - - enable - 开启插件。 - -
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
    - - disable - 关闭插件。 - -
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
    - - setParameter - 设置插件参数。调用 getParameter 获取到 Value 值后,你可以调用本方法将包含 Key 和 Value 值的 JSON 字符串数据传递给 C++ 层。 - 参数 - - - param - 包含 Key 和 Value 值的 JSON 字符串。 - - - - - getParameter - 获取插件参数。如果你想在使用插件时将 JSON 字符串数据传递给 C++ 层,你需要调用该方法和 setParameter获取并设置参数。 - 参数 - - - paramKey - Key 值。 - - - -

    Key 值对应的 Value 值。

    -
    -
    -
    + + id + 用于标识插件的 ID。 + + + enable + 开启插件。 + +
      +
    • 0:方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    + + disable + 关闭插件。 + +
      +
    • 0:方法调用成功。
    • +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    +
    + + setParameter + 设置插件参数。调用 getParameter 获取到 Value 值后,你可以调用本方法将包含 Key 和 + Value 值的 JSON 字符串数据传递给 C++ 层。 + 参数 + + + param + 包含 Key 和 Value 值的 JSON 字符串。 + + + + + getParameter + 获取插件参数。如果你想在使用插件时将 JSON 字符串数据传递给 C++ 层,你需要调用该方法和 + setParameter获取并设置参数。 + 参数 + + + paramKey + Key 值。 + + + +

    Key 值对应的 Value 值。

    +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_plugininfo.dita b/dita/RTC-NG/API/class_plugininfo.dita index a962fd3789a..e5ab5134007 100644 --- a/dita/RTC-NG/API/class_plugininfo.dita +++ b/dita/RTC-NG/API/class_plugininfo.dita @@ -6,30 +6,32 @@

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - pluginId - 用于标识插件的 ID。 - - - pluginPath - 插件文件的绝对路径。 - - - order - 插件的优先级。使用多个插件时,SDK 会根据优先级使用插件。取值为不小于 0 的整数。0 代表最高优先级。 - -
    + + pluginId + 用于标识插件的 ID。 + + + pluginPath + 插件文件的绝对路径。 + + + order + 插件的优先级。使用多个插件时,SDK 会根据优先级使用插件。取值为不小于 0 的整数。0 代表最高优先级。 + + +
    diff --git a/dita/RTC-NG/API/class_recorderinfo.dita b/dita/RTC-NG/API/class_recorderinfo.dita index f555d79ec2f..9413f699181 100644 --- a/dita/RTC-NG/API/class_recorderinfo.dita +++ b/dita/RTC-NG/API/class_recorderinfo.dita @@ -1,12 +1,12 @@ - <ph keyref="RecorderInfo" /> + <ph keyref="RecorderInfo"/> 录制文件信息。

    - public class RecorderInfo { + public class RecorderInfo { public String fileName; public int durationMs; public int fileSize; @@ -18,11 +18,11 @@ this.fileSize = fileSize; } } - __attribute__((visibility("default"))) @interface AgoraMediaRecorderInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaRecorderInfo : NSObject @property(copy, nonatomic) NSString* _Nonnull recorderFileName; @property(assign, nonatomic) NSUInteger durationMs; @property(assign, nonatomic) NSUInteger fileSize; - struct RecorderInfo { + struct RecorderInfo { const char* fileName; unsigned int durationMs; unsigned int fileSize; @@ -30,7 +30,7 @@ RecorderInfo() : fileName(NULL), durationMs(0), fileSize(0) {} RecorderInfo(const char* name, unsigned int dur, unsigned int size) : fileName(name), durationMs(dur), fileSize(size) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRecorderInfo { GENERATED_BODY() @@ -41,7 +41,7 @@ struct FRecorderInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RecorderInfo") int64 fileSize; }; - export class RecorderInfo { + export class RecorderInfo { fileName?: string; @@ -49,7 +49,7 @@ struct FRecorderInfo { fileSize?: number; } - public class RecorderInfo + public class RecorderInfo { public string fileName { set; get; } public uint durationMs { set; get; } @@ -69,7 +69,7 @@ struct FRecorderInfo { fileSize = size; } }; - export class RecorderInfo { + export class RecorderInfo { fileName?: string; @@ -77,24 +77,27 @@ struct FRecorderInfo { fileSize?: number; } -

    + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - fileName - recorderFileName - 录制文件的绝对存储路径。 - - - durationMs - 录制文件的时长,单位为毫秒。 - - - fileSize - 录制文件的大小,单位为字节。 - -
    + + fileName + recorderFileName + 录制文件的绝对存储路径。 + + + durationMs + 录制文件的时长,单位为毫秒。 + + + fileSize + 录制文件的大小,单位为字节。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_recorderstreaminfo.dita b/dita/RTC-NG/API/class_recorderstreaminfo.dita index 81ed3d070dd..1dd0bef0cf3 100644 --- a/dita/RTC-NG/API/class_recorderstreaminfo.dita +++ b/dita/RTC-NG/API/class_recorderstreaminfo.dita @@ -6,22 +6,22 @@

    - public class RecorderStreamInfo { + public class RecorderStreamInfo { public String channelId; public int uid; } - __attribute__((visibility("default"))) @interface AgoraRecorderStreamInfo: NSObject + __attribute__((visibility("default"))) @interface AgoraRecorderStreamInfo: NSObject @property (nonatomic, copy) NSString *_Nonnull channelId; @property (nonatomic, nonatomic) NSUInteger uid; @end - struct RecorderStreamInfo { + struct RecorderStreamInfo { const char* channelId; uid_t uid; RecorderStreamInfo() : channelId(NULL), uid(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRecorderStreamInfo { GENERATED_BODY() @@ -32,21 +32,21 @@ struct FRecorderStreamInfo { int64 uid; }; - export class RecorderStreamInfo { + export class RecorderStreamInfo { channelId?: string; uid?: number; } - public class RecorderStreamInfo + public class RecorderStreamInfo { public string channelId; public uint uid; }; - export class RecorderStreamInfo { + export class RecorderStreamInfo { channelId?: string; uid?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class RecorderStreamInfo { const RecorderStreamInfo({this.channelId, this.uid}); @@ -60,27 +60,30 @@ class RecorderStreamInfo { _$RecorderStreamInfoFromJson(json); Map<String, dynamic> toJson() => _$RecorderStreamInfoToJson(this); -}

    +} +

    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - channelId - 需录制的频道名称。 - - - uid - 需录制的用户 ID。 - -
    + + channelId + 需录制的频道名称。 + + + uid + 需录制的用户 ID。 + + +
    diff --git a/dita/RTC-NG/API/class_rect.dita b/dita/RTC-NG/API/class_rect.dita index 1fb536e2e84..fb311abdb22 100644 --- a/dita/RTC-NG/API/class_rect.dita +++ b/dita/RTC-NG/API/class_rect.dita @@ -1,14 +1,14 @@ - <ph keyref="Rect" /> + <ph keyref="Rect"/> 屏幕共享区域。

    - - - typedef struct Rect { + + + typedef struct Rect { int top; int left; int bottom; @@ -17,55 +17,57 @@ Rect(): top(0), left(0), bottom(0), right(0) {} Rect(int t, int l, int b, int r): top(t), left(l), bottom(b), right(r) {} } Rect; - - - - There are no corresponding names available -

    + + + + There are no corresponding names available +

    - -
    弃用:
    -
    该类已废弃,请使用 方法更新屏幕共享区域。
    -
    + +
    弃用:
    +
    该类已废弃,请使用 方法更新屏幕共享区域。
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - top - 已废弃。共享区域顶部在纵轴上的坐标。 - - - left - 已废弃。共享区域左侧在横轴上的坐标。 - - - bottom - 已废弃。共享区域底部在纵轴上的坐标。 - - - right - 已废弃。共享区域右侧在横轴上的坐标。 - - - x - 左上角的横向偏移。 - - - y - 左上角的纵向偏移。 - - - width - 目标区域的宽度。 - - - height - 目标区域的高度。 - -
    + + top + 已废弃。共享区域顶部在纵轴上的坐标。 + + + left + 已废弃。共享区域左侧在横轴上的坐标。 + + + bottom + 已废弃。共享区域底部在纵轴上的坐标。 + + + right + 已废弃。共享区域右侧在横轴上的坐标。 + + + x + 左上角的横向偏移。 + + + y + 左上角的纵向偏移。 + + + width + 目标区域的宽度。 + + + height + 目标区域的高度。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_rectangle.dita b/dita/RTC-NG/API/class_rectangle.dita index c4f3c2871fb..7521e577f33 100644 --- a/dita/RTC-NG/API/class_rectangle.dita +++ b/dita/RTC-NG/API/class_rectangle.dita @@ -1,12 +1,12 @@ - <ph keyref="Rectangle" /> + <ph keyref="Rectangle"/> 目标区域相对于整个屏幕或窗口的位置,如不填,则表示整个屏幕或窗口。

    - public static class Rectangle { + public static class Rectangle { public int x = 0; public int y = 0; public int width = 0; @@ -25,8 +25,8 @@ height = height_; } }; - - struct Rectangle { + + struct Rectangle { int x; int y; int width; @@ -35,7 +35,7 @@ Rectangle(): x(0), y(0), width(0), height(0) {} Rectangle(int xx, int yy, int ww, int hh): x(xx), y(yy), width(ww), height(hh) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRectangle { GENERATED_BODY() @@ -49,7 +49,7 @@ struct FRectangle UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|Rectangle") int height; }; - export class Rectangle { + export class Rectangle { x?: number; @@ -59,7 +59,7 @@ struct FRectangle height?: number; } - public class Rectangle + public class Rectangle { public Rectangle() { @@ -77,7 +77,7 @@ struct FRectangle public int width { set; get; } public int height { set; get; } } - export class Rectangle { + export class Rectangle { x?: number; @@ -87,7 +87,7 @@ struct FRectangle height?: number; } - class Rectangle { + class Rectangle { const Rectangle({this.x, this.y, this.width, this.height}); @JsonKey(name: 'x') @@ -105,24 +105,26 @@ struct FRectangle

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - x - 左上角的横向偏移。 - - - y - 左上角的纵向偏移。 - - - width - 目标区域的宽度。 - - - height - 目标区域的高度。 - -
    + + x + 左上角的横向偏移。 + + + y + 左上角的纵向偏移。 + + + width + 目标区域的宽度。 + + + height + 目标区域的高度。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_remoteaudiostats.dita b/dita/RTC-NG/API/class_remoteaudiostats.dita index e97870ee9d8..7fa06a08823 100644 --- a/dita/RTC-NG/API/class_remoteaudiostats.dita +++ b/dita/RTC-NG/API/class_remoteaudiostats.dita @@ -1,12 +1,12 @@ - <ph keyref="RemoteAudioStats" /> + <ph keyref="RemoteAudioStats"/> 远端用户的音频统计数据。

    - public static class RemoteAudioStats { + public static class RemoteAudioStats { public int uid; public int quality; public int networkTransportDelay; @@ -24,7 +24,7 @@ public int qualityChangedReason; public int e2eDelay; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger quality; @property(assign, nonatomic) NSUInteger networkTransportDelay; @@ -42,7 +42,7 @@ @property(assign, nonatomic) AgoraExperiencePoorReason qualityChangedReason; @property(assign, nonatomic) NSInteger e2eDelay; @end - struct RemoteAudioStats + struct RemoteAudioStats { uid_t uid; int quality; @@ -79,7 +79,7 @@ qualityChangedReason(0) e2eDelay(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRemoteAudioStats { GENERATED_BODY() @@ -115,7 +115,7 @@ struct FRemoteAudioStats UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RemoteAudioStats") int qualityChangedReason; }; - export class RemoteAudioStats { + export class RemoteAudioStats { uid?: number; @@ -149,7 +149,7 @@ struct FRemoteAudioStats e2eDelay?: number; } - public class RemoteAudioStats + public class RemoteAudioStats { public RemoteAudioStats() { @@ -208,7 +208,7 @@ struct FRemoteAudioStats public int qoeQuality { set; get; } public int qualityChangedReason { set; get; } }; - export class RemoteAudioStats { + export class RemoteAudioStats { uid?: number; @@ -242,7 +242,7 @@ struct FRemoteAudioStats e2eDelay?: number; } - + @JsonSerializable(explicitToJson: true, includeIfNull: false) class RemoteAudioStats { const RemoteAudioStats( @@ -319,142 +319,153 @@ class RemoteAudioStats {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - 远端用户的用户 ID。 - - - quality - -

    远端用户发送的音频流质量。详见

    -

    -

      -
    • (0):质量未知。
    • -
    • (1):质量极好。
    • -
    • (2):用户主观感觉和极好差不多,但码率可能略低于极好。
    • -
    • (3):用户主观感受有瑕疵但不影响沟通。
    • -
    • (4):勉强能沟通但不顺畅。
    • -
    • (5):网络质量非常差,基本不能沟通。
    • -
    • (6):网络连接断开,完全无法沟通。
    • -

    -
    -
    - - networkTransportDelay - 音频发送端到接收端的网络延迟(毫秒)。 - - - jitterBufferDelay - -

    音频接收端到网络抖动缓冲的网络延迟(毫秒)。 - - - - 当接收端为观众且 audienceLatencyLevel 为 1 时,该参数不生效。

    -
    -
    - - audioLossRate - 统计周期内的远端音频流的丢帧率 (%)。 - - - numChannels - 声道数。 - - - receivedSampleRate - 统计周期内接收到的远端音频流的采样率。 - - - receivedBitrate - 接收到的远端音频流在统计周期内的平均码率(Kbps)。 - - - totalFrozenTime - 远端用户在加入频道后发生音频卡顿的累计时长(毫秒)。通话过程中,音频丢帧率达到 4% 即记为一次音频卡顿。 - - - frozenRate - 音频卡顿的累计时长占音频总有效时长的百分比 (%)。音频有效时长是指远端用户加入频道后音频未被停止发送或禁用的时长。 - - - totalActiveTime - -

    远端用户在音频通话开始到本次回调之间的有效时长(毫秒)。

    -

    有效时长是指去除了远端用户进入静音状态的总时长。

    -
    -
    - - publishDuration - -

    远端音频流的累计发布时长(毫秒)。

    -
    -
    - - qoeQuality - -

    接收远端音频时,本地用户的主观体验质量。详见 -

      -
    • (0):主观体验质量较好。
    • -
    • (1):主观体验质量较差。
    • -

    -
    -
    - - qualityChangedReason - -

    接收远端音频时,本地用户主观体验质量较差的原因。详见 -

      -
    • (0): 无原因,说明主观体验质量较好。
    • -
    • (1): 远端用户的网络较差。
    • -
    • (2): 本地用户的网络较差。
    • -
    • (4): 本地用户的 Wi-Fi 或者移动数据网络信号弱。
    • -
    • (8): 本地用户同时开启 Wi-Fi 和蓝牙,二者信号互相干扰,导致音频传输质量下降。
    • -

    -
    -
    - - mosValue - -

    统计周期内,声网实时音频 MOS(平均主观意见分)评估方法对接收到的远端音频流的质量评分。返回值范围为 [0,500]。返回值除以 100 即可得到 MOS 分数,范围为 [0,5] 分,分数越高,音频质量越好。

    -

    声网实时音频 MOS 评分对应的主观音质感受如下: - - MOS 分数 - 音质感受 - - - 大于 4 分 - 音频质量佳,清晰流畅。 - - - 3.5 - 4 分 - 音频质量较好,偶有音质损伤,但依然清晰。 - - - 3 - 3.5 分 - 音频质量一般,偶有卡顿,不是非常流畅,需要一点注意力才能听清。 - - - 2.5 - 3 分 - 音频质量较差,卡顿频繁,需要集中精力才能听清。 - - - 2 - 2.5 分 - 音频质量很差,偶有杂音,部分语义丢失,难以交流。 - - - 小于 2 分 - 音频质量非常差,杂音频现,大量语义丢失,完全无法交流。 - -

    -
    -
    - - e2eDelay - 端到端音频延时(毫秒),即自远端用户音频采集起,至本地用户开始播放音频的总时长。 - -
    + + uid + 远端用户的用户 ID。 + + + quality + +

    远端用户发送的音频流质量。详见

    +

    +

      +
    • (0):质量未知。
    • +
    • (1):质量极好。
    • +
    • (2):用户主观感觉和极好差不多,但码率可能略低于极好。
    • +
    • (3):用户主观感受有瑕疵但不影响沟通。
    • +
    • (4):勉强能沟通但不顺畅。
    • +
    • (5):网络质量非常差,基本不能沟通。
    • +
    • (6):网络连接断开,完全无法沟通。
    • +
    +

    +
    +
    + + networkTransportDelay + 音频发送端到接收端的网络延迟(毫秒)。 + + + jitterBufferDelay + +

    音频接收端到网络抖动缓冲的网络延迟(毫秒)。 当接收端为观众且 的 + audienceLatencyLevel 为 1 + 时,该参数不生效。

    +
    +
    + + audioLossRate + 统计周期内的远端音频流的丢帧率 (%)。 + + + numChannels + 声道数。 + + + receivedSampleRate + 统计周期内接收到的远端音频流的采样率。 + + + receivedBitrate + 接收到的远端音频流在统计周期内的平均码率(Kbps)。 + + + totalFrozenTime + 远端用户在加入频道后发生音频卡顿的累计时长(毫秒)。通话过程中,音频丢帧率达到 4% 即记为一次音频卡顿。 + + + frozenRate + 音频卡顿的累计时长占音频总有效时长的百分比 (%)。音频有效时长是指远端用户加入频道后音频未被停止发送或禁用的时长。 + + + totalActiveTime + +

    远端用户在音频通话开始到本次回调之间的有效时长(毫秒)。

    +

    有效时长是指去除了远端用户进入静音状态的总时长。

    +
    +
    + + publishDuration + +

    远端音频流的累计发布时长(毫秒)。

    +
    +
    + + qoeQuality + +

    接收远端音频时,本地用户的主观体验质量。详见 +

      +
    • (0):主观体验质量较好。
    • +
    • (1):主观体验质量较差。
    • +

    +
    +
    + + qualityChangedReason + +

    接收远端音频时,本地用户主观体验质量较差的原因。详见 +

      +
    • (0): 无原因,说明主观体验质量较好。
    • +
    • (1): 远端用户的网络较差。
    • +
    • (2): 本地用户的网络较差。
    • +
    • (4): 本地用户的 Wi-Fi + 或者移动数据网络信号弱。
    • +
    • (8): 本地用户同时开启 Wi-Fi + 和蓝牙,二者信号互相干扰,导致音频传输质量下降。
    • +
    +

    +
    +
    + + mosValue + +

    统计周期内,声网实时音频 MOS(平均主观意见分)评估方法对接收到的远端音频流的质量评分。返回值范围为 [0,500]。返回值除以 100 + 即可得到 MOS 分数,范围为 [0,5] 分,分数越高,音频质量越好。

    +

    声网实时音频 MOS 评分对应的主观音质感受如下: + + MOS 分数 + 音质感受 + + + 大于 4 分 + 音频质量佳,清晰流畅。 + + + 3.5 - 4 分 + 音频质量较好,偶有音质损伤,但依然清晰。 + + + 3 - 3.5 分 + 音频质量一般,偶有卡顿,不是非常流畅,需要一点注意力才能听清。 + + + 2.5 - 3 分 + 音频质量较差,卡顿频繁,需要集中精力才能听清。 + + + 2 - 2.5 分 + 音频质量很差,偶有杂音,部分语义丢失,难以交流。 + + + 小于 2 分 + 音频质量非常差,杂音频现,大量语义丢失,完全无法交流。 + +

    +
    +
    + + e2eDelay + 端到端音频延时(毫秒),即自远端用户音频采集起,至本地用户开始播放音频的总时长。 + + +
    diff --git a/dita/RTC-NG/API/class_remotevideostats.dita b/dita/RTC-NG/API/class_remotevideostats.dita index 21999ee31dc..2f91fa7b947 100644 --- a/dita/RTC-NG/API/class_remotevideostats.dita +++ b/dita/RTC-NG/API/class_remotevideostats.dita @@ -6,7 +6,7 @@

    - public static class RemoteVideoStats { + public static class RemoteVideoStats { public int uid; public int delay; public int e2eDelay; @@ -24,7 +24,7 @@ public long totalActiveTime; public long publishDuration; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger delay __deprecated; @property(assign, nonatomic) NSUInteger e2eDelay; @@ -43,7 +43,7 @@ @property(assign, nonatomic) NSInteger publishDuration; @property(assign, nonatomic) NSInteger avSyncTimeMs; @end - struct RemoteVideoStats { + struct RemoteVideoStats { uid_t uid; int delay; int e2eDelay; @@ -61,7 +61,7 @@ int totalActiveTime; int publishDuration; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRemoteVideoStats { GENERATED_BODY() @@ -103,7 +103,7 @@ struct FRemoteVideoStats { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RemoteVideoStats") int64 rxVideoBytes; }; - export class RemoteVideoStats { + export class RemoteVideoStats { uid?: number; @@ -137,7 +137,7 @@ struct FRemoteVideoStats { publishDuration?: number; } - public class RemoteVideoStats + public class RemoteVideoStats { public uint uid; public int delay; @@ -156,7 +156,7 @@ struct FRemoteVideoStats { public int totalActiveTime; public int publishDuration; }; - export class RemoteVideoStats { + export class RemoteVideoStats { uid?: number; @@ -191,7 +191,7 @@ struct FRemoteVideoStats { publishDuration?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class RemoteVideoStats { const RemoteVideoStats( {this.uid, @@ -272,100 +272,106 @@ class RemoteVideoStats { Map<String, dynamic> toJson() => _$RemoteVideoStatsToJson(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,指定是哪个用户的视频流。 - - - delay - -
    - -
    弃用:
    -
    在有音画同步机制的音视频场景中,你可以参考 里的 networkTransportDelayjitterBufferDelay 成员的值,了解视频的延迟数据。
    -
    -
    -

    延时(毫秒)。

    -
    -
    - - e2eDelay - 端到端视频延时(毫秒)。即,自远端用户视频采集起,至本地用户接收并渲染视频的总时长。 - - - width - 视频流宽(像素)。 - - - height - 视频流高(像素)。 - - - receivedBitrate - (上次统计后)接收到的码率(Kbps)。 - - - receivedFramerate - (上次统计后)接收到的帧率 (fps)。 - - - decoderOutputFrameRate - 远端视频解码器的输出帧率,单位为 fps。 - - - rendererOutputFrameRate - 远端视频渲染器的输出帧率,单位为 fps。 - - - frameLossRate - 远端视频丢包率(%)。 - - - packetLossRate - 远端视频在使用抗丢包技术之后的丢包率(%)。 - - - rxStreamType - 视频流类型,大流或小流。详见 -

    -

      -
    • (0):视频大流,即高分辨率高码率的视频流。
    • -
    • (1):视频小流,即低分辨率低码率的视频流。
    • -

    -
    -
    - - totalFrozenTime - 远端用户在加入频道后发生视频卡顿的累计时长(ms)。通话过程中,视频帧率设置不低于 5 fps 时,连续渲染的两帧视频之间间隔超过 500 ms,则记为一次视频卡顿。 - - - frozenRate - 远端用户在加入频道后发生视频卡顿的累计时长占视频总有效时长的百分比 (%)。视频有效时长是指远端用户加入频道后视频未被停止发送或禁用的时长。 - - - totalActiveTime - -

    视频有效时长(毫秒)。

    -

    视频总有效时长是远端用户或主播加入频道后,既没有停止发送视频流,也没有禁用视频模块的通话时长。

    -
    -
    - - publishDuration - -

    远端视频流的累计发布时长(毫秒)。

    -
    -
    - - avSyncTimeMs - 音频超前视频的时间 (ms)。 - - 如果为负值,则代表音频落后于视频。 - -
    + + uid + 用户 ID,指定是哪个用户的视频流。 + + + delay + +
    + +
    弃用:
    +
    在有音画同步机制的音视频场景中,你可以参考 里的 + networkTransportDelay 和 + jitterBufferDelay 成员的值,了解视频的延迟数据。
    +
    +
    +

    延时(毫秒)。

    +
    +
    + + e2eDelay + 端到端视频延时(毫秒)。即,自远端用户视频采集起,至本地用户接收并渲染视频的总时长。 + + + width + 视频流宽(像素)。 + + + height + 视频流高(像素)。 + + + receivedBitrate + (上次统计后)接收到的码率(Kbps)。 + + + receivedFramerate + (上次统计后)接收到的帧率 (fps)。 + + + decoderOutputFrameRate + 远端视频解码器的输出帧率,单位为 fps。 + + + rendererOutputFrameRate + 远端视频渲染器的输出帧率,单位为 fps。 + + + frameLossRate + 远端视频丢包率(%)。 + + + packetLossRate + 远端视频在使用抗丢包技术之后的丢包率(%)。 + + + rxStreamType + 视频流类型,大流或小流。详见 +

    +

      +
    • (0):视频大流,即高分辨率高码率的视频流。
    • +
    • (1):视频小流,即低分辨率低码率的视频流。
    • +
    +

    +
    +
    + + totalFrozenTime + 远端用户在加入频道后发生视频卡顿的累计时长(ms)。通话过程中,视频帧率设置不低于 5 fps 时,连续渲染的两帧视频之间间隔超过 500 + ms,则记为一次视频卡顿。 + + + frozenRate + 远端用户在加入频道后发生视频卡顿的累计时长占视频总有效时长的百分比 (%)。视频有效时长是指远端用户加入频道后视频未被停止发送或禁用的时长。 + + + totalActiveTime + +

    视频有效时长(毫秒)。

    +

    视频总有效时长是远端用户或主播加入频道后,既没有停止发送视频流,也没有禁用视频模块的通话时长。

    +
    +
    + + publishDuration + +

    远端视频流的累计发布时长(毫秒)。

    +
    +
    + + avSyncTimeMs + 音频超前视频的时间 (ms)。 如果为负值,则代表音频落后于视频。 + + +
    diff --git a/dita/RTC-NG/API/class_remotevoicepositioninfo.dita b/dita/RTC-NG/API/class_remotevoicepositioninfo.dita index 3c590cc92a2..f0eec286764 100644 --- a/dita/RTC-NG/API/class_remotevoicepositioninfo.dita +++ b/dita/RTC-NG/API/class_remotevoicepositioninfo.dita @@ -1,12 +1,12 @@ - <ph keyref="RemoteVoicePositionInfo" /> + <ph keyref="RemoteVoicePositionInfo"/> 远端用户或媒体播放器的空间位置信息。

    - public class RemoteVoicePositionInfo { + public class RemoteVoicePositionInfo { public float[] position; public float[] forward; @@ -15,17 +15,17 @@ forward = new float[] {0.0f, 0.0f, 0.0f}; } } - __attribute__((visibility("default"))) @interface AgoraRemoteVoicePositionInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraRemoteVoicePositionInfo : NSObject @property(assign, nonatomic) simd_float3 position; @property(assign, nonatomic) simd_float3 forward; @end - struct RemoteVoicePositionInfo { + struct RemoteVoicePositionInfo { float position[3]; float forward[3]; RemoteVoicePositionInfo() = default; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRemoteVoicePositionInfo { GENERATED_BODY() @@ -35,13 +35,13 @@ struct FRemoteVoicePositionInfo UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RemoteVoicePositionInfo") FVector forward; }; - export class RemoteVoicePositionInfo { + export class RemoteVoicePositionInfo { position?: number[]; forward?: number[]; } - public class RemoteVoicePositionInfo + public class RemoteVoicePositionInfo { public RemoteVoicePositionInfo(float[] position, float[] forward) { @@ -51,27 +51,31 @@ struct FRemoteVoicePositionInfo public float[] position { set; get; } public float[] forward { set; get; } }; - export class RemoteVoicePositionInfo { + export class RemoteVoicePositionInfo { position?: number[]; forward?: number[]; } - There are no corresponding names available -

    + There are no corresponding names available +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - forward - 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。前、右、上分别对应 Unity Vector3 的 z、x、y 轴的正方向。 - -
    + + + + + + forward + 在世界坐标系前轴的单位向量。该参数是长度为 3 + 的数组,三个值依次表示前、右、上的坐标值。 + 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。前、右、上分别对应 Unity + Vector3 的 z、x、y 轴的正方向。 + + +
    diff --git a/dita/RTC-NG/API/class_rendererconfig.dita b/dita/RTC-NG/API/class_rendererconfig.dita index ff2c5ed43b3..a0098fa72d3 100644 --- a/dita/RTC-NG/API/class_rendererconfig.dita +++ b/dita/RTC-NG/API/class_rendererconfig.dita @@ -6,38 +6,40 @@

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - user - 视频所属的用户,详见 - - - view - 用于渲染视频的 Dom。传空代表销毁视频渲染。 - - - rendererOptions - 视频的渲染选项。详见 - - - channelId - 标识视频渲染所属的频道的 ID,详见 。你只需要在多频道场景下对该参数设值。 - - - fps - 视频渲染帧率 (fps)。最大值不能超过 30。 - -
    + + user + 视频所属的用户,详见 + + + view + 用于渲染视频的 Dom。传空代表销毁视频渲染。 + + + rendererOptions + 视频的渲染选项。详见 + + + channelId + 标识视频渲染所属的频道的 ID,详见 。你只需要在多频道场景下对该参数设值。 + + + fps + 视频渲染帧率 (fps)。最大值不能超过 30。 + + +
    diff --git a/dita/RTC-NG/API/class_rendereroptions.dita b/dita/RTC-NG/API/class_rendereroptions.dita index e8b1482cbcc..5ec4a61b8de 100644 --- a/dita/RTC-NG/API/class_rendereroptions.dita +++ b/dita/RTC-NG/API/class_rendereroptions.dita @@ -6,39 +6,38 @@

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - append - 当新视频也连接 Dom 时,是否使用原生 appendChild 方法向 Dom 添加子 Dom: -
      -
    • : 添加子 Dom。新视频和原视频可以同时呈现。
    • -
    • : (默认) 不添加子 Dom。新视频将取代原视频。
    • -
    -
    - - contentMode - 视频内容显示模式。详见 - - - mirror - 渲染视频时,是否开启视频镜像: - -
      -
    • : 开启镜像。
    • -
    • : (默认) 不开启镜像。
    • -
    -
    -
    + + append + 当新视频也连接 Dom 时,是否使用原生 appendChild 方法向 Dom 添加子 Dom:
      +
    • : 添加子 Dom。新视频和原视频可以同时呈现。
    • +
    • : (默认) 不添加子 Dom。新视频将取代原视频。
    • +
    +
    + + contentMode + 视频内容显示模式。详见 + + + mirror + 渲染视频时,是否开启视频镜像:
      +
    • : 开启镜像。
    • +
    • : (默认) 不开启镜像。
    • +
    +
    + +
    diff --git a/dita/RTC-NG/API/class_rtc_local_view_surfaceview.dita b/dita/RTC-NG/API/class_rtc_local_view_surfaceview.dita index 4633dcd2f16..68a223ca608 100644 --- a/dita/RTC-NG/API/class_rtc_local_view_surfaceview.dita +++ b/dita/RTC-NG/API/class_rtc_local_view_surfaceview.dita @@ -2,61 +2,63 @@ <ph keyref="RtcLocalViewSurfaceView"/> - SurfaceView 类,用于渲染本地视频。由 类扩展而来。 + SurfaceView 类,用于渲染本地视频。由 类扩展而来。

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dita/RTC-NG/API/class_rtc_local_view_textureview.dita b/dita/RTC-NG/API/class_rtc_local_view_textureview.dita index b16c6d7132a..7c3779addf1 100644 --- a/dita/RTC-NG/API/class_rtc_local_view_textureview.dita +++ b/dita/RTC-NG/API/class_rtc_local_view_textureview.dita @@ -2,57 +2,59 @@ <ph keyref="RtcLocalViewTextureView"/> - TextureView 类,用于渲染本地视频。由 类扩展而来。 + TextureView 类,用于渲染本地视频。由 类扩展而来。

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + +

    diff --git a/dita/RTC-NG/API/class_rtc_remote_view_surfaceview.dita b/dita/RTC-NG/API/class_rtc_remote_view_surfaceview.dita index d916254a205..0c506c8c6f4 100644 --- a/dita/RTC-NG/API/class_rtc_remote_view_surfaceview.dita +++ b/dita/RTC-NG/API/class_rtc_remote_view_surfaceview.dita @@ -2,65 +2,67 @@ <ph keyref="RtcRemoteViewSurfaceView"/> - SurfaceView 类,用于渲染远端视频。由 类扩展而来。 + SurfaceView 类,用于渲染远端视频。由 类扩展而来。

    - - - - - - - -

    + + + + + + + +

    参数 - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    diff --git a/dita/RTC-NG/API/class_rtc_remote_view_textureview.dita b/dita/RTC-NG/API/class_rtc_remote_view_textureview.dita index 94d5917c08c..40dc29b05fb 100644 --- a/dita/RTC-NG/API/class_rtc_remote_view_textureview.dita +++ b/dita/RTC-NG/API/class_rtc_remote_view_textureview.dita @@ -2,61 +2,64 @@ <ph keyref="RtcRemoteViewTextureView"/> - TextureView 类,用于渲染本地视频。由 类扩展而来。 + TextureView 类,用于渲染本地视频。由 类扩展而来。

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + +

    diff --git a/dita/RTC-NG/API/class_rtc_render_view_rtcsurfaceview.dita b/dita/RTC-NG/API/class_rtc_render_view_rtcsurfaceview.dita index 35cc14500fe..875957e0c7a 100644 --- a/dita/RTC-NG/API/class_rtc_render_view_rtcsurfaceview.dita +++ b/dita/RTC-NG/API/class_rtc_render_view_rtcsurfaceview.dita @@ -2,72 +2,73 @@ <ph keyref="RtcSurfaceView"/> - RtcSurfaceView 类,用于渲染本地和远端视频。 + RtcSurfaceView + 类,用于渲染本地和远端视频。

    - - - - - - - -

    + + + + + + + +

    -

    该类在不同平台上对应的类如下: - - - -

      -
    • Android: SurfaceView
    • -
    • iOS: UIView
    • - -
    • 该类不适用于 macOS 或 Windows 平台。
    • -

    +

    该类在不同平台上对应的类如下:

      +
    • Android: SurfaceView
    • +
    • iOS: UIView
    • + +
    • 该类不适用于 macOS 或 Windows 平台。
    • +

    参数 - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dita/RTC-NG/API/class_rtc_render_view_rtctextureview.dita b/dita/RTC-NG/API/class_rtc_render_view_rtctextureview.dita index 18d3da27e47..f677f8c2ece 100644 --- a/dita/RTC-NG/API/class_rtc_render_view_rtctextureview.dita +++ b/dita/RTC-NG/API/class_rtc_render_view_rtctextureview.dita @@ -2,65 +2,72 @@ <ph keyref="Flutter-RtcTextureView"/> - RtcTextureView 类,用于渲染本地和远端视频。 + RtcTextureView + 类,用于渲染本地和远端视频。

    - - - - - - - -

    + + + + + + + +

    -

    该类在不同平台上对应的类如下: - -

      -
    • Android: TextureViewFlutterTexture
    • -
    • iOS/macOS/Windows: FlutterTexture
    • - -

    +

    该类在不同平台上对应的类如下:

      +
    • Android: TextureViewFlutterTexture
    • +
    • iOS/macOS/Windows: FlutterTexture
    • + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + + diff --git a/dita/RTC-NG/API/class_rtcconnection.dita b/dita/RTC-NG/API/class_rtcconnection.dita index 2c2caecb169..c49590aaf3a 100644 --- a/dita/RTC-NG/API/class_rtcconnection.dita +++ b/dita/RTC-NG/API/class_rtcconnection.dita @@ -1,12 +1,12 @@ - <ph keyref="RtcConnection" /> + <ph keyref="RtcConnection"/> 包含连接信息的类。

    - public class RtcConnection { + public class RtcConnection { public enum CONNECTION_STATE_TYPE { CONNECTION_STATE_NOT_INITIALIZED(0), CONNECTION_STATE_DISCONNECTED(1), @@ -40,12 +40,12 @@ return sb.toString(); } } - __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying> + __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying> @property (nonatomic, copy) NSString *_Nonnull channelId; @property (nonatomic, assign) NSUInteger localUid; @end - struct RtcConnection { + struct RtcConnection { const char* channelId; uid_t localUid; @@ -53,7 +53,7 @@ RtcConnection(const char* channel_id, uid_t local_uid) : channelId(channel_id), localUid(local_uid) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRtcConnection { GENERATED_BODY() @@ -63,13 +63,13 @@ struct FRtcConnection UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcConnection") int64 localUid; }; - export class RtcConnection { + export class RtcConnection { channelId?: string; localUid?: number; } - public class RtcConnection + public class RtcConnection { public RtcConnection() { @@ -84,13 +84,13 @@ struct FRtcConnection public string channelId { set; get; } public uint localUid { set; get; } }; - export class RtcConnection { + export class RtcConnection { channelId?: string; localUid?: number; } - class RtcConnection { + class RtcConnection { const RtcConnection({this.channelId, this.localUid}); @JsonKey(name: 'channelId') @@ -105,16 +105,18 @@ struct FRtcConnection

    - <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_rtcengineconfig.dita b/dita/RTC-NG/API/class_rtcengineconfig.dita index cc1541b0797..ad261764db5 100644 --- a/dita/RTC-NG/API/class_rtcengineconfig.dita +++ b/dita/RTC-NG/API/class_rtcengineconfig.dita @@ -2,11 +2,12 @@ <ph keyref="RtcEngineConfig"/> - 定义。 + + 定义。

    - public class RtcEngineConfig { + public class RtcEngineConfig { public IRtcEngineEventHandler mEventHandler; public Context mContext; public String mAppId; @@ -25,7 +26,7 @@ } } - __attribute__((visibility("default"))) @interface AgoraRtcEngineConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraRtcEngineConfig: NSObject @property (copy, nonatomic) NSString * _Nullable appId; @property (assign, nonatomic) AgoraChannelProfile channelProfile; @@ -37,7 +38,7 @@ @property (copy, nonatomic) NSArray<id<AgoraMediaFilterExtensionDelegate>>* _Nullable mediaFilterExtensions; @property (weak, nonatomic) id<AgoraMediaFilterEventDelegate> _Nullable eventDelegate; @end - struct RtcEngineContext { + struct RtcEngineContext { IRtcEngineEventHandler* eventHandler; const char* appId; void* context; @@ -56,7 +57,7 @@ logConfig(), domainLimit(false), autoRegisterAgoraExtensions(true) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRtcEngineContext { GENERATED_BODY() @@ -84,7 +85,7 @@ struct FRtcEngineContext UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext") bool useExternalEglContext; }; - export class RtcEngineContext { + export class RtcEngineContext { appId?: string; @@ -105,7 +106,7 @@ struct FRtcEngineContext autoRegisterAgoraExtensions?: boolean; } - public class RtcEngineContext : OptionalJsonParse + public class RtcEngineContext : OptionalJsonParse { public string appId; @@ -117,7 +118,7 @@ struct FRtcEngineContext public bool domainLimit; public bool autoRegisterAgoraExtensions; }; - export class RtcEngineContext { + export class RtcEngineContext { appId?: string; @@ -138,7 +139,7 @@ struct FRtcEngineContext autoRegisterAgoraExtensions?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineContext { const RtcEngineContext( {this.appId, @@ -179,116 +180,134 @@ class RtcEngineContext { Map<String, dynamic> toJson() => _$RtcEngineContextToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - eventHandler - mEventHandler - 的事件句柄,详见 - - - appId - mAppId - 声网为 App 开发者签发的 App ID。 使用同一个 App ID 的 App 才能进入同一个频道进行通话或直播。一个 App ID 只能用于创建一个 。如需更换 App ID,必须先调用 销毁当前 再重新创建。 - - - context - mContext - -
      -
    • Windows 平台上,context 是视窗句柄。如设值,则表示支持设备热插拔。
    • -
    • Android 平台上,context 是安卓活动上下文。
    • -
    -

    安卓活动上下文。

    -
    -
    - - mNativeLibPath - -

    指定 .so 文件的存储目录。存储目录必须为有效的 App 的私有目录,可以通过 Context.getDir() 获取。

    -
      -
    • 如果你设置了该参数,SDK 会在你指定的目录下自动加载 .so 文件,使 App 在运行时动态加载需要的 .so 文件,从而减小 App 的包体积。
    • -
    • 如果你不设置该参数或将其设置为 null,SDK 会从 App 默认的 native unreal bpLibraryPath 中加载打包所需的 .so 文件,相对于上一种方式,App 的包体积会增加。
    • -
    - -
      -
    • 该设置仅适用于手动集成 SDK,不适用于通过 Maven Central 或 JitPack 集成 SDK 的情况。
    • -
    • 务必确保你设置的路径为有效路径,否则会导致 创建失败。
    • -
    -
    - - channelProfile - mChannelProfile - - - - audioScenario - mAudioScenario - - - - areaCode - mAreaCode - 服务器的访问区域。该功能为高级设置,适用于有访问安全限制的场景。支持的区域详见 。区域码支持位操作。 - 指定访问区域后,集成了 SDK 的 App 会连接指定区域内的声网服务器。 - - - logConfig - mLogConfig - -

    设置 SDK 输出的日志文件。详见

    -

    默认情况下,SDK 会生成 5 个 SDK 日志文件和 5 个 API 调用日志文件,规则如下:

    -
      -
    • -
    -
    - - mExtensionList - 插件列表。 - - - mExtensionObserver - eventDelegate - 实例。 - - - mediaFilterExtensions - 实例。 - - - mDomainLimit - domainLimit - -

    是否开启域名限制: -

      -
    • :开启域名限制。该设置适用于 IoT 设备使用物联网卡进行网络访问的场景。SDK 会仅连接到已向运营商报备的域名或 IP 白名单中的服务器。
    • -
    • :(默认)关闭域名限制。该设置适用于大部分普通场景。
    • -

    -
    -
    - - mAutoRegisterAgoraExtensions - autoRegisterAgoraExtensions - -

    是否在初始化 时自动注册声网插件: -

      -
    • :(默认)初始化 时自动注册声网插件。
    • -
    • :初始化 时不注册声网插件。你需要调用 来注册声网插件。
    • -

    -
    -
    -
    -
    - 方法 - + + eventHandler + mEventHandler + 的事件句柄,详见 + + + appId + mAppId + 声网为 App 开发者签发的 App ID。 使用同一个 App ID 的 App 才能进入同一个频道进行通话或直播。一个 App + ID 只能用于创建一个 。如需更换 App ID,必须先调用 销毁当前 再重新创建。 + + + context + mContext + +
      +
    • Windows 平台上,context 是视窗句柄。如设值,则表示支持设备热插拔。
    • +
    • Android 平台上,context 是安卓活动上下文。
    • +
    +

    安卓活动上下文。

    +
    +
    + + mNativeLibPath + +

    指定 .so 文件的存储目录。存储目录必须为有效的 App 的私有目录,可以通过 + Context.getDir() 获取。

    +
      +
    • 如果你设置了该参数,SDK 会在你指定的目录下自动加载 .so 文件,使 App + 在运行时动态加载需要的 .so 文件,从而减小 App 的包体积。
    • +
    • 如果你不设置该参数或将其设置为 null,SDK 会从 App 默认的 native unreal + bpLibraryPath 中加载打包所需的 .so + 文件,相对于上一种方式,App 的包体积会增加。
    • +
    + +
      +
    • 该设置仅适用于手动集成 SDK,不适用于通过 Maven Central 或 JitPack 集成 SDK 的情况。
    • +
    • 务必确保你设置的路径为有效路径,否则会导致 创建失败。
    • +
    +
    +
    + + channelProfile + mChannelProfile + + + + audioScenario + mAudioScenario + + - addExtension - 添加插件。详见 + areaCode + mAreaCode + 服务器的访问区域。该功能为高级设置,适用于有访问安全限制的场景。支持的区域详见 。区域码支持位操作。 + 指定访问区域后,集成了 SDK 的 App 会连接指定区域内的声网服务器。 + + + logConfig + mLogConfig + +

    设置 SDK 输出的日志文件。详见

    +

    默认情况下,SDK 会生成 5 个 SDK 日志文件和 5 个 API 调用日志文件,规则如下:

    +
      +
    • +
    +
    +
    + + mExtensionList + 插件列表。 -
    -
    + + mExtensionObserver + eventDelegate + 实例。 + + + mediaFilterExtensions + 实例。 + + + mDomainLimit + domainLimit + +

    是否开启域名限制:

      +
    • :开启域名限制。该设置适用于 IoT + 设备使用物联网卡进行网络访问的场景。SDK 会仅连接到已向运营商报备的域名或 IP 白名单中的服务器。
    • +
    • :(默认)关闭域名限制。该设置适用于大部分普通场景。 +
    • +

    +
    +
    + + mAutoRegisterAgoraExtensions + autoRegisterAgoraExtensions + +

    是否在初始化 时自动注册声网插件:

      +
    • :(默认)初始化 时自动注册声网插件。
    • +
    • :初始化 时不注册声网插件。你需要调用 来注册声网插件。
    • +

    +
    +
    + + +
    + 方法 + + + addExtension + 添加插件。详见 + + +
    diff --git a/dita/RTC-NG/API/class_rtcengineext.dita b/dita/RTC-NG/API/class_rtcengineext.dita index 2ca0160bad4..368b3c787ed 100644 --- a/dita/RTC-NG/API/class_rtcengineext.dita +++ b/dita/RTC-NG/API/class_rtcengineext.dita @@ -1,7 +1,7 @@ - <ph keyref="RtcEngineExt" /> - 的衍生接口类。 - - \ No newline at end of file + <ph keyref="RtcEngineExt"/> + 的衍生接口类。 + + diff --git a/dita/RTC-NG/API/class_rtcimage.dita b/dita/RTC-NG/API/class_rtcimage.dita index 432c901bfb6..e7cc91ac35b 100644 --- a/dita/RTC-NG/API/class_rtcimage.dita +++ b/dita/RTC-NG/API/class_rtcimage.dita @@ -1,12 +1,12 @@ - <ph keyref="RtcImage" /> + <ph keyref="RtcImage"/> 图像属性。

    - public class AgoraImage { + public class AgoraImage { public String url; public int x; public int y; @@ -35,13 +35,13 @@ this.alpha = 1.0; } } - __attribute__((visibility("default"))) @interface AgoraImage : NSObject + __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 - typedef struct RtcImage { + typedef struct RtcImage { const char* url; int x; int y; @@ -51,7 +51,7 @@ double alpha; RtcImage() : url(NULL), x(0), y(0), width(0), height(0), zOrder(0), alpha(1.0) {} - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRtcImage { GENERATED_BODY() @@ -71,7 +71,7 @@ struct FRtcImage UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") float alpha; }; - public class RtcImage + public class RtcImage { public RtcImage() { @@ -102,7 +102,7 @@ struct FRtcImage public int zOrder { set; get; } public double alpha { set; get; } } - export class RtcImage { + export class RtcImage { url?: string; @@ -118,7 +118,7 @@ struct FRtcImage alpha?: number; } - export class RtcImage { + export class RtcImage { url?: string; @@ -134,7 +134,7 @@ struct FRtcImage alpha?: number; } - class RtcImage { + class RtcImage { const RtcImage( {this.url, this.x, @@ -162,51 +162,53 @@ 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 - 直播视频上图片的 HTTP/HTTPS 地址。字符长度不得超过 1024 字节。 - - - x - 图片在视频画面上的 x 坐标 (px),以输出视频画面的左上角为原点。 - - - y - 图片在视频画面上的 y 坐标 (px),以输出视频画面的左上角为原点。 - - - width - 图片在视频画面上的宽度 (px)。 - - - height - 图片在视频画面上的高度 (px)。 - - - rect - 图片在视频画面上的位置和大小,类型为 CGRect。 - - - zOrder - 水印或背景图的图层编号。使用水印数组添加单张或多张水印时,必须向 zOrder 传值,取值范围为 [1,255],否则 SDK 会报错。其余情况,zOrder 可选传值,取值范围为 [0,255],0 为默认值。0 代表图层的最下层,255 代表图层的最上层。 - - - alpha - 水印或背景图片的透明度。取值范围为 [0.0,1.0]: - -
      -
    • 0.0: 完全透明。
    • -
    • 1.0:(默认)完全不透明。
    • -
    -
    -
    + + url + 直播视频上图片的 HTTP/HTTPS 地址。字符长度不得超过 1024 字节。 + + + x + 图片在视频画面上的 x 坐标 (px),以输出视频画面的左上角为原点。 + + + y + 图片在视频画面上的 y 坐标 (px),以输出视频画面的左上角为原点。 + + + width + 图片在视频画面上的宽度 (px)。 + + + height + 图片在视频画面上的高度 (px)。 + + + rect + 图片在视频画面上的位置和大小,类型为 CGRect。 + + + zOrder + 水印或背景图的图层编号。使用水印数组添加单张或多张水印时,必须向 zOrder 传值,取值范围为 + [1,255],否则 SDK 会报错。其余情况,zOrder 可选传值,取值范围为 [0,255],0 + 为默认值。0 代表图层的最下层,255 代表图层的最上层。 + + + alpha + 水印或背景图片的透明度。取值范围为 [0.0,1.0]:
      +
    • 0.0: 完全透明。
    • +
    • 1.0:(默认)完全不透明。
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_rtcrendererviewprops.dita b/dita/RTC-NG/API/class_rtcrendererviewprops.dita index 06ed275410c..d38a9bb83b9 100644 --- a/dita/RTC-NG/API/class_rtcrendererviewprops.dita +++ b/dita/RTC-NG/API/class_rtcrendererviewprops.dita @@ -2,32 +2,35 @@ <ph keyref="RtcRendererViewProps"/> - 的通用属性。 + 的通用属性。

    - - - - - - export interface RtcRendererViewProps { + + + + + + export interface RtcRendererViewProps { canvas: VideoCanvas; connection?: RtcConnection; } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - canvas - 本地视频显示属性。详见 - - - connection - Connection 信息。详见 - -
    + + canvas + 本地视频显示属性。详见 + + + connection + Connection 信息。详见 + + +
    diff --git a/dita/RTC-NG/API/class_rtcstats.dita b/dita/RTC-NG/API/class_rtcstats.dita index 0dce50a04b7..919cd3a46f7 100644 --- a/dita/RTC-NG/API/class_rtcstats.dita +++ b/dita/RTC-NG/API/class_rtcstats.dita @@ -1,12 +1,12 @@ - <ph keyref="RtcStats" /> + <ph keyref="RtcStats"/> 通话相关的统计信息。

    - public static class RtcStats { + public static class RtcStats { public int totalDuration; public int txBytes; public int rxBytes; @@ -32,7 +32,7 @@ public double memoryTotalUsageRatio; public int memoryAppUsageInKbytes; } - __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject + __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject @property(assign, nonatomic) NSUInteger duration; @property(assign, nonatomic) NSUInteger txBytes; @property(assign, nonatomic) NSUInteger rxBytes; @@ -59,7 +59,7 @@ @property(assign, nonatomic) NSInteger rxPacketLossRate; @end - struct RtcStats { + struct RtcStats { unsigned int duration; unsigned int txBytes; unsigned int rxBytes; @@ -111,7 +111,7 @@ rxPacketLossRate(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRtcStats { GENERATED_BODY() @@ -183,7 +183,7 @@ public: UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats") int memoryAppUsageInKbytes; }; - export class RtcStats { + export class RtcStats { duration?: number; @@ -251,7 +251,7 @@ public: rxPacketLossRate?: number; } - public class RtcStats + public class RtcStats { public RtcStats() { @@ -313,7 +313,7 @@ public: public int txPacketLossRate { set; get; } public int rxPacketLossRate { set; get; } } - export class RtcStats { + export class RtcStats { duration?: number; @@ -381,7 +381,7 @@ public: rxPacketLossRate?: number; } - class RtcStats { + class RtcStats { const RtcStats( {this.duration, this.txBytes, @@ -491,130 +491,143 @@ public:

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - duration - totalDuration - 本地用户通话时长(秒),累计值。 - - - txBytes - 发送字节数 (bytes)。 - - - rxBytes - 接收字节数 (bytes)。 - - - txAudioBytes - 发送音频字节数 (bytes),累计值。 - - - txVideoBytes - 发送视频字节数 (bytes),累计值。 - - - rxAudioBytes - 接收音频字节数 (bytes),累计值。 - - - rxVideoBytes - 接收视频字节数 (bytes),累计值。 - - - txKBitRate - 发送码率 (Kbps)。 - - - rxKBitRate - 接收码率 (Kbps)。 - - - rxAudioKBitRate - 音频接收码率 (Kbps)。 - - - txAudioKBitRate - 音频包的发送码率 (Kbps)。 - - - rxVideoKBitRate - 视频接收码率 (Kbps)。 - - - txVideoKBitRate - 视频发送码率 (Kbps)。 - - - lastmileDelay - 客户端-接入服务器延时 (毫秒)。 - - - txPacketLossRate - 使用抗丢包技术前,客户端上行发送到服务器丢包率 (%)。 - - - rxPacketLossRate - 使用抗丢包技术前,服务器下行发送到客户端丢包率 (%)。 - - - userCount - users - 当前频道内的用户人数。 - - - cpuAppUsage - 当前 App 的 CPU 使用率 (%)。 - - -
      -
    • 回调中报告的 cpuAppUsage 恒为 0。
    • -
    • 自 Android 8.1 起,因系统限制,你可能无法通过该属性获取 CPU 使用率。
    • -
    -
    - - cpuTotalUsage - -

    当前系统的 CPU 使用率 (%)。

    -

    对于 Windows 平台,在多核环境中,该成员指多核 CPU 的平均使用率。 计算方式为 (100 - 任务管理中显示的系统空闲进程 CPU)/100。

    - -
      -
    • 回调中报告的 cpuTotalUsage 恒为 0。
    • -
    • 自 Android 8.1 起,因系统限制,你无法通过该属性获取 CPU 使用率。
    • -
    -
    - - connectTimeMs - 从开始建立连接到成功连接的时间(毫秒)。如报告 0,则表示无效。 - - - gatewayRtt - 客户端到本地路由器的往返时延 (ms)。 - -

    该属性默认在 iOS 14 之前的设备上开启,在 iOS 14 及之后的设备上关闭。

    -

    如需在 iOS 14 及之后的设备上启用该属性,请

    + + duration + totalDuration + 本地用户通话时长(秒),累计值。 + + + txBytes + 发送字节数 (bytes)。 + + + rxBytes + 接收字节数 (bytes)。 + + + txAudioBytes + 发送音频字节数 (bytes),累计值。 + + + txVideoBytes + 发送视频字节数 (bytes),累计值。 + + + rxAudioBytes + 接收音频字节数 (bytes),累计值。 + + + rxVideoBytes + 接收视频字节数 (bytes),累计值。 + + + txKBitRate + 发送码率 (Kbps)。 + + + rxKBitRate + 接收码率 (Kbps)。 + + + rxAudioKBitRate + 音频接收码率 (Kbps)。 + + + txAudioKBitRate + 音频包的发送码率 (Kbps)。 + + + rxVideoKBitRate + 视频接收码率 (Kbps)。 + + + txVideoKBitRate + 视频发送码率 (Kbps)。 + + + lastmileDelay + 客户端-接入服务器延时 (毫秒)。 + + + txPacketLossRate + 使用抗丢包技术前,客户端上行发送到服务器丢包率 (%)。 + + + rxPacketLossRate + 使用抗丢包技术前,服务器下行发送到客户端丢包率 (%)。 + + + userCount + users + 当前频道内的用户人数。 + + + cpuAppUsage + 当前 App 的 CPU 使用率 (%)。 +
      +
    • 回调中报告的 + cpuAppUsage 恒为 0。
    • +
    • 自 Android 8.1 + 起,因系统限制,你可能无法通过该属性获取 CPU 使用率。
    • +
    +
    + + cpuTotalUsage + +

    当前系统的 CPU 使用率 (%)。

    +

    对于 Windows + 平台,在多核环境中,该成员指多核 CPU 的平均使用率。 计算方式为 (100 - 任务管理中显示的系统空闲进程 CPU)/100。

    + +
      +
    • 回调中报告的 + cpuTotalUsage 恒为 0。
    • +
    • 自 Android 8.1 + 起,因系统限制,你无法通过该属性获取 CPU 使用率。
    • +
    +
    +
    + + connectTimeMs + 从开始建立连接到成功连接的时间(毫秒)。如报告 0,则表示无效。 + + + gatewayRtt + 客户端到本地路由器的往返时延 (ms)。 +

    该属性默认在 iOS 14 之前的设备上开启,在 iOS 14 及之后的设备上关闭。

    +

    如需在 iOS 14 及之后的设备上启用该属性,请

    - 在 Android 平台上,如需获取 gatewayRtt,请确保已在项目 AndroidManifest.xml 文件的 </application> 后面添加 android.permission.ACCESS_WIFI_STATE 权限。
    -
    - - memoryAppUsageRatio - -

    当前 App 的内存占比 (%)。

    - 该值仅作参考。受系统限制可能无法获取。
    -
    - - memoryTotalUsageRatio - -

    当前系统的内存占比 (%)。

    - 该值仅作参考。受系统限制可能无法获取。
    -
    - - memoryAppUsageInKbytes - -

    当前 App 的内存大小 (KB)。

    - 该值仅作参考。受系统限制可能无法获取。
    -
    -
    + 在 Android 平台上,如需获取 + gatewayRtt,请确保已在项目 + AndroidManifest.xml 文件的 + </application> 后面添加 + android.permission.ACCESS_WIFI_STATE 权限。 + + + + memoryAppUsageRatio + +

    当前 App 的内存占比 (%)。

    + 该值仅作参考。受系统限制可能无法获取。 +
    +
    + + memoryTotalUsageRatio + +

    当前系统的内存占比 (%)。

    + 该值仅作参考。受系统限制可能无法获取。 +
    +
    + + memoryAppUsageInKbytes + +

    当前 App 的内存大小 (KB)。

    + 该值仅作参考。受系统限制可能无法获取。 +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_rtcsurfaceview.dita b/dita/RTC-NG/API/class_rtcsurfaceview.dita index 22cf014a186..20f1c1c49cf 100644 --- a/dita/RTC-NG/API/class_rtcsurfaceview.dita +++ b/dita/RTC-NG/API/class_rtcsurfaceview.dita @@ -7,15 +7,11 @@

    该类用于渲染:

      -
    • - Android: 对应 Android 系统原生的 SurfaceView。 -
    • -
    • - iOS: 对应 iOS 系统原生的 UIView。 -
    • -
    +
  • Android: 对应 Android 系统原生的 SurfaceView。
  • +
  • iOS: 对应 iOS 系统原生的 UIView。
  • +

    为保证渲染出图,调用该组件前,根据当前是否加入频道进行对应操作:

    -
      +
      • 不加入频道时:先调用 ,然后调用
      • 加入频道时:先开启采集,然后调用
      diff --git a/dita/RTC-NG/API/class_rtcsurfaceviewprops.dita b/dita/RTC-NG/API/class_rtcsurfaceviewprops.dita index 0ff28a6b1a9..9560151fc00 100644 --- a/dita/RTC-NG/API/class_rtcsurfaceviewprops.dita +++ b/dita/RTC-NG/API/class_rtcsurfaceviewprops.dita @@ -1,38 +1,46 @@ - <ph keyref="RtcSurfaceViewProps" /> - RtcSurfaceView 的属性。 + + <ph keyref="RtcSurfaceViewProps"/> + + + RtcSurfaceView 的属性。 +

      - export interface RtcSurfaceViewProps { + export interface RtcSurfaceViewProps { zOrderOnTop?: boolean; zOrderMediaOverlay?: boolean; -} -

      +} +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - zOrderOnTop - -

      是否将 RtcSurfaceView 视图的表层置于窗口上层:

      -
        -
      • : 置于窗口上层。
      • -
      • : 不置于窗口上层。
      • -
      -
      - - zOrderMediaOverlay - -

      是否将 RtcSurfaceView 视图的表层置于窗口中另一个 RtcSurfaceView 的上层(但依然位于窗口的下层):

      -
        -
      • : 置于窗口中另一个 RtcSurfaceView 的上层。
      • -
      • : 不置于窗口上层。
      • -
      -
      -
      + + zOrderOnTop + +

      是否将 RtcSurfaceView 视图的表层置于窗口上层:

      +
        +
      • : 置于窗口上层。
      • +
      • : 不置于窗口上层。
      • +
      +
      +
      + + zOrderMediaOverlay + +

      是否将 RtcSurfaceView 视图的表层置于窗口中另一个 RtcSurfaceView 的上层(但依然位于窗口的下层):

      +
        +
      • : 置于窗口中另一个 RtcSurfaceView 的上层。
      • +
      • : 不置于窗口上层。
      • +
      +
      +
      + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_rtctextureview.dita b/dita/RTC-NG/API/class_rtctextureview.dita index 568dc6f7553..6707ab16e67 100644 --- a/dita/RTC-NG/API/class_rtctextureview.dita +++ b/dita/RTC-NG/API/class_rtctextureview.dita @@ -8,10 +8,10 @@

    该类用于渲染。对应 Android 系统原生的 TextureView。

    RtcTextureView 类仅适用于 Android 平台,不适用于 iOS 平台。

    为保证渲染出图,调用该组件前,根据当前是否加入频道进行对应操作:

    -
      +
      • 不加入频道时:先调用 ,然后调用
      • 加入频道时:先开启采集,然后调用
      - + diff --git a/dita/RTC-NG/API/class_screenaudioparameters.dita b/dita/RTC-NG/API/class_screenaudioparameters.dita index 1505fe6f821..c61b30c3993 100644 --- a/dita/RTC-NG/API/class_screenaudioparameters.dita +++ b/dita/RTC-NG/API/class_screenaudioparameters.dita @@ -1,12 +1,12 @@ - <ph keyref="ScreenAudioParameters" /> + <ph keyref="ScreenAudioParameters"/> 共享屏幕流的音频配置。

      - public static class AudioCaptureParameters { + public static class AudioCaptureParameters { public int sampleRate = 16000; public int channels = 2; public int captureSignalVolume = 100; @@ -30,17 +30,17 @@ + captureSignalVolume + ", allowCaptureCurrentApp=" + allowCaptureCurrentApp + '}'; } } - __attribute__((visibility("default"))) @interface AgoraScreenAudioParameters : NSObject + __attribute__((visibility("default"))) @interface AgoraScreenAudioParameters : NSObject @property(assign, nonatomic) NSInteger captureSignalVolume; @end - struct ScreenAudioParameters { + struct ScreenAudioParameters { int sampleRate = 16000; int channels = 2; int captureSignalVolume = 100; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenAudioParameters { GENERATED_BODY() @@ -55,7 +55,7 @@ struct FScreenAudioParameters { int captureSignalVolume = 100; }; - export class ScreenAudioParameters { + export class ScreenAudioParameters { sampleRate?: number; @@ -63,7 +63,7 @@ struct FScreenAudioParameters { captureSignalVolume?: number; } - public class ScreenAudioParameters + public class ScreenAudioParameters { public int sampleRate { set; get; } public int channels { set; get; } @@ -76,7 +76,7 @@ struct FScreenAudioParameters { captureSignalVolume = 100; } }; - export class ScreenAudioParameters { + export class ScreenAudioParameters { sampleRate?: number; @@ -84,7 +84,7 @@ struct FScreenAudioParameters { captureSignalVolume?: number; } - class ScreenAudioParameters { + class ScreenAudioParameters { const ScreenAudioParameters( {this.sampleRate, this.channels, this.captureSignalVolume}); @@ -101,14 +101,16 @@ struct FScreenAudioParameters { _$ScreenAudioParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenAudioParametersToJson(this); -} -

      +} +

      -

      仅适用于 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 @@ -118,19 +120,21 @@ struct FScreenAudioParameters { channels 声道数。默认值为 2,表示双声道。 - - captureSignalVolume - 采集的系统音量。取值范围为 [0,100]。默认值为 100。 - + + captureSignalVolume + 采集的系统音量。取值范围为 [0,100]。默认值为 100。 + allowCaptureCurrentApp - 是否采集当前 App 中的音频: -
        -
      • :(默认)采集当前 App 中的音频。
      • -
      • :不采集当前 App 中的音频。
      • + 是否采集当前 App 中的音频:
          +
        • :(默认)采集当前 App 中的音频。
        • +
        • :不采集当前 App 中的音频。
        - 该成员仅能设置是否采集当前 App 中的音频,并不能控制是否将采集到的 App 音频发布到频道中。你需要在调用 或者 时通过 options 参数进行设置。
        + 该成员仅能设置是否采集当前 App 中的音频,并不能控制是否将采集到的 App 音频发布到频道中。你需要在调用 或者 时通过 options 参数进行设置。 -
      + +
      diff --git a/dita/RTC-NG/API/class_screencaptureconfiguration.dita b/dita/RTC-NG/API/class_screencaptureconfiguration.dita index 015e5b089e6..a5e022e9c4c 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)) + + #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC)) __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguration: NSObject @@ -23,7 +23,7 @@ __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguratio @end #endif - struct ScreenCaptureConfiguration { + struct ScreenCaptureConfiguration { bool isCaptureWindow; uint32_t displayId; Rectangle screenRect; @@ -33,7 +33,7 @@ __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguratio ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenCaptureConfiguration { GENERATED_BODY() @@ -51,7 +51,7 @@ struct FScreenCaptureConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") FRectangle regionRect; }; - export class ScreenCaptureConfiguration { + export class ScreenCaptureConfiguration { isCaptureWindow?: boolean; @@ -65,7 +65,7 @@ struct FScreenCaptureConfiguration regionRect?: Rectangle; } - public class ScreenCaptureConfiguration + public class ScreenCaptureConfiguration { public ScreenCaptureConfiguration() { @@ -80,7 +80,7 @@ struct FScreenCaptureConfiguration public ScreenCaptureParameters parameters { set; get; } public Rectangle regionRect { set; get; } } - export class ScreenCaptureConfiguration { + export class ScreenCaptureConfiguration { isCaptureWindow?: boolean; @@ -94,7 +94,7 @@ struct FScreenCaptureConfiguration regionRect?: Rectangle; } - class ScreenCaptureConfiguration { + class ScreenCaptureConfiguration { const ScreenCaptureConfiguration( {this.isCaptureWindow, this.displayId, @@ -118,52 +118,58 @@ struct FScreenCaptureConfiguration factory ScreenCaptureConfiguration.fromJson(Map<String, dynamic> json) => _$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 - 是否采集屏幕上的窗口: - - -
        -
      • :采集窗口。
      • -
      • :(默认)采集屏幕,不采集窗口。
      • -
      -
      - - displayId - (仅适用于 macOS 平台)屏幕的 display ID。 - 请仅在 Mac 设备上采集屏幕时使用该参数。 - 屏幕的 display ID。你无需设置该参数。 - - - screenRect - (仅适用于 Windows 平台)待共享的屏幕相对于虚拟屏的位置。 - - - 请仅在 Windows 设备上采集屏幕时使用该参数。 - - - windowId - (仅适用于 Windows 和 macOS 平台)窗口 ID。 - - - 请仅在采集窗口时使用该参数。 - - - params - parameters - (仅适用于 Windows 和 macOS 平台)屏幕共享流的编码参数配置。详见 - - - regionRect - (仅适用于 Windows 和 macOS 平台)待共享区域相对于整个屏幕的位置。详见 。如不填,则表示共享整个屏幕。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容。 如果将 中的 width 或 height 设为 0 ,则共享整个屏幕。 - 待共享区域相对于整个屏幕的位置。类型为 CGRect。 - -
      + + isCaptureWindow + 是否采集屏幕上的窗口:
        +
      • :采集窗口。
      • +
      • :(默认)采集屏幕,不采集窗口。
      • +
      +
      + + displayId + (仅适用于 macOS + 平台)屏幕的 display ID。 + 请仅在 Mac 设备上采集屏幕时使用该参数。 + 屏幕的 display ID。你无需设置该参数。 + + + screenRect + (仅适用于 Windows + 平台)待共享的屏幕相对于虚拟屏的位置。 + 请仅在 Windows + 设备上采集屏幕时使用该参数。 + + + windowId + (仅适用于 Windows 和 macOS 平台)窗口 + ID。 + 请仅在采集窗口时使用该参数。 + + + params + parameters + (仅适用于 Windows 和 macOS + 平台)屏幕共享流的编码参数配置。详见 + + + regionRect + (仅适用于 Windows 和 macOS + 平台)待共享区域相对于整个屏幕的位置。详见 。如不填,则表示共享整个屏幕。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容。 如果将 中的 width 或 height 设为 0 ,则共享整个屏幕。 + 待共享区域相对于整个屏幕的位置。类型为 CGRect。 + + +
      -
      \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_screencaptureinfo.dita b/dita/RTC-NG/API/class_screencaptureinfo.dita index 4798d384fc5..cf3ef3ac3e1 100644 --- a/dita/RTC-NG/API/class_screencaptureinfo.dita +++ b/dita/RTC-NG/API/class_screencaptureinfo.dita @@ -1,14 +1,18 @@ - <ph keyref="ScreenCaptureInfo"/> - 屏幕共享信息。 + + <ph keyref="ScreenCaptureInfo"/> + + + 屏幕共享信息。 +

      - - - public class ScreenCaptureInfo + + + public class ScreenCaptureInfo { public ScreenCaptureInfo() { @@ -23,26 +27,28 @@ public string graphicsCardType; public EXCLUDE_WINDOW_ERROR errCode; }; - - -

      + + +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - graphicsCardType - -

      显卡类型,包含显卡的型号信息。

      -
      -
      - - errCode - -

      屏幕共享时,屏蔽窗口的错误码。详见

      -
      -
      -
      + + graphicsCardType + +

      显卡类型,包含显卡的型号信息。

      +
      +
      + + errCode + +

      屏幕共享时,屏蔽窗口的错误码。详见

      +
      +
      + +
      diff --git a/dita/RTC-NG/API/class_screencaptureparameters.dita b/dita/RTC-NG/API/class_screencaptureparameters.dita index 75f8a5595d7..f5ca59a0647 100644 --- a/dita/RTC-NG/API/class_screencaptureparameters.dita +++ b/dita/RTC-NG/API/class_screencaptureparameters.dita @@ -6,8 +6,8 @@

      - - __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject + + __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject @property (assign, nonatomic) CGSize dimensions; @property (assign, nonatomic) NSInteger frameRate; @property (assign, nonatomic) NSInteger bitrate; @@ -19,7 +19,7 @@ @property(assign, nonatomic) NSUInteger highLightWidth; @end - struct ScreenCaptureParameters { + struct ScreenCaptureParameters { VideoDimensions dimensions; int frameRate; int bitrate; @@ -45,7 +45,7 @@ : dimensions(width, height), frameRate(f), bitrate(b), captureMouseCursor(cur), windowFocus(fcs), excludeWindowList(ex), excludeWindowCount(cnt), highLightWidth(0), highLightColor(0), enableHighLight(false) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenCaptureParameters { GENERATED_BODY() @@ -71,7 +71,7 @@ struct FScreenCaptureParameters UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") bool enableHighLight = false; }; - export class ScreenCaptureParameters { + export class ScreenCaptureParameters { dimensions?: VideoDimensions; frameRate?: number; bitrate?: number; @@ -83,7 +83,7 @@ struct FScreenCaptureParameters highLightColor?: number; enableHighLight?: boolean; } - public class ScreenCaptureParameters + public class ScreenCaptureParameters { public ScreenCaptureParameters() { @@ -180,7 +180,7 @@ struct FScreenCaptureParameters public uint highLightColor { set; get; } public bool enableHighLight { set; get; } }; - export class ScreenCaptureParameters { + export class ScreenCaptureParameters { dimensions?: VideoDimensions; @@ -202,7 +202,7 @@ struct FScreenCaptureParameters enableHighLight?: boolean; } - class ScreenCaptureParameters { + class ScreenCaptureParameters { const ScreenCaptureParameters( {this.dimensions, this.frameRate, @@ -249,94 +249,116 @@ struct FScreenCaptureParameters _$ScreenCaptureParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureParametersToJson(this); -} -

      +} +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - 屏幕共享流的视频属性只需通过 设置,与 无关。 + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + 屏幕共享流的视频属性只需通过 设置,与 无关。 - - dimensions - -

      屏幕共享流的视频编码分辨率。详见 。默认值为 1920 × 1080,即 2073600 像素。该像素值为计费标准。

      -

      当共享的屏幕分辨率宽高比与该值设置不一致时,SDK 按如下策略进行编码。假设 dimensions 设为 1920 × 1080: -

        -
      • 如果屏幕分辨率小于 dimensions,如 1000 × 1000,SDK 直接按 1000 × 1000 进行编码。
      • -
      • 如果屏幕分辨率大于 dimensions,如 2000 × 1500,SDK 按屏幕分辨率的宽高比,即 4:3,取 dimensions 以内的最大分辨率进行编码,即 1440 × 1080。
      • + + dimensions + +

        屏幕共享流的视频编码分辨率。详见 。默认值为 1920 × 1080,即 2073600 + 像素。该像素值为计费标准。

        +

        当共享的屏幕分辨率宽高比与该值设置不一致时,SDK 按如下策略进行编码。假设 dimensions 设为 + 1920 × 1080:

          +
        • 如果屏幕分辨率小于 dimensions,如 1000 × 1000,SDK 直接按 + 1000 × 1000 进行编码。
        • +
        • 如果屏幕分辨率大于 dimensions,如 2000 × 1500,SDK + 按屏幕分辨率的宽高比,即 4:3,取 dimensions + 以内的最大分辨率进行编码,即 1440 × 1080。
        - 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。 -
          -
        • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
        • -
        • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则: -
            -
          • 当采集分辨率大于 1920 × 1080 时,建议编码分辨率不低于 1920 × 1080。
          • -
          • 当采集分辨率低于 1920 × 1080 时,建议编码分辨率不低于 1280 × 720。
          • -
        • -
        -

        -
        -
        - - frameRate - 共享视频的帧率。屏幕共享流的视频编码帧率。在 Windows 和 macOS 平台上,表示屏幕共享流的视频编码帧率。单位为 fps;默认值为 5,建议不要超过 15。 - - - bitrate - 共享视频的码率。屏幕共享流的视频编码码率。在 Windows 和 macOS 平台上,表示屏幕共享流的视频编码码率。单位为 Kbps;默认值为 0,表示 SDK 根据当前共享屏幕的分辨率计算出一个合理的值。 - - - captureMouseCursor - -

        是否采集鼠标用于屏幕共享: -

          -
        • :(默认)采集鼠标。
        • -
        • : 不采集鼠标。
        • -

        - 受 macOS 系统限制,在共享屏幕时将该参数设置为 无效(共享窗口时无影响)。 -
        -
        - - windowFocus - -

        调用 方法共享窗口时,是否将该窗口前置: -

          -
        • : 前置窗口。
        • -
        • :(默认)不前置窗口。
        • -

        -
        -
        - - excludeWindowList - 待屏蔽窗口的 ID 列表。调用 开启屏幕共享时,你可以通过该参数屏蔽指定的窗口。你可以在调用 更新屏幕共享的配置参数时,通过该参数动态屏蔽指定的窗口。 - - - highLighted - enableHighLight - (仅适用于 macOS 和 Windows)是否对共享的窗口或屏幕进行描边: -
          -
        • : 描边。
        • -
        • : (默认)不描边。
        • -
        - 当你在共享窗口或屏幕的部分区域时,如果将该参数设置为 ,SDK 会对整个窗口或屏幕进行描边。
        -
        - - highLightColor - (仅适用于 macOS 和 Windows)
          -
        • 在 Windows 平台上,指描边的 ARGB 颜色。默认值为 0xFF8CBF26。
        • -
        • 在 macOS 平台上,COLOR_CLASSNSColor
        -
        - - highLightWidth - (仅适用于 macOS 和 Windows)描边的宽度 (px)。默认值为 5,取值范围为 (0,50]。 - 该参数仅在 highLighted 设置为 时生效。 - - - excludeWindowCount - 待屏蔽窗口的数量。 - 在 Windows 平台上,该参数最大值不超过 24,如果超过该值,则屏蔽窗口功能失效。 - - -
      + 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。
        +
      • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
      • +
      • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则:
          +
        • 当采集分辨率大于 1920 × 1080 时,建议编码分辨率不低于 1920 × 1080。
        • +
        • 当采集分辨率低于 1920 × 1080 时,建议编码分辨率不低于 1280 × 720。
        • +
      • +
      +

      + + + + frameRate + 共享视频的帧率。屏幕共享流的视频编码帧率。在 Windows 和 macOS + 平台上,表示屏幕共享流的视频编码帧率。单位为 fps;默认值为 5,建议不要超过 15。 + + + bitrate + 共享视频的码率。屏幕共享流的视频编码码率。在 Windows 和 + macOS 平台上,表示屏幕共享流的视频编码码率。单位为 Kbps;默认值为 0,表示 SDK + 根据当前共享屏幕的分辨率计算出一个合理的值。 + + + captureMouseCursor + +

      是否采集鼠标用于屏幕共享:

        +
      • :(默认)采集鼠标。
      • +
      • : 不采集鼠标。
      • +

      + 受 macOS 系统限制,在共享屏幕时将该参数设置为 + 无效(共享窗口时无影响)。 +
      +
      + + windowFocus + +

      调用 方法共享窗口时,是否将该窗口前置:

        +
      • : 前置窗口。
      • +
      • :(默认)不前置窗口。
      • +

      +
      +
      + + excludeWindowList + 待屏蔽窗口的 ID 列表。调用 + 开启屏幕共享时,你可以通过该参数屏蔽指定的窗口。你可以在调用 更新屏幕共享的配置参数时,通过该参数动态屏蔽指定的窗口。 + + + highLighted + enableHighLight + (仅适用于 macOS 和 + Windows)是否对共享的窗口或屏幕进行描边: +
        +
      • : 描边。
      • +
      • : (默认)不描边。
      • +
      + 当你在共享窗口或屏幕的部分区域时,如果将该参数设置为 ,SDK + 会对整个窗口或屏幕进行描边。
      +
      + + highLightColor + (仅适用于 macOS 和 Windows)
        +
      • 在 Windows 平台上,指描边的 + ARGB 颜色。默认值为 0xFF8CBF26。
      • +
      • 在 macOS + 平台上,COLOR_CLASS 指 + NSColor
      • +
      +
      + + highLightWidth + (仅适用于 macOS 和 Windows)描边的宽度 + (px)。默认值为 5,取值范围为 (0,50]。 + 该参数仅在 highLighted 设置为 时生效。 + + + excludeWindowCount + 待屏蔽窗口的数量。 在 Windows 平台上,该参数最大值不超过 24,如果超过该值,则屏蔽窗口功能失效。 + + + +
      diff --git a/dita/RTC-NG/API/class_screencaptureparameters2.dita b/dita/RTC-NG/API/class_screencaptureparameters2.dita index e63e93c3811..5c14e4f409f 100644 --- a/dita/RTC-NG/API/class_screencaptureparameters2.dita +++ b/dita/RTC-NG/API/class_screencaptureparameters2.dita @@ -6,7 +6,7 @@

      - public class ScreenCaptureParameters { + public class ScreenCaptureParameters { public static class VideoCaptureParameters { public int bitrate = 0; public int framerate = 15; @@ -93,21 +93,21 @@ } } - __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters2 : NSObject + __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters2 : NSObject @property(assign, nonatomic) BOOL captureAudio; @property(strong, nonatomic) AgoraScreenAudioParameters* _Nonnull audioParams; @property(assign, nonatomic) BOOL captureVideo; @property(strong, nonatomic) AgoraScreenVideoParameters* _Nonnull videoParams; @end - struct ScreenCaptureParameters2 { + struct ScreenCaptureParameters2 { bool captureAudio = false; ScreenAudioParameters audioParams; bool captureVideo = true; ScreenVideoParameters videoParams; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenCaptureParameters2 { GENERATED_BODY() @@ -121,13 +121,13 @@ struct FScreenCaptureParameters2 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters2") FScreenVideoParameters videoParams; }; - export class ScreenCaptureParameters2 { + export class ScreenCaptureParameters2 { captureAudio?: boolean; audioParams?: ScreenAudioParameters captureVideo?: boolean; videoParams?: ScreenVideoParameters; } - public class ScreenCaptureParameters2 + public class ScreenCaptureParameters2 { public bool captureAudio { set; get; } public ScreenAudioParameters audioParams { set; get; } @@ -142,14 +142,14 @@ struct FScreenCaptureParameters2 videoParams = new ScreenVideoParameters(); } }; - export class ScreenCaptureParameters2 { + export class ScreenCaptureParameters2 { captureAudio?: boolean; audioParams?: ScreenAudioParameters; captureVideo?: boolean; videoParams?: ScreenVideoParameters; } - class ScreenCaptureParameters2 { + class ScreenCaptureParameters2 { const ScreenCaptureParameters2( {this.captureAudio, @@ -173,58 +173,64 @@ struct FScreenCaptureParameters2 _$ScreenCaptureParameters2FromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureParameters2ToJson(this); -} -

      +} +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - captureAudio - 屏幕共享时是否采集系统音频: -
        -
      • : 采集系统音频。
      • -
      • : (默认)不采集系统音频。
      • + + captureAudio + 屏幕共享时是否采集系统音频:
          +
        • : 采集系统音频。
        • +
        • : (默认)不采集系统音频。
          -
        • 受系统限制,采集系统音频仅适用于 Android API 级别为 29 及以上,即 Android 10 及以上。
        • -
        • 为提高屏幕共享时采集系统音频的成功率,请确保你已调用 方法并设置音频场景为
        -
        - +
      • 受系统限制,采集系统音频仅适用于 Android API 级别为 + 29 及以上,即 Android 10 及以上。
      • +
      • 为提高屏幕共享时采集系统音频的成功率,请确保你已调用 方法并设置音频场景为 +
      • +
      +
      + audioParams - 共享屏幕流的音频配置。详见 。 - 该参数仅在 captureAudio 时生效。 + 共享屏幕流的音频配置。详见 该参数仅在 + captureAudio + 时生效。 - - captureVideo - 屏幕共享时是否采集屏幕: -
        -
      • :(默认)采集屏幕。
      • -
      • : 不采集屏幕。
      • + + captureVideo + 屏幕共享时是否采集屏幕:
          +
        • :(默认)采集屏幕。
        • +
        • : 不采集屏幕。
        - 受系统限制,采集屏幕仅适用于 Android API 级别为 21 及以上,即 Android 5 及以上。
        -
        - + 受系统限制,采集屏幕仅适用于 Android API 级别为 21 + 及以上,即 Android 5 及以上。 + + videoParams - 共享屏幕流的视频编码配置。详见 。 - 该参数仅在 captureVideo 时生效。 + 共享屏幕流的视频编码配置。详见 该参数仅在 + captureVideo + 时生效。 + + +
      +
      + + + + + 共享屏幕流的视频编码配置。详见 -
      -
      - - - - - 共享屏幕流的视频编码配置。详见 - - - - 共享屏幕流的音频编码配置。详见 - - -
      + + + 共享屏幕流的音频编码配置。详见 + + +
      diff --git a/dita/RTC-NG/API/class_screencapturesourceinfo.dita b/dita/RTC-NG/API/class_screencapturesourceinfo.dita index f2a44dba46b..ae8d24a825d 100644 --- a/dita/RTC-NG/API/class_screencapturesourceinfo.dita +++ b/dita/RTC-NG/API/class_screencapturesourceinfo.dita @@ -2,12 +2,13 @@ <ph keyref="ScreenCaptureSourceInfo"/> - 可共享窗口或屏幕的信息。 中返回。 + 可共享窗口或屏幕的信息。 中返回。

      - - __attribute__((visibility("default"))) @interface AgoraScreenCaptureSourceInfo : NSObject + + __attribute__((visibility("default"))) @interface AgoraScreenCaptureSourceInfo : NSObject @property(assign, nonatomic) AgoraScreenCaptureSourceType type; @property(assign, nonatomic) CGWindowID sourceId; @property(copy, nonatomic) NSString* _Nonnull sourceName; @@ -20,7 +21,7 @@ @end - struct ScreenCaptureSourceInfo { + struct ScreenCaptureSourceInfo { ScreenCaptureSourceType type; view_t sourceId; const char* sourceName; @@ -39,7 +40,7 @@ ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {} #endif }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenCaptureSourceInfo { GENERATED_BODY() @@ -62,7 +63,7 @@ struct FScreenCaptureSourceInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") bool isOccluded; }; - export class ScreenCaptureSourceInfo { + export class ScreenCaptureSourceInfo { type?: ScreenCaptureSourceType; @@ -86,7 +87,7 @@ struct FScreenCaptureSourceInfo { sourceDisplayId?: any; } - public class ScreenCaptureSourceInfo + public class ScreenCaptureSourceInfo { public ScreenCaptureSourceType type; public view_t sourceId; @@ -99,8 +100,8 @@ struct FScreenCaptureSourceInfo { public Rectangle position; public view_t sourceDisplayId; }; - - class ScreenCaptureSourceInfo { + + class ScreenCaptureSourceInfo { const ScreenCaptureSourceInfo( {this.type, this.sourceId, @@ -151,66 +152,71 @@ struct FScreenCaptureSourceInfo { _$ScreenCaptureSourceInfoFromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureSourceInfoToJson(this); -} -

      +} +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - 共享目标的类型。详见 - - - sourceId - 对于窗口,表示窗口 ID(Window ID);对于屏幕,表示屏幕 ID(Display ID)。 - - - sourceName - 窗口或屏幕的名称。UTF-8 编码。 - - - thumbImage - 缩略图的图像内容。详见 - - - iconImage - 图标的图像内容。详见 - - - processPath - 窗口所属的进程。UTF-8 编码。 - - - sourceTitle - 窗口标题。UTF-8 编码。 - - - primaryMonitor - 屏幕是否为主显示屏: - -
        -
      • : 屏幕为主显示屏。
      • -
      • : 屏幕不是主显示屏。
      • -
      -
      - - position - 窗口相对于整个屏幕空间(包含所有可共享屏幕)的位置。详见 详见 - - - minimizeWindow - (仅适用于 Windows) 窗口是否已最小化: - -
        -
      • : 窗口已最小化。
      • -
      • : 窗口未最小化。
      • -
      -
      - - sourceDisplayId - (仅适用于 Windows) 窗口所在的屏幕 ID。如果窗口为跨屏幕显示,则表示与该窗口相交面积最大的屏幕 ID。如果窗口位于可见屏幕之外,则该成员的值为 -2。 - -
      + + type + 共享目标的类型。详见 + + + sourceId + 对于窗口,表示窗口 ID(Window ID);对于屏幕,表示屏幕 ID(Display ID)。 + + + sourceName + 窗口或屏幕的名称。UTF-8 编码。 + + + thumbImage + 缩略图的图像内容。详见 + + + iconImage + 图标的图像内容。详见 + + + processPath + 窗口所属的进程。UTF-8 编码。 + + + sourceTitle + 窗口标题。UTF-8 编码。 + + + primaryMonitor + 屏幕是否为主显示屏:
        +
      • : 屏幕为主显示屏。
      • +
      • : 屏幕不是主显示屏。
      • +
      +
      + + position + 窗口相对于整个屏幕空间(包含所有可共享屏幕)的位置。详见 详见 + + + minimizeWindow + (仅适用于 Windows) 窗口是否已最小化:
        +
      • : 窗口已最小化。
      • +
      • : 窗口未最小化。
      • +
      +
      + + sourceDisplayId + (仅适用于 Windows) 窗口所在的屏幕 ID。如果窗口为跨屏幕显示,则表示与该窗口相交面积最大的屏幕 + ID。如果窗口位于可见屏幕之外,则该成员的值为 -2。 + + +
      diff --git a/dita/RTC-NG/API/class_screensymbol.dita b/dita/RTC-NG/API/class_screensymbol.dita index 0678f500e6a..a01d0bc6161 100644 --- a/dita/RTC-NG/API/class_screensymbol.dita +++ b/dita/RTC-NG/API/class_screensymbol.dita @@ -6,22 +6,20 @@

      - - - - - - - -

      + + + + + + + +

      -

      标识屏幕的 Display ID(macOS 系统)或 ScreenRect(Windows 系统)。可以设为如下值: - -

        -
      • number: macOS 上的 Display ID。
      • -
      • : Windows 上的 Screen Rect。
      • -

      +

      标识屏幕的 Display ID(macOS 系统)或 ScreenRect(Windows 系统)。可以设为如下值:

        +
      • number: macOS 上的 Display ID。
      • +
      • : Windows 上的 Screen Rect。
      • +

      diff --git a/dita/RTC-NG/API/class_screenvideoparameters.dita b/dita/RTC-NG/API/class_screenvideoparameters.dita index 0bc63c59196..3972d12494b 100644 --- a/dita/RTC-NG/API/class_screenvideoparameters.dita +++ b/dita/RTC-NG/API/class_screenvideoparameters.dita @@ -6,7 +6,7 @@

      - public static class VideoCaptureParameters { + public static class VideoCaptureParameters { public int bitrate = 0; public int framerate = 15; public int width = 1280; @@ -46,7 +46,7 @@ } } - __attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject + __attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) AgoraVideoFrameRate frameRate; @@ -55,7 +55,7 @@ @end - struct ScreenVideoParameters { + struct ScreenVideoParameters { VideoDimensions dimensions; int frameRate = 15; int bitrate; @@ -64,7 +64,7 @@ ScreenVideoParameters() : dimensions(1280, 720) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenVideoParameters { GENERATED_BODY() @@ -78,7 +78,7 @@ struct FScreenVideoParameters { EVIDEO_CONTENT_HINT contentHint = EVIDEO_CONTENT_HINT::CONTENT_HINT_MOTION; }; - export class ScreenVideoParameters { + export class ScreenVideoParameters { dimensions?: VideoDimensions; @@ -88,7 +88,7 @@ struct FScreenVideoParameters { contentHint?: VideoContentHint; } - public class ScreenVideoParameters + public class ScreenVideoParameters { public VideoDimensions dimensions { set; get; } @@ -104,7 +104,7 @@ struct FScreenVideoParameters { frameRate = 15; } }; - export class ScreenVideoParameters { + export class ScreenVideoParameters { dimensions?: VideoDimensions; @@ -114,7 +114,7 @@ struct FScreenVideoParameters { contentHint?: VideoContentHint; } - class ScreenVideoParameters { + class ScreenVideoParameters { const ScreenVideoParameters( {this.dimensions, this.frameRate, this.bitrate, this.contentHint}); @@ -129,106 +129,128 @@ struct FScreenVideoParameters { factory ScreenVideoParameters.fromJson(Map<String, dynamic> json) => _$ScreenVideoParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenVideoParametersToJson(this); -} -

      +} +

      -

      仅适用于 captureVideo 的场景。

      +

      仅适用于 captureVideo 的场景。

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - 视频编码的分辨率。默认值为 1280 × 720。 - 如果 dimensions 宽高比与屏幕像素值的宽高比不一致,SDK 会按照如下规则调节视频编码分辨率,以 dimensions 是 1280 × 720 为例: -
        -
      • 当屏幕宽和高的像素值均小于 dimensions 时,例如屏幕像素值为 640 × 360,SDK 以 640 × 360 编码。
      • -
      • 当屏幕宽或高的像素值大于 dimensions 时,例如屏幕像素值为 2000 × 1500,SDK 以屏幕像素值的宽高比,即 4:3,取 dimensions 内最大分辨率进行编码,即 960 × 720。
      • -
      - -
        -
      • 屏幕共享流的计费以 dimensions 的值为准:当你未传值时,以 1280 × 720 计费;当你传值时,以你传入的值计费。详细的计费规则请参考
      • -
      • 该值不代表最终视频输出的方向。详见 了解设置视频方向。
      • -
      • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
      • -
      - 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。 -
        -
      • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
      • -
      • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则: -
          -
        • 当采集分辨率大于 1920 × 1080 时,建议编码分辨率不低于 1920 × 1080。
        • -
        • 当采集分辨率低于 1920 × 1080 时,建议编码分辨率不低于 1280 × 720。
        • -
      • -
      + + dimensions + 视频编码的分辨率。默认值为 1280 × 720。 + 如果 dimensions 宽高比与屏幕像素值的宽高比不一致,SDK 会按照如下规则调节视频编码分辨率,以 + dimensions 是 1280 × 720 为例:
        +
      • 当屏幕宽和高的像素值均小于 dimensions 时,例如屏幕像素值为 640 × + 360,SDK 以 640 × 360 编码。
      • +
      • 当屏幕宽或高的像素值大于 dimensions 时,例如屏幕像素值为 2000 × + 1500,SDK 以屏幕像素值的宽高比,即 4:3,取 dimensions + 内最大分辨率进行编码,即 960 × 720。
      • +
      + +
        +
      • 屏幕共享流的计费以 dimensions 的值为准:当你未传值时,以 1280 × + 720 计费;当你传值时,以你传入的值计费。详细的计费规则请参考
      • +
      • 该值不代表最终视频输出的方向。详见 + 了解设置视频方向。
      • +
      • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P + 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
      • +
      +
      + 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。
        +
      • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
      • +
      • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则:
          +
        • 当采集分辨率大于 1920 × 1080 时,建议编码分辨率不低于 1920 × 1080。
        • +
        • 当采集分辨率低于 1920 × 1080 时,建议编码分辨率不低于 1280 × 720。
        • +
      • +
      -
      - - width - 视频编码分辨率中的宽 (px)。默认值为 1280。如果 width 和 height 的宽高比与屏幕像素值的宽高比不一致,SDK 会按照如下规则调节视频编码分辨率, 以 width × height 是 1280 × 720 为例: -
        -
      • 当屏幕宽和高的像素值均小于 width 和 height 时,例如屏幕像素值为 640 × 360,SDK 以 640 × 360 编码。
      • -
      • 当屏幕宽或高的像素值大于 width 或 height 时,例如屏幕像素值为 2000 × 1500,SDK 以屏幕像素值的宽高比,即 4:3,取 width × height 内最大分辨率进行编码,即 960 × 720。
      • -
      - -
        -
      • 屏幕共享流的计费以 width 和 height 的值为准:当你未传值时,以 1280 × 720 计费;当你传值时,以你传入的值计费。详细的计费规则请参考
      • -
      • 该值不代表最终视频输出的方向。请查阅 了解设置视频方向。
      • -
      • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
      • -
      - 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。 -
        -
      • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
      • -
      • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则: -
          -
        • 当采集分辨率大于 1920 × 1080 时,建议编码分辨率不低于 1920 × 1080。
        • -
        • 当采集分辨率低于 1920 × 1080 时,建议编码分辨率不低于 1280 × 720。
        • -
      • -
      +
      + + width + 视频编码分辨率中的宽 (px)。默认值为 1280。如果 width 和 height 的宽高比与屏幕像素值的宽高比不一致,SDK + 会按照如下规则调节视频编码分辨率, 以 width × height 是 1280 × 720 为例:
        +
      • 当屏幕宽和高的像素值均小于 width 和 height 时,例如屏幕像素值为 640 × 360,SDK 以 640 × 360 + 编码。
      • +
      • 当屏幕宽或高的像素值大于 width 或 height 时,例如屏幕像素值为 2000 × 1500,SDK 以屏幕像素值的宽高比,即 + 4:3,取 width × height 内最大分辨率进行编码,即 960 × 720。
      • +
      + +
        +
      • 屏幕共享流的计费以 width 和 height 的值为准:当你未传值时,以 1280 × 720 + 计费;当你传值时,以你传入的值计费。详细的计费规则请参考
      • +
      • 该值不代表最终视频输出的方向。请查阅 + 了解设置视频方向。
      • +
      • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P + 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
      • +
      +
      + 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。
        +
      • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
      • +
      • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则:
          +
        • 当采集分辨率大于 1920 × 1080 时,建议编码分辨率不低于 1920 × 1080。
        • +
        • 当采集分辨率低于 1920 × 1080 时,建议编码分辨率不低于 1280 × 720。
        • +
      • +
      -
      - - height - 视频编码分辨率中的高 (px)。默认值为 720。如果 width 和 height 的宽高比与屏幕像素值的宽高比不一致,SDK 会按照如下规则调节视频编码分辨率,以 width × height 是 1280 × 720 为例: -
        -
      • 当屏幕宽和高的像素值均小于 width 和 height 时,例如屏幕像素值为 640 × 360,SDK 以 640 × 360 编码。
      • -
      • 当屏幕宽或高的像素值大于 width 或 height 时,例如屏幕像素值为 2000 × 1500,SDK 以屏幕像素值的宽高比,即 4:3,取 width × height 内最大分辨率进行编码,即 960 × 720。
      • -
      - -
        -
      • 屏幕共享流的计费以 width 和 height 的值为准:当你未传值时,以 1280 × 720 计费;当你传值时,以你传入的值计费。详细的计费规则请参考
      • -
      • 该值不代表最终视频输出的方向。请查阅 了解设置视频方向。
      • -
      • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
      • -
      - 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。 -
        -
      • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
      • -
      • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则: -
          -
        • 当采集分辨率大于 1920 × 1080 时,建议编码分辨率不低于 1920 × 1080。
        • -
        • 当采集分辨率低于 1920 × 1080 时,建议编码分辨率不低于 1280 × 720。
        • -
      • -
      +
      + + height + 视频编码分辨率中的高 (px)。默认值为 720。如果 width 和 height 的宽高比与屏幕像素值的宽高比不一致,SDK + 会按照如下规则调节视频编码分辨率,以 width × height 是 1280 × 720 为例:
        +
      • 当屏幕宽和高的像素值均小于 width 和 height 时,例如屏幕像素值为 640 × 360,SDK 以 640 × 360 + 编码。
      • +
      • 当屏幕宽或高的像素值大于 width 或 height 时,例如屏幕像素值为 2000 × 1500,SDK 以屏幕像素值的宽高比,即 + 4:3,取 width × height 内最大分辨率进行编码,即 960 × 720。
      • +
      + +
        +
      • 屏幕共享流的计费以 width 和 height 的值为准:当你未传值时,以 1280 × 720 + 计费;当你传值时,以你传入的值计费。详细的计费规则请参考
      • +
      • 该值不代表最终视频输出的方向。请查阅 + 了解设置视频方向。
      • +
      • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P + 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
      • +
      +
      + 在共享文档的场景()下设置编码分辨率时,选择以下两种方式其中之一。
        +
      • 如果你需要最优的画质,建议将编码分辨率设置为与采集分辨率相同。
      • +
      • 如果你希望在画质、带宽和系统性能之间达到相对平衡,则:
          +
        • 当采集分辨率大于 1920 × 1080 时,建议编码分辨率不低于 1920 × 1080。
        • +
        • 当采集分辨率低于 1920 × 1080 时,建议编码分辨率不低于 1280 × 720。
        • +
      • +
      -
      - - framerate - frameRate - 视频编码帧率 (fps)。默认值为 15。 - - - bitrate - 视频编码码率 (Kbps)。 - - - contentHint - 屏幕共享视频的内容类型。详见 -
        -
      • (0):(默认)无指定的内容类型。
      • -
      • (1):内容类型为动画。当共享的内容是视频、电影或视频游戏时,推荐选择该内容类型。
      • -
      • (2):内容类型为细节。当共享的内容是图片或文字时,推荐选择该内容类型。
      • -
      -
      -
      + + + framerate + frameRate + 视频编码帧率 (fps)。默认值为 15。 + + + bitrate + 视频编码码率 (Kbps)。 + + + contentHint + 屏幕共享视频的内容类型。详见 +
        +
      • (0):(默认)无指定的内容类型。
      • +
      • (1):内容类型为动画。当共享的内容是视频、电影或视频游戏时,推荐选择该内容类型。
      • +
      • (2):内容类型为细节。当共享的内容是图片或文字时,推荐选择该内容类型。
      • +
      +
      + +
      diff --git a/dita/RTC-NG/API/class_sdkbuildinfo.dita b/dita/RTC-NG/API/class_sdkbuildinfo.dita index adf4b2a5dbe..6717d9361e7 100644 --- a/dita/RTC-NG/API/class_sdkbuildinfo.dita +++ b/dita/RTC-NG/API/class_sdkbuildinfo.dita @@ -1,24 +1,24 @@ - <ph keyref="SDKBuildInfo" /> + <ph keyref="SDKBuildInfo"/> SDK 版本信息。

      - - - - export class SDKBuildInfo { + + + + export class SDKBuildInfo { build?: number; version?: string; } - - export class SDKBuildInfo { + + export class SDKBuildInfo { build?: number; version?: string; } - class SDKBuildInfo { + class SDKBuildInfo { const SDKBuildInfo({this.build, this.version}); @JsonKey(name: 'build') @@ -28,21 +28,23 @@ factory SDKBuildInfo.fromJson(Map<String, dynamic> json) => _$SDKBuildInfoFromJson(json); Map<String, dynamic> toJson() => _$SDKBuildInfoToJson(this); -} -

      +} +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - build - SDK 编译号。 - - - version - SDK 版本号。格式为字符串,如 4.0.0。 - SDK 版本号。格式为字符串,如 6.0.0。 - -
      + + build + SDK 编译号。 + + + version + SDK 版本号。格式为字符串,如 4.0.0。 + SDK 版本号。格式为字符串,如 6.0.0。 + + +
      diff --git a/dita/RTC-NG/API/class_segmentationproperty.dita b/dita/RTC-NG/API/class_segmentationproperty.dita index 5a5c54c0fb7..7c117a8f9b5 100644 --- a/dita/RTC-NG/API/class_segmentationproperty.dita +++ b/dita/RTC-NG/API/class_segmentationproperty.dita @@ -1,12 +1,12 @@ - <ph keyref="SegmentationProperty" /> + <ph keyref="SegmentationProperty"/> 背景图像的处理属性。

      - public class SegmentationProperty { + public class SegmentationProperty { public static final int SEG_MODEL_AI = 1; public static final int SEG_MODEL_GREEN = 2; public int modelType; @@ -21,11 +21,11 @@ this.greenCapacity = 0.5f; } } - __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject + __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject @property(nonatomic, assign) SegModelType modelType; @property(nonatomic, assign) float greenCapacity; @end - struct SegmentationProperty { + struct SegmentationProperty { enum SEG_MODEL_TYPE { SEG_MODEL_AI = 1, SEG_MODEL_GREEN = 2 @@ -35,7 +35,7 @@ SegmentationProperty() : modelType(SEG_MODEL_AI), greenCapacity(0.5){} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FSegmentationProperty { GENERATED_BODY() @@ -45,13 +45,13 @@ struct FSegmentationProperty UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SegmentationProperty") float greenCapacity = 0.5; }; - export class SegmentationProperty { + export class SegmentationProperty { modelType?: SegModelType; greenCapacity?: number; } - public class SegmentationProperty + public class SegmentationProperty { public SEG_MODEL_TYPE modelType { set; get; } public float greenCapacity { set; get; } @@ -62,13 +62,13 @@ struct FSegmentationProperty greenCapacity = 0.5f; } }; - export class SegmentationProperty { + export class SegmentationProperty { modelType?: SegModelType; greenCapacity?: number; } - class SegmentationProperty { + class SegmentationProperty { const SegmentationProperty({this.modelType, this.greenCapacity}); @@ -82,38 +82,45 @@ struct FSegmentationProperty _$SegmentationPropertyFromJson(json); Map<String, dynamic> toJson() => _$SegmentationPropertyToJson(this); -} -

      +} +

      -

      +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - modelType - 进行背景处理的算法。详见 -
        -
      • (1): (默认) 适用于所有场景下的背景处理算法。
      • -
      • (2): 仅适用于绿幕背景下的背景处理算法。
      • -
      -
      - - preferVelocity - 是否开启双边滤波功能。 -
        -
      • 0: 不开启双边滤波功能。
      • -
      • 1: (默认)开启双边滤波功能,在绿幕场景下的虚拟背景效果更好。
      • -
      - 该参数仅在 modelType 设置为 时生效。
      -
      - - greenCapacity - -

      对画面中背景颜色识别的精度范围。取值范围为 [0,1],默认值为 0.5。取值越大,代表可识别的纯色范围越大。当该参数取值过大时,人像边缘和人像范围内的纯色也会被识别。建议你根据实际效果动态调整该参数的值。

      - 该参数仅在 modelType 设置为 时生效。
      -
      -
      + + modelType + 进行背景处理的算法。详见 +
        +
      • (1): (默认) 适用于所有场景下的背景处理算法。
      • +
      • (2): 仅适用于绿幕背景下的背景处理算法。
      • +
      +
      + + preferVelocity + 是否开启双边滤波功能。
        +
      • 0: 不开启双边滤波功能。
      • +
      • 1: (默认)开启双边滤波功能,在绿幕场景下的虚拟背景效果更好。
      • +
      + 该参数仅在 modelType 设置为 时生效。
      +
      + + greenCapacity + +

      对画面中背景颜色识别的精度范围。取值范围为 [0,1],默认值为 + 0.5。取值越大,代表可识别的纯色范围越大。当该参数取值过大时,人像边缘和人像范围内的纯色也会被识别。建议你根据实际效果动态调整该参数的值。

      + 该参数仅在 modelType 设置为 时生效。 +
      +
      + +
      diff --git a/dita/RTC-NG/API/class_simulcaststreamconfig.dita b/dita/RTC-NG/API/class_simulcaststreamconfig.dita index b6c4f42d839..150ebd84530 100644 --- a/dita/RTC-NG/API/class_simulcaststreamconfig.dita +++ b/dita/RTC-NG/API/class_simulcaststreamconfig.dita @@ -1,12 +1,12 @@ - <ph keyref="SimulcastStreamConfig" /> + <ph keyref="SimulcastStreamConfig"/> 视频小流的配置。

      - public class SimulcastStreamConfig { + public class SimulcastStreamConfig { public VideoEncoderConfiguration.VideoDimensions dimensions; public int bitrate; public int framerate; @@ -24,12 +24,12 @@ this.framerate = framerate; } } - __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject @property (assign, nonatomic) int bitrate; @property (assign, nonatomic) int framerate; @property (assign, nonatomic) CGSize dimensions; @end - struct SimulcastStreamConfig { + struct SimulcastStreamConfig { VideoDimensions dimensions; @@ -41,7 +41,7 @@ return dimensions == rhs.dimensions && kBitrate == rhs.kBitrate && framerate == rhs.framerate; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FSimulcastStreamConfig { GENERATED_BODY() @@ -53,23 +53,23 @@ struct FSimulcastStreamConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SimulcastStreamConfig") int framerate; }; - export class SimulcastStreamConfig { + export class SimulcastStreamConfig { dimensions?: VideoDimensions; kBitrate?: number; framerate?: number; } - public class SimulcastStreamConfig + public class SimulcastStreamConfig { public VideoDimensions dimensions; public int kBitrate; public int framerate; }; - export class SimulcastStreamConfig { + export class SimulcastStreamConfig { dimensions?: VideoDimensions; kBitrate?: number; framerate?: number; } - class SimulcastStreamConfig { + class SimulcastStreamConfig { const SimulcastStreamConfig({this.dimensions, this.kBitrate, this.framerate}); @JsonKey(name: 'dimensions') @@ -85,21 +85,24 @@ struct FSimulcastStreamConfig

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - 视频尺寸。详见 默认值为视频大流的 50%。 - - - bitrate - kBitrate - 视频码率 (Kbps)。该参数无需设置,SDK 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。 - - - framerate - 视频帧率 (fps)。默认值为 5。 - -
      + + dimensions + 视频尺寸。详见 默认值为视频大流的 50%。 + + + bitrate + kBitrate + 视频码率 (Kbps)。该参数无需设置,SDK 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。 + + + framerate + 视频帧率 (fps)。默认值为 5。 + + +
      -
      \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_size.dita b/dita/RTC-NG/API/class_size.dita index df1cc37740d..b62cef2fa0b 100644 --- a/dita/RTC-NG/API/class_size.dita +++ b/dita/RTC-NG/API/class_size.dita @@ -1,24 +1,24 @@ - <ph keyref="SIZE" /> + <ph keyref="SIZE"/> 缩略图或图标的目标尺寸。

      - - - struct SIZE { + + + struct SIZE { int width; int height; SIZE() : width(0), height(0) {} SIZE(int ww, int hh) : width(ww), height(hh) {} }; - export class Size { + export class Size { width?: number height?: number } - public class SIZE + public class SIZE { public int width { set; get; } @@ -36,11 +36,11 @@ height = hh; } }; - export class Size { + export class Size { width?: number; height?: number; } - class SIZE { + class SIZE { const SIZE({this.width, this.height}); @JsonKey(name: 'width') @@ -49,24 +49,26 @@ final int? height; factory SIZE.fromJson(Map<String, dynamic> json) => _$SIZEFromJson(json); Map<String, dynamic> toJson() => _$SIZEToJson(this); -} -

      +} +

      - 该方法仅适用于 macOS。

      + 该方法仅适用于 macOS。

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - 缩略图或图标的目标宽度 (px)。默认值为 0。 - - - height - 缩略图或图标的目标高度 (px)。默认值为 0。 - -
      + + width + 缩略图或图标的目标宽度 (px)。默认值为 0。 + + + height + 缩略图或图标的目标高度 (px)。默认值为 0。 + + +
      -
      \ 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 0f1563a74e1..4aecfc1ed63 100644 --- a/dita/RTC-NG/API/class_snapshotconfig.dita +++ b/dita/RTC-NG/API/class_snapshotconfig.dita @@ -1,16 +1,16 @@ - <ph keyref="SnapShotConfig" /> + <ph keyref="SnapShotConfig"/> 视频截图设置。

      - - - - - public class SnapShotConfig + + + + + public class SnapShotConfig { public SnapShotConfig() { @@ -23,12 +23,12 @@ public uint uid; public string filePath; } - export class SnapShotConfig { + export class SnapShotConfig { channel?: string; uid?: number; filePath?: string; } - class SnapShotConfig { + class SnapShotConfig { const SnapShotConfig({this.channel, this.uid, this.filePath}); @JsonKey(name: 'channel') @@ -40,34 +40,35 @@ factory SnapShotConfig.fromJson(Map<String, dynamic> json) => _$SnapShotConfigFromJson(json); Map<String, dynamic> toJson() => _$SnapShotConfigToJson(this); -} -

      +} +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - channel - 频道名。 - - - uid - 用户 ID。如果要对本地用户的视频截图,uid 设为 0。 - - - filePath - -

      截图的本地保存路径,需精确到文件名及格式, 例如: - - -

        -
      • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
      • -
      • iOS: /App Sandbox/Library/Caches/example.jpg
      • -
      • macOS: ~/Library/Logs/example.jpg
      • -
      • Android: /storage/emulated/0/Android/data/<package name>/files/example.jpg
      • -
      请确保目录存在且可写。

      -
      -
      -
      + + channel + 频道名。 + + + uid + 用户 ID。如果要对本地用户的视频截图,uid 设为 0。 + + + filePath + +

      截图的本地保存路径,需精确到文件名及格式, 例如:

        +
      • Windows: + C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
      • +
      • iOS: /App Sandbox/Library/Caches/example.jpg
      • +
      • macOS: ~/Library/Logs/example.jpg
      • +
      • Android: /storage/emulated/0/Android/data/<package + name>/files/example.jpg
      • +
      请确保目录存在且可写。

      +
      +
      + +
      -
      \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_spatialaudioparams.dita b/dita/RTC-NG/API/class_spatialaudioparams.dita index f6e01a9b249..8670ac37c54 100644 --- a/dita/RTC-NG/API/class_spatialaudioparams.dita +++ b/dita/RTC-NG/API/class_spatialaudioparams.dita @@ -6,7 +6,7 @@

      - public class SpatialAudioParams { + public class SpatialAudioParams { public Double speaker_azimuth; public Double speaker_elevation; public Double speaker_distance; @@ -48,7 +48,7 @@ return enable_doppler; } } - __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject + __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject @property(assign, nonatomic) double speaker_azimuth; @property(assign, nonatomic) double speaker_elevation; @property(assign, nonatomic) double speaker_distance; @@ -58,7 +58,7 @@ @property(assign, nonatomic) double speaker_attenuation; @property(assign, nonatomic) BOOL enable_doppler; @end - struct SpatialAudioParams { + struct SpatialAudioParams { Optional<double> speaker_azimuth; Optional<double> speaker_elevation; Optional<double> speaker_distance; @@ -68,7 +68,7 @@ Optional<double> speaker_attenuation; Optional<bool> enable_doppler; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FSpatialAudioParams { GENERATED_BODY() @@ -106,7 +106,7 @@ struct FSpatialAudioParams UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SpatialAudioParams") bool enable_doppler; }; - export class SpatialAudioParams { + export class SpatialAudioParams { speaker_azimuth?: number; @@ -124,7 +124,7 @@ struct FSpatialAudioParams enable_doppler?: boolean; } - public class SpatialAudioParams : OptionalJsonParse + public class SpatialAudioParams : OptionalJsonParse { public Optional<double> speaker_azimuth = new Optional<double>(); public Optional<double> speaker_elevation = new Optional<double>(); @@ -135,7 +135,7 @@ struct FSpatialAudioParams public Optional<double> speaker_attenuation = new Optional<double>(); public Optional<bool> enable_doppler = new Optional<bool>(); } - export class SpatialAudioParams { + export class SpatialAudioParams { speaker_azimuth?: number; @@ -153,7 +153,7 @@ struct FSpatialAudioParams enable_doppler?: boolean; } - class SpatialAudioParams { + class SpatialAudioParams { const SpatialAudioParams( {this.speakerAzimuth, this.speakerElevation, @@ -193,89 +193,83 @@ struct FSpatialAudioParams Map<String, dynamic> toJson() => _$SpatialAudioParamsToJson(this); } -

      +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - speaker_azimuth - 远端用户或媒体播放器相对于本地用户的水平角。取值范围为 [0,360],单位为度。其中: - -
        -
      • 0:(默认)0 度,表示水平面的正前方。
      • -
      • 90: 90 度,表示水平面的正左方。
      • -
      • 180: 180 度,表示水平面的正后方。
      • -
      • 270: 270 度,表示水平面的正右方。
      • -
      • 360: 360 度,表示水平面的正前方。
      • -
      -
      - - speaker_elevation - 远端用户或媒体播放器相对于本地用户的俯仰角。取值范围为 [-90,90],单位为度。其中: - -
        -
      • 0:(默认)0 度,表示水平面无旋转。
      • -
      • -90: -90 度,表示水平面向下旋转 90 度。
      • -
      • 90: 90 度,表示水平面向上旋转 90 度。
      • -
      -
      - - speaker_distance - 远端用户或媒体播放器相对于本地用户的距离。取值范围为 [1,50],单位为米。默认值为 1 米。 - - - speaker_orientation - 远端用户或媒体播放器相对于本地用户的朝向。取值范围为 [0,180],单位为度。其中: - -
        -
      • 0:(默认)0 度,表示声源和听者朝向同一方向。
      • -
      • 180: 180 度,表示声源和听者面对面。
      • -
      -
      - - enable_blur - 是否开启声音模糊处理: - -
        -
      • : 开启模糊处理。
      • -
      • : (默认)关闭模糊处理。
      • -
      -
      - - enable_air_absorb - 是否开启空气衰减,即模拟声音在空气中传播的音色衰减效果:在一定的传输距离下,高频声音衰减速度快、低频声音衰减速度慢。 - -
        -
      • : (默认)开启空气衰减。需确认 speaker_attenuation 的值不为 0,否则该设置不生效。
      • -
      • : 关闭空气衰减。
      • -
      -
      - - speaker_attenuation - 远端用户或媒体播放器的声音衰减系数,取值范围为[0,1]。其中: - -
        -
      • 0:广播模式,即音量和音色均不随距离衰减,无论距离远近,本地用户听到的音量和音色都无变化。
      • -
      • (0,0.5):弱衰减模式,即音量和音色(需同时开启 enable_air_absorb )在传播过程中仅发生微弱衰减,跟真实环境相比,声音可以传播得更远。
      • -
      • 0.5:(默认)模拟音量在真实环境下的衰减,效果等同于不设置 speaker_attenuation 参数。
      • -
      • (0.5,1]:强衰减模式,即音量和音色(需同时开启 enable_air_absorb )在传播过程中发生迅速衰减。
      • -
      -
      - - enable_doppler - 是否开启多普勒音效:当声源与接收声源者之间产生相对位移时,接收方听到的音调会发生变化。 - -
        -
      • : 开启多普勒音效。
      • -
      • : (默认)关闭多普勒音效。
      • -
      - -
        -
      • 该参数适用于声源高速运动的场景(例如:赛车游戏),在普通音视频互动场景(语聊、连麦、在线 KTV)中不建议开启。
      • -
      • 开启该参数时,建议设定一个规律的周期(比如 30 ms),然后调用 方法持续更新声源和接收方的相对距离。以下因素会导致多普勒效应达不到预期或者声音出现抖动:更新距离的周期过长,更新周期不规律,网络丢包或延迟导致距离信息丢失。
      • -
      -
      -
      + + speaker_azimuth + 远端用户或媒体播放器相对于本地用户的水平角。取值范围为 [0,360],单位为度。其中:
        +
      • 0:(默认)0 度,表示水平面的正前方。
      • +
      • 90: 90 度,表示水平面的正左方。
      • +
      • 180: 180 度,表示水平面的正后方。
      • +
      • 270: 270 度,表示水平面的正右方。
      • +
      • 360: 360 度,表示水平面的正前方。
      • +
      +
      + + speaker_elevation + 远端用户或媒体播放器相对于本地用户的俯仰角。取值范围为 [-90,90],单位为度。其中:
        +
      • 0:(默认)0 度,表示水平面无旋转。
      • +
      • -90: -90 度,表示水平面向下旋转 90 度。
      • +
      • 90: 90 度,表示水平面向上旋转 90 度。
      • +
      +
      + + speaker_distance + 远端用户或媒体播放器相对于本地用户的距离。取值范围为 [1,50],单位为米。默认值为 1 米。 + + + speaker_orientation + 远端用户或媒体播放器相对于本地用户的朝向。取值范围为 [0,180],单位为度。其中:
        +
      • 0:(默认)0 度,表示声源和听者朝向同一方向。
      • +
      • 180: 180 度,表示声源和听者面对面。
      • +
      +
      + + enable_blur + 是否开启声音模糊处理:
        +
      • : 开启模糊处理。
      • +
      • : (默认)关闭模糊处理。
      • +
      +
      + + enable_air_absorb + 是否开启空气衰减,即模拟声音在空气中传播的音色衰减效果:在一定的传输距离下,高频声音衰减速度快、低频声音衰减速度慢。
        +
      • : (默认)开启空气衰减。需确认 + speaker_attenuation 的值不为 0,否则该设置不生效。
      • +
      • : 关闭空气衰减。
      • +
      +
      + + speaker_attenuation + 远端用户或媒体播放器的声音衰减系数,取值范围为[0,1]。其中:
        +
      • 0:广播模式,即音量和音色均不随距离衰减,无论距离远近,本地用户听到的音量和音色都无变化。
      • +
      • (0,0.5):弱衰减模式,即音量和音色(需同时开启 enable_air_absorb + )在传播过程中仅发生微弱衰减,跟真实环境相比,声音可以传播得更远。
      • +
      • 0.5:(默认)模拟音量在真实环境下的衰减,效果等同于不设置 speaker_attenuation 参数。
      • +
      • (0.5,1]:强衰减模式,即音量和音色(需同时开启 enable_air_absorb + )在传播过程中发生迅速衰减。
      • +
      +
      + + enable_doppler + 是否开启多普勒音效:当声源与接收声源者之间产生相对位移时,接收方听到的音调会发生变化。
        +
      • : 开启多普勒音效。
      • +
      • : (默认)关闭多普勒音效。
      • +
      + +
        +
      • 该参数适用于声源高速运动的场景(例如:赛车游戏),在普通音视频互动场景(语聊、连麦、在线 KTV)中不建议开启。
      • +
      • 开启该参数时,建议设定一个规律的周期(比如 30 ms),然后调用 + 方法持续更新声源和接收方的相对距离。以下因素会导致多普勒效应达不到预期或者声音出现抖动:更新距离的周期过长,更新周期不规律,网络丢包或延迟导致距离信息丢失。
      • +
      +
      +
      + +
      diff --git a/dita/RTC-NG/API/class_spatialaudiozone.dita b/dita/RTC-NG/API/class_spatialaudiozone.dita index b7bbe75dfb2..673fe56c25f 100644 --- a/dita/RTC-NG/API/class_spatialaudiozone.dita +++ b/dita/RTC-NG/API/class_spatialaudiozone.dita @@ -6,7 +6,7 @@

      - public class SpatialAudioZone { + public class SpatialAudioZone { public int zoneSetId; public float[] position; public float[] forward; @@ -64,7 +64,7 @@ return audioAttenuation; } } - __attribute__((visibility("default"))) @interface AgoraSpatialAudioZone : NSObject + __attribute__((visibility("default"))) @interface AgoraSpatialAudioZone : NSObject @property(assign, nonatomic) NSInteger zoneSetId; @property(nonatomic) simd_float3 position; @property(nonatomic) simd_float3 forward; @@ -75,7 +75,7 @@ @property(assign, nonatomic) float upLength; @property(assign, nonatomic) float audioAttenuation; @end - struct SpatialAudioZone { + struct SpatialAudioZone { int zoneSetId; float position[3]; float forward[3]; @@ -87,7 +87,7 @@ float audioAttenuation; SpatialAudioZone() = default; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FSpatialAudioZone { GENERATED_BODY() @@ -111,7 +111,7 @@ struct FSpatialAudioZone { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FSpatialAudioZone") float audioAttenuation; }; - export class SpatialAudioZone { + export class SpatialAudioZone { zoneSetId?: number; position?: number[]; forward?: number[]; @@ -122,7 +122,7 @@ struct FSpatialAudioZone { upLength?: number; audioAttenuation?: number; } - public class SpatialAudioZone + public class SpatialAudioZone { public int zoneSetId; public float[] position; @@ -134,7 +134,7 @@ struct FSpatialAudioZone { public float upLength; public float audioAttenuation; }; - export class SpatialAudioZone { + export class SpatialAudioZone { zoneSetId?: number; position?: number[]; forward?: number[]; @@ -145,7 +145,7 @@ struct FSpatialAudioZone { upLength?: number; audioAttenuation?: number; } - class SpatialAudioZone { + class SpatialAudioZone { const SpatialAudioZone( {this.zoneSetId, this.position, @@ -188,65 +188,68 @@ struct FSpatialAudioZone { _$SpatialAudioZoneFromJson(json); Map<String, dynamic> toJson() => _$SpatialAudioZoneToJson(this); -} -

      +} +

      - -
      自从
      -
      v4.0.1
      -
      + +
      自从
      +
      v4.0.1
      +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - zoneSetId - 隔声区域的 ID。 - - - position - 隔声区域的空间中心点。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - - - forward - position 为起点,向前的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - - - right - position 为起点,向右的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - - - up - position 为起点,向上的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - - - forwardLength - 将整个隔声区域看做一个立方体,表示向前的边长,单位为游戏引擎的单位长度。 - - - rightLength - 将整个隔声区域看做一个立方体,表示向右的边长,单位为游戏引擎的单位长度。 - - - upLength - 将整个隔声区域看做一个立方体,表示向上的边长,单位为游戏引擎的单位长度。 - - - audioAttenuation - 隔声区域以内的用户和外部用户互通时的声音衰减系数,取值范围为 [0,1]。其中: - - -
        -
      • 0:广播模式,即音量和音色均不随距离衰减,无论距离远近,本地用户听到的音量和音色都无变化。
      • -
      • (0,0.5):弱衰减模式,即音量和音色在传播过程中仅发生微弱衰减,跟真实环境相比,声音可以传播得更远。
      • -
      • 0.5:模拟音量在真实环境下的衰减,效果等同于不设置 audioAttenuation 参数。
      • -
      • (0.5,1]:强衰减模式 (默认值为 1) ,即音量和音色在传播过程中发生迅速衰减。
      • -
      -
      -
      + + zoneSetId + 隔声区域的 ID。 + + + position + 隔声区域的空间中心点。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + + forward + position 为起点,向前的单位向量。该参数是长度为 3 + 的数组,三个值依次表示前、右、上的坐标值。 + + + right + position 为起点,向右的单位向量。该参数是长度为 3 + 的数组,三个值依次表示前、右、上的坐标值。 + + + up + position 为起点,向上的单位向量。该参数是长度为 3 + 的数组,三个值依次表示前、右、上的坐标值。 + + + forwardLength + 将整个隔声区域看做一个立方体,表示向前的边长,单位为游戏引擎的单位长度。 + + + rightLength + 将整个隔声区域看做一个立方体,表示向右的边长,单位为游戏引擎的单位长度。 + + + upLength + 将整个隔声区域看做一个立方体,表示向上的边长,单位为游戏引擎的单位长度。 + + + audioAttenuation + 隔声区域以内的用户和外部用户互通时的声音衰减系数,取值范围为 [0,1]。其中:
        +
      • 0:广播模式,即音量和音色均不随距离衰减,无论距离远近,本地用户听到的音量和音色都无变化。
      • +
      • (0,0.5):弱衰减模式,即音量和音色在传播过程中仅发生微弱衰减,跟真实环境相比,声音可以传播得更远。
      • +
      • 0.5:模拟音量在真实环境下的衰减,效果等同于不设置 audioAttenuation + 参数。
      • +
      • (0.5,1]:强衰减模式 (默认值为 1) ,即音量和音色在传播过程中发生迅速衰减。
      • +
      +
      + +
      diff --git a/dita/RTC-NG/API/class_srcinfo.dita b/dita/RTC-NG/API/class_srcinfo.dita index 669fb21f9d8..51a4127c970 100644 --- a/dita/RTC-NG/API/class_srcinfo.dita +++ b/dita/RTC-NG/API/class_srcinfo.dita @@ -1,26 +1,26 @@ - <ph keyref="SrcInfo" /> + <ph keyref="SrcInfo"/> 媒体资源播放时的视频码率相关信息。

      - public class SrcInfo { + public class SrcInfo { private int bitrateInKbps; private String name; public SrcInfo() {} } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject @property(assign, nonatomic) int bitrateInKbps; @property(copy, nonatomic) NSString *_Nullable name; @end - struct SrcInfo { + struct SrcInfo { int bitrateInKbps; const char* name; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FSrcInfo { GENERATED_BODY() UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SrcInfo") @@ -29,24 +29,24 @@ struct FSrcInfo { FString name; }; - export class SrcInfo { + export class SrcInfo { bitrateInKbps?: number; name?: string; } - public class SrcInfo + public class SrcInfo { public int bitrateInKbps { set; get; } public string name { set; get; } } - export class SrcInfo { + export class SrcInfo { bitrateInKbps?: number; name?: string; } - class SrcInfo { + class SrcInfo { const SrcInfo({this.bitrateInKbps, this.name}); @JsonKey(name: 'bitrateInKbps') @@ -57,19 +57,21 @@ struct FSrcInfo { _$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 - 媒体资源播放时的视频码率(Kbps)。 - - - name - 媒体资源的名字。 - -
      + + bitrateInKbps + 媒体资源播放时的视频码率(Kbps)。 + + + name + 媒体资源的名字。 + + +
      -
      \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_thumbimagebuffer.dita b/dita/RTC-NG/API/class_thumbimagebuffer.dita index 380c3acc768..4f99b059bd4 100644 --- a/dita/RTC-NG/API/class_thumbimagebuffer.dita +++ b/dita/RTC-NG/API/class_thumbimagebuffer.dita @@ -1,21 +1,22 @@ - <ph keyref="ThumbImageBuffer" /> - 缩略图或图标的图像内容。在 中设置。 + <ph keyref="ThumbImageBuffer"/> + 缩略图或图标的图像内容。在 + 中设置。

      - - - struct 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) + USTRUCT(BlueprintType) struct FThumbImageBuffer { GENERATED_BODY() @@ -28,7 +29,7 @@ struct FThumbImageBuffer { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") int64 height; }; - export class ThumbImageBuffer { + export class ThumbImageBuffer { buffer?: Uint8Array; @@ -38,7 +39,7 @@ struct FThumbImageBuffer { height?: number; } - public class ThumbImageBuffer + public class ThumbImageBuffer { public Int64 buffer { set; get; } public uint length { set; get; } @@ -53,7 +54,7 @@ struct FThumbImageBuffer { height = 0; } }; - export class ThumbImageBuffer { + export class ThumbImageBuffer { buffer?: Uint8Array; @@ -63,7 +64,7 @@ struct FThumbImageBuffer { height?: number; } - class ThumbImageBuffer { + class ThumbImageBuffer { const ThumbImageBuffer({this.buffer, this.length, this.width, this.height}); @JsonKey(name: 'buffer', ignore: true) @@ -82,26 +83,29 @@ struct FThumbImageBuffer {

      - 图像默认为 ARGB 格式。如果你需要使用其他格式,请自行转换格式。
      + 图像默认为 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。 - - - length - 缩略图或图标的 buffer 长度,单位为字节。 - - - width - 缩略图或图标的实际宽度(px)。 - - - height - 缩略图或图标的实际高度(px)。 - -
      + + buffer + 缩略图或图标的 buffer。 + + + length + 缩略图或图标的 buffer 长度,单位为字节。 + + + width + 缩略图或图标的实际宽度(px)。 + + + height + 缩略图或图标的实际高度(px)。 + + +
      -
      \ 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 a6ae4e651fe..4f9fc43f93d 100644 --- a/dita/RTC-NG/API/class_transcodinguser.dita +++ b/dita/RTC-NG/API/class_transcodinguser.dita @@ -1,12 +1,12 @@ - <ph keyref="TranscodingUser" /> + <ph keyref="TranscodingUser"/> 参与转码合流的每个主播的设置。

      - public static class TranscodingUser { + public static class TranscodingUser { public int uid; public String userId; @@ -23,7 +23,7 @@ alpha = 1; } } - __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) CGRect rect; @@ -31,7 +31,7 @@ @property(assign, nonatomic) double alpha; @property(assign, nonatomic) NSInteger audioChannel; @end - truct TranscodingUser { + truct TranscodingUser { uid_t uid; int x; int y; @@ -50,7 +50,7 @@ alpha(1.0), audioChannel(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FTranscodingUser { GENERATED_BODY() @@ -73,7 +73,7 @@ struct FTranscodingUser { int audioChannel; }; - export class TranscodingUser { + export class TranscodingUser { uid?: number x?: number y?: number @@ -83,7 +83,7 @@ struct FTranscodingUser { alpha?: number audioChannel?: number } - public class TranscodingUser + public class TranscodingUser { public TranscodingUser() { @@ -119,7 +119,7 @@ struct FTranscodingUser { public double alpha { set; get; } public int audioChannel { set; get; } } - export class TranscodingUser { + export class TranscodingUser { uid?: number; x?: number; y?: number; @@ -129,7 +129,7 @@ struct FTranscodingUser { alpha?: number; audioChannel?: number; } - class TranscodingUser { + class TranscodingUser { const TranscodingUser( {this.uid, this.x, @@ -159,100 +159,94 @@ struct FTranscodingUser { factory TranscodingUser.fromJson(Map<String, dynamic> json) => _$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 - -

      主播的用户 ID。

      -
      -
      - - x - -

      主播视频画面在输出视频画面的 x 坐标 (px),以输出视频画面的左上角为原点。取值范围为[0,width],width 为 中设置的 width

      -
      -
      - - y - 主播视频画面在输出视频画面的 y 坐标 (px),以输出视频画面的左上角为原点。取值范围为[0,height],height 为 中设置的 height - - - width - 主播视频画面的宽 (px)。 - - - height - -

      主播视频画面的高 (px)。

      -
      -
      - - rect - 主播视频画面在输出视频画面的位置和大小,类型为 CGRect。 - - - zOrder - -

      主播视频画面的图层编号。取值范围为 [0,100]。 - - - - - - -

        -
      • 0:(默认)视频画面位于图层的最下层。
      • -
      • 100: 视频画面位于图层的最上层。
      • -

      - -
        -
      • 如果取值小于 0 或大于 100,会返回错误
      • -
      • 支持将 zOrder 设置为 0。
      • -
      -
      - - alpha - -

      主播视频画面的透明度。取值范围为 [0.0,1.0]。 - - - - - - -

        -
      • 0.0: 完全透明。
      • -
      • 1.0:(默认)完全不透明。
      • -

      -
      -
      - - audioChannel - -

      主播音频在输出音频中占用的声道。默认值为 0,取值范围为 [0,5]: - - - - - - -

        -
      • 0: (推荐)默认混音设置,最多支持双声道,与主播上行音频相关。
      • -
      • 1: 主播音频在输出音频的 FL 声道。如果主播上行音频是多声道,声网服务器会先把多声道混音成单声道。
      • -
      • 2: 主播音频在输出音频的 FC 声道。如果主播上行音频是多声道,声网服务器会先把多声道混音成单声道。
      • -
      • 3: 主播音频在输出音频的 FR 声道。如果主播上行音频是多声道,声网服务器会先把多声道混音成单声道。
      • -
      • 4: 主播音频在输出音频的 BL 声道。如果主播上行音频是多声道,声网服务器会先把多声道混音成单声道。
      • -
      • 5: 主播音频在输出音频的 BR 声道。如果主播上行音频是多声道,声网服务器会先把多声道混音成单声道。
      • -
      • 0xFF 或取值大于 5: 该主播音频静音,声网服务器移除该主播的音频。
      • -
      - 取值不为 0 时,需要使用特殊的播放器。

      -
      -
      -
      + + uid + +

      主播的用户 ID。

      +
      +
      + + x + +

      主播视频画面在输出视频画面的 x 坐标 (px),以输出视频画面的左上角为原点。取值范围为[0,width],width 为 中设置的 width

      +
      +
      + + y + 主播视频画面在输出视频画面的 y 坐标 (px),以输出视频画面的左上角为原点。取值范围为[0,height],height 为 中设置的 height + + + width + 主播视频画面的宽 (px)。 + + + height + +

      主播视频画面的高 (px)。

      +
      +
      + + rect + 主播视频画面在输出视频画面的位置和大小,类型为 CGRect。 + + + zOrder + +

      主播视频画面的图层编号。取值范围为 [0,100]。

        +
      • 0:(默认)视频画面位于图层的最下层。
      • +
      • 100: 视频画面位于图层的最上层。
      • +
      +

      + +
        +
      • 如果取值小于 0 或大于 100,会返回错误
      • +
      • 支持将 zOrder 设置为 0。
      • +
      +
      +
      +
      + + alpha + +

      主播视频画面的透明度。取值范围为 [0.0,1.0]。

        +
      • 0.0: 完全透明。
      • +
      • 1.0:(默认)完全不透明。
      • +
      +

      +
      +
      + + audioChannel + +

      主播音频在输出音频中占用的声道。默认值为 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 b6c7370edcd..0451782a105 100644 --- a/dita/RTC-NG/API/class_transcodingvideostream.dita +++ b/dita/RTC-NG/API/class_transcodingvideostream.dita @@ -6,7 +6,7 @@

      - public static class TranscodingVideoStream { + public static class TranscodingVideoStream { public Constants.VideoSourceType sourceType; public int remoteUserUid; public String imageUrl; @@ -31,7 +31,7 @@ this.mirror = false; } }; - __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject + __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject @property (assign, nonatomic) AgoraVideoSourceType sourceType; @property (assign, nonatomic) NSUInteger remoteUserUid; @property (copy, nonatomic) NSString * _Nullable imageUrl; @@ -41,7 +41,7 @@ @property(assign, nonatomic) double alpha; @property(assign, nonatomic) BOOL mirror; @end - struct TranscodingVideoStream { + struct TranscodingVideoStream { VIDEO_SOURCE_TYPE sourceType; uid_t remoteUserUid; const char* imageUrl; @@ -65,7 +65,7 @@ alpha(1.0), mirror(false) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FTranscodingVideoStream { GENERATED_BODY() @@ -91,7 +91,7 @@ struct FTranscodingVideoStream { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") bool mirror; }; - export class TranscodingVideoStream { + export class TranscodingVideoStream { sourceType?: VideoSourceType; @@ -115,7 +115,7 @@ struct FTranscodingVideoStream { mirror?: boolean; } - + public class TranscodingVideoStream { public VIDEO_SOURCE_TYPE sourceType; @@ -130,7 +130,7 @@ struct FTranscodingVideoStream { public double alpha; public bool mirror; }; - export class TranscodingVideoStream { + export class TranscodingVideoStream { sourceType?: VideoSourceType; @@ -154,7 +154,7 @@ struct FTranscodingVideoStream { mirror?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class TranscodingVideoStream { const TranscodingVideoStream( {this.sourceType, @@ -206,73 +206,75 @@ class TranscodingVideoStream { _$TranscodingVideoStreamFromJson(json); Map<String, dynamic> toJson() => _$TranscodingVideoStreamToJson(this); -}

      +} +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - sourceType - 参与本地合图的视频源类型。详见 - - - remoteUserUid - -

      远端用户 ID。

      - 请仅在参与本地合图的视频源类型为 时,使用该参数。
      -
      - - imageUrl - -

      图像的 URL。 - 请仅在参与本地合图的视频源类型为图片时,使用该参数。

      -
      -
      - - mediaPlayerId - (可选)媒体播放器 ID。当你将 sourceType 设置为 时,需要设置该参数。 - - - x - 参与本地合图的视频的左上角相对于合图画布左上角(原点)的横向位移。 - - - y - 参与本地合图的视频的左上角相对于合图画布左上角(原点)的纵向位移。 - - - width - 参与本地合图的视频的宽度 (px)。 - - - height - 参与本地合图的视频的高度 (px)。 - - - rect - 参与本地合图的视频的左上角相对于合图画布左上角(原点)的位置和视频大小,类型为 CGRect。 - - - zOrder - 参与本地合图的视频所属的图层的编号。取值范围为 [0,100]。 -
        -
      • 0:(默认值)图层在最下层。
      • -
      • 100: 图层在最上层。
      • -
      -
      - - alpha - 参与本地合图的视频的透明度。取值范围为 [0.0,1.0]。 0.0 表示透明度为完全透明,1.0 表示透明度为完全不透明。 - - - mirror - 是否对参与本地合图的的视频进行镜像: -
        -
      • : 将参与本地合图的视频进行镜像。
      • -
      • : (默认值)不将参与本地合图的视频进行镜像。
      • -
      - 该参数仅对视频源类型为摄像头的视频生效。
      -
      -
      + + sourceType + 参与本地合图的视频源类型。详见 + + + remoteUserUid + +

      远端用户 ID。

      + 请仅在参与本地合图的视频源类型为 时,使用该参数。
      +
      + + imageUrl + +

      图像的 URL。 请仅在参与本地合图的视频源类型为图片时,使用该参数。

      +
      +
      + + mediaPlayerId + (可选)媒体播放器 ID。当你将 sourceType 设置为 时,需要设置该参数。 + + + x + 参与本地合图的视频的左上角相对于合图画布左上角(原点)的横向位移。 + + + y + 参与本地合图的视频的左上角相对于合图画布左上角(原点)的纵向位移。 + + + width + 参与本地合图的视频的宽度 (px)。 + + + height + 参与本地合图的视频的高度 (px)。 + + + rect + 参与本地合图的视频的左上角相对于合图画布左上角(原点)的位置和视频大小,类型为 CGRect。 + + + zOrder + 参与本地合图的视频所属的图层的编号。取值范围为 [0,100]。
        +
      • 0:(默认值)图层在最下层。
      • +
      • 100: 图层在最上层。
      • +
      +
      + + alpha + 参与本地合图的视频的透明度。取值范围为 [0.0,1.0]。 0.0 表示透明度为完全透明,1.0 表示透明度为完全不透明。 + + + mirror + 是否对参与本地合图的的视频进行镜像:
        +
      • : 将参与本地合图的视频进行镜像。
      • +
      • : (默认值)不将参与本地合图的视频进行镜像。
      • +
      + 该参数仅对视频源类型为摄像头的视频生效。
      +
      + +
      diff --git a/dita/RTC-NG/API/class_uplinknetworkinfo.dita b/dita/RTC-NG/API/class_uplinknetworkinfo.dita index 29c5d36d735..bad45470a3d 100644 --- a/dita/RTC-NG/API/class_uplinknetworkinfo.dita +++ b/dita/RTC-NG/API/class_uplinknetworkinfo.dita @@ -1,18 +1,18 @@ - <ph keyref="UplinkNetworkInfo" /> + <ph keyref="UplinkNetworkInfo"/> 上行网络信息。

      - public static class UplinkNetworkInfo { + public static class UplinkNetworkInfo { public int video_encoder_target_bitrate_bps; }; - __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject @property(nonatomic, assign) int videoEncoderTargetBitrateBps; @end - struct UplinkNetworkInfo { + struct UplinkNetworkInfo { int video_encoder_target_bitrate_bps; UplinkNetworkInfo() : video_encoder_target_bitrate_bps(0) {} @@ -21,7 +21,7 @@ return (video_encoder_target_bitrate_bps == rhs.video_encoder_target_bitrate_bps); } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FUplinkNetworkInfo { GENERATED_BODY() @@ -29,11 +29,11 @@ struct FUplinkNetworkInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FUplinkNetworkInfo") int video_encoder_target_bitrate_bps; }; - export class UplinkNetworkInfo { + export class UplinkNetworkInfo { video_encoder_target_bitrate_bps?: number; } - public class UplinkNetworkInfo + public class UplinkNetworkInfo { public UplinkNetworkInfo() { @@ -46,11 +46,11 @@ struct FUplinkNetworkInfo { } public int video_encoder_target_bitrate_bps; } - export class UplinkNetworkInfo { + export class UplinkNetworkInfo { video_encoder_target_bitrate_bps?: number; } - class UplinkNetworkInfo { + class UplinkNetworkInfo { const UplinkNetworkInfo({this.videoEncoderTargetBitrateBps}); @JsonKey(name: 'video_encoder_target_bitrate_bps') @@ -59,16 +59,19 @@ struct FUplinkNetworkInfo { _$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 - 目标视频编码器的码率 (bps)。 - -
      + + video_encoder_target_bitrate_bps + videoEncoderTargetBitrateBps + 目标视频编码器的码率 (bps)。 + + +
      -
      \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_user.dita b/dita/RTC-NG/API/class_user.dita index 1bb5814e347..98d742759d5 100644 --- a/dita/RTC-NG/API/class_user.dita +++ b/dita/RTC-NG/API/class_user.dita @@ -6,24 +6,22 @@

      - - - - - - - -

      + + + + + + + +

      -

      该类指定 SDK 渲染视频所属的用户信息。可以设为如下值: - -

        -
      • "local":代表本地用户的视频渲染。
      • -
      • "videoSource":代表 video source 对象的视频渲染。
      • -
      • 整数:该数值和远端用户 UID 一致,代表远端用户的视频渲染。
      • -
      • 字符串:该字符串和远端用户 User Account 一致,代表远端用户的视频渲染。
      • -

      +

      该类指定 SDK 渲染视频所属的用户信息。可以设为如下值:

        +
      • "local":代表本地用户的视频渲染。
      • +
      • "videoSource":代表 video source 对象的视频渲染。
      • +
      • 整数:该数值和远端用户 UID 一致,代表远端用户的视频渲染。
      • +
      • 字符串:该字符串和远端用户 User Account 一致,代表远端用户的视频渲染。
      • +

      diff --git a/dita/RTC-NG/API/class_useraudiospectruminfo.dita b/dita/RTC-NG/API/class_useraudiospectruminfo.dita index c38660d69d4..22093e68f4a 100644 --- a/dita/RTC-NG/API/class_useraudiospectruminfo.dita +++ b/dita/RTC-NG/API/class_useraudiospectruminfo.dita @@ -1,23 +1,23 @@ - <ph keyref="UserAudioSpectrumInfo" /> + <ph keyref="UserAudioSpectrumInfo"/> 远端用户的音频频谱信息。

      - public class UserAudioSpectrumInfo { + public class UserAudioSpectrumInfo { private int uid; private AudioSpectrumInfo audioSpectrumInfo; } - __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject @property(nonatomic, assign) NSInteger uid; @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData; @end - struct UserAudioSpectrumInfo { + struct UserAudioSpectrumInfo { agora::rtc::uid_t uid; struct AudioSpectrumData spectrumData; @@ -25,7 +25,7 @@ UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length) : uid(_uid) { spectrumData.audioSpectrumData = data; spectrumData.dataLength = length; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FUserAudioSpectrumInfo { GENERATED_BODY() @@ -34,24 +34,24 @@ struct FUserAudioSpectrumInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserAudioSpectrumInfo") FAudioSpectrumData spectrumData; }; - export class UserAudioSpectrumInfo { + export class UserAudioSpectrumInfo { uid?: number; spectrumData?: AudioSpectrumData; } - public struct UserAudioSpectrumInfo + public struct UserAudioSpectrumInfo { public uint uid; public AudioSpectrumData spectrumData; }; - export class UserAudioSpectrumInfo { + export class UserAudioSpectrumInfo { uid?: number; spectrumData?: AudioSpectrumData; } - class UserAudioSpectrumInfo { + class UserAudioSpectrumInfo { const UserAudioSpectrumInfo({this.uid, this.spectrumData}); @JsonKey(name: 'uid') @@ -62,23 +62,26 @@ 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。 - - - audioSpectrumInfo - audioSpectrumData - spectrumData - -

      远端用户的音频频谱数据。详见

      -
      -
      -
      + + uid + 远端用户 ID。 + + + audioSpectrumInfo + audioSpectrumData + spectrumData + +

      远端用户的音频频谱数据。详见

      +
      +
      + +
      -
      \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_userinfo.dita b/dita/RTC-NG/API/class_userinfo.dita index bd4e61f9c74..f1753682fc6 100644 --- a/dita/RTC-NG/API/class_userinfo.dita +++ b/dita/RTC-NG/API/class_userinfo.dita @@ -1,12 +1,12 @@ - <ph keyref="UserInfo" /> + <ph keyref="UserInfo"/> 用户的信息。

      - public class UserInfo { + public class UserInfo { public int uid; public String userAccount; @@ -16,17 +16,17 @@ this.userAccount = userAccount; } } - + public struct UserInfo { public uint uid; public string userAccount; } - __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject + __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject @property(assign, nonatomic) NSUInteger uid; @property (copy, nonatomic) NSString * _Nullable userAccount; @end - struct UserInfo { + struct UserInfo { uid_t uid; char userAccount[MAX_USER_ACCOUNT_LENGTH]; UserInfo() @@ -34,7 +34,7 @@ userAccount[0] = '\0'; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FUserInfo { GENERATED_BODY() @@ -44,19 +44,19 @@ struct FUserInfo UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") FString userAccount; }; - export class UserInfo { + export class UserInfo { uid?: number; userAccount?: string; } - export class UserInfo { + export class UserInfo { uid?: number; userAccount?: string; } - class UserInfo { + class UserInfo { const UserInfo({this.uid, this.userAccount}); @JsonKey(name: 'uid') @@ -67,19 +67,22 @@ struct FUserInfo _$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。 - - - userAccount - 用户 Account。长度限制为 - -
      + + uid + 用户 ID。 + + + 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 41136864a46..075d83f4d14 100644 --- a/dita/RTC-NG/API/class_videocanvas.dita +++ b/dita/RTC-NG/API/class_videocanvas.dita @@ -6,7 +6,7 @@

      - public class VideoCanvas { + public class VideoCanvas { public int uid; public int subviewUid; public static final int RENDER_MODE_HIDDEN = 1; @@ -48,7 +48,7 @@ } } - __attribute__((visibility("default"))) @interface AgoraRtcVideoCanvas : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcVideoCanvas : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger subviewUid; @property(strong, nonatomic) VIEW_CLASS *_Nullable view; @@ -62,7 +62,7 @@ @property(assign, nonatomic) BOOL enableAlphaMask; @property(assign, nonatomic) AgoraVideoModulePosition position; @end - struct VideoCanvas { + struct VideoCanvas { uid_t uid; uid_t subviewUid; view_t view; @@ -92,7 +92,7 @@ sourceType(VIDEO_SOURCE_CAMERA_PRIMARY), mediaPlayerId(-ERR_NOT_READY), cropArea(0, 0, 0, 0), enableAlphaMask(false), position(media::base::POSITION_POST_CAPTURER) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoCanvas { GENERATED_BODY() @@ -116,7 +116,7 @@ struct FVideoCanvas UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") EVIDEO_VIEW_SETUP_MODE setupMode = EVIDEO_VIEW_SETUP_MODE::VIDEO_VIEW_SETUP_REPLACE; }; - struct VideoCanvas { + struct VideoCanvas { view_t view; uid_t uid; VIDEO_SOURCE_TYPE sourceType; @@ -133,7 +133,7 @@ struct FVideoCanvas : view(v), uid(0), sourceType(VIDEO_SOURCE_CAMERA_PRIMARY), mediaPlayerId(-ERR_NOT_READY) {} }; - export class VideoCanvas { + export class VideoCanvas { view?: any uid?: number; subviewUid?: number; @@ -147,7 +147,7 @@ struct FVideoCanvas enableAlphaMask?: boolean; position?: VideoModulePosition; } - public class VideoCanvas + public class VideoCanvas { public view_t view; @@ -163,7 +163,7 @@ struct FVideoCanvas public bool enableAlphaMask; public VIDEO_MODULE_POSITION position; }; - export class VideoCanvas { + export class VideoCanvas { view?: any uid?: number; subviewUid?: number; @@ -177,7 +177,7 @@ struct FVideoCanvas enableAlphaMask?: boolean; position?: VideoModulePosition; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoCanvas { const VideoCanvas( {this.uid, @@ -234,47 +234,61 @@ class VideoCanvas { Map<String, dynamic> toJson() => _$VideoCanvasToJson(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。 - 对于 Android 和 iOS 平台,当视频源为合图视频流 () 时,该参数表示发布合图视频流的用户 ID。 - 当视频源为合图视频流 () 时,该参数表示发布合图视频流的用户 ID。 - + + uid + 发布视频源的用户 ID。 + 对于 Android 和 iOS 平台,当视频源为合图视频流 () 时,该参数表示发布合图视频流的用户 ID。 + 当视频源为合图视频流 () + 时,该参数表示发布合图视频流的用户 ID。 + subviewUid 发布某一路合图子视频流的用户 ID。 - 预留参数。 - 该参数仅适用于 Android 和 iOS 平台。 + 预留参数。 该参数仅适用于 Android 和 iOS 平台。 view - 视频显示窗口。必须为一个 对象。 - 在一个 中,你只能选择 viewsurfaceTexture 其中一个进行设置,如果同时设置,只有 view 中的设置会生效。 - 视频图像。你需要定义 UImage 类型的指针,并传入该参数,示例代码如下: + 视频显示窗口。必须为一个 + 对象。 + 在一个 中,你只能选择 + viewsurfaceTexture + 其中一个进行设置,如果同时设置,只有 view 中的设置会生效。 + 视频图像。你需要定义 UImage 类型的指针,并传入该参数,示例代码如下: agora::rtc::VideoCanvas videoCanvas; UImage* LocalVideo; videoCanvas.view = LocalVideo; surfaceTexture - 提供视频图像的容器,当你使用该成员时,需要自行实现 OPENGL 中的纹理绘制。详见 。 - 在一个 中,你只能选择 viewsurfaceTexture 其中一个进行设置,如果同时设置,只有 view 中的设置会生效。 + 提供视频图像的容器,当你使用该成员时,需要自行实现 OPENGL 中的纹理绘制。详见 在一个 中,你只能选择 view 或 + surfaceTexture 其中一个进行设置,如果同时设置,只有 + view 中的设置会生效。 renderMode - 视频渲染模式,详见 -
      + 视频渲染模式,详见 +
        +
      • +
      mirrorMode - -

      视图镜像模式,详见

      + +

      视图镜像模式,详见

      • @@ -287,66 +301,74 @@ class VideoCanvas {
      -
      - - uid - 用户 ID。 - - - sourceType - 视频源的类型,详见 - - - setupMode - 视图设置模式。详见 - 视图设置模式: -
        -
      • (0): (默认) 替换一个视图。
      • -
      • (1): 增加一个视图。
      • -
      • (2): 删除一个视图。
      • -
      -
      - - mediaPlayerId - 媒体播放器 ID。可通过 获取。 - sourceType 时,此参数为必填项。 - - - rect - (可选)视频帧的展示区域。详见 。其中,widthheight 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。 - - - cropArea - (可选)视频帧的展示区域,详见 。其中,widthheight 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。 - - - cropArea - (可选)视频帧的展示区域,详见 。其中,widthheight 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 0),表示展示实际分辨率的视频帧。 - - - backgroundColor - 视频画布的背景颜色,格式为 RGBA。默认值为 0x00000000,代表完全透明的黑色。 - - + + + uid + 用户 ID。 + + + sourceType + 视频源的类型,详见 + + + setupMode + 视图设置模式。详见 + 视图设置模式:
        +
      • (0): (默认) 替换一个视图。
      • +
      • (1): 增加一个视图。
      • +
      • (2): 删除一个视图。
      • +
      +
      + + mediaPlayerId + 媒体播放器 ID。可通过 获取。 + sourceType 时,此参数为必填项。 + + + rect + (可选)视频帧的展示区域。详见 。其中,width 和 + height 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 + 0),表示展示实际分辨率的视频帧。 + + + cropArea + (可选)视频帧的展示区域,详见 。其中,width 和 + height 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 + 0),表示展示实际分辨率的视频帧。 + + + cropArea + (可选)视频帧的展示区域,详见 。其中,width 和 + height 表示该区域的视频像素宽度和高度。默认值为空值 (宽或高为 + 0),表示展示实际分辨率的视频帧。 + + + backgroundColor + 视频画布的背景颜色,格式为 RGBA。默认值为 0x00000000,代表完全透明的黑色。 + + enableAlphaMask - (可选)接收端是否开启 alpha 遮罩渲染: -
        -
      • :接收端开启 alpha 遮罩渲染。
      • -
      • :(默认)接收端关闭 alpha 遮罩渲染。
      • + (可选)接收端是否开启 alpha 遮罩渲染:
          +
        • :接收端开启 alpha 遮罩渲染。
        • +
        • :(默认)接收端关闭 alpha 遮罩渲染。

        alpha 遮罩渲染可以创建具有透明效果的图像,还可以提取视频中的人像。与其他方法结合使用时,可以实现人像画中画、添加水印等效果。

        -
          -
        • 仅当发送端开启 alpha 传输功能时,接收端才能渲染 alpha 通道的信息。
        • -
        • 如需开启 alpha 传输功能,请
        • -
        -
        +
          +
        • 仅当发送端开启 alpha 传输功能时,接收端才能渲染 alpha 通道的信息。
        • +
        • 如需开启 alpha 传输功能,请
        • +
        + + 预留。 position 视频帧在视频链路中的位置。详见 -
      + +
      diff --git a/dita/RTC-NG/API/class_videodenoiseroptions.dita b/dita/RTC-NG/API/class_videodenoiseroptions.dita index d0a7be8735e..eca488e0552 100644 --- a/dita/RTC-NG/API/class_videodenoiseroptions.dita +++ b/dita/RTC-NG/API/class_videodenoiseroptions.dita @@ -1,12 +1,16 @@ - <ph keyref="VideoDenoiserOptions" /> - 视频降噪选项。 - -
      -

      - public class VideoDenoiserOptions { + + <ph keyref="VideoDenoiserOptions"/> + + + 视频降噪选项。 + + +

      +

      + public class VideoDenoiserOptions { public static final int VIDEO_DENOISER_AUTO = 0; public static final int VIDEO_DENOISER_MANUAL = 1; public static final int VIDEO_DENOISER_LEVEL_HIGH_QUALITY = 0; @@ -26,12 +30,12 @@ } } - __attribute__((visibility("default"))) @interface AgoraVideoDenoiserOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoDenoiserOptions : NSObject @property(nonatomic, assign) AgoraVideoDenoiserMode mode; @property(nonatomic, assign) AgoraVideoDenoiserLevel level; @end - struct VideoDenoiserOptions { + struct VideoDenoiserOptions { enum VIDEO_DENOISER_MODE { VIDEO_DENOISER_AUTO = 0, VIDEO_DENOISER_MANUAL = 1, @@ -48,7 +52,7 @@ VideoDenoiserOptions() : mode(VIDEO_DENOISER_AUTO), level(VIDEO_DENOISER_LEVEL_HIGH_QUALITY) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoDenoiserOptions { GENERATED_BODY() @@ -58,13 +62,13 @@ struct FVideoDenoiserOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoDenoiserOptions") EVIDEO_DENOISER_LEVEL level = EVIDEO_DENOISER_LEVEL::VIDEO_DENOISER_LEVEL_HIGH_QUALITY; }; - export class VideoDenoiserOptions { + export class VideoDenoiserOptions { mode?: VideoDenoiserMode; level?: VideoDenoiserLevel; } - public class VideoDenoiserOptions + public class VideoDenoiserOptions { public VIDEO_DENOISER_MODE mode { set; get; } public VIDEO_DENOISER_LEVEL level { set; get; } @@ -81,13 +85,13 @@ struct FVideoDenoiserOptions level = VIDEO_DENOISER_LEVEL.VIDEO_DENOISER_LEVEL_HIGH_QUALITY; } }; - export class VideoDenoiserOptions { + export class VideoDenoiserOptions { mode?: VideoDenoiserMode; level?: VideoDenoiserLevel; } - class VideoDenoiserOptions { + class VideoDenoiserOptions { const VideoDenoiserOptions({this.mode, this.level}); @JsonKey(name: 'mode') @@ -100,31 +104,40 @@ struct FVideoDenoiserOptions _$VideoDenoiserOptionsFromJson(json); Map<String, dynamic> toJson() => _$VideoDenoiserOptionsToJson(this); -} -

      -
      -
      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - - - level - 视频降噪等级。详见 -
        -
      • (0):(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。
      • -
      • (1):优先性能的视频降噪。是在性能消耗和视频降噪效果中侧重于节省性能的等级。性能消耗较少,视频降噪速度较快。为避免处理后的视频有明显的拖影效果,建议你在摄像头固定的情况下使用该设置。
      • -
      • (2):强效的视频降噪。是在性能消耗和视频降噪效果中侧重于视频降噪效果的等级。性能消耗较多,视频降噪速度较慢,视频降噪效果较好。如果 不能满足你的视频降噪需求,你可以使用该设置。
      • -
      -
      -
      - - mode - 视频降噪模式。详见 -
        -
      • (0):(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭视频降噪功能。
      • -
      • (1):手动模式。用户需手动开启或关闭视频降噪功能。
      • -
      -
      -
      -
      - - \ No newline at end of file +} +

      +
      +
      + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + + + + level + 视频降噪等级。详见 +
        +
      • (0):(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。
      • +
      • (1):优先性能的视频降噪。是在性能消耗和视频降噪效果中侧重于节省性能的等级。性能消耗较少,视频降噪速度较快。为避免处理后的视频有明显的拖影效果,建议你在摄像头固定的情况下使用该设置。
      • +
      • (2):强效的视频降噪。是在性能消耗和视频降噪效果中侧重于视频降噪效果的等级。性能消耗较多,视频降噪速度较慢,视频降噪效果较好。如果 不能满足你的视频降噪需求,你可以使用该设置。
      • +
      +
      +
      + + mode + 视频降噪模式。详见 +
        +
      • (0):(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭视频降噪功能。
      • +
      • (1):手动模式。用户需手动开启或关闭视频降噪功能。
      • +
      +
      +
      +
      +
      +
      +
      diff --git a/dita/RTC-NG/API/class_videodeviceinfo.dita b/dita/RTC-NG/API/class_videodeviceinfo.dita index 822f6ed7add..cd6daf7419c 100644 --- a/dita/RTC-NG/API/class_videodeviceinfo.dita +++ b/dita/RTC-NG/API/class_videodeviceinfo.dita @@ -2,27 +2,28 @@ <ph keyref="VideoDeviceInfo"/> - 类,包含视频设备的 ID 和设备名称。 + 类,包含视频设备的 ID + 和设备名称。

      - - - - export class VideoDeviceInfo { + + + + export class VideoDeviceInfo { deviceId?: string; deviceName?: string; } - public class DeviceInfo + public class DeviceInfo { public string deviceName; public string deviceId; }; - export class VideoDeviceInfo { + export class VideoDeviceInfo { deviceId?: string; deviceName?: string; } - class VideoDeviceInfo { + class VideoDeviceInfo { const VideoDeviceInfo({this.deviceId, this.deviceName}); @JsonKey(name: 'deviceId') @@ -33,19 +34,21 @@ _$VideoDeviceInfoFromJson(json); Map<String, dynamic> toJson() => _$VideoDeviceInfoToJson(this); } -

      +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - deviceId - 设备 ID。 - - - deviceName - 设备名称。 - -
      + + deviceId + 设备 ID。 + + + deviceName + 设备名称。 + + +
      diff --git a/dita/RTC-NG/API/class_videodimensions.dita b/dita/RTC-NG/API/class_videodimensions.dita index ad8f47f174b..d52616f81f9 100644 --- a/dita/RTC-NG/API/class_videodimensions.dita +++ b/dita/RTC-NG/API/class_videodimensions.dita @@ -1,12 +1,12 @@ - <ph keyref="VideoDimensions" /> + <ph keyref="VideoDimensions"/> 视频尺寸。

      - static public class VideoDimensions { + static public class VideoDimensions { public int width; public int height; @@ -20,8 +20,8 @@ this.height = 0; } } - - struct VideoDimensions { + + struct VideoDimensions { int width; int height; VideoDimensions() : width(640), height(480) {} @@ -30,7 +30,7 @@ return width == rhs.width && height == rhs.height; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoDimensions { GENERATED_BODY() @@ -40,7 +40,7 @@ struct FVideoDimensions { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") int height = 480; }; - export class VideoDimensions { + export class VideoDimensions { width?: number; @@ -62,13 +62,13 @@ struct FVideoDimensions { public int width { set; get; } public int height { set; get; } } - export class VideoDimensions { + export class VideoDimensions { width?: number; height?: number; } - class VideoDimensions { + class VideoDimensions { const VideoDimensions({this.width, this.height}); @JsonKey(name: 'width') @@ -78,22 +78,24 @@ struct FVideoDimensions { factory VideoDimensions.fromJson(Map<String, dynamic> json) => _$VideoDimensionsFromJson(json); Map<String, dynamic> toJson() => _$VideoDimensionsToJson(this); -} -

      +} +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - -

      视频宽度,单位为像素。

      -
      -
      - - height - 视频高度,单位为像素。 - -
      + + width + +

      视频宽度,单位为像素。

      +
      +
      + + height + 视频高度,单位为像素。 + + +
      -
      \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_videoencoderconfiguration.dita b/dita/RTC-NG/API/class_videoencoderconfiguration.dita index 5a108fd2d46..419a2112b6a 100644 --- a/dita/RTC-NG/API/class_videoencoderconfiguration.dita +++ b/dita/RTC-NG/API/class_videoencoderconfiguration.dita @@ -1,12 +1,12 @@ - <ph keyref="VideoEncoderConfiguration"/> - 视频编码器的配置。 - -
      -

      - public class VideoEncoderConfiguration { + <ph keyref="VideoEncoderConfiguration"/> + 视频编码器的配置。 + +

      +

      + public class VideoEncoderConfiguration { static public class VideoDimensions { public int width; public int height; @@ -247,7 +247,7 @@ this.codecType = VIDEO_CODEC_TYPE.VIDEO_CODEC_H265; } } - __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) AgoraVideoCodecType codecType; @property(assign, nonatomic) AgoraVideoFrameRate frameRate; @@ -270,7 +270,7 @@ orientationMode:(AgoraVideoOutputOrientationMode)orientationMode mirrorMode:(AgoraVideoMirrorMode)mirrorMode; @end - struct VideoEncoderConfiguration { + struct VideoEncoderConfiguration { VIDEO_CODEC_TYPE codecType; VideoDimensions dimensions; int frameRate; @@ -334,7 +334,7 @@ return *this; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoEncoderConfiguration { GENERATED_BODY() @@ -360,7 +360,7 @@ struct FVideoEncoderConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") FAdvanceOptions advanceOptions; }; - export class VideoEncoderConfiguration { + export class VideoEncoderConfiguration { codecType?: VideoCodecType; @@ -380,7 +380,7 @@ struct FVideoEncoderConfiguration advanceOptions?: AdvanceOptions; } - public class VideoEncoderConfiguration + public class VideoEncoderConfiguration { public VIDEO_CODEC_TYPE codecType; public VideoDimensions dimensions; @@ -457,7 +457,7 @@ struct FVideoEncoderConfiguration this.advanceOptions = advanceOptions; } } - export class VideoEncoderConfiguration { + export class VideoEncoderConfiguration { codecType?: VideoCodecType; @@ -477,7 +477,7 @@ struct FVideoEncoderConfiguration advanceOptions?: AdvanceOptions; } - class VideoEncoderConfiguration { + class VideoEncoderConfiguration { const VideoEncoderConfiguration( {this.codecType, this.dimensions, @@ -520,118 +520,133 @@ struct FVideoEncoderConfiguration _$VideoEncoderConfigurationFromJson(json); Map<String, dynamic> toJson() => _$VideoEncoderConfigurationToJson(this); -} -

      -
      -
      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - - dimensions - -

      视频编码的分辨率(px),详见 。该参数用于衡量编码质量,以长 × 宽表示,默认值为 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 - 视频编码类型,详见 - - - frameRate - 视频编码的帧率(fps),默认值为 15。详见 - 视频编码的帧率(fps),默认值为 15。
        -
      • (1): 1 fps。
      • -
      • (7): 7 fps。
      • -
      • (10): 10 fps。
      • -
      • (15): 15 fps。
      • -
      • (24): 24 fps。
      • -
      • (30): 30 fps。
      • -
      • (60): 60 fps。 - 仅适用于 Windows 和 macOS 平台。
      • -
      -
      - - bitrate - -

      视频编码码率,单位为 Kbps。详见 该参数无需设置,保留默认值 即可,SDK 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。有关视频分辨率和帧率的对应关系,详见

      -
        -
      • (0): (默认) 标准码率模式。
      • -
      • (-1): 适配码率模式。一般情况下,声网建议你不要使用该值。
      • -
      -
      - - minBitrate - -

      最低编码码率,单位为 Kbps。

      -

      SDK 会根据网络状况自动调整视频编码码率。将参数设为高于默认值可强制视频编码器输出高质量图片,但在网络状况不佳情况下可能导致网络丢包并影响视频播放的流畅度造成卡顿。因此如非对画质有特殊需求,声网建议不要修改该参数的值。

      - 该参数仅适用于直播场景。
      -
      - - orientationMode - 视频编码的方向模式,详见 - - - degradationPreference - 带宽受限时,视频编码降级偏好。详见 - - - mirrorMode - -

      发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见

      -

      发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。 -

        -
      • (0):SDK 决定镜像模式。默认关闭远端用户的镜像模式。
      • -
      • (1):开启远端用户的镜像模式。
      • -
      • (2):关闭远端用户的镜像模式。
      • -

      - 默认关闭镜像模式。
      -
      - - advanceOptions - 视频编码的高级选项。详见 - -
      -
      - 方法 - - - initWithSize - 指定视频分辨率并初始化一个 对象。详见 - - - initWithWidth - 指定视频宽和高并初始化一个 对象。详见 - - -
      - +} +

      +
      +
      + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + + + dimensions + +

      视频编码的分辨率(px),详见 。该参数用于衡量编码质量,以长 × 宽表示,默认值为 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 + 视频编码类型,详见 + + + frameRate + 视频编码的帧率(fps),默认值为 15。详见 + 视频编码的帧率(fps),默认值为 15。
        +
      • (1): 1 fps。
      • +
      • (7): 7 fps。
      • +
      • (10): 10 fps。
      • +
      • (15): 15 fps。
      • +
      • (24): 24 fps。
      • +
      • (30): 30 fps。
      • +
      • (60): 60 fps。 仅适用于 Windows + 和 macOS 平台。
      • +
      +
      + + bitrate + +

      视频编码码率,单位为 Kbps。详见 该参数无需设置,保留默认值 即可,SDK + 会根据你设定的视频分辨率和帧率自动匹配最合适的码率。有关视频分辨率和帧率的对应关系,详见

      +
        +
      • (0): (默认) 标准码率模式。
      • +
      • (-1): 适配码率模式。一般情况下,声网建议你不要使用该值。
      • +
      +
      +
      + + minBitrate + +

      最低编码码率,单位为 Kbps。

      +

      SDK + 会根据网络状况自动调整视频编码码率。将参数设为高于默认值可强制视频编码器输出高质量图片,但在网络状况不佳情况下可能导致网络丢包并影响视频播放的流畅度造成卡顿。因此如非对画质有特殊需求,声网建议不要修改该参数的值。

      + 该参数仅适用于直播场景。 +
      +
      + + orientationMode + 视频编码的方向模式,详见 + + + degradationPreference + 带宽受限时,视频编码降级偏好。详见 + + + mirrorMode + +

      发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见

      +

      发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。

        +
      • (0):SDK 决定镜像模式。默认关闭远端用户的镜像模式。
      • +
      • (1):开启远端用户的镜像模式。
      • +
      • (2):关闭远端用户的镜像模式。
      • +
      +

      + 默认关闭镜像模式。 +
      +
      + + advanceOptions + 视频编码的高级选项。详见 + +
      +
      +
      + 方法 + + + initWithSize + 指定视频分辨率并初始化一个 对象。详见 + + + initWithWidth + 指定视频宽和高并初始化一个 对象。详见 + + +
      +
      diff --git a/dita/RTC-NG/API/class_videoformat.dita b/dita/RTC-NG/API/class_videoformat.dita index 9909a663053..cae86ba4f8f 100644 --- a/dita/RTC-NG/API/class_videoformat.dita +++ b/dita/RTC-NG/API/class_videoformat.dita @@ -1,24 +1,24 @@ - <ph keyref="VideoFormat" /> + <ph keyref="VideoFormat"/> 视频帧格式。

      - static public class CaptureFormat { + static public class CaptureFormat { public int width; public int height; public int fps; } - - struct VideoFormat { + + struct VideoFormat { int width; int height; int fps; } - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoFormat { GENERATED_BODY() @@ -29,7 +29,7 @@ struct FVideoFormat { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoFormat") int fps = 15; }; - export class VideoFormat { + export class VideoFormat { width?: number; @@ -37,7 +37,7 @@ struct FVideoFormat { fps?: number; } - public VideoFormat() + public VideoFormat() { width = (int)FRAME_WIDTH.FRAME_WIDTH_640; height = (int)FRAME_HEIGHT.FRAME_HEIGHT_360; @@ -54,7 +54,7 @@ struct FVideoFormat { public int height { set; get; } public int fps { set; get; } }; - export class VideoFormat { + export class VideoFormat { width?: number; @@ -62,7 +62,7 @@ struct FVideoFormat { fps?: number; } - class VideoFormat { + class VideoFormat { const VideoFormat({this.width, this.height, this.fps}); @JsonKey(name: 'width') @@ -75,23 +75,25 @@ struct FVideoFormat { _$VideoFormatFromJson(json); Map<String, dynamic> toJson() => _$VideoFormatToJson(this); } -

      +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - 视频帧的宽度(px)。默认值为 960。 - - - height - 视频帧的高度(px)。默认值为 540. - - - fps - 视频帧的帧率。默认值为 15。 - -
      + + width + 视频帧的宽度(px)。默认值为 960。 + + + height + 视频帧的高度(px)。默认值为 540. + + + fps + 视频帧的帧率。默认值为 15。 + + +
      -
      \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_videoframe.dita b/dita/RTC-NG/API/class_videoframe.dita index 9374298f11a..14b9793bc4a 100644 --- a/dita/RTC-NG/API/class_videoframe.dita +++ b/dita/RTC-NG/API/class_videoframe.dita @@ -1,12 +1,12 @@ - <ph keyref="VideoFrame"/> - 视频帧的属性设置。 - -
      -

      - public class VideoFrame implements RefCounted { + <ph keyref="VideoFrame"/> + 视频帧的属性设置。 + +

      +

      + public class VideoFrame implements RefCounted { public interface Buffer extends RefCounted { @CalledByNative("Buffer") int getWidth(); @CalledByNative("Buffer") int getHeight(); @@ -241,7 +241,7 @@ buffer.release(); } } - __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject + __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject @property (nonatomic, assign) NSInteger type; @property (nonatomic, assign) int width; @property (nonatomic, assign) int height; @@ -258,7 +258,7 @@ @property(nonatomic, strong) NSDictionary *_Nonnull metaInfo; @end - struct VideoFrame { + struct VideoFrame { VideoFrame(): type(VIDEO_PIXEL_DEFAULT), width(0), @@ -300,7 +300,7 @@ void* pixelBuffer; IVideoFrameMetaInfo* metaInfo; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoFrame { GENERATED_BODY() @@ -343,7 +343,7 @@ struct FVideoFrame { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoFrame") TArray<float> pixelBuffer; }; - export class VideoFrame { + export class VideoFrame { type?: VideoPixelFormat; @@ -378,7 +378,7 @@ struct FVideoFrame { matrix?: number[]; } - public class VideoFrame + public class VideoFrame { public VIDEO_PIXEL_FORMAT type; @@ -420,7 +420,7 @@ struct FVideoFrame { public float[] matrix; }; - export class VideoFrame { + export class VideoFrame { type?: VideoPixelFormat; @@ -455,7 +455,7 @@ struct FVideoFrame { matrix?: number[]; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoFrame { const VideoFrame( {this.type, @@ -532,17 +532,19 @@ class VideoFrame { Map<String, dynamic> toJson() => _$VideoFrameToJson(this); } -

      -
      -
      -

      缓冲区给出的是指向指针的指针,该接口不能修改缓冲区的指针,只能修改缓冲区的内容。

      -
      -
      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - +

      +
      +
      +

      缓冲区给出的是指向指针的指针,该接口不能修改缓冲区的指针,只能修改缓冲区的内容。

      +
      +
      + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + type - 像素格式。详见 + 像素格式。详见 @@ -555,20 +557,20 @@ class VideoFrame { yStride - 对 YUV 数据,表示 Y 缓冲区的行跨度;对 RGBA 数据,表示总的数据长度。 - 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 + 对 YUV 数据,表示 Y 缓冲区的行跨度;对 RGBA 数据,表示总的数据长度。 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 uStride - 对 YUV 数据,表示 U 缓冲区的行跨度;对 RGBA 数据,值为 0。 - 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 + 对 YUV 数据,表示 U 缓冲区的行跨度;对 RGBA 数据,值为 0。 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 vStride - 对 YUV 数据,表示 V 缓冲区的行跨度;对 RGBA 数据,值为 0。 - 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 + 对 YUV 数据,表示 V 缓冲区的行跨度;对 RGBA 数据,值为 0。 在处理视频数据时,需根据该参数处理每行像素数据之间的偏移量,否则可能导致图像失真。 @@ -658,11 +660,10 @@ class VideoFrame { sourceType - 在使用 SDK 采集视频时,表示该视频源的类型。 -
        -
      • kFrontCamera:前置摄像头。
      • -
      • kBackCamera:后置摄像头。
      • -
      • kUnspecified:(默认) 视频源类型未知。
      • + 在使用 SDK 采集视频时,表示该视频源的类型。
          +
        • kFrontCamera:前置摄像头。
        • +
        • kBackCamera:后置摄像头。
        • +
        • kUnspecified:(默认) 视频源类型未知。
        @@ -673,8 +674,8 @@ class VideoFrame { alphaBuffer

        表示人像分割算法输出的 alpha 通道数据,跟视频帧的尺寸一致。每个像素点的取值范围为 [0,255],其中 0 表示背景;255 代表前景(人像)。

        -

        在用户自定义视频渲染场景下,该参数可帮助实现将视频背景自渲染为各种效果,例如:透明、纯色、图片、视频等。 - 该参数需要开通。

        +

        在用户自定义视频渲染场景下,该参数可帮助实现将视频背景自渲染为各种效果,例如:透明、纯色、图片、视频等。 该参数需要开通。

        @@ -684,5 +685,5 @@ class VideoFrame {
      - + diff --git a/dita/RTC-NG/API/class_videoframebufferconfig.dita b/dita/RTC-NG/API/class_videoframebufferconfig.dita index 53335fd8b98..a294fc35b7b 100644 --- a/dita/RTC-NG/API/class_videoframebufferconfig.dita +++ b/dita/RTC-NG/API/class_videoframebufferconfig.dita @@ -1,39 +1,42 @@ - <ph keyref="VideoFrameBufferConfig" /> + <ph keyref="VideoFrameBufferConfig"/> 视频帧设置。

      - - - - - public struct VideoFrameBufferConfig + + + + + public struct VideoFrameBufferConfig { public VIDEO_SOURCE_TYPE type; public uint id; public string key; } - -

      + + +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - 视频源类型,详见 - - - id - 用户 ID。 - - - key - 频道名称。 - -
      + + type + 视频源类型,详见 + + + id + 用户 ID。 + + + key + 频道名称。 + + +
      -
      \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_videolayout.dita b/dita/RTC-NG/API/class_videolayout.dita index 3ec6dfdeb0c..717845e144c 100644 --- a/dita/RTC-NG/API/class_videolayout.dita +++ b/dita/RTC-NG/API/class_videolayout.dita @@ -6,7 +6,7 @@

      - public static class VideoLayout { + public static class VideoLayout { public String channelId; public int uid; public String strUid; @@ -23,7 +23,7 @@ + ", height=" + height + '}'; } } - __attribute__((visibility("default"))) @interface AgoraVideoLayout: NSObject + __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); @@ -33,7 +33,7 @@ @property (assign, nonatomic) NSUInteger width NS_SWIFT_NAME(width); @property (assign, nonatomic) NSUInteger height NS_SWIFT_NAME(height); @end - struct VideoLayout + struct VideoLayout { const char* channelId; rtc::uid_t uid; @@ -45,9 +45,9 @@ uint32_t videoState; VideoLayout() : channelId(OPTIONAL_NULLPTR), uid(0), strUid(OPTIONAL_NULLPTR), x(0), y(0), width(0), height(0), videoState(0) {} }; - - - public class VideoLayout + + + public class VideoLayout { public string channelId; public uint uid; @@ -58,7 +58,7 @@ public uint height; public uint videoState; } - export class VideoLayout { + export class VideoLayout { channelId?: string; uid?: number; strUid?: string; @@ -68,7 +68,7 @@ height?: number; videoState?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoLayout { const VideoLayout( {this.channelId, @@ -98,24 +98,26 @@ class VideoLayout { factory VideoLayout.fromJson(Map<String, dynamic> json) => _$VideoLayoutFromJson(json); Map<String, dynamic> toJson() => _$VideoLayoutToJson(this); -}

      +} +

      - -
      自从
      -
      v4.3.0
      -
      + +
      自从
      +
      v4.3.0
      +

      - <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 发布该合图子视频流的用户 ID。 @@ -142,13 +144,13 @@ class VideoLayout { videoState - 合图子视频流在合图画布上的状态。 -
        -
      • 0:正常。该视频流已被渲染到合图画布。
      • -
      • 1:占位图。该视频流无视频画面,在合图画布中显示为占位符。
      • -
      • 2:黑色图片。该视频流被黑色图片替代。
      • + 合图子视频流在合图画布上的状态。
          +
        • 0:正常。该视频流已被渲染到合图画布。
        • +
        • 1:占位图。该视频流无视频画面,在合图画布中显示为占位符。
        • +
        • 2:黑色图片。该视频流被黑色图片替代。
        -
      -
      + + + diff --git a/dita/RTC-NG/API/class_videorenderingtracinginfo.dita b/dita/RTC-NG/API/class_videorenderingtracinginfo.dita index 837b59c0a25..d8811d035c0 100644 --- a/dita/RTC-NG/API/class_videorenderingtracinginfo.dita +++ b/dita/RTC-NG/API/class_videorenderingtracinginfo.dita @@ -6,7 +6,7 @@

      - public static class VideoRenderingTracingInfo { + public static class VideoRenderingTracingInfo { public int elapsedTime; public int start2JoinChannel; public int join2JoinSuccess; @@ -15,7 +15,7 @@ public int remoteJoined2UnmuteVideo; public int remoteJoined2PacketReceived; }; - NS_SWIFT_NAME(AgoraVideoRenderingTracingInfo) __attribute__((visibility("default"))) @interface AgoraVideoRenderingTracingInfo : NSObject + NS_SWIFT_NAME(AgoraVideoRenderingTracingInfo) __attribute__((visibility("default"))) @interface AgoraVideoRenderingTracingInfo : NSObject @property (assign, nonatomic) NSInteger elapsedTime NS_SWIFT_NAME(elapsedTime); @property (assign, nonatomic) NSInteger start2JoinChannel NS_SWIFT_NAME(start2JoinChannel); @property (assign, nonatomic) NSInteger join2JoinSuccess NS_SWIFT_NAME(join2JoinSuccess); @@ -23,7 +23,7 @@ @property (assign, nonatomic) NSInteger remoteJoined2SetView NS_SWIFT_NAME(remoteJoined2SetView); @property (assign, nonatomic) NSInteger remoteJoined2UnmuteVideo NS_SWIFT_NAME(remoteJoined2UnmuteVideo); @property (assign, nonatomic) NSInteger remoteJoined2PacketReceived NS_SWIFT_NAME(remoteJoined2PacketReceived); - struct VideoRenderingTracingInfo { + struct VideoRenderingTracingInfo { int elapsedTime; int start2JoinChannel; int join2JoinSuccess; @@ -32,7 +32,7 @@ int remoteJoined2UnmuteVideo; int remoteJoined2PacketReceived; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoRenderingTracingInfo { GENERATED_BODY() @@ -52,7 +52,7 @@ struct FVideoRenderingTracingInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoRenderingTracingInfo") int remoteJoined2PacketReceived; }; - export class VideoRenderingTracingInfo { + export class VideoRenderingTracingInfo { elapsedTime?: number; start2JoinChannel?: number; join2JoinSuccess?: number; @@ -61,7 +61,7 @@ struct FVideoRenderingTracingInfo { remoteJoined2UnmuteVideo?: number; remoteJoined2PacketReceived?: number; } - public class VideoRenderingTracingInfo + public class VideoRenderingTracingInfo { public int elapsedTime; @@ -72,7 +72,7 @@ struct FVideoRenderingTracingInfo { public int remoteJoined2UnmuteVideo; public int remoteJoined2PacketReceived; }; - export class VideoRenderingTracingInfo { + export class VideoRenderingTracingInfo { elapsedTime?: number; start2JoinChannel?: number; join2JoinSuccess?: number; @@ -81,7 +81,7 @@ struct FVideoRenderingTracingInfo { remoteJoined2UnmuteVideo?: number; remoteJoined2PacketReceived?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoRenderingTracingInfo { const VideoRenderingTracingInfo( {this.elapsedTime, @@ -117,86 +117,111 @@ class VideoRenderingTracingInfo { _$VideoRenderingTracingInfoFromJson(json); Map<String, dynamic> toJson() => _$VideoRenderingTracingInfoToJson(this); -}

      +} +

      - -
      自从
      -
      v4.1.1
      -
      + +
      自从
      +
      v4.1.1
      +

      - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - elapsedTime - 从调用 到触发 回调的时间间隔。单位为毫秒。建议在加入频道前调用 - - - start2JoinChannel - 从调用 到调用 的时间间隔。单位为毫秒。负数表示在调用 后调用 - - - join2JoinSuccess - 从调用 到成功加入频道的时间间隔。单位为毫秒。 - - - joinSuccess2RemoteJoined - -
        -
      • 如果本地用户成功加入频道前调用 ,则该值为从本地用户成功加入频道到远端用户加入频道的时间间隔。单位为毫秒。
      • -
      • 如果本地用户成功加入频道后调用 ,则该值为从调用 到远端用户加入频道的时间间隔。单位为毫秒。
      • -
      - + + elapsedTime + 从调用 到触发 回调的时间间隔。单位为毫秒。建议在加入频道前调用 + + + + start2JoinChannel + 从调用 到调用 的时间间隔。单位为毫秒。负数表示在调用 后调用 + + + join2JoinSuccess + 从调用 到成功加入频道的时间间隔。单位为毫秒。 + + + joinSuccess2RemoteJoined + +
        +
      • 如果本地用户成功加入频道前调用 ,则该值为从本地用户成功加入频道到远端用户加入频道的时间间隔。单位为毫秒。
      • +
      • 如果本地用户成功加入频道后调用 ,则该值为从调用 + 到远端用户加入频道的时间间隔。单位为毫秒。
      • +
      + +
        +
      • 如果本地用户在远端用户加入频道后调用 ,则该值为 0,无参考意义。
      • +
      • 为提升远端用户出图速度,建议远端用户加入频道中后,本地用户再加入频道,以降低该值。
      • +
      +
      +
      + + remoteJoined2SetView +
        -
      • 如果本地用户在远端用户加入频道后调用 ,则该值为 0,无参考意义。
      • -
      • 为提升远端用户出图速度,建议远端用户加入频道中后,本地用户再加入频道,以降低该值。
      • -
      -
      -
      - - remoteJoined2SetView - -
        -
      • 如果本地用户在远端用户加入频道前调用 ,则该值为从远端用户加入频道到本地用户设置远端视图的时间间隔。单位为毫秒。
      • -
      • 如果本地用户在远端用户加入频道后调用 ,则该值为从调用 到设置远端视图的时间间隔。单位为毫秒。
      • -
      - -
        -
      • 如果本地用户在设置远端视图后再调用 ,则该值为 0,无参考意义。
      • -
      • 为提升远端用户出图速度,建议在远端用户加入频道之前设置远端视图,或者远端用户加入频道后立即设置远端视图,以降低该值。
      • -
      -
      - - remoteJoined2UnmuteVideo - -
        -
      • 如果本地用户在远端用户加入频道前调用 ,则该值为从远端用户加入频道到订阅远端视频流的时间间隔。单位为毫秒。
      • -
      • 如果本地用户在远端用户加入频道后调用 ,则该值为从调用 到订阅远端视频流的时间间隔。单位为毫秒。
      • -
      - +
    • 如果本地用户在远端用户加入频道前调用 ,则该值为从远端用户加入频道到本地用户设置远端视图的时间间隔。单位为毫秒。
    • +
    • 如果本地用户在远端用户加入频道后调用 ,则该值为从调用 + 到设置远端视图的时间间隔。单位为毫秒。
    • +
    + +
      +
    • 如果本地用户在设置远端视图后再调用 ,则该值为 0,无参考意义。
    • +
    • 为提升远端用户出图速度,建议在远端用户加入频道之前设置远端视图,或者远端用户加入频道后立即设置远端视图,以降低该值。
    • +
    + + + + remoteJoined2UnmuteVideo +
      -
    • 如果在订阅远端视频流后再调用 ,则该值为 0,无参考意义。
    • -
    • 为提升远端用户出图速度,建议在远端用户加入频道后,本地用户立即订阅远端视频流,以降低该值。
    • -
    -
    -
    - - remoteJoined2PacketReceived - -
      -
    • 如果本地用户在远端用户加入频道前调用 ,则该值为从远端用户加入频道到本地用户接收到首个远端数据包的时间间隔。单位为毫秒。
    • -
    • 如果本地用户在远端用户加入频道后调用 ,则该值为从调用 到接收到首个远端数据包的时间间隔。单位为毫秒。
    • -
    - +
  • 如果本地用户在远端用户加入频道前调用 ,则该值为从远端用户加入频道到订阅远端视频流的时间间隔。单位为毫秒。
  • +
  • 如果本地用户在远端用户加入频道后调用 ,则该值为从调用 + 到订阅远端视频流的时间间隔。单位为毫秒。
  • + + +
      +
    • 如果在订阅远端视频流后再调用 ,则该值为 0,无参考意义。
    • +
    • 为提升远端用户出图速度,建议在远端用户加入频道后,本地用户立即订阅远端视频流,以降低该值。
    • +
    +
    +
    + + remoteJoined2PacketReceived +
      -
    • 如果在接收到远端视频流后再调用 ,则该值为 0,无参考意义。
    • -
    • 为提升远端用户出图速度,建议在远端用户加入频道后立即发布视频流,本地用户立即订阅远端视频流,以降低该值。
    • -
    -
    - +
  • 如果本地用户在远端用户加入频道前调用 ,则该值为从远端用户加入频道到本地用户接收到首个远端数据包的时间间隔。单位为毫秒。
  • +
  • 如果本地用户在远端用户加入频道后调用 ,则该值为从调用 + 到接收到首个远端数据包的时间间隔。单位为毫秒。
  • + + +
      +
    • 如果在接收到远端视频流后再调用 ,则该值为 0,无参考意义。
    • +
    • 为提升远端用户出图速度,建议在远端用户加入频道后立即发布视频流,本地用户立即订阅远端视频流,以降低该值。
    • +
    + + + diff --git a/dita/RTC-NG/API/class_videosubscriptionoptions.dita b/dita/RTC-NG/API/class_videosubscriptionoptions.dita index eea321c754d..8a951aa7568 100644 --- a/dita/RTC-NG/API/class_videosubscriptionoptions.dita +++ b/dita/RTC-NG/API/class_videosubscriptionoptions.dita @@ -6,7 +6,7 @@

    - public class VideoSubscriptionOptions { + public class VideoSubscriptionOptions { public enum REMOTE_VIDEO_STREAM_TYPE { REMOTE_VIDEO_STREAM_HIGH, REMOTE_VIDEO_STREAM_LOW, @@ -41,19 +41,19 @@ this.streamType = streamType; } } - __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject + __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject @property (nonatomic, assign) AgoraVideoStreamType type; @property (nonatomic, assign) bool encodedFrameOnly; @end - struct VideoSubscriptionOptions { + struct VideoSubscriptionOptions { Optional<VIDEO_STREAM_TYPE> type; Optional<bool> encodedFrameOnly; VideoSubscriptionOptions() {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoSubscriptionOptions { GENERATED_BODY() @@ -64,25 +64,25 @@ struct FVideoSubscriptionOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoSubscriptionOptions") AGORAOPTIONAL encodedFrameOnly; }; - export class VideoSubscriptionOptions { + export class VideoSubscriptionOptions { type?: VideoStreamType; encodedFrameOnly?: boolean; } - public class VideoSubscriptionOptions:OptionalJsonParse + public class VideoSubscriptionOptions:OptionalJsonParse { public Optional<VIDEO_STREAM_TYPE> type = new Optional<VIDEO_STREAM_TYPE>(); public Optional<bool> encodedFrameOnly = new Optional<bool>(); } - export class VideoSubscriptionOptions { + export class VideoSubscriptionOptions { type?: VideoStreamType; encodedFrameOnly?: boolean; } - class VideoSubscriptionOptions { + class VideoSubscriptionOptions { const VideoSubscriptionOptions({this.type, this.encodedFrameOnly}); @JsonKey(name: 'type') @@ -95,31 +95,32 @@ struct FVideoSubscriptionOptions _$VideoSubscriptionOptionsFromJson(json); Map<String, dynamic> toJson() => _$VideoSubscriptionOptionsToJson(this); -} -

    -
    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - - streamType - type - 订阅的视频流类型,默认值为 ,即订阅视频大流。详见 - 订阅的视频流类型: -
      -
    • (0): (默认)视频大流,即高分辨率、高码率视频流。
    • -
    • (1): 视频小流,即低分辨率、低码率视频流。
    • -
    -
    -
    - - encodedFrameOnly - 是否仅订阅编码后的视频流: -
      -
    • :仅订阅编码后的视频数据(结构化数据),SDK 未对该视频数据做解码及渲染。
    • -
    • :(默认)订阅原始视频数据和编码后的数据。
    • -
    -
    -
    -
    +}
    +

    + +
    + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + + + streamType + type + 订阅的视频流类型,默认值为 ,即订阅视频大流。详见 + 订阅的视频流类型:
      +
    • (0): (默认)视频大流,即高分辨率、高码率视频流。
    • +
    • (1): 视频小流,即低分辨率、低码率视频流。
    • +
    +
    +
    + + encodedFrameOnly + 是否仅订阅编码后的视频流:
      +
    • :仅订阅编码后的视频数据(结构化数据),SDK 未对该视频数据做解码及渲染。
    • +
    • :(默认)订阅原始视频数据和编码后的数据。
    • +
    +
    +
    +
    + diff --git a/dita/RTC-NG/API/class_videosurface.dita b/dita/RTC-NG/API/class_videosurface.dita index 483883f19ac..7a39110351a 100644 --- a/dita/RTC-NG/API/class_videosurface.dita +++ b/dita/RTC-NG/API/class_videosurface.dita @@ -1,6 +1,6 @@ - <ph keyref="VideoSurface" /> + <ph keyref="VideoSurface"/> 该类包含视频渲染相关的 Unity 原生方法。 diff --git a/dita/RTC-NG/API/class_videosurfaceyuv.dita b/dita/RTC-NG/API/class_videosurfaceyuv.dita index 5fa82beb9e3..9234c1d173c 100644 --- a/dita/RTC-NG/API/class_videosurfaceyuv.dita +++ b/dita/RTC-NG/API/class_videosurfaceyuv.dita @@ -2,6 +2,10 @@ <ph keyref="VideoSurfaceYUV"/> - 提供视频渲染相关的方法。该类继承自 ,但是在渲染较大分辨率 (如 4K) 的视频图像时,渲染速度更快,帧率更高。 -自 v4.2.0 起,声网 Unity SDK 不支持同时使用 来渲染不同的视频源,即在成功创建 后,如果第一个视图是通过 渲染,则在整个 生命周期中,只能通过 渲染。 + 提供视频渲染相关的方法。该类继承自 ,但是在渲染较大分辨率 (如 4K) 的视频图像时,渲染速度更快,帧率更高。 + 自 v4.2.0 起,声网 Unity SDK 不支持同时使用 来渲染不同的视频源,即在成功创建 后,如果第一个视图是通过 + 渲染,则在整个 生命周期中,只能通过 + 渲染。 diff --git a/dita/RTC-NG/API/class_videoviewcontroller.dita b/dita/RTC-NG/API/class_videoviewcontroller.dita index 6f6154db098..0587ea0ae1e 100644 --- a/dita/RTC-NG/API/class_videoviewcontroller.dita +++ b/dita/RTC-NG/API/class_videoviewcontroller.dita @@ -1,18 +1,19 @@ - <ph keyref="VideoViewController" /> - 的控制器,用于渲染本地和远端视频。 + <ph keyref="VideoViewController"/> + + 的控制器,用于渲染本地和远端视频。

    - - - - - - - class VideoViewController + + + + + + + class VideoViewController with VideoViewControllerBaseMixin implements VideoViewControllerBase { VideoViewController({ @@ -53,49 +54,57 @@ : VideoSourceType.videoSourceRemote.value(); } } -

    +

    -

    在不同平台上,该类对应的默认视图不同: -

      -
    • Android: 。如果你想要使用 ,则设置 useAndroidSurfaceView 的属性为 true
    • -
    • iOS: 。 如果你想要使用 Flutter Texture,则设置 useFlutterTexture 的属性为 true
    • -
    • macOS 和 Windows:
    • -

    +

    在不同平台上,该类对应的默认视图不同:

      +
    • Android: 。如果你想要使用 ,则设置 useAndroidSurfaceView + 的属性为 true
    • +
    • iOS: 。 如果你想要使用 Flutter Texture,则设置 + useFlutterTexture 的属性为 true
    • +
    • macOS 和 Windows:
    • +
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - - - - canvas - 本地视频显示属性。详见 - - - connection - Connection 信息。详见 - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频: -
      -
    • : 使用 FlutterTexture 渲染视频。
    • -
    • : 不使用 FlutterTexture 渲染视频。
    • -
    - FlutterTexture 仅适用于 iOS、macOS 和 Windows 平台。
    -
    - - useAndroidSurfaceView - 是否使用 Android SurfaceView 渲染视频: -
      -
    • : 使用 Android SurfaceView 渲染视频。
    • -
    • : 不使用 Android SurfaceView 渲染视频。
    • -
    - Android SurfaceView 仅适用于 Android 平台。
    -
    -
    + + rtcEngine + + + + canvas + 本地视频显示属性。详见 + + + connection + Connection 信息。详见 + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频:
      +
    • : 使用 + FlutterTexture 渲染视频。
    • +
    • : 不使用 + FlutterTexture 渲染视频。
    • +
    + FlutterTexture 仅适用于 iOS、macOS 和 Windows + 平台。
    +
    + + useAndroidSurfaceView + 是否使用 Android SurfaceView 渲染视频:
      +
    • : 使用 Android + SurfaceView 渲染视频。
    • +
    • : 不使用 Android + SurfaceView 渲染视频。
    • +
    + Android SurfaceView 仅适用于 Android 平台。
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_videoviewcontrollerbase.dita b/dita/RTC-NG/API/class_videoviewcontrollerbase.dita index a11b14f7689..2b86d7e224f 100644 --- a/dita/RTC-NG/API/class_videoviewcontrollerbase.dita +++ b/dita/RTC-NG/API/class_videoviewcontrollerbase.dita @@ -2,17 +2,18 @@ <ph keyref="VideoViewControllerBase"/> - 的控制器,用于渲染本地和远端视频。 + + 的控制器,用于渲染本地和远端视频。

    - - - - - - - abstract class VideoViewControllerBase { + + + + + + + abstract class VideoViewControllerBase { RtcEngine get rtcEngine; VideoCanvas get canvas; RtcConnection? get connection; @@ -20,49 +21,57 @@ bool get useAndroidSurfaceView; Future<void> dispose(); } -

    +

    -

    在不同平台上,该类对应的默认视图不同: -

      -
    • Android: 。如果你想要使用 ,则设置 useAndroidSurfaceView 的属性为 true
    • -
    • iOS: 。 如果你想要使用 Flutter Texture,则设置 useFlutterTexture 的属性为 true
    • -
    • macOS 和 Windows:
    • -

    +

    在不同平台上,该类对应的默认视图不同:

      +
    • Android: 。如果你想要使用 ,则设置 useAndroidSurfaceView + 的属性为 true
    • +
    • iOS: 。 如果你想要使用 Flutter Texture,则设置 + useFlutterTexture 的属性为 true
    • +
    • macOS 和 Windows:
    • +
    +

    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> +
    + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - - - - canvas - 本地视频显示属性。详见 - - - connection - Connection 信息。详见 - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频: -
      -
    • : 使用 FlutterTexture 渲染视频。
    • -
    • : 不使用 FlutterTexture 渲染视频。
    • -
    - FlutterTexture 仅适用于 iOS、macOS 和 Windows 平台。
    -
    - - useAndroidSurfaceView - 是否使用 Android SurfaceView 渲染视频: -
      -
    • : 使用 Android SurfaceView 渲染视频。
    • -
    • : 不使用 Android SurfaceView 渲染视频。
    • -
    - Android SurfaceView 仅适用于 Android 平台。
    -
    -
    + + rtcEngine + + + + canvas + 本地视频显示属性。详见 + + + connection + Connection 信息。详见 + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频:
      +
    • : 使用 + FlutterTexture 渲染视频。
    • +
    • : 不使用 + FlutterTexture 渲染视频。
    • +
    + FlutterTexture 仅适用于 iOS、macOS 和 Windows + 平台。
    +
    + + useAndroidSurfaceView + 是否使用 Android SurfaceView 渲染视频:
      +
    • : 使用 Android + SurfaceView 渲染视频。
    • +
    • : 不使用 Android + SurfaceView 渲染视频。
    • +
    + Android SurfaceView 仅适用于 Android 平台。
    +
    + +
    diff --git a/dita/RTC-NG/API/class_virtualbackgroundsource.dita b/dita/RTC-NG/API/class_virtualbackgroundsource.dita index e604a1bbd80..5bf5cfe92cf 100644 --- a/dita/RTC-NG/API/class_virtualbackgroundsource.dita +++ b/dita/RTC-NG/API/class_virtualbackgroundsource.dita @@ -1,12 +1,12 @@ - <ph keyref="VirtualBackgroundSource" /> + <ph keyref="VirtualBackgroundSource"/> 自定义的背景。

    - public class VirtualBackgroundSource { + public class VirtualBackgroundSource { public static final int BACKGROUND_NONE = 0; public static final int BACKGROUND_COLOR = 1; public static final int BACKGROUND_IMG = 2; @@ -34,14 +34,14 @@ } } - __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject + __attribute__((visibility("default"))) @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 - struct VirtualBackgroundSource { + struct VirtualBackgroundSource { enum BACKGROUND_SOURCE_TYPE { BACKGROUND_NONE = 0, BACKGROUND_COLOR = 1, @@ -60,7 +60,7 @@ BACKGROUND_BLUR_DEGREE blur_degree; VirtualBackgroundSource() : background_source_type(BACKGROUND_COLOR), color(0xffffff), source(NULL), blur_degree(BLUR_DEGREE_HIGH) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVirtualBackgroundSource { GENERATED_BODY() @@ -74,7 +74,7 @@ struct FVirtualBackgroundSource UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VirtualBackgroundSource") EBACKGROUND_BLUR_DEGREE blur_degree = EBACKGROUND_BLUR_DEGREE::BLUR_DEGREE_HIGH; }; - export class VirtualBackgroundSource { + export class VirtualBackgroundSource { background_source_type?: BackgroundSourceType; @@ -84,7 +84,7 @@ struct FVirtualBackgroundSource blur_degree?: BackgroundBlurDegree; } - public class VirtualBackgroundSource + public class VirtualBackgroundSource { public VirtualBackgroundSource() { @@ -98,7 +98,7 @@ struct FVirtualBackgroundSource public string source; public BACKGROUND_BLUR_DEGREE blur_degree; }; - export class VirtualBackgroundSource { + export class VirtualBackgroundSource { background_source_type?: BackgroundSourceType; @@ -108,7 +108,7 @@ struct FVirtualBackgroundSource blur_degree?: BackgroundBlurDegree; } - class VirtualBackgroundSource { + class VirtualBackgroundSource { const VirtualBackgroundSource( {this.backgroundSourceType, this.color, this.source, this.blurDegree}); @@ -123,50 +123,62 @@ struct FVirtualBackgroundSource factory VirtualBackgroundSource.fromJson(Map<String, dynamic> json) => _$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 - 自定义的背景。详见 -
      -
    • (0):将背景处理为 alpha 信息,不进行替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。
    • -
    • (1):(默认)背景为纯色。
    • -
    • (2):背景为 PNG、JPG 格式的图片。
    • -
    • (3):背景为虚化处理后的背景。
    • -
    • (4):背景为 MP4、AVI、MKV、FLV 等格式的本地视频。
    • -
    -
    - - color - 自定义的背景图颜色。格式为 RGB 定义下的十六进制整数,不带 # 号,如 0xFFB6C1 表示浅粉色。 默认值为 0xFFFFFF,表示白色。 取值范围为 [0x000000,0xffffff]。如果取值非法,SDK 会用白色背景图替换原背景图。 - 该参数仅在自定义背景为以下类型时生效,具体效果如下: -
      -
    • :背景图为该参数传入颜色的纯色图片。
    • -
    • :如果 source 中的图片使用了透明背景,则会使用该参数传入的颜色填充透明背景。
    • -
    -
    -
    - - source - 自定义背景的本地绝对路径。支持 PNG、JPG、MP4、 AVI、 MKV 和 FLV 格式。如果路径无效,SDK 会使用原背景图或 color 指定的纯色背景。 - 该参数仅在自定义背景图类型为 时生效。 - - - blurDegree - blur_degree - 自定义背景图的模糊程度。详见 -
      -
    • (1):自定义背景图的虚化程度为低。用户差不多能看清背景。
    • -
    • (2):自定义背景图的虚化程度为中。用户较难看清背景。
    • -
    • (3):(默认)自定义背景图的虚化程度为高。用户很难看清背景。
    • -
    - 该参数仅在自定义背景图类型为 时生效。
    -
    -
    + + backgroundSourceType + background_source_type + 自定义的背景。详见 +
      +
    • (0):将背景处理为 alpha + 信息,不进行替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。
    • +
    • (1):(默认)背景为纯色。
    • +
    • (2):背景为 PNG、JPG 格式的图片。
    • +
    • (3):背景为虚化处理后的背景。
    • +
    • (4):背景为 MP4、AVI、MKV、FLV + 等格式的本地视频。
    • +
    +
    + + color + 自定义的背景图颜色。格式为 RGB 定义下的十六进制整数,不带 # 号,如 0xFFB6C1 表示浅粉色。 默认值为 0xFFFFFF,表示白色。 + 取值范围为 [0x000000,0xffffff]。如果取值非法,SDK 会用白色背景图替换原背景图。 该参数仅在自定义背景为以下类型时生效,具体效果如下:
      +
    • :背景图为该参数传入颜色的纯色图片。
    • +
    • :如果 source + 中的图片使用了透明背景,则会使用该参数传入的颜色填充透明背景。
    • +
    +
    +
    + + source + 自定义背景的本地绝对路径。支持 PNG、JPG、MP4、 AVI、 MKV 和 FLV 格式。如果路径无效,SDK 会使用原背景图或 + color 指定的纯色背景。 该参数仅在自定义背景图类型为 时生效。 + + + blurDegree + blur_degree + 自定义背景图的模糊程度。详见 +
      +
    • (1):自定义背景图的虚化程度为低。用户差不多能看清背景。
    • +
    • (2):自定义背景图的虚化程度为中。用户较难看清背景。
    • +
    • (3):(默认)自定义背景图的虚化程度为高。用户很难看清背景。
    • +
    + 该参数仅在自定义背景图类型为 + 时生效。
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/API/class_watermarkoptions.dita b/dita/RTC-NG/API/class_watermarkoptions.dita index 07d7bc44cfe..e7fdd46569f 100644 --- a/dita/RTC-NG/API/class_watermarkoptions.dita +++ b/dita/RTC-NG/API/class_watermarkoptions.dita @@ -6,7 +6,7 @@

    - public class WatermarkOptions { + public class WatermarkOptions { public static class Rectangle { public int x = 0; public int y = 0; @@ -30,13 +30,13 @@ public Rectangle positionInPortraitMode = new Rectangle(); } - __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject + __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject @property(assign, nonatomic) BOOL visibleInPreview; @property(assign, nonatomic) CGRect positionInLandscapeMode; @property(assign, nonatomic) CGRect positionInPortraitMode; @end - struct WatermarkOptions { + struct WatermarkOptions { bool visibleInPreview; Rectangle positionInLandscapeMode; Rectangle positionInPortraitMode; @@ -49,7 +49,7 @@ mode(FIT_MODE_COVER_POSITION) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FWatermarkOptions { GENERATED_BODY() @@ -65,7 +65,7 @@ struct FWatermarkOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|WatermarkOptions") EWATERMARK_FIT_MODE mode = EWATERMARK_FIT_MODE::FIT_MODE_COVER_POSITION; }; - export class WatermarkOptions { + export class WatermarkOptions { visibleInPreview?: boolean; @@ -77,7 +77,7 @@ struct FWatermarkOptions mode?: WatermarkFitMode; } - public class WatermarkOptions + public class WatermarkOptions { public WatermarkOptions() { @@ -103,7 +103,7 @@ struct FWatermarkOptions public WatermarkRatio watermarkRatio { set; get; } public WATERMARK_FIT_MODE mode { set; get; } } - export class WatermarkOptions { + export class WatermarkOptions { visibleInPreview?: boolean; @@ -115,7 +115,7 @@ struct FWatermarkOptions mode?: WatermarkFitMode; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class WatermarkOptions { const WatermarkOptions( {this.visibleInPreview, @@ -143,56 +143,62 @@ class WatermarkOptions { _$WatermarkOptionsFromJson(json); Map<String, dynamic> toJson() => _$WatermarkOptionsToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - visibleInPreview - 水印是否在本地预览视图中可见: -
      -
    • : (默认)水印在本地预览视图中可见。
    • -
    • : 水印在本地预览视图中不可见。
    • -
    -
    -
    - - positionInLandscapeMode - 横屏模式下,显示水印图片的区域。详见 - 水印的适配模式为 时,用于设置横屏模式下水印图片的区域。详见 - 横屏模式下,显示水印图片的区域。该参数包含以下成员: -
      -
    • x:水印相对左上角的横向偏移。
    • -
    • y:水印相对左上角的纵向偏移。
    • -
    • width:水印区域的宽 (px)。
    • -
    • height:水印区域的高 (px)。
    • -
    -
    - - positionInPortraitMode - 竖屏模式下,显示水印图片的区域。详见 - 水印的适配模式为 时,用于设置竖屏模式下水印图片的区域。详见 - 竖屏模式下,显示水印图片的区域。该参数包含以下成员: -
      -
    • x:水印相对左上角的横向偏移。
    • -
    • y:水印相对左上角的纵向偏移。
    • -
    • width:水印区域的宽 (px)。
    • -
    • height:水印区域的高 (px)。
    • -
    -
    - - watermarkRatio - 水印的适配模式为 时,该参数可设置缩放模式下的水印坐标。详见 - - - mode - 水印的适配模式。详见 - -
    + + visibleInPreview + 水印是否在本地预览视图中可见:
      +
    • : (默认)水印在本地预览视图中可见。
    • +
    • : 水印在本地预览视图中不可见。
    • +
    +
    +
    + + positionInLandscapeMode + 横屏模式下,显示水印图片的区域。详见 + 水印的适配模式为 时,用于设置横屏模式下水印图片的区域。详见 + 横屏模式下,显示水印图片的区域。该参数包含以下成员:
      +
    • x:水印相对左上角的横向偏移。
    • +
    • y:水印相对左上角的纵向偏移。
    • +
    • width:水印区域的宽 (px)。
    • +
    • height:水印区域的高 (px)。
    • +
    +
    +
    + + positionInPortraitMode + 竖屏模式下,显示水印图片的区域。详见 + 水印的适配模式为 时,用于设置竖屏模式下水印图片的区域。详见 + 竖屏模式下,显示水印图片的区域。该参数包含以下成员:
      +
    • x:水印相对左上角的横向偏移。
    • +
    • y:水印相对左上角的纵向偏移。
    • +
    • width:水印区域的宽 (px)。
    • +
    • height:水印区域的高 (px)。
    • +
    +
    +
    + + watermarkRatio + 水印的适配模式为 时,该参数可设置缩放模式下的水印坐标。详见 + + + mode + 水印的适配模式。详见 + + +
    diff --git a/dita/RTC-NG/API/class_watermarkratio.dita b/dita/RTC-NG/API/class_watermarkratio.dita index 00f2b5b15b9..038732fbb27 100644 --- a/dita/RTC-NG/API/class_watermarkratio.dita +++ b/dita/RTC-NG/API/class_watermarkratio.dita @@ -6,9 +6,9 @@

    - - - struct WatermarkRatio { + + + struct WatermarkRatio { float xRatio; float yRatio; float widthRatio; @@ -16,7 +16,7 @@ WatermarkRatio(float x, float y, float width) : xRatio(x), yRatio(y), widthRatio(width) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FWatermarkRatio { GENERATED_BODY() @@ -27,7 +27,7 @@ struct FWatermarkRatio { float widthRatio; }; - export class WatermarkRatio { + export class WatermarkRatio { xRatio?: number; @@ -35,7 +35,7 @@ struct FWatermarkRatio { widthRatio?: number; } - public class WatermarkRatio + public class WatermarkRatio { public WatermarkRatio() { @@ -54,7 +54,7 @@ struct FWatermarkRatio { public float yRatio { set; get; } public float widthRatio { set; get; } } - export class WatermarkRatio { + export class WatermarkRatio { xRatio?: number; @@ -62,7 +62,7 @@ struct FWatermarkRatio { widthRatio?: number; } - class WatermarkRatio { + class WatermarkRatio { const WatermarkRatio({this.xRatio, this.yRatio, this.widthRatio}); @JsonKey(name: 'xRatio') @@ -74,35 +74,35 @@ struct FWatermarkRatio { factory WatermarkRatio.fromJson(Map<String, dynamic> json) => _$WatermarkRatioFromJson(json); Map<String, dynamic> toJson() => _$WatermarkRatioToJson(this); -} -

    +} +

    -

    水印在屏幕中的位置和大小由 xRatioyRatiowidthRatio 共同决定: - - - - -

      -
    • (xRatio, yRatio) 指水印左上角的坐标,决定水印左上角到屏幕左上角的距离。
    • -
    • widthRatio 决定水印的宽度。
    • -

    +

    水印在屏幕中的位置和大小由 xRatioyRatio 和 + widthRatio 共同决定:

      +
    • (xRatio, yRatio) + 指水印左上角的坐标,决定水印左上角到屏幕左上角的距离。
    • +
    • widthRatio 决定水印的宽度。
    • +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - xRatio - 水印左上角的 x 坐标。以屏幕左上角为原点,x 坐标为水印左上角相对于原点的横向位移。取值范围为 [0.0,1.0],默认值为 0。 - - - yRatio - 水印左上角的 y 坐标。以屏幕左上角为原点,y 坐标为水印左上角相对于原点的纵向位移。取值范围为 [0.0,1.0],默认值为 0。 - - - widthRatio - 水印的宽度。SDK 会根据该参数值计算出等比例的水印高度,确保放大或缩小后的水印图片不失真。取值范围为 [0.0,1.0],默认值为 0,代表不显示水印。 - -
    + + xRatio + 水印左上角的 x 坐标。以屏幕左上角为原点,x 坐标为水印左上角相对于原点的横向位移。取值范围为 [0.0,1.0],默认值为 0。 + + + yRatio + 水印左上角的 y 坐标。以屏幕左上角为原点,y 坐标为水印左上角相对于原点的纵向位移。取值范围为 [0.0,1.0],默认值为 0。 + + + widthRatio + 水印的宽度。SDK 会根据该参数值计算出等比例的水印高度,确保放大或缩小后的水印图片不失真。取值范围为 [0.0,1.0],默认值为 + 0,代表不显示水印。 + + +
    diff --git a/dita/RTC-NG/API/class_windowinfo.dita b/dita/RTC-NG/API/class_windowinfo.dita index 053825e49dd..1a2eeef3117 100644 --- a/dita/RTC-NG/API/class_windowinfo.dita +++ b/dita/RTC-NG/API/class_windowinfo.dita @@ -6,54 +6,58 @@

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - windowId - 标识窗口的 Window ID。 - - - name - 窗口名称。 - - - ownerName - 窗口对应的应用进程名称。 - - - isOnScreen - 窗口是否显示在屏幕上。 - - - width - 窗口缩略图的宽度 (px)。 - - - height - 窗口缩略图的高度 (px)。 - - - originWidth - 窗口原始的宽度 (px)。 - - - originHeight - 窗口原始的高度 (px)。 - - - image - 窗口缩略图。详见 原生 Uint8Array - -
    + + windowId + 标识窗口的 Window ID。 + + + name + 窗口名称。 + + + ownerName + 窗口对应的应用进程名称。 + + + isOnScreen + 窗口是否显示在屏幕上。 + + + width + 窗口缩略图的宽度 (px)。 + + + height + 窗口缩略图的高度 (px)。 + + + originWidth + 窗口原始的宽度 (px)。 + + + originHeight + 窗口原始的高度 (px)。 + + + image + 窗口缩略图。详见 原生 Uint8Array + + +
    diff --git a/dita/RTC-NG/API/class_wlaccstats.dita b/dita/RTC-NG/API/class_wlaccstats.dita index 6cc22baffd8..3aa43b626c9 100644 --- a/dita/RTC-NG/API/class_wlaccstats.dita +++ b/dita/RTC-NG/API/class_wlaccstats.dita @@ -6,32 +6,34 @@

    - struct WlAccStats { + struct WlAccStats { unsigned short e2eDelayPercent; unsigned short frozenRatioPercent; unsigned short lossRatePercent; }; - - - - -

    + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - e2eDelayPercent - 端到端延时下降百分比。 - - - frozenRatioPercent - 音视频卡顿率下降百分比。 - - - lossRatePercent - 丢包率下降百分比。 - -
    + + e2eDelayPercent + 端到端延时下降百分比。 + + + frozenRatioPercent + 音视频卡顿率下降百分比。 + + + lossRatePercent + 丢包率下降百分比。 + + +
    diff --git a/dita/RTC-NG/API/construct_videoviewcontroller.dita b/dita/RTC-NG/API/construct_videoviewcontroller.dita index 05270543ddf..5b76cb7cf62 100644 --- a/dita/RTC-NG/API/construct_videoviewcontroller.dita +++ b/dita/RTC-NG/API/construct_videoviewcontroller.dita @@ -2,7 +2,8 @@ <ph keyref="VideoViewControllerConstructor"/> - 用于渲染本地视频的 类的构造方法。 + 用于渲染本地视频的 + 类的构造方法。 @@ -13,19 +14,19 @@

    - - - - - - - VideoViewController({ + + + + + + + VideoViewController({ required this.rtcEngine, required this.canvas, this.useFlutterTexture = false, this.useAndroidSurfaceView = false, }) : connection = const RtcConnection(); -

    +

    @@ -34,8 +35,8 @@ 参数 - - + + @@ -49,6 +50,7 @@ -

    + +
    diff --git a/dita/RTC-NG/API/construct_videoviewcontroller_remote.dita b/dita/RTC-NG/API/construct_videoviewcontroller_remote.dita index c140a3808b1..a1f1cfb27f9 100644 --- a/dita/RTC-NG/API/construct_videoviewcontroller_remote.dita +++ b/dita/RTC-NG/API/construct_videoviewcontroller_remote.dita @@ -2,7 +2,8 @@ <ph keyref="VideoViewControllerremoteConstructor"/> - 用于渲染远端视频的 类的构造方法。 + 用于渲染远端视频的 + 类的构造方法。 @@ -13,20 +14,20 @@

    - - - - - - - VideoViewController.remote({ + + + + + + + VideoViewController.remote({ required this.rtcEngine, required this.canvas, required this.connection, this.useFlutterTexture = false, this.useAndroidSurfaceView = false, }) : assert(connection.channelId != null); -

    +

    @@ -54,6 +55,7 @@ -

    + +
    diff --git a/dita/RTC-NG/API/enum_agoramediaplayerrendermodetype.dita b/dita/RTC-NG/API/enum_agoramediaplayerrendermodetype.dita index 7ab2f95b523..4f2084037bf 100644 --- a/dita/RTC-NG/API/enum_agoramediaplayerrendermodetype.dita +++ b/dita/RTC-NG/API/enum_agoramediaplayerrendermodetype.dita @@ -5,18 +5,19 @@ 视频显示模式。
    - 枚举值 - - - - 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 - - - - - - 2: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - - -
    + 枚举值 + + + + 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 + + + + + + 2: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 + + + + diff --git a/dita/RTC-NG/API/enum_areacode.dita b/dita/RTC-NG/API/enum_areacode.dita index db8220371ea..104c34a7ff2 100644 --- a/dita/RTC-NG/API/enum_areacode.dita +++ b/dita/RTC-NG/API/enum_areacode.dita @@ -7,34 +7,35 @@
    枚举值 - - - 中国大陆。 - - - - 北美区域。 - - - - 欧洲区域。 - - - - 除中国以外的亚洲区域。 - - - - 日本。 - - - - 印度。 - - - - 全球。 - -
    + + + 中国大陆。 + + + + 北美区域。 + + + + 欧洲区域。 + + + + 除中国以外的亚洲区域。 + + + + 日本。 + + + + 印度。 + + + + 全球。 + + + diff --git a/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita b/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita index 43892b62016..8ef5d0183d7 100644 --- a/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita +++ b/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita @@ -2,19 +2,21 @@ <ph keyref="AUDIENCE_LATENCY_LEVEL_TYPE"/> - 直播频道中观众的延时级别。该枚举仅在用户角色设为 时才生效。 + 直播频道中观众的延时级别。该枚举仅在用户角色设为 时才生效。
    枚举值 - - - 1: 低延时。 - - - - 2:(默认)超低延时。 - -
    + + + 1: 低延时。 + + + + 2:(默认)超低延时。 + + +
    diff --git a/dita/RTC-NG/API/enum_audioainsmode.dita b/dita/RTC-NG/API/enum_audioainsmode.dita index 5162ffcba56..b6d764d41f8 100644 --- a/dita/RTC-NG/API/enum_audioainsmode.dita +++ b/dita/RTC-NG/API/enum_audioainsmode.dita @@ -6,28 +6,28 @@
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    枚举值 - - - 0:(默认)均衡降噪模式;如果你希望实现对噪声抑制和延时都较为均衡的降噪效果,可选择该模式。 - - - - 1:强降噪模式;适用于对噪声抑制性能要求较高的场景,如户外直播。该模式可以更大程度地减少噪声,但同时可能会对语音造成一定损伤。 - - - - - 2:低延时强降噪模式。该模式的降噪延时比弱降噪和强降噪模式大约低一半,适用于对降噪及低延时要求较高的场景,如实时合唱。 - -
    + + + 0:(默认)均衡降噪模式;如果你希望实现对噪声抑制和延时都较为均衡的降噪效果,可选择该模式。 + + + + 1:强降噪模式;适用于对噪声抑制性能要求较高的场景,如户外直播。该模式可以更大程度地减少噪声,但同时可能会对语音造成一定损伤。 + + + + 2:低延时强降噪模式。该模式的降噪延时比弱降噪和强降噪模式大约低一半,适用于对降噪及低延时要求较高的场景,如实时合唱。 + + +
    diff --git a/dita/RTC-NG/API/enum_audiocodecprofiletype.dita b/dita/RTC-NG/API/enum_audiocodecprofiletype.dita index a43ebd1d3be..04bb3b19ccb 100644 --- a/dita/RTC-NG/API/enum_audiocodecprofiletype.dita +++ b/dita/RTC-NG/API/enum_audiocodecprofiletype.dita @@ -1,24 +1,29 @@ - <ph keyref="AUDIO_CODEC_PROFILE_TYPE"/> - 推流输出音频的编解码规格,默认为 LC-AAC。 + + <ph keyref="AUDIO_CODEC_PROFILE_TYPE"/> + + + 推流输出音频的编解码规格,默认为 LC-AAC。 +
    枚举值 - - - 0: (默认)LC-AAC 规格。 - - - - 1: HE-AAC 规格。 - - - - 2: HE-AAC v2 规格。 - -
    + + + 0: (默认)LC-AAC 规格。 + + + + 1: HE-AAC 规格。 + + + + 2: HE-AAC v2 规格。 + + +
    diff --git a/dita/RTC-NG/API/enum_audiocodectype.dita b/dita/RTC-NG/API/enum_audiocodectype.dita index 2571fed3733..ee1e8cde26f 100644 --- a/dita/RTC-NG/API/enum_audiocodectype.dita +++ b/dita/RTC-NG/API/enum_audiocodectype.dita @@ -7,38 +7,39 @@
    枚举值 - - - 1: OPUS。 - - - - 3: PCMA。 - - - - 4: PCMU。 - - - - 5: G722。 - - - - 8: LC-AAC。 - - - - 9: HE-AAC。 - - - - 10: JC1。 - - - - 11: HE-AAC v2。 - -
    + + + 1: OPUS。 + + + + 3: PCMA。 + + + + 4: PCMU。 + + + + 5: G722。 + + + + 8: LC-AAC。 + + + + 9: HE-AAC。 + + + + 10: JC1。 + + + + 11: HE-AAC v2。 + + + diff --git a/dita/RTC-NG/API/enum_audiodevicetestvolumetype.dita b/dita/RTC-NG/API/enum_audiodevicetestvolumetype.dita index d33b3705522..273fc9e203a 100644 --- a/dita/RTC-NG/API/enum_audiodevicetestvolumetype.dita +++ b/dita/RTC-NG/API/enum_audiodevicetestvolumetype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 音频采集设备的音量。 - - - - 1: 音频播放的音量。 - -
    + + + 0: 音频采集设备的音量。 + + + + 1: 音频播放的音量。 + + + diff --git a/dita/RTC-NG/API/enum_audiodualmonomode.dita b/dita/RTC-NG/API/enum_audiodualmonomode.dita index 5078520a254..c44d1084ffb 100644 --- a/dita/RTC-NG/API/enum_audiodualmonomode.dita +++ b/dita/RTC-NG/API/enum_audiodualmonomode.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0: 原始模式。 - - - - 1: 左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。 - - - - 2: 右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。 - - - - 3: 混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。 - -
    + + + 0: 原始模式。 + + + + 1: 左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。 + + + + 2: 右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。 + + + + 3: 混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。 + + + diff --git a/dita/RTC-NG/API/enum_audioeffectpreset.dita b/dita/RTC-NG/API/enum_audioeffectpreset.dita index 844394ca276..f76192adf71 100644 --- a/dita/RTC-NG/API/enum_audioeffectpreset.dita +++ b/dita/RTC-NG/API/enum_audioeffectpreset.dita @@ -4,136 +4,147 @@ <ph keyref="AUDIO_EFFECT_PRESET"/> 预设的音效选项。 -
    为获取更好的音效,建议在使用预设音效前,调用 并按照如下推荐设置 profile 参数。 - - - - - - 预设音效 - profile - - - - - -
      -
    • -
    • -
    • -
    -
    - -
    - - 其他预设音效(除 以外) - - - - +
    为获取更好的音效,建议在使用预设音效前,调用 + 并按照如下推荐设置 profile 参数。
    + + + + + + 预设音效 + profile + + + + + +
      +
    • +
    • +
    • +
    +
    + 或 + +
    + + 其他预设音效(除 以外) + + + +
    枚举值 - - - 原声,即关闭人声音效。 - - - - KTV。 - - - - 演唱会。 - - - - 录音棚。 - - - - 留声机。 - - - - 虚拟立体声,即 SDK 将单声道的音频渲染出双声道的音效。 - - - - - 空旷。 - - - - 空灵。 - - - - 虚拟环绕声,即 SDK 在双声道的基础上产生仿真的环绕声场,从而营造出具有环绕感的音效。 - - 启用虚拟环绕声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。 - - - - 合唱。声网推荐你在合唱场景下使用,使人声更具空间立体感。 - - - - -

    3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后,你还可以调用 修改环绕周期。

    - 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
    -
    - - - -

    大叔。

    - 建议用于处理男声,否则无法达到预期效果。
    -
    - - - -

    老年男性。

    - 建议用于处理男声,否则无法达到预期效果。
    -
    - - - -

    男孩。

    - 建议用于处理男声,否则无法达到预期效果。
    -
    - - - -

    少女。

    - 建议用于处理女声,否则无法达到预期效果。
    -
    - - - -

    女孩。

    - 建议用于处理女声,否则无法达到预期效果。
    -
    - - - 猪八戒。 - - - - 绿巨人。 - - - - R&B。 - - - - 流行。 - - - - 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。 - -
    + + + 原声,即关闭人声音效。 + + + + KTV。 + + + + 演唱会。 + + + + 录音棚。 + + + + 留声机。 + + + + 虚拟立体声,即 SDK 将单声道的音频渲染出双声道的音效。 + + + + 空旷。 + + + + 空灵。 + + + + 虚拟环绕声,即 SDK 在双声道的基础上产生仿真的环绕声场,从而营造出具有环绕感的音效。 启用虚拟环绕声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。 + + + + + 合唱。声网推荐你在合唱场景下使用,使人声更具空间立体感。 + + + + +

    3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后,你还可以调用 修改环绕周期。

    + 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。 +
    +
    + + + +

    大叔。

    + 建议用于处理男声,否则无法达到预期效果。 +
    +
    + + + +

    老年男性。

    + 建议用于处理男声,否则无法达到预期效果。 +
    +
    + + + +

    男孩。

    + 建议用于处理男声,否则无法达到预期效果。 +
    +
    + + + +

    少女。

    + 建议用于处理女声,否则无法达到预期效果。 +
    +
    + + + +

    女孩。

    + 建议用于处理女声,否则无法达到预期效果。 +
    +
    + + + 猪八戒。 + + + + 绿巨人。 + + + + R&B。 + + + + 流行。 + + + + 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。 + + +
    diff --git a/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita b/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita index 0fa37dc3633..4d0cfa0a39e 100644 --- a/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita +++ b/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita @@ -7,18 +7,19 @@
    枚举值 - - - 1: 仅编码本地用户的音频。 - - - - 2: 仅编码所有远端用户的音频。 - - - - 3: 编码本地和所有远端用户混音后的音频。 - -
    + + + 1: 仅编码本地用户的音频。 + + + + 2: 仅编码所有远端用户的音频。 + + + + 3: 编码本地和所有远端用户混音后的音频。 + + + diff --git a/dita/RTC-NG/API/enum_audioencodingtype.dita b/dita/RTC-NG/API/enum_audioencodingtype.dita index 78179221e62..351fd84f998 100644 --- a/dita/RTC-NG/API/enum_audioencodingtype.dita +++ b/dita/RTC-NG/API/enum_audioencodingtype.dita @@ -7,50 +7,51 @@
    枚举值 - - - 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。 + + + diff --git a/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita b/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita index fbd20c61249..94bc1c4af4c 100644 --- a/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita +++ b/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita @@ -7,46 +7,47 @@
    枚举值 - - - 0: 31 Hz - - - - 1: 62 Hz - - - - 2: 125 Hz - - - - 3: 250 Hz - - - - 4: 500 Hz - - - - 5: 1 kHz - - - - 6: 2 kHz - - - - 7: 4 kHz - - - - 8: 8 kHz - - - - 9: 16 kHz - -
    + + + 0: 31 Hz + + + + 1: 62 Hz + + + + 2: 125 Hz + + + + 3: 250 Hz + + + + 4: 500 Hz + + + + 5: 1 kHz + + + + 6: 2 kHz + + + + 7: 4 kHz + + + + 8: 8 kHz + + + + 9: 16 kHz + + + diff --git a/dita/RTC-NG/API/enum_audioexternalsourceposition.dita b/dita/RTC-NG/API/enum_audioexternalsourceposition.dita index e7977b9ffb8..9478ee23efa 100644 --- a/dita/RTC-NG/API/enum_audioexternalsourceposition.dita +++ b/dita/RTC-NG/API/enum_audioexternalsourceposition.dita @@ -2,23 +2,25 @@ <ph keyref="AUDIO_EXTERNL_SOURCE_POSITION"/> - +
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +
    枚举值 - - - - -
    + + + + + +
    diff --git a/dita/RTC-NG/API/enum_audiofilerecordingtype.dita b/dita/RTC-NG/API/enum_audiofilerecordingtype.dita index 667b6c0071c..f55201b91b9 100644 --- a/dita/RTC-NG/API/enum_audiofilerecordingtype.dita +++ b/dita/RTC-NG/API/enum_audiofilerecordingtype.dita @@ -2,23 +2,25 @@ <ph keyref="AUDIO_FILE_RECORDING_TYPE"/> - 录音内容。在 中设置。 + 录音内容。在 + 中设置。
    枚举值 - - - 1: 仅录制本地用户的音频。 - - - - 2: 仅录制所有远端用户的音频。 - - - - 3: 录制本地和所有远端用户混音后的音频。 - -
    + + + 1: 仅录制本地用户的音频。 + + + + 2: 仅录制所有远端用户的音频。 + + + + 3: 录制本地和所有远端用户混音后的音频。 + + +
    diff --git a/dita/RTC-NG/API/enum_audioframetype.dita b/dita/RTC-NG/API/enum_audioframetype.dita index eb9207070f6..d4e8ccfd001 100644 --- a/dita/RTC-NG/API/enum_audioframetype.dita +++ b/dita/RTC-NG/API/enum_audioframetype.dita @@ -7,10 +7,11 @@
    枚举值 - - - 0: PCM 16 - -
    + + + 0: PCM 16 + + + diff --git a/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita b/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita index c720797da22..d15a54a81ca 100644 --- a/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita +++ b/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0:原始模式。 - - - - 1:左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。 - - - - 2:右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。 - - - - 3:混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。 - -
    + + + 0:原始模式。 + + + + 1:左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。 + + + + 2:右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。 + + + + 3:混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。 + + + diff --git a/dita/RTC-NG/API/enum_audiomixingerrortype.dita b/dita/RTC-NG/API/enum_audiomixingerrortype.dita index 4a55433624d..59fb030359d 100644 --- a/dita/RTC-NG/API/enum_audiomixingerrortype.dita +++ b/dita/RTC-NG/API/enum_audiomixingerrortype.dita @@ -7,22 +7,23 @@
    枚举值 - - - 音乐文件打开出错。 - - - - 音乐文件打开太频繁。 - - - - 音乐文件播放中断。 - - - - 音乐文件正常播放。 - -
    + + + 音乐文件打开出错。 + + + + 音乐文件打开太频繁。 + + + + 音乐文件播放中断。 + + + + 音乐文件正常播放。 + + + diff --git a/dita/RTC-NG/API/enum_audiomixingreasontype.dita b/dita/RTC-NG/API/enum_audiomixingreasontype.dita index 7d043cd4b01..cb939d74987 100644 --- a/dita/RTC-NG/API/enum_audiomixingreasontype.dita +++ b/dita/RTC-NG/API/enum_audiomixingreasontype.dita @@ -2,55 +2,58 @@ <ph keyref="AUDIO_MIXING_REASON_TYPE"/> - 音乐文件播放状态改变的原因。在 回调中报告。 + 音乐文件播放状态改变的原因。在 回调中报告。
    枚举值 - - - 0: 成功打开音乐文件。 - - - - 701: 音乐文件打开出错。例如,本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL。 - - - - 702: 音乐文件打开太频繁。如需多次调用 startAudioMixing,请确保调用间隔大于 500 ms。 - - - - 703: 音乐文件播放中断。 - - - - 720: 成功调用 startAudioMixing 播放音乐文件。 - - - - 721: 音乐文件完成一次循环播放。 - - - - 722: 音乐文件开始新的一次循环播放。 - - - - 723: 音乐文件完成所有循环播放。 - - - - 724: 成功调用 停止播放音乐文件。 - - - - 725: 成功调用 暂停播放音乐文件。 - - - - 726: 成功调用 恢复播放音乐文件。 - -
    + + + 0: 成功打开音乐文件。 + + + + 701: 音乐文件打开出错。例如,本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL。 + + + + 702: 音乐文件打开太频繁。如需多次调用 startAudioMixing,请确保调用间隔大于 500 + ms。 + + + + 703: 音乐文件播放中断。 + + + + 720: 成功调用 startAudioMixing 播放音乐文件。 + + + + 721: 音乐文件完成一次循环播放。 + + + + 722: 音乐文件开始新的一次循环播放。 + + + + 723: 音乐文件完成所有循环播放。 + + + + 724: 成功调用 停止播放音乐文件。 + + + + 725: 成功调用 暂停播放音乐文件。 + + + + 726: 成功调用 恢复播放音乐文件。 + + +
    diff --git a/dita/RTC-NG/API/enum_audiomixingstatetype.dita b/dita/RTC-NG/API/enum_audiomixingstatetype.dita index 3e7f94f7709..ea84c46990b 100644 --- a/dita/RTC-NG/API/enum_audiomixingstatetype.dita +++ b/dita/RTC-NG/API/enum_audiomixingstatetype.dita @@ -7,53 +7,48 @@
    枚举值 - - - -

    710: 音乐文件正常播放。

    -
    -
    - - - -

    711: 音乐文件暂停播放。

    -
    -
    - - - -

    713: 音乐文件停止播放。

    -

    该状态可能由以下原因导致: - - -

      -
    • (723)
    • -
    • (724)
    • -

    -
    -
    - - - -

    714: 音乐文件播放出错。

    -

    该状态可能由以下原因导致: - - -

      -
    • (701)
    • -
    • (702)
    • -
    • (703)
    • -

    -
    -
    - - - 715: 音乐文件已结束一次播放。 - - - - 716: 音乐文件已结束循环播放。 - -
    + + + +

    710: 音乐文件正常播放。

    +
    +
    + + + +

    711: 音乐文件暂停播放。

    +
    +
    + + + +

    713: 音乐文件停止播放。

    +

    该状态可能由以下原因导致:

      +
    • (723)
    • +
    • (724)
    • +

    +
    +
    + + + +

    714: 音乐文件播放出错。

    +

    该状态可能由以下原因导致:

      +
    • (701)
    • +
    • (702)
    • +
    • (703)
    • +

    +
    +
    + + + 715: 音乐文件已结束一次播放。 + + + + 716: 音乐文件已结束循环播放。 + + + diff --git a/dita/RTC-NG/API/enum_audioprocessingchannels.dita b/dita/RTC-NG/API/enum_audioprocessingchannels.dita index 64a4ff0e6c4..4845e2e60ab 100644 --- a/dita/RTC-NG/API/enum_audioprocessingchannels.dita +++ b/dita/RTC-NG/API/enum_audioprocessingchannels.dita @@ -6,46 +6,54 @@

    在演唱会等需要增强真实感的场景中,本地用户可能需要采集立体声并发送立体声信号给远端用户。 - 例如,在演唱会的舞台上,主唱、吉他手、鼓手分别站在不同的位置,现场设备采集到了三者的立体声,并把立体声信号发送给远端用户,远端用户可以像亲临舞台一样听到来自不同方向的歌声、吉他声和鼓声。

    -

    通过该类,你可以设置双声道处理,实现立体声。建议按如下步骤设置: - - -

      -
    1. 前处理:调用 并在 中设置 audioProcessingChannels (2)。
    2. -
    3. 后处理:调用 并将 profile 设为 (3) 或 (5)。
    4. -

    + 例如,在演唱会的舞台上,主唱、吉他手、鼓手分别站在不同的位置,现场设备采集到了三者的立体声,并把立体声信号发送给远端用户,远端用户可以像亲临舞台一样听到来自不同方向的歌声、吉他声和鼓声。

    +

    通过该类,你可以设置双声道处理,实现立体声。建议按如下步骤设置:

      +
    1. 前处理:调用 并在 中设置 + audioProcessingChannels (2)。
    2. +
    3. 后处理:调用 + 并将 + profile 设为 (3) 或 (5)。
    4. +

    -
      -
    • -

      立体声设置仅在媒体音量下生效。

      -

      如需了解媒体音量和通话音量的区别,详见

      -
    • -
    • 在 iOS 上,立体声对设备性能要求较高。仅支持在 iOS 14.0 及以上版本的如下设备中实现立体声: - -
        -
      • iPhone XS
      • -
      • iPhone XS Max
      • -
      • iPhone XR
      • -
      • iPhone 11
      • -
      • iPhone 11 Pro
      • -
      • iPhone 11 Pro Max
      • -
      • iPhone SE (2020)
      • -
      • 11 英寸 或 12.9 英寸 iPad Pro(第三代)
      • -
      • 11 英寸 或 12.9 英寸 iPad Pro(第四代)
      • -
    • -
    +
  • +

    立体声设置仅在媒体音量下生效。

    +

    如需了解媒体音量和通话音量的区别,详见

    +
  • +
  • 在 iOS 上,立体声对设备性能要求较高。仅支持在 iOS + 14.0 及以上版本的如下设备中实现立体声:
      +
    • iPhone XS
    • +
    • iPhone XS Max
    • +
    • iPhone XR
    • +
    • iPhone 11
    • +
    • iPhone 11 Pro
    • +
    • iPhone 11 Pro Max
    • +
    • iPhone SE (2020)
    • +
    • 11 英寸 或 12.9 英寸 iPad Pro(第三代)
    • +
    • 11 英寸 或 12.9 英寸 iPad Pro(第四代)
    • +
  • + + +
    枚举值 - - - 1: (默认)单声道。 - - - - 2: 双声道。 - -
    + + + 1: (默认)单声道。 + + + + 2: 双声道。 + + +
    diff --git a/dita/RTC-NG/API/enum_audioprofiletype.dita b/dita/RTC-NG/API/enum_audioprofiletype.dita index 5e09f88517c..d1549225d67 100644 --- a/dita/RTC-NG/API/enum_audioprofiletype.dita +++ b/dita/RTC-NG/API/enum_audioprofiletype.dita @@ -7,59 +7,69 @@
    枚举值 - - - -

    0: 默认值。 - - - -

      -
    • 直播场景下:48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。
    • -
    • 通信场景下:32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。 -
        -
      • Windows 平台:16 kHz 采样率,语音编码,单声道,编码码率最大值为 16 Kbps。
      • -
      • Android、macOS、iOS 平台:macOS 平台:32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。
      • -
    • -

    -
    -
    - - - 1: 指定 32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。 - - - - - 2: 指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。 - - - - - 3: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。 -

    如需实现立体声,你还需要调用 并在 中设置 audioProcessingChannels

    -
    -
    - - - 4: 指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 96 Kbps。 - - - - 5: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。 -

    如需实现立体声,你还需要调用 并在 中设置 audioProcessingChannels

    -
    -
    - - - -

    6: 指定 16 kHz 采样率,语音编码,单声道,应用回声消除算法 AES。

    -
    -
    - - - 枚举值边界。 - -
    + + + +

    0: 默认值。

      +
    • 直播场景下:48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。
    • +
    • 通信场景下:32 kHz + 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。 +
        +
      • Windows 平台:16 kHz 采样率,语音编码,单声道,编码码率最大值为 16 Kbps。
      • +
      • Android、macOS、iOS 平台:macOS 平台:32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 + Kbps。
      • +
      +
    • +
    +

    +
    +
    + + + 1: 指定 32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。 + + + + 2: 指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。 + + + + 3: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。 +

    如需实现立体声,你还需要调用 并在 中设置 + audioProcessingChannels

    +
    +
    + + + 4: 指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 96 Kbps。 + + + + 5: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。 +

    如需实现立体声,你还需要调用 并在 中设置 + audioProcessingChannels

    +
    +
    + + + +

    6: 指定 16 kHz 采样率,语音编码,单声道,应用回声消除算法 AES。

    +
    +
    + + + 枚举值边界。 + + + diff --git a/dita/RTC-NG/API/enum_audiorangemodetype.dita b/dita/RTC-NG/API/enum_audiorangemodetype.dita index 5f22a7673e5..c20d0843bf9 100644 --- a/dita/RTC-NG/API/enum_audiorangemodetype.dita +++ b/dita/RTC-NG/API/enum_audiorangemodetype.dita @@ -7,19 +7,24 @@
    枚举值 - - - 0: 所有人模式。该模式下,用户能否和房间内其他用户互相听见取决于双方设置的音频接收范围、音频范围模式和队伍 ID。 -
      -
    • 如果用户 A 和 B 都设置了 模式,当用户 A 和 B 互相在音频接收范围内或属于同一队伍时,A 和 B 可以互相听见。
    • -
    • 如果用户 A 和 B 分别设置了 模式,只有当 A 和 B 属于同一队伍时才能互相听见。
    • -
    • -
    -
    - - - 1: 队伍模式。该模式下,用户只能和房间内同一队伍的其他用户互相听见。 - -
    + + + 0: 所有人模式。该模式下,用户能否和房间内其他用户互相听见取决于双方设置的音频接收范围、音频范围模式和队伍 + ID。 +
      +
    • 如果用户 A 和 B 都设置了 模式,当用户 A + 和 B 互相在音频接收范围内或属于同一队伍时,A 和 B 可以互相听见。
    • +
    • 如果用户 A 和 B 分别设置了 和 + 模式,只有当 A 和 B + 属于同一队伍时才能互相听见。
    • +
    • +
    +
    + + + 1: 队伍模式。该模式下,用户只能和房间内同一队伍的其他用户互相听见。 + + + diff --git a/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita b/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita index 7fbbde81269..785f4eecd37 100644 --- a/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita +++ b/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita @@ -1,28 +1,33 @@ - <ph keyref="AUDIO_RECORDING_QUALITY_TYPE"/> - 录音音质。 + + <ph keyref="AUDIO_RECORDING_QUALITY_TYPE"/> + + + 录音音质。 +
    枚举值 - - - 0: 低音质。采样率为 32 kHz,录制 10 分钟的文件大小为 1.2 M 左右。 - - - - 1: 中音质。采样率为 32 kHz,录制 10 分钟的文件大小为 2 M 左右。 - - - - 2: 高音质。采样率为 32 kHz,录制 10 分钟的文件大小为 3.75 M 左右。 - - - - 3: 超高音质。采样率为 32 KHz,录制 10 分钟的文件大小约为 7.5 M 左右。 - -
    + + + 0: 低音质。采样率为 32 kHz,录制 10 分钟的文件大小为 1.2 M 左右。 + + + + 1: 中音质。采样率为 32 kHz,录制 10 分钟的文件大小为 2 M 左右。 + + + + 2: 高音质。采样率为 32 kHz,录制 10 分钟的文件大小为 3.75 M 左右。 + + + + 3: 超高音质。采样率为 32 KHz,录制 10 分钟的文件大小约为 7.5 M 左右。 + + +
    diff --git a/dita/RTC-NG/API/enum_audioreverbpreset.dita b/dita/RTC-NG/API/enum_audioreverbpreset.dita index ff5f7bc35f4..59f5ae0c7bd 100644 --- a/dita/RTC-NG/API/enum_audioreverbpreset.dita +++ b/dita/RTC-NG/API/enum_audioreverbpreset.dita @@ -6,51 +6,52 @@
    - -
    弃用:
    -
    自 v3.2.0 废弃。
    -
    + +
    弃用:
    +
    自 v3.2.0 废弃。
    +
    枚举值 - - - 原声,即关闭本地语音混响。 - - - - KTV(增强版)。 - - - - 演唱会(增强版)。 - - - - 大叔。 - - - - 小姐姐。 - - - - 录音棚(增强版)。 - - - - 流行(增强版)。 - - - - R&B(增强版)。 - - - - 留声机。 - -
    + + + 原声,即关闭本地语音混响。 + + + + KTV(增强版)。 + + + + 演唱会(增强版)。 + + + + 大叔。 + + + + 小姐姐。 + + + + 录音棚(增强版)。 + + + + 流行(增强版)。 + + + + R&B(增强版)。 + + + + 留声机。 + + +
    diff --git a/dita/RTC-NG/API/enum_audioreverbtype.dita b/dita/RTC-NG/API/enum_audioreverbtype.dita index 4429e7a0232..3a55413865d 100644 --- a/dita/RTC-NG/API/enum_audioreverbtype.dita +++ b/dita/RTC-NG/API/enum_audioreverbtype.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0: 原始声音强度,即所谓的 dry signal,取值范围 [-20,10],单位为 dB。 - - - - 1: 早期反射信号强度,即所谓的 wet signal,取值范围 [-20,10],单位为 dB。 - - - - 2: 所需混响效果的房间尺寸,一般房间越大,混响越强,取值范围 [0,100],单位为 dB。 - - - - 3: Wet signal 的初始延迟长度,取值范围 [0,200],单位为毫秒。 - - - - 4: 混响持续的强度,取值范围为 [0,100]。 - -
    + + + 0: 原始声音强度,即所谓的 dry signal,取值范围 [-20,10],单位为 dB。 + + + + 1: 早期反射信号强度,即所谓的 wet signal,取值范围 [-20,10],单位为 dB。 + + + + 2: 所需混响效果的房间尺寸,一般房间越大,混响越强,取值范围 [0,100],单位为 dB。 + + + + 3: Wet signal 的初始延迟长度,取值范围 [0,200],单位为毫秒。 + + + + 4: 混响持续的强度,取值范围为 [0,100]。 + + + diff --git a/dita/RTC-NG/API/enum_audioroute.dita b/dita/RTC-NG/API/enum_audioroute.dita index 09f1a97610a..a9d2fbe4d75 100644 --- a/dita/RTC-NG/API/enum_audioroute.dita +++ b/dita/RTC-NG/API/enum_audioroute.dita @@ -7,59 +7,71 @@
    枚举值 - - - -1: 使用默认的音频路由。 - - - - 0: 音频路由为带麦克风的耳机。 - - - - 1: 音频路由为听筒。 - - - - 2: 音频路由为不带麦克风的耳机。 - - - - 3: 音频路由为设备自带的扬声器。 - - - - 4: 音频路由为外接的扬声器。(仅适用于 iOS 和 macOS)(仅适用于 iOS)(仅适用于 macOS) - 4:预留。 - - - - 5: 音频路由为使用 HFP 协议的蓝牙设备。 - - - - 6: 音频路由为 USB 外围设备。(仅适用于 macOS) - 6:预留。 - - - - 7: 音频路由为 HDMI 外围设备。(仅适用于 macOS) - 7:预留。 - - - - 8: 音频路由为 DisplayPort 外围设备。(仅适用于 macOS) - 8:预留。 - - - - 9: 音频路由为 Apple AirPlay。(仅适用于 macOS) - 9:预留。 - - - - 10: 音频路由为使用 A2DP 协议的蓝牙设备。 - -
    + + + -1: 使用默认的音频路由。 + + + + 0: 音频路由为带麦克风的耳机。 + + + + 1: 音频路由为听筒。 + + + + 2: 音频路由为不带麦克风的耳机。 + + + + 3: 音频路由为设备自带的扬声器。 + + + + 4: + 音频路由为外接的扬声器。(仅适用于 iOS 和 + macOS)(仅适用于 iOS)(仅适用于 + macOS) + 4:预留。 + + + + 5: 音频路由为使用 HFP 协议的蓝牙设备。 + + + + 6: 音频路由为 USB + 外围设备。(仅适用于 + macOS) + 6:预留。 + + + + 7: 音频路由为 HDMI + 外围设备。(仅适用于 + macOS) + 7:预留。 + + + + 8: 音频路由为 DisplayPort + 外围设备。(仅适用于 + macOS) + 8:预留。 + + + + 9: 音频路由为 Apple + AirPlay。(仅适用于 + macOS) + 9:预留。 + + + + 10: 音频路由为使用 A2DP 协议的蓝牙设备。 + + + diff --git a/dita/RTC-NG/API/enum_audiosampleratetype.dita b/dita/RTC-NG/API/enum_audiosampleratetype.dita index beac2c59a69..92756298127 100644 --- a/dita/RTC-NG/API/enum_audiosampleratetype.dita +++ b/dita/RTC-NG/API/enum_audiosampleratetype.dita @@ -7,18 +7,19 @@
    枚举值 - - - 32000: 32 kHz - - - - 44100: 44.1 kHz - - - - 48000: (默认)48 kHz - -
    + + + 32000: 32 kHz + + + + 44100: 44.1 kHz + + + + 48000: (默认)48 kHz + + + diff --git a/dita/RTC-NG/API/enum_audioscenariotype.dita b/dita/RTC-NG/API/enum_audioscenariotype.dita index 94bd2ec054d..f0aa4d32324 100644 --- a/dita/RTC-NG/API/enum_audioscenariotype.dita +++ b/dita/RTC-NG/API/enum_audioscenariotype.dita @@ -5,34 +5,37 @@ 音频场景。
    - 枚举值 - - - - 0: (默认)自动场景,根据用户角色和音频路由自动匹配合适的音质。 - - - - 3: 高音质场景,适用于音乐为主的场景。例如:乐器陪练。 - - - - 5: 聊天室场景,适用于用户需要频繁上下麦的场景。例如:教育场景。该场景下,观众会收到申请麦克风权限的弹窗提示。 - - - - 7: 合唱场景。适用于网络条件良好,要求极低延时的实时合唱场景。 - 使用该枚举前,你需要调用 获取音频设备是否支持极低延时采集和播放。只有在支持极低延时(isLowLatencyAudioSupported = )的音频设备上,才能够体验到极低延时。 - - - - - 8: 会议场景,适用于人声为主的多人会议。 - - + 枚举值 + + + + 0: (默认)自动场景,根据用户角色和音频路由自动匹配合适的音质。 + + + + 3: 高音质场景,适用于音乐为主的场景。例如:乐器陪练。 + + + + 5: 聊天室场景,适用于用户需要频繁上下麦的场景。例如:教育场景。该场景下,观众会收到申请麦克风权限的弹窗提示。 + + + + 7: 合唱场景。适用于网络条件良好,要求极低延时的实时合唱场景。 使用该枚举前,你需要调用 + 获取音频设备是否支持极低延时采集和播放。只有在支持极低延时(isLowLatencyAudioSupported + = )的音频设备上,才能够体验到极低延时。 + + + + + 8: 会议场景,适用于人声为主的多人会议。 + + 枚举的数量。 - -
    + + + diff --git a/dita/RTC-NG/API/enum_audiosessionoperationrestriction.dita b/dita/RTC-NG/API/enum_audiosessionoperationrestriction.dita index e6ebd8b4250..8376ff543fb 100644 --- a/dita/RTC-NG/API/enum_audiosessionoperationrestriction.dita +++ b/dita/RTC-NG/API/enum_audiosessionoperationrestriction.dita @@ -7,26 +7,27 @@
    枚举值 - - - 没有限制,SDK 可以对 Audio Session 进行更改。 - - - - SDK 不能更改 Audio Session 的 category。 - - - - SDK 不能更改 Audio Session 的 category、mode 或 categoryOptions。 - - - - 离开频道时,SDK 会保持 Audio Session 处于活动状态,例如在后台播放音频。 - - - - 完全限制 SDK 对 Audio Session 的操作权限,SDK 不能再对 Audio Session 进行任何更改。 - -
    + + + 没有限制,SDK 可以对 Audio Session 进行更改。 + + + + SDK 不能更改 Audio Session 的 category。 + + + + SDK 不能更改 Audio Session 的 category、mode 或 categoryOptions。 + + + + 离开频道时,SDK 会保持 Audio Session 处于活动状态,例如在后台播放音频。 + + + + 完全限制 SDK 对 Audio Session 的操作权限,SDK 不能再对 Audio Session 进行任何更改。 + + + diff --git a/dita/RTC-NG/API/enum_audiotracktype.dita b/dita/RTC-NG/API/enum_audiotracktype.dita index 3769819f766..ef1a5171aeb 100644 --- a/dita/RTC-NG/API/enum_audiotracktype.dita +++ b/dita/RTC-NG/API/enum_audiotracktype.dita @@ -7,16 +7,21 @@
    枚举值 - - - 0:可混流的音频轨道。支持与其他音频流 (例如:麦克风采集的音频流) 混音后,再在本地播放或发布到频道中。与非混流的音频轨道相比,延迟更高。 - - - - -

    1:非混流的音频轨道。会替代麦克风采集,且不支持与其他音频流混音。与可混流的音频轨道相比,延迟更低。

    - 如指定 ,则必须在调用 加入频道时,将 中的 publishMicrophoneTrack 设为 ,否则加入频道失败并返回错误码 -2.
    -
    -
    + + + 0:可混流的音频轨道。支持与其他音频流 (例如:麦克风采集的音频流) 混音后,再在本地播放或发布到频道中。与非混流的音频轨道相比,延迟更高。 + + + + +

    1:非混流的音频轨道。会替代麦克风采集,且不支持与其他音频流混音。与可混流的音频轨道相比,延迟更低。

    + 如指定 ,则必须在调用 + 加入频道时,将 中的 + publishMicrophoneTrack 设为 ,否则加入频道失败并返回错误码 -2.
    +
    + + diff --git a/dita/RTC-NG/API/enum_backgroundblurdegree.dita b/dita/RTC-NG/API/enum_backgroundblurdegree.dita index 81beca0e04b..2ccb8da81d2 100644 --- a/dita/RTC-NG/API/enum_backgroundblurdegree.dita +++ b/dita/RTC-NG/API/enum_backgroundblurdegree.dita @@ -7,18 +7,19 @@
    枚举值 - - - 1: 自定义背景图的虚化程度为低。用户差不多能看清背景。 - - - - 2: 自定义背景图的虚化程度为中。用户较难看清背景。 - - - - 3:(默认)自定义背景图的虚化程度为高。用户很难看清背景。 - -
    + + + 1: 自定义背景图的虚化程度为低。用户差不多能看清背景。 + + + + 2: 自定义背景图的虚化程度为中。用户较难看清背景。 + + + + 3:(默认)自定义背景图的虚化程度为高。用户很难看清背景。 + + + diff --git a/dita/RTC-NG/API/enum_backgroundsourcetype.dita b/dita/RTC-NG/API/enum_backgroundsourcetype.dita index cd7d8660b08..8a72f756fba 100644 --- a/dita/RTC-NG/API/enum_backgroundsourcetype.dita +++ b/dita/RTC-NG/API/enum_backgroundsourcetype.dita @@ -7,26 +7,28 @@
    枚举值 - - - 0: 将背景处理为 alpha 信息,不作替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。 - - - - 1:(默认)背景为纯色。 - - - - 2: 背景为 PNG、JPG 格式的图片。 - - - - 3: 背景为虚化处理后的背景。 - - - - 4: 背景为 MP4、AVI、MKV、FLV 等格式的本地视频。 - -
    + + + 0: 将背景处理为 alpha 信息,不作替换,仅分割人像和背景。设置后,你可以调用 ,实现人像画中画的效果。 + + + + 1:(默认)背景为纯色。 + + + + 2: 背景为 PNG、JPG 格式的图片。 + + + + 3: 背景为虚化处理后的背景。 + + + + 4: 背景为 MP4、AVI、MKV、FLV 等格式的本地视频。 + + + diff --git a/dita/RTC-NG/API/enum_bitrate.dita b/dita/RTC-NG/API/enum_bitrate.dita index b33465db17f..f03cb98f4d3 100644 --- a/dita/RTC-NG/API/enum_bitrate.dita +++ b/dita/RTC-NG/API/enum_bitrate.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0:(默认) 标准码率模式。 - - - - -1:适配码率模式。 - - - - 使用系统默认最低编码码率。 - - - - 预留。 - -
    + + + 0:(默认) 标准码率模式。 + + + + -1:适配码率模式。 + + + + 使用系统默认最低编码码率。 + + + + 预留。 + + + diff --git a/dita/RTC-NG/API/enum_cameradirection.dita b/dita/RTC-NG/API/enum_cameradirection.dita index 7d9f042c7a4..2ad720c3b9e 100644 --- a/dita/RTC-NG/API/enum_cameradirection.dita +++ b/dita/RTC-NG/API/enum_cameradirection.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0: 后置摄像头。 - - - - 1: (默认)前置摄像头。 - - - - 2: 外接摄像头。 - -
    + + + 0: 后置摄像头。 + + + + 1: (默认)前置摄像头。 + + + + 2: 外接摄像头。 + + + diff --git a/dita/RTC-NG/API/enum_camerafocallengthtype.dita b/dita/RTC-NG/API/enum_camerafocallengthtype.dita index 8acef4ae250..1fb12ae94d0 100644 --- a/dita/RTC-NG/API/enum_camerafocallengthtype.dita +++ b/dita/RTC-NG/API/enum_camerafocallengthtype.dita @@ -30,9 +30,9 @@ - 3:(仅适用于 iOS)长焦镜头。 - + 3:(仅适用于 iOS)长焦镜头。 - + + diff --git a/dita/RTC-NG/API/enum_camerastabilizationmode.dita b/dita/RTC-NG/API/enum_camerastabilizationmode.dita index 5058afddb12..f1b62f5350a 100644 --- a/dita/RTC-NG/API/enum_camerastabilizationmode.dita +++ b/dita/RTC-NG/API/enum_camerastabilizationmode.dita @@ -37,5 +37,6 @@ 3:摄像头 3 级防抖。 - + + diff --git a/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita b/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita index 464464699cb..2dccdd001dd 100644 --- a/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita +++ b/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita @@ -7,22 +7,24 @@
    枚举值 - - - -1: SDK 未检测出本地采集的画质亮度级别。请等待几秒,通过下一次回调的 captureBrightnessLevel 获取亮度级别。 - - - - 0: 本地采集的画质亮度正常。 - - - - 1: 本地采集的画质亮度偏亮。 - - - - 2: 本地采集的画质亮度偏暗。 - -
    + + + -1: SDK 未检测出本地采集的画质亮度级别。请等待几秒,通过下一次回调的 + captureBrightnessLevel 获取亮度级别。 + + + + 0: 本地采集的画质亮度正常。 + + + + 1: 本地采集的画质亮度偏亮。 + + + + 2: 本地采集的画质亮度偏暗。 + + + diff --git a/dita/RTC-NG/API/enum_captureroutputpreference.dita b/dita/RTC-NG/API/enum_captureroutputpreference.dita index 57b39b65489..4dd62b3a6b9 100644 --- a/dita/RTC-NG/API/enum_captureroutputpreference.dita +++ b/dita/RTC-NG/API/enum_captureroutputpreference.dita @@ -7,24 +7,26 @@
    枚举值 - - - 0:(默认)自动调整采集参数。SDK 根据实际的采集设备性能及网络情况,选择合适的摄像头输出参数,在设备性能及视频预览质量之间,维持平衡。 - - - - 1: 优先保证设备性能。SDK 根据用户在 中设置编码器的分辨率和帧率,选择最接近的摄像头输出参数,从而保证设备性能。在这种情况下,预览质量接近于编码器的输出质量。 - - - - 2: 优先保证视频预览质量。SDK 选择较高的摄像头输出参数,从而提高预览视频的质量。在这种情况下,会消耗更多的 CPU 及内存做视频前处理。 - - - - -

    3: 允许用户设置本地摄像头采集的视频宽高。

    -
    -
    -
    + + + 0:(默认)自动调整采集参数。SDK 根据实际的采集设备性能及网络情况,选择合适的摄像头输出参数,在设备性能及视频预览质量之间,维持平衡。 + + + + 1: 优先保证设备性能。SDK 根据用户在 + 中设置编码器的分辨率和帧率,选择最接近的摄像头输出参数,从而保证设备性能。在这种情况下,预览质量接近于编码器的输出质量。 + + + + 2: 优先保证视频预览质量。SDK 选择较高的摄像头输出参数,从而提高预览视频的质量。在这种情况下,会消耗更多的 CPU 及内存做视频前处理。 + + + + +

    3: 允许用户设置本地摄像头采集的视频宽高。

    +
    +
    + + diff --git a/dita/RTC-NG/API/enum_channelmediarelayerror.dita b/dita/RTC-NG/API/enum_channelmediarelayerror.dita index efd7c62bbd3..381d3f3d0dd 100644 --- a/dita/RTC-NG/API/enum_channelmediarelayerror.dita +++ b/dita/RTC-NG/API/enum_channelmediarelayerror.dita @@ -7,58 +7,62 @@
    枚举值 - - - 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 已过期。 + + + diff --git a/dita/RTC-NG/API/enum_channelmediarelayevent.dita b/dita/RTC-NG/API/enum_channelmediarelayevent.dita index 787d98c8fe9..e6dd9497ba6 100644 --- a/dita/RTC-NG/API/enum_channelmediarelayevent.dita +++ b/dita/RTC-NG/API/enum_channelmediarelayevent.dita @@ -6,75 +6,80 @@
    - -
    弃用
    -
    该类已废弃。
    -
    + +
    弃用
    +
    该类已废弃。
    +
    枚举值 - - - 0: 网络中断导致用户与服务器连接断开。 - - - - 1: 用户与服务器建立连接。 - - - - 2: 用户已加入源频道。 - - - - 3: 用户已加入目标频道。 - - - - 4: SDK 开始向目标频道发送数据包。 - - - - 5: 服务器收到了频道发送的视频流。 - - - - 6: 服务器收到了频道发送的音频流。 - - - - 7: 目标频道已更新。 - - - - 9: 目标频道未发生改变,即目标频道更新失败。 - - - - 10: 目标频道名为 - - - - 11: 视频属性已发送至服务器。 - - - - 12: 暂停向目标频道转发媒体流成功。 - - - - 13: 暂停向目标频道转发媒体流失败。 - - - - 14: 恢复向目标频道转发媒体流成功。 - - - - 15: 恢复向目标频道转发媒体流失败。 - -
    + + + 0: 网络中断导致用户与服务器连接断开。 + + + + 1: 用户与服务器建立连接。 + + + + 2: 用户已加入源频道。 + + + + 3: 用户已加入目标频道。 + + + + 4: SDK 开始向目标频道发送数据包。 + + + + 5: 服务器收到了频道发送的视频流。 + + + + 6: 服务器收到了频道发送的音频流。 + + + + 7: 目标频道已更新。 + + + + 9: 目标频道未发生改变,即目标频道更新失败。 + + + + 10: 目标频道名为 + + + + 11: 视频属性已发送至服务器。 + + + + 12: 暂停向目标频道转发媒体流成功。 + + + + 13: 暂停向目标频道转发媒体流失败。 + + + + 14: 恢复向目标频道转发媒体流成功。 + + + + 15: 恢复向目标频道转发媒体流失败。 + + +
    diff --git a/dita/RTC-NG/API/enum_channelmediarelaystate.dita b/dita/RTC-NG/API/enum_channelmediarelaystate.dita index 9f7b1c5711a..fa47052c6fe 100644 --- a/dita/RTC-NG/API/enum_channelmediarelaystate.dita +++ b/dita/RTC-NG/API/enum_channelmediarelaystate.dita @@ -7,22 +7,25 @@
    枚举值 - - - 0: 初始状态。在成功调用 停止跨频道媒体流转发后, 会回调该状态。 - - - - 1: SDK 尝试跨频道。 - - - - 2: 源频道主播成功加入目标频道。 - - - - 3: 发生异常,详见 code 参数提示的错误信息。 - -
    + + + 0: 初始状态。在成功调用 停止跨频道媒体流转发后, 会回调该状态。 + + + + 1: SDK 尝试跨频道。 + + + + 2: 源频道主播成功加入目标频道。 + + + + 3: 发生异常,详见 的 + code 参数提示的错误信息。 + + + diff --git a/dita/RTC-NG/API/enum_channelprofiletype.dita b/dita/RTC-NG/API/enum_channelprofiletype.dita index efc60a3dfb8..881b9ef1f1b 100644 --- a/dita/RTC-NG/API/enum_channelprofiletype.dita +++ b/dita/RTC-NG/API/enum_channelprofiletype.dita @@ -7,34 +7,35 @@
    枚举值 - - - 0: 通信场景。声网推荐使用直播场景以获取更好的音视频体验。 - - - - 1:(默认)直播场景。 - - - - 2: (已废弃)游戏场景。 -
    - -
    废弃:
    -
    请改用
    -
    -
    -
    - - - 3: 互动场景。该场景对延时进行了优化。如果你的场景中有用户需要频繁互动,建议使用该场景。 -
    - -
    废弃:
    -
    请改用
    -
    -
    -
    -
    + + + 0: 通信场景。声网推荐使用直播场景以获取更好的音视频体验。 + + + + 1:(默认)直播场景。 + + + + 2: (已废弃)游戏场景。
    + +
    废弃:
    +
    请改用
    +
    +
    +
    +
    + + + 3: 互动场景。该场景对延时进行了优化。如果你的场景中有用户需要频繁互动,建议使用该场景。
    + +
    废弃:
    +
    请改用
    +
    +
    +
    +
    + + diff --git a/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita b/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita index a551c421d4b..6a6b15c7881 100644 --- a/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita +++ b/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita @@ -10,7 +10,8 @@

    1: 频道内主播人数达到上限。

    - 该枚举仅在开启 128 人功能后报告。主播人数的上限根据开启 128 人功能时实际配置的人数而定。
    + 该枚举仅在开启 128 人功能后报告。主播人数的上限根据开启 128 + 人功能时实际配置的人数而定。
    @@ -19,11 +20,13 @@

    3: 请求超时。建议提示用户检查网络连接状况后重新尝试切换用户角色。

    -
    +
    -

    4: 网络连接断开。可根据 报告的 reason,排查网络连接失败的具体原因。

    -
    +

    4: 网络连接断开。可根据 报告的 + reason,排查网络连接失败的具体原因。

    + - + + diff --git a/dita/RTC-NG/API/enum_clientroletype.dita b/dita/RTC-NG/API/enum_clientroletype.dita index b170cbdec64..ae27857898c 100644 --- a/dita/RTC-NG/API/enum_clientroletype.dita +++ b/dita/RTC-NG/API/enum_clientroletype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 1: 主播。主播可以发流也可以收流。 - - - - 2:(默认)观众。观众只能收流不能发流。 - -
    + + + 1: 主播。主播可以发流也可以收流。 + + + + 2:(默认)观众。观众只能收流不能发流。 + + + diff --git a/dita/RTC-NG/API/enum_cloudproxytype.dita b/dita/RTC-NG/API/enum_cloudproxytype.dita index 21224f8af20..41f29a00fd5 100644 --- a/dita/RTC-NG/API/enum_cloudproxytype.dita +++ b/dita/RTC-NG/API/enum_cloudproxytype.dita @@ -7,18 +7,18 @@
    枚举值 - - - 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 传输数据。 +
    diff --git a/dita/RTC-NG/API/enum_codeccapmask.dita b/dita/RTC-NG/API/enum_codeccapmask.dita index d15da7b7589..0816ff9e6fb 100644 --- a/dita/RTC-NG/API/enum_codeccapmask.dita +++ b/dita/RTC-NG/API/enum_codeccapmask.dita @@ -6,19 +6,19 @@
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    枚举值 - - - (0):不支持编解码。 - + + + (0):不支持编解码。 + (1 << 0):支持硬件解码。 @@ -35,6 +35,7 @@ (1 << 3):支持软件编码。 -
    + +
    diff --git a/dita/RTC-NG/API/enum_compressionpreference.dita b/dita/RTC-NG/API/enum_compressionpreference.dita index e7e37c87a39..426eab2e6d5 100644 --- a/dita/RTC-NG/API/enum_compressionpreference.dita +++ b/dita/RTC-NG/API/enum_compressionpreference.dita @@ -6,27 +6,26 @@
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    枚举值 - - - 0: 低延时偏好。SDK 会对视频帧进行压缩处理,以降低延时。该偏好适用于流畅性优先且允许画质降低的场景。 - + + + 0: 低延时偏好。SDK 会对视频帧进行压缩处理,以降低延时。该偏好适用于流畅性优先且允许画质降低的场景。 + - - - 1:(默认)高质量偏好。SDK 会对视频帧进行压缩处理,同时保持视频质量。该偏好适用于画质优先的场景。 - - - -
    + + + 1:(默认)高质量偏好。SDK 会对视频帧进行压缩处理,同时保持视频质量。该偏好适用于画质优先的场景。 + + +
    diff --git a/dita/RTC-NG/API/enum_connectionchangedreasontype.dita b/dita/RTC-NG/API/enum_connectionchangedreasontype.dita index 1ae6178ba54..068d702314c 100644 --- a/dita/RTC-NG/API/enum_connectionchangedreasontype.dita +++ b/dita/RTC-NG/API/enum_connectionchangedreasontype.dita @@ -7,102 +7,105 @@
    枚举值 - - - 0: 建立网络连接中。 - - - - 1: 成功加入频道。 - - - - 2: 网络连接中断。 - - - - 3: 网络连接被服务器禁止。服务端踢人场景时会报这个错。 - - - - 4: 加入频道失败。SDK 在尝试加入频道 20 分钟后还是没能加入频道,会返回该状态,并停止尝试重连。 - - - - 5: 离开频道。 - - - - 6: 不是有效的 APP ID。请更换有效的 APP ID 重新加入频道。 - - - - 7: 不是有效的频道名。请更换有效的频道名重新加入频道。 - - - - -

    8: 生成的 Token 无效。一般有以下原因: -

      -
    • 在控制台上启用了 App Certificate,但加入频道未使用 Token。当启用了 App Certificate,必须使用 Token。
    • -
    • 在调用 加入频道时指定的用户 ID 与生成 Token 时传入的用户 ID 不一致。
    • -

    -
    -
    - - - 9: 当前使用的 Token 过期,不再有效,需要重新在你的服务端申请生成 Token。 - - - - -

    10: 此用户被服务器禁止。一般有以下原因: -

      -
    • 用户已进入频道,再次调用加入频道的 API,例如 ,会返回此状态。停止调用该方法即可。
    • -
    • 用户在进行通话测试时尝试加入频道。等待通话测试结束后再加入频道即可。
    • -

    -
    -
    - - - 11: 由于设置了代理服务器,SDK 尝试重连。 - - - - 12: 更新 Token 引起网络连接状态改变。 - - - - 13: 客户端 IP 地址变更,可能是由于网络类型,或网络运营商的 IP 或端口发生改变引起。 - - - - 14: SDK 和服务器连接保活超时,进入自动重连状态。 - - - - 15: 重新加入频道成功。 - - - - 16: SDK 和服务器失去连接。 - - - - 17: 连接状态变化由回声测试引起。 - - - - 18: 本地 IP 地址被用户更改。 - - - - 19: 使用相同的 UID 从不同的设备加入同一频道。 - - - - 20: 频道内主播人数已达上限。 - -
    + + + 0: 建立网络连接中。 + + + + 1: 成功加入频道。 + + + + 2: 网络连接中断。 + + + + 3: 网络连接被服务器禁止。服务端踢人场景时会报这个错。 + + + + 4: 加入频道失败。SDK 在尝试加入频道 20 分钟后还是没能加入频道,会返回该状态,并停止尝试重连。 + + + + 5: 离开频道。 + + + + 6: 不是有效的 APP ID。请更换有效的 APP ID 重新加入频道。 + + + + 7: 不是有效的频道名。请更换有效的频道名重新加入频道。 + + + + +

    8: 生成的 Token 无效。一般有以下原因:

      +
    • 在控制台上启用了 App Certificate,但加入频道未使用 Token。当启用了 App + Certificate,必须使用 Token。
    • +
    • 在调用 加入频道时指定的用户 ID 与生成 Token + 时传入的用户 ID 不一致。
    • +

    +
    +
    + + + 9: 当前使用的 Token 过期,不再有效,需要重新在你的服务端申请生成 Token。 + + + + +

    10: 此用户被服务器禁止。一般有以下原因:

      +
    • 用户已进入频道,再次调用加入频道的 API,例如 ,会返回此状态。停止调用该方法即可。
    • +
    • 用户在进行通话测试时尝试加入频道。等待通话测试结束后再加入频道即可。
    • +
    +

    +
    +
    + + + 11: 由于设置了代理服务器,SDK 尝试重连。 + + + + 12: 更新 Token 引起网络连接状态改变。 + + + + 13: 客户端 IP 地址变更,可能是由于网络类型,或网络运营商的 IP 或端口发生改变引起。 + + + + 14: SDK 和服务器连接保活超时,进入自动重连状态。 + + + + 15: 重新加入频道成功。 + + + + 16: SDK 和服务器失去连接。 + + + + 17: 连接状态变化由回声测试引起。 + + + + 18: 本地 IP 地址被用户更改。 + + + + 19: 使用相同的 UID 从不同的设备加入同一频道。 + + + + 20: 频道内主播人数已达上限。 + + + diff --git a/dita/RTC-NG/API/enum_connectionstatetype.dita b/dita/RTC-NG/API/enum_connectionstatetype.dita index 8374c4ed44f..a50dba1480f 100644 --- a/dita/RTC-NG/API/enum_connectionstatetype.dita +++ b/dita/RTC-NG/API/enum_connectionstatetype.dita @@ -7,56 +7,58 @@
    枚举值 - - - -

    1: 网络连接断开。该状态表示 SDK 处于: - - -

      -
    • 调用 加入频道前的初始化阶段。
    • -
    • 或调用 后的离开频道阶段。
    • -

    -
    -
    - - - -

    2: 建立网络连接中。该状态表示 SDK 在调用 后正在与指定的频道建立连接。 - - -

      -
    • 如果成功加入频道,App 会收到 回调,通知当前网络状态变成
    • -
    • 建立连接后,SDK 还会初始化媒体,一切就绪后会回调
    • -

    -
    -
    - - - 3: 网络已连接。该状态表示用户已经加入频道,可以在频道内发布或订阅媒体流。如果因网络断开或切换而导致 SDK 与频道的连接中断,SDK 会自动重连,此时 App 会收到 - 回调,通知当前网络状态变成 - - - - -

    4: 重新建立网络连接中。该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。 - -

      -
    • 如果 SDK 无法在 10 秒内重新加入频道,则 会被触发,SDK 会一直保持在 的状态,并不断尝试重新加入频道。
    • -
    • 如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,则应用程序会收到 回调,通知 App 的网络状态进入 ,SDK 停止尝试重连。
    • -

    -
    -
    - - - -

    5: 网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,需要调用 离开频道。 -

      -
    • 如果用户还想重新加入频道,则需要再次调用
    • -
    • 如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则 App 会收到
    • -

    -
    -
    -
    + + + +

    1: 网络连接断开。该状态表示 SDK 处于:

      +
    • 调用 加入频道前的初始化阶段。
    • +
    • 或调用 后的离开频道阶段。
    • +

    +
    +
    + + + +

    2: 建立网络连接中。该状态表示 SDK 在调用 后正在与指定的频道建立连接。

      +
    • 如果成功加入频道,App 会收到 + 回调,通知当前网络状态变成
    • +
    • 建立连接后,SDK 还会初始化媒体,一切就绪后会回调
    • +

    +
    +
    + + + 3: 网络已连接。该状态表示用户已经加入频道,可以在频道内发布或订阅媒体流。如果因网络断开或切换而导致 SDK 与频道的连接中断,SDK + 会自动重连,此时 App 会收到 回调,通知当前网络状态变成 + + + + +

    4: 重新建立网络连接中。该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。

      +
    • 如果 SDK 无法在 10 秒内重新加入频道,则 + 会被触发,SDK 会一直保持在 + 的状态,并不断尝试重新加入频道。
    • +
    • 如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,则应用程序会收到 回调,通知 App 的网络状态进入 ,SDK 停止尝试重连。
    • +

    +
    +
    + + + +

    5: 网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,需要调用 + 离开频道。

      +
    • 如果用户还想重新加入频道,则需要再次调用
    • +
    • 如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则 App 会收到
    • +

    +
    +
    + + diff --git a/dita/RTC-NG/API/enum_contentinspectdevicetype.dita b/dita/RTC-NG/API/enum_contentinspectdevicetype.dita index dd766e2d7ea..002a7abb3d6 100644 --- a/dita/RTC-NG/API/enum_contentinspectdevicetype.dita +++ b/dita/RTC-NG/API/enum_contentinspectdevicetype.dita @@ -7,22 +7,25 @@
    枚举值 - - - 0:无效值,表示不进行客户端内容审核。如果你将 设置为 ,则需要将 设置为该值。 - - - - 1:(默认)通过 SDK 进行客户端内容审核。 - - - - 2:通过客户端 HIVE 进行鉴黄。 - - - - 3:通过客户端 TUPU 进行鉴黄。 - -
    + + + 0:无效值,表示不进行客户端内容审核。如果你将 设置为 ,则需要将 设置为该值。 + + + + 1:(默认)通过 SDK 进行客户端内容审核。 + + + + 2:通过客户端 HIVE 进行鉴黄。 + + + + 3:通过客户端 TUPU 进行鉴黄。 + + + diff --git a/dita/RTC-NG/API/enum_contentinspectresult.dita b/dita/RTC-NG/API/enum_contentinspectresult.dita index 91f990288d4..5f397a4addb 100644 --- a/dita/RTC-NG/API/enum_contentinspectresult.dita +++ b/dita/RTC-NG/API/enum_contentinspectresult.dita @@ -7,18 +7,19 @@
    枚举值 - - - 1:正常图片。 - - - - 2:性感图片。 - - - - 3:色情图片。 - -
    + + + 1:正常图片。 + + + + 2:性感图片。 + + + + 3:色情图片。 + + + diff --git a/dita/RTC-NG/API/enum_contentinspecttype.dita b/dita/RTC-NG/API/enum_contentinspecttype.dita index 2be5677b36b..e293f5028d0 100644 --- a/dita/RTC-NG/API/enum_contentinspecttype.dita +++ b/dita/RTC-NG/API/enum_contentinspecttype.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0:(默认)该功能模块无实际功能。请不要将 type 设为该值。 - - - - 1:视频鉴黄。SDK 会对视频流进行截图、鉴黄,并将截图和审核结果上传。 - - - - 2:使用声网自研插件截图上传。SDK 会对视频流进行截图并上传。 - - - - 3:使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。 - -
    + + + 0:(默认)该功能模块无实际功能。请不要将 type 设为该值。 + + + + 1:视频鉴黄。SDK 会对视频流进行截图、鉴黄,并将截图和审核结果上传。 + + + + 2:使用声网自研插件截图上传。SDK 会对视频流进行截图并上传。 + + + + 3:使用云市场插件截图上传。SDK 会使用云市场视频审核插件对视频流进行截图并上传。 + + + diff --git a/dita/RTC-NG/API/enum_contentinspectvendor.dita b/dita/RTC-NG/API/enum_contentinspectvendor.dita index 8bf5df348c9..e6db2a34b01 100644 --- a/dita/RTC-NG/API/enum_contentinspectvendor.dita +++ b/dita/RTC-NG/API/enum_contentinspectvendor.dita @@ -7,18 +7,19 @@
    枚举值 - - - 1:(默认)通过声网内容审核服务进行云端鉴黄。 - - - - 2:通过 TUPU 服务进行云端鉴黄。 - - - - 3:通过 HIVE 服务进行云端鉴黄。 - -
    + + + 1:(默认)通过声网内容审核服务进行云端鉴黄。 + + + + 2:通过 TUPU 服务进行云端鉴黄。 + + + + 3:通过 HIVE 服务进行云端鉴黄。 + + + diff --git a/dita/RTC-NG/API/enum_contentinspectworktype.dita b/dita/RTC-NG/API/enum_contentinspectworktype.dita index 4aaf7b74d28..8644c395e97 100644 --- a/dita/RTC-NG/API/enum_contentinspectworktype.dita +++ b/dita/RTC-NG/API/enum_contentinspectworktype.dita @@ -7,18 +7,20 @@
    枚举值 - - - 0:客户端内容审核,即通过客户端 SDK 对视频内容进行截图并进行鉴黄。 - - - - 1:云端内容审核,即通过客户端 SDK 对视频内容进行截图并上传至云端服务器,由云端内容审核服务进行鉴黄。 - - - - 2:(默认)端云融合内容审核,即先通过客户端 SDK 对视频内容截图并进行鉴黄,如果审核结果不确定,则将视频截图上传至云端服务器,由云端内容审核服务再次鉴黄。 - -
    + + + 0:客户端内容审核,即通过客户端 SDK 对视频内容进行截图并进行鉴黄。 + + + + 1:云端内容审核,即通过客户端 SDK 对视频内容进行截图并上传至云端服务器,由云端内容审核服务进行鉴黄。 + + + + 2:(默认)端云融合内容审核,即先通过客户端 SDK + 对视频内容截图并进行鉴黄,如果审核结果不确定,则将视频截图上传至云端服务器,由云端内容审核服务再次鉴黄。 + + + diff --git a/dita/RTC-NG/API/enum_contentmode.dita b/dita/RTC-NG/API/enum_contentmode.dita index cb996d6ff09..817295c57d9 100644 --- a/dita/RTC-NG/API/enum_contentmode.dita +++ b/dita/RTC-NG/API/enum_contentmode.dita @@ -7,14 +7,15 @@
    枚举值 - - - 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与视窗尺寸不一致而多出的视频将被截掉。 - - - - 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - -
    + + + 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与视窗尺寸不一致而多出的视频将被截掉。 + + + + 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 + + + diff --git a/dita/RTC-NG/API/enum_degradationpreference.dita b/dita/RTC-NG/API/enum_degradationpreference.dita index cb831445af9..72b7b2bca8b 100644 --- a/dita/RTC-NG/API/enum_degradationpreference.dita +++ b/dita/RTC-NG/API/enum_degradationpreference.dita @@ -7,26 +7,31 @@
    枚举值 - - - -

    0:(默认)带宽受限时,视频编码时优先降低视频帧率,维持分辨率不变。该降级偏好适用于画质优先的场景。

    -
    -
    - - - 1:带宽受限时,视频编码时优先降低视频分辨率,维持视频帧率不变。该降级偏好适用于流畅性优先且允许画质降低的场景。 - - - - -

    2:带宽受限时,视频编码时同时降低视频帧率和视频分辨率。 的降幅比 降幅更低,适用于流畅性和画质均有限的场景。

    - 本地发送的视频分辨率可能改变,远端用户需能处理这种情况,详见
    -
    - - - 3: 带宽受限时,视频编码时优先降低视频帧率,维持分辨率保持不变。该降级偏好适用于画质优先的场景。 - -
    + + + +

    0:(默认)带宽受限时,视频编码时优先降低视频帧率,维持分辨率不变。该降级偏好适用于画质优先的场景。

    +
    +
    + + + 1:带宽受限时,视频编码时优先降低视频分辨率,维持视频帧率不变。该降级偏好适用于流畅性优先且允许画质降低的场景。 + + + + +

    2:带宽受限时,视频编码时同时降低视频帧率和视频分辨率。 的降幅比 + 降幅更低,适用于流畅性和画质均有限的场景。

    + 本地发送的视频分辨率可能改变,远端用户需能处理这种情况,详见 +
    +
    + + + 3: 带宽受限时,视频编码时优先降低视频帧率,维持分辨率保持不变。该降级偏好适用于画质优先的场景。 + + + diff --git a/dita/RTC-NG/API/enum_directcdnstreamingreason.dita b/dita/RTC-NG/API/enum_directcdnstreamingreason.dita index 78dd7b7b4f0..b249d74c1a5 100644 --- a/dita/RTC-NG/API/enum_directcdnstreamingreason.dita +++ b/dita/RTC-NG/API/enum_directcdnstreamingreason.dita @@ -7,30 +7,31 @@
    枚举值 - - - 0:推流状态正常。 - - - - 1:一般性错误,没有明确原因。你可以尝试重新推流。 - - - - 2:音频推流出错。例如,本地音频采集设备未正常工作、被其他进程占用或没有使用权限。 - - - - 3:视频推流出错。例如,本地视频采集设备未正常工作、被其他进程占用或没有使用权限。 - - - - 4:连接 CDN 失败。 - - - - 5:URL 已用于推流。请使用新的 URL。 - -
    + + + 0:推流状态正常。 + + + + 1:一般性错误,没有明确原因。你可以尝试重新推流。 + + + + 2:音频推流出错。例如,本地音频采集设备未正常工作、被其他进程占用或没有使用权限。 + + + + 3:视频推流出错。例如,本地视频采集设备未正常工作、被其他进程占用或没有使用权限。 + + + + 4:连接 CDN 失败。 + + + + 5:URL 已用于推流。请使用新的 URL。 + + + diff --git a/dita/RTC-NG/API/enum_directcdnstreamingstate.dita b/dita/RTC-NG/API/enum_directcdnstreamingstate.dita index 99433b5da0d..3555e7989f7 100644 --- a/dita/RTC-NG/API/enum_directcdnstreamingstate.dita +++ b/dita/RTC-NG/API/enum_directcdnstreamingstate.dita @@ -7,26 +7,30 @@
    枚举值 - - - 0:初始状态,即推流尚未开始。 - - - - 1:正在推流中。当你调用 成功推流时,SDK 会返回该值。 - - - - 2:推流已正常结束。当你调用 主动停止推流时,SDK 会返回该值。 - - - - 3:推流失败。你可以通过 回调报告的信息排查问题,然后重新推流。 - - - - 4:尝试重新连接声网服务器和 CDN。最多尝试重连 10 次,如仍未成功恢复连接,则推流状态变为 - -
    + + + 0:初始状态,即推流尚未开始。 + + + + 1:正在推流中。当你调用 成功推流时,SDK 会返回该值。 + + + + 2:推流已正常结束。当你调用 主动停止推流时,SDK + 会返回该值。 + + + + 3:推流失败。你可以通过 + 回调报告的信息排查问题,然后重新推流。 + + + + 4:尝试重新连接声网服务器和 CDN。最多尝试重连 10 次,如仍未成功恢复连接,则推流状态变为 + + + diff --git a/dita/RTC-NG/API/enum_earmonitoringfiltertype.dita b/dita/RTC-NG/API/enum_earmonitoringfiltertype.dita index f85b18c84a5..748a3c7eb07 100644 --- a/dita/RTC-NG/API/enum_earmonitoringfiltertype.dita +++ b/dita/RTC-NG/API/enum_earmonitoringfiltertype.dita @@ -7,24 +7,26 @@
    枚举值 - - - 1<<0: 不在耳返中添加 Audio filter。 - - - - 1<<1: 在耳返中添加人声效果 Audio filter。如果你实现了美声、音效等功能,用户可以在耳返中听到添加效果后的声音。 - - - - -

    1<<2: 在耳返中添加降噪 Audio filter。

    -
    -
    - - - 1<<15: 复用发送端已进行过音效处理的 Audio filter。通过复用 Audio filter 降低耳返对 CPU 的占用率,但会增加耳返延迟,适用于需要降低 CPU 消耗且对耳返延迟不敏感的场景。 - -
    + + + 1<<0: 不在耳返中添加 Audio filter。 + + + + 1<<1: 在耳返中添加人声效果 Audio filter。如果你实现了美声、音效等功能,用户可以在耳返中听到添加效果后的声音。 + + + + +

    1<<2: 在耳返中添加降噪 Audio filter。

    +
    +
    + + + 1<<15: 复用发送端已进行过音效处理的 Audio filter。通过复用 Audio filter 降低耳返对 CPU + 的占用率,但会增加耳返延迟,适用于需要降低 CPU 消耗且对耳返延迟不敏感的场景。 + + + diff --git a/dita/RTC-NG/API/enum_encodingpreference.dita b/dita/RTC-NG/API/enum_encodingpreference.dita index 07e5d047f10..380c5bba8fd 100644 --- a/dita/RTC-NG/API/enum_encodingpreference.dita +++ b/dita/RTC-NG/API/enum_encodingpreference.dita @@ -6,31 +6,34 @@
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    枚举值 - - - -1:自适应偏好。SDK 根据平台、设备类型等因素自动选择最优的编码类型进行编码。 - + + + -1:自适应偏好。SDK 根据平台、设备类型等因素自动选择最优的编码类型进行编码。 + - - - 0:软件编码偏好。SDK 优先使用软件编码器进行视频编码。 - + + + 0:软件编码偏好。SDK 优先使用软件编码器进行视频编码。 + - - - 1:硬件编码偏好。SDK 优先使用硬件编码器进行视频编码。当设备不支持硬件编码时,SDK 会自动使用软件编码,并通过 回调中的 hwEncoderAccelerating 报告当前使用的视频编码器类型。 - -
    + + + 1:硬件编码偏好。SDK 优先使用硬件编码器进行视频编码。当设备不支持硬件编码时,SDK 会自动使用软件编码,并通过 回调中的 + hwEncoderAccelerating 报告当前使用的视频编码器类型。 + + +
    diff --git a/dita/RTC-NG/API/enum_encryptionerrortype.dita b/dita/RTC-NG/API/enum_encryptionerrortype.dita index 5a6ebd0d5df..b6d5c7650b9 100644 --- a/dita/RTC-NG/API/enum_encryptionerrortype.dita +++ b/dita/RTC-NG/API/enum_encryptionerrortype.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0: 内部原因。 - - - - 1: 媒体流解密错误。请确保接收端和发送端使用的加密模式或密钥一致。 - - - - 2: 媒体流加密错误。 - - - - 3: 数据流解密错误。请确保接收端和发送端使用的加密模式或密钥一致。 - - - - 4: 数据流加密错误。 - -
    + + + 0: 内部原因。 + + + + 1: 媒体流解密错误。请确保接收端和发送端使用的加密模式或密钥一致。 + + + + 2: 媒体流加密错误。 + + + + 3: 数据流解密错误。请确保接收端和发送端使用的加密模式或密钥一致。 + + + + 4: 数据流加密错误。 + + + diff --git a/dita/RTC-NG/API/enum_encryptionmode.dita b/dita/RTC-NG/API/enum_encryptionmode.dita index 6129fd86ba4..6cb3cbed7e3 100644 --- a/dita/RTC-NG/API/enum_encryptionmode.dita +++ b/dita/RTC-NG/API/enum_encryptionmode.dita @@ -5,47 +5,50 @@ 内置加密模式。
    -

    建议使用 加密模式。这两种模式支持使用盐,安全性更高。

    +

    建议使用 + 加密模式。这两种模式支持使用盐,安全性更高。

    枚举值 - - - 1: 128 位 AES 加密,XTS 模式。 - - - - 2: 128 位 AES 加密,ECB 模式。 - - - - 3: 256 位 AES 加密,XTS 模式。 - - - - 4: 128 位 SM4 加密,ECB 模式。 - - - - 5: 128 位 AES 加密,GCM 模式。 - - - - 6: 256 位 AES 加密,GCM 模式。 - - - - 7:(默认)128 位 AES 加密,GCM 模式。该加密模式需要设置盐(encryptionKdfSalt)。 - - - - 8: 256 位 AES 加密,GCM 模式。该加密模式需要设置盐(encryptionKdfSalt)。 - - - - 枚举值边界。 - -
    + + + 1: 128 位 AES 加密,XTS 模式。 + + + + 2: 128 位 AES 加密,ECB 模式。 + + + + 3: 256 位 AES 加密,XTS 模式。 + + + + 4: 128 位 SM4 加密,ECB 模式。 + + + + 5: 128 位 AES 加密,GCM 模式。 + + + + 6: 256 位 AES 加密,GCM 模式。 + + + + 7:(默认)128 位 AES 加密,GCM + 模式。该加密模式需要设置盐(encryptionKdfSalt)。 + + + + 8: 256 位 AES 加密,GCM 模式。该加密模式需要设置盐(encryptionKdfSalt)。 + + + + 枚举值边界。 + + +
    diff --git a/dita/RTC-NG/API/enum_errorcodetype.dita b/dita/RTC-NG/API/enum_errorcodetype.dita index b3bfe83a274..a0f555c366a 100644 --- a/dita/RTC-NG/API/enum_errorcodetype.dita +++ b/dita/RTC-NG/API/enum_errorcodetype.dita @@ -10,246 +10,249 @@
    枚举值 - - - 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 放弃请求,可能由于请求的次数太多。 - - - - 21:Windows 下特定的防火墙设置导致 初始化失败然后崩溃。 - - - - 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 无效。 - - - - 122:数据流解密失败。可能是用户加入频道时使用了错误的密钥。请检查用户加入频道时填入的密钥,或引导用户尝试重新加入频道。 - + + + 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 放弃请求,可能由于请求的次数太多。 + + + + 21:Windows 下特定的防火墙设置导致 初始化失败然后崩溃。 + + + + 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 个)。 + - - 123:该用户被服务器禁止。 - - - - 130:SDK 不支持将加密过的流推到 CDN 上。 - - - - 131: - - - - 134:无效的 user account,可能是因为设置了无效的参数。 - - - - 157: - - - - 1001:加载媒体引擎失败。 - - - - 1005:音频设备出现错误(未指明何种错误)。请检查音频设备是否被其他应用占用,或者尝试重新进入频道。 - - - - 1008:初始化播放设备出错。请检查播放设备是否被其他应用占用,或者尝试重新进入频道。 - - - - 1009:启动播放设备出错。请检查播放设备是否正常。 - - - - 1010:停止播放设备出错。 - - - - 1011:初始化录音设备出错。请检查录音设备是否正常,或者尝试重新进入频道。 - - - - 1012:启动录音设备出错。请检查录音设备是否正常。 - - - - 1013:停止录音设备出错。 - - - - 1501:没有摄像头使用权限。请检查是否已经打开摄像头权限。 - -
    + + 117:数据流发送超时。 + + + + 119:用户切换角色失败,请尝试重新加入频道。 + + + + 120:媒体流解密失败。可能是用户加入频道时使用了错误的密钥。请检查用户加入频道时填入的密钥,或引导用户尝试重新加入频道。 + + + + 121:该用户 ID 无效。 + + + + 122:数据流解密失败。可能是用户加入频道时使用了错误的密钥。请检查用户加入频道时填入的密钥,或引导用户尝试重新加入频道。 + + + + 123:该用户被服务器禁止。 + + + + 130:SDK 不支持将加密过的流推到 CDN 上。 + + + + 131: + + + + 134:无效的 user account,可能是因为设置了无效的参数。 + + + + 157: + + + + 1001:加载媒体引擎失败。 + + + + 1005:音频设备出现错误(未指明何种错误)。请检查音频设备是否被其他应用占用,或者尝试重新进入频道。 + + + + 1008:初始化播放设备出错。请检查播放设备是否被其他应用占用,或者尝试重新进入频道。 + + + + 1009:启动播放设备出错。请检查播放设备是否正常。 + + + + 1010:停止播放设备出错。 + + + + 1011:初始化录音设备出错。请检查录音设备是否正常,或者尝试重新进入频道。 + + + + 1012:启动录音设备出错。请检查录音设备是否正常。 + + + + 1013:停止录音设备出错。 + + + + 1501:没有摄像头使用权限。请检查是否已经打开摄像头权限。 + + + diff --git a/dita/RTC-NG/API/enum_excludewindowerror.dita b/dita/RTC-NG/API/enum_excludewindowerror.dita index 699ddc7edc6..c12b84be4ec 100644 --- a/dita/RTC-NG/API/enum_excludewindowerror.dita +++ b/dita/RTC-NG/API/enum_excludewindowerror.dita @@ -1,20 +1,25 @@ - <ph keyref="EXCLUDE_WINDOW_ERROR"/> - 屏幕共享时,屏蔽窗口的错误码。 + + <ph keyref="EXCLUDE_WINDOW_ERROR"/> + + + 屏幕共享时,屏蔽窗口的错误码。 +
    枚举值 - - - -1: 屏幕共享时,屏蔽窗口失败。用户的显卡不支持窗口屏蔽功能。 - - - - 0: 预留参数。 - -
    + + + -1: 屏幕共享时,屏蔽窗口失败。用户的显卡不支持窗口屏蔽功能。 + + + + 0: 预留参数。 + + +
    diff --git a/dita/RTC-NG/API/enum_experiencepoorreason.dita b/dita/RTC-NG/API/enum_experiencepoorreason.dita index 534a72e3065..8eb4f67fbf2 100644 --- a/dita/RTC-NG/API/enum_experiencepoorreason.dita +++ b/dita/RTC-NG/API/enum_experiencepoorreason.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0: 无原因,说明主观体验质量较好。 - - - - 1: 远端用户的网络较差。 - - - - 2: 本地用户的网络较差。 - - - - 4: 本地用户的 Wi-FI 或者移动数据网络信号弱。 - - - - 8: 本地用户同时开启 Wi-Fi 和蓝牙,二者信号互相干扰,导致音频传输质量下降。 - -
    + + + 0: 无原因,说明主观体验质量较好。 + + + + 1: 远端用户的网络较差。 + + + + 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..ca7acced0d0 100644 --- a/dita/RTC-NG/API/enum_experiencequalitytype.dita +++ b/dita/RTC-NG/API/enum_experiencequalitytype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 主观体验质量较好。 - - - - 1: 主观体验质量较差。 - -
    + + + 0: 主观体验质量较好。 + + + + 1: 主观体验质量较差。 + + + diff --git a/dita/RTC-NG/API/enum_externalvideosourcetype.dita b/dita/RTC-NG/API/enum_externalvideosourcetype.dita index 50dafc1c654..b38a1b30376 100644 --- a/dita/RTC-NG/API/enum_externalvideosourcetype.dita +++ b/dita/RTC-NG/API/enum_externalvideosourcetype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0:未编码视频帧。 - - - - 1:已编码视频帧。 - -
    + + + 0:未编码视频帧。 + + + + 1:已编码视频帧。 + + + diff --git a/dita/RTC-NG/API/enum_featuretype.dita b/dita/RTC-NG/API/enum_featuretype.dita index f8616e6d85e..5c93036090c 100644 --- a/dita/RTC-NG/API/enum_featuretype.dita +++ b/dita/RTC-NG/API/enum_featuretype.dita @@ -24,5 +24,6 @@ 2: 美颜功能。 - + + diff --git a/dita/RTC-NG/API/enum_framerate.dita b/dita/RTC-NG/API/enum_framerate.dita index c9d3bf83062..e7721305fcd 100644 --- a/dita/RTC-NG/API/enum_framerate.dita +++ b/dita/RTC-NG/API/enum_framerate.dita @@ -7,36 +7,38 @@
    枚举值 - - - 1: 1 fps - - - - 7: 7 fps - - - - 10: 10 fps - - - - 15: 15 fps - - - - 24: 24 fps - - - - 30: 30 fps - - - - -

    60: 60 fps

    - 仅适用于 Windows 和 macOS 平台。
    -
    -
    + + + 1: 1 fps + + + + 7: 7 fps + + + + 10: 10 fps + + + + 15: 15 fps + + + + 24: 24 fps + + + + 30: 30 fps + + + + +

    60: 60 fps

    + 仅适用于 Windows 和 + macOS 平台。
    +
    + + diff --git a/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita b/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita index 6dfa0b91213..473030e83b3 100644 --- a/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita +++ b/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita @@ -28,5 +28,6 @@ 使用入耳式耳机的均衡器。 - + + diff --git a/dita/RTC-NG/API/enum_hwencoderaccelerating.dita b/dita/RTC-NG/API/enum_hwencoderaccelerating.dita index b0fd05ed0c7..59f5f1e0da6 100644 --- a/dita/RTC-NG/API/enum_hwencoderaccelerating.dita +++ b/dita/RTC-NG/API/enum_hwencoderaccelerating.dita @@ -24,5 +24,6 @@ 1:采用硬件编码进行加速。 - + + diff --git a/dita/RTC-NG/API/enum_injectstreamstatus.dita b/dita/RTC-NG/API/enum_injectstreamstatus.dita index 890162016c3..bad14aab75f 100644 --- a/dita/RTC-NG/API/enum_injectstreamstatus.dita +++ b/dita/RTC-NG/API/enum_injectstreamstatus.dita @@ -7,50 +7,51 @@
    枚举值 - - - 0: 外部视频流导入成功。 - - - - 1: 外部视频流已存在。 - - - - 2: 外部视频流导入未经授权。 - - - - 3: 导入外部视频流超时。 - - - - 4: 外部视频流导入失败。 - - - - 5: 外部视频流停止导入成功。 - - - - 6: 未找到要停止导入的外部视频流。 - - - - 7: 要停止导入的外部视频流未经授权。 - - - - 8: 停止导入外部视频流超时。 - - - - 9: 停止导入外部视频流失败。 - - - - 10: 导入的外部视频流被中断。 - -
    + + + 0: 外部视频流导入成功。 + + + + 1: 外部视频流已存在。 + + + + 2: 外部视频流导入未经授权。 + + + + 3: 导入外部视频流超时。 + + + + 4: 外部视频流导入失败。 + + + + 5: 外部视频流停止导入成功。 + + + + 6: 未找到要停止导入的外部视频流。 + + + + 7: 要停止导入的外部视频流未经授权。 + + + + 8: 停止导入外部视频流超时。 + + + + 9: 停止导入外部视频流失败。 + + + + 10: 导入的外部视频流被中断。 + + + diff --git a/dita/RTC-NG/API/enum_interfaceidtype.dita b/dita/RTC-NG/API/enum_interfaceidtype.dita index df5d404f4ed..180bf40a597 100644 --- a/dita/RTC-NG/API/enum_interfaceidtype.dita +++ b/dita/RTC-NG/API/enum_interfaceidtype.dita @@ -7,34 +7,37 @@
    枚举值 - - - 接口类。 - - - - 接口类。 - - - - 该接口类已废弃。 - - - - 接口类。 - - - - 该接口类已废弃。 - - - - 接口类。 - - - - 接口类。 - -
    + + + 接口类。 + + + + 接口类。 + + + + 该接口类已废弃。 + + + + 接口类。 + + + + 该接口类已废弃。 + + + + 接口类。 + + + + 接口类。 + + + diff --git a/dita/RTC-NG/API/enum_lastmileproberesultstate.dita b/dita/RTC-NG/API/enum_lastmileproberesultstate.dita index ea96e66e52d..d2b1678b150 100644 --- a/dita/RTC-NG/API/enum_lastmileproberesultstate.dita +++ b/dita/RTC-NG/API/enum_lastmileproberesultstate.dita @@ -7,18 +7,19 @@
    枚举值 - - - 1: 表示本次 last mile 质量探测的结果是完整的。 - - - - 2: 表示本次 last mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限。 - - - - 3: 未进行 last mile 质量探测。一个可能的原因是网络连接中断。 - -
    + + + 1: 表示本次 last mile 质量探测的结果是完整的。 + + + + 2: 表示本次 last mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限。 + + + + 3: 未进行 last mile 质量探测。一个可能的原因是网络连接中断。 + + + diff --git a/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita b/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita index 4bd6014cb22..8fc9fcbf4d4 100644 --- a/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita +++ b/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0:低对比度。 - - - - 1:正常对比度。 - - - - 2:高对比度。 - -
    + + + 0:低对比度。 + + + + 1:正常对比度。 + + + + 2:高对比度。 + + + diff --git a/dita/RTC-NG/API/enum_localaudiostreamreason.dita b/dita/RTC-NG/API/enum_localaudiostreamreason.dita index 027b93badfe..c07dbd01bc8 100644 --- a/dita/RTC-NG/API/enum_localaudiostreamreason.dita +++ b/dita/RTC-NG/API/enum_localaudiostreamreason.dita @@ -1,64 +1,89 @@ - <ph keyref="LOCAL_AUDIO_STREAM_REASON"/> - 本地音频状态改变原因。 + + <ph keyref="LOCAL_AUDIO_STREAM_REASON"/> + + + 本地音频状态改变原因。 +
    枚举值 - - - 0:本地音频状态正常。 - - - - 1:本地音频出错原因不明确。建议提示用户尝试重新加入频道。 - - - - 2:没有权限启动本地音频采集设备。请提示用户开启权限。 -
    - -
    弃用:
    -
    该枚举已废弃。请改用 回调中的
    -
    + + + + + 0:本地音频状态正常。 + + + + + + 1:本地音频出错原因不明确。建议提示用户尝试重新加入频道。 + + + + + + 2:没有权限启动本地音频采集设备。请提示用户开启权限。
    + +
    弃用:
    +
    该枚举已废弃。请改用 回调中的 +
    +
    -
    - - - 3:(仅适用于 Android 和 iOS)本地音频采集设备已经在使用中。请提示用户检查麦克风是否被其他应用占用。麦克风空闲约 5 秒后本地音频采集会自动恢复,你也可以在麦克风空闲后尝试重新加入频道。 - 3:预留。 - - - - 4:本地音频采集失败。 - - - - 5:本地音频编码失败。 - - - - 6:(仅适用于 Windows 和 macOS)无本地音频采集设备。请提示用户在设备的控制面板中检查麦克风是否与设备连接正常,检查麦克风是否正常工作。 - - - - 7:(仅适用于 Windows 和 macOS)无本地音频播放设备。请提示用户在设备的控制面板中检查扬声器是否与设备连接正常,检查扬声器是否正常工作。 - + + + + + + 3:(仅适用于 Android 和 + iOS)本地音频采集设备已经在使用中。请提示用户检查麦克风是否被其他应用占用。麦克风空闲约 5 + 秒后本地音频采集会自动恢复,你也可以在麦克风空闲后尝试重新加入频道。 + 3:预留。 + + + + + + 4:本地音频采集失败。 + + + + + + 5:本地音频编码失败。 + + + + 6:(仅适用于 Windows 和 + macOS)无本地音频采集设备。请提示用户在设备的控制面板中检查麦克风是否与设备连接正常,检查麦克风是否正常工作。 + + + + 7:(仅适用于 Windows 和 + macOS)无本地音频播放设备。请提示用户在设备的控制面板中检查扬声器是否与设备连接正常,检查扬声器是否正常工作。 + - - 8:(仅适用于 Android 和 iOS)本地音频采集被系统来电、智能助手、闹钟中断。如需恢复本地音频采集,请用户中止电话、智能助手、闹钟。 - 预留。 - - - - 9:(仅适用于 Windows)本地音频采集设备的 ID 无效。请提示用户检查音频采集设备 ID。 - - - - 10:(仅适用于 Windows)本地音频播放设备的 ID 无效。请提示用户检查音频播放设备 ID。 - -
    + + + 8:(仅适用于 Android 和 + iOS)本地音频采集被系统来电、智能助手、闹钟中断。如需恢复本地音频采集,请用户中止电话、智能助手、闹钟。 + 预留。 + + + + 9:(仅适用于 Windows)本地音频采集设备的 ID 无效。请提示用户检查音频采集设备 ID。 + + + + 10:(仅适用于 Windows)本地音频播放设备的 ID 无效。请提示用户检查音频播放设备 ID。 + + +
    diff --git a/dita/RTC-NG/API/enum_localaudiostreamstate.dita b/dita/RTC-NG/API/enum_localaudiostreamstate.dita index 16014924829..f4dd21a4309 100644 --- a/dita/RTC-NG/API/enum_localaudiostreamstate.dita +++ b/dita/RTC-NG/API/enum_localaudiostreamstate.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0: 本地音频默认初始状态。 - - - - 1: 本地音频采集设备启动成功。 - - - - 2: 本地音频首帧编码成功。 - - - - 3: 本地音频启动失败。 - -
    + + + 0: 本地音频默认初始状态。 + + + + 1: 本地音频采集设备启动成功。 + + + + 2: 本地音频首帧编码成功。 + + + + 3: 本地音频启动失败。 + + + diff --git a/dita/RTC-NG/API/enum_localproxymode.dita b/dita/RTC-NG/API/enum_localproxymode.dita index 083f466fe86..2f37be00ef7 100644 --- a/dita/RTC-NG/API/enum_localproxymode.dita +++ b/dita/RTC-NG/API/enum_localproxymode.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0:SDK 优先尝试连接指定的声网私有媒体服务器;如果无法连接到指定的声网私有媒体服务器,则连接声网 SD-RTN™。 - - - - 1:SDK 只尝试连接指定的声网私有媒体服务器。 - -
    + + + 0:SDK 优先尝试连接指定的声网私有媒体服务器;如果无法连接到指定的声网私有媒体服务器,则连接声网 SD-RTN™。 + + + + 1:SDK 只尝试连接指定的声网私有媒体服务器。 + + + diff --git a/dita/RTC-NG/API/enum_localvideostreamreason.dita b/dita/RTC-NG/API/enum_localvideostreamreason.dita index 147623ae661..97c287c5190 100644 --- a/dita/RTC-NG/API/enum_localvideostreamreason.dita +++ b/dita/RTC-NG/API/enum_localvideostreamreason.dita @@ -7,99 +7,116 @@
    枚举值 - - - 0:本地视频状态正常。 - - - - 1:出错原因不明确。 - - - - 2:没有权限启动本地视频采集设备。请提示用户开启设备权限后再重新加入频道。 -
    - -
    弃用:
    -
    该枚举已废弃。请改用 回调中的
    -
    + + + 0:本地视频状态正常。 + + + + 1:出错原因不明确。 + + + + 2:没有权限启动本地视频采集设备。请提示用户开启设备权限后再重新加入频道。
    + +
    弃用:
    +
    该枚举已废弃。请改用 回调中的
    +
    -
    - - - 3:本地视频采集设备正在使用中。请提示用户检查摄像头是否被其他 App 占用,或者尝试重新加入频道。 - - - - 4:本地视频采集失败。请提示用户检查视频采集设备是否正常工作,检查摄像头是否被其他 App 占用,或者尝试重新加入频道。 - - - - 5:本地视频编码失败。 - - + + + + 3:本地视频采集设备正在使用中。请提示用户检查摄像头是否被其他 App 占用,或者尝试重新加入频道。 + + + + 4:本地视频采集失败。请提示用户检查视频采集设备是否正常工作,检查摄像头是否被其他 App 占用,或者尝试重新加入频道。 + + + + 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)当前正在使用的视频采集设备已经断开连接(例如,被拔出)。 - 9:预留。 - - - - 10:(仅适用于 macOS 和 Windows)SDK 无法在视频设备列表中找到该视频设备。请检查视频设备 ID 是否有效。 - - - - 11:(仅适用于 macOS 和 Windows)调用 方法共享窗口时,共享窗口处于最小化的状态。SDK 无法共享被最小化的窗口。请提示用户将共享窗口取消最小化。 - 11:预留。 - - - - -

    12:(仅适用于 macOS 和 Windows)通过窗口 ID 共享的窗口已关闭,或通过窗口 ID 共享的全屏窗口已退出全屏。退出全屏模式后,远端用户将无法看到共享的窗口。为避免远端用户看到黑屏,建议你立即结束本次共享。

    -

    报告该错误码的常见场景: -

      -
    • 本地用户关闭共享的窗口。
    • -
    • 本地用户先播放映幻灯片,然后共享放映中的幻灯片。结束放映时,SDK 会报告该错误码。
    • -
    • 本地用户先全屏观看网页视频或网页文档,然后共享网页视频或网页文档。结束全屏时,SDK 会报告该错误码。
    • -

    -
    -
    - - - 13:(仅适用于 Windows)待共享的窗口被其他窗口遮挡住,被遮挡住的部分在共享时会被 SDK 涂黑。 - - - - 14:(仅适用于 Android)视频采集中断。可能的原因是:
      -
    • 摄像头被其他 App 占用。请提示用户检查摄像头是否被其他 App 占用。
    • -
    • 当前 App 已被切换到后台。可以使用前台服务通知操作系统,确保 App 在切换到后台时仍可采集视频。详见
    • -
    -
    - - - 15:(仅适用于 Android)视频采集设备出错。请提示用户关闭并重新启动摄像头以恢复功能,如果该操作不能解决问题,请检查摄像头是否出现硬件故障。 - - - - 20:(仅适用于 Windows)SDK 不支持共享该类型的窗口。请提示用户不支持此类窗口共享,请尝试共享整个屏幕。 - - - - 21:(仅适用于 Windows)当前采集的窗口无数据。 - + + + 8:找不到本地视频采集设备。需检查摄像头是否与设备正常连接、摄像头是否正常工作,或者尝试重新加入频道。 + + + + 9:(仅适用于 + macOS)当前正在使用的视频采集设备已经断开连接(例如,被拔出)。 + 9:预留。 + + + + 10:(仅适用于 macOS 和 + Windows)SDK 无法在视频设备列表中找到该视频设备。请检查视频设备 ID 是否有效。 + + + + 11:(仅适用于 macOS 和 + Windows)调用 + 方法共享窗口时,共享窗口处于最小化的状态。SDK 无法共享被最小化的窗口。请提示用户将共享窗口取消最小化。 + 11:预留。 + + + + +

    12:(仅适用于 macOS + 和 Windows)通过窗口 ID 共享的窗口已关闭,或通过窗口 ID + 共享的全屏窗口已退出全屏。退出全屏模式后,远端用户将无法看到共享的窗口。为避免远端用户看到黑屏,建议你立即结束本次共享。

    +

    报告该错误码的常见场景:

      +
    • 本地用户关闭共享的窗口。
    • +
    • 本地用户先播放映幻灯片,然后共享放映中的幻灯片。结束放映时,SDK 会报告该错误码。
    • +
    • 本地用户先全屏观看网页视频或网页文档,然后共享网页视频或网页文档。结束全屏时,SDK 会报告该错误码。
    • +

    +
    +
    + + + 13:(仅适用于 Windows)待共享的窗口被其他窗口遮挡住,被遮挡住的部分在共享时会被 SDK 涂黑。 + + + + 14:(仅适用于 Android)视频采集中断。可能的原因是:
      +
    • 摄像头被其他 App 占用。请提示用户检查摄像头是否被其他 App 占用。
    • +
    • 当前 App 已被切换到后台。可以使用前台服务通知操作系统,确保 App 在切换到后台时仍可采集视频。详见
    • +
    +
    + + + 15:(仅适用于 + Android)视频采集设备出错。请提示用户关闭并重新启动摄像头以恢复功能,如果该操作不能解决问题,请检查摄像头是否出现硬件故障。 + + + + 20:(仅适用于 Windows)SDK 不支持共享该类型的窗口。请提示用户不支持此类窗口共享,请尝试共享整个屏幕。 + + + + 21:(仅适用于 Windows)当前采集的窗口无数据。 + 22:(仅适用于 Windows 和 macOS)不具备采集屏幕的权限。 @@ -113,16 +130,22 @@ 25:(仅适用于 Windows)当前屏幕采集的窗口处于隐藏状态,并且在当前屏幕上不可见。 - + 26:(仅适用于 Windows)进行屏幕采集的窗口已经从隐藏状态中恢复。 - - 27:(仅适用于 macOS 和 Windows)进行屏幕采集的窗口已经从最小化状态恢复正常。 + + 27:(仅适用于 macOS 和 + Windows)进行屏幕采集的窗口已经从最小化状态恢复正常。 - 28:(仅适用于 Windows)屏幕采集已暂停。报告该错误码的常见场景:当前屏幕可能已切换到安全桌面,例如 UAC 对话框或者 Winlogon 桌面。 + 28:(仅适用于 Windows)屏幕采集已暂停。报告该错误码的常见场景:当前屏幕可能已切换到安全桌面,例如 UAC 对话框或者 Winlogon + 桌面。 @@ -132,6 +155,7 @@ 101:由于系统压力过大,导致当前视频采集设备不可用。 -
    + + diff --git a/dita/RTC-NG/API/enum_localvideostreamstate.dita b/dita/RTC-NG/API/enum_localvideostreamstate.dita index 507078f302f..c14bbfb10ae 100644 --- a/dita/RTC-NG/API/enum_localvideostreamstate.dita +++ b/dita/RTC-NG/API/enum_localvideostreamstate.dita @@ -7,22 +7,25 @@
    枚举值 - - - 0: 本地视频默认初始状态。 - - - - 1: 本地视频采集设备启动成功。调用 方法共享窗口且共享窗口为最大化时,也会报告该状态。 - - - - 2: 本地视频首帧编码成功。 - - - - 3: 本地视频启动失败。 - -
    + + + 0: 本地视频默认初始状态。 + + + + 1: 本地视频采集设备启动成功。调用 + 方法共享窗口且共享窗口为最大化时,也会报告该状态。 + + + + 2: 本地视频首帧编码成功。 + + + + 3: 本地视频启动失败。 + + + diff --git a/dita/RTC-NG/API/enum_logfiltertype.dita b/dita/RTC-NG/API/enum_logfiltertype.dita index f004bf2c504..f6dde0ec4bf 100644 --- a/dita/RTC-NG/API/enum_logfiltertype.dita +++ b/dita/RTC-NG/API/enum_logfiltertype.dita @@ -7,30 +7,36 @@
    枚举值 - - - 0: 不输出日志信息。 - - - - 0x080f: 输出所有 API 日志信息。如果你想获取最完整的日志,可以将日志级别设为该等级。 - - - - 0x000f: 输出 级别的日志信息。建议你将日志级别设为该等级。 - - - - 0x000e: 输出 级别的日志信息。 - - - - 0x000c: 输出 级别的日志信息。 - - - - 0x0008: 输出 级别的日志信息。 - -
    + + + 0: 不输出日志信息。 + + + + 0x080f: 输出所有 API 日志信息。如果你想获取最完整的日志,可以将日志级别设为该等级。 + + + + 0x000f: 输出 和 + 级别的日志信息。建议你将日志级别设为该等级。 + + + + 0x000e: 输出 + 级别的日志信息。 + + + + 0x000c: 输出 级别的日志信息。 + + + + 0x0008: 输出 级别的日志信息。 + + + diff --git a/dita/RTC-NG/API/enum_loglevel.dita b/dita/RTC-NG/API/enum_loglevel.dita index c91b2133d17..393d04aa37a 100644 --- a/dita/RTC-NG/API/enum_loglevel.dita +++ b/dita/RTC-NG/API/enum_loglevel.dita @@ -7,26 +7,31 @@
    枚举值 - - - 0: 不输出任何日志。 - - - - 0x0001:(默认)输出 FATALERRORWARNINFO 级别的日志。建议你将日志级别设为该等级。 - - - - 0x0002: 仅输出 FATALERRORWARN 级别的日志。 - - - - 0x0004: 仅输出 FATALERROR 级别的日志。 - - - - 0x0008: 仅输出 FATAL 级别的日志。 - -
    + + + 0: 不输出任何日志。 + + + + 0x0001:(默认)输出 + FATALERRORWARNINFO + 级别的日志。建议你将日志级别设为该等级。 + + + + 0x0002: 仅输出 + FATALERRORWARN + 级别的日志。 + + + + 0x0004: 仅输出 FATALERROR 级别的日志。 + + + + 0x0008: 仅输出 FATAL 级别的日志。 + + + diff --git a/dita/RTC-NG/API/enum_lowlightenhancelevel.dita b/dita/RTC-NG/API/enum_lowlightenhancelevel.dita index 3d23dfe09b1..be33308945b 100644 --- a/dita/RTC-NG/API/enum_lowlightenhancelevel.dita +++ b/dita/RTC-NG/API/enum_lowlightenhancelevel.dita @@ -1,20 +1,25 @@ - <ph keyref="LOW_LIGHT_ENHANCE_LEVEL"/> - 暗光增强等级。 + + <ph keyref="LOW_LIGHT_ENHANCE_LEVEL"/> + + + 暗光增强等级。 +
    枚举值 - - - 0:(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。 - - - - 1:优先性能的暗光增强,会处理视频图像的亮度、细节,消耗的性能较少,处理速度较快。 - -
    + + + 0:(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。 + + + + 1:优先性能的暗光增强,会处理视频图像的亮度、细节,消耗的性能较少,处理速度较快。 + + +
    diff --git a/dita/RTC-NG/API/enum_lowlightenhancemode.dita b/dita/RTC-NG/API/enum_lowlightenhancemode.dita index fe836e2a21e..4f65609850c 100644 --- a/dita/RTC-NG/API/enum_lowlightenhancemode.dita +++ b/dita/RTC-NG/API/enum_lowlightenhancemode.dita @@ -1,20 +1,25 @@ - <ph keyref="LOW_LIGHT_ENHANCE_MODE"/> - 暗光增强模式。 + + <ph keyref="LOW_LIGHT_ENHANCE_MODE"/> + + + 暗光增强模式。 +
    枚举值 - - - 0:(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭暗光增强功能,以适时补光和防止过曝。 - - - - 1:手动模式。用户需手动开启或关闭暗光增强功能。 - -
    + + + 0:(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭暗光增强功能,以适时补光和防止过曝。 + + + + 1:手动模式。用户需手动开启或关闭暗光增强功能。 + + +
    diff --git a/dita/RTC-NG/API/enum_maxchannelidlengthtype.dita b/dita/RTC-NG/API/enum_maxchannelidlengthtype.dita index c5a0b32290a..739ec76f40d 100644 --- a/dita/RTC-NG/API/enum_maxchannelidlengthtype.dita +++ b/dita/RTC-NG/API/enum_maxchannelidlengthtype.dita @@ -7,10 +7,11 @@
    枚举值 - - - 频道名的最大长度为 65 个字符。 - -
    + + + 频道名的最大长度为 65 个字符。 + + + diff --git a/dita/RTC-NG/API/enum_maxdeviceidlengthtype.dita b/dita/RTC-NG/API/enum_maxdeviceidlengthtype.dita index 3e808aee58e..29762f32851 100644 --- a/dita/RTC-NG/API/enum_maxdeviceidlengthtype.dita +++ b/dita/RTC-NG/API/enum_maxdeviceidlengthtype.dita @@ -7,10 +7,11 @@
    枚举值 - - - 设备 ID 的最大长度为 512 个字符。 - -
    + + + 设备 ID 的最大长度为 512 个字符。 + + + diff --git a/dita/RTC-NG/API/enum_maxuseraccountlengthtype.dita b/dita/RTC-NG/API/enum_maxuseraccountlengthtype.dita index a86b659fd0b..1e8747d4214 100644 --- a/dita/RTC-NG/API/enum_maxuseraccountlengthtype.dita +++ b/dita/RTC-NG/API/enum_maxuseraccountlengthtype.dita @@ -7,10 +7,11 @@
    枚举值 - - - 用户 User Account 的最大长度为 255 个字符。 - -
    + + + 用户 User Account 的最大长度为 255 个字符。 + + + diff --git a/dita/RTC-NG/API/enum_mediadevicestatetype.dita b/dita/RTC-NG/API/enum_mediadevicestatetype.dita index b3931ba54ca..7364eb5296b 100644 --- a/dita/RTC-NG/API/enum_mediadevicestatetype.dita +++ b/dita/RTC-NG/API/enum_mediadevicestatetype.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0: 设备就绪。 - - - - 1: 设备正在使用。 - - - - 2: 设备被禁用。 - - - - 4: 没有此设备。 - - - - 8: 设备被拔出。 - -
    + + + 0: 设备就绪。 + + + + 1: 设备正在使用。 + + + + 2: 设备被禁用。 + + + + 4: 没有此设备。 + + + + 8: 设备被拔出。 + + + diff --git a/dita/RTC-NG/API/enum_mediadevicetype.dita b/dita/RTC-NG/API/enum_mediadevicetype.dita index af5f3b1a338..4971173f675 100644 --- a/dita/RTC-NG/API/enum_mediadevicetype.dita +++ b/dita/RTC-NG/API/enum_mediadevicetype.dita @@ -7,38 +7,41 @@
    枚举值 - - - -1: 设备类型未知。 - - - - 0: 音频播放设备。 - - - - 1: 音频采集设备。 - - - - 2: 视频渲染设备 (显卡)。 - - - - 3: 视频采集设备。 - - - - 4: 音频应用播放设备。 - - - - (仅适用于 macOS。)5: 虚拟音频播放设备(虚拟声卡)。 - - - - (仅适用于 macOS。)6: 虚拟音频采集设备(虚拟声卡)。 - -
    + + + -1: 设备类型未知。 + + + + 0: 音频播放设备。 + + + + 1: 音频采集设备。 + + + + 2: 视频渲染设备 (显卡)。 + + + + 3: 视频采集设备。 + + + + 4: 音频应用播放设备。 + + + + (仅适用于 macOS。)5: + 虚拟音频播放设备(虚拟声卡)。 + + + + (仅适用于 macOS。)6: + 虚拟音频采集设备(虚拟声卡)。 + + + diff --git a/dita/RTC-NG/API/enum_mediaplayerevent.dita b/dita/RTC-NG/API/enum_mediaplayerevent.dita index de00b04c1d3..9693548a74c 100644 --- a/dita/RTC-NG/API/enum_mediaplayerevent.dita +++ b/dita/RTC-NG/API/enum_mediaplayerevent.dita @@ -7,66 +7,67 @@
    枚举值 - - - -1: 未知事件。 - - - - 0: 开始定位。 - - - - 1: 完成定位。 - - - - 2: 定位出错。 - - - - 5: 当前音轨发生改变。 - - - - 6: 当前缓冲的数据不足以支持播放。 - - - - 7: 当前缓冲的数据刚好能支持播放。 - - - - 8: 音频或视频出现卡顿。 - - - - 9: 音频和视频均停止卡顿。 - - - - 10: 开始切换媒体资源。 - - - - 11: 媒体资源切换完成。 - - - - 12: 媒体资源切换出错。 - - - - 13: 视频首帧出图。 - - - - 14:达到可缓存文件的数量上限。 - - - - 15:达到可缓存文件的大小上限。 - -
    + + + -1: 未知事件。 + + + + 0: 开始定位。 + + + + 1: 完成定位。 + + + + 2: 定位出错。 + + + + 5: 当前音轨发生改变。 + + + + 6: 当前缓冲的数据不足以支持播放。 + + + + 7: 当前缓冲的数据刚好能支持播放。 + + + + 8: 音频或视频出现卡顿。 + + + + 9: 音频和视频均停止卡顿。 + + + + 10: 开始切换媒体资源。 + + + + 11: 媒体资源切换完成。 + + + + 12: 媒体资源切换出错。 + + + + 13: 视频首帧出图。 + + + + 14:达到可缓存文件的数量上限。 + + + + 15:达到可缓存文件的大小上限。 + + + diff --git a/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita b/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita index a384df3f825..079ac2618fd 100644 --- a/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita +++ b/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 未知类型。 - - - - 1: SEI (补充增强信息)类型。 - -
    + + + 0: 未知类型。 + + + + 1: SEI (补充增强信息)类型。 + + + diff --git a/dita/RTC-NG/API/enum_mediaplayerplaybackspeed.dita b/dita/RTC-NG/API/enum_mediaplayerplaybackspeed.dita index dd7b0711b90..c41fbff0bb1 100644 --- a/dita/RTC-NG/API/enum_mediaplayerplaybackspeed.dita +++ b/dita/RTC-NG/API/enum_mediaplayerplaybackspeed.dita @@ -7,30 +7,31 @@
    枚举值 - - - 100: 原始播放速度。 - - - - 50: 播放速度为原始速度的 0.50 倍。 - - - - 75: 播放速度为原始速度的 0.75 倍。 - - - - 125: 播放速度为原始速度的 1.25 倍。 - - - - 150: 播放速度为原始速度的 1.50 倍。 - - - - 200: 播放速度为原始速度的 2.00 倍。 - -
    + + + 100: 原始播放速度。 + + + + 50: 播放速度为原始速度的 0.50 倍。 + + + + 75: 播放速度为原始速度的 0.75 倍。 + + + + 125: 播放速度为原始速度的 1.25 倍。 + + + + 150: 播放速度为原始速度的 1.50 倍。 + + + + 200: 播放速度为原始速度的 2.00 倍。 + + + diff --git a/dita/RTC-NG/API/enum_mediaplayerreason.dita b/dita/RTC-NG/API/enum_mediaplayerreason.dita index de55e4b399e..6ac9f7014be 100644 --- a/dita/RTC-NG/API/enum_mediaplayerreason.dita +++ b/dita/RTC-NG/API/enum_mediaplayerreason.dita @@ -7,78 +7,80 @@
    枚举值 - - - 0: 没有错误。 - - - - -1: 不正确的参数。 - - - - -2: 内部错误。 - - - - -3: 没有 resource。 - - - - -4: 无效的 resource。 - - - - -5: 未知的媒体流类型。 - - - - -6: 对象没有初始化。 - - - - -7: 解码器不支持该 codec。 - - - - -8: 无效的 renderer。 - - - - -9: 播放器内部状态错误。 - - - - -10: 未找到该 URL。 - - - - -11: 播放器与声网服务器的连接无效。 - - - - -12: 播放缓冲区数据不足。 - - - - -13: 播放被异常打断而结束。 - - - - -14: SDK 不支持的接口调用。 - - - - -15: 媒体资源网络路径的鉴权信息已过期。请参考 更新鉴权信息。 - - - - -16: 不对外。 - - - - -17:未知错误。 - -
    + + + 0: 没有错误。 + + + + -1: 不正确的参数。 + + + + -2: 内部错误。 + + + + -3: 没有 resource。 + + + + -4: 无效的 resource。 + + + + -5: 未知的媒体流类型。 + + + + -6: 对象没有初始化。 + + + + -7: 解码器不支持该 codec。 + + + + -8: 无效的 renderer。 + + + + -9: 播放器内部状态错误。 + + + + -10: 未找到该 URL。 + + + + -11: 播放器与声网服务器的连接无效。 + + + + -12: 播放缓冲区数据不足。 + + + + -13: 播放被异常打断而结束。 + + + + -14: SDK 不支持的接口调用。 + + + + -15: 媒体资源网络路径的鉴权信息已过期。请参考 更新鉴权信息。 + + + + -16: 不对外。 + + + + -17:未知错误。 + + + diff --git a/dita/RTC-NG/API/enum_mediaplayerstate.dita b/dita/RTC-NG/API/enum_mediaplayerstate.dita index 6e98aa210e1..d7492c59b01 100644 --- a/dita/RTC-NG/API/enum_mediaplayerstate.dita +++ b/dita/RTC-NG/API/enum_mediaplayerstate.dita @@ -7,46 +7,47 @@
    枚举值 - - - -1: 未知状态。 - - - - 0: 默认状态。播放器会在你打开媒体文件之前和结束播放之后返回该状态码。 - - - - 1: 正在打开媒体文件。 - - - - 2: 成功打开媒体文件。 - - - - 3: 正在播放。 - - - - 4: 暂停播放。 - - - - 5: 播放完毕。 - - - - 6: 循环播放已结束。 - - - - 7: 播放已停止。 - - - - 100: 播放失败。 - -
    + + + -1: 未知状态。 + + + + 0: 默认状态。播放器会在你打开媒体文件之前和结束播放之后返回该状态码。 + + + + 1: 正在打开媒体文件。 + + + + 2: 成功打开媒体文件。 + + + + 3: 正在播放。 + + + + 4: 暂停播放。 + + + + 5: 播放完毕。 + + + + 6: 循环播放已结束。 + + + + 7: 播放已停止。 + + + + 100: 播放失败。 + + + diff --git a/dita/RTC-NG/API/enum_mediarecordercontainerformat.dita b/dita/RTC-NG/API/enum_mediarecordercontainerformat.dita index 7e2494c54a1..4b17cb3e58d 100644 --- a/dita/RTC-NG/API/enum_mediarecordercontainerformat.dita +++ b/dita/RTC-NG/API/enum_mediarecordercontainerformat.dita @@ -7,14 +7,15 @@
    枚举值 - - - 1:(默认)MP4 - - - - 预留参数 - -
    + + + 1:(默认)MP4 + + + + 预留参数 + + + diff --git a/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita b/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita index f71d8e9a9a3..7e792fa7f96 100644 --- a/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita +++ b/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita @@ -7,26 +7,27 @@
    枚举值 - - - 仅音频。 - - - - 仅音频。 - - - - 仅视频。 - - - - 仅视频。 - - - - (默认)音视频。 - -
    + + + 仅音频。 + + + + 仅音频。 + + + + 仅视频。 + + + + 仅视频。 + + + + (默认)音视频。 + + + diff --git a/dita/RTC-NG/API/enum_mediasourcetype.dita b/dita/RTC-NG/API/enum_mediasourcetype.dita index f465e52238b..b5a664a874f 100644 --- a/dita/RTC-NG/API/enum_mediasourcetype.dita +++ b/dita/RTC-NG/API/enum_mediasourcetype.dita @@ -1,40 +1,41 @@ - <ph keyref="MEDIA_SOURCE_TYPE"/> - 媒体源类型。 - -
    - 枚举值 - - - - 0: 音频播放设备。 - - - - 1: 音频采集设备。 - - - - 2: 第一个摄像头 - - - - 3: 第二个摄像头。 - - - - 6: 自定义采集的视频源。 - - - - 13: 视频源为语音驱动插件处理后的视频。 - - - - 100: 未知媒体源。 - -
    -
    + <ph keyref="MEDIA_SOURCE_TYPE"/> + 媒体源类型。 + +
    + 枚举值 + + + + 0: 音频播放设备。 + + + + 1: 音频采集设备。 + + + + 2: 第一个摄像头 + + + + 3: 第二个摄像头。 + + + + 6: 自定义采集的视频源。 + + + + 13: 视频源为语音驱动插件处理后的视频。 + + + + 100: 未知媒体源。 + + +
    +
    diff --git a/dita/RTC-NG/API/enum_mediastreamtype.dita b/dita/RTC-NG/API/enum_mediastreamtype.dita index 6e9b00820a4..7be79cd7ce3 100644 --- a/dita/RTC-NG/API/enum_mediastreamtype.dita +++ b/dita/RTC-NG/API/enum_mediastreamtype.dita @@ -24,5 +24,6 @@ 3: 字幕流。 - + + diff --git a/dita/RTC-NG/API/enum_mediatraceevent.dita b/dita/RTC-NG/API/enum_mediatraceevent.dita index 82cd3332da3..e3a6f956de9 100644 --- a/dita/RTC-NG/API/enum_mediatraceevent.dita +++ b/dita/RTC-NG/API/enum_mediatraceevent.dita @@ -6,23 +6,24 @@
    - -
    自从
    -
    v4.1.1
    -
    + +
    自从
    +
    v4.1.1
    +
    枚举值 - - - 0:视频帧已被渲染。 - + + + 0:视频帧已被渲染。 + 1:视频帧已被解码。 -
    + +
    diff --git a/dita/RTC-NG/API/enum_metadatatype.dita b/dita/RTC-NG/API/enum_metadatatype.dita index 5bb02d0f46e..ce90abf5ac4 100644 --- a/dita/RTC-NG/API/enum_metadatatype.dita +++ b/dita/RTC-NG/API/enum_metadatatype.dita @@ -7,14 +7,15 @@
    枚举值 - - - Metadata 类型未知。 - - - - Metadata 类型为视频。 - -
    + + + Metadata 类型未知。 + + + + Metadata 类型为视频。 + + + diff --git a/dita/RTC-NG/API/enum_musiccachestatustype.dita b/dita/RTC-NG/API/enum_musiccachestatustype.dita index 7470958750c..9789beb0532 100644 --- a/dita/RTC-NG/API/enum_musiccachestatustype.dita +++ b/dita/RTC-NG/API/enum_musiccachestatustype.dita @@ -24,5 +24,6 @@ 1: 音乐资源正在缓存。 - + + diff --git a/dita/RTC-NG/API/enum_musiccontentcenterstatereason.dita b/dita/RTC-NG/API/enum_musiccontentcenterstatereason.dita index 616e8dbf21d..0fdd0d24e0a 100644 --- a/dita/RTC-NG/API/enum_musiccontentcenterstatereason.dita +++ b/dita/RTC-NG/API/enum_musiccontentcenterstatereason.dita @@ -6,53 +6,52 @@
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    枚举值 - - - 0:请求成功。 - - - - 1:一般错误,无明确归因。 - - - - 2:网关异常。可能的原因有: - -
      -
    • 当前使用的 Token 已过期。请重新生成 Token。
    • -
    • 传入的 Token 无效。请确保你使用的是 RTM Token。
    • -
    • 网络错误。请检查你的网络。
    • -
    -
    - - - 3:权限错误或音乐资源不存在。请确保你的项目已开通声网音乐内容中心权限,请 - - - - 4:内部数据解析错误。请 - - - - 5:音乐资源加载时出错。请 - - - - 6:音乐资源解密时出错。请 - - - - 7:HTTP 内部出现错误。请稍后重试。 - -
    + + + 0:请求成功。 + + + + 1:一般错误,无明确归因。 + + + + 2:网关异常。可能的原因有:
      +
    • 当前使用的 Token 已过期。请重新生成 Token。
    • +
    • 传入的 Token 无效。请确保你使用的是 RTM Token。
    • +
    • 网络错误。请检查你的网络。
    • +
    +
    + + + 3:权限错误或音乐资源不存在。请确保你的项目已开通声网音乐内容中心权限,请 + + + + 4:内部数据解析错误。请 + + + + 5:音乐资源加载时出错。请 + + + + 6:音乐资源解密时出错。请 + + + + 7:HTTP 内部出现错误。请稍后重试。 + + +
    diff --git a/dita/RTC-NG/API/enum_networktype.dita b/dita/RTC-NG/API/enum_networktype.dita index 55920c21e60..596ab7774a0 100644 --- a/dita/RTC-NG/API/enum_networktype.dita +++ b/dita/RTC-NG/API/enum_networktype.dita @@ -5,40 +5,41 @@ 网络连接类型。
    - 枚举值 - - - - -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 移动网络。 + + + + diff --git a/dita/RTC-NG/API/enum_observermode.dita b/dita/RTC-NG/API/enum_observermode.dita index 1bb4998d960..26f7f824147 100644 --- a/dita/RTC-NG/API/enum_observermode.dita +++ b/dita/RTC-NG/API/enum_observermode.dita @@ -7,14 +7,15 @@
    枚举值 - - - 以裸数据模式回调。 - + + + 以裸数据模式回调。 + 以裸数据指针地址回调。 -
    + + diff --git a/dita/RTC-NG/API/enum_orientationmode.dita b/dita/RTC-NG/API/enum_orientationmode.dita index f878796e361..ab196528c52 100644 --- a/dita/RTC-NG/API/enum_orientationmode.dita +++ b/dita/RTC-NG/API/enum_orientationmode.dita @@ -7,23 +7,28 @@
    枚举值 - - - -

    0: (默认)该模式下 SDK 输出的视频方向与采集到的视频方向一致。接收端会根据收到的视频旋转信息对视频进行旋转。该模式适用于接收端可以调整视频方向的场景。

    -
      -
    • 如果采集的视频是横屏模式,则输出的视频也是横屏模式。
    • -
    • 如果采集的视频是竖屏模式,则输出的视频也是竖屏模式。
    • -
    -
    - - - 1: 该模式下 SDK 固定输出风景(横屏)模式的视频。如果采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 - - - - 2: 该模式下 SDK 固定输出人像(竖屏)模式的视频,如果采集到的视频是横屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 - -
    + + + +

    0: (默认)该模式下 SDK + 输出的视频方向与采集到的视频方向一致。接收端会根据收到的视频旋转信息对视频进行旋转。该模式适用于接收端可以调整视频方向的场景。

    +
      +
    • 如果采集的视频是横屏模式,则输出的视频也是横屏模式。
    • +
    • 如果采集的视频是竖屏模式,则输出的视频也是竖屏模式。
    • +
    +
    +
    + + + 1: 该模式下 SDK + 固定输出风景(横屏)模式的视频。如果采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 + + + + 2: 该模式下 SDK + 固定输出人像(竖屏)模式的视频,如果采集到的视频是横屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 + + + diff --git a/dita/RTC-NG/API/enum_permissiontype.dita b/dita/RTC-NG/API/enum_permissiontype.dita index ab5c575bd7c..429bc402273 100644 --- a/dita/RTC-NG/API/enum_permissiontype.dita +++ b/dita/RTC-NG/API/enum_permissiontype.dita @@ -7,19 +7,20 @@
    枚举值 - - - 0: 音频采集设备的权限。 - - - - 1: 摄像头权限。 - - - - (仅适用于 Android) 2: 屏幕共享权限。 - 预留。 - -
    + + + 0: 音频采集设备的权限。 + + + + 1: 摄像头权限。 + + + + (仅适用于 Android) 2: 屏幕共享权限。 + 预留。 + + + diff --git a/dita/RTC-NG/API/enum_playerpreloadevent.dita b/dita/RTC-NG/API/enum_playerpreloadevent.dita index 2e0345a7271..9f2b8e79c81 100644 --- a/dita/RTC-NG/API/enum_playerpreloadevent.dita +++ b/dita/RTC-NG/API/enum_playerpreloadevent.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0: 开始预加载媒体资源。 - - - - 1: 预加载媒体资源完成。 - - - - 2: 预加载媒体资源出错。 - -
    + + + 0: 开始预加载媒体资源。 + + + + 1: 预加载媒体资源完成。 + + + + 2: 预加载媒体资源出错。 + + + diff --git a/dita/RTC-NG/API/enum_preloadstate.dita b/dita/RTC-NG/API/enum_preloadstate.dita index 147d1a8a372..b439614629e 100644 --- a/dita/RTC-NG/API/enum_preloadstate.dita +++ b/dita/RTC-NG/API/enum_preloadstate.dita @@ -6,31 +6,32 @@
    - -
    自从
    -
    v4.1.0
    -
    + +
    自从
    +
    v4.1.0
    +
    枚举值 - - - 0:音乐资源加载完成。 - - - - 1:音乐资源加载失败。 - - - - 2:音乐资源正在加载中。 - - - - 3:缓存的音乐资源已被移除。 - -
    + + + 0:音乐资源加载完成。 + + + + 1:音乐资源加载失败。 + + + + 2:音乐资源正在加载中。 + + + + 3:缓存的音乐资源已被移除。 + + +
    diff --git a/dita/RTC-NG/API/enum_prioritytype.dita b/dita/RTC-NG/API/enum_prioritytype.dita index f6984f80208..25336d0b925 100644 --- a/dita/RTC-NG/API/enum_prioritytype.dita +++ b/dita/RTC-NG/API/enum_prioritytype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 用户需求优先级为高。 - - - - (默认)用户需求优先级为正常。 - -
    + + + 用户需求优先级为高。 + + + + (默认)用户需求优先级为正常。 + + + diff --git a/dita/RTC-NG/API/enum_proxytype.dita b/dita/RTC-NG/API/enum_proxytype.dita index 58112d72a6c..a3e7fd515b9 100644 --- a/dita/RTC-NG/API/enum_proxytype.dita +++ b/dita/RTC-NG/API/enum_proxytype.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0: 预留参数,暂不支持。 - - - - 1: UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。 - - - - 2: TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。 - - - - 3: 预留参数,暂不支持。 - - - - 4: 自动模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换为 TLS 443。 - -
    + + + 0: 预留参数,暂不支持。 + + + + 1: UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。 + + + + 2: TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。 + + + + 3: 预留参数,暂不支持。 + + + + 4: 自动模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换为 TLS 443。 + + + diff --git a/dita/RTC-NG/API/enum_qualityadaptindication.dita b/dita/RTC-NG/API/enum_qualityadaptindication.dita index 0e207e32544..b27ad4113e0 100644 --- a/dita/RTC-NG/API/enum_qualityadaptindication.dita +++ b/dita/RTC-NG/API/enum_qualityadaptindication.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0:本地视频质量不变。 - - - - 1:因网络带宽增加,本地视频质量改善。 - - - - 2:因网络带宽减少,本地视频质量变差。 - -
    + + + 0:本地视频质量不变。 + + + + 1:因网络带宽增加,本地视频质量改善。 + + + + 2:因网络带宽减少,本地视频质量变差。 + + + diff --git a/dita/RTC-NG/API/enum_qualityreportformattype.dita b/dita/RTC-NG/API/enum_qualityreportformattype.dita index 5c2f8ff6447..7dfe4e06833 100644 --- a/dita/RTC-NG/API/enum_qualityreportformattype.dita +++ b/dita/RTC-NG/API/enum_qualityreportformattype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 质量报告格式为 JSON。 - - - - 1: 质量报告格式为 HTML。 - -
    + + + 0: 质量报告格式为 JSON。 + + + + 1: 质量报告格式为 HTML。 + + + diff --git a/dita/RTC-NG/API/enum_qualitytype.dita b/dita/RTC-NG/API/enum_qualitytype.dita index f0242978918..036db3c7ec6 100644 --- a/dita/RTC-NG/API/enum_qualitytype.dita +++ b/dita/RTC-NG/API/enum_qualitytype.dita @@ -7,42 +7,43 @@
    枚举值 - - - 0: 网络质量未知。 - - - - 1: 网络质量极好。 - - - - 2: 用户主观感觉和 excellent 差不多,但码率可能略低于 excellent。 - - - - 3: 用户主观感受有瑕疵但不影响沟通。 - - - - 4: 勉强能沟通但不顺畅。 - - - - 5: 网络质量非常差,基本不能沟通。 - - - - 6: 完全无法沟通。 - - - - 7: 暂时无法检测网络质量(未使用)。 - - - - 8: 网络质量检测已开始还没完成。 - -
    + + + 0: 网络质量未知。 + + + + 1: 网络质量极好。 + + + + 2: 用户主观感觉和 excellent 差不多,但码率可能略低于 excellent。 + + + + 3: 用户主观感受有瑕疵但不影响沟通。 + + + + 4: 勉强能沟通但不顺畅。 + + + + 5: 网络质量非常差,基本不能沟通。 + + + + 6: 完全无法沟通。 + + + + 7: 暂时无法检测网络质量(未使用)。 + + + + 8: 网络质量检测已开始还没完成。 + + + diff --git a/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita b/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita index e1cdf589f46..df041e2bc51 100644 --- a/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita +++ b/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita @@ -5,20 +5,27 @@ 音频数据的使用模式。
    - 枚举值 - - - - 0: (默认) 只读模式,用户仅从 获取原始数据,不作任何修改。用户仅获取 SDK 返回的原始数据,不作任何修改。例如: 若用户通过 SDK 采集数据,自己进行旁路推流,则可以选择该模式。 - - - - 1: 只写模式,用户替换 中的数据以供 SDK 编码传输。用户替换 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自行采集数据,可选择该模式。 - - - - 2: 读写模式, 用户从 获取并修改数据,并返回给 SDK 进行编码传输。用户修改 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。 - - -
    + 枚举值 + + + + 0: (默认) 只读模式,用户仅从 + 获取原始数据,不作任何修改。用户仅获取 SDK + 返回的原始数据,不作任何修改。例如: 若用户通过 SDK 采集数据,自己进行旁路推流,则可以选择该模式。 + + + + 1: 只写模式,用户替换 中的数据以供 + SDK 编码传输。用户替换 SDK 返回的原始视频,并返回给 SDK + 进行编码传输。例如: 若用户自行采集数据,可选择该模式。 + + + + 2: 读写模式, 用户从 + 获取并修改数据,并返回给 SDK 进行编码传输。用户修改 SDK 返回的原始视频,并返回给 + SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。 + + + + diff --git a/dita/RTC-NG/API/enum_recorderreasoncode.dita b/dita/RTC-NG/API/enum_recorderreasoncode.dita index 6fe7eac933a..c6f3674fe70 100644 --- a/dita/RTC-NG/API/enum_recorderreasoncode.dita +++ b/dita/RTC-NG/API/enum_recorderreasoncode.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0: 一切正常。 - - - - 1: 录制文件写入失败。 - - - - 2: 没有可录制的音视频流或者录制的音视频流中断超过 5 秒。 - - - - 3: 录制时长超出上限。 - - - - 4: 录制配置改变。 - -
    + + + 0: 一切正常。 + + + + 1: 录制文件写入失败。 + + + + 2: 没有可录制的音视频流或者录制的音视频流中断超过 5 秒。 + + + + 3: 录制时长超出上限。 + + + + 4: 录制配置改变。 + + + diff --git a/dita/RTC-NG/API/enum_recorderstate.dita b/dita/RTC-NG/API/enum_recorderstate.dita index 5a3fff13111..8355b5fc7a6 100644 --- a/dita/RTC-NG/API/enum_recorderstate.dita +++ b/dita/RTC-NG/API/enum_recorderstate.dita @@ -7,18 +7,19 @@
    枚举值 - - - -1: 音视频流录制出错,错误原因详见 - - - - 2: 音视频流录制开始。 - - - - 3: 音视频流录制停止。 - -
    + + + -1: 音视频流录制出错,错误原因详见 + + + + 2: 音视频流录制开始。 + + + + 3: 音视频流录制停止。 + + + diff --git a/dita/RTC-NG/API/enum_remoteaudiostate.dita b/dita/RTC-NG/API/enum_remoteaudiostate.dita index 1cd3a9db221..b2958a4361c 100644 --- a/dita/RTC-NG/API/enum_remoteaudiostate.dita +++ b/dita/RTC-NG/API/enum_remoteaudiostate.dita @@ -7,26 +7,33 @@
    枚举值 - - - 0: 远端音频默认初始状态。在 的情况下,会报告该状态。 - - - - 1: 本地用户已接收远端音频首包。 - - - - 2: 远端音频流正在解码,正常播放。在 的情况下,会报告该状态。 - - - - 3: 远端音频流卡顿。在 的情况下,会报告该状态。 - - - - 4: 远端音频流播放失败。在 的情况下,会报告该状态。 - -
    + + + 0: 远端音频默认初始状态。在 的情况下,会报告该状态。 + + + + 1: 本地用户已接收远端音频首包。 + + + + 2: 远端音频流正在解码,正常播放。在 的情况下,会报告该状态。 + + + + 3: 远端音频流卡顿。在 + 的情况下,会报告该状态。 + + + + 4: 远端音频流播放失败。在 + 的情况下,会报告该状态。 + + + diff --git a/dita/RTC-NG/API/enum_remoteaudiostatereason.dita b/dita/RTC-NG/API/enum_remoteaudiostatereason.dita index 62692761d03..cf3b3d9a898 100644 --- a/dita/RTC-NG/API/enum_remoteaudiostatereason.dita +++ b/dita/RTC-NG/API/enum_remoteaudiostatereason.dita @@ -7,38 +7,39 @@
    枚举值 - - - 0: 音频状态发生改变时,会报告该原因。 - - - - 1: 网络阻塞。 - - - - 2: 网络恢复正常。 - - - - 3: 本地用户停止接收远端音频流或本地用户禁用音频模块。 - - - - 4: 本地用户恢复接收远端音频流或本地用户启动音频模块。 - - - - 5: 远端用户停止发送音频流或远端用户禁用音频模块。 - - - - 6: 远端用户恢复发送音频流或远端用户启用音频模块。 - - - - 7: 远端用户离开频道。 - -
    + + + 0: 音频状态发生改变时,会报告该原因。 + + + + 1: 网络阻塞。 + + + + 2: 网络恢复正常。 + + + + 3: 本地用户停止接收远端音频流或本地用户禁用音频模块。 + + + + 4: 本地用户恢复接收远端音频流或本地用户启动音频模块。 + + + + 5: 远端用户停止发送音频流或远端用户禁用音频模块。 + + + + 6: 远端用户恢复发送音频流或远端用户启用音频模块。 + + + + 7: 远端用户离开频道。 + + + diff --git a/dita/RTC-NG/API/enum_remotevideostate.dita b/dita/RTC-NG/API/enum_remotevideostate.dita index 0405e4bc729..7ca58aa1cd2 100644 --- a/dita/RTC-NG/API/enum_remotevideostate.dita +++ b/dita/RTC-NG/API/enum_remotevideostate.dita @@ -7,28 +7,44 @@
    枚举值 - - - 0: 远端视频默认初始状态。在 的情况下,会报告该状态。 - - - - 1: 本地用户已接收远端视频首包。 - - - - 2: 远端视频流正在解码,正常播放。在 的情况下,会报告该状态。 - 2: 远端视频流正在解码,正常播放。在 的情况下,会报告该状态。 - - - - 3: 远端视频流卡顿。在 的情况下,会报告该状态。 - 3: 远端视频流卡顿。在 的情况下,会报告该状态。 - - - - 4: 远端视频流播放失败。在 的情况下,会报告该状态。 - -
    + + + 0: 远端视频默认初始状态。在 的情况下,会报告该状态。 + + + + 1: 本地用户已接收远端视频首包。 + + + + 2: 远端视频流正在解码,正常播放。在 + 的情况下,会报告该状态。 + 2: 远端视频流正在解码,正常播放。在 的情况下,会报告该状态。 + + + + 3: 远端视频流卡顿。在 的情况下,会报告该状态。 + 3: 远端视频流卡顿。在 + 的情况下,会报告该状态。 + + + + 4: 远端视频流播放失败。在 + 的情况下,会报告该状态。 + + + diff --git a/dita/RTC-NG/API/enum_remotevideostatereason.dita b/dita/RTC-NG/API/enum_remotevideostatereason.dita index 2c69ea45262..a60929b2903 100644 --- a/dita/RTC-NG/API/enum_remotevideostatereason.dita +++ b/dita/RTC-NG/API/enum_remotevideostatereason.dita @@ -7,54 +7,57 @@
    枚举值 - - - 0: 视频状态发生改变时,会报告该原因。 - - - - 1: 网络阻塞。 - - - - 2: 网络恢复正常。 - - - - 3: 本地用户停止接收远端视频流或本地用户禁用视频模块。 - - - - 4: 本地用户恢复接收远端视频流或本地用户启动视频模块。 - - - - 5: 远端用户停止发送视频流或远端用户禁用视频模块。 - - - - 6: 远端用户恢复发送视频流或远端用户启用视频模块。 - - - - 7: 远端用户离开频道。 - - - - 8: 弱网情况下,远端音视频流回退为音频流。 - - - - 9: 网络情况改善时,远端音频流恢复为音视频流。 - - - - 12:(仅适用于 iOS) 远端用户的 App 已切换到后台。 - - - - 13:本地的视频解码器不支持对收到的远端视频流进行解码。 - -
    + + + 0: 视频状态发生改变时,会报告该原因。 + + + + 1: 网络阻塞。 + + + + 2: 网络恢复正常。 + + + + 3: 本地用户停止接收远端视频流或本地用户禁用视频模块。 + + + + 4: 本地用户恢复接收远端视频流或本地用户启动视频模块。 + + + + 5: 远端用户停止发送视频流或远端用户禁用视频模块。 + + + + 6: 远端用户恢复发送视频流或远端用户启用视频模块。 + + + + 7: 远端用户离开频道。 + + + + 8: 弱网情况下,远端音视频流回退为音频流。 + + + + 9: 网络情况改善时,远端音频流恢复为音视频流。 + + + + 12:(仅适用于 iOS) 远端用户的 + App 已切换到后台。 + + + + 13:本地的视频解码器不支持对收到的远端视频流进行解码。 + + + diff --git a/dita/RTC-NG/API/enum_remotevideostreamtype.dita b/dita/RTC-NG/API/enum_remotevideostreamtype.dita index 89dcfcf93f2..9ba089965e3 100644 --- a/dita/RTC-NG/API/enum_remotevideostreamtype.dita +++ b/dita/RTC-NG/API/enum_remotevideostreamtype.dita @@ -5,16 +5,17 @@ 视频流类型。
    - 枚举值 - - - - 0: 视频大流,即高分辨率、高码率视频流。 - - - - 1: 视频小流,即低分辨率、低码率视频流。 - - -
    + 枚举值 + + + + 0: 视频大流,即高分辨率、高码率视频流。 + + + + 1: 视频小流,即低分辨率、低码率视频流。 + + + + diff --git a/dita/RTC-NG/API/enum_rendermode.dita b/dita/RTC-NG/API/enum_rendermode.dita index 59f69286a16..dd999fef86d 100644 --- a/dita/RTC-NG/API/enum_rendermode.dita +++ b/dita/RTC-NG/API/enum_rendermode.dita @@ -7,18 +7,19 @@
    枚举值 - - - WebGL 渲染。 - - - - 软件渲染。 - - - - 自定义渲染。 - -
    + + + WebGL 渲染。 + + + + 软件渲染。 + + + + 自定义渲染。 + + + diff --git a/dita/RTC-NG/API/enum_rendermodetype.dita b/dita/RTC-NG/API/enum_rendermodetype.dita index 6d2d1bb2306..f34a3ca4cea 100644 --- a/dita/RTC-NG/API/enum_rendermodetype.dita +++ b/dita/RTC-NG/API/enum_rendermodetype.dita @@ -7,29 +7,30 @@
    枚举值 - - - 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 - + + + 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 + - - - 2: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - + + + 2: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 + - - - -
    - -
    弃用:
    -
    3: 该模式已弃用。
    -
    -
    -
    -
    -
    + + + +
    + +
    弃用:
    +
    3: 该模式已弃用。
    +
    +
    +
    +
    + + diff --git a/dita/RTC-NG/API/enum_rhythmplayerreason.dita b/dita/RTC-NG/API/enum_rhythmplayerreason.dita index 76f5d752b63..11e067cd35c 100644 --- a/dita/RTC-NG/API/enum_rhythmplayerreason.dita +++ b/dita/RTC-NG/API/enum_rhythmplayerreason.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0:正常播放节拍音频文件,没有错误。 - - - - 1:一般性错误,没有明确原因。 - - - - 801:打开节拍音频文件出错。 - - - - 802:播放节拍音频文件出错。 - - - - 803:节拍音频文件时长超出限制。最大时长为 1.2 秒。 - -
    + + + 0:正常播放节拍音频文件,没有错误。 + + + + 1:一般性错误,没有明确原因。 + + + + 801:打开节拍音频文件出错。 + + + + 802:播放节拍音频文件出错。 + + + + 803:节拍音频文件时长超出限制。最大时长为 1.2 秒。 + + + diff --git a/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita b/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita index 29ef535da8c..6fb114d65b4 100644 --- a/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita +++ b/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita @@ -7,26 +7,28 @@
    枚举值 - - - 810:虚拟节拍器未开启或已关闭。 - - - - 811:正在打开节拍音频文件。 - - - - 812:正在解码节拍音频文件。 - - - - 813:正在播放节拍音频文件。 - - - - 814:开启虚拟节拍器失败。你可以通过报告的错误码 errorCode 排查错误原因,也可以重新尝试开启虚拟节拍器。 - -
    + + + 810:虚拟节拍器未开启或已关闭。 + + + + 811:正在打开节拍音频文件。 + + + + 812:正在解码节拍音频文件。 + + + + 813:正在播放节拍音频文件。 + + + + 814:开启虚拟节拍器失败。你可以通过报告的错误码 errorCode + 排查错误原因,也可以重新尝试开启虚拟节拍器。 + + + diff --git a/dita/RTC-NG/API/enum_rtmpstreamingevent.dita b/dita/RTC-NG/API/enum_rtmpstreamingevent.dita index 78f4da2f3a2..07ec0302b45 100644 --- a/dita/RTC-NG/API/enum_rtmpstreamingevent.dita +++ b/dita/RTC-NG/API/enum_rtmpstreamingevent.dita @@ -1,28 +1,33 @@ - <ph keyref="RTMP_STREAMING_EVENT"/> - 旁路推流时发生的事件。 + + <ph keyref="RTMP_STREAMING_EVENT"/> + + + 旁路推流时发生的事件。 +
    枚举值 - - - 1: 旁路推流时,添加背景图或水印出错。 - - - - 2: 该推流 URL 已用于推流。如果你想开始新的推流,请使用新的推流 URL。 - - - - 3: 功能不支持。 - - - - 4: 预留参数。 - -
    + + + 1: 旁路推流时,添加背景图或水印出错。 + + + + 2: 该推流 URL 已用于推流。如果你想开始新的推流,请使用新的推流 URL。 + + + + 3: 功能不支持。 + + + + 4: 预留参数。 + + +
    diff --git a/dita/RTC-NG/API/enum_rtmpstreamlifecycletype.dita b/dita/RTC-NG/API/enum_rtmpstreamlifecycletype.dita index 1a4ca2fe6e0..eb6634cb3f7 100644 --- a/dita/RTC-NG/API/enum_rtmpstreamlifecycletype.dita +++ b/dita/RTC-NG/API/enum_rtmpstreamlifecycletype.dita @@ -6,23 +6,24 @@
    - -
    弃用
    -
    - + +
    弃用
    +
    +
    枚举值 - - - 跟频道生命周期绑定,即频道内所有主播离开,服务端转码推流会在 30 秒之后停止。 - - - - 跟启动服务端转码推流的主播生命周期绑定,即该主播离开,服务端转码推流会立即停止。 - -
    + + + 跟频道生命周期绑定,即频道内所有主播离开,服务端转码推流会在 30 秒之后停止。 + + + + 跟启动服务端转码推流的主播生命周期绑定,即该主播离开,服务端转码推流会立即停止。 + + +
    diff --git a/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita b/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita index 222c32790e2..d7a75f722eb 100644 --- a/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita +++ b/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita @@ -7,70 +7,79 @@
    枚举值 - - - 0:推流成功。 - - - - 1:参数无效。请检查输入参数是否正确。 - - - - 2:推流已加密,不能推流。 - - - - 3:推流超时未成功。 - - - - 4:推流服务器出现错误。 - - - - 5:CDN 服务器出现错误。 - - - - 6:推流请求过于频繁。 - - - - 7:单个主播的推流地址数目达到上限 10。请删掉一些不用的推流地址再增加推流地址。 - - - - 8:主播操作不属于自己的流。例如更新其他主播的流参数、停止其他主播的流。请检查 App 逻辑。 - - - - 9:服务器未找到这个流。 - - - - 10:推流地址格式有错误。请检查推流地址格式是否正确。 - - - - 11:用户角色不是主播,该用户无法使用推流功能。请检查你的应用代码逻辑。 - - - - 13:非转码推流情况下,调用了 方法更新转码属性。请检查你的应用代码逻辑。 - - - - 14:主播的网络出错。 - - - - 16:你的项目没有使用推流服务的权限。请参考旁路推流中的前提条件开启推流服务。 - - - - 100:推流已正常结束。当你结束推流后,SDK 会返回该值。 - + + + 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/enum_rtmpstreampublishstate.dita b/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita index e5429f7511e..a4a05859024 100644 --- a/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita +++ b/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita @@ -7,35 +7,43 @@
    枚举值 - - - 0:推流未开始或已结束。 - - - - 1:正在连接推流服务器和 CDN 服务器。 - - - - 2:推流正在进行。成功推流后,会返回该状态。 - - - - -

    3:正在恢复推流。当 CDN 出现异常,或推流短暂中断时,SDK 会自动尝试恢复推流,并返回该状态。

    -
      -
    • 如成功恢复推流,则进入状态 (2)。
    • -
    • 如服务器出错或 60 秒内未成功恢复,则进入状态 (4)。如果觉得 60 秒太长,也可以主动尝试重连。
    • -
    -
    - - - 4:推流失败。失败后,你可以通过返回的错误码排查错误原因。 - - - - 5:SDK 正在与推流服务器和 CDN 服务器断开连接。当你调用 方法正常结束推流时,SDK 会依次报告推流状态为 - -
    + + + 0:推流未开始或已结束。 + + + + 1:正在连接推流服务器和 CDN 服务器。 + + + + 2:推流正在进行。成功推流后,会返回该状态。 + + + + +

    3:正在恢复推流。当 CDN 出现异常,或推流短暂中断时,SDK 会自动尝试恢复推流,并返回该状态。

    +
      +
    • 如成功恢复推流,则进入状态 (2)。
    • +
    • 如服务器出错或 60 秒内未成功恢复,则进入状态 (4)。如果觉得 60 + 秒太长,也可以主动尝试重连。
    • +
    +
    +
    + + + 4:推流失败。失败后,你可以通过返回的错误码排查错误原因。 + + + + 5:SDK 正在与推流服务器和 CDN 服务器断开连接。当你调用 + 方法正常结束推流时,SDK 会依次报告推流状态为 + + + diff --git a/dita/RTC-NG/API/enum_saeconnectionchangedreasontype.dita b/dita/RTC-NG/API/enum_saeconnectionchangedreasontype.dita index e9698895456..4944fc66f4b 100644 --- a/dita/RTC-NG/API/enum_saeconnectionchangedreasontype.dita +++ b/dita/RTC-NG/API/enum_saeconnectionchangedreasontype.dita @@ -7,30 +7,31 @@
    枚举值 - - - 0: 正常。 - - - - 1: SDK 建立连接中。 - - - - 2: SDK 创建房间失败。 - - - - 3: SDK 与 RTM 系统连接中断。 - - - - 4: 用户被 RTM 系统踢出。 - - - - 5: SDK 超过 15 秒未收到声网空间音效服务器的消息。 - -
    + + + 0: 正常。 + + + + 1: SDK 建立连接中。 + + + + 2: SDK 创建房间失败。 + + + + 3: SDK 与 RTM 系统连接中断。 + + + + 4: 用户被 RTM 系统踢出。 + + + + 5: SDK 超过 15 秒未收到声网空间音效服务器的消息。 + + + diff --git a/dita/RTC-NG/API/enum_saeconnectionstatetype.dita b/dita/RTC-NG/API/enum_saeconnectionstatetype.dita index 7eaa24f7e21..8073cf8b3e0 100644 --- a/dita/RTC-NG/API/enum_saeconnectionstatetype.dita +++ b/dita/RTC-NG/API/enum_saeconnectionstatetype.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0: 建立连接中。 - - - - 1: 已连接。该状态下, 等空间音效设置才会生效。 - - - - 2: 连接断开。 - - - - 3: 重新建立连接中。 - - - - 4: 已重新建立连接。 - -
    + + + 0: 建立连接中。 + + + + 1: 已连接。该状态下, 等空间音效设置才会生效。 + + + + 2: 连接断开。 + + + + 3: 重新建立连接中。 + + + + 4: 已重新建立连接。 + + + diff --git a/dita/RTC-NG/API/enum_saedeployregion.dita b/dita/RTC-NG/API/enum_saedeployregion.dita index 87ea5801f7c..bfb1eeae523 100644 --- a/dita/RTC-NG/API/enum_saedeployregion.dita +++ b/dita/RTC-NG/API/enum_saedeployregion.dita @@ -7,22 +7,23 @@
    枚举值 - - - (默认)中国大陆。 - - - - 北美区域。 - - - - 欧洲区域。 - - - - 除中国以外的亚洲区域。 - -
    + + + (默认)中国大陆。 + + + + 北美区域。 + + + + 欧洲区域。 + + + + 除中国以外的亚洲区域。 + + + diff --git a/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita b/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita index 7ec6ba778bc..48de7a32a1d 100644 --- a/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita +++ b/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita @@ -28,5 +28,6 @@ 2:最高支持 60 fps。 - + + diff --git a/dita/RTC-NG/API/enum_screencapturesourcetype.dita b/dita/RTC-NG/API/enum_screencapturesourcetype.dita index 36b5fba3aa9..91179014d44 100644 --- a/dita/RTC-NG/API/enum_screencapturesourcetype.dita +++ b/dita/RTC-NG/API/enum_screencapturesourcetype.dita @@ -2,27 +2,29 @@ <ph keyref="ScreenCaptureSourceType"/> - 共享目标的类型。在 中设置。 + 共享目标的类型。在 + 中设置。
    枚举值 - - - -1:未知。 - - - - 0:共享目标为某一个窗口。 - - - - 1:共享目标为某一个显示器的屏幕。 - - - - 2:预留参数。 - -
    + + + -1:未知。 + + + + 0:共享目标为某一个窗口。 + + + + 1:共享目标为某一个显示器的屏幕。 + + + + 2:预留参数。 + + +
    diff --git a/dita/RTC-NG/API/enum_screenscenariotype.dita b/dita/RTC-NG/API/enum_screenscenariotype.dita index d132dc4fe3f..c6e66d3a3a9 100644 --- a/dita/RTC-NG/API/enum_screenscenariotype.dita +++ b/dita/RTC-NG/API/enum_screenscenariotype.dita @@ -7,22 +7,23 @@
    枚举值 - - - 1:(默认)文档。该场景下,优先保障共享的画质,并降低了接收端看到共享视频的延时。如果你共享文档、幻灯片、表格,可以设置该场景。 - - - - 2: 游戏。该场景下,优先保障共享的流畅性。如果你共享游戏,可以设置该场景。 - - - - 3: 视频。该场景下,优先保障共享的流畅性。如果你共享电影、视频直播,可以设置该场景。 - - - - 4: 远程控制。该场景下,优先保障共享的画质,并降低了接收端看到共享视频的延时。如果你共享被远程控制的设备桌面,可以设置该场景。 - -
    + + + 1:(默认)文档。该场景下,优先保障共享的画质,并降低了接收端看到共享视频的延时。如果你共享文档、幻灯片、表格,可以设置该场景。 + + + + 2: 游戏。该场景下,优先保障共享的流畅性。如果你共享游戏,可以设置该场景。 + + + + 3: 视频。该场景下,优先保障共享的流畅性。如果你共享电影、视频直播,可以设置该场景。 + + + + 4: 远程控制。该场景下,优先保障共享的画质,并降低了接收端看到共享视频的延时。如果你共享被远程控制的设备桌面,可以设置该场景。 + + + diff --git a/dita/RTC-NG/API/enum_segmodeltype.dita b/dita/RTC-NG/API/enum_segmodeltype.dita index c32846d3c5f..752411cb206 100644 --- a/dita/RTC-NG/API/enum_segmodeltype.dita +++ b/dita/RTC-NG/API/enum_segmodeltype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 1: (默认) 适用于所有场景下的背景处理算法。 - - - - 2: 仅适用于绿幕背景下的背景处理算法。 - -
    + + + 1: (默认) 适用于所有场景下的背景处理算法。 + + + + 2: 仅适用于绿幕背景下的背景处理算法。 + + + diff --git a/dita/RTC-NG/API/enum_simulcaststreammode.dita b/dita/RTC-NG/API/enum_simulcaststreammode.dita index 34864d48a2e..ff263291db5 100644 --- a/dita/RTC-NG/API/enum_simulcaststreammode.dita +++ b/dita/RTC-NG/API/enum_simulcaststreammode.dita @@ -28,5 +28,6 @@ 1:始终发送小流。 - + + diff --git a/dita/RTC-NG/API/enum_streamfallbackoptions.dita b/dita/RTC-NG/API/enum_streamfallbackoptions.dita index a26b4dcd7ee..63c9e4a53b0 100644 --- a/dita/RTC-NG/API/enum_streamfallbackoptions.dita +++ b/dita/RTC-NG/API/enum_streamfallbackoptions.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0: 不对音视频流作回退处理,但不能保证音视频流的质量。 - - - - 1: 只接收视频小流(低分辨率、低码率视频流)。 - - - - 2: 网络条件较差时,先尝试只接收视频小流;如果因网络环境太差无法显示视频,则再回退到只接收订阅的音频流。 - -
    + + + 0: 不对音视频流作回退处理,但不能保证音视频流的质量。 + + + + 1: 只接收视频小流(低分辨率、低码率视频流)。 + + + + 2: 网络条件较差时,先尝试只接收视频小流;如果因网络环境太差无法显示视频,则再回退到只接收订阅的音频流。 + + + diff --git a/dita/RTC-NG/API/enum_streampublishstate.dita b/dita/RTC-NG/API/enum_streampublishstate.dita index ab446f518a6..f778805c4ce 100644 --- a/dita/RTC-NG/API/enum_streampublishstate.dita +++ b/dita/RTC-NG/API/enum_streampublishstate.dita @@ -7,30 +7,37 @@
    枚举值 - - - 0: 加入频道后的初始发布状态。 - - - - -

    1: 发布失败。可能是因为: -

      -
    • 本地用户调用 () 或 () 停止发送本地媒体流。
    • -
    • 本地用户调用 关闭本地音频或视频模块。
    • -
    • 本地用户调用 () 或 () 关闭本地音频或视频采集。
    • -
    • 本地用户角色为观众。
    • -

    -
    -
    - - - 2: 正在发布。 - - - - 3: 发布成功。 - -
    + + + 0: 加入频道后的初始发布状态。 + + + + +

    1: 发布失败。可能是因为:

      +
    • 本地用户调用 () 或 () 停止发送本地媒体流。
    • +
    • 本地用户调用 关闭本地音频或视频模块。
    • +
    • 本地用户调用 () 或 () 关闭本地音频或视频采集。
    • +
    • 本地用户角色为观众。
    • +

    +
    +
    + + + 2: 正在发布。 + + + + 3: 发布成功。 + + + diff --git a/dita/RTC-NG/API/enum_streamsubscribestate.dita b/dita/RTC-NG/API/enum_streamsubscribestate.dita index e2e1170ef39..b1bb39c7cd1 100644 --- a/dita/RTC-NG/API/enum_streamsubscribestate.dita +++ b/dita/RTC-NG/API/enum_streamsubscribestate.dita @@ -5,37 +5,50 @@ 订阅状态。
    - 枚举值 - - - - 0: 加入频道后的初始订阅状态。 - - - - -

    1: 订阅失败。可能是因为:

      -
    • 远端用户:
        -
      • 调用 () 或 () 停止发送本地媒体流。
      • -
      • 调用 关闭本地音频或视频模块。
      • -
      • 调用 () 或 () 关闭本地音频或视频采集。
      • -
      • 用户角色为观众。
      • -
    • -
    • 本地用户调用以下方法停止接收远端媒体流:
        -
      • 调用 ()、 () 停止接收远端音频流。
      • -
      • 调用 ()、 () 停止接收远端视频流。
      • -
    • -

    -
    -
    - - - 2: 正在订阅。 - - - - 3: 收到了远端流,订阅成功。 - -
    -
    + 枚举值 + + + + 0: 加入频道后的初始订阅状态。 + + + + +

    1: 订阅失败。可能是因为:

      +
    • 远端用户:
        +
      • 调用 () 或 () 停止发送本地媒体流。
      • +
      • 调用 关闭本地音频或视频模块。
      • +
      • 调用 () 或 () 关闭本地音频或视频采集。
      • +
      • 用户角色为观众。
      • +
    • +
    • 本地用户调用以下方法停止接收远端媒体流:
        +
      • 调用 ()、 () 停止接收远端音频流。
      • +
      • 调用 ()、 () 停止接收远端视频流。
      • +
    • +

    +
    +
    + + + 2: 正在订阅。 + + + + 3: 收到了远端流,订阅成功。 + +
    + + diff --git a/dita/RTC-NG/API/enum_superresolutionstatereason.dita b/dita/RTC-NG/API/enum_superresolutionstatereason.dita index ef262503084..053822b0110 100644 --- a/dita/RTC-NG/API/enum_superresolutionstatereason.dita +++ b/dita/RTC-NG/API/enum_superresolutionstatereason.dita @@ -6,31 +6,32 @@
    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    枚举值 - - - 0: 超分辨率已成功开启。 - - - - 1: 远端用户的原始视频分辨率超出了可以应用超分辨率功能的范围。 - - - - 2: 已对一个远端用户的视频使用超分辨率。 - - - - 3: 设备不支持使用超分辨率。 - -
    + + + 0: 超分辨率已成功开启。 + + + + 1: 远端用户的原始视频分辨率超出了可以应用超分辨率功能的范围。 + + + + 2: 已对一个远端用户的视频使用超分辨率。 + + + + 3: 设备不支持使用超分辨率。 + + +
    diff --git a/dita/RTC-NG/API/enum_uploaderrorreason.dita b/dita/RTC-NG/API/enum_uploaderrorreason.dita index 46f96aa859b..fc6da96dcbf 100644 --- a/dita/RTC-NG/API/enum_uploaderrorreason.dita +++ b/dita/RTC-NG/API/enum_uploaderrorreason.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0: 日志上传成功。 - - - - 1: 网络错误。请检查网络是否正常,并再次调用 进行重传。 - - - - 2:声网服务器错误,请稍后尝试。 - -
    + + + 0: 日志上传成功。 + + + + 1: 网络错误。请检查网络是否正常,并再次调用 进行重传。 + + + + 2:声网服务器错误,请稍后尝试。 + + + diff --git a/dita/RTC-NG/API/enum_userofflinereasontype.dita b/dita/RTC-NG/API/enum_userofflinereasontype.dita index 45c851a3fd7..29abaf709f4 100644 --- a/dita/RTC-NG/API/enum_userofflinereasontype.dita +++ b/dita/RTC-NG/API/enum_userofflinereasontype.dita @@ -7,20 +7,22 @@
    枚举值 - - - 0: 用户主动离开。 - - - - -

    1: 因过长时间收不到对方数据包,超时掉线。

    - 由于 SDK 使用的是不可靠通道,也有可能对方主动离开频道,但是本地没收到对方离开消息而误判为超时掉线。
    -
    - - - 2: 用户身份从主播切换为观众。 - -
    + + + 0: 用户主动离开。 + + + + +

    1: 因过长时间收不到对方数据包,超时掉线。

    + 由于 SDK + 使用的是不可靠通道,也有可能对方主动离开频道,但是本地没收到对方离开消息而误判为超时掉线。
    +
    + + + 2: 用户身份从主播切换为观众。 + + + diff --git a/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita b/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita index fd54219e346..5e67428e149 100644 --- a/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita +++ b/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita @@ -6,26 +6,27 @@
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    枚举值 - - - 0: (默认) 通用场景。 - - - - -

    1: 会议场景。

    -

    - - -

    + + + 0: (默认) 通用场景。 + + + + +

    1: 会议场景。

    +

    + + + + diff --git a/dita/RTC-NG/API/enum_videobuffertype.dita b/dita/RTC-NG/API/enum_videobuffertype.dita index 8a540f383c2..556097fc16f 100644 --- a/dita/RTC-NG/API/enum_videobuffertype.dita +++ b/dita/RTC-NG/API/enum_videobuffertype.dita @@ -7,18 +7,19 @@

    枚举值 - - - 1: 类型为原始数据。 - - - - 2: 类型为原始数据。 - - - - 3: 类型为 Texture - -
    + + + 1: 类型为原始数据。 + + + + 2: 类型为原始数据。 + + + + 3: 类型为 Texture + + +
    diff --git a/dita/RTC-NG/API/enum_videocapturetype.dita b/dita/RTC-NG/API/enum_videocapturetype.dita index aa8294fc630..d6e401f1169 100644 --- a/dita/RTC-NG/API/enum_videocapturetype.dita +++ b/dita/RTC-NG/API/enum_videocapturetype.dita @@ -7,18 +7,19 @@
    枚举值 - - - 未知类型。 - - - - (默认)摄像头采集的视频。 - - - - 屏幕共享的视频。 - -
    + + + 未知类型。 + + + + (默认)摄像头采集的视频。 + + + + 屏幕共享的视频。 + + + diff --git a/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita b/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita index 8d687f30f75..4d2ea0499d8 100644 --- a/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita +++ b/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita @@ -36,5 +36,6 @@ 30:最高支持对 4K、30 fps 的视频进行编解码。 - + + diff --git a/dita/RTC-NG/API/enum_videocodecprofiletype.dita b/dita/RTC-NG/API/enum_videocodecprofiletype.dita index 83457dc0b43..333072e7823 100644 --- a/dita/RTC-NG/API/enum_videocodecprofiletype.dita +++ b/dita/RTC-NG/API/enum_videocodecprofiletype.dita @@ -6,18 +6,19 @@
    - - - 66: Baseline 级别的视频编码规格,一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等。 - - - - 77: Main 级别的视频编码规格,一般用于主流消费类电子产品,如 MP4、便携的视频播放器、PSP、iPad 等。 - - - - 100: (默认)High 级别的视频编码规格,一般用于广播、视频碟片存储、高清电视。 - -
    + + + 66: Baseline 级别的视频编码规格,一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等。 + + + + 77: Main 级别的视频编码规格,一般用于主流消费类电子产品,如 MP4、便携的视频播放器、PSP、iPad 等。 + + + + 100: (默认)High 级别的视频编码规格,一般用于广播、视频碟片存储、高清电视。 + + +
    diff --git a/dita/RTC-NG/API/enum_videocodectype.dita b/dita/RTC-NG/API/enum_videocodectype.dita index 0da15ae3c89..c1e763d02e1 100644 --- a/dita/RTC-NG/API/enum_videocodectype.dita +++ b/dita/RTC-NG/API/enum_videocodectype.dita @@ -7,43 +7,43 @@
    枚举值 - - - 0:(默认)不指定编解码格式。SDK 会根据当前视频流的分辨率、设备性能自动匹配适合的编解码格式。 - - - - 1:标准 VP8。 - - - - 2:标准 H.264。 - - - - 3:标准 H.265。 - - - - -

    6:Generic。

    -

    本类型主要用于传输视频裸数据(比如用户已加密的视频帧),该类型视频帧以回调的形式返回给用户,需要用户自行解码与渲染。

    -
    -
    - - - 12:AV1。 - - - - 20:Generic JPEG。 -

    本类型所需的算力较小,可用于算力有限的 IoT 设备。

    -
    -
    - - - 标准 VP9。 - -
    + + + 0:(默认)不指定编解码格式。SDK 会根据当前视频流的分辨率、设备性能自动匹配适合的编解码格式。 + + + + 1:标准 VP8。 + + + + 2:标准 H.264。 + + + + 3:标准 H.265。 + + + + +

    6:Generic。

    +

    本类型主要用于传输视频裸数据(比如用户已加密的视频帧),该类型视频帧以回调的形式返回给用户,需要用户自行解码与渲染。

    +
    +
    + + + 12:AV1。 + + + + 20:Generic JPEG。

    本类型所需的算力较小,可用于算力有限的 IoT 设备。

    +
    +
    + + + 标准 VP9。 + + + diff --git a/dita/RTC-NG/API/enum_videocodectypeforstream.dita b/dita/RTC-NG/API/enum_videocodectypeforstream.dita index 19abf2defb9..7e91f477330 100644 --- a/dita/RTC-NG/API/enum_videocodectypeforstream.dita +++ b/dita/RTC-NG/API/enum_videocodectypeforstream.dita @@ -7,14 +7,15 @@
    枚举值 - - - 1:(默认)H.264。 - - - - 2:H.265。 - -
    + + + 1:(默认)H.264。 + + + + 2:H.265。 + + + diff --git a/dita/RTC-NG/API/enum_videocontenthint.dita b/dita/RTC-NG/API/enum_videocontenthint.dita index d6592bc4a8d..8057d322d11 100644 --- a/dita/RTC-NG/API/enum_videocontenthint.dita +++ b/dita/RTC-NG/API/enum_videocontenthint.dita @@ -7,18 +7,19 @@
    枚举值 - - - (默认)无指定的内容类型。 - - - - 内容类型为动画。当共享的内容是视频、电影或视频游戏时,推荐选择该内容类型。 - - - - 内容类型为细节。当共享的内容是图片或文字时,推荐选择该内容类型。 - -
    + + + (默认)无指定的内容类型。 + + + + 内容类型为动画。当共享的内容是视频、电影或视频游戏时,推荐选择该内容类型。 + + + + 内容类型为细节。当共享的内容是图片或文字时,推荐选择该内容类型。 + + + diff --git a/dita/RTC-NG/API/enum_videodenoiserlevel.dita b/dita/RTC-NG/API/enum_videodenoiserlevel.dita index 2e53900c19a..e5341a70a14 100644 --- a/dita/RTC-NG/API/enum_videodenoiserlevel.dita +++ b/dita/RTC-NG/API/enum_videodenoiserlevel.dita @@ -1,24 +1,32 @@ - <ph keyref="VIDEO_DENOISER_LEVEL"/> - 视频降噪等级。 + + <ph keyref="VIDEO_DENOISER_LEVEL"/> + + + 视频降噪等级。 +
    枚举值 - - - 0:(默认)优先画质的视频降噪。是在性能消耗和视频降噪效果中取平衡的等级。性能消耗适中,视频降噪速度适中,综合画质最优。 - - - - 1:优先性能的视频降噪。是在性能消耗和视频降噪效果中侧重于节省性能的等级。性能消耗较少,视频降噪速度较快。为避免处理后的视频有明显的拖影效果,建议你在摄像头固定的情况下使用该设置。 - - - - 2:强效的视频降噪。是在性能消耗和视频降噪效果中侧重于视频降噪效果的等级。性能消耗较多,视频降噪速度较慢,视频降噪效果较好。如果 不能满足你的视频降噪需求,你可以使用该设置。 - -
    + + + 0:(默认)优先画质的视频降噪。是在性能消耗和视频降噪效果中取平衡的等级。性能消耗适中,视频降噪速度适中,综合画质最优。 + + + + 1:优先性能的视频降噪。是在性能消耗和视频降噪效果中侧重于节省性能的等级。性能消耗较少,视频降噪速度较快。为避免处理后的视频有明显的拖影效果,建议你在摄像头固定的情况下使用该设置。 + + + + + 2:强效的视频降噪。是在性能消耗和视频降噪效果中侧重于视频降噪效果的等级。性能消耗较多,视频降噪速度较慢,视频降噪效果较好。如果 + + 不能满足你的视频降噪需求,你可以使用该设置。 + + +
    diff --git a/dita/RTC-NG/API/enum_videodenoisermode.dita b/dita/RTC-NG/API/enum_videodenoisermode.dita index f7f08667dcc..2f02a3a3935 100644 --- a/dita/RTC-NG/API/enum_videodenoisermode.dita +++ b/dita/RTC-NG/API/enum_videodenoisermode.dita @@ -1,20 +1,25 @@ - <ph keyref="VIDEO_DENOISER_MODE"/> - 视频降噪模式。 + + <ph keyref="VIDEO_DENOISER_MODE"/> + + + 视频降噪模式。 +
    枚举值 - - - 0:(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭视频降噪功能。 - - - - 1:手动模式。用户需手动开启或关闭视频降噪功能。 - -
    + + + 0:(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭视频降噪功能。 + + + + 1:手动模式。用户需手动开启或关闭视频降噪功能。 + + +
    diff --git a/dita/RTC-NG/API/enum_videoframeprocessmode.dita b/dita/RTC-NG/API/enum_videoframeprocessmode.dita index daf9090589b..70f0b7e842f 100644 --- a/dita/RTC-NG/API/enum_videoframeprocessmode.dita +++ b/dita/RTC-NG/API/enum_videoframeprocessmode.dita @@ -7,20 +7,21 @@
    枚举值 - - - -

    只读模式。

    -

    只读模式下,你不修改视频帧,视频观测器相当于渲染器。

    -
    -
    - - - -

    读写模式。

    -

    读写模式下,你会修改视频帧,视频观测器相当于视频 filter。

    -
    -
    -
    + + + +

    只读模式。

    +

    只读模式下,你不修改视频帧,视频观测器相当于渲染器。

    +
    +
    + + + +

    读写模式。

    +

    读写模式下,你会修改视频帧,视频观测器相当于视频 filter。

    +
    +
    + + diff --git a/dita/RTC-NG/API/enum_videoframetype.dita b/dita/RTC-NG/API/enum_videoframetype.dita index a13bcd34a88..08204a81204 100644 --- a/dita/RTC-NG/API/enum_videoframetype.dita +++ b/dita/RTC-NG/API/enum_videoframetype.dita @@ -7,30 +7,31 @@
    枚举值 - - - 0: 黑帧。 - - - - 3: 关键帧。 - - - - 4: Delta 帧。 - - - - 5: B 帧。 - - - - 6: 丢弃帧。 - - - - 未知帧。 - -
    + + + 0: 黑帧。 + + + + 3: 关键帧。 + + + + 4: Delta 帧。 + + + + 5: B 帧。 + + + + 6: 丢弃帧。 + + + + 未知帧。 + + + diff --git a/dita/RTC-NG/API/enum_videomirrormodetype.dita b/dita/RTC-NG/API/enum_videomirrormodetype.dita index 3e043324462..70fd09707a8 100644 --- a/dita/RTC-NG/API/enum_videomirrormodetype.dita +++ b/dita/RTC-NG/API/enum_videomirrormodetype.dita @@ -7,25 +7,26 @@
    枚举值 - - - 0:由 SDK 决定镜像模式。 -
      -
    • 本地视图镜像模式:如果你使用前置摄像头,默认启动本地视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。
    • -
    • 远端用户视图镜像模式:默认关闭远端用户的镜像模式。
    -
    + + + 0:由 SDK 决定镜像模式。
      +
    • 本地视图镜像模式:如果你使用前置摄像头,默认启动本地视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。
    • +
    • 远端用户视图镜像模式:默认关闭远端用户的镜像模式。
    • +
    +
    - - - 1:启用镜像模式。 - + + + 1:启用镜像模式。 + - - - 2:关闭镜像模式。 - -
    + + + 2:关闭镜像模式。 + + + diff --git a/dita/RTC-NG/API/enum_videomoduleposition.dita b/dita/RTC-NG/API/enum_videomoduleposition.dita index b54d3cf8b93..4c3578daa3a 100644 --- a/dita/RTC-NG/API/enum_videomoduleposition.dita +++ b/dita/RTC-NG/API/enum_videomoduleposition.dita @@ -8,24 +8,27 @@ 枚举值 不同视频观测点在视频链路上的具体位置详见 - - - 1: 本地采集视频数据并且经过前处理之后的位置,对应 回调。此处观测到的视频具备视频前处理的效果,可通过开启美颜、虚拟背景或水印等方式验证。 - - - - 2: 接收远端发送的视频在渲染前的位置,对应 回调。 - - - - 4: 本地视频编码前的位置,对应 回调。此处观测到的视频具备视频前处理和编码前处理的效果:
      -
    • 对于视频前处理效果,可通过开启美颜、虚拟背景或水印等方式验证。
    • -
    • 对于编码前处理效果,可通过设置一个较低的帧率(例如 5 fps)验证。
    -
    - - - 8: 本地采集视频之后、前处理之前的位置。此处观测到的视频不具备前处理的效果,可通过开启美颜、虚拟背景或设置水印等方式验证。 - -
    + + + 1: 本地采集视频数据并且经过前处理之后的位置,对应 + 回调。此处观测到的视频具备视频前处理的效果,可通过开启美颜、虚拟背景或水印等方式验证。 + + + + 2: 接收远端发送的视频在渲染前的位置,对应 回调。 + + + + 4: 本地视频编码前的位置,对应 回调。此处观测到的视频具备视频前处理和编码前处理的效果:
      +
    • 对于视频前处理效果,可通过开启美颜、虚拟背景或水印等方式验证。
    • +
    • 对于编码前处理效果,可通过设置一个较低的帧率(例如 5 fps)验证。
    • +
    +
    + + + 8: 本地采集视频之后、前处理之前的位置。此处观测到的视频不具备前处理的效果,可通过开启美颜、虚拟背景或设置水印等方式验证。 + + + diff --git a/dita/RTC-NG/API/enum_videoobserverframetype.dita b/dita/RTC-NG/API/enum_videoobserverframetype.dita index e38b0f11c15..2e5dbc58ec8 100644 --- a/dita/RTC-NG/API/enum_videoobserverframetype.dita +++ b/dita/RTC-NG/API/enum_videoobserverframetype.dita @@ -7,26 +7,27 @@
    枚举值 - - - 原始视频像素格式。 - - - - YUV420 格式的视频数据。 - - - - YUV422 格式的视频数据。 - - - - RGBA 格式的视频数据。 - - - - BGRA 格式的视频数据。 - -
    + + + 原始视频像素格式。 + + + + YUV420 格式的视频数据。 + + + + YUV422 格式的视频数据。 + + + + RGBA 格式的视频数据。 + + + + BGRA 格式的视频数据。 + + + diff --git a/dita/RTC-NG/API/enum_videoorientation.dita b/dita/RTC-NG/API/enum_videoorientation.dita index 17036f0d507..afe835cbd49 100644 --- a/dita/RTC-NG/API/enum_videoorientation.dita +++ b/dita/RTC-NG/API/enum_videoorientation.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0:(默认)顺时针旋转 0 度。 - - - - 90: 顺时针旋转 90 度。 - - - - 180: 顺时针旋转 180 度。 - - - - 270: 顺时针旋转 270 度。 - -
    + + + 0:(默认)顺时针旋转 0 度。 + + + + 90: 顺时针旋转 90 度。 + + + + 180: 顺时针旋转 180 度。 + + + + 270: 顺时针旋转 270 度。 + + + diff --git a/dita/RTC-NG/API/enum_videopixelformat.dita b/dita/RTC-NG/API/enum_videopixelformat.dita index 7a4b6bfcc8e..123a5fc2be2 100644 --- a/dita/RTC-NG/API/enum_videopixelformat.dita +++ b/dita/RTC-NG/API/enum_videopixelformat.dita @@ -62,8 +62,11 @@ - 17: ID3D11TEXTURE2D 格式。目前支持的类型有 DXGI_FORMAT_B8G8R8A8_UNORMDXGI_FORMAT_B8G8R8A8_TYPELESSDXGI_FORMAT_NV12 + 17: ID3D11TEXTURE2D 格式。目前支持的类型有 + DXGI_FORMAT_B8G8R8A8_UNORMDXGI_FORMAT_B8G8R8A8_TYPELESS + 和 DXGI_FORMAT_NV12 - + + diff --git a/dita/RTC-NG/API/enum_videoprofiletype.dita b/dita/RTC-NG/API/enum_videoprofiletype.dita index 59312fda628..28641440cc6 100644 --- a/dita/RTC-NG/API/enum_videoprofiletype.dita +++ b/dita/RTC-NG/API/enum_videoprofiletype.dita @@ -6,283 +6,288 @@
    - -
    弃用
    -
    该类已废弃。
    -
    + +
    弃用
    +
    该类已废弃。
    +
    枚举值 - - - 无效的视频属性。 - - - - 0:分辨率 160 × 120,帧率 15 fps,码率 65 Kbps。 - - - - 2:分辨率 120 × 120,帧率 15 fps,码率 50 Kbps。 - - - - 10:分辨率 320 × 180,帧率 15 fps,码率 140 Kbps。 - - - - 12:分辨率 180 × 180,帧率 15 fps,码率 100 Kbps。 - - - - 13:分辨率 240 × 180,帧率 15 fps,码率 120 Kbps。 - - - - 20:分辨率 320 × 240,帧率 15 fps,码率 200 Kbps。 - - - - 22:分辨率 240 × 240,帧率 15 fps,码率 140 Kbps。 - - - - 23:分辨率 424 × 240,帧率 15 fps,码率 220 Kbps。 - - - - 30:分辨率 640 × 360,帧率 15 fps,码率 400 Kbps。 - - - - 32:分辨率 360 × 360,帧率 15 fps,码率 260 Kbps。 - - - - 33:分辨率 640 × 360,帧率 30 fps,码率 600 Kbps。 - - - - 35:分辨率 360 × 360,帧率 30 fps,码率 400 Kbps。 - - - - 36:分辨率 480 × 360,帧率 15 fps,码率 320 Kbps。 - - - - 37:分辨率 480 × 360,帧率 30 fps,码率 490 Kbps。 - - - - -

    38:分辨率 640 × 360,帧率 15 fps,码率 800 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - -

    39:分辨率 640 × 360,帧率 24 fps,码率 800 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - -

    100: 分辨率 640 × 360,帧率 24 fps,码率 1000 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - 40:分辨率 640 × 480,帧率 15 fps,码率 500 Kbps。 - - - - 42:分辨率 480 × 480,帧率 15 fps,码率 400 Kbps。 - - - - 43:分辨率 640 × 480,帧率 30 fps,码率 750 Kbps。 - - - - 45:分辨率 480 × 480,帧率 30 fps,码率 600 Kbps。 - - - - 47:分辨率 848 × 480,帧率 15 fps,码率 610 Kbps。 - - - - 48:分辨率 848 × 480,帧率 30 fps,码率 930 Kbps。 - - - - 49:分辨率 640 × 480,帧率 10 fps,码率 400 Kbps。 - - - - 50:分辨率 1280 × 720,帧率 15 fps,码率 1130 Kbps。 - - - - 52:分辨率 1280 × 720,帧率 30 fps,码率 1710 Kbps。 - - - - 54:分辨率 960 × 720,帧率 15 fps,码率 910 Kbps。 - - - - 55:分辨率 960 × 720,帧率 30 fps,码率 1380 Kbps。 - - - - 60:分辨率 1920 × 1080,帧率 15 fps,码率 2080 Kbps。 - - - - 62:分辨率 1920 × 1080,帧率 30 fps,码率 3150 Kbps。 - - - - 64:分辨率 1920 × 1080,帧率 60 fps,码率 4780 Kbps。 - - - - 1000: 分辨率 120 × 160,帧率 15 fps,码率 65 Kbps。 - - - - 1002: 分辨率 120 × 120,帧率 15 fps,码率 50 Kbps。 - - - - 1010: 分辨率 180 × 320,帧率 15 fps,码率 140 Kbps。 - - - - 1012: 分辨率 180 × 180,帧率 15 fps,码率 100 Kbps。 - - - - 1013: 分辨率 180 × 240,帧率 15 fps,码率 120 Kbps。 - - - - 1020: 分辨率 240 × 320,帧率 15 fps,码率 200 Kbps。 - - - - 1022: 分辨率 240 × 240,帧率 15 fps,码率 140 Kbps。 - - - - 1023: 分辨率 240 × 424,帧率 15 fps,码率 220 Kbps。 - - - - 1030: 分辨率 360 × 640,帧率 15 fps,码率 400 Kbps。 - - - - 1032: 分辨率 360 × 360,帧率 15 fps,码率 260 Kbps。 - - - - 1033: 分辨率 360 × 640,帧率 30 fps,码率 600 Kbps。 - - - - 1035: 分辨率 360 × 360,帧率 30 fps,码率 400 Kbps。 - - - - 1036: 分辨率 360 × 480,帧率 15 fps,码率 320 Kbps。 - - - - 1037: 分辨率 360 × 480,帧率 30 fps,码率 490 Kbps。 - - - - -

    1038: 分辨率 360 × 640,帧率 15 fps,码率 800 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - -

    1039: 分辨率 360 × 640,帧率 24 fps,码率 800 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - -

    1100: 分辨率 360 × 640,帧率 24 fps,码率 1000 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - 1040: 分辨率 480 × 640,帧率 15 fps,码率 500 Kbps。 - - - - 1042: 分辨率 480 × 480,帧率 15 fps,码率 400 Kbps。 - - - - 1043: 分辨率 480 × 640,帧率 30 fps,码率 750 Kbps。 - - - - 1045: 分辨率 480 × 480,帧率 30 fps,码率 600 Kbps。 - - - - 1047: 分辨率 480 × 848,帧率 15 fps,码率 610 Kbps。 - - - - 1048: 分辨率 480 × 848,帧率 30 fps,码率 930 Kbps。 - - - - 1049: 分辨率 480 × 640,帧率 10 fps,码率 400 Kbps。 - - - - 1050: 分辨率 分辨率 720 × 1280,帧率 15 fps,码率 1130 Kbps。 - - - - 1052: 分辨率 分辨率 720 × 1280,帧率 30 fps,码率 1710 Kbps。 - - - - 1054: 分辨率 720 × 960,帧率 15 fps,码率 910 Kbps。 - - - - 1055: 分辨率 720 × 960,帧率 30 fps,码率 1380 Kbps。 - - - - 1060: 分辨率 1080 × 1920,帧率 15 fps,码率 2080 Kbps。 - - - - 1062: 分辨率 1080 × 1920,帧率 30 fps,码率 3150 Kbps。 - - - - 1064: 分辨率 1080 × 1920,帧率 60 fps,码率 4780 Kbps。 - - - - (默认)分辨率 640 × 360,帧率 15 fps,码率 400 Kbps。 - -
    + + + 无效的视频属性。 + + + + 0:分辨率 160 × 120,帧率 15 fps,码率 65 Kbps。 + + + + 2:分辨率 120 × 120,帧率 15 fps,码率 50 Kbps。 + + + + 10:分辨率 320 × 180,帧率 15 fps,码率 140 Kbps。 + + + + 12:分辨率 180 × 180,帧率 15 fps,码率 100 Kbps。 + + + + 13:分辨率 240 × 180,帧率 15 fps,码率 120 Kbps。 + + + + 20:分辨率 320 × 240,帧率 15 fps,码率 200 Kbps。 + + + + 22:分辨率 240 × 240,帧率 15 fps,码率 140 Kbps。 + + + + 23:分辨率 424 × 240,帧率 15 fps,码率 220 Kbps。 + + + + 30:分辨率 640 × 360,帧率 15 fps,码率 400 Kbps。 + + + + 32:分辨率 360 × 360,帧率 15 fps,码率 260 Kbps。 + + + + 33:分辨率 640 × 360,帧率 30 fps,码率 600 Kbps。 + + + + 35:分辨率 360 × 360,帧率 30 fps,码率 400 Kbps。 + + + + 36:分辨率 480 × 360,帧率 15 fps,码率 320 Kbps。 + + + + 37:分辨率 480 × 360,帧率 30 fps,码率 490 Kbps。 + + + + +

    38:分辨率 640 × 360,帧率 15 fps,码率 800 Kbps。

    + 该视频属性仅适用于直播频道场景。 +
    +
    + + + +

    39:分辨率 640 × 360,帧率 24 fps,码率 800 Kbps。

    + 该视频属性仅适用于直播频道场景。
    +
    + + + +

    100: 分辨率 640 × 360,帧率 24 fps,码率 1000 Kbps。

    + 该视频属性仅适用于直播频道场景。
    +
    + + + 40:分辨率 640 × 480,帧率 15 fps,码率 500 Kbps。 + + + + 42:分辨率 480 × 480,帧率 15 fps,码率 400 Kbps。 + + + + 43:分辨率 640 × 480,帧率 30 fps,码率 750 Kbps。 + + + + 45:分辨率 480 × 480,帧率 30 fps,码率 600 Kbps。 + + + + 47:分辨率 848 × 480,帧率 15 fps,码率 610 Kbps。 + + + + 48:分辨率 848 × 480,帧率 30 fps,码率 930 Kbps。 + + + + 49:分辨率 640 × 480,帧率 10 fps,码率 400 Kbps。 + + + + 50:分辨率 1280 × 720,帧率 15 fps,码率 1130 Kbps。 + + + + 52:分辨率 1280 × 720,帧率 30 fps,码率 1710 Kbps。 + + + + 54:分辨率 960 × 720,帧率 15 fps,码率 910 Kbps。 + + + + 55:分辨率 960 × 720,帧率 30 fps,码率 1380 Kbps。 + + + + 60:分辨率 1920 × 1080,帧率 15 fps,码率 2080 Kbps。 + + + + 62:分辨率 1920 × 1080,帧率 30 fps,码率 3150 Kbps。 + + + + 64:分辨率 1920 × 1080,帧率 60 fps,码率 4780 Kbps。 + + + + 1000: 分辨率 120 × 160,帧率 15 fps,码率 65 Kbps。 + + + + 1002: 分辨率 120 × 120,帧率 15 fps,码率 50 Kbps。 + + + + 1010: 分辨率 180 × 320,帧率 15 fps,码率 140 Kbps。 + + + + 1012: 分辨率 180 × 180,帧率 15 fps,码率 100 Kbps。 + + + + 1013: 分辨率 180 × 240,帧率 15 fps,码率 120 Kbps。 + + + + 1020: 分辨率 240 × 320,帧率 15 fps,码率 200 Kbps。 + + + + 1022: 分辨率 240 × 240,帧率 15 fps,码率 140 Kbps。 + + + + 1023: 分辨率 240 × 424,帧率 15 fps,码率 220 Kbps。 + + + + 1030: 分辨率 360 × 640,帧率 15 fps,码率 400 Kbps。 + + + + 1032: 分辨率 360 × 360,帧率 15 fps,码率 260 Kbps。 + + + + 1033: 分辨率 360 × 640,帧率 30 fps,码率 600 Kbps。 + + + + 1035: 分辨率 360 × 360,帧率 30 fps,码率 400 Kbps。 + + + + 1036: 分辨率 360 × 480,帧率 15 fps,码率 320 Kbps。 + + + + 1037: 分辨率 360 × 480,帧率 30 fps,码率 490 Kbps。 + + + + +

    1038: 分辨率 360 × 640,帧率 15 fps,码率 800 Kbps。

    + 该视频属性仅适用于直播频道场景。 +
    +
    + + + +

    1039: 分辨率 360 × 640,帧率 24 fps,码率 800 Kbps。

    + 该视频属性仅适用于直播频道场景。 +
    +
    + + + +

    1100: 分辨率 360 × 640,帧率 24 fps,码率 1000 Kbps。

    + 该视频属性仅适用于直播频道场景。 +
    +
    + + + 1040: 分辨率 480 × 640,帧率 15 fps,码率 500 Kbps。 + + + + 1042: 分辨率 480 × 480,帧率 15 fps,码率 400 Kbps。 + + + + 1043: 分辨率 480 × 640,帧率 30 fps,码率 750 Kbps。 + + + + 1045: 分辨率 480 × 480,帧率 30 fps,码率 600 Kbps。 + + + + 1047: 分辨率 480 × 848,帧率 15 fps,码率 610 Kbps。 + + + + 1048: 分辨率 480 × 848,帧率 30 fps,码率 930 Kbps。 + + + + 1049: 分辨率 480 × 640,帧率 10 fps,码率 400 Kbps。 + + + + 1050: 分辨率 分辨率 720 × 1280,帧率 15 fps,码率 1130 Kbps。 + + + + 1052: 分辨率 分辨率 720 × 1280,帧率 30 fps,码率 1710 Kbps。 + + + + 1054: 分辨率 720 × 960,帧率 15 fps,码率 910 Kbps。 + + + + 1055: 分辨率 720 × 960,帧率 30 fps,码率 1380 Kbps。 + + + + 1060: 分辨率 1080 × 1920,帧率 15 fps,码率 2080 Kbps。 + + + + 1062: 分辨率 1080 × 1920,帧率 30 fps,码率 3150 Kbps。 + + + + 1064: 分辨率 1080 × 1920,帧率 60 fps,码率 4780 Kbps。 + + + + (默认)分辨率 640 × 360,帧率 15 fps,码率 400 Kbps。 + + +
    diff --git a/dita/RTC-NG/API/enum_videosourcetype.dita b/dita/RTC-NG/API/enum_videosourcetype.dita index df669a899a1..b5f432e8f99 100644 --- a/dita/RTC-NG/API/enum_videosourcetype.dita +++ b/dita/RTC-NG/API/enum_videosourcetype.dita @@ -7,83 +7,88 @@
    枚举值 - - - 0:(默认)视频源为第一个摄像头。 - - - - 0:(默认)视频源为第一个摄像头。 - - - - 1:视频源为第二个摄像头。 - - - - 2:视频源为第一个屏幕。 - - - - 2:视频源为第一个屏幕。 - - - - 3:视频源为第二个屏幕。 - - - - 4:自定义的视频源。 - - - - 5:视频源为媒体播放器。 - - - - 6:视频源为 PNG 图片。 - - - - 7:视频源为 JPEG 图片。 - - - - 8:视频源为 GIF 图片。 - - - - 9:视频源为网络获取的远端视频。 - - - - 10:转码后的视频源。 - - - - 11:(仅适用于 Android、Windows 和 macOS)(仅适用于 Android)视频源为第三个摄像头。 - - - - 12:(仅适用于 Android、Windows 和 macOS)(仅适用于 Android)视频源为第四个摄像头。 - - - - 13:(仅适用于 Windows 和 macOS)视频源为第三个屏幕。 - - - - 14:(仅适用于 Windows 和 macOS)视频源为第四个屏幕。 - - - - 15:视频源为语音驱动插件处理后的视频。 - - - - 100:未知的视频源。 - + + + + 0:(默认)视频源为第一个摄像头。 + + + + 0:(默认)视频源为第一个摄像头。 + + + + 1:视频源为第二个摄像头。 + + + + 2:视频源为第一个屏幕。 + + + + 2:视频源为第一个屏幕。 + + + + 3:视频源为第二个屏幕。 + + + + 4:自定义的视频源。 + + + + 5:视频源为媒体播放器。 + + + + 6:视频源为 PNG 图片。 + + + + 7:视频源为 JPEG 图片。 + + + + 8:视频源为 GIF 图片。 + + + + 9:视频源为网络获取的远端视频。 + + + + 10:转码后的视频源。 + + + + 11:(仅适用于 Android、Windows 和 + macOS)(仅适用于 Android)视频源为第三个摄像头。 + + + + 12:(仅适用于 Android、Windows 和 + macOS)(仅适用于 Android)视频源为第四个摄像头。 + + + + 13:(仅适用于 Windows 和 + macOS)视频源为第三个屏幕。 + + + + 14:(仅适用于 Windows 和 + macOS)视频源为第四个屏幕。 + + + + 15:视频源为语音驱动插件处理后的视频。 + + + + 100:未知的视频源。 + -
    + diff --git a/dita/RTC-NG/API/enum_videostreamtype.dita b/dita/RTC-NG/API/enum_videostreamtype.dita index 972618daca4..cec7bbea785 100644 --- a/dita/RTC-NG/API/enum_videostreamtype.dita +++ b/dita/RTC-NG/API/enum_videostreamtype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 视频大流,即高分辨率、高码率视频流。 - - - - 1: 视频小流,即低分辨率、低码率视频流。 - -
    + + + 0: 视频大流,即高分辨率、高码率视频流。 + + + + 1: 视频小流,即低分辨率、低码率视频流。 + + + diff --git a/dita/RTC-NG/API/enum_videotranscodererror.dita b/dita/RTC-NG/API/enum_videotranscodererror.dita index 063fe0fb85b..ac3b1d42bde 100644 --- a/dita/RTC-NG/API/enum_videotranscodererror.dita +++ b/dita/RTC-NG/API/enum_videotranscodererror.dita @@ -6,39 +6,40 @@
    - -
    自从
    -
    v4.2.0
    -
    + +
    自从
    +
    v4.2.0
    +
    枚举值 - - - 1:指定的视频源未开始进行视频采集,你需要为其创建视频轨道并开始视频采集。 - - - - 2:视频源类型无效,你需要重新指定支持的视频源类型。 - - - - 3:图片路径无效,你需要重新指定正确的图片路径。 - - - - 4:图片格式无效,需确保图片格式为 PNG、JPEG 或 GIF 中的一种。 - - - - 5:合图后的视频编码分辨率无效。 - - - - 20:内部未知错误。 - -
    + + + 1:指定的视频源未开始进行视频采集,你需要为其创建视频轨道并开始视频采集。 + + + + 2:视频源类型无效,你需要重新指定支持的视频源类型。 + + + + 3:图片路径无效,你需要重新指定正确的图片路径。 + + + + 4:图片格式无效,需确保图片格式为 PNG、JPEG 或 GIF 中的一种。 + + + + 5:合图后的视频编码分辨率无效。 + + + + 20:内部未知错误。 + + +
    diff --git a/dita/RTC-NG/API/enum_videoviewsetupmode.dita b/dita/RTC-NG/API/enum_videoviewsetupmode.dita index 3f1befce01b..5f692e893dd 100644 --- a/dita/RTC-NG/API/enum_videoviewsetupmode.dita +++ b/dita/RTC-NG/API/enum_videoviewsetupmode.dita @@ -21,5 +21,6 @@ 2:删除一个视图。 - + + diff --git a/dita/RTC-NG/API/enum_virtualbackgroundsourcestatereason.dita b/dita/RTC-NG/API/enum_virtualbackgroundsourcestatereason.dita index b667316f275..051e9d7bdf3 100644 --- a/dita/RTC-NG/API/enum_virtualbackgroundsourcestatereason.dita +++ b/dita/RTC-NG/API/enum_virtualbackgroundsourcestatereason.dita @@ -6,31 +6,37 @@
    - -
    自从
    -
    v3.5.0
    -
    + +
    自从
    +
    v3.5.0
    +
    枚举值 - - - 0: 虚拟背景已成功开启。 - - - - 1: 自定义的背景图不存在。请检查 source 的值。 - - - - 2: 自定义的背景图颜色格式出错。请检查 color 的值。 - - - - 3: 设备不支持使用虚拟背景。 - -
    + + + 0: 虚拟背景已成功开启。 + + + + 1: 自定义的背景图不存在。请检查 中 + source 的值。 + + + + 2: 自定义的背景图颜色格式出错。请检查 中 + color 的值。 + + + + 3: 设备不支持使用虚拟背景。 + + +
    diff --git a/dita/RTC-NG/API/enum_voicebeautifierpreset.dita b/dita/RTC-NG/API/enum_voicebeautifierpreset.dita index 8713b6b684b..760be960d23 100644 --- a/dita/RTC-NG/API/enum_voicebeautifierpreset.dita +++ b/dita/RTC-NG/API/enum_voicebeautifierpreset.dita @@ -5,81 +5,90 @@ 预设的美声效果选项。
    - 枚举值 - - - - 原声,即关闭美声效果。 - - - -

    磁性(男)。

    - 该设置仅对男声有效,请勿用于设置女声,否则音频会失真。
    -
    - - - -

    清新(女)。

    - 该设置仅对女声有效,请勿用于设置男声,否则音频会失真。 -
    -
    - - - -

    活力(女)。

    - 该设置仅对女声有效,请勿用于设置男声,否则音频会失真。 -
    -
    - - - -

    歌唱美声。

    -
      -
    • 如果调用 (),你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声,否则音频会失真。
    • -
    • 如果调用 (, param1, param2),你可以美化男声或女声并添加混响效果。
    • -
    -
    -
    - - - 浑厚。 - - - - 低沉。 - - - - 圆润。 - - - - 假音。 - - - - 饱满。 - - - - 清澈。 - - - - 高亢。 - - - - 嘹亮。 - - - - 超高音质,即让音频更清晰、细节更丰富。 -
      -
    • 为达到更好的效果,建议在调用 前将 profile 参数设置为 (4) 或 (5),且 scenario 参数设置为 (3)。
    • -
    • 如果用户的音频采集设备可以高度还原音频细节,建议你不要开启超高音质,否则 SDK 会过度还原音频细节,达不到预期效果。
    • -
    -
    -
    -
    + 枚举值 + + + + 原声,即关闭美声效果。 + + + +

    磁性(男)。

    + 该设置仅对男声有效,请勿用于设置女声,否则音频会失真。
    +
    + + + +

    清新(女)。

    + 该设置仅对女声有效,请勿用于设置男声,否则音频会失真。 +
    +
    + + + +

    活力(女)。

    + 该设置仅对女声有效,请勿用于设置男声,否则音频会失真。 +
    +
    + + + +

    歌唱美声。

    +
      +
    • 如果调用 (),你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声,否则音频会失真。
    • +
    • 如果调用 (, param1, + param2),你可以美化男声或女声并添加混响效果。
    • +
    +
    +
    + + + 浑厚。 + + + + 低沉。 + + + + 圆润。 + + + + 假音。 + + + + 饱满。 + + + + 清澈。 + + + + 高亢。 + + + + 嘹亮。 + + + + 超高音质,即让音频更清晰、细节更丰富。
      +
    • 为达到更好的效果,建议在调用 前将 profile 参数设置为 + (4) 或 + (5),且 + scenario 参数设置为 (3)。
    • +
    • 如果用户的音频采集设备可以高度还原音频细节,建议你不要开启超高音质,否则 SDK 会过度还原音频细节,达不到预期效果。
    • +
    +
    +
    + + diff --git a/dita/RTC-NG/API/enum_voicechangerpreset.dita b/dita/RTC-NG/API/enum_voicechangerpreset.dita index fdb841a009a..6fa71088156 100644 --- a/dita/RTC-NG/API/enum_voicechangerpreset.dita +++ b/dita/RTC-NG/API/enum_voicechangerpreset.dita @@ -7,82 +7,83 @@
    枚举值 - - - 原声,即关闭语音变声。 - - - - 变声:老男人。 - - - - 变声:小男孩。 - - - - 变声:小女孩。 - - - - 变声:猪八戒。 - - - - 变声:空灵。 - - - - 变声:绿巨人。 - - - - 美音:浑厚。 - - - - 美音:深沉。 - - - - 美音:圆润。 - - - - 美音:假音。 - - - - 美音:饱满。 - - - - 美音:清澈。 - - - - 美音:高亢。 - - - - 美音:嘹亮。 - - - - 美音:空旷。 - - - - 语聊美声:磁性(男)。此枚举为男声定制化效果,不适用于女声。若女声使用此音效设置,则音频可能会产生失真。 - - - - 语聊美声:清新(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。 - - - - 语聊美声:活力(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。 - -
    + + + 原声,即关闭语音变声。 + + + + 变声:老男人。 + + + + 变声:小男孩。 + + + + 变声:小女孩。 + + + + 变声:猪八戒。 + + + + 变声:空灵。 + + + + 变声:绿巨人。 + + + + 美音:浑厚。 + + + + 美音:深沉。 + + + + 美音:圆润。 + + + + 美音:假音。 + + + + 美音:饱满。 + + + + 美音:清澈。 + + + + 美音:高亢。 + + + + 美音:嘹亮。 + + + + 美音:空旷。 + + + + 语聊美声:磁性(男)。此枚举为男声定制化效果,不适用于女声。若女声使用此音效设置,则音频可能会产生失真。 + + + + 语聊美声:清新(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。 + + + + 语聊美声:活力(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。 + + + diff --git a/dita/RTC-NG/API/enum_voiceconversionpreset.dita b/dita/RTC-NG/API/enum_voiceconversionpreset.dita index cc5c13724ab..c73eeb71849 100644 --- a/dita/RTC-NG/API/enum_voiceconversionpreset.dita +++ b/dita/RTC-NG/API/enum_voiceconversionpreset.dita @@ -7,26 +7,27 @@
    枚举值 - - - 原声,即关闭变声效果。 - - - - 中性。为避免音频失真,请确保仅对女声设置该效果。 - - - - 甜美。为避免音频失真,请确保仅对女声设置该效果。 - - - - 稳重。为避免音频失真,请确保仅对男声设置该效果。 - - - - 低沉。为避免音频失真,请确保仅对男声设置该效果。 - -
    + + + 原声,即关闭变声效果。 + + + + 中性。为避免音频失真,请确保仅对女声设置该效果。 + + + + 甜美。为避免音频失真,请确保仅对女声设置该效果。 + + + + 稳重。为避免音频失真,请确保仅对男声设置该效果。 + + + + 低沉。为避免音频失真,请确保仅对男声设置该效果。 + + + diff --git a/dita/RTC-NG/API/enum_watermarkfitmode.dita b/dita/RTC-NG/API/enum_watermarkfitmode.dita index 8e540854609..f53566b2a3f 100644 --- a/dita/RTC-NG/API/enum_watermarkfitmode.dita +++ b/dita/RTC-NG/API/enum_watermarkfitmode.dita @@ -7,14 +7,21 @@
    枚举值 - - - 使用你在 中设置的 positionInLandscapeModepositionInPortraitMode 值。此时 中的设置无效。 - - - - 使用你在 中设置的值。此时 positionInLandscapeModepositionInPortraitMode 的设置无效。 - -
    + + + 使用你在 中设置的 + positionInLandscapeMode 和 + positionInPortraitMode 值。此时 中的设置无效。 + + + + 使用你在 中设置的值。此时 中 + positionInLandscapeMode 和 + positionInPortraitMode 的设置无效。 + + + diff --git a/dita/RTC-NG/API/enum_wlaccmessagereason.dita b/dita/RTC-NG/API/enum_wlaccmessagereason.dita index 3ce1452cbfb..ec7655d4430 100644 --- a/dita/RTC-NG/API/enum_wlaccmessagereason.dita +++ b/dita/RTC-NG/API/enum_wlaccmessagereason.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: Wi-Fi 信号弱。 - - - - 1: 网络拥塞。 - -
    + + + 0: Wi-Fi 信号弱。 + + + + 1: 网络拥塞。 + + + diff --git a/dita/RTC-NG/API/enum_wlaccsuggestaction.dita b/dita/RTC-NG/API/enum_wlaccsuggestaction.dita index b51b283a6f9..65bf335f7bd 100644 --- a/dita/RTC-NG/API/enum_wlaccsuggestaction.dita +++ b/dita/RTC-NG/API/enum_wlaccsuggestaction.dita @@ -7,22 +7,25 @@
    枚举值 - - - 0: 由于路由器接收到的 Wi-Fi 信号弱,请用户靠近路由器。 - - - - 1: 请用户连接到指定的无线网络。无线网络名称(SSID)详见 wlAccMsg 参数。 - - - - 2: 当前路由器不支持 5G 频道。请用户检查路由器是否支持并开启了 5G 频道,或更换支持 5G 频道的路由器。开启 5G 频道的步骤详见 wlAccMsg 参数。 - - - - 3: 2.4G 频段和 5G 频道的网络名称(SSID)相同。请用户修改 2.4G 频段或 5G 频道的网络名称。修改步骤详见 wlAccMsg 参数。 - -
    + + + 0: 由于路由器接收到的 Wi-Fi 信号弱,请用户靠近路由器。 + + + + 1: 请用户连接到指定的无线网络。无线网络名称(SSID)详见 wlAccMsg 参数。 + + + + 2: 当前路由器不支持 5G 频道。请用户检查路由器是否支持并开启了 5G 频道,或更换支持 5G 频道的路由器。开启 5G 频道的步骤详见 + wlAccMsg 参数。 + + + + 3: 2.4G 频段和 5G 频道的网络名称(SSID)相同。请用户修改 2.4G 频段或 5G 频道的网络名称。修改步骤详见 + wlAccMsg 参数。 + + + diff --git a/dita/RTC-NG/API/rtc_api_data_type.dita b/dita/RTC-NG/API/rtc_api_data_type.dita index 32b96fbbd09..050a07941b3 100644 --- a/dita/RTC-NG/API/rtc_api_data_type.dita +++ b/dita/RTC-NG/API/rtc_api_data_type.dita @@ -2,612 +2,39 @@ <ph keyref="typedef"/> - 本页列出 所有 和 Enum 的定义。 + 本页列出 所有 和 + Enum 的定义。
    <ph keyref="class"/>
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      +
    • -
    • -
    • -
    • +
    • +
    • -
    • +
    • -
    • +
    • +
    • -
    • +
    • @@ -615,7 +42,8 @@
    • -
    • +
    • +
    • @@ -626,8 +54,8 @@
    • -
    • +
    • @@ -635,24 +63,48 @@
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • +
    • -
    • +
    • +
    • +
    • +
    • +
    • @@ -665,966 +117,1928 @@
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    +
    + Enum +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    - Enum -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    • @@ -1635,8 +2049,8 @@
    • -
    • +
    • @@ -1644,25 +2058,27 @@
    • +
    • -
    • -
    • +
    • +
    • +
    • +
    • -
    • -
    • +
    • +
    • -
    • @@ -1676,9 +2092,10 @@
    • +
    • -
    • +
    • @@ -1686,13 +2103,11 @@
    • +
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • @@ -1700,21 +2115,21 @@
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • -
    • -
    • +
    • -
    • @@ -1723,456 +2138,46 @@
    • +
    • -
    • +
    • -
    • -
    • -
    • +
    • +
    • -
    • +
    • +
    • -
    • +
    • -
    • +
    • +
    • +
    • +
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    +
    diff --git a/dita/RTC-NG/API/rtc_api_data_type_unreal.dita b/dita/RTC-NG/API/rtc_api_data_type_unreal.dita index 450c4152326..b01687f08e9 100644 --- a/dita/RTC-NG/API/rtc_api_data_type_unreal.dita +++ b/dita/RTC-NG/API/rtc_api_data_type_unreal.dita @@ -2,7 +2,8 @@ <ph keyref="typedef"/> - 本页列出 所有 和 Enum 的定义。 + 本页列出 所有 和 + Enum 的定义。
    <ph keyref="class"/> @@ -99,7 +100,7 @@
  • -
  • +
  • @@ -216,7 +217,7 @@
  • -
  • +
  • @@ -383,7 +384,7 @@
  • - +
    • @@ -519,7 +520,7 @@
    • -
    +
    diff --git a/dita/RTC-NG/API/rtc_api_overview.dita b/dita/RTC-NG/API/rtc_api_overview.dita index f79538ee536..bccc96cef47 100644 --- a/dita/RTC-NG/API/rtc_api_overview.dita +++ b/dita/RTC-NG/API/rtc_api_overview.dita @@ -2,9 +2,13 @@ API 概览 - 声网通过全球部署的 SD-RTN™,提供可以灵活搭配的 API 组合,实现质量可靠的实时音视频通信。 + 声网通过全球部署的 SD-RTN™,提供可以灵活搭配的 API + 组合,实现质量可靠的实时音视频通信。 -

    本文档为 Unreal C++ API 参考文档,如使用 Unreal Blueprint SDK,请参考声网在 github 上提供的开源示例项目,或联系 获取教学视频。

    +

    本文档为 Unreal C++ API 参考文档,如使用 Unreal Blueprint SDK,请参考声网在 github 上提供的开源示例项目,或联系 + 获取教学视频。

    初始化相关 @@ -14,7 +18,9 @@ - + @@ -22,7 +28,9 @@ - 创建并初始化 初始化 + 创建并初始化 初始化 @@ -236,7 +244,8 @@ - + @@ -333,7 +342,8 @@ - + @@ -507,7 +517,8 @@ - + @@ -564,7 +575,8 @@ - + @@ -580,7 +592,8 @@ - + @@ -637,7 +650,8 @@ - + @@ -682,7 +696,8 @@ - + @@ -693,8 +708,11 @@ - - + + @@ -873,7 +891,8 @@ - (仅适用于 iOS) + (仅适用于 iOS)
    @@ -886,43 +905,63 @@ - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) @@ -930,19 +969,24 @@ - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 + Windows 和 macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 + Windows 和 macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 + Windows 和 macOS) @@ -950,7 +994,9 @@ - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) @@ -1031,11 +1077,17 @@ - (仅适用于 iOS 和 macOS)(仅适用于 macOS)(仅适用于 iOS) + (仅适用于 iOS 和 macOS)(仅适用于 macOS)(仅适用于 + iOS) - (仅适用于 iOS 和 macOS)(仅适用于 macOS)(仅适用于 iOS) + (仅适用于 iOS 和 macOS)(仅适用于 macOS)(仅适用于 + iOS) @@ -1067,7 +1119,8 @@ - + @@ -1116,7 +1169,8 @@ - + @@ -1267,7 +1321,8 @@ - + @@ -1275,7 +1330,8 @@ -
    +
    自定义视频采集和渲染 @@ -1536,7 +1592,8 @@
    媒体播放器 -

    更多有关媒体播放器的方法,详见内置媒体播放器

    +

    更多有关媒体播放器的方法,详见内置媒体播放器

    更多有关媒体播放器的方法,详见

    @@ -1545,7 +1602,9 @@ - + @@ -1688,11 +1747,13 @@ - + - + @@ -1700,7 +1761,8 @@ - + @@ -1763,8 +1825,11 @@ - - + + @@ -1825,7 +1890,8 @@ - + @@ -1911,7 +1977,8 @@ - + @@ -1976,15 +2043,18 @@ - + - + - + @@ -2082,7 +2152,8 @@ - + @@ -2100,7 +2171,8 @@ - + @@ -2123,78 +2195,79 @@
    通用设备管理 - - 方法/回调 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 方法/回调 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    视频设备管理 @@ -2205,11 +2278,14 @@ - (仅适用于 iOS) + (仅适用于 iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) @@ -2217,83 +2293,120 @@ - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 iOS) + (仅适用于 iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 iOS) + (仅适用于 iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Android 和 iOS) + (仅适用于 Android 和 + iOS) - (仅适用于 Andorid 和 iOS) + (仅适用于 Andorid 和 iOS) @@ -2301,11 +2414,15 @@ - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) @@ -2317,11 +2434,15 @@ - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) @@ -2329,23 +2450,33 @@ - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Windows) + (仅适用于 + Windows) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS) @@ -2357,214 +2488,280 @@ - (仅适用于 Windows 和 macOS) + (仅适用于 Windows 和 + macOS)
    音频设备管理 - - 方法/回调 - 描述 - - - - - - - - - - - - - - - - - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows) - - - - (仅适用于 Windows) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows) - - - - (仅适用于 Windows) - - - - (仅适用于 Windows) - - - - (仅适用于 Windows) - - - - (仅适用于 Windows) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Windows 和 macOS) - - - - (仅适用于 Android) - -
    + + 方法/回调 + 描述 + + + + + + + + + + + + + + + + + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 + Windows) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 + macOS) + + + + (仅适用于 Windows + 和 macOS) + + + + (仅适用于 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 + Windows) + + + + (仅适用于 + Windows) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 + Windows) + + + + (仅适用于 + Windows) + + + + (仅适用于 + Windows) + + + + (仅适用于 + Windows) + + + + (仅适用于 + Windows) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 + Windows) + + + + (仅适用于 + Windows 和 macOS) + + + + (仅适用于 Windows 和 macOS) + + + + (仅适用于 macOS) + + + + (仅适用于 + Windows 和 macOS) + + + + (仅适用于 + macOS) + + + + (仅适用于 + Windows 和 macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 + Windows 和 macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Windows 和 + macOS) + + + + (仅适用于 Android) + +
    +
    插件相关 @@ -2783,7 +2980,8 @@ - + diff --git a/dita/RTC-NG/API/rtc_interface_class.dita b/dita/RTC-NG/API/rtc_interface_class.dita index 9c38d6130dd..0eed56469ad 100644 --- a/dita/RTC-NG/API/rtc_interface_class.dita +++ b/dita/RTC-NG/API/rtc_interface_class.dita @@ -1,8 +1,8 @@ -API 索引 -本页列出 所有的接口类以及其中包含的 API。 - - + API 索引 + 本页列出 所有的接口类以及其中包含的 + API。 + diff --git a/dita/RTC-NG/API/toc_audio_device.dita b/dita/RTC-NG/API/toc_audio_device.dita index 8c5b003b2db..8ee97641d79 100644 --- a/dita/RTC-NG/API/toc_audio_device.dita +++ b/dita/RTC-NG/API/toc_audio_device.dita @@ -3,6 +3,5 @@ 音频设备管理 介绍跟音频设备管理相关的方法和回调。 - - - \ No newline at end of file + + diff --git a/dita/RTC-NG/API/toc_drm.dita b/dita/RTC-NG/API/toc_drm.dita index 76a44e4cd65..7629f78a16a 100644 --- a/dita/RTC-NG/API/toc_drm.dita +++ b/dita/RTC-NG/API/toc_drm.dita @@ -3,6 +3,5 @@ 版权音乐 - - + diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_addeventhandler.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_addeventhandler.dita index 5de183a0ae2..996d93b0094 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_addeventhandler.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_addeventhandler.dita @@ -1,42 +1,46 @@ - <ph keyref="addEventHandler" /> - 添加 回调。 + <ph keyref="addEventHandler"/> + 添加 + 回调。 - +

    - public abstract int addEventHandler(ICloudSpatialAudioEventHandler eventHandler); - - virtual int addEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; - abstract addEventHandler(eventHandler: ICloudSpatialAudioEventHandler): number; - public abstract void InitEventHandler(ICloudSpatialAudioEventHandler engineEventHandler); - abstract addEventHandler( + public abstract int addEventHandler(ICloudSpatialAudioEventHandler eventHandler); + + virtual int addEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; + abstract addEventHandler(eventHandler: ICloudSpatialAudioEventHandler): number; + public abstract void InitEventHandler(ICloudSpatialAudioEventHandler engineEventHandler); + abstract addEventHandler( eventHandler: ICloudSpatialAudioEventHandler ): number; - void addEventHandler(IrisEventHandler eventHandler)

    + void addEventHandler(IrisEventHandler eventHandler)

    参数 - - eventHandler - engineEventHandler - 待添加的回调。详见 - -
    + + eventHandler + engineEventHandler + 待添加的回调。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    - \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_create.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_create.dita index a6a1d96b3d9..238f078846c 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_create.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_create.dita @@ -2,7 +2,8 @@ <ph keyref="create_ICloudSpatialAudioEngine"/> - 创建 + 创建 @@ -13,19 +14,19 @@

    - public static synchronized ICloudSpatialAudioEngine create() { + public static synchronized ICloudSpatialAudioEngine create() { if (mInstance == null) { mInstance = new CloudSpatialAudioImpl(); } return mInstance; } - - - - - - -

    + + + + + + +

    详情 diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_enablespatializer.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_enablespatializer.dita index 7d7af90cc0e..6faa8ac722d 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_enablespatializer.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_enablespatializer.dita @@ -1,68 +1,64 @@ - <ph keyref="enableSpatializer" /> + <ph keyref="enableSpatializer"/> 开启或关闭声网空间音效服务器对空间音效参数的计算。 - +

    - public abstract int enableSpatializer(boolean enable, boolean applyToTeam); - - (int)enableSpatializer:(BOOL)enable applyToTeam:(BOOL)applyToTeam; - virtual int enableSpatializer(bool enable, bool applyToTeam) = 0; - abstract enableSpatializer(enable: boolean, applyToTeam: boolean): number; - public abstract int EnableSpatializer(bool enable, bool applyToTeam); - abstract enableSpatializer(enable: boolean, applyToTeam: boolean): number; -

    + public abstract int enableSpatializer(boolean enable, boolean applyToTeam); + - (int)enableSpatializer:(BOOL)enable applyToTeam:(BOOL)applyToTeam; + virtual int enableSpatializer(bool enable, bool applyToTeam) = 0; + abstract enableSpatializer(enable: boolean, applyToTeam: boolean): number; + public abstract int EnableSpatializer(bool enable, bool applyToTeam); + abstract enableSpatializer(enable: boolean, applyToTeam: boolean): number; + +

    详情 -

    开启后,用户可以听到远端用户的空间音效及其空间位置的变化。 - - - 该方法在 前后均可调用,区别如下: - - -

      -
    • 如果在 之前调用,该方法会在进入房间时生效。
    • -
    • 如果在 之后调用,该方法立即生效。
    • -

    +

    开启后,用户可以听到远端用户的空间音效及其空间位置的变化。 该方法在 + 前后均可调用,区别如下:

      +
    • 如果在 之前调用,该方法会在进入房间时生效。
    • +
    • 如果在 之后调用,该方法立即生效。
    • +
    + +

    参数 - - enable - 是否在音频接收范围内开启空间音效参数的计算: - - -
      -
    • : 开启计算。
    • -
    • : 关闭计算。
    • -
    -
    - - applyToTeam - 是否在队伍内开启空间音效参数的计算: - - -
      -
    • : 开启计算。
    • -
    • : 关闭计算。
    • -
    该参数仅在 enable 参数为 时生效。
    -
    -
    + + enable + 是否在音频接收范围内开启空间音效参数的计算:
      +
    • : 开启计算。
    • +
    • : 关闭计算。
    • +
    +
    + + applyToTeam + 是否在队伍内开启空间音效参数的计算:
      +
    • : 开启计算。
    • +
    • : 关闭计算。
    • +
    该参数仅在 enable 参数为 时生效。
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_enterroom.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_enterroom.dita index c6b5ef3f475..d4f96e57ef4 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_enterroom.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_enterroom.dita @@ -1,57 +1,65 @@ - <ph keyref="enterRoom" /> + <ph keyref="enterRoom"/> 进入房间。 - +

    - public abstract int enterRoom(String token, String roomName, int uid); - - (int)enterRoomByToken:(NSString* _Nullable)token roomName:(NSString* _Nonnull)roomName uid:(NSUInteger)uid; - virtual int enterRoom(const char* token, const char* roomName, unsigned int uid) = 0; - abstract enterRoom(token: string, roomName: string, uid: number): number; - public abstract int EnterRoom(string token, string roomName, uint uid); - abstract enterRoom(token: string, roomName: string, uid: number): number; -

    + public abstract int enterRoom(String token, String roomName, int uid); + - (int)enterRoomByToken:(NSString* _Nullable)token roomName:(NSString* _Nonnull)roomName uid:(NSUInteger)uid; + virtual int enterRoom(const char* token, const char* roomName, unsigned int uid) = 0; + abstract enterRoom(token: string, roomName: string, uid: number): number; + public abstract int EnterRoom(string token, string roomName, uint uid); + abstract enterRoom(token: string, roomName: string, uid: number): number; + +

    详情 -

    进入房间后,空间音效才会生效。调用该方法后,SDK 会触发 回调。

    - 该方法需要在 后调用。
    +

    进入房间后,空间音效才会生效。调用该方法后,SDK 会触发 回调。

    + 该方法需要在 后调用。 +
    参数 - - token - 用于鉴权的 RTM Token。你可以通过以下方式生成 RTM Token: - - -
      -
    • 使用 ,生成临时 Token。
    • -
    • 自行部署服务器签发 Token,详见
    • -
    生成 RTM Token 时填入的 uiduserAccount 等于 中设置的 roomNameuid。例如,如果 roomNametestuid123,则生成 RTM Token 时填入的 uiduserAccounttest123
    -
    - - roomName - 房间名。需与加入频道时填写的频道名一致。 - - - - - -
    + + token + 用于鉴权的 RTM Token。你可以通过以下方式生成 RTM Token:
      +
    • 使用 ,生成临时 Token。
    • +
    • 自行部署服务器签发 Token,详见
    • +
    生成 RTM Token 时填入的 uid 或 + userAccount 等于 中设置的 + roomNameuid。例如,如果 + roomName 为 + testuid 为 + 123,则生成 RTM Token 时填入的 uid 或 + userAccounttest123
    +
    + + roomName + 房间名。需与加入频道时填写的频道名一致。 + + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_exitroom.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_exitroom.dita index 372e83a5645..a81de557486 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_exitroom.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_exitroom.dita @@ -1,25 +1,26 @@ - <ph keyref="exitRoom" /> + <ph keyref="exitRoom"/> 离开房间。 - +

    - public abstract int exitRoom(); - - (int)exitRoom; - virtual int exitRoom() = 0; - abstract exitRoom(): number; - public abstract int ExitRoom(); - abstract exitRoom(): number; -

    + public abstract int exitRoom(); + - (int)exitRoom; + virtual int exitRoom() = 0; + abstract exitRoom(): number; + public abstract int ExitRoom(); + abstract exitRoom(): number; + +

    详情 @@ -28,8 +29,10 @@
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_getteammates.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_getteammates.dita index 8a7722f0fbf..3a1856f30b9 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_getteammates.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_getteammates.dita @@ -1,47 +1,52 @@ - <ph keyref="getTeammates" /> + <ph keyref="getTeammates"/> 获取队员信息。 - +

    - public abstract int getTeammates(ArrayList<Integer> uids); - - (int)getTeammates:(NSArray<NSNumber*> * _Nullable * _Nonnull)uids; - virtual int getTeammates(const uid_t **uids, int *userCount) = 0; - abstract getTeammates(): number[]; - public abstract int GetTeammates(ref uint[] uids, ref int userCount); - abstract getTeammates(): number[]; -

    + public abstract int getTeammates(ArrayList<Integer> uids); + - (int)getTeammates:(NSArray<NSNumber*> * _Nullable * _Nonnull)uids; + virtual int getTeammates(const uid_t **uids, int *userCount) = 0; + abstract getTeammates(): number[]; + public abstract int GetTeammates(ref uint[] uids, ref int userCount); + abstract getTeammates(): number[]; + +

    详情 -

    调用 设置队伍 ID 并调用 加入房间后,你可以调用该方法获取同一队伍的远端用户(队友)信息。

    +

    调用 设置队伍 ID 并调用 + 加入房间后,你可以调用该方法获取同一队伍的远端用户(队友)信息。

    参数 - - uids - 输出参数。队友的用户 ID。 - - - userCount - 输出参数。队友的数量。 - -
    + + uids + 输出参数。队友的用户 ID。 + + + userCount + 输出参数。队友的数量。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_initialize.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_initialize.dita index 8a328fdb7da..b0442ead290 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_initialize.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_initialize.dita @@ -1,62 +1,70 @@ - <ph keyref="initialize_ICloudSpatialAudioEngine" /> - 初始化 + <ph keyref="initialize_ICloudSpatialAudioEngine"/> + 初始化 - +

    - public abstract int initialize(CloudSpatialAudioConfig config); - + (instancetype _Nonnull)sharedCloudSpatialAudioWithConfig:(AgoraCloudSpatialAudioConfig* _Nonnull)config delegate:(id<AgoraCloudSpatialAudioDelegate> _Nullable)delegate; - virtual int initialize(const CloudSpatialAudioConfig& config) = 0; - - public abstract int Initialize(CloudSpatialAudioConfig config); - - Future<void> initialize(RtcEngineContext context); -

    + public abstract int initialize(CloudSpatialAudioConfig config); + + (instancetype _Nonnull)sharedCloudSpatialAudioWithConfig:(AgoraCloudSpatialAudioConfig* _Nonnull)config delegate:(id<AgoraCloudSpatialAudioDelegate> _Nullable)delegate; + virtual int initialize(const CloudSpatialAudioConfig& config) = 0; + + public abstract int Initialize(CloudSpatialAudioConfig config); + + Future<void> initialize(RtcEngineContext context); +

    详情 -
      -
    • 你需要在 () 后调用该方法。
    • -
    • 你需要在 后调用该方法。
    • -
    • 在调用 类的其他方法前,你需要先调用该方法初始化
    • -
    • SDK 只支持每个 app 创建一个 实例。
    • -
    +
      +
    • 你需要在 () 后调用该方法。
    • +
    • 你需要在 + 后调用该方法。
    • +
    • 在调用 类的其他方法前,你需要先调用该方法初始化 +
    • +
    • SDK 只支持每个 app 创建一个 实例。
    • +
    + +
    参数 - - config - 的配置。详见 - - - delegate - - -
    + + config + 的配置。详见 + + + delegate + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 设置了无效的参数。
      • -
      • -7: SDK 初始化失败。
      • -
      • -22: 资源申请失败。当 app 占用资源过多,或系统资源耗尽时,SDK 分配资源失败。
      • -
      • -101: App ID 无效。
      • -
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。
        +
      • -1: 一般性的错误(未明确归类)。
      • +
      • -2: 设置了无效的参数。
      • +
      • -7: SDK 初始化失败。
      • +
      • -22: 资源申请失败。当 app 占用资源过多,或系统资源耗尽时,SDK 分配资源失败。
      • +
      • -101: App ID 无效。
      • +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_release.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_release.dita index 729bd9218f6..7509a0299eb 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_release.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_ICloudSpatialAudioEngine"/> - 销毁 + 销毁 @@ -13,28 +14,30 @@

    - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.release(); mInstance = null; } - + (void)destroy; - virtual void release() = 0; - - public abstract void Dispose(); - - -

    + + (void)destroy; + virtual void release() = 0; + + public abstract void Dispose(); + + +

    详情 -

    该方法释放 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    -

    调用该方法后,你将无法再使用 下的任何 API。如需再次使用空间音效,你需要等 执行结束后再调用 创建一个新的 。 - - - - 该方法需要在 方法前调用。

    +

    该方法释放 + 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    +

    调用该方法后,你将无法再使用 下的任何 API。如需再次使用空间音效,你需要等 执行结束后再调用 创建一个新的 该方法需要在 的 + 方法前调用。

    diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_removeeventhandler.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_removeeventhandler.dita index 9d7ade5cbeb..f378326fb78 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_removeeventhandler.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_removeeventhandler.dita @@ -1,27 +1,28 @@ - <ph keyref="removeEventHandler" /> - 删除 中指定的回调。 + <ph keyref="removeEventHandler"/> + 删除 + 中指定的回调。 - +

    - public abstract int removeEventHandler(ICloudSpatialAudioEventHandler eventHandler); - - virtual int removeEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; - abstract removeEventHandler(eventHandler: ICloudSpatialAudioEventHandler): number; - public abstract void RemoveEventHandler(); - abstract removeEventHandler( + public abstract int removeEventHandler(ICloudSpatialAudioEventHandler eventHandler); + + virtual int removeEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; + abstract removeEventHandler(eventHandler: ICloudSpatialAudioEventHandler): number; + public abstract void RemoveEventHandler(); + abstract removeEventHandler( eventHandler: ICloudSpatialAudioEventHandler ): number; - void removeEventHandler(IrisEventHandler eventHandler)

    + void removeEventHandler(IrisEventHandler eventHandler)

    详情 @@ -30,16 +31,19 @@
    参数 - - eventHandler - 待删除的回调。详见 - -
    + + eventHandler + 待删除的回调。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_renewtoken.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_renewtoken.dita index 0ffad415869..fa220f047b9 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_renewtoken.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_renewtoken.dita @@ -1,44 +1,48 @@ - <ph keyref="renewToken_ICloudSpatialAudioEngine" /> + <ph keyref="renewToken_ICloudSpatialAudioEngine"/> 更新 RTM Token。 - +

    - public abstract int renewToken(String token); - - (int)renewToken:(NSString* _Nonnull)token; - virtual int renewToken(const char* token) = 0; - abstract renewToken(token: string): number; - public abstract int RenewToken(string token); - abstract renewToken(token: string): number; - Future<void> renewToken(String token); -

    + public abstract int renewToken(String token); + - (int)renewToken:(NSString* _Nonnull)token; + virtual int renewToken(const char* token) = 0; + abstract renewToken(token: string): number; + public abstract int RenewToken(string token); + abstract renewToken(token: string): number; + Future<void> renewToken(String token); +

    详情 -

    RTM Token 的有效时长为 24 小时。当 SDK 触发 回调时,app 应重新获取 RTM Token,然后调用该方法传入新的 RTM Token,否则 SDK 无法和声网空间音效服务器建立连接。

    +

    RTM Token 的有效时长为 24 小时。当 SDK 触发 回调时,app 应重新获取 RTM + Token,然后调用该方法传入新的 RTM Token,否则 SDK 无法和声网空间音效服务器建立连接。

    参数 - - - - -
    + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_setaudiorangemode.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_setaudiorangemode.dita index 248b1571be8..a6cee4335dd 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_setaudiorangemode.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_setaudiorangemode.dita @@ -1,58 +1,63 @@ - <ph keyref="setAudioRangeMode" /> + <ph keyref="setAudioRangeMode"/> 设置音频范围模式。 - +

    - public abstract int setAudioRangeMode(int rangeMode); - - (int)setAudioRangeMode:(AgoraAudioRangeMode)rangeMode; - virtual int setAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode) = 0; - abstract setAudioRangeMode(rangeMode: AudioRangeModeType): number; - public abstract int SetAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode); - abstract setAudioRangeMode(rangeMode: AudioRangeModeType): number; -

    + public abstract int setAudioRangeMode(int rangeMode); + - (int)setAudioRangeMode:(AgoraAudioRangeMode)rangeMode; + virtual int setAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode) = 0; + abstract setAudioRangeMode(rangeMode: AudioRangeModeType): number; + public abstract int SetAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode); + abstract setAudioRangeMode(rangeMode: AudioRangeModeType): number; + +

    详情

    音频范围模式分为所有人模式和队伍模式。SDK 默认使用所有人模式,如需改为队伍模式,你可以调用该方法。

    一位用户在一个房间里只能同时使用一种模式。

    -

    该方法在 前后均可调用,区别如下: - - -

      -
    • 如果在 之前调用,该方法会在进入房间时生效。
    • -
    • 如果在 之后调用,该方法立即生效,即改变当前的音频范围模式。
    • -

    +

    该方法在 前后均可调用,区别如下:

      +
    • 如果在 之前调用,该方法会在进入房间时生效。
    • +
    • 如果在 之后调用,该方法立即生效,即改变当前的音频范围模式。
    • +

    参数 - - rangeMode - 音频范围模式。详见 -
      -
    • (0): -
        -
      • -
    • -
    • (1):
    • -
    -
    -
    + + rangeMode + 音频范围模式。详见 +
      +
    • (0): +
        +
      • +
    • +
    • (1):
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_icloudspatialaudioengine_setteamid.dita b/dita/RTC-NG/archive/api_icloudspatialaudioengine_setteamid.dita index 78b991f23de..31d639b6b14 100644 --- a/dita/RTC-NG/archive/api_icloudspatialaudioengine_setteamid.dita +++ b/dita/RTC-NG/archive/api_icloudspatialaudioengine_setteamid.dita @@ -1,47 +1,49 @@ - <ph keyref="setTeamId" /> + <ph keyref="setTeamId"/> 设置队伍 ID。 - +

    - public abstract int setTeamId(int teamId); - - (int)setTeamId:(NSInteger)teamId; - virtual int setTeamId(int teamId) = 0; - abstract setTeamId(teamId: number): number; - public abstract int SetTeamId(int teamId); - abstract setTeamId(teamId: number): number; -

    + public abstract int setTeamId(int teamId); + - (int)setTeamId:(NSInteger)teamId; + virtual int setTeamId(int teamId) = 0; + abstract setTeamId(teamId: number): number; + public abstract int SetTeamId(int teamId); + abstract setTeamId(teamId: number): number; + +

    详情 -

    在同一个房间内,相同队伍 ID 的用户不受音频范围模式和音频接收范围的影响,都能相互听见;不同队伍 ID 的用户,需要根据设置的音频范围模式和音频接收范围来决定是否相互可以听到。 - - - - 该方法需要在 前调用。一位用户在一个房间里只能有一个队伍 ID,加入房间后无法修改队伍 ID。

    +

    在同一个房间内,相同队伍 ID 的用户不受音频范围模式和音频接收范围的影响,都能相互听见;不同队伍 ID + 的用户,需要根据设置的音频范围模式和音频接收范围来决定是否相互可以听到。 该方法需要在 前调用。一位用户在一个房间里只能有一个队伍 ID,加入房间后无法修改队伍 ID。

    参数 - - teamId - 队伍 ID,取值需大于 0。默认值为 0,表示不和其他用户组队。 - -
    + + teamId + 队伍 ID,取值需大于 0。默认值为 0,表示不和其他用户组队。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_irtcengine_addinjectstreamurl.dita b/dita/RTC-NG/archive/api_irtcengine_addinjectstreamurl.dita index 10e74191ff2..c9162513292 100644 --- a/dita/RTC-NG/archive/api_irtcengine_addinjectstreamurl.dita +++ b/dita/RTC-NG/archive/api_irtcengine_addinjectstreamurl.dita @@ -1,71 +1,83 @@ - <ph keyref="addInjectStreamUrl" /> + <ph keyref="addInjectStreamUrl"/> 输入在线媒体流。 - +

    - public abstract int addInjectStreamUrl(String url, LiveInjectStreamConfig config); - - (int)addInjectStreamUrl:(NSString* _Nonnull)url config:(AgoraLiveInjectStreamConfig* _Nonnull)config; - virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; - abstract addInjectStreamUrl(url: string, config: InjectStreamConfig): number; - public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); - - Future<void> addInjectStreamUrl( + public abstract int addInjectStreamUrl(String url, LiveInjectStreamConfig config); + - (int)addInjectStreamUrl:(NSString* _Nonnull)url config:(AgoraLiveInjectStreamConfig* _Nonnull)config; + virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; + abstract addInjectStreamUrl(url: string, config: InjectStreamConfig): number; + public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); + + Future<void> addInjectStreamUrl( {required String url, required InjectStreamConfig config}); -

    +

    详情 - 客户端输入在线媒体流功能即将停服。如果你尚未集成该功能,建议你不要使用。详见部分服务下架计划 + 客户端输入在线媒体流功能即将停服。如果你尚未集成该功能,建议你不要使用。详见部分服务下架计划 -
      -
    • 请确保已开通旁路推流的功能,详见旁路推流中的前提条件。
    • -
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • -
    • 频道内同一时间只允许输入一个在线媒体流。
    • -
    • 该方法需要在加入频道后调用。
    • -
    -

    该方法将正在播放的音视频作为音视频源导入到正在进行的直播中。可主要应用于赛事直播、多人看视频互动等直播场景。调用该方法后,SDK 会在本地触发 回调,报告输入在线媒体流的状态;成功输入媒体流后,该音视频流会出现在频道中,频道内所有用户都会收到 回调,其中 uid 为 666。

    +
      +
    • 请确保已开通旁路推流的功能,详见旁路推流中的前提条件。
    • +
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • +
    • 频道内同一时间只允许输入一个在线媒体流。
    • +
    • 该方法需要在加入频道后调用。
    • +
    + +

    该方法将正在播放的音视频作为音视频源导入到正在进行的直播中。可主要应用于赛事直播、多人看视频互动等直播场景。调用该方法后,SDK 会在本地触发 + 回调,报告输入在线媒体流的状态;成功输入媒体流后,该音视频流会出现在频道中,频道内所有用户都会收到 + 回调,其中 uid 为 666。

    参数 - - url - -

    添加到直播中的视频流 URL 地址。支持 RTMP、HLS、HTTP-FLV 协议传输。 -

      -
    • 支持的音频编码格式:AAC;
    • -
    • 支持的视频编码格式:H.264(AVC)。
    • -

    -
    -
    - - config - 所添加的视频流属性定义,详见: - -
    + + url + +

    添加到直播中的视频流 URL 地址。支持 RTMP、HLS、HTTP-FLV 协议传输。

      +
    • 支持的音频编码格式:AAC;
    • +
    • 支持的视频编码格式:H.264(AVC)。
    • +
    +

    +
    +
    + + config + 所添加的视频流属性定义,详见: + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败 - -
        -
      • ERR_INVALID_ARGUMENT (2): 输入的 URL 为空。请重新调用该方法,并确认输入的媒体流的 URL 有效。
      • -
      • ERR_NOT_READY (3): 用户没有加入频道。
      • -
      • ERR_NOT_SUPPORTED (4): 频道非直播场景。请调用 并将频道设置为直播场景再调用该方法。
      • -
      • ERR_NOT_INITIALIZED (7): 引擎没有初始化。请确认调用该方法前已创建 对象并完成初始化。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败
      +
    • ERR_INVALID_ARGUMENT (2): 输入的 URL + 为空。请重新调用该方法,并确认输入的媒体流的 URL 有效。
    • +
    • ERR_NOT_READY (3): 用户没有加入频道。
    • +
    • ERR_NOT_SUPPORTED (4): 频道非直播场景。请调用 并将频道设置为直播场景再调用该方法。
    • +
    • ERR_NOT_INITIALIZED (7): 引擎没有初始化。请确认调用该方法前已创建 对象并完成初始化。
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_irtcengine_enableremotesuperresolution.dita b/dita/RTC-NG/archive/api_irtcengine_enableremotesuperresolution.dita index 9d17a47df48..c10b67d2218 100644 --- a/dita/RTC-NG/archive/api_irtcengine_enableremotesuperresolution.dita +++ b/dita/RTC-NG/archive/api_irtcengine_enableremotesuperresolution.dita @@ -1,98 +1,111 @@ - <ph keyref="enableRemoteSuperResolution" /> + <ph keyref="enableRemoteSuperResolution"/> 开启或关闭远端视频超分辨率。 - +

    - public abstract int enableRemoteSuperResolution(int uid, boolean enable); - - (int)enableRemoteSuperResolution:(NSUInteger)uid enable:(BOOL)enable; - virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0; - abstract enableRemoteSuperResolution(userId: number, enable: boolean): number; - public abstract int EnableRemoteSuperResolution(uint userId, bool enable); - abstract enableRemoteSuperResolution(userId: number, enable: boolean): number; - Future<void> enableRemoteSuperResolution( + public abstract int enableRemoteSuperResolution(int uid, boolean enable); + - (int)enableRemoteSuperResolution:(NSUInteger)uid enable:(BOOL)enable; + virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0; + abstract enableRemoteSuperResolution(userId: number, enable: boolean): number; + public abstract int EnableRemoteSuperResolution(uint userId, bool enable); + abstract enableRemoteSuperResolution(userId: number, enable: boolean): number; + Future<void> enableRemoteSuperResolution( {required int userId, required bool enable}); -

    +

    详情

    该功能可以有效提升本地用户看到的远端视频画面的分辨率,即:将接收到的指定远端用户的视频宽和高(像素)均扩大为 2 倍。

    -

    调用该方法后,通过 回调中的远端视频统计数据(),确认超分辨率是否成功开启:

      -
    • 如果参数 superResolutionType >0:超分辨率已开启。
    • -
    • 如果参数 superResolutionType =0:超分辨率未开启。
    +

    调用该方法后,通过 回调中的远端视频统计数据(),确认超分辨率是否成功开启:

      +
    • 如果参数 superResolutionType >0:超分辨率已开启。
    • +
    • 如果参数 superResolutionType =0:超分辨率未开启。
    • +

    -

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,只可以对一个远端用户开启超分辨率,并且远端用户视频的原始分辨率在 Android 设备上不能超过 640 × 360,在 iOS 设备上不能超过 640 × 480。

    -

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,只可以对一个远端用户开启超分辨率,并且远端用户视频的原始分辨率在设备上不能超过 640 × 360640 × 480

    -

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,只可以对一个远端用户开启超分辨率,并且远端用户视频的原始分辨率在设备上不能超过 640 × 360(Android)或 640 × 480(iOS)。

    +

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,只可以对一个远端用户开启超分辨率,并且远端用户视频的原始分辨率在 Android 设备上不能超过 + 640 × 360,在 iOS 设备上不能超过 640 × 480。

    +

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,只可以对一个远端用户开启超分辨率,并且远端用户视频的原始分辨率在设备上不能超过 640 × 360640 × 480

    +

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,只可以对一个远端用户开启超分辨率,并且远端用户视频的原始分辨率在设备上不能超过 + 640 × 360(Android)或 640 × 480(iOS)。

    -
      -
    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 该方法依赖于超分辨率动态库 ,如果删除该动态库会导致无法正常开启该功能。
    • -
    • 该方法对用户设备具有一定要求,建议你使用如下或更好的设备:
        -
      • Android: -
          -
        • VIVO:V1821A,NEX S,1914A,1916A,1962A,1824BA,X60,X60 Pro
        • -
        • OPPO:PCCM00,Find X3
        • -
        • OnePlus:A6000
        • -
        • Xiaomi:Mi 8,Mi 9,Mi 10,Mi 11,MIX3,Redmi K20 Pro
        • -
        • SAMSUNG:SM-G9600,SM-G9650,SM-N9600,SM-G9708,SM-G960U,SM-G9750,S20,S21
        • -
        • HUAWEI:SEA-AL00,ELE-AL00,VOG-AL00,YAL-AL10,HMA-AL00,EVR-AN00,nova 4,nova 5 Pro,nova 6 5G,nova 7 5G,Mate 30,Mate 30 Pro,Mate 40,Mate 40 Pro,P40,P40 Pro,华为平板 M6,MatePad 10.8
        • -
      • -
      • iOS: -
          -
        • iPhone XR
        • -
        • iPhone XS
        • -
        • iPhone XS Max
        • -
        • iPhone 11
        • -
        • iPhone 11 Pro
        • -
        • iPhone 11 Pro Max
        • -
        • iPhone 12
        • -
        • iPhone 12 mini
        • -
        • iPhone 12 Pro
        • -
        • iPhone 12 Pro Max
        • -
        • iPhone 12 SE(第二代)
        • -
        • iPad Pro 11-inch(第三代)
        • -
        • iPad Pro 12.9-inch(第三代)
        • -
        • iPad Air(第三代)
        • -
        • iPad Air(第四代)
        • -
      • -
    • -
    +
  • 该方法仅适用于 Android 和 iOS 平台。
  • +
  • 该方法依赖于超分辨率动态库 ,如果删除该动态库会导致无法正常开启该功能。
  • +
  • 该方法对用户设备具有一定要求,建议你使用如下或更好的设备:
      +
    • Android:
        +
      • VIVO:V1821A,NEX S,1914A,1916A,1962A,1824BA,X60,X60 Pro
      • +
      • OPPO:PCCM00,Find X3
      • +
      • OnePlus:A6000
      • +
      • Xiaomi:Mi 8,Mi 9,Mi 10,Mi 11,MIX3,Redmi K20 Pro
      • +
      • SAMSUNG:SM-G9600,SM-G9650,SM-N9600,SM-G9708,SM-G960U,SM-G9750,S20,S21
      • +
      • HUAWEI:SEA-AL00,ELE-AL00,VOG-AL00,YAL-AL10,HMA-AL00,EVR-AN00,nova + 4,nova 5 Pro,nova 6 5G,nova 7 5G,Mate 30,Mate 30 Pro,Mate + 40,Mate 40 Pro,P40,P40 Pro,华为平板 M6,MatePad 10.8
      • +
    • +
    • iOS:
        +
      • iPhone XR
      • +
      • iPhone XS
      • +
      • iPhone XS Max
      • +
      • iPhone 11
      • +
      • iPhone 11 Pro
      • +
      • iPhone 11 Pro Max
      • +
      • iPhone 12
      • +
      • iPhone 12 mini
      • +
      • iPhone 12 Pro
      • +
      • iPhone 12 Pro Max
      • +
      • iPhone 12 SE(第二代)
      • +
      • iPad Pro 11-inch(第三代)
      • +
      • iPad Pro 12.9-inch(第三代)
      • +
      • iPad Air(第三代)
      • +
      • iPad Air(第四代)
      • +
    • +
  • + + +
    参数 - - userId - uid - 远端用户 ID。 - - - enable - 是否对远端视频开启超分辨率: -
      -
    • : 开启超分辨率。
    • -
    • : 关闭超分辨率。
    • -
    -
    -
    + + userId + uid + 远端用户 ID。 + + + enable + 是否对远端视频开启超分辨率:
      +
    • : 开启超分辨率。
    • +
    • : 关闭超分辨率。
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/api_irtcengine_sendaudiometadata.dita b/dita/RTC-NG/archive/api_irtcengine_sendaudiometadata.dita index c2821f77207..464f77fd3ef 100644 --- a/dita/RTC-NG/archive/api_irtcengine_sendaudiometadata.dita +++ b/dita/RTC-NG/archive/api_irtcengine_sendaudiometadata.dita @@ -13,22 +13,23 @@

    - public abstract int sendAudioMetadata(byte[] metadata); - - (int)sendAudioMetadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(sendAudioMetadata(_:)); - virtual int sendAudioMetadata(const char* metadata, size_t length) = 0; - - - - -

    + public abstract int sendAudioMetadata(byte[] metadata); + - (int)sendAudioMetadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(sendAudioMetadata(_:)); + virtual int sendAudioMetadata(const char* metadata, size_t length) = 0; + + + + + +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +

    如果成功发送了音频附属信息,接收端会收到 回调。

    该方法需要再加入频道后调用。 @@ -40,31 +41,40 @@
    参数 - - metadata - 指向要发送的音频附属信息的指针。 - 要发送的音频附属信息。 - - - length - 音频附属信息的大小(字节)。最大值为 64 字节。 - -
    + + metadata + 指向要发送的音频附属信息的指针。 + 要发送的音频附属信息。 + + + length + 音频附属信息的大小(字节)。最大值为 64 字节。 + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。

    • 0: 方法调用成功。
    • < 0:方法调用失败。详见了解详情和解决建议。 -
        -
      • -12:调用频率超出限制。
      • -
      • -3: 对象初始化失败。你需要重新初始化 对象。
      • -
      • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
      • -
      • -8: 对象内部状态错误。可能的原因是:调用 开始通话回路测试后,未调用 停止测试就调用该方法加入频道。你需要在该方法前调用
      • -
      • -17:加入频道被拒绝。可能的原因是用户已经在频道中。建议通过 回调判断用户是否在频道中。除收到 (1) 状态外,不要再次调用该方法加入频道。
      • -
      • -102:频道名无效。你需要在 channelId 中填入有效的频道名,重新加入频道。
      • -
      • -121:用户 ID 无效。你需要在 uid 中填入有效的用户 ID,重新加入频道。
      • -
    • -
    -
    +
      +
    • -12:调用频率超出限制。
    • +
    • -3: 对象初始化失败。你需要重新初始化 对象。
    • +
    • -7: 对象尚未初始化。你需要在调用该方法前成功初始化 对象。
    • +
    • -8: 对象内部状态错误。可能的原因是:调用 开始通话回路测试后,未调用 停止测试就调用该方法加入频道。你需要在该方法前调用
    • +
    • -17:加入频道被拒绝。可能的原因是用户已经在频道中。建议通过 回调判断用户是否在频道中。除收到 (1) + 状态外,不要再次调用该方法加入频道。
    • +
    • -102:频道名无效。你需要在 channelId 中填入有效的频道名,重新加入频道。
    • +
    • -121:用户 ID 无效。你需要在 uid 中填入有效的用户 ID,重新加入频道。
    • +
    + + + diff --git a/dita/RTC-NG/archive/api_irtcengine_setupaudioattributes.dita b/dita/RTC-NG/archive/api_irtcengine_setupaudioattributes.dita index e1d46e4b0c1..66b5c8b5140 100644 --- a/dita/RTC-NG/archive/api_irtcengine_setupaudioattributes.dita +++ b/dita/RTC-NG/archive/api_irtcengine_setupaudioattributes.dita @@ -31,7 +31,8 @@
    v4.3.0
    -

    Android 原生的 类用于控制音频流的播放属性。你可以通过调用该方法,直接设置 类中的各项参数,从而灵活控制音频流的播放效果。

    +

    Android 原生的 类用于控制音频流的播放属性。你可以通过调用该方法,直接设置 类中的各项参数,从而灵活控制音频流的播放效果。

    • 该方法主要应用于 Android 车机系统。
    • @@ -41,7 +42,8 @@
      适用场景 -

      在汽车处于哨兵模式场景下,当车主通过 App 监控到汽车周围有异常情况时,可直接发起语音喊话。此时可以通过调用该方法将音频路由设置为车外喇叭,将远程喊话通过车外喇叭播放。

      +

      在汽车处于哨兵模式场景下,当车主通过 App + 监控到汽车周围有异常情况时,可直接发起语音喊话。此时可以通过调用该方法将音频路由设置为车外喇叭,将远程喊话通过车外喇叭播放。

      参数 @@ -54,10 +56,12 @@
      <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。

      +

      方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。

      • 0: 方法调用成功。
      • -
      • < 0: 方法调用失败。详见了解详情和解决建议。
      • +
      • < 0: 方法调用失败。详见了解详情和解决建议。
      diff --git a/dita/RTC-NG/archive/api_irtcengineex_sendaudiometadataex.dita b/dita/RTC-NG/archive/api_irtcengineex_sendaudiometadataex.dita index a24417589a9..f10507f552b 100644 --- a/dita/RTC-NG/archive/api_irtcengineex_sendaudiometadataex.dita +++ b/dita/RTC-NG/archive/api_irtcengineex_sendaudiometadataex.dita @@ -13,25 +13,27 @@

      - public abstract int sendAudioMetadataEx(byte[] metadata, RtcConnection connection); - - (int)sendAudioMetadataEx:(AgoraRtcConnection * _Nonnull)connection metadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(sendAudioMetadataEx(_:metadata:)); - virtual int sendAudioMetadataEx(const RtcConnection& connection, const char* metadata, size_t length) = 0; - - - - -

      + public abstract int sendAudioMetadataEx(byte[] metadata, RtcConnection connection); + - (int)sendAudioMetadataEx:(AgoraRtcConnection * _Nonnull)connection metadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(sendAudioMetadataEx(_:metadata:)); + virtual int sendAudioMetadataEx(const RtcConnection& connection, const char* metadata, size_t length) = 0; + + + + + +

      详情
      - -
      自从
      -
      v4.3.1
      -
      + +
      自从
      +
      v4.3.1
      +
      -

      -

      如果成功发送了音频附属信息,接收端会收到 回调。

      +

      +

      如果成功发送了音频附属信息,接收端会收到 回调。

      适用场景 @@ -40,25 +42,29 @@
      参数 - - - - - - - - - - - - -
      + + + + + + + + + + + + + +
      <ph keyref="return-section-title"/> -

      方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。

      +

      方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。

      • 0: 方法调用成功。
      • -
      • < 0: 方法调用失败。详见了解详情和解决建议。
      • -
      -
      +
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • +
    + + diff --git a/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita b/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita index 645c4f694f4..5e90a17c4bd 100644 --- a/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita +++ b/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita @@ -1,57 +1,69 @@ - <ph keyref="onConnectionStateChange" /> + <ph keyref="onConnectionStateChange"/> SDK 与声网空间音效服务器连接状态已改变回调。 - +

    - public void onConnectionStateChange(int state, int reason); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine connectionDidChangedToState:(AgoraSaeConnectionState)state withReason:(AgoraSaeConnectionChangedReason)reason; - virtual void onConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} - - public virtual void OnConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} - -

    + public void onConnectionStateChange(int state, int reason); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine connectionDidChangedToState:(AgoraSaeConnectionState)state withReason:(AgoraSaeConnectionChangedReason)reason; + virtual void onConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} + + public virtual void OnConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} + + +

    -
    该回调在 SDK 与声网空间音效服务器连接状态发生改变时触发,并告知用户当前的连接状态和引起连接状态改变的原因。
    +
    该回调在 SDK + 与声网空间音效服务器连接状态发生改变时触发,并告知用户当前的连接状态和引起连接状态改变的原因。
    参数 - - engine - - - - state - SDK 与声网空间音效服务器的连接状态。详见 -
      -
    • (0): 建立连接中。
    • -
    • (1): 已连接。该状态下, 等空间音效设置才会生效。
    • -
    • (2): 连接断开。
    • -
    • (3): 重新建立连接中。
    • -
    • (4): 已重新建立连接。
    • -
    -
    - - reason - SDK 与声网空间音效服务器连接状态发生改变的原因。详见 -
      -
    • (0): 正常。
    • -
    • (1): SDK 建立连接中。
    • -
    • (2): SDK 创建房间失败。
    • -
    • (3): SDK 与 RTM 系统连接中断。
    • -
    • (4): 用户被 RTM 系统踢出。
    • -
    • (5): SDK 超过 15 秒未收到声网空间音效服务器的消息。
    • -
    -
    -
    + + engine + + + + state + SDK 与声网空间音效服务器的连接状态。详见 + +
      +
    • (0): 建立连接中。
    • +
    • (1): 已连接。该状态下, 等空间音效设置才会生效。
    • +
    • (2): 连接断开。
    • +
    • (3): 重新建立连接中。
    • +
    • (4): 已重新建立连接。
    • +
    +
    + + reason + SDK 与声网空间音效服务器连接状态发生改变的原因。详见 +
      +
    • (0): 正常。
    • +
    • (1): SDK + 建立连接中。
    • +
    • (2): SDK + 创建房间失败。
    • +
    • (3): SDK 与 RTM + 系统连接中断。
    • +
    • (4): 用户被 RTM + 系统踢出。
    • +
    • (5): SDK 超过 15 + 秒未收到声网空间音效服务器的消息。
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onteammatejoined.dita b/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onteammatejoined.dita index 16249b947e6..2a1a4d57f55 100644 --- a/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onteammatejoined.dita +++ b/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onteammatejoined.dita @@ -1,40 +1,42 @@ - <ph keyref="onTeammateJoined" /> + <ph keyref="onTeammateJoined"/> 用户加入当前队伍回调。 - +

    - public void onTeammateJoined(int uid); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateJoined:(NSUInteger)uid; - virtual void onTeammateJoined(uid_t uid) {} - - public virtual void OnTeammateJoined(uint uid) {} - -

    + public void onTeammateJoined(int uid); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateJoined:(NSUInteger)uid; + virtual void onTeammateJoined(uid_t uid) {} + + public virtual void OnTeammateJoined(uint uid) {} + + +

    -

    当同一队伍 ID 的远端用户调用 进入当前房间时,本地用户会收到该回调。

    +

    当同一队伍 ID 的远端用户调用 进入当前房间时,本地用户会收到该回调。

    参数 - - - - - - uid - 新加入队伍的远端用户 ID。 - -
    + + + + + + uid + 新加入队伍的远端用户 ID。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onteammateleft.dita b/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onteammateleft.dita index 8cc39dd6e85..977b803207e 100644 --- a/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onteammateleft.dita +++ b/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_onteammateleft.dita @@ -1,40 +1,42 @@ - <ph keyref="onTeammateLeft" /> + <ph keyref="onTeammateLeft"/> 用户离开当前队伍回调。 - +

    - public void onTeammateLeft(int uid); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateLeft:(NSUInteger)uid; - virtual void onTeammateLeft(uid_t uid) {} - - public virtual void OnTeammateLeft(uint uid) {} - -

    + public void onTeammateLeft(int uid); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateLeft:(NSUInteger)uid; + virtual void onTeammateLeft(uid_t uid) {} + + public virtual void OnTeammateLeft(uint uid) {} + + +

    -

    当同一队伍的远端用户调用 离开当前房间时,本地用户会收到该回调。

    +

    当同一队伍的远端用户调用 离开当前房间时,本地用户会收到该回调。

    参数 - - - - - - uid - 离开队伍的远端用户 ID。 - -
    + + + + + + uid + 离开队伍的远端用户 ID。 + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita b/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita index 77e23194702..2a2c63b0183 100644 --- a/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita +++ b/dita/RTC-NG/archive/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita @@ -1,37 +1,40 @@ - <ph keyref="onTokenWillExpire" /> + <ph keyref="onTokenWillExpire"/> RTM Token 已过期回调。 - +

    - public void onTokenWillExpire(); - - (void)csaEngineTokenWillExpire:(AgoraCloudSpatialAudioKit* _Nonnull)engine; - virtual void onTokenWillExpire() {} - onTokenWillExpire?(): void; - public virtual void OnTokenWillExpire() {} - -

    + public void onTokenWillExpire(); + - (void)csaEngineTokenWillExpire:(AgoraCloudSpatialAudioKit* _Nonnull)engine; + virtual void onTokenWillExpire() {} + onTokenWillExpire?(): void; + public virtual void OnTokenWillExpire() {} + + +

    如果 RTM Token 已过期,SDK 会触发该回调,提醒 app 更新 RTM Token。

    -

    当收到该回调时,你需要重新在服务端生成新的 RTM Token,然后调用 将新生成的 RTM Token 传给 SDK。

    +

    当收到该回调时,你需要重新在服务端生成新的 RTM Token,然后调用 将新生成的 RTM Token 传给 SDK。

    参数 - - - - -
    + + + + + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/callback_irtcengineeventhandler_onaudiometadatareceived.dita b/dita/RTC-NG/archive/callback_irtcengineeventhandler_onaudiometadatareceived.dita index be731721596..fcbc8a80be6 100644 --- a/dita/RTC-NG/archive/callback_irtcengineeventhandler_onaudiometadatareceived.dita +++ b/dita/RTC-NG/archive/callback_irtcengineeventhandler_onaudiometadatareceived.dita @@ -13,45 +13,48 @@

    - public void onAudioMetadataReceived(int uid, byte[] data) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine audioMetadataReceived:(NSUInteger)uid metadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(rtcEngine(_:audioMetadataReceived:metadata:)); - virtual void onAudioMetadataReceived(uid_t uid, const char* metadata, size_t length) { + public void onAudioMetadataReceived(int uid, byte[] data) {} + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine audioMetadataReceived:(NSUInteger)uid metadata:(NSData * _Nonnull)metadata NS_SWIFT_NAME(rtcEngine(_:audioMetadataReceived:metadata:)); + virtual void onAudioMetadataReceived(uid_t uid, const char* metadata, size_t length) { (void)uid; (void)metadata; (void)length; } - - - - -

    + + + + + +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +
    -

    当发送端调用 成功发送音频附属信息后,接收端会收到此回调报告接收到的媒体附属信息及发送端的用户 ID。

    +

    当发送端调用 + 成功发送音频附属信息后,接收端会收到此回调报告接收到的媒体附属信息及发送端的用户 ID。

    参数 - - uid - 发送音频附属信息的用户的 ID。 - - - metadata - data - 收到的音频附属信息。 - - - - - -
    -
    + + uid + 发送音频附属信息的用户的 ID。 + + + metadata + data + 收到的音频附属信息。 + + + + + + + + diff --git a/dita/RTC-NG/archive/callback_irtcengineeventhandler_oncameracapturerconfigurationchanged.dita b/dita/RTC-NG/archive/callback_irtcengineeventhandler_oncameracapturerconfigurationchanged.dita index 53eb4557b48..0aca77ca2ed 100644 --- a/dita/RTC-NG/archive/callback_irtcengineeventhandler_oncameracapturerconfigurationchanged.dita +++ b/dita/RTC-NG/archive/callback_irtcengineeventhandler_oncameracapturerconfigurationchanged.dita @@ -13,29 +13,30 @@

    - public void onCameraCapturerConfigurationChanged( + public void onCameraCapturerConfigurationChanged( int direction, int focalLengthType, int width, int height, int frameRate) {} - - virtual void onCameraCapturerConfigurationChanged(int direction, int focalLengthType, int width, int height, int frameRate) { + + virtual void onCameraCapturerConfigurationChanged(int direction, int focalLengthType, int width, int height, int frameRate) { (void)direction; (void)focalLengthType; (void)width; (void)height; (void)frameRate; } - - - - - -

    + + + + + + +

    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +

    调用 设置摄像头的焦距类型,但配置未生效时,会触发该回调。

    该回调仅适用于 Android。 @@ -43,26 +44,27 @@
    参数 - - direction - 摄像头方向。详见 - - - focalLengthType - 摄像头的焦距类型。详见 - - - width - 摄像头采集的宽度 (px)。 - - - height - 摄像头采集的高度 (px)。 - - - frameRate - 摄像头采集的帧率 (fps)。 - -
    + + direction + 摄像头方向。详见 + + + focalLengthType + 摄像头的焦距类型。详见 + + + width + 摄像头采集的宽度 (px)。 + + + height + 摄像头采集的高度 (px)。 + + + frameRate + 摄像头采集的帧率 (fps)。 + + +
    diff --git a/dita/RTC-NG/archive/callback_irtcengineex_onaudiometadatareceived.dita b/dita/RTC-NG/archive/callback_irtcengineex_onaudiometadatareceived.dita index 385d18722b5..24037ef36b3 100644 --- a/dita/RTC-NG/archive/callback_irtcengineex_onaudiometadatareceived.dita +++ b/dita/RTC-NG/archive/callback_irtcengineex_onaudiometadatareceived.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioMetadataReceived_IRtcEngineEx"/> - + @@ -13,27 +14,28 @@

    - - - virtual void onAudioMetadataReceived(const RtcConnection& connection, uid_t uid, const char* metadata, size_t length) { + + + virtual void onAudioMetadataReceived(const RtcConnection& connection, uid_t uid, const char* metadata, size_t length) { (void)metadata; (void)length; } - - - - -

    + + + + + +

    详情
    - -
    自从
    -
    v4.3.1
    -
    + +
    自从
    +
    v4.3.1
    +
    -

    +

    适用场景 @@ -42,22 +44,23 @@
    参数 - - - - - - - - - - - - - - - - -
    - + + + + + + + + + + + + + + + + + +
    +
    diff --git a/dita/RTC-NG/archive/class_cloudspatialaudioconfig.dita b/dita/RTC-NG/archive/class_cloudspatialaudioconfig.dita index baea0b7c8cf..c9651b7cb72 100644 --- a/dita/RTC-NG/archive/class_cloudspatialaudioconfig.dita +++ b/dita/RTC-NG/archive/class_cloudspatialaudioconfig.dita @@ -1,12 +1,16 @@ - <ph keyref="CloudSpatialAudioConfig" /> - 的配置。 + + <ph keyref="CloudSpatialAudioConfig"/> + + + 的配置。 +

    - public class CloudSpatialAudioConfig { + public class CloudSpatialAudioConfig { public static class SaeDeployRegion { public final static int SAE_DEPLOY_REGION_NONE = 0; public final static int SAE_DEPLOY_REGION_CN = 0x00000001; @@ -28,25 +32,25 @@ mDeployRegion = SaeDeployRegion.SAE_DEPLOY_REGION_CN; } } - __attribute__((visibility("default"))) @interface AgoraCloudSpatialAudioConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraCloudSpatialAudioConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @property(copy, nonatomic) NSString* _Nullable appId; @property(assign, nonatomic) NSUInteger deployRegion; @end - struct CloudSpatialAudioConfig { + struct CloudSpatialAudioConfig { agora::rtc::IRtcEngine* rtcEngine; ICloudSpatialAudioEventHandler* eventHandler; const char* appId; unsigned int deployRegion; CloudSpatialAudioConfig() : rtcEngine(NULL), eventHandler(NULL), appId(NULL), deployRegion(SAE_DEPLOY_REGION_CN) {} }; - export class CloudSpatialAudioConfig { + export class CloudSpatialAudioConfig { rtcEngine?: IRtcEngine eventHandler?: ICloudSpatialAudioEventHandler appId?: string deployRegion?: number } - public class CloudSpatialAudioConfig + public class CloudSpatialAudioConfig { public CloudSpatialAudioConfig() { @@ -61,46 +65,56 @@ public string appId { set; get; } public uint deployRegion { set; get; } } - export class CloudSpatialAudioConfig { + export class CloudSpatialAudioConfig { rtcEngine?: IRtcEngine; eventHandler?: ICloudSpatialAudioEventHandler; appId?: string; deployRegion?: number; } - There are no corresponding names available -

    + There are no corresponding names available +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - rtcEngine - mRtcEngine - - - - eventHandler - mEventHandler - 的事件句柄。详见 - - - appId - mAppId - 声网为 App 开发者签发的 App ID。该参数需要与初始化时设置的 App ID 一致。 - - - deployRegion - mDeployRegion - 声网空间音效服务器的访问区域。支持如下区域: -
      -
    • : (默认)中国大陆。
    • -
    • : 北美区域。
    • -
    • : 欧洲区域。
    • -
    • : 除中国以外的亚洲区域。
    • -
    -

    指定访问区域后,使用空间音效的 App 会连接指定区域内的声网空间音效服务器。

    -
    -
    -
    + + rtcEngine + mRtcEngine + + + + + eventHandler + mEventHandler + + 的事件句柄。详见 + + + appId + mAppId + 声网为 App 开发者签发的 App ID。该参数需要与初始化时设置的 App ID + 一致。 + + + deployRegion + mDeployRegion + 声网空间音效服务器的访问区域。支持如下区域:
      +
    • + : (默认)中国大陆。
    • +
    • + : 北美区域。
    • +
    • + : 欧洲区域。
    • +
    • + : 除中国以外的亚洲区域。
    • +
    +

    指定访问区域后,使用空间音效的 App 会连接指定区域内的声网空间音效服务器。

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/class_icloudspatialaudioengine.dita b/dita/RTC-NG/archive/class_icloudspatialaudioengine.dita index 4ef9e63ba45..e8cdfe3e941 100644 --- a/dita/RTC-NG/archive/class_icloudspatialaudioengine.dita +++ b/dita/RTC-NG/archive/class_icloudspatialaudioengine.dita @@ -1,11 +1,13 @@ - <ph keyref="ICloudSpatialAudioEngine" /> + <ph keyref="ICloudSpatialAudioEngine"/> 该类通过声网空间音效服务器计算用户坐标,实现空间音效。
    -

    该类继承自 调用该类下其他 API 前,你需要调用 方法初始化该类。

    +

    该类继承自 调用该类下其他 API 前,你需要调用 方法初始化该类。

    -
    \ No newline at end of file + diff --git a/dita/RTC-NG/archive/class_icloudspatialaudioeventhandler.dita b/dita/RTC-NG/archive/class_icloudspatialaudioeventhandler.dita index 72b29951de2..fffaee5082f 100644 --- a/dita/RTC-NG/archive/class_icloudspatialaudioeventhandler.dita +++ b/dita/RTC-NG/archive/class_icloudspatialaudioeventhandler.dita @@ -1,6 +1,6 @@ - <ph keyref="ICloudSpatialAudioEventHandler" /> + <ph keyref="ICloudSpatialAudioEventHandler"/> 空间音效事件通知回调类。 - \ No newline at end of file + diff --git a/dita/RTC-NG/conref/conref_api_metadata.dita b/dita/RTC-NG/conref/conref_api_metadata.dita index 5f040ac7cc7..d89b51646d7 100644 --- a/dita/RTC-NG/conref/conref_api_metadata.dita +++ b/dita/RTC-NG/conref/conref_api_metadata.dita @@ -8,6 +8,6 @@ 属性 属性 -

    +

    diff --git a/dita/RTC-NG/release/release_ng_4.2.2.dita b/dita/RTC-NG/release/release_ng_4.2.2.dita index 24d643c15e5..5b9f9d5df87 100644 --- a/dita/RTC-NG/release/release_ng_4.2.2.dita +++ b/dita/RTC-NG/release/release_ng_4.2.2.dita @@ -1,138 +1,238 @@ - v4.2.2 -

    该版本于 2023 年 7 月 xx 日发布。

    - - - <topic id="compatibility" props="android ios unity rn unreal bp flutter"> - <title>升级必看 - -

    版权音乐

    -

    该版本废弃了 类下的 方法并新增 方法。如果你使用了 方法实现预加载音乐资源,请在升级到该版本后更新 app 代码。

    -

    该版本删除了 类下的 方法中的 jsonOption 参数,请在升级到该版本后更新 app 代码。

    - -
    - - 新增特性 - -
      -
    1. 通配 Token -

      该版本新增通配 Token。生成 Token 时,在用户 ID 不为 0 的情况下,声网支持你将频道名设为通配符,从而生成可以加入任何频道的通配 Token。在需要频繁切换频道及多频道场景下,使用通配 Token 可以避免 Token 的重复配置,有助于提升开发效率,减少你的 Token 服务端的压力。详见。 - 声网 4.x SDK 均支持使用通配 Token。

      -
    2. -
    3. 预加载频道 -

      该版本新增 方法,支持角色为观众的用户在加入频道前预先加载一个或多个频道。该方法调用成功后可以减少观众加入频道的时间,从而缩短观众听到主播首帧音频以及看到首帧画面的耗时,提升观众端的音视频体验。

      -

      在同时预加载多个频道时,为避免观众在切换不同频道时需多次申请 Token 从而导致切换频道时间增长,因此声网推荐使用通配 Token 来减少你的业务服务端获取 Token 导致的耗时,进一步加快切换频道的速度,详见

      -
    4. -
    5. 自定义视频画布背景颜色 -

      该版本在 中增加了 backgroundColor 成员,支持你在设置本地或远端视频显示属性时,自定义视频画布的背景颜色。

      -
    6. -
    7. 指定视频源进行预览 -

      为支持用户选择不同类型的视频源进行本地视频预览,该版本新增 方法。你可以调用 并设置 sourceType 指定待预览的视频源类型;然后调用 关闭视频预览。

      - 该方法中设置的视频源类型需要跟 的视频源类型一致。 -
    8. -
    9. 发布多源采集的视频流 (Windows, macOS)

      -

      该版本在 中新增下列成员,支持你发布第三个、第四个摄像头和屏幕采集到的视频流: -

      • publishThirdCameraTrack:发布第三个摄像头采集的视频。
      • -
      • publishFourthCameraTrack:发布第四个摄像头采集的视频。
      • -
      • publishThirdScreenTrack:发布第三个屏幕采集的视频。
      • -
      • publishFourthScreenTrack:发布第四个屏幕采集的视频。
      - 目前 SDK 支持在同一时间、同一 中发布多路音频流、一路视频流。

      -
    10. -
    11. 支持仅播放副歌片段 (Android, iOS)

      -

      该版本新增 方法,如果你仅需要播放某一音乐资源的副歌片段,在播放前你需要调用该方法来为该副歌片段创建一个内部歌曲编号,作为该资源的唯一标识。你可以查看了解更多 K 歌场景方案。

      -
    12. -
    - -
    - - 改进 - -
      -
    1. 摄像头采集效果提升 (Android, iOS)

      -

      该版本从以下几个方面提升了摄像头采集效果:

        + v4.2.2 + +

        该版本于 2023 年 7 月 xx 日发布。

        + + + + <topic id="compatibility" props="android ios unity rn unreal bp flutter"> + <title>升级必看 + +

        版权音乐

        +

        该版本废弃了 类下的 方法并新增 方法。如果你使用了 + 方法实现预加载音乐资源,请在升级到该版本后更新 app 代码。

        +

        该版本删除了 类下的 方法中的 jsonOption + 参数,请在升级到该版本后更新 app 代码。

        + +
        + + 新增特性 + +
          +
        1. 通配 Token +

          该版本新增通配 Token。生成 Token 时,在用户 ID 不为 0 的情况下,声网支持你将频道名设为通配符,从而生成可以加入任何频道的通配 + Token。在需要频繁切换频道及多频道场景下,使用通配 Token 可以避免 Token 的重复配置,有助于提升开发效率,减少你的 Token + 服务端的压力。详见声网 4.x + SDK 均支持使用通配 Token。

          +
        2. +
        3. 预加载频道 +

          该版本新增 和 + + 方法,支持角色为观众的用户在加入频道前预先加载一个或多个频道。该方法调用成功后可以减少观众加入频道的时间,从而缩短观众听到主播首帧音频以及看到首帧画面的耗时,提升观众端的音视频体验。

          +

          在同时预加载多个频道时,为避免观众在切换不同频道时需多次申请 Token 从而导致切换频道时间增长,因此声网推荐使用通配 Token + 来减少你的业务服务端获取 Token 导致的耗时,进一步加快切换频道的速度,详见

          +
        4. +
        5. 自定义视频画布背景颜色 +

          该版本在 中增加了 + backgroundColor + 成员,支持你在设置本地或远端视频显示属性时,自定义视频画布的背景颜色。

          +
        6. +
        7. 指定视频源进行预览 +

          为支持用户选择不同类型的视频源进行本地视频预览,该版本新增 方法。你可以调用 + 并设置 sourceType 指定待预览的视频源类型;然后调用 关闭视频预览。

          + 该方法中设置的视频源类型需要跟 中 + + 的视频源类型一致。 +
        8. +
        9. 发布多源采集的视频流 + (Windows, macOS)

          +

          该版本在 + 中新增下列成员,支持你发布第三个、第四个摄像头和屏幕采集到的视频流:

            +
          • publishThirdCameraTrack:发布第三个摄像头采集的视频。
          • +
          • publishFourthCameraTrack:发布第四个摄像头采集的视频。
          • +
          • publishThirdScreenTrack:发布第三个屏幕采集的视频。
          • +
          • publishFourthScreenTrack:发布第四个屏幕采集的视频。
          • +
          + 目前 SDK 支持在同一时间、同一 中发布多路音频流、一路视频流。

          +
        10. +
        11. 支持仅播放副歌片段 + (Android, iOS)

          +

          该版本新增 + 方法,如果你仅需要播放某一音乐资源的副歌片段,在播放前你需要调用该方法来为该副歌片段创建一个内部歌曲编号,作为该资源的唯一标识。你可以查看了解更多 K 歌场景方案。

          +
        12. +
        + +
        + + 改进 + +
          +
        1. 摄像头采集效果提升 + (Android, iOS)

          +

          该版本从以下几个方面提升了摄像头采集效果:

          1. 支持摄像头采集曝光调节 -

            新增 方法,用于查询当前设备是否支持曝光调节和设置摄像头的曝光增益。

          2. -
          3. 优化默认摄像头选择 (iOS)

            -

            自该版本起,SDK 的默认摄像头选择对齐 iOS 系统相机行为。如果设备拥有多个后置摄像头,则在视频采集时可以获得更好的拍摄视野、变焦能力、低光性能和深度感应,从而提高视频采集的质量。

          4. +

            新增 + 方法,用于查询当前设备是否支持曝光调节和设置摄像头的曝光增益。

            +
          5. 优化默认摄像头选择 (iOS)

            +

            自该版本起,SDK 的默认摄像头选择对齐 iOS + 系统相机行为。如果设备拥有多个后置摄像头,则在视频采集时可以获得更好的拍摄视野、变焦能力、低光性能和深度感应,从而提高视频采集的质量。

          -

          该版本支持摄像头采集曝光调节。新增 方法,用于查询当前设备是否支持曝光调节和设置摄像头的曝光增益。

          -
        2. -
        3. 虚拟背景算法升级 -

          该版本升级了虚拟背景的人像分割算法,全面提升了人像分割的准确度、人像边缘与虚拟背景间的平滑度以及人物移动时边缘的贴合度,同时优化了虚拟背景在会议、办公、居家等场景下,以及逆光、弱光等条件下的人物边缘精度。

          -
        4. -
        5. 跨频道连麦优化 -

          该版本将跨频道连麦时媒体流转发的目标频道增加至 6 个,在调用 时,你可以指定最多 6 个目标频道。

          -
        6. -
        7. 视频编解码查询能力增强 -

          为提升设备编解码能力查询功能,该版本在 中新增 codecLevels 成员。当成功调用 后,可通过 codecLevels 得知当前设备对于 H.264 和 H.265 格式的视频的硬件和软件解码能力等级。

          -
        8. -
        -

        该版本还进行了如下改进: -

          -
        1. 为了提升多种音频路由之间的切换体验,该版本新增了 方法,用于在通话音量模式 () 下,将音频路由从蓝牙耳机切换为听筒、有线耳机或扬声器。 (Android)

        2. -
        3. 在屏幕共享场景下,SDK 根据共享的场景自动调节发送端的帧率。尤其是在共享文档场景下,避免发送端的视频码率超出预期的情况,以提高传输效率、减小网络负担。
        4. -
        5. 为帮助用户了解更多类型的远端视频状态改变的原因, 回调中新增了 枚举,表示本地的视频解码器不支持对收到的远端视频流进行解码。
        6. -
        7. 版权音乐新增 方法,可用于获取某一指定歌曲的详细信息,你可以通过触发的 回调来获取歌曲信息。 (Android, iOS)

        8. -

        - -
        - - 问题修复 - -

        该版本修复了以下问题: -

          -
        • 加入频道后,偶现本地用户听自己及远端的声音时出现杂音。 (macOS)

        • +

          该版本支持摄像头采集曝光调节。新增 + 方法,用于查询当前设备是否支持曝光调节和设置摄像头的曝光增益。

          + +
        • 虚拟背景算法升级 +

          该版本升级了虚拟背景的人像分割算法,全面提升了人像分割的准确度、人像边缘与虚拟背景间的平滑度以及人物移动时边缘的贴合度,同时优化了虚拟背景在会议、办公、居家等场景下,以及逆光、弱光等条件下的人物边缘精度。

          +
        • +
        • 跨频道连麦优化 +

          该版本将跨频道连麦时媒体流转发的目标频道增加至 6 个,在调用 和 + 时,你可以指定最多 6 个目标频道。

          +
        • +
        • 视频编解码查询能力增强 +

          为提升设备编解码能力查询功能,该版本在 中新增 + codecLevels 成员。当成功调用 后,可通过 + codecLevels 得知当前设备对于 H.264 和 H.265 + 格式的视频的硬件和软件解码能力等级。

          +
        • +
      +

      该版本还进行了如下改进:

        +
      1. 为了提升多种音频路由之间的切换体验,该版本新增了 + 方法,用于在通话音量模式 () + 下,将音频路由从蓝牙耳机切换为听筒、有线耳机或扬声器。 (Android)

      2. +
      3. 在屏幕共享场景下,SDK + 根据共享的场景自动调节发送端的帧率。尤其是在共享文档场景下,避免发送端的视频码率超出预期的情况,以提高传输效率、减小网络负担。
      4. +
      5. 为帮助用户了解更多类型的远端视频状态改变的原因, 回调中新增了 + 枚举,表示本地的视频解码器不支持对收到的远端视频流进行解码。
      6. +
      7. 版权音乐新增 + + 方法,可用于获取某一指定歌曲的详细信息,你可以通过触发的 + 回调来获取歌曲信息。 + (Android, iOS)

      8. +

      + + + + 问题修复 + +

      该版本修复了以下问题:

        +
      • 加入频道后,偶现本地用户听自己及远端的声音时出现杂音。 + (macOS)

      • 网络异常导致频道连接断开后,频道连接恢复较慢。
      • -
      • 在屏幕共享场景下,部分机型偶现屏幕共享画面出图延迟高于预期。
      • -
      • 自采集场景下, 无法自动加载插件。
      • -
      • 多设备音频录制场景下,反复插拔或开启/禁用音频录制设备后,偶现调用 进行音频采集设备测试时听不到声音。 (Windows)

      • - +
      • 在屏幕共享场景下,部分机型偶现屏幕共享画面出图延迟高于预期。
      • +
      • 自采集场景下, 无法自动加载插件。
      • +
      • 多设备音频录制场景下,反复插拔或开启/禁用音频录制设备后,偶现调用 + 进行音频采集设备测试时听不到声音。 + (Windows)

      • +

      - -
      - - API 变更 - -

      新增 -

        + + + + API 变更 + +

        新增 +

        • -
        • (Android, iOS)
        • -
        • (Android, iOS)
        • +
        • + (Android, iOS)
        • +
        • + (Android, iOS)
        • -
        • (Android, iOS)
        • -
        • (Android, iOS)
        • -
        • (Android, iOS)
        • -
        • (Android, iOS)
        • -
        • 中增加 songCode (Android, iOS)
        • -
        • 中增加 requestId (Android, iOS)
        • -
        • (Android)
        • +
        • (Android, iOS)
        • +
        • (Android, iOS)
        • +
        • (Android, iOS)
        • +
        • (Android, iOS)
        • +
        • 中增加 + songCode + (Android, iOS)
        • +
        • 中增加 requestId (Android, iOS)
        • +
        • (Android)
        • 中增加下列成员:

            -
          • publishThirdCameraTrack
          • -
          • publishFourthCameraTrack
          • -
          • publishThirdScreenTrack
          • -
          • publishFourthScreenTrack

        • +
        • publishThirdCameraTrack
        • +
        • publishFourthCameraTrack
        • +
        • publishThirdScreenTrack
        • +
        • publishFourthScreenTrack
        • +

      • -
      • 中增加 backgroundColor 成员
      • -
      • 中增加 codecLevels 成员
      • -
      • 中增加 枚举
      • -
      • -

      +
    2. 中增加 + backgroundColor 成员
    3. +
    4. 中增加 + codecLevels 成员
    5. +
    6. 中增加 + 枚举
    7. +
    8. +

      -

      废弃 -

        -
      • (Android, iOS)
      • -

      -

      删除 -

        -
      • 类下的 方法中的 jsonOption 参数 (Android, iOS)
      • -

      - - +

      废弃 +

        +
      • + (Android, iOS)
      • +

      +

      删除 +

        +
      • 类下的 + 方法中的 + jsonOption 参数 (Android, + iOS)
      • +

      + + diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index e520a76decd..9ab86ffc692 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -10,7 +10,10 @@ 升级必看 -

      为确保参数命名的一致性,该版本该版本将 中的 channelName 改为 channelId,将 optionalUid 改为 uid。为确保项目的正常运行,你需要在升级到该版本后更新 App 中的代码。

      +

      为确保参数命名的一致性,该版本该版本将 中的 + channelName 改为 channelId,将 + optionalUid 改为 + uid。为确保项目的正常运行,你需要在升级到该版本后更新 App 中的代码。

      @@ -18,64 +21,121 @@
      1. 隐私清单文件 (iOS) -

        为满足 Apple 对于 App 发布的安全合规要求,SDK 自该版本起新增隐私清单文件 PrivacyInfo.xcprivacy,其中包含 SDK 中需要访问或使用用户数据的 API 调用说明和 SDK 采集的数据类型说明。

        - 如果你需要将集成 v4.3.1 之前的 SDK 版本的 App 发布到苹果应用商店,则需要在 Xcode 工程中手动添加 PrivacyInfo.xcprivacy 文件。详见
      2. +

        为满足 Apple 对于 App 发布的安全合规要求,SDK 自该版本起新增隐私清单文件 + PrivacyInfo.xcprivacy,其中包含 SDK 中需要访问或使用用户数据的 API + 调用说明和 SDK 采集的数据类型说明。

        + 如果你需要将集成 v4.3.1 之前的 SDK 版本的 App 发布到苹果应用商店,则需要在 Xcode 工程中手动添加 + PrivacyInfo.xcprivacy 文件。详见
      3. 人像锁定 (iOS, macOS) -

        为提升在线会议、秀场、在线教育等场景中的主播演讲效果,该版本新增 方法开启人像锁定功能。该功能可确保主播无论移动与否,始终位于画面中心,以取得良好的演讲效果。

        -

        在开启人像锁定前,建议你先调用 查询当前设备性能是否支持该功能。支持的设备清单可参考 API 文档

        +

        为提升在线会议、秀场、在线教育等场景中的主播演讲效果,该版本新增 + 方法开启人像锁定功能。该功能可确保主播无论移动与否,始终位于画面中心,以取得良好的演讲效果。

        +

        在开启人像锁定前,建议你先调用 + 查询当前设备性能是否支持该功能。支持的设备清单可参考 API + 文档

      4. 摄像头防抖 (iOS) -

        为改善在移动拍摄、暗光环境拍摄、手持拍摄等场景下的视频画面稳定性,该版本新增摄像头防抖功能。你可以调用 开启该功能并设置适合的防抖模式,以获得更加稳定、清晰的视频画面。

        +

        为改善在移动拍摄、暗光环境拍摄、手持拍摄等场景下的视频画面稳定性,该版本新增摄像头防抖功能。你可以调用 + 开启该功能并设置适合的防抖模式,以获得更加稳定、清晰的视频画面。

      5. -
      6. 摄像头广角和超广角 (Android, iOS) -

        为了让用户捕捉到更宽阔的视野和更完整的画面内容,该版本新增了对广角和超广角摄像头的支持。你可以先调用 查询设备支持的焦距能力,然后调用 并将 cameraFocalLengthType 设置为支持的焦距类型,包括广角、超广角等。

        +
      7. 摄像头广角和超广角 (Android, + iOS) +

        为了让用户捕捉到更宽阔的视野和更完整的画面内容,该版本新增了对广角和超广角摄像头的支持。你可以先调用 查询设备支持的焦距能力,然后调用 并将 + cameraFocalLengthType 设置为支持的焦距类型,包括广角、超广角等。

      8. 摄像头多路采集 (Android) -

        该版本针对 Android 摄像头采集新增以下功能: - -

          -
        1. 支持第三个和第四个摄像头视频流的采集和发布。 -
            -
          • 中新增 (11) 和 (12) 枚举,分别用于指定视频源为第三个和第四个摄像头。此项改动允许你在调用 开启摄像头采集时,指定最多 4 路摄像头采集的视频流。
          • -
          • 中的 (11) 和 (12) 枚举新增对 Android 的支持,分别用于指定视频源为第三个和第四个摄像头。此项改动允许你在调用 开启摄像头采集时,指定最多 4 路摄像头采集的视频流。
          • -
          • 中新增 publishThirdCameraTrackpublishFourthCameraTrack 成员。调用 加入频道时,将这两个成员参数设置为 即可在频道内发布第三个和第四个摄像头采集的视频流。
          • -
          • 中的 publishThirdCameraTrackpublishFourthCameraTrack 成员新增对 Android 的支持。调用 加入频道时,将这两个成员参数设置为 即可在频道内发布第三个和第四个摄像头采集的视频流。
          • -
        2. -
        3. 支持通过摄像头 ID 指定摄像头。 -
            -
          • 中新增 cameraId 成员。对于多摄像头的设备,cameraDirection 无法识别或访问全部可用摄像头。这种情况下,你可以通过 Android 原生系统 API 获取摄像头 ID,再调用 并传入 cameraId 指定所需的摄像头。
          • -
          • 新增 ,支持通过 cameraId 切换摄像头,允许 App 在运行期间基于可用摄像头的实际情况动态调整摄像头使用。
          • -
          -

          中新增 cameraId 成员。对于多摄像头的设备,cameraDirection 无法识别或访问全部可用摄像头。这种情况下,你通过系统 API 获取摄像头 ID,再调用 并传入 cameraId 指定摄像头。

          -
        4. -

        +

        该版本针对 Android 摄像头采集新增以下功能:

          +
        1. 支持第三个和第四个摄像头视频流的采集和发布。
            +
          • 中新增 + (11) + 和 (12) 枚举,分别用于指定视频源为第三个和第四个摄像头。此项改动允许你在调用 + 开启摄像头采集时,指定最多 4 + 路摄像头采集的视频流。
          • +
          • 中的 (11) + 和 (12) 枚举新增对 Android + 的支持,分别用于指定视频源为第三个和第四个摄像头。此项改动允许你在调用 开启摄像头采集时,指定最多 4 + 路摄像头采集的视频流。
          • +
          • + 中新增 publishThirdCameraTrack 和 + publishFourthCameraTrack 成员。调用 + 加入频道时,将这两个成员参数设置为 + + 即可在频道内发布第三个和第四个摄像头采集的视频流。
          • +
          • 中的 + publishThirdCameraTrack 和 + publishFourthCameraTrack 成员新增对 + Android 的支持。调用 + 加入频道时,将这两个成员参数设置为 + 即可在频道内发布第三个和第四个摄像头采集的视频流。
          • +
        2. +
        3. 支持通过摄像头 ID 指定摄像头。
            +
          • 中新增 + cameraId + 成员。对于多摄像头的设备,cameraDirection + 无法识别或访问全部可用摄像头。这种情况下,你可以通过 Android 原生系统 API 获取摄像头 ID,再调用 + 并传入 + cameraId 指定所需的摄像头。
          • +
          • 新增 ,支持通过 + cameraId 切换摄像头,允许 App + 在运行期间基于可用摄像头的实际情况动态调整摄像头使用。
          • +
          +

          中新增 + cameraId + 成员。对于多摄像头的设备,cameraDirection + 无法识别或访问全部可用摄像头。这种情况下,你通过系统 API 获取摄像头 ID,再调用 并传入 + cameraId 指定摄像头。

          +
        4. +
        +

      9. 数据流加密 -

        该版本在 中新增 datastreamEncryptionEnabled 成员用于启用数据流加密。你可以在调用 开启加密时来进行设置。如果在数据流加密或解密的过程中遇到问题导致失败,你可以通过新增的 枚举得知。

        +

        该版本在 中新增 + datastreamEncryptionEnabled 成员用于启用数据流加密。你可以在调用 + + 开启加密时来进行设置。如果在数据流加密或解密的过程中遇到问题导致失败,你可以通过新增的 枚举得知。

      10. 本地视频渲染 -

        该版本在 中新增如下成员,以支持更多本地渲染功能。 - -

          -
        • surfaceTexture:设置一个 Android 原生的 SurfaceTexture 对象作为提供视频图像的容器,然后使用 SDK 外部的方法自行实现 OpenGL 中的纹理绘制。
        • -
        • enableAlphaMask:可以通过该成员设置接收端是否开启 alpha 遮罩渲染。alpha 遮罩渲染功能可以创建具有透明效果的图像或提取视频中的人像。
        • -

        +

        该版本在 中新增如下成员,以支持更多本地渲染功能。

          +
        • surfaceTexture:设置一个 Android 原生的 + SurfaceTexture 对象作为提供视频图像的容器,然后使用 SDK + 外部的方法自行实现 OpenGL 中的纹理绘制。
        • +
        • enableAlphaMask:可以通过该成员设置接收端是否开启 alpha + 遮罩渲染。alpha 遮罩渲染功能可以创建具有透明效果的图像或提取视频中的人像。
        • +

      11. 视频小流自适应配置 -

        该版本新增视频小流的自适应配置功能,当你调用 在发送端设置双流模式并设置视频小流时,SDK 的默认行为如下所示: - -

          -
        • 将视频小流的默认编码分辨率设为原始视频编码分辨率的 50%。
        • -
        • 视频小流的码率根据视频分辨率和帧率自动匹配,无需指定。
        • -

        +

        该版本新增视频小流的自适应配置功能,当你调用 + 在发送端设置双流模式并设置视频小流时,SDK 的默认行为如下所示:

          +
        • 将视频小流的默认编码分辨率设为原始视频编码分辨率的 50%。
        • +
        • 视频小流的码率根据视频分辨率和帧率自动匹配,无需指定。
        • +

      12. 其他

        -

          -
        • 新增 方法,用于多频道场景下开启媒体流或数据流加密。
        • -
        • 新增 方法,用于设置音乐文件的播放速度。
        • -
        • 新增 方法,用于多频道场景下获取通话 ID。
        • -

        +
          +
        • 新增 + 方法,用于多频道场景下开启媒体流或数据流加密。
        • +
        • 新增 + 方法,用于设置音乐文件的播放速度。
        • +
        • 新增 方法,用于多频道场景下获取通话 ID。
        • +
        +

      @@ -85,53 +145,85 @@
      1. 屏幕共享游戏场景优化 (Windows) -

        该版本对屏幕共享的游戏场景进行了专项优化,在超高清(4K, 60 fps)游戏场景下提升了性能表现,增强了窗口采集的稳定性,为游戏玩家带来更清晰、流畅、稳定的游戏体验。

        +

        该版本对屏幕共享的游戏场景进行了专项优化,在超高清(4K, 60 + fps)游戏场景下提升了性能表现,增强了窗口采集的稳定性,为游戏玩家带来更清晰、流畅、稳定的游戏体验。

      2. 本地视频状态回调优化

        -

        为方便你了解本地视频状态改变的具体原因,该版本在 回调的 枚举类中新增如下枚举:

        -

        该版本新增如下枚举,你可以通过 回调了解更多本地视频状态发生改变的原因:

        +

        为方便你了解本地视频状态改变的具体原因,该版本在 回调的 枚举类中新增如下枚举:

        +

        该版本新增如下枚举,你可以通过 + 回调了解更多本地视频状态发生改变的原因:

          -
        • (14):由于摄像头被其他 App 占用或 App 切后台等原因导致的视频采集中断。
        • -
        • (15):视频采集设备出错,可能由于摄像头设备故障导致。
        • -
        • (27):进行屏幕采集的窗口已经从最小化状态恢复正常。
        • -
      3. +
      4. (14):由于摄像头被其他 App 占用或 App 切后台等原因导致的视频采集中断。
      5. +
      6. (15):视频采集设备出错,可能由于摄像头设备故障导致。
      7. +
      8. (27):进行屏幕采集的窗口已经从最小化状态恢复正常。
      9. + +
      10. 摄像头采集改进

        优化了摄像头采集的视频处理机制,减少噪点、提高亮度、改善色彩,使采集到的图形更加清晰、明亮和真实。

      11. -
      12. 获取音频设备类型(macOS) -

        该版本在 中新增 deviceTypeName 成员,用于获取音频设备的类型,如 built-in、USB、HDMI 等。

        -

        该版本在 中新增 deviceTypeName 成员,用于获取音频设备的类型,如 built-in、USB、HDMI 等。

        -

        该版本新增 方法,分别用于获取音频播放、采集设备的设备信息及类型。

        +
      13. 获取音频设备类型(macOS) +

        该版本在 中新增 + deviceTypeName 成员,用于获取音频设备的类型,如 built-in、USB、HDMI + 等。

        +

        该版本在 中新增 + deviceTypeName 成员,用于获取音频设备的类型,如 built-in、USB、HDMI + 等。

        +

        该版本新增 方法,分别用于获取音频播放、采集设备的设备信息及类型。

      14. 虚拟背景算法优化 -

        为了提高纯色背景下开启虚拟背景时人像分割的精确度和稳定性,该版本优化了绿幕分割算法: - -

          -
        • 支持识别任意纯色背景,不再局限于绿幕。
        • -
        • 对背景颜色的识别更加准确,并且在分割人像时露出的背景更少。
        • -
        • 分割后的人像边缘(尤其是手指边缘)更加稳定,显著减少边缘的画面闪动现象。
        • -

        +

        为了提高纯色背景下开启虚拟背景时人像分割的精确度和稳定性,该版本优化了绿幕分割算法:

          +
        • 支持识别任意纯色背景,不再局限于绿幕。
        • +
        • 对背景颜色的识别更加准确,并且在分割人像时露出的背景更少。
        • +
        • 分割后的人像边缘(尤其是手指边缘)更加稳定,显著减少边缘的画面闪动现象。
        • +

      15. 音频自采集优化 -

        为提升音频自采集的灵活性,该版本废弃 并新增 。相比废弃方法,新增方法中增加了 sampleRatechannelstrackId 参数,支持你通过自定义音频轨道将外部 CMSampleBuffer 音频数据推送到频道内,并支持设置外部音频源的采样率和声道数。

        +

        为提升音频自采集的灵活性,该版本废弃 + 并新增 。相比废弃方法,新增方法中增加了 + sampleRatechannelstrackId + 参数,支持你通过自定义音频轨道将外部 CMSampleBuffer 音频数据推送到频道内,并支持设置外部音频源的采样率和声道数。

      16. 降低耳返的 CPU 消耗 -

        该版本新增 (1 <<15) 枚举。针对复杂的音效处理场景,你可以指定该选项,复用发送端音效处理后的 Audio filter,从而降低 CPU 的消耗。需要注意的是该选项会导致耳返延迟增加,适用于对耳返延迟不敏感的使用场景。

        +

        该版本新增 + (1 <<15) 枚举。针对复杂的音效处理场景,你可以指定该选项,复用发送端音效处理后的 Audio + filter,从而降低 CPU 的消耗。需要注意的是该选项会导致耳返延迟增加,适用于对耳返延迟不敏感的使用场景。

      17. 其他改进 -

        该版本还进行了如下改进: - -

          -
        • 优化了非屏幕共享场景的视频编解码策略,节省系统性能开销。(iOS, macOS, Windows)
        • -
        • 针对 macOS 14 及以上系统,优化了 的行为。自该版本起,调用该方法返回的可用窗口资源中会自动过滤小组件窗口。(macOS)
        • -
        • 提升了本地合图功能的性能和稳定性,并降低了该功能对 CPU 的占用率。(Android)
        • -
        • 提升了原始视频帧观测器在处理视频时的稳定性。(iOS)
        • -
        • 优化了媒体播放器对 WebM 格式视频的处理能力,支持渲染 alpha 通道。
        • -
        • 中新增 (合唱音效),可使人声在合唱场景下更具空间立体感。
        • -
        • 新增 (合唱音效),可使人声在合唱场景下更具空间立体感。
        • -
        • 中新增 e2eDelay,用于报告从发送端采集音频起,到接收端开始播放音频时的延时。
        • -

        +

        该版本还进行了如下改进:

          +
        • 优化了非屏幕共享场景的视频编解码策略,节省系统性能开销。(iOS, macOS, Windows)
        • +
        • 针对 macOS 14 及以上系统,优化了 + 的行为。自该版本起,调用该方法返回的可用窗口资源中会自动过滤小组件窗口。(macOS)
        • +
        • 提升了本地合图功能的性能和稳定性,并降低了该功能对 CPU + 的占用率。(Android)
        • +
        • 提升了原始视频帧观测器在处理视频时的稳定性。(iOS)
        • +
        • 优化了媒体播放器对 WebM 格式视频的处理能力,支持渲染 alpha 通道。
        • +
        • 中新增 (合唱音效),可使人声在合唱场景下更具空间立体感。
        • +
        • 新增 (合唱音效),可使人声在合唱场景下更具空间立体感。
        • +
        • 中新增 + e2eDelay,用于报告从发送端采集音频起,到接收端开始播放音频时的延时。
        • +

      @@ -142,17 +234,30 @@

      该版本修复了以下问题:

      • 使用媒体播放器播放包含 SEI 数据的媒体流时,SEI 数据的输出与视频渲染不同步。
      • -
      • 加入频道后调用 关闭音频模块,音频播放没有立即停止。(Android)
      • -
      • 屏幕共享场景中,App 调用 开启声卡采集功能采集共享屏幕的音频,本地用户手动禁用本地音频采集设备后,声卡采集的音频发送失败,远端用户听不见共享屏幕的声音。(Windows)
      • -
      • 在音视频互动中,如果用户将耳机插入设备并手动将系统音频输出切换为扬声器,之后 App 调用 方法指定音频播放设备为耳机,用户移除耳机后,音频输出并未按预期行为切换至扬声器。 (macOS)
      • -
      • 用户插拔一次蓝牙或有线耳机,音频状态改变回调 会触发多次。
      • +
      • 加入频道后调用 + 关闭音频模块,音频播放没有立即停止。(Android)
      • +
      • 屏幕共享场景中,App 调用 + 开启声卡采集功能采集共享屏幕的音频,本地用户手动禁用本地音频采集设备后,声卡采集的音频发送失败,远端用户听不见共享屏幕的声音。(Windows)
      • +
      • 在音视频互动中,如果用户将耳机插入设备并手动将系统音频输出切换为扬声器,之后 App 调用 方法指定音频播放设备为耳机,用户移除耳机后,音频输出并未按预期行为切换至扬声器。 (macOS)
      • +
      • 用户插拔一次蓝牙或有线耳机,音频状态改变回调 会触发多次。
      • 用户插拔一次蓝牙或有线耳机,音频状态改变回调 会触发多次。
      • -
      • 主播使用部分型号设备在扬声器下进行音视频互动,之后切换 App 进程到后台再切回前台,偶现本地音频采集失败,远端用户听不到主播的声音。(Android)
      • +
      • 主播使用部分型号设备在扬声器下进行音视频互动,之后切换 App + 进程到后台再切回前台,偶现本地音频采集失败,远端用户听不到主播的声音。(Android)
      • 播放指定用户混音前的音频流时偶现回声。(macOS、Windows)
      • -
      • 在音视频互动过程中,本地用户调用 设置系统默认播放设备为扬声器后,听远端无声。(Windows)
      • -
      • 在 Android 8.0 系统的设备上,启用屏幕共享功能时 App 偶现崩溃。(Android)
      • -
      • 在共享 Excel 文档窗口时,偶现远端用户看到的画面出现绿屏。(Windows)
      • -
      • 使用摄像头采集本地视频场景下,在 App 切后台时已调用 关闭视频采集,但将 App 再切回前台时,摄像头采集被打开,不符合预期。(Android)
      • +
      • 在音视频互动过程中,本地用户调用 + 设置系统默认播放设备为扬声器后,听远端无声。(Windows)
      • +
      • 在 Android 8.0 系统的设备上,启用屏幕共享功能时 App + 偶现崩溃。(Android)
      • +
      • 在共享 Excel + 文档窗口时,偶现远端用户看到的画面出现绿屏。(Windows)
      • +
      • 使用摄像头采集本地视频场景下,在 App 切后台时已调用 关闭视频采集,但将 App + 再切回前台时,摄像头采集被打开,不符合预期。(Android)
      • 在使用 Intel 显卡的设备上发布视频小流偶现性能回退。(Windows)
      @@ -162,64 +267,109 @@

      新增

        -
      • (iOS, macOS)
      • -
      • (iOS, macOS)
      • -
      • (iOS)
      • -
      • (iOS)
      • -
      • 中新增 surfaceTextureenableAlphaMask
      • -
      • 中新增 enableAlphaMask
      • -
      • 中新增如下枚举: -
          -
        • LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT
        • -
        • LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR
        • -
        • -
      • -
      • 中新增 datastreamEncryptionEnabled
      • -
      • 中新增如下枚举: - -
          -
        • -
        • -
      • -
      • -
      • -
      • (macOS)
      • -
      • (macOS)
      • -
      • (macOS)
      • -
      • (macOS)
      • -
      • 中新增 deviceTypeName (macOS)
      • -
      • 新增 deviceTypeName
      • -
      • 新增 e2eDelay
      • -
      • 新增
      • -
      • -
      • 新增
      • -
      • -
      • -
      • -
      • -
      • (Android, iOS)
      • -
      • (Android, iOS)
      • -
      • (Android, iOS)
      • -
      • 新增成员 cameraFocalLengthType (Android, iOS)
      • -
      • 新增以下枚举: -
          -
        • (11)
        • -
        • (12)
        • -
      • -
      • 新增以下成员: -
          -
        • publishThirdCameraTrack
        • -
        • publishFourthCameraTrack
        • -
      • -
      • 新增成员 cameraId (Android)
      • -
      • 中新增 CAMERA_EXTRA(2)
      • -
      • -
      • 新增枚举 (1 <<15)
      • -
      • +
      • (iOS, macOS)
      • +
      • (iOS, macOS)
      • +
      • + (iOS)
      • +
      • + (iOS)
      • +
      • 中新增 + surfaceTexture 和 + enableAlphaMask
      • +
      • 中新增 + enableAlphaMask
      • +
      • + 中新增如下枚举: +
          +
        • LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT
        • +
        • LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR
        • +
        • +
      • +
      • 中新增 + datastreamEncryptionEnabled
      • +
      • + 中新增如下枚举: +
          +
        • +
        • +
      • +
      • +
      • +
      • + (macOS)
      • +
      • + (macOS)
      • +
      • + (macOS)
      • +
      • + (macOS)
      • +
      • 中新增 + deviceTypeName (macOS)
      • +
      • 新增 + deviceTypeName
      • +
      • 新增 e2eDelay
      • +
      • 新增 +
      • +
      • +
      • 新增 +
      • +
      • +
      • +
      • +
      • +
      • (Android, iOS)
      • +
      • + (Android, iOS)
      • +
      • (Android, iOS)
      • +
      • 新增成员 + cameraFocalLengthType (Android, iOS)
      • +
      • 新增以下枚举: +
          +
        • (11)
        • +
        • (12)
        • +
      • +
      • 新增以下成员: +
          +
        • publishThirdCameraTrack
        • +
        • publishFourthCameraTrack
        • +
      • +
      • 新增成员 + cameraId (Android)
      • +
      • 中新增 + CAMERA_EXTRA(2)
      • +
      • +
      • 新增枚举 (1 <<15)
      • +

      废弃

        -
      • +

      diff --git a/dita/RTC-NG/release/release_notes_4.2.3.dita b/dita/RTC-NG/release/release_notes_4.2.3.dita index 25d20079f82..de413af3b59 100644 --- a/dita/RTC-NG/release/release_notes_4.2.3.dita +++ b/dita/RTC-NG/release/release_notes_4.2.3.dita @@ -14,30 +14,62 @@
    9. 视频截图上传更新

      为方便接入声网云市场提供的第三方视频审核服务,该版本有以下改动:

        -
      • 中新增 枚举值,代表使用声网云市场视频审核插件对视频截图并上传。
      • -
      • 中的 type 新增 枚举值,代表使用声网云市场视频审核插件对视频截图并上传。
      • -
      • 中新增的 serverConfig 可选参数用于云市场视频截图上传相关服务端配置,配置后可同时接入多个云市场审核插件并实现灵活控制插件开关等功能,详情请
      • +
      • 中新增 + + 枚举值,代表使用声网云市场视频审核插件对视频截图并上传。
      • +
      • 中的 type 新增 + 枚举值,代表使用声网云市场视频审核插件对视频截图并上传。
      • +
      • 中新增的 + serverConfig + 可选参数用于云市场视频截图上传相关服务端配置,配置后可同时接入多个云市场审核插件并实现灵活控制插件开关等功能,详情请
      - 此外,该版本还新增了 方法,支持同时对多条视频流截图并上传。 + 此外,该版本还新增了 方法,支持同时对多条视频流截图并上传。

    10. -
    11. 支持 ID3D11Texture2D 渲染 (Windows) -

      自该版本起,SDK 支持 ID3D11Texture2D 类型的视频格式,提升了游戏场景中视频帧的渲染效果。你可以在调用 方法将外部原始视频帧推送到 SDK 时,设置 formatVIDEO_TEXTURE_ID3D11TEXTURE2D;并通过设置 d3d11_texture_2dtexture_slice_index 属性,来确定要使用的 ID3D11Texture2D 纹理对象。

      +
    12. 支持 ID3D11Texture2D 渲染 + (Windows)

      自该版本起,SDK 支持 ID3D11Texture2D 类型的视频格式,提升了游戏场景中视频帧的渲染效果。你可以在调用 + + 方法将外部原始视频帧推送到 SDK 时,设置 format 为 + VIDEO_TEXTURE_ID3D11TEXTURE2D;并通过设置 + d3d11_texture_2d 和 + texture_slice_index 属性,来确定要使用的 ID3D11Texture2D + 纹理对象。

    13. -
    14. 本地视频状态错误码更新 (Windows, macOS) -

      为了帮助用户在屏幕共享场景下了解本地视频出错的准确原因, 回调中新增了如下几组枚举: -

        -
      • (23):屏幕采集已暂停。当前屏幕可能已切换到安全桌面,例如 UAC 对话框或者 Winlogon 桌面。
      • -
      • (24):屏幕采集已从暂停状态中恢复。
      • -
      • (25):当前屏幕采集的窗口处于隐藏状态,并且在当前屏幕上不可见。
      • -
      • (26):进行屏幕采集的窗口已经从隐藏状态中恢复。
      • -
      • (27):进行屏幕采集的窗口已经从最小化状态中恢复。
      • -

      +
    15. 本地视频状态错误码更新 (Windows, + macOS)

      为了帮助用户在屏幕共享场景下了解本地视频出错的准确原因, 回调中新增了如下几组枚举:

        +
      • (23):屏幕采集已暂停。当前屏幕可能已切换到安全桌面,例如 UAC 对话框或者 Winlogon + 桌面。
      • +
      • (24):屏幕采集已从暂停状态中恢复。
      • +
      • (25):当前屏幕采集的窗口处于隐藏状态,并且在当前屏幕上不可见。
      • +
      • (26):进行屏幕采集的窗口已经从隐藏状态中恢复。
      • +
      • (27):进行屏幕采集的窗口已经从最小化状态中恢复。
      • +

    16. 进阶功能查询 -

      该版本新增了 方法,用于查询设备能力是否满足虚拟背景、美颜等进阶功能的使用要求。

      +

      该版本新增了 + 方法,用于查询设备能力是否满足虚拟背景、美颜等进阶功能的使用要求。

      在使用进阶功能前,你可以根据查询结果判断当前设备是否支持这些功能,从而避免在低端设备上开启进阶功能导致性能下降或功能不可用的问题。你可以根据该方法的返回值,决定是否显示或启用相应的功能按钮,或者在设备能力不足时,为用户提示相应信息。

      -

      此外,自该版本起,调用 时,SDK 会自动对当前设备能力进行检查,并在设备能力不足时,通过返回错误码 -4: 表示该设备不支持开启该功能。

      +

      此外,自该版本起,调用 + 和 时,SDK + 会自动对当前设备能力进行检查,并在设备能力不足时,通过返回错误码 -4: 表示该设备不支持开启该功能。

    @@ -47,19 +79,24 @@
    1. 优化虚拟背景内存占用 -

      该版本升级了虚拟背景算法,降低了虚拟背景功能的内存占用。相比之前的版本,在低端机上使用虚拟背景功能时 App 运行占用的内存降低了约 4%~10%(具体数值取决于设备型号和平台)。

      +

      该版本升级了虚拟背景算法,降低了虚拟背景功能的内存占用。相比之前的版本,在低端机上使用虚拟背景功能时 App 运行占用的内存降低了约 + 4%~10%(具体数值取决于设备型号和平台)。

    2. 屏幕共享场景优化 -

      该版本优化了在超高清(4K,60 fps)游戏共享场景下的性能和编码效率,有效降低了屏幕共享时系统资源占用率。

      -

      该版本优化了屏幕共享场景下的视频编码配置。当用户自定义视频的 widthheight 属性时,SDK 会在保持视频与屏幕的宽高比一致的前提下,对实际的编码分辨率进行向下取整,确保最终编码分辨率不超过用户自定义的编码分辨率,从而提升了对屏幕共享流的计费准确性。

      +

      该版本优化了在超高清(4K,60 + fps)游戏共享场景下的性能和编码效率,有效降低了屏幕共享时系统资源占用率。

      +

      该版本优化了屏幕共享场景下的视频编码配置。当用户自定义视频的 width 和 + height 属性时,SDK + 会在保持视频与屏幕的宽高比一致的前提下,对实际的编码分辨率进行向下取整,确保最终编码分辨率不超过用户自定义的编码分辨率,从而提升了对屏幕共享流的计费准确性。

    其他改进

    -

    该版本还进行了如下改进: -

      -
    • 优化了 SDK 采集和自定义视频采集场景下 Texture Buffer 的管理方式,有效消除丢帧和崩溃隐患。
    • -
    • 当调用 设置音频文件的播放进度时,传入非法参数后会返回错误码 -2,表示方法中设置了无效的参数,需要重新设置参数。
    • -
    • 优化了 Token 解析时的逻辑,避免传入非法 Token 后 App 发生崩溃。
    • +

      该版本还进行了如下改进:

        +
      • 优化了 SDK 采集和自定义视频采集场景下 Texture Buffer + 的管理方式,有效消除丢帧和崩溃隐患。
      • +
      • 当调用 + 设置音频文件的播放进度时,传入非法参数后会返回错误码 -2,表示方法中设置了无效的参数,需要重新设置参数。
      • +
      • 优化了 Token 解析时的逻辑,避免传入非法 Token 后 App 发生崩溃。

      @@ -69,16 +106,36 @@

      该版本修复了以下问题:

      • 在屏幕共享场景下偶现崩溃、掉帧。(Windows)
      • -
      • 在采用 H.265 编码模式时,如果 Web 端加入互动,会导致 Native 端出现冗余的 回调:当主播调用 (true)时,接收端在收到 (enabledtrue) 回调之前,会先收到一个 (enabledfalse) 回调。
      • -
      • 加入频道偶现的崩溃。(macOS)

      • +
      • 在采用 H.265 编码模式时,如果 Web 端加入互动,会导致 Native 端出现冗余的 + 回调:当主播调用 + (true)时,接收端在收到 + + (enabledtrue) 回调之前,会先收到一个 + + (enabledfalse) 回调。
      • +
      • 加入频道偶现的崩溃。(macOS)

      • 本地系统时间不正确时,偶现加入频道失败。
      • -
      • 调用 使用相同的 soundId 播放两个不同的音效文件,偶现第一个音效文件播放完毕后会重复播放。
      • -
      • 主播调用 播放音乐文件时,偶现主播本地无法听见音乐,远端用户可以正常听见。(Android)

      • -
      • 合唱场景下,调用 加载音乐,偶现加载失败。(Android, iOS)

      • -
      • 在特定机型上开启 AI 降噪偶现崩溃。(Android)

      • -
      • 当本地系统时间不准确时,歌曲榜单加载失败。(Android, iOS)

      • -
      • 调用一次 获取视频截图会收到多次 视频截图结果回调。
      • -
      • 在仅调用 加入的频道中,调用 无法将音频路由从扬声器切换至听筒。(Android)

      • +
      • 调用 使用相同的 + soundId 播放两个不同的音效文件,偶现第一个音效文件播放完毕后会重复播放。
      • +
      • 主播调用 + 播放音乐文件时,偶现主播本地无法听见音乐,远端用户可以正常听见。(Android)

      • +
      • 合唱场景下,调用 加载音乐,偶现加载失败。(Android, iOS)

      • +
      • 在特定机型上开启 AI 降噪偶现崩溃。(Android)

      • +
      • 当本地系统时间不准确时,歌曲榜单加载失败。(Android, iOS)

      • +
      • 调用一次 获取视频截图会收到多次 + 视频截图结果回调。
      • +
      • 在仅调用 加入的频道中,调用 + 无法将音频路由从扬声器切换至听筒。(Android)

      @@ -87,22 +144,46 @@

      新增

        -
      • 中新增如下枚举:(Windows, macOS) -
          -
        • -
        • -
        • -
        • -
        • -
      • -
      • 中新增 d3d11_texture_2dtexture_slice_index 成员(Windows)
      • -
      • 中新增 枚举 (Windows)
      • -
      • -
      • 新增
      • -
      • 中的 type 新增
      • -
      • 中新增 serverConfig 可选参数
      • -
      • -
      • +
      • 中新增如下枚举:(Windows, + macOS)
          +
        • +
        • +
        • +
        • +
        • +
      • +
      • 中新增 + d3d11_texture_2d 和 + texture_slice_index 成员(Windows)
      • +
      • 中新增 枚举 + (Windows)
      • +
      • +
      • 新增 +
      • +
      • 中的 type 新增 +
      • +
      • 中新增 + serverConfig 可选参数
      • +
      • +

      diff --git a/dita/RTC/API/api_addhandler.dita b/dita/RTC/API/api_addhandler.dita index 4f33a9215e3..089aa2fbbcc 100644 --- a/dita/RTC/API/api_addhandler.dita +++ b/dita/RTC/API/api_addhandler.dita @@ -13,29 +13,31 @@

      - public void addHandler(IRtcEngineEventHandler handler) { + public void addHandler(IRtcEngineEventHandler handler) { mInstance.addHandler(handler); } - - - - public abstract void InitEventHandler(IAgoraRtcEngineEventHandler engineEventHandler); - - void setEventHandler(RtcEngineEventHandler handler)

      + + + + public abstract void InitEventHandler(IAgoraRtcEngineEventHandler engineEventHandler); + + void setEventHandler(RtcEngineEventHandler handler) +

      -

      接口类用于 SDK 向 app 发送回调事件通知,app 通过继承该接口类的方法获取 SDK 的事件通知。 - 接口类的所有方法都有缺省(空)实现,app 可以根据需要只继承关心的事件。在回调方法中,app 不应该做耗时或者调用可能会引起阻塞的 API(如 ), - 否则可能影响 SDK 的运行。

      +

      接口类用于 SDK 向 app 发送回调事件通知,app 通过继承该接口类的方法获取 + SDK 的事件通知。 接口类的所有方法都有缺省(空)实现,app 可以根据需要只继承关心的事件。在回调方法中,app 不应该做耗时或者调用可能会引起阻塞的 API(如 + ), 否则可能影响 SDK 的运行。

      参数 - - handler - engineEventHandler - 待添加的回调事件。详见 - -
      + + handler + engineEventHandler + 待添加的回调事件。详见 + + +
      diff --git a/dita/RTC/API/api_addinjectstreamurl.dita b/dita/RTC/API/api_addinjectstreamurl.dita index 4a140961b7c..dc616e5e484 100644 --- a/dita/RTC/API/api_addinjectstreamurl.dita +++ b/dita/RTC/API/api_addinjectstreamurl.dita @@ -13,60 +13,70 @@

      - public abstract int addInjectStreamUrl(String url, LiveInjectStreamConfig config); - - (int)addInjectStreamUrl:(NSString* _Nonnull)url config:(AgoraLiveInjectStreamConfig* _Nonnull)config; - virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; - addInjectStreamUrl(url: string, config: InjectStreamConfig): number - public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); - addInjectStreamUrl( + public abstract int addInjectStreamUrl(String url, LiveInjectStreamConfig config); + - (int)addInjectStreamUrl:(NSString* _Nonnull)url config:(AgoraLiveInjectStreamConfig* _Nonnull)config; + virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; + addInjectStreamUrl(url: string, config: InjectStreamConfig): number + public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); + addInjectStreamUrl( url: string, config: LiveInjectStreamConfig ): Promise<void> - Future<void> addInjectStreamUrl(String url, LiveInjectStreamConfig config);

      + Future<void> addInjectStreamUrl(String url, LiveInjectStreamConfig config); +

      - 客户端输入在线媒体流功能即将停服。如果你尚未集成该功能,声网建议你不要使用。详见部分服务下架计划 + 客户端输入在线媒体流功能即将停服。如果你尚未集成该功能,声网建议你不要使用。详见部分服务下架计划 -
        -
      • 请确保已开通旁路推流的功能,详见旁路推流中的前提条件。
      • -
      • 该方法适用于 Native SDK v2.4.1 及之后的版本。
      • -
      • 在直播场景中,只有角色为主播的用户才能调用该方法。
      • -
      • 频道内同一时间只允许输入一个在线媒体流。
      • -
      • 该方法需要在加入频道后调用。
      • -
      -

      该方法将正在播放的音视频作为音视频源导入到正在进行的直播中。可主要应用于赛事直播、多人看视频互动等直播场景。调用该方法后,SDK 会在本地触发 回调,报告输入在线媒体流的状态;成功输入媒体流后,该音视频流会出现在频道中,频道内所有用户都会收到 回调,其中 uid 为 666。

      +
        +
      • 请确保已开通旁路推流的功能,详见旁路推流中的前提条件。
      • +
      • 该方法适用于 Native SDK v2.4.1 及之后的版本。
      • +
      • 在直播场景中,只有角色为主播的用户才能调用该方法。
      • +
      • 频道内同一时间只允许输入一个在线媒体流。
      • +
      • 该方法需要在加入频道后调用。
      • +
      + +

      该方法将正在播放的音视频作为音视频源导入到正在进行的直播中。可主要应用于赛事直播、多人看视频互动等直播场景。调用该方法后,SDK 会在本地触发 + 回调,报告输入在线媒体流的状态;成功输入媒体流后,该音视频流会出现在频道中,频道内所有用户都会收到 + 回调,其中 uid 为 666。

      参数 - - url - -

      添加到直播中的视频流 URL 地址。支持 RTMP、HLS、HTTP-FLV 协议传输。 - -

        -
      • 支持的音频编码格式:AAC;
      • -
      • 支持的视频编码格式:H.264(AVC)。
      • -

      -
      -
      - - config - 所添加的视频流属性定义,详见: - -
      + + url + +

      添加到直播中的视频流 URL 地址。支持 RTMP、HLS、HTTP-FLV 协议传输。

        +
      • 支持的音频编码格式:AAC;
      • +
      • 支持的视频编码格式:H.264(AVC)。
      • +
      +

      +
      +
      + + config + 所添加的视频流属性定义,详见: + + +
      返回值
        -
      • 0: 方法调用成功
      • -
      • < 0: 方法调用失败 - -
          -
        • ERR_INVALID_ARGUMENT (2): 输入的 URL 为空。请重新调用该方法,并确认输入的媒体流的 URL 有效。
        • -
        • ERR_NOT_READY (3): 用户没有加入频道。
        • -
        • ERR_NOT_SUPPORTED (4): 频道非直播场景。请调用 并将频道设置为直播场景再调用该方法。
        • -
        • ERR_NOT_INITIALIZED (7): 引擎没有初始化。请确认调用该方法前已创建 对象并完成初始化。
        • -
      • -
      +
    • 0: 方法调用成功
    • +
    • < 0: 方法调用失败
        +
      • ERR_INVALID_ARGUMENT (2): 输入的 URL + 为空。请重新调用该方法,并确认输入的媒体流的 URL 有效。
      • +
      • ERR_NOT_READY (3): 用户没有加入频道。
      • +
      • ERR_NOT_SUPPORTED (4): 频道非直播场景。请调用 并将频道设置为直播场景再调用该方法。
      • +
      • ERR_NOT_INITIALIZED (7): 引擎没有初始化。请确认调用该方法前已创建 对象并完成初始化。
      • +
      +
    • +
    + diff --git a/dita/RTC/API/api_addpublishstreamurl.dita b/dita/RTC/API/api_addpublishstreamurl.dita index 1a8d4ff22c2..0a762c72219 100644 --- a/dita/RTC/API/api_addpublishstreamurl.dita +++ b/dita/RTC/API/api_addpublishstreamurl.dita @@ -1,8 +1,12 @@ - <ph keyref="addPublishStreamUrl"/> - 增加旁路推流地址。 + + <ph keyref="addPublishStreamUrl"/> + + + 增加旁路推流地址。 + @@ -13,62 +17,69 @@

    - public abstract int addPublishStreamUrl(String url, boolean transcodingEnabled); - - (int)addPublishStreamUrl:(NSString* _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled; - virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0; - addPublishStreamUrl(url: string, transcodingEnabled: boolean): number - public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); - addPublishStreamUrl(url: string, transcodingEnabled: boolean): Promise<void> - Future<void> addPublishStreamUrl(String url, bool transcodingEnabled);

    + public abstract int addPublishStreamUrl(String url, boolean transcodingEnabled); + - (int)addPublishStreamUrl:(NSString* _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled; + virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0; + addPublishStreamUrl(url: string, transcodingEnabled: boolean): number + public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); + addPublishStreamUrl(url: string, transcodingEnabled: boolean): Promise<void> + Future<void> addPublishStreamUrl(String url, bool transcodingEnabled); +

    - -
    弃用:
    -
    该方法已废弃。替代方案请参考 发版说明
    -
    该方法已废弃。
    -
    + +
    弃用:
    +
    该方法已废弃。替代方案请参考 发版说明 +
    +
    该方法已废弃。
    +
    -

    调用该方法后,你可以向 CDN 推送 RTMP 或 RTMPS 协议的媒体流。SDK 会在本地触发 回调,报告增加旁路推流地址的状态。

    +

    调用该方法后,你可以向 CDN 推送 RTMP 或 RTMPS 协议的媒体流。SDK 会在本地触发 回调,报告增加旁路推流地址的状态。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 请确保已开通旁路推流的功能。详见进阶功能旁路推流 中的前提条件。
    • -
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • -
    • 该方法每次只能增加一路旁路推流地址。若需推送多路流,则需多次调用该方法。
    • -
    • 声网目前仅支持转码时向 CDN 推送 RTMPS 协议的媒体流。
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 请确保已开通旁路推流的功能。详见进阶功能旁路推流 中的前提条件。
    • +
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • +
    • 该方法每次只能增加一路旁路推流地址。若需推送多路流,则需多次调用该方法。
    • +
    • 声网目前仅支持转码时向 CDN 推送 RTMPS 协议的媒体流。
    • +
    + +
    参数 - - url - 旁路推流地址,格式为 RTMP 或 RTMPS。该字符长度不能超过 1024 字节,不支持中文字符等特殊字符。 - - - transcodingEnabled - -

    是否转码。转码是指在旁路推流时对音视频流进行转码处理后再推送到其他 CDN 服务器。多适用于频道内有多个主播,需要进行混流、合图的场景。 - -

      -
    • : 转码。
    • -
    • : 不转码。
    • -

    - 如果该参数设为 ,需先调用 方法。
    -
    -
    + + url + 旁路推流地址,格式为 RTMP 或 RTMPS。该字符长度不能超过 1024 字节,不支持中文字符等特殊字符。 + + + transcodingEnabled + +

    是否转码。转码是指在旁路推流时对音视频流进行转码处理后再推送到其他 CDN 服务器。多适用于频道内有多个主播,需要进行混流、合图的场景。

      +
    • : 转码。
    • +
    • : 不转码。
    • +

    + 如果该参数设为 ,需先调用 + 方法。 +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • - < 0: 方法调用失败。 - - -
        -
      • -2: 参数无效,一般是 URL 为空或是长度为 0 的字符串。
      • -
      • -7: 推流时未初始化引擎。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -2: 参数无效,一般是 URL 为空或是长度为 0 的字符串。
    • +
    • -7: 推流时未初始化引擎。
    • +
    +
  • + +
    diff --git a/dita/RTC/API/api_addvideowatermark.dita b/dita/RTC/API/api_addvideowatermark.dita index b21508f8057..c2a7a4fbe0a 100644 --- a/dita/RTC/API/api_addvideowatermark.dita +++ b/dita/RTC/API/api_addvideowatermark.dita @@ -1,8 +1,12 @@ - <ph keyref="addVideoWatermark1"/> - 添加本地视频水印。 + + <ph keyref="addVideoWatermark1"/> + + + 添加本地视频水印。 + @@ -13,53 +17,50 @@

    - public abstract int addVideoWatermark(AgoraImage watermark); - - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark - virtual int addVideoWatermark(const RtcImage& watermark) = 0; - - public abstract int AddVideoWatermark(RtcImage watermark); - -

    + public abstract int addVideoWatermark(AgoraImage watermark); + - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark + virtual int addVideoWatermark(const RtcImage& watermark) = 0; + + public abstract int AddVideoWatermark(RtcImage watermark); + + +

    - -
    弃用:
    -
    - 该方法已废弃,请使用 - - 作为替代。 -
    -
    + +
    弃用:
    +
    该方法已废弃,请使用 作为替代。
    +
    -

    - 该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户,旁路推流观众,甚至采集设备都能看到或采集到该水印图片。如果你仅仅希望在旁路直播推流中添加水印,请参考 - - 中描述的用法。 -

    +

    该方法将一张 PNG + 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户,旁路推流观众,甚至采集设备都能看到或采集到该水印图片。如果你仅仅希望在旁路直播推流中添加水印,请参考 + 中描述的用法。

    -
      -
    • 在本地直播和旁路推流中,URL 的定义不同。本地直播中,URL 指本地直播视频上图片的本地绝对/相对路径;旁路推流中,URL 指旁路推流视频上图片的地址。
    • -
    • 待添加图片的源文件格式必须是 PNG。如果待添加的 PNG 图片的尺寸与你该方法中设置的尺寸不一致,SDK 会对 PNG 图片进行裁剪,以与设置相符。
    • -
    • 声网当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。
    • -
    +
      +
    • 在本地直播和旁路推流中,URL 的定义不同。本地直播中,URL 指本地直播视频上图片的本地绝对/相对路径;旁路推流中,URL + 指旁路推流视频上图片的地址。
    • +
    • 待添加图片的源文件格式必须是 PNG。如果待添加的 PNG 图片的尺寸与你该方法中设置的尺寸不一致,SDK 会对 PNG + 图片进行裁剪,以与设置相符。
    • +
    • 声网当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。
    • +
    + +
    参数 - - watermark - - 待添加在本地直播推流中的水印图片: - - 。 - - -
    + + watermark + 待添加在本地直播推流中的水印图片: + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_addvideowatermark2.dita b/dita/RTC/API/api_addvideowatermark2.dita index fca1ac16252..984caa9f299 100644 --- a/dita/RTC/API/api_addvideowatermark2.dita +++ b/dita/RTC/API/api_addvideowatermark2.dita @@ -13,54 +13,62 @@

    - public abstract int addVideoWatermark(String watermarkUrl, WatermarkOptions options); - - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options; - virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0; - addVideoWatermark(watermarkUrl: string, options: WatermarkOptions): number - public abstract int AddVideoWatermark(string watermarkUrl, WatermarkOptions options); - addVideoWatermark( + public abstract int addVideoWatermark(String watermarkUrl, WatermarkOptions options); + - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options; + virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0; + addVideoWatermark(watermarkUrl: string, options: WatermarkOptions): number + public abstract int AddVideoWatermark(string watermarkUrl, WatermarkOptions options); + addVideoWatermark( watermarkUrl: string, options: WatermarkOptions ): Promise<void> - Future<void> addVideoWatermark(String watermarkUrl, WatermarkOptions options);

    + Future<void> addVideoWatermark(String watermarkUrl, WatermarkOptions options); +

    该方法将一张 PNG 图片作为水印添加到本地发布的直播视频流上,同一直播频道中的用户、旁路直播观众和采集设备都能看到或采集到该水印图片。 - 声网当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。

    -

    水印坐标和 方法中的设置有依赖关系: - -

      -
    • 如果视频编码方向()固定为横屏或自适应模式下的横屏,那么水印使用横屏坐标。
    • -
    • 如果视频编码方向()固定为竖屏或自适应模式下的竖屏,那么水印使用竖屏坐标。
    • -
    • 设置水印坐标时,水印的图像区域不能超出 方法中设置的视频尺寸,否则超出部分将被裁剪。
    • -

    + 声网当前只支持在直播视频流中添加一个水印,后添加的水印会替换掉之前添加的水印。

    +

    水印坐标和 方法中的设置有依赖关系:

      +
    • 如果视频编码方向()固定为横屏或自适应模式下的横屏,那么水印使用横屏坐标。
    • +
    • 如果视频编码方向()固定为竖屏或自适应模式下的竖屏,那么水印使用竖屏坐标。
    • +
    • 设置水印坐标时,水印的图像区域不能超出 + 方法中设置的视频尺寸,否则超出部分将被裁剪。
    • +
    +

    -
      -
    • 你需要在调用 方法之后再调用该方法。
    • -
    • 如果你只是在旁路推流时添加水印,你可以使用该方法或 方法设置水印。
    • -
    • 待添加水印图片必须是 PNG 格式。该方法支持所有像素格式的 PNG 图片:RGBA、RGB、Palette、Gray 和 Alpha_gray。
    • -
    • 如果待添加的 PNG 图片的尺寸与你在该方法中设置的尺寸不一致,SDK 会对 PNG 图片进行缩放或裁剪,以与设置相符。
    • -
    • 如果你已经使用 方法开启本地视频预览,那么该方法的 visibleInPreview 可设置水印在预览时是否可见。
    • -
    • 如果你已设置本地视频为镜像模式,那么此处的本地水印也为镜像。为避免本地用户看本地视频时的水印也被镜像,声网建议你不要对本地视频同时使用镜像和水印功能,请在应用层实现本地水印功能。
    • -
    +
      +
    • 你需要在调用 方法之后再调用该方法。
    • +
    • 如果你只是在旁路推流时添加水印,你可以使用该方法或 方法设置水印。
    • +
    • 待添加水印图片必须是 PNG 格式。该方法支持所有像素格式的 PNG 图片:RGBA、RGB、Palette、Gray 和 + Alpha_gray。
    • +
    • 如果待添加的 PNG 图片的尺寸与你在该方法中设置的尺寸不一致,SDK 会对 PNG 图片进行缩放或裁剪,以与设置相符。
    • +
    • 如果你已经使用 方法开启本地视频预览,那么该方法的 + visibleInPreview 可设置水印在预览时是否可见。
    • +
    • 如果你已设置本地视频为镜像模式,那么此处的本地水印也为镜像。为避免本地用户看本地视频时的水印也被镜像,声网建议你不要对本地视频同时使用镜像和水印功能,请在应用层实现本地水印功能。
    • +
    + +
    参数 - - watermarkUrl - url - 待添加的水印图片的本地路径。该方法支持从本地绝对/相对路径添加水印图片。 - - - options - 待添加的水印图片的设置选项,详见 - -
    + + watermarkUrl + url + 待添加的水印图片的本地路径。该方法支持从本地绝对/相对路径添加水印图片。 + + + options + 待添加的水印图片的设置选项,详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_adjustaudiomixingplayoutvolume.dita b/dita/RTC/API/api_adjustaudiomixingplayoutvolume.dita index a27ee1b6bcd..c88822afa16 100644 --- a/dita/RTC/API/api_adjustaudiomixingplayoutvolume.dita +++ b/dita/RTC/API/api_adjustaudiomixingplayoutvolume.dita @@ -13,37 +13,40 @@

    - public abstract int adjustAudioMixingPlayoutVolume(int volume); - - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume; - virtual int adjustAudioMixingPlayoutVolume(int volume) = 0; - adjustAudioMixingPlayoutVolume(volume: number): number - public abstract int AdjustAudioMixingPlayoutVolume(int volume); - adjustAudioMixingPlayoutVolume(volume: number): Promise<void> - Future<void> adjustAudioMixingPlayoutVolume(int volume);

    + public abstract int adjustAudioMixingPlayoutVolume(int volume); + - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume; + virtual int adjustAudioMixingPlayoutVolume(int volume) = 0; + adjustAudioMixingPlayoutVolume(volume: number): number + public abstract int AdjustAudioMixingPlayoutVolume(int volume); + adjustAudioMixingPlayoutVolume(volume: number): Promise<void> + Future<void> adjustAudioMixingPlayoutVolume(int volume); +

    - -
    自从
    -
    v2.3.2
    -
    + +
    自从
    +
    v2.3.2
    +
    - - 你需要在调用 并收到 (PLAY) 回调后调用该方法。 -
    + 你需要在调用 并收到 (PLAY) 回调后调用该方法。 +
    参数 - - volume - 音乐文件音量范围为 [0,100]。100 (默认值)为原始文件音量。 - -
    + + volume + 音乐文件音量范围为 [0,100]。100 (默认值)为原始文件音量。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_adjustaudiomixingpublishvolume.dita b/dita/RTC/API/api_adjustaudiomixingpublishvolume.dita index 41e9484e657..061c6be80d9 100644 --- a/dita/RTC/API/api_adjustaudiomixingpublishvolume.dita +++ b/dita/RTC/API/api_adjustaudiomixingpublishvolume.dita @@ -13,39 +13,43 @@

    - public abstract int adjustAudioMixingPublishVolume(int volume); - - (int)adjustAudioMixingPublishVolume:(NSInteger)volume; - virtual int adjustAudioMixingPublishVolume(int volume) = 0; - adjustAudioMixingPublishVolume(volume: number): number - public abstract int AdjustAudioMixingPublishVolume(int volume); - adjustAudioMixingPublishVolume(volume: number): Promise<void> - Future<void> adjustAudioMixingPublishVolume(int volume);

    + public abstract int adjustAudioMixingPublishVolume(int volume); + - (int)adjustAudioMixingPublishVolume:(NSInteger)volume; + virtual int adjustAudioMixingPublishVolume(int volume) = 0; + adjustAudioMixingPublishVolume(volume: number): number + public abstract int AdjustAudioMixingPublishVolume(int volume); + adjustAudioMixingPublishVolume(volume: number): Promise<void> + Future<void> adjustAudioMixingPublishVolume(int volume); +

    - -
    自从
    -
    v2.3.2
    -
    + +
    自从
    +
    v2.3.2
    +

    该方法调节混音音乐文件在远端的播放音量大小。

    -

    你需要在调用 并收到 (PLAY) 回调后调用该方法。 -

    -
    +

    你需要在调用 并收到 (PLAY) 回调后调用该方法。

    + +
    参数 - - volume - 音乐文件音量。范围为 [0,100]。100 (默认值)为原始文件音量。 - -
    + + volume + 音乐文件音量。范围为 [0,100]。100 (默认值)为原始文件音量。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_adjustaudiomixingvolume.dita b/dita/RTC/API/api_adjustaudiomixingvolume.dita index ac24d590399..ead9235e4bb 100644 --- a/dita/RTC/API/api_adjustaudiomixingvolume.dita +++ b/dita/RTC/API/api_adjustaudiomixingvolume.dita @@ -13,35 +13,40 @@

    - public abstract int adjustAudioMixingVolume(int volume); - - (int)adjustAudioMixingVolume:(NSInteger)volume; - virtual int adjustAudioMixingVolume(int volume) = 0; - adjustAudioMixingVolume(volume: number): number - public abstract int AdjustAudioMixingVolume(int volume); - adjustAudioMixingVolume(volume: number): Promise<void> - Future<void> adjustAudioMixingVolume(int volume);

    + public abstract int adjustAudioMixingVolume(int volume); + - (int)adjustAudioMixingVolume:(NSInteger)volume; + virtual int adjustAudioMixingVolume(int volume) = 0; + adjustAudioMixingVolume(volume: number): number + public abstract int AdjustAudioMixingVolume(int volume); + adjustAudioMixingVolume(volume: number): Promise<void> + Future<void> adjustAudioMixingVolume(int volume); +

    该方法调节混音音乐文件在本端和远端的播放音量大小。

    -
      -
    • 该方法需要在 后调用。
    • -
    • 该方法需要在 后调用。
    • -
    • 调用该方法不影响调用 播放音效文件的音量。
    • -
    +
      +
    • 该方法需要在 后调用。
    • +
    • 该方法需要在 后调用。
    • +
    • 调用该方法不影响调用 播放音效文件的音量。
    • +
    + +
    参数 - - volume - 音乐文件音量范围为 0~100。100 (默认值)为原始文件音量。 - -
    + + volume + 音乐文件音量范围为 0~100。100 (默认值)为原始文件音量。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_adjustloopbackrecordingsignalvolume.dita b/dita/RTC/API/api_adjustloopbackrecordingsignalvolume.dita index 5addff11e1a..4cfd72a4573 100644 --- a/dita/RTC/API/api_adjustloopbackrecordingsignalvolume.dita +++ b/dita/RTC/API/api_adjustloopbackrecordingsignalvolume.dita @@ -13,14 +13,15 @@

    - - - (int)adjustLoopbackRecordingVolume:(NSInteger)volume; - virtual int adjustLoopbackRecordingVolume(int volume) = 0; + + - (int)adjustLoopbackRecordingVolume:(NSInteger)volume; + virtual int adjustLoopbackRecordingVolume(int volume) = 0; - - public abstract int AdjustLoopbackRecordingSignalVolume(int volume); - -

    + + public abstract int AdjustLoopbackRecordingSignalVolume(int volume); + + +

    调用 开启声卡采集后,你可以调用该方法调节声卡采集的信号音量。

    @@ -28,16 +29,18 @@
    参数 - - - - -
    + + + + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_adjustplaybacksignalvolume.dita b/dita/RTC/API/api_adjustplaybacksignalvolume.dita index ace8019c7a0..d7c9b387556 100644 --- a/dita/RTC/API/api_adjustplaybacksignalvolume.dita +++ b/dita/RTC/API/api_adjustplaybacksignalvolume.dita @@ -13,34 +13,42 @@

    - public abstract int adjustPlaybackSignalVolume(int volume); - - (int)adjustPlaybackSignalVolume:(NSInteger)volume; - virtual int adjustPlaybackSignalVolume(int volume) = 0; - adjustPlaybackSignalVolume(volume: number): number - public abstract int AdjustPlaybackSignalVolume(int volume); - adjustPlaybackSignalVolume(volume: number): Promise<void> - Future<void> adjustPlaybackSignalVolume(int volume);

    + public abstract int adjustPlaybackSignalVolume(int volume); + - (int)adjustPlaybackSignalVolume:(NSInteger)volume; + virtual int adjustPlaybackSignalVolume(int volume) = 0; + adjustPlaybackSignalVolume(volume: number): number + public abstract int AdjustPlaybackSignalVolume(int volume); + adjustPlaybackSignalVolume(volume: number): Promise<void> + Future<void> adjustPlaybackSignalVolume(int volume); +

    -
      -
    • 该方法调节的是本地播放的所有远端用户混音后的音量。
    • -
    • 从 v2.3.2 开始,静音本地音频需同时调用 方法,并将 volume 设置为 0
    • -
    • 该方法在加入频道前后都能调用。
    • -
    +
      +
    • 该方法调节的是本地播放的所有远端用户混音后的音量。
    • +
    • 从 v2.3.2 开始,静音本地音频需同时调用 方法,并将 volume + 设置为 0
    • +
    • 该方法在加入频道前后都能调用。
    • +
    + +
    参数 - - - - -
    + + + + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_adjustrecordingsignalvolume.dita b/dita/RTC/API/api_adjustrecordingsignalvolume.dita index 2e9a54517b7..19e930836f2 100644 --- a/dita/RTC/API/api_adjustrecordingsignalvolume.dita +++ b/dita/RTC/API/api_adjustrecordingsignalvolume.dita @@ -13,40 +13,41 @@

    - public abstract int adjustRecordingSignalVolume(int volume); - - (int)adjustRecordingSignalVolume:(NSInteger)volume; - virtual int adjustRecordingSignalVolume(int volume) = 0; - adjustRecordingSignalVolume(volume: number): number - public abstract int AdjustRecordingSignalVolume(int volume); - adjustRecordingSignalVolume(volume: number): Promise<void> - Future<void> adjustRecordingSignalVolume(int volume);

    + public abstract int adjustRecordingSignalVolume(int volume); + - (int)adjustRecordingSignalVolume:(NSInteger)volume; + virtual int adjustRecordingSignalVolume(int volume) = 0; + adjustRecordingSignalVolume(volume: number): number + public abstract int AdjustRecordingSignalVolume(int volume); + adjustRecordingSignalVolume(volume: number): Promise<void> + Future<void> adjustRecordingSignalVolume(int volume); +

    -

    该方法在加入频道前后都能调用。

    -
    +

    该方法在加入频道前后都能调用。

    + +
    参数 - - volume - -

    音量,取值范围为 [0,400]。 - - -

      -
    • 0: 静音。
    • -
    • 100: (默认)原始音量。
    • -
    • 400: 原始音量的 4 倍,自带溢出保护。
    • -

    -
    -
    -
    + + volume + +

    音量,取值范围为 [0,400]。

      +
    • 0: 静音。
    • +
    • 100: (默认)原始音量。
    • +
    • 400: 原始音量的 4 倍,自带溢出保护。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_adjustuserplaybacksignalvolume.dita b/dita/RTC/API/api_adjustuserplaybacksignalvolume.dita index e58c8d7ce8b..f0c73fc3674 100644 --- a/dita/RTC/API/api_adjustuserplaybacksignalvolume.dita +++ b/dita/RTC/API/api_adjustuserplaybacksignalvolume.dita @@ -13,44 +13,49 @@

    - public abstract int adjustUserPlaybackSignalVolume(int uid, int volume); - - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume; - virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0; - adjustUserPlaybackSignalVolume(uid: number, volume: number): number - public abstract int AdjustUserPlaybackSignalVolume(uint uid, int volume); - adjustUserPlaybackSignalVolume(uid: number, volume: number): Promise<void> - Future<void> adjustUserPlaybackSignalVolume(int uid, int volume);

    + public abstract int adjustUserPlaybackSignalVolume(int uid, int volume); + - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume; + virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0; + adjustUserPlaybackSignalVolume(uid: number, volume: number): number + public abstract int AdjustUserPlaybackSignalVolume(uint uid, int volume); + adjustUserPlaybackSignalVolume(uid: number, volume: number): Promise<void> + Future<void> adjustUserPlaybackSignalVolume(int uid, int volume); +

    - -
    自从
    -
    v3.0.0
    -
    + +
    自从
    +
    v3.0.0
    +

    你可以在通话中调用该方法调节指定远端用户在本地播放的音量。如需调节多个用户在本地播放的音量,则需多次调用该方法。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法调节的是本地播放的指定远端用户混音后的音量。
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 该方法调节的是本地播放的指定远端用户混音后的音量。
    • +
    + +
    参数 - - uid - 远端用户 ID。 - - - - - -
    + + uid + 远端用户 ID。 + + + + + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_agoravideoencoderconfiguration_initwithsize.dita b/dita/RTC/API/api_agoravideoencoderconfiguration_initwithsize.dita index b8f9047200c..fd6f993bf59 100644 --- a/dita/RTC/API/api_agoravideoencoderconfiguration_initwithsize.dita +++ b/dita/RTC/API/api_agoravideoencoderconfiguration_initwithsize.dita @@ -2,7 +2,8 @@ <ph keyref="initWithSize"/> - 指定视频分辨率并初始化一个 对象。 + 指定视频分辨率并初始化一个 对象。 @@ -13,38 +14,42 @@

    - - (instancetype _Nonnull)initWithSize:(CGSize)size + - (instancetype _Nonnull)initWithSize:(CGSize)size frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode - mirrorMode:(AgoraVideoMirrorMode)mirrorMode;

    + mirrorMode:(AgoraVideoMirrorMode)mirrorMode; +

    - - (instancetype _Nonnull)initWithSize:(CGSize)size frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode;

    + - (instancetype _Nonnull)initWithSize:(CGSize)size frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode; +

    参数 - - size - 视频分辨率。 - - - frameRate - 视频帧率。详见 - - - bitrate - 视频码率。 - - - orientationMode - 视频方向。详见 - - - mirrorMode - 发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 - -
    + + size + 视频分辨率。 + + + frameRate + 视频帧率。详见 + + + bitrate + 视频码率。 + + + orientationMode + 视频方向。详见 + + + mirrorMode + 发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 + + +
    返回值

    初始化的 对象。

    diff --git a/dita/RTC/API/api_agoravideoencoderconfiguration_initwithwidth.dita b/dita/RTC/API/api_agoravideoencoderconfiguration_initwithwidth.dita index ba9f38ee2f9..a344260293d 100644 --- a/dita/RTC/API/api_agoravideoencoderconfiguration_initwithwidth.dita +++ b/dita/RTC/API/api_agoravideoencoderconfiguration_initwithwidth.dita @@ -2,7 +2,8 @@ <ph keyref="initWithWidth"/> - 指定视频宽和高并初始化一个 对象。 + 指定视频宽和高并初始化一个 对象。 @@ -13,43 +14,47 @@

    - - (instancetype _Nonnull)initWithWidth:(NSInteger)width + - (instancetype _Nonnull)initWithWidth:(NSInteger)width height:(NSInteger)height frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode - mirrorMode:(AgoraVideoMirrorMode)mirrorMode;

    + mirrorMode:(AgoraVideoMirrorMode)mirrorMode; +

    - - (instancetype _Nonnull)initWithWidth:(NSInteger)width height:(NSInteger)height frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode;

    + - (instancetype _Nonnull)initWithWidth:(NSInteger)width height:(NSInteger)height frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode; +

    参数 - - width - 视频宽度。 - - - height - 视频高度。 - - - frameRate - 视频帧率。详见 - - - bitrate - 视频码率。 - - - orientationMode - 视频方向。详见 - - - mirrorMode - 发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 - -
    + + width + 视频宽度。 + + + height + 视频高度。 + + + frameRate + 视频帧率。详见 + + + bitrate + 视频码率。 + + + orientationMode + 视频方向。详见 + + + mirrorMode + 发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 + + +
    返回值

    初始化的 对象。

    diff --git a/dita/RTC/API/api_clearvideowatermarks.dita b/dita/RTC/API/api_clearvideowatermarks.dita index e5ad92d061c..1c72cc7dd59 100644 --- a/dita/RTC/API/api_clearvideowatermarks.dita +++ b/dita/RTC/API/api_clearvideowatermarks.dita @@ -13,19 +13,21 @@

    - public abstract int clearVideoWatermarks(); - - (int)clearVideoWatermarks; - virtual int clearVideoWatermarks() = 0; - clearVideoWatermarks(): number - public abstract int ClearVideoWatermarks(); - - Future<void> clearVideoWatermarks();

    + public abstract int clearVideoWatermarks(); + - (int)clearVideoWatermarks; + virtual int clearVideoWatermarks() = 0; + clearVideoWatermarks(): number + public abstract int ClearVideoWatermarks(); + + Future<void> clearVideoWatermarks(); +

    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_complain.dita b/dita/RTC/API/api_complain.dita index 111d6ad9f91..fb5cc4ba813 100644 --- a/dita/RTC/API/api_complain.dita +++ b/dita/RTC/API/api_complain.dita @@ -13,14 +13,15 @@

    - public abstract int complain(String callId, String description); - - (int)complain:(NSString * _Nonnull)callId + public abstract int complain(String callId, String description); + - (int)complain:(NSString * _Nonnull)callId description:(NSString * _Nullable)description; - virtual int complain(const char* callId, const char* description) = 0; - complain(callId: string, description: string): number - public abstract int Complain(string callId, string description); - - Future<void> complain(String callId, String description);

    + virtual int complain(const char* callId, const char* description) = 0; + complain(callId: string, description: string): number + public abstract int Complain(string callId, string description); + + Future<void> complain(String callId, String description); +

    该方法允许用户就通话质量进行投诉。需要在离开频道后调用。

    @@ -28,26 +29,25 @@
    参数 - - callId - 通话 ID。你可以通过调用 获取该参数。 - - - description - (非必选项)给通话的描述。长度应小于 800 字节。 - -
    + + callId + 通话 ID。你可以通过调用 获取该参数。 + + + description + (非必选项)给通话的描述。长度应小于 800 字节。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - -
        -
      • -2(ERR_INVALID_ARGUMENT)。
      • -
      • -3(ERR_NOT_READY)。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -2(ERR_INVALID_ARGUMENT)。
    • +
    • -3(ERR_NOT_READY)。
    • +
  • + +
    diff --git a/dita/RTC/API/api_configrhythmplayer.dita b/dita/RTC/API/api_configrhythmplayer.dita index 68ddc713fb6..c0129016713 100644 --- a/dita/RTC/API/api_configrhythmplayer.dita +++ b/dita/RTC/API/api_configrhythmplayer.dita @@ -13,36 +13,40 @@

    - public int configRhythmPlayer(AgoraRhythmPlayerConfig config); - - (int)configRhythmPlayer:(AgoraRtcRhythmPlayerConfig* _Nonnull)config; - - - - - Future<void> configRhythmPlayer(RhythmPlayerConfig config);

    + public int configRhythmPlayer(AgoraRhythmPlayerConfig config); + - (int)configRhythmPlayer:(AgoraRtcRhythmPlayerConfig* _Nonnull)config; + + + + + Future<void> configRhythmPlayer(RhythmPlayerConfig config); +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +

    调用 后,你可以调用该方法重新配置虚拟节拍器。

    -
    + +
    参数 - - config - 节拍器配置。详见 - -
    + + config + 节拍器配置。详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_consumerawvideoframe.dita b/dita/RTC/API/api_consumerawvideoframe.dita index 746aaa8b3d9..96b6d223f34 100644 --- a/dita/RTC/API/api_consumerawvideoframe.dita +++ b/dita/RTC/API/api_consumerawvideoframe.dita @@ -13,50 +13,53 @@

    - - - virtual void consumeRawVideoFrame(const unsigned char *buffer, + + + virtual void consumeRawVideoFrame(const unsigned char *buffer, agora::media::ExternalVideoFrame::VIDEO_PIXEL_FORMAT frameType, int width, int height, int rotation, long timestamp) = 0; - - - -

    + + + + +

    请确保在该方法中指定的视频帧类型和你在 - 回调中指定的视频帧类型一致。
    + 回调中指定的视频帧类型一致。 +
    参数 - - buffer - 视频 buffer。 - - - frameType - 视频帧类型。详见 - - - width - 视频帧的宽度(px)。 - - - height - 视频帧的高度(px)。 - - - rotation - 视频帧顺时针旋转的角度。如果设置了旋转角度,视频帧发送给 SDK 后,SDK 会对视频图像进行旋转。 取值可为 0 度、90 度、180 度和 270 - 度。 - - - timestamp - 视频帧的 Unix 时间戳(毫秒)。你必须为每一帧视频帧设置一个时间戳。 - -
    + + buffer + 视频 buffer。 + + + frameType + 视频帧类型。详见 + + + width + 视频帧的宽度(px)。 + + + height + 视频帧的高度(px)。 + + + rotation + 视频帧顺时针旋转的角度。如果设置了旋转角度,视频帧发送给 SDK 后,SDK 会对视频图像进行旋转。 取值可为 0 度、90 度、180 度和 270 + 度。 + + + timestamp + 视频帧的 Unix 时间戳(毫秒)。你必须为每一帧视频帧设置一个时间戳。 + + +
    diff --git a/dita/RTC/API/api_create.dita b/dita/RTC/API/api_create.dita index 6dba46cb453..3b85ae9ed02 100644 --- a/dita/RTC/API/api_create.dita +++ b/dita/RTC/API/api_create.dita @@ -13,57 +13,64 @@

    - public static synchronized RtcEngine create( + public static synchronized RtcEngine create( Context context, String appId, IRtcEngineEventHandler handler) throws Exception {} - + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId + + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; - - - - -

    + + + + + +

    类的所有接口函数,如无特殊说明,都是异步调用,对接口的调用建议在同一个线程进行。

    -
      -
    • 请确保在调用其他 API 前先调用该方法创建并初始化
    • -
    • 调用该方法和 均能创建 实例。该方法与 的区别在于, 支持在创建 实例时进行更多配置,如指定访问区域、设置日志文件等。
    • -
    • SDK 只支持每个 app 创建一个 实例。 -
    • -
    +
      +
    • 请确保在调用其他 API 前先调用该方法创建并初始化
    • +
    • 调用该方法和 均能创建 实例。该方法与 + 的区别在于, 支持在创建 + 实例时进行更多配置,如指定访问区域、设置日志文件等。
    • +
    • SDK 只支持每个 app 创建一个 实例。
    • +
    + +
    参数 - - context - - - - appId - - - - handler - delegate - 的事件句柄,详见 。 - - -
    + + context + + + + appId + + + + handler + delegate + 的事件句柄,详见 + + +
    返回值
      -
    • 方法调用成功,返回一个 对象。
    • -
    • 方法调用失败,返回错误码。
    • -
    +
  • 方法调用成功,返回一个 对象。
  • +
  • 方法调用失败,返回错误码。
  • + +
    异常 - - Exception - 调用该方法时可能会发生的异常说明。 - -
    + + Exception + 调用该方法时可能会发生的异常说明。 + + +
    diff --git a/dita/RTC/API/api_create2.dita b/dita/RTC/API/api_create2.dita index 7a52dbe2b32..f30b0165470 100644 --- a/dita/RTC/API/api_create2.dita +++ b/dita/RTC/API/api_create2.dita @@ -2,7 +2,9 @@ <ph keyref="create2"/> - 创建并初始化 初始化 + 创建并初始化 初始化 @@ -13,56 +15,63 @@

    - public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} + public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} - + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config + + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; - virtual int initialize(const RtcEngineContext& context) = 0; - initializeWithContext(context: RtcEngineContext): number - public abstract int Initialize(RtcEngineContext context); - - static Future<RtcEngine> createWithContext(RtcEngineContext config) async { + virtual int initialize(const RtcEngineContext& context) = 0; + initializeWithContext(context: RtcEngineContext): number + public abstract int Initialize(RtcEngineContext context); + + static Future<RtcEngine> createWithContext(RtcEngineContext config) async { return RtcEngineImpl.createWithContext(config); - }

    + } +

    类的所有接口函数,如无特殊说明,都是异步调用,对接口的调用建议在同一个线程进行。

    -
      -
    • 请确保在调用其他 API 前先调用 创建并初始化
    • -
    • 请确保在调用其他 API 前先调用该方法创建并初始化
    • -
    • 调用该方法和 均能创建 实例。该方法与 的 区别在于,该方法支持在创建 实例时进行更多配置,如指定访问区域、设置日志文件等。
    • -
    • SDK 只支持每个 app 创建一个 实例。
    • -
    +
      +
    • 请确保在调用其他 API 前先调用 + 和 创建并初始化
    • +
    • 请确保在调用其他 API 前先调用该方法创建并初始化
    • +
    • 调用该方法和 均能创建 + 实例。该方法与 的 + 区别在于,该方法支持在创建 实例时进行更多配置,如指定访问区域、设置日志文件等。
    • +
    • SDK 只支持每个 app 创建一个 实例。
    • +
    + +
    参数 - - context - config - -

    实例的配置。详见

    -
    -
    - - delegate - - -
    + + context + config + +

    实例的配置。详见

    +
    +
    + + delegate + + + +
    返回值
      -
    • 0(ERR_OK): 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - -
        -
      • -1(ERR_FAILED): 一般性的错误(未明确归类)。
      • -
      • -2(ERR_INVALID_ARGUMENT): 设置了无效的参数。
      • -
      • -7(ERR_NOT_INITIALIZED): SDK 初始化失败。
      • -
      • -22(ERR_RESOURCE_LIMITED): 资源申请失败。当 app 占用资源过多,或系统资源耗尽时,SDK 分配资源失败,会返回该错误。
      • -
      • -101(ERR_INVALID_ID): App ID 无效。
      • -
    • +
    • 0(ERR_OK): 方法调用成功。
    • +
    • < 0: 方法调用失败。
        +
      • -1(ERR_FAILED): 一般性的错误(未明确归类)。
      • +
      • -2(ERR_INVALID_ARGUMENT): 设置了无效的参数。
      • +
      • -7(ERR_NOT_INITIALIZED): SDK 初始化失败。
      • +
      • -22(ERR_RESOURCE_LIMITED): 资源申请失败。当 app 占用资源过多,或系统资源耗尽时,SDK + 分配资源失败,会返回该错误。
      • +
      • -101(ERR_INVALID_ID): App ID 无效。
      • +
    diff --git a/dita/RTC/API/api_createagorartcengine.dita b/dita/RTC/API/api_createagorartcengine.dita index 6961d882bfc..ee2be934980 100644 --- a/dita/RTC/API/api_createagorartcengine.dita +++ b/dita/RTC/API/api_createagorartcengine.dita @@ -14,37 +14,43 @@

    - - - AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine () - - public static IAgoraRtcEngine CreateAgoraRtcEngine(AgoraEngineType engineType = AgoraEngineType.MainProcess) - - static Future<RtcEngine> create(String appId)

    + + + AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine () + + public static IAgoraRtcEngine CreateAgoraRtcEngine(AgoraEngineType engineType = AgoraEngineType.MainProcess) + + static Future<RtcEngine> create(String appId) +

    该方法已废弃,请改用

    -

    目前声网 RTC Native SDK 只支持每个 app 创建一个 对象。

    -

    SDK 默认使用主进程创建 。如果场景中涉及同时发送摄像头和桌面共享两路视频流,可以调用该方法分别创建 两个 对象。其中主进程为集成了 的进程,子进程为 AgoraRtcScreenSharing.exe。 -

    +

    目前声网 RTC Native SDK 只支持每个 app 创建一个 + 对象。

    +

    SDK 默认使用主进程创建 。如果场景中涉及同时发送摄像头和桌面共享两路视频流,可以调用该方法分别创建 两个 对象。其中主进程为集成了 的进程,子进程为 AgoraRtcScreenSharing.exe

    参数 - - appId - 你的声网项目的 App ID。 - - - engineType - AgoraRtcEngine 的进程类型,详见 - -
    + + appId + 你的声网项目的 App ID。 + + + engineType + AgoraRtcEngine 的进程类型,详见 + + +
    返回值
      -
    • 方法调用成功,返回一个 对象。
    • -
    • 方法调用失败,返回错误码。
    • -
    +
  • 方法调用成功,返回一个 对象。
  • +
  • 方法调用失败,返回错误码。
  • + +
    diff --git a/dita/RTC/API/api_createdatastream.dita b/dita/RTC/API/api_createdatastream.dita index d0fefb6cfbc..a6539fa5c88 100644 --- a/dita/RTC/API/api_createdatastream.dita +++ b/dita/RTC/API/api_createdatastream.dita @@ -13,59 +13,65 @@

    - public abstract int createDataStream(boolean reliable, boolean ordered); - - (int)createDataStream:(NSInteger * _Nonnull)streamId + public abstract int createDataStream(boolean reliable, boolean ordered); + - (int)createDataStream:(NSInteger * _Nonnull)streamId reliable:(BOOL)reliable ordered:(BOOL)ordered; - virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; - createDataStream(reliable: boolean, ordered: boolean): number - public abstract int CreateDataStream(bool reliable, bool ordered); - - Future<int?> createDataStream(bool reliable, bool ordered);

    + virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; + createDataStream(reliable: boolean, ordered: boolean): number + public abstract int CreateDataStream(bool reliable, bool ordered); + + Future<int?> createDataStream(bool reliable, bool ordered); +

    - -
    弃用:
    -
    该方法从 v3.3.0 起废弃。请改用
    -
    + +
    弃用:
    +
    该方法从 v3.3.0 起废弃。请改用
    +

    生命周期内,每个用户最多只能创建 5 个数据流。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 不可将 reliable 设为 且将 ordered 设为
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 不可将 reliable 设为 且将 + ordered 设为
    • +
    + +
    参数 - - streamId - 输出参数,数据流 ID。 - - - reliable - -

    该数据流是否可靠: - -

      -
    • : 接收方 5 秒内会收到发送方所发送的数据,否则会收到 回调并获得相应报错信息。
    • -
    • : 接收方不保证收到,就算数据丢失也不会报错。
    • -

    -
    -
    - - ordered - -

    该数据流是否有序: - -

      -
    • : 接收方会按照发送方发送的顺序收到数据包。
    • -
    • : 接收方不保证按照发送方发送的顺序收到数据包。
    • -

    -
    -
    -
    -
    + + streamId + 输出参数,数据流 ID。 + + + reliable + +

    该数据流是否可靠:

      +
    • : 接收方 5 秒内会收到发送方所发送的数据,否则会收到 + 回调并获得相应报错信息。
    • +
    • : + 接收方不保证收到,就算数据丢失也不会报错。
    • +

    +
    +
    + + ordered + +

    该数据流是否有序:

      +
    • : 接收方会按照发送方发送的顺序收到数据包。
    • +
    • : + 接收方不保证按照发送方发送的顺序收到数据包。
    • +

    +
    +
    + +
    +
    diff --git a/dita/RTC/API/api_createdatastream2.dita b/dita/RTC/API/api_createdatastream2.dita index 92fa851e9d9..0d70ed7b5d6 100644 --- a/dita/RTC/API/api_createdatastream2.dita +++ b/dita/RTC/API/api_createdatastream2.dita @@ -13,22 +13,23 @@

    - public abstract int createDataStream(DataStreamConfig config); - - (int)createDataStream:(NSInteger * _Nonnull)streamId + public abstract int createDataStream(DataStreamConfig config); + - (int)createDataStream:(NSInteger * _Nonnull)streamId config:(AgoraDataStreamConfig * _Nonnull)config; - virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; + virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; - createDataStreamWithConfig(config: DataStreamConfig): number - public abstract int CreateDataStream(DataStreamConfig config); - - Future<int?> createDataStreamWithConfig(DataStreamConfig config);

    + createDataStreamWithConfig(config: DataStreamConfig): number + public abstract int CreateDataStream(DataStreamConfig config); + + Future<int?> createDataStreamWithConfig(DataStreamConfig config); +

    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +

    该方法用于创建数据流。每个用户在每个频道中最多只能创建 5 个数据流。

    相比 ,该方法不支持数据可靠。接收方会丢弃超出发送时间 5 秒后的数据包。

    @@ -36,21 +37,24 @@
    参数 - - streamId - 输出参数,数据流 ID。 - - - config - 数据流设置。详见 - -
    + + streamId + 输出参数,数据流 ID。 + + + config + 数据流设置。详见 + + +
    返回值
      -
    • 0: 创建数据流成功。
    • -
    • 创建的数据流的 ID:方法调用成功。
    • -
    • < 0:方法调用失败。你可以参考错误码和警告码进行问题排查。
    • -
    +
  • 0: 创建数据流成功。
  • +
  • 创建的数据流的 ID:方法调用成功。
  • +
  • < 0:方法调用失败。你可以参考错误码和警告码进行问题排查。
  • + +
    diff --git a/dita/RTC/API/api_createrendererview.dita b/dita/RTC/API/api_createrendererview.dita index a8fd44b4f95..efa0946fb4c 100644 --- a/dita/RTC/API/api_createrendererview.dita +++ b/dita/RTC/API/api_createrendererview.dita @@ -13,36 +13,39 @@

    - public static SurfaceView CreateRendererView(Context context) { + public static SurfaceView CreateRendererView(Context context) { return new SurfaceView(context); - - - - - -

    + + + + + + +

    - -
    弃用:
    -
    此方法已废弃。
    -
    + +
    弃用:
    +
    此方法已废弃。
    +
    -

    该方法创建视频 RendererView,返回 SurfaceView 的类型。 View 的操作和布局由 app 管理,声网 SDK 在 app 提供的 View 上进行渲染。 显示视频视图必须调用该方法,而不是直接调用 SurfaceView。

    -

    如果你需要使用 SurfaceView,请调用本方法;如果你需要使用 TextureView,请调用 方法。详见 TextureView 和 SurfaceView 的区别选择 SurfaceView 或 TextureView。 - - - 请在主线程调用该方法。

    +

    该方法创建视频 RendererView,返回 SurfaceView 的类型。 View 的操作和布局由 app 管理,声网 SDK 在 app 提供的 View + 上进行渲染。 显示视频视图必须调用该方法,而不是直接调用 SurfaceView。

    +

    如果你需要使用 SurfaceView,请调用本方法;如果你需要使用 TextureView,请调用 + 方法。详见 TextureView 和 SurfaceView 的区别 和 + 选择 SurfaceView 或 TextureView请在主线程调用该方法。

    参数 - - context - 安卓活动 (Android Activity) 的上下文。 - -
    + + context + 安卓活动 (Android Activity) 的上下文。 + + +
    返回值

    SurfaceView

    diff --git a/dita/RTC/API/api_createtextureview.dita b/dita/RTC/API/api_createtextureview.dita index c06462e06c5..a9c6d97895a 100644 --- a/dita/RTC/API/api_createtextureview.dita +++ b/dita/RTC/API/api_createtextureview.dita @@ -13,35 +13,39 @@

    - public static TextureView CreateTextureView(Context context) { + public static TextureView CreateTextureView(Context context) { return new TextureView(context); - - - - - -

    + + + + + + +

    - -
    弃用:
    -
    此方法已废弃。
    -
    + +
    弃用:
    +
    此方法已废弃。
    +
    -

    该方法创建 TextureView,适用于需要对视频画面进行缩放、旋转和平移的场景,如屏幕共享。View 的操作和布局由 app 管理,SDK 仅在 app 提供的 View 上进行渲染。

    -

    如果你需要使用 TextureView,请调用本方法;如果你需要使用 SurfaceView,请调用 方法。详见 TextureView 和 SurfaceView 的区别选择 SurfaceView 或 TextureView。 - - 请在主线程调用该方法。

    +

    该方法创建 TextureView,适用于需要对视频画面进行缩放、旋转和平移的场景,如屏幕共享。View 的操作和布局由 app 管理,SDK 仅在 app 提供的 + View 上进行渲染。

    +

    如果你需要使用 TextureView,请调用本方法;如果你需要使用 SurfaceView,请调用 方法。详见 TextureView 和 SurfaceView 的区别 + 和 选择 SurfaceView 或 TextureView请在主线程调用该方法。

    参数 - - context - 安卓活动 (Android Activity) 的上下文。 - -
    + + context + 安卓活动 (Android Activity) 的上下文。 + + +
    返回值

    TextureView

    diff --git a/dita/RTC/API/api_createwithareacode.dita b/dita/RTC/API/api_createwithareacode.dita index ce0943ba161..0adf19af653 100644 --- a/dita/RTC/API/api_createwithareacode.dita +++ b/dita/RTC/API/api_createwithareacode.dita @@ -14,42 +14,45 @@

    - - - - - - - static Future<RtcEngine> createWithAreaCode( + + + + + + + static Future<RtcEngine> createWithAreaCode( String appId, List<AreaCode> areaCode) { return createWithContext(RtcEngineContext(appId, areaCode: areaCode)); - }

    + } +

    - -
    废弃:
    -
    请改用
    -
    + +
    废弃:
    +
    请改用
    +
    参数 - - appId - 你的声网项目的 App ID。 - - - areaCode - 区域代码。详见 - -
    + + appId + 你的声网项目的 App ID。 + + + areaCode + 区域代码。详见 + + +
    返回值
      -
    • 方法调用成功,返回一个 对象。
    • -
    • 方法调用失败,返回错误码。
    • -
    +
  • 方法调用成功,返回一个 对象。
  • +
  • 方法调用失败,返回错误码。
  • + +
    diff --git a/dita/RTC/API/api_createwithconfig.dita b/dita/RTC/API/api_createwithconfig.dita index ce2abb01d5c..900c62ca08c 100644 --- a/dita/RTC/API/api_createwithconfig.dita +++ b/dita/RTC/API/api_createwithconfig.dita @@ -13,37 +13,40 @@

    - - - - - - - static Future<RtcEngine> createWithConfig(RtcEngineConfig config) async { + + + + + + + static Future<RtcEngine> createWithConfig(RtcEngineConfig config) async { return createWithContext(config); - }

    + } +

    - -
    废弃:
    -
    请改用
    -
    + +
    废弃:
    +
    请改用
    +
    参数 - - - - -
    + + + + + +
    返回值
      -
    • 方法调用成功,返回一个 对象。
    • -
    • 方法调用失败,返回错误码。
    • -
    +
  • 方法调用成功,返回一个 对象。
  • +
  • 方法调用失败,返回错误码。
  • + +
    diff --git a/dita/RTC/API/api_delegate.dita b/dita/RTC/API/api_delegate.dita index dcf088d041f..d31184f6d9b 100644 --- a/dita/RTC/API/api_delegate.dita +++ b/dita/RTC/API/api_delegate.dita @@ -2,7 +2,8 @@ <ph keyref="delegate"/> - 设置并获得 + 设置并获得 @@ -13,13 +14,14 @@

    - - @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate; - - - - -

    + + @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate; + + + + + +

    SDK 通过 类向 app 报告 SDK diff --git a/dita/RTC/API/api_destroyrenderer.dita b/dita/RTC/API/api_destroyrenderer.dita index 86999f1e4c8..7e9d8b4838b 100644 --- a/dita/RTC/API/api_destroyrenderer.dita +++ b/dita/RTC/API/api_destroyrenderer.dita @@ -13,13 +13,14 @@

    - - - - destroyRenderer(user: User): void - - -

    + + + + destroyRenderer(user: User): void + + + +

    调用 后,你可以调用本方法销毁视频渲染。

    @@ -27,10 +28,11 @@
    参数 - - user - 视频所属的用户,详见 - -
    + + user + 视频所属的用户,详见 + + +
    diff --git a/dita/RTC/API/api_devicemanager.dita b/dita/RTC/API/api_devicemanager.dita index 3d351a35d1d..617c3a72a78 100644 --- a/dita/RTC/API/api_devicemanager.dita +++ b/dita/RTC/API/api_devicemanager.dita @@ -2,7 +2,8 @@ <ph keyref="deviceManager"/> - 获取 类。 + 获取 + 类。 @@ -13,13 +14,14 @@

    - - - - - - - RtcDeviceManager get deviceManager

    + + + + + + + RtcDeviceManager get deviceManager +

    返回值 diff --git a/dita/RTC/API/api_disableaudio.dita b/dita/RTC/API/api_disableaudio.dita index dc6b4d2502b..2d2bb72655a 100644 --- a/dita/RTC/API/api_disableaudio.dita +++ b/dita/RTC/API/api_disableaudio.dita @@ -13,33 +13,33 @@

    - public abstract int disableAudio(); - - (int)disableAudio; - virtual int disableAudio() = 0; - disableAudio(): number - public abstract int DisableAudio(); - - Future<void> disableAudio();

    + public abstract int disableAudio(); + - (int)disableAudio; + virtual int disableAudio() = 0; + disableAudio(): number + public abstract int DisableAudio(); + + Future<void> disableAudio(); +

    -
      -
    • 该方法设置内部引擎为禁用状态,在频道内和频道外均可调用。离开频道后仍然有效。
    • -
    • 该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制音频模块: - -
        -
      • : 是否启动麦克风采集并创建本地音频流。
      • -
      • : 是否发布本地音频流。
      • -
      • : 是否接收并播放远端音频流。
      • -
      • : 是否接收并播放所有远端音频流。
      • -
    • -
    +
  • 该方法设置内部引擎为禁用状态,在频道内和频道外均可调用。离开频道后仍然有效。
  • +
  • 该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制音频模块:
      +
    • : 是否启动麦克风采集并创建本地音频流。
    • +
    • : 是否发布本地音频流。
    • +
    • : 是否接收并播放远端音频流。
    • +
    • : 是否接收并播放所有远端音频流。
    • +
  • + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_disablelastmiletest.dita b/dita/RTC/API/api_disablelastmiletest.dita index 9786cb09d79..f860f496e02 100644 --- a/dita/RTC/API/api_disablelastmiletest.dita +++ b/dita/RTC/API/api_disablelastmiletest.dita @@ -13,19 +13,21 @@

    - - - virtual int disableLastmileTest() = 0; - disableLastmileTest(): number - public abstract int DisableLastmileTest(); - - Future<void> disableLastmileTest();

    + + + virtual int disableLastmileTest() = 0; + disableLastmileTest(): number + public abstract int DisableLastmileTest(); + + Future<void> disableLastmileTest(); +

    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_disablevideo.dita b/dita/RTC/API/api_disablevideo.dita index 3e1929b45dc..778fe473cb4 100644 --- a/dita/RTC/API/api_disablevideo.dita +++ b/dita/RTC/API/api_disablevideo.dita @@ -13,35 +13,37 @@

    - public abstract int disableVideo(); - - (int)disableVideo; - virtual int disableVideo() = 0; - disableVideo(): number - public abstract int DisableVideo(); - - Future<void> disableVideo();

    + public abstract int disableVideo(); + - (int)disableVideo; + virtual int disableVideo() = 0; + disableVideo(): number + public abstract int DisableVideo(); + + Future<void> disableVideo(); +

    -

    该方法用于关闭视频模块,可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频模式。 调用 方法可开启视频模式。

    -

    成功调用该方法后,远端会触发 () 回调。

    +

    该方法用于关闭视频模块,可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频模式。 调用 方法可开启视频模式。

    +

    成功调用该方法后,远端会触发 () 回调。

    -
      -
    • 该方法设置的是内部引擎为禁用状态,在离开频道后仍然有效。
    • -
    • 该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制视频模块: - -
        -
      • : 是否启动摄像头采集并创建本地视频流。
      • -
      • : 是否发布本地视频流。
      • -
      • : 是否接收并播放远端视频流。
      • -
      • : 是否接收并播放所有远端视频流。
      • -
    • -
    +
  • 该方法设置的是内部引擎为禁用状态,在离开频道后仍然有效。
  • +
  • 该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制视频模块:
      +
    • : 是否启动摄像头采集并创建本地视频流。
    • +
    • : 是否发布本地视频流。
    • +
    • : 是否接收并播放远端视频流。
    • +
    • : 是否接收并播放所有远端视频流。
    • +
  • + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_enableaudio.dita b/dita/RTC/API/api_enableaudio.dita index 6fe43e54798..9cf6604df86 100644 --- a/dita/RTC/API/api_enableaudio.dita +++ b/dita/RTC/API/api_enableaudio.dita @@ -13,34 +13,34 @@

    - public abstract int enableAudio(); - - (int)enableAudio; - virtual int enableAudio() = 0; - enableAudio(): number - public abstract int EnableAudio(); - - Future<void> enableAudio();

    + public abstract int enableAudio(); + - (int)enableAudio; + virtual int enableAudio() = 0; + enableAudio(): number + public abstract int EnableAudio(); + + Future<void> enableAudio(); +

    启用音频模块(默认为开启状态)。

    -
      -
    • 该方法设置音频模块为启用状态,在频道内和频道外均可调用。在离开频道后仍然有效。
    • -
    • 该方法开启整个音频模块,响应时间较慢,因此声网建议使用如下方法来控制音频模块: - -
        -
      • : 是否启动麦克风采集并创建本地音频流。
      • -
      • : 是否发布本地音频流。
      • -
      • : 是否接收并播放远端音频流。
      • -
      • : 是否接收并播放所有远端音频流。
      • -
    • -
    +
  • 该方法设置音频模块为启用状态,在频道内和频道外均可调用。在离开频道后仍然有效。
  • +
  • 该方法开启整个音频模块,响应时间较慢,因此声网建议使用如下方法来控制音频模块:
      +
    • : 是否启动麦克风采集并创建本地音频流。
    • +
    • : 是否发布本地音频流。
    • +
    • : 是否接收并播放远端音频流。
    • +
    • : 是否接收并播放所有远端音频流。
    • +
  • + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_enableaudioqualityindication.dita b/dita/RTC/API/api_enableaudioqualityindication.dita index d104d78f296..4e31d13d0d6 100644 --- a/dita/RTC/API/api_enableaudioqualityindication.dita +++ b/dita/RTC/API/api_enableaudioqualityindication.dita @@ -13,41 +13,41 @@

    - public abstract int enableAudioQualityIndication(boolean enabled); - - - - - -

    + public abstract int enableAudioQualityIndication(boolean enabled); + + + + + + +

    - -
    弃用:
    -
    从 v2.4.1 起废弃。
    -
    + +
    弃用:
    +
    从 v2.4.1 起废弃。
    +
    参数 - - enabled - 是否启用音频质量通知回调。 - - -
      -
    • : 启用。
    • -
    • : (默认)禁用。
    • -
    -
    -
    + + enabled + 是否启用音频质量通知回调。
      +
    • : 启用。
    • +
    • : (默认)禁用。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_enableaudiovolumeindication.dita b/dita/RTC/API/api_enableaudiovolumeindication.dita index 919627a87ef..defd0717730 100644 --- a/dita/RTC/API/api_enableaudiovolumeindication.dita +++ b/dita/RTC/API/api_enableaudiovolumeindication.dita @@ -13,55 +13,67 @@

    - public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean reportVad); - - (int)enableAudioVolumeIndication:(NSInteger)interval + public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean reportVad); + - (int)enableAudioVolumeIndication:(NSInteger)interval smooth:(NSInteger)smooth reportVad:(BOOL)reportVad; - virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0; - public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad);

    + virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0; + public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); +

    - public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean report_vad); - - (int)enableAudioVolumeIndication:(NSInteger)interval smooth:(NSInteger)smooth report_vad:(BOOL)report_vad; - virtual int enableAudioVolumeIndication(int interval, int smooth, bool report_vad) = 0; - enableAudioVolumeIndication(interval: number, smooth: number, report_vad: boolean = false): number - public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); - - Future<void> enableAudioVolumeIndication(int interval, int smooth, bool report_vad);

    + public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean report_vad); + - (int)enableAudioVolumeIndication:(NSInteger)interval smooth:(NSInteger)smooth report_vad:(BOOL)report_vad; + virtual int enableAudioVolumeIndication(int interval, int smooth, bool report_vad) = 0; + enableAudioVolumeIndication(interval: number, smooth: number, report_vad: boolean = false): number + public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); + + Future<void> enableAudioVolumeIndication(int interval, int smooth, bool report_vad); +

    -

    该方法允许 SDK 定期向 app 报告本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息。启用该方法后,只要频道内有发流用户, SDK 会在加入频道后按设置的时间间隔触发 回调。

    - 该方法在加入频道前后都能调用。
    +

    该方法允许 SDK 定期向 app 报告本地发流用户和瞬时音量最高的远端用户(最多 3 位)的音量相关信息。启用该方法后,只要频道内有发流用户, SDK + 会在加入频道后按设置的时间间隔触发 回调。

    + 该方法在加入频道前后都能调用。 +
    参数 - - interval - 指定音量提示的时间间隔: - -
      -
    • ≤ 0: 禁用音量提示功能。
    • -
    • > 0: 返回音量提示的间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒,否则会收不到 回调。
    • -
    -
    - - smooth - 平滑系数,指定音量提示的灵敏度。取值范围为 [0,10],建议值为 3。数字越大,波动越灵敏;数字越小,波动越平滑。 - - - report_vadreportVad - reportVad - -
      -
    • :开启本地人声检测功能。开启后, 回调的 vad 参数会报告是否在本地检测到人声。
    • -
    • :(默认)关闭本地人声检测功能。除引擎自动进行本地人声检测的场景外, 回调的 vad 参数不会报告是否在本地检测到人声。
    • -
    -
    -
    + + interval + 指定音量提示的时间间隔:
      +
    • ≤ 0: 禁用音量提示功能。
    • +
    • > 0: 返回音量提示的间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒,否则会收不到 回调。
    • +
    +
    + + smooth + 平滑系数,指定音量提示的灵敏度。取值范围为 [0,10],建议值为 3。数字越大,波动越灵敏;数字越小,波动越平滑。 + + + report_vadreportVad + reportVad + +
      +
    • :开启本地人声检测功能。开启后, 回调的 vad + 参数会报告是否在本地检测到人声。
    • +
    • :(默认)关闭本地人声检测功能。除引擎自动进行本地人声检测的场景外, 回调的 vad + 参数不会报告是否在本地检测到人声。
    • +
    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_enablecontentinspect.dita b/dita/RTC/API/api_enablecontentinspect.dita index 004ef577c78..81d956a1134 100644 --- a/dita/RTC/API/api_enablecontentinspect.dita +++ b/dita/RTC/API/api_enablecontentinspect.dita @@ -13,88 +13,73 @@

    - public abstract int EnableContentInspect(bool enabled, ContentInspectConfig config);

    + public abstract int EnableContentInspect(bool enabled, ContentInspectConfig config); +

    - public abstract int enableContentInspect(boolean enabled, ContentInspectConfig config); + public abstract int enableContentInspect(boolean enabled, ContentInspectConfig config); - - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config; + - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config; - virtual int enableContentInspect(bool enabled, const ContentInspectConfig& config) = 0; - - public abstract int EnableContentInspect(bool enabled, ContentInspectConfig config); - - Future<void> enableContentInspect(bool enabled, ContentInspectConfig config);

    + virtual int enableContentInspect(bool enabled, const ContentInspectConfig& config) = 0; + + public abstract int EnableContentInspect(bool enabled, ContentInspectConfig config); + + Future<void> enableContentInspect(bool enabled, ContentInspectConfig config); +

    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +
    -

    开启视频截图上传后,SDK 会根据你在 中设置的模块类型和频率对本地用户发送的视频进行截图和上传。截图完成后,声网服务器会以 HTTPS 请求的形式,向你的服务器发送回调通知,并将所有截图发送至你指定的第三方云存储。 - - - - - - - -

    调用该方法前,请确保满足以下要求: - - - - - - -

      -
    • 调用该方法前,请确保已联系技术支持开通声网视频截图上传服务。
    • -
    • libagora_ci_extension.dlllibagora_ci_extension.soAgoraCIExtension.xcframeworkAgoraCIExtension.framework 动态库集成到项目中。
    • -
    • 已将如下动态库集成到项目中: - - - - - - -
        -
      • Android: libagora_ci_extension.so
      • -
      • iOS: AgoraCIExtension.xcframework
      • -
      • macOS: AgoraCIExtension.framework
      • -
      • Windows: libagora_ci_extension.dll
      • -
    • -

    -

    +

    开启视频截图上传后,SDK 会根据你在 + 中设置的模块类型和频率对本地用户发送的视频进行截图和上传。截图完成后,声网服务器会以 HTTPS + 请求的形式,向你的服务器发送回调通知,并将所有截图发送至你指定的第三方云存储。 +

    调用该方法前,请确保满足以下要求:

      +
    • 调用该方法前,请确保已联系技术支持开通声网视频截图上传服务。
    • +
    • libagora_ci_extension.dlllibagora_ci_extension.soAgoraCIExtension.xcframeworkAgoraCIExtension.framework 动态库集成到项目中。
    • +
    • 已将如下动态库集成到项目中:
        +
      • Android: + libagora_ci_extension.so
      • +
      • iOS: + AgoraCIExtension.xcframework
      • +
      • macOS: + AgoraCIExtension.framework
      • +
      • Windows: + libagora_ci_extension.dll
      • +
    • +

    +

    参数 - - enabled - 设置是否开启视频截图上传: - - - - - - - - -
      -
    • :开启。
    • -
    • :关闭。
    • -
    -
    - - config - 视频截图上传配置。详见 - -
    + + enabled + 设置是否开启视频截图上传:
      +
    • :开启。
    • +
    • :关闭。
    • +
    +
    + + config + 视频截图上传配置。详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enabledeeplearningdenoise.dita b/dita/RTC/API/api_enabledeeplearningdenoise.dita index b4b1f8ed221..cb1d6c85628 100644 --- a/dita/RTC/API/api_enabledeeplearningdenoise.dita +++ b/dita/RTC/API/api_enabledeeplearningdenoise.dita @@ -13,71 +13,68 @@

    - - - virtual int enableDeepLearningDenoise(bool enable) = 0; - enableDeepLearningDenoise(enable: boolean): number - public abstract int EnableDeepLearningDenoise(bool enable); - - Future<void> enableDeepLearningDenoise(bool enable);

    + + + virtual int enableDeepLearningDenoise(bool enable) = 0; + enableDeepLearningDenoise(enable: boolean): number + public abstract int EnableDeepLearningDenoise(bool enable); + + Future<void> enableDeepLearningDenoise(bool enable); +

    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +
    -

    SDK 默认开启传统降噪模式,以消除大部分平稳噪声。如果你还需要消除非平稳噪声,声网推荐你按如下步骤开启 AI 降噪模式: - - -

      -
    1. 确保已集成如下动态库:
    2. -
    3. 调用 enableDeepLearningDenoise()。
    4. -

    +

    SDK 默认开启传统降噪模式,以消除大部分平稳噪声。如果你还需要消除非平稳噪声,声网推荐你按如下步骤开启 AI 降噪模式:

      +
    1. 确保已集成如下动态库:
    2. +
    3. 调用 enableDeepLearningDenoise()。
    4. +

    AI 降噪模式对设备性能有要求。只有在设备性能良好的情况下,SDK 才会成功开启 AI 降噪模式。

    -

    如下设备经测试支持开启 AI 降噪模式: - -

      -
    • iPhone 6S
    • -
    • MacBook Pro 2015
    • -
    • iPad Pro 第二代
    • -
    • iPad mini 第五代
    • -
    • iPad Air 第三代
    • -

    +

    如下设备经测试支持开启 AI 降噪模式:

      +
    • iPhone 6S
    • +
    • MacBook Pro 2015
    • +
    • iPad Pro 第二代
    • +
    • iPad mini 第五代
    • +
    • iPad Air 第三代
    • +

    成功开启 AI 降噪模式后,如果 SDK 检测到当前设备的性能不足,SDK 会自动关闭 AI 降噪模式,并开启传统降噪模式。

    -

    在频道内,如果你调用了 enableDeepLearningDenoise() 或 SDK 自动关闭了 AI 降噪模式,当你需要重新开启 AI 降噪模式时, 你需要先调用 - ,再调用 enableDeepLearning()。

    +

    在频道内,如果你调用了 enableDeepLearningDenoise() 或 SDK 自动关闭了 AI 降噪模式,当你需要重新开启 AI 降噪模式时, 你需要先调用 ,再调用 enableDeepLearning()。

    -
      -
    • 该方法需要动态加载动态库,所以声网推荐在加入频道前调用该方法。
    • -
    • 该方法对人声的处理效果最佳。声网不推荐调用该方法处理含音乐的音频数据。
    • -
    +
      +
    • 该方法需要动态加载动态库,所以声网推荐在加入频道前调用该方法。
    • +
    • 该方法对人声的处理效果最佳。声网不推荐调用该方法处理含音乐的音频数据。
    • +
    +
    参数 - - enable - -

    是否开启 AI 降噪模式: - -

      -
    • :(默认)开启 AI 降噪模式。
    • -
    • : 关闭 AI 降噪模式。
    • -

    -
    -
    -
    + + enable + +

    是否开启 AI 降噪模式:

      +
    • :(默认)开启 AI 降噪模式。
    • +
    • : 关闭 AI 降噪模式。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - -
        -
      • -157(ERR_MODULE_NOT_FOUND): 未集成用于 AI 降噪的动态库。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -157(ERR_MODULE_NOT_FOUND): 未集成用于 AI 降噪的动态库。
    • +
  • + +
    diff --git a/dita/RTC/API/api_enabledualstreammode.dita b/dita/RTC/API/api_enabledualstreammode.dita index 2c34a361157..dc50013c977 100644 --- a/dita/RTC/API/api_enabledualstreammode.dita +++ b/dita/RTC/API/api_enabledualstreammode.dita @@ -13,53 +13,51 @@

    - public abstract int enableDualStreamMode(boolean enabled); - - (int)enableDualStreamMode:(BOOL)enabled; - virtual int enableDualStreamMode(bool enabled) = 0; - enableDualStreamMode(enabled: boolean): number - public abstract int EnableDualStreamMode(bool enabled); - - Future<void> enableDualStreamMode(bool enabled);

    + public abstract int enableDualStreamMode(boolean enabled); + - (int)enableDualStreamMode:(BOOL)enabled; + virtual int enableDualStreamMode(bool enabled) = 0; + enableDualStreamMode(enabled: boolean): number + public abstract int EnableDualStreamMode(bool enabled); + + Future<void> enableDualStreamMode(bool enabled); +

    该方法设置单流(默认)或者双流模式。你可以在发流端调用该方法开启或关闭双流模式。

    -

    双流指视频大流和视频小流: - - - -

      -
    • 视频大流:高分辨率、高帧率的视频流。
    • -
    • 视频小流:低分辨率、低帧率的视频流。
    • -

    +

    双流指视频大流和视频小流:

      +
    • 视频大流:高分辨率、高帧率的视频流。
    • +
    • 视频小流:低分辨率、低帧率的视频流。
    • +

    开启双流模式后,你可以在收流端调用 选择接收视频大流或视频小流。

    -
      -
    • 该方法仅对 SDK 通过摄像头采集的视频流生效。如果你使用自采集或 SDK 通过屏幕采集等方式采集视频流,你需要调用 开启双流模式。
    • -
    • 该方法可以在加入频道前后调用。
    • -
    +
      +
    • 该方法仅对 SDK 通过摄像头采集的视频流生效。如果你使用自采集或 SDK 通过屏幕采集等方式采集视频流,你需要调用 开启双流模式。
    • +
    • 该方法可以在加入频道前后调用。
    • +
    +
    参数 - - enabled - -

    是否开启双流模式。 - - - - -

      -
    • : 开启双流模式。
    • -
    • : 关闭双流模式。
    • -

    -
    -
    -
    + + enabled + +

    是否开启双流模式。

      +
    • : 开启双流模式。
    • +
    • : 关闭双流模式。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_enabledualstreammode2.dita b/dita/RTC/API/api_enabledualstreammode2.dita index 428d7583d18..226b0282d8c 100644 --- a/dita/RTC/API/api_enabledualstreammode2.dita +++ b/dita/RTC/API/api_enabledualstreammode2.dita @@ -13,59 +13,52 @@

    - public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled);

    + public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled);

    - public abstract int enableDualStreamMode(Constants.VideoSourceType sourceType, boolean enabled); - - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled; - virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0; - - -

    + public abstract int enableDualStreamMode(Constants.VideoSourceType sourceType, boolean enabled); + - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled; + virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0; + + + +

    -

    你可以在发流端调用该方法开启或关闭双流模式。双流指视频大流和视频小流: - - - - -

      -
    • 视频大流:高分辨率、高帧率的视频流。
    • -
    • 视频小流:低分辨率、低帧率的视频流。
    • -

    +

    你可以在发流端调用该方法开启或关闭双流模式。双流指视频大流和视频小流:

      +
    • 视频大流:高分辨率、高帧率的视频流。
    • +
    • 视频小流:低分辨率、低帧率的视频流。
    • +

    开启双流模式后,你可以在收流端调用 选择接收视频大流或视频小流。

    -

    该方法可以在加入频道前后调用。

    +

    该方法可以在加入频道前后调用。

    参数 - - sourceType - -

    视频源的类型。详见

    -
    -
    - - enabled - -

    是否开启双流模式。 - - - - - -

      -
    • : 开启双流模式。
    • -
    • : 关闭双流模式。
    • -

    -
    -
    -
    + + sourceType + +

    视频源的类型。详见

    +
    +
    + + enabled + +

    是否开启双流模式。

      +
    • : 开启双流模式。
    • +
    • : 关闭双流模式。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enabledualstreammode3.dita b/dita/RTC/API/api_enabledualstreammode3.dita index d07ac651fe3..428988c6406 100644 --- a/dita/RTC/API/api_enabledualstreammode3.dita +++ b/dita/RTC/API/api_enabledualstreammode3.dita @@ -13,43 +13,46 @@

    - public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled, SimulcastStreamConfig streamConfig);

    + public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled, SimulcastStreamConfig streamConfig);

    - public abstract int enableDualStreamMode( + public abstract int enableDualStreamMode( Constants.VideoSourceType sourceType, boolean enabled, SimulcastStreamConfig streamConfig); - - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType + - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig; - virtual int enableDualStreamMode( + virtual int enableDualStreamMode( VIDEO_SOURCE_TYPE sourceType, bool enabled, const SimulcastStreamConfig& streamConfig) = 0; - - -

    + + + +

    参数 - - - - - - - - - - streamConfig - -

    视频小流的配置。详见

    -
    -
    -
    + + + + + + + + + + streamConfig + +

    视频小流的配置。详见

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enableencryption.dita b/dita/RTC/API/api_enableencryption.dita index ba3da673094..9c2f4a122fd 100644 --- a/dita/RTC/API/api_enableencryption.dita +++ b/dita/RTC/API/api_enableencryption.dita @@ -1,8 +1,12 @@ - <ph keyref="enableEncryption"/> - 开启或关闭内置加密。 + + <ph keyref="enableEncryption"/> + + + 开启或关闭内置加密。 + @@ -13,58 +17,58 @@

    - public abstract int enableEncryption(boolean enabled, EncryptionConfig config); - - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config; - virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; - enableEncryption(enabled: boolean, config: EncryptionConfig): number - public abstract int EnableEncryption(bool enabled, EncryptionConfig config); - - Future<void> enableEncryption(bool enabled, EncryptionConfig config);

    + public abstract int enableEncryption(boolean enabled, EncryptionConfig config); + - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config; + virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; + enableEncryption(enabled: boolean, config: EncryptionConfig): number + public abstract int EnableEncryption(bool enabled, EncryptionConfig config); + + Future<void> enableEncryption(bool enabled, EncryptionConfig config); +

    - -
    自从
    -
    v3.1.0
    -
    + +
    自从
    +
    v3.1.0
    +

    在安全要求较高的场景下,声网建议你在加入频道前,调用本方法开启内置加密。

    -

    同一频道内所有用户必须使用相同的加密模式和密钥。用户离开频道后,SDK 会自动关闭加密。如需重新开启加密,你需要在用户再次加入频道前调用该方法。

    - 如果开启了内置加密,则不能使用旁路推流功能。
    +

    同一频道内所有用户必须使用相同的加密模式和密钥。用户离开频道后,SDK + 会自动关闭加密。如需重新开启加密,你需要在用户再次加入频道前调用该方法。

    + 如果开启了内置加密,则不能使用旁路推流功能。 +
    参数 - - enabled - -

    是否开启内置加密: - - - -

      -
    • : 开启内置加密。
    • -
    • : 关闭内置加密。
    • -

    -
    -
    - - config - 配置内置加密模式和密钥。详见 - -
    + + enabled + +

    是否开启内置加密:

      +
    • : 开启内置加密。
    • +
    • : 关闭内置加密。
    • +
    +

    +
    +
    + + config + 配置内置加密模式和密钥。详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败 - - - -
        -
      • -2: 调用了无效的参数。需重新指定参数。
      • -
      • -4: 设置的加密模式不正确或加载外部加密库失败。需检查枚举值是否正确或重新加载外部加密库。
      • -
      • -7: SDK 尚未初始化。需在调用 API 之前已创建 对象并完成初始化。
      • -
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
      +
    • -2: 调用了无效的参数。需重新指定参数。
    • +
    • -4: 设置的加密模式不正确或加载外部加密库失败。需检查枚举值是否正确或重新加载外部加密库。
    • +
    • -7: SDK 尚未初始化。需在调用 API 之前已创建 + 对象并完成初始化。
    • +
    +
  • + +
    diff --git a/dita/RTC/API/api_enablefacedetection.dita b/dita/RTC/API/api_enablefacedetection.dita index 163970be953..d4c247833a5 100644 --- a/dita/RTC/API/api_enablefacedetection.dita +++ b/dita/RTC/API/api_enablefacedetection.dita @@ -13,58 +13,60 @@

    - - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:)); - virtual int enableFaceDetection(bool enabled) = 0; - public abstract int EnableFaceDetection(bool enabled);

    + - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:)); + virtual int enableFaceDetection(bool enabled) = 0; + public abstract int EnableFaceDetection(bool enabled); +

    - - (int)enableFaceDetection:(bool)enable; - virtual int enableFaceDetection(bool enable) = 0; - public abstract int EnableFaceDetection(bool enable);

    + - (int)enableFaceDetection:(bool)enable; + virtual int enableFaceDetection(bool enable) = 0; + public abstract int EnableFaceDetection(bool enable);

    - public abstract int enableFaceDetection(boolean enabled); - - - Future<void> enableFaceDetection(bool enable);

    + public abstract int enableFaceDetection(boolean enabled); + + + Future<void> enableFaceDetection(bool enable); +

    - -
    自从
    -
    v3.0.1
    -
    + +
    自从
    +
    v3.0.1
    +

    该方法在加入频道前后都能调用。

    该方法仅适用于 Android 和 iOS。 -

    开启本地人脸检测后,SDK 会触发 回调向你报告人脸检测的信息: - - -

      -
    • 摄像头采集的画面大小
    • -
    • 人脸在画面中的位置
    • -
    • 人脸距设备屏幕的距离
    • -

    -

    该方法需要在相机启动(如通过调用 实现)后调用。

    +

    开启本地人脸检测后,SDK 会触发 回调向你报告人脸检测的信息:

      +
    • 摄像头采集的画面大小
    • +
    • 人脸在画面中的位置
    • +
    • 人脸距设备屏幕的距离
    • +
    +

    +

    该方法需要在相机启动(如通过调用 + 实现)后调用。

    参数 - - enable - enableenabled - 是否开启人脸检测: - - -
      -
    • :开启人脸检测。
    • -
    • :(默认)关闭人脸检测。
    • -
    -
    -
    + + enable + enableenabled + 是否开启人脸检测:
      +
    • :开启人脸检测。
    • +
    • :(默认)关闭人脸检测。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enablefilptextureapply.dita b/dita/RTC/API/api_enablefilptextureapply.dita index f696a289c25..b8d4b32fb08 100644 --- a/dita/RTC/API/api_enablefilptextureapply.dita +++ b/dita/RTC/API/api_enablefilptextureapply.dita @@ -13,47 +13,43 @@

    - - - - - public void EnableFilpTextureApply(bool flipX, bool flipY) - -

    + + + + + public void EnableFilpTextureApply(bool flipX, bool flipY) + + +

    -
      -
    • 确保在主线程中调用此方法。
    • -
    • 确保在绑定 VideoSurface.cs 前调用此方法。
    • -
    +
      +
    • 确保在主线程中调用此方法。
    • +
    • 确保在绑定 VideoSurface.cs 前调用此方法。
    • +
    + +
    参数 - - flipX - 是否开启 Texture 在水平方向的镜像: - - - - -
      -
    • :开启
    • -
    • :(默认)不开启
    • -
    -
    - - flipY - 是否开启 Texture 在垂直方向的镜像: - - - - -
      -
    • :开启
    • -
    • :(默认)不开启
    • -
    -
    -
    + + flipX + 是否开启 Texture 在水平方向的镜像:
      +
    • :开启
    • +
    • :(默认)不开启
    • +
    +
    +
    + + flipY + 是否开启 Texture 在垂直方向的镜像:
      +
    • :开启
    • +
    • :(默认)不开启
    • +
    +
    +
    + +
    diff --git a/dita/RTC/API/api_enableinearmonitoring.dita b/dita/RTC/API/api_enableinearmonitoring.dita index 62f23c4098c..c2aa4c7f781 100644 --- a/dita/RTC/API/api_enableinearmonitoring.dita +++ b/dita/RTC/API/api_enableinearmonitoring.dita @@ -13,40 +13,44 @@

    - public abstract int enableInEarMonitoring(boolean enabled); - - (int)enableInEarMonitoring:(BOOL)enabled; - virtual int enableInEarMonitoring(bool enabled) = 0; - - public abstract int EnableInEarMonitoring(bool enabled); - - Future<void> enableInEarMonitoring(bool enabled);

    + public abstract int enableInEarMonitoring(boolean enabled); + - (int)enableInEarMonitoring:(BOOL)enabled; + virtual int enableInEarMonitoring(bool enabled) = 0; + + public abstract int EnableInEarMonitoring(bool enabled); + + Future<void> enableInEarMonitoring(bool enabled); +

    该方法打开或关闭耳返功能。

    -
      -
    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 用户必须使用有线耳机才能听到耳返效果。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 用户必须使用有线耳机才能听到耳返效果。
    • +
    • 该方法在加入频道前后都能调用。
    • +
    + +
    参数 - - enabled - 开启/关闭耳返功能: - -
      -
    • : 开启耳返功能。
    • -
    • : (默认)关闭耳返功能。
    • -
    -
    -
    + + enabled + 开启/关闭耳返功能:
      +
    • : 开启耳返功能。
    • +
    • : (默认)关闭耳返功能。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enablelastmiletest.dita b/dita/RTC/API/api_enablelastmiletest.dita index 2ed477bab0a..01bcd3ac53b 100644 --- a/dita/RTC/API/api_enablelastmiletest.dita +++ b/dita/RTC/API/api_enablelastmiletest.dita @@ -1,8 +1,12 @@ - <ph keyref="enableLastmileTest"/> - 启用网络测试。 + + <ph keyref="enableLastmileTest"/> + + + 启用网络测试。 + @@ -13,44 +17,41 @@

    - - - virtual int enableLastmileTest() = 0; - enableLastmileTest(): number - public abstract int EnableLastmileTest(); - - Future<void> enableLastmileTest();

    + + + virtual int enableLastmileTest() = 0; + enableLastmileTest(): number + public abstract int EnableLastmileTest(); + + Future<void> enableLastmileTest(); +

    -

    - 该方法启用网络连接质量测试,用于检测用户目前的网络接入质量(上行网络质量)。默认该功能为关闭状态。该方法主要用于以下场景: - - -

      -
    • 用户加入频道前,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • -
    • 直播场景下,当用户角色由观众切换为主播时,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • -

    -

    - 无论哪种场景,启用该方法均会消耗网络流量,影响通话质量。用户必须在收到 回调后须调用 停止测试,再加入频道或切换为主播。 +

    该方法启用网络连接质量测试,用于检测用户目前的网络接入质量(上行网络质量)。默认该功能为关闭状态。该方法主要用于以下场景:

      +
    • 用户加入频道前,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • +
    • 直播场景下,当用户角色由观众切换为主播时,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • +

    +

    无论哪种场景,启用该方法均会消耗网络流量,影响通话质量。用户必须在收到 回调后须调用 停止测试,再加入频道或切换为主播。

    -
      -
    • - 该方法请勿与 同时使用。 -
    • -
    • - 调用该方法后,在收到 回调前请勿调用其他方法,否则可能由于 API 操作过于频繁导致回调无法执行。 -
    • -
    • 在直播场景中,如果本地用户为主播,请勿加入频道后调用该方法。
    • -
    • - 加入频道前调用该方法检测网络质量后,SDK 会占用一路视频的带宽,码率与 中设置的码率相同。加入频道后,无论是否调用了 ,SDK 均会自动停止带宽占用。 -
    • -
    +
      +
    • 该方法请勿与 同时使用。
    • +
    • 调用该方法后,在收到 回调前请勿调用其他方法,否则可能由于 API + 操作过于频繁导致回调无法执行。
    • +
    • 在直播场景中,如果本地用户为主播,请勿加入频道后调用该方法。
    • +
    • 加入频道前调用该方法检测网络质量后,SDK 会占用一路视频的带宽,码率与 中设置的码率相同。加入频道后,无论是否调用了 ,SDK 均会自动停止带宽占用。
    • +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enablelocalaudio.dita b/dita/RTC/API/api_enablelocalaudio.dita index d7ead512f03..05a9dc97c03 100644 --- a/dita/RTC/API/api_enablelocalaudio.dita +++ b/dita/RTC/API/api_enablelocalaudio.dita @@ -13,53 +13,55 @@

    - public abstract int enableLocalAudio(boolean enabled); - - (int)enableLocalAudio:(BOOL)enabled; - virtual int enableLocalAudio(bool enabled) = 0; - enableLocalAudio(enabled: boolean): number - public abstract int EnableLocalAudio(bool enabled); - - Future<void> enableLocalAudio(bool enabled);

    + public abstract int enableLocalAudio(boolean enabled); + - (int)enableLocalAudio:(BOOL)enabled; + virtual int enableLocalAudio(bool enabled) = 0; + enableLocalAudio(enabled: boolean): number + public abstract int EnableLocalAudio(bool enabled); + + Future<void> enableLocalAudio(bool enabled); +

    当用户加入频道时,音频功能默认是开启的。该方法可以关闭或重新开启本地音频功能,即停止或重新开始本地音频采集。

    -

    该方法不影响接收或播放远端音频流,() 适用于只听不发的用户场景。

    -

    音频功能关闭或重新开启后,会收到 回调, 并报告 (0) 或 (1)。 - - - - -

      -
    • 该方法与 的区别在于: - - -
        -
      • : 开启或关闭本地音频采集及处理。使用 - 关闭或开启本地采集后,本地听远端播放会有短暂中断。
      • -
      • : 停止或继续发送本地音频流。
      • -
    • -
    • 该方法在加入频道前后都能调用。
    • -

    +

    该方法不影响接收或播放远端音频流,() 适用于只听不发的用户场景。

    +

    音频功能关闭或重新开启后,会收到 回调, 并报告 (0) 或 (1)。 +

      +
    • 该方法与 的区别在于:
        +
      • : 开启或关闭本地音频采集及处理。使用 关闭或开启本地采集后,本地听远端播放会有短暂中断。
      • +
      • : 停止或继续发送本地音频流。
      • +
      +
    • +
    • 该方法在加入频道前后都能调用。
    • +

    参数 - - enabled - -

    -

      -
    • : 重新开启本地音频功能,即开启本地音频采集(默认);
    • -
    • : 关闭本地音频功能,即停止本地音频采集。
    • -

    -
    -
    -
    + + enabled + +

    +

      +
    • : + 重新开启本地音频功能,即开启本地音频采集(默认);
    • +
    • : 关闭本地音频功能,即停止本地音频采集。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enablelocalvideo.dita b/dita/RTC/API/api_enablelocalvideo.dita index 7ef2ff81958..1eafb884a7c 100644 --- a/dita/RTC/API/api_enablelocalvideo.dita +++ b/dita/RTC/API/api_enablelocalvideo.dita @@ -13,41 +13,51 @@

    - public abstract int enableLocalVideo(boolean enabled); - - (int)enableLocalVideo:(BOOL)enabled; - virtual int enableLocalVideo(bool enabled) = 0; - enableLocalVideo(enabled: boolean): number - public abstract int EnableLocalVideo(bool enabled); - - Future<void> enableLocalVideo(bool enabled);

    + public abstract int enableLocalVideo(boolean enabled); + - (int)enableLocalVideo:(BOOL)enabled; + virtual int enableLocalVideo(bool enabled) = 0; + enableLocalVideo(enabled: boolean): number + public abstract int EnableLocalVideo(bool enabled); + + Future<void> enableLocalVideo(bool enabled); +

    该方法禁用或重新启用本地视频采集,不影响接收远端视频。

    -

    调用 后,本地视频采集即默认开启。你可以调用 () 关闭本地视频采集。关闭后如果想要重新开启,则可调用 ()。

    +

    调用 后,本地视频采集即默认开启。你可以调用 () 关闭本地视频采集。关闭后如果想要重新开启,则可调用 ()。

    成功禁用或启用本地视频采集后,远端会触发 回调。

    -
      -
    • 该方法在加入频道前后都能调用。
    • -
    • 该方法设置内部引擎为启用状态,在离开频道后仍然有效。
    • -
    +
      +
    • 该方法在加入频道前后都能调用。
    • +
    • 该方法设置内部引擎为启用状态,在离开频道后仍然有效。
    • +
    + +
    参数 - - enabled - -

    是否开启本地视频采集。

    -
      -
    • :(默认)开启本地视频采集。
    • -
    • : 关闭本地视频采集。关闭后,远端用户会接收不到本地用户的视频流;但本地用户依然可以接收远端用户的视频流。设置为 时,该方法不需要本地有摄像头。
    • -
    -
    -
    + + enabled + +

    是否开启本地视频采集。

    +
      +
    • :(默认)开启本地视频采集。
    • +
    • : + 关闭本地视频采集。关闭后,远端用户会接收不到本地用户的视频流;但本地用户依然可以接收远端用户的视频流。设置为 时,该方法不需要本地有摄像头。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enablelocalvoicepitchcallback.dita b/dita/RTC/API/api_enablelocalvoicepitchcallback.dita index 494609baea1..f85f97f92f1 100644 --- a/dita/RTC/API/api_enablelocalvoicepitchcallback.dita +++ b/dita/RTC/API/api_enablelocalvoicepitchcallback.dita @@ -13,31 +13,36 @@

    - Future<void> enableLocalVoicePitchCallback(int interval);

    + Future<void> + enableLocalVoicePitchCallback(int interval);

    -

    该方法允许 SDK 定期向 app 报告本地用户的语音音调。开启本地音频采集并调用该方法后,SDK 会按设置的时间间隔触发 回调。

    - 该方法在加入频道前后都能调用。
    +

    该方法允许 SDK 定期向 app 报告本地用户的语音音调。开启本地音频采集并调用该方法后,SDK 会按设置的时间间隔触发 回调。

    + 该方法在加入频道前后都能调用。 +
    参数 - - interval - -

    设置 SDK 触发 回调的时间间隔: -

      -
    • ≤ 0: 关闭 回调。
    • -
    • > 0: SDK 触发 回调的时间间隔,单位为毫秒。取值需大于等于 10 毫秒,如果小于 10 毫秒,SDK 会自动调整为 10 毫秒。
    • -
    -

    -
    -
    -
    + + interval + +

    设置 SDK 触发 回调的时间间隔:

      +
    • ≤ 0: 关闭 回调。
    • +
    • > 0: SDK 触发 + 回调的时间间隔,单位为毫秒。取值需大于等于 10 毫秒,如果小于 10 毫秒,SDK 会自动调整为 10 毫秒。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enableloopbackrecording.dita b/dita/RTC/API/api_enableloopbackrecording.dita index 697b286eb3f..c2a0208a1fd 100644 --- a/dita/RTC/API/api_enableloopbackrecording.dita +++ b/dita/RTC/API/api_enableloopbackrecording.dita @@ -13,48 +13,58 @@

    - - (int)enableLoopbackRecording:(BOOL)enabled; - virtual int enableLoopbackRecording(bool enabled) = 0;

    + - (int)enableLoopbackRecording:(BOOL)enabled; + virtual int enableLoopbackRecording(bool enabled) = 0; +

    - - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString *_Nullable)deviceName; - virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0; - enableLoopbackRecording( + - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString *_Nullable)deviceName; + virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0; + enableLoopbackRecording( enabled = false, deviceName: string | null = null ): number - public abstract int EnableLoopbackRecording(bool enabled, string deviceName); - - Future<void> enableLoopbackRecording(bool enabled, {String? deviceName})

    + public abstract int EnableLoopbackRecording(bool enabled, string deviceName); + + Future<void> enableLoopbackRecording(bool enabled, {String? deviceName}) +

    启用声卡采集功能后,声卡播放的声音会被合到本地音频流中,从而可以发送到远端。

    -
      -
    • 该方法仅适用于 macOS 和 Windows 平台。
    • -
    • macOS 系统默认声卡不支持采集功能,如果你需要使用该功能,请启用一个虚拟声卡,并将该虚拟声卡的名字传入 deviceName 参数。声网推荐你启用 AgoraALD (Agora Audio Loopback Device) 并向该参数传入 "AgoraALD"
    • -
    • 该方法在加入频道前后都能调用。
    • -
    +
      +
    • 该方法仅适用于 macOS 和 Windows 平台。
    • +
    • macOS + 系统默认声卡不支持采集功能,如果你需要使用该功能,请启用一个虚拟声卡,并将该虚拟声卡的名字传入 + deviceName 参数。声网推荐你启用 AgoraALD (Agora Audio Loopback Device) 并向该参数传入 + "AgoraALD"
    • +
    • 该方法在加入频道前后都能调用。
    • +
    + +
    参数 - - enabled - 是否开启声卡采集: -
      -
    • : 开启声卡采集。
    • -
    • :(默认)关闭声卡采集。
    • -
    -
    - - deviceName - 声卡的设备名。默认为空,代表使用当前声卡采集。如果你使用虚拟声卡,如 AgoraALD(Agora Audio Loopback Device),你可以将该参数设置为声卡的名称("AgoraALD")。 - -
    + + enabled + 是否开启声卡采集:
      +
    • : 开启声卡采集。
    • +
    • :(默认)关闭声卡采集。
    • +
    +
    + + deviceName + 声卡的设备名。默认为空,代表使用当前声卡采集。如果你使用虚拟声卡,如 AgoraALD(Agora Audio Loopback + Device),你可以将该参数设置为声卡的名称("AgoraALD")。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_enableplugin.dita b/dita/RTC/API/api_enableplugin.dita index c22abcbe609..9592ae551be 100644 --- a/dita/RTC/API/api_enableplugin.dita +++ b/dita/RTC/API/api_enableplugin.dita @@ -13,36 +13,37 @@

    - - - - enablePlugin(pluginId: string, enabled: boolean): number - - -

    + + + + enablePlugin(pluginId: string, enabled: boolean): number + + + +

    参数 - - - - - - enabled - 是否开启插件: - -
      -
    • :开启插件。
    • -
    • :关闭插件。
    • -
    -
    -
    + + + + + + enabled + 是否开启插件:
      +
    • :开启插件。
    • +
    • :关闭插件。
    • +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_enableremotesuperresolution.dita b/dita/RTC/API/api_enableremotesuperresolution.dita index a0931a305eb..8f4645af4c7 100644 --- a/dita/RTC/API/api_enableremotesuperresolution.dita +++ b/dita/RTC/API/api_enableremotesuperresolution.dita @@ -13,118 +13,115 @@

    - public abstract int enableRemoteSuperResolution(int uid, boolean enable); - - (int)enableRemoteSuperResolution:(NSUInteger)uid enable:(BOOL)enable; - virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0; - - public abstract int EnableRemoteSuperResolution(uint userId, bool enable); - - Future<void> enableRemoteSuperResolution(int userId, bool enable);

    + public abstract int enableRemoteSuperResolution(int uid, boolean enable); + - (int)enableRemoteSuperResolution:(NSUInteger)uid enable:(BOOL)enable; + virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0; + + public abstract int EnableRemoteSuperResolution(uint userId, bool enable); + + Future<void> enableRemoteSuperResolution(int userId, bool enable); +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +

    该功能可以有效提升本地用户看到的远端视频画面的分辨率。例如远端用户视频的原始分辨率为 a < b,开启该功能后,本地设备会以 2a < 2b 的分辨率 - 显示该远端视频。

    -

    调用该方法后,SDK 会触发 回调报告超分辨率是否成功开启。

    -

    调用该方法后,通过 回调中的远端视频统计数据(),确认超分辨率是否成功开启: - -

      -
    • 如果参数 superResolutionType >0:超分辨率已开启。
    • -
    • 如果参数 superResolutionType =0:超分辨率未开启。
    • -

    + 显示该远端视频。

    +

    调用该方法后,SDK 会触发 + 回调报告超分辨率是否成功开启。

    +

    调用该方法后,通过 回调中的远端视频统计数据(),确认超分辨率是否成功开启:

      +
    • 如果参数 superResolutionType >0:超分辨率已开启。
    • +
    • 如果参数 superResolutionType =0:超分辨率未开启。
    • +
    +

    -

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,只可以对一个远端用户开启超分辨率,并且远端用户视频的原始分辨率在 Android 设备上不能超过 640 × 360,在 iOS 设备上不能超过 640 × 480。

    -

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,只可以对一个远端用户开启超分辨率,并且远端用户视频的原始分辨率在设备上不能超过 640 × 360640 × 480

    -

    当超出限制时,SDK 会触发 回调,并返回相应的警告码: - - -

      -
    • : 1610,远端用户的原始视频分辨率超出了可以应用超分辨率的范围。
    • -
    • : 1611,已对一个远端用户的视频使用超分辨率。
    • -
    • : 1612,设备不支持使用超分辨率。
    • -

    +

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,只可以对一个远端用户开启超分辨率,并且远端用户视频的原始分辨率在 Android 设备上不能超过 + 640 × 360,在 iOS 设备上不能超过 640 × 480。

    +

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,只可以对一个远端用户开启超分辨率,并且远端用户视频的原始分辨率在设备上不能超过 640 × 360640 × 480

    +

    当超出限制时,SDK 会触发 回调,并返回相应的警告码:

      +
    • : + 1610,远端用户的原始视频分辨率超出了可以应用超分辨率的范围。
    • +
    • : + 1611,已对一个远端用户的视频使用超分辨率。
    • +
    • : + 1612,设备不支持使用超分辨率。
    • +

    -
      -
    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 调用该方法前,请确保你已经集成相应的动态库: - -
        -
      • Android: libagora_super_resolution_extension.so
      • -
      • iOS: AgoraSuperResolutionExtension.xcframework
      • -
    • -
    • 该方法对用户设备具有一定要求,声网推荐你使用如下或更好的设备: - - -
        -
      • Android: - - -
          -
        • VIVO:V1821A,NEX S,1914A,1916A,1962A,1824BA,X60,X60 Pro
        • -
        • OPPO:PCCM00,Find X3
        • -
        • OnePlus:A6000
        • -
        • Xiaomi:Mi 8,Mi 9,Mi 10,Mi 11,MIX3,Redmi K20 Pro
        • -
        • SAMSUNG:SM-G9600,SM-G9650,SM-N9600,SM-G9708,SM-G960U,SM-G9750,S20,S21
        • -
        • HUAWEI:SEA-AL00,ELE-AL00,VOG-AL00,YAL-AL10,HMA-AL00,EVR-AN00,nova 4,nova 5 Pro,nova 6 5G,nova 7 5G,Mate 30,Mate 30 Pro,Mate 40,Mate 40 Pro,P40,P40 Pro,华为平板 M6,MatePad 10.8
        • -
      • -
      • iOS: - - -
          -
        • iPhone XR
        • -
        • iPhone XS
        • -
        • iPhone XS Max
        • -
        • iPhone 11
        • -
        • iPhone 11 Pro
        • -
        • iPhone 11 Pro Max
        • -
        • iPhone 12
        • -
        • iPhone 12 mini
        • -
        • iPhone 12 Pro
        • -
        • iPhone 12 Pro Max
        • -
        • iPhone 12 SE(第二代)
        • -
        • iPad Pro 11-inch(第三代)
        • -
        • iPad Pro 12.9-inch(第三代)
        • -
        • iPad Air(第三代)
        • -
        • iPad Air(第四代)
        • -
      • -
    • -
    +
  • 该方法仅适用于 Android 和 iOS 平台。
  • +
  • 调用该方法前,请确保你已经集成相应的动态库:
      +
    • Android: + libagora_super_resolution_extension.so
    • +
    • iOS: + AgoraSuperResolutionExtension.xcframework
    • +
    +
  • +
  • 该方法对用户设备具有一定要求,声网推荐你使用如下或更好的设备:
      +
    • Android:
        +
      • VIVO:V1821A,NEX S,1914A,1916A,1962A,1824BA,X60,X60 Pro
      • +
      • OPPO:PCCM00,Find X3
      • +
      • OnePlus:A6000
      • +
      • Xiaomi:Mi 8,Mi 9,Mi 10,Mi 11,MIX3,Redmi K20 Pro
      • +
      • SAMSUNG:SM-G9600,SM-G9650,SM-N9600,SM-G9708,SM-G960U,SM-G9750,S20,S21
      • +
      • HUAWEI:SEA-AL00,ELE-AL00,VOG-AL00,YAL-AL10,HMA-AL00,EVR-AN00,nova + 4,nova 5 Pro,nova 6 5G,nova 7 5G,Mate 30,Mate 30 Pro,Mate + 40,Mate 40 Pro,P40,P40 Pro,华为平板 M6,MatePad 10.8
      • +
    • +
    • iOS:
        +
      • iPhone XR
      • +
      • iPhone XS
      • +
      • iPhone XS Max
      • +
      • iPhone 11
      • +
      • iPhone 11 Pro
      • +
      • iPhone 11 Pro Max
      • +
      • iPhone 12
      • +
      • iPhone 12 mini
      • +
      • iPhone 12 Pro
      • +
      • iPhone 12 Pro Max
      • +
      • iPhone 12 SE(第二代)
      • +
      • iPad Pro 11-inch(第三代)
      • +
      • iPad Pro 12.9-inch(第三代)
      • +
      • iPad Air(第三代)
      • +
      • iPad Air(第四代)
      • +
    • +
  • + + +
    参数 - - userId - uid - 远端用户 ID。 - - - enable - 是否对远端视频开启超分辨率: - - -
      -
    • : 开启超分辨率。
    • -
    • : 关闭超分辨率。
    • -
    -
    -
    + + userId + uid + 远端用户 ID。 + + + enable + 是否对远端视频开启超分辨率:
      +
    • : 开启超分辨率。
    • +
    • : 关闭超分辨率。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败 - - -
        -
      • -157: 未集成超分辨率动态库。
      • -
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
      +
    • -157: 未集成超分辨率动态库。
    • +
  • + +
    diff --git a/dita/RTC/API/api_enableremotesuperresolution2.dita b/dita/RTC/API/api_enableremotesuperresolution2.dita index 08cfb99b879..7a5254a5590 100644 --- a/dita/RTC/API/api_enableremotesuperresolution2.dita +++ b/dita/RTC/API/api_enableremotesuperresolution2.dita @@ -13,64 +13,73 @@

    - - - virtual int enableRemoteSuperResolution(bool enabled, SR_MODE mode, uid_t userId) = 0; - - - -

    + + + virtual int enableRemoteSuperResolution(bool enabled, SR_MODE mode, uid_t userId) = 0; + + + + +

    该功能可以有效提升本地用户看到的远端视频画面的分辨率。例如远端用户视频的原始分辨率为 a < b,开启该功能后,本地设备会以 2a < 2b 的分辨率 - 显示该远端视频。

    -

    调用该方法后,SDK 会触发 回调报告超分辨率是否成功开启。

    + 显示该远端视频。

    +

    调用该方法后,SDK 会触发 + 回调报告超分辨率是否成功开启。

    -

    调用该方法前,请确保你已经集成相应的动态库: -

      -
    • Android: libagora_super_resolution_extension.so
    • -
    • iOS: AgoraSuperResolutionExtension.xcframework
    • -
    • iOS: libagora_super_resolution_extension.dll
    • -
    -

    -

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,该功能有如下使用限制: -

      -
    • 只可以对一个远端用户开启超分辨率。否则,你会收到 > 回调报告的 WARN_SUPER_RESOLUTION_USER_COUNT_OVER_LIMITATION(1611)
    • -
    • 远端用户视频的原始分辨率不能超过 640 × 360。否则,你会收到 回调报告的 WARN_SUPER_RESOLUTION_STREAM_OVER_LIMITATION(1610)
    • -
    • 该功能不支持在部分低端机型上开启。如果你在不支持的设备上尝试开启超分辨率,你会收到 回调报告的 WARN_SUPER_RESOLUTION_DEVICE_NOT_SUPPORTED(1612)
    • -
    -

    +

    调用该方法前,请确保你已经集成相应的动态库:

      +
    • Android: + libagora_super_resolution_extension.so
    • +
    • iOS: + AgoraSuperResolutionExtension.xcframework
    • +
    • iOS: libagora_super_resolution_extension.dll
    • +
    +

    +

    超分辨率功能会额外耗费系统资源。为平衡视觉体验和系统消耗,该功能有如下使用限制:

      +
    • 只可以对一个远端用户开启超分辨率。否则,你会收到 > 回调报告的 WARN_SUPER_RESOLUTION_USER_COUNT_OVER_LIMITATION(1611)
    • +
    • 远端用户视频的原始分辨率不能超过 640 × 360。否则,你会收到 回调报告的 WARN_SUPER_RESOLUTION_STREAM_OVER_LIMITATION(1610)
    • +
    • 该功能不支持在部分低端机型上开启。如果你在不支持的设备上尝试开启超分辨率,你会收到 + 回调报告的 WARN_SUPER_RESOLUTION_DEVICE_NOT_SUPPORTED(1612)
    • +
    +

    参数 - - enable - 是否对远端视频开启超分辨率: -
      -
    • : 开启超分辨率。
    • -
    • : 关闭超分辨率。
    • -
    -
    -
    - - mode - 超分辨率的模式。详见 - - - userId - 远端用户 ID。该参数仅在 modeSR_MODE_MANUAL(0) 时生效。 - -
    + + enable + 是否对远端视频开启超分辨率:
      +
    • : 开启超分辨率。
    • +
    • : 关闭超分辨率。
    • +
    +
    +
    + + mode + 超分辨率的模式。详见 + + + userId + 远端用户 ID。该参数仅在 modeSR_MODE_MANUAL(0) 时生效。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败 -
        -
      • -157: 未集成超分辨率动态库。
      • -
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
      +
    • -157: 未集成超分辨率动态库。
    • +
  • + +
    diff --git a/dita/RTC/API/api_enablesoundpositionindication.dita b/dita/RTC/API/api_enablesoundpositionindication.dita index 08a5d38765f..4e970775495 100644 --- a/dita/RTC/API/api_enablesoundpositionindication.dita +++ b/dita/RTC/API/api_enablesoundpositionindication.dita @@ -13,36 +13,38 @@

    - public abstract int enableSoundPositionIndication(boolean enabled); - - (int)enableSoundPositionIndication:(BOOL)enabled; - virtual int enableSoundPositionIndication(bool enabled) = 0; - enableSoundPositionIndication(enabled: boolean) - public abstract int EnableSoundPositionIndication(bool enabled); - - Future<void> enableSoundPositionIndication(bool enabled);

    + public abstract int enableSoundPositionIndication(boolean enabled); + - (int)enableSoundPositionIndication:(BOOL)enabled; + virtual int enableSoundPositionIndication(bool enabled) = 0; + enableSoundPositionIndication(enabled: boolean) + public abstract int EnableSoundPositionIndication(bool enabled); + + Future<void> enableSoundPositionIndication(bool enabled); +

    -

    如果想调用 实现听声辨位的功能,请确保在加入频道前调用该方法开启远端用户的语音立体声。

    +

    如果想调用 + 实现听声辨位的功能,请确保在加入频道前调用该方法开启远端用户的语音立体声。

    参数 - - enabled - 是否开启远端用户语音立体声: - - -
      -
    • : 开启语音立体声。
    • -
    • : 关闭语音立体声。
    • -
    -
    -
    + + enabled + 是否开启远端用户语音立体声:
      +
    • : 开启语音立体声。
    • +
    • : 关闭语音立体声。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enablespatialaudio.dita b/dita/RTC/API/api_enablespatialaudio.dita index ab10c0ed677..77f72564d93 100644 --- a/dita/RTC/API/api_enablespatialaudio.dita +++ b/dita/RTC/API/api_enablespatialaudio.dita @@ -13,39 +13,37 @@

    - public abstract int enableSpatialAudio(boolean enabled); - - (int)enableSpatialAudio:(BOOL)enabled; - virtual int enableSpatialAudio(bool enabled) = 0; - - public abstract int EnableSpatialAudio(bool enabled); - -

    + public abstract int enableSpatialAudio(boolean enabled); + - (int)enableSpatialAudio:(BOOL)enabled; + virtual int enableSpatialAudio(bool enabled) = 0; + + public abstract int EnableSpatialAudio(bool enabled); + + +

    -

    开启空间音效后,你可以调用 设置远端用户的空间音效参数。 - - - 该方法在加入频道前后均可调用。

    +

    开启空间音效后,你可以调用 设置远端用户的空间音效参数。 该方法在加入频道前后均可调用。

    参数 - - enabled - 是否开启空间音效: - - -
      -
    • : 开启空间音效。
    • -
    • : 关闭空间音效。
    • -
    -
    -
    + + enabled + 是否开启空间音效:
      +
    • : 开启空间音效。
    • +
    • : 关闭空间音效。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_enablevideo.dita b/dita/RTC/API/api_enablevideo.dita index fc4277afddd..b2fc5cb9695 100644 --- a/dita/RTC/API/api_enablevideo.dita +++ b/dita/RTC/API/api_enablevideo.dita @@ -13,35 +13,37 @@

    - public abstract int enableVideo(); - - (int)enableVideo; - virtual int enableVideo() = 0; - enableVideo(): number - public abstract int EnableVideo(); - - Future<void> enableVideo();

    + public abstract int enableVideo(); + - (int)enableVideo; + virtual int enableVideo() = 0; + enableVideo(): number + public abstract int EnableVideo(); + + Future<void> enableVideo(); +

    -

    该方法可以在加入频道前或者通话中调用,在加入频道前调用则自动开启视频模块;在通话中调用则由音频模式切换为视频模式。调用 方法可关闭视频模式。

    +

    该方法可以在加入频道前或者通话中调用,在加入频道前调用则自动开启视频模块;在通话中调用则由音频模式切换为视频模式。调用 方法可关闭视频模式。

    成功调用该方法后,远端会触发 回调。

    -
      -
    • 该方法设置的是内部引擎为启用状态,在离开频道后仍然有效。
    • -
    • 该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制视频模块: - -
        -
      • : 是否启动摄像头采集并创建本地视频流。
      • -
      • : 是否发布本地视频流。
      • -
      • : 是否接收并播放远端视频流。
      • -
      • : 是否接收并播放所有远端视频流。
      • -
    • -
    +
  • 该方法设置的是内部引擎为启用状态,在离开频道后仍然有效。
  • +
  • 该方法重置整个引擎,响应时间较慢,因此声网建议使用如下方法来控制视频模块:
      +
    • : 是否启动摄像头采集并创建本地视频流。
    • +
    • : 是否发布本地视频流。
    • +
    • : 是否接收并播放远端视频流。
    • +
    • : 是否接收并播放所有远端视频流。
    • +
  • + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_enablevirtualbackground.dita b/dita/RTC/API/api_enablevirtualbackground.dita index b886673711a..37d59d40ea9 100644 --- a/dita/RTC/API/api_enablevirtualbackground.dita +++ b/dita/RTC/API/api_enablevirtualbackground.dita @@ -13,144 +13,136 @@

    - public abstract int enableVirtualBackground( + public abstract int enableVirtualBackground( boolean enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty); - - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData; - virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; + - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData; + virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, MEDIA_SOURCE_TYPE type);

    + public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, MEDIA_SOURCE_TYPE type); +

    - public abstract int enableVirtualBackground( + public abstract int enableVirtualBackground( boolean enabled, VirtualBackgroundSource backgroundSource); - - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData NS_SWIFT_NAME(enableVirtualBackground(_:backData:)); + - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData NS_SWIFT_NAME(enableVirtualBackground(_:backData:)); - virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource) = 0; + virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource) = 0; - - public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource); - - Future<void> enableVirtualBackground( - bool enabled, VirtualBackgroundSource backgroundSource);

    + + public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource); + + Future<void> enableVirtualBackground( + bool enabled, VirtualBackgroundSource backgroundSource); +

    - -
    自从
    -
    v3.5.0
    -
    + +
    自从
    +
    v3.5.0
    +

    虚拟背景功能支持你使用自定义的背景图替代本地用户原来的背景图或者将背景虚化处理。成功开启虚拟背景功能后,频道内所有用户都能看到自定义的背景。

    -

    你可以从 回调了解虚拟背景是否成功开启和相应的出错原因。

    -

    开启虚拟背景功能涉及一系列方法的调用,调用顺序如下: - - -

      -
    1. 在初始化 时调用 (agora_segmentation_extension),在项目中集成虚拟背景动态库。
    2. -
    3. 在项目文件中链接动态库 AgoraVideoSegmentationExtension.xcframework
    4. -
    5. 在项目文件中链接动态库 AgoraVideoSegmentationExtension.framework
    6. -
    7. 在初始化 时调用 (libagora_segmentation_extension.dll),指定动态库的路径和名称。
    8. -
    9. 调用 (agora_segmentation, PortraitSegmentation, ),开启插件。
    10. -
    11. 调用 ,启用视频模块。
    12. -
    13. 调用该方法,开启虚拟背景功能。
    14. -

    +

    你可以从 + 回调了解虚拟背景是否成功开启和相应的出错原因。

    +

    开启虚拟背景功能涉及一系列方法的调用,调用顺序如下:

      +
    1. 在初始化 时调用 (agora_segmentation_extension),在项目中集成虚拟背景动态库。
    2. +
    3. 在项目文件中链接动态库 + AgoraVideoSegmentationExtension.xcframework
    4. +
    5. 在项目文件中链接动态库 + AgoraVideoSegmentationExtension.framework
    6. +
    7. 在初始化 时调用 (libagora_segmentation_extension.dll),指定动态库的路径和名称。
    8. +
    9. 调用 (agora_segmentation, + PortraitSegmentation, ),开启插件。
    10. +
    11. 调用 ,启用视频模块。
    12. +
    13. 调用该方法,开启虚拟背景功能。
    14. +

    -
      -
    • 调用该方法前,请确保你已集成相应的动态库。 - - - -
        -
      • Android: libagora_segmentation_extension.so
      • -
      • iOS: AgoraVideoSegmentationExtension.xcframework
      • -
      • macOS: AgoraVideoSegmentationExtension.framework
      • -
      • Windows: libagora_segmentation_extension.dll
      • -
    • -
    • 该方法需要在 后调用。
    • -
    • 该功能对设备性能要求较高,声网推荐你在搭载如下芯片的设备上使用: - - -
        -
      • 骁龙 700 系列 750G 及以上
      • -
      • 骁龙 800 系列 835 及以上
      • -
      • 天玑 700 系列 720 及以上
      • -
      • 麒麟 800 系列 810 及以上
      • -
      • 麒麟 900 系列 980 及以上
      • -
      • CPU 为 i5 及更好的设备
      • -
      • 搭载 A9 及以上芯片的如下设备: - - -
          -
        • iPhone 6S 及以上
        • -
        • iPad Air 第三代及以上
        • -
        • iPad 第五代及以上
        • -
        • iPad Pro 第一代及以上
        • -
        • iPad mini 第五代及以上
        • -
      • -
    • -
    • 声网建议你在满足如下条件的场景中使用该功能: - -
        -
      • 使用高清摄像设备、摄像环境光照均匀。
      • -
      • 摄像画面中,物件较少,用户的人像为半身人像且基本无遮挡,背景色较单一且与用户着装颜色不同。
      • -
    • -
    +
  • 调用该方法前,请确保你已集成相应的动态库。
      +
    • Android: + libagora_segmentation_extension.so
    • +
    • iOS: + AgoraVideoSegmentationExtension.xcframework
    • +
    • macOS: + AgoraVideoSegmentationExtension.framework
    • +
    • Windows: + libagora_segmentation_extension.dll
    • +
  • +
  • 该方法需要在 后调用。
  • +
  • 该功能对设备性能要求较高,声网推荐你在搭载如下芯片的设备上使用:
      +
    • 骁龙 700 系列 750G 及以上
    • +
    • 骁龙 800 系列 835 及以上
    • +
    • 天玑 700 系列 720 及以上
    • +
    • 麒麟 800 系列 810 及以上
    • +
    • 麒麟 900 系列 980 及以上
    • +
    • CPU 为 i5 及更好的设备
    • +
    • 搭载 A9 及以上芯片的如下设备:
        +
      • iPhone 6S 及以上
      • +
      • iPad Air 第三代及以上
      • +
      • iPad 第五代及以上
      • +
      • iPad Pro 第一代及以上
      • +
      • iPad mini 第五代及以上
      • +
    • +
  • +
  • 声网建议你在满足如下条件的场景中使用该功能:
      +
    • 使用高清摄像设备、摄像环境光照均匀。
    • +
    • 摄像画面中,物件较少,用户的人像为半身人像且基本无遮挡,背景色较单一且与用户着装颜色不同。
    • +
  • + +
    参数 - - enabled - enable - 是否开启虚拟背景: - - - -
      -
    • : 开启。
    • -
    • : 关闭。
    • -
    -
    - - backgroundSource - backData - 自定义的背景图。详见 。为将自定义背景图的分辨率与 SDK 的视频采集分辨率适配,SDK 会在保证自定义背景图不变形的前提下,对自定义背景图进行缩放和裁剪。 - - - segproperty - segData - 背景图像的处理属性。详见 - - - type - 视频源类型。详见 。 - - - - 在该方法中,该参数仅支持以下两种设置: - - - -
      -
    • 默认值为
    • -
    • 如果要使用第二个摄像头采集视频,将该参数设置为
    • -
    -
    -
    + + enabled + enable + 是否开启虚拟背景:
      +
    • : 开启。
    • +
    • : 关闭。
    • +
    +
    + + backgroundSource + backData + 自定义的背景图。详见 。为将自定义背景图的分辨率与 SDK + 的视频采集分辨率适配,SDK 会在保证自定义背景图不变形的前提下,对自定义背景图进行缩放和裁剪。 + + + segproperty + segData + 背景图像的处理属性。详见 + + + type + 视频源类型。详见 在该方法中,该参数仅支持以下两种设置:
      +
    • 默认值为
    • +
    • 如果要使用第二个摄像头采集视频,将该参数设置为
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - - -
        -
      • -1:自定义的背景图不存在。请检查 source 的值。
      • -
      • -2:自定义的背景图颜色格式出错。请检查 color 的值。
      • -
      • -3:设备不支持使用虚拟背景。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -1:自定义的背景图不存在。请检查 中 + source 的值。
    • +
    • -2:自定义的背景图颜色格式出错。请检查 中 + color 的值。
    • +
    • -3:设备不支持使用虚拟背景。
    • +
  • + +
    diff --git a/dita/RTC/API/api_enablewebsdkinteroperability.dita b/dita/RTC/API/api_enablewebsdkinteroperability.dita index f7f5140b6a7..7f958db118d 100644 --- a/dita/RTC/API/api_enablewebsdkinteroperability.dita +++ b/dita/RTC/API/api_enablewebsdkinteroperability.dita @@ -13,20 +13,21 @@

    - public abstract int enableWebSdkInteroperability(boolean enabled); - - (int)enableWebSdkInteroperability:(BOOL)enabled; - virtual int enableWebSdkInteroperability(bool enabled) = 0; - enableWebSdkInteroperability(enabled: boolean): number - public abstract int EnableWebSdkInteroperability(bool enabled); - - Future<void> enableWebSdkInteroperability(bool enabled);

    + public abstract int enableWebSdkInteroperability(boolean enabled); + - (int)enableWebSdkInteroperability:(BOOL)enabled; + virtual int enableWebSdkInteroperability(bool enabled) = 0; + enableWebSdkInteroperability(enabled: boolean): number + public abstract int EnableWebSdkInteroperability(bool enabled); + + Future<void> enableWebSdkInteroperability(bool enabled); +

    - -
    弃用:
    -
    该方法已废弃,SDK 自动开启与 Web SDK 的互通,无需调用该方法开启。
    -
    + +
    弃用:
    +
    该方法已废弃,SDK 自动开启与 Web SDK 的互通,无需调用该方法开启。
    +

    该方法打开或关闭与 Web SDK 的互通。如果有用户通过 Web SDK 加入频道,请确保调用该方法,否则 Web 端用户看 Native 端的画面会是黑屏。

    该方法仅在直播场景下适用,通信场景下默认互通是打开的。

    @@ -34,22 +35,21 @@
    参数 - - enabled - 是否打开与 Web SDK 的互通: - - -
      -
    • : 打开互通。
    • -
    • : (默认) 关闭互通。
    • -
    -
    -
    + + enabled + 是否打开与 Web SDK 的互通:
      +
    • : 打开互通。
    • +
    • : (默认) 关闭互通。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_enablewirelessaccelerate.dita b/dita/RTC/API/api_enablewirelessaccelerate.dita index 562e60f7b4a..0eb3fb1c69d 100644 --- a/dita/RTC/API/api_enablewirelessaccelerate.dita +++ b/dita/RTC/API/api_enablewirelessaccelerate.dita @@ -13,44 +13,49 @@

    - - - virtual int enableWirelessAccelerate(bool enabled) = 0; - - public abstract int EnableWirelessAccelerate(bool enabled); - - Future<void> enableWirelessAccelerate(bool enabled);

    + + + virtual int enableWirelessAccelerate(bool enabled) = 0; + + public abstract int EnableWirelessAccelerate(bool enabled); + + Future<void> enableWirelessAccelerate(bool enabled); +

    当 SDK 发现集成加速插件的 Wi-Fi 路由器后,该功能才会生效,使路由器合理分配 Wi-Fi 频谱资源,以降低丢包率和时延,从而减少音视频卡顿。

    -

    当路由器提供加速服务后,SDK 会周期性触发 回调,报告 Wi-Fi 连接优化数据,并在 Wi-Fi 连接质量不佳时触发 回调,报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi 连接的操作建议。

    +

    当路由器提供加速服务后,SDK 会周期性触发 回调,报告 Wi-Fi 连接优化数据,并在 Wi-Fi + 连接质量不佳时触发 回调,报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi + 连接的操作建议。

    -
      -
    • Wi-Fi 加速功能默认关闭。必须与集成加速插件的路由器配合使用才能生效,详见哪些 Wi-Fi 路由器可支持加速功能。如果 Wi-Fi 路由器不支持加速功能,系统性能不会受损。
    • -
    • 加速功能生效后,路由器的 app 会显示加速效果和被加速 app 的名称。如果你不想在路由器的 app 中展示被加速 app 的名称,请调用 enableWirelessAccelerate(false) 关闭加速功能。
    • -
    • 声网提供的 Wi-Fi 加速功能除应用于音视频流,还可以应用于其他第三方业务流,如私有信令、课件、RTMP 协议等。如有需要,请联系 sales@agora.io。
    • -
    +
      +
    • Wi-Fi 加速功能默认关闭。必须与集成加速插件的路由器配合使用才能生效,详见哪些 + Wi-Fi 路由器可支持加速功能。如果 Wi-Fi 路由器不支持加速功能,系统性能不会受损。
    • +
    • 加速功能生效后,路由器的 app 会显示加速效果和被加速 app 的名称。如果你不想在路由器的 app 中展示被加速 app 的名称,请调用 + enableWirelessAccelerate(false) 关闭加速功能。
    • +
    • 声网提供的 Wi-Fi 加速功能除应用于音视频流,还可以应用于其他第三方业务流,如私有信令、课件、RTMP 协议等。如有需要,请联系 + sales@agora.io。
    • +
    + +
    参数 - - enabled - 设置是否开启 Wi-Fi 加速功能: - - - - -
      -
    • :开启。
    • -
    • :关闭。
    • -
    -
    -
    + + enabled + 设置是否开启 Wi-Fi 加速功能:
      +
    • :开启。
    • +
    • :关闭。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_enumeratedevices.dita b/dita/RTC/API/api_enumeratedevices.dita index 8f73f90330f..b63373819e1 100644 --- a/dita/RTC/API/api_enumeratedevices.dita +++ b/dita/RTC/API/api_enumeratedevices.dita @@ -13,27 +13,31 @@

    - - - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type; - - - - -

    + + - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type; + + + + + +

    -

    该方法返回一个 NSArray 对象,包含系统中所有的音视频设备。应用程序可以通过 NSArray 对象枚举设备。

    - 不要在主线程调用该方法。
    +

    该方法返回一个 NSArray 对象,包含系统中所有的音视频设备。应用程序可以通过 NSArray + 对象枚举设备。

    + 不要在主线程调用该方法。 +
    参数 - - type - -

    - - -

    + + type + +

    + + + +

    返回值

    调用成功时,返回 NSArray 对象,包含所有的音视频设备。

    diff --git a/dita/RTC/API/api_enumeratedisplays.dita b/dita/RTC/API/api_enumeratedisplays.dita index 79643f95c00..0280ac3963d 100644 --- a/dita/RTC/API/api_enumeratedisplays.dita +++ b/dita/RTC/API/api_enumeratedisplays.dita @@ -13,13 +13,14 @@

    - - - - - - - List<Display> enumerateDisplays()

    + + + + + + + List<Display> enumerateDisplays() +

    返回值 diff --git a/dita/RTC/API/api_enumeratewindows.dita b/dita/RTC/API/api_enumeratewindows.dita index cf92cc633c7..9bafcf582e9 100644 --- a/dita/RTC/API/api_enumeratewindows.dita +++ b/dita/RTC/API/api_enumeratewindows.dita @@ -13,13 +13,14 @@

    - - - - - - - List<Window> enumerateWindows()

    + + + + + + + List<Window> enumerateWindows() +

    返回值 diff --git a/dita/RTC/API/api_getagorartcaudioplaybackdevicemanager.dita b/dita/RTC/API/api_getagorartcaudioplaybackdevicemanager.dita index 07d45d09420..7cd22c547f1 100644 --- a/dita/RTC/API/api_getagorartcaudioplaybackdevicemanager.dita +++ b/dita/RTC/API/api_getagorartcaudioplaybackdevicemanager.dita @@ -2,7 +2,8 @@ <ph keyref="getAgoraRtcAudioPlaybackDeviceManager"/> - 获取 对象。 + 获取 + 对象。 @@ -13,16 +14,18 @@

    - - - - - public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); - -

    + + + + + public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); + + +

    返回值 - 一个 对象。
    + 一个 对象。 +
    diff --git a/dita/RTC/API/api_getagorartcaudiorecordingdevicemanager.dita b/dita/RTC/API/api_getagorartcaudiorecordingdevicemanager.dita index bd85fac3c04..28f3534f4a8 100644 --- a/dita/RTC/API/api_getagorartcaudiorecordingdevicemanager.dita +++ b/dita/RTC/API/api_getagorartcaudiorecordingdevicemanager.dita @@ -2,7 +2,8 @@ <ph keyref="getAgoraRtcAudioRecordingDeviceManager"/> - 获取 对象。 + 获取 + 对象。 @@ -13,16 +14,18 @@

    - - - - - public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); - -

    + + + + + public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); + + +

    返回值 - 一个 对象。
    + 一个 对象。 +
    diff --git a/dita/RTC/API/api_getagorartccloudspatialaudioengine.dita b/dita/RTC/API/api_getagorartccloudspatialaudioengine.dita index d944d91140c..679a5120765 100644 --- a/dita/RTC/API/api_getagorartccloudspatialaudioengine.dita +++ b/dita/RTC/API/api_getagorartccloudspatialaudioengine.dita @@ -2,7 +2,8 @@ <ph keyref="getAgoraRtcCloudSpatialAudioEngine"/> - 获取 对象。 + 获取 + 对象。 @@ -13,13 +14,14 @@

    - - - - - public abstract IAgoraRtcCloudSpatialAudioEngine GetAgoraRtcCloudSpatialAudioEngine(); - -

    + + + + + public abstract IAgoraRtcCloudSpatialAudioEngine GetAgoraRtcCloudSpatialAudioEngine(); + + +

    返回值 diff --git a/dita/RTC/API/api_getagorartcmediaplayer.dita b/dita/RTC/API/api_getagorartcmediaplayer.dita index c59e3056514..3c8f8e1ada6 100644 --- a/dita/RTC/API/api_getagorartcmediaplayer.dita +++ b/dita/RTC/API/api_getagorartcmediaplayer.dita @@ -13,16 +13,18 @@

    - - - - - public abstract IAgoraRtcMediaPlayer GetAgoraRtcMediaPlayer(); - -

    + + + + + public abstract IAgoraRtcMediaPlayer GetAgoraRtcMediaPlayer(); + + +

    返回值 - 一个 对象。
    + 一个 对象。 +
    diff --git a/dita/RTC/API/api_getagorartcspatialaudioengine.dita b/dita/RTC/API/api_getagorartcspatialaudioengine.dita index a3719277e53..19b2d26f37a 100644 --- a/dita/RTC/API/api_getagorartcspatialaudioengine.dita +++ b/dita/RTC/API/api_getagorartcspatialaudioengine.dita @@ -2,7 +2,8 @@ <ph keyref="getAgoraRtcSpatialAudioEngine"/> - 获取 对象。 + 获取 + 对象。 @@ -13,13 +14,14 @@

    - - - - - public abstract IAgoraRtcSpatialAudioEngine GetAgoraRtcSpatialAudioEngine(); - -

    + + + + + public abstract IAgoraRtcSpatialAudioEngine GetAgoraRtcSpatialAudioEngine(); + + +

    返回值 diff --git a/dita/RTC/API/api_getagorartcvideodevicemanager.dita b/dita/RTC/API/api_getagorartcvideodevicemanager.dita index be334bb0857..15d4211a1e8 100644 --- a/dita/RTC/API/api_getagorartcvideodevicemanager.dita +++ b/dita/RTC/API/api_getagorartcvideodevicemanager.dita @@ -2,7 +2,8 @@ <ph keyref="getAgoraRtcVideoDeviceManager"/> - 获取 对象。 + 获取 + 对象。 @@ -13,16 +14,18 @@

    - - - - - public abstract IAgoraRtcVideoDeviceManager GetAgoraRtcVideoDeviceManager(); - -

    + + + + + public abstract IAgoraRtcVideoDeviceManager GetAgoraRtcVideoDeviceManager(); + + +

    返回值 - 一个 对象。
    + 一个 对象。 +
    diff --git a/dita/RTC/API/api_getassetabsolutepath.dita b/dita/RTC/API/api_getassetabsolutepath.dita index dd7e7ca3894..c140dadc900 100644 --- a/dita/RTC/API/api_getassetabsolutepath.dita +++ b/dita/RTC/API/api_getassetabsolutepath.dita @@ -13,22 +13,24 @@

    - - - - - - - Future<String?> getAssetAbsolutePath(String assetPath)

    + + + + + + + Future<String?> getAssetAbsolutePath(String assetPath) +

    参数 - - asset - pubspec.yaml 文件中配置的 flutter -> assets 字段。 - -
    + + asset + pubspec.yaml 文件中配置的 flutter -> assets 字段。 + + +
    返回值

    Asset 的实际路径。

    diff --git a/dita/RTC/API/api_getaudiodeviceinfo.dita b/dita/RTC/API/api_getaudiodeviceinfo.dita index ff19656c3db..3a32534fdd2 100644 --- a/dita/RTC/API/api_getaudiodeviceinfo.dita +++ b/dita/RTC/API/api_getaudiodeviceinfo.dita @@ -13,48 +13,46 @@

    - public abstract DeviceInfo getAudioDeviceInfo(); - - virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0; - - - -

    + public abstract DeviceInfo getAudioDeviceInfo(); + + virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0; + + + + +

    调用该方法后,你可以获取音频设备是否支持极低延时采集和播放。

    -
      -
    • 该方法仅适用于 Android 平台。
    • -
    • 该方法在加入频道前后均可调用。
    • -
    +
      +
    • 该方法仅适用于 Android 平台。
    • +
    • 该方法在加入频道前后均可调用。
    • +
    +
    参数 - - deviceInfo - 输入和输出参数。标识音频设备信息的 对象。 - - -
      -
    • 输入值:一个 对象。
    • -
    • 输出值:一个包含了音频设备信息的 对象。
    • -
    -
    -
    + + deviceInfo + 输入和输出参数。标识音频设备信息的 对象。
      +
    • 输入值:一个 对象。
    • +
    • 输出值:一个包含了音频设备信息的 对象。
    • +
    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    -

    包含音频设备信息的 对象。 - - -

      -
    • 非空:方法调用成功。
    • -
    • 空:方法调用失败。
    • -

    +

    包含音频设备信息的 对象。

      +
    • 非空:方法调用成功。
    • +
    • 空:方法调用失败。
    • +

    diff --git a/dita/RTC/API/api_getaudioeffectmanager.dita b/dita/RTC/API/api_getaudioeffectmanager.dita index 524ffede493..88a98ec6f34 100644 --- a/dita/RTC/API/api_getaudioeffectmanager.dita +++ b/dita/RTC/API/api_getaudioeffectmanager.dita @@ -2,7 +2,8 @@ <ph keyref="getAudioEffectManager"/> - 获取 类,以管理音效文件。 + 获取 + 类,以管理音效文件。 @@ -13,13 +14,14 @@

    - public abstract IAudioEffectManager getAudioEffectManager(); - - - - - -

    + public abstract IAudioEffectManager getAudioEffectManager(); + + + + + + +

    返回值 diff --git a/dita/RTC/API/api_getaudiofileinfo.dita b/dita/RTC/API/api_getaudiofileinfo.dita index 0c921ea3683..cc13ab913b9 100644 --- a/dita/RTC/API/api_getaudiofileinfo.dita +++ b/dita/RTC/API/api_getaudiofileinfo.dita @@ -13,40 +13,46 @@

    - - - - - public abstract int GetAudioFileInfo(string filePath); - - Future<int?> getAudioFileInfo(String filePath);

    + + + + + public abstract int GetAudioFileInfo(string filePath); + + Future<int?> getAudioFileInfo(String filePath); +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    -

    成功调用该方法后,SDK 会触发 回调,报告指定音频文件的时长等信息。你可以多次调用该方法,获取多个音频文件的信息。

    +

    成功调用该方法后,SDK 会触发 + 回调,报告指定音频文件的时长等信息。你可以多次调用该方法,获取多个音频文件的信息。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • +
    + +
    参数 - - - - -
    + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_getaudiomixingcurrentposition.dita b/dita/RTC/API/api_getaudiomixingcurrentposition.dita index 387bf89f016..ed2271b61c1 100644 --- a/dita/RTC/API/api_getaudiomixingcurrentposition.dita +++ b/dita/RTC/API/api_getaudiomixingcurrentposition.dita @@ -13,22 +13,28 @@

    - public abstract int getAudioMixingCurrentPosition(); - - (int)getAudioMixingCurrentPosition; - virtual int getAudioMixingCurrentPosition() = 0; - getAudioMixingCurrentPosition(): number - public abstract int GetAudioMixingCurrentPosition(); - - Future<int?> getAudioMixingCurrentPosition();

    + public abstract int getAudioMixingCurrentPosition(); + - (int)getAudioMixingCurrentPosition; + virtual int getAudioMixingCurrentPosition() = 0; + getAudioMixingCurrentPosition(): number + public abstract int GetAudioMixingCurrentPosition(); + + Future<int?> getAudioMixingCurrentPosition(); +

    该方法获取当前音乐文件播放进度,单位为毫秒。

    - 你需要在调用 并收到 (PLAY) 回调后调用该方法。
    + 你需要在调用 并收到 (PLAY) + 回调后调用该方法。 +
    返回值
      -
    • ≥ 0: 方法调用成功返回音乐文件播放进度。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • ≥ 0: 方法调用成功返回音乐文件播放进度。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_getaudiomixingduration.dita b/dita/RTC/API/api_getaudiomixingduration.dita index 2aca684bee7..f7a84db1278 100644 --- a/dita/RTC/API/api_getaudiomixingduration.dita +++ b/dita/RTC/API/api_getaudiomixingduration.dita @@ -13,30 +13,36 @@

    - public abstract int getAudioMixingDuration(); - - (int)getAudioMixingDuration; - virtual int getAudioMixingDuration() = 0; - getAudioMixingDuration(): number - public abstract int GetAudioMixingDuration(); - -

    + public abstract int getAudioMixingDuration(); + - (int)getAudioMixingDuration; + virtual int getAudioMixingDuration() = 0; + getAudioMixingDuration(): number + public abstract int GetAudioMixingDuration(); + + +

    - -
    弃用:
    -
    自 v3.4.0 起废弃。请改用
    -
    + +
    弃用:
    +
    自 v3.4.0 起废弃。请改用
    +

    该方法获取音乐文件总时长,单位为毫秒。

    -

    你需要在调用 并收到 () 回调后调用该方法。

    -
    +

    你需要在调用 并收到 () 回调后调用该方法。

    + +
    返回值
      -
    • ≥ 0: 方法调用成功返回音乐文件时长。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • ≥ 0: 方法调用成功返回音乐文件时长。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_getaudiomixingduration2.dita b/dita/RTC/API/api_getaudiomixingduration2.dita index f54f82504aa..e3468751856 100644 --- a/dita/RTC/API/api_getaudiomixingduration2.dita +++ b/dita/RTC/API/api_getaudiomixingduration2.dita @@ -13,39 +13,43 @@

    - public abstract int getAudioMixingDuration(String filePath); - - (int)getAudioMixingDuration:(NSString* _Nullable)filePath; - virtual int getAudioMixingDuration(const char* filePath) = 0; - getAudioMixingDuration(filePath?: string): number - public abstract int GetAudioMixingDuration(string filePath); - - Future<int?> getAudioMixingDuration([String? filePath]);

    + public abstract int getAudioMixingDuration(String filePath); + - (int)getAudioMixingDuration:(NSString* _Nullable)filePath; + virtual int getAudioMixingDuration(const char* filePath) = 0; + getAudioMixingDuration(filePath?: string): number + public abstract int GetAudioMixingDuration(string filePath); + + Future<int?> getAudioMixingDuration([String? filePath]); +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +
    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • +
    +
    参数 - - - - -
    + + + + + +
    返回值
      -
    • ≥ 0: 方法调用成功返回音乐文件时长(毫秒)。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • ≥ 0: 方法调用成功返回音乐文件时长(毫秒)。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_getaudiomixingplayoutvolume.dita b/dita/RTC/API/api_getaudiomixingplayoutvolume.dita index d99b952c8de..350944c6e8f 100644 --- a/dita/RTC/API/api_getaudiomixingplayoutvolume.dita +++ b/dita/RTC/API/api_getaudiomixingplayoutvolume.dita @@ -13,31 +13,35 @@

    - public abstract int getAudioMixingPlayoutVolume(); - - (int)getAudioMixingPlayoutVolume; - virtual int getAudioMixingPlayoutVolume() = 0; - getAudioMixingPlayoutVolume(): number - public abstract int GetAudioMixingPlayoutVolume(); - - Future<int?> getAudioMixingPlayoutVolume();

    + public abstract int getAudioMixingPlayoutVolume(); + - (int)getAudioMixingPlayoutVolume; + virtual int getAudioMixingPlayoutVolume() = 0; + getAudioMixingPlayoutVolume(): number + public abstract int GetAudioMixingPlayoutVolume(); + + Future<int?> getAudioMixingPlayoutVolume(); +

    - -
    自从
    -
    v2.4.1
    -
    + +
    自从
    +
    v2.4.1
    +

    该方法获取混音的音乐文件本地播放音量,方便排查音量相关问题。

    -

    你需要在调用 并收到 (PLAY) 回调后调用该方法。

    -

    请在频道内调用该方法。

    -
    +

    你需要在调用 并收到 (PLAY) 回调后调用该方法。

    +

    请在频道内调用该方法。

    + +
    返回值
      -
    • ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_getaudiomixingpublishvolume.dita b/dita/RTC/API/api_getaudiomixingpublishvolume.dita index ad9cefafbc2..2177d82c063 100644 --- a/dita/RTC/API/api_getaudiomixingpublishvolume.dita +++ b/dita/RTC/API/api_getaudiomixingpublishvolume.dita @@ -13,28 +13,33 @@

    - public abstract int getAudioMixingPublishVolume(); - - (int)getAudioMixingPublishVolume; - virtual int getAudioMixingPublishVolume() = 0; - getAudioMixingPublishVolume(): number - public abstract int GetAudioMixingPublishVolume(); - - Future<int?> getAudioMixingPublishVolume();

    + public abstract int getAudioMixingPublishVolume(); + - (int)getAudioMixingPublishVolume; + virtual int getAudioMixingPublishVolume() = 0; + getAudioMixingPublishVolume(): number + public abstract int GetAudioMixingPublishVolume(); + + Future<int?> getAudioMixingPublishVolume(); +

    - -
    自从
    -
    v2.4.1
    -
    + +
    自从
    +
    v2.4.1
    +

    该接口可以方便开发者排查音量相关问题。

    - 你需要在调用 并收到 (PLAY) 回调后调用该方法。
    + 你需要在调用 并收到 + (PLAY) + 回调后调用该方法。 +
    返回值
      -
    • ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • ≥ 0: 方法调用成功则返回音量值,范围为 [0,100]。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_getaudioplaybackdevices.dita b/dita/RTC/API/api_getaudioplaybackdevices.dita index 7ede263db4c..0bab6ab99ff 100644 --- a/dita/RTC/API/api_getaudioplaybackdevices.dita +++ b/dita/RTC/API/api_getaudioplaybackdevices.dita @@ -13,13 +13,14 @@

    - - - - getAudioPlaybackDevices(): Array<Device> - - -

    + + + + getAudioPlaybackDevices(): Array<Device> + + + +

    返回值 diff --git a/dita/RTC/API/api_getaudiorecordingdevices.dita b/dita/RTC/API/api_getaudiorecordingdevices.dita index 874757d73fb..f0c96b1dc1d 100644 --- a/dita/RTC/API/api_getaudiorecordingdevices.dita +++ b/dita/RTC/API/api_getaudiorecordingdevices.dita @@ -13,13 +13,14 @@

    - - - - getAudioRecordingDevices(): Array<Device> - - -

    + + + + getAudioRecordingDevices(): Array<Device> + + + +

    返回值 diff --git a/dita/RTC/API/api_getaudiotrackcount.dita b/dita/RTC/API/api_getaudiotrackcount.dita index 0d157801cd8..9f609d047ee 100644 --- a/dita/RTC/API/api_getaudiotrackcount.dita +++ b/dita/RTC/API/api_getaudiotrackcount.dita @@ -13,32 +13,39 @@

    - - - - - public abstract int GetAudioTrackCount(); - - Future<int?> getAudioTrackCount();

    + + + + + public abstract int GetAudioTrackCount(); + + Future<int?> getAudioTrackCount(); +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    -
      -
    • 该方法仅适用于 Android、iOS 和 Windows。
    • -
    • 你需要在调用 并收到 (AUDIO_MIXING_STATE_PLAYING) 回调后调用该方法。
    • -
    • -
    +
      +
    • 该方法仅适用于 Android、iOS + 和 Windows。
    • +
    • 你需要在调用 并收到 (AUDIO_MIXING_STATE_PLAYING) 回调后调用该方法。
    • +
    • +
    + +
    返回值
      -
    • ≥ 0: 方法调用成功,返回当前音乐文件的音轨索引。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • ≥ 0: 方法调用成功,返回当前音乐文件的音轨索引。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_getbuffertype.dita b/dita/RTC/API/api_getbuffertype.dita index 095d4c0304f..897ab75a4cf 100644 --- a/dita/RTC/API/api_getbuffertype.dita +++ b/dita/RTC/API/api_getbuffertype.dita @@ -13,17 +13,20 @@

    - - - virtual agora::media::ExternalVideoFrame::VIDEO_PIXEL_FORMAT getBufferType() = 0; - - - -

    + + + virtual agora::media::ExternalVideoFrame::VIDEO_PIXEL_FORMAT getBufferType() = 0; + + + + +

    在你初始化自定义视频源之前,SDK 会触发该回调来查询视频帧类型。你必须在返回值中指定一种视频帧类型来告知 SDK。

    - 请确保在该回调中指定的视频帧类型和在 方法中指定的视频帧类型一致。
    + 请确保在该回调中指定的视频帧类型和在 + 方法中指定的视频帧类型一致。 +
    返回值

    diff --git a/dita/RTC/API/api_getcallid.dita b/dita/RTC/API/api_getcallid.dita index e9f20ca9177..d125e12535f 100644 --- a/dita/RTC/API/api_getcallid.dita +++ b/dita/RTC/API/api_getcallid.dita @@ -13,36 +13,41 @@

    - public abstract String getCallId(); - - (NSString * _Nullable)getCallId; - virtual int getCallId(agora::util::AString& callId) = 0; - getCallId(): string - public abstract string GetCallId(); - - Future<String?> getCallId();

    + public abstract String getCallId(); + - (NSString * _Nullable)getCallId; + virtual int getCallId(agora::util::AString& callId) = 0; + getCallId(): string + public abstract string GetCallId(); + + Future<String?> getCallId(); +

    -

    客户端在每次加入频道后会生成一个对应的 callId,标识该客户端的此次通话。有些方法,如 等, - 需要在通话结束后调用,向 SDK 提交反馈。这些方法中需要填入指定的 callId 参数。

    - 该方法需要在加入频道后调用。
    +

    客户端在每次加入频道后会生成一个对应的 callId,标识该客户端的此次通话。有些方法,如 等, 需要在通话结束后调用,向 SDK 提交反馈。这些方法中需要填入指定的 + callId 参数。

    + 该方法需要在加入频道后调用。 +
    参数 - - callId - 输出参数,当前的通话 ID。 - -
    + + callId + 输出参数,当前的通话 ID。 + + +
    返回值

    通话 ID。

      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • +
    • 0: 方法调用成功
    • +
    • < 0: 方法调用失败
      -
    • 方法调用成功则返回当前的通话 ID。
    • -
    • 方法调用失败则返回空字符串。
    • -
    +
  • 方法调用成功则返回当前的通话 ID。
  • +
  • 方法调用失败则返回空字符串。
  • + +
    diff --git a/dita/RTC/API/api_getcameramaxzoomfactor.dita b/dita/RTC/API/api_getcameramaxzoomfactor.dita index b8467c9e39b..ca65a84251b 100644 --- a/dita/RTC/API/api_getcameramaxzoomfactor.dita +++ b/dita/RTC/API/api_getcameramaxzoomfactor.dita @@ -13,20 +13,23 @@

    - public abstract float getCameraMaxZoomFactor(); - - (CGFloat)cameraMaxZoomFactor; - virtual float getCameraMaxZoomFactor() = 0; - - public abstract float GetCameraMaxZoomFactor(); - - Future<double?> getCameraMaxZoomFactor();

    + public abstract float getCameraMaxZoomFactor(); + - (CGFloat)cameraMaxZoomFactor; + virtual float getCameraMaxZoomFactor() = 0; + + public abstract float GetCameraMaxZoomFactor(); + + Future<double?> getCameraMaxZoomFactor(); +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 请在启动摄像头之前调用该方法,如 或者 之前。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 请在启动摄像头之前调用该方法,如 + 或者 之前。
    • +
    +
    返回值

    设备摄像头支持的最大缩放比例。

    diff --git a/dita/RTC/API/api_getconnectionstate.dita b/dita/RTC/API/api_getconnectionstate.dita index 23e6e5650ae..13b25679304 100644 --- a/dita/RTC/API/api_getconnectionstate.dita +++ b/dita/RTC/API/api_getconnectionstate.dita @@ -1,8 +1,12 @@ - <ph keyref="getConnectionState"/> - 获取当前网络连接状态。 + + <ph keyref="getConnectionState"/> + + + 获取当前网络连接状态。 + @@ -13,20 +17,21 @@

    - public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionState(); - - (AgoraConnectionState)getConnectionState; - virtual CONNECTION_STATE_TYPE getConnectionState() = 0; - getConnectionState(): CONNECTION_STATE_TYPE - public abstract CONNECTION_STATE_TYPE GetConnectionState(); - - Future<ConnectionStateType> getConnectionState();

    + public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionState(); + - (AgoraConnectionState)getConnectionState; + virtual CONNECTION_STATE_TYPE getConnectionState() = 0; + getConnectionState(): CONNECTION_STATE_TYPE + public abstract CONNECTION_STATE_TYPE GetConnectionState(); + + Future<ConnectionStateType> getConnectionState(); +

    - -
    自从
    -
    v2.3.2
    -
    + +
    自从
    +
    v2.3.2
    +

    该方法在加入频道前后都能调用。

    diff --git a/dita/RTC/API/api_getdeviceinfo.dita b/dita/RTC/API/api_getdeviceinfo.dita index 2c360e94684..b5dac33ada6 100644 --- a/dita/RTC/API/api_getdeviceinfo.dita +++ b/dita/RTC/API/api_getdeviceinfo.dita @@ -13,13 +13,14 @@

    - - - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type; - - - - -

    + + - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type; + + + + + +

    该方法通过 type 参数获取当前音、视频采集或播放设备。

    @@ -27,18 +28,20 @@
    参数 - - type - -

    设备的类型,包括音、视频采集或播放设备,详见

    -
    -
    -
    + + type + +

    设备的类型,包括音、视频采集或播放设备,详见

    +
    +
    + +
    返回值
      -
    • 调用成功时,返回
    • -
    • 调用失败时,返回 nil
    • -
    +
  • 调用成功时,返回
  • +
  • 调用失败时,返回 nil
  • + +
    diff --git a/dita/RTC/API/api_getdevicevolume.dita b/dita/RTC/API/api_getdevicevolume.dita index 0191242cd09..2ebc89696f0 100644 --- a/dita/RTC/API/api_getdevicevolume.dita +++ b/dita/RTC/API/api_getdevicevolume.dita @@ -13,29 +13,32 @@

    - - - (int)getDeviceVolume:(AgoraMediaDeviceType)type; - - - - -

    + + - (int)getDeviceVolume:(AgoraMediaDeviceType)type; + + + + + +

    参数 - - type - -

    - - -

    + + type + +

    + + + +

    返回值
      -
    • 调用成功,返回设备的音量
    • -
    • < 0: 方法调用失败
    • -
    +
  • 调用成功,返回设备的音量
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_geteffectcurrentposition.dita b/dita/RTC/API/api_geteffectcurrentposition.dita index 908834ab531..3bcf4e8085a 100644 --- a/dita/RTC/API/api_geteffectcurrentposition.dita +++ b/dita/RTC/API/api_geteffectcurrentposition.dita @@ -13,35 +13,39 @@

    - public int getEffectCurrentPosition(int soundId); - - (int)getEffectCurrentPosition:(int)soundId; - virtual int getEffectCurrentPosition(int soundId) = 0; - getEffectCurrentPosition(soundId: number): number - public abstract int GetEffectCurrentPosition(int soundId); - - Future<int?> getEffectCurrentPosition(int soundId);

    + public int getEffectCurrentPosition(int soundId); + - (int)getEffectCurrentPosition:(int)soundId; + virtual int getEffectCurrentPosition(int soundId) = 0; + getEffectCurrentPosition(soundId: number): number + public abstract int GetEffectCurrentPosition(int soundId); + + Future<int?> getEffectCurrentPosition(int soundId); +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +
    - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    参数 - - soundId - - -
    + + soundId + + + +
    返回值
      -
    • ≥ 0:方法调用成功,返回指定音效文件的播放进度(毫秒)。
    • -
    • < 0:方法调用失败。
    • -
    +
  • ≥ 0:方法调用成功,返回指定音效文件的播放进度(毫秒)。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_geteffectduration.dita b/dita/RTC/API/api_geteffectduration.dita index f19d9ab3587..b92c2eab204 100644 --- a/dita/RTC/API/api_geteffectduration.dita +++ b/dita/RTC/API/api_geteffectduration.dita @@ -13,35 +13,39 @@

    - public int getEffectDuration(String filePath); - - (int)getEffectDuration:(NSString*)filePath; - virtual int getEffectDuration(const char* filePath) = 0; - getEffectDuration(filePath: string): number - public abstract int GetEffectDuration(string filePath); - - Future<int?> getEffectDuration(String filePath);

    + public int getEffectDuration(String filePath); + - (int)getEffectDuration:(NSString*)filePath; + virtual int getEffectDuration(const char* filePath) = 0; + getEffectDuration(filePath: string): number + public abstract int GetEffectDuration(string filePath); + + Future<int?> getEffectDuration(String filePath); +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +
    - 该方法需要在加入频道后调用。
    + 该方法需要在加入频道后调用。 +
    参数 - - - - -
    + + + + + +
    返回值
      -
    • ≥ 0:方法调用成功,返回指定音效文件时长(毫秒)。
    • -
    • < 0:方法调用失败。
    • -
    +
  • ≥ 0:方法调用成功,返回指定音效文件时长(毫秒)。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_geteffectsvolume.dita b/dita/RTC/API/api_geteffectsvolume.dita index fdeaa709a62..61267f02b40 100644 --- a/dita/RTC/API/api_geteffectsvolume.dita +++ b/dita/RTC/API/api_geteffectsvolume.dita @@ -13,24 +13,27 @@

    - public double getEffectsVolume(); + public double getEffectsVolume(); - - (int)getEffectsVolume; + - (int)getEffectsVolume; - virtual int getEffectsVolume() = 0; - getEffectsVolume(): number - public abstract int GetEffectsVolume(); - - Future<double?> getEffectsVolume();

    + virtual int getEffectsVolume() = 0; + getEffectsVolume(): number + public abstract int GetEffectsVolume(); + + Future<double?> getEffectsVolume(); +

    音量范围为 0~100。100 (默认值)为原始文件音量。

    - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    返回值
      -
    • 音效文件的音量。
    • -
    • < 0: 方法调用失败
    • -
    +
  • 音效文件的音量。
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_geterrordescription.dita b/dita/RTC/API/api_geterrordescription.dita index dd867a27695..9460de8e05a 100644 --- a/dita/RTC/API/api_geterrordescription.dita +++ b/dita/RTC/API/api_geterrordescription.dita @@ -13,23 +13,25 @@

    - public static String getErrorDescription(int error) - + (NSString* _Nonnull)getErrorDescription: (NSInteger)error; - virtual const char* getErrorDescription(int code) = 0; - getErrorDescription(errorCode: number): string - public abstract string GetErrorDescription(int code); - - Future<String?> getErrorDescription(int error)

    + public static String getErrorDescription(int error) + + (NSString* _Nonnull)getErrorDescription: (NSInteger)error; + virtual const char* getErrorDescription(int code) = 0; + getErrorDescription(errorCode: number): string + public abstract string GetErrorDescription(int code); + + Future<String?> getErrorDescription(int error) +

    参数 - - code - error - SDK 报告的错误码或警告码。 - -
    + + code + error + SDK 报告的错误码或警告码。 + + +
    返回值

    具体的错误或警告描述。

    diff --git a/dita/RTC/API/api_getloopbackrecordingvolume.dita b/dita/RTC/API/api_getloopbackrecordingvolume.dita index 91d48c4ef9e..a5341586263 100644 --- a/dita/RTC/API/api_getloopbackrecordingvolume.dita +++ b/dita/RTC/API/api_getloopbackrecordingvolume.dita @@ -13,13 +13,14 @@

    - - - virtual int getLoopbackRecordingVolume() = 0; - - - -

    + + + virtual int getLoopbackRecordingVolume() = 0; + + + + +

    @@ -27,11 +28,12 @@

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_getmediarecorder.dita b/dita/RTC/API/api_getmediarecorder.dita index da9c7c8b0d5..0a2ae43652c 100644 --- a/dita/RTC/API/api_getmediarecorder.dita +++ b/dita/RTC/API/api_getmediarecorder.dita @@ -13,29 +13,32 @@

    - - - AGORA_CPP_API static IMediaRecorder* getMediaRecorder(IRtcEngine* engine, IMediaRecorderObserver* callback); - - - - static MediaRecorder getMediaRecorder(RtcEngine engine, - {MediaRecorderObserver? callback})

    + + + AGORA_CPP_API static IMediaRecorder* getMediaRecorder(IRtcEngine* engine, IMediaRecorderObserver* callback); + + + + static MediaRecorder getMediaRecorder(RtcEngine engine, + {MediaRecorderObserver? callback}) +

    - 该方法需要在初始化 对象后调用。
    + 该方法需要在初始化 对象后调用。 +
    参数 - - engine - 对象。 - - - callback - 音视频录制事件。详见 - -
    + + engine + 对象。 + + + callback + 音视频录制事件。详见 + + +
    返回值

    对象。

    diff --git a/dita/RTC/API/api_getnativehandle.dita b/dita/RTC/API/api_getnativehandle.dita index f57cafa5e62..1a7caf7f9f3 100644 --- a/dita/RTC/API/api_getnativehandle.dita +++ b/dita/RTC/API/api_getnativehandle.dita @@ -13,13 +13,14 @@

    - public abstract long getNativeHandle(); - - (void* _Nullable)getNativeHandle; - - - - - Future<int?> getNativeHandle();

    + public abstract long getNativeHandle(); + - (void* _Nullable)getNativeHandle; + + + + + Future<int?> getNativeHandle(); +

    该方法获取 Native SDK engine 的 C++ 句柄,用于包括注册音视频帧观测器在内的特殊场景。

    diff --git a/dita/RTC/API/api_getpluginparameter.dita b/dita/RTC/API/api_getpluginparameter.dita index 4c963142b1e..00f62b4c700 100644 --- a/dita/RTC/API/api_getpluginparameter.dita +++ b/dita/RTC/API/api_getpluginparameter.dita @@ -13,29 +13,32 @@

    - - - - getPluginParameter(pluginId: string, key: string): string - - -

    + + + + getPluginParameter(pluginId: string, key: string): string + + + +

    -

    如果你想在使用插件时将 JSON 字符串数据传递给 C++ 层,你需要调用 获取并设置参数。

    +

    如果你想在使用插件时将 JSON 字符串数据传递给 C++ 层,你需要调用 获取并设置参数。

    参数 - - - - - - key - Key 值。 - -
    + + + + + + key + Key 值。 + + +
    返回值

    Key 值对应的 Value 值。

    diff --git a/dita/RTC/API/api_getplugins.dita b/dita/RTC/API/api_getplugins.dita index 043fc5b04f0..50efbc0be8c 100644 --- a/dita/RTC/API/api_getplugins.dita +++ b/dita/RTC/API/api_getplugins.dita @@ -13,13 +13,14 @@

    - - - - getPlugins(): Plugin[] - - -

    + + + + getPlugins(): Plugin[] + + + +

    调用 后,你可以调用本方法获取注册的插件。

    diff --git a/dita/RTC/API/api_getscreencapturesources.dita b/dita/RTC/API/api_getscreencapturesources.dita index ae9918ada1a..ae5ff74a374 100644 --- a/dita/RTC/API/api_getscreencapturesources.dita +++ b/dita/RTC/API/api_getscreencapturesources.dita @@ -13,47 +13,54 @@

    - - - virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0; - - - -

    + + + virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0; + + + + +

    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +
    -

    屏幕共享或窗口共享前,你可以调用该方法获取可共享的屏幕和窗口的对象列表,方便用户通过列表中的缩略图选择共享某个显示器的屏幕或某个窗口。列表中包含窗口 ID 和屏幕 ID 等重要信息,你可以获取到 ID 后再调用 开启共享。

    +

    屏幕共享或窗口共享前,你可以调用该方法获取可共享的屏幕和窗口的对象列表,方便用户通过列表中的缩略图选择共享某个显示器的屏幕或某个窗口。列表中包含窗口 ID 和屏幕 ID + 等重要信息,你可以获取到 ID 后再调用 开启共享。

    该方法仅适用于 Windows。 - 该方法仅适用于 macOS 和 Windows。
    + 该方法仅适用于 macOS 和 Windows。 +
    参数 - - thumbSize - 屏幕或窗口的缩略图的目标尺寸(宽高单位为像素)。详见 。 SDK 会在保证原图不变形的前提下,缩放原图,使图片最长边和目标尺寸的最长边的长度一致。例如,原图宽高为 400 × 300,thumbSize 为 100 x 100,缩略图实际尺寸为 100 × 75。如果目标尺寸大于原图尺寸,缩略图即为原图,SDK 不进行缩放操作。 - - - iconSize - 程序所对应的图标的目标尺寸(宽高单位为像素)。详见 。 SDK 会在保证原图不变形的前提下,缩放原图,使图片最长边和目标尺寸的最长边的长度一致。例如,原图宽高为 400 × 300,iconSize 为 100 × 100,图标实际尺寸为 100 × 75。如果目标尺寸大于原图尺寸,图标即为原图,SDK 不进行缩放操作。 - - - includeScreen - 除了窗口信息外,SDK 是否返回屏幕信息: - - - -
      -
    • :SDK 返回屏幕和窗口信息。
    • -
    • :SDK 仅返回窗口信息。
    • -
    -
    -
    + + thumbSize + 屏幕或窗口的缩略图的目标尺寸(宽高单位为像素)。详见 。 SDK + 会在保证原图不变形的前提下,缩放原图,使图片最长边和目标尺寸的最长边的长度一致。例如,原图宽高为 400 × + 300,thumbSize 为 100 x 100,缩略图实际尺寸为 100 × + 75。如果目标尺寸大于原图尺寸,缩略图即为原图,SDK 不进行缩放操作。 + + + iconSize + 程序所对应的图标的目标尺寸(宽高单位为像素)。详见 。 SDK + 会在保证原图不变形的前提下,缩放原图,使图片最长边和目标尺寸的最长边的长度一致。例如,原图宽高为 400 × + 300,iconSize 为 100 × 100,图标实际尺寸为 100 × + 75。如果目标尺寸大于原图尺寸,图标即为原图,SDK 不进行缩放操作。 + + + includeScreen + 除了窗口信息外,SDK 是否返回屏幕信息:
      +
    • :SDK 返回屏幕和窗口信息。
    • +
    • :SDK 仅返回窗口信息。
    • +
    +
    + +
    返回值

    diff --git a/dita/RTC/API/api_getscreensharehelper.dita b/dita/RTC/API/api_getscreensharehelper.dita index 99e209bc191..52ab54e6550 100644 --- a/dita/RTC/API/api_getscreensharehelper.dita +++ b/dita/RTC/API/api_getscreensharehelper.dita @@ -13,22 +13,24 @@

    - - - - - - - Future<RtcEngine> getScreenShareHelper({String? appGroup})

    + + + + + + + Future<RtcEngine> getScreenShareHelper({String? appGroup}) +

    参数 - - appGroup - App group。 - -
    + + appGroup + App group。 + + +
    返回值

    一个子进程对象,可用于屏幕共享场景。

    diff --git a/dita/RTC/API/api_getscreensinfo.dita b/dita/RTC/API/api_getscreensinfo.dita index 3add82a5297..57287b3f4f4 100644 --- a/dita/RTC/API/api_getscreensinfo.dita +++ b/dita/RTC/API/api_getscreensinfo.dita @@ -13,17 +13,19 @@

    - - - - getScreensInfo(): Array<Object> - - -

    + + + + getScreensInfo(): Array<Object> + + + +

    使用标识屏幕的 Display ID(macOS 系统)或 ScreenRect(Windows 系统)共享屏幕前,你需要调用该方法获取屏幕信息。

    - 该方法可以获取多个屏幕的信息。
    + 该方法可以获取多个屏幕的信息。 +
    返回值

    包含屏幕信息的对象。Windows 系统和 macOS 系统中返回的屏幕信息不同。你无需了解该对象的具体内容,直接使用该对象进行屏幕共享。

    diff --git a/dita/RTC/API/api_getuserinfobyuid.dita b/dita/RTC/API/api_getuserinfobyuid.dita index 203efd5906b..151af929421 100644 --- a/dita/RTC/API/api_getuserinfobyuid.dita +++ b/dita/RTC/API/api_getuserinfobyuid.dita @@ -13,74 +13,83 @@

    - virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; - public abstract int GetUserInfoByUid(uint uid, out UserInfo userInfo, string channelId = null, string localUserAccount = null);

    + virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; + public abstract int GetUserInfoByUid(uint uid, out UserInfo userInfo, string channelId = null, string localUserAccount = null); +

    - virtual int getUserInfoByUid(uid_t uid, UserInfo* userInfo) = 0; - public abstract int GetUserInfoByUid(uint uid, out UserInfo userInfo);

    + virtual int getUserInfoByUid(uid_t uid, UserInfo* userInfo) = 0; + public abstract int GetUserInfoByUid(uint uid, out UserInfo userInfo); +

    - public abstract int getUserInfoByUid(int uid, UserInfo userInfo); - - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error; - getUserInfoByUid(uid: number): { errCode: number; userInfo: UserInfo } - - Future<UserInfo> getUserInfoByUid(int uid);

    + public abstract int getUserInfoByUid(int uid, UserInfo userInfo); + - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error; + getUserInfoByUid(uid: number): { errCode: number; userInfo: UserInfo } + + Future<UserInfo> getUserInfoByUid(int uid); +

    - -
    自从
    -
    v2.8.0
    -
    + +
    自从
    +
    v2.8.0
    +
    -

    远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,并在本地触发 回调。收到这个回调后,你可以调用该方法,通过传入 UID 获取包含了指定用户 User Account 的 对象。

    +

    远端用户加入频道后,SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 + User Account 的 Mapping 表,并在本地触发 + 回调。收到这个回调后,你可以调用该方法,通过传入 UID 获取包含了指定用户 User Account 的 + 对象。

    参数 - - uid - 用户 ID。 - - - userInfo - 输入和输出参数。标识用户的 对象。 -

    -

      -
    • 输入值:一个 对象
    • -
    • 输出值:一个包含了用户 User Account 和 UID 的 对象
    • -

    -
    -
    - - channelId - -

    - - - - localUserAccount - 本地用户的 User Account。 - - - error - 错误码。 - -

    + + uid + 用户 ID。 + + + userInfo + 输入和输出参数。标识用户的 对象。 +

    +

      +
    • 输入值:一个 对象
    • +
    • 输出值:一个包含了用户 User Account 和 UID 的 + 对象
    • +

    +
    +
    + + channelId + +

    + + + + localUserAccount + 本地用户的 User Account。 + + + error + 错误码。 + + +

    返回值

    包含用户信息的 对象。

      -
    • 非空:方法调用成功。
    • -
    • 空:方法调用失败。
    • +
    • 非空:方法调用成功。
    • +
    • 空:方法调用失败。
      -
    • 方法调用成功,返回 对象。
    • -
    • 方法调用失败,则返回
    • -
    • 方法调用失败,则返回错误码(errCode)。
    • +
    • 方法调用成功,返回 对象。
    • +
    • 方法调用失败,则返回
    • +
    • 方法调用失败,则返回错误码(errCode)。
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_getuserinfobyuidex.dita b/dita/RTC/API/api_getuserinfobyuidex.dita index 6bef1f5ca02..807ea9d8917 100644 --- a/dita/RTC/API/api_getuserinfobyuidex.dita +++ b/dita/RTC/API/api_getuserinfobyuidex.dita @@ -13,17 +13,18 @@

    - public abstract UserInfo getUserInfoByUid(int uid, String channelId, String localUserAccount); + public abstract UserInfo getUserInfoByUid(int uid, String channelId, String localUserAccount); - - (int)getUserInfoWithUserId:(NSUInteger)uid + - (int)getUserInfoWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo *_Nullable* _Nullable)userInfo channelId:(NSString* _Nonnull)channelId localUserAccount:(NSString* _Nonnull)localUserAccount; - - - - -

    + + + + + +

    @@ -31,39 +32,40 @@

    参数 - - uid - 用户 ID。 - - - userInfo - 标识用户信息的 对象。 - -
      -
    • 输入值:一个 对象。
    • -
    • 输出值:一个包含了用户 User Account 和 UID 的 对象。
    • -
    -
    - - channelId - -

    - - - - localUserAccount - 本地用户的 User Account。 - -

    + + uid + 用户 ID。 + + + userInfo + 标识用户信息的 对象。
      +
    • 输入值:一个 对象。
    • +
    • 输出值:一个包含了用户 User Account 和 UID 的 + 对象。
    • +
    +
    + + channelId + +

    + + + + localUserAccount + 本地用户的 User Account。 + + +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。
      -
    • 方法调用成功,返回 对象。
    • -
    • 方法调用失败,则返回
    • -
    +
  • 方法调用成功,返回 对象。
  • +
  • 方法调用失败,则返回
  • + +
    diff --git a/dita/RTC/API/api_getuserinfobyuseraccount.dita b/dita/RTC/API/api_getuserinfobyuseraccount.dita index f01428d7708..149ad161496 100644 --- a/dita/RTC/API/api_getuserinfobyuseraccount.dita +++ b/dita/RTC/API/api_getuserinfobyuseraccount.dita @@ -13,56 +13,60 @@

    - virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; - public abstract int GetUserInfoByUserAccount(string userAccount, out UserInfo userInfo, string channelId = null, string localUserAccount = null);

    + virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; + public abstract int GetUserInfoByUserAccount(string userAccount, out UserInfo userInfo, string channelId = null, string localUserAccount = null); +

    - virtual int getUserInfoByUserAccount(const char* userAccount, UserInfo* userInfo) = 0; - public abstract int GetUserInfoByUserAccount(string userAccount, out UserInfo userInfo);

    + virtual int getUserInfoByUserAccount(const char* userAccount, UserInfo* userInfo) = 0; + public abstract int GetUserInfoByUserAccount(string userAccount, out UserInfo userInfo); +

    - public abstract int getUserInfoByUserAccount(String userAccount, UserInfo userInfo); - - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error; - getUserInfoByUserAccount(userAccount: string): { errCode: number; userInfo: UserInfo } - - Future<UserInfo> getUserInfoByUserAccount(String userAccount);

    + public abstract int getUserInfoByUserAccount(String userAccount, UserInfo userInfo); + - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error; + getUserInfoByUserAccount(userAccount: string): { errCode: number; userInfo: UserInfo } + + Future<UserInfo> getUserInfoByUserAccount(String userAccount); +

    - -
    自从
    -
    v2.8.0
    -
    + +
    自从
    +
    v2.8.0
    +

    参数 - - userAccount - 用户 User Account。 - - - userAccount - account - 用户 User Account。 - - - - - - - - - - - - - - - - - -
    + + userAccount + 用户 User Account。 + + + userAccount + account + 用户 User Account。 + + + + + + + + + + + + + + + + + + +
    </section> diff --git a/dita/RTC/API/api_getuserinfobyuseraccountex.dita b/dita/RTC/API/api_getuserinfobyuseraccountex.dita index e47ad93d8ec..896217c6c33 100644 --- a/dita/RTC/API/api_getuserinfobyuseraccountex.dita +++ b/dita/RTC/API/api_getuserinfobyuseraccountex.dita @@ -13,16 +13,17 @@ <refbody> <section id="prototype"> <p outputclass="codeblock"> - <codeblock props="android" outputclass="language-java">public abstract UserInfo getUserInfoByUserAccount(String userAccount, String channelId, String localUserAccount);</codeblock> - <codeblock props="ios mac" outputclass="language-objectivec">- (int)getUserInfoWithUserAccount:(NSString * _Nonnull)userAccount + <codeblock props="android" outputclass="language-java">public abstract UserInfo getUserInfoByUserAccount(String userAccount, String channelId, String localUserAccount);</codeblock> + <codeblock props="ios mac" outputclass="language-objectivec">- (int)getUserInfoWithUserAccount:(NSString * _Nonnull)userAccount userInfo:(AgoraUserInfo *_Nullable* _Nullable)userInfo channelId:(NSString* _Nonnull)channelId localUserAccount:(NSString* _Nonnull)localUserAccount;</codeblock> - <codeblock props="cpp" outputclass="language-cpp"/> - <codeblock props="electron" outputclass="language-typescript"/> - <codeblock props="cs" outputclass="language-csharp"/> - <codeblock props="rn" outputclass="language-typescript"/> - <codeblock props="flutter" outputclass="language-dart"/> </p> + <codeblock props="cpp" outputclass="language-cpp"/> + <codeblock props="electron" outputclass="language-typescript"/> + <codeblock props="cs" outputclass="language-csharp"/> + <codeblock props="rn" outputclass="language-typescript"/> + <codeblock props="flutter" outputclass="language-dart"/> + </p> </section> <section id="detailed_desc"> <p conkeyref="getUserInfoByUid/getUserInfo_desc"/> @@ -30,23 +31,24 @@ <section id="parameters"> <title>参数 - - userAccount - 用户 User Account。 - - - - - - - - - - - - - -
    + + userAccount + 用户 User Account。 + + + + + + + + + + + + + + +
    </section> diff --git a/dita/RTC/API/api_getversion.dita b/dita/RTC/API/api_getversion.dita index 1fea7f639f4..156b231e08d 100644 --- a/dita/RTC/API/api_getversion.dita +++ b/dita/RTC/API/api_getversion.dita @@ -13,13 +13,14 @@ <refbody> <section id="prototype"> <p outputclass="codeblock"> - <codeblock props="android" outputclass="language-java">public static String getSdkVersion()</codeblock> - <codeblock props="ios mac" outputclass="language-objectivec">+ (NSString * _Nonnull)getSdkVersion;</codeblock> - <codeblock props="cpp" outputclass="language-cpp">virtual const char* getVersion(int* build) = 0;</codeblock> - <codeblock props="electron" outputclass="language-typescript">getVersion(): string</codeblock> - <codeblock props="cs" outputclass="language-csharp">public abstract string GetVersion();</codeblock> - <codeblock props="rn" outputclass="language-typescript"/> - <codeblock props="flutter" outputclass="language-dart">Future<String?> getSdkVersion()</codeblock> </p> + <codeblock props="android" outputclass="language-java">public static String getSdkVersion()</codeblock> + <codeblock props="ios mac" outputclass="language-objectivec">+ (NSString * _Nonnull)getSdkVersion;</codeblock> + <codeblock props="cpp" outputclass="language-cpp">virtual const char* getVersion(int* build) = 0;</codeblock> + <codeblock props="electron" outputclass="language-typescript">getVersion(): string</codeblock> + <codeblock props="cs" outputclass="language-csharp">public abstract string GetVersion();</codeblock> + <codeblock props="rn" outputclass="language-typescript"/> + <codeblock props="flutter" outputclass="language-dart">Future<String?> getSdkVersion()</codeblock> + </p> </section> <section id="return_values"> <title>返回值 diff --git a/dita/RTC/API/api_getvideocapturetype.dita b/dita/RTC/API/api_getvideocapturetype.dita index 60feafae2da..e354af5cd66 100644 --- a/dita/RTC/API/api_getvideocapturetype.dita +++ b/dita/RTC/API/api_getvideocapturetype.dita @@ -13,16 +13,18 @@

    - - - virtual VIDEO_CAPTURE_TYPE getVideoCaptureType() = 0; - - - -

    + + + virtual VIDEO_CAPTURE_TYPE getVideoCaptureType() = 0; + + + + +

    -

    在你初始化自定义视频源之前,SDK 会触发该回调查询自采集的视频源类型。你必须在返回值中指定一种视频源类型来告知 SDK。 SDK 会在接收到视频帧后根据视频源的类型对启用相应的视频处理策略。

    +

    在你初始化自定义视频源之前,SDK 会触发该回调查询自采集的视频源类型。你必须在返回值中指定一种视频源类型来告知 SDK。 SDK + 会在接收到视频帧后根据视频源的类型对启用相应的视频处理策略。

    返回值 diff --git a/dita/RTC/API/api_getvideocontenthint.dita b/dita/RTC/API/api_getvideocontenthint.dita index 37ef27d1e62..41a71101d98 100644 --- a/dita/RTC/API/api_getvideocontenthint.dita +++ b/dita/RTC/API/api_getvideocontenthint.dita @@ -13,16 +13,18 @@

    - - - virtual VideoContentHint getVideoContentHint() = 0; - - - -

    + + + virtual VideoContentHint getVideoContentHint() = 0; + + + + +

    -

    如果指定自定义视频源为屏幕共享的视频,那么在你初始化自定义视频源之前,SDK 会触发该回调查询屏幕共享视频源的内容类型。 你必须在返回值中指定一种内容类型来告知 SDK。SDK 会在接收到视频帧后根据屏幕共享视频的内容类型启用相应的视频处理策略。

    +

    如果指定自定义视频源为屏幕共享的视频,那么在你初始化自定义视频源之前,SDK 会触发该回调查询屏幕共享视频源的内容类型。 你必须在返回值中指定一种内容类型来告知 + SDK。SDK 会在接收到视频帧后根据屏幕共享视频的内容类型启用相应的视频处理策略。

    返回值 diff --git a/dita/RTC/API/api_getvideodevices.dita b/dita/RTC/API/api_getvideodevices.dita index bdf7aba580c..64ac5135c18 100644 --- a/dita/RTC/API/api_getvideodevices.dita +++ b/dita/RTC/API/api_getvideodevices.dita @@ -13,13 +13,14 @@

    - - - - getVideoDevices(): Array<Device> - - -

    + + + + getVideoDevices(): Array<Device> + + + +

    返回值 diff --git a/dita/RTC/API/api_getvolumeofeffect.dita b/dita/RTC/API/api_getvolumeofeffect.dita index 280d2fe92ba..452171116b6 100644 --- a/dita/RTC/API/api_getvolumeofeffect.dita +++ b/dita/RTC/API/api_getvolumeofeffect.dita @@ -13,30 +13,33 @@

    - public abstract int getVolumeOfEffect(int soundId); + public abstract int getVolumeOfEffect(int soundId); - - (int)getVolumeOfEffect:(int)soundId; + - (int)getVolumeOfEffect:(int)soundId; - virtual int getVolumeOfEffect(int soundId) = 0; + virtual int getVolumeOfEffect(int soundId) = 0; - - public abstract int GetVolumeOfEffect(int soundId); - -

    + + public abstract int GetVolumeOfEffect(int soundId); + + +

    参数 - - soundId - 音效文件的 ID。 - -
    + + soundId + 音效文件的 ID。 + + +
    返回值
      -
    • ≥ 0: 方法调用成功,返回播放音量。音量范围为 [0,100]。100 为原始音量。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • ≥ 0: 方法调用成功,返回播放音量。音量范围为 [0,100]。100 为原始音量。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_getwindowsinfo.dita b/dita/RTC/API/api_getwindowsinfo.dita index 55ba3507759..077f9a4132c 100644 --- a/dita/RTC/API/api_getwindowsinfo.dita +++ b/dita/RTC/API/api_getwindowsinfo.dita @@ -13,17 +13,19 @@

    - - - - getWindowsInfo(): Array<WindowInfo> - - -

    + + + + getWindowsInfo(): Array<WindowInfo> + + + +

    使用标识窗口的 Window ID 共享窗口前,你需要调用该方法获取窗口信息。

    - 该方法可以获取多个窗口的信息。
    + 该方法可以获取多个窗口的信息。 +
    返回值

    WindowInfo 数组:

    diff --git a/dita/RTC/API/api_iaudiodevicecollection_getapplicationvolume.dita b/dita/RTC/API/api_iaudiodevicecollection_getapplicationvolume.dita index 136c18b9c34..2b60e60d3ca 100644 --- a/dita/RTC/API/api_iaudiodevicecollection_getapplicationvolume.dita +++ b/dita/RTC/API/api_iaudiodevicecollection_getapplicationvolume.dita @@ -13,27 +13,30 @@

    - - - virtual int getApplicationVolume(int& volume) = 0; - - - -

    + + + virtual int getApplicationVolume(int& volume) = 0; + + + + +

    参数 - - volume - app 当前的音量,取值范围为 [0,255]。 - -
    + + volume + app 当前的音量,取值范围为 [0,255]。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicecollection_getcount.dita b/dita/RTC/API/api_iaudiodevicecollection_getcount.dita index 6961e321f45..27827ca5859 100644 --- a/dita/RTC/API/api_iaudiodevicecollection_getcount.dita +++ b/dita/RTC/API/api_iaudiodevicecollection_getcount.dita @@ -13,16 +13,18 @@

    - - - virtual int getCount() = 0; - - - -

    + + + virtual int getCount() = 0; + + + + +

    -

    如果先调用 再调用该方法,返回播放设备的数量。如果先调用 再调用该方法,则返回音频采集设备的数量。

    +

    如果先调用 再调用该方法,返回播放设备的数量。如果先调用 再调用该方法,则返回音频采集设备的数量。

    返回值 diff --git a/dita/RTC/API/api_iaudiodevicecollection_getdefaultdevice.dita b/dita/RTC/API/api_iaudiodevicecollection_getdefaultdevice.dita index 0e00459fbfd..4d68c2b485f 100644 --- a/dita/RTC/API/api_iaudiodevicecollection_getdefaultdevice.dita +++ b/dita/RTC/API/api_iaudiodevicecollection_getdefaultdevice.dita @@ -13,29 +13,32 @@

    - - virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - -

    + + virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + + + +

    参数 - - deviceName - 设备名称。最大长度为 - - - deviceId - 设备 ID。最大长度为 - -
    + + deviceName + 设备名称。最大长度为 + + + deviceId + 设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicecollection_getdevice.dita b/dita/RTC/API/api_iaudiodevicecollection_getdevice.dita index b492a85b15c..40990c94366 100644 --- a/dita/RTC/API/api_iaudiodevicecollection_getdevice.dita +++ b/dita/RTC/API/api_iaudiodevicecollection_getdevice.dita @@ -13,35 +13,38 @@

    - - - virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - public abstract string GetDevice(); - -

    + + + virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + + public abstract string GetDevice(); + + +

    参数 - - index - 输入参数,指定想查询的设备信息。 - - - deviceName - 输出参数,设备名称。最大长度为 - - - deviceId - 输出参数,设备 ID。最大长度为 - -
    + + index + 输入参数,指定想查询的设备信息。 + + + deviceName + 输出参数,设备名称。最大长度为 + + + deviceId + 输出参数,设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicecollection_isapplicationmute.dita b/dita/RTC/API/api_iaudiodevicecollection_isapplicationmute.dita index e3161f40a6c..9ac710c3cea 100644 --- a/dita/RTC/API/api_iaudiodevicecollection_isapplicationmute.dita +++ b/dita/RTC/API/api_iaudiodevicecollection_isapplicationmute.dita @@ -13,35 +13,36 @@

    - - - virtual int isApplicationMute(bool &mute) = 0; + + + virtual int isApplicationMute(bool &mute) = 0; - - - -

    + + + + +

    参数 - - mute - -

    app 当前是否静音: - -

      -
    • : app 为静音状态。
    • -
    • : app 为非静音状态。
    • -

    -
    -
    -
    + + mute + +

    app 当前是否静音:

      +
    • : app 为静音状态。
    • +
    • : app 为非静音状态。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicecollection_release.dita b/dita/RTC/API/api_iaudiodevicecollection_release.dita index f141a314c90..1d000465f84 100644 --- a/dita/RTC/API/api_iaudiodevicecollection_release.dita +++ b/dita/RTC/API/api_iaudiodevicecollection_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IAudioDeviceCollection"/> - 释放 对象占用的所有资源。 + 释放 + 对象占用的所有资源。 @@ -13,13 +14,14 @@

    - - - virtual void release() = 0; - - - -

    + + + virtual void release() = 0; + + + + +

    diff --git a/dita/RTC/API/api_iaudiodevicecollection_setapplicationmute.dita b/dita/RTC/API/api_iaudiodevicecollection_setapplicationmute.dita index f2820d348e7..fb83cd38cbd 100644 --- a/dita/RTC/API/api_iaudiodevicecollection_setapplicationmute.dita +++ b/dita/RTC/API/api_iaudiodevicecollection_setapplicationmute.dita @@ -13,32 +13,33 @@

    - - - virtual int setApplicationMute(bool mute) = 0; - - - -

    + + + virtual int setApplicationMute(bool mute) = 0; + + + + +

    参数 - - mute - 是否将 app 设置为静音。 - -
      -
    • : 将 app 静音。
    • -
    • : 将 app 解除静音。
    • -
    -
    -
    + + mute + 是否将 app 设置为静音。
      +
    • : 将 app 静音。
    • +
    • : 将 app 解除静音。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicecollection_setapplicationvolume.dita b/dita/RTC/API/api_iaudiodevicecollection_setapplicationvolume.dita index f083e1ba49d..a4cfd433d53 100644 --- a/dita/RTC/API/api_iaudiodevicecollection_setapplicationvolume.dita +++ b/dita/RTC/API/api_iaudiodevicecollection_setapplicationvolume.dita @@ -13,28 +13,31 @@

    - - - virtual int setApplicationVolume(int volume) = 0; + + + virtual int setApplicationVolume(int volume) = 0; - - - -

    + + + + +

    参数 - - volume - app 的音量,取值范围为 [0,255]。 - -
    + + volume + app 的音量,取值范围为 [0,255]。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicecollection_setdevice.dita b/dita/RTC/API/api_iaudiodevicecollection_setdevice.dita index 35068485e05..d532a045d27 100644 --- a/dita/RTC/API/api_iaudiodevicecollection_setdevice.dita +++ b/dita/RTC/API/api_iaudiodevicecollection_setdevice.dita @@ -13,27 +13,30 @@

    - - - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - public abstract int SetDevice(string deviceIdUTF8); - -

    + + + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + + public abstract int SetDevice(string deviceIdUTF8); + + +

    参数 - - deviceId - 设备 ID。最大长度为 - -
    + + deviceId + 设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita b/dita/RTC/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita index b5a898871d6..65931a30285 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita @@ -13,28 +13,34 @@

    - public abstract DeviceInfo[] EnumeratePlaybackDevices();

    + public abstract DeviceInfo[] EnumeratePlaybackDevices(); +

    - - - virtual IAudioDeviceCollection* enumeratePlaybackDevices() = 0; - public abstract DeviceInfo[] EnumeratePlaybackDevices(); - getAudioPlaybackDevices(): Array<{ deviceid: string, devicename: string }> - - Future<List<MediaDeviceInfo>> enumerateAudioPlaybackDevices()

    + + + virtual IAudioDeviceCollection* enumeratePlaybackDevices() = 0; + public abstract DeviceInfo[] EnumeratePlaybackDevices(); + getAudioPlaybackDevices(): Array<{ deviceid: string, devicename: string }> + + Future<List<MediaDeviceInfo>> enumerateAudioPlaybackDevices() +

    -

    该方法返回一个 对象,包含系统中所有的播放设备。通过 IAudioDeviceCollection 对象, - App 可以枚举播放设备。在使用结束后,app 需调用 方法销毁返回的对象。

    +

    该方法返回一个 + 对象,包含系统中所有的播放设备。通过 IAudioDeviceCollection 对象, App + 可以枚举播放设备。在使用结束后,app 需调用 + 方法销毁返回的对象。

    返回值
      -
    • 方法调用成功:返回一个 对象,包含所有的音频播放设备。
    • -
    • 方法调用成功,返回一个 DeviceInfo 数组,包含所有音频播放设备的设备 ID 和设备名称。
    • -
    • 方法调用成功,返回一个 对象,包含所有音频播放设备的设备 ID +
    • 方法调用成功:返回一个 + 对象,包含所有的音频播放设备。
    • +
    • 方法调用成功,返回一个 DeviceInfo 数组,包含所有音频播放设备的设备 ID 和设备名称。
    • +
    • 方法调用成功,返回一个 对象,包含所有音频播放设备的设备 ID 和设备名称。
    • -
    • 方法调用失败:
    • -
    +
  • 方法调用失败:
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita b/dita/RTC/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita index 112207cf652..65e5c51c033 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita @@ -13,27 +13,34 @@

    - abstract DeviceInfo[] EnumerateRecordingDevices();

    + abstract DeviceInfo[] EnumerateRecordingDevices(); +

    - - - virtual IAudioDeviceCollection* enumerateRecordingDevices() = 0; - public abstract DeviceInfo[] EnumerateRecordingDevices(); - getAudioRecordingDevices(): Array<{ deviceid: string, devicename: string }> - - Future<List<MediaDeviceInfo>> enumerateAudioRecordingDevices()

    + + + virtual IAudioDeviceCollection* enumerateRecordingDevices() = 0; + public abstract DeviceInfo[] EnumerateRecordingDevices(); + getAudioRecordingDevices(): Array<{ deviceid: string, devicename: string }> + + Future<List<MediaDeviceInfo>> enumerateAudioRecordingDevices() +

    -

    该方法返回一个 对象,包含系统中所有的音频采集设备。通过 IAudioDeviceCollection 对象, - App 可以枚举音频采集设备。在使用结束后,App 需调用 方法销毁返回的对象。

    +

    该方法返回一个 + 对象,包含系统中所有的音频采集设备。通过 IAudioDeviceCollection 对象, App + 可以枚举音频采集设备。在使用结束后,App 需调用 + 方法销毁返回的对象。

    返回值
      -
    • 方法调用成功:返回一个 对象,包含所有的音频采集设备。
    • -
    • 方法调用成功,返回一个 DeviceInfo 数组,包含所有音频采集设备的设备 ID 和设备名称。
    • -
    • 方法调用成功,返回一个 对象,包含所有音频采集设备的设备 ID 和设备名称。
    • -
    • 方法调用失败:
    • -
    +
  • 方法调用成功:返回一个 + 对象,包含所有的音频采集设备。
  • +
  • 方法调用成功,返回一个 DeviceInfo 数组,包含所有音频采集设备的设备 ID 和设备名称。
  • +
  • 方法调用成功,返回一个 对象,包含所有音频采集设备的设备 ID + 和设备名称。
  • +
  • 方法调用失败:
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita b/dita/RTC/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita index 8debf2276f3..2960fff8d4c 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita @@ -13,31 +13,32 @@

    - - virtual int followSystemPlaybackDevice(bool enable) = 0; - setAudioRecordingDevice(deviceId: string): number - public abstract int FollowSystemPlaybackDevice(bool enable); - Future<void> followSystemPlaybackDevice(bool enable);

    + + virtual int followSystemPlaybackDevice(bool enable) = 0; + setAudioRecordingDevice(deviceId: string): number + public abstract int FollowSystemPlaybackDevice(bool enable); + Future<void> followSystemPlaybackDevice(bool enable); +

    参数 - - enable - 是否跟随系统默认的音频播放设备: - - -
      -
    • :跟随。当系统默认音频播放设备发生改变时,SDK 立即切换音频播放设备。
    • -
    • :不跟随。只有当 SDK 使用的音频播放设备被移除后,SDK 才切换至系统默认的音频播放设备。
    • -
    -
    -
    + + enable + 是否跟随系统默认的音频播放设备:
      +
    • :跟随。当系统默认音频播放设备发生改变时,SDK 立即切换音频播放设备。
    • +
    • :不跟随。只有当 SDK 使用的音频播放设备被移除后,SDK + 才切换至系统默认的音频播放设备。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita b/dita/RTC/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita index 1457f1e20a8..608c02fbef0 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita @@ -13,32 +13,31 @@

    - - virtual int followSystemRecordingDevice(bool enable) = 0; - setAudioRecordingDevice(deviceId: string): number - public abstract int FollowSystemRecordingDevice(bool enable); - - Future<void> followSystemRecordingDevice(bool enable);

    + + virtual int followSystemRecordingDevice(bool enable) = 0; + setAudioRecordingDevice(deviceId: string): number + public abstract int FollowSystemRecordingDevice(bool enable); + + Future<void> followSystemRecordingDevice(bool enable); +

    - - enable - 是否跟随系统默认的音频播放设备: - - - -
      -
    • :跟随。当系统默认音频播放设备发生改变时,SDK 立即切换音频播放设备。
    • -
    • :不跟随。只有当 SDK 使用的音频播放设备被移除后,SDK 才切换至系统默认的音频播放设备。
    • -
    -
    + + enable + 是否跟随系统默认的音频播放设备:
      +
    • :跟随。当系统默认音频播放设备发生改变时,SDK 立即切换音频播放设备。
    • +
    • :不跟随。只有当 SDK 使用的音频播放设备被移除后,SDK + 才切换至系统默认的音频播放设备。
    • +
    +
    返回
      -
    • 0:方法调用成功
    • -
    • < 0:方法调用失败
    • -
    +
  • 0:方法调用成功
  • +
  • < 0:方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevice.dita b/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevice.dita index 0fdfc8d6905..b3336303027 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevice.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevice.dita @@ -13,27 +13,29 @@

    - - - virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - getCurrentAudioPlaybackDevice(): Device - public abstract string GetPlaybackDevice(); - - Future<String?> getAudioPlaybackDevice()

    + + + virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + getCurrentAudioPlaybackDevice(): Device + public abstract string GetPlaybackDevice(); + + Future<String?> getAudioPlaybackDevice() +

    参数 - - deviceId - 输出参数,当前音频播放设备的设备 ID。最大长度为 - -
    + + deviceId + 输出参数,当前音频播放设备的设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。

    音频播放设备对象,详见

    当前音频播放设备。

    diff --git a/dita/RTC/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita b/dita/RTC/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita index 459e1e89dc0..2eb1868b9c7 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita @@ -13,31 +13,33 @@

    - - - virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; - getPlaybackDeviceInfo(): Array<{ deviceid: string, devicename: string }> - public abstract DeviceInfo GetPlaybackDeviceInfo(); - - Future<MediaDeviceInfo?> getAudioPlaybackDeviceInfo()

    + + + virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; + getPlaybackDeviceInfo(): Array<{ deviceid: string, devicename: string }> + public abstract DeviceInfo GetPlaybackDeviceInfo(); + + Future<MediaDeviceInfo?> getAudioPlaybackDeviceInfo() +

    参数 - - deviceId - 播放设备的设备 ID。最大长度为 - - - deviceName - 播放设备的设备名称。最大长度为 - -
    + + deviceId + 播放设备的设备 ID。最大长度为 + + + deviceName + 播放设备的设备名称。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。

    音频播放设备的设备信息,包含设备 ID 和设备名称:

    对象,包含音频播放设备的设备 ID 和设备名称。

    diff --git a/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicemute.dita b/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicemute.dita index a2390c06bad..342975c97db 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicemute.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicemute.dita @@ -13,39 +13,39 @@

    - - - virtual int getPlaybackDeviceMute(bool *mute) = 0; - getAudioPlaybackDeviceMute(): boolean - public abstract bool GetPlaybackDeviceMute(); - - Future<bool?> getAudioPlaybackDeviceMute()

    + + + virtual int getPlaybackDeviceMute(bool *mute) = 0; + getAudioPlaybackDeviceMute(): boolean + public abstract bool GetPlaybackDeviceMute(); + + Future<bool?> getAudioPlaybackDeviceMute() +

    参数 - - mute - -

    播放设备静音状态: - - -

      -
    • : 播放设备为静音状态。
    • -
    • : 播放设备为非静音状态。
    • -

    -
    -
    -
    + + mute + +

    播放设备静音状态:

      +
    • : 播放设备为静音状态。
    • +
    • : 播放设备为非静音状态。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。
      -
    • : 播放设备为静音状态。
    • -
    • : 播放设备为非静音状态。
    • -
    +
  • : 播放设备为静音状态。
  • +
  • : 播放设备为非静音状态。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita b/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita index 13e484f9119..6efa32d5db4 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita @@ -13,27 +13,29 @@

    - - - virtual int getPlaybackDeviceVolume(int *volume) = 0; - getAudioPlaybackVolume(): number - public abstract int GetPlaybackDeviceVolume(); - - Future<int?> getAudioPlaybackDeviceVolume()

    + + + virtual int getPlaybackDeviceVolume(int *volume) = 0; + getAudioPlaybackVolume(): number + public abstract int GetPlaybackDeviceVolume(); + + Future<int?> getAudioPlaybackDeviceVolume() +

    参数 - - volume - 输出参数。播放设备音量。取值范围 [0,255]。 - -
    + + volume + 输出参数。播放设备音量。取值范围 [0,255]。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。

    播放设备音量。取值范围 [0,255]。

    diff --git a/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevice.dita b/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevice.dita index f754abd7a01..53c531b9fc9 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevice.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevice.dita @@ -13,27 +13,31 @@

    - - - virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - getCurrentAudioRecordingDevice(): Device - public abstract string GetRecordingDevice(); - - Future<String?> getAudioRecordingDevice()

    + + + virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + getCurrentAudioRecordingDevice(): Device + public abstract string GetRecordingDevice(); + + Future<String?> getAudioRecordingDevice() +

    参数 - - deviceId - 输出参数。当前采集设备的设备 ID。最大长度为 - -
    + + deviceId + 输出参数。当前采集设备的设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。

    音频采集设备对象,详见

    当前音频采集设备。

    diff --git a/dita/RTC/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita b/dita/RTC/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita index a577a1ed446..94cdf5a7d8d 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita @@ -13,31 +13,37 @@

    - - - virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; - getRecordingDeviceInfo(): Array<{ deviceid: string, devicename: string }> - public abstract DeviceInfo GetRecordingDeviceInfo(); - - Future<MediaDeviceInfo?> getAudioRecordingDeviceInfo()

    + + + virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; + getRecordingDeviceInfo(): Array<{ deviceid: string, devicename: string }> + public abstract DeviceInfo GetRecordingDeviceInfo(); + + Future<MediaDeviceInfo?> getAudioRecordingDeviceInfo() +

    参数 - - deviceId - 音频采集设备的设备 ID。最大长度为 - - - deviceName - 音频采集设备的设备名称。最大长度为 - -
    + + deviceId + 音频采集设备的设备 ID。最大长度为 + + + deviceName + 音频采集设备的设备名称。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。

    音频采集设备的设备信息,包含设备 ID 和设备名称:

    对象,包含音频采集设备的设备 ID 和设备名称。

    diff --git a/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicemute.dita b/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicemute.dita index 53821ec7fc1..cc731c33f14 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicemute.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicemute.dita @@ -13,36 +13,37 @@

    - - - virtual int getRecordingDeviceMute(bool *mute) = 0; - getAudioRecordingDeviceMute(): boolean - public abstract bool GetRecordingDeviceMute(); - - Future<bool?> getAudioRecordingDeviceMute()

    + + + virtual int getRecordingDeviceMute(bool *mute) = 0; + getAudioRecordingDeviceMute(): boolean + public abstract bool GetRecordingDeviceMute(); + + Future<bool?> getAudioRecordingDeviceMute() +

    参数 - - mute - 音频采集设备静音状态: - -
      -
    • : 采集设备为静音状态。
    • -
    • : 采集设备为非静音状态。
    • -
    -
    -
    + + mute + 音频采集设备静音状态:
      +
    • : 采集设备为静音状态。
    • +
    • : 采集设备为非静音状态。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。
      -
    • : 采集设备为静音状态。
    • -
    • : 采集设备为非静音状态。
    • -
    +
  • : 采集设备为静音状态。
  • +
  • : 采集设备为非静音状态。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita b/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita index 32c0719cef0..3c749ef72ea 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita @@ -13,27 +13,29 @@

    - - - virtual int getRecordingDeviceVolume(int *volume) = 0; - getAudioRecordingVolume(): number - public abstract int GetRecordingDeviceVolume(); - - Future<int?> getAudioRecordingDeviceVolume()

    + + + virtual int getRecordingDeviceVolume(int *volume) = 0; + getAudioRecordingVolume(): number + public abstract int GetRecordingDeviceVolume(); + + Future<int?> getAudioRecordingDeviceVolume() +

    参数 - - volume - 音频采集设备音量。取值范围 [0,255]。 - -
    + + volume + 音频采集设备音量。取值范围 [0,255]。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。

    音频采集设备音量。取值范围 [0,255]。

    diff --git a/dita/RTC/API/api_iaudiodevicemanager_release.dita b/dita/RTC/API/api_iaudiodevicemanager_release.dita index 438c7ccf36d..f932d969450 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_release.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IAudioDeviceManager"/> - 释放 对象占用的所有资源。 + 释放 + 对象占用的所有资源。 @@ -13,13 +14,14 @@

    - - - virtual void release() = 0; - - - -

    + + + virtual void release() = 0; + + + + +

    diff --git a/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevice.dita b/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevice.dita index cb27bf2ee11..803c567e4f6 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevice.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevice.dita @@ -13,30 +13,34 @@

    - - - virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - setAudioPlaybackDevice(deviceId: string): number - public abstract int SetPlaybackDevice(string deviceId); - - Future<void> setAudioPlaybackDevice(String deviceId)

    + + + virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + setAudioPlaybackDevice(deviceId: string): number + public abstract int SetPlaybackDevice(string deviceId); + + Future<void> setAudioPlaybackDevice(String deviceId) +

    参数 - - deviceId - -

    通过 deviceID 指定播放设备。由 获取。插拔设备不会影响 deviceId

    -

    最大长度为

    -
    -
    -
    + + deviceId + +

    通过 deviceID 指定播放设备。由 + 获取。插拔设备不会影响 deviceId

    +

    最大长度为

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicemute.dita b/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicemute.dita index f360dc19cc1..dc8bdf92d6c 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicemute.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicemute.dita @@ -13,34 +13,35 @@

    - - - virtual int setPlaybackDeviceMute(bool mute) = 0; - setAudioPlaybackDeviceMute(mute: boolean): number - public abstract int SetPlaybackDeviceMute(bool mute); - - Future<void> setAudioPlaybackDeviceMute(bool mute)

    + + + virtual int setPlaybackDeviceMute(bool mute) = 0; + setAudioPlaybackDeviceMute(mute: boolean): number + public abstract int SetPlaybackDeviceMute(bool mute); + + Future<void> setAudioPlaybackDeviceMute(bool mute) +

    参数 - - mute - -

    是否设置播放设备为静音: - -

      -
    • : 播放设备设为静音。
    • -
    • : 播放设备不设为静音。
    • -

    -
    -
    -
    + + mute + +

    是否设置播放设备为静音:

      +
    • : 播放设备设为静音。
    • +
    • : 播放设备不设为静音。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita b/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita index e2f271597b5..c7543343c29 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita @@ -13,27 +13,30 @@

    - - - virtual int setPlaybackDeviceVolume(int volume) = 0; - setAudioPlaybackVolume(volume: number): number - public abstract int SetPlaybackDeviceVolume(int volume); - - Future<void> setAudioPlaybackDeviceVolume(int volume)

    + + + virtual int setPlaybackDeviceVolume(int volume) = 0; + setAudioPlaybackVolume(volume: number): number + public abstract int SetPlaybackDeviceVolume(int volume); + + Future<void> setAudioPlaybackDeviceVolume(int volume) +

    参数 - - volume - 播放设备音量。取值可在 [0,255]。 - -
    + + volume + 播放设备音量。取值可在 [0,255]。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevice.dita b/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevice.dita index f3b73551984..5f5d28e5a73 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevice.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevice.dita @@ -13,30 +13,34 @@

    - - - virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - setAudioRecordingDevice(deviceId: string): number - public abstract int SetRecordingDevice(string deviceId); - - Future<void> setAudioRecordingDevice(String deviceId)

    + + + virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + setAudioRecordingDevice(deviceId: string): number + public abstract int SetRecordingDevice(string deviceId); + + Future<void> setAudioRecordingDevice(String deviceId) +

    参数 - - deviceId - -

    音频采集设备的 Device ID。可通过 获取。插拔设备不会影响 deviceId

    -

    最大长度为

    -
    -
    -
    + + deviceId + +

    音频采集设备的 Device ID。可通过 + 获取。插拔设备不会影响 deviceId

    +

    最大长度为

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicemute.dita b/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicemute.dita index d1da158043f..9af30e8b551 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicemute.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicemute.dita @@ -13,34 +13,35 @@

    - - - virtual int setRecordingDeviceMute(bool mute) = 0; - setAudioRecordingDeviceMute(mute: boolean): number - public abstract int SetRecordingDeviceMute(bool mute); - - Future<void> setAudioRecordingDeviceMute(bool mute)

    + + + virtual int setRecordingDeviceMute(bool mute) = 0; + setAudioRecordingDeviceMute(mute: boolean): number + public abstract int SetRecordingDeviceMute(bool mute); + + Future<void> setAudioRecordingDeviceMute(bool mute) +

    参数 - - mute - -

    是否设置音频采集设备静音: - -

      -
    • : 采集设备静音。
    • -
    • : 采集设备为非静音。
    • -

    -
    -
    -
    + + mute + +

    是否设置音频采集设备静音:

      +
    • : 采集设备静音。
    • +
    • : 采集设备为非静音。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita b/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita index d4b3b7813c3..7ef71f36255 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita @@ -13,27 +13,30 @@

    - - - virtual int setRecordingDeviceVolume(int volume) = 0; - setAudioRecordingVolume(volume: number): number - public abstract int SetRecordingDeviceVolume(int volume); - - Future<void> setAudioRecordingDeviceVolume(int volume)

    + + + virtual int setRecordingDeviceVolume(int volume) = 0; + setAudioRecordingVolume(volume: number): number + public abstract int SetRecordingDeviceVolume(int volume); + + Future<void> setAudioRecordingDeviceVolume(int volume) +

    参数 - - volume - 音频采集设备音量。取值范围 [0,255]。 - -
    + + volume + 音频采集设备音量。取值范围 [0,255]。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita b/dita/RTC/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita index 3cb299c5ad1..a3c7a449ed2 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita @@ -13,64 +13,82 @@

    - -(int)startAudioDeviceLoopbackTest:(int)indicationInterval; - virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0; - startAudioDeviceLoopbackTest(indicationInterval: number): number - public abstract int StartAudioDeviceLoopbackTest(int indicationInterval); - Future<void> startAudioDeviceLoopbackTest(int indicationInterval)

    + -(int)startAudioDeviceLoopbackTest:(int)indicationInterval; + virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0; + startAudioDeviceLoopbackTest(indicationInterval: number): number + public abstract int StartAudioDeviceLoopbackTest(int indicationInterval); + Future<void> startAudioDeviceLoopbackTest(int indicationInterval) +

    -

    该方法测试音频采集和播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地音频,然后使用音频播放设备播放出来。SDK 会按设置的时间间隔触发两个 回调,分别报告音频采集设备(uid = 0)和音频播放设置(uid = 1)的音量信息。

    +

    该方法测试音频采集和播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地音频,然后使用音频播放设备播放出来。SDK 会按设置的时间间隔触发两个 回调,分别报告音频采集设备(uid = + 0)和音频播放设置(uid = 1)的音量信息。

    -
      -
    • 该方法需要在加入频道前调用。
    • -
    • 该方法仅在本地进行音频设备测试,不涉及网络连接。
    • -
    +
      +
    • 该方法需要在加入频道前调用。
    • +
    • 该方法仅在本地进行音频设备测试,不涉及网络连接。
    • +
    + +

    该方法测试音频采集和播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地音频,然后使用音频播放设备播放出来。

    -

    自 v3.6.2 起,该方法在加入频道前后均可调用,并按设置的时间间隔触发如下回调,分别报告采集设备和播放设备的音量信息: - - - - - -

      -
    • 在加入频道前调用该方法,SDK 触发 回调,每个回调触发两次,其中: - - - - -
        -
      • 分别报告 uid = 0volume,以及 uid = 1volume
      • -
      • 分别报告 volumeType = (0)volume,以及 volumeType = (1)volume
      • -
      回调报告的音量信息相同,声网推荐使用
    • -
    • 在加入频道后调用该方法,SDK 触发两个 回调,分别报告 volumeType = (0)volume,以及 volumeType = (1)volume
    • -

    +

    自 v3.6.2 起,该方法在加入频道前后均可调用,并按设置的时间间隔触发如下回调,分别报告采集设备和播放设备的音量信息:

      +
    • 在加入频道前调用该方法,SDK 触发 回调,每个回调触发两次,其中:
        +
      • 分别报告 uid = + 0volume,以及 uid = 1 + 和 volume
      • +
      • 分别报告 + volumeType = (0)volume,以及 volumeType = + (1) 和 + volume
      • +
      回调报告的音量信息相同,声网推荐使用
    • +
    • 在加入频道后调用该方法,SDK 触发两个 + 回调,分别报告 volumeType = (0)volume,以及 volumeType = + (1) 和 + volume
    • +

    -
      -
    • 该方法仅在本地进行音频设备测试,不涉及网络连接。
    • -
    • 加入频道后调用该方法前,请确保音频采集设备处于开启状态,即 (true)。否则,方法调用会失败,SDK 触发 回调,报告 ERR_ADM_START_RECORDING(1012) 错误码。
    • -
    • 加入频道后调用该方法,测试的是 SDK 正在使用的音频采集和播放设备。
    • -
    • 调用该方法后,必须调 方法停止测试。
    • -
    +
      +
    • 该方法仅在本地进行音频设备测试,不涉及网络连接。
    • +
    • 加入频道后调用该方法前,请确保音频采集设备处于开启状态,即 (true)。否则,方法调用会失败,SDK 触发 回调,报告 + ERR_ADM_START_RECORDING(1012) 错误码。
    • +
    • 加入频道后调用该方法,测试的是 SDK 正在使用的音频采集和播放设备。
    • +
    • 调用该方法后,必须调 方法停止测试。
    • +
    + +
    参数 - - indicationInterval - -

    SDK 触发 回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。不得少于 10 毫秒,否则会收不到 回调。

    -
    - -

    SDK 触发 回调的时间间隔,单位为毫秒。 建议设置到大于 200 毫秒。不得少于 10 毫秒,否则会收不到音量回调。

    -
    -
    -
    + + indicationInterval + +

    SDK 触发 回调的时间间隔,单位为毫秒。建议设置到大于 + 200 毫秒。不得少于 10 毫秒,否则会收不到 + 回调。

    +
    + +

    SDK 触发 回调的时间间隔,单位为毫秒。 建议设置到大于 + 200 毫秒。不得少于 10 毫秒,否则会收不到音量回调。

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_startplaybackdevicetest.dita b/dita/RTC/API/api_iaudiodevicemanager_startplaybackdevicetest.dita index 6bfe3aa7976..3275dbfd4bf 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_startplaybackdevicetest.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_startplaybackdevicetest.dita @@ -13,55 +13,59 @@

    - - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName; - virtual int startPlaybackDeviceTest(const char* testAudioFilePath) = 0; - startAudioPlaybackDeviceTest(testAudioFilePath: string): number - public abstract int StartPlaybackDeviceTest(string testAudioFilePath); - Future<void> startAudioPlaybackDeviceTest(String testAudioFilePath)

    + - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName; + virtual int startPlaybackDeviceTest(const char* testAudioFilePath) = 0; + startAudioPlaybackDeviceTest(testAudioFilePath: string): number + public abstract int StartPlaybackDeviceTest(string testAudioFilePath); + Future<void> startAudioPlaybackDeviceTest(String testAudioFilePath) +

    该方法测试音频播放设备是否能正常工作。启动测试后,SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。

    -

    调用该方法后,SDK 会每隔 100 ms 触发一次 回调,报告 uid = 1 及播放设备的音量信息。

    - 该方法需要在加入频道前调用。
    +

    调用该方法后,SDK 会每隔 100 ms 触发一次 回调,报告 + uid = 1 及播放设备的音量信息。

    + 该方法需要在加入频道前调用。 +

    该方法测试音频播放设备是否能正常工作。启动测试后,SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。

    -

    自 v3.6.2 起,该方法在加入频道前后均可调用,并每隔 100 ms 触发一次如下回调,报告播放设备的音量信息: - - - - -

      -
    • 在加入频道前调用该方法,SDK 触发 回调,其中: - - - - -
        -
      • 报告 uid = 1volume
      • -
      • 报告 volumeType = (1)volume
      • -
      这两个回调报告的音量信息相同,声网推荐使用
    • -
    • 在加入频道后调用该方法,SDK 触发 回调,报告 volume
    • -
    - -
      -
    • 加入频道后调用该方法,测试的是 SDK 正在使用的音频播放设备。
    • -
    • 调用该方法后,必须调 方法停止测试
    • -

    +

    自 v3.6.2 起,该方法在加入频道前后均可调用,并每隔 100 ms 触发一次如下回调,报告播放设备的音量信息:

      +
    • 在加入频道前调用该方法,SDK 触发 回调,其中:
        +
      • 报告 uid = + 1volume
      • +
      • 报告 + volumeType = (1)volume
      • +
      这两个回调报告的音量信息相同,声网推荐使用
    • +
    • 在加入频道后调用该方法,SDK 触发 + 回调,报告 和 + volume
    • +
    + +
      +
    • 加入频道后调用该方法,测试的是 SDK 正在使用的音频播放设备。
    • +
    • 调用该方法后,必须调 方法停止测试
    • +
    +

    参数 - - testAudioFilePath - audioFileName - 音频文件的绝对路径,路径字符串使用 UTF-8 编码格式。 - -
    + + testAudioFilePath + audioFileName + 音频文件的绝对路径,路径字符串使用 UTF-8 编码格式。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_startrecordingdevicetest.dita b/dita/RTC/API/api_iaudiodevicemanager_startrecordingdevicetest.dita index 63f16abd3c7..d84fc6468cf 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_startrecordingdevicetest.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_startrecordingdevicetest.dita @@ -13,66 +13,74 @@

    - virtual int startRecordingDeviceTest(int indication_Interval) = 0;

    + virtual int startRecordingDeviceTest(int indication_Interval) = 0; +

    - virtual int startRecordingDeviceTest(int indicationInterval) = 0;

    + virtual int startRecordingDeviceTest(int indicationInterval) = 0; +

    - - (int)startRecordingDeviceTest:(int)indicationInterval; - startAudioRecordingDeviceTest(indicationInterval: number): number - public abstract int StartRecordingDeviceTest(int indicationInterval); - Future<void> startAudioRecordingDeviceTest(int indicationInterval)

    + - (int)startRecordingDeviceTest:(int)indicationInterval; + startAudioRecordingDeviceTest(indicationInterval: number): number + public abstract int StartRecordingDeviceTest(int indicationInterval); + Future<void> startAudioRecordingDeviceTest(int indicationInterval) +

    -

    该方法测试音频采集设备是否能正常工作。调用该方法后,SDK 会按设置的时间间隔触发 回调,报告 uid = 0 及采集设备的音量信息。

    - 该方法需要在加入频道前调用。
    +

    该方法测试音频采集设备是否能正常工作。调用该方法后,SDK 会按设置的时间间隔触发 + 回调,报告 uid = 0 及采集设备的音量信息。

    + 该方法需要在加入频道前调用。 +

    该方法测试音频采集设备是否能正常工作。

    -

    自 v3.6.2 起,该方法在加入频道前后均可调用,并按设置的时间间隔触发如下回调,报告采集设备的音量信息: - - - - - - -

      -
    • 在加入频道前调用该方法,SDK 触发 回调,其中: - - - - - - -
        -
      • 报告 uid = 0volume
      • -
      • 报告 volumeType = (0)volume
      • -
      这两个回调报告的音量信息相同,声网推荐使用
    • -
    • 在加入频道后调用该方法,SDK 触发 回调,报告 volumeType = (0)volume
    • -

    +

    自 v3.6.2 起,该方法在加入频道前后均可调用,并按设置的时间间隔触发如下回调,报告采集设备的音量信息:

      +
    • 在加入频道前调用该方法,SDK 触发 回调,其中:
        +
      • 报告 uid = + 0volume
      • +
      • 报告 + volumeType = (0)volume
      • +
      这两个回调报告的音量信息相同,声网推荐使用
    • +
    • 在加入频道后调用该方法,SDK 触发 + 回调,报告 volumeType = (0)volume
    • +

    -
      -
    • 加入频道后调用该方法前,请确保音频采集设备处于开启状态,即 (true)。否则,方法调用会失败,SDK 触发 回调,报告 ERR_ADM_START_RECORDING(1012) 错误码。
    • -
    • 加入频道后调用该方法,测试的是 SDK 正在使用的音频采集设备。
    • -
    • 调用该方法后,必须调 方法停止测试。
    • -
    +
      +
    • 加入频道后调用该方法前,请确保音频采集设备处于开启状态,即 (true)。否则,方法调用会失败,SDK 触发 回调,报告 + ERR_ADM_START_RECORDING(1012) 错误码。
    • +
    • 加入频道后调用该方法,测试的是 SDK 正在使用的音频采集设备。
    • +
    • 调用该方法后,必须调 方法停止测试。
    • +
    + +
    参数 - - indicationInterval - -

    SDK 返回 回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。不得少于 10 毫秒,否则会收不到音量回调。

    -
    -
    - - indication_Interval - SDK 触发 回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。不得小于 10 毫秒,否则会收不到 回调。 - -
    + + indicationInterval + +

    SDK 返回 回调的时间间隔,单位为毫秒。建议设置到大于 + 200 毫秒。不得少于 10 毫秒,否则会收不到音量回调。

    +
    +
    + + indication_Interval + SDK 触发 回调的时间间隔,单位为毫秒。建议设置到大于 200 + 毫秒。不得小于 10 毫秒,否则会收不到 回调。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita b/dita/RTC/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita index 40fc5b80c4d..5ea4baf241a 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita @@ -13,25 +13,29 @@

    - - -(int)stopAudioDeviceLoopbackTest; - virtual int stopAudioDeviceLoopbackTest() = 0; - stopAudioDeviceLoopbackTest(): number - public abstract int StopAudioDeviceLoopbackTest(); - - Future<void> stopAudioDeviceLoopbackTest()

    + + -(int)stopAudioDeviceLoopbackTest; + virtual int stopAudioDeviceLoopbackTest() = 0; + stopAudioDeviceLoopbackTest(): number + public abstract int StopAudioDeviceLoopbackTest(); + + Future<void> stopAudioDeviceLoopbackTest() +

    -
      -
    • 该方法需要在加入频道前调用。
    • -
    • 在调用 后,必须调用该方法停止音频设备回路测试。
    • -
    +
      +
    • 该方法需要在加入频道前调用。
    • +
    • 在调用 后,必须调用该方法停止音频设备回路测试。
    • +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita b/dita/RTC/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita index 0a03253bfc1..94b968262e5 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita @@ -13,22 +13,25 @@

    - - - (int)stopPlaybackDeviceTest; - virtual int stopPlaybackDeviceTest() = 0; - stopAudioPlaybackDeviceTest(): number - public abstract int StopPlaybackDeviceTest(); - - Future<void> stopAudioPlaybackDeviceTest()

    + + - (int)stopPlaybackDeviceTest; + virtual int stopPlaybackDeviceTest() = 0; + stopAudioPlaybackDeviceTest(): number + public abstract int StopPlaybackDeviceTest(); + + Future<void> stopAudioPlaybackDeviceTest() +

    该方法停止音频播放设备测试。调用 后,必须调用该方法停止测试。

    - 该方法需要在加入频道前调用。
    + 该方法需要在加入频道前调用。 +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita b/dita/RTC/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita index 8418ceef72e..5f4e18d590e 100644 --- a/dita/RTC/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita +++ b/dita/RTC/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita @@ -13,22 +13,25 @@

    - - - (int)stopRecordingDeviceTest; - virtual int stopRecordingDeviceTest() = 0; - stopAudioRecordingDeviceTest(): number - public abstract int StopRecordingDeviceTest(); - - Future<void> stopAudioRecordingDeviceTest()

    + + - (int)stopRecordingDeviceTest; + virtual int stopRecordingDeviceTest() = 0; + stopAudioRecordingDeviceTest(): number + public abstract int StopRecordingDeviceTest(); + + Future<void> stopAudioRecordingDeviceTest() +

    该方法停止音频采集设备测试。调用 后,必须调用该方法停止测试。

    - 该方法需要在加入频道前调用。
    + 该方法需要在加入频道前调用。 +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita b/dita/RTC/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita index efb2db642df..691bfd304c2 100644 --- a/dita/RTC/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita +++ b/dita/RTC/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita @@ -13,42 +13,45 @@

    - public abstract int muteAllRemoteAudioStreams(boolean mute); - - (int)muteAllRemoteAudioStreams:(BOOL)mute; - virtual int muteAllRemoteAudioStreams(bool mute) = 0; - - public abstract int MuteAllRemoteAudioStreams(bool mute); - -

    + public abstract int muteAllRemoteAudioStreams(boolean mute); + - (int)muteAllRemoteAudioStreams:(BOOL)mute; + virtual int muteAllRemoteAudioStreams(bool mute) = 0; + + public abstract int MuteAllRemoteAudioStreams(bool mute); + + +

    成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的音频流,包括在调用该方法后加入频道的用户的音频流。

    -
      -
    • 该方法需要在 后调用。
    • -
    • 在使用空间音效时,如需设置是否订阅所有远端用户的音频流,声网推荐调用该方法替代 方法。
    • -
    +
      +
    • 该方法需要在 后调用。
    • +
    • 在使用空间音效时,如需设置是否订阅所有远端用户的音频流,声网推荐调用该方法替代 方法。
    • +
    +
    参数 - - mute - -

    是否取消订阅所有远端用户的音频流: - - -

      -
    • : 取消订阅所有远端用户的音频流。
    • -
    • : 订阅所有远端用户的音频流。
    • -

    -
    -
    -
    + + mute + +

    是否取消订阅所有远端用户的音频流:

      +
    • : 取消订阅所有远端用户的音频流。
    • +
    • : 订阅所有远端用户的音频流。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita b/dita/RTC/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita index fec0a5b8e2b..61549104572 100644 --- a/dita/RTC/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita +++ b/dita/RTC/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita @@ -13,43 +13,44 @@

    - public abstract int muteLocalAudioStream(boolean mute); - - (int)muteLocalAudioStream:(BOOL)mute; - virtual int muteLocalAudioStream(bool mute) = 0; - - public abstract int MuteLocalAudioStream(bool mute); - -

    + public abstract int muteLocalAudioStream(boolean mute); + - (int)muteLocalAudioStream:(BOOL)mute; + virtual int muteLocalAudioStream(bool mute) = 0; + + public abstract int MuteLocalAudioStream(bool mute); + + +

    -
      -
    • 该方法不影响音频采集状态,因为没有禁用音频采集设备。
    • -
    • 该方法需要在 后调用。
    • -
    • 在使用空间音效时,如需设置是否发布本地音频流,声网推荐调用该方法替代 方法。
    • -
    +
      +
    • 该方法不影响音频采集状态,因为没有禁用音频采集设备。
    • +
    • 该方法需要在 后调用。
    • +
    • 在使用空间音效时,如需设置是否发布本地音频流,声网推荐调用该方法替代 方法。
    • +
    +
    参数 - - mute - -

    是否取消发布本地音频流。 - - - -

      -
    • : 取消发布本地音频流。
    • -
    • : 发布本地音频流。
    • -

    -
    -
    -
    + + mute + +

    是否取消发布本地音频流。

      +
    • : 取消发布本地音频流。
    • +
    • : 发布本地音频流。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ibasespatialaudioengine_release.dita b/dita/RTC/API/api_ibasespatialaudioengine_release.dita index 1e72e72fd91..bc94805604e 100644 --- a/dita/RTC/API/api_ibasespatialaudioengine_release.dita +++ b/dita/RTC/API/api_ibasespatialaudioengine_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IBaseSpatialAudioEngine"/> - 销毁 + 销毁 @@ -13,21 +14,19 @@

    - - - virtual void release() = 0; - - -

    + + + virtual void release() = 0; + + + +

    -

    该方法释放 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    -

    调用该方法后,你将无法再使用 下的任何 API。 - - - - - 该方法需要在 方法前调用。

    +

    该方法释放 + 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    +

    调用该方法后,你将无法再使用 下的任何 API。 该方法需要在 + 方法前调用。

    diff --git a/dita/RTC/API/api_ibasespatialaudioengine_setaudiorecvrange.dita b/dita/RTC/API/api_ibasespatialaudioengine_setaudiorecvrange.dita index 98dde6fe797..29e563c1e1e 100644 --- a/dita/RTC/API/api_ibasespatialaudioengine_setaudiorecvrange.dita +++ b/dita/RTC/API/api_ibasespatialaudioengine_setaudiorecvrange.dita @@ -13,30 +13,34 @@

    - public abstract int setAudioRecvRange(float range); - - (int)setAudioRecvRange:(float)range; - virtual int setAudioRecvRange(float range) = 0; - - public abstract int SetAudioRecvRange(float range); - -

    + public abstract int setAudioRecvRange(float range); + - (int)setAudioRecvRange:(float)range; + virtual int setAudioRecvRange(float range) = 0; + + public abstract int SetAudioRecvRange(float range); + + +

    设置成功后,用户只能听见设置范围内或属于同一队伍的远端用户。你可以随时调用该方法更新音频的接收范围。

    - 声网推荐在 前调用该方法。
    + 声网推荐在 前调用该方法。 +
    参数 - - range - 可接收音频的最大范围,单位为米。取值需大于 0。 - -
    + + range + 可接收音频的最大范围,单位为米。取值需大于 0。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ibasespatialaudioengine_setdistanceunit.dita b/dita/RTC/API/api_ibasespatialaudioengine_setdistanceunit.dita index d093adcbe10..36207002c31 100644 --- a/dita/RTC/API/api_ibasespatialaudioengine_setdistanceunit.dita +++ b/dita/RTC/API/api_ibasespatialaudioengine_setdistanceunit.dita @@ -13,35 +13,37 @@

    - public abstract int setDistanceUnit(float unit); - - (int)setDistanceUnit:(float)unit; - virtual int setDistanceUnit(float unit) = 0; - - public abstract int SetDistanceUnit(float unit); - -

    + public abstract int setDistanceUnit(float unit); + - (int)setDistanceUnit:(float)unit; + virtual int setDistanceUnit(float unit) = 0; + + public abstract int SetDistanceUnit(float unit); + + +

    -

    游戏引擎里的距离单位是游戏引擎自定义的,而声网空间音效算法的距离单位为米。默认情况下,SDK 会将每单位的游戏引擎距离换算为一米。你可以调用该方法,将游戏引擎里的单位距离换算为指定的米数。

    - 声网推荐在 前调用该方法。
    +

    游戏引擎里的距离单位是游戏引擎自定义的,而声网空间音效算法的距离单位为米。默认情况下,SDK + 会将每单位的游戏引擎距离换算为一米。你可以调用该方法,将游戏引擎里的单位距离换算为指定的米数。

    + 声网推荐在 前调用该方法。 +
    参数 - - unit - 每单位游戏引擎距离转换后的米数,取值需大于 0.00。例如,将 unit 设为 2.00,表示每单位的游戏引擎距离等于 2 米。 - - - -

    该值越大,当远端用户远离本地用户时,本地用户听到的声音衰减速度越快。

    -
    -
    -
    + + unit + 每单位游戏引擎距离转换后的米数,取值需大于 0.00。例如,将 unit 设为 2.00,表示每单位的游戏引擎距离等于 2 米。 +

    该值越大,当远端用户远离本地用户时,本地用户听到的声音衰减速度越快。

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita b/dita/RTC/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita index e7fdc32efbe..9fa153e857c 100644 --- a/dita/RTC/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita +++ b/dita/RTC/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita @@ -13,37 +13,40 @@

    - public abstract int setMaxAudioRecvCount(int maxCount); - - (int)setMaxAudioRecvCount:(NSUInteger)maxCount; - virtual int setMaxAudioRecvCount(int maxCount) = 0; - - public abstract int SetMaxAudioRecvCount(int maxCount); - -

    + public abstract int setMaxAudioRecvCount(int maxCount); + - (int)setMaxAudioRecvCount:(NSUInteger)maxCount; + virtual int setMaxAudioRecvCount(int maxCount) = 0; + + public abstract int SetMaxAudioRecvCount(int maxCount); + + +

    -

    如果在音频接收范围内可接收的音频流数超过设置的值,则本地用户会接收音源距离较近的 maxCount 路音频。如果房间里有和本地用户属于同一队伍的用户,则本地用户会优先接收队员的音频。例如,当 maxCount 设为 3 时,如果房间里有 5 位远端用户,其中 2 位和本地用户属于同一队伍、3 位和本地用户属于不同队伍但在本地用户的音频接收范围内,则本地用户可以听到 2 位队友和 1 位离自己最近的不同队伍的用户。

    - 该方法在 前后均可调用,区别如下: - - - -
      -
    • 如果在 之前调用,该方法会在进入房间时生效。
    • -
    • 如果在 之后调用,该方法立即生效,即改变当前音频接收范围内最多可接收的音频流数。
    • -
    +

    如果在音频接收范围内可接收的音频流数超过设置的值,则本地用户会接收音源距离较近的 maxCount + 路音频。如果房间里有和本地用户属于同一队伍的用户,则本地用户会优先接收队员的音频。例如,当 maxCount 设为 3 + 时,如果房间里有 5 位远端用户,其中 2 位和本地用户属于同一队伍、3 位和本地用户属于不同队伍但在本地用户的音频接收范围内,则本地用户可以听到 2 位队友和 1 + 位离自己最近的不同队伍的用户。

    + 该方法在 前后均可调用,区别如下:
      +
    • 如果在 之前调用,该方法会在进入房间时生效。
    • +
    • 如果在 之后调用,该方法立即生效,即改变当前音频接收范围内最多可接收的音频流数。
    • +
    +
    参数 - - maxCount - 音频接收范围内最多可接收的音频流数。 - -
    + + maxCount + 音频接收范围内最多可接收的音频流数。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita b/dita/RTC/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita index 255175a0646..c30fc29b179 100644 --- a/dita/RTC/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita +++ b/dita/RTC/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita @@ -13,13 +13,14 @@

    - public abstract int updatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); - - (int)updatePlayerPositionInfo:(NSInteger)playerId positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)positionInfo; - virtual int updatePlayerPositionInfo(int playerId, const RemoteVoicePositionInfo& positionInfo) = 0; - - public abstract int UpdatePlayerPositionInfo(int playerId, float[] position, float[] forward); - -

    + public abstract int updatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); + - (int)updatePlayerPositionInfo:(NSInteger)playerId positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)positionInfo; + virtual int updatePlayerPositionInfo(int playerId, const RemoteVoicePositionInfo& positionInfo) = 0; + + public abstract int UpdatePlayerPositionInfo(int playerId, float[] position, float[] forward); + + +

    成功更新后,本地用户可以听到媒体播放器空间位置的变化。

    @@ -27,28 +28,31 @@
    参数 - - playerId - 媒体播放器 ID。可通过 获取。 - - - positionInfo - 媒体播放器的空间位置信息。详见 - - - position - 在世界坐标系中的坐标。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - - - forward - 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - -
    + + playerId + 媒体播放器 ID。可通过 + 获取。 + + + positionInfo + 媒体播放器的空间位置信息。详见 + + + position + 在世界坐标系中的坐标。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + + forward + 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ibasespatialaudioengine_updateselfposition.dita b/dita/RTC/API/api_ibasespatialaudioengine_updateselfposition.dita index 08a21fd0c12..6ea3653e7fe 100644 --- a/dita/RTC/API/api_ibasespatialaudioengine_updateselfposition.dita +++ b/dita/RTC/API/api_ibasespatialaudioengine_updateselfposition.dita @@ -13,59 +13,61 @@

    - public abstract int updateSelfPosition( + public abstract int updateSelfPosition( float[] position, float[] axisForward, float[] axisRight, float[] axisUp); - - (int)updateSelfPosition:(NSArray<NSNumber*>* _Nonnull)position axisForward:(NSArray<NSNumber*>* _Nonnull)axisForward axisRight:(NSArray<NSNumber*>* _Nonnull)axisRight axisUp:(NSArray<NSNumber*>* _Nonnull)axisUp; - virtual int updateSelfPosition(float position[3], float axisForward[3], float axisRight[3], float axisUp[3]) = 0; - - public abstract int UpdateSelfPosition(float[] position, float[] axisForward, float[] axisRight, float[] axisUp); - -

    + - (int)updateSelfPosition:(NSArray<NSNumber*>* _Nonnull)position axisForward:(NSArray<NSNumber*>* _Nonnull)axisForward axisRight:(NSArray<NSNumber*>* _Nonnull)axisRight axisUp:(NSArray<NSNumber*>* _Nonnull)axisUp; + virtual int updateSelfPosition(float position[3], float axisForward[3], float axisRight[3], float axisUp[3]) = 0; + + public abstract int UpdateSelfPosition(float[] position, float[] axisForward, float[] axisRight, float[] axisUp); + + +

    -

    在不同类下调用该方法时,作用不同: - - -

      -
    • 类下调用该方法时,SDK 会向声网空间音效服务器更新本地用户的空间位置。声网空间音效服务器会根据本地和远端用户的世界坐标和音频接收范围计算用户的空间音效参数。
    • -
    • 类下,该方法需要和 搭配使用。SDK 会根据该方法和 设置的参数计算本地和远端用户之间的相对位置,从而计算用户的空间音效参数。
    • -

    +

    在不同类下调用该方法时,作用不同:

      +
    • 类下调用该方法时,SDK + 会向声网空间音效服务器更新本地用户的空间位置。声网空间音效服务器会根据本地和远端用户的世界坐标和音频接收范围计算用户的空间音效参数。
    • +
    • 类下,该方法需要和 搭配使用。SDK 会根据该方法和 + 设置的参数计算本地和远端用户之间的相对位置,从而计算用户的空间音效参数。
    • +

    -
      -
    • 该方法需要在 后调用。
    • -
    • 如果在 类下调用该方法,需注意: - -
        -
      • 多次调用该方法时,声网推荐调用时间间隔为 [120,7000) 毫秒,否则 SDK 和声网空间音效服务器会失去同步。
      • -
      • 如果本次更新的空间位置和上次位置间的距离小于 0.2 米或各方向旋转角度小于 15 度,则 SDK 不会更新本次空间位置。
      • -
    • -
    +
  • 该方法需要在 后调用。
  • +
  • 如果在 类下调用该方法,需注意:
      +
    • 多次调用该方法时,声网推荐调用时间间隔为 [120,7000) 毫秒,否则 SDK 和声网空间音效服务器会失去同步。
    • +
    • 如果本次更新的空间位置和上次位置间的距离小于 0.2 米或各方向旋转角度小于 15 度,则 SDK 不会更新本次空间位置。
    • +
  • + +
    参数 - - position - 在世界坐标系中的坐标。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - - - axisForward - 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - - - axisRight - 在世界坐标系右轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - - - axisUp - 在世界坐标系上轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - -
    + + position + 在世界坐标系中的坐标。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + + axisForward + 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + + axisRight + 在世界坐标系右轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + + axisUp + 在世界坐标系上轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ichannel_addinjectstreamurl.dita b/dita/RTC/API/api_ichannel_addinjectstreamurl.dita index 89132307a2c..3276a3a935b 100644 --- a/dita/RTC/API/api_ichannel_addinjectstreamurl.dita +++ b/dita/RTC/API/api_ichannel_addinjectstreamurl.dita @@ -13,16 +13,18 @@

    - - - virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; - addInjectStreamUrl(url: string, config: InjectStreamConfig): number - public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); - - Future<void> addInjectStreamUrl(String url, LiveInjectStreamConfig config);

    + + + virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; + addInjectStreamUrl(url: string, config: InjectStreamConfig): number + public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); + + Future<void> addInjectStreamUrl(String url, LiveInjectStreamConfig config); +

    -
    +
    diff --git a/dita/RTC/API/api_ichannel_addpublishstreamurl.dita b/dita/RTC/API/api_ichannel_addpublishstreamurl.dita index 77ae21d107f..57e064811ac 100644 --- a/dita/RTC/API/api_ichannel_addpublishstreamurl.dita +++ b/dita/RTC/API/api_ichannel_addpublishstreamurl.dita @@ -1,7 +1,9 @@ - <ph keyref="IChannel_addPublishStreamUrl"/> + + <ph keyref="IChannel_addPublishStreamUrl"/> + @@ -13,48 +15,47 @@

    - - - virtual int addPublishStreamUrl(const char *url, bool transcodingEnabled) = 0; - addPublishStreamUrl(url: string, transcodingEnabled: boolean): number - public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); - - Future<void> addPublishStreamUrl(String url, bool transcodingEnabled);

    + + + virtual int addPublishStreamUrl(const char *url, bool transcodingEnabled) = 0; + addPublishStreamUrl(url: string, transcodingEnabled: boolean): number + public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); + + Future<void> addPublishStreamUrl(String url, bool transcodingEnabled); +

    - -
    弃用:
    -
    - 该方法已废弃。替代方案请参考发版说明
    -
    + +
    弃用:
    +
    该方法已废弃。替代方案请参考发版说明 +
    +
    -

    - 调用该方法后,你可以向 CDN 推送 RTMP 或 RTMPS 协议的媒体流。SDK 会在本地触发 - - 回调,报告增加旁路推流地址的状态。 -

    -
    +

    调用该方法后,你可以向 CDN 推送 RTMP 或 RTMPS 协议的媒体流。SDK 会在本地触发 回调,报告增加旁路推流地址的状态。

    + +
    参数 - - - - - - transcodingEnabled - -

    - - 如果该参数设为 - - ,需先调用 - - 方法。 - - -

    -
    + + + + + + transcodingEnabled + +

    + 如果该参数设为 + + ,需先调用 方法。 + + + +

    +
    diff --git a/dita/RTC/API/api_ichannel_adjustuserplaybacksignalvolume.dita b/dita/RTC/API/api_ichannel_adjustuserplaybacksignalvolume.dita index 2d1fce0a9be..af050b7fb0b 100644 --- a/dita/RTC/API/api_ichannel_adjustuserplaybacksignalvolume.dita +++ b/dita/RTC/API/api_ichannel_adjustuserplaybacksignalvolume.dita @@ -13,28 +13,31 @@

    - - - virtual int adjustUserPlaybackSignalVolume(uid_t userId, int volume) = 0; - adjustUserPlaybackSignalVolume(userId: number, volume: number): number - public abstract int AdjustUserPlaybackSignalVolume(uint uid, int volume); - - Future<void> adjustUserPlaybackSignalVolume(int uid, int volume);

    + + + virtual int adjustUserPlaybackSignalVolume(uid_t userId, int volume) = 0; + adjustUserPlaybackSignalVolume(userId: number, volume: number): number + public abstract int AdjustUserPlaybackSignalVolume(uint uid, int volume); + + Future<void> adjustUserPlaybackSignalVolume(int uid, int volume); +

    参数 - - userId - uid - 远端用户 ID。 - - - - - -
    -
    + + userId + uid + 远端用户 ID。 + + + + + + +
    +
    diff --git a/dita/RTC/API/api_ichannel_channelId.dita b/dita/RTC/API/api_ichannel_channelId.dita index 92dd53242a4..4c094750ae6 100644 --- a/dita/RTC/API/api_ichannel_channelId.dita +++ b/dita/RTC/API/api_ichannel_channelId.dita @@ -13,19 +13,21 @@

    - - - virtual const char *channelId() = 0; - channelId(): string - public abstract string ChannelId(); - - String channelId;

    + + + virtual const char *channelId() = 0; + channelId(): string + public abstract string ChannelId(); + + String channelId; +

    返回值
      -
    • 方法调用成功,返回当前频道的频道名。
    • -
    • 方法调用失败,返回空字符串 ""
    • -
    +
  • 方法调用成功,返回当前频道的频道名。
  • +
  • 方法调用失败,返回空字符串 ""
  • + +
    diff --git a/dita/RTC/API/api_ichannel_createdatastream.dita b/dita/RTC/API/api_ichannel_createdatastream.dita index d6f6c516f01..2354e593b86 100644 --- a/dita/RTC/API/api_ichannel_createdatastream.dita +++ b/dita/RTC/API/api_ichannel_createdatastream.dita @@ -13,46 +13,51 @@

    - - - virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; - createDataStream(reliable: boolean, ordered: boolean): number - public abstract int CreateDataStream(bool reliable, bool ordered); - - Future<int?> createDataStream(bool reliable, bool ordered);

    + + + virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; + createDataStream(reliable: boolean, ordered: boolean): number + public abstract int CreateDataStream(bool reliable, bool ordered); + + Future<int?> createDataStream(bool reliable, bool ordered); +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +

    -

    + +
    参数 - - - - - - reliable - -

    该数据流是否可靠: - -

      -
    • : 接收方 5 秒内会收到发送方所发送的数据,否则会收到 回调并获得相应报错信息。
    • -
    • : 接收方不保证收到,就算数据丢失也不会报错。
    • -

    -
    -
    - - - - -
    -
    + + + + + + reliable + +

    该数据流是否可靠:

      +
    • : 接收方 5 秒内会收到发送方所发送的数据,否则会收到 + + 回调并获得相应报错信息。
    • +
    • : + 接收方不保证收到,就算数据丢失也不会报错。
    • +

    +
    +
    + + + + + +
    +
    diff --git a/dita/RTC/API/api_ichannel_createdatastream2.dita b/dita/RTC/API/api_ichannel_createdatastream2.dita index 36a6836fe6b..50f6d461358 100644 --- a/dita/RTC/API/api_ichannel_createdatastream2.dita +++ b/dita/RTC/API/api_ichannel_createdatastream2.dita @@ -13,25 +13,27 @@

    - - - virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; - createDataStreamWithConfig(config: DataStreamConfig): number - public abstract int CreateDataStream(DataStreamConfig config); - - Future<int?> createDataStreamWithConfig(DataStreamConfig config);

    + + + virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; + createDataStreamWithConfig(config: DataStreamConfig): number + public abstract int CreateDataStream(DataStreamConfig config); + + Future<int?> createDataStreamWithConfig(DataStreamConfig config); +

    - -
    自从
    -
    v3.3.0。用于取代
    -
    + +
    自从
    +
    v3.3.0。用于取代
    +

    -
    +
    diff --git a/dita/RTC/API/api_ichannel_enableencryption.dita b/dita/RTC/API/api_ichannel_enableencryption.dita index b2a59c2dc9a..b907b8fc63e 100644 --- a/dita/RTC/API/api_ichannel_enableencryption.dita +++ b/dita/RTC/API/api_ichannel_enableencryption.dita @@ -13,16 +13,18 @@

    - - - virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; - enableEncryption(enabled: boolean, config: EncryptionConfig): number - public abstract int EnableEncryption(bool enabled, EncryptionConfig config); - - Future<void> enableEncryption(bool enabled, EncryptionConfig config);

    + + + virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; + enableEncryption(enabled: boolean, config: EncryptionConfig): number + public abstract int EnableEncryption(bool enabled, EncryptionConfig config); + + Future<void> enableEncryption(bool enabled, EncryptionConfig config); +

    -
    +
    diff --git a/dita/RTC/API/api_ichannel_enableremotesuperresolution.dita b/dita/RTC/API/api_ichannel_enableremotesuperresolution.dita index 194e449f151..261e32bbc5b 100644 --- a/dita/RTC/API/api_ichannel_enableremotesuperresolution.dita +++ b/dita/RTC/API/api_ichannel_enableremotesuperresolution.dita @@ -13,13 +13,14 @@

    - - - - - public abstract int EnableRemoteSuperResolution(uint userId, bool enable); - - Future<void> enableRemoteSuperResolution(int userId, bool enable);

    + + + + + public abstract int EnableRemoteSuperResolution(uint userId, bool enable); + + Future<void> enableRemoteSuperResolution(int userId, bool enable); +

    diff --git a/dita/RTC/API/api_ichannel_enableremotesuperresolution2.dita b/dita/RTC/API/api_ichannel_enableremotesuperresolution2.dita index 870941439be..25058d4ac18 100644 --- a/dita/RTC/API/api_ichannel_enableremotesuperresolution2.dita +++ b/dita/RTC/API/api_ichannel_enableremotesuperresolution2.dita @@ -13,13 +13,14 @@

    - - - virtual int enableRemoteSuperResolution(bool enabled, SR_MODE mode, uid_t userId) = 0; - - - -

    + + + virtual int enableRemoteSuperResolution(bool enabled, SR_MODE mode, uid_t userId) = 0; + + + + +

    diff --git a/dita/RTC/API/api_ichannel_getcallid.dita b/dita/RTC/API/api_ichannel_getcallid.dita index 32d58090ff9..494d202c760 100644 --- a/dita/RTC/API/api_ichannel_getcallid.dita +++ b/dita/RTC/API/api_ichannel_getcallid.dita @@ -13,13 +13,14 @@

    - - - virtual int getCallId(agora::util::AString& callId) = 0; - getCallId(): string - public abstract string GetCallId(); - - Future<String?> getCallId();

    + + + virtual int getCallId(agora::util::AString& callId) = 0; + getCallId(): string + public abstract string GetCallId(); + + Future<String?> getCallId(); +

    diff --git a/dita/RTC/API/api_ichannel_getconnectionstate.dita b/dita/RTC/API/api_ichannel_getconnectionstate.dita index a17c0bd64cd..fd08735ef34 100644 --- a/dita/RTC/API/api_ichannel_getconnectionstate.dita +++ b/dita/RTC/API/api_ichannel_getconnectionstate.dita @@ -13,13 +13,14 @@

    - - - virtual CONNECTION_STATE_TYPE getConnectionState() = 0; - getConnectionState(): CONNECTION_STATE_TYPE - public abstract CONNECTION_STATE_TYPE GetConnectionState(); - - Future<ConnectionStateType> getConnectionState();

    + + + virtual CONNECTION_STATE_TYPE getConnectionState() = 0; + getConnectionState(): CONNECTION_STATE_TYPE + public abstract CONNECTION_STATE_TYPE GetConnectionState(); + + Future<ConnectionStateType> getConnectionState(); +

    diff --git a/dita/RTC/API/api_ichannel_joinchannel.dita b/dita/RTC/API/api_ichannel_joinchannel.dita index 6fc13d0b109..54ad5f4aa8a 100644 --- a/dita/RTC/API/api_ichannel_joinchannel.dita +++ b/dita/RTC/API/api_ichannel_joinchannel.dita @@ -13,99 +13,111 @@

    - - - virtual int joinChannel(const char* token, + + + virtual int joinChannel(const char* token, const char* info, uid_t uid, const ChannelMediaOptions& options) = 0; - joinChannel(token: string, + joinChannel(token: string, info: string, uid: number, options?: ChannelMediaOptions ): number - public abstract int JoinChannel(string token, string info, uint uid, ChannelMediaOptions options); - - Future<void> joinChannel(String? token, String? optionalInfo, int optionalUid, - ChannelMediaOptions options);

    + public abstract int JoinChannel(string token, string info, uint uid, ChannelMediaOptions options); + + Future<void> joinChannel(String? token, String? optionalInfo, int optionalUid, + ChannelMediaOptions options); +

    -

    该方法与 类下的 方法有以下区别:

    +

    该方法与 类下的 方法有以下区别:

    - - - - - - IChannel::joinChannel - IRtcEngine::joinChannel - - - - - channelId 参数。因为创建 对象时已指定了 channelId - 需要填入可以标识频道的 channelId - - - 通过创建多个 对象,并调用相应对象的 方法,实现同时加入多个频道。 - 只允许加入一个频道。 - - - 通过该方法加入频道后,SDK 默认不发布本地音视频流到本频道,需要调用 方法进行发布。 - 通过该方法加入频道后,SDK 默认将音视频流发布到本频道。 - - - + + + + + + IChannel::joinChannel + IRtcEngine::joinChannel + + + + + channelId 参数。因为创建 对象时已指定了 channelId + 需要填入可以标识频道的 channelId + + + 通过创建多个 对象,并调用相应对象的 方法,实现同时加入多个频道。 + 只允许加入一个频道。 + + + 通过该方法加入频道后,SDK 默认不发布本地音视频流到本频道,需要调用 方法进行发布。 + 通过该方法加入频道后,SDK 默认将音视频流发布到本频道。 + + +
    -

    用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。

    +

    用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute + 方法实现。

    -
      -
    • 该方法不支持相同的用户重复加入同一个频道。
    • -
    • 我们建议不同频道中使用不同的 UID。
    • -
    • 如果想要从不同的设备同时接入同一个频道,请确保每个设备上使用的 UID 是不同的。
    • -
    +
      +
    • 该方法不支持相同的用户重复加入同一个频道。
    • +
    • 我们建议不同频道中使用不同的 UID。
    • +
    • 如果想要从不同的设备同时接入同一个频道,请确保每个设备上使用的 UID 是不同的。
    • +
    + +
    参数 - - - - - - - - - - uid - 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位无符号整数,建议设置范围:1 到 21 到 232-1如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回,App 层必须记住该返回值并维护,SDK 不对该返回值进行维护。 - - - - - -
    + + + + + + + + + + uid + 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 + 位无符号整数,建议设置范围:1 到 21 到 232-1如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回,App 层必须记住该返回值并维护,SDK + 不对该返回值进行维护。 + + + + + + +
    返回值
      -
    • 0(ERR_OK) 方法调用成功。
    • -
    • < 0 方法调用失败。 - - - -
        -
      • -2(ERR_INVALID_ARGUMENT): 参数无效。
      • -
      • -3(ERR_NOT_READY): SDK 初始化失败,请尝试重新初始化 SDK。
      • -
      • -5(ERR_REFUSED): 调用被拒绝。可能有如下两个原因: - - - -
          -
        • 已经创建了一个同名的 频道。
        • -
        • 已经通过 加入了一个频道,并在该 频道中发布了音视频流。
        • +
        • 0(ERR_OK) 方法调用成功。
        • +
        • < 0 方法调用失败。
            +
          • -2(ERR_INVALID_ARGUMENT): 参数无效。
          • +
          • -3(ERR_NOT_READY): SDK 初始化失败,请尝试重新初始化 SDK。
          • +
          • -5(ERR_REFUSED): 调用被拒绝。可能有如下两个原因:
              +
            • 已经创建了一个同名的 频道。
            • +
            • 已经通过 加入了一个频道,并在该 频道中发布了音视频流。
            • +
          • +
          • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化,就调用该方法。请确认在调用 API 之前已经创建 对象并完成初始化。
          • +
          • ERR_JOIN_CHANNEL_REJECTED(-17): 加入频道被拒绝。由于 SDK + 不支持用户重复加入同一个 频道,当已经加入某个 频道的用户再次调用该 + 对象的加入频道方法时,会返回此错误码。
        • -
        • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化,就调用该方法。请确认在调用 API 之前已经创建 对象并完成初始化。
        • -
        • ERR_JOIN_CHANNEL_REJECTED(-17): 加入频道被拒绝。由于 SDK 不支持用户重复加入同一个 频道,当已经加入某个 频道的用户再次调用该 对象的加入频道方法时,会返回此错误码。
        • -
      • -
    + +
    diff --git a/dita/RTC/API/api_ichannel_joinchannelwithuseraccount.dita b/dita/RTC/API/api_ichannel_joinchannelwithuseraccount.dita index f8b656fb6d8..055d80253c3 100644 --- a/dita/RTC/API/api_ichannel_joinchannelwithuseraccount.dita +++ b/dita/RTC/API/api_ichannel_joinchannelwithuseraccount.dita @@ -13,71 +13,85 @@

    - - - virtual int joinChannelWithUserAccount(const char* token, + + + virtual int joinChannelWithUserAccount(const char* token, const char* userAccount, const ChannelMediaOptions& options) = 0; - joinChannelWithUserAccount(token: string, + joinChannelWithUserAccount(token: string, userAccount: string, options: ChannelMediaOptions ): number - public abstract int JoinChannelWithUserAccount(string token, string userAccount, ChannelMediaOptions options); - - Future<void> joinChannelWithUserAccount( - String? token, String userAccount, ChannelMediaOptions options);

    + public abstract int JoinChannelWithUserAccount(string token, string userAccount, ChannelMediaOptions options); + + Future<void> joinChannelWithUserAccount( + String? token, String userAccount, ChannelMediaOptions options); +

    -

    该方法与 类下的 方法有以下区别: - - - - - - - IChannel::joinChannelWithUserAccount - IRtcEngine::joinChannelWithUserAccount - - - - - channelId 参数。因为创建 对象时已指定了 channelId - 需要填入可以标识频道的 channelId - - - 通过创建多个 对象,并调用相应对象的 方法,实现同时加入多个频道。 - 只允许加入一个频道。 - - - 通过该方法加入频道后,SDK 默认不发布本地音视频流到本频道,需要调用 方法进行发布。 - 通过该方法加入频道后,SDK 默认将音视频流发布到本频道。 - - - -

    -

    用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。

    +

    该方法与 类下的 方法有以下区别: + + + + + + IChannel::joinChannelWithUserAccount + IRtcEngine::joinChannelWithUserAccount + + + + + channelId 参数。因为创建 对象时已指定了 + channelId + 需要填入可以标识频道的 channelId + + + 通过创建多个 对象,并调用相应对象的 + 方法,实现同时加入多个频道。 + 只允许加入一个频道。 + + + 通过该方法加入频道后,SDK 默认不发布本地音视频流到本频道,需要调用 方法进行发布。 + 通过该方法加入频道后,SDK 默认将音视频流发布到本频道。 + + + +
    +

    +

    用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute + 方法实现。

    -
      -
    • 该方法不支持相同的用户重复加入同一个频道。
    • -
    • 我们建议不同频道中使用不同的 user account。
    • -
    • 如果想要从不同的设备同时接入同一个频道,请确保每个设备上使用的 user account 是不同的。
    • -
    +
      +
    • 该方法不支持相同的用户重复加入同一个频道。
    • +
    • 我们建议不同频道中使用不同的 user account。
    • +
    • 如果想要从不同的设备同时接入同一个频道,请确保每个设备上使用的 user account 是不同的。
    • +
    + +
    参数 - - - - - - - - - - - - -
    -
    + + + + + + + + + + + + + +
    +
    diff --git a/dita/RTC/API/api_ichannel_leavechannel.dita b/dita/RTC/API/api_ichannel_leavechannel.dita index 69a47bdcd90..edda9fcd8ac 100644 --- a/dita/RTC/API/api_ichannel_leavechannel.dita +++ b/dita/RTC/API/api_ichannel_leavechannel.dita @@ -13,30 +13,35 @@

    - - - virtual int leaveChannel() = 0; - leaveChannel(): number - public abstract int LeaveChannel(); - - Future<void> leaveChannel();

    + + + virtual int leaveChannel() = 0; + leaveChannel(): number + public abstract int LeaveChannel(); + + Future<void> leaveChannel(); +

    离开频道,即挂断或退出通话。该方法会把会话相关的所有资源释放掉。该方法是异步操作,调用返回时并没有真正退出频道。

    -

    调用 后,必须调用 结束通话,否则无法开始下一次通话。

    +

    调用 后,必须调用 结束通话,否则无法开始下一次通话。

    不管当前是否在通话中,都可以调用 ,没有副作用。

    -

    成功调用该方法离开频道会触发以下回调: - -

      -
    • 本地会触发 回调。
    • -
    • 通信场景下的用户和直播场景下的主播离开频道后,远端会触发 +

      成功调用该方法离开频道会触发以下回调:

        +
      • 本地会触发 回调。
      • +
      • 通信场景下的用户和直播场景下的主播离开频道后,远端会触发 回调。
      • -

      +

    -
      -
    • 如果你调用了 后立即调用 方法,SDK 将无法触发 回调。
    • -
    • 如果你在旁路推流过程中调用了 方法,SDK 将自动调用 方法。
    • -
    +
      +
    • 如果你调用了 后立即调用 方法,SDK 将无法触发 回调。
    • +
    • 如果你在旁路推流过程中调用了 方法,SDK 将自动调用 方法。
    • +
    + +
    diff --git a/dita/RTC/API/api_ichannel_muteallremoteaudiostreams.dita b/dita/RTC/API/api_ichannel_muteallremoteaudiostreams.dita index 489ee4d087e..728c4170659 100644 --- a/dita/RTC/API/api_ichannel_muteallremoteaudiostreams.dita +++ b/dita/RTC/API/api_ichannel_muteallremoteaudiostreams.dita @@ -13,16 +13,18 @@

    - - - virtual int muteAllRemoteAudioStreams(bool mute) = 0; - muteAllRemoteAudioStreams(mute: boolean): number - public abstract int MuteAllRemoteAudioStreams(bool mute); - - Future<void> muteAllRemoteAudioStreams(bool muted);

    + + + virtual int muteAllRemoteAudioStreams(bool mute) = 0; + muteAllRemoteAudioStreams(mute: boolean): number + public abstract int MuteAllRemoteAudioStreams(bool mute); + + Future<void> muteAllRemoteAudioStreams(bool muted); +

    -
    +
    diff --git a/dita/RTC/API/api_ichannel_muteallremotevideostreams.dita b/dita/RTC/API/api_ichannel_muteallremotevideostreams.dita index bac6695182b..7bb82290350 100644 --- a/dita/RTC/API/api_ichannel_muteallremotevideostreams.dita +++ b/dita/RTC/API/api_ichannel_muteallremotevideostreams.dita @@ -13,16 +13,18 @@

    - - - virtual int muteAllRemoteVideoStreams(bool mute) = 0; - muteAllRemoteVideoStreams(mute: boolean): number - public abstract int MuteAllRemoteVideoStreams(bool mute); - - Future<void> muteAllRemoteVideoStreams(bool muted);

    + + + virtual int muteAllRemoteVideoStreams(bool mute) = 0; + muteAllRemoteVideoStreams(mute: boolean): number + public abstract int MuteAllRemoteVideoStreams(bool mute); + + Future<void> muteAllRemoteVideoStreams(bool muted); +

    -
    +
    diff --git a/dita/RTC/API/api_ichannel_mutelocalaudiostream.dita b/dita/RTC/API/api_ichannel_mutelocalaudiostream.dita index b47e694437f..cb2be4ea431 100644 --- a/dita/RTC/API/api_ichannel_mutelocalaudiostream.dita +++ b/dita/RTC/API/api_ichannel_mutelocalaudiostream.dita @@ -2,7 +2,8 @@ <ph keyref="IChannel_muteLocalAudioStream"/> - + @@ -13,23 +14,26 @@

    - - - - - - - Future<void> muteLocalAudioStream(bool mute);

    + + + + + + + Future<void> muteLocalAudioStream(bool mute); +

    参数 - - mute - - -
    -
    + + mute + + + +
    +
    返回值
    diff --git a/dita/RTC/API/api_ichannel_mutelocalvideostream.dita b/dita/RTC/API/api_ichannel_mutelocalvideostream.dita index 7c52076eb09..beb19ecdd88 100644 --- a/dita/RTC/API/api_ichannel_mutelocalvideostream.dita +++ b/dita/RTC/API/api_ichannel_mutelocalvideostream.dita @@ -2,7 +2,8 @@ <ph keyref="IChannel_muteLocalVideoStream"/> - + @@ -13,24 +14,27 @@

    - - - - - - - Future<void> muteLocalVideoStream(bool muted);

    + + + + + + + Future<void> muteLocalVideoStream(bool muted); +

    参数 - - mute - muted - - -
    -
    + + mute + muted + + + +
    +
    返回值
    diff --git a/dita/RTC/API/api_ichannel_muteremoteaudiostream.dita b/dita/RTC/API/api_ichannel_muteremoteaudiostream.dita index 7d2e0e3db32..c2954b34263 100644 --- a/dita/RTC/API/api_ichannel_muteremoteaudiostream.dita +++ b/dita/RTC/API/api_ichannel_muteremoteaudiostream.dita @@ -13,28 +13,31 @@

    - - - virtual int muteRemoteAudioStream(uid_t userId, bool mute) = 0; - muteRemoteAudioStream(userId: number, mute: boolean): number - public abstract int MuteRemoteAudioStream(uint userId, bool mute); - - Future<void> muteRemoteAudioStream(int userId, bool muted);

    + + + virtual int muteRemoteAudioStream(uid_t userId, bool mute) = 0; + muteRemoteAudioStream(userId: number, mute: boolean): number + public abstract int MuteRemoteAudioStream(uint userId, bool mute); + + Future<void> muteRemoteAudioStream(int userId, bool muted); +

    参数 - - userId - - - - muted - mute - - -
    -
    + + userId + + + + muted + mute + + + +
    +
    diff --git a/dita/RTC/API/api_ichannel_muteremotevideostream.dita b/dita/RTC/API/api_ichannel_muteremotevideostream.dita index ad8e00e18d7..32fa20b5735 100644 --- a/dita/RTC/API/api_ichannel_muteremotevideostream.dita +++ b/dita/RTC/API/api_ichannel_muteremotevideostream.dita @@ -13,28 +13,31 @@

    - - - virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; - muteRemoteVideoStream(userId: number, mute: boolean): number - public abstract int MuteRemoteVideoStream(uint userId, bool mute); - - Future<void> muteRemoteVideoStream(int userId, bool muted);

    + + + virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; + muteRemoteVideoStream(userId: number, mute: boolean): number + public abstract int MuteRemoteVideoStream(uint userId, bool mute); + + Future<void> muteRemoteVideoStream(int userId, bool muted); +

    参数 - - userId - - - - muted - mute - - -
    -
    + + userId + + + + muted + mute + + + +
    +
    diff --git a/dita/RTC/API/api_ichannel_pauseallchannelmediarelay.dita b/dita/RTC/API/api_ichannel_pauseallchannelmediarelay.dita index 91947a1feae..237f20b6dc6 100644 --- a/dita/RTC/API/api_ichannel_pauseallchannelmediarelay.dita +++ b/dita/RTC/API/api_ichannel_pauseallchannelmediarelay.dita @@ -2,7 +2,8 @@ <ph keyref="IChannel_pauseAllChannelMediaRelay"/> - + @@ -13,24 +14,26 @@

    - - - - - - - Future<void> pauseAllChannelMediaRelay();

    + + + + + + + Future<void> pauseAllChannelMediaRelay(); +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    -
    +
    返回值
    diff --git a/dita/RTC/API/api_ichannel_publish.dita b/dita/RTC/API/api_ichannel_publish.dita index d007e87d714..97b61be22ec 100644 --- a/dita/RTC/API/api_ichannel_publish.dita +++ b/dita/RTC/API/api_ichannel_publish.dita @@ -13,32 +13,31 @@

    - - - virtual int publish() = 0; - publish(): number - public abstract int Publish(); - - Future<void> publish();

    + + + virtual int publish() = 0; + publish(): number + public abstract int Publish(); + + Future<void> publish(); +

    -

    该方法的调用需满足以下要求,否则 SDK 会返回 -5(ERR_REFUSED) : - -

      -
    • 该方法仅支持将音视频流发布到当前 类所对应的频道。
    • -
    • 直播场景下,该方法仅适用于角色为主播的用户。你可以调用该 类下的 方法设置用户角色。
    • -
    • SDK 只支持用户同一时间在一个频道发布一路音视频流。详情请参考进阶功能《多频道管理》。
    • -

    +

    该方法的调用需满足以下要求,否则 SDK 会返回 -5(ERR_REFUSED) :

      +
    • 该方法仅支持将音视频流发布到当前 类所对应的频道。
    • +
    • 直播场景下,该方法仅适用于角色为主播的用户。你可以调用该 类下的 方法设置用户角色。
    • +
    • SDK 只支持用户同一时间在一个频道发布一路音视频流。详情请参考进阶功能《多频道管理》。
    • +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - -
        -
      • -5(ERR_REFUSED): 调用被拒绝。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -5(ERR_REFUSED): 调用被拒绝。
    • +
  • + +
    diff --git a/dita/RTC/API/api_ichannel_registermediametadataobserver.dita b/dita/RTC/API/api_ichannel_registermediametadataobserver.dita index 814faefc326..56a7f1e4bb6 100644 --- a/dita/RTC/API/api_ichannel_registermediametadataobserver.dita +++ b/dita/RTC/API/api_ichannel_registermediametadataobserver.dita @@ -13,21 +13,26 @@

    - - - virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; - registerMediaMetadataObserver(type: METADATA_TYPE = 0): number - public abstract int RegisterMediaMetadataObserver(METADATA_TYPE type); - - Future<void> registerMediaMetadataObserver();

    + + + virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; + registerMediaMetadataObserver(type: METADATA_TYPE = 0): number + public abstract int RegisterMediaMetadataObserver(METADATA_TYPE type); + + Future<void> registerMediaMetadataObserver(); +

    -
      -
    • 请在 前调用该方法。
    • -
    • 该方法仅适用于直播场景。
    • -
    -
    -
    +
      +
    • 请在 前调用该方法。
    • +
    • 该方法仅适用于直播场景。
    • +
    + +
    +
    +
    diff --git a/dita/RTC/API/api_ichannel_registerpacketobserver.dita b/dita/RTC/API/api_ichannel_registerpacketobserver.dita index 4db0f43ce5f..7e5153b37ec 100644 --- a/dita/RTC/API/api_ichannel_registerpacketobserver.dita +++ b/dita/RTC/API/api_ichannel_registerpacketobserver.dita @@ -13,13 +13,14 @@

    - - - virtual int registerPacketObserver(IPacketObserver* observer) = 0; - - public abstract int RegisterPacketObserver(IPacketObserver observer); - -

    + + + virtual int registerPacketObserver(IPacketObserver* observer) = 0; + + public abstract int RegisterPacketObserver(IPacketObserver observer); + + +

    diff --git a/dita/RTC/API/api_ichannel_release.dita b/dita/RTC/API/api_ichannel_release.dita index e401a101e01..1e9e8e4e3ad 100644 --- a/dita/RTC/API/api_ichannel_release.dita +++ b/dita/RTC/API/api_ichannel_release.dita @@ -13,24 +13,24 @@

    - - - virtual int release() = 0; - release(): number - public abstract void Dispose(); - - Future<void> destroy();

    + + + virtual int release() = 0; + release(): number + public abstract void Dispose(); + + Future<void> destroy(); +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - -
        -
      • ERR_NOT_INITIALIZED(7): SDK 尚未初始化,就调用其 API。请确认在调用 API - 之前已创建 对象并完成初始化。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • ERR_NOT_INITIALIZED(7): SDK 尚未初始化,就调用其 API。请确认在调用 API + 之前已创建 对象并完成初始化。
    • +
  • + +
    diff --git a/dita/RTC/API/api_ichannel_releaseall.dita b/dita/RTC/API/api_ichannel_releaseall.dita index 0fe8f4c5006..8401f313a7d 100644 --- a/dita/RTC/API/api_ichannel_releaseall.dita +++ b/dita/RTC/API/api_ichannel_releaseall.dita @@ -13,13 +13,14 @@

    - - - - - - - static void destroyAll()

    + + + + + + + static void destroyAll() +

    diff --git a/dita/RTC/API/api_ichannel_removeinjectstreamurl.dita b/dita/RTC/API/api_ichannel_removeinjectstreamurl.dita index e1cdcda15b7..7b6d91b9dea 100644 --- a/dita/RTC/API/api_ichannel_removeinjectstreamurl.dita +++ b/dita/RTC/API/api_ichannel_removeinjectstreamurl.dita @@ -13,16 +13,18 @@

    - - - virtual int removeInjectStreamUrl(const char* url) = 0; - removeInjectStreamUrl(url: string): number - public abstract int RemoveInjectStreamUrl(string url); - - Future<void> removeInjectStreamUrl(String url);

    + + + virtual int removeInjectStreamUrl(const char* url) = 0; + removeInjectStreamUrl(url: string): number + public abstract int RemoveInjectStreamUrl(string url); + + Future<void> removeInjectStreamUrl(String url); +

    -
    +
    diff --git a/dita/RTC/API/api_ichannel_removepublishstreamurl.dita b/dita/RTC/API/api_ichannel_removepublishstreamurl.dita index 58dbdc57824..d4150bac333 100644 --- a/dita/RTC/API/api_ichannel_removepublishstreamurl.dita +++ b/dita/RTC/API/api_ichannel_removepublishstreamurl.dita @@ -13,26 +13,29 @@

    - - - virtual int removePublishStreamUrl(const char *url) = 0; - removePublishStreamUrl(url: string): number - public abstract int RemovePublishStreamUrl(string url); - - Future<void> removePublishStreamUrl(String url);

    + + + virtual int removePublishStreamUrl(const char *url) = 0; + removePublishStreamUrl(url: string): number + public abstract int RemovePublishStreamUrl(string url); + + Future<void> removePublishStreamUrl(String url); +

    - -
    弃用:
    -
    - 该方法已废弃。替代方案请参考发版说明。 -
    -
    + +
    弃用:
    +
    该方法已废弃。替代方案请参考发版说明
    +
    -

    调用该方法后,SDK 会在本地触发 回调,报告删除旁路推流地址的状态。

    -
    +

    调用该方法后,SDK 会在本地触发 + 回调,报告删除旁路推流地址的状态。

    + +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_renewtoken.dita b/dita/RTC/API/api_ichannel_renewtoken.dita index f2297cc59b1..ca7fa676fab 100644 --- a/dita/RTC/API/api_ichannel_renewtoken.dita +++ b/dita/RTC/API/api_ichannel_renewtoken.dita @@ -13,22 +13,22 @@

    - - - virtual int renewToken(const char* token) = 0; - renewToken(token: string): number - public abstract int RenewToken(string token); - - Future<void> renewToken(String token);

    + + + virtual int renewToken(const char* token) = 0; + renewToken(token: string): number + public abstract int RenewToken(string token); + + Future<void> renewToken(String token); +

    -

    该方法用于更新 Token。Token 会在一定时间后失效。以下两种情况下,app 应重新获取 Token,然后调用 renewToken 将新的 Token 传给 SDK,否则 SDK - 无法和服务器建立连接: - -

      -
    • 发生 回调时。
    • -
    • 回调报告 (9) 时。
    • -

    +

    该方法用于更新 Token。Token 会在一定时间后失效。以下两种情况下,app 应重新获取 Token,然后调用 renewToken 将新的 Token 传给 + SDK,否则 SDK 无法和服务器建立连接:

      +
    • 发生 回调时。
    • +
    • 回调报告 (9) 时。
    • +

    diff --git a/dita/RTC/API/api_ichannel_resumeallchannelmediarelay.dita b/dita/RTC/API/api_ichannel_resumeallchannelmediarelay.dita index 900fa62ef07..e866b13ba67 100644 --- a/dita/RTC/API/api_ichannel_resumeallchannelmediarelay.dita +++ b/dita/RTC/API/api_ichannel_resumeallchannelmediarelay.dita @@ -2,7 +2,8 @@ <ph keyref="IChannel_resumeAllChannelMediaRelay"/> - + @@ -13,24 +14,26 @@

    - - - - - - - Future<void> resumeAllChannelMediaRelay();

    + + + + + + + Future<void> resumeAllChannelMediaRelay(); +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    -
    +
    返回值
    diff --git a/dita/RTC/API/api_ichannel_sendmetadata.dita b/dita/RTC/API/api_ichannel_sendmetadata.dita index 599a9580c66..fe277b2bbcc 100644 --- a/dita/RTC/API/api_ichannel_sendmetadata.dita +++ b/dita/RTC/API/api_ichannel_sendmetadata.dita @@ -13,31 +13,36 @@

    - - - - sendMetadata(metadata: Metadata): number - public abstract int SendMetadata(Metadata metadata); - - Future<void> sendMetadata(Uint8List metadata);

    + + + + sendMetadata(metadata: Metadata): number + public abstract int SendMetadata(Metadata metadata); + + Future<void> sendMetadata(Uint8List metadata); +

    -

    成功调用 方法后,SDK 会触发 回调,你可以调用该方法发送媒体附属信息。

    +

    成功调用 方法后,SDK 会触发 + 回调,你可以调用该方法发送媒体附属信息。

    如果成功发送了媒体附属信息,接收端会收到 回调。

    参数 - - metadata - 媒体附属信息。详见 - -
    + + metadata + 媒体附属信息。详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ichannel_sendstreammessage.dita b/dita/RTC/API/api_ichannel_sendstreammessage.dita index 67c7e7d88f2..ee862698c34 100644 --- a/dita/RTC/API/api_ichannel_sendstreammessage.dita +++ b/dita/RTC/API/api_ichannel_sendstreammessage.dita @@ -13,24 +13,27 @@

    - - - virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0; - sendStreamMessage(streamId: number, data: string): number - public abstract int SendStreamMessage(int streamId, byte[] data); - - Future<void> sendStreamMessage(int streamId, Uint8List message);

    + + + virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0; + sendStreamMessage(streamId: number, data: string): number + public abstract int SendStreamMessage(int streamId, byte[] data); + + Future<void> sendStreamMessage(int streamId, Uint8List message); +

    成功调用该方法后,远端会触发 回调,远端用户可以在该回调中获取接收到的流消息; - 若调用失败,远端会触发 回调。

    + 若调用失败,远端会触发 回调。

    -
      -
    • 请确保在调用该方法前,已调用 创建了数据通道。
    • -
    • 直播场景下,该方法仅适用于主播用户。
    • -
    +
      +
    • 请确保在调用该方法前,已调用 创建了数据通道。
    • +
    • 直播场景下,该方法仅适用于主播用户。
    • +
    +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_setavsyncsource.dita b/dita/RTC/API/api_ichannel_setavsyncsource.dita index 08e6aa218fd..9b5422a70ff 100644 --- a/dita/RTC/API/api_ichannel_setavsyncsource.dita +++ b/dita/RTC/API/api_ichannel_setavsyncsource.dita @@ -1,7 +1,9 @@ - <ph keyref="IChannel_setAVSyncSource"/> + + <ph keyref="IChannel_setAVSyncSource"/> + @@ -13,34 +15,40 @@

    - - - - - public abstract int SetAVSyncSource(string channelId, uint uid); - -

    + + + + + public abstract int SetAVSyncSource(string channelId, uint uid); + + +

    -

    同一用户可能使用两个设备分别发送音频流和视频流,为保证接收端听到和看到的音频和视频的时间同步性,你可以在视频发送端调用该方法,并传入音频发送端的频道名、用户 ID。SDK 会以发送的音频流的时间戳为基准进行自动调节发送的视频流,以保证即使在两个发送端的上行网络情况不一致(如分别使用 Wi-Fi 和 4G 网络)的情况下,也能让接收到的音视频具有时间同步性。

    - 声网推荐你在加入频道前调用该方法。
    +

    同一用户可能使用两个设备分别发送音频流和视频流,为保证接收端听到和看到的音频和视频的时间同步性,你可以在视频发送端调用该方法,并传入音频发送端的频道名、用户 ID。SDK + 会以发送的音频流的时间戳为基准进行自动调节发送的视频流,以保证即使在两个发送端的上行网络情况不一致(如分别使用 Wi-Fi 和 4G + 网络)的情况下,也能让接收到的音视频具有时间同步性。

    + 声网推荐你在加入频道前调用该方法。 +
    参数 - - channelId - 标识音频发送端所在频道的频道名。 - - - uid - 音频发送端的用户 ID。 - -
    + + channelId + 标识音频发送端所在频道的频道名。 + + + uid + 音频发送端的用户 ID。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_ichannel_setchanneleventhandler.dita b/dita/RTC/API/api_ichannel_setchanneleventhandler.dita index 344d3a88616..5508032d16b 100644 --- a/dita/RTC/API/api_ichannel_setchanneleventhandler.dita +++ b/dita/RTC/API/api_ichannel_setchanneleventhandler.dita @@ -13,13 +13,14 @@

    - - - virtual int setChannelEventHandler(IChannelEventHandler *channelEh) = 0; - - public abstract void InitEventHandler(IAgoraRtcChannelEventHandler channelEventHandler); - - void setEventHandler(RtcChannelEventHandler handler)

    + + + virtual int setChannelEventHandler(IChannelEventHandler *channelEh) = 0; + + public abstract void InitEventHandler(IAgoraRtcChannelEventHandler channelEventHandler); + + void setEventHandler(RtcChannelEventHandler handler) +

    你可以通过设置的事件句柄监听本 对象对应频道的事件,并接收频道中用户视频信息等。

    @@ -27,17 +28,20 @@
    参数 - - channelEh - channelEventHandler - 对象的事件句柄。详见 - -
    + + channelEh + channelEventHandler + 对象的事件句柄。详见 + + +
    返回值
      -
    • 0(ERR_OK) 方法调用成功。
    • -
    • < 0 方法调用失败。
    • -
    +
  • 0(ERR_OK) 方法调用成功。
  • +
  • < 0 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ichannel_setclientrole.dita b/dita/RTC/API/api_ichannel_setclientrole.dita index 9d49d78baf8..4020357b824 100644 --- a/dita/RTC/API/api_ichannel_setclientrole.dita +++ b/dita/RTC/API/api_ichannel_setclientrole.dita @@ -13,24 +13,28 @@

    - - - virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; - setClientRole(role: CLIENT_ROLE_TYPE): number - public abstract int SetClientRole(CLIENT_ROLE_TYPE role); - -

    + + + virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; + setClientRole(role: CLIENT_ROLE_TYPE): number + public abstract int SetClientRole(CLIENT_ROLE_TYPE role); + + +

    -

    如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作: -

      -
    • 调用 修改发布状态。
    • -
    • 本地会触发 回调。
    • -
    • 本地会触发 回调。
    • -
    • 远端会触发 (USER_OFFLINE_BECOME_AUDIENCE) 回调。
    • -

    - 该方法仅适用于直播场景。
    +

    如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作:

      +
    • 调用 修改发布状态。
    • +
    • 本地会触发 或 + 回调。
    • +
    • 本地会触发 回调。
    • +
    • 远端会触发 (USER_OFFLINE_BECOME_AUDIENCE) 回调。
    • +

    + 该方法仅适用于直播场景。 +
    diff --git a/dita/RTC/API/api_ichannel_setclientrole2.dita b/dita/RTC/API/api_ichannel_setclientrole2.dita index 086b58afb28..e7d37a9afe0 100644 --- a/dita/RTC/API/api_ichannel_setclientrole2.dita +++ b/dita/RTC/API/api_ichannel_setclientrole2.dita @@ -13,40 +13,48 @@

    - - - virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; - setClientRoleWithOptions(role: CLIENT_ROLE_TYPE, options: ClientRoleOptions): number - public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); - - Future<void> setClientRole(ClientRole role, [ClientRoleOptions? options]);

    + + + virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; + setClientRoleWithOptions(role: CLIENT_ROLE_TYPE, options: ClientRoleOptions): number + public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); + + Future<void> setClientRole(ClientRole role, [ClientRoleOptions? options]); +

    - -
    自从
    -
    v3.2.0
    -
    + +
    自从
    +
    v3.2.0
    +

    在加入频道前和加入频道后均可调用该方法设置用户角色。

    -

    如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作: -

      -
    • 调用 修改发布状态。
    • -
    • 本地触发 回调。
    • -
    • 本地触发 回调。
    • -
    • 远端触发 回调。
    • -

    +

    如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作:

      +
    • 调用 修改发布状态。
    • +
    • 本地触发 回调。
    • +
    • 本地触发 + 回调。
    • +
    • 远端触发 回调。
    • +

    -
      -
    • 该方法仅在频道场景为直播(profile 设为 )时生效。
    • -
    • 该方法与 的区别在于,该方法还支持设置用户级别。 - - -
        -
      • -
    • -
    +
      +
    • 该方法仅在频道场景为直播( 中 + profile 设为 )时生效。
    • +
    • 该方法与 + 的区别在于,该方法还支持设置用户级别。
        +
      • +
      +
    • +
    + +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_setdefaultmuteallremoteaudiostreams.dita b/dita/RTC/API/api_ichannel_setdefaultmuteallremoteaudiostreams.dita index d75dc8333da..a188a30b55f 100644 --- a/dita/RTC/API/api_ichannel_setdefaultmuteallremoteaudiostreams.dita +++ b/dita/RTC/API/api_ichannel_setdefaultmuteallremoteaudiostreams.dita @@ -13,29 +13,35 @@

    - - - virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; - setDefaultMuteAllRemoteAudioStreams(mute: boolean): number - public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); - - Future<void> setDefaultMuteAllRemoteAudioStreams(bool muted);

    + + + virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; + setDefaultMuteAllRemoteAudioStreams(mute: boolean): number + public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); + + Future<void> setDefaultMuteAllRemoteAudioStreams(bool muted); +

    - -
    弃用:
    -
    该方法自 v3.3.0 起废弃。
    -
    + +
    弃用:
    +
    该方法自 v3.3.0 起废弃。
    +

    -

    取消订阅音频流后,如果需要恢复订阅频道内的远端,可以进行如下操作:

    -
      -
    • 如果需要恢复订阅单个用户的音频流,调用 (),并指定你想要订阅的远端用户 ID。
    • -
    • 如果想恢复订阅多个用户的音频流,则需要多次调用 ()。
    • -
    +

    取消订阅音频流后,如果需要恢复订阅频道内的远端,可以进行如下操作:

    +
      +
    • 如果需要恢复订阅单个用户的音频流,调用 + (),并指定你想要订阅的远端用户 ID。
    • +
    • 如果想恢复订阅多个用户的音频流,则需要多次调用 + ()。
    • +
    + +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_setdefaultmuteallremotevideostreams.dita b/dita/RTC/API/api_ichannel_setdefaultmuteallremotevideostreams.dita index 57f63e27074..fb235c09879 100644 --- a/dita/RTC/API/api_ichannel_setdefaultmuteallremotevideostreams.dita +++ b/dita/RTC/API/api_ichannel_setdefaultmuteallremotevideostreams.dita @@ -13,30 +13,35 @@

    - - - virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; - setDefaultMuteAllRemoteVideoStreams(mute: boolean): number - public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); - - Future<void> setDefaultMuteAllRemoteVideoStreams(bool muted);

    + + + virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; + setDefaultMuteAllRemoteVideoStreams(mute: boolean): number + public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); + + Future<void> setDefaultMuteAllRemoteVideoStreams(bool muted); +

    - -
    弃用:
    -
    该方法自 v3.3.0 起废弃。
    -
    + +
    弃用:
    +
    该方法自 v3.3.0 起废弃。
    +

    -

    取消订阅视频流后,如果需要恢复订阅频道内的远端,可以进行如下操作:

    -
      -
    • 如果需要恢复订阅单个用户的视频流,调用 (),并指定你想要订阅的远端用户 ID。
    • -
    • 如果想恢复订阅多个用户的视频流,则需要多次调用 - ()。
    • -
    +

    取消订阅视频流后,如果需要恢复订阅频道内的远端,可以进行如下操作:

    +
      +
    • 如果需要恢复订阅单个用户的视频流,调用 (),并指定你想要订阅的远端用户 ID。
    • +
    • 如果想恢复订阅多个用户的视频流,则需要多次调用 + ()。
    • +
    + +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_setencryptionmode.dita b/dita/RTC/API/api_ichannel_setencryptionmode.dita index d50db02d0a3..68e3113249f 100644 --- a/dita/RTC/API/api_ichannel_setencryptionmode.dita +++ b/dita/RTC/API/api_ichannel_setencryptionmode.dita @@ -13,24 +13,28 @@

    - - - virtual int setEncryptionMode(const char* encryptionMode) = 0; - setEncryptionMode(encryptionMode: string): number - public abstract int SetEncryptionMode(string encryptionMode); - - Future<void> setEncryptionMode(EncryptionMode encryptionMode);

    + + + virtual int setEncryptionMode(const char* encryptionMode) = 0; + setEncryptionMode(encryptionMode: string): number + public abstract int SetEncryptionMode(string encryptionMode); + + Future<void> setEncryptionMode(EncryptionMode encryptionMode); +

    - -
    弃用:
    -
    该方法自 v3.1.0 起废弃。请改用 方法。
    -
    + +
    弃用:
    +
    该方法自 v3.1.0 起废弃。请改用 方法。
    +

    - 在调用本方法前,请先调用 启用内置加密功能。

    + 在调用本方法前,请先调用 + 启用内置加密功能。 +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_setencryptionsecret.dita b/dita/RTC/API/api_ichannel_setencryptionsecret.dita index 53c0fc6dac8..aea76d5c68b 100644 --- a/dita/RTC/API/api_ichannel_setencryptionsecret.dita +++ b/dita/RTC/API/api_ichannel_setencryptionsecret.dita @@ -13,24 +13,27 @@

    - - - virtual int setEncryptionSecret(const char* secret) = 0; - setEncryptionSecret(secret: string): number - public abstract int SetEncryptionSecret(string secret); - - Future<void> setEncryptionSecret(String secret);

    + + + virtual int setEncryptionSecret(const char* secret) = 0; + setEncryptionSecret(secret: string): number + public abstract int SetEncryptionSecret(string secret); + + Future<void> setEncryptionSecret(String secret); +

    - -
    弃用:
    -
    请改用 方法。
    -
    + +
    弃用:
    +
    请改用 方法。
    +

    -

    + +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_setlivetranscoding.dita b/dita/RTC/API/api_ichannel_setlivetranscoding.dita index 3fe1bf8f8da..584b5e5d911 100644 --- a/dita/RTC/API/api_ichannel_setlivetranscoding.dita +++ b/dita/RTC/API/api_ichannel_setlivetranscoding.dita @@ -13,25 +13,30 @@

    - - - virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; - setLiveTranscoding(transcoding: LiveTranscoding): number - public abstract int SetLiveTranscoding(LiveTranscoding transcoding); - - Future<void> setLiveTranscoding(LiveTranscoding transcoding);

    + + + virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; + setLiveTranscoding(transcoding: LiveTranscoding): number + public abstract int SetLiveTranscoding(LiveTranscoding transcoding); + + Future<void> setLiveTranscoding(LiveTranscoding transcoding); +

    - -
    弃用:
    -
    - 该方法已废弃。替代方案请参考发版说明
    -
    + +
    弃用:
    +
    该方法已废弃。替代方案请参考发版说明 +
    +
    -

    该方法用于旁路推流的视图布局及音频设置等。调用该方法更新转码设置后本地会触发 回调。

    -
    +

    该方法用于旁路推流的视图布局及音频设置等。调用该方法更新转码设置后本地会触发 + 回调。

    + +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_setmaxmetadatasize.dita b/dita/RTC/API/api_ichannel_setmaxmetadatasize.dita index fd4f2fb3332..826b6ac71f5 100644 --- a/dita/RTC/API/api_ichannel_setmaxmetadatasize.dita +++ b/dita/RTC/API/api_ichannel_setmaxmetadatasize.dita @@ -13,30 +13,34 @@

    - - - - setMaxMetadataSize(size: number): number - public abstract int SetMaxMetadataSize(int size); - - Future<void> setMaxMetadataSize(int size);

    + + + + setMaxMetadataSize(size: number): number + public abstract int SetMaxMetadataSize(int size); + + Future<void> setMaxMetadataSize(int size); +

    -

    调用 后,你可以调用本方法来设置媒体附属信息的最大大小。

    +

    调用 + 后,你可以调用本方法来设置媒体附属信息的最大大小。

    参数 - - size - 媒体附属信息的最大大小。 - -
    + + size + 媒体附属信息的最大大小。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ichannel_setremotedefaultvideostreamtype.dita b/dita/RTC/API/api_ichannel_setremotedefaultvideostreamtype.dita index 5c9fbf0f8e9..bb7bdc874dc 100644 --- a/dita/RTC/API/api_ichannel_setremotedefaultvideostreamtype.dita +++ b/dita/RTC/API/api_ichannel_setremotedefaultvideostreamtype.dita @@ -13,20 +13,26 @@

    - - - virtual int setRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType) = 0; - setRemoteDefaultVideoStreamType(streamType: REMOTE_VIDEO_STREAM_TYPE): number - public abstract int SetRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType); - - Future<void> setRemoteDefaultVideoStreamType(VideoStreamType streamType);

    + + + virtual int setRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType) = 0; + setRemoteDefaultVideoStreamType(streamType: REMOTE_VIDEO_STREAM_TYPE): number + public abstract int SetRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType); + + Future<void> setRemoteDefaultVideoStreamType(VideoStreamType streamType); +

    - 该方法需要在加入频道后调用。如果既调用了 ,也调用了 ,则 SDK 以 中的设置为准。

    + 该方法需要在加入频道后调用。如果既调用了 ,也调用了 ,则 SDK 以 中的设置为准。 +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_setremoterendermode.dita b/dita/RTC/API/api_ichannel_setremoterendermode.dita index 4bcd15971f8..297035d9e77 100644 --- a/dita/RTC/API/api_ichannel_setremoterendermode.dita +++ b/dita/RTC/API/api_ichannel_setremoterendermode.dita @@ -13,16 +13,17 @@

    - - - virtual int setRemoteRenderMode(uid_t userId, + + + virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - - public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode, + + public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); - -

    + + +

    diff --git a/dita/RTC/API/api_ichannel_setremoteuserpriority.dita b/dita/RTC/API/api_ichannel_setremoteuserpriority.dita index 058b4832973..dda9a9652fc 100644 --- a/dita/RTC/API/api_ichannel_setremoteuserpriority.dita +++ b/dita/RTC/API/api_ichannel_setremoteuserpriority.dita @@ -13,16 +13,18 @@

    - - - virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; - setRemoteUserPriority(uid: number, userPriority: PRIORITY_TYPE): number - public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); - - Future<void> setRemoteUserPriority(int uid, UserPriority userPriority);

    + + + virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; + setRemoteUserPriority(uid: number, userPriority: PRIORITY_TYPE): number + public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); + + Future<void> setRemoteUserPriority(int uid, UserPriority userPriority); +

    -
    +
    diff --git a/dita/RTC/API/api_ichannel_setremotevideostreamtype.dita b/dita/RTC/API/api_ichannel_setremotevideostreamtype.dita index 354dd2ca111..da66b974779 100644 --- a/dita/RTC/API/api_ichannel_setremotevideostreamtype.dita +++ b/dita/RTC/API/api_ichannel_setremotevideostreamtype.dita @@ -13,20 +13,26 @@

    - - - virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; - setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number - public abstract int SetRemoteVideoStreamType(uint userId, REMOTE_VIDEO_STREAM_TYPE streamType); - - Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType);

    + + + virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; + setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number + public abstract int SetRemoteVideoStreamType(uint userId, REMOTE_VIDEO_STREAM_TYPE streamType); + + Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType); +

    - 该方法需要在加入频道后调用。如果既调用了 ,也调用了 ,则 SDK 以 中的设置为准。

    + 该方法需要在加入频道后调用。如果既调用了 ,也调用了 ,则 SDK 以 中的设置为准。 +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_setremotevoiceposition.dita b/dita/RTC/API/api_ichannel_setremotevoiceposition.dita index bb2262a8930..211c913dbdd 100644 --- a/dita/RTC/API/api_ichannel_setremotevoiceposition.dita +++ b/dita/RTC/API/api_ichannel_setremotevoiceposition.dita @@ -13,16 +13,18 @@

    - - - virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; - setRemoteVoicePosition(uid: number, pan: number, gain: number): number - public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); - - Future<void> setRemoteVoicePosition(int uid, double pan, double gain);

    + + + virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; + setRemoteVoicePosition(uid: number, pan: number, gain: number): number + public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); + + Future<void> setRemoteVoicePosition(int uid, double pan, double gain); +

    -
    +
    diff --git a/dita/RTC/API/api_ichannel_startchannelmediarelay.dita b/dita/RTC/API/api_ichannel_startchannelmediarelay.dita index 15a12560987..631641b27d3 100644 --- a/dita/RTC/API/api_ichannel_startchannelmediarelay.dita +++ b/dita/RTC/API/api_ichannel_startchannelmediarelay.dita @@ -13,33 +13,41 @@

    - - - virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - startChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number - public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - - Future<void> startChannelMediaRelay( - ChannelMediaRelayConfiguration channelMediaRelayConfiguration);

    + + + virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + startChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number + public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + + Future<void> startChannelMediaRelay( + ChannelMediaRelayConfiguration channelMediaRelayConfiguration); +

    -

    成功调用该方法后,SDK 会触发 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。 - - - -

      -
    • 如果 回调报告 (2) 和 (0),且 回调报告 (4), 则表示 SDK 开始在源频道和目标频道之间转发媒体流。
    • -
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • -

    +

    成功调用该方法后,SDK 会触发 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。

      +
    • 如果 回调报告 + (2) 和 (0),且 回调报告 (4), 则表示 SDK + 开始在源频道和目标频道之间转发媒体流。
    • +
    • 如果 回调报告 + (3), 则表示跨频道媒体流转发出现异常。
    • +
    +

    -
      -
    • 请在成功加入频道后调用该方法。
    • -
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • -
    • 功调用该方法后,若你想再次调用该方法,必须先调用 方法退出当前的转发状态。
    • -
    • 跨频道媒体流转发功能需要联系技术支持开通。
    • -
    • 该功能不支持 String 型 UID。
    • -
    +
      +
    • 请在成功加入频道后调用该方法。
    • +
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • +
    • 功调用该方法后,若你想再次调用该方法,必须先调用 + 方法退出当前的转发状态。
    • +
    • 跨频道媒体流转发功能需要联系技术支持开通。
    • +
    • 该功能不支持 String 型 UID。
    • +
    + +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_startrtmpstreamwithouttranscoding.dita b/dita/RTC/API/api_ichannel_startrtmpstreamwithouttranscoding.dita index 9829843cafb..fbaf9e9e801 100644 --- a/dita/RTC/API/api_ichannel_startrtmpstreamwithouttranscoding.dita +++ b/dita/RTC/API/api_ichannel_startrtmpstreamwithouttranscoding.dita @@ -1,7 +1,9 @@ - <ph keyref="IChannel_startRtmpStreamWithoutTranscoding"/> + + <ph keyref="IChannel_startRtmpStreamWithoutTranscoding"/> + @@ -13,26 +15,31 @@

    - - - - - public abstract int StartRtmpStreamWithoutTranscoding(string url); - - Future<void> startRtmpStreamWithoutTranscoding(String url);

    + + + + + public abstract int StartRtmpStreamWithoutTranscoding(string url); + + Future<void> startRtmpStreamWithoutTranscoding(String url); +

    调用该方法,你可以向指定的 CDN 推流地址推送直播音视频流。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址推流,则需多次调用该方法。

    -

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    -
    +

    调用该方法后,SDK 会在本地触发 + 回调,报告推流的状态。

    + +
    参数 - - - - -
    -
    + + + + + +
    +
    diff --git a/dita/RTC/API/api_ichannel_startrtmpstreamwithtranscoding.dita b/dita/RTC/API/api_ichannel_startrtmpstreamwithtranscoding.dita index 0382fdfd966..bc6ed37273c 100644 --- a/dita/RTC/API/api_ichannel_startrtmpstreamwithtranscoding.dita +++ b/dita/RTC/API/api_ichannel_startrtmpstreamwithtranscoding.dita @@ -1,7 +1,9 @@ - <ph keyref="IChannel_startRtmpStreamWithTranscoding"/> + + <ph keyref="IChannel_startRtmpStreamWithTranscoding"/> + @@ -13,30 +15,35 @@

    - - - - - public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); - - Future<void> startRtmpStreamWithTranscoding(LiveTranscoding transcoding);

    + + + + + public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); + + Future<void> startRtmpStreamWithTranscoding(LiveTranscoding transcoding); +

    调用该方法,你可以向指定的 CDN 推流地址推送直播音视频流并设置转码属性。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。

    -

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    -
    +

    调用该方法后,SDK 会在本地触发 + 回调,报告推流的状态。

    + +
    参数 - - - - - - - - -
    -
    + + + + + + + + + +
    +
    diff --git a/dita/RTC/API/api_ichannel_stopchannelmediarelay.dita b/dita/RTC/API/api_ichannel_stopchannelmediarelay.dita index 9901a6b652e..e5c6efca5bf 100644 --- a/dita/RTC/API/api_ichannel_stopchannelmediarelay.dita +++ b/dita/RTC/API/api_ichannel_stopchannelmediarelay.dita @@ -13,17 +13,26 @@

    - - - virtual int stopChannelMediaRelay() = 0; - stopChannelMediaRelay(): number - public abstract int StopChannelMediaRelay(); - - Future<void> stopChannelMediaRelay();

    + + + virtual int stopChannelMediaRelay() = 0; + stopChannelMediaRelay(): number + public abstract int StopChannelMediaRelay(); + + Future<void> stopChannelMediaRelay(); +

    -

    成功调用该方法后,SDK 会触发 回调。如果报告 (0) 和 (0),则表示已停止转发媒体流。

    - 如果该方法调用不成功,SDK 会触发 回调,并报告状态码 (2) 或 (8)。你可以调用 方法离开频道,跨频道媒体流转发会自动停止。
    -
    +

    成功调用该方法后,SDK 会触发 回调。如果报告 + (0) 和 + (0),则表示已停止转发媒体流。

    + 如果该方法调用不成功,SDK 会触发 回调,并报告状态码 (2) 或 (8)。你可以调用 方法离开频道,跨频道媒体流转发会自动停止。 +
    +
    diff --git a/dita/RTC/API/api_ichannel_stoprtmpstream.dita b/dita/RTC/API/api_ichannel_stoprtmpstream.dita index 1b3e8e8f231..95085629d29 100644 --- a/dita/RTC/API/api_ichannel_stoprtmpstream.dita +++ b/dita/RTC/API/api_ichannel_stoprtmpstream.dita @@ -1,7 +1,9 @@ - <ph keyref="IChannel_stopRtmpStream"/> + + <ph keyref="IChannel_stopRtmpStream"/> + @@ -13,26 +15,29 @@

    - - - - - public abstract int StopRtmpStream(string url); - - Future<void> stopRtmpStream(String url);

    + + + + + public abstract int StopRtmpStream(string url); + + Future<void> stopRtmpStream(String url); +

    调用该方法,你可以结束指定的 CDN 推流地址上的直播。该方法每次只能结束一个推流地址上的直播,如果你需要结束多个推流地址的直播,则需多次调用该方法。

    -

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    +

    调用该方法后,SDK 会在本地触发 + 回调,报告推流的状态。

    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC/API/api_ichannel_unpublish.dita b/dita/RTC/API/api_ichannel_unpublish.dita index 314db87cd70..4ef5e11d9e3 100644 --- a/dita/RTC/API/api_ichannel_unpublish.dita +++ b/dita/RTC/API/api_ichannel_unpublish.dita @@ -13,13 +13,14 @@

    - - - virtual int unpublish() = 0; - unpublish(): number - public abstract int Unpublish(); - - Future<void> unpublish();

    + + + virtual int unpublish() = 0; + unpublish(): number + public abstract int Unpublish(); + + Future<void> unpublish(); +

    如果当前 IChannel 频道没有发布音视频流,调用该方法后 SDK 会返回 -5(ERR_REFUSED)。

    diff --git a/dita/RTC/API/api_ichannel_unregistermediametadataobserver.dita b/dita/RTC/API/api_ichannel_unregistermediametadataobserver.dita index 541c933c0eb..d6150327e91 100644 --- a/dita/RTC/API/api_ichannel_unregistermediametadataobserver.dita +++ b/dita/RTC/API/api_ichannel_unregistermediametadataobserver.dita @@ -13,20 +13,23 @@

    - - - - unregisterMediaMetadataObserver(type: METADATA_TYPE = 0): number - public abstract int UnRegisterMediaMetadataObserver(METADATA_TYPE type); - - Future<void> unregisterMediaMetadataObserver();

    + + + + unregisterMediaMetadataObserver(type: METADATA_TYPE = 0): number + public abstract int UnRegisterMediaMetadataObserver(METADATA_TYPE type); + + Future<void> unregisterMediaMetadataObserver(); +

    -
    +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ichannel_updatechannelmediarelay.dita b/dita/RTC/API/api_ichannel_updatechannelmediarelay.dita index d9cfb7e3ed1..62ab45d2d75 100644 --- a/dita/RTC/API/api_ichannel_updatechannelmediarelay.dita +++ b/dita/RTC/API/api_ichannel_updatechannelmediarelay.dita @@ -13,20 +13,25 @@

    - - - virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - updateChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number - public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - - Future<void> updateChannelMediaRelay( - ChannelMediaRelayConfiguration channelMediaRelayConfiguration);

    + + + virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + updateChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number + public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + + Future<void> updateChannelMediaRelay( + ChannelMediaRelayConfiguration channelMediaRelayConfiguration); +

    -

    成功调用该方法后,SDK 会触发 回调, 并在回调中报告状态码 (7)。

    - 请在 方法后调用该方法,更新媒体流转发的频道。
    +

    成功调用该方法后,SDK 会触发 回调, 并在回调中报告状态码 + (7)。

    + 请在 + 方法后调用该方法,更新媒体流转发的频道。 +
    -
    +
    diff --git a/dita/RTC/API/api_ichannel_updatertmptranscoding.dita b/dita/RTC/API/api_ichannel_updatertmptranscoding.dita index fe8636ecfa2..90be691cb31 100644 --- a/dita/RTC/API/api_ichannel_updatertmptranscoding.dita +++ b/dita/RTC/API/api_ichannel_updatertmptranscoding.dita @@ -1,7 +1,9 @@ - <ph keyref="IChannel_updateRtmpTranscoding"/> + + <ph keyref="IChannel_updateRtmpTranscoding"/> + @@ -13,25 +15,28 @@

    - - - - - public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); - - Future<void> updateRtmpTranscoding(LiveTranscoding transcoding);

    + + + + + public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); + + Future<void> updateRtmpTranscoding(LiveTranscoding transcoding); +

    -

    开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 回调。

    +

    开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 回调。

    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_addeventhandler.dita b/dita/RTC/API/api_icloudspatialaudioengine_addeventhandler.dita index 37387960e0e..06596ca5e6f 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_addeventhandler.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_addeventhandler.dita @@ -2,7 +2,8 @@ <ph keyref="addEventHandler"/> - 添加 回调。 + 添加 + 回调。 @@ -13,28 +14,31 @@

    - public abstract int addEventHandler(ICloudSpatialAudioEventHandler eventHandler); - - virtual int addEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; - - public abstract void InitEventHandler(IAgoraRtcCloudSpatialAudioEngineEventHandler eh); - -

    + public abstract int addEventHandler(ICloudSpatialAudioEventHandler eventHandler); + + virtual int addEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; + + public abstract void InitEventHandler(IAgoraRtcCloudSpatialAudioEngineEventHandler eh); + + +

    参数 - - eventHandler - eh - 待添加的回调。详见 - -
    + + eventHandler + eh + 待添加的回调。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_create.dita b/dita/RTC/API/api_icloudspatialaudioengine_create.dita index f8cce773719..7ed025c1c74 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_create.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_create.dita @@ -2,7 +2,8 @@ <ph keyref="create_ICloudSpatialAudioEngine"/> - 创建 + 创建 @@ -13,18 +14,19 @@

    - public static synchronized ICloudSpatialAudioEngine create() { + public static synchronized ICloudSpatialAudioEngine create() { if (mInstance == null) { mInstance = new CloudSpatialAudioImpl(); } return mInstance; } - - - - - -

    + + + + + + +

    该方法需要在 前调用。

    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_enablespatializer.dita b/dita/RTC/API/api_icloudspatialaudioengine_enablespatializer.dita index 5b110aaded3..e650bb1d06f 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_enablespatializer.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_enablespatializer.dita @@ -13,59 +13,50 @@

    - public abstract int enableSpatializer(boolean enable, boolean applyToTeam); - - (int)enableSpatializer:(BOOL)enable applyToTeam:(BOOL)applyToTeam; - virtual int enableSpatializer(bool enable, bool applyToTeam) = 0; - - public abstract int EnableSpatializer(bool enable, bool applyToTeam); - -

    + public abstract int enableSpatializer(boolean enable, boolean applyToTeam); + - (int)enableSpatializer:(BOOL)enable applyToTeam:(BOOL)applyToTeam; + virtual int enableSpatializer(bool enable, bool applyToTeam) = 0; + + public abstract int EnableSpatializer(bool enable, bool applyToTeam); + + +

    -

    开启后,用户可以听到远端用户的空间音效及其空间位置的变化。 - - - - 该方法在 前后均可调用,区别如下: - - - -

      -
    • 如果在 之前调用,该方法会在进入房间时生效。
    • -
    • 如果在 之后调用,该方法立即生效。
    • -

    +

    开启后,用户可以听到远端用户的空间音效及其空间位置的变化。 该方法在 + 前后均可调用,区别如下:

      +
    • 如果在 之前调用,该方法会在进入房间时生效。
    • +
    • 如果在 之后调用,该方法立即生效。
    • +
    + +

    参数 - - enable - 是否在音频接收范围内开启空间音效参数的计算: - - - -
      -
    • : 开启计算。
    • -
    • : 关闭计算。
    • -
    -
    - - applyToTeam - 是否在队伍内开启空间音效参数的计算: - - - -
      -
    • : 开启计算。
    • -
    • : 关闭计算。
    • -
    该参数仅在 enable 参数为 时生效。
    -
    -
    + + enable + 是否在音频接收范围内开启空间音效参数的计算:
      +
    • : 开启计算。
    • +
    • : 关闭计算。
    • +
    +
    + + applyToTeam + 是否在队伍内开启空间音效参数的计算:
      +
    • : 开启计算。
    • +
    • : 关闭计算。
    • +
    该参数仅在 enable 参数为 时生效。
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_enterroom.dita b/dita/RTC/API/api_icloudspatialaudioengine_enterroom.dita index de9ccea1bdd..27312fd025c 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_enterroom.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_enterroom.dita @@ -13,45 +13,51 @@

    - public abstract int enterRoom(String token, String roomName, int uid); - - (int)enterRoomByToken:(NSString* _Nullable)token roomName:(NSString* _Nonnull)roomName uid:(NSUInteger)uid; - virtual int enterRoom(const char* token, const char* roomName, unsigned int uid) = 0; - - public abstract int EnterRoom(string token, string roomName, uint uid); - -

    + public abstract int enterRoom(String token, String roomName, int uid); + - (int)enterRoomByToken:(NSString* _Nullable)token roomName:(NSString* _Nonnull)roomName uid:(NSUInteger)uid; + virtual int enterRoom(const char* token, const char* roomName, unsigned int uid) = 0; + + public abstract int EnterRoom(string token, string roomName, uint uid); + + +

    进入房间后,空间音效才会生效。调用该方法后,SDK 会触发 回调。

    - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    参数 - - token - 用于鉴权的 RTM Token。你可以通过以下方式生成 RTM Token: - - - -
      -
    • 使用 ,生成临时 Token。
    • -
    • 自行部署服务器签发 Token,详见
    • -
    生成 RTM Token 时填入的 uiduserAccount 等于 中设置的 roomNameuid。例如,如果 roomNametestuid123,则生成 RTM Token 时填入的 uiduserAccounttest123
    -
    - - roomName - 房间名。需与加入频道时填写的频道名一致。 - - - - - -
    + + token + 用于鉴权的 RTM Token。你可以通过以下方式生成 RTM Token:
      +
    • 使用 ,生成临时 Token。
    • +
    • 自行部署服务器签发 Token,详见
    • +
    生成 RTM Token 时填入的 uid 或 + userAccount 等于 中设置的 + roomNameuid。例如,如果 + roomName 为 + testuid 为 + 123,则生成 RTM Token 时填入的 uid 或 + userAccounttest123
    +
    + + roomName + 房间名。需与加入频道时填写的频道名一致。 + + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_exitroom.dita b/dita/RTC/API/api_icloudspatialaudioengine_exitroom.dita index c3668c11247..23e2f97ae40 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_exitroom.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_exitroom.dita @@ -13,13 +13,14 @@

    - public abstract int exitRoom(); - - (int)exitRoom; - virtual int exitRoom() = 0; - - public abstract int ExitRoom(); - -

    + public abstract int exitRoom(); + - (int)exitRoom; + virtual int exitRoom() = 0; + + public abstract int ExitRoom(); + + +

    用户离开房间后,空间音效会立即消失。

    @@ -27,8 +28,9 @@
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_getteammates.dita b/dita/RTC/API/api_icloudspatialaudioengine_getteammates.dita index a80b6a54e20..4e046f37d52 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_getteammates.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_getteammates.dita @@ -13,34 +13,38 @@

    - public abstract int getTeammates(ArrayList<Integer> uids); - - (int)getTeammates:(NSArray<NSNumber*> * _Nullable * _Nonnull)uids; - virtual int getTeammates(const uid_t **uids, int *userCount) = 0; - - public abstract int GetTeammates(ref uint[] uids, int[] userCount); - -

    + public abstract int getTeammates(ArrayList<Integer> uids); + - (int)getTeammates:(NSArray<NSNumber*> * _Nullable * _Nonnull)uids; + virtual int getTeammates(const uid_t **uids, int *userCount) = 0; + + public abstract int GetTeammates(ref uint[] uids, int[] userCount); + + +

    -

    调用 设置队伍 ID 并调用 加入房间后,你可以调用该方法获取同一队伍的远端用户(队友)信息。

    +

    调用 设置队伍 ID 并调用 + 加入房间后,你可以调用该方法获取同一队伍的远端用户(队友)信息。

    参数 - - uids - 输出参数。队友的用户 ID。 - - - userCount - 输出参数。队友的数量。 - -
    + + uids + 输出参数。队友的用户 ID。 + + + userCount + 输出参数。队友的数量。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_initialize.dita b/dita/RTC/API/api_icloudspatialaudioengine_initialize.dita index c6d0ca7ba22..00980fd1586 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_initialize.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_initialize.dita @@ -2,7 +2,8 @@ <ph keyref="initialize_ICloudSpatialAudioEngine"/> - 初始化 + 初始化 @@ -13,48 +14,53 @@

    - public abstract int initialize(CloudSpatialAudioConfig config); - + (instancetype _Nonnull)sharedCloudSpatialAudioWithConfig:(AgoraCloudSpatialAudioConfig* _Nonnull)config delegate:(id<AgoraCloudSpatialAudioDelegate> _Nullable)delegate; - virtual int initialize(const CloudSpatialAudioConfig& config) = 0; - - public abstract int Initialize(CloudSpatialAudioConfig config); - -

    + public abstract int initialize(CloudSpatialAudioConfig config); + + (instancetype _Nonnull)sharedCloudSpatialAudioWithConfig:(AgoraCloudSpatialAudioConfig* _Nonnull)config delegate:(id<AgoraCloudSpatialAudioDelegate> _Nullable)delegate; + virtual int initialize(const CloudSpatialAudioConfig& config) = 0; + + public abstract int Initialize(CloudSpatialAudioConfig config); + + +

    -
      -
    • 你需要在 () 后调用该方法。
    • -
    • 你需要在 后调用该方法。
    • -
    • 在调用 类的其他方法前,你需要先调用该方法初始化
    • -
    • SDK 只支持每个 app 创建一个 实例。
    • -
    +
      +
    • 你需要在 () 后调用该方法。
    • +
    • 你需要在 + 后调用该方法。
    • +
    • 在调用 类的其他方法前,你需要先调用该方法初始化 +
    • +
    • SDK 只支持每个 app 创建一个 实例。
    • +
    + +
    参数 - - config - 的配置。详见 - - - delegate - - -
    + + config + 的配置。详见 + + + delegate + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 设置了无效的参数。
      • -
      • -7: SDK 初始化失败。
      • -
      • -22: 资源申请失败。当 app 占用资源过多,或系统资源耗尽时,SDK 分配资源失败。
      • -
      • -101: App ID 无效。
      • -
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。
        +
      • -1: 一般性的错误(未明确归类)。
      • +
      • -2: 设置了无效的参数。
      • +
      • -7: SDK 初始化失败。
      • +
      • -22: 资源申请失败。当 app 占用资源过多,或系统资源耗尽时,SDK 分配资源失败。
      • +
      • -101: App ID 无效。
      • +
    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_release.dita b/dita/RTC/API/api_icloudspatialaudioengine_release.dita index 7c9e4f3ecc8..0b4168f8b7c 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_release.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_ICloudSpatialAudioEngine"/> - 销毁 + 销毁 @@ -13,27 +14,29 @@

    - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.release(); mInstance = null; } - + (void)destroy; - virtual void release() = 0; - - public abstract void Dispose(); - -

    + + (void)destroy; + virtual void release() = 0; + + public abstract void Dispose(); + + +

    -

    该方法释放 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    -

    调用该方法后,你将无法再使用 下的任何 API。如需再次使用空间音效,你需要等 执行结束后再调用 创建一个新的 。 - - - - - 该方法需要在 方法前调用。

    +

    该方法释放 + 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    +

    调用该方法后,你将无法再使用 下的任何 API。如需再次使用空间音效,你需要等 执行结束后再调用 创建一个新的 该方法需要在 的 + 方法前调用。

    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_removeeventhandler.dita b/dita/RTC/API/api_icloudspatialaudioengine_removeeventhandler.dita index 96e617d49ed..1a01fb2f5ba 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_removeeventhandler.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_removeeventhandler.dita @@ -2,7 +2,8 @@ <ph keyref="removeEventHandler"/> - 删除 中指定的回调。 + 删除 + 中指定的回调。 @@ -13,13 +14,14 @@

    - public abstract int removeEventHandler(ICloudSpatialAudioEventHandler eventHandler); - - virtual int removeEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; - - - -

    + public abstract int removeEventHandler(ICloudSpatialAudioEventHandler eventHandler); + + virtual int removeEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; + + + + +

    对于某些已添加的回调,如果你在收到相应回调后无需再次接收该回调,可以调用该方法删除该回调。

    @@ -27,16 +29,18 @@
    参数 - - eventHandler - 待删除的回调。详见 - -
    + + eventHandler + 待删除的回调。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_renewtoken.dita b/dita/RTC/API/api_icloudspatialaudioengine_renewtoken.dita index 73521262614..cc2543bd8db 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_renewtoken.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_renewtoken.dita @@ -13,30 +13,34 @@

    - public abstract int renewToken(String token); - - (int)renewToken:(NSString* _Nonnull)token; - virtual int renewToken(const char* token) = 0; - - - -

    + public abstract int renewToken(String token); + - (int)renewToken:(NSString* _Nonnull)token; + virtual int renewToken(const char* token) = 0; + + + + +

    -

    RTM Token 的有效时长为 24 小时。当 SDK 触发 回调时,app 应重新获取 RTM Token,然后调用该方法传入新的 RTM Token,否则 SDK 无法和声网空间音效服务器建立连接。

    +

    RTM Token 的有效时长为 24 小时。当 SDK 触发 回调时,app 应重新获取 RTM + Token,然后调用该方法传入新的 RTM Token,否则 SDK 无法和声网空间音效服务器建立连接。

    参数 - - - - -
    + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_setaudiorangemode.dita b/dita/RTC/API/api_icloudspatialaudioengine_setaudiorangemode.dita index 5fabe29f666..c07d755654a 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_setaudiorangemode.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_setaudiorangemode.dita @@ -13,46 +13,49 @@

    - public abstract int setAudioRangeMode(int rangeMode); - - (int)setAudioRangeMode:(AgoraAudioRangeMode)rangeMode; - virtual int setAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode) = 0; - - public abstract int SetAudioRangeMode(RANGE_AUDIO_MODE_TYPE rangeMode); - -

    + public abstract int setAudioRangeMode(int rangeMode); + - (int)setAudioRangeMode:(AgoraAudioRangeMode)rangeMode; + virtual int setAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode) = 0; + + public abstract int SetAudioRangeMode(RANGE_AUDIO_MODE_TYPE rangeMode); + + +

    音频范围模式分为所有人模式和队伍模式。SDK 默认使用所有人模式,如需改为队伍模式,你可以调用该方法。

    一位用户在一个房间里只能同时使用一种模式。

    -

    该方法在 前后均可调用,区别如下: - - - -

      -
    • 如果在 之前调用,该方法会在进入房间时生效。
    • -
    • 如果在 之后调用,该方法立即生效,即改变当前的音频范围模式。
    • -

    +

    该方法在 前后均可调用,区别如下:

      +
    • 如果在 之前调用,该方法会在进入房间时生效。
    • +
    • 如果在 之后调用,该方法立即生效,即改变当前的音频范围模式。
    • +

    参数 - - rangeMode - 音频范围模式。详见 -
      -
    • (0): -
        -
      • -
    • -
    • (1):
    • -
    -
    -
    + + rangeMode + 音频范围模式。详见 +
      +
    • (0): +
        +
      • +
    • +
    • (1):
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_icloudspatialaudioengine_setteamid.dita b/dita/RTC/API/api_icloudspatialaudioengine_setteamid.dita index b6aee3757ee..1d7ed6d5e1c 100644 --- a/dita/RTC/API/api_icloudspatialaudioengine_setteamid.dita +++ b/dita/RTC/API/api_icloudspatialaudioengine_setteamid.dita @@ -13,35 +13,35 @@

    - public abstract int setTeamId(int teamId); - - (int)setTeamId:(NSInteger)teamId; - virtual int setTeamId(int teamId) = 0; - - public abstract int SetTeamId(int teamId); - -

    + public abstract int setTeamId(int teamId); + - (int)setTeamId:(NSInteger)teamId; + virtual int setTeamId(int teamId) = 0; + + public abstract int SetTeamId(int teamId); + + +

    -

    在同一个房间内,相同队伍 ID 的用户不受音频范围模式和音频接收范围的影响,都能相互听见;不同队伍 ID 的用户,需要根据设置的音频范围模式和音频接收范围来决定是否相互可以听到。 - - - - - 该方法需要在 前调用。一位用户在一个房间里只能有一个队伍 ID,加入房间后无法修改队伍 ID。

    +

    在同一个房间内,相同队伍 ID 的用户不受音频范围模式和音频接收范围的影响,都能相互听见;不同队伍 ID + 的用户,需要根据设置的音频范围模式和音频接收范围来决定是否相互可以听到。 该方法需要在 前调用。一位用户在一个房间里只能有一个队伍 ID,加入房间后无法修改队伍 ID。

    参数 - - teamId - 队伍 ID,取值需大于 0。默认值为 0,表示不和其他用户组队。 - -
    + + teamId + 队伍 ID,取值需大于 0。默认值为 0,表示不和其他用户组队。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ilocalspatialaudioengine_clearremotepositions.dita b/dita/RTC/API/api_ilocalspatialaudioengine_clearremotepositions.dita index d1ec4e400dc..eca29a0d02b 100644 --- a/dita/RTC/API/api_ilocalspatialaudioengine_clearremotepositions.dita +++ b/dita/RTC/API/api_ilocalspatialaudioengine_clearremotepositions.dita @@ -13,13 +13,14 @@

    - public abstract int clearRemotePositions(); - - (int) clearRemotePositions; - virtual int clearRemotePositions() = 0; - - public abstract int ClearRemotePositions(); - -

    + public abstract int clearRemotePositions(); + - (int) clearRemotePositions; + virtual int clearRemotePositions() = 0; + + public abstract int ClearRemotePositions(); + + +

    成功调用该方法后,本地用户将听不到所有远端用户。

    @@ -28,8 +29,9 @@
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ilocalspatialaudioengine_create.dita b/dita/RTC/API/api_ilocalspatialaudioengine_create.dita index 92ee23ca0ae..39913e79294 100644 --- a/dita/RTC/API/api_ilocalspatialaudioengine_create.dita +++ b/dita/RTC/API/api_ilocalspatialaudioengine_create.dita @@ -2,7 +2,8 @@ <ph keyref="create_ILocalSpatialAudioEngine"/> - 创建 + 创建 @@ -13,18 +14,19 @@

    - public static synchronized ILocalSpatialAudioEngine create() { + public static synchronized ILocalSpatialAudioEngine create() { if (mInstance == null) { mInstance = new LocalSpatialAudioImpl(); } return mInstance; } - - - - - -

    + + + + + + +

    该方法需要在 前调用。

    diff --git a/dita/RTC/API/api_ilocalspatialaudioengine_initialize.dita b/dita/RTC/API/api_ilocalspatialaudioengine_initialize.dita index ccaa413a268..500ea63667b 100644 --- a/dita/RTC/API/api_ilocalspatialaudioengine_initialize.dita +++ b/dita/RTC/API/api_ilocalspatialaudioengine_initialize.dita @@ -2,7 +2,8 @@ <ph keyref="initialize_ILocalSpatialAudioEngine"/> - 初始化 + 初始化 @@ -13,35 +14,44 @@

    - public abstract int initialize(LocalSpatialAudioConfig config); - + (instancetype _Nonnull)sharedLocalSpatialAudioWithConfig:(AgoraLocalSpatialAudioConfig* _Nonnull)config; - virtual int initialize(const LocalSpatialAudioConfig& config) = 0; - - public abstract int Initialize(); - -

    + public abstract int initialize(LocalSpatialAudioConfig config); + + (instancetype _Nonnull)sharedLocalSpatialAudioWithConfig:(AgoraLocalSpatialAudioConfig* _Nonnull)config; + virtual int initialize(const LocalSpatialAudioConfig& config) = 0; + + public abstract int Initialize(); + + +

    -
      -
    • 你需要在 () 后调用该方法。
    • -
    • 你需要在 后调用该方法。
    • -
    • 在调用 类的其他方法前,你需要先调用该方法初始化
    • -
    • SDK 只支持每个 app 创建一个 实例。
    • -
    +
      +
    • 你需要在 () 后调用该方法。
    • +
    • 你需要在 + 后调用该方法。
    • +
    • 在调用 类的其他方法前,你需要先调用该方法初始化 +
    • +
    • SDK 只支持每个 app 创建一个 实例。
    • +
    + +
    参数 - - config - 的配置。详见 - -
    + + config + 的配置。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ilocalspatialaudioengine_release.dita b/dita/RTC/API/api_ilocalspatialaudioengine_release.dita index 505ab8be89d..8d8c4bdec9e 100644 --- a/dita/RTC/API/api_ilocalspatialaudioengine_release.dita +++ b/dita/RTC/API/api_ilocalspatialaudioengine_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_ILocalSpatialAudioEngine"/> - 销毁 + 销毁 @@ -13,26 +14,28 @@

    - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.release(); mInstance = null; } - + (void)destroy; - - - public abstract void Dispose(); - -

    + + (void)destroy; + + + public abstract void Dispose(); + + +

    -

    该方法释放 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    -

    调用该方法后,你将无法再使用 下的任何 API。如需再次使用空间音效,你需要等 执行结束后再调用 创建一个新的 。 - - - - 该方法需要在 方法前调用。

    +

    该方法释放 + 下的所有资源。当用户不需要使用空间音效时,你可以调用该方法将资源释放出来用于其他操作。

    +

    调用该方法后,你将无法再使用 下的任何 API。如需再次使用空间音效,你需要等 + 执行结束后再调用 创建一个新的 该方法需要在 的 + 方法前调用。

    diff --git a/dita/RTC/API/api_ilocalspatialaudioengine_removeremoteposition.dita b/dita/RTC/API/api_ilocalspatialaudioengine_removeremoteposition.dita index 6c00fd73f50..89c338b9153 100644 --- a/dita/RTC/API/api_ilocalspatialaudioengine_removeremoteposition.dita +++ b/dita/RTC/API/api_ilocalspatialaudioengine_removeremoteposition.dita @@ -13,13 +13,14 @@

    - public abstract int removeRemotePosition(int uid); - - (int) removeRemotePosition:(NSUInteger)uid; - virtual int removeRemotePosition(uid_t uid) = 0; - - public abstract int RemoveRemotePosition(uint uid); - -

    + public abstract int removeRemotePosition(int uid); + - (int) removeRemotePosition:(NSUInteger)uid; + virtual int removeRemotePosition(uid_t uid) = 0; + + public abstract int RemoveRemotePosition(uint uid); + + +

    成功调用该方法后,本地用户将听不到指定的远端用户。

    @@ -28,16 +29,18 @@
    参数 - - uid - 用户 ID。需与用户加入频道时填写的用户 ID 一致。 - -
    + + uid + 用户 ID。需与用户加入频道时填写的用户 ID 一致。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ilocalspatialaudioengine_updateremoteposition.dita b/dita/RTC/API/api_ilocalspatialaudioengine_updateremoteposition.dita index b85b763893a..bd4f1f8b2e3 100644 --- a/dita/RTC/API/api_ilocalspatialaudioengine_updateremoteposition.dita +++ b/dita/RTC/API/api_ilocalspatialaudioengine_updateremoteposition.dita @@ -13,42 +13,46 @@

    - public abstract int updateRemotePosition(int uid, RemoteVoicePositionInfo posInfo); - - (int)updateRemotePosition:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo; - virtual int updateRemotePosition(uid_t uid, const RemoteVoicePositionInfo &posInfo) = 0; - - public abstract int UpdateRemotePosition(uint uid, float[] position, float[] forward); - -

    + public abstract int updateRemotePosition(int uid, RemoteVoicePositionInfo posInfo); + - (int)updateRemotePosition:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo; + virtual int updateRemotePosition(uid_t uid, const RemoteVoicePositionInfo &posInfo) = 0; + + public abstract int UpdateRemotePosition(uint uid, float[] position, float[] forward); + + +

    成功调用该方法后,SDK 会根据本地和远端用户的相对位置计算空间音效参数。

    - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    参数 - - - - - - posInfo - 远端用户的空间位置信息。详见 - - - position - 在世界坐标系中的坐标。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - - - forward - 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 - -
    + + + + + + posInfo + 远端用户的空间位置信息。详见 + + + position + 在世界坐标系中的坐标。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + + forward + 在世界坐标系前轴的单位向量。该参数是长度为 3 的数组,三个值依次表示前、右、上的坐标值。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_imediaengine_pullaudioframe.dita b/dita/RTC/API/api_imediaengine_pullaudioframe.dita index 2f61583ba32..2c6d899681f 100644 --- a/dita/RTC/API/api_imediaengine_pullaudioframe.dita +++ b/dita/RTC/API/api_imediaengine_pullaudioframe.dita @@ -13,57 +13,67 @@

    - public abstract int pullPlaybackAudioFrame(byte[] data, int lengthInByte); - - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data + public abstract int pullPlaybackAudioFrame(byte[] data, int lengthInByte); + - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data lengthInByte:(NSUInteger)lengthInByte; - virtual int pullAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - - public abstract int PullAudioFrame(AudioFrame frame); - -

    + virtual int pullAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + + public abstract int PullAudioFrame(AudioFrame frame); + + +

    使用该方法前,你需要调用 通知 app 开启并设置外部渲染。

    -

    使用该方法前,你需要在 中设置 mEnableAudioDeviceenableAudioDevice, 并调用 通知 app 开启并设置外部渲染。

    +

    使用该方法前,你需要在 中设置 mEnableAudioDeviceenableAudioDevice, 并调用 通知 app 开启并设置外部渲染。

    调用该方法后,app 会采取主动拉取的方式获取远端已解码和混音后的音频数据,用于音频播放。

    -
      -
    • 该方法仅支持拉取自采集的数据。如果你需要拉取 SDK 采集的数据,请不要调用该方法。
    • -
    • 该方法需要在加入频道后调用。
    • -
    • 开启外部音频渲染后,app 将无法从 回调中获得数据。
    • -
    • 该方法和 回调相比,区别在于: - -
        -
      • SDK 通过 回调将音频数据传输给 app。如果 app 处理延时,可能会导致音频播放抖动。
      • -
      • 调用该方法后 app 会主动拉取音频数据。通过设置音频数据,SDK 可以调整缓存,帮助 app 处理延时,从而有效避免音频播放抖动。
      • -
    • -
    +
  • 该方法仅支持拉取自采集的数据。如果你需要拉取 SDK 采集的数据,请不要调用该方法。
  • +
  • 该方法需要在加入频道后调用。
  • +
  • 开启外部音频渲染后,app 将无法从 回调中获得数据。
  • +
  • 该方法和 回调相比,区别在于:
      +
    • SDK 通过 回调将音频数据传输给 app。如果 + app 处理延时,可能会导致音频播放抖动。
    • +
    • 调用该方法后 app 会主动拉取音频数据。通过设置音频数据,SDK 可以调整缓存,帮助 app + 处理延时,从而有效避免音频播放抖动。
    • +
  • + + +
    参数 - - frame - 指向 的指针。 - - - data - 待拉取的远端音频数据,数据类型为 byte[] - - - lengthInByte - 音频数据长度,单位为字节。该参数的值由音频数据时长、sampleRatechannels 参数确定。lengthInByte = sampleRate/1000 × 2 × channels × 音频数据时长 (ms)。 - -
    + + frame + 指向 的指针。 + + + data + 待拉取的远端音频数据,数据类型为 byte[] + + + lengthInByte + 音频数据长度,单位为字节。该参数的值由音频数据时长、 的 + sampleRatechannels + 参数确定。lengthInByte = sampleRate/1000 × + 2 × channels × 音频数据时长 (ms)。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
      -
    • :方法调用成功。
    • -
    • :方法调用失败。
    • -
    +
  • :方法调用成功。
  • +
  • :方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_imediaengine_pushaudioframe.dita b/dita/RTC/API/api_imediaengine_pushaudioframe.dita index 10ce75f57b1..9e7d17310c5 100644 --- a/dita/RTC/API/api_imediaengine_pushaudioframe.dita +++ b/dita/RTC/API/api_imediaengine_pushaudioframe.dita @@ -13,72 +13,76 @@

    - public abstract int pushExternalAudioFrame(byte[] data, long timestamp); - - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data + public abstract int pushExternalAudioFrame(byte[] data, long timestamp); + - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data samples:(NSInteger)samples sourceId:(NSInteger)sourceId - timestamp:(NSTimeInterval)timestamp;

    + timestamp:(NSTimeInterval)timestamp; +

    - public abstract int pushExternalAudioFrame(byte[] data, long timestamp); - virtual int pushAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - - (BOOL)pushExternalAudioFrameRawData:(void* _Nonnull)data samples:(NSUInteger)samples timestamp:(NSTimeInterval)timestamp; - public abstract int PushAudioFrame(AudioFrame frame); - - -

    + public abstract int pushExternalAudioFrame(byte[] data, long timestamp); + virtual int pushAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + - (BOOL)pushExternalAudioFrameRawData:(void* _Nonnull)data samples:(NSUInteger)samples timestamp:(NSTimeInterval)timestamp; + public abstract int PushAudioFrame(AudioFrame frame); + + + +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    参数 - - frame - 外部音频帧。详见 - + + frame + 外部音频帧。详见 + - - data - 外部音频数据。 - - - samples - 外部音频帧采样数。 - - - timestamp - 外部音频帧的时间戳(毫秒)。该参数为必填。你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以帮助实现音视频同步。 - + + data + 外部音频数据。 + + + samples + 外部音频帧采样数。 + + + timestamp + 外部音频帧的时间戳(毫秒)。该参数为必填。你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以帮助实现音视频同步。 + - - - - -
    + + + + + +
    返回值

    -

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -

    +
      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +

    -

      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    -
      -
    • :方法调用成功。
    • -
    • :方法调用失败。
    • -

    +
      +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
    • +
    +
      +
    • :方法调用成功。
    • +
    • :方法调用失败。
    • +

    diff --git a/dita/RTC/API/api_imediaengine_pushaudioframe0.dita b/dita/RTC/API/api_imediaengine_pushaudioframe0.dita index 5ad1344a4f7..7c5a4bdbc33 100644 --- a/dita/RTC/API/api_imediaengine_pushaudioframe0.dita +++ b/dita/RTC/API/api_imediaengine_pushaudioframe0.dita @@ -13,53 +13,54 @@

    - virtual int pushAudioFrame(MEDIA_SOURCE_TYPE type, IAudioFrameObserver::AudioFrame* frame, + virtual int pushAudioFrame(MEDIA_SOURCE_TYPE type, IAudioFrameObserver::AudioFrame* frame, bool wrap = false, int sourceId = 0) = 0; - public abstract int PushAudioFrame(MEDIA_SOURCE_TYPE type, AudioFrame frame, bool wrap = false, int sourceId = 0);

    + public abstract int PushAudioFrame(MEDIA_SOURCE_TYPE type, AudioFrame frame, bool wrap = false, int sourceId = 0); +

    - virtual int pushAudioFrame(MEDIA_SOURCE_TYPE type, IAudioFrameObserver::AudioFrame* frame, bool wrap) = 0; - public abstract int PushAudioFrame(MEDIA_SOURCE_TYPE type, AudioFrame frame, bool wrap);

    + virtual int pushAudioFrame(MEDIA_SOURCE_TYPE type, IAudioFrameObserver::AudioFrame* frame, bool wrap) = 0; + public abstract int PushAudioFrame(MEDIA_SOURCE_TYPE type, AudioFrame frame, bool wrap); +

    - -
    弃用:
    -
    该方法已废弃,请改用 方法。
    -
    + +
    弃用:
    +
    该方法已废弃,请改用 方法。
    +
    参数 - - type - 音频采集设备类型。详见 - - - frame - 外部音频帧。详见 - - - wrap - 设置是否占位使用。声网建议用户使用默认值。 - - - -
      -
    • : 占位使用;
    • -
    • :(默认)不占位使用。
    • -
    -
    - - sourceId - 外部音频源的 ID。如果你要发布自定义的外部音频源,则将该参数设置为你想要发布的自定义音频轨道 ID。 - -
    + + type + 音频采集设备类型。详见 + + + frame + 外部音频帧。详见 + + + wrap + 设置是否占位使用。声网建议用户使用默认值。
      +
    • : 占位使用;
    • +
    • :(默认)不占位使用。
    • +
    +
    +
    + + sourceId + 外部音频源的 ID。如果你要发布自定义的外部音频源,则将该参数设置为你想要发布的自定义音频轨道 ID。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_imediaengine_pushaudioframe2.dita b/dita/RTC/API/api_imediaengine_pushaudioframe2.dita index e03e1e23911..1041a7f10a1 100644 --- a/dita/RTC/API/api_imediaengine_pushaudioframe2.dita +++ b/dita/RTC/API/api_imediaengine_pushaudioframe2.dita @@ -13,74 +13,76 @@

    - public abstract int pushExternalAudioFrame(byte[] data, long timestamp, + public abstract int pushExternalAudioFrame(byte[] data, long timestamp, int sampleRate, int channels, int bytesPerSample, int sourcePos); - - (int)pushExternalAudioFrameRawData:(AgoraAudioExternalSourcePos)sourcePos frame:(AgoraAudioFrame* _Nonnull)frame; - virtual int pushAudioFrame(int32_t sourcePos, IAudioFrameObserver::AudioFrame* frame) = 0; - - public abstract int PushAudioFrame(int sourcePos, AudioFrame frame); - -

    + - (int)pushExternalAudioFrameRawData:(AgoraAudioExternalSourcePos)sourcePos frame:(AgoraAudioFrame* _Nonnull)frame; + virtual int pushAudioFrame(int32_t sourcePos, IAudioFrameObserver::AudioFrame* frame) = 0; + + public abstract int PushAudioFrame(int sourcePos, AudioFrame frame); + + +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    -

    根据实际需求,你可以将外部音频帧推送到音频采集后、编码前或本地播放前的位置。你可以多次调用该方法,将一个音频帧推送到多个位置或者将多个音频帧推送到不同位置。例如,在 KTV 场景中,你可以将歌声推送到音频采集后的位置,让歌声经过 SDK 音频模块的处理,从而获取优质的音频体验;将伴奏推送到音频编码前的位置,让伴奏不受 SDK 音频模块的影响。

    - 该方法需要在加入频道后调用。
    +

    根据实际需求,你可以将外部音频帧推送到音频采集后、编码前或本地播放前的位置。你可以多次调用该方法,将一个音频帧推送到多个位置或者将多个音频帧推送到不同位置。例如,在 + KTV 场景中,你可以将歌声推送到音频采集后的位置,让歌声经过 SDK 音频模块的处理,从而获取优质的音频体验;将伴奏推送到音频编码前的位置,让伴奏不受 SDK + 音频模块的影响。

    + 该方法需要在加入频道后调用。 +
    参数 - - - - - - - - - - - - - - sampleRate - 采样率,可设置为 8000, 16000, 32000, 44100, 或 48000 Hz。 - - - channels - -

    声道数量: - - - - - -

      -
    • 1:单声道
    • -
    • 2:双声道(数据是交叉的)
    • -

    -
    -
    - - bytesPerSample - 每个采样点的字节数。对于 PCM 来说,一般使用 16 bit,即两个字节。 - - - sourcePos - 外部音频帧的推送位置。详见 - 外部音频帧的推送位置。 - -
    + + + + + + + + + + + + + + sampleRate + 采样率,可设置为 8000, 16000, 32000, 44100, 或 48000 Hz。 + + + channels + +

    声道数量:

      +
    • 1:单声道
    • +
    • 2:双声道(数据是交叉的)
    • +
    +

    +
    +
    + + bytesPerSample + 每个采样点的字节数。对于 PCM 来说,一般使用 16 bit,即两个字节。 + + + sourcePos + 外部音频帧的推送位置。详见 + 外部音频帧的推送位置。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_imediaengine_pushencodedvideoimage.dita b/dita/RTC/API/api_imediaengine_pushencodedvideoimage.dita index d765f1edc90..48ef8606af8 100644 --- a/dita/RTC/API/api_imediaengine_pushencodedvideoimage.dita +++ b/dita/RTC/API/api_imediaengine_pushencodedvideoimage.dita @@ -13,43 +13,49 @@

    - public abstract int pushExternalEncodedVideoFrame( + public abstract int pushExternalEncodedVideoFrame( ByteBuffer data, EncodedVideoFrameInfo frameInfo); - - virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, + + virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, const agora::rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0; - - public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo); - -

    + + public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo); + + +

    -

    调用 setExternalVideoSource 方法,且设置 enable 参数为 encodedFrame 参数为 后,你可以调用本方法将已编码的外部视频帧推送到 SDK。

    +

    调用 setExternalVideoSource 方法,且设置 + enable 参数为 encodedFrame 参数为 后,你可以调用本方法将已编码的外部视频帧推送到 SDK。

    参数 - - data - imageBuffer - 外部编码视频帧的 buffer。 - - - length - 外部编码视频帧的长度。 - - - frameInfo - videoEncodedFrameInfo - 外部编码视频帧的信息。详见 - -
    + + data + imageBuffer + 外部编码视频帧的 buffer。 + + + length + 外部编码视频帧的长度。 + + + frameInfo + videoEncodedFrameInfo + 外部编码视频帧的信息。详见 + + +
    返回值
      -
    • 0: 推送成功。
    • -
    • < 0: 推送失败。
    • -
    +
  • 0: 推送成功。
  • +
  • < 0: 推送失败。
  • + +
    diff --git a/dita/RTC/API/api_imediaengine_pushvideoframe.dita b/dita/RTC/API/api_imediaengine_pushvideoframe.dita index c3e450edd3b..406f06f57f0 100644 --- a/dita/RTC/API/api_imediaengine_pushvideoframe.dita +++ b/dita/RTC/API/api_imediaengine_pushvideoframe.dita @@ -13,43 +13,51 @@

    - public abstract boolean pushExternalVideoFrame(AgoraVideoFrame frame); - - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame; - virtual int pushVideoFrame(ExternalVideoFrame *frame) = 0; - - public abstract int PushVideoFrame(ExternalVideoFrame frame); - -

    + public abstract boolean pushExternalVideoFrame(AgoraVideoFrame frame); + - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame; + virtual int pushVideoFrame(ExternalVideoFrame *frame) = 0; + + public abstract int PushVideoFrame(ExternalVideoFrame frame); + + +

    - -
    弃用:
    -
    该方法已废弃,请改用
    -
    + +
    弃用:
    +
    该方法已废弃,请改用
    +
    -

    调用 方法,设置 enabled 参数为 encodedFrame 参数为 后,你可以调用本方法将未编码的外部视频帧推送到 SDK。

    -

    调用该方法或 均能将视频帧数据传递给SDK。区别为 方法不支持 texture 格式的视频数据。

    - 通信场景下,不支持 Texture 格式的视频数据。
    +

    调用 方法,设置 + enabled 参数为 encodedFrame 参数为 后,你可以调用本方法将未编码的外部视频帧推送到 SDK。

    +

    调用该方法或 均能将视频帧数据传递给SDK。区别为 方法不支持 texture 格式的视频数据。

    + 通信场景下,不支持 Texture 格式的视频数据。 +
    参数 - - frame - -

    待推送的视频帧。详见

    -
    -
    -
    + + frame + +

    待推送的视频帧。详见

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
      -
    • :推送成功。
    • -
    • :推送失败。
    • -
    +
  • :推送成功。
  • +
  • :推送失败。
  • + +
    diff --git a/dita/RTC/API/api_imediaengine_registeraudioframeobserver.dita b/dita/RTC/API/api_imediaengine_registeraudioframeobserver.dita index b8f3bd3f82e..7d09a910e88 100644 --- a/dita/RTC/API/api_imediaengine_registeraudioframeobserver.dita +++ b/dita/RTC/API/api_imediaengine_registeraudioframeobserver.dita @@ -13,37 +13,45 @@

    - - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate;

    + - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate; +

    - - (BOOL)setAudioDataFrame:(id<AgoraAudioDataFrameProtocol> _Nullable)delegate;

    + - (BOOL)setAudioDataFrame:(id<AgoraAudioDataFrameProtocol> _Nullable)delegate; +

    - public abstract int registerAudioFrameObserver(IAudioFrameObserver observer); - virtual int registerAudioFrameObserver(IAudioFrameObserver* observer) = 0; - - public abstract void RegisterAudioFrameObserver(IAgoraRtcAudioFrameObserver audioFrameObserver); - -

    + public abstract int registerAudioFrameObserver(IAudioFrameObserver observer); + virtual int registerAudioFrameObserver(IAudioFrameObserver* observer) = 0; + + public abstract void RegisterAudioFrameObserver(IAgoraRtcAudioFrameObserver audioFrameObserver); + + +

    -

    该方法用于注册语音观测器对象,即注册回调。当需要 SDK 给出 回调时,需要使用该方法注册回调。

    - 该方法需要在加入频道前调用。
    +

    该方法用于注册语音观测器对象,即注册回调。当需要 SDK 给出 回调时,需要使用该方法注册回调。

    + 该方法需要在加入频道前调用。 +
    参数 - - observer - delegate - audioFrameObserver - -

    接口对象实例。详见 。如果传入 ,则表示取消注册,声网建议在收到 后调用,来释放语音观测器对象。

    -
    -
    -
    + + observer + delegate + audioFrameObserver + +

    接口对象实例。详见 。如果传入 ,则表示取消注册,声网建议在收到 后调用,来释放语音观测器对象。

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_imediaengine_registervideoencodedimagereceiver.dita b/dita/RTC/API/api_imediaengine_registervideoencodedimagereceiver.dita index 8982b9e88d6..bc95b8a659f 100644 --- a/dita/RTC/API/api_imediaengine_registervideoencodedimagereceiver.dita +++ b/dita/RTC/API/api_imediaengine_registervideoencodedimagereceiver.dita @@ -13,35 +13,41 @@

    - public abstract void RegisterVideoEncodedImageReceiver(IAgoraRtcVideoEncodedImageReceiver videoEncodedImageReceiver);

    + public abstract void RegisterVideoEncodedImageReceiver(IAgoraRtcVideoEncodedImageReceiver videoEncodedImageReceiver);

    - public abstract int registerVideoEncodedImageReceiver(IVideoEncodedImageReceiver receiver); - - virtual int registerVideoEncodedImageReceiver(rtc::IVideoEncodedImageReceiver* receiver) = 0; - - -

    + public abstract int registerVideoEncodedImageReceiver(IVideoEncodedImageReceiver receiver); + + virtual int registerVideoEncodedImageReceiver(rtc::IVideoEncodedImageReceiver* receiver) = 0; + + + +

    -
      -
    • 请在加入频道后调用该方法。
    • -
    • 如果你调用该方法注册了 对象,则不能再注册 对象。
    • -
    +
      +
    • 请在加入频道后调用该方法。
    • +
    • 如果你调用该方法注册了 对象,则不能再注册 对象。
    • +
    + +
    参数 - - receiver - videoEncodedImageReceiver - 视频帧接收观测器,详见 - -
    + + receiver + videoEncodedImageReceiver + 视频帧接收观测器,详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_imediaengine_registervideoframeobserver.dita b/dita/RTC/API/api_imediaengine_registervideoframeobserver.dita index 5c1a7743813..3d0349a87ac 100644 --- a/dita/RTC/API/api_imediaengine_registervideoframeobserver.dita +++ b/dita/RTC/API/api_imediaengine_registervideoframeobserver.dita @@ -13,43 +13,49 @@

    - public abstract int registerVideoFrameObserver(IVideoFrameObserver observer); - - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate; - virtual int registerVideoFrameObserver(IVideoFrameObserver* observer) = 0; - - public abstract void RegisterVideoFrameObserver(IAgoraRtcVideoFrameObserver videoFrameObserver); - -

    + public abstract int registerVideoFrameObserver(IVideoFrameObserver observer); + - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate; + virtual int registerVideoFrameObserver(IVideoFrameObserver* observer) = 0; + + public abstract void RegisterVideoFrameObserver(IAgoraRtcVideoFrameObserver videoFrameObserver); + + +

    -

    你需要在该方法中实现一个 类,并根据场景需要,注册该类的回调。 成功注册视频观测器后,SDK 会在捕捉到每个视频帧时,触发你所注册的上述回调。

    +

    你需要在该方法中实现一个 类,并根据场景需要,注册该类的回调。 成功注册视频观测器后,SDK + 会在捕捉到每个视频帧时,触发你所注册的上述回调。

    -
      -
    • 在处理回调时,你需要考虑视频帧中 widthheight 参数的变化,因为观测得到的视频帧可能会随以下情况变化: - -
        -
      • 当网络状况差时,分辨率会阶梯式下降。
      • -
      • 当用户自行调整分辨率时,回调中报告的分辨率也会变化。
      • -
    • -
    • 该方法需要在加入频道前调用。
    • -
    +
      +
    • 在处理回调时,你需要考虑视频帧中 widthheight + 参数的变化,因为观测得到的视频帧可能会随以下情况变化:
        +
      • 当网络状况差时,分辨率会阶梯式下降。
      • +
      • 当用户自行调整分辨率时,回调中报告的分辨率也会变化。
      • +
    • +
    • 该方法需要在加入频道前调用。
    • +
    + +
    参数 - - observer - delegate - videoFrameObserver - -

    接口对象实例。如果传入 ,则取消注册。详见

    -
    -
    -
    + + observer + delegate + videoFrameObserver + +

    接口对象实例。如果传入 ,则取消注册。详见

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_imediaengine_setexternalvideosource.dita b/dita/RTC/API/api_imediaengine_setexternalvideosource.dita index 99ad6eaf256..bebb67223bb 100644 --- a/dita/RTC/API/api_imediaengine_setexternalvideosource.dita +++ b/dita/RTC/API/api_imediaengine_setexternalvideosource.dita @@ -13,47 +13,47 @@

    - - - virtual int setExternalVideoSource(bool enable, bool useTexture) = 0; - - public abstract int SetExternalVideoSource(bool enable, bool useTexture = false); - -

    + + + virtual int setExternalVideoSource(bool enable, bool useTexture) = 0; + + public abstract int SetExternalVideoSource(bool enable, bool useTexture = false); + + +

    - 该方法需要在加入频道前调用。
    + 该方法需要在加入频道前调用。 +
    参数 - - enable - -

    是否使用外部视频源: - -

      -
    • :使用外部视频源。
    • -
    • :(默认)不使用外部视频源。
    • -

    -
    -
    - - useTexture - -

    是否使用 Texture 作为输入: - -

      -
    • :使用 texture 作为输入。
    • -
    • :(默认)不使用 texture 作为输入。
    • -

    -
    -
    -
    + + enable + +

    是否使用外部视频源:

      +
    • :使用外部视频源。
    • +
    • :(默认)不使用外部视频源。
    • +

    +
    +
    + + useTexture + +

    是否使用 Texture 作为输入:

      +
    • :使用 texture 作为输入。
    • +
    • :(默认)不使用 texture 作为输入。
    • +

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_imediaplayer_registeraudioframeobserver2.dita b/dita/RTC/API/api_imediaplayer_registeraudioframeobserver2.dita index bb8c476f871..7f67bb6a132 100644 --- a/dita/RTC/API/api_imediaplayer_registeraudioframeobserver2.dita +++ b/dita/RTC/API/api_imediaplayer_registeraudioframeobserver2.dita @@ -13,46 +13,54 @@

    - public abstract void RegisterAudioFrameObserver(IAgoraRtcMediaPlayerAudioFrameObserver observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode);

    + public abstract void RegisterAudioFrameObserver(IAgoraRtcMediaPlayerAudioFrameObserver observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode); +

    - int registerAudioFrameObserver(IMediaPlayerAudioFrameObserver audioFrameObserver, int mode); + int registerAudioFrameObserver(IMediaPlayerAudioFrameObserver audioFrameObserver, int mode); - - virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode) = 0; - - -

    + + virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode) = 0; + + + +

    参数 - - audioFrameObserver - observer - -

    音频帧观测器,观测每帧音频的接收,详见

    -
    -
    - - mode - -

    音频帧的使用模式,详见

    -

    音频帧的使用模式: - - -

      -
    • (0): 只读模式。例如: 若用户通过声网 SDK 采集数据,自己进行 RTMP 推流,则可以选择该模式。
    • -
    • (1): 只写模式,例如: 若用户自行采集数据,可选择该模式。
    • -
    • (2): 读写模式。例如:若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理 (例如变声),则可以选择该模式。
    • -

    -
    -
    -
    + + audioFrameObserver + observer + +

    音频帧观测器,观测每帧音频的接收,详见

    +
    +
    + + mode + +

    音频帧的使用模式,详见

    +

    音频帧的使用模式:

      +
    • (0): 只读模式。例如: + 若用户通过声网 SDK 采集数据,自己进行 RTMP 推流,则可以选择该模式。
    • +
    • + (1): 只写模式,例如: 若用户自行采集数据,可选择该模式。
    • +
    • (2): + 读写模式。例如:若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理 (例如变声),则可以选择该模式。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_irtcengine2_createchannel.dita b/dita/RTC/API/api_irtcengine2_createchannel.dita index 2242ea3731c..cb61ef05e86 100644 --- a/dita/RTC/API/api_irtcengine2_createchannel.dita +++ b/dita/RTC/API/api_irtcengine2_createchannel.dita @@ -2,7 +2,8 @@ <ph keyref="createChannel"/> - 创建并获取一个 对象。 + 创建并获取一个 + 对象。 @@ -13,37 +14,44 @@

    - - - virtual IChannel* createChannel(const char *channelId) = 0; - createChannel(channelId: string): (AgoraRtcChannel | null) - public abstract IAgoraRtcChannel CreateChannel(string channelId); - - static Future<RtcChannel> create(String channelId) async

    + + + virtual IChannel* createChannel(const char *channelId) = 0; + createChannel(channelId: string): (AgoraRtcChannel | null) + public abstract IAgoraRtcChannel CreateChannel(string channelId); + + static Future<RtcChannel> create(String channelId) async +

    -

    你可以多次调用该方法,创建多个 对象,再调用各 对象中的 方法,实现同时加入多个频道。

    +

    你可以多次调用该方法,创建多个 对象,再调用各 对象中的 + 方法,实现同时加入多个频道。

    加入多个频道后,你可以同时订阅各个频道的音、视频流;但是同一时间只能在一个频道发布一路音、视频流。

    参数 - - channelId - -

    - -

      -
    • 参数没有默认值,请确保对参数设值。
    • -
    • 请勿将该参数设为空字符 "",否则 SDK 会返回 ERR_REFUSED(5)。
    • -
    -
    -
    + + channelId + +

    + +

      +
    • 参数没有默认值,请确保对参数设值。
    • +
    • 请勿将该参数设为空字符 "",否则 SDK 会返回 + ERR_REFUSED(5)。
    • +
    + +
    +
    + +
    返回值
      -
    • 方法调用成功,返回 对象。
    • -
    • 方法调用失败,返回
    • -
    +
  • 方法调用成功,返回 对象。
  • +
  • 方法调用失败,返回
  • + +
    diff --git a/dita/RTC/API/api_iscameraautofocusfacemodesupported.dita b/dita/RTC/API/api_iscameraautofocusfacemodesupported.dita index 089484c4885..b2747c1482b 100644 --- a/dita/RTC/API/api_iscameraautofocusfacemodesupported.dita +++ b/dita/RTC/API/api_iscameraautofocusfacemodesupported.dita @@ -13,26 +13,30 @@

    - public abstract bool IsCameraAutoFocusFaceModeSupported();

    + public abstract bool IsCameraAutoFocusFaceModeSupported();

    - public abstract boolean isCameraAutoFocusFaceModeSupported(); - - (BOOL)isCameraAutoFocusFaceModeSupported; - - - - Future<bool?> isCameraAutoFocusFaceModeSupported();

    + public abstract boolean isCameraAutoFocusFaceModeSupported(); + - (BOOL)isCameraAutoFocusFaceModeSupported; + + + + Future<bool?> isCameraAutoFocusFaceModeSupported(); +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 请在启动摄像头之前调用该方法,如 或者 之前。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 请在启动摄像头之前调用该方法,如 + 或者 之前。
    • +
    +
    返回值
      -
    • : 设备支持人脸对焦功能。
    • -
    • : 设备不支持人脸对焦功能。
    • -
    +
  • : 设备支持人脸对焦功能。
  • +
  • : 设备不支持人脸对焦功能。
  • + +
    diff --git a/dita/RTC/API/api_iscameraexposurepositionsupported.dita b/dita/RTC/API/api_iscameraexposurepositionsupported.dita index 6488d1f5c43..8559d12c924 100644 --- a/dita/RTC/API/api_iscameraexposurepositionsupported.dita +++ b/dita/RTC/API/api_iscameraexposurepositionsupported.dita @@ -13,25 +13,29 @@

    - public abstract boolean isCameraExposurePositionSupported(); - - (BOOL)isCameraAutoExposureFaceModeSupported; - virtual bool isCameraExposurePositionSupported() = 0; - - public abstract bool IsCameraExposurePositionSupported(); - - Future<bool?> isCameraExposurePositionSupported();

    + public abstract boolean isCameraExposurePositionSupported(); + - (BOOL)isCameraAutoExposureFaceModeSupported; + virtual bool isCameraExposurePositionSupported() = 0; + + public abstract bool IsCameraExposurePositionSupported(); + + Future<bool?> isCameraExposurePositionSupported(); +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 请在启动摄像头之前调用该方法,如 或者 之前。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 请在启动摄像头之前调用该方法,如 + 或者 之前。
    • +
    +
    返回值
      -
    • : 设备支持手动曝光功能。
    • -
    • : 设备不支持手动曝光功能。
    • -
    +
  • : 设备支持手动曝光功能。
  • +
  • : 设备不支持手动曝光功能。
  • + +
    diff --git a/dita/RTC/API/api_iscamerafacedetectsupported.dita b/dita/RTC/API/api_iscamerafacedetectsupported.dita index 59306a66409..71b7cc7f480 100644 --- a/dita/RTC/API/api_iscamerafacedetectsupported.dita +++ b/dita/RTC/API/api_iscamerafacedetectsupported.dita @@ -13,21 +13,24 @@

    - public abstract boolean isCameraFaceDetectSupported(); - - virtual bool isCameraFaceDetectSupported() = 0; - - public abstract bool IsCameraFaceDetectSupported(); - -

    + public abstract boolean isCameraFaceDetectSupported(); + + virtual bool isCameraFaceDetectSupported() = 0; + + public abstract bool IsCameraFaceDetectSupported(); + + +

    - 该方法仅适用于 Android。
    + 该方法仅适用于 Android。 +
    返回值
      -
    • : 设备摄像头支持人脸检测。
    • -
    • : 设备摄像头不支持人脸检测。
    • -
    +
  • : 设备摄像头支持人脸检测。
  • +
  • : 设备摄像头不支持人脸检测。
  • + +
    diff --git a/dita/RTC/API/api_iscamerafocussupported.dita b/dita/RTC/API/api_iscamerafocussupported.dita index 1474fe6be90..063d9fecb0a 100644 --- a/dita/RTC/API/api_iscamerafocussupported.dita +++ b/dita/RTC/API/api_iscamerafocussupported.dita @@ -13,25 +13,29 @@

    - public abstract boolean isCameraFocusSupported(); - - (BOOL)isCameraFocusPositionInPreviewSupported; - virtual bool isCameraFocusSupported() = 0; - - public abstract bool IsCameraFocusSupported(); - - Future<bool?> isCameraFocusSupported();

    + public abstract boolean isCameraFocusSupported(); + - (BOOL)isCameraFocusPositionInPreviewSupported; + virtual bool isCameraFocusSupported() = 0; + + public abstract bool IsCameraFocusSupported(); + + Future<bool?> isCameraFocusSupported(); +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 请在启动摄像头之前调用该方法,如 或者 之前。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 请在启动摄像头之前调用该方法,如 + 或者 之前。
    • +
    +
    返回值
      -
    • : 设备支持手动对焦功能。
    • -
    • : 设备不支持手动对焦功能。
    • -
    +
  • : 设备支持手动对焦功能。
  • +
  • : 设备不支持手动对焦功能。
  • + +
    diff --git a/dita/RTC/API/api_iscameratorchsupported.dita b/dita/RTC/API/api_iscameratorchsupported.dita index 0276e16277e..0f1095645d5 100644 --- a/dita/RTC/API/api_iscameratorchsupported.dita +++ b/dita/RTC/API/api_iscameratorchsupported.dita @@ -13,28 +13,35 @@

    - public abstract boolean isCameraTorchSupported(); - - (BOOL)isCameraTorchSupported; - virtual bool isCameraTorchSupported() = 0; - - public abstract int IsCameraTorchSupported(); - - Future<bool?> isCameraTorchSupported();

    + public abstract boolean isCameraTorchSupported(); + - (BOOL)isCameraTorchSupported; + virtual bool isCameraTorchSupported() = 0; + + public abstract int IsCameraTorchSupported(); + + Future<bool?> isCameraTorchSupported(); +

    -

    该方法需要在相机启动(如通过调用 实现)后调用。

    +

    该方法需要在相机启动(如通过调用 + 实现)后调用。

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 一般情况下,App 默认开启前置摄像头,因此如果你的前置摄像头不支持闪光灯常开,直接使用该方法会返回 。 - 如果需要检查后置摄像头是否支持闪光灯常开,需要先使用 切换摄像头,再使用该方法。
    • -
    • 在系统版本 15 的 iPad 上,即使 返回 true,也可能因系统问题导致你无法通过 成功开启闪光灯。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 一般情况下,App 默认开启前置摄像头,因此如果你的前置摄像头不支持闪光灯常开,直接使用该方法会返回 。 + 如果需要检查后置摄像头是否支持闪光灯常开,需要先使用 切换摄像头,再使用该方法。
    • +
    • 在系统版本 15 的 iPad 上,即使 返回 + true,也可能因系统问题导致你无法通过 + 成功开启闪光灯。
    • +
    +
    返回值
      -
    • : 设备支持闪光灯常开。
    • -
    • : 设备不支持闪光灯常开。
    • -
    +
  • : 设备支持闪光灯常开。
  • +
  • : 设备不支持闪光灯常开。
  • + +
    diff --git a/dita/RTC/API/api_iscamerazoomsupported.dita b/dita/RTC/API/api_iscamerazoomsupported.dita index ed5937d0482..90e81df8502 100644 --- a/dita/RTC/API/api_iscamerazoomsupported.dita +++ b/dita/RTC/API/api_iscamerazoomsupported.dita @@ -13,25 +13,29 @@

    - public abstract boolean isCameraZoomSupported(); - - (BOOL)isCameraZoomSupported; - virtual bool isCameraZoomSupported() = 0; - - public abstract bool IsCameraZoomSupported(); - - Future<bool?> isCameraZoomSupported();

    + public abstract boolean isCameraZoomSupported(); + - (BOOL)isCameraZoomSupported; + virtual bool isCameraZoomSupported() = 0; + + public abstract bool IsCameraZoomSupported(); + + Future<bool?> isCameraZoomSupported(); +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 请在启动摄像头之前调用该方法,如 或者 之前。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 请在启动摄像头之前调用该方法,如 + 或者 之前。
    • +
    +
    返回值
      -
    • : 设备支持相机缩放功能。
    • -
    • : 设备不支持相机缩放功能。
    • -
    +
  • : 设备支持相机缩放功能。
  • +
  • : 设备不支持相机缩放功能。
  • + +
    diff --git a/dita/RTC/API/api_iscreencapturesourcelist_getcount.dita b/dita/RTC/API/api_iscreencapturesourcelist_getcount.dita index 938d68921d0..faaa50d2f40 100644 --- a/dita/RTC/API/api_iscreencapturesourcelist_getcount.dita +++ b/dita/RTC/API/api_iscreencapturesourcelist_getcount.dita @@ -13,20 +13,21 @@

    - - - virtual unsigned int getCount() = 0; - - - -

    + + + virtual unsigned int getCount() = 0; + + + + +

    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +

    diff --git a/dita/RTC/API/api_iscreencapturesourcelist_getsourceinfo.dita b/dita/RTC/API/api_iscreencapturesourcelist_getsourceinfo.dita index 65c3542825e..ab7dafad160 100644 --- a/dita/RTC/API/api_iscreencapturesourcelist_getsourceinfo.dita +++ b/dita/RTC/API/api_iscreencapturesourcelist_getsourceinfo.dita @@ -13,33 +13,38 @@

    - - - virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0; - - - -

    + + + virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0; + + + + +

    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +
    -

    获取到 后,你可以传入指定的可共享窗口或屏幕的索引值,以获取到该窗口或屏幕的信息

    +

    获取到 后,你可以传入指定的可共享窗口或屏幕的索引值,以获取到该窗口或屏幕的信息 +

    参数 - - index - 指定的可共享窗口或屏幕的索引。索引值范围为 [0,())。 - -
    + + index + 指定的可共享窗口或屏幕的索引。索引值范围为 [0,())。 + + +
    返回值 -
    + +
    diff --git a/dita/RTC/API/api_iscreencapturesourcelist_release.dita b/dita/RTC/API/api_iscreencapturesourcelist_release.dita index dac54c499f2..03388d17051 100644 --- a/dita/RTC/API/api_iscreencapturesourcelist_release.dita +++ b/dita/RTC/API/api_iscreencapturesourcelist_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IScreenCaptureSourceList"/> - 释放 + 释放 @@ -13,22 +14,24 @@

    - - - virtual void release() = 0; - - - -

    + + + virtual void release() = 0; + + + + +

    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +
    -

    获取可共享的窗口和屏幕对象列表后,为避免内存泄露,请调用该方法释放 ,不要直接删除

    +

    获取可共享的窗口和屏幕对象列表后,为避免内存泄露,请调用该方法释放 ,不要直接删除 +

    diff --git a/dita/RTC/API/api_isspeakerphoneenabled.dita b/dita/RTC/API/api_isspeakerphoneenabled.dita index a03616b2919..83a23cbf85e 100644 --- a/dita/RTC/API/api_isspeakerphoneenabled.dita +++ b/dita/RTC/API/api_isspeakerphoneenabled.dita @@ -13,25 +13,28 @@

    - public abstract boolean isSpeakerphoneEnabled(); - - (BOOL)isSpeakerphoneEnabled; - virtual bool isSpeakerphoneEnabled() = 0; - - public abstract bool IsSpeakerphoneEnabled(); - - Future<bool?> isSpeakerphoneEnabled();

    + public abstract boolean isSpeakerphoneEnabled(); + - (BOOL)isSpeakerphoneEnabled; + virtual bool isSpeakerphoneEnabled() = 0; + + public abstract bool IsSpeakerphoneEnabled(); + + Future<bool?> isSpeakerphoneEnabled(); +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 该方法在加入频道前后都能调用。
    • +
    +
    返回值
      -
    • : 扬声器已开启,语音会输出到扬声器。
    • -
    • : 扬声器未开启,语音会输出到非扬声器(听筒,耳机等)。
    • -
    +
  • : 扬声器已开启,语音会输出到扬声器。
  • +
  • : 扬声器未开启,语音会输出到非扬声器(听筒,耳机等)。
  • + +
    diff --git a/dita/RTC/API/api_istextureencodesupported.dita b/dita/RTC/API/api_istextureencodesupported.dita index 382c16a38eb..7c334397966 100644 --- a/dita/RTC/API/api_istextureencodesupported.dita +++ b/dita/RTC/API/api_istextureencodesupported.dita @@ -13,19 +13,21 @@

    - public abstract boolean isTextureEncodeSupported(); - - - - - -

    + public abstract boolean isTextureEncodeSupported(); + + + + + + +

    返回值
      -
    • :支持 Texture 编码。
    • -
    • :不支持 Texture 编码。
    • -
    +
  • :支持 Texture 编码。
  • +
  • :不支持 Texture 编码。
  • + +
    diff --git a/dita/RTC/API/api_ivideodevicecollection_getcount.dita b/dita/RTC/API/api_ivideodevicecollection_getcount.dita index 812df70a789..cf9c1213936 100644 --- a/dita/RTC/API/api_ivideodevicecollection_getcount.dita +++ b/dita/RTC/API/api_ivideodevicecollection_getcount.dita @@ -13,13 +13,14 @@

    - - - virtual int getCount() = 0; - - - -

    + + + virtual int getCount() = 0; + + + + +

    返回值 diff --git a/dita/RTC/API/api_ivideodevicecollection_getdevice.dita b/dita/RTC/API/api_ivideodevicecollection_getdevice.dita index 72477263911..163e58a02db 100644 --- a/dita/RTC/API/api_ivideodevicecollection_getdevice.dita +++ b/dita/RTC/API/api_ivideodevicecollection_getdevice.dita @@ -13,37 +13,40 @@

    - - - virtual int getDevice(int index, + + + virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - public abstract string GetDevice(); - -

    + + public abstract string GetDevice(); + + +

    参数 - - index - 指定的索引值,必须小于 方法的返回值。 - - - deviceName - 设备名称。最大长度为 - - - deviceId - 视频设备的设备 ID。最大长度为 - -
    + + index + 指定的索引值,必须小于 方法的返回值。 + + + deviceName + 设备名称。最大长度为 + + + deviceId + 视频设备的设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ivideodevicecollection_release.dita b/dita/RTC/API/api_ivideodevicecollection_release.dita index 4000dae6990..190c45701e0 100644 --- a/dita/RTC/API/api_ivideodevicecollection_release.dita +++ b/dita/RTC/API/api_ivideodevicecollection_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IVideoDeviceCollection"/> - 释放 对象占用的所有资源。 + 释放 + 对象占用的所有资源。 @@ -13,13 +14,14 @@

    - - - virtual void release() = 0; - - - -

    + + + virtual void release() = 0; + + + + +

    diff --git a/dita/RTC/API/api_ivideodevicecollection_setdevice.dita b/dita/RTC/API/api_ivideodevicecollection_setdevice.dita index 0ee5b8e4410..a8ed871f320 100644 --- a/dita/RTC/API/api_ivideodevicecollection_setdevice.dita +++ b/dita/RTC/API/api_ivideodevicecollection_setdevice.dita @@ -13,33 +13,38 @@

    - - - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId; - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - public abstract int SetDevice(string deviceIdUTF8); - -

    + + - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId; + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + + public abstract int SetDevice(string deviceIdUTF8); + + +

    参数 - - type - -

    - - - - deviceId - 设备 ID。最大长度为 可通过 获取。插拔设备不会影响 deviceId - -

    + + type + +

    + + + + deviceId + 设备 ID。最大长度为 可通过 + 获取。插拔设备不会影响 deviceId + + +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ivideodevicemanager_enumeratevideodevices.dita b/dita/RTC/API/api_ivideodevicemanager_enumeratevideodevices.dita index dc4179ab12b..d769ff29ac8 100644 --- a/dita/RTC/API/api_ivideodevicemanager_enumeratevideodevices.dita +++ b/dita/RTC/API/api_ivideodevicemanager_enumeratevideodevices.dita @@ -13,25 +13,30 @@

    - - - virtual IVideoDeviceCollection* enumerateVideoDevices() = 0; - getVideoDevices(): Array<{ deviceid: string, devicename: string }> - public abstract DeviceInfo[] EnumerateVideoDevices(); - - Future<List<MediaDeviceInfo>> enumerateVideoDevices()

    + + + virtual IVideoDeviceCollection* enumerateVideoDevices() = 0; + getVideoDevices(): Array<{ deviceid: string, devicename: string }> + public abstract DeviceInfo[] EnumerateVideoDevices(); + + Future<List<MediaDeviceInfo>> enumerateVideoDevices() +

    -

    该方法返回一个 对象,包含系统中所有的视频设备。通过 对象,App 可以枚举视频设备。 - App 必须调用 方法在使用过后释放返回的对象。

    +

    该方法返回一个 + 对象,包含系统中所有的视频设备。通过 对象,App 可以枚举视频设备。 App + 必须调用 方法在使用过后释放返回的对象。

    返回值
      -
    • 方法调用成功: 返回一个 对象,其中包含系统中所有视频设备。
    • -
    • 方法调用成功:返回一个 DeviceInfo 数组,其中包含系统中所有视频设备。
    • -
    • 方法调用成功:返回一个 对象,其中包含系统中所有视频设备。
    • -
    • 方法调用失败:
    • -
    +
  • 方法调用成功: 返回一个 + 对象,其中包含系统中所有视频设备。
  • +
  • 方法调用成功:返回一个 DeviceInfo 数组,其中包含系统中所有视频设备。
  • +
  • 方法调用成功:返回一个 + 对象,其中包含系统中所有视频设备。
  • +
  • 方法调用失败:
  • + +
    diff --git a/dita/RTC/API/api_ivideodevicemanager_getdevice.dita b/dita/RTC/API/api_ivideodevicemanager_getdevice.dita index eb451f07142..8348f297926 100644 --- a/dita/RTC/API/api_ivideodevicemanager_getdevice.dita +++ b/dita/RTC/API/api_ivideodevicemanager_getdevice.dita @@ -13,32 +13,36 @@

    - virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0; - public abstract string GetDevice();

    + virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0; + public abstract string GetDevice(); +

    - virtual int getDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - public abstract string GetDevice();

    + virtual int getDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + public abstract string GetDevice(); +

    - - - getCurrentVideoDevice(): Device - - Future<String?> getVideoDevice()

    + + + getCurrentVideoDevice(): Device + + Future<String?> getVideoDevice() +

    参数 - - deviceId - deviceIdUTF8 - 输出参数。设备 ID。最大长度为 - -
    + + deviceId + deviceIdUTF8 + 输出参数。设备 ID。最大长度为 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。

    视频采集设备对象,详见

    视频采集设备。

    diff --git a/dita/RTC/API/api_ivideodevicemanager_release.dita b/dita/RTC/API/api_ivideodevicemanager_release.dita index c0c2d9fc91b..a4f25e9bca9 100644 --- a/dita/RTC/API/api_ivideodevicemanager_release.dita +++ b/dita/RTC/API/api_ivideodevicemanager_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IVideoDeviceManager"/> - 释放 对象占用的所有资源。 + 释放 + 对象占用的所有资源。 @@ -13,13 +14,14 @@

    - - - virtual void release() = 0; - - - -

    + + + virtual void release() = 0; + + + + +

    diff --git a/dita/RTC/API/api_ivideodevicemanager_setdevice.dita b/dita/RTC/API/api_ivideodevicemanager_setdevice.dita index 3c094ab28ad..952b048f460 100644 --- a/dita/RTC/API/api_ivideodevicemanager_setdevice.dita +++ b/dita/RTC/API/api_ivideodevicemanager_setdevice.dita @@ -13,36 +13,42 @@

    - public abstract int SetDevice(string deviceIdUTF8);

    + public abstract int SetDevice(string deviceIdUTF8); +

    - public abstract int SetDevice(string deviceId);

    + public abstract int SetDevice(string deviceId);

    - - - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - setVideoDevice(deviceId: string): number - - Future<void> setVideoDevice(String deviceId)

    + + + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + setVideoDevice(deviceId: string): number + + Future<void> setVideoDevice(String deviceId) +

    - 插拔设备不会改变设备 ID。
    + 插拔设备不会改变设备 ID。 +
    参数 - - deviceId - deviceIdUTF8deviceId - -

    设备 ID。可通过调用 方法获取。

    -

    最大长度为

    -
    -
    -
    + + deviceId + deviceIdUTF8deviceId + +

    设备 ID。可通过调用 方法获取。

    +

    最大长度为

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ivideodevicemanager_startdevicetest.dita b/dita/RTC/API/api_ivideodevicemanager_startdevicetest.dita index 690868ddaca..8e7d9c4dd04 100644 --- a/dita/RTC/API/api_ivideodevicemanager_startdevicetest.dita +++ b/dita/RTC/API/api_ivideodevicemanager_startdevicetest.dita @@ -13,13 +13,14 @@

    - - - virtual int startDeviceTest(view_t hwnd) = 0; - startVideoDeviceTest(): number - public abstract int StartDeviceTest(view_t hwnd); - - Future<void> startVideoDeviceTest(int hwnd)

    + + + virtual int startDeviceTest(view_t hwnd) = 0; + startVideoDeviceTest(): number + public abstract int StartDeviceTest(view_t hwnd); + + Future<void> startVideoDeviceTest(int hwnd) +

    该方法用于测试当前视频采集设备是否工作正常,使用前需保证已调用过 ,且输入视频的 HWND 有效。

    @@ -27,16 +28,18 @@
    参数 - - hwnd - 显示图像的窗口句柄。 - -
    + + hwnd + 显示图像的窗口句柄。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ivideodevicemanager_stopdevicetest.dita b/dita/RTC/API/api_ivideodevicemanager_stopdevicetest.dita index f505fe5f1ca..0f42c8be997 100644 --- a/dita/RTC/API/api_ivideodevicemanager_stopdevicetest.dita +++ b/dita/RTC/API/api_ivideodevicemanager_stopdevicetest.dita @@ -13,19 +13,21 @@

    - - - virtual int stopDeviceTest() = 0; - stopVideoDeviceTest(): number - public abstract int StopDeviceTest(); - - Future<void> stopVideoDeviceTest()

    + + + virtual int stopDeviceTest() = 0; + stopVideoDeviceTest(): number + public abstract int StopDeviceTest(); + + Future<void> stopVideoDeviceTest() +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_ivideosink_getbuffertype.dita b/dita/RTC/API/api_ivideosink_getbuffertype.dita index 1d6ba7d6e48..efe2b2ef68a 100644 --- a/dita/RTC/API/api_ivideosink_getbuffertype.dita +++ b/dita/RTC/API/api_ivideosink_getbuffertype.dita @@ -2,7 +2,8 @@ ivideosink_getbuffertype - + @@ -13,31 +14,33 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_ivideosink_getpixelformat.dita b/dita/RTC/API/api_ivideosink_getpixelformat.dita index 083f2bdd1ff..fbdeb2524f2 100644 --- a/dita/RTC/API/api_ivideosink_getpixelformat.dita +++ b/dita/RTC/API/api_ivideosink_getpixelformat.dita @@ -2,7 +2,8 @@ ivideosink_getpixelformat - + @@ -13,31 +14,33 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_joinchannel.dita b/dita/RTC/API/api_joinchannel.dita index 01433a93317..ed2dd2b1c59 100644 --- a/dita/RTC/API/api_joinchannel.dita +++ b/dita/RTC/API/api_joinchannel.dita @@ -13,56 +13,67 @@

    - public abstract int joinChannel( + public abstract int joinChannel( String token, String channelName, String optionalInfo, int optionalUid); - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId info:(NSString * _Nullable)info uid:(NSUInteger)uid joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannel(const char* token, const char* channelId, const char* info, + virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0; - public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0);

    + public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0); +

    - public abstract int joinChannel(String token, String channelName, String optionalInfo, int optionalUid); - - (int)joinChannelByToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId info:(NSString* _Nullable)info uid:(NSUInteger)uid joinSuccess:(void (^_Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0; - - public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0); - -

    + public abstract int joinChannel(String token, String channelName, String optionalInfo, int optionalUid); + - (int)joinChannelByToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId info:(NSString* _Nullable)info uid:(NSUInteger)uid joinSuccess:(void (^_Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; + virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0; + + public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0); + + +

    - 用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。

    + 用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 + mute 方法实现。 +
    参数 - - - - - - - - - - info - optionalInfo - (非必选项) 预留参数。 - - - uid - optionalUid - 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位无符号整数。 建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。 - - - joinSuccessBlock - 成功加入频道回调。joinSuccessBlock 优先级高于 ,如果两种回调都实现了,只有 block 会触发。我们建议你将 joinSuccessBlock 设置为 nil,使用 回调。 - -
    + + + + + + + + + + info + optionalInfo + (非必选项) 预留参数。 + + + uid + optionalUid + 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 + 位无符号整数。 建议设置范围:1 到 232-1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK + 不对该返回值进行维护。 + + + joinSuccessBlock + 成功加入频道回调。joinSuccessBlock 优先级高于 ,如果两种回调都实现了,只有 block + 会触发。我们建议你将 joinSuccessBlock 设置为 nil,使用 + 回调。 + + +
    diff --git a/dita/RTC/API/api_joinchannel2.dita b/dita/RTC/API/api_joinchannel2.dita index 45037b1cfd5..f60dd9bedeb 100644 --- a/dita/RTC/API/api_joinchannel2.dita +++ b/dita/RTC/API/api_joinchannel2.dita @@ -1,8 +1,12 @@ - <ph keyref="joinChannel2"/> - 加入频道并设置是否自动订阅音频或视频流。 + + <ph keyref="joinChannel2"/> + + + 加入频道并设置是否自动订阅音频或视频流。 + @@ -13,204 +17,148 @@

    - public abstract int joinChannel( + public abstract int joinChannel( String token, String channelId, int uid, ChannelMediaOptions options); - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId uid:(NSUInteger)uid mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannel(const char* token, const char* channelId, uid_t uid, - const ChannelMediaOptions& options) = 0;

    + virtual int joinChannel(const char* token, const char* channelId, uid_t uid, + const ChannelMediaOptions& options) = 0; +

    - public abstract int joinChannel(String token, String channelName, String optionalInfo, int optionalUid, ChannelMediaOptions options); - - (int)joinChannelByToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId info:(NSString* _Nullable)info uid:(NSUInteger)uid options:(AgoraRtcChannelMediaOptions* _Nonnull)options; - virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid, const ChannelMediaOptions& options) = 0;

    + public abstract int joinChannel(String token, String channelName, String optionalInfo, int optionalUid, ChannelMediaOptions options); + - (int)joinChannelByToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId info:(NSString* _Nullable)info uid:(NSUInteger)uid options:(AgoraRtcChannelMediaOptions* _Nonnull)options; + virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid, const ChannelMediaOptions& options) = 0; +

    - joinChannel( + joinChannel( token: string, info: string, uid: number, options?: ChannelMediaOptions ): number - public abstract int JoinChannel(string token, string channelId, string info, uint uid, + public abstract int JoinChannel(string token, string channelId, string info, uint uid, ChannelMediaOptions options); - - Future<void> joinChannel( + + Future<void> joinChannel( String? token, String channelName, String? optionalInfo, int optionalUid, - [ChannelMediaOptions? options]);

    + [ChannelMediaOptions? options]); +

    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +

    该方法让用户加入实时音视频互动频道。在 App ID 一致的前提下,进入同一个频道的用户可以互相通话;多个用户加入同一个频道可以群聊。

    -

    - 成功调用该方法加入频道后会触发以下回调: - - -

      -
    • - 本地会触发 - - 和 - - 回调。 -
    • -
    • - 通信场景下的用户和直播场景下的主播加入频道后,远端会触发 - - 回调。 -
    • -

    -

    - 在网络状况不理想的情况下,客户端可能会与声网服务器失去连接;SDK 会自动尝试重连,重连成功后,本地会触发 - - 回调。 +

    成功调用该方法加入频道后会触发以下回调:

      +
    • 本地会触发 回调。
    • +
    • 通信场景下的用户和直播场景下的主播加入频道后,远端会触发 回调。
    • +

    - - 相比 - - ,该方法加了 - options +

    在网络状况不理想的情况下,客户端可能会与声网服务器失去连接;SDK 会自动尝试重连,重连成功后,本地会触发 回调。

    + 相比 + ,该方法加了 options 参数,用于配置用户加入频道时是否自动订阅频道内所有远端音视频流。默认情况下,用户订阅频道内所有其他用户的音频流和视频流,因此会产生用量并影响计费。 - 如果想取消订阅,可以通过设置 - options - 参数或相应的 - mute - 方法实现。 -
    + 如果想取消订阅,可以通过设置 options 参数或相应的 mute 方法实现。 + +
    参数 - - token - -

    - 在服务端生成的用于鉴权的动态密钥。详见 - 使用 Token 鉴权 - 。 + + token + +

    在服务端生成的用于鉴权的动态密钥。详见 使用 Token 鉴权

    + 请确保用于生成 token 的 App ID、频道名和用户名和 方法初始化引擎时用的 App ID,以及该方法中设置的频道名和用户名是一致的。 +
    +
    + + channelId + + channelName + channelId + + +

    频道名。该参数标识用户进行实时音视频互动的频道。App ID + 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 + 个字符):

      +
    • 26 个小写英文字母 a~z
    • +
    • 26 个大写英文字母 A~Z
    • +
    • 10 个数字 0~9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

    - - 请确保用于生成 token 的 App ID、频道名和用户名和 - - 方法初始化引擎时用的 App ID,以及该方法中设置的频道名和用户名是一致的。 -
    -
    - - channelId - channelName channelId - -

    - 频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): - - -

      -
    • 26 个小写英文字母 a~z
    • -
    • 26 个大写英文字母 A~Z
    • -
    • 10 个数字 0~9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    -
    - - info - optionalInfo - -

    预留参数。

    -
    -
    - - uid - optionalUid uid - - 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 位无符号整数。 建议设置范围:1 到 - 2 - 32 - -1。如果不指定(即设为 0),SDK 会自动分配一个,并在 - - 回调中返回, 应用层必须记住该返回值并维护,SDK - 不对该返回值进行维护。 - - - options - options mediaOptions - -

    - 频道媒体设置选项。详见 - - 。 + + + info + optionalInfo + +

    预留参数。

    +
    +
    + + uid + + optionalUid + uid + + 用户 ID。该参数用于标识在实时音视频互动频道中的用户。你需要自行设置和管理用户 ID,并确保同一频道内的每个用户 ID 是唯一的。该参数为 32 + 位无符号整数。 建议设置范围:1 到 2 32 -1。如果不指定(即设为 0),SDK 会自动分配一个,并在 回调中返回, 应用层必须记住该返回值并维护,SDK 不对该返回值进行维护。 + + + + options + + options + mediaOptions + + +

    频道媒体设置选项。详见

    -
    -
    - - joinSuccessBlock - - 成功加入频道回调。 - joinSuccessBlock - 优先级高于 - - ,如果两种回调都实现了,只有 - block - 会触发。我们建议你将 - joinSuccessBlock - 设置为 - nil - ,使用 - - 回调。 - -
    + + + joinSuccessBlock + 成功加入频道回调。 joinSuccessBlock 优先级高于 ,如果两种回调都实现了,只有 block + 会触发。我们建议你将 joinSuccessBlock 设置为 nil ,使用 + 回调。 + + +
    返回值
      -
    • 0(ERR_OK) 方法调用成功。
    • -
    • - < 0 方法调用失败。 - - -
        -
      • -2(ERR_INVALID_ARGUMENT): 参数无效。
      • -
      • -3(ERR_NOT_READY): SDK 初始化失败,请尝试重新初始化 SDK。
      • -
      • - -5(ERR_REFUSED): 调用被拒绝。可能有如下两个原因: - - -
          -
        • - 已经创建了一个同名的 - - 频道。 -
        • -
        • - 已经通过 - - 加入了一个频道,并在该 - - 频道中发布了音视频流。 -
        • -
      • -
      • - -7(ERR_NOT_INITIALIZED): SDK 尚未初始化,就调用该方法。请确认在调用 API 之前已经创建 - - 对象并完成初始化。 +
      • 0(ERR_OK) 方法调用成功。
      • +
      • < 0 方法调用失败。
          +
        • -2(ERR_INVALID_ARGUMENT): 参数无效。
        • +
        • -3(ERR_NOT_READY): SDK 初始化失败,请尝试重新初始化 SDK。
        • +
        • -5(ERR_REFUSED): 调用被拒绝。可能有如下两个原因:
            +
          • 已经创建了一个同名的 频道。
          • +
          • 已经通过 加入了一个频道,并在该 频道中发布了音视频流。
          • +
        • -
        • - -17(ERR_JOIN_CHANNEL_REJECTED): 加入频道被拒绝。由于 SDK 仅支持用户同一时间加入一个 - - 频道, 当已经加入 - - 频道的用户使用有效的频道名再次调用 - - 类中的加入频道方法时,会返回此错误码。 -
        • -
      • -
    +
  • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化,就调用该方法。请确认在调用 API 之前已经创建 对象并完成初始化。
  • +
  • -17(ERR_JOIN_CHANNEL_REJECTED): 加入频道被拒绝。由于 SDK + 仅支持用户同一时间加入一个 频道, 当已经加入 频道的用户使用有效的频道名再次调用 + 类中的加入频道方法时,会返回此错误码。
  • + + + +
    diff --git a/dita/RTC/API/api_joinchannelwithuseraccount.dita b/dita/RTC/API/api_joinchannelwithuseraccount.dita index 76bb9485766..b550fca926c 100644 --- a/dita/RTC/API/api_joinchannelwithuseraccount.dita +++ b/dita/RTC/API/api_joinchannelwithuseraccount.dita @@ -13,78 +13,81 @@

    - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId userAccount:(NSString * _Nonnull)userAccount - joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;

    + joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; +

    - - (int)joinChannelByUserAccount:(NSString* _Nonnull)userAccount token:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId joinSuccess:(void (^_Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;

    + - (int)joinChannelByUserAccount:(NSString* _Nonnull)userAccount token:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId joinSuccess:(void (^_Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;

    - public abstract int joinChannelWithUserAccount( + public abstract int joinChannelWithUserAccount( String token, String channelName, String userAccount); - virtual int joinChannelWithUserAccount(const char* token, + virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0; - - public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount); - -

    + + public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount); + + +

    - -
    自从
    -
    v2.8.0
    -
    + +
    自从
    +
    v2.8.0
    +
    -

    该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调: - - - - -

      -
    • 本地: 回调。
    • -
    • 通信场景下的用户和直播场景下的主播加入频道后,远端会依次触发 回调。
    • -

    -

    用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。

    - 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。
    +

    该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调:

      +
    • 本地: 回调。
    • +
    • 通信场景下的用户和直播场景下的主播加入频道后,远端会依次触发 回调。
    • +

    +

    用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute + 方法实现。

    + 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User + Account。如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。 +
    参数 - - - - - - channelName - channelId - -

    - - - - - - - - - - -

    + + + + + + channelName + channelId + +

    + + + + + + + + + + + +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - - -
        -
      • -2(ERR_INVALID_ARGUMENT): 参数无效。
      • -
      • -3(ERR_NOT_READY): SDK 初始化失败,请尝试重新初始化 SDK。
      • -
      • -5(ERR_REFUSED): 调用被拒绝。
      • -
      • -17(ERR_JOIN_CHANNEL_REJECTED): 加入频道被拒绝。由于 SDK 仅支持用户同一时间加入一个 频道, 当已经加入 频道的用户使用有效的频道名再次调用 类中的加入频道方法时,会返回此错误码。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -2(ERR_INVALID_ARGUMENT): 参数无效。
    • +
    • -3(ERR_NOT_READY): SDK 初始化失败,请尝试重新初始化 SDK。
    • +
    • -5(ERR_REFUSED): 调用被拒绝。
    • +
    • -17(ERR_JOIN_CHANNEL_REJECTED): 加入频道被拒绝。由于 SDK 仅支持用户同一时间加入一个 频道, 当已经加入 + 频道的用户使用有效的频道名再次调用 类中的加入频道方法时,会返回此错误码。
    • +
  • + +
    diff --git a/dita/RTC/API/api_joinchannelwithuseraccount2.dita b/dita/RTC/API/api_joinchannelwithuseraccount2.dita index 0d4439c568c..ecfebfc5e4d 100644 --- a/dita/RTC/API/api_joinchannelwithuseraccount2.dita +++ b/dita/RTC/API/api_joinchannelwithuseraccount2.dita @@ -13,90 +13,96 @@

    - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId userAccount:(NSString * _Nonnull)userAccount mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions - joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;

    + joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; +

    - - (int)joinChannelByUserAccount:(NSString* _Nonnull)userAccount token:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId options:(AgoraRtcChannelMediaOptions* _Nonnull)options;

    + - (int)joinChannelByUserAccount:(NSString* _Nonnull)userAccount token:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId options:(AgoraRtcChannelMediaOptions* _Nonnull)options;

    - public abstract int joinChannelWithUserAccount( + public abstract int joinChannelWithUserAccount( String token, String channelName, String userAccount, ChannelMediaOptions options); - virtual int joinChannelWithUserAccount(const char* token, + virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0; - joinChannelWithUserAccount( + joinChannelWithUserAccount( token: string, channelId: string, userAccount: string, options?: ChannelMediaOptions ): number - public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount, + public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount, ChannelMediaOptions options); - - Future<void> joinChannelWithUserAccount( + + Future<void> joinChannelWithUserAccount( String? token, String channelName, String userAccount, - [ChannelMediaOptions? options]);

    + [ChannelMediaOptions? options]); +

    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +
    -

    该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调: - - - -

      -
    • 本地: 回调。
    • -
    • 远端:通信场景下的用户和直播场景下的主播加入频道后,远端会分别触发 回调。
    • -

    -

    用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。

    -

    相比 ,该方法加了 options 参数,用于配置用户加入频道时是否自动订阅频道内所有远端音视频流。默认情况下,用户订阅频道内所有其他用户的音频流和视频流,因此会产生用量并影响计费。如果想取消订阅,可以通过设置 options 参数或相应的 mute 方法实现。

    - 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。
    +

    该方法允许本地用户使用 User Account 加入频道。成功加入频道后,会触发以下回调:

      +
    • 本地: 回调。
    • +
    • 远端:通信场景下的用户和直播场景下的主播加入频道后,远端会分别触发 回调。
    • +

    +

    用户成功加入频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 + mute 方法实现。

    +

    相比 ,该方法加了 + options + 参数,用于配置用户加入频道时是否自动订阅频道内所有远端音视频流。默认情况下,用户订阅频道内所有其他用户的音频流和视频流,因此会产生用量并影响计费。如果想取消订阅,可以通过设置 + options 参数或相应的 mute 方法实现。

    + 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User + Account。如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。 +
    参数 - - - - - - channelName - channelId - -

    - - - - userAccount - -

    用户 User Account。该参数用于标识实时音视频互动频道中的用户。你需要自行设置和管理用户的 User Account,并确保同一频道中每个用户的 User Account 是唯一的。 该参数为必填,最大不超过 255 字节,不可填 。以下为支持的字符集范围(共 89 个字符): - - - -

      -
    • 26 个小写英文字母 a-z
    • -
    • 26 个大写英文字母 A-Z
    • -
    • 10 个数字 0-9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    -
    - - - - - - - - -
    + + + + + + channelName + channelId + +

    + + + + userAccount + +

    用户 User Account。该参数用于标识实时音视频互动频道中的用户。你需要自行设置和管理用户的 User + Account,并确保同一频道中每个用户的 User Account 是唯一的。 该参数为必填,最大不超过 255 字节,不可填 。以下为支持的字符集范围(共 89 个字符):

      +
    • 26 个小写英文字母 a-z
    • +
    • 26 个大写英文字母 A-Z
    • +
    • 10 个数字 0-9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

    +
    +
    + + + + + + + + + +
    diff --git a/dita/RTC/API/api_leavechannel.dita b/dita/RTC/API/api_leavechannel.dita index b9b248a60aa..9138bce349f 100644 --- a/dita/RTC/API/api_leavechannel.dita +++ b/dita/RTC/API/api_leavechannel.dita @@ -13,52 +13,52 @@

    - public abstract int leaveChannel(); - - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock; - virtual int leaveChannel() = 0; - leaveChannel(): number - public abstract int LeaveChannel(); - - Future<void> leaveChannel();

    + public abstract int leaveChannel(); + - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock; + virtual int leaveChannel() = 0; + leaveChannel(): number + public abstract int LeaveChannel(); + + Future<void> leaveChannel(); +

    该方法会把会话相关的所有资源释放掉。该方法是异步操作,调用返回时并没有真正退出频道。

    成功加入频道后,必须调用本方法结束通话,否则无法开始下一次通话。

    成功加入频道后,必须调用本方法或者 结束通话,否则无法开始下一次通话。

    -

    成功调用该方法离开频道后会触发以下回调: - - -

      -
    • 本地: 回调。
    • -
    • 远端:通信场景下的用户和直播场景下的主播离开频道后,远端会触发 回调。
    • -

    +

    成功调用该方法离开频道后会触发以下回调:

      +
    • 本地: 回调。
    • +
    • 远端:通信场景下的用户和直播场景下的主播离开频道后,远端会触发 回调。
    • +

    -
      -
    • 如果你调用了本方法后立即调用 方法,SDK 将无法触发 回调。
    • -
    • 如果你在旁路推流过程中调用了本方法离开频道,SDK 将自动调用 +
        +
      • 如果你调用了本方法后立即调用 方法,SDK 将无法触发 回调。
      • +
      • 如果你在旁路推流过程中调用了本方法离开频道,SDK 将自动调用 方法。
      • -
    + + +
    参数 - - - - -
    + + + + + +
    返回值
      -
    • 0(ERR_OK): 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - -
        -
      • -1(ERR_FAILED): 一般性的错误(未明确归类)。
      • -
      • -2(ERR_INVALID_ARGUMENT): 参数无效。
      • -
      • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化。
      • -
    • -
    +
  • 0(ERR_OK): 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -1(ERR_FAILED): 一般性的错误(未明确归类)。
    • +
    • -2(ERR_INVALID_ARGUMENT): 参数无效。
    • +
    • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化。
    • +
  • + +
    diff --git a/dita/RTC/API/api_leavechannel2.dita b/dita/RTC/API/api_leavechannel2.dita index 342298b8d61..9c846f48ae7 100644 --- a/dita/RTC/API/api_leavechannel2.dita +++ b/dita/RTC/API/api_leavechannel2.dita @@ -13,15 +13,16 @@

    - public abstract int LeaveChannel(LeaveChannelOptions options);

    + public abstract int LeaveChannel(LeaveChannelOptions options);

    - public abstract int leaveChannel(LeaveChannelOptions options); - - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options + public abstract int leaveChannel(LeaveChannelOptions options); + - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options leaveChannelBlock:(void (^ _Nullable)(AgoraChannelStats * _Nonnull))leaveChannelBlock; - virtual int leaveChannel(const LeaveChannelOptions& options) = 0; - - -

    + virtual int leaveChannel(const LeaveChannelOptions& options) = 0; + + + +

    离开频道,即挂断或退出通话。

    @@ -30,26 +31,29 @@

    该方法是异步操作,调用返回时并没有真正退出频道。在真正退出频道后,SDK 会触发 回调。 成功调用该方法离开频道后,本地会触发 回调; 通信场景下的用户和直播场景下的主播离开频道后,远端会触发 回调。

    -
    + +
    参数 - - options - 离开频道的选项,详见 - - - leaveChannelBlock - -

    成功离开频道的回调,提供通话相关的统计信息,详见

    -
    -
    -
    + + options + 离开频道的选项,详见 + + + leaveChannelBlock + +

    成功离开频道的回调,提供通话相关的统计信息,详见

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_livetranscoding_addbackgroundimage.dita b/dita/RTC/API/api_livetranscoding_addbackgroundimage.dita index dd43d1e4d31..5ef58df44dd 100644 --- a/dita/RTC/API/api_livetranscoding_addbackgroundimage.dita +++ b/dita/RTC/API/api_livetranscoding_addbackgroundimage.dita @@ -13,18 +13,19 @@

    - public void addBackgroundImage(AgoraImage backgroundImage) { + public void addBackgroundImage(AgoraImage backgroundImage) { if (backgroundImageList == null) { backgroundImageList = new ArrayList<AgoraImage>(); } backgroundImageList.add(backgroundImage); } - - - - - -

    + + + + + + +

    该方法每次只能添加一张背景图,如果你需要添加多张背景图,则需多次调用该方法。

    @@ -33,10 +34,11 @@
    参数 - - backgroundImage - 直播视频上的背景图。必须为 PNG 格式。详见 - -
    + + backgroundImage + 直播视频上的背景图。必须为 PNG 格式。详见 + + +
    diff --git a/dita/RTC/API/api_livetranscoding_adduser.dita b/dita/RTC/API/api_livetranscoding_adduser.dita index 20e94730031..ac66c46808d 100644 --- a/dita/RTC/API/api_livetranscoding_adduser.dita +++ b/dita/RTC/API/api_livetranscoding_adduser.dita @@ -13,31 +13,33 @@

    - public int addUser(TranscodingUser user) { + public int addUser(TranscodingUser user) { if (user == null || user.uid == 0) { return -Constants.ERR_INVALID_ARGUMENT; } - + - (int)addUser:(AgoraLiveTranscodingUser* _Nonnull)user; - - - - -

    + + + + +

    参数 - - user - 参与合图的用户,详见 - -
    + + user + 参与合图的用户,详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_livetranscoding_addwatermark.dita b/dita/RTC/API/api_livetranscoding_addwatermark.dita index 9fcb6acf507..7e41b0fa56d 100644 --- a/dita/RTC/API/api_livetranscoding_addwatermark.dita +++ b/dita/RTC/API/api_livetranscoding_addwatermark.dita @@ -13,18 +13,19 @@

    - public void addWatermark(AgoraImage watermark) { + public void addWatermark(AgoraImage watermark) { if (watermarkList == null) { watermarkList = new ArrayList<AgoraImage>(); } watermarkList.add(watermark); } - - - - - -

    + + + + + + +

    该方法每次只能添加一个水印,如果你需要添加多个水印,则需多次调用该方法。

    @@ -33,10 +34,11 @@
    参数 - - watermark - 直播视频上的水印。必须为 PNG 格式。详见 - -
    + + watermark + 直播视频上的水印。必须为 PNG 格式。详见 + + +
    diff --git a/dita/RTC/API/api_livetranscoding_defaulttranscoding.dita b/dita/RTC/API/api_livetranscoding_defaulttranscoding.dita index 52b4ba14641..dd3653f0f04 100644 --- a/dita/RTC/API/api_livetranscoding_defaulttranscoding.dita +++ b/dita/RTC/API/api_livetranscoding_defaulttranscoding.dita @@ -13,13 +13,14 @@

    - - + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding; - - - - -

    + + + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding; + + + + + +

    返回值 diff --git a/dita/RTC/API/api_livetranscoding_getadvancedfeatures.dita b/dita/RTC/API/api_livetranscoding_getadvancedfeatures.dita index 7cd013ec8e0..4e3b9bfc401 100644 --- a/dita/RTC/API/api_livetranscoding_getadvancedfeatures.dita +++ b/dita/RTC/API/api_livetranscoding_getadvancedfeatures.dita @@ -20,13 +20,16 @@ -
    + +

    如需使用转码推流高级功能,请联系

    返回值 -

    高级功能名称和该功能的开/关状态。详见 高级功能的名称,包含 LBHQ(低码率的高清视频功能)和 VEO(优化的视频编码器功能)以及该功能的开/关状态。

    +

    高级功能名称和该功能的开/关状态。详见 高级功能的名称,包含 LBHQ(低码率的高清视频功能)和 + VEO(优化的视频编码器功能)以及该功能的开/关状态。

    diff --git a/dita/RTC/API/api_livetranscoding_getbackgroundcolor.dita b/dita/RTC/API/api_livetranscoding_getbackgroundcolor.dita index 14760e76968..0411fce4926 100644 --- a/dita/RTC/API/api_livetranscoding_getbackgroundcolor.dita +++ b/dita/RTC/API/api_livetranscoding_getbackgroundcolor.dita @@ -13,15 +13,16 @@

    - public int getBackgroundColor() { + public int getBackgroundColor() { return this.backgroundColor; } - - - - - -

    + + + + + + +

    返回值 diff --git a/dita/RTC/API/api_livetranscoding_getbackgroundimagelist.dita b/dita/RTC/API/api_livetranscoding_getbackgroundimagelist.dita index 0df4fab391d..cf716e5849a 100644 --- a/dita/RTC/API/api_livetranscoding_getbackgroundimagelist.dita +++ b/dita/RTC/API/api_livetranscoding_getbackgroundimagelist.dita @@ -13,15 +13,16 @@

    - public ArrayList<AgoraImage> getBackgroundImageList() { + public ArrayList<AgoraImage> getBackgroundImageList() { return backgroundImageList; } - - - - - -

    + + + + + + +

    返回值 diff --git a/dita/RTC/API/api_livetranscoding_getusercount.dita b/dita/RTC/API/api_livetranscoding_getusercount.dita index c8142ef7fd0..b55d55a5dcf 100644 --- a/dita/RTC/API/api_livetranscoding_getusercount.dita +++ b/dita/RTC/API/api_livetranscoding_getusercount.dita @@ -13,15 +13,16 @@

    - public int getUserCount() { + public int getUserCount() { return transcodingUsers.size(); } - - - - - -

    + + + + + + +

    返回值 diff --git a/dita/RTC/API/api_livetranscoding_getusers.dita b/dita/RTC/API/api_livetranscoding_getusers.dita index 20a913d4bbd..6fc4f6846cc 100644 --- a/dita/RTC/API/api_livetranscoding_getusers.dita +++ b/dita/RTC/API/api_livetranscoding_getusers.dita @@ -13,16 +13,17 @@

    - public final ArrayList<TranscodingUser> getUsers() { + public final ArrayList<TranscodingUser> getUsers() { Collection<TranscodingUser> values = transcodingUsers.values(); return new ArrayList<>(values); } - - - - - -

    + + + + + + +

    该方法用于获取参与合图的全部用户。该方法返回的用户列表为只读,开发者不应该修改该数据。

    diff --git a/dita/RTC/API/api_livetranscoding_getwatermarklist.dita b/dita/RTC/API/api_livetranscoding_getwatermarklist.dita index adea50cd24c..da608bbe953 100644 --- a/dita/RTC/API/api_livetranscoding_getwatermarklist.dita +++ b/dita/RTC/API/api_livetranscoding_getwatermarklist.dita @@ -13,15 +13,16 @@

    - public ArrayList<AgoraImage> getWatermarkList() { + public ArrayList<AgoraImage> getWatermarkList() { return watermarkList; } - - - - - -

    + + + + + + +

    返回值 diff --git a/dita/RTC/API/api_livetranscoding_removebackgroundimage.dita b/dita/RTC/API/api_livetranscoding_removebackgroundimage.dita index eaaacfbb906..2359937f2f3 100644 --- a/dita/RTC/API/api_livetranscoding_removebackgroundimage.dita +++ b/dita/RTC/API/api_livetranscoding_removebackgroundimage.dita @@ -13,18 +13,19 @@

    - public boolean removeBackgroundImage(AgoraImage backgroundImage) { + public boolean removeBackgroundImage(AgoraImage backgroundImage) { if (backgroundImageList == null) { return false; } return backgroundImageList.remove(backgroundImage); } - - - - - -

    + + + + + + +

    该方法每次只能删除一张背景图,如果你需要删除多张背景图,则需多次调用该方法。

    @@ -32,17 +33,19 @@
    参数 - - - - -
    + + + + + +
    返回值

    是否成功删除背景图:

      -
    • :成功。
    • -
    • :失败。
    • -
    +
  • :成功。
  • +
  • :失败。
  • + +
    diff --git a/dita/RTC/API/api_livetranscoding_removeuser.dita b/dita/RTC/API/api_livetranscoding_removeuser.dita index 921197a9304..102be752d1e 100644 --- a/dita/RTC/API/api_livetranscoding_removeuser.dita +++ b/dita/RTC/API/api_livetranscoding_removeuser.dita @@ -13,7 +13,7 @@

    - public int removeUser(int uid) { + public int removeUser(int uid) { if (!transcodingUsers.containsKey(uid)) return -Constants.ERR_INVALID_ARGUMENT; @@ -21,26 +21,29 @@ userCount = transcodingUsers.size(); return Constants.ERR_OK; } - - (int)removeUser:(NSUInteger)uid; - - - - -

    + - (int)removeUser:(NSUInteger)uid; + + + + + +

    参数 - - uid - 待删除的用户 ID。 - -
    + + uid + 待删除的用户 ID。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_livetranscoding_removewatermark.dita b/dita/RTC/API/api_livetranscoding_removewatermark.dita index 9a9c7194758..f6557cdf98f 100644 --- a/dita/RTC/API/api_livetranscoding_removewatermark.dita +++ b/dita/RTC/API/api_livetranscoding_removewatermark.dita @@ -13,18 +13,19 @@

    - public boolean removeWatermark(AgoraImage watermark) { + public boolean removeWatermark(AgoraImage watermark) { if (watermarkList == null) { return false; } return watermarkList.remove(watermark); } - - - - - -

    + + + + + + +

    该方法每次只能删除一个水印,如果你需要删除多个水印,则需多次调用该方法。

    @@ -32,21 +33,18 @@
    参数 - - - - -
    + + + + + +
    返回值 -

    是否成功删除水印: - - - -

      -
    • :成功删除水印。
    • -
    • :删除水印失败。
    • -

    +

    是否成功删除水印:

      +
    • :成功删除水印。
    • +
    • :删除水印失败。
    • +

    diff --git a/dita/RTC/API/api_livetranscoding_setadvancedfeatures.dita b/dita/RTC/API/api_livetranscoding_setadvancedfeatures.dita index ae6f81d502c..d88307dcffd 100644 --- a/dita/RTC/API/api_livetranscoding_setadvancedfeatures.dita +++ b/dita/RTC/API/api_livetranscoding_setadvancedfeatures.dita @@ -20,27 +20,27 @@ -
    + +

    如需使用转码推流高级功能,请联系

    参数 - - featureName - 转码推流高级功能的名称,包含 LBHQ(低码率的高清视频功能)和 VEO(优化的视频编码器功能)。 - - - opened - 是否启用转码推流的高级功能: - - -
      -
    • :开启转码推流的高级功能。
    • -
    • :(默认)关闭转码推流的高级功能。
    • -
    -
    -
    + + featureName + 转码推流高级功能的名称,包含 LBHQ(低码率的高清视频功能)和 VEO(优化的视频编码器功能)。 + + + opened + 是否启用转码推流的高级功能:
      +
    • :开启转码推流的高级功能。
    • +
    • :(默认)关闭转码推流的高级功能。
    • +
    +
    +
    + +
    diff --git a/dita/RTC/API/api_livetranscoding_setbackgroundcolor.dita b/dita/RTC/API/api_livetranscoding_setbackgroundcolor.dita index 577aebcfb95..75d2f4ec9b0 100644 --- a/dita/RTC/API/api_livetranscoding_setbackgroundcolor.dita +++ b/dita/RTC/API/api_livetranscoding_setbackgroundcolor.dita @@ -13,23 +13,26 @@

    - public void setBackgroundColor(int color) { + public void setBackgroundColor(int color) { this.backgroundColor = color; } - - - - - -

    + + + + + + +

    参数 - - color - 用于旁路直播的输出视频的背景色,格式为 RGB 定义下的 Hex 值,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 0x000000,黑色。 - -
    + + color + 用于旁路直播的输出视频的背景色,格式为 RGB 定义下的 Hex 值,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 + 0x000000,黑色。 + + +
    diff --git a/dita/RTC/API/api_livetranscoding_setbackgroundcolor2.dita b/dita/RTC/API/api_livetranscoding_setbackgroundcolor2.dita index 1354b83c73a..a83bccaed73 100644 --- a/dita/RTC/API/api_livetranscoding_setbackgroundcolor2.dita +++ b/dita/RTC/API/api_livetranscoding_setbackgroundcolor2.dita @@ -13,31 +13,33 @@

    - public void setBackgroundColor(int red, int green, int blue) { + public void setBackgroundColor(int red, int green, int blue) { this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } - - - - - -

    + + + + + + +

    参数 - - red - 红。 - - - green - 绿。 - - - blue - 蓝。 - -
    + + red + 红。 + + + green + 绿。 + + + blue + 蓝。 + + +
    diff --git a/dita/RTC/API/api_livetranscoding_setusers.dita b/dita/RTC/API/api_livetranscoding_setusers.dita index 2c35915d455..bf96a90725d 100644 --- a/dita/RTC/API/api_livetranscoding_setusers.dita +++ b/dita/RTC/API/api_livetranscoding_setusers.dita @@ -13,7 +13,7 @@

    - public void setUsers(ArrayList<TranscodingUser> users) { + public void setUsers(ArrayList<TranscodingUser> users) { transcodingUsers.clear(); if (users != null) { for (TranscodingUser user : users) { @@ -22,23 +22,26 @@ } userCount = transcodingUsers.size(); } - - - - - -

    + + + + + + +

    -

    该方法用于设置参与合图的全部用户。该方法会使用新的 TranscodingUser 数据替换原有的数据。

    +

    该方法用于设置参与合图的全部用户。该方法会使用新的 TranscodingUser + 数据替换原有的数据。

    参数 - - users - 所有参与合图的用户,定义详见 - -
    + + users + 所有参与合图的用户,定义详见 + + +
    diff --git a/dita/RTC/API/api_livetranscoding_setusers2.dita b/dita/RTC/API/api_livetranscoding_setusers2.dita index 5ee3b3805de..e1cd26fb92d 100644 --- a/dita/RTC/API/api_livetranscoding_setusers2.dita +++ b/dita/RTC/API/api_livetranscoding_setusers2.dita @@ -13,7 +13,7 @@

    - public void setUsers(Map<Integer, TranscodingUser> users) { + public void setUsers(Map<Integer, TranscodingUser> users) { transcodingUsers.clear(); if (users != null) { transcodingUsers.putAll(users); @@ -21,12 +21,13 @@ userCount = transcodingUsers.size(); } - - - - - -

    + + + + + + +

    @@ -34,10 +35,11 @@

    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC/API/api_monitordevicechange.dita b/dita/RTC/API/api_monitordevicechange.dita index 255848b016f..0bb40ebcc2e 100644 --- a/dita/RTC/API/api_monitordevicechange.dita +++ b/dita/RTC/API/api_monitordevicechange.dita @@ -13,45 +13,47 @@

    - - - (void)monitorDeviceChange:(BOOL)enabled; - virtual int enableLoopbackRecording(bool enabled) = 0; - enableLoopbackRecording( + + - (void)monitorDeviceChange:(BOOL)enabled; + virtual int enableLoopbackRecording(bool enabled) = 0; + enableLoopbackRecording( enabled = false, deviceName: string | null = null ): number - - -

    + + + +

    - - - virtual int enableLoopbackRecording(bool enabled) = 0; - enableLoopbackRecording( + + + virtual int enableLoopbackRecording(bool enabled) = 0; + enableLoopbackRecording( enabled = false, deviceName: string | null = null ): number - - -

    + + + +

    该方法用来开启设备插拔监测,这里设备指的是音视频外接设备,比如外接摄像头等。

    -

    该方法仅适用于 macOS 平台。

    -
    +

    该方法仅适用于 macOS 平台。

    + +
    参数 - - enabled - 是否开启监测: - -
      -
    • : 开启。
    • -
    • : 关闭。
    • -
    -
    -
    + + enabled + 是否开启监测:
      +
    • : 开启。
    • +
    • : 关闭。
    • +
    +
    + +
    diff --git a/dita/RTC/API/api_muteallremoteaudiostreams.dita b/dita/RTC/API/api_muteallremoteaudiostreams.dita index c4457394c51..6157b35e411 100644 --- a/dita/RTC/API/api_muteallremoteaudiostreams.dita +++ b/dita/RTC/API/api_muteallremoteaudiostreams.dita @@ -13,43 +13,47 @@

    - public abstract int muteAllRemoteAudioStreams(boolean muted); - - (int)muteAllRemoteAudioStreams:(BOOL)mute; - virtual int muteAllRemoteAudioStreams(bool mute) = 0; - muteAllRemoteAudioStreams(mute: boolean): number - public abstract int MuteAllRemoteAudioStreams(bool mute); - - Future<void> muteAllRemoteAudioStreams(bool muted);

    + public abstract int muteAllRemoteAudioStreams(boolean muted); + - (int)muteAllRemoteAudioStreams:(BOOL)mute; + virtual int muteAllRemoteAudioStreams(bool mute) = 0; + muteAllRemoteAudioStreams(mute: boolean): number + public abstract int MuteAllRemoteAudioStreams(bool mute); + + Future<void> muteAllRemoteAudioStreams(bool muted); +

    自 v3.3.0 起,成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的音频流,包括在调用该方法后加入频道的用户的音频流。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法的推荐设置详见设置订阅状态
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 该方法的推荐设置详见设置订阅状态
    • +
    + +
    参数 - - muted - mute - -

    是否取消订阅所有远端用户的音频流: - - -

      -
    • : 取消订阅所有远端用户的音频流。
    • -
    • :(默认)订阅所有远端用户的音频流。
    • -

    -
    -
    -
    + + muted + mute + +

    是否取消订阅所有远端用户的音频流:

      +
    • : 取消订阅所有远端用户的音频流。
    • +
    • :(默认)订阅所有远端用户的音频流。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_muteallremotevideostreams.dita b/dita/RTC/API/api_muteallremotevideostreams.dita index 127f14e362b..9d50eb32ef4 100644 --- a/dita/RTC/API/api_muteallremotevideostreams.dita +++ b/dita/RTC/API/api_muteallremotevideostreams.dita @@ -13,44 +13,47 @@

    - public abstract int muteAllRemoteVideoStreams(boolean muted); - - (int)muteAllRemoteVideoStreams:(BOOL)mute; - virtual int muteAllRemoteVideoStreams(bool mute) = 0; - muteAllRemoteVideoStreams(mute: boolean): number - public abstract int MuteAllRemoteVideoStreams(bool mute); - - Future<void> muteAllRemoteVideoStreams(bool muted);

    + public abstract int muteAllRemoteVideoStreams(boolean muted); + - (int)muteAllRemoteVideoStreams:(BOOL)mute; + virtual int muteAllRemoteVideoStreams(bool mute) = 0; + muteAllRemoteVideoStreams(mute: boolean): number + public abstract int MuteAllRemoteVideoStreams(bool mute); + + Future<void> muteAllRemoteVideoStreams(bool muted); +

    自 v3.3.0 起,成功调用该方法后,本地用户会取消或恢复订阅所有远端用户的视频流,包括在调用该方法后加入频道的用户的视频流。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法的推荐设置详见设置订阅状态
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 该方法的推荐设置详见设置订阅状态
    • +
    + +
    参数 - - muted - mute - -

    是否取消订阅所有远端用户的视频流。 - - - -

      -
    • : 取消订阅所有用户的视频流。
    • -
    • :(默认)订阅所有用户的视频流。
    • -

    -
    -
    -
    + + muted + mute + +

    是否取消订阅所有远端用户的视频流。

      +
    • : 取消订阅所有用户的视频流。
    • +
    • :(默认)订阅所有用户的视频流。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_mutelocalaudiostream.dita b/dita/RTC/API/api_mutelocalaudiostream.dita index d4b73c5d7a9..26a33d3b7d5 100644 --- a/dita/RTC/API/api_mutelocalaudiostream.dita +++ b/dita/RTC/API/api_mutelocalaudiostream.dita @@ -13,44 +13,47 @@

    - public abstract int muteLocalAudioStream(boolean muted); - - (int)muteLocalAudioStream:(BOOL)mute; - virtual int muteLocalAudioStream(bool mute) = 0; - muteLocalAudioStream(mute: boolean): number - public abstract int MuteLocalAudioStream(bool mute); - - Future<void> muteLocalAudioStream(bool muted);

    + public abstract int muteLocalAudioStream(boolean muted); + - (int)muteLocalAudioStream:(BOOL)mute; + virtual int muteLocalAudioStream(bool mute) = 0; + muteLocalAudioStream(mute: boolean): number + public abstract int MuteLocalAudioStream(bool mute); + + Future<void> muteLocalAudioStream(bool muted); +

    成功调用该方法后,远端会触发 回调。

    -
      -
    • 该方法不影响音频采集状态,因为没有禁用音频采集设备。
    • -
    • 该方法在加入频道前后都能调用。如果你在该方法后调用 方法, SDK 会根据你设置的频道场景以及用户角色,重新设置是否取消发布本地音频。因此我们建议在 后调用该方法。
    • -
    +
      +
    • 该方法不影响音频采集状态,因为没有禁用音频采集设备。
    • +
    • 该方法在加入频道前后都能调用。如果你在该方法后调用 方法, + SDK 会根据你设置的频道场景以及用户角色,重新设置是否取消发布本地音频。因此我们建议在 后调用该方法。
    • +
    + +
    参数 - - muted - mute - -

    是否取消发布本地音频流。 - - - -

      -
    • : 取消发布。
    • -
    • :(默认)发布。
    • -

    -
    -
    -
    + + muted + mute + +

    是否取消发布本地音频流。

      +
    • : 取消发布。
    • +
    • :(默认)发布。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_mutelocalvideostream.dita b/dita/RTC/API/api_mutelocalvideostream.dita index 5e075d04000..9de2598ffd2 100644 --- a/dita/RTC/API/api_mutelocalvideostream.dita +++ b/dita/RTC/API/api_mutelocalvideostream.dita @@ -1,7 +1,8 @@ - <ph keyref="muteLocalVideoStream"/> + <ph keyref="muteLocalVideoStream"/> + 取消或恢复发布本地视频流。 @@ -13,45 +14,50 @@

    - public abstract int muteLocalVideoStream(boolean muted); - - (int)muteLocalVideoStream:(BOOL)mute; - virtual int muteLocalVideoStream(bool mute) = 0; - muteLocalVideoStream(mute: boolean): number - public abstract int MuteLocalVideoStream(bool mute); - - Future<void> muteLocalVideoStream(bool muted);

    + public abstract int muteLocalVideoStream(boolean muted); + - (int)muteLocalVideoStream:(BOOL)mute; + virtual int muteLocalVideoStream(bool mute) = 0; + muteLocalVideoStream(mute: boolean): number + public abstract int MuteLocalVideoStream(bool mute); + + Future<void> muteLocalVideoStream(bool muted); +

    成功调用该方法后,远端会触发 回调。

    -
      -
    • 相比于 () 用于控制本地视频流发送的方法,该方法响应速度更快。
    • -
    • 该方法不影响视频采集状态,没有禁用摄像头。
    • -
    • 该方法在加入频道前后都能调用。如果你在该方法后调用 方法,SDK 会根据你设置的频道场景以及用户角色,重新设置是否停止发送本地视频。因此我们建议在 后调用该方法。
    • -
    +
      +
    • 相比于 () + 用于控制本地视频流发送的方法,该方法响应速度更快。
    • +
    • 该方法不影响视频采集状态,没有禁用摄像头。
    • +
    • 该方法在加入频道前后都能调用。如果你在该方法后调用 + 方法,SDK 会根据你设置的频道场景以及用户角色,重新设置是否停止发送本地视频。因此我们建议在 后调用该方法。
    • +
    + +
    参数 - - muted - mute - -

    是否取消发送本地视频流。 - - - -

      -
    • : 取消发送本地视频流。
    • -
    • : (默认)发送本地视频流。
    • -

    -
    -
    -
    + + muted + mute + +

    是否取消发送本地视频流。

      +
    • : 取消发送本地视频流。
    • +
    • : (默认)发送本地视频流。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_muterecordingsignal.dita b/dita/RTC/API/api_muterecordingsignal.dita index 4b7db94f6e3..8649e13968e 100644 --- a/dita/RTC/API/api_muterecordingsignal.dita +++ b/dita/RTC/API/api_muterecordingsignal.dita @@ -13,32 +13,36 @@

    - public abstract int muteRecordingSignal(boolean muted); - -(int)muteRecordingSignal:(BOOL)muted; - virtual int muteRecordingSignal(bool mute) = 0; - - public abstract int MuteRecordingSignal(bool mute); - -

    + public abstract int muteRecordingSignal(boolean muted); + -(int)muteRecordingSignal:(BOOL)muted; + virtual int muteRecordingSignal(bool mute) = 0; + + public abstract int MuteRecordingSignal(bool mute); + + +

    参数 - - muted - mute - -
      -
    • : 静音。
    • -
    • :(默认)不静音。
    • -
    -
    -
    + + muted + mute + +
      +
    • : 静音。
    • +
    • :(默认)不静音。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_muteremoteaudiostream.dita b/dita/RTC/API/api_muteremoteaudiostream.dita index 3f109d3ceb3..ebbeaebb01d 100644 --- a/dita/RTC/API/api_muteremoteaudiostream.dita +++ b/dita/RTC/API/api_muteremoteaudiostream.dita @@ -13,53 +13,54 @@

    - public abstract int MuteRemoteAudioStream(uint uid, bool mute);

    + public abstract int MuteRemoteAudioStream(uint uid, bool mute); +

    - public abstract int MuteRemoteAudioStream(uint userId, bool mute);

    + public abstract int MuteRemoteAudioStream(uint userId, bool mute);

    - public abstract int muteRemoteAudioStream(int uid, boolean muted); - - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; + public abstract int muteRemoteAudioStream(int uid, boolean muted); + - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; + virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; - muteRemoteAudioStream(userId: number, mute: boolean): number - - Future<void> muteRemoteAudioStream(int uid, bool muted);

    + muteRemoteAudioStream(userId: number, mute: boolean): number + + Future<void> muteRemoteAudioStream(int uid, bool muted); +

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法的推荐设置详见《设置订阅状态》。
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 该方法的推荐设置详见《设置订阅状态》。
    • +
    + +
    参数 - - uid - userId - 指定用户的用户 ID。 - - - muted - mute - -

    是否取消订阅指定远端用户的音频流。 - - - - -

      -
    • : 取消订阅指定用户的音频流。
    • -
    • :(默认)订阅指定用户的音频流。
    • -

    -
    -
    -
    + + uid + userId + 指定用户的用户 ID。 + + + muted + mute + +

    是否取消订阅指定远端用户的音频流。

      +
    • : 取消订阅指定用户的音频流。
    • +
    • :(默认)订阅指定用户的音频流。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_muteremotevideostream.dita b/dita/RTC/API/api_muteremotevideostream.dita index a1581e57d1c..25f8704c0ce 100644 --- a/dita/RTC/API/api_muteremotevideostream.dita +++ b/dita/RTC/API/api_muteremotevideostream.dita @@ -13,52 +13,54 @@

    - public abstract int MuteRemoteVideoStream(uint uid, bool mute);

    + public abstract int MuteRemoteVideoStream(uint uid, bool mute); +

    - public abstract int MuteRemoteVideoStream(uint userId, bool mute);

    + public abstract int MuteRemoteVideoStream(uint userId, bool mute);

    - public abstract int muteRemoteVideoStream(int userId, boolean muted); - - (int)muteRemoteVideoStream:(NSUInteger)uid + public abstract int muteRemoteVideoStream(int userId, boolean muted); + - (int)muteRemoteVideoStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; - muteRemoteVideoStream(userId: number, mute: boolean): number - - Future<void> muteRemoteVideoStream(int userId, bool muted);

    + virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; + muteRemoteVideoStream(userId: number, mute: boolean): number + + Future<void> muteRemoteVideoStream(int userId, bool muted); +

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法的推荐设置详见《设置订阅状态》。
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 该方法的推荐设置详见《设置订阅状态》。
    • +
    + +
    参数 - - userId - uid - 指定用户的用户 ID。 - - - muted - mute - -

    是否取消订阅指定远端用户的视频流。 - - - -

      -
    • : 取消订阅指定用户的视频流。
    • -
    • : (默认)订阅指定用户的视频流。
    • -

    -
    -
    -
    + + userId + uid + 指定用户的用户 ID。 + + + muted + mute + +

    是否取消订阅指定远端用户的视频流。

      +
    • : 取消订阅指定用户的视频流。
    • +
    • : (默认)订阅指定用户的视频流。
    • +

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_pauseallchannelmediarelay.dita b/dita/RTC/API/api_pauseallchannelmediarelay.dita index 12e8f693455..33f6bd8f1fc 100644 --- a/dita/RTC/API/api_pauseallchannelmediarelay.dita +++ b/dita/RTC/API/api_pauseallchannelmediarelay.dita @@ -13,29 +13,33 @@

    - public abstract int pauseAllChannelMediaRelay(); - - (int)pauseAllChannelMediaRelay; - virtual int pauseAllChannelMediaRelay() = 0; - - public abstract int PauseAllChannelMediaRelay(); - - Future<void> pauseAllChannelMediaRelay();

    + public abstract int pauseAllChannelMediaRelay(); + - (int)pauseAllChannelMediaRelay; + virtual int pauseAllChannelMediaRelay() = 0; + + public abstract int PauseAllChannelMediaRelay(); + + Future<void> pauseAllChannelMediaRelay(); +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    -

    开始跨频道转发媒体流后,如果你需要暂停向所有频道转发媒体流,可以调用该方法;暂停后,如果要恢复跨频道媒体流转发,可以调用 方法。

    +

    开始跨频道转发媒体流后,如果你需要暂停向所有频道转发媒体流,可以调用该方法;暂停后,如果要恢复跨频道媒体流转发,可以调用 方法。

    成功调用该方法后,SDK 会触发 回调,并在回调中报告是否成功暂停媒体流转发。

    - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_pausealleffects.dita b/dita/RTC/API/api_pausealleffects.dita index b7a87825627..a526f7bbbcb 100644 --- a/dita/RTC/API/api_pausealleffects.dita +++ b/dita/RTC/API/api_pausealleffects.dita @@ -13,21 +13,23 @@

    - public abstract int pauseAllEffects(); + public abstract int pauseAllEffects(); - - (int)pauseAllEffects; + - (int)pauseAllEffects; - virtual int pauseAllEffects() = 0; - pauseAllEffects(): number - public abstract int PauseAllEffects(); - - Future<void> pauseAllEffects();

    + virtual int pauseAllEffects() = 0; + pauseAllEffects(): number + public abstract int PauseAllEffects(); + + Future<void> pauseAllEffects(); +

    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_pauseaudiomixing.dita b/dita/RTC/API/api_pauseaudiomixing.dita index 8365110c4d9..039b6910e48 100644 --- a/dita/RTC/API/api_pauseaudiomixing.dita +++ b/dita/RTC/API/api_pauseaudiomixing.dita @@ -13,13 +13,14 @@

    - public abstract int pauseAudioMixing(); - - (int)pauseAudioMixing; - virtual int pauseAudioMixing() = 0; - pauseAudioMixing(): number - public abstract int PauseAudioMixing(); - - Future<void> pauseAudioMixing();

    + public abstract int pauseAudioMixing(); + - (int)pauseAudioMixing; + virtual int pauseAudioMixing() = 0; + pauseAudioMixing(): number + public abstract int PauseAudioMixing(); + + Future<void> pauseAudioMixing(); +

    请在加入频道后调用该方法。

    @@ -27,8 +28,9 @@
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_pauseeffect.dita b/dita/RTC/API/api_pauseeffect.dita index b38f547792d..6a4258feabb 100644 --- a/dita/RTC/API/api_pauseeffect.dita +++ b/dita/RTC/API/api_pauseeffect.dita @@ -13,29 +13,32 @@

    - public abstract int pauseEffect(int soundId); + public abstract int pauseEffect(int soundId); - - (int)pauseEffect:(int)soundId; + - (int)pauseEffect:(int)soundId; - virtual int pauseEffect(int soundId) = 0; - pauseEffect(soundId: number): number - public abstract int PauseEffect(int soundId); - - Future<void> pauseEffect(int soundId);

    + virtual int pauseEffect(int soundId) = 0; + pauseEffect(soundId: number): number + public abstract int PauseEffect(int soundId); + + Future<void> pauseEffect(int soundId); +

    参数 - - soundId - - -
    + + soundId + + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_playalleffects.dita b/dita/RTC/API/api_playalleffects.dita index 603a8b11bbd..51a0c2ae7d9 100644 --- a/dita/RTC/API/api_playalleffects.dita +++ b/dita/RTC/API/api_playalleffects.dita @@ -13,14 +13,15 @@

    - public abstract int PlayAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false);

    + public abstract int PlayAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false);

    - - - virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; - - -

    + + + virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; + + + +

    多次调用 预加载多个音效文件后,你可以调用本方法播放所有预加载的音效文件。

    @@ -28,65 +29,53 @@
    参数 - - loopCount - 音效文件循环播放的次数: - - - - -
      -
    • -1: 无限循环播放音效文件,直至调用 后停止。
    • -
    • 0: 播放音效文件一次。
    • -
    • 1: 播放音效文件两次。
    • -
    -
    - - pitch - -

    音效的音调。取值范围为 [0.5,2.0]。默认值为 1.0,代表原始音调。取值越小,则音调越低。

    -
    -
    + + loopCount + 音效文件循环播放的次数:
      +
    • -1: 无限循环播放音效文件,直至调用 后停止。
    • +
    • 0: 播放音效文件一次。
    • +
    • 1: 播放音效文件两次。
    • +
    +
    + + pitch + +

    音效的音调。取值范围为 [0.5,2.0]。默认值为 1.0,代表原始音调。取值越小,则音调越低。

    +
    +
    - - pan - 音效的空间位置。取值范围为 [-1.0,1.0]: - - - - - -
      -
    • -1.0: 音效出现在左边。
    • -
    • 0: 音效出现在正前边。
    • -
    • 1.0: 音效出现在右边。
    • -
    -
    - - gain - -

    音效的音量。取值范围为 [0,100]。100 为默认值,代表原始音量。取值越小,则音量越低。

    -
    -
    - - publish - 是否将音效发布到远端: - - - - -
      -
    • : 将音效发布到远端。本地和远端用户都能听到该音效。
    • -
    • : (默认)不将音效发布到远端。只能本地用户能听到该音效。
    • -
    -
    -
    + + pan + 音效的空间位置。取值范围为 [-1.0,1.0]:
      +
    • -1.0: 音效出现在左边。
    • +
    • 0: 音效出现在正前边。
    • +
    • 1.0: 音效出现在右边。
    • +
    +
    +
    + + gain + +

    音效的音量。取值范围为 [0,100]。100 为默认值,代表原始音量。取值越小,则音量越低。

    +
    +
    + + publish + 是否将音效发布到远端:
      +
    • : 将音效发布到远端。本地和远端用户都能听到该音效。
    • +
    • : + (默认)不将音效发布到远端。只能本地用户能听到该音效。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。
    diff --git a/dita/RTC/API/api_playeffect.dita b/dita/RTC/API/api_playeffect.dita index 0d18fb40fd4..b1dbb7e2d02 100644 --- a/dita/RTC/API/api_playeffect.dita +++ b/dita/RTC/API/api_playeffect.dita @@ -13,64 +13,67 @@

    - public int playEffect(int soundId, + public int playEffect(int soundId, String filePath, int loop, double pitch, double pan, double gain); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch pan:(double)pan gain:(NSInteger)gain; - - - - -

    + + + + + +

    - -
    弃用:
    -
    该方法自 v2.3.0 起废弃,请改用 方法。
    -
    + +
    弃用:
    +
    该方法自 v2.3.0 起废弃,请改用 方法。
    +

    参数 - - - - - - filePath - -

    - - - - - - - - - - - - - - - - - - -

    -
    + + + + + + filePath + +

    + + + + + + + + + + + + + + + + + + + +

    +
    diff --git a/dita/RTC/API/api_playeffect2.dita b/dita/RTC/API/api_playeffect2.dita index 72de144c211..26a9824820d 100644 --- a/dita/RTC/API/api_playeffect2.dita +++ b/dita/RTC/API/api_playeffect2.dita @@ -13,13 +13,13 @@

    - public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch = 1.0, + public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch = 1.0, double pan = 0.0, int gain = 100, bool publish = false);

    - public abstract int playEffect(int soundId, String filePath, int loopCount, double pitch, + public abstract int playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch @@ -27,114 +27,104 @@ gain:(NSInteger)gain publish:(BOOL)publish; - virtual int playEffect(int soundId, + virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; - - -

    + + + +

    - -
    弃用:
    -
    自 v3.4.0 废弃,请改用 方法。
    -
    + +
    弃用:
    +
    自 v3.4.0 废弃,请改用 方法。
    +
    -

    你可以多次调用该方法,传入不同的 soundIDfilePath,同时播放多个音效文件。为获得最佳用户体验,声网推荐同时播放的音效文件不超过 3 个。 音效文件播放结束后,SDK 会触发 回调。 - - - - - - -

      -
    • 该方法需要在加入频道后调用。
    • -
    • 支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP等。详见 支持的媒体格式
    • -

    +

    你可以多次调用该方法,传入不同的 soundID 和 + filePath,同时播放多个音效文件。为获得最佳用户体验,声网推荐同时播放的音效文件不超过 3 个。 + 音效文件播放结束后,SDK 会触发 回调。 +

      +
    • 该方法需要在加入频道后调用。
    • +
    • 支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP等。详见 支持的媒体格式
    • +
    +

    参数 - - soundId - 音效的 ID。每个音效的 ID 具有唯一性。 - - - - - 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 soundId 相同。 - - - filePath - -

    支持在线文件的 URL 地址,本地文件的 URI 地址、绝对路径或以 /assets/ 开头的路径。例如

    -

    播放文件的绝对路径或 URL 地址,需精确到文件名及后缀。通过绝对路径访问本地文件可能会遇到权限问题,声网推荐使用 URL 地址访问本地文件。例如

    - 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 filePath 相同。
    -
    - - loopCount - -

    音效循环播放的次数。 - - - - -

      -
    • ≥ 0: 循环播放次数。例如,1 表示循环播放 1 次,即总计播放 2 次。
    • -
    • -1: 无限循环播放。
    • -

    -
    -
    - - pitch - 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。 - - - pan - -

    音效的空间位置。取值范围为 [-1.0,1.0],例如: - - - - -

      -
    • -1.0:音效出现在左边
    • -
    • 0.0:音效出现在正前方
    • -
    • 1.0:音效出现在右边
    • -

    -
    -
    - - gain - 音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。 - - - publish - -

    是否将音效发布至远端: - - - - -

      -
    • : + + soundId + 音效的 ID。每个音效的 ID 具有唯一性。 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 soundId + 相同。 + + + filePath + +

      支持在线文件的 URL 地址,本地文件的 URI 地址、绝对路径或以 /assets/ + 开头的路径。例如

      +

      播放文件的绝对路径或 URL 地址,需精确到文件名及后缀。通过绝对路径访问本地文件可能会遇到权限问题,声网推荐使用 + URL 地址访问本地文件。例如

      + 如果你已通过 + 将音效加载至内存,请确保该参数与 中设置的 + filePath 相同。 +
      +
      + + loopCount + +

      音效循环播放的次数。

        +
      • ≥ 0: 循环播放次数。例如,1 表示循环播放 1 次,即总计播放 2 次。
      • +
      • -1: 无限循环播放。
      • +

      +
      +
      + + pitch + 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。 + + + pan + +

      音效的空间位置。取值范围为 [-1.0,1.0],例如:

        +
      • -1.0:音效出现在左边
      • +
      • 0.0:音效出现在正前方
      • +
      • 1.0:音效出现在右边
      • +

      +
      +
      + + gain + 音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。 + + + publish + +

      是否将音效发布至远端:

        +
      • : 将音效发布至远端。本地用户和远端用户都能听到音效。
      • -
      • : +
      • : 不将音效发布至远端。只有本地用户能听到音效。
      • -

      -
      -
      -
    +

    + + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_playeffect3.dita b/dita/RTC/API/api_playeffect3.dita index acddcea7bdf..3dd37bee5b9 100644 --- a/dita/RTC/API/api_playeffect3.dita +++ b/dita/RTC/API/api_playeffect3.dita @@ -13,15 +13,15 @@

    - public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0);

    + public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0);

    - public abstract int PlayEffect(int soundId, string filePath, int loopCount, int startPos, + public abstract int PlayEffect(int soundId, string filePath, int loopCount, int startPos, double pitch = 1.0, double pan = 0.0, int gain = 100, bool publish = false);

    - public int playEffect(int soundId, String filePath, int loopCount, double pitch, + public int playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish, int startPos); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch @@ -30,7 +30,7 @@ publish:(BOOL)publish startPos:(int)startPos; - virtual int playEffect(int soundId, + virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, @@ -38,7 +38,7 @@ int gain, bool publish, int startPos) = 0; - playEffect(soundId: number, + playEffect(soundId: number, filePath: string, loopCount: number, pitch: number, @@ -47,108 +47,99 @@ publish: number, startPos?: number ): number - - Future<void> playEffect(int soundId, String filePath, int loopCount, + + Future<void> playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, int gain, bool publish, - [int? startPos]);

    + [int? startPos]); +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +
    -

    你可以多次调用该方法,传入不同的 soundIDfilePath,同时播放多个音效文件。为获得最佳用户体验,声网推荐同时播放的音效文件不超过 3 个。 音效文件播放结束后,SDK 会触发 回调。 - - - - 该方法需要在加入频道后调用。

    +

    你可以多次调用该方法,传入不同的 soundID 和 + filePath,同时播放多个音效文件。为获得最佳用户体验,声网推荐同时播放的音效文件不超过 3 个。 + 音效文件播放结束后,SDK 会触发 回调。 该方法需要在加入频道后调用。

    参数 - - soundId - 音效的 ID。每个音效的 ID 具有唯一性。 - - - 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 soundId 相同。 - - - filePath - -

    播放文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频格式包括 MP3、AAC、M4A、MP4、WAV、3GP。详见 支持的媒体格式

    - 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 filePath 相同。
    -
    - - loopCount - -

    音效循环播放的次数。 - - -

      -
    • ≥ 0: 循环播放次数。例如,1 表示循环播放 1 次,即总计播放 2 次。
    • -
    • -1: 无限循环播放。
    • -

    -
    -
    - - pitch - 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。 - - - pan - -

    音效的空间位置。取值范围为 [-1.0,1.0],例如: - - -

      -
    • -1.0:音效出现在左边
    • -
    • 0.0:音效出现在正前方
    • -
    • 1.0:音效出现在右边
    • -

    -
    -
    - - gain - 音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。 - - - publish - -

    是否将音效发布至远端: - - -

      -
    • : 将音效发布至远端。本地用户和远端用户都能听到音效。
    • -
    • : 不将音效发布至远端。只有本地用户能听到音效。
    • -

    -
    -
    - - startPos - -

    音效文件的播放位置,单位为毫秒。

    -
    -
    -
    + + soundId + 音效的 ID。每个音效的 ID 具有唯一性。 如果你已通过 将音效加载至内存,请确保该参数与 中设置的 soundId + 相同。 + + + + filePath + +

    播放文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频格式包括 + MP3、AAC、M4A、MP4、WAV、3GP。详见 支持的媒体格式

    + 如果你已通过 + 将音效加载至内存,请确保该参数与 中设置的 + filePath 相同。 +
    +
    + + loopCount + +

    音效循环播放的次数。

      +
    • ≥ 0: 循环播放次数。例如,1 表示循环播放 1 次,即总计播放 2 次。
    • +
    • -1: 无限循环播放。
    • +

    +
    +
    + + pitch + 音效的音调,取值范围为 [0.5,2.0]。默认值为 1.0,表示原始音调。取值越小,则音调越低。 + + + pan + +

    音效的空间位置。取值范围为 [-1.0,1.0],例如:

      +
    • -1.0:音效出现在左边
    • +
    • 0.0:音效出现在正前方
    • +
    • 1.0:音效出现在右边
    • +

    +
    +
    + + gain + 音效的音量。取值范围为 [0.0,100.0]。默认值为 100.0,表示原始音量。取值越小,则音量越低。 + + + publish + +

    是否将音效发布至远端:

      +
    • : + 将音效发布至远端。本地用户和远端用户都能听到音效。
    • +
    • : + 不将音效发布至远端。只有本地用户能听到音效。
    • +

    +
    +
    + + startPos + +

    音效文件的播放位置,单位为毫秒。

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_preloadeffect.dita b/dita/RTC/API/api_preloadeffect.dita index 33c0a727fc2..c1a099b197f 100644 --- a/dita/RTC/API/api_preloadeffect.dita +++ b/dita/RTC/API/api_preloadeffect.dita @@ -13,56 +13,63 @@

    - public abstract int PreloadEffect(int soundId, string filePath, int startPos = 0);

    + public abstract int PreloadEffect(int soundId, string filePath, int startPos = 0); +

    - public abstract int PreloadEffect(int soundId, string filePath);

    + public abstract int PreloadEffect(int soundId, string filePath);

    - public int preloadEffect(int soundId, String filePath); + public int preloadEffect(int soundId, String filePath); - - (int)preloadEffect:(int)soundId + - (int)preloadEffect:(int)soundId filePath:(NSString* _Nonnull)filePath; - virtual int preloadEffect(int soundId, const char* filePath) = 0; - preloadEffect(soundId: number, filePath: string): number - - Future<void> preloadEffect(int soundId, String filePath);

    + virtual int preloadEffect(int soundId, const char* filePath) = 0; + preloadEffect(soundId: number, filePath: string): number + + Future<void> preloadEffect(int soundId, String filePath); +

    为保证通信畅通,请注意控制预加载音效文件的大小,并在 前就使用该方法完成音效预加载。

    -
      -
    • 该方法不支持在线音频文件。
    • -
    • 该方法支持的音频文件格式见 声网 RTC SDK 支持播放哪些格式的音频文件
    • -
    +
      +
    • 该方法不支持在线音频文件。
    • +
    • 该方法支持的音频文件格式见 声网 RTC SDK + 支持播放哪些格式的音频文件
    • +
    +
    参数 - - soundId - 音效的 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.
    • -
    -
    - - startPos - 音效文件加载的起始位置,单位为毫秒。 - -
    + + soundId + 音效的 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.
    • +
    +
    + + startPos + 音效文件加载的起始位置,单位为毫秒。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_pullaudioframe2.dita b/dita/RTC/API/api_pullaudioframe2.dita index b1c47a0713b..b49032b7898 100644 --- a/dita/RTC/API/api_pullaudioframe2.dita +++ b/dita/RTC/API/api_pullaudioframe2.dita @@ -13,44 +13,54 @@

    - public abstract int pullPlaybackAudioFrame(ByteBuffer data, int lengthInByte); - - - - -

    + public abstract int pullPlaybackAudioFrame(ByteBuffer data, int lengthInByte); + + + + + +

    -

    使用该方法前,你需要在 中设置 mEnableAudioDevice, 并调用 通知 app 开启并设置外部渲染。

    +

    使用该方法前,你需要在 中设置 mEnableAudioDevice 为 + , 并调用 通知 app 开启并设置外部渲染。

    调用该方法后,app 会采取主动拉取的方式获取远端已解码和混音后的音频数据,用于音频播放。

    -
      -
    • 该方法仅支持拉取自采集的数据。如果你需要拉取 SDK 采集的数据,请不要调用该方法。
    • -
    • 开启外部音频渲染后,app 将无法从 回调中获得数据。
    • -
    • 该方法和 回调相比,区别在于: -
        -
      • :SDK 通过该回调将音频数据传输给 app。如果 app 处理延时,可能会导致音频播放抖动。
      • -
      • :App 主动拉取音频数据。通过设置音频数据,SDK 可以调整缓存,帮助 app 处理延时,从而有效避免音频播放抖动。
      • -
    • -
    +
  • 该方法仅支持拉取自采集的数据。如果你需要拉取 SDK 采集的数据,请不要调用该方法。
  • +
  • 开启外部音频渲染后,app 将无法从 回调中获得数据。
  • +
  • 该方法和 回调相比,区别在于:
      +
    • :SDK 通过该回调将音频数据传输给 app。如果 + app 处理延时,可能会导致音频播放抖动。
    • +
    • :App 主动拉取音频数据。通过设置音频数据,SDK + 可以调整缓存,帮助 app 处理延时,从而有效避免音频播放抖动。
    • +
  • + + +
    参数 - - data - 待拉取的远端音频数据,数据类型为 ByteBuffer - - - lengthInByte - 远端音频数据长度,单位为字节。 该参数的值由音频数据时长、sampleRatechannels 参数确定。lengthInByte = sampleRate/1000 × 2 × channels × 音频数据时长 (ms)。 - -
    + + data + 待拉取的远端音频数据,数据类型为 ByteBuffer + + + lengthInByte + 远端音频数据长度,单位为字节。 该参数的值由音频数据时长、 的 + sampleRatechannels + 参数确定。lengthInByte = sampleRate/1000 × + 2 × channels × 音频数据时长 (ms)。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_pullplaybackaudioframesamplebufferbylengthinbyte.dita b/dita/RTC/API/api_pullplaybackaudioframesamplebufferbylengthinbyte.dita index f142317240b..75bc2234e91 100644 --- a/dita/RTC/API/api_pullplaybackaudioframesamplebufferbylengthinbyte.dita +++ b/dita/RTC/API/api_pullplaybackaudioframesamplebufferbylengthinbyte.dita @@ -13,17 +13,19 @@

    - - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte;

    + - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte; +

    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC/API/api_pushaudioframeex.dita b/dita/RTC/API/api_pushaudioframeex.dita index 642c3c95cb8..17e0bd140b5 100644 --- a/dita/RTC/API/api_pushaudioframeex.dita +++ b/dita/RTC/API/api_pushaudioframeex.dita @@ -13,34 +13,37 @@

    - - - (int)pushExternalAudioFrameExNSData:(NSData * _Nonnull)data + + - (int)pushExternalAudioFrameExNSData:(NSData * _Nonnull)data sourceId:(NSInteger)sourceId timestamp:(NSTimeInterval)timestamp; - - - - -

    + + + + + +

    参数 - - sourceId - 外部音频源的 ID。 - - - timestamp - 外部音频帧的时间戳。 - -
    + + sourceId + 外部音频源的 ID。 + + + timestamp + 外部音频帧的时间戳。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_pushcaptureaudioframe.dita b/dita/RTC/API/api_pushcaptureaudioframe.dita index 2e8cd9476cb..b16cc2d9bf0 100644 --- a/dita/RTC/API/api_pushcaptureaudioframe.dita +++ b/dita/RTC/API/api_pushcaptureaudioframe.dita @@ -13,38 +13,45 @@

    - public abstract int pushCaptureAudioFrame(byte[] data, int lengthInByte); - - (int)pushCaptureAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; - virtual int pushCaptureAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - - - -

    + public abstract int pushCaptureAudioFrame(byte[] data, int lengthInByte); + - (int)pushCaptureAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; + virtual int pushCaptureAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + + + + +

    -

    本地用户可以调用 将本地采集的音频帧推送给远端用户,但该音频帧不会被 SDK 的回声消除模块处理。为避免本地用户听到自己的回声,远端用户需要先后调用 将自己采集的音频帧和接收到的音频帧一起推送到自定义的回声消除模块进行处理。

    - 你需要在 后调用该方法。
    +

    本地用户可以调用 将本地采集的音频帧推送给远端用户,但该音频帧不会被 SDK + 的回声消除模块处理。为避免本地用户听到自己的回声,远端用户需要先后调用 将自己采集的音频帧和接收到的音频帧一起推送到自定义的回声消除模块进行处理。

    + 你需要在 后调用该方法。 +
    参数 - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_pushcaptureaudioframe2.dita b/dita/RTC/API/api_pushcaptureaudioframe2.dita index ac4ce5e6e42..2ef8b8c4981 100644 --- a/dita/RTC/API/api_pushcaptureaudioframe2.dita +++ b/dita/RTC/API/api_pushcaptureaudioframe2.dita @@ -2,7 +2,8 @@ <ph keyref="pushCaptureAudioFrame2"/> - + @@ -13,31 +14,33 @@

    - public abstract int pushCaptureAudioFrame(ByteBuffer data, int lengthInByte); - - - - - -

    + public abstract int pushCaptureAudioFrame(ByteBuffer data, int lengthInByte); + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_pushexternalaudioframesamplebuffer.dita b/dita/RTC/API/api_pushexternalaudioframesamplebuffer.dita index d224c681dfe..03e61385831 100644 --- a/dita/RTC/API/api_pushexternalaudioframesamplebuffer.dita +++ b/dita/RTC/API/api_pushexternalaudioframesamplebuffer.dita @@ -13,35 +13,39 @@

    - - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; - - (BOOL)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer;

    + - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; + - (BOOL)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; +

    - -
    弃用:
    -
    该方法自 v3.5.1 起废弃,请改用
    -
    + +
    弃用:
    +
    该方法自 v3.5.1 起废弃,请改用
    +

    参数 - - sampleBuffer - 采样缓冲区。 - -
    + + sampleBuffer + 采样缓冲区。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • +
    • 0:方法调用成功。
    • +
    • < 0:方法调用失败。
      -
    • :方法调用成功。
    • -
    • :方法调用失败。
    • -
    +
  • :方法调用成功。
  • +
  • :方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_pushexternalaudioframesamplebuffer2.dita b/dita/RTC/API/api_pushexternalaudioframesamplebuffer2.dita index 167736a5aab..e28a1e84692 100644 --- a/dita/RTC/API/api_pushexternalaudioframesamplebuffer2.dita +++ b/dita/RTC/API/api_pushexternalaudioframesamplebuffer2.dita @@ -13,30 +13,33 @@

    - - (int)pushExternalAudioFrameSampleBuffer:(AgoraAudioExternalSourcePos)sourcePos sampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; - - - -

    + - (int)pushExternalAudioFrameSampleBuffer:(AgoraAudioExternalSourcePos)sourcePos sampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; + + + + +

    参数 - - - - - - - - -
    + + + + + + + + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_pushreverseaudioframe.dita b/dita/RTC/API/api_pushreverseaudioframe.dita index 48839d86c65..332f7a3582c 100644 --- a/dita/RTC/API/api_pushreverseaudioframe.dita +++ b/dita/RTC/API/api_pushreverseaudioframe.dita @@ -13,39 +13,48 @@

    - public abstract int pushReverseAudioFrame(byte[] data, int lengthInByte); - - (int)pushReverseAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; - virtual int pushReverseAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - - - -

    + public abstract int pushReverseAudioFrame(byte[] data, int lengthInByte); + - (int)pushReverseAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; + virtual int pushReverseAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + + + + +

    -

    为避免本地用户听到自己的回声,本地用户调用 后,远端用户需要先后调用 将自己采集的音频帧和接收到的音频帧一起推送到自定义的回声消除模块进行处理。

    - 调用该方法前,你需要将 中的 publishCustomAudioTrackAec 设为 并将 publishCustomAudioTrack 设为
    +

    为避免本地用户听到自己的回声,本地用户调用 后,远端用户需要先后调用 + 将自己采集的音频帧和接收到的音频帧一起推送到自定义的回声消除模块进行处理。

    + 调用该方法前,你需要将 中的 + publishCustomAudioTrackAec 设为 并将 publishCustomAudioTrack 设为 +
    参数 - - frame - audioFrame - 外部音频帧。详见 - - - data - 待推送的音频数据,数据类型为 byte[] - - - - - -
    + + frame + audioFrame + 外部音频帧。详见 + + + data + 待推送的音频数据,数据类型为 byte[] + + + + + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_pushreverseaudioframe2.dita b/dita/RTC/API/api_pushreverseaudioframe2.dita index af1ed0539e5..87ea63008de 100644 --- a/dita/RTC/API/api_pushreverseaudioframe2.dita +++ b/dita/RTC/API/api_pushreverseaudioframe2.dita @@ -2,7 +2,8 @@ <ph keyref="pushReverseAudioFrame2"/> - + @@ -13,31 +14,33 @@

    - public abstract int pushReverseAudioFrame(ByteBuffer data, int lengthInByte); - - - - - -

    + public abstract int pushReverseAudioFrame(ByteBuffer data, int lengthInByte); + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_pushvideoframe2.dita b/dita/RTC/API/api_pushvideoframe2.dita index 8c502a774d4..3fca65a0f45 100644 --- a/dita/RTC/API/api_pushvideoframe2.dita +++ b/dita/RTC/API/api_pushvideoframe2.dita @@ -13,38 +13,42 @@

    - public abstract boolean pushExternalVideoFrame(VideoFrame frame); - - - - - -

    + public abstract boolean pushExternalVideoFrame(VideoFrame frame); + + + + + + +

    -

    该方法主动将视频帧数据用 VideoFrame 类封装后传递给 SDK。请确保在你调用本方法前已调用 , 并将参数 enable 设置为 ,不然调用本方法后会一直报错。

    -

    调用该方法或 均能将视频帧数据传递给SDK。区别为 方法支持 texture 格式的视频数据。

    +

    该方法主动将视频帧数据用 VideoFrame 类封装后传递给 SDK。请确保在你调用本方法前已调用 , 并将参数 enable 设置为 ,不然调用本方法后会一直报错。

    +

    调用该方法或 均能将视频帧数据传递给SDK。区别为 方法支持 texture 格式的视频数据。

    参数 - - frame - 待推送的外部原始视频帧。详见 VideoFrame: - - -
      -
    • buffer: Buffer 型。视频帧的 buffer。
    • -
    • rotation: int 型。视频帧的旋转角度(度数)。
    • -
    • timestampNs: long 型。视频帧的 Unix 时间戳(纳秒)。
    • -
    -
    -
    + + frame + 待推送的外部原始视频帧。详见 VideoFrame:
      +
    • buffer: Buffer 型。视频帧的 buffer。
    • +
    • rotation: int 型。视频帧的旋转角度(度数)。
    • +
    • timestampNs: long 型。视频帧的 Unix 时间戳(纳秒)。
    • +
    +
    +
    + +
    返回值
      -
    • :推送成功。
    • -
    • :推送失败。
    • -
    +
  • :推送成功。
  • +
  • :推送失败。
  • + +
    diff --git a/dita/RTC/API/api_pushvideoframeex2.dita b/dita/RTC/API/api_pushvideoframeex2.dita index 34666796cb8..2629fff1766 100644 --- a/dita/RTC/API/api_pushvideoframeex2.dita +++ b/dita/RTC/API/api_pushvideoframeex2.dita @@ -13,35 +13,39 @@

    - public abstract int pushExternalVideoFrameEx(VideoFrame frame, RtcConnection connection); - - - - - -

    + public abstract int pushExternalVideoFrameEx(VideoFrame frame, RtcConnection connection); + + + + + + +

    -

    调用该方法或 均能将视频帧数据传递给SDK。区别为 方法支持 texture 格式的视频数据。

    +

    调用该方法或 均能将视频帧数据传递给SDK。区别为 方法支持 texture 格式的视频数据。

    参数 - - - - - - - - -
    + + + + + + + + + +
    返回值
      -
    • 0: 推送成功。
    • -
    • < 0: 推送失败。
    • -
    +
  • 0: 推送成功。
  • +
  • < 0: 推送失败。
  • + +
    diff --git a/dita/RTC/API/api_queryinterface.dita b/dita/RTC/API/api_queryinterface.dita index 7bdf2f394a7..b5fd90a8786 100644 --- a/dita/RTC/API/api_queryinterface.dita +++ b/dita/RTC/API/api_queryinterface.dita @@ -13,31 +13,34 @@

    - - - virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0; - - - -

    + + + virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0; + + + + +

    参数 - - iid - 想要获取的接口类 ID。详见 - - - inter - 输出参数。指定接口的对象指针。 - -
    + + iid + 想要获取的接口类 ID。详见 + + + inter + 输出参数。指定接口的对象指针。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_rate.dita b/dita/RTC/API/api_rate.dita index 129ef903d10..983ec6cd234 100644 --- a/dita/RTC/API/api_rate.dita +++ b/dita/RTC/API/api_rate.dita @@ -13,49 +13,51 @@

    - public abstract int rate(String callId, int rating, String description); - - (int)rate:(NSString * _Nonnull)callId + 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, + virtual int rate(const char* callId, int rating, const char* description) = 0; - rate(callId: string, + rate(callId: string, rating: number, description: string): number - public abstract int Rate(string callId, int rating, string description = ""); - - Future<void> rate(String callId, int rating, {String? description});

    + public abstract int Rate(string callId, int rating, string description = ""); + + Future<void> rate(String callId, int rating, {String? description}); +

    - 该方法需要在用户离开频道后调用。
    + 该方法需要在用户离开频道后调用。 +
    参数 - - callId - 通话 ID。你可以通过调用 获取该参数。 - - - rating - 给通话的评分,最低 1 分,最高 5 分,如超过这个范围,SDK 会返回 -2(ERR_INVALID_ARGUMENT) 错误。 - - - description - (非必选项)给通话的描述。长度应小于 800 字节。 - -
    + + callId + 通话 ID。你可以通过调用 获取该参数。 + + + rating + 给通话的评分,最低 1 分,最高 5 分,如超过这个范围,SDK 会返回 + -2(ERR_INVALID_ARGUMENT) 错误。 + + + description + (非必选项)给通话的描述。长度应小于 800 字节。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - -
        -
      • -2(ERR_INVALID_ARGUMENT)。
      • -
      • -3(ERR_NOT_READY)。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -2(ERR_INVALID_ARGUMENT)。
    • +
    • -3(ERR_NOT_READY)。
    • +
  • + +
    diff --git a/dita/RTC/API/api_registeraudioencodedframeobserver.dita b/dita/RTC/API/api_registeraudioencodedframeobserver.dita index 0c50b404370..fe240d662ca 100644 --- a/dita/RTC/API/api_registeraudioencodedframeobserver.dita +++ b/dita/RTC/API/api_registeraudioencodedframeobserver.dita @@ -13,50 +13,55 @@

    - public abstract int RegisterAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAgoraRtcAudioEncodedFrameObserver observer);

    + public abstract int RegisterAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAgoraRtcAudioEncodedFrameObserver observer);

    - public abstract int registerAudioEncodedFrameObserver( + public abstract int registerAudioEncodedFrameObserver( AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); - - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nonnull)delegate + - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nonnull)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull) config; - virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0; - - -

    + virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0; + + + +

    - -

      -
    • 请在加入频道后调用该方法。
    • -
    • 由于该方法和 都会设置音频内容和音质,声网不推荐该方法和 + +
        +
      • 请在加入频道后调用该方法。
      • +
      • 由于该方法和 都会设置音频内容和音质,声网不推荐该方法和 一起使用。否则,只有后调用的方法会生效。
      • -

      +
    + +

    参数 - - config - -

    编码后音频的观测器设置。详见

    -
    -
    + + config + +

    编码后音频的观测器设置。详见

    +
    +
    - - observer - delegate - -

    编码后音频的观测器。详见

    -
    -
    -
    + + observer + delegate + +

    编码后音频的观测器。详见

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_registerlocaluseraccount.dita b/dita/RTC/API/api_registerlocaluseraccount.dita index 996356bb1df..f4d384a410f 100644 --- a/dita/RTC/API/api_registerlocaluseraccount.dita +++ b/dita/RTC/API/api_registerlocaluseraccount.dita @@ -13,72 +13,75 @@

    - - (int)registerLocalUserAccountWithAppID:(NSString * _Nonnull)appID userAccount:(NSString * _Nonnull)userAccount; - public abstract int RegisterLocalUserAccount(string appId, string userAccount);

    + - (int)registerLocalUserAccountWithAppID:(NSString * _Nonnull)appID userAccount:(NSString * _Nonnull)userAccount; + public abstract int RegisterLocalUserAccount(string appId, string userAccount);

    - - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId; - public abstract int RegisterLocalUserAccount(string appId, string userAccount);

    + - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId; + public abstract int RegisterLocalUserAccount(string appId, string userAccount);

    - public abstract int registerLocalUserAccount(String appId, String userAccount); - virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0; - registerLocalUserAccount(appId: string, userAccount: string): number - - Future<void> registerLocalUserAccount(String appId, String userAccount);

    + public abstract int registerLocalUserAccount(String appId, String userAccount); + virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0; + registerLocalUserAccount(appId: string, userAccount: string): number + + Future<void> registerLocalUserAccount(String appId, String userAccount); +

    - -
    自从
    -
    v2.8.0
    -
    + +
    自从
    +
    v2.8.0
    +

    该方法为本地用户注册一个 User Account。注册成功后,该 User Account 即可标识该本地用户的身份,用户可以使用它加入频道。

    -

    成功注册 User Account 后,本地会触发 回调,告知本地用户的 UID 和 User Account。

    -

    该方法为可选。如果你希望用户使用 User Account 加入频道,可以选用以下两种方式: - - - -

      -
    • 先调用 方法注册 Account,再调用 方法加入频道。
    • -
    • 直接调用 方法加入频道。
    • -

    -

    两种方式的区别在于,提前调用 ,可以缩短使用 进入频道的时间。

    +

    成功注册 User Account 后,本地会触发 回调,告知本地用户的 UID 和 + User Account。

    +

    该方法为可选。如果你希望用户使用 User Account 加入频道,可以选用以下两种方式:

      +
    • 先调用 方法注册 Account,再调用 方法加入频道。
    • +
    • 直接调用 方法加入频道。
    • +

    +

    两种方式的区别在于,提前调用 ,可以缩短使用 进入频道的时间。

    -
      -
    • userAccount 不能为空,否则该方法不生效。
    • -
    • 请确保在该方法中设置的 userAccount 在频道中的唯一性。
    • -
    • 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。 如果有用户通过 Web SDK 加入频道,请确保 Web 加入的用户也是同样类型。
    • -
    +
      +
    • userAccount 不能为空,否则该方法不生效。
    • +
    • 请确保在该方法中设置的 userAccount 在频道中的唯一性。
    • +
    • 为保证通信质量,请确保频道内使用同一类型的数据标识用户身份。即同一频道内需要统一使用 UID 或 User Account。 如果有用户通过 Web + SDK 加入频道,请确保 Web 加入的用户也是同样类型。
    • +
    + +
    参数 - - appId - appIDappId - 你的项目在声网控制台注册的 App ID。 - - - userAccount - -

    用户 User Account。该参数用于标识实时音视频互动频道中的用户。你需要自行设置和管理用户的 User Account,并确保同一频道中每个用户的 User Account 是唯一的。该参数为必填,最大不超过 255 字节,不可填 。以下为支持的字符集范围(共 89 个字符): - - - -

      -
    • 26 个小写英文字母 a-z
    • -
    • 26 个大写英文字母 A-Z
    • -
    • 10 个数字 0-9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    -
    -
    + + appId + appIDappId + 你的项目在声网控制台注册的 App ID。 + + + userAccount + +

    用户 User Account。该参数用于标识实时音视频互动频道中的用户。你需要自行设置和管理用户的 User + Account,并确保同一频道中每个用户的 User Account 是唯一的。该参数为必填,最大不超过 255 字节,不可填 。以下为支持的字符集范围(共 89 个字符):

      +
    • 26 个小写英文字母 a-z
    • +
    • 26 个大写英文字母 A-Z
    • +
    • 10 个数字 0-9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_registermediametadataobserver.dita b/dita/RTC/API/api_registermediametadataobserver.dita index 41eb22ee65c..475f20eef5e 100644 --- a/dita/RTC/API/api_registermediametadataobserver.dita +++ b/dita/RTC/API/api_registermediametadataobserver.dita @@ -13,48 +13,56 @@

    - public abstract int registerMediaMetadataObserver(IMetadataObserver observer, int type); - - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type; - virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; + public abstract int registerMediaMetadataObserver(IMetadataObserver observer, int type); + - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type; + virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; - registerMediaMetadataObserver(type: METADATA_TYPE = 0): number - public abstract int RegisterMediaMetadataObserver(METADATA_TYPE type); - - Future<void> registerMediaMetadataObserver();

    + registerMediaMetadataObserver(type: METADATA_TYPE = 0): number + public abstract int RegisterMediaMetadataObserver(METADATA_TYPE type); + + Future<void> registerMediaMetadataObserver(); +

    - -
    自从
    -
    v2.4.1
    -
    + +
    自从
    +
    v2.4.1
    +
    -

    你需要自行实现 类并在本方法中指定 metadata 类型。本方法允许你为视频流添加同步的 metadata,用于多样化的直播互动,如发送购物链接、电子优惠券和在线测试。

    -

    调用该方法成功后,SDK 会触发 回调。

    +

    你需要自行实现 类并在本方法中指定 + metadata 类型。本方法允许你为视频流添加同步的 metadata,用于多样化的直播互动,如发送购物链接、电子优惠券和在线测试。

    +

    调用该方法成功后,SDK 会触发 + 回调。

    - -

      -
    • 请在 前调用该方法。
    • -
    • 该方法仅适用于直播场景。
    • -

    + +
      +
    • 请在 前调用该方法。
    • +
    • 该方法仅适用于直播场景。
    • +
    +
    +

    参数 - - observer - metadata 观测器。详见 - - - type - 用户希望在观测器中使用的 METADATA 类型 。目前仅支持 。详见 - -
    + + observer + metadata 观测器。详见 + + + type + 用户希望在观测器中使用的 METADATA 类型 。目前仅支持 。详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_registerpacketobserver.dita b/dita/RTC/API/api_registerpacketobserver.dita index 98111ece3eb..fddc23fb03e 100644 --- a/dita/RTC/API/api_registerpacketobserver.dita +++ b/dita/RTC/API/api_registerpacketobserver.dita @@ -13,36 +13,42 @@

    - - - virtual int registerPacketObserver(IPacketObserver* observer) = 0; - - public abstract int RegisterPacketObserver(IPacketObserver observer); - -

    + + + virtual int registerPacketObserver(IPacketObserver* observer) = 0; + + public abstract int RegisterPacketObserver(IPacketObserver observer); + + +

    -

    该方法注册数据包观测器 (Packet Observer)。在声网 SDK 发送/接收(语音、视频)网络包时,会回调 定义的接口,App 可用此接口对数据做处理,例如加解密。

    +

    该方法注册数据包观测器 (Packet Observer)。在声网 SDK 发送/接收(语音、视频)网络包时,会回调 定义的接口,App 可用此接口对数据做处理,例如加解密。

    -
      -
    • 处理后发送到网络的包大小不应超过 1200 字节,否则有可能发送失败。
    • -
    • 若需调用此方法,需确保接收端和发送端都调用此方法,否则会出现未定义行为(例如音频无声或视频黑屏)。
    • -
    • 若在直播场景下使用旁路推流、录制或储存,声网不建议调用此方法。
    • -
    • 你需要在加入频道前调用该方法。
    • -
    +
      +
    • 处理后发送到网络的包大小不应超过 1200 字节,否则有可能发送失败。
    • +
    • 若需调用此方法,需确保接收端和发送端都调用此方法,否则会出现未定义行为(例如音频无声或视频黑屏)。
    • +
    • 若在直播场景下使用旁路推流、录制或储存,声网不建议调用此方法。
    • +
    • 你需要在加入频道前调用该方法。
    • +
    + +
    参数 - - observer - - -
    + + observer + + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_registerplugin.dita b/dita/RTC/API/api_registerplugin.dita index 27b565fdfa9..bb9e0eb3be3 100644 --- a/dita/RTC/API/api_registerplugin.dita +++ b/dita/RTC/API/api_registerplugin.dita @@ -13,38 +13,41 @@

    - - - - registerPlugin(pluginInfo: PluginInfo): number - - -

    + + + + registerPlugin(pluginInfo: PluginInfo): number + + + +

    注册插件后,你可以在 SDK 中使用插件的功能。举例来说,如果你想使用 FaceUnity 的插件,你可以先将该插件文件集成到 SDK 的项目工程文件中,然后调用该方法注册插件。

    -

    声网提供两种方式供你使用插件: - - -

      -
    • 调用 方法,并通过 接口中的 enabledisablesetParametergetParameter 函数开启插件,关闭插件,设置插件参数,获取插件参数。
    • -
    • 调用 方法,开关插件、设置插件参数、获取插件参数。
    • -

    +

    声网提供两种方式供你使用插件:

      +
    • 调用 方法,并通过 接口中的 + enabledisablesetParametergetParameter + 函数开启插件,关闭插件,设置插件参数,获取插件参数。
    • +
    • 调用 方法,开关插件、设置插件参数、获取插件参数。
    • +

    参数 - - pluginInfo - 插件信息。详见 - -
    + + pluginInfo + 插件信息。详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_release.dita b/dita/RTC/API/api_release.dita index 2b57120dd48..e9d68701a70 100644 --- a/dita/RTC/API/api_release.dita +++ b/dita/RTC/API/api_release.dita @@ -2,8 +2,10 @@ <ph keyref="release"/> - 销毁 、 - 对象。 + 销毁 对象。 @@ -14,13 +16,13 @@

    - virtual void release(bool sync = false) = 0; - public abstract void Dispose(bool sync = false);

    + virtual void release(bool sync = false) = 0; + public abstract void Dispose(bool sync = false);

    - AGORA_CPP_API static void release (bool sync = false); - public abstract void Dispose(bool sync = false);

    + AGORA_CPP_API static void release (bool sync = false); + public abstract void Dispose(bool sync = false);

    - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.doDestroy(); @@ -28,27 +30,42 @@ System.gc(); } - + (void)destroy; - release(sync: boolean = false): number - - Future<void> destroy();

    + + (void)destroy; + release(sync: boolean = false): number + + Future<void> destroy(); +

    -

    该方法释放声网 SDK 使用的所有 对象和设备管理器资源。有些 app 只在用户需要时才进行实时音视频通信,不需要时则将资源释放出来用于其他操作,该方法适用于此类情况。

    -

    调用该方法后,你将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通信功能, 你必须依次重新调用 方法创建一个新的 对象。

    -

    调用该方法后,你将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通信功能,你必须依次重新调用 方法创建一个新的 对象。

    - 如需在销毁后再次创建 对象,需要等待 方法执行结束后再创建实例。
    +

    该方法释放声网 SDK 使用的所有 对象和设备管理器资源。有些 + app 只在用户需要时才进行实时音视频通信,不需要时则将资源释放出来用于其他操作,该方法适用于此类情况。

    +

    调用该方法后,你将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通信功能, 你必须依次重新调用 方法创建一个新的 对象。

    +

    调用该方法后,你将无法再使用 SDK 的其它方法和回调。如需再次使用实时音视频通信功能,你必须依次重新调用 方法创建一个新的 对象。

    + 如需在销毁后再次创建 对象,需要等待 方法执行结束后再创建实例。 +
    参数 - - sync - -
      -
    • : 该方法为同步调用。需要等待 资源释放后才能执行其他操作,所以我们建议在子线程中调用该方法,避免主线程阻塞。此外,我们不建议在 SDK 的回调中调用 ,否则由于 SDK 要等待回调返回才能回收相关的对象资源,会造成死锁。SDK 会自动检测这种死锁并转为异步调用,但是检测本身会消耗额外的时间。
    • -
    • : 该方法为异步调用。不需要等待 资源释放后就能执行其他操作。使用异步调用时要注意,不要在该调用后立即卸载 SDK 动态库,否则可能会因为 SDK 的清理线程还没有退出而崩溃。
    • -
    -
    -
    + + sync + +
      +
    • : 该方法为同步调用。需要等待 + 资源释放后才能执行其他操作,所以我们建议在子线程中调用该方法,避免主线程阻塞。此外,我们不建议在 SDK 的回调中调用 ,否则由于 SDK 要等待回调返回才能回收相关的对象资源,会造成死锁。SDK + 会自动检测这种死锁并转为异步调用,但是检测本身会消耗额外的时间。
    • +
    • : 该方法为异步调用。不需要等待 资源释放后就能执行其他操作。使用异步调用时要注意,不要在该调用后立即卸载 SDK + 动态库,否则可能会因为 SDK 的清理线程还没有退出而崩溃。
    • +
    +
    +
    + +
    diff --git a/dita/RTC/API/api_releaserecorder.dita b/dita/RTC/API/api_releaserecorder.dita index a7a4520695b..cc2c2c8c5b8 100644 --- a/dita/RTC/API/api_releaserecorder.dita +++ b/dita/RTC/API/api_releaserecorder.dita @@ -13,16 +13,19 @@

    - - - virtual void releaseRecorder() = 0; - - - - Future<void> releaseRecorder();

    + + + virtual void releaseRecorder() = 0; + + + + Future<void> releaseRecorder(); +

    -

    该方法释放 对象使用的 对象和其他所有资源。调用该方法后,如果需要再次开启录制,需要重新调用 获取 对象。

    +

    该方法释放 对象使用的 + 对象和其他所有资源。调用该方法后,如果需要再次开启录制,需要重新调用 获取 对象。

    diff --git a/dita/RTC/API/api_removehandler.dita b/dita/RTC/API/api_removehandler.dita index 3bca3cd3d1f..6ca2bfda248 100644 --- a/dita/RTC/API/api_removehandler.dita +++ b/dita/RTC/API/api_removehandler.dita @@ -13,32 +13,34 @@

    - public void removeHandler(IRtcEngineEventHandler handler) { + public void removeHandler(IRtcEngineEventHandler handler) { mInstance.removeHandler((IAgoraEventHandler) handler); } - - - - - -

    + + + + + + +

    - -
    自从
    -
    v2.9.1
    -
    + +
    自从
    +
    v2.9.1
    +

    该方法删除指定的回调句柄。对于某些注册的回调句柄,如果你在收到相应回调事件后无需再次接收回调消息,可以调用该方法移除回调句柄。

    参数 - - handler - 待删除的回调句柄。详见 - -
    + + handler + 待删除的回调句柄。详见 + + +
    diff --git a/dita/RTC/API/api_removeinjectstreamurl.dita b/dita/RTC/API/api_removeinjectstreamurl.dita index a39207736d4..b8a6bba0e07 100644 --- a/dita/RTC/API/api_removeinjectstreamurl.dita +++ b/dita/RTC/API/api_removeinjectstreamurl.dita @@ -13,13 +13,14 @@

    - public abstract int removeInjectStreamUrl(String url); - - (int)removeInjectStreamUrl:(NSString * _Nonnull)url; - virtual int removeInjectStreamUrl(const char* url) = 0; - removeInjectStreamUrl(url: string): number - public abstract int RemoveInjectStreamUrl(string url); - - Future<void> removeInjectStreamUrl(String url);

    + public abstract int removeInjectStreamUrl(String url); + - (int)removeInjectStreamUrl:(NSString * _Nonnull)url; + virtual int removeInjectStreamUrl(const char* url) = 0; + removeInjectStreamUrl(url: string): number + public abstract int RemoveInjectStreamUrl(string url); + + Future<void> removeInjectStreamUrl(String url); +

    @@ -29,16 +30,18 @@
    参数 - - url - 已导入、待删除的外部视频源 URL 地址。 - -
    + + url + 已导入、待删除的外部视频源 URL 地址。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_removepublishstreamurl.dita b/dita/RTC/API/api_removepublishstreamurl.dita index bc12a346862..307f76d5803 100644 --- a/dita/RTC/API/api_removepublishstreamurl.dita +++ b/dita/RTC/API/api_removepublishstreamurl.dita @@ -13,43 +13,51 @@

    - public abstract int removePublishStreamUrl(String url); - - (int)removePublishStreamUrl:(NSString * _Nonnull)url; - virtual int removePublishStreamUrl(const char *url) = 0; - removePublishStreamUrl(url: string): number - public abstract int RemovePublishStreamUrl(string url); - - Future<void> removePublishStreamUrl(String url);

    + public abstract int removePublishStreamUrl(String url); + - (int)removePublishStreamUrl:(NSString * _Nonnull)url; + virtual int removePublishStreamUrl(const char *url) = 0; + removePublishStreamUrl(url: string): number + public abstract int RemovePublishStreamUrl(string url); + + Future<void> removePublishStreamUrl(String url); +

    - -
    弃用:
    -
    该方法已废弃。替代方案请参考发版说明
    -
    该方法已废弃。
    -
    + +
    弃用:
    +
    该方法已废弃。替代方案请参考发版说明
    +
    该方法已废弃。
    +

    调用该方法后,SDK 会在本地触发 回调,报告删除旁路推流地址的状态。

    -
      -
    • 调用该方法前,请确保已开通旁路推流的功能。详见旁路推流中的前提条件。
    • -
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法每次只能删除一路旁路推流地址。若需删除多路流,则需多次调用该方法。
    • -
    +
      +
    • 调用该方法前,请确保已开通旁路推流的功能。详见旁路推流中的前提条件。
    • +
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • +
    • 该方法需要在加入频道后调用。
    • +
    • 该方法每次只能删除一路旁路推流地址。若需删除多路流,则需多次调用该方法。
    • +
    + +
    参数 - - url - 待删除的旁路推流地址,格式为 RTMP。该字符长度不能超过 1024 字节。推流地址不支持中文等特殊字符。 - -
    + + url + 待删除的旁路推流地址,格式为 RTMP。该字符长度不能超过 1024 字节。推流地址不支持中文等特殊字符。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_renewtoken.dita b/dita/RTC/API/api_renewtoken.dita index 39b5a2deb04..78d1f104e14 100644 --- a/dita/RTC/API/api_renewtoken.dita +++ b/dita/RTC/API/api_renewtoken.dita @@ -13,45 +13,41 @@

    - public abstract int renewToken(String token); - - (int)renewToken:(NSString * _Nonnull)token; - virtual int renewToken(const char* token) = 0; - renewToken(token: string): number - public abstract int RenewToken(string token); - - Future<void> renewToken(String token);

    + public abstract int renewToken(String token); + - (int)renewToken:(NSString * _Nonnull)token; + virtual int renewToken(const char* token) = 0; + renewToken(token: string): number + public abstract int RenewToken(string token); + + Future<void> renewToken(String token); +

    +
    +
    该方法用于更新 Token。Token 会在一定时间后失效。在以下两种情况下,app 应重新获取 Token, + 然后调用该方法传入新的 Token,否则 SDK 无法和服务器建立连接:
      +
    • 发生 回调时。
    • +
    • 回调报告 (9) 时。
    • +
    -
    - - 该方法用于更新 Token。Token 会在一定时间后失效。在以下两种情况下,app 应重新获取 Token, - 然后调用该方法传入新的 Token,否则 SDK 无法和服务器建立连接: - - - -
      -
    • 发生 回调时。
    • -
    • 回调报告 (9) 时。
    • -
    参数 - - token - 新的 Token。 - -
    + + token + 新的 Token。 + + +
    返回值
      -
    • 0(ERR_OK): 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - -
        -
      • -1(ERR_FAILED): 一般性的错误(未明确归类)。
      • -
      • -2(ERR_INVALID_ARGUMENT): 参数无效。
      • -
      • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化。
      • -
    • -
    +
  • 0(ERR_OK): 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -1(ERR_FAILED): 一般性的错误(未明确归类)。
    • +
    • -2(ERR_INVALID_ARGUMENT): 参数无效。
    • +
    • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化。
    • +
  • + +
    diff --git a/dita/RTC/API/api_resumeallchannelmediarelay.dita b/dita/RTC/API/api_resumeallchannelmediarelay.dita index 280c5da36ca..69a5681193b 100644 --- a/dita/RTC/API/api_resumeallchannelmediarelay.dita +++ b/dita/RTC/API/api_resumeallchannelmediarelay.dita @@ -13,29 +13,32 @@

    - public abstract int resumeAllChannelMediaRelay(); - - (int)resumeAllChannelMediaRelay; - virtual int resumeAllChannelMediaRelay() = 0; - - public abstract int ResumeAllChannelMediaRelay(); - - Future<void> resumeAllChannelMediaRelay();

    + public abstract int resumeAllChannelMediaRelay(); + - (int)resumeAllChannelMediaRelay; + virtual int resumeAllChannelMediaRelay() = 0; + + public abstract int ResumeAllChannelMediaRelay(); + + Future<void> resumeAllChannelMediaRelay(); +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +

    调用 方法后,如果你需要恢复向所有目标频道转发媒体流,可以调用该方法。

    成功调用该方法后,SDK 会触发 回调,并在回调中报告是否成功恢复媒体流转发。

    - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_resumealleffects.dita b/dita/RTC/API/api_resumealleffects.dita index 91d13dd3aaf..f9491ec8b22 100644 --- a/dita/RTC/API/api_resumealleffects.dita +++ b/dita/RTC/API/api_resumealleffects.dita @@ -13,21 +13,23 @@

    - public abstract int resumeAllEffects(); + public abstract int resumeAllEffects(); - - (int)resumeAllEffects; + - (int)resumeAllEffects; - virtual int resumeAllEffects() = 0; - resumeAllEffects(): number - public abstract int ResumeAllEffects(); - - Future<void> resumeAllEffects();

    + virtual int resumeAllEffects() = 0; + resumeAllEffects(): number + public abstract int ResumeAllEffects(); + + Future<void> resumeAllEffects(); +

    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_resumeaudiomixing.dita b/dita/RTC/API/api_resumeaudiomixing.dita index 6d77d3be6fb..25806fc2f34 100644 --- a/dita/RTC/API/api_resumeaudiomixing.dita +++ b/dita/RTC/API/api_resumeaudiomixing.dita @@ -13,13 +13,14 @@

    - public abstract int resumeAudioMixing(); - - (int)resumeAudioMixing; - virtual int resumeAudioMixing() = 0; - resumeAudioMixing(): number - public abstract int ResumeAudioMixing(); - - Future<void> resumeAudioMixing();

    + public abstract int resumeAudioMixing(); + - (int)resumeAudioMixing; + virtual int resumeAudioMixing() = 0; + resumeAudioMixing(): number + public abstract int ResumeAudioMixing(); + + Future<void> resumeAudioMixing(); +

    该方法恢复混音,继续播放音乐文件。请在频道内调用该方法。

    @@ -27,8 +28,9 @@
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_resumeeffect.dita b/dita/RTC/API/api_resumeeffect.dita index d58e1486f2f..87d5aa36966 100644 --- a/dita/RTC/API/api_resumeeffect.dita +++ b/dita/RTC/API/api_resumeeffect.dita @@ -13,29 +13,32 @@

    - public abstract int resumeEffect(int soundId); + public abstract int resumeEffect(int soundId); - - (int)resumeEffect:(int)soundId; + - (int)resumeEffect:(int)soundId; - virtual int resumeEffect(int soundId) = 0; - resumeEffect(soundId: number): number - public abstract int ResumeEffect(int soundId); - - Future<void> resumeEffect(int soundId);

    + virtual int resumeEffect(int soundId) = 0; + resumeEffect(soundId: number): number + public abstract int ResumeEffect(int soundId); + + Future<void> resumeEffect(int soundId); +

    参数 - - soundId - - -
    + + soundId + + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_rtc_local_view_surfaceview.dita b/dita/RTC/API/api_rtc_local_view_surfaceview.dita index 93c7c4ca775..e8896693694 100644 --- a/dita/RTC/API/api_rtc_local_view_surfaceview.dita +++ b/dita/RTC/API/api_rtc_local_view_surfaceview.dita @@ -2,8 +2,7 @@ <ph keyref="LocalViewSurfaceViewConstructor"/> - 用于渲染本地视频的 SurfaceView 类的构造方法。 + 用于渲染本地视频的 SurfaceView 类的构造方法。 @@ -14,13 +13,13 @@

    - - - - - - - const SurfaceView({ + + + + + + + const SurfaceView({ Key? key, String? channelId, renderMode = VideoRenderMode.Hidden, @@ -39,53 +38,55 @@ zOrderMediaOverlay: zOrderMediaOverlay, onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, - );

    + ); +

    参数 - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dita/RTC/API/api_rtc_local_view_surfaceview_screen.dita b/dita/RTC/API/api_rtc_local_view_surfaceview_screen.dita index bdeac51f6d1..cae6c0851e2 100644 --- a/dita/RTC/API/api_rtc_local_view_surfaceview_screen.dita +++ b/dita/RTC/API/api_rtc_local_view_surfaceview_screen.dita @@ -2,8 +2,7 @@ <ph keyref="LocalViewSurfaceViewScreenConstructor"/> - 用于渲染本地屏幕共享视频的 SurfaceView 类的构造方法。 + 用于渲染本地屏幕共享视频的 SurfaceView 类的构造方法。 @@ -14,13 +13,13 @@

    - - - - - - - const SurfaceView.screenShare({ + + + + + + + const SurfaceView.screenShare({ Key? key, renderMode = VideoRenderMode.Hidden, mirrorMode = VideoMirrorMode.Disabled, @@ -34,31 +33,33 @@ onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, subProcess: true, - );

    + ); +

    参数 - - - - - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/api_rtc_local_view_textureview.dita b/dita/RTC/API/api_rtc_local_view_textureview.dita index d89c50c1c2e..e663fc3b1f7 100644 --- a/dita/RTC/API/api_rtc_local_view_textureview.dita +++ b/dita/RTC/API/api_rtc_local_view_textureview.dita @@ -2,8 +2,7 @@ <ph keyref="LocalViewTextureViewConstructor"/> - 用于渲染本地视频的 TextureView 类的构造方法。 + 用于渲染本地视频的 TextureView 类的构造方法。 @@ -14,13 +13,13 @@

    - - - - - - - const TextureView({ + + + + + + + const TextureView({ Key? key, String? channelId, renderMode = VideoRenderMode.Hidden, @@ -37,45 +36,47 @@ onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, useFlutterTexture: useFlutterTexture, - );

    + ); +

    参数 - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + + diff --git a/dita/RTC/API/api_rtc_local_view_textureview_screen.dita b/dita/RTC/API/api_rtc_local_view_textureview_screen.dita index dc4e01983c2..ffbdc3ebf69 100644 --- a/dita/RTC/API/api_rtc_local_view_textureview_screen.dita +++ b/dita/RTC/API/api_rtc_local_view_textureview_screen.dita @@ -2,8 +2,7 @@ <ph keyref="LocalViewTextureViewScreenConstructor"/> - 用于渲染本地屏幕共享视频的 TextureView 类的构造方法。 + 用于渲染本地屏幕共享视频的 TextureView 类的构造方法。 @@ -14,13 +13,13 @@

    - - - - - - - const TextureView.screenShare({ + + + + + + + const TextureView.screenShare({ Key? key, renderMode = VideoRenderMode.Hidden, mirrorMode = VideoMirrorMode.Disabled, @@ -36,35 +35,37 @@ gestureRecognizers: gestureRecognizers, useFlutterTexture: useFlutterTexture, subProcess: true, - );

    + ); +

    参数 - - - - - - - - - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/api_rtc_remote_view_surfaceview.dita b/dita/RTC/API/api_rtc_remote_view_surfaceview.dita index 6368802df4a..9ae28a46590 100644 --- a/dita/RTC/API/api_rtc_remote_view_surfaceview.dita +++ b/dita/RTC/API/api_rtc_remote_view_surfaceview.dita @@ -2,8 +2,7 @@ <ph keyref="RemoteViewSurfaceViewConstructor"/> - 用于渲染远端视频的 SurfaceView 类的构造方法。 + 用于渲染远端视频的 SurfaceView 类的构造方法。 @@ -14,13 +13,13 @@

    - - - - - - - const SurfaceView({ + + + + + + + const SurfaceView({ Key? key, required int uid, required String channelId, @@ -41,53 +40,55 @@ zOrderMediaOverlay: zOrderMediaOverlay, onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, - );

    + ); +

    参数 - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dita/RTC/API/api_rtc_remote_view_textureview.dita b/dita/RTC/API/api_rtc_remote_view_textureview.dita index b618a155efb..2b54e6ae784 100644 --- a/dita/RTC/API/api_rtc_remote_view_textureview.dita +++ b/dita/RTC/API/api_rtc_remote_view_textureview.dita @@ -2,8 +2,7 @@ <ph keyref="RemoteViewTextureViewConstructor"/> - 用于渲染远端视频的 TextureView 类的构造方法。 + 用于渲染远端视频的 TextureView 类的构造方法。 @@ -14,13 +13,13 @@

    - - - - - - - const TextureView({ + + + + + + + const TextureView({ Key? key, required int uid, required String channelId, @@ -39,49 +38,51 @@ onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, useFlutterTexture: useFlutterTexture, - );

    + ); +

    参数 - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + + diff --git a/dita/RTC/API/api_rtc_render_view_rtcsurfaceview.dita b/dita/RTC/API/api_rtc_render_view_rtcsurfaceview.dita index 4d39950845a..40af9e68720 100644 --- a/dita/RTC/API/api_rtc_render_view_rtcsurfaceview.dita +++ b/dita/RTC/API/api_rtc_render_view_rtcsurfaceview.dita @@ -13,13 +13,13 @@

    - - - - - - - const RtcSurfaceView({ + + + + + + + const RtcSurfaceView({ Key? key, required this.uid, this.channelId, @@ -30,63 +30,58 @@ this.onPlatformViewCreated, this.gestureRecognizers, this.subProcess = false, - }) : super(key: key);

    + }) : super(key: key); +

    参数 - - key - WidgetElementSemanticsNode 的标识符。详见 Flutter 官方文档关于 key 对象的描述。 - - - uid - 用户 ID。 - - - channelId - -

    - - - - renderMode - 视频渲染模式,详见 - - - mirrorMode - 视频镜像模式,详见 - - - zOrderOnTop - 是否将当前画面放置在当前窗口的另一个图层上。 - - - - - 该参数仅适用于 Android。 - - - zOrderMediaOverlay - 是否将 SurfaceView 视图的表层置于窗口中另一个 SurfaceView 的上层 (但依然位于窗口的下层)。 - - - - - 该参数仅适用于 Android。 - - - onPlatformViewCreated - 平台视图被创建时会触发该事件。 - - - gestureRecognizers - Gesture 对象。 - - - subProcess - 是否创建一个子进程。 - -

    + + key + WidgetElement 和 + SemanticsNode 的标识符。详见 Flutter 官方文档关于 + key 对象的描述。 + + + uid + 用户 ID。 + + + channelId + +

    + + + + renderMode + 视频渲染模式,详见 + + + mirrorMode + 视频镜像模式,详见 + + + zOrderOnTop + 是否将当前画面放置在当前窗口的另一个图层上。 该参数仅适用于 Android。 + + + zOrderMediaOverlay + 是否将 SurfaceView 视图的表层置于窗口中另一个 SurfaceView 的上层 (但依然位于窗口的下层)。 该参数仅适用于 Android。 + + + onPlatformViewCreated + 平台视图被创建时会触发该事件。 + + + gestureRecognizers + Gesture 对象。 + + + subProcess + 是否创建一个子进程。 + + + diff --git a/dita/RTC/API/api_rtc_render_view_rtctextureview.dita b/dita/RTC/API/api_rtc_render_view_rtctextureview.dita index 0d747c1ef74..4f320ba9774 100644 --- a/dita/RTC/API/api_rtc_render_view_rtctextureview.dita +++ b/dita/RTC/API/api_rtc_render_view_rtctextureview.dita @@ -13,13 +13,13 @@

    - - - - - - - const RtcTextureView({ + + + + + + + const RtcTextureView({ Key? key, required this.uid, this.channelId, @@ -29,49 +29,51 @@ this.gestureRecognizers, this.useFlutterTexture = true, this.subProcess = false, - }) : super(key: key);

    + }) : super(key: key); +

    参数 - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + + diff --git a/dita/RTC/API/api_selectaudiotrack.dita b/dita/RTC/API/api_selectaudiotrack.dita index 4b89fc6b102..c65e9e9a5e4 100644 --- a/dita/RTC/API/api_selectaudiotrack.dita +++ b/dita/RTC/API/api_selectaudiotrack.dita @@ -13,35 +13,43 @@

    - - - - - public abstract int SelectAudioTrack(int index); - -

    + + + + + public abstract int SelectAudioTrack(int index); + + +

    -

    获取音乐文件的音轨数量后,你可以调用该方法指定任一音轨进行播放。例如,如果一个多音轨文件的 不同音轨存放了不同语言的歌曲,则你可以调用该方法设置音乐文件的播放语言。

    +

    获取音乐文件的音轨数量后,你可以调用该方法指定任一音轨进行播放。例如,如果一个多音轨文件的 + 不同音轨存放了不同语言的歌曲,则你可以调用该方法设置音乐文件的播放语言。

    -
      -
    • 你需要在调用 并收到 () 回调后调用该方法。
    • -
    • 该方法仅适用于 Android、iOS 和 Windows。
    • -
    • 该方法支持的音频文件格式见
    • -
    +
      +
    • 你需要在调用 并收到 () 回调后调用该方法。
    • +
    • 该方法仅适用于 Android、iOS 和 Windows。
    • +
    • 该方法支持的音频文件格式见
    • +
    + +
    参数 - - index - 指定的播放音轨。取值范围为 [0, ()]。 - -
    + + index + 指定的播放音轨。取值范围为 [0, ()]。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_sendcustomreportmessage.dita b/dita/RTC/API/api_sendcustomreportmessage.dita index 6902e7a76da..d19d2c34747 100644 --- a/dita/RTC/API/api_sendcustomreportmessage.dita +++ b/dita/RTC/API/api_sendcustomreportmessage.dita @@ -13,36 +13,38 @@

    - public abstract int sendCustomReportMessage( + public abstract int sendCustomReportMessage( String id, String category, String event, String label, int value); - - (int)sendCustomReportMessage:(NSString * _Nullable)messageId + - (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, + virtual int sendCustomReportMessage(const char *id, const char* category, const char* event, const char* label, int value) = 0; - sendCustomReportMessage(id: string, + sendCustomReportMessage(id: string, category: string, event: string, label: string, value: number): number - public abstract int SendCustomReportMessage(string id, string category, string events, string label, int value); - - Future<void> sendCustomReportMessage( - String id, String category, String event, String label, int value);

    + public abstract int SendCustomReportMessage(string id, string category, string events, string label, int value); + + Future<void> sendCustomReportMessage( + String id, String category, String event, String label, int value); +

    - -
    自从
    -
    v3.1.0
    -
    + +
    自从
    +
    v3.1.0
    +
    -

    声网提供自定义数据上报和分析服务。该服务当前处于免费内测期。内测期提供的能力为 6 秒内最多上报 10 条数据,每条自定义数据不能超过 256 字节,每个字符串不能超过 100 字节。如需试用该服务,请联系 开通并商定自定义数据格式。

    +

    声网提供自定义数据上报和分析服务。该服务当前处于免费内测期。内测期提供的能力为 6 秒内最多上报 10 条数据,每条自定义数据不能超过 256 + 字节,每个字符串不能超过 100 字节。如需试用该服务,请联系 开通并商定自定义数据格式。

    diff --git a/dita/RTC/API/api_sendmetadata.dita b/dita/RTC/API/api_sendmetadata.dita index a2a02acfa27..0ac89e340e4 100644 --- a/dita/RTC/API/api_sendmetadata.dita +++ b/dita/RTC/API/api_sendmetadata.dita @@ -13,31 +13,35 @@

    - - - - sendMetadata(metadata: Metadata): number - public abstract int SendMetadata(Metadata metadata); - - Future<void> sendMetadata(Uint8List metadata);

    + + + + sendMetadata(metadata: Metadata): number + public abstract int SendMetadata(Metadata metadata); + + Future<void> sendMetadata(Uint8List metadata); +

    -

    成功调用 方法后,SDK 会触发 回调,你可以调用该方法发送媒体附属信息。

    +

    成功调用 方法后,SDK 会触发 回调,你可以调用该方法发送媒体附属信息。

    如果成功发送了媒体附属信息,接收端会收到 回调。

    参数 - - metadata - 媒体附属信息。详见 - -
    + + metadata + 媒体附属信息。详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_sendstreammessage.dita b/dita/RTC/API/api_sendstreammessage.dita index 8917d6996fc..2e0fdee2d8a 100644 --- a/dita/RTC/API/api_sendstreammessage.dita +++ b/dita/RTC/API/api_sendstreammessage.dita @@ -13,63 +13,64 @@

    - public abstract int SendStreamMessage(int streamId, string data, uint length);

    + public abstract int SendStreamMessage(int streamId, string data, uint length); +

    - public abstract int SendStreamMessage(int streamId, byte[] data);

    + public abstract int SendStreamMessage(int streamId, byte[] data);

    - public abstract int sendStreamMessage(int streamId, byte[] message); - - (int)sendStreamMessage:(NSInteger)streamId + public abstract int sendStreamMessage(int streamId, byte[] message); + - (int)sendStreamMessage:(NSInteger)streamId data:(NSData * _Nonnull)data; - virtual int sendStreamMessage(int streamId, + virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0; - sendStreamMessage(streamId: number, data: string): number - - Future<void> sendStreamMessage(int streamId, Uint8List message);

    + sendStreamMessage(streamId: number, data: string): number + + Future<void> sendStreamMessage(int streamId, Uint8List message); +

    -

    该方法发送数据流消息到频道内所有用户。SDK 对该方法的实现进行了如下限制: - - - -

      -
    • 频道内每秒最多能发送 30 个包,且每个包最大为 1 KB。
    • -
    • 每个客户端每秒最多能发送 6 KB 数据。
    • -
    • 频道内每人最多能同时有 5 个数据通道。
    • -

    -

    成功调用该方法后,远端会触发 回调,远端用户可以在该回调中获取接收到的流消息; - 若调用失败,远端会触发 回调。

    +

    该方法发送数据流消息到频道内所有用户。SDK 对该方法的实现进行了如下限制:

      +
    • 频道内每秒最多能发送 30 个包,且每个包最大为 1 KB。
    • +
    • 每个客户端每秒最多能发送 6 KB 数据。
    • +
    • 频道内每人最多能同时有 5 个数据通道。
    • +

    +

    成功调用该方法后,远端会触发 回调,远端用户可以在该回调中获取接收到的流消息; 若调用失败,远端会触发 + 回调。

    -
      -
    • 请确保在调用该方法前,已调用 创建了数据通道。
    • -
    • 直播场景下,该方法仅适用于主播用户。
    • -
    +
      +
    • 请确保在调用该方法前,已调用 创建了数据通道。
    • +
    • 直播场景下,该方法仅适用于主播用户。
    • +
    +
    参数 - - streamId - 数据流 ID。可以通过 获取。 - - - message - data - 待发送的数据。 - - - length - 数据长度。 - - - length - 数据长度。 - -
    + + streamId + 数据流 ID。可以通过 获取。 + + + message + data + 待发送的数据。 + + + length + 数据长度。 + + + length + 数据长度。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setaddonlogfile.dita b/dita/RTC/API/api_setaddonlogfile.dita index 3e747c41eea..02e95298877 100644 --- a/dita/RTC/API/api_setaddonlogfile.dita +++ b/dita/RTC/API/api_setaddonlogfile.dita @@ -13,27 +13,30 @@

    - - - - setAddonLogFile(filePath: string): number - - -

    + + + + setAddonLogFile(filePath: string): number + + + +

    参数 - - filePath - SDK 的 Electron 层的日志文件的完整路径。请确保你指定的目录存在且可写。你可以通过该参数修改日志文件名。 - -
    + + filePath + SDK 的 Electron 层的日志文件的完整路径。请确保你指定的目录存在且可写。你可以通过该参数修改日志文件名。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setaudioeffectparameters.dita b/dita/RTC/API/api_setaudioeffectparameters.dita index eeb55218e70..95675706c5f 100644 --- a/dita/RTC/API/api_setaudioeffectparameters.dita +++ b/dita/RTC/API/api_setaudioeffectparameters.dita @@ -13,125 +13,136 @@

    - public abstract int setAudioEffectParameters(int preset, int param1, int param2); - - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2; - virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0; - setAudioEffectParameters(preset: AUDIO_EFFECT_PRESET, param1: number, param2: number): number - public abstract int SetAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2); - - Future<void> setAudioEffectParameters( - AudioEffectPreset preset, int param1, int param2);

    + public abstract int setAudioEffectParameters(int preset, int param1, int param2); + - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2; + virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0; + setAudioEffectParameters(preset: AUDIO_EFFECT_PRESET, param1: number, param2: number): number + public abstract int SetAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2); + + Future<void> setAudioEffectParameters( + AudioEffectPreset preset, int param1, int param2); +

    详细描述
    - -
    自从
    -
    v3.2.0
    -
    + +
    自从
    +
    v3.2.0
    +
    -

    调用该方法可以对本地发流用户进行如下设置: - - - -

      -
    • 3D 人声音效:设置 3D 人声音效的环绕周期。
    • -
    • 电音音效:设置电音音效的基础调式和主音音高。为方便用户自行调节电音音效,声网推荐你将基础调式和主音音高配置选项与应用的 UI 元素绑定。
    • -

    +

    调用该方法可以对本地发流用户进行如下设置:

      +
    • 3D 人声音效:设置 3D 人声音效的环绕周期。
    • +
    • 电音音效:设置电音音效的基础调式和主音音高。为方便用户自行调节电音音效,声网推荐你将基础调式和主音音高配置选项与应用的 UI 元素绑定。
    • +
    +

    设置后,频道内所有用户都能听到该效果。

    -
      -
    • 该方法在加入频道前后都能调用。
    • -
    • 为获取更好的人声效果,声网推荐你在调用该方法前将 scenario 设为 (3)。
    • -
    • 请勿将 profile 参数设置为 (1) 或 (6),否则该方法不生效。
    • -
    • 请勿将 profile 参数设置为 (1),否则该方法不生效。
    • -
    • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含音乐的音频数据。
    • -
    • 调用 后,声网不推荐调用以下方法,否则 设置的效果会被覆盖: - - -
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    +
  • 该方法在加入频道前后都能调用。
  • +
  • 为获取更好的人声效果,声网推荐你在调用该方法前将 的 + scenario 设为 (3)。
  • +
  • 请勿将 的 + profile 参数设置为 (1) 或 (6),否则该方法不生效。
  • +
  • 请勿将 的 + profile 参数设置为 (1),否则该方法不生效。
  • +
  • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含音乐的音频数据。
  • +
  • 调用 后,声网不推荐调用以下方法,否则 设置的效果会被覆盖:
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • + + +
    参数 - - preset - SDK 预设的音效,支持以下设置: - - -
      -
    • ,3D 人声音效。 - - + + preset + SDK 预设的音效,支持以下设置:
        +
      • ,3D 人声音效。
          +
        • 你需要在使用该枚举前将 的 + profile 参数设置 为 (3) 或 + (5),否则该枚举设置无效。
        • +
        • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
        • +
        +
      • +
      • ,电音音效。为获取更好的人声效果,声网 建议你在使用该枚举前将 + 的 + profile 参数设置为 (4) 或 (5)。
      • +
      +
      +
      + + param1 +
        -
      • 你需要在使用该枚举前将 的 - profile 参数设置 为 (3) 或 - (5),否则该枚举设置无效。
      • -
      • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
      • -
    • -
    • ,电音音效。为获取更好的人声效果,声网 - 建议你在使用该枚举前将 的 - profile 参数设置为 (4) 或 (5)。
    • -
    -
    - - param1 - -
      -
    • 如果 preset 设为 ,则 param1 表示 3D 人声音效的环绕周期。取值范围为 [1,60],单位为秒。默认值为 10,表示人声会 10 秒环绕 360 度。
    • -
    • 如果 preset 设为 ,则 param1 表示电音音效的基础调式: - - - +
    • 如果 preset 设为 ,则 + param1 表示 3D 人声音效的环绕周期。取值范围为 + [1,60],单位为秒。默认值为 10,表示人声会 10 秒环绕 360 度。
    • +
    • 如果 preset 设为 ,则 param1 表示电音音效的基础调式:
        +
      • 1: (默认)自然大调。
      • +
      • 2: 自然小调。
      • +
      • 3: 和风小调。
      • +
      +
    • +
    +
    +
    + + param2 +
      -
    • 1: (默认)自然大调。
    • -
    • 2: 自然小调。
    • -
    • 3: 和风小调。
    • -
    -
    -
    - - param2 - -
      -
    • 如果 preset 设为 ,你需要将 param2 设置为 0
    • -
    • 如果 preset 设为 ,则 param2 表示电音音效的主音音高: - - - -
        -
      • 1: A
      • -
      • 2: A#
      • -
      • 3: B
      • -
      • 4: (Default) C
      • -
      • 5: C#
      • -
      • 6: D
      • -
      • 7: D#
      • -
      • 8: E
      • -
      • 9: F
      • -
      • 10: F#
      • -
      • 11: G
      • -
      • 12: G#
      • -
    • -
    -
    -
    +
  • 如果 preset 设为 ,你需要将 + param2 设置为 0
  • +
  • 如果 preset 设为 ,则 param2 表示电音音效的主音音高:
      +
    • 1: A
    • +
    • 2: A#
    • +
    • 3: B
    • +
    • 4: (Default) C
    • +
    • 5: C#
    • +
    • 6: D
    • +
    • 7: D#
    • +
    • 8: E
    • +
    • 9: F
    • +
    • 10: F#
    • +
    • 11: G
    • +
    • 12: G#
    • +
    +
  • + + + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setaudioeffectpreset.dita b/dita/RTC/API/api_setaudioeffectpreset.dita index bdbcb98b2a8..1907e40a53e 100644 --- a/dita/RTC/API/api_setaudioeffectpreset.dita +++ b/dita/RTC/API/api_setaudioeffectpreset.dita @@ -13,90 +13,125 @@

    - public abstract int setAudioEffectPreset(int preset); - - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset; - virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0; - setAudioEffectPreset(preset: AUDIO_EFFECT_PRESET): number - public abstract int SetAudioEffectPreset(AUDIO_EFFECT_PRESET preset); - - Future<void> setAudioEffectPreset(AudioEffectPreset preset);

    + public abstract int setAudioEffectPreset(int preset); + - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset; + virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0; + setAudioEffectPreset(preset: AUDIO_EFFECT_PRESET): number + public abstract int SetAudioEffectPreset(AUDIO_EFFECT_PRESET preset); + + Future<void> setAudioEffectPreset(AudioEffectPreset preset); +

    详细描述
    - -
    自从
    -
    v3.2.0
    -
    + +
    自从
    +
    v3.2.0
    +

    调用该方法可以为本地发流用户设置 SDK 预设的人声音效,且不会改变原声的性别特征。设置音效后,频道内所有用户都能听到该效果。

    根据不同的场景,你可以为用户设置不同的音效,各音效的适用场景可参考《设置人声效果》。

    -

    为获取更好的人声效果,声网推荐你在调用该方法前将 scenario 设为 (3)。

    +

    为获取更好的人声效果,声网推荐你在调用该方法前将 的 + scenario 设为 (3)。

    -
      -
    • 该方法在加入频道前后都能调用。
    • -
    • 请勿将 profile 参数设置为 (1) 或 (6),否则该方法不生效。
    • -
    • 请勿将 profile 参数设置为 (1),否则该方法不生效。
    • -
    • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含音乐的音频数据。
    • -
    • 如果调用 并设置除 外的枚举,请勿再调用 ,否则 设置的效果会被覆盖。
    • -
    • 调用 后,声网不推荐调用以下方法,否则 设置的效果会被覆盖: - - -
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    +
  • 该方法在加入频道前后都能调用。
  • +
  • 请勿将 的 + profile 参数设置为 (1) 或 (6),否则该方法不生效。
  • +
  • 请勿将 的 + profile 参数设置为 (1),否则该方法不生效。
  • +
  • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含音乐的音频数据。
  • +
  • 如果调用 并设置除 外的枚举,请勿再调用 ,否则 设置的效果会被覆盖。
  • +
  • 调用 后,声网不推荐调用以下方法,否则 设置的效果会被覆盖:
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • + + +
    参数 - - preset - 预设的音效选项,详见 - 预设的音效选项。 - - -
      -
    • : 原声,即关闭人声音效。
    • -
    • : KTV。
    • -
    • : 演唱会。
    • -
    • : 录音棚。
    • -
    • : 留声机。
    • -
    • : 虚拟立体声,即 SDK 将单声道的音频渲染出双声道的音效。使用该预设音效前,你需要将 profile 参数设置为 ,否则该预设音效的设置无效。
    • -
    • : 空旷。
    • -
    • : 空灵。
    • -
    • : 3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后,你还可以调用 修改环绕周期。 - - -
        -
      • 使用该预设音效前,你需要将 profile 参数设置为 ,否则该预设音效的设置无效。
      • -
      • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
      • -
    • -
    • : 大叔。建议用于处理男声,否则无法达到预期效果。
    • -
    • : 老年男性。建议用于处理男声,否则无法达到预期效果。
    • -
    • : 男孩。建议用于处理男声,否则无法达到预期效果。
    • -
    • : 少女。建议用于处理女声,否则无法达到预期效果。
    • -
    • : 女孩。建议用于处理女声,否则无法达到预期效果。
    • -
    • : 猪八戒。
    • -
    • : 绿巨人。
    • -
    • : R&B。使用该预设音效前,你需要将 profile 参数设置为 ,否则该预设音效的设置无效。
    • -
    • : 流行。使用该预设音效前,你需要将 profile 参数设置为 ,否则该预设音效的设置无效。
    • -
    • : 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。
    • -
    -
    -
    + + preset + 预设的音效选项,详见 + 预设的音效选项。
      +
    • : 原声,即关闭人声音效。
    • +
    • : KTV。
    • +
    • : 演唱会。
    • +
    • : 录音棚。
    • +
    • : 留声机。
    • +
    • : 虚拟立体声,即 SDK + 将单声道的音频渲染出双声道的音效。使用该预设音效前,你需要将 的 + profile 参数设置为 ,否则该预设音效的设置无效。
    • +
    • : 空旷。
    • +
    • : 空灵。
    • +
    • : 3D 人声,即 SDK + 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后,你还可以调用 修改环绕周期。
        +
      • 使用该预设音效前,你需要将 的 + profile 参数设置为 ,否则该预设音效的设置无效。
      • +
      • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
      • +
    • +
    • : + 大叔。建议用于处理男声,否则无法达到预期效果。
    • +
    • : + 老年男性。建议用于处理男声,否则无法达到预期效果。
    • +
    • : + 男孩。建议用于处理男声,否则无法达到预期效果。
    • +
    • : + 少女。建议用于处理女声,否则无法达到预期效果。
    • +
    • : + 女孩。建议用于处理女声,否则无法达到预期效果。
    • +
    • : 猪八戒。
    • +
    • : 绿巨人。
    • +
    • : R&B。使用该预设音效前,你需要将 profile 参数设置为 + ,否则该预设音效的设置无效。
    • +
    • : 流行。使用该预设音效前,你需要将 profile 参数设置为 + ,否则该预设音效的设置无效。
    • +
    • : 电音,即 SDK 以主音音高为 C + 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setaudiomixingdualmonomode.dita b/dita/RTC/API/api_setaudiomixingdualmonomode.dita index 24c43517d67..cbe36cb7ee0 100644 --- a/dita/RTC/API/api_setaudiomixingdualmonomode.dita +++ b/dita/RTC/API/api_setaudiomixingdualmonomode.dita @@ -13,38 +13,42 @@

    - - - - - public abstract int SetAudioMixingDualMonoMode(AUDIO_MIXING_DUAL_MONO_MODE mode); - -

    + + + + + public abstract int SetAudioMixingDualMonoMode(AUDIO_MIXING_DUAL_MONO_MODE mode); + + +

    -

    在双声道音乐文件中,左声道和右声道可以存储不同的音频数据。根据实际需要,你可以设置声道模式为原始模式、 左声道模式、右声道模式或混合模式。例如,在 KTV 场景中,音乐文件的左声道存储了伴奏,右声道存储了原唱的歌声。 如果你只需听伴奏,调用该方法设置音乐文件的声道模式为左声道模式;如果你需要同时听伴奏和原唱,调用该方法设置声 道模式为混合模式。 - - - - -

      -
    • 你需要在调用 并收到 () 回调后调用该方法。
    • -
    • 该方法仅适用于双声道的音乐文件。
    • -

    +

    在双声道音乐文件中,左声道和右声道可以存储不同的音频数据。根据实际需要,你可以设置声道模式为原始模式、 左声道模式、右声道模式或混合模式。例如,在 KTV + 场景中,音乐文件的左声道存储了伴奏,右声道存储了原唱的歌声。 + 如果你只需听伴奏,调用该方法设置音乐文件的声道模式为左声道模式;如果你需要同时听伴奏和原唱,调用该方法设置声 道模式为混合模式。 +

      +
    • 你需要在调用 并收到 () 回调后调用该方法。
    • +
    • 该方法仅适用于双声道的音乐文件。
    • +
    +

    参数 - - mode - 声道详情。详见 - -
    + + mode + 声道详情。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setaudiomixingpitch.dita b/dita/RTC/API/api_setaudiomixingpitch.dita index 46d53da383e..8d742527996 100644 --- a/dita/RTC/API/api_setaudiomixingpitch.dita +++ b/dita/RTC/API/api_setaudiomixingpitch.dita @@ -13,36 +13,43 @@

    - public abstract int setAudioMixingPitch(int pitch); - - (int)setAudioMixingPitch:(NSInteger)pitch; - virtual int setAudioMixingPitch(int pitch) = 0; - setAudioMixingPitch(pitch: number): number - public abstract int SetAudioMixingPitch(int pitch); - - Future<void> setAudioMixingPitch(int pitch);

    + public abstract int setAudioMixingPitch(int pitch); + - (int)setAudioMixingPitch:(NSInteger)pitch; + virtual int setAudioMixingPitch(int pitch) = 0; + setAudioMixingPitch(pitch: number): number + public abstract int SetAudioMixingPitch(int pitch); + + Future<void> setAudioMixingPitch(int pitch); +

    - -
    自从
    -
    v3.0.1
    -
    + +
    自从
    +
    v3.0.1
    +

    本地人声和播放的音乐文件混音时,调用该方法可以仅调节音乐文件的音调。

    - 你需要在调用 并收到 () 回调后调用该方法。
    + 你需要在调用 并收到 () 回调后调用该方法。 +
    参数 - - pitch - 按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。取值范围为 [-12,12],每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。 - -
    + + pitch + 按半音音阶调整本地播放的音乐文件的音调,默认值为 0,即不调整音调。取值范围为 + [-12,12],每相邻两个值的音高距离相差半音。取值的绝对值越大,音调升高或降低得越多。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setaudiomixingplaybackspeed.dita b/dita/RTC/API/api_setaudiomixingplaybackspeed.dita index c36ec6251bf..21a95e06c70 100644 --- a/dita/RTC/API/api_setaudiomixingplaybackspeed.dita +++ b/dita/RTC/API/api_setaudiomixingplaybackspeed.dita @@ -13,42 +13,45 @@

    - public abstract int setAudioMixingPlaybackSpeed(int speed); - - (int)setAudioMixingPlaybackSpeed:(int)speed; - virtual int setAudioMixingPlaybackSpeed(int speed) = 0; - - public abstract int SetAudioMixingPlaybackSpeed(int speed); - - Future<void> setAudioMixingPlaybackSpeed(int speed);

    + public abstract int setAudioMixingPlaybackSpeed(int speed); + - (int)setAudioMixingPlaybackSpeed:(int)speed; + virtual int setAudioMixingPlaybackSpeed(int speed) = 0; + + public abstract int SetAudioMixingPlaybackSpeed(int speed); + + Future<void> setAudioMixingPlaybackSpeed(int speed); +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    -

    你需要在调用 并收到 () 回调后调用该方法。

    +

    你需要在调用 并收到 () 回调后调用该方法。

    参数 - - speed - 播放速度。推荐取值范围为 [50,400],其中: - -
      -
    • 50: 0.5 倍速。
    • -
    • 100: 原始速度。
    • -
    • 400: 4 倍速。
    • -
    -
    -
    + + speed + 播放速度。推荐取值范围为 [50,400],其中:
      +
    • 50: 0.5 倍速。
    • +
    • 100: 原始速度。
    • +
    • 400: 4 倍速。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setaudiomixingposition.dita b/dita/RTC/API/api_setaudiomixingposition.dita index d2cbe79e7e6..11f01e4f219 100644 --- a/dita/RTC/API/api_setaudiomixingposition.dita +++ b/dita/RTC/API/api_setaudiomixingposition.dita @@ -13,30 +13,35 @@

    - public abstract int setAudioMixingPosition(int pos); - - (int)setAudioMixingPosition:(NSInteger)pos; - virtual int setAudioMixingPosition(int pos /*in ms*/) = 0; - setAudioMixingPosition(pos: number): number - public abstract int SetAudioMixingPosition(int pos); - - Future<void> setAudioMixingPosition(int pos);

    + public abstract int setAudioMixingPosition(int pos); + - (int)setAudioMixingPosition:(NSInteger)pos; + virtual int setAudioMixingPosition(int pos /*in ms*/) = 0; + setAudioMixingPosition(pos: number): number + public abstract int SetAudioMixingPosition(int pos); + + Future<void> setAudioMixingPosition(int pos); +

    该方法可以设置音频文件的播放位置,这样你可以根据实际情况播放文件,而非从头到尾播放整个文件。

    - 你需要在调用 并收到 (PLAY) 回调后调用该方法。
    + 你需要在调用 并收到 (PLAY) 回调后调用该方法。 +
    参数 - - pos - 整数。进度条位置,单位为毫秒。 - -
    + + pos + 整数。进度条位置,单位为毫秒。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setaudioprofile.dita b/dita/RTC/API/api_setaudioprofile.dita index 0fa5d7631c7..e010edebb8f 100644 --- a/dita/RTC/API/api_setaudioprofile.dita +++ b/dita/RTC/API/api_setaudioprofile.dita @@ -13,74 +13,100 @@

    - public abstract int setAudioProfile(int profile, int scenario); - - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario; - virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0; - setAudioProfile(profile: AUDIO_PROFILE_TYPE, scenario: AUDIO_SCENARIO_TYPE): number - public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario); - - Future<void> setAudioProfile(AudioProfile profile, AudioScenario scenario);

    + public abstract int setAudioProfile(int profile, int scenario); + - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario; + virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0; + setAudioProfile(profile: AUDIO_PROFILE_TYPE, scenario: AUDIO_SCENARIO_TYPE): number + public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario); + + Future<void> setAudioProfile(AudioProfile profile, AudioScenario scenario); +

    -
      -
    • 该方法在加入频道前后均可调用。
    • -
    • 该方法需要在加入频道前调用。
    • -
    • 在有高音质需求的场景(例如音乐教学场景)中,建议将 profile 设置为 (4),scenario 设置为 (3)(6)
    • -
    +
      +
    • 该方法在加入频道前后均可调用。
    • +
    • 该方法需要在加入频道前调用。
    • +
    • 在有高音质需求的场景(例如音乐教学场景)中,建议将 profile 设置为 (4),scenario 设置为 (3)(6)
    • +
    + +
    参数 - - profile - -

    音频编码属性,包含采样率、码率、编码模式和声道数。详见 -

      -
    • (0):默认值 - - -
        -
      • -
    • -
    • (1):指定 32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。
    • -
    • (2):指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。
    • -
    • (3):指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。
    • -
    • (4):指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 96 Kbps。
    • -
    • (5):指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。
    • -

    -
    -
    - - scenario - 音频场景。详见 不同的音频场景下,设备的音量类型是不同的。 -
      -
    • (0): (默认)自动场景,根据用户角色和音频路由自动匹配合适的音质。
    • -
    • (3): 高音质场景,适用于音乐为主的场景。
    • -
    • (5): 聊天室场景,适用于用户需要频繁上下麦的场景。
    • -
    • (6): 高音质场景,适用于音乐为主的场景。
    • -
    • (7): 合唱场景。适用于网络条件良好,要求极低延时的实时合唱场景。 - - -
    • -
    - 音频场景。详见 不同的音频场景下,设备的音量类型是不同的。 -
      -
    • (0): 默认的音频应用场景。
    • -
    • (1): 娱乐场景,适用于用户需要频繁上下麦的场景。
    • -
    • (2): 教育场景,适用于需要高流畅度和稳定性的场景。
    • -
    • (3): 高音质场景,适用于音乐为主的场景。
    • -
    • (4): 秀场场景,适用于需要高音质的单主播场景。
    • -
    • (5): 游戏开黑场景,适用于只有人声的场景。
    • -
    • (6): IoT(物联网)场景,适用于使用低功耗 IoT 设备的场景。
    • -
    • (8): 会议场景,适用于人声为主的多人会议
    • -
    -
    -
    + + profile + +

    音频编码属性,包含采样率、码率、编码模式和声道数。详见 +

      +
    • (0):默认值
        +
      • +
    • +
    • (1):指定 32 kHz + 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。
    • +
    • (2):指定 48 kHz + 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。
    • +
    • (3):指定 48 kHz + 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。
    • +
    • (4):指定 48 kHz + 采样率,音乐编码,单声道,编码码率最大值为 96 Kbps。
    • +
    • (5):指定 48 + kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。
    • +

    +
    +
    + + scenario + 音频场景。详见 不同的音频场景下,设备的音量类型是不同的。 +
      +
    • (0): + (默认)自动场景,根据用户角色和音频路由自动匹配合适的音质。
    • +
    • (3): + 高音质场景,适用于音乐为主的场景。
    • +
    • (5): + 聊天室场景,适用于用户需要频繁上下麦的场景。
    • +
    • (6): + 高音质场景,适用于音乐为主的场景。
    • +
    • (7): + 合唱场景。适用于网络条件良好,要求极低延时的实时合唱场景。
    • +
    + 音频场景。详见 + + 。不同的音频场景下,设备的音量类型是不同的。 +
      +
    • (0): 默认的音频应用场景。
    • +
    • (1): + 娱乐场景,适用于用户需要频繁上下麦的场景。
    • +
    • (2): + 教育场景,适用于需要高流畅度和稳定性的场景。
    • +
    • (3): + 高音质场景,适用于音乐为主的场景。
    • +
    • (4): 秀场场景,适用于需要高音质的单主播场景。
    • +
    • (5): + 游戏开黑场景,适用于只有人声的场景。
    • +
    • (6): IoT(物联网)场景,适用于使用低功耗 IoT + 设备的场景。
    • +
    • (8): 会议场景,适用于人声为主的多人会议
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setaudioprofile2.dita b/dita/RTC/API/api_setaudioprofile2.dita index 0c0ffb12263..5ccdc893c4c 100644 --- a/dita/RTC/API/api_setaudioprofile2.dita +++ b/dita/RTC/API/api_setaudioprofile2.dita @@ -13,38 +13,46 @@

    - public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile);

    + public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile);

    - public synchronized int setAudioProfile(int profile) - - (int)setAudioProfile:(AgoraAudioProfile)profile; - virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0; - - -

    + public synchronized int setAudioProfile(int profile) + - (int)setAudioProfile:(AgoraAudioProfile)profile; + virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0; + + + +

    -
      -
    • 该方法在加入频道前后均可调用。
    • -
    • 该方法需要在加入频道前调用。
    • -
    • 在有高音质需求的场景(例如音乐教学场景)中,建议将 profile 设置为 (4)
    • -
    • 如果你想设置音频应用场景,请调用 并设置 结构体中的 mAudioScenarioaudioScenario
    • -
    +
      +
    • 该方法在加入频道前后均可调用。
    • +
    • 该方法需要在加入频道前调用。
    • +
    • 在有高音质需求的场景(例如音乐教学场景)中,建议将 profile 设置为 (4)
    • +
    • 如果你想设置音频应用场景,请调用 并设置 结构体中的 mAudioScenarioaudioScenario
    • +
    + +
    参数 - - profile - -

    - - -

    + + profile + +

    + + + +

    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setaudiosessionoperationrestriction.dita b/dita/RTC/API/api_setaudiosessionoperationrestriction.dita index efe75abe2fa..3ad52530ee8 100644 --- a/dita/RTC/API/api_setaudiosessionoperationrestriction.dita +++ b/dita/RTC/API/api_setaudiosessionoperationrestriction.dita @@ -13,36 +13,44 @@

    - - - virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0; - - public abstract int SetAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction); - - Future<void> setAudioSessionOperationRestriction( - AudioSessionOperationRestriction restriction);

    + + + virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0; + + public abstract int SetAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction); + + Future<void> setAudioSessionOperationRestriction( + AudioSessionOperationRestriction restriction); +

    -

    默认情况下,SDK 和 app 对 Audio Session 都有操作权限。如果你只需使用 app 对 Audio Session 进行操作,你可以调用该方法限制 SDK 对 Audio Session 的操作权限。

    -

    该方法在加入频道前后都能调用。一旦调用该方法限制了 SDK 对 Audio Session 的操作权限,该限制会在 SDK 需要更改 Audio Session 时生效。

    +

    默认情况下,SDK 和 app 对 Audio Session 都有操作权限。如果你只需使用 app 对 Audio Session 进行操作,你可以调用该方法限制 + SDK 对 Audio Session 的操作权限。

    +

    该方法在加入频道前后都能调用。一旦调用该方法限制了 SDK 对 Audio Session 的操作权限,该限制会在 SDK 需要更改 Audio Session + 时生效。

    -
      -
    • 该方法仅适用于 iOS 平台。
    • -
    • 该方法不会限制 app 对 Audio Session 的操作权限。
    • -
    +
      +
    • 该方法仅适用于 iOS 平台。
    • +
    • 该方法不会限制 app 对 Audio Session 的操作权限。
    • +
    +
    参数 - - restriction - SDK 对 Audio Session 的操作权限,详见 。该参数为 Bit Mask,每个 Bit 对应一个权限。 - -
    + + restriction + SDK 对 Audio Session 的操作权限,详见 。该参数为 Bit Mask,每个 Bit + 对应一个权限。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setavsyncsource.dita b/dita/RTC/API/api_setavsyncsource.dita index 7d60103e8a8..4fb79d7a3d0 100644 --- a/dita/RTC/API/api_setavsyncsource.dita +++ b/dita/RTC/API/api_setavsyncsource.dita @@ -1,8 +1,12 @@ - <ph keyref="setAVSyncSource"/> - 设置发流端音画同步。 + + <ph keyref="setAVSyncSource"/> + + + 设置发流端音画同步。 + @@ -13,34 +17,40 @@

    - public abstract int setAVSyncSource(String channelId, int uid); - - (int) setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid; - virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0; - - public abstract int SetAVSyncSource(string channelId, uint uid); - -

    + public abstract int setAVSyncSource(String channelId, int uid); + - (int) setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid; + virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0; + + public abstract int SetAVSyncSource(string channelId, uint uid); + + +

    -

    同一用户可能使用两个设备分别发送音频流和视频流,为保证接收端听到和看到的音频和视频的时间同步性,你可以在视频发送端调用该方法,并传入音频发送端的频道名、用户 ID。 SDK 会以发送的音频流的时间戳为基准进行自动调节发送的视频流,以保证即使在两个发送端的上行网络情况不一致(如分别使用 Wi-Fi 和 4G 网络)的情况下,也能让接收到的音视频具有时间同步性。

    - 声网推荐你在加入频道前调用该方法。
    +

    同一用户可能使用两个设备分别发送音频流和视频流,为保证接收端听到和看到的音频和视频的时间同步性,你可以在视频发送端调用该方法,并传入音频发送端的频道名、用户 ID。 + SDK 会以发送的音频流的时间戳为基准进行自动调节发送的视频流,以保证即使在两个发送端的上行网络情况不一致(如分别使用 Wi-Fi 和 4G + 网络)的情况下,也能让接收到的音视频具有时间同步性。

    + 声网推荐你在加入频道前调用该方法。 +
    参数 - - channelId - 标识音频发送端所在频道的频道名。 - - - uid - 音频发送端的用户 ID。 - -
    + + channelId + 标识音频发送端所在频道的频道名。 + + + uid + 音频发送端的用户 ID。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setbeautyeffectoptions.dita b/dita/RTC/API/api_setbeautyeffectoptions.dita index 4395c2fd8ea..4e7f493292f 100644 --- a/dita/RTC/API/api_setbeautyeffectoptions.dita +++ b/dita/RTC/API/api_setbeautyeffectoptions.dita @@ -13,69 +13,81 @@

    - public abstract int setBeautyEffectOptions(boolean enabled, BeautyOptions options); - - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options; - virtual int setBeautyEffectOptions(bool enabled, BeautyOptions options) = 0; - setBeautyEffectOptions(enabled: boolean, options: BeautyOptions): number - public abstract int SetBeautyEffectOptions(bool enabled, BeautyOptions options); - - Future<void> setBeautyEffectOptions(bool enabled, BeautyOptions options);

    + public abstract int setBeautyEffectOptions(boolean enabled, BeautyOptions options); + - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options; + virtual int setBeautyEffectOptions(bool enabled, BeautyOptions options) = 0; + setBeautyEffectOptions(enabled: boolean, options: BeautyOptions): number + public abstract int SetBeautyEffectOptions(bool enabled, BeautyOptions options); + + Future<void> setBeautyEffectOptions(bool enabled, BeautyOptions options); +

    - -
    自从
    -
    -
    + +
    自从
    +
    +

    开启本地美颜功能,并设置美颜效果选项。

    -

    开启美颜功能涉及一系列方法的调用,调用顺序如下: - -

      -
    1. 在初始化 时调用 (agora_video_process),在项目中集成视频增强动态库。
    2. -
    3. 在项目文件中链接动态库 AgoraVideoProcessExtension.xcframework
    4. -
    5. 在项目文件中链接动态库 AgoraVideoProcessExtension.framework
    6. -
    7. 在初始化 时调用 (libagora_video_process_extension.dll),指定动态库的路径。
    8. -
    9. 调用 (agora, beauty, ),开启插件。
    10. -
    11. 调用 ,启用视频模块。
    12. -
    13. 调用该方法,开启美颜功能。
    14. -

    +

    开启美颜功能涉及一系列方法的调用,调用顺序如下:

      +
    1. 在初始化 时调用 (agora_video_process),在项目中集成视频增强动态库。
    2. +
    3. 在项目文件中链接动态库 + AgoraVideoProcessExtension.xcframework
    4. +
    5. 在项目文件中链接动态库 + AgoraVideoProcessExtension.framework
    6. +
    7. 在初始化 时调用 (libagora_video_process_extension.dll),指定动态库的路径。
    8. +
    9. 调用 (agora, beauty, + ),开启插件。
    10. +
    11. 调用 ,启用视频模块。
    12. +
    13. 调用该方法,开启美颜功能。
    14. +

    -
      -
    • 该方法需要在 后调用。
    • -
    • 声网从 3.6.0 版起更新了基础美颜算法,能提升基础美颜效果并支持锐度调节功能。如果你想体验优化后的基础美颜效果或设置锐度,请在调用该方法前,将 libagora_video_process_extension.so 动态库集成到项目文件中。
    • -
    • 声网从 3.6.0 版起更新了基础美颜算法,能提升基础美颜效果并支持锐度调节功能。如果你想体验优化后的基础美颜效果或设置锐度,请在调用该方法前,将 AgoraVideoProcessExtension.xcframework 动态库集成到项目文件中。
    • -
    • 声网从 3.6.0 版起更新了基础美颜算法,能提升基础美颜效果并支持锐度调节功能。如果你想体验优化后的基础美颜效果或设置锐度,请在调用该方法前,将 libagora_video_process_extension.dll 动态库集成到项目文件中。
    • -
    - 该方法仅适用于 Android 5.0 及以上版本。
    +
      +
    • 该方法需要在 后调用。
    • +
    • 声网从 3.6.0 + 版起更新了基础美颜算法,能提升基础美颜效果并支持锐度调节功能。如果你想体验优化后的基础美颜效果或设置锐度,请在调用该方法前,将 + libagora_video_process_extension.so 动态库集成到项目文件中。
    • +
    • 声网从 3.6.0 + 版起更新了基础美颜算法,能提升基础美颜效果并支持锐度调节功能。如果你想体验优化后的基础美颜效果或设置锐度,请在调用该方法前,将 + AgoraVideoProcessExtension.xcframework + 动态库集成到项目文件中。
    • +
    • 声网从 3.6.0 + 版起更新了基础美颜算法,能提升基础美颜效果并支持锐度调节功能。如果你想体验优化后的基础美颜效果或设置锐度,请在调用该方法前,将 + libagora_video_process_extension.dll 动态库集成到项目文件中。
    • +
    + + 该方法仅适用于 Android 5.0 及以上版本。 +
    参数 - - enabled - enable - 是否开启美颜功能: - -
      -
    • : 开启。
    • -
    • :(默认)关闭。
    • -
    -
    - - options - 美颜选项,详细定义见 - -
    + + enabled + enable + 是否开启美颜功能:
      +
    • : 开启。
    • +
    • :(默认)关闭。
    • +
    +
    + + options + 美颜选项,详细定义见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - -
        -
      • ERR_NOT_SUPPORTED(4):当前设备版本低于 Android 5.0,不支持该操作。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • ERR_NOT_SUPPORTED(4):当前设备版本低于 Android 5.0,不支持该操作。
    • +
  • + +
    diff --git a/dita/RTC/API/api_setcameraautoexposurefacemodeenabled.dita b/dita/RTC/API/api_setcameraautoexposurefacemodeenabled.dita index 20ccf1c363c..a1e66d53b23 100644 --- a/dita/RTC/API/api_setcameraautoexposurefacemodeenabled.dita +++ b/dita/RTC/API/api_setcameraautoexposurefacemodeenabled.dita @@ -13,23 +13,25 @@

    - - - virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0; + + + virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0; - - - -

    + + + + +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_setcameraautofocusfacemodeenabled.dita b/dita/RTC/API/api_setcameraautofocusfacemodeenabled.dita index 06ca932ba14..1a84215a0d4 100644 --- a/dita/RTC/API/api_setcameraautofocusfacemodeenabled.dita +++ b/dita/RTC/API/api_setcameraautofocusfacemodeenabled.dita @@ -13,43 +13,45 @@

    - public abstract int setCameraAutoFocusFaceModeEnabled(boolean enabled); - - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable; - virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0; + public abstract int setCameraAutoFocusFaceModeEnabled(boolean enabled); + - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable; + virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0; - - public abstract int SetCameraAutoFocusFaceModeEnabled(bool enabled); - -

    + + public abstract int SetCameraAutoFocusFaceModeEnabled(bool enabled); + + +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 请在启动摄像头之前调用该方法,如 或者 之前。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 请在启动摄像头之前调用该方法,如 + 或者 之前。
    • +
    +
    参数 - - enabled - enable - -

    是否开启人脸对焦: - - -

      -
    • : 开启人脸对焦功能。
    • -
    • :(默认)关闭人脸对焦功能。
    • -

    -
    -
    -
    + + enabled + enable + +

    是否开启人脸对焦:

      +
    • : 开启人脸对焦功能。
    • +
    • :(默认)关闭人脸对焦功能。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setcameracapturerconfiguration.dita b/dita/RTC/API/api_setcameracapturerconfiguration.dita index 446b6d2ea6b..8a382746a66 100644 --- a/dita/RTC/API/api_setcameracapturerconfiguration.dita +++ b/dita/RTC/API/api_setcameracapturerconfiguration.dita @@ -13,43 +13,54 @@

    - public abstract int setCameraCapturerConfiguration(CameraCapturerConfiguration config); - - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config; - virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0; - setCameraCapturerConfiguration(config: CameraCapturerConfiguration): number - public abstract int SetCameraCapturerConfiguration(CameraCapturerConfiguration config); - - Future<void> setCameraCapturerConfiguration( - CameraCapturerConfiguration config);

    + public abstract int setCameraCapturerConfiguration(CameraCapturerConfiguration config); + - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config; + virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0; + setCameraCapturerConfiguration(config: CameraCapturerConfiguration): number + public abstract int SetCameraCapturerConfiguration(CameraCapturerConfiguration config); + + Future<void> setCameraCapturerConfiguration( + CameraCapturerConfiguration config); +

    -

    一般的视频通话或直播中,默认由 SDK 自动控制摄像头的输出参数。在如下特殊场景中,默认的参数无法满足需求或可能引起设备性能问题,我们推荐调用该方法设置摄像头的采集偏好: - - -

      -
    • 使用原始音视频数据自采集接口时,如果 SDK 输出的分辨率和帧率高于 中指定的参数,在后续处理视频帧的时候,比如美颜功能时,会需要更高的 CPU 及内存,容易导致性能问题。在这种情况下,我们推荐将摄像头采集偏好设置为 (1), 避免性能问题。
    • -
    • 如果没有本地预览功能或者对预览质量没有要求,我们推荐将采集偏好设置为 (1),以优化 CPU 和内存的资源分配。
    • -
    • 如果用户希望本地预览视频比实际编码发送的视频清晰,可以将采集偏好设置为 (2)。
    • -
    • 如果用户需要自定义本地采集的视频宽高,请将采集偏好设为 (3)。
    • -

    +

    一般的视频通话或直播中,默认由 SDK + 自动控制摄像头的输出参数。在如下特殊场景中,默认的参数无法满足需求或可能引起设备性能问题,我们推荐调用该方法设置摄像头的采集偏好:

      +
    • 使用原始音视频数据自采集接口时,如果 SDK 输出的分辨率和帧率高于 + 中指定的参数,在后续处理视频帧的时候,比如美颜功能时,会需要更高的 CPU 及内存,容易导致性能问题。在这种情况下,我们推荐将摄像头采集偏好设置为 + (1), 避免性能问题。
    • +
    • 如果没有本地预览功能或者对预览质量没有要求,我们推荐将采集偏好设置为 (1),以优化 CPU + 和内存的资源分配。
    • +
    • 如果用户希望本地预览视频比实际编码发送的视频清晰,可以将采集偏好设置为 (2)。
    • +
    • 如果用户需要自定义本地采集的视频宽高,请将采集偏好设为 (3)。
    • +
    +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 请在启动摄像头之前调用该方法,如 或者 之前。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 请在启动摄像头之前调用该方法,如 + 或者 之前。
    • +
    +
    参数 - - config - 摄像头采集配置,详见 - -
    + + config + 摄像头采集配置,详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setcameradeviceorientation.dita b/dita/RTC/API/api_setcameradeviceorientation.dita index ba04ef77be2..33edc50cea8 100644 --- a/dita/RTC/API/api_setcameradeviceorientation.dita +++ b/dita/RTC/API/api_setcameradeviceorientation.dita @@ -13,14 +13,15 @@

    - - - virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0; + + + virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0; - - public abstract int SetCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation); - -

    + + public abstract int SetCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation); + + +

    当视频采集设备不带重力感应功能时,你可以调用该方法手动调整采集到的视频画面的旋转角度。

    @@ -28,26 +29,28 @@
    参数 - - type - -

    视频源类型,详见

    -
    -
    + + type + +

    视频源类型,详见

    +
    +
    - - orientation - -

    顺时针旋转角度,详见

    -
    -
    -
    + + orientation + +

    顺时针旋转角度,详见

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setcameraexposureposition.dita b/dita/RTC/API/api_setcameraexposureposition.dita index 7024d21ea3c..74f95d17f2a 100644 --- a/dita/RTC/API/api_setcameraexposureposition.dita +++ b/dita/RTC/API/api_setcameraexposureposition.dita @@ -13,47 +13,52 @@

    - public abstract int setCameraExposurePosition(float positionXinView, float positionYinView); - - (BOOL)setCameraExposurePosition:(CGPoint)positionInView; - virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0; + public abstract int setCameraExposurePosition(float positionXinView, float positionYinView); + - (BOOL)setCameraExposurePosition:(CGPoint)positionInView; + virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0; - - public abstract int SetCameraExposurePosition(float positionXinView, float positionYinView); - - Future<void> setCameraExposurePosition( - double positionXinView, double positionYinView);

    + + public abstract int SetCameraExposurePosition(float positionXinView, float positionYinView); + + Future<void> setCameraExposurePosition( + double positionXinView, double positionYinView); +

    - -
    自从
    -
    v2.3.2
    -
    + +
    自从
    +
    v2.3.2
    +
    -

    该方法需要在相机启动(如通过调用 实现)后调用。

    +

    该方法需要在相机启动(如通过调用 + 实现)后调用。

    成功调用该方法后,本地会触发 回调。

    - 该方法仅适用于 Android 和 iOS。
    + 该方法仅适用于 Android 和 iOS。 +
    参数 - - positionXinView - 触摸点相对于视图的横坐标。 - - - positionYinView - 触摸点相对于视图的纵坐标。 - - - positionInView - 触摸点相对于视图的横坐标和纵坐标。 - -
    + + positionXinView + 触摸点相对于视图的横坐标。 + + + positionYinView + 触摸点相对于视图的纵坐标。 + + + positionInView + 触摸点相对于视图的横坐标和纵坐标。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setcamerafocuspositioninpreview.dita b/dita/RTC/API/api_setcamerafocuspositioninpreview.dita index 7c2413114c1..f09ac4b6631 100644 --- a/dita/RTC/API/api_setcamerafocuspositioninpreview.dita +++ b/dita/RTC/API/api_setcamerafocuspositioninpreview.dita @@ -13,41 +13,45 @@

    - public abstract int setCameraFocusPositionInPreview(float positionX, float positionY); - - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position; - virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0; + public abstract int setCameraFocusPositionInPreview(float positionX, float positionY); + - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position; + virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0; - - public abstract int SetCameraFocusPositionInPreview(float positionX, float positionY); - - Future<void> setCameraFocusPositionInPreview( - double positionX, double positionY);

    + + public abstract int SetCameraFocusPositionInPreview(float positionX, float positionY); + + Future<void> setCameraFocusPositionInPreview( + double positionX, double positionY); +

    -

    该方法需要在相机启动(如通过调用 实现)后调用。 - 成功调用该方法后,本地会触发 回调。

    - 该方法仅适用于 Android 和 iOS。
    +

    该方法需要在相机启动(如通过调用 + 实现)后调用。 成功调用该方法后,本地会触发 回调。

    + 该方法仅适用于 Android 和 iOS。 +
    参数 - - positionX - 触摸点相对于视图的横坐标。 - - - positionY - 触摸点相对于视图的纵坐标。 - - - position - 触摸点相对于视图的坐标。 - -
    + + positionX + 触摸点相对于视图的横坐标。 + + + positionY + 触摸点相对于视图的纵坐标。 + + + position + 触摸点相对于视图的坐标。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setcameratorchon.dita b/dita/RTC/API/api_setcameratorchon.dita index 59e09a23612..fad66984863 100644 --- a/dita/RTC/API/api_setcameratorchon.dita +++ b/dita/RTC/API/api_setcameratorchon.dita @@ -13,42 +13,44 @@

    - public abstract int setCameraTorchOn(boolean isOn); - - (BOOL)setCameraTorchOn:(BOOL)isOn; - virtual int setCameraTorchOn(bool isOn) = 0; + public abstract int setCameraTorchOn(boolean isOn); + - (BOOL)setCameraTorchOn:(BOOL)isOn; + virtual int setCameraTorchOn(bool isOn) = 0; - - public abstract int SetCameraTorchOn(bool isOn); - - Future<void> setCameraTorchOn(bool isOn);

    + + public abstract int SetCameraTorchOn(bool isOn); + + Future<void> setCameraTorchOn(bool isOn); +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 请在启动摄像头之前调用该方法,如 或者 之前。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 请在启动摄像头之前调用该方法,如 + 或者 之前。
    • +
    +
    参数 - - isOn - -

    是否打开闪光灯: - - -

      -
    • : 打开闪光灯。
    • -
    • :(默认)关闭闪光灯。
    • -

    -
    -
    -
    + + isOn + +

    是否打开闪光灯:

      +
    • : 打开闪光灯。
    • +
    • :(默认)关闭闪光灯。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setcamerazoomfactor.dita b/dita/RTC/API/api_setcamerazoomfactor.dita index 01b5bc752d2..46f1c5810c1 100644 --- a/dita/RTC/API/api_setcamerazoomfactor.dita +++ b/dita/RTC/API/api_setcamerazoomfactor.dita @@ -13,35 +13,41 @@

    - public abstract int setCameraZoomFactor(float factor); - - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor; - virtual int setCameraZoomFactor(float factor) = 0; + public abstract int setCameraZoomFactor(float factor); + - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor; + virtual int setCameraZoomFactor(float factor) = 0; - - public abstract int SetCameraZoomFactor(float factor); - - Future<void> setCameraZoomFactor(double factor);

    + + public abstract int SetCameraZoomFactor(float factor); + + Future<void> setCameraZoomFactor(double factor); +

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 请在启动摄像头之前调用该方法,如 或者 之前。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 请在启动摄像头之前调用该方法,如 + 或者 之前。
    • +
    +
    参数 - - factor - zoomFactor - 相机缩放比例,有效范围从 1.0 到最大缩放比例。你可以通过 方法获取设备支持的最大缩放比例。 - -
    + + factor + zoomFactor + 相机缩放比例,有效范围从 1.0 到最大缩放比例。你可以通过 + 方法获取设备支持的最大缩放比例。 + + +
    返回值
      -
    • 方法调用成功: 返回设置的 factor 值。
    • -
    • 方法调用失败: 返回值 < 0。
    • -
    +
  • 方法调用成功: 返回设置的 factor 值。
  • +
  • 方法调用失败: 返回值 < 0。
  • + +
    diff --git a/dita/RTC/API/api_setchannelprofile.dita b/dita/RTC/API/api_setchannelprofile.dita index add44d43712..f01f0d0f03e 100644 --- a/dita/RTC/API/api_setchannelprofile.dita +++ b/dita/RTC/API/api_setchannelprofile.dita @@ -13,52 +13,60 @@

    - public abstract int setChannelProfile(int profile); - - (int)setChannelProfile:(AgoraChannelProfile)profile; - virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0; - setChannelProfile(profile: CHANNEL_PROFILE_TYPE): number - public abstract int SetChannelProfile(CHANNEL_PROFILE_TYPE profile); - - Future<void> setChannelProfile(ChannelProfile profile);

    + public abstract int setChannelProfile(int profile); + - (int)setChannelProfile:(AgoraChannelProfile)profile; + virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0; + setChannelProfile(profile: CHANNEL_PROFILE_TYPE): number + public abstract int SetChannelProfile(CHANNEL_PROFILE_TYPE profile); + + Future<void> setChannelProfile(ChannelProfile profile); +

    -

    SDK 初始化后默认的频道场景为通信场景。SDK 初始化后默认的频道场景为直播场景。你可以调用该方法设置声网频道的使用场景。声网 SDK 会针对不同的使用场景采用不同的优化策略,如通信场景偏好流畅,直播场景偏好画质。

    +

    SDK 初始化后默认的频道场景为通信场景。SDK + 初始化后默认的频道场景为直播场景。你可以调用该方法设置声网频道的使用场景。声网 SDK + 会针对不同的使用场景采用不同的优化策略,如通信场景偏好流畅,直播场景偏好画质。

    -
      -
    • 为保证实时音视频质量,相同频道内的用户必须使用同一种频道场景。
    • -
    • 该方法必须在 前调用和进行设置,进入频道后无法再设置。
    • -
    • 不同的频道场景下,SDK 的默认音频路由和默认视频编码码率是不同的,详见 中的说明。 -
    • -
    +
      +
    • 为保证实时音视频质量,相同频道内的用户必须使用同一种频道场景。
    • +
    • 该方法必须在 前调用和进行设置,进入频道后无法再设置。
    • +
    • 不同的频道场景下,SDK 的默认音频路由和默认视频编码码率是不同的,详见 中的说明。
    • +
    + +
    参数 - - profile - -

    频道使用场景。详见

    -

    频道使用场景。 - -

      -
    • (0):通信。当频道中只有两个用户时,建议使用该场景。
    • -
    • (1):直播。当频道中超过两个用户时,建议使用该场景。
    • -
    • (2):该属性已废弃。
    • -
    • (3):互动。该场景对延时进行了优化。如果你的场景中有用户需要频道互动, 建议使用该场景。
    • -

    -
    -
    -
    + + profile + +

    频道使用场景。详见

    +

    频道使用场景。

      +
    • + (0):通信。当频道中只有两个用户时,建议使用该场景。
    • +
    • + (1):直播。当频道中超过两个用户时,建议使用该场景。
    • +
    • (2):该属性已废弃。
    • +
    • + (3):互动。该场景对延时进行了优化。如果你的场景中有用户需要频道互动, 建议使用该场景。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0(ERR_OK) 方法调用成功。
    • -
    • < 0 方法调用失败。 - - -
        -
      • -2 (ERR_INVALID_ARGUMENT): 参数无效。
      • -
      • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化。
      • -
    • -
    +
  • 0(ERR_OK) 方法调用成功。
  • +
  • < 0 方法调用失败。
      +
    • -2 (ERR_INVALID_ARGUMENT): 参数无效。
    • +
    • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化。
    • +
  • + +
    diff --git a/dita/RTC/API/api_setclientrole.dita b/dita/RTC/API/api_setclientrole.dita index da8e405803d..046d37baac5 100644 --- a/dita/RTC/API/api_setclientrole.dita +++ b/dita/RTC/API/api_setclientrole.dita @@ -13,51 +13,59 @@

    - public abstract int setClientRole(int role); - - (int)setClientRole:(AgoraClientRole)role; - virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; - setClientRole(role: CLIENT_ROLE_TYPE): number - public abstract int SetClientRole(CLIENT_ROLE_TYPE role); - -

    + public abstract int setClientRole(int role); + - (int)setClientRole:(AgoraClientRole)role; + virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; + setClientRole(role: CLIENT_ROLE_TYPE): number + public abstract int SetClientRole(CLIENT_ROLE_TYPE role); + + +

    在加入频道前和加入频道后均可调用该方法设置用户角色。

    -

    该方法在加入频道前后均可调用。如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作: -

      -
    • 调用 修改发布状态。
    • -
    • 本地会触发 回调。
    • -
    • 本地会触发 回调。
    • -
    • 远端会触发 () 回调。
    • -

    - 该方法仅在频道场景为直播(profile 设为 )时生效。
    +

    该方法在加入频道前后均可调用。如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作:

      +
    • 调用 修改发布状态。
    • +
    • 本地会触发 回调。
    • +
    • 本地会触发 回调。
    • +
    • 远端会触发 () + 回调。
    • +

    + 该方法仅在频道场景为直播( 中 + profile 设为 )时生效。 +
    参数 - - role - -

    用户角色。详见

    -

    用户的角色: -

      -
    • (1):主播。
    • -
    • (2):观众。
    • -

    -
    -
    -
    + + role + +

    用户角色。详见

    +

    用户的角色:

      +
    • (1):主播。
    • +
    • (2):观众。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -7: SDK 尚未初始化。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -7: SDK 尚未初始化。
    • +
    +
  • + +
    diff --git a/dita/RTC/API/api_setclientrole2.dita b/dita/RTC/API/api_setclientrole2.dita index fb705d52f14..05f4b9225a0 100644 --- a/dita/RTC/API/api_setclientrole2.dita +++ b/dita/RTC/API/api_setclientrole2.dita @@ -13,70 +13,71 @@

    - public abstract int setClientRole(int role, ClientRoleOptions options); - - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options; - virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; - setClientRoleWithOptions(role: CLIENT_ROLE_TYPE, options: ClientRoleOptions): number - public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); - - Future<void> setClientRole(ClientRole role, [ClientRoleOptions? options]);

    + public abstract int setClientRole(int role, ClientRoleOptions options); + - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options; + virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; + setClientRoleWithOptions(role: CLIENT_ROLE_TYPE, options: ClientRoleOptions): number + public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); + + Future<void> setClientRole(ClientRole role, [ClientRoleOptions? options]); +

    - -
    自从
    -
    v3.2.0
    -
    + +
    自从
    +
    v3.2.0
    +

    直播场景下,SDK 会默认设置用户角色为观众,你可以调用该方法设置用户角色为主播。

    该方法在加入频道前后均可调用。

    -

    如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作: - -

      -
    • 调用 修改发布状态。
    • -
    • 本地触发 回调。
    • -
    • 本地触发 回调。
    • -
    • 远端触发 回调。
    • -

    -

    该方法与 的区别在于,该方法还支持设置用户级别。 - - - -

      -
    • 用户角色(role)确定用户在 SDK 层的权限,包含是否可以发送流、是否可以接收流、是否可以旁路推流等。
    • -
    • 用户级别(level)需要与角色结合使用,确定用户在其权限范围内可以享受到的服务。例如对于观众,选择接收低延时还是超低延时的视频流。不同的级别会影响计费。
    • -

    - 该方法仅适用于直播场景(profile 设为 )。
    +

    如果你在加入频道后调用该方法切换用户角色,调用成功后,SDK 会自动进行如下操作:

      +
    • 调用 修改发布状态。
    • +
    • 本地触发 回调。
    • +
    • 本地触发 回调。
    • +
    • 远端触发 回调。
    • +

    +

    该方法与 的区别在于,该方法还支持设置用户级别。

      +
    • 用户角色(role)确定用户在 SDK + 层的权限,包含是否可以发送流、是否可以接收流、是否可以旁路推流等。
    • +
    • 用户级别(level)需要与角色结合使用,确定用户在其权限范围内可以享受到的服务。例如对于观众,选择接收低延时还是超低延时的视频流。不同的级别会影响计费。
    • +

    + 该方法仅适用于直播场景( 中 + profile 设为 )。 +
    参数 - - role - 直播场景中的用户角色。详见 -
      -
    • (1): 主播。主播可以发流也可以收流。
    • -
    • (2):(默认)观众。观众只能收流不能发流。
    • -
    -
    - - options - 用户具体设置,包含用户级别。详见 - -
    + + role + 直播场景中的用户角色。详见 +
      +
    • (1): 主播。主播可以发流也可以收流。
    • +
    • (2):(默认)观众。观众只能收流不能发流。
    • +
    +
    +
    + + options + 用户具体设置,包含用户级别。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - - -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -5: 调用被拒绝。
      • -
      • -7: SDK 尚未初始化。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -5: 调用被拒绝。
    • +
    • -7: SDK 尚未初始化。
    • +
  • + +
    diff --git a/dita/RTC/API/api_setcloudproxy.dita b/dita/RTC/API/api_setcloudproxy.dita index fc6a1e0ef5f..99139ce5907 100644 --- a/dita/RTC/API/api_setcloudproxy.dita +++ b/dita/RTC/API/api_setcloudproxy.dita @@ -1,8 +1,12 @@ - <ph keyref="setCloudProxy"/> - 设置声网云代理服务。 + + <ph keyref="setCloudProxy"/> + + + 设置声网云代理服务。 + @@ -13,69 +17,89 @@

    - public abstract int setCloudProxy(int proxyType); - - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:)); - virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;

    + public abstract int setCloudProxy(int proxyType); + - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:)); + virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; +

    - - - virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; - setCloudProxy(type: CLOUD_PROXY_TYPE): number - public abstract int SetCloudProxy(CLOUD_PROXY_TYPE proxyType); - - Future<void> setCloudProxy(CloudProxyType proxyType);

    + + + virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; + setCloudProxy(type: CLOUD_PROXY_TYPE): number + public abstract int SetCloudProxy(CLOUD_PROXY_TYPE proxyType); + + Future<void> setCloudProxy(CloudProxyType proxyType); +

    - -
    自从
    -
    3.3.0
    -
    + +
    自从
    +
    3.3.0
    +
    -

    当用户的网络访问受到防火墙限制时,你需要将声网提供的 IP 和端口号添加到防火墙白名单,然后调用该方法开启云代理,并通过 proxyType 参数设置云代理类型。

    -

    成功连接云代理后,SDK 会触发 (, ) 回调。 -

    -

    As of v3.6.2, when a user calls this method and then joins a channel successfully, the SDK triggers the callback to report the user ID, the proxy type connected, and the time calculated from when the user calling the method to the callback is triggered.

    -

    As of v3.6.2, when a user calls this method and then joins a channel successfully, the SDK triggers the callback to report the user ID, the proxy type connected, and the time calculated from when the user calling the method to the callback is triggered.

    -

    如果你想关闭已设置的 Force UDP 或 Force TCP 云代理,请调用 ()

    -

    如果你想更改已设置的云代理类型,请先调用 (),再调用 并传入你期望的 proxyType 值。 -

    +

    当用户的网络访问受到防火墙限制时,你需要将声网提供的 IP 和端口号添加到防火墙白名单,然后调用该方法开启云代理,并通过 + proxyType 参数设置云代理类型。

    +

    成功连接云代理后,SDK 会触发 (, ) 回调。

    +

    As of v3.6.2, when a user calls this method and then joins a channel + successfully, the SDK triggers the callback to + report the user ID, the proxy type connected, and the time calculated from when the + user calling the method to the callback is + triggered.

    +

    As of v3.6.2, when a user calls this method and then joins a channel + successfully, the SDK triggers the callback to + report the user ID, the proxy type connected, and the time calculated from when the + user calling the method to the callback is + triggered.

    +

    如果你想关闭已设置的 Force UDP 或 Force TCP 云代理,请调用 + ()

    +

    如果你想更改已设置的云代理类型,请先调用 (),再调用 + 并传入你期望的 proxyType 值。

    -
      -
    • 声网推荐你在频道外调用该方法。
    • -
    • 对 3.3.x 版 SDK,使用 Force UDP 云代理时,旁路推流和跨频道媒体流转发功能不可用。对 3.4.0 及之后版 SDK,如果用户处于内网防火墙环境下,使用 Force UDP 云代理时,旁路推流和跨频道媒体流转发功能不可用。
    • -
    • 如果用户处于内网防火墙环境下,使用 Force UDP 云代理时,旁路推流和跨频道媒体流转发功能不可用。
    • -
    • 使用 Force UDP 云代理时,调用 方法时无法播放 HTTP 协议的在线音频文件。旁路推流和跨频道媒体流转发功能会使用 TCP 协议的云代理。
    • -
    +
      +
    • 声网推荐你在频道外调用该方法。
    • +
    • 对 3.3.x 版 SDK,使用 Force UDP 云代理时,旁路推流和跨频道媒体流转发功能不可用。对 3.4.0 及之后版 + SDK,如果用户处于内网防火墙环境下,使用 Force UDP 云代理时,旁路推流和跨频道媒体流转发功能不可用。
    • +
    • 如果用户处于内网防火墙环境下,使用 Force UDP 云代理时,旁路推流和跨频道媒体流转发功能不可用。
    • +
    • 使用 Force UDP 云代理时,调用 方法时无法播放 HTTP + 协议的在线音频文件。旁路推流和跨频道媒体流转发功能会使用 TCP 协议的云代理。
    • +
    参数 - - proxyType - -

    云代理类型,详见

    -

    云代理类型。 -

      -
    • (0):自动模式。SDK 默认开启该模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换到 TLS 443。自 v3.6.2 起,SDK 默认开启该模式。
    • -
    • (1):UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。
    • -
    • (2):TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。
    • -

    -

    该参数为必填参数,如果你不赋值,SDK 会报错。

    -
    -
    -
    + + proxyType + +

    云代理类型,详见

    +

    云代理类型。 +

      +
    • (0):自动模式。SDK 默认开启该模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换到 + TLS 443。自 v3.6.2 起,SDK + 默认开启该模式。
    • +
    • (1):UDP 协议的云代理,即 Force UDP + 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。
    • +
    • (2):TCP(加密)协议的云代理,即 Force TCP + 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。
    • +

    +

    该参数为必填参数,如果你不赋值,SDK 会报错。

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - - -
        -
      • -2: 传入的参数无效。
      • -
      • -7: SDK 尚未初始化。
      • -
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。
        +
      • -2: 传入的参数无效。
      • +
      • -7: SDK 尚未初始化。
      • +
      +
    diff --git a/dita/RTC/API/api_setcolorenhanceoptions.dita b/dita/RTC/API/api_setcolorenhanceoptions.dita index 27e0068e688..84b497ab4aa 100644 --- a/dita/RTC/API/api_setcolorenhanceoptions.dita +++ b/dita/RTC/API/api_setcolorenhanceoptions.dita @@ -1,8 +1,12 @@ - <ph keyref="setColorEnhanceOptions"/> - 设置色彩增强功能。 + + <ph keyref="setColorEnhanceOptions"/> + + + 设置色彩增强功能。 + @@ -13,59 +17,63 @@

    - - - - - public abstract int SetColorEnhanceOptions(bool enabled, ColorEnhanceOptions options); - - Future<void> setColorEnhanceOptions(bool enabled, ColorEnhanceOptions option);

    + + + + + public abstract int SetColorEnhanceOptions(bool enabled, ColorEnhanceOptions options); + + Future<void> setColorEnhanceOptions(bool enabled, ColorEnhanceOptions option); +

    摄像头采集到的视频画面可能存在色彩失真的现象。色彩增强功能可以通过智能调节饱和度和对比度等视频特性,提升视频色彩丰富度和色彩还原度,最终使视频画面更生动。

    你可以调用该方法开启色彩增强功能并设置色彩增强的效果。

    -
      -
    • 调用该方法前,请确保你已经将 libagora_segmentation_extension.so 动态库集成到项目中。
    • -
    • 调用该方法前,请确保你已经将 AgoraVideoSegmentationExtension.xcframework 动态库集成到项目中。
    • -
    • 调用该方法前,请确保你已经将 libagora_segmentation_extension.dll 动态库集成到项目中。
    • -
    • 请在 后调用该方法。
    • -
    • 色彩增强对设备性能有一定要求。开启色彩增强后,如果设备出现严重发烫等问题,声网推荐你将色彩增强等级修改为消耗性能较少的等级或关闭色彩增强功能。
    • -
    +
      +
    • 调用该方法前,请确保你已经将 + libagora_segmentation_extension.so 动态库集成到项目中。
    • +
    • 调用该方法前,请确保你已经将 + AgoraVideoSegmentationExtension.xcframework 动态库集成到项目中。
    • +
    • 调用该方法前,请确保你已经将 + libagora_segmentation_extension.dll 动态库集成到项目中。
    • +
    • 请在 后调用该方法。
    • +
    • 色彩增强对设备性能有一定要求。开启色彩增强后,如果设备出现严重发烫等问题,声网推荐你将色彩增强等级修改为消耗性能较少的等级或关闭色彩增强功能。
    • +
    + +
    参数 - - enabled - - 是否开启色彩增强功能:: - - - - - -
      -
    • - : 开启。 -
    • -
    • - :(默认)关闭。 -
    • -
    -
    - - options - option - 色彩增强选项,用于设置色彩增强的效果。详见 - 。 + + enabled + 是否开启色彩增强功能::
      +
    • + + + : 开启。
    • +
    • + + + :(默认)关闭。
    • +
    -
    -
    + + + options + option + + 色彩增强选项,用于设置色彩增强的效果。详见 + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setdefaultaudioroutetospeakerphone.dita b/dita/RTC/API/api_setdefaultaudioroutetospeakerphone.dita index 95a2061c371..564bbf35fff 100644 --- a/dita/RTC/API/api_setdefaultaudioroutetospeakerphone.dita +++ b/dita/RTC/API/api_setdefaultaudioroutetospeakerphone.dita @@ -13,52 +13,56 @@

    - - - virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0; - - public abstract int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); - - Future<void> setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker);

    + + + virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0; + + public abstract int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); + + Future<void> setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); +

    该方法设置接收到的音频从听筒或扬声器出声。如果用户不调用本方法,音频默认从听筒出声。

    -

    各频道场景下默认的音频路由: - -

      -
    • 通信场景: - -
        -
      • 语音通话,默认从听筒出声。
      • -
      • 视频通话,默认从扬声器出声。如果有用户在频道中使用 方法关闭视频,则语音路由会自动切换回听筒。
      • -
    • -
    • 直播场景:扬声器。
    • -

    +

    各频道场景下默认的音频路由:

      +
    • 通信场景:
        +
      • 语音通话,默认从听筒出声。
      • +
      • 视频通话,默认从扬声器出声。如果有用户在频道中使用 方法关闭视频,则语音路由会自动切换回听筒。
      • +
    • +
    • 直播场景:扬声器。
    • +
    +

    -
      -
    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 该方法仅适用于 iOS 平台。
    • -
    • 在 iOS 平台上,该方法只在纯音频模式下工作,在有视频的模式下不工作。
    • -
    • 该方法需要在加入频道前设置,否则不生效。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 该方法仅适用于 iOS 平台。
    • +
    • 在 iOS 平台上,该方法只在纯音频模式下工作,在有视频的模式下不工作。
    • +
    • 该方法需要在加入频道前设置,否则不生效。
    • +
    + +
    参数 - - defaultToSpeaker - 设置默认的音频路由: - -
      -
    • : 音频路由为外放(扬声器)。如果设备连接了耳机或蓝牙,则无法切换到外放。
    • -
    • :(默认)音频路由为听筒。
    • -
    -
    -
    + + defaultToSpeaker + 设置默认的音频路由:
      +
    • : + 音频路由为外放(扬声器)。如果设备连接了耳机或蓝牙,则无法切换到外放。
    • +
    • :(默认)音频路由为听筒。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setdefaultmuteallremoteaudiostreams.dita b/dita/RTC/API/api_setdefaultmuteallremoteaudiostreams.dita index dfb14986c54..8be37676a2c 100644 --- a/dita/RTC/API/api_setdefaultmuteallremoteaudiostreams.dita +++ b/dita/RTC/API/api_setdefaultmuteallremoteaudiostreams.dita @@ -13,55 +13,55 @@

    - public abstract int setDefaultMuteAllRemoteAudioStreams(boolean muted); - - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute; - virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; - setDefaultMuteAllRemoteAudioStreams(mute: boolean): number - public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); - - Future<void> setDefaultMuteAllRemoteAudioStreams(bool muted);

    + public abstract int setDefaultMuteAllRemoteAudioStreams(boolean muted); + - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute; + virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; + setDefaultMuteAllRemoteAudioStreams(mute: boolean): number + public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); + + Future<void> setDefaultMuteAllRemoteAudioStreams(bool muted); +

    - -
    弃用:
    -
    该方法自 v3.3.0 起废弃。
    -
    + +
    弃用:
    +
    该方法自 v3.3.0 起废弃。
    +

    该方法需要在加入频道后调用。调用成功后,本地用户取消或恢复订阅调用时刻之后加入频道的远端用户。

    -

    取消订阅音频流后,如果需要恢复订阅频道内的远端,可以进行如下操作: - - - -

      -
    • 如果需要恢复订阅单个用户的音频流,调用 (),并指定你想要订阅的远端用户 ID。
    • -
    • 如果想恢复订阅多个用户的音频流,则需要多次调用 ()。
    • -

    -
    +

    取消订阅音频流后,如果需要恢复订阅频道内的远端,可以进行如下操作:

      +
    • 如果需要恢复订阅单个用户的音频流,调用 (),并指定你想要订阅的远端用户 ID。
    • +
    • 如果想恢复订阅多个用户的音频流,则需要多次调用 + ()。
    • +
    +

    + +
    参数 - - muted - mute - -

    是否默认取消订阅远端用户的音频流: - - - -

      -
    • :默认取消订阅远端用户的音频流。
    • -
    • :(默认)默认订阅远端用户的音频流。
    • -

    -
    -
    -
    + + muted + mute + +

    是否默认取消订阅远端用户的音频流:

      +
    • :默认取消订阅远端用户的音频流。
    • +
    • :(默认)默认订阅远端用户的音频流。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setdefaultmuteallremotevideostreams.dita b/dita/RTC/API/api_setdefaultmuteallremotevideostreams.dita index 4d00adc631f..3eb133ee7a4 100644 --- a/dita/RTC/API/api_setdefaultmuteallremotevideostreams.dita +++ b/dita/RTC/API/api_setdefaultmuteallremotevideostreams.dita @@ -13,55 +13,55 @@

    - public abstract int setDefaultMuteAllRemoteVideoStreams(boolean muted); - - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute; - virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; - setDefaultMuteAllRemoteVideoStreams(mute: boolean): number - public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); - - Future<void> setDefaultMuteAllRemoteVideoStreams(bool muted);

    + public abstract int setDefaultMuteAllRemoteVideoStreams(boolean muted); + - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute; + virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; + setDefaultMuteAllRemoteVideoStreams(mute: boolean): number + public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); + + Future<void> setDefaultMuteAllRemoteVideoStreams(bool muted); +

    - -
    弃用:
    -
    该方法自 v3.3.0 起废弃。
    -
    + +
    弃用:
    +
    该方法自 v3.3.0 起废弃。
    +

    该方法需要在加入频道后调用。调用成功后,本地用户取消或恢复订阅调用时刻之后加入频道的远端用户。

    -

    取消订阅视频流后,如果需要恢复订阅频道内的远端用户,可以进行如下操作: - - - -

      -
    • 如果需要恢复订阅单个用户的视频流,调用 (),并指定你想要订阅的远端用户 ID。
    • -
    • 如果想恢复订阅多个用户的视频流,则需要多次调用 ()。
    • -

    -
    +

    取消订阅视频流后,如果需要恢复订阅频道内的远端用户,可以进行如下操作:

      +
    • 如果需要恢复订阅单个用户的视频流,调用 (),并指定你想要订阅的远端用户 ID。
    • +
    • 如果想恢复订阅多个用户的视频流,则需要多次调用 ()。
    • +
    +

    + +
    参数 - - muted - mute - -

    是否默认取消订阅远端用户的视频流: - - - -

      -
    • : 默认取消订阅。
    • -
    • :(默认)默认订阅。
    • -

    -
    -
    -
    + + muted + mute + +

    是否默认取消订阅远端用户的视频流:

      +
    • : 默认取消订阅。
    • +
    • :(默认)默认订阅。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setdevicevolume.dita b/dita/RTC/API/api_setdevicevolume.dita index f84d880ecea..9510ae2eeb8 100644 --- a/dita/RTC/API/api_setdevicevolume.dita +++ b/dita/RTC/API/api_setdevicevolume.dita @@ -13,36 +13,40 @@

    - - - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume; - - - - -

    + + - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume; + + + + + +

    设置音、视频采集或播放设备的音量。

    - 该方法需要在加入频道后调用。
    + 该方法需要在加入频道后调用。 +
    参数 - - type - -

    - - - - volume - 设备音量。取值范围 [0,255]。 - -

    + + type + +

    + + + + volume + 设备音量。取值范围 [0,255]。 + + +

    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setdirectcdnstreamingaudioconfiguration.dita b/dita/RTC/API/api_setdirectcdnstreamingaudioconfiguration.dita index 8a484b32ebf..82ea8af10cf 100644 --- a/dita/RTC/API/api_setdirectcdnstreamingaudioconfiguration.dita +++ b/dita/RTC/API/api_setdirectcdnstreamingaudioconfiguration.dita @@ -13,32 +13,38 @@

    - public abstract int setDirectCdnStreamingAudioConfiguration(int profile); - - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile; - virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0; - - public abstract int SetDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile); - -

    + public abstract int setDirectCdnStreamingAudioConfiguration(int profile); + - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile; + virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0; + + public abstract int SetDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile); + + +

    -

    该方法仅对麦克风采集或自采集的音频有效,即对在 中设置 publishMicrophoneTrackpublishCustomAudioTrack 时所采集的音频有效。

    +

    该方法仅对麦克风采集或自采集的音频有效,即对在 中设置 + publishMicrophoneTrack 或 + publishCustomAudioTrack 时所采集的音频有效。

    参数 - - profile - -

    - - -

    + + profile + +

    + + + +

    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setdirectcdnstreamingvideoconfiguration.dita b/dita/RTC/API/api_setdirectcdnstreamingvideoconfiguration.dita index 6caa758716c..9965931d131 100644 --- a/dita/RTC/API/api_setdirectcdnstreamingvideoconfiguration.dita +++ b/dita/RTC/API/api_setdirectcdnstreamingvideoconfiguration.dita @@ -13,32 +13,39 @@

    - public abstract int setDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); - - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; - virtual + public abstract int setDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); + - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; + virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0; - - public abstract int SetDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); - -

    + + public abstract int SetDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); + + +

    -

    该方法仅对摄像头采集、屏幕共享或自采集的视频有效。即对在 中设置 publishCameraTrackpublishCustomVideoTrack 时所采集的视频有效。

    +

    该方法仅对摄像头采集、屏幕共享或自采集的视频有效。即对在 中设置 + publishCameraTrack 或 + publishCustomVideoTrack 时所采集的视频有效。

    参数 - - - - -
    + + + + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_seteffectposition.dita b/dita/RTC/API/api_seteffectposition.dita index 6eed3d70fc1..84021c0ea32 100644 --- a/dita/RTC/API/api_seteffectposition.dita +++ b/dita/RTC/API/api_seteffectposition.dita @@ -13,40 +13,44 @@

    - public int setEffectPosition(int soundId, int pos); - - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos; - virtual int setEffectPosition(int soundId, int pos) = 0; - setEffectPosition(soundId: number, pos: number): number - public abstract int SetEffectPosition(int soundId, int pos); - - Future<void> setEffectPosition(int soundId, int pos);

    + public int setEffectPosition(int soundId, int pos); + - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos; + virtual int setEffectPosition(int soundId, int pos) = 0; + setEffectPosition(soundId: number, pos: number): number + public abstract int SetEffectPosition(int soundId, int pos); + + Future<void> setEffectPosition(int soundId, int pos); +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +

    成功设置后,本地音效文件会在指定位置开始播放。

    - 该方法需要在 playEffect 后调用。
    + 该方法需要在 playEffect 后调用。 +
    参数 - - soundId - - - - pos - 音效文件的播放位置,单位为毫秒。 - -
    + + soundId + + + + pos + 音效文件的播放位置,单位为毫秒。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_seteffectsvolume.dita b/dita/RTC/API/api_seteffectsvolume.dita index 7a17b8b3344..f5a3db6543d 100644 --- a/dita/RTC/API/api_seteffectsvolume.dita +++ b/dita/RTC/API/api_seteffectsvolume.dita @@ -13,31 +13,35 @@

    - public abstract int setEffectsVolume(double volume); + public abstract int setEffectsVolume(double volume); - - (int)setEffectsVolume:(NSInteger)volume; + - (int)setEffectsVolume:(NSInteger)volume; - virtual int setEffectsVolume(int volume) = 0; - setEffectsVolume(volume: number): number - public abstract int SetEffectsVolume(int volume); - - Future<void> setEffectsVolume(int volume);

    + virtual int setEffectsVolume(int volume) = 0; + setEffectsVolume(volume: number): number + public abstract int SetEffectsVolume(int volume); + + Future<void> setEffectsVolume(int volume); +

    - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    参数 - - volume - 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 - -
    + + volume + 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setenable.dita b/dita/RTC/API/api_setenable.dita index 5337e0b17f2..374bd31baa6 100644 --- a/dita/RTC/API/api_setenable.dita +++ b/dita/RTC/API/api_setenable.dita @@ -13,34 +13,32 @@

    - - - - - public void SetEnable(bool enable) + + + + + public void SetEnable(bool enable) { Enable = enable; } - -

    + + +

    参数 - - enable - 是否开始视频渲染。 - - - - -

    -

      -
    • :(默认)开启
    • -
    • :不开启
    • -

    -
    -
    -
    + + enable + 是否开始视频渲染。

    +

      +
    • :(默认)开启
    • +
    • :不开启
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC/API/api_setenablespeakerphone.dita b/dita/RTC/API/api_setenablespeakerphone.dita index 47a9e0031b7..e8f7b124654 100644 --- a/dita/RTC/API/api_setenablespeakerphone.dita +++ b/dita/RTC/API/api_setenablespeakerphone.dita @@ -13,52 +13,61 @@

    - - - virtual int setEnableSpeakerphone(bool speakerOn) = 0; - - public abstract int SetEnableSpeakerphone(bool speakerOn); - - Future<void> setEnableSpeakerphone(bool speakerOn);

    + + + virtual int setEnableSpeakerphone(bool speakerOn) = 0; + + public abstract int SetEnableSpeakerphone(bool speakerOn); + + Future<void> setEnableSpeakerphone(bool speakerOn); +

    该方法设置是否将音频路由到扬声器(外放)。调用该方法后,SDK 将返回 回调提示状态已更改。

    -

    在 Android 上,scenario 的设置会影响 - 的行为。 不生效的情况如下: - -

      -
    • scenario 时,所有用户都无法切换音频路由。
    • -
    • scenario +

      在 Android 上, + 中 scenario 的设置会影响 的行为。 + 不生效的情况如下:

        +
      • scenario 时,所有用户都无法切换音频路由。
      • +
      • scenario 时,直播场景中的观众无法切换音频路由,且当频道中只有一个主播时,该主播也无法切换音频路由。
      • -
      • scenario 时,直播场景中的观众无法切换音频路由。
      • -

      +
    • scenario 时,直播场景中的观众无法切换音频路由。
    • +
    +

    -
      -
    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 请确保在调用此方法前已经加入频道。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 请确保在调用此方法前已经加入频道。
    • +
    + +
    参数 - - speakerOn - enabled - enableSpeaker - 是否切换音频路由到扬声器(外放): - -
      -
    • : 切换到外放。如果设备连接了耳机或蓝牙,则无法切换到外放。
    • -
    • : 切换到听筒。如果设备连接了耳机,则音频路由走耳机。
    • -
    -
    -
    + + speakerOn + enabled + enableSpeaker + 是否切换音频路由到扬声器(外放):
      +
    • : + 切换到外放。如果设备连接了耳机或蓝牙,则无法切换到外放。
    • +
    • : + 切换到听筒。如果设备连接了耳机,则音频路由走耳机。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setencryptionmode.dita b/dita/RTC/API/api_setencryptionmode.dita index aa4b7c82f49..95e23e46251 100644 --- a/dita/RTC/API/api_setencryptionmode.dita +++ b/dita/RTC/API/api_setencryptionmode.dita @@ -13,50 +13,58 @@

    - public abstract int setEncryptionMode(String encryptionMode); - - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode; - virtual int setEncryptionMode(const char* encryptionMode) = 0; - setEncryptionMode(encryptionMode: string): number - public abstract int SetEncryptionMode(string encryptionMode); - - Future<void> setEncryptionMode(EncryptionMode encryptionMode);

    + public abstract int setEncryptionMode(String encryptionMode); + - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode; + virtual int setEncryptionMode(const char* encryptionMode) = 0; + setEncryptionMode(encryptionMode: string): number + public abstract int SetEncryptionMode(string encryptionMode); + + Future<void> setEncryptionMode(EncryptionMode encryptionMode); +

    - -
    弃用:
    -
    请改用 方法。
    -
    + +
    弃用:
    +
    请改用 方法。
    +
    -

    声网视频 SDK 支持内置加密方案,默认支持 AES-128-GCM。声网视频 SDK 支持内置加密方案,默认支持 AES-128-XTS。如需采用其他加密方案,可以调用本方法。同一频道内的所有用户必须设置相同的加密方式和 secret 才能进行通话。关于这几种加密方式的区别,请参考 AES 加密算法的相关资料。

    - 在调用本方法前,请先调用 启用内置加密功能。
    +

    声网视频 SDK 支持内置加密方案,默认支持 AES-128-GCM。声网视频 SDK 支持内置加密方案,默认支持 + AES-128-XTS。如需采用其他加密方案,可以调用本方法。同一频道内的所有用户必须设置相同的加密方式和 + secret 才能进行通话。关于这几种加密方式的区别,请参考 AES 加密算法的相关资料。

    + 在调用本方法前,请先调用 + 启用内置加密功能。 +
    参数 - - encryptionMode - -

    加密模式: - - -

      -
    • "aes-128-xts": 128 位 AES 加密,XTS 模式;
    • -
    • "aes-128-ecb": 128 位 AES 加密,ECB 模式;
    • -
    • "aes-256-xts": 256 位 AES 加密,XTS 模式;
    • -
    • "sm4-128-ecb": 128 位 SM4 加密,ECB 模式;
    • -
    • "aes-128-gcm": 128 位 AES 加密,GCM 模式;
    • -
    • "aes-256-gcm": 256 位 AES 加密,GCM 模式;
    • -
    • "": 设置为空字符串时,默认使用加密方式 "aes-128-gcm"。
    • -
    • "": 设置为空字符串时,默认使用加密方式 "aes-128-xts"。
    • -

    -
    -
    -
    + + encryptionMode + +

    加密模式:

      +
    • "aes-128-xts": 128 位 AES 加密,XTS 模式;
    • +
    • "aes-128-ecb": 128 位 AES 加密,ECB 模式;
    • +
    • "aes-256-xts": 256 位 AES 加密,XTS 模式;
    • +
    • "sm4-128-ecb": 128 位 SM4 加密,ECB 模式;
    • +
    • "aes-128-gcm": 128 位 AES 加密,GCM 模式;
    • +
    • "aes-256-gcm": 256 位 AES 加密,GCM 模式;
    • +
    • "": 设置为空字符串时,默认使用加密方式 + "aes-128-gcm"。
    • +
    • "": 设置为空字符串时,默认使用加密方式 + "aes-128-xts"。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setencryptionsecret.dita b/dita/RTC/API/api_setencryptionsecret.dita index b29ddd185dd..aa5af0d3807 100644 --- a/dita/RTC/API/api_setencryptionsecret.dita +++ b/dita/RTC/API/api_setencryptionsecret.dita @@ -13,43 +13,48 @@

    - public abstract int setEncryptionSecret(String secret); - - (int)setEncryptionSecret:(NSString * _Nullable)secret; - virtual int setEncryptionSecret(const char* secret) = 0; - setEncryptionSecret(secret: string): number - public abstract int SetEncryptionSecret(string secret); - - Future<void> setEncryptionSecret(String secret);

    + public abstract int setEncryptionSecret(String secret); + - (int)setEncryptionSecret:(NSString * _Nullable)secret; + virtual int setEncryptionSecret(const char* secret) = 0; + setEncryptionSecret(secret: string): number + public abstract int SetEncryptionSecret(string secret); + + Future<void> setEncryptionSecret(String secret); +

    - -
    弃用:
    -
    请改用 方法。
    -
    + +
    弃用:
    +
    请改用 方法。
    +
    -

    在加入频道之前, app 需调用该方法指定 secret 来启用内置的加密功能,同一频道内的所有用户应设置相同的 - secret。当用户离开频道时,该频道的 secret - 会自动清除。如果未指定 secret 或将 secret - 设置为空,则无法激活加密功能。

    +

    在加入频道之前, app 需调用该方法指定 secret + 来启用内置的加密功能,同一频道内的所有用户应设置相同的 secret。当用户离开频道时,该频道的 + secret 会自动清除。如果未指定 secret 或将 + secret 设置为空,则无法激活加密功能。

    -
      -
    • 请不要在旁路推流时调用此方法。
    • -
    • 为保证最佳传输效果,请确保加密后的数据大小不超过原始数据大小 + 16 字节。16 字节是 AES 通用加密模式下最大填充块大小。
    • -
    +
      +
    • 请不要在旁路推流时调用此方法。
    • +
    • 为保证最佳传输效果,请确保加密后的数据大小不超过原始数据大小 + 16 字节。16 字节是 AES 通用加密模式下最大填充块大小。
    • +
    + +
    参数 - - secret - 加密密码。 - -
    + + secret + 加密密码。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setexternalaudiosink.dita b/dita/RTC/API/api_setexternalaudiosink.dita index 63078746843..5d448e76c08 100644 --- a/dita/RTC/API/api_setexternalaudiosink.dita +++ b/dita/RTC/API/api_setexternalaudiosink.dita @@ -13,52 +13,56 @@

    - - - virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels) = 0; - - public abstract int SetExternalAudioSink(bool enabled, int sampleRate, int channels); - -

    + + + virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels) = 0; + + public abstract int SetExternalAudioSink(bool enabled, int sampleRate, int channels); + + +

    该方法适用于需要自行渲染音频的场景。开启外部音频渲染后,你可以通过调用 方法拉取远端音频数据。 App - 可以对拉取到的原始音频数据进行处理后再渲染,获取想要的音频效果。

    + 可以对拉取到的原始音频数据进行处理后再渲染,获取想要的音频效果。

    -
      -
    • 开启外部音频渲染后,App 会无法从 回调中获得数据。
    • -
    • 该方法需要在加入频道前调用。
    • -
    +
      +
    • 开启外部音频渲染后,App 会无法从 回调中获得数据。
    • +
    • 该方法需要在加入频道前调用。
    • +
    + +
    参数 - - enabled - -
      -
    • : 开启外部音频渲染。
    • -
    • : (默认)关闭外部音频渲染。
    • -
    -
    - - sampleRate - 外部音频渲染的采样率 (Hz),可设置为 16000,32000,44100 或 48000。 - - - channels - 外部音频渲染的通道数,可设置为 1 或 2: - -
      -
    • 1: 单声道
    • -
    • 2: 双声道
    • -
    -
    -
    + + enabled + +
      +
    • : 开启外部音频渲染。
    • +
    • : (默认)关闭外部音频渲染。
    • +
    +
    +
    + + sampleRate + 外部音频渲染的采样率 (Hz),可设置为 16000,32000,44100 或 48000。 + + + channels + 外部音频渲染的通道数,可设置为 1 或 2:
      +
    • 1: 单声道
    • +
    • 2: 双声道
    • +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setexternalaudiosource.dita b/dita/RTC/API/api_setexternalaudiosource.dita index 95a84cc1c15..b83ce367f8f 100644 --- a/dita/RTC/API/api_setexternalaudiosource.dita +++ b/dita/RTC/API/api_setexternalaudiosource.dita @@ -13,15 +13,16 @@

    - public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels); - - (int)setExternalAudioSource:(BOOL)enabled + public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels); + - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels; - virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels) = 0; - - public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels); - -

    + virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels) = 0; + + public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels); + + +

    请在 前调用该方法。

    @@ -29,35 +30,36 @@
    参数 - - enabled - -
      -
    • : 开启使用外部音频源的功能。
    • -
    • : (默认)关闭使用外部音频源的功能。
    • -
    -
    - - sampleRate - 外部音频源的采样率 (Hz),可设置为 8000,16000,32000,44100 或 48000。 - - - channels - -

    外部音频源的通道数,可设置为 1 或 2: - -

      -
    • 1: 单声道
    • -
    • 2: 双声道
    • -

    -
    -
    -
    + + enabled + +
      +
    • : 开启使用外部音频源的功能。
    • +
    • : (默认)关闭使用外部音频源的功能。
    • +
    +
    +
    + + sampleRate + 外部音频源的采样率 (Hz),可设置为 8000,16000,32000,44100 或 48000。 + + + channels + +

    外部音频源的通道数,可设置为 1 或 2:

      +
    • 1: 单声道
    • +
    • 2: 双声道
    • +

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setexternalaudiosource2.dita b/dita/RTC/API/api_setexternalaudiosource2.dita index 50c6872c9ec..910322a4ba7 100644 --- a/dita/RTC/API/api_setexternalaudiosource2.dita +++ b/dita/RTC/API/api_setexternalaudiosource2.dita @@ -13,85 +13,86 @@

    - public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels, int sourceNumber, bool localPlayback = false, bool publish = true);

    + public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels, int sourceNumber, bool localPlayback = false, bool publish = true);

    - public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels, + public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels, int sourceNumber, boolean localPlayback, boolean publish); - - (int)setExternalAudioSource:(BOOL)enabled + - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels sourceNumber:(NSInteger)sourceNumber localPlayback:(BOOL)localPlayback publish:(BOOL)publish; - virtual int setExternalAudioSource(bool enabled, + virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels, int sourceNumber, bool localPlayback = false, bool publish = true) = 0; - - -

    + + + +

    - 请在加入频道前调用该方法。
    + 请在加入频道前调用该方法。 +
    参数 - - enabled - -

    是否开启使用外部音频源的功能: - - -

      -
    • :开启外部音频源。
    • -
    • :(默认)关闭外部音频源。
    • -

    -
    -
    - - sampleRate - 外部音频源的采样率 (Hz),可设置为 800016000320004410048000 - - - channels - 外部音频源的声道数,可设置为 1(单声道)或 2(双声道)。 - - - sourceNumber - 外部音频源的数量,取值为正整数。多个音频源会被混音。SDK 会根据该参数值创建对应数量的自采集音频轨道,并从 0 开始为音频轨道命名。你可以在 中,设置 publishCustomAudioSourceId 为你想要发布的音频轨道 ID。 - - - localPlayback - -

    是否在本地播放外部音频源: - - -

      -
    • :在本地播放。
    • -
    • :(默认)不在本地播放。
    • -

    -
    -
    - - publish - -

    是否将音频发布到远端: - - -

      -
    • :(默认)发布到远端。
    • -
    • :不发布到远端。
    • -

    -
    -
    -
    + + enabled + +

    是否开启使用外部音频源的功能:

      +
    • :开启外部音频源。
    • +
    • :(默认)关闭外部音频源。
    • +

    +
    +
    + + sampleRate + 外部音频源的采样率 (Hz),可设置为 + 8000160003200044100 + 或 48000 + + + channels + 外部音频源的声道数,可设置为 1(单声道)或 2(双声道)。 + + + sourceNumber + 外部音频源的数量,取值为正整数。多个音频源会被混音。SDK + 会根据该参数值创建对应数量的自采集音频轨道,并从 0 开始为音频轨道命名。你可以在 中,设置 + publishCustomAudioSourceId 为你想要发布的音频轨道 + ID。 + + + localPlayback + +

    是否在本地播放外部音频源:

      +
    • :在本地播放。
    • +
    • :(默认)不在本地播放。
    • +

    +
    +
    + + publish + +

    是否将音频发布到远端:

      +
    • :(默认)发布到远端。
    • +
    • :不发布到远端。
    • +

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setexternalaudiosourcevolume.dita b/dita/RTC/API/api_setexternalaudiosourcevolume.dita index 30e08de232f..685a567eca0 100644 --- a/dita/RTC/API/api_setexternalaudiosourcevolume.dita +++ b/dita/RTC/API/api_setexternalaudiosourcevolume.dita @@ -13,44 +13,43 @@

    - - - - - public abstract int SetExternalAudioSourceVolume(int sourcePos, int volume); - -

    + + + + + public abstract int SetExternalAudioSourceVolume(int sourcePos, int volume); + + +

    -

    你可以多次调用该方法,设置不同位置的外部音频帧音量。音量设置对被推送到指定位置的所有外部音频帧都有效。 - - - 该方法需要在加入频道后调用。

    +

    你可以多次调用该方法,设置不同位置的外部音频帧音量。音量设置对被推送到指定位置的所有外部音频帧都有效。 该方法需要在加入频道后调用。

    参数 - - sourcePos - 外部音频的推送位置。详见 - 外部音频帧的推送位置: - -
      -
    • 0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。
    • -
    • 1: 音频采集之后、前处理之前的位置。如果你需要 SDK 的音频模块处理外部音频帧,请设置该位置。
    • -
    • 2: 音频前处理之后、编码之前的位置。如果你无需 SDK 的音频模块处理外部音频帧,请设置该位置。
    • -
    -
    - - volume - 外部音频帧的音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 - -
    + + sourcePos + 外部音频的推送位置。详见 + 外部音频帧的推送位置:
      +
    • 0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。
    • +
    • 1: 音频采集之后、前处理之前的位置。如果你需要 SDK 的音频模块处理外部音频帧,请设置该位置。
    • +
    • 2: 音频前处理之后、编码之前的位置。如果你无需 SDK 的音频模块处理外部音频帧,请设置该位置。
    • +
    +
    + + volume + 外部音频帧的音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setforuser.dita b/dita/RTC/API/api_setforuser.dita index 4618b3a7a99..88a04846e59 100644 --- a/dita/RTC/API/api_setforuser.dita +++ b/dita/RTC/API/api_setforuser.dita @@ -13,46 +13,50 @@

    - - - - - public void SetForUser(uint uid = 0, string channelId = "", + + + + + public void SetForUser(uint uid = 0, string channelId = "", VIDEO_SOURCE_TYPE source_type = VIDEO_SOURCE_TYPE.VIDEO_SOURCE_CAMERA_PRIMARY, int videoPixelWidth = 1080, int videoPixelHeight = 720) - -

    + + +

    -
      -
    • 确保在主线程中调用此方法。
    • -
    • 确保在绑定 VideoSurface.cs 前调用此方法。
    • -
    +
      +
    • 确保在主线程中调用此方法。
    • +
    • 确保在绑定 VideoSurface.cs 前调用此方法。
    • +
    +
    参数 - - uid - 远端用户的 uid,通过 获得的 uid。默认值为 0,表示可以看到本地视频。 - - - channelId - 频道 ID。 - - - source_type - 视频流类型,详见 - - - videoPixelWidth - 视频宽 (pixel)。 - - - videoPixelHeight - 视频高 (pixel)。 - -
    + + uid + 远端用户的 uid,通过 获得的 + uid。默认值为 0,表示可以看到本地视频。 + + + channelId + 频道 ID。 + + + source_type + 视频流类型,详见 + + + videoPixelWidth + 视频宽 (pixel)。 + + + videoPixelHeight + 视频高 (pixel)。 + + +
    返回值
    diff --git a/dita/RTC/API/api_sethighqualityaudioparameters.dita b/dita/RTC/API/api_sethighqualityaudioparameters.dita index 818d853c17b..c0f85c2fe14 100644 --- a/dita/RTC/API/api_sethighqualityaudioparameters.dita +++ b/dita/RTC/API/api_sethighqualityaudioparameters.dita @@ -13,62 +13,68 @@

    - - - virtual int setHighQualityAudioParameters(bool fullband, + + + virtual int setHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate) = 0; - setHighQualityAudioParameters(fullband: boolean, + setHighQualityAudioParameters(fullband: boolean, stereo: boolean, fullBitrate: boolean): number - public abstract int SetHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate); - -

    + public abstract int SetHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate); + + +

    - -
    弃用:
    -
    该方法已废弃。声网不建议你使用。如果你希望设置音频高音质选项,请改用 方法。
    -
    + +
    弃用:
    +
    该方法已废弃。声网不建议你使用。如果你希望设置音频高音质选项,请改用 方法。
    +
    参数 - - fullband - -

    全频带编解码器(48 kHz 采样率), 不兼容 v1.7.4 以前版本。

    -
      -
    • :启用全频带编解码器。
    • -
    • :禁用全频带编解码器。
    • -
    -
    - - stereo - -

    立体声编解码器,不兼容 v1.7.4 以前版本。

    -
      -
    • :启用立体声编解码器。
    • -
    • :禁用立体声编解码器。
    • -
    -
    - - fullBitrate - -

    高码率模式,建议仅在纯音频模式下使用。

    -
      -
    • :启用高码率模式。
    • -
    • :禁用高码率模式。
    • -
    -
    -
    + + fullband + +

    全频带编解码器(48 kHz 采样率), 不兼容 v1.7.4 以前版本。

    +
      +
    • :启用全频带编解码器。
    • +
    • :禁用全频带编解码器。
    • +
    +
    +
    + + stereo + +

    立体声编解码器,不兼容 v1.7.4 以前版本。

    +
      +
    • :启用立体声编解码器。
    • +
    • :禁用立体声编解码器。
    • +
    +
    +
    + + fullBitrate + +

    高码率模式,建议仅在纯音频模式下使用。

    +
      +
    • :启用高码率模式。
    • +
    • :禁用高码率模式。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setinearmonitoringvolume.dita b/dita/RTC/API/api_setinearmonitoringvolume.dita index 2e11d5e20c4..a19474fe0b1 100644 --- a/dita/RTC/API/api_setinearmonitoringvolume.dita +++ b/dita/RTC/API/api_setinearmonitoringvolume.dita @@ -13,34 +13,39 @@

    - public abstract int setInEarMonitoringVolume(int volume); - - (int)setInEarMonitoringVolume:(NSInteger)volume; - virtual int setInEarMonitoringVolume(int volume) = 0; - - public abstract int SetInEarMonitoringVolume(int volume); - - Future<void> setInEarMonitoringVolume(int volume);

    + public abstract int setInEarMonitoringVolume(int volume); + - (int)setInEarMonitoringVolume:(NSInteger)volume; + virtual int setInEarMonitoringVolume(int volume) = 0; + + public abstract int SetInEarMonitoringVolume(int volume); + + Future<void> setInEarMonitoringVolume(int volume); +

    -
      -
    • 该方法仅适用于 Android 和 iOS 平台。
    • -
    • 用户必须使用有线耳机才能听到耳返效果。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS 平台。
    • +
    • 用户必须使用有线耳机才能听到耳返效果。
    • +
    • 该方法在加入频道前后都能调用。
    • +
    + +
    参数 - - volume - 设置耳返音量,取值范围在 [0,100]。默认值为 100。 - -
    + + volume + 设置耳返音量,取值范围在 [0,100]。默认值为 100。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setlivetranscoding.dita b/dita/RTC/API/api_setlivetranscoding.dita index f072aca4315..07ad4b71459 100644 --- a/dita/RTC/API/api_setlivetranscoding.dita +++ b/dita/RTC/API/api_setlivetranscoding.dita @@ -13,46 +13,52 @@

    - public abstract int setLiveTranscoding(LiveTranscoding transcoding); - - (int)setLiveTranscoding:(AgoraLiveTranscoding *_Nullable)transcoding; - virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; - setLiveTranscoding(transcoding: LiveTranscoding): number - public abstract int SetLiveTranscoding(LiveTranscoding transcoding); - - Future<void> setLiveTranscoding(LiveTranscoding transcoding);

    + public abstract int setLiveTranscoding(LiveTranscoding transcoding); + - (int)setLiveTranscoding:(AgoraLiveTranscoding *_Nullable)transcoding; + virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; + setLiveTranscoding(transcoding: LiveTranscoding): number + public abstract int SetLiveTranscoding(LiveTranscoding transcoding); + + Future<void> setLiveTranscoding(LiveTranscoding transcoding); +

    - -
    弃用:
    -
    该方法已废弃。替代方案请参考发版说明
    -
    该方法已废弃。
    -
    + +
    弃用:
    +
    该方法已废弃。替代方案请参考发版说明
    +
    该方法已废弃。
    +

    该方法用于旁路推流的视图布局及音频设置等。调用该方法更新转码设置后本地会触发 回调。

    -
      -
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • -
    • 请确保已开通旁路推流的功能,详见进阶功能《推流到 CDN》中的前提条件。
    • -
    • 首次调用该方法更新转码设置时,不会触发 回调。
    • -
    • 该方法需要在加入频道后调用。
    • -
    • 声网目前仅支持转码时向 CDN 推送 RTMPS 协议的媒体流。
    • -
    +
      +
    • 只有直播场景中角色为主播的用户才能调用该方法。
    • +
    • 请确保已开通旁路推流的功能,详见进阶功能《推流到 CDN》中的前提条件。
    • +
    • 首次调用该方法更新转码设置时,不会触发 回调。
    • +
    • 该方法需要在加入频道后调用。
    • +
    • 声网目前仅支持转码时向 CDN 推送 RTMPS 协议的媒体流。
    • +
    + +
    参数 - - transcoding - -

    推流转码设置。详见

    -
    -
    -
    + + transcoding + +

    推流转码设置。详见

    +
    +
    + +
    返回
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setlocalaccesspoint.dita b/dita/RTC/API/api_setlocalaccesspoint.dita index 6573325faec..06c90dd5c51 100644 --- a/dita/RTC/API/api_setlocalaccesspoint.dita +++ b/dita/RTC/API/api_setlocalaccesspoint.dita @@ -13,36 +13,44 @@

    - - - virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0; - - - -

    + + + virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0; + + + + +

    -

    成功部署声网混合云或声网私有化平台并在内网终端集成声网 Native SDK 后,你需要调用该方法指定 Local Access Point 来设置本地代理。成功设置本地代理后,SDK 会自动将日志上传到声网日志服务器。如果你需要将日志上传到指定的服务器,可以通过 参数设置。

    +

    成功部署声网混合云或声网私有化平台并在内网终端集成声网 Native SDK 后,你需要调用该方法指定 Local Access Point + 来设置本地代理。成功设置本地代理后,SDK 会自动将日志上传到声网日志服务器。如果你需要将日志上传到指定的服务器,可以通过 + 参数设置。

    -
      -
    • 该方法仅在部署声网混合云或声网实时音视频私有化平台后生效。你可以联系 了解和部署声网混合云或声网私有化平台。
    • -
    • 该方法需要加入频道前调用。
    • -
    +
      +
    • 该方法仅在部署声网混合云或声网实时音视频私有化平台后生效。你可以联系 + 了解和部署声网混合云或声网私有化平台。
    • +
    • 该方法需要加入频道前调用。
    • +
    参数 - - config - Local Access Point 的配置。详见 - -
    + + config + Local Access Point 的配置。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setlocalpublishfallbackoption.dita b/dita/RTC/API/api_setlocalpublishfallbackoption.dita index 0092806b909..dcfb1ba7263 100644 --- a/dita/RTC/API/api_setlocalpublishfallbackoption.dita +++ b/dita/RTC/API/api_setlocalpublishfallbackoption.dita @@ -13,41 +13,52 @@

    - public abstract int setLocalPublishFallbackOption(int option); - - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option; - virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; - setLocalPublishFallbackOption(option: STREAM_FALLBACK_OPTIONS): number - public abstract int SetLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option); - - Future<void> setLocalPublishFallbackOption(StreamFallbackOptions option);

    + public abstract int setLocalPublishFallbackOption(int option); + - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option; + virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; + setLocalPublishFallbackOption(option: STREAM_FALLBACK_OPTIONS): number + public abstract int SetLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option); + + Future<void> setLocalPublishFallbackOption(StreamFallbackOptions option); +

    -

    网络不理想的环境下,实时通信音视频的质量都会下降。使用该接口并将 option 设置为 (2) 后,SDK 会在上行弱网且音视频质量严重受影响时,自动关断视频流,从而保证或提高音频质量。同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。当本地推流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发本地发布的媒体流已回退为音频流 回调。

    +

    网络不理想的环境下,实时通信音视频的质量都会下降。使用该接口并将 option 设置为 (2) 后,SDK + 会在上行弱网且音视频质量严重受影响时,自动关断视频流,从而保证或提高音频质量。同时 SDK + 会持续监控网络质量,并在网络质量改善时恢复音视频流。当本地推流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发本地发布的媒体流已回退为音频流 回调。

    -
      -
    • 旁路推流场景下,设置本地推流回退为 (2) 可能会导致远端的 CDN 用户听到声音的时间有所延迟。因此在有旁路推流的场景下,声网建议不开启该功能。
    • -
    • 该方法需要在加入频道前调用。
    • -
    +
      +
    • 旁路推流场景下,设置本地推流回退为 (2) + 可能会导致远端的 CDN 用户听到声音的时间有所延迟。因此在有旁路推流的场景下,声网建议不开启该功能。
    • +
    • 该方法需要在加入频道前调用。
    • +
    + +
    参数 - - option - 本地发流回退处理选项。详见 - 本地发流回退处理选项: - - -
      -
    • (0):(默认)上行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量
    • -
    • (2):上行网络较弱时只发布音频流
    • -
    -
    -
    + + option + 本地发流回退处理选项。详见 + 本地发流回退处理选项:
      +
    • + (0):(默认)上行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量
    • +
    • + (2):上行网络较弱时只发布音频流
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setlocalrendermode.dita b/dita/RTC/API/api_setlocalrendermode.dita index 06043421141..04e75bec65b 100644 --- a/dita/RTC/API/api_setlocalrendermode.dita +++ b/dita/RTC/API/api_setlocalrendermode.dita @@ -13,56 +13,58 @@

    - - (int)setLocalRenderMode:(NSUInteger)uid + - (int)setLocalRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode) mode; - virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; - public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode);

    + virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; + public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode);

    - - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode; - virtual int setLocalRenderMode(RENDER_MODE_TYPE renderMode) = 0; - public abstract int setLocalRenderMode(int renderMode); - - public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode); - -

    + - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode; + virtual int setLocalRenderMode(RENDER_MODE_TYPE renderMode) = 0; + public abstract int setLocalRenderMode(int renderMode); + + public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode); + + +

    - -
    弃用:
    -
    该方法已废弃,请使用 作为替代。
    -
    + +
    弃用:
    +
    该方法已废弃,请使用 作为替代。
    +

    该方法设置本地视图显示模式。 App 可以多次调用此方法更改显示模式。

    参数 - - renderMode - mode - -

    本地视图显示模式。详见

    -

    本地视图显示模式。 - - -

      -
    • -

    -
    -
    - - uid - -

    用户 ID。

    -
    -
    -
    + + renderMode + mode + +

    本地视图显示模式。详见

    +

    本地视图显示模式。

      +
    • +
    +

    +
    +
    + + uid + +

    用户 ID。

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setlocalrendermode2.dita b/dita/RTC/API/api_setlocalrendermode2.dita index 06c7082a615..afe20d14cf2 100644 --- a/dita/RTC/API/api_setlocalrendermode2.dita +++ b/dita/RTC/API/api_setlocalrendermode2.dita @@ -13,77 +13,82 @@

    - virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode - mirror:(AgoraVideoMirrorMode)mirror;

    + virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode + mirror:(AgoraVideoMirrorMode)mirror; +

    - virtual int setLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - - (int)setLocalRenderMode:(AgoraVideoRenderMode)renderMode mirrorMode:(AgoraVideoMirrorMode)mirrorMode;

    + virtual int setLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + - (int)setLocalRenderMode:(AgoraVideoRenderMode)renderMode mirrorMode:(AgoraVideoMirrorMode)mirrorMode; +

    - public abstract int setLocalRenderMode(int renderMode, int mirrorMode); - - public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); - -

    + public abstract int setLocalRenderMode(int renderMode, int mirrorMode); + + public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); + + +

    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +

    初始化本地用户视图后,你可以调用该方法更新本地用户视图的渲染和镜像模式。该方法只影响本地用户看到的视频画面,不影响本地发布视频。

    -
      -
    • 请在调用 方法初始化本地视图后,调用该方法。
    • -
    • 你可以在通话中多次调用该方法,多次更新本地用户视图的显示模式。
    • -
    +
      +
    • 请在调用 方法初始化本地视图后,调用该方法。
    • +
    • 你可以在通话中多次调用该方法,多次更新本地用户视图的显示模式。
    • +
    + +
    参数 - - renderMode - moderenderMode - -

    本地视图显示模式。详见

    -

    本地视图显示模式。 - - - - -

      -
    • - (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
    • -
    • - (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
    • -
    • (3): 该模式已废弃,不推荐使用。
    • -

    -
    -
    - - mirrorMode - mirrormirrorMode - -

    本地视图的镜像模式,详见

    -

    本地视图的镜像模式。 - - - - -

      -
    • (0):默认的镜像模式(SDK 决定镜像模式)。如果你使用前置摄像头,默认启动本地视图镜像模式;如果你启用后置摄像头,默认关闭本地视图镜像模式。
    • -
    • (1):开启镜像模式。
    • -
    • (2):关闭镜像模式。
    • -

    - 如果你使用前置摄像头,默认启动本地用户视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。
    -
    -
    + + renderMode + moderenderMode + +

    本地视图显示模式。详见

    +

    本地视图显示模式。

      +
    • + (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
    • +
    • + (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
    • +
    • (3): 该模式已废弃,不推荐使用。
    • +
    +

    +
    +
    + + mirrorMode + mirrormirrorMode + +

    本地视图的镜像模式,详见

    +

    本地视图的镜像模式。

      +
    • (0):默认的镜像模式(SDK + 决定镜像模式)。如果你使用前置摄像头,默认启动本地视图镜像模式;如果你启用后置摄像头,默认关闭本地视图镜像模式。
    • +
    • (1):开启镜像模式。
    • +
    • (2):关闭镜像模式。
    • +
    +

    + 如果你使用前置摄像头,默认启动本地用户视图镜像模式;如果你使用后置摄像头,默认关闭本地视图镜像模式。 +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setlocalvideomirrormode.dita b/dita/RTC/API/api_setlocalvideomirrormode.dita index f4dac9d1938..c8987a8170b 100644 --- a/dita/RTC/API/api_setlocalvideomirrormode.dita +++ b/dita/RTC/API/api_setlocalvideomirrormode.dita @@ -13,44 +13,50 @@

    - public abstract int setLocalVideoMirrorMode(int mode); - - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode; - virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - setLocalVideoMirrorMode(mirrorMode: VIDEO_MIRROR_MODE_TYPE): number - public abstract int SetLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode); - -

    + public abstract int setLocalVideoMirrorMode(int mode); + - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode; + virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + setLocalVideoMirrorMode(mirrorMode: VIDEO_MIRROR_MODE_TYPE): number + public abstract int SetLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode); + + +

    - -
    弃用:
    -
    从 v3.0.0 起废弃。
    -
    请改用
    -
    请改用
    -
    + +
    弃用:
    +
    从 v3.0.0 起废弃。
    +
    请改用
    +
    请改用
    +
    参数 - - mode - mirrorMode - -

    本地视频镜像模式。详见

    -

    -

      -
    • -

    -
    -
    -
    + + mode + mirrorMode + +

    本地视频镜像模式。详见

    +

    +

      +
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setlocalvideorenderer.dita b/dita/RTC/API/api_setlocalvideorenderer.dita index 7a351ac2913..baf7792d10b 100644 --- a/dita/RTC/API/api_setlocalvideorenderer.dita +++ b/dita/RTC/API/api_setlocalvideorenderer.dita @@ -2,7 +2,8 @@ setlocalvideorenderer - + @@ -13,31 +14,33 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_setlocalvoicechanger.dita b/dita/RTC/API/api_setlocalvoicechanger.dita index be4715d4088..1c2d266999d 100644 --- a/dita/RTC/API/api_setlocalvoicechanger.dita +++ b/dita/RTC/API/api_setlocalvoicechanger.dita @@ -13,91 +13,98 @@

    - public abstract int setLocalVoiceChanger(int voiceChanger); - - (int) setLocalVoiceChanger:(AgoraAudioVoiceChanger)voiceChanger; - virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0; - setLocalVoiceChanger(voiceChanger: VOICE_CHANGER_PRESET): number - public abstract int SetLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger); - - Future<void> setLocalVoiceChanger(AudioVoiceChanger voiceChanger);

    + public abstract int setLocalVoiceChanger(int voiceChanger); + - (int) setLocalVoiceChanger:(AgoraAudioVoiceChanger)voiceChanger; + virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0; + setLocalVoiceChanger(voiceChanger: VOICE_CHANGER_PRESET): number + public abstract int SetLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger); + + Future<void> setLocalVoiceChanger(AudioVoiceChanger voiceChanger); +

    - -
    弃用:
    -
    该方法从 v3.2.0 起废弃,请改用以下方法: - - - - -
      -
    • :音效
    • -
    • :美声效果
    • -
    • :变声效果
    • -
    -
    + +
    弃用:
    +
    该方法从 v3.2.0 起废弃,请改用以下方法:
      +
    • :音效
    • +
    • :美声效果
    • +
    • :变声效果
    • +
    +
    +
    -

    通信场景下的用户或直播场景下的主播均可调用该方法为本地语音设置以下效果。成功设置以后,频道内的所有用户均可听到声音效果。 - - - - -

      -
    • 变声效果:枚举值以 VOICE_CHANGER 为前缀。效果包括老男人、小男孩、小女孩、猪八戒、空灵和绿巨人,通常用于语聊场景。
    • -
    • 美音效果:枚举值以 VOICE_BEAUTY 为前缀。效果包括浑厚、低沉、圆润、假音、饱满、清澈、高亢、嘹亮和空旷,通常用于语聊和唱歌场景。
    • -
    • 语聊美声效果:枚举值以 GENERAL_BEAUTY_VOICE 为前缀。效果包括磁性(男)、清新(女)和活力(女),通常用于语聊场景。该功能主要细化了男声和女声各自的特点。
    • -

    +

    通信场景下的用户或直播场景下的主播均可调用该方法为本地语音设置以下效果。成功设置以后,频道内的所有用户均可听到声音效果。

      +
    • 变声效果:枚举值以 VOICE_CHANGER + 为前缀。效果包括老男人、小男孩、小女孩、猪八戒、空灵和绿巨人,通常用于语聊场景。
    • +
    • 美音效果:枚举值以 VOICE_BEAUTY + 为前缀。效果包括浑厚、低沉、圆润、假音、饱满、清澈、高亢、嘹亮和空旷,通常用于语聊和唱歌场景。
    • +
    • 语聊美声效果:枚举值以 GENERAL_BEAUTY_VOICE + 为前缀。效果包括磁性(男)、清新(女)和活力(女),通常用于语聊场景。该功能主要细化了男声和女声各自的特点。
    • +
    +

    -
      -
    • 为达到更好的声音效果,声网推荐在调用该方法前将 profile 参数设置为 (4) 或 (5)。
    • -
    • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含人声和音乐的音频数据。
    • -
    • 该方法不能与 方法一同使用,否则先调的方法会不生效。更多注意事项,详见进阶功能《变声与混响》。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    +
      +
    • 为达到更好的声音效果,声网推荐在调用该方法前将 的 + profile 参数设置为 (4) 或 (5)。
    • +
    • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含人声和音乐的音频数据。
    • +
    • 该方法不能与 + 方法一同使用,否则先调的方法会不生效。更多注意事项,详见进阶功能《变声与混响》。
    • +
    • 该方法在加入频道前后都能调用。
    • +
    + +
    参数 - - voiceChanger - -

    预设本地语音变声、美音或语聊美声效果选项,默认值为 ,即原声。详见 。设置语聊美声效果时,声网推荐使用 处理男声,使用 处理女声,否则音频可能会产生失真。

    -

    本地语音的变声、美音或语聊美声效果选项: - - - -

      -
    • : + + voiceChanger + +

      预设本地语音变声、美音或语聊美声效果选项,默认值为 ,即原声。详见 。设置语聊美声效果时,声网推荐使用 处理男声,使用 + 处理女声,否则音频可能会产生失真。

      +

      本地语音的变声、美音或语聊美声效果选项:

        +
      • : (默认)原声,即关闭本地语音的变声、美音或语聊美声效果。
      • -
      • : 变声:老男孩。
      • -
      • : 变声:小男孩。
      • -
      • : 变声:小女孩。
      • -
      • : 变声:猪八戒。
      • -
      • : 变声:空灵。
      • -
      • : 变声:绿巨人。
      • -
      • : 美音:浑厚。
      • -
      • : 美音:低沉。
      • -
      • : 美音:圆润。
      • -
      • : 美音:假音。
      • -
      • : 美音:饱满。
      • -
      • : 美音:清澈。
      • -
      • : 美音:高亢。
      • -
      • : 美音:嘹亮。
      • -
      • : 美音:空旷。
      • -
      • : +
      • : 变声:老男孩。
      • +
      • : 变声:小男孩。
      • +
      • : 变声:小女孩。
      • +
      • : 变声:猪八戒。
      • +
      • : 变声:空灵。
      • +
      • : 变声:绿巨人。
      • +
      • : 美音:浑厚。
      • +
      • : 美音:低沉。
      • +
      • : 美音:圆润。
      • +
      • : 美音:假音。
      • +
      • : 美音:饱满。
      • +
      • : 美音:清澈。
      • +
      • : 美音:高亢。
      • +
      • : 美音:嘹亮。
      • +
      • : 美音:空旷。
      • +
      • : 语聊美声:磁性(男)。此枚举为男声定制化效果,不适用于女声。若女声使用此音效设置,则音频可能会产生失真。
      • -
      • : +
      • : 语聊美声:清新(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。
      • -
      • : +
      • : 语聊美声:活力(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。
      • -

      -
      -
      -
    + +

    + + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setlocalvoiceequalization.dita b/dita/RTC/API/api_setlocalvoiceequalization.dita index 389b12913cb..5178ba83096 100644 --- a/dita/RTC/API/api_setlocalvoiceequalization.dita +++ b/dita/RTC/API/api_setlocalvoiceequalization.dita @@ -13,37 +13,43 @@

    - public abstract int setLocalVoiceEqualization( + public abstract int setLocalVoiceEqualization( Constants.AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency + - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain; - virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0; - setLocalVoiceEqualization(bandFrequency: AUDIO_EQUALIZATION_BAND_FREQUENCY, bandGain: number): number - public abstract int SetLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - - Future<void> setLocalVoiceEqualization( - AudioEqualizationBandFrequency bandFrequency, int bandGain);

    + virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0; + setLocalVoiceEqualization(bandFrequency: AUDIO_EQUALIZATION_BAND_FREQUENCY, bandGain: number): number + public abstract int SetLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); + + Future<void> setLocalVoiceEqualization( + AudioEqualizationBandFrequency bandFrequency, int bandGain); +

    - 该方法在加入频道前后都能调用。
    + 该方法在加入频道前后都能调用。 +
    参数 - - bandFrequency - 频谱子带索引。取值范围是 [0,9],分别代表音效的 10 个频带。对应的中心频率为 [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。详见 - - - bandGain - gain - 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 0。 - -
    + + bandFrequency + 频谱子带索引。取值范围是 [0,9],分别代表音效的 10 个频带。对应的中心频率为 + [31,62,125,250,500,1k,2k,4k,8k,16k] Hz。详见 + + + bandGain + gain + 每个 band 的增益,单位是 dB,每一个值的范围是 [-15,15],默认值为 0。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setlocalvoicepitch.dita b/dita/RTC/API/api_setlocalvoicepitch.dita index 5ea1398618b..f594db93f73 100644 --- a/dita/RTC/API/api_setlocalvoicepitch.dita +++ b/dita/RTC/API/api_setlocalvoicepitch.dita @@ -13,29 +13,33 @@

    - public abstract int setLocalVoicePitch(double pitch); - - (int)setLocalVoicePitch:(double)pitch; - virtual int setLocalVoicePitch(double pitch) = 0; - setLocalVoicePitch(pitch: number): number - public abstract int SetLocalVoicePitch(double pitch); - - Future<void> setLocalVoicePitch(double pitch);

    + public abstract int setLocalVoicePitch(double pitch); + - (int)setLocalVoicePitch:(double)pitch; + virtual int setLocalVoicePitch(double pitch) = 0; + setLocalVoicePitch(pitch: number): number + public abstract int SetLocalVoicePitch(double pitch); + + Future<void> setLocalVoicePitch(double pitch); +

    - 该方法在加入频道前后都能调用。
    + 该方法在加入频道前后都能调用。 +
    参数 - - pitch - 语音频率。可以 [0.5,2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。 - -
    + + pitch + 语音频率。可以 [0.5,2.0] 范围内设置。取值越小,则音调越低。默认值为 1.0,表示不需要修改音调。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setlocalvoicereverb.dita b/dita/RTC/API/api_setlocalvoicereverb.dita index eea69dd8c0f..d2abe5acd14 100644 --- a/dita/RTC/API/api_setlocalvoicereverb.dita +++ b/dita/RTC/API/api_setlocalvoicereverb.dita @@ -13,13 +13,14 @@

    - public abstract int setLocalVoiceReverb(Constants.AUDIO_REVERB_TYPE reverbKey, int value); - - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value; - virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0; - setLocalVoiceReverb(reverbKey: AUDIO_REVERB_TYPE, value: number): number - public abstract int SetLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value); - - Future<void> setLocalVoiceReverb(AudioReverbType reverbKey, int value);

    + public abstract int setLocalVoiceReverb(Constants.AUDIO_REVERB_TYPE reverbKey, int value); + - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value; + virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0; + setLocalVoiceReverb(reverbKey: AUDIO_REVERB_TYPE, value: number): number + public abstract int SetLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value); + + Future<void> setLocalVoiceReverb(AudioReverbType reverbKey, int value); +

    该方法在加入频道前后都能调用。

    @@ -27,21 +28,23 @@
    参数 - - reverbKey - reverbType - 混响音效 Key。该方法共有 5 个混响音效 Key: - - - value - 各混响音效 Key 所对应的值。 - -
    + + reverbKey + reverbType + 混响音效 Key。该方法共有 5 个混响音效 Key: + + + value + 各混响音效 Key 所对应的值。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setlocalvoicereverbpreset.dita b/dita/RTC/API/api_setlocalvoicereverbpreset.dita index 15856ff9661..0f10b465ae1 100644 --- a/dita/RTC/API/api_setlocalvoicereverbpreset.dita +++ b/dita/RTC/API/api_setlocalvoicereverbpreset.dita @@ -13,61 +13,76 @@

    - public abstract int setLocalVoiceReverbPreset(int reverbPreset); - - (int) setLocalVoiceReverbPreset:(AgoraAudioReverbPreset)reverbPreset; - virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0; - setLocalVoiceReverbPreset(reverbPreset: AUDIO_REVERB_PRESET) - public abstract int SetLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset); - - Future<void> setLocalVoiceReverbPreset(AudioReverbPreset preset);

    + public abstract int setLocalVoiceReverbPreset(int reverbPreset); + - (int) setLocalVoiceReverbPreset:(AgoraAudioReverbPreset)reverbPreset; + virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0; + setLocalVoiceReverbPreset(reverbPreset: AUDIO_REVERB_PRESET) + public abstract int SetLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset); + + Future<void> setLocalVoiceReverbPreset(AudioReverbPreset preset); +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +

    通信场景下的用户或直播场景下的主播均可调用该方法设置本地语音混响。成功设置以后,频道内的所有用户均可听到声音效果。

    -
      -
    • 当使用以 AUDIO_REVERB_FX 为前缀的枚举值时,请确保在调用该方法前将 profile 参数设置为 (4) 或 (5) ,否则该方法设置无效。
    • -
    • 当使用 时,声网推荐在调用该方法前将 profile 参数设置为 (5)。
    • -
    • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含人声和音乐的音频数据。
    • -
    • 该方法不能与 方法一同使用,否则先调的方法会不生效。更多注意事项,详见进阶功能《变声与混响》。
    • -
    • 该方法在加入频道前后都能调用。
    • -
    +
      +
    • 当使用以 AUDIO_REVERB_FX 为前缀的枚举值时,请确保在调用该方法前将 profile 参数设置为 (4) 或 (5) ,否则该方法设置无效。
    • +
    • 当使用 时,声网推荐在调用该方法前将 profile 参数设置为 (5)。
    • +
    • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含人声和音乐的音频数据。
    • +
    • 该方法不能与 + 方法一同使用,否则先调的方法会不生效。更多注意事项,详见进阶功能《变声与混响》。
    • +
    • 该方法在加入频道前后都能调用。
    • +
    + +
    参数 - - reverbPreset - preset - -

    本地语音混响选项,默认值为 ,即原声。详见 。为达到更好的混响效果,声网推荐使用以 AUDIO_REVERB_FX 为前缀的枚举值。

    -
    - -

    本地语音混响选项。为达到更好的混响效果,声网推荐使用以 AUDIO_REVERB_FX 为前缀的枚举值。 - -

      -
    • : (默认)原声,即关闭本地语音混响。
    • -
    • : KTV(增强版)。
    • -
    • : 演唱会(增强版)。
    • -
    • : 大叔。
    • -
    • : 小姐姐。
    • -
    • : 录音棚(增强版)。
    • -
    • : 流行(增强版)。
    • -
    • : R&B(增强版)。
    • -
    • : 留声机。
    • -

    -
    -
    -
    + + reverbPreset + preset + +

    本地语音混响选项,默认值为 ,即原声。详见 。为达到更好的混响效果,声网推荐使用以 + AUDIO_REVERB_FX 为前缀的枚举值。

    +
    + +

    本地语音混响选项。为达到更好的混响效果,声网推荐使用以 + AUDIO_REVERB_FX 为前缀的枚举值。

      +
    • : (默认)原声,即关闭本地语音混响。
    • +
    • : KTV(增强版)。
    • +
    • : 演唱会(增强版)。
    • +
    • : 大叔。
    • +
    • : 小姐姐。
    • +
    • : 录音棚(增强版)。
    • +
    • : 流行(增强版)。
    • +
    • : R&B(增强版)。
    • +
    • : 留声机。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setlogfile.dita b/dita/RTC/API/api_setlogfile.dita index a57d8613c1f..16f3833a4b3 100644 --- a/dita/RTC/API/api_setlogfile.dita +++ b/dita/RTC/API/api_setlogfile.dita @@ -13,42 +13,48 @@

    - - - virtual int setLogFile(const char* filePath) = 0; - setLogFile(filePath: string): number - public abstract int SetLogFile(string filePath); - - Future<void> setLogFile(String filePath);

    + + + virtual int setLogFile(const char* filePath) = 0; + setLogFile(filePath: string): number + public abstract int SetLogFile(string filePath); + + Future<void> setLogFile(String filePath); +

    - -
    弃用:
    -
    请改用 设置日志文件路径。
    -
    + +
    弃用:
    +
    请改用 设置日志文件路径。
    +

    该方法设置的是 SDK 的 Native 层的日志。

    -

    默认情况下,SDK 会生成 agorasdk.log、agorasdk_1.log、agorasdk_2.log、agorasdk_3.log、agorasdk_4.log 这 5 个日志文件。 - 每个文件的默认大小为 1024 KB。日志文件为 UTF-8 编码。最新的日志永远写在 agorasdk.log 中。agorasdk.log 写满后,SDK 会从 1-4 中删除修改时间最早的一个文件, - 然后将 agorasdk.log 重命名为该文件,并建立新的 agorasdk.log 写入最新的日志。

    - 如需调用本方法,请在初始化 对象后立即调用,否则可能造成输出日志不完整。
    +

    默认情况下,SDK 会生成 + agorasdk.log、agorasdk_1.log、agorasdk_2.log、agorasdk_3.log、agorasdk_4.log 这 5 个日志文件。 + 每个文件的默认大小为 1024 KB。日志文件为 UTF-8 编码。最新的日志永远写在 agorasdk.log 中。agorasdk.log 写满后,SDK 会从 + 1-4 中删除修改时间最早的一个文件, 然后将 agorasdk.log 重命名为该文件,并建立新的 agorasdk.log 写入最新的日志。

    + 如需调用本方法,请在初始化 + 对象后立即调用,否则可能造成输出日志不完整。 +
    参数 - - filePath - -

    日志文件的完整路径。默认路径为 + + filePath + +

    日志文件的完整路径。默认路径为 C:\Users\<user_name>\AppData\Local\Agora\<process_name>\agorasdk.log。请确保指定的目录存在而且可写。你可通过该参数修改日志文件名。

    -
    -
    -
    + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setlogfilesize.dita b/dita/RTC/API/api_setlogfilesize.dita index 0df72ab5041..a50d2e2fdc3 100644 --- a/dita/RTC/API/api_setlogfilesize.dita +++ b/dita/RTC/API/api_setlogfilesize.dita @@ -1,8 +1,12 @@ - <ph keyref="setLogFileSize"/> - 设置声网 SDK 输出的单个日志文件大小。 + + <ph keyref="setLogFileSize"/> + + + 设置声网 SDK 输出的单个日志文件大小。 + @@ -13,40 +17,47 @@

    - - - virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0; - setLogFileSize(fileSizeInKBytes: number): number - public abstract int SetLogFileSize(uint fileSizeInKBytes); - - Future<void> setLogFileSize(int fileSizeInKBytes);

    + + + virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0; + setLogFileSize(fileSizeInKBytes: number): number + public abstract int SetLogFileSize(uint fileSizeInKBytes); + + Future<void> setLogFileSize(int fileSizeInKBytes); +

    - -
    弃用:
    -
    请改用 中的 logConfig
    -
    + +
    弃用:
    +
    请改用 中的 logConfig
    +
    -

    默认情况下,SDK 会生成 agorasdk.log、agorasdk_1.log、agorasdk_2.log、agorasdk_3.log、agorasdk_4.log 这 5 个日志文件。每个文件的默认大小为 1024 KB。日志文件为 UTF-8 编码。最新的日志永远写在 agorasdk.log 中。agorasdk.log 写满后,SDK 会从 1-4 中删除修改时间最早的一个 文件, 然后将 agorasdk.log 重命名为该文件,并建立新的 agorasdk.log 写入最新的日志。

    - - 如果想要设置日志文件的大小,则需要在 前调用该方法,否则日志会被清空。 -
    +

    默认情况下,SDK 会生成 + agorasdk.log、agorasdk_1.log、agorasdk_2.log、agorasdk_3.log、agorasdk_4.log 这 5 + 个日志文件。每个文件的默认大小为 1024 KB。日志文件为 UTF-8 编码。最新的日志永远写在 agorasdk.log 中。agorasdk.log + 写满后,SDK 会从 1-4 中删除修改时间最早的一个 文件, 然后将 agorasdk.log 重命名为该文件,并建立新的 agorasdk.log + 写入最新的日志。

    + 如果想要设置日志文件的大小,则需要在 前调用该方法,否则日志会被清空。 + +
    参数 - - fileSizeInKBytes - - 单个日志文件的大小,单位为 KB。默认值为 1024 KB。如果你将 fileSizeInKByte 设为 1024 KB,SDK 会最多输出 5 MB 的日志文件。 如果你将 fileSizeInKByte 设为小于 1024 KB,单个日志文件最大仍为 1024 KB。 - - -
    + + fileSizeInKBytes + 单个日志文件的大小,单位为 KB。默认值为 1024 KB。如果你将 fileSizeInKByte 设为 + 1024 KB,SDK 会最多输出 5 MB 的日志文件。 如果你将 fileSizeInKByte 设为小于 + 1024 KB,单个日志文件最大仍为 1024 KB。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setlogfilter.dita b/dita/RTC/API/api_setlogfilter.dita index 95bd96c2727..5abb1ab4b7d 100644 --- a/dita/RTC/API/api_setlogfilter.dita +++ b/dita/RTC/API/api_setlogfilter.dita @@ -13,38 +13,42 @@

    - public abstract int setLogFilter(int filter); - - (int)setLogFilter:(NSUInteger)filter; - virtual int setLogFilter(unsigned int filter) = 0; - setLogFilter(filter: LOG_FILTER_TYPE): number - public abstract int SetLogFilter(uint filter); - - Future<void> setLogFilter(LogFilter filter);

    + public abstract int setLogFilter(int filter); + - (int)setLogFilter:(NSUInteger)filter; + virtual int setLogFilter(unsigned int filter) = 0; + setLogFilter(filter: LOG_FILTER_TYPE): number + public abstract int SetLogFilter(uint filter); + + Future<void> setLogFilter(LogFilter filter); +

    - -
    弃用:
    -
    请改用 中的 logConfig
    -
    + +
    弃用:
    +
    请改用 中的 logConfig
    +
    -

    该方法设置声网 SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF、CRITICAL、ERROR、WARNING、INFO 和 DEBUG。 - 选择一个级别,你就可以看到在该级别之前所有级别的日志信息。

    +

    该方法设置声网 SDK 的输出日志输出等级。不同的输出等级可以单独或组合使用。日志级别顺序依次为 OFF、CRITICAL、ERROR、WARNING、INFO 和 + DEBUG。 选择一个级别,你就可以看到在该级别之前所有级别的日志信息。

    例如,你选择 WARNING 级别,就可以看到在 CRITICAL、ERROR 和 WARNING 级别上的所有日志信息。

    参数 - - filter - 日志过滤等级。详见 - -
    + + filter + 日志过滤等级。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setloglevel.dita b/dita/RTC/API/api_setloglevel.dita index f37971af540..9e20a24b662 100644 --- a/dita/RTC/API/api_setloglevel.dita +++ b/dita/RTC/API/api_setloglevel.dita @@ -13,37 +13,40 @@

    - public abstract int setLogLevel(int level); - - (int)setLogLevel:(AgoraLogLevel)level; - virtual int setLogLevel(commons::LOG_LEVEL level) = 0; + public abstract int setLogLevel(int level); + - (int)setLogLevel:(AgoraLogLevel)level; + virtual int setLogLevel(commons::LOG_LEVEL level) = 0; - - public abstract int SetLogLevel(LOG_LEVEL level); - -

    + + public abstract int SetLogLevel(LOG_LEVEL level); + + +

    - -
    弃用:
    -
    该方法已经废弃。请改用 设置日志输出级别。
    -
    + +
    弃用:
    +
    该方法已经废弃。请改用 设置日志输出级别。
    +

    选择一个级别,你就可以看到该级别的日志信息。

    参数 - - level - 日志级别: - -
    + + level + 日志级别: + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setlowlightenhanceoptions.dita b/dita/RTC/API/api_setlowlightenhanceoptions.dita index 2c6a0cf989e..12bee28da47 100644 --- a/dita/RTC/API/api_setlowlightenhanceoptions.dita +++ b/dita/RTC/API/api_setlowlightenhanceoptions.dita @@ -1,8 +1,12 @@ - <ph keyref="setLowlightEnhanceOptions"/> - 设置暗光增强功能。 + + <ph keyref="setLowlightEnhanceOptions"/> + + + 设置暗光增强功能。 + @@ -13,61 +17,62 @@

    - - - - - public abstract int SetLowlightEnhanceOptions(bool enabled, LowLightEnhanceOptions options); - - Future<void> setLowlightEnhanceOptions( - bool enabled, LowLightEnhanceOptions option);

    + + + + + public abstract int SetLowlightEnhanceOptions(bool enabled, LowLightEnhanceOptions options); + + Future<void> setLowlightEnhanceOptions( + bool enabled, LowLightEnhanceOptions option); +

    暗光增强功能可以在光线亮度偏低(如背光、阴天、暗场景)和亮度不均匀的环境下自适应调整视频画面的亮度值,恢复或凸显图像的细节信息,最终提升视频图像的整体视觉效果。

    你可以调用该方法开启暗光增强功能并设置暗光增强的效果。

    -
      -
    • 调用该方法前,请确保你已经将 libagora_segmentation_extension.so 动态库集成到项目中。
    • -
    • 调用该方法前,请确保你已经将 AgoraVideoSegmentationExtension.xcframework 动态库集成到项目中。
    • -
    • 调用该方法前,请确保你已经将 libagora_segmentation_extension.dll 动态库集成到项目中。
    • -
    • 请在 后调用该方法。
    • -
    • 暗光增强对设备性能有一定要求。开启暗光增强后,如果设备出现严重发烫等问题,声网推荐你将暗光增强等级修改为消耗性能较少的等级或关闭暗光增强功能。
    • -
    +
      +
    • 调用该方法前,请确保你已经将 + libagora_segmentation_extension.so 动态库集成到项目中。
    • +
    • 调用该方法前,请确保你已经将 + AgoraVideoSegmentationExtension.xcframework 动态库集成到项目中。
    • +
    • 调用该方法前,请确保你已经将 + libagora_segmentation_extension.dll 动态库集成到项目中。
    • +
    • 请在 后调用该方法。
    • +
    • 暗光增强对设备性能有一定要求。开启暗光增强后,如果设备出现严重发烫等问题,声网推荐你将暗光增强等级修改为消耗性能较少的等级或关闭暗光增强功能。
    • +
    + +
    参数 - - enabled - - 是否开启暗光增强功能:: - - - - -
      -
    • - : 开启。 -
    • -
    • - :(默认)关闭。 -
    • -
    -
    - - options - option - - 暗光增强选项,用于设置暗光增强的效果。详见 - - 。 + + enabled + 是否开启暗光增强功能::
      +
    • + + + : 开启。
    • +
    • + + + :(默认)关闭。
    • +
    -
    -
    + + + options + option + 暗光增强选项,用于设置暗光增强的效果。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setmaxmetadatasize.dita b/dita/RTC/API/api_setmaxmetadatasize.dita index e39b2870fd0..12f54761d4e 100644 --- a/dita/RTC/API/api_setmaxmetadatasize.dita +++ b/dita/RTC/API/api_setmaxmetadatasize.dita @@ -13,13 +13,14 @@

    - - - - setMaxMetadataSize(size: number): number - public abstract int SetMaxMetadataSize(int size); - - Future<void> setMaxMetadataSize(int size);

    + + + + setMaxMetadataSize(size: number): number + public abstract int SetMaxMetadataSize(int size); + + Future<void> setMaxMetadataSize(int size); +

    调用 后,你可以调用本方法来设置媒体附属信息的最大大小。

    @@ -27,16 +28,18 @@
    参数 - - size - 媒体附属信息的最大大小。 - -
    + + size + 媒体附属信息的最大大小。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setmediametadatadatasource.dita b/dita/RTC/API/api_setmediametadatadatasource.dita index 1192bf6b76c..5493312844d 100644 --- a/dita/RTC/API/api_setmediametadatadatasource.dita +++ b/dita/RTC/API/api_setmediametadatadatasource.dita @@ -18,34 +18,41 @@ - + +
    -

    你需要在该方法中实现一个 协议,并指定 metadata 的数据类型。成功调用该方法后,SDK 会触发 回调。

    -

    该接口可以与 接口搭配使用,在直播场景中实现发送商品链接、分发优惠券、发送答题等功能,构建更为丰富的直播互动方式。

    +

    你需要在该方法中实现一个 协议,并指定 metadata + 的数据类型。成功调用该方法后,SDK 会触发 回调。

    +

    该接口可以与 + 接口搭配使用,在直播场景中实现发送商品链接、分发优惠券、发送答题等功能,构建更为丰富的直播互动方式。

    - -

      -
    • 请在加入频道前调用该方法。
    • -
    • 该方法仅适用于直播场景。
    • -

    + +
      +
    • 请在加入频道前调用该方法。
    • +
    • 该方法仅适用于直播场景。
    • +
    +
    +

    参数 - - metadataDataSource - 协议。 - - - type - metadata 的数据类型,详见 。目前仅支持视频类的 metadata。 - -
    + + metadataDataSource + 协议。 + + + type + metadata 的数据类型,详见 。目前仅支持视频类的 metadata。 + + +
    返回值
      -
    • :方法调用成功。
    • -
    • :方法调用失败。
    • -
    +
  • :方法调用成功。
  • +
  • :方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setmixedaudioframeparameters.dita b/dita/RTC/API/api_setmixedaudioframeparameters.dita index 77f877c6688..c8f96388741 100644 --- a/dita/RTC/API/api_setmixedaudioframeparameters.dita +++ b/dita/RTC/API/api_setmixedaudioframeparameters.dita @@ -13,38 +13,49 @@

    - - - virtual int setMixedAudioFrameParameters(int sampleRate, int samplesPerCall) = 0; - - public abstract int SetMixedAudioFrameParameters(int sampleRate, int samplesPerCall); - -

    + + + virtual int setMixedAudioFrameParameters(int sampleRate, int samplesPerCall) = 0; + + public abstract int SetMixedAudioFrameParameters(int sampleRate, int samplesPerCall); + + +

    该方法设置 回调数据的格式。

    -
      -
    • 该方法需要在加入频道前调用。
    • -
    • SDK 会通过该方法中的 samplesPerCallsampleRatechannel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。 请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 回调。
    • -
    +
      +
    • 该方法需要在加入频道前调用。
    • +
    • SDK 会通过该方法中的 + samplesPerCallsampleRate 和 + channel 参数计算出采样间隔,计算公式为采样间隔 = + samplesPerCall/(sampleRate + × channel)。 请确保采样间隔不小于 0.01 秒。SDK + 会根据该采样间隔触发 回调。
    • +
    + +
    参数 - - sampleRate - 中返回数据的采样率,可设置为 8000、 16000、 32000、44100 或 48000。 - - - samplesPerCall - 中返回数据的采样点数,如旁路推流应用中通常为 1024。 - -
    + + sampleRate + 中返回数据的采样率,可设置为 8000、 16000、 + 32000、44100 或 48000。 + + + samplesPerCall + 中返回数据的采样点数,如旁路推流应用中通常为 1024。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setparameters.dita b/dita/RTC/API/api_setparameters.dita index 99957342ed2..a1f46e5a196 100644 --- a/dita/RTC/API/api_setparameters.dita +++ b/dita/RTC/API/api_setparameters.dita @@ -13,13 +13,14 @@

    - - - - - public abstract int SetParameters(string parameters); - - Future<void> setParameters(String parameters);

    + + + + + public abstract int SetParameters(string parameters); + + Future<void> setParameters(String parameters); +

    JSON 选项默认不公开。声网工程师正在努力寻求以标准化方式公开 JSON 选项。

    @@ -27,16 +28,18 @@
    参数 - - parameters - JSON 字符串形式的参数。 - -
    + + parameters + JSON 字符串形式的参数。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setplaybackaudioframebeforemixingparameters.dita b/dita/RTC/API/api_setplaybackaudioframebeforemixingparameters.dita index 809ec49bbf8..ca7007efa14 100644 --- a/dita/RTC/API/api_setplaybackaudioframebeforemixingparameters.dita +++ b/dita/RTC/API/api_setplaybackaudioframebeforemixingparameters.dita @@ -3,7 +3,7 @@ <ph keyref="setPlaybackAudioFrameBeforeMixingParameters"/> 设置 - 报告的音频数据格式。 + 报告的音频数据格式。 @@ -14,40 +14,43 @@

    - public abstract int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate + public abstract int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); + - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel; - virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0; - - public abstract int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - -

    + virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0; + + public abstract int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); + + +

    参数 - - sampleRate - -

    音频数据采样率 (Hz),可设置为 800016000、 + + sampleRate + +

    音频数据采样率 (Hz),可设置为 800016000320004410048000

    -
    -
    + +
    - - channel - -

    音频数据声道数,可设置为 1(单声道) 或 2(双声道) 。

    -
    -
    -
    + + channel + +

    音频数据声道数,可设置为 1(单声道) 或 2(双声道) 。

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setplaybackaudioframeparameters.dita b/dita/RTC/API/api_setplaybackaudioframeparameters.dita index eae70542d87..190e01b0a8a 100644 --- a/dita/RTC/API/api_setplaybackaudioframeparameters.dita +++ b/dita/RTC/API/api_setplaybackaudioframeparameters.dita @@ -13,65 +13,76 @@

    - public abstract int setPlaybackAudioFrameParameters( + public abstract int setPlaybackAudioFrameParameters( int sampleRate, int channel, int mode, int samplesPerCall); - - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall; - virtual int setPlaybackAudioFrameParameters(int sampleRate, + virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; - - public abstract int SetPlaybackAudioFrameParameters(int sampleRate, int channel, + + public abstract int SetPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - -

    + + +

    该方法设置 回调数据的格式。

    -
      -
    • 该方法需要在加入频道前调用。
    • -
    • SDK 会通过该方法中的 samplesPerCallsampleRatechannel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 回调。
    • -
    +
      +
    • 该方法需要在加入频道前调用。
    • +
    • SDK 会通过该方法中的 + samplesPerCallsampleRate 和 + channel 参数计算出采样间隔,计算公式为采样间隔 = + samplesPerCall/(sampleRate + × channel)。请确保采样间隔不小于 0.01 秒。SDK + 会根据该采样间隔触发 回调。
    • +
    + +
    参数 - - sampleRate - 中返回数据的采样率,可设置为 8000、 16000、 32000、44100 或 48000。 - - - channel - -

    中返回数据的通道数,可设置为 1 或 2: - - -

      -
    • 1: 单声道
    • -
    • 2: 双声道
    • -

    -
    -
    - - mode - -

    音频帧的使用模式,详见

    -

    - - - - samplesPerCall - 中返回数据的采样点数,如旁路推流应用中通常为 1024。 - -

    + + sampleRate + 中返回数据的采样率,可设置为 8000、 16000、 + 32000、44100 或 48000。 + + + channel + +

    中返回数据的通道数,可设置为 1 或 2:

      +
    • 1: 单声道
    • +
    • 2: 双声道
    • +

    +
    +
    + + mode + +

    音频帧的使用模式,详见

    +

    + + + + samplesPerCall + 中返回数据的采样点数,如旁路推流应用中通常为 1024。 + + +

    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setplayeroption.dita b/dita/RTC/API/api_setplayeroption.dita index 302edee2279..eb4010229f7 100644 --- a/dita/RTC/API/api_setplayeroption.dita +++ b/dita/RTC/API/api_setplayeroption.dita @@ -13,39 +13,45 @@

    - int setPlayerOption(String key, int value); - - (void)setPlayerOptionInt:(NSString *)key value:(NSInteger)value; + int setPlayerOption(String key, int value); + - (void)setPlayerOptionInt:(NSString *)key value:(NSInteger)value; - - - - -

    + + + + + +

    媒体播放器支持通过 key 和 value 来设置私有选项。 一般情况下,你无需知晓私有选项设置,使用媒体播放器默认的选项设置即可。

    -
      -
    • 请确保在 之前调用该方法。
    • -
    • 如果你使用客户端旁路推流功能,且在推流过程中发送 SEI 信息,你需要调用 ("sei_data_with_uuid", 1) 方法,否则会导致 SEI 信息的丢失。
    • -
    +
      +
    • 请确保在 之前调用该方法。
    • +
    • 如果你使用客户端旁路推流功能,且在推流过程中发送 SEI 信息,你需要调用 ("sei_data_with_uuid", 1) 方法,否则会导致 SEI 信息的丢失。
    • +
    + +
    参数 - - key - key 值。 - - - value - value 值。 - -
    + + key + key 值。 + + + value + value 值。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setpluginparameter.dita b/dita/RTC/API/api_setpluginparameter.dita index 41f0f644ee5..b7e3eb8b108 100644 --- a/dita/RTC/API/api_setpluginparameter.dita +++ b/dita/RTC/API/api_setpluginparameter.dita @@ -13,13 +13,14 @@

    - - - - setPluginParameter(pluginId: string, parameter: string): number - - -

    + + + + setPluginParameter(pluginId: string, parameter: string): number + + + +

    调用 获取到 Value 值后,你可以调用本方法将包含 Key 和 Value 值的 JSON @@ -28,20 +29,22 @@

    参数 - - - - - - parameter - 包含 Key 和 Value 值的 JSON 字符串。 - -
    + + + + + + parameter + 包含 Key 和 Value 值的 JSON 字符串。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setrecordingaudioframeparameters.dita b/dita/RTC/API/api_setrecordingaudioframeparameters.dita index 9b79016ec79..7992c11601c 100644 --- a/dita/RTC/API/api_setrecordingaudioframeparameters.dita +++ b/dita/RTC/API/api_setrecordingaudioframeparameters.dita @@ -13,83 +13,96 @@

    - public abstract int setRecordingAudioFrameParameters( + public abstract int setRecordingAudioFrameParameters( int sampleRate, int channel, int mode, int samplesPerCall); - - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall; - virtual int setRecordingAudioFrameParameters(int sampleRate, + virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; - setRecordingAudioFrameParameters( + setRecordingAudioFrameParameters( sampleRate: number, channel: 1 | 2, mode: RAW_AUDIO_FRAME_OP_MODE_TYPE, samplesPerCall: number ): number - public abstract int SetRecordingAudioFrameParameters(int sampleRate, int channel, + public abstract int SetRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - -

    + + +

    -

    该方法设置 回调的采集音频格式。

    -

    调用 注册插件并获取采集的原始音频数据后,你可以调用本方法设置 SDK 返回的该原始数据的采样率、声道数等参数。

    +

    该方法设置 + 回调的采集音频格式。

    +

    调用 注册插件并获取采集的原始音频数据后,你可以调用本方法设置 SDK + 返回的该原始数据的采样率、声道数等参数。

    -
      -
    • 该方法需要在加入频道前调用。
    • -
    • SDK 会通过该方法中的 samplesPerCallsampleRatechannel 参数计算出采样间隔,计算公式为采样间隔 = samplesPerCall/(sampleRate × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 回调。
    • -
    +
      +
    • 该方法需要在加入频道前调用。
    • +
    • SDK 会通过该方法中的 + samplesPerCallsampleRate 和 + channel 参数计算出采样间隔,计算公式为采样间隔 = + samplesPerCall/(sampleRate + × channel)。请确保采样间隔不小于 0.01 秒。SDK 会根据该采样间隔触发 回调。
    • +
    + +
    参数 - - sampleRate - 中返回数据的采样率,可设置为 8000、 16000、 32000、44100 或 48000。 - SDK 返回数据的采样率 (Hz),可设置为 8000、 16000、 32000、 44100 或 48000。 - - - channel - -

    中返回数据的通道数,可设置为 1 或 2: - - -

      -
    • 1: 单声道。
    • -
    • 2: 双声道。
    • -

    -
    - -

    SDK 返回数据的通道数。取值可为 1 或 2: - - -

      -
    • 1: 单声道。
    • -
    • 2: 双声道。
    • -

    -
    -
    - - mode - -

    音频帧的使用模式,详见

    -

    - - SDK 返回数据的使用模式,详见 - - - samplesPerCall - 中返回数据的采样点数,如旁路推流应用中通常为 1024。 - SDK 返回数据的采样点数,如旁路推流应用中通常为 1024。 - -

    + + sampleRate + + 中返回数据的采样率,可设置为 8000、 16000、 32000、44100 或 48000。 + SDK 返回数据的采样率 (Hz),可设置为 8000、 16000、 32000、 44100 或 + 48000。 + + + channel + +

    中返回数据的通道数,可设置为 1 或 2:

      +
    • 1: 单声道。
    • +
    • 2: 双声道。
    • +

    +
    + +

    SDK 返回数据的通道数。取值可为 1 或 2:

      +
    • 1: 单声道。
    • +
    • 2: 双声道。
    • +

    +
    +
    + + mode + +

    音频帧的使用模式,详见

    +

    + + SDK 返回数据的使用模式,详见 + + + samplesPerCall + + 中返回数据的采样点数,如旁路推流应用中通常为 1024。 + SDK 返回数据的采样点数,如旁路推流应用中通常为 1024。 + + +

    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setremotedefaultvideostreamtype.dita b/dita/RTC/API/api_setremotedefaultvideostreamtype.dita index ce3f5e0dc48..30a6e54d451 100644 --- a/dita/RTC/API/api_setremotedefaultvideostreamtype.dita +++ b/dita/RTC/API/api_setremotedefaultvideostreamtype.dita @@ -13,52 +13,59 @@

    - virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; - public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType);

    + virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; + public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType); +

    - virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; - public abstract int SetRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType);

    + virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; + public abstract int SetRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType);

    - public abstract int setRemoteVideoStreamType(int uid, int streamType); - - (int)setRemoteVideoStream:(NSUInteger)uid + public abstract int setRemoteVideoStreamType(int uid, int streamType); + - (int)setRemoteVideoStream:(NSUInteger)uid type:(AgoraVideoStreamType)streamType; - setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number - - Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType);

    + setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number + + Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType); +

    -

    在网络条件受限的情况下,如果发送端没有调用 () 关闭双流模式,接收端可以选择接收大流还是小流。其中,大流可以接为高分辨率高码率的视频流,小流则是低分辨率低码率的视频流。

    -

    正常情况下,用户默认接收大流。如需默认接收所有用户的视频小流,可以调用本方法进行切换。SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。

    +

    在网络条件受限的情况下,如果发送端没有调用 () + 关闭双流模式,接收端可以选择接收大流还是小流。其中,大流可以接为高分辨率高码率的视频流,小流则是低分辨率低码率的视频流。

    +

    正常情况下,用户默认接收大流。如需默认接收所有用户的视频小流,可以调用本方法进行切换。SDK + 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。

    调用本方法的执行结果将在 中返回。

    - 该方法在加入频道前后都能调用。如果既调用了 ,也调用了 ,则 SDK 以 中的设置为准。
    + 该方法在加入频道前后都能调用。如果既调用了 ,也调用了 ,则 SDK 以 中的设置为准。 +
    参数 - - uid - 用户 ID。 - - - streamType - -

    默认订阅的视频流类型:

    -

    默认订阅的视频流类型: - - - - -

      -
    • 0:视频大流。
    • -
    • 1:视频小流。
    • -

    -
    -
    -
    + + uid + 用户 ID。 + + + streamType + +

    默认订阅的视频流类型:

    +

    默认订阅的视频流类型:

      +
    • 0:视频大流。
    • +
    • 1:视频小流。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setremoterendermode.dita b/dita/RTC/API/api_setremoterendermode.dita index 0d50f2a0318..4c7d14bc9f9 100644 --- a/dita/RTC/API/api_setremoterendermode.dita +++ b/dita/RTC/API/api_setremoterendermode.dita @@ -13,51 +13,54 @@

    - public abstract int setRemoteRenderMode(int userId, int renderMode); - - (int)setRemoteRenderMode:(NSUInteger)uid + public abstract int setRemoteRenderMode(int userId, int renderMode); + - (int)setRemoteRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode) mode; - virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode) = 0; - - public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode); - -

    + virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode) = 0; + + public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode); + + +

    - -
    弃用:
    -
    该方法已废弃,请使用
    -
    + +
    弃用:
    +
    该方法已废弃,请使用
    +

    该方法设置远端视图显示模式。App 可以多次调用此方法更改显示模式。

    参数 - - userId - 远端用户 ID。 - - - renderMode - -

    远端用户视图的渲染模式,详见

    -

    远端用户视图的渲染模式。 - -

      -
    • + + userId + 远端用户 ID。 + + + renderMode + +

      远端用户视图的渲染模式,详见

      +

      远端用户视图的渲染模式。

        +
      • (1):优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,多出的视频将被截掉。
      • -
      • +
      • (2):优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。
      • -

      -
      -
      -
    + +

    + + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setremoterendermode2.dita b/dita/RTC/API/api_setremoterendermode2.dita index c218699681f..6d891b88e39 100644 --- a/dita/RTC/API/api_setremoterendermode2.dita +++ b/dita/RTC/API/api_setremoterendermode2.dita @@ -13,81 +13,85 @@

    - public abstract int SetRemoteRenderMode(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode);

    + public abstract int SetRemoteRenderMode(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); +

    - public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode, - VIDEO_MIRROR_MODE_TYPE mirrorMode);

    + public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode, + VIDEO_MIRROR_MODE_TYPE mirrorMode); +

    - public abstract int setRemoteRenderMode(int userId, int renderMode, int mirrorMode); - - (int)setRemoteRenderMode:(NSUInteger)uid + public abstract int setRemoteRenderMode(int userId, int renderMode, int mirrorMode); + - (int)setRemoteRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode)mode mirror:(AgoraVideoMirrorMode)mirror; - virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - - -

    + virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + + +

    - -
    自从
    -
    v3.0.0
    -
    + +
    自从
    +
    v3.0.0
    +

    初始化远端用户视图后,你可以调用该方法更新远端用户视图在本地显示时的渲染和镜像模式。该方法只影响本地用户看到的视频画面。

    -
      -
    • 请在调用 方法初始化远端视图后,调用该方法。
    • -
    • 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。
    • -
    +
      +
    • 请在调用 方法初始化远端视图后,调用该方法。
    • +
    • 你可以在通话中多次调用该方法,多次更新远端用户视图的显示模式。
    • +
    + +
    参数 - - uid - userId - -

    远端用户 ID。

    -
    -
    - - uid - 远端用户 ID。 - - - renderMode - mode - -

    远端用户视图的渲染模式,详见

    -

    远端用户视图的渲染模式。 - - - -

      -
    • -

    -
    -
    - - mirrorMode - mirror - -

    远端用户视图的镜像模式,详见

    -

    远端用户视图的镜像模式。 - - - -

      -
    • -

    -
    -
    -
    + + uid + userId + +

    远端用户 ID。

    +
    +
    + + uid + 远端用户 ID。 + + + renderMode + mode + +

    远端用户视图的渲染模式,详见

    +

    远端用户视图的渲染模式。

      +
    • +
    +

    +
    +
    + + mirrorMode + mirror + +

    远端用户视图的镜像模式,详见

    +

    远端用户视图的镜像模式。

      +
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setremotesubscribefallbackoption.dita b/dita/RTC/API/api_setremotesubscribefallbackoption.dita index 168a9b90d8f..06c9aff0908 100644 --- a/dita/RTC/API/api_setremotesubscribefallbackoption.dita +++ b/dita/RTC/API/api_setremotesubscribefallbackoption.dita @@ -1,8 +1,12 @@ - <ph keyref="setRemoteSubscribeFallbackOption"/> - 设置弱网条件下订阅的音视频流的回退选项。 + + <ph keyref="setRemoteSubscribeFallbackOption"/> + + + 设置弱网条件下订阅的音视频流的回退选项。 + @@ -13,37 +17,54 @@

    - public abstract int setRemoteSubscribeFallbackOption(int option); - - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option; - virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; - setRemoteSubscribeFallbackOption(option: STREAM_FALLBACK_OPTIONS): number - public abstract int SetRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option); - - Future<void> setRemoteSubscribeFallbackOption(StreamFallbackOptions option);

    + public abstract int setRemoteSubscribeFallbackOption(int option); + - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option; + virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; + setRemoteSubscribeFallbackOption(option: STREAM_FALLBACK_OPTIONS): number + public abstract int SetRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option); + + Future<void> setRemoteSubscribeFallbackOption(StreamFallbackOptions option); +

    -

    网络不理想的环境下,直播音视频的质量都会下降。如果你使用本方法并将 option 设置为 (1) 或 (2),SDK 会在下行弱网且音视频质量严重受影响时,将视频流切换为小流,或关断视频流,从而保证或提高音频质量。 - 同时 SDK 会持续监控网络质量,并在网络质量改善时恢复音视频流。 - 当远端订阅流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发 回调。

    - 该方法需要在加入频道前调用。
    +

    网络不理想的环境下,直播音视频的质量都会下降。如果你使用本方法并将 option 设置为 (1) 或 (2),SDK + 会在下行弱网且音视频质量严重受影响时,将视频流切换为小流,或关断视频流,从而保证或提高音频质量。 同时 SDK + 会持续监控网络质量,并在网络质量改善时恢复音视频流。 当远端订阅流回退为音频流时,或由音频流恢复为音视频流时,SDK 会触发 回调。

    + 该方法需要在加入频道前调用。 +
    参数 - - option - 订阅音视频流的回退选项。默认值为 (1)。详见 -
      -
    • (0): 上行/下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量。
    • -
    • (1): 在下行网络条件较差时只接收视频小流(低分辨率、低码率视频流)。该选项只对 有效。 方法无效。
    • -
    • (2): 上行/下行网络较弱时,先尝试只接收视频小流(低分辨率、低码率视频流);如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流。
    • -
    -
    -
    + + option + 订阅音视频流的回退选项。默认值为 (1)。详见 +
      +
    • (0): + 上行/下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量。
    • +
    • + (1): 在下行网络条件较差时只接收视频小流(低分辨率、低码率视频流)。该选项只对 + 有效。 + 方法无效。
    • +
    • (2): + 上行/下行网络较弱时,先尝试只接收视频小流(低分辨率、低码率视频流);如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流。
    • +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setremoteuserpriority.dita b/dita/RTC/API/api_setremoteuserpriority.dita index fc8a8809176..15a85c456a1 100644 --- a/dita/RTC/API/api_setremoteuserpriority.dita +++ b/dita/RTC/API/api_setremoteuserpriority.dita @@ -1,8 +1,12 @@ - <ph keyref="setRemoteUserPriority"/> - 设置远端用户媒体流的优先级。 + + <ph keyref="setRemoteUserPriority"/> + + + 设置远端用户媒体流的优先级。 + @@ -13,46 +17,50 @@

    - public abstract int setRemoteUserPriority(int uid, int userPriority); - - virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; - setRemoteUserPriority(uid: number, userPriority: PRIORITY_TYPE) - public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); - - Future<void> setRemoteUserPriority(int uid, UserPriority userPriority);

    + public abstract int setRemoteUserPriority(int uid, int userPriority); + + virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; + setRemoteUserPriority(uid: number, userPriority: PRIORITY_TYPE) + public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); + + Future<void> setRemoteUserPriority(int uid, UserPriority userPriority); +

    - -
    自从
    -
    v2.4.0
    -
    + +
    自从
    +
    v2.4.0
    +
    -

    设置远端用户的优先级。如果将某个用户的优先级设为高,那么发给这个用户的音视频流的优先级就会高于其他用户。弱网下 SDK 会优先保证高优先级用户收到的流的质量。

    +

    设置远端用户的优先级。如果将某个用户的优先级设为高,那么发给这个用户的音视频流的优先级就会高于其他用户。弱网下 SDK + 会优先保证高优先级用户收到的流的质量。

    -
      -
    • 目前声网 SDK 仅允许将一名远端用户设为高优先级。
    • -
    • 该方法需要在加入频道前调用。
    • -
    +
      +
    • 目前声网 SDK 仅允许将一名远端用户设为高优先级。
    • +
    • 该方法需要在加入频道前调用。
    • +
    + +
    参数 - - uid - 远端用户的 ID。 - - - userPriority - - 远端用户的需求优先级。详见: 。 - - -
    + + uid + 远端用户的 ID。 + + + userPriority + 远端用户的需求优先级。详见: + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setremoteuserspatialaudioparams.dita b/dita/RTC/API/api_setremoteuserspatialaudioparams.dita index 003615ab561..8eed6f31b52 100644 --- a/dita/RTC/API/api_setremoteuserspatialaudioparams.dita +++ b/dita/RTC/API/api_setremoteuserspatialaudioparams.dita @@ -13,14 +13,15 @@

    - public abstract int setRemoteUserSpatialAudioParams(int uid, SpatialAudioParams params); - - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid + public abstract int setRemoteUserSpatialAudioParams(int uid, SpatialAudioParams params); + - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid params:(AgoraSpatialAudioParams* _Nonnull)params; - virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0; - - public abstract int SetRemoteUserSpatialAudioParams(uint uid, SpatialAudioParams param); - -

    + virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0; + + public abstract int SetRemoteUserSpatialAudioParams(uint uid, SpatialAudioParams param); + + +

    该方法需要在 后调用。成功设置远端用户的空间音效参数后,本地用户听远端用户会有空间感。

    @@ -28,21 +29,23 @@
    参数 - - - - - - params - param - 空间音效参数。详见 - -
    + + + + + + params + param + 空间音效参数。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setremotevideorenderer.dita b/dita/RTC/API/api_setremotevideorenderer.dita index 15e51dbcbad..eebb9020490 100644 --- a/dita/RTC/API/api_setremotevideorenderer.dita +++ b/dita/RTC/API/api_setremotevideorenderer.dita @@ -2,7 +2,8 @@ setremotevideorenderer - + @@ -13,31 +14,33 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_setremotevideostreamtype.dita b/dita/RTC/API/api_setremotevideostreamtype.dita index 7a7ba6809df..872c1a5bd73 100644 --- a/dita/RTC/API/api_setremotevideostreamtype.dita +++ b/dita/RTC/API/api_setremotevideostreamtype.dita @@ -1,8 +1,12 @@ - <ph keyref="setRemoteVideoStreamType"/> - 设置订阅的视频流类型。 + + <ph keyref="setRemoteVideoStreamType"/> + + + 设置订阅的视频流类型。 + @@ -13,64 +17,64 @@

    - virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; - public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType);

    + virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; + public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType); +

    - virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; - public abstract int SetRemoteVideoStreamType(uint userId, REMOTE_VIDEO_STREAM_TYPE streamType);

    + virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; + public abstract int SetRemoteVideoStreamType(uint userId, REMOTE_VIDEO_STREAM_TYPE streamType);

    - public abstract int setRemoteVideoStreamType(int uid, int streamType); - - (int)setRemoteVideoStream:(NSUInteger)uid + public abstract int setRemoteVideoStreamType(int uid, int streamType); + - (int)setRemoteVideoStream:(NSUInteger)uid type:(AgoraVideoStreamType)streamType; - setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number - - Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType);

    + setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number + + Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType); +

    -

    - 在网络条件受限的情况下,如果发送端没有调用 () 关闭双流模式,接收端可以选择接收大流还是小流。其中,大流为高分辨率高码率的视频流,小流则是低分辨率低码率的视频流。 -

    -

    正常情况下,用户默认接收大流。如需接收小流,可以调用本方法进行切换。SDK 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。

    -

    - 调用本方法的执行结果将在 中返回。 -

    - - 该方法在加入频道前后都能调用。如果既调用了 ,也调用了 ,则 SDK 以 中的设置为准。 -
    +

    在网络条件受限的情况下,如果发送端没有调用 () 关闭双流模式,接收端可以选择接收大流还是小流。其中,大流为高分辨率高码率的视频流,小流则是低分辨率低码率的视频流。

    +

    正常情况下,用户默认接收大流。如需接收小流,可以调用本方法进行切换。SDK + 会根据视频窗口的大小动态调整对应视频流的大小,以节约带宽和计算资源。视频小流默认的宽高比和视频大流的宽高比一致。根据当前大流的宽高比,系统会自动分配小流的分辨率、帧率及码率。

    +

    调用本方法的执行结果将在 中返回。

    + 该方法在加入频道前后都能调用。如果既调用了 ,也调用了 ,则 SDK 以 中的设置为准。 +
    参数 - - uid - 用户 ID。 - - - uid - userId - 用户 ID。 - - - streamType - -

    视频流类型:

    -

    视频流类型: - - - - - -

      -
    • 0:视频大流。
    • -
    • 1:视频小流。
    • -

    -
    -
    -
    + + uid + 用户 ID。 + + + uid + userId + 用户 ID。 + + + streamType + +

    视频流类型:

    +

    视频流类型:

      +
    • 0:视频大流。
    • +
    • 1:视频小流。
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setremotevoiceposition.dita b/dita/RTC/API/api_setremotevoiceposition.dita index 918bbd3da2e..d45c8bf23b2 100644 --- a/dita/RTC/API/api_setremotevoiceposition.dita +++ b/dita/RTC/API/api_setremotevoiceposition.dita @@ -13,53 +13,55 @@

    - public abstract int setRemoteVoicePosition(int uid, double pan, double gain); - - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain; - virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; - setRemoteVoicePosition(uid: number, pan: number, gain: number): number - public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); - - Future<void> setRemoteVoicePosition(int uid, double pan, double gain);

    + public abstract int setRemoteVoicePosition(int uid, double pan, double gain); + - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain; + virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; + setRemoteVoicePosition(uid: number, pan: number, gain: number): number + public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); + + Future<void> setRemoteVoicePosition(int uid, double pan, double gain); +

    设置远端用户声音的 2D 位置和音量,方便本地用户听声辨位。

    通过调用该接口设置远端用户声音出现的位置,左右声道的声音差异会产生声音的方位感,从而判断出远端用户的实时位置。在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。

    -
      -
    • 使用该方法需要在加入频道前调用 开启远端用户的语音立体声。
    • -
    • 为获得最佳听觉体验,我们建议使用该方法时使用有线耳机。
    • -
    • 该方法需要在加入频道后调用。
    • -
    +
      +
    • 使用该方法需要在加入频道前调用 + 开启远端用户的语音立体声。
    • +
    • 为获得最佳听觉体验,我们建议使用该方法时使用有线耳机。
    • +
    • 该方法需要在加入频道后调用。
    • +
    + +
    参数 - - uid - 远端用户的 ID - - - pan - 设置远端用户声音的 2D 位置,取值范围为 [-1.0,1.0]: - - - - -
      -
    • (默认)0.0: 声音出现在正前方。
    • -
    • -1.0: 声音出现在左边。
    • -
    • 1.0: 声音出现在右边。
    • -
    -
    - - gain - 设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。 - -
    + + uid + 远端用户的 ID + + + pan + 设置远端用户声音的 2D 位置,取值范围为 [-1.0,1.0]:
      +
    • (默认)0.0: 声音出现在正前方。
    • +
    • -1.0: 声音出现在左边。
    • +
    • 1.0: 声音出现在右边。
    • +
    +
    +
    + + gain + 设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setremotevoicepositionex.dita b/dita/RTC/API/api_setremotevoicepositionex.dita index 690a46a970c..29bbe91a1b1 100644 --- a/dita/RTC/API/api_setremotevoicepositionex.dita +++ b/dita/RTC/API/api_setremotevoicepositionex.dita @@ -13,59 +13,60 @@

    - public abstract int setRemoteVoicePositionEx( + public abstract int setRemoteVoicePositionEx( int uid, double pan, double gain, RtcConnection connection); - - (int)setRemoteVoicePosition:(NSUInteger)uid + - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setRemoteVoicePositionEx(uid_t uid, double pan, double gain, const RtcConnection& connection) = 0; - - public abstract int SetRemoteVoicePositionEx(uint uid, double pan, double gain, RtcConnection connection); - -

    + virtual int setRemoteVoicePositionEx(uid_t uid, double pan, double gain, const RtcConnection& connection) = 0; + + public abstract int SetRemoteVoicePositionEx(uint uid, double pan, double gain, RtcConnection connection); + + +

    设置远端用户声音的空间位置和音量,方便本地用户听声辨位。

    通过调用该接口设置远端用户声音出现的位置,左右声道的声音差异会产生声音的方位感,从而判断出远端用户的实时位置。在多人在线游戏场景,如吃鸡游戏中,该方法能有效增加游戏角色的方位感,模拟真实场景。

    -
      -
    • 为获得最佳听觉体验,我们建议用户佩戴有线耳机。
    • -
    • 该方法需要在加入频道后调用。
    • -
    +
      +
    • 为获得最佳听觉体验,我们建议用户佩戴有线耳机。
    • +
    • 该方法需要在加入频道后调用。
    • +
    + +
    参数 - - uid - 远端用户的 ID。 - - - pan - 设置远端用户声音的空间位置,取值范围为 [-1.0,1.0]: - - - -
      -
    • -1.0: 声音出现在左边。
    • -
    • (默认)0.0: 声音出现在正前方。
    • -
    • 1.0: 声音出现在右边。
    • -
    -
    - - gain - 设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。 - - - - - -
    + + uid + 远端用户的 ID。 + + + pan + 设置远端用户声音的空间位置,取值范围为 [-1.0,1.0]:
      +
    • -1.0: 声音出现在左边。
    • +
    • (默认)0.0: 声音出现在正前方。
    • +
    • 1.0: 声音出现在右边。
    • +
    +
    + + gain + 设置远端用户声音的音量,取值范围为 [0.0,100.0],默认值为 100.0,表示该用户的原始音量。取值越小,则音量越低。 + + + + + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setrendermode.dita b/dita/RTC/API/api_setrendermode.dita index 72f8e818826..38b6f05f43a 100644 --- a/dita/RTC/API/api_setrendermode.dita +++ b/dita/RTC/API/api_setrendermode.dita @@ -13,21 +13,23 @@

    - - - - setRenderMode(mode: RENDER_MODE): void - - -

    + + + + setRenderMode(mode: RENDER_MODE): void + + + +

    参数 - - mode - 渲染模式。详见 - -
    + + mode + 渲染模式。详见 + + +
    diff --git a/dita/RTC/API/api_setscreencapturecontenthint.dita b/dita/RTC/API/api_setscreencapturecontenthint.dita index 12a693ac283..44a9b03d52c 100644 --- a/dita/RTC/API/api_setscreencapturecontenthint.dita +++ b/dita/RTC/API/api_setscreencapturecontenthint.dita @@ -13,45 +13,51 @@

    - - - virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0; + + + virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0; - - public abstract int SetScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint); - -

    + + public abstract int SetScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint); + + +

    - - - virtual int setScreenCaptureContentHint(VideoContentHint contentHint) = 0; - setScreenCaptureContentHint(contentHint: VideoContentHint): number - public abstract int SetScreenCaptureContentHint(VideoContentHint contentHint); - - Future<void> setScreenCaptureContentHint(VideoContentHint contentHint);

    + + + virtual int setScreenCaptureContentHint(VideoContentHint contentHint) = 0; + setScreenCaptureContentHint(contentHint: VideoContentHint): number + public abstract int SetScreenCaptureContentHint(VideoContentHint contentHint); + + Future<void> setScreenCaptureContentHint(VideoContentHint contentHint); +

    - -
    自从
    -
    v2.4.0
    -
    + +
    自从
    +
    v2.4.0
    +
    -

    声网 SDK 会根据不同的内容类型,使用不同的算法对共享效果进行优化。如果不调用该方法,SDK 会将屏幕共享的内容默认为 ,即无指定的内容类型。

    - 该方法在开始屏幕共享前后都能调用。
    +

    声网 SDK 会根据不同的内容类型,使用不同的算法对共享效果进行优化。如果不调用该方法,SDK 会将屏幕共享的内容默认为 ,即无指定的内容类型。

    + 该方法在开始屏幕共享前后都能调用。 +
    参数 - - contentHint - 屏幕共享的内容类型。详见 - -
    + + contentHint + 屏幕共享的内容类型。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setscreencapturescenario.dita b/dita/RTC/API/api_setscreencapturescenario.dita index fdf2f3ebb5d..422fb41a1ca 100644 --- a/dita/RTC/API/api_setscreencapturescenario.dita +++ b/dita/RTC/API/api_setscreencapturescenario.dita @@ -18,20 +18,23 @@

    开启屏幕共享或窗口共享时,你可以调用该方法设置屏幕共享的场景,SDK 会根据你设置的场景调整共享画质和体验。

    - 该方法仅适用于 macOS 和 Windows。
    + 该方法仅适用于 macOS 和 Windows。 +
    参数 - - screenScenario - 屏幕共享的场景,详见 - -
    + + screenScenario + 屏幕共享的场景,详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setuplocalvideo.dita b/dita/RTC/API/api_setuplocalvideo.dita index 32ba5d605c4..7ff30c33001 100644 --- a/dita/RTC/API/api_setuplocalvideo.dita +++ b/dita/RTC/API/api_setuplocalvideo.dita @@ -13,37 +13,42 @@

    - public abstract int setupLocalVideo(VideoCanvas local); - - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local; - virtual int setupLocalVideo(const VideoCanvas& canvas) = 0; - - public abstract int SetupLocalVideo(VideoCanvas canvas); - -

    + public abstract int setupLocalVideo(VideoCanvas local); + - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local; + virtual int setupLocalVideo(const VideoCanvas& canvas) = 0; + + public abstract int SetupLocalVideo(VideoCanvas canvas); + + +

    该方法初始化本地视图并设置本地用户视频显示属性,只影响本地用户看到的视频画面,不影响本地发布视频。调用该方法绑定本地视频流的显示视窗(view),并设置本地用户视图的渲染模式和镜像模式。

    在 App 开发中,通常在初始化后调用该方法进行本地视频设置,然后再加入频道。退出频道后,绑定仍然有效,如果需要解除绑定,可以调用该方法将参数 view 设为

    -
      -
    • 该方法在加入频道前后都能调用。
    • -
    • 如果你希望在通话中更新本地用户视图的渲染或镜像模式,请使用 方法。
    • -
    +
      +
    • 该方法在加入频道前后都能调用。
    • +
    • 如果你希望在通话中更新本地用户视图的渲染或镜像模式,请使用 方法。
    • +
    + +
    参数 - - canvas - local - 本地视频显示属性。详见 - -
    + + canvas + local + 本地视频显示属性。详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setupremotevideo.dita b/dita/RTC/API/api_setupremotevideo.dita index 4c5414eec2c..37927a490c7 100644 --- a/dita/RTC/API/api_setupremotevideo.dita +++ b/dita/RTC/API/api_setupremotevideo.dita @@ -13,40 +13,48 @@

    - public abstract int setupRemoteVideo(VideoCanvas remote); - - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote; - virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0; - - public abstract int SetupRemoteVideo(VideoCanvas canvas); - -

    + public abstract int setupRemoteVideo(VideoCanvas remote); + - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote; + virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0; + + public abstract int SetupRemoteVideo(VideoCanvas canvas); + + +

    该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。

    -

    调用该方法时需要指定远端视频的用户 ID,一般可以在进频道前提前设置好。如果无法在加入频道前得到远端用户的 ID,可以在收到 回调时调用该方法。

    +

    调用该方法时需要指定远端视频的用户 ID,一般可以在进频道前提前设置好。如果无法在加入频道前得到远端用户的 ID,可以在收到 回调时调用该方法。

    如需解除某个远端用户的绑定视图,可以调用该方法并将 view 设置为空。

    离开频道后,SDK 会清除远端用户视图的绑定关系。

    -
      -
    • 如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 方法。
    • -
    • 如果你使用了声网录制服务,录制服务会作为一个哑客户端加入频道,因此也会触发 回调。由于录制服务不会发送视频流,app 无需为它绑定视图。如果 app 无法识别哑客户端,可以在收到 回调时再绑定远端用户视图。
    • -
    +
      +
    • 如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 方法。
    • +
    • 如果你使用了声网录制服务,录制服务会作为一个哑客户端加入频道,因此也会触发 + 回调。由于录制服务不会发送视频流,app 无需为它绑定视图。如果 app 无法识别哑客户端,可以在收到 回调时再绑定远端用户视图。
    • +
    + +
    参数 - - canvas - remote - -

    远端视频显示属性。详见

    -
    -
    -
    + + canvas + remote + +

    远端视频显示属性。详见

    +
    +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setupremotevideoex.dita b/dita/RTC/API/api_setupremotevideoex.dita index 7d5b0534d7f..e3c5f5b57eb 100644 --- a/dita/RTC/API/api_setupremotevideoex.dita +++ b/dita/RTC/API/api_setupremotevideoex.dita @@ -13,44 +13,50 @@

    - public abstract int setupRemoteVideoEx(VideoCanvas remote, RtcConnection connection); - - (int)setupRemoteVideoEx:(AgoraRtcVideoCanvas* _Nonnull)remote + public abstract int setupRemoteVideoEx(VideoCanvas remote, RtcConnection connection); + - (int)setupRemoteVideoEx:(AgoraRtcVideoCanvas* _Nonnull)remote connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setupRemoteVideoEx(const VideoCanvas& canvas, const RtcConnection& connection) = 0; - - public abstract int SetupRemoteVideoEx(VideoCanvas canvas, RtcConnection connection); - -

    + virtual int setupRemoteVideoEx(const VideoCanvas& canvas, const RtcConnection& connection) = 0; + + public abstract int SetupRemoteVideoEx(VideoCanvas canvas, RtcConnection connection); + + +

    该方法绑定远端用户和显示视图,并设置远端用户视图在本地显示时的渲染模式和镜像模式,只影响本地用户看到的视频画面。

    调用该方法时需要在 中指定远端视频的用户 ID,一般可以在进频道前提前设置好。

    -

    如果无法在加入频道前得到远端用户的 uid,可以在收到 回调时调用该方法。如果启用了视频录制功能,视频录制服务会做为一个哑客户端加入频道,因此其他客户端也会收到它的 onUserJoined 事件, App 不应给它绑定视图(因为它不会发送视频流)。

    +

    如果无法在加入频道前得到远端用户的 uid,可以在收到 + 回调时调用该方法。如果启用了视频录制功能,视频录制服务会做为一个哑客户端加入频道,因此其他客户端也会收到它的 onUserJoined + 事件, App 不应给它绑定视图(因为它不会发送视频流)。

    如需解除某个远端用户的绑定视图,可以调用该方法并将 view 设置为空。

    离开频道后,SDK 会清除远端用户视图的绑定关系。

    -

    如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 方法。

    -
    +

    如果你希望在通话中更新远端用户视图的渲染或镜像模式,请使用 方法。

    + +
    参数 - - remote - canvas - -

    视频画布信息。详见

    -
    -
    - - - - -
    + + remote + canvas + +

    视频画布信息。详见

    +
    +
    + + + + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setvideodenoiseroptions.dita b/dita/RTC/API/api_setvideodenoiseroptions.dita index 151ae4aa276..b443fd9eda6 100644 --- a/dita/RTC/API/api_setvideodenoiseroptions.dita +++ b/dita/RTC/API/api_setvideodenoiseroptions.dita @@ -1,8 +1,12 @@ - <ph keyref="setVideoDenoiserOptions"/> - 设置视频降噪功能。 + + <ph keyref="setVideoDenoiserOptions"/> + + + 设置视频降噪功能。 + @@ -13,60 +17,61 @@

    - - - - - public abstract int SetVideoDenoiserOptions(bool enabled, VideoDenoiserOptions options); - - Future<void> setVideoDenoiserOptions( - bool enabled, VideoDenoiserOptions option);

    + + + + + public abstract int SetVideoDenoiserOptions(bool enabled, VideoDenoiserOptions options); + + Future<void> setVideoDenoiserOptions( + bool enabled, VideoDenoiserOptions option); +

    采光不足的环境和低端视频采集设备会使视频图像含有明显的噪声,影响视频画质。在实时互动场景下,视频噪声还会在编码过程中占用码流资源并降低编码效率。

    你可以调用该方法开启视频降噪功能并设置视频降噪的效果。

    -
      -
    • 调用该方法前,请确保你已经将 libagora_segmentation_extension.so 动态库集成到项目中。
    • -
    • 调用该方法前,请确保你已经将 AgoraVideoSegmentationExtension.xcframework 动态库集成到项目中。
    • -
    • 调用该方法前,请确保你已经将 libagora_segmentation_extension.dll 动态库集成到项目中。
    • -
    • 请在 后调用该方法。
    • -
    • 视频降噪对设备性能有一定要求。开启视频降噪后,如果设备出现严重发烫等问题,声网推荐你将视频降噪等级修改为消耗性能较少的等级或关闭视频降噪功能。
    • -
    +
      +
    • 调用该方法前,请确保你已经将 + libagora_segmentation_extension.so 动态库集成到项目中。
    • +
    • 调用该方法前,请确保你已经将 + AgoraVideoSegmentationExtension.xcframework 动态库集成到项目中。
    • +
    • 调用该方法前,请确保你已经将 + libagora_segmentation_extension.dll 动态库集成到项目中。
    • +
    • 请在 后调用该方法。
    • +
    • 视频降噪对设备性能有一定要求。开启视频降噪后,如果设备出现严重发烫等问题,声网推荐你将视频降噪等级修改为消耗性能较少的等级或关闭视频降噪功能。
    • +
    + +
    参数 - - enabled - - 是否开启视频降噪功能: - - - - -
      -
    • - : 开启。 -
    • -
    • - :(默认)关闭。 -
    • -
    -
    - - options - - 视频降噪选项,用于设置视频降噪的效果。详见 - - 。 + + enabled + 是否开启视频降噪功能:
      +
    • + + + : 开启。
    • +
    • + + + :(默认)关闭。
    • +
    -
    -
    + + + options + 视频降噪选项,用于设置视频降噪的效果。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setvideoencoderconfiguration.dita b/dita/RTC/API/api_setvideoencoderconfiguration.dita index 50ac7f97a5b..310e25d0513 100644 --- a/dita/RTC/API/api_setvideoencoderconfiguration.dita +++ b/dita/RTC/API/api_setvideoencoderconfiguration.dita @@ -13,31 +13,35 @@

    - public abstract int setVideoEncoderConfiguration(VideoEncoderConfiguration config); - - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; - virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0; - setVideoEncoderConfiguration(config: VideoEncoderConfiguration): number - public abstract int SetVideoEncoderConfiguration(VideoEncoderConfiguration config); - - Future<void> setVideoEncoderConfiguration(VideoEncoderConfiguration config);

    + public abstract int setVideoEncoderConfiguration(VideoEncoderConfiguration config); + - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; + virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0; + setVideoEncoderConfiguration(config: VideoEncoderConfiguration): number + public abstract int SetVideoEncoderConfiguration(VideoEncoderConfiguration config); + + Future<void> setVideoEncoderConfiguration(VideoEncoderConfiguration config); +

    设置本地视频的编码属性。

    - 该方法在加入频道前后都能调用。如果用户在加入频道后不需要重新设置视频编码属性,则 - 声网建议在 前调用该方法,可以加快首帧出图的时间。
    + 该方法在加入频道前后都能调用。如果用户在加入频道后不需要重新设置视频编码属性,则 声网建议在 前调用该方法,可以加快首帧出图的时间。 +
    参数 - - config - 视频编码参数配置。详见 - -
    + + config + 视频编码参数配置。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setvideoprofile.dita b/dita/RTC/API/api_setvideoprofile.dita index 6696a272817..acfa76c68aa 100644 --- a/dita/RTC/API/api_setvideoprofile.dita +++ b/dita/RTC/API/api_setvideoprofile.dita @@ -13,46 +13,52 @@

    - public abstract int setVideoProfile(int profile, boolean swapWidthAndHeight); - - (int)setVideoProfile:(AgoraVideoProfile)profile + public abstract int setVideoProfile(int profile, boolean swapWidthAndHeight); + - (int)setVideoProfile:(AgoraVideoProfile)profile swapWidthAndHeight:(BOOL)swapWidthAndHeight - virtual int setVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight) = 0; - setVideoProfile(profile: VIDEO_PROFILE_TYPE, swapWidthAndHeight: boolean = false): number - public abstract int SetVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight = false); - -

    + virtual int setVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight) = 0; + setVideoProfile(profile: VIDEO_PROFILE_TYPE, swapWidthAndHeight: boolean = false): number + public abstract int SetVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight = false); + + +

    - -
    弃用:
    -
    该方法自 v2.3 起废弃。请改用 方法。
    -
    + +
    弃用:
    +
    该方法自 v2.3 起废弃。请改用 方法。
    +
    -

    该方法设置视频的编码属性。 该方法在加入频道前后都能调用。 如果用户加入频道后不需要重新设置视频编码属性,则声网建议在 前调用该方法,可以加快首帧出图的时间。

    +

    该方法设置视频的编码属性。 该方法在加入频道前后都能调用。 如果用户加入频道后不需要重新设置视频编码属性,则声网建议在 前调用该方法,可以加快首帧出图的时间。

    参数 - - profile - 视频属性。详见: - - - swapWidthAndHeight - -

    SDK 会按照你选择的视频属性 (profile) 输出固定宽高的视频。该参数设置是否交换宽和高:

    -
      -
    • : 交换宽和高
    • -
    • : 不交换宽和高(默认)
    • -
    -
    -
    + + profile + 视频属性。详见: + + + swapWidthAndHeight + +

    SDK 会按照你选择的视频属性 (profile) + 输出固定宽高的视频。该参数设置是否交换宽和高:

    +
      +
    • : 交换宽和高
    • +
    • : 不交换宽和高(默认)
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setvideoprofile2.dita b/dita/RTC/API/api_setvideoprofile2.dita index 1cca4d83c37..81b245b96bb 100644 --- a/dita/RTC/API/api_setvideoprofile2.dita +++ b/dita/RTC/API/api_setvideoprofile2.dita @@ -13,51 +13,52 @@

    - public abstract int setVideoProfile(int width, int height, int frameRate, int bitrate); - - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate; - - - - -

    + public abstract int setVideoProfile(int width, int height, int frameRate, int bitrate); + - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate; + + + + + +

    - -
    弃用:
    -
    该方法自 v2.3 起废弃。请改用 方法。
    -
    + +
    弃用:
    +
    该方法自 v2.3 起废弃。请改用 方法。
    +
    -

    该方法手动设置视频的编码属性。 该方法在加入频道前后都能调用。 如果用户加入频道后不需要重新设置视频编码属性,则声网建议在 前调用该方法,可以加快首帧出图的时间。

    +

    该方法手动设置视频的编码属性。 该方法在加入频道前后都能调用。 如果用户加入频道后不需要重新设置视频编码属性,则声网建议在 前调用该方法,可以加快首帧出图的时间。

    参数 - - width - 你想要设置的视频宽度,宽 × 高的最大值不超过 1280 × 720。 - - - height - 你想要设置的视频高度,宽 × 高的最大值不超过 1280 × 720。 - - - frameRate - 你想要设置的视频帧率,最高值不超过 30,如: 5、10、15、24、30 等。 - - - bitrate - 你想要设置的视频码率,需要开发者根据想要设置的视频的宽、高和帧率,根据 Bitrate - 中的码率参考表,手动推算出合适值。宽和高固定的情况下,码率随帧率的变化而变化: - -
      -
    • 如选取的帧率为 5 FPS,则推算码率为上表推荐码率除以 2。
    • -
    • 如选取的帧率为 15 FPS,则推算码率为上表推荐码率。
    • -
    • 如选取的帧率为 30 FPS,则推算码率为上表码率乘以 1.5。
    • -
    • 如选取其余帧率,等比例推算即可。
    • -
    • 如设置的视频码率超出合理范围,SDK 会自动按照合理区间处理码率。
    • -
    -
    -
    + + width + 你想要设置的视频宽度,宽 × 高的最大值不超过 1280 × 720。 + + + height + 你想要设置的视频高度,宽 × 高的最大值不超过 1280 × 720。 + + + frameRate + 你想要设置的视频帧率,最高值不超过 30,如: 5、10、15、24、30 等。 + + + bitrate + 你想要设置的视频码率,需要开发者根据想要设置的视频的宽、高和帧率,根据 Bitrate + 中的码率参考表,手动推算出合适值。宽和高固定的情况下,码率随帧率的变化而变化:
      +
    • 如选取的帧率为 5 FPS,则推算码率为上表推荐码率除以 2。
    • +
    • 如选取的帧率为 15 FPS,则推算码率为上表推荐码率。
    • +
    • 如选取的帧率为 30 FPS,则推算码率为上表码率乘以 1.5。
    • +
    • 如选取其余帧率,等比例推算即可。
    • +
    • 如设置的视频码率超出合理范围,SDK 会自动按照合理区间处理码率。
    • +
    +
    + +
    diff --git a/dita/RTC/API/api_setvideoqualityparameters.dita b/dita/RTC/API/api_setvideoqualityparameters.dita index 09320b861f1..b45b47e10ab 100644 --- a/dita/RTC/API/api_setvideoqualityparameters.dita +++ b/dita/RTC/API/api_setvideoqualityparameters.dita @@ -13,42 +13,44 @@

    - public abstract int setVideoQualityParameters(boolean preferFrameRateOverImageQuality); - - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality; - virtual int setVideoQualityParameters(bool preferFrameRateOverImageQuality) = 0; - - public abstract int SetVideoQualityParameters(bool preferFrameRateOverImageQuality); - -

    + public abstract int setVideoQualityParameters(boolean preferFrameRateOverImageQuality); + - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality; + virtual int setVideoQualityParameters(bool preferFrameRateOverImageQuality) = 0; + + public abstract int SetVideoQualityParameters(bool preferFrameRateOverImageQuality); + + +

    - -
    弃用:
    -
    该方法从 v2.4.0 起废弃。声网建议使用 类中的 degradationPreference 参数设置视频质量偏好。
    -
    + +
    弃用:
    +
    该方法从 v2.4.0 起废弃。声网建议使用 类中的 + degradationPreference 参数设置视频质量偏好。
    +
    参数 - - preferFrameRateOverImageQuality - -

    画质和流畅度里,是否优先保证流畅度: - -

      -
    • :优先保证流畅度。
    • -
    • : (默认)优先保证画质。
    • -

    -
    -
    -
    + + preferFrameRateOverImageQuality + +

    画质和流畅度里,是否优先保证流畅度:

      +
    • :优先保证流畅度。
    • +
    • : (默认)优先保证画质。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setvideorenderdimension.dita b/dita/RTC/API/api_setvideorenderdimension.dita index dc28887d346..f7b91f63a1e 100644 --- a/dita/RTC/API/api_setvideorenderdimension.dita +++ b/dita/RTC/API/api_setvideorenderdimension.dita @@ -13,45 +13,49 @@

    - - - - setVideoRenderDimension( + + + + setVideoRenderDimension( user: User, width: number, height: number, channelId: string = "" ) - - -

    + + + +

    声网 SDK 会自动控制 JavaScript 层视频渲染,如果你觉得应用显示的视频分辨率过低,你可以调用该方法设置视频渲染分辨率。

    -
      -
    • 该方法只影响本地渲染,不影响远端用户所见。
    • -
    • 为保证视频质量,请在设置视频渲染帧率时,相应地调整视频渲染分辨率。详见
    • -
    +
      +
    • 该方法只影响本地渲染,不影响远端用户所见。
    • +
    • 为保证视频质量,请在设置视频渲染帧率时,相应地调整视频渲染分辨率。详见
    • +
    + +
    参数 - - user - 视频所属的用户,详见 - - - width - 视频的宽度 (px)。 - - - height - 视频的高度 (px)。 - - - channelId - 标识视频渲染所属的频道的 ID。仅在多频道场景下需要设置该参数。 - -
    + + user + 视频所属的用户,详见 + + + width + 视频的宽度 (px)。 + + + height + 视频的高度 (px)。 + + + channelId + 标识视频渲染所属的频道的 ID。仅在多频道场景下需要设置该参数。 + + +
    diff --git a/dita/RTC/API/api_setvideorenderfps.dita b/dita/RTC/API/api_setvideorenderfps.dita index 3f56be9c662..7ad3143acb8 100644 --- a/dita/RTC/API/api_setvideorenderfps.dita +++ b/dita/RTC/API/api_setvideorenderfps.dita @@ -13,28 +13,33 @@

    - - - - setVideoRenderFPS(fps: number) - - -

    + + + + setVideoRenderFPS(fps: number) + + + +

    声网 SDK 会自动控制 JavaScript 层视频渲染,如果你觉得应用显示的视频帧率过低,你可以调用该方法设置视频渲染帧率。

    -
      -
    • 该方法只影响本地渲染,不影响远端用户所见。
    • -
    • 为保证视频质量,请在设置视频渲染分辨率时,相应地调整视频渲染帧率。详见
    • -
    +
      +
    • 该方法只影响本地渲染,不影响远端用户所见。
    • +
    • 为保证视频质量,请在设置视频渲染分辨率时,相应地调整视频渲染帧率。详见
    • +
    + +
    参数 - - fps - 本地视频渲染帧率 (fps)。不能超过 30 fps。 - -
    + + fps + 本地视频渲染帧率 (fps)。不能超过 30 fps。 + + +
    diff --git a/dita/RTC/API/api_setvideosource.dita b/dita/RTC/API/api_setvideosource.dita index 974e37b1378..a7b82b8a0b8 100644 --- a/dita/RTC/API/api_setvideosource.dita +++ b/dita/RTC/API/api_setvideosource.dita @@ -13,30 +13,35 @@

    - - - virtual bool setVideoSource(IVideoSource *source) = 0; - - - -

    + + + virtual bool setVideoSource(IVideoSource *source) = 0; + + + + +

    -

    实时通信过程中,声网 SDK 会启动默认的视频输入设备,即内置的摄像头,采集视频。但是,如果你需要自定义视频输入设备,你可以先通过 类自定义视频源,再调用该方法将自定义的视频源加入到 SDK 中。

    - 该方法在加入频道前后都能调用。
    +

    实时通信过程中,声网 SDK 会启动默认的视频输入设备,即内置的摄像头,采集视频。但是,如果你需要自定义视频输入设备,你可以先通过 类自定义视频源,再调用该方法将自定义的视频源加入到 SDK 中。

    + 该方法在加入频道前后都能调用。 +
    参数 - - source - 自定义的视频源。详细定义见 - -
    + + source + 自定义的视频源。详细定义见 + + +
    返回值
      -
    • : 自定义视频源添加成功。
    • -
    • : 自定义视频源添加失败。
    • -
    +
  • : 自定义视频源添加成功。
  • +
  • : 自定义视频源添加失败。
  • + +
    diff --git a/dita/RTC/API/api_setview.dita b/dita/RTC/API/api_setview.dita index ec0d1a49091..86a5eb6cf08 100644 --- a/dita/RTC/API/api_setview.dita +++ b/dita/RTC/API/api_setview.dita @@ -13,21 +13,23 @@

    - - - - setView(rendererConfig: RendererConfig): void - - -

    + + + + setView(rendererConfig: RendererConfig): void + + + +

    参数 - - renderConfig - 视频渲染配置。详见 - -
    + + renderConfig + 视频渲染配置。详见 + + +
    diff --git a/dita/RTC/API/api_setvoicebeautifierparameters.dita b/dita/RTC/API/api_setvoicebeautifierparameters.dita index 1eddea6cd38..11c60a04118 100644 --- a/dita/RTC/API/api_setvoicebeautifierparameters.dita +++ b/dita/RTC/API/api_setvoicebeautifierparameters.dita @@ -13,87 +13,87 @@

    - public abstract int setVoiceBeautifierParameters(int preset, int param1, int param2); - - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2; - virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2) = 0; - setVoiceBeautifierParameters(preset: VOICE_BEAUTIFIER_PRESET, param1: number, param2: number): number - public abstract int SetVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2); - - Future<void> setAudioEffectParameters( - AudioEffectPreset preset, int param1, int param2);

    + public abstract int setVoiceBeautifierParameters(int preset, int param1, int param2); + - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2; + virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2) = 0; + setVoiceBeautifierParameters(preset: VOICE_BEAUTIFIER_PRESET, param1: number, param2: number): number + public abstract int SetVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2); + + Future<void> setAudioEffectParameters( + AudioEffectPreset preset, int param1, int param2); +

    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +

    调用该方法可以设置歌唱美声效果的性别特征和混响效果。该方法对本地发流用户进行设置。设置后,频道内所有用户都能听到该效果。

    -

    为获取更好的人声效果,声网推荐你在调用该方法前将 scenario 设为 (3),并将 profile 设为 (4) 或 (5)。

    +

    为获取更好的人声效果,声网推荐你在调用该方法前将 的 + scenario 设为 (3),并将 profile 设为 (4) 或 (5)。

    -
      -
    • 该方法在加入频道前后都能调用。
    • -
    • 请勿将 profile 参数设置为 (1)(6),否则该方法不生效。
    • -
    • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含音乐的音频数据。
    • -
    • 调用 ,声网不推荐调用以下方法,否则 设置的效果会被覆盖: - - -
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    +
  • 该方法在加入频道前后都能调用。
  • +
  • 请勿将 profile 参数设置为 + (1) 或 + (6),否则该方法不生效。
  • +
  • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含音乐的音频数据。
  • +
  • 调用 ,声网不推荐调用以下方法,否则 设置的效果会被覆盖:
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • + + +
    参数 - - preset - 预设的音效: - - - -
      -
    • SINGING_BEAUTIFIER: 歌唱美声。
    • -
    -
    - - param1 - 歌声的性别特征: - - - -
      -
    • 1: 男声。
    • -
    • 2: 女声。
    • -
    -
    - - param2 - 歌声的混响效果: - - - -
      -
    • 1: 歌声在小房间的混响效果。
    • -
    • 2: 歌声在大房间的混响效果。
    • -
    • 3: 歌声在大厅的混响效果。
    • -
    -
    -
    + + preset + 预设的音效:
      +
    • SINGING_BEAUTIFIER: 歌唱美声。
    • +
    +
    +
    + + param1 + 歌声的性别特征:
      +
    • 1: 男声。
    • +
    • 2: 女声。
    • +
    +
    +
    + + param2 + 歌声的混响效果:
      +
    • 1: 歌声在小房间的混响效果。
    • +
    • 2: 歌声在大房间的混响效果。
    • +
    • 3: 歌声在大厅的混响效果。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setvoicebeautifierpreset.dita b/dita/RTC/API/api_setvoicebeautifierpreset.dita index 3b0ee763dc2..83cf55bdf22 100644 --- a/dita/RTC/API/api_setvoicebeautifierpreset.dita +++ b/dita/RTC/API/api_setvoicebeautifierpreset.dita @@ -13,101 +13,115 @@

    - public abstract int setVoiceBeautifierPreset(int preset); - - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset; - virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0; - setVoiceBeautifierPreset(preset: VOICE_BEAUTIFIER_PRESET): number - public abstract int SetVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset); - - Future<void> setVoiceBeautifierPreset(VoiceBeautifierPreset preset);

    + public abstract int setVoiceBeautifierPreset(int preset); + - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset; + virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0; + setVoiceBeautifierPreset(preset: VOICE_BEAUTIFIER_PRESET): number + public abstract int SetVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset); + + Future<void> setVoiceBeautifierPreset(VoiceBeautifierPreset preset); +

    - -
    自从
    -
    v3.2.0
    -
    + +
    自从
    +
    v3.2.0
    +
    -

    调用该方法可以为本地发流用户设置预设的人声美化效果。设置美声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置不同的美声效果。各美声效果的适用场景可参考设置人声效果

    -

    为获取更好的人声效果,声网推荐你在调用该方法前将 scenario 设为 (3),并将 profile 设为 (4) 或 (5)。

    +

    调用该方法可以为本地发流用户设置预设的人声美化效果。设置美声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置不同的美声效果。各美声效果的适用场景可参考设置人声效果

    +

    为获取更好的人声效果,声网推荐你在调用该方法前将 的 + scenario 设为 (3),并将 profile 设为 (4) 或 (5)。

    -
      -
    • 该方法在加入频道前后都能调用。
    • -
    • 请勿将 profile 参数设置为 (1)(6),否则该方法不生效。
    • -
    • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含音乐的音频数据。
    • -
    • 调用 ,声网不推荐调用以下方法,否则 设置的效果会被覆盖: - - -
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    +
  • 该方法在加入频道前后都能调用。
  • +
  • 请勿将 profile 参数设置为 + (1) 或 + (6),否则该方法不生效。
  • +
  • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含音乐的音频数据。
  • +
  • 调用 ,声网不推荐调用以下方法,否则 设置的效果会被覆盖:
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • + + +
    参数 - - preset - -

    预设的美声效果选项,详见

    -

    预设的美声效果选项: - - - -

      -
    • : 原声,即关闭美声效果。
    • -
    • : 磁性(男)。
    • -
    • : 清新(女)。
    • -
    • : 活力(女)。
    • -
    • : 歌唱美声。 - - - -
        -
      • -
        - -
        自从
        -
        v3.3.0
        -
        -
        -
      • -
      • 如果调用 (),你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声,否则音频会失真。
      • -
      • 如果调用 (, param1, param2),你可以美化男声或女声并添加混响效果。
      • -
    • -
    • : 浑厚。
    • -
    • : 低沉。
    • -
    • : 圆润。
    • -
    • : 假音。
    • -
    • : 饱满。
    • -
    • : 清澈。
    • -
    • : 高亢。
    • -
    • : 嘹亮。
    • -
    • : 超高音质,即让音频更清晰、细节更丰富。 - - - -
        -
      • 为达到更好的效果,我们推荐在调用该方法前将 profile 参数设置为 (4) 或 (5),且 scenario 参数设置为 (6)。
      • -
      • 如果用户的音频采集设备可以高度还原音频细节,声网建议你不要开启超高音质,否则 SDK 会过度还原音频细节,达不到预期效果。
      • -
    • -

    -
    -
    -
    + + preset + +

    预设的美声效果选项,详见

    +

    预设的美声效果选项:

      +
    • : 原声,即关闭美声效果。
    • +
    • : 磁性(男)。
    • +
    • : 清新(女)。
    • +
    • : 活力(女)。
    • +
    • : 歌唱美声。
        +
      • +
        + +
        自从
        +
        v3.3.0
        +
        +
        +
      • +
      • 如果调用 (),你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声,否则音频会失真。
      • +
      • 如果调用 (, param1, + param2),你可以美化男声或女声并添加混响效果。
      • +
      +
    • +
    • : 浑厚。
    • +
    • : 低沉。
    • +
    • : 圆润。
    • +
    • : 假音。
    • +
    • : 饱满。
    • +
    • : 清澈。
    • +
    • : 高亢。
    • +
    • : 嘹亮。
    • +
    • : + 超高音质,即让音频更清晰、细节更丰富。
        +
      • 为达到更好的效果,我们推荐在调用该方法前将 + 的 profile 参数设置为 (4) 或 + (5),且 scenario 参数设置为 (6)。
      • +
      • 如果用户的音频采集设备可以高度还原音频细节,声网建议你不要开启超高音质,否则 SDK + 会过度还原音频细节,达不到预期效果。
      • +
    • +
    +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_setvoiceconversionpreset.dita b/dita/RTC/API/api_setvoiceconversionpreset.dita index e10fa132143..c58b452e1f6 100644 --- a/dita/RTC/API/api_setvoiceconversionpreset.dita +++ b/dita/RTC/API/api_setvoiceconversionpreset.dita @@ -13,75 +13,82 @@

    - public abstract int setVoiceConversionPreset(int preset); - - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset; - virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0; - setVoiceConversionPreset(preset: VOICE_CONVERSION_PRESET): number - public abstract int SetVoiceConversionPreset(VOICE_CONVERSION_PRESET preset); - - Future<void> setVoiceConversionPreset(VoiceConversionPreset preset);

    + public abstract int setVoiceConversionPreset(int preset); + - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset; + virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0; + setVoiceConversionPreset(preset: VOICE_CONVERSION_PRESET): number + public abstract int SetVoiceConversionPreset(VOICE_CONVERSION_PRESET preset); + + Future<void> setVoiceConversionPreset(VoiceConversionPreset preset); +

    - -
    自从
    -
    v3.3.1
    -
    + +
    自从
    +
    v3.3.1
    +

    调用该方法可以为本地发流用户设置 SDK 预设的变声效果。设置变声效果后,频道内所有用户都能听到该效果。根据不同的场景,你可以为用户设置不同的变声效果,各变声效果的适用场景可参考《设置人声效果》。

    -

    为获取更好的人声效果,声网推荐你在调用该方法前将 profile 设为 (4) 或 (5),并将 scenario 设为 (3)。

    +

    为获取更好的人声效果,声网推荐你在调用该方法前将 的 + profile 设为 (4) 或 (5),并将 + scenario 设为 (3)。

    -
      -
    • 该方法在加入频道前后都能调用。
    • -
    • 请勿将 profile 参数设置为 - (1) - 或 (6),否则该方法不生效。
    • -
    • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含音乐的音频数据。
    • -
    • 调用 后,声网不推荐调用以下方法,否则 设置的效果会被覆盖: - -
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    +
  • 该方法在加入频道前后都能调用。
  • +
  • 请勿将 profile 参数设置为 + (1) 或 + (6),否则该方法不生效。
  • +
  • 该方法对人声的处理效果最佳,声网不推荐调用该方法处理含音乐的音频数据。
  • +
  • 调用 后,声网不推荐调用以下方法,否则 设置的效果会被覆盖:
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
  • + + +
    参数 - - preset - -

    预设的变声效果选项:

    -

    预设的变声效果选项: - - - -

      -
    • : 原声,即关闭变声效果。
    • -
    • : + + preset + +

      预设的变声效果选项:

      +

      预设的变声效果选项:

        +
      • : 原声,即关闭变声效果。
      • +
      • : 中性。为避免音频失真,请确保仅对女声设置该效果。
      • -
      • : +
      • : 甜美。为避免音频失真,请确保仅对女声设置该效果。
      • -
      • : +
      • : 稳重。为避免音频失真,请确保仅对男声设置该效果。
      • -
      • : 低沉。为避免音频失真,请确保仅对男声设置该效果。
      • -

      -
      -
      -
    +
  • : 低沉。为避免音频失真,请确保仅对男声设置该效果。
  • + +

    + + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_setvolumeofeffect.dita b/dita/RTC/API/api_setvolumeofeffect.dita index 62bef6dd9dc..d9915d14cb9 100644 --- a/dita/RTC/API/api_setvolumeofeffect.dita +++ b/dita/RTC/API/api_setvolumeofeffect.dita @@ -13,36 +13,40 @@

    - public abstract int setVolumeOfEffect(int soundId, double volume); + public abstract int setVolumeOfEffect(int soundId, double volume); - - (int)setVolumeOfEffect:(int)soundId + - (int)setVolumeOfEffect:(int)soundId withVolume:(int)volume; - virtual int setVolumeOfEffect(int soundId, int volume) = 0; - setVolumeOfEffect(soundId: number, volume: number): number - public abstract int SetVolumeOfEffect(int soundId, int volume); - - Future<void> setVolumeOfEffect(int soundId, int volume);

    + virtual int setVolumeOfEffect(int soundId, int volume) = 0; + setVolumeOfEffect(soundId: number, volume: number): number + public abstract int SetVolumeOfEffect(int soundId, int volume); + + Future<void> setVolumeOfEffect(int soundId, int volume); +

    - 该方法需要在 后调用。
    + 该方法需要在 后调用。 +
    参数 - - soundId - 指定音效的 ID。每个音效均有唯一的 ID。 - - - volume - 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 - -
    + + soundId + 指定音效的 ID。每个音效均有唯一的 ID。 + + + volume + 播放音量。取值范围为 [0,100]。默认值为 100,表示原始音量。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startaudioframedump.dita b/dita/RTC/API/api_startaudioframedump.dita index a067b3cc392..fe7add872d5 100644 --- a/dita/RTC/API/api_startaudioframedump.dita +++ b/dita/RTC/API/api_startaudioframedump.dita @@ -13,24 +13,26 @@

    - - - virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location, + + + virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location, const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0; - - - -

    + + + + +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_startaudiomixing.dita b/dita/RTC/API/api_startaudiomixing.dita index 39a77bd678a..dbd62cc8358 100644 --- a/dita/RTC/API/api_startaudiomixing.dita +++ b/dita/RTC/API/api_startaudiomixing.dita @@ -13,99 +13,101 @@

    - public abstract int startAudioMixing( + public abstract int startAudioMixing( String filePath, boolean loopback, boolean replace, int cycle); - - (int)startAudioMixing:(NSString * _Nonnull)filePath + - (int)startAudioMixing:(NSString * _Nonnull)filePath loopback:(BOOL)loopback replace:(BOOL)replace cycle:(NSInteger)cycle; - virtual int startAudioMixing(const char* filePath, + virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle) = 0; - startAudioMixing(filePath: string, + startAudioMixing(filePath: string, loopback: boolean, replace: boolean, cycle: number ): number - public abstract int StartAudioMixing(string filePath, bool loopback, bool replace, int cycle); - -

    + public abstract int StartAudioMixing(string filePath, bool loopback, bool replace, int cycle); + + +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    -

    该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 () 回调。播放结束后,本地会触发 () 回调。

    +

    该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 () 回调。播放结束后,本地会触发 () 回调。

    -
      -
    • 该方法需要在加入频道后调用。如需多次调用 ,请确保调用间隔大于 500 ms。
    • -
    • 如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告 WARN_AUDIO_MIXING_OPEN_ERROR (701)。
    • -
    • 如需调用该方法,请确保使用 Android 4.2 或以上设备,且 API Level 不低于 16。
    • -
    • 如果播放的是在线音乐文件,声网建议不要使用重定向地址。重定向地址在某些机型上可能无法打开。
    • -
    • 如果在模拟器上调用该方法,则请确保音乐文件在 /sdcard/ 目录下,且格式为 MP3。
    • -
    +
      +
    • 该方法需要在加入频道后调用。如需多次调用 ,请确保调用间隔大于 500 + ms。
    • +
    • 如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告 + WARN_AUDIO_MIXING_OPEN_ERROR (701)。
    • +
    • 如需调用该方法,请确保使用 Android 4.2 或以上设备,且 API Level 不低于 16。
    • +
    • 如果播放的是在线音乐文件,声网建议不要使用重定向地址。重定向地址在某些机型上可能无法打开。
    • +
    • 如果在模拟器上调用该方法,则请确保音乐文件在 /sdcard/ 目录下,且格式为 MP3。
    • +
    + +
    参数 - - - - - - filePath - -

    - - - - loopback - -

    是否只在本地播放音乐文件: - - - -

      -
    • : 只在本地播放音乐文件,只有本地用户能听到音乐。
    • -
    • : 将本地播放的音乐文件发布至远端,本地用户和远端用户都能听到音乐。
    • -

    -
    -
    - - replace - -

    是否用音乐文件替换麦克风采集的音频: - - - -

      -
    • : 替换。用户只能听到音乐。
    • -
    • : 不替换。用户可以听到音乐和麦克风采集的音频。
    • -

    -
    -
    - - cycle - -

    音乐文件的播放次数。 - - - -

      -
    • ≥ 0: 播放次数。例如,0 表示不播放;1 表示播放 1 次。
    • -
    • -1: 无限循环播放。
    • -

    -
    -
    -
    + + + + + + filePath + +

    + + + + loopback + +

    是否只在本地播放音乐文件:

      +
    • : + 只在本地播放音乐文件,只有本地用户能听到音乐。
    • +
    • : + 将本地播放的音乐文件发布至远端,本地用户和远端用户都能听到音乐。
    • +

    +
    +
    + + replace + +

    是否用音乐文件替换麦克风采集的音频:

      +
    • : 替换。用户只能听到音乐。
    • +
    • : + 不替换。用户可以听到音乐和麦克风采集的音频。
    • +

    +
    +
    + + cycle + +

    音乐文件的播放次数。

      +
    • ≥ 0: 播放次数。例如,0 表示不播放;1 表示播放 1 次。
    • +
    • -1: 无限循环播放。
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startaudiomixing2.dita b/dita/RTC/API/api_startaudiomixing2.dita index 48734168e7c..65f07b921c9 100644 --- a/dita/RTC/API/api_startaudiomixing2.dita +++ b/dita/RTC/API/api_startaudiomixing2.dita @@ -13,92 +13,95 @@

    - public abstract int startAudioMixing(String filePath, boolean loopback, boolean replace, int cycle, int startPos); - - (int)startAudioMixing:(NSString* _Nonnull)filePath loopback:(BOOL)loopback replace:(BOOL)replace cycle:(NSInteger)cycle startPos:(NSInteger)startPos; - virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle, int startPos) = 0; - startAudioMixing( + public abstract int startAudioMixing(String filePath, boolean loopback, boolean replace, int cycle, int startPos); + - (int)startAudioMixing:(NSString* _Nonnull)filePath loopback:(BOOL)loopback replace:(BOOL)replace cycle:(NSInteger)cycle startPos:(NSInteger)startPos; + virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle, int startPos) = 0; + startAudioMixing( filePath: string, loopback: boolean, replace: boolean, cycle: number, startPos?: number, ): number - public abstract int StartAudioMixing(string filePath, bool loopback, bool replace, int cycle, int startPos); - - Future<void> startAudioMixing( + public abstract int StartAudioMixing(string filePath, bool loopback, bool replace, int cycle, int startPos); + + Future<void> startAudioMixing( String filePath, bool loopback, bool replace, int cycle, - [int? startPos]);

    + [int? startPos]); +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +
    -

    该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 (PLAY) 回调。播放结束后,本地会触发 (STOPPED) 回调。

    +

    该方法支持将本地或在线音乐文件和麦克风采集的音频进行混音或替换。成功播放音乐文件后,本地会触发 (PLAY) 回调。播放结束后,本地会触发 + (STOPPED) 回调。

    -
      -
    • 该方法需要在加入频道后调用。如需多次调用 ,请确保调用间隔大于 500 ms。
    • -
    • 如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告 WARN_AUDIO_MIXING_OPEN_ERROR (701)。
    • -
    • -
    • 如需调用该方法,请确保使用 Android 4.2 或以上设备,且 API Level 不低于 16。
    • -
    • 如果播放的是在线音乐文件,声网建议不要使用重定向地址。重定向地址在某些机型上可能无法打开。
    • -
    • 如果在模拟器上调用该方法,则请确保音乐文件在 /sdcard/ 目录下,且格式为 MP3。
    • -
    +
      +
    • 该方法需要在加入频道后调用。如需多次调用 ,请确保调用间隔大于 500 + ms。
    • +
    • 如果本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL,则 SDK 会报告 + WARN_AUDIO_MIXING_OPEN_ERROR (701)。
    • +
    • +
    • 如需调用该方法,请确保使用 Android 4.2 或以上设备,且 API Level 不低于 16。
    • +
    • 如果播放的是在线音乐文件,声网建议不要使用重定向地址。重定向地址在某些机型上可能无法打开。
    • +
    • 如果在模拟器上调用该方法,则请确保音乐文件在 /sdcard/ 目录下,且格式为 MP3。
    • +
    + +
    参数 - - - - - - loopback - -

    是否只在本地播放音乐文件: - - -

      -
    • : 只在本地播放音乐文件,只有本地用户能听到音乐。
    • -
    • : 将本地播放的音乐文件发布至远端,本地用户和远端用户都能听到音乐。
    • -

    -
    -
    - - replace - -

    是否用音乐文件替换麦克风采集的音频: - - -

      -
    • : 替换。用户只能听到音乐。
    • -
    • : 不替换。用户可以听到音乐和麦克风采集的音频。
    • -

    -
    -
    - - cycle - -

    音乐文件的播放次数。 - - -

      -
    • ≥ 0: 播放次数。例如,0 表示不播放;1 表示播放 1 次。
    • -
    • -1: 无限循环播放。
    • -

    -
    -
    - - startPos - 音乐文件的播放位置,单位为毫秒。 - -
    + + + + + + loopback + +

    是否只在本地播放音乐文件:

      +
    • : + 只在本地播放音乐文件,只有本地用户能听到音乐。
    • +
    • : + 将本地播放的音乐文件发布至远端,本地用户和远端用户都能听到音乐。
    • +

    +
    +
    + + replace + +

    是否用音乐文件替换麦克风采集的音频:

      +
    • : 替换。用户只能听到音乐。
    • +
    • : + 不替换。用户可以听到音乐和麦克风采集的音频。
    • +

    +
    +
    + + cycle + +

    音乐文件的播放次数。

      +
    • ≥ 0: 播放次数。例如,0 表示不播放;1 表示播放 1 次。
    • +
    • -1: 无限循环播放。
    • +

    +
    +
    + + startPos + 音乐文件的播放位置,单位为毫秒。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startaudiorecording.dita b/dita/RTC/API/api_startaudiorecording.dita index 8e0b7f133e7..154b4365f1f 100644 --- a/dita/RTC/API/api_startaudiorecording.dita +++ b/dita/RTC/API/api_startaudiorecording.dita @@ -13,54 +13,58 @@

    - public abstract int startAudioRecording(String filePath, int quality); - - (int)startAudioRecording:(NSString * _Nonnull)filePath + public abstract int startAudioRecording(String filePath, int quality); + - (int)startAudioRecording:(NSString * _Nonnull)filePath quality:(AgoraAudioRecordingQuality)quality; - virtual int startAudioRecording(const char* filePath, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; - - public abstract int StartAudioRecording(string filePath, AUDIO_RECORDING_QUALITY_TYPE quality); - -

    + virtual int startAudioRecording(const char* filePath, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; + + public abstract int StartAudioRecording(string filePath, AUDIO_RECORDING_QUALITY_TYPE quality); + + +

    - -
    弃用:
    -
    该方法从 v2.9.1 起废弃,其默认录音采样率为 32 kHz,不可修改。请改用新的 方法。
    -
    + +
    弃用:
    +
    该方法从 v2.9.1 起废弃,其默认录音采样率为 32 kHz,不可修改。请改用新的 方法。
    +
    -

    声网 SDK 支持通话过程中在客户端进行录音。该方法录制频道内所有用户的音频,并生成一个包含所有用户声音的录音文件,录音文件格式可以为: - - - -

      -
    • .wav: 文件大,音质保真度高;
    • -
    • .aac: 文件小,有一定的音质保真度损失。
    • -

    -

    请确保 App 里指定的目录存在且可写。该接口需在 之后调用。如果调用 时还在录音,录音会自动停止。

    +

    声网 SDK 支持通话过程中在客户端进行录音。该方法录制频道内所有用户的音频,并生成一个包含所有用户声音的录音文件,录音文件格式可以为:

      +
    • .wav: 文件大,音质保真度高;
    • +
    • .aac: 文件小,有一定的音质保真度损失。
    • +
    +

    +

    请确保 App 里指定的目录存在且可写。该接口需在 之后调用。如果调用 时还在录音,录音会自动停止。

    参数 - - - - - - quality - 录音质量。详见 -
      -
    • 0: 低音质。采样率为 32 kHz,录制 10 分钟的文件大小为 1.2 M 左右。
    • -
    • 1: 中音质。采样率为 32 kHz,录制 10 分钟的文件大小为 2 M 左右。
    • -
    • 2: 高音质。采样率为 32 kHz,录制 10 分钟的文件大小为 3.75 M 左右。
    • -
    -
    -
    + + + + + + quality + 录音质量。详见 +
      +
    • 0: 低音质。采样率为 32 kHz,录制 10 分钟的文件大小为 1.2 M 左右。
    • +
    • 1: 中音质。采样率为 32 kHz,录制 10 分钟的文件大小为 2 M 左右。
    • +
    • 2: 高音质。采样率为 32 kHz,录制 10 分钟的文件大小为 3.75 M 左右。
    • +
    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startaudiorecording2.dita b/dita/RTC/API/api_startaudiorecording2.dita index 03c9d26d9b9..68e16394960 100644 --- a/dita/RTC/API/api_startaudiorecording2.dita +++ b/dita/RTC/API/api_startaudiorecording2.dita @@ -13,79 +13,82 @@

    - - - virtual int startAudioRecording(const char* filePath, + + + virtual int startAudioRecording(const char* filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; - startAudioRecording(filePath: string, + startAudioRecording(filePath: string, sampleRate: number, quality: AUDIO_RECORDING_QUALITY_TYPE ): number - public abstract int StartAudioRecording(string filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality); - - Future<void> startAudioRecording(String filePath, - AudioSampleRateType sampleRate, AudioRecordingQuality quality);

    + public abstract int StartAudioRecording(string filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality); + + Future<void> startAudioRecording(String filePath, + AudioSampleRateType sampleRate, AudioRecordingQuality quality); +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    - -
    自从
    -
    v2.9.1
    -
    + +
    自从
    +
    v2.9.1
    +
    -

    声网 SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内所有用户的音频,并得到一个包含所有用户声音的录音文件。录音文件格式可以为: - - - -

      -
    • .wav: 文件大,音质保真度较高。
    • -
    • .aac: 文件小,音质保真度较低。
    • -

    +

    声网 SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内所有用户的音频,并得到一个包含所有用户声音的录音文件。录音文件格式可以为:

      +
    • .wav: 文件大,音质保真度较高。
    • +
    • .aac: 文件小,音质保真度较低。
    • +
    +

    -
      -
    • 请确保你在该方法中指定的路径存在并且可写。
    • -
    • 该接口需在 之后调用。如果调用 时还在录音,录音会自动停止。
    • -
    • 为保证录音效果,当 sampleRate 设为 44.1 kHz 或 48 kHz 时,建议将 quality 设为
    • -
    +
      +
    • 请确保你在该方法中指定的路径存在并且可写。
    • +
    • 该接口需在 之后调用。如果调用 时还在录音,录音会自动停止。
    • +
    • 为保证录音效果,当 sampleRate 设为 44.1 kHz 或 48 kHz 时,建议将 + quality 设为
    • +
    + +
    参数 - - - - - - sampleRate - -

    录音采样率(Hz),可以设为以下值: - - - -

      -
    • 16000
    • -
    • 32000(默认)
    • -
    • 44100
    • -
    • 48000
    • -

    -
    -
    - - quality - 录音音质。详见 - -
    + + + + + + sampleRate + +

    录音采样率(Hz),可以设为以下值:

      +
    • 16000
    • +
    • 32000(默认)
    • +
    • 44100
    • +
    • 48000
    • +
    +

    +
    +
    + + quality + 录音音质。详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startaudiorecording3.dita b/dita/RTC/API/api_startaudiorecording3.dita index 7907964b46d..81b283dcb6b 100644 --- a/dita/RTC/API/api_startaudiorecording3.dita +++ b/dita/RTC/API/api_startaudiorecording3.dita @@ -13,43 +13,46 @@

    - public abstract int startAudioRecording(AudioRecordingConfiguration config); - - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration* _Nonnull)config; - virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0; - startAudioRecordingWithConfig(config: AudioRecordingConfiguration): number - public abstract int StartAudioRecording(AudioRecordingConfiguration config); - - Future<void> startAudioRecordingWithConfig( - AudioRecordingConfiguration config);

    + public abstract int startAudioRecording(AudioRecordingConfiguration config); + - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration* _Nonnull)config; + virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0; + startAudioRecordingWithConfig(config: AudioRecordingConfiguration): number + public abstract int StartAudioRecording(AudioRecordingConfiguration config); + + Future<void> startAudioRecordingWithConfig( + AudioRecordingConfiguration config); +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +
    -

    声网 SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内用户的音频,并得到一个录音文件。录音文件格式可以为: - -

      -
    • WAV: 音质保真度较高,文件较大。例如,采样率为 32000 Hz,录音时长为 10 分钟的文件大小约为 73 M。
    • -
    • AAC: 音质保真度较低,文件较小。例如,采样率为 32000 Hz,录音音质为 ,录音时长为 10 分钟的文件大小约为 2 M。
    • -

    +

    声网 SDK 支持通话过程中在客户端进行录音。调用该方法后,你可以录制频道内用户的音频,并得到一个录音文件。录音文件格式可以为:

      +
    • WAV: 音质保真度较高,文件较大。例如,采样率为 32000 Hz,录音时长为 10 分钟的文件大小约为 73 M。
    • +
    • AAC: 音质保真度较低,文件较小。例如,采样率为 32000 Hz,录音音质为 ,录音时长为 10 分钟的文件大小约为 2 M。
    • +

    用户离开频道后,录音会自动停止。

    - 该方法需要在加入频道后调用。
    + 该方法需要在加入频道后调用。 +
    参数 - - config - 录音配置。详见 - -
    + + config + 录音配置。详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startchannelmediarelay.dita b/dita/RTC/API/api_startchannelmediarelay.dita index 71e72e93678..3a9e66e0515 100644 --- a/dita/RTC/API/api_startchannelmediarelay.dita +++ b/dita/RTC/API/api_startchannelmediarelay.dita @@ -13,49 +13,57 @@

    - public abstract int startChannelMediaRelay( + public abstract int startChannelMediaRelay( ChannelMediaRelayConfiguration channelMediaRelayConfiguration); - - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; - virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - startChannelMediaRelay(config: ChannelMediaRelayConfiguration): number - public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - - Future<void> startChannelMediaRelay( - ChannelMediaRelayConfiguration channelMediaRelayConfiguration);

    + - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; + virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + startChannelMediaRelay(config: ChannelMediaRelayConfiguration): number + public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + + Future<void> startChannelMediaRelay( + ChannelMediaRelayConfiguration channelMediaRelayConfiguration); +

    -

    成功调用该方法后,SDK 会触发 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。 - - - - -

      -
    • 如果 回调报告 (2) 和 (0),且 回调报告 (4), 则表示 SDK 开始在源频道和目标频道之间转发媒体流。
    • -
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • -

    +

    成功调用该方法后,SDK 会触发 回调,并在回调中报告当前的跨频道媒体流转发状态和事件。

      +
    • 如果 回调报告 (2) 和 (0),且 + 回调报告 (4), 则表示 SDK + 开始在源频道和目标频道之间转发媒体流。
    • +
    • 如果 回调报告 (3), 则表示跨频道媒体流转发出现异常。
    • +
    +

    -
      -
    • 请在成功加入频道后调用该方法。
    • -
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • -
    • 成功调用该方法后,若你想再次调用该方法,必须先调用 方法退出当前的转发状态。
    • -
    • 跨频道媒体流转发功能需要联系技术支持开通。
    • -
    • 该功能不支持 String 型 UID。
    • -
    +
      +
    • 请在成功加入频道后调用该方法。
    • +
    • 在直播场景中,只有角色为主播的用户才能调用该方法。
    • +
    • 成功调用该方法后,若你想再次调用该方法,必须先调用 + 方法退出当前的转发状态。
    • +
    • 跨频道媒体流转发功能需要联系技术支持开通。
    • +
    • 该功能不支持 String 型 UID。
    • +
    + +
    参数 - - channelMediaRelayConfiguration - config - configuration - 跨频道媒体流转发参数配置。详见 - -
    + + channelMediaRelayConfiguration + config + configuration + 跨频道媒体流转发参数配置。详见 + + +
    返回值
      -
    • 0:方法调用成功
    • -
    • < 0:方法调用失败
    • -
    +
  • 0:方法调用成功
  • +
  • < 0:方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startdirectcdnstreaming.dita b/dita/RTC/API/api_startdirectcdnstreaming.dita index be03cb49ee1..f2fb640f3da 100644 --- a/dita/RTC/API/api_startdirectcdnstreaming.dita +++ b/dita/RTC/API/api_startdirectcdnstreaming.dita @@ -20,48 +20,70 @@ - + +

    声网不支持同一时间向同一个 URL 重复推流。

    媒体选项说明

    -

    声网不支持 publishCameraTrackpublishCustomVideoTrack 同时为 ,也不支持 publishMicrophoneTrackpublishCustomAudioTrack 同时为 。你可以根据场景需求设置媒体选项 ()。示例如下:

    +

    声网不支持 publishCameraTrack 和 + publishCustomVideoTrack 同时为 ,也不支持 publishMicrophoneTrack 和 + publishCustomAudioTrack 同时为 。你可以根据场景需求设置媒体选项 ()。示例如下:

    如果你想推送主播端采集的音视频流,请将媒体选项进行如下设置:

      -
    • publishCameraTrack 设为
    • -
    • publishMicrophoneTrack 设为
    • -
    • 确保 publishCustomAudioTrack(默认值)
    • -
    • 确保 publishCustomVideoTrack(默认值)
    • +
    • publishCameraTrack 设为
    • +
    • publishMicrophoneTrack 设为
    • +
    • 确保 publishCustomAudioTrack(默认值)
    • +
    • 确保 publishCustomVideoTrack(默认值)

    如果你想推送外部音视频,请进行如下设置:

      -
    • publishCustomAudioTrack 设为 并调用
    • -
    • publishCustomAudioTrack 设为 并调用
    • -
    • publishCustomVideoTrack 设为 并调用
    • -
    • 确保 publishCameraTrack(默认值)
    • -
    • 确保 publishMicrophoneTrack(默认值)
    • -
    +
  • publishCustomAudioTrack 设为 并调用
  • +
  • publishCustomAudioTrack 设为 并调用
  • +
  • publishCustomVideoTrack 设为 并调用
  • +
  • 确保 publishCameraTrack(默认值)
  • +
  • 确保 publishMicrophoneTrack(默认值)
  • + +
    参数 - - eventHandler - delegate - 详见 - - - publishUrl - CDN 推流 URL。 - - - options - 主播端的媒体选项。详见 - -
    + + eventHandler + delegate + 详见 + + + publishUrl + CDN 推流 URL。 + + + options + 主播端的媒体选项。详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startechotest.dita b/dita/RTC/API/api_startechotest.dita index 3cd4f547bdc..c26c7dffee9 100644 --- a/dita/RTC/API/api_startechotest.dita +++ b/dita/RTC/API/api_startechotest.dita @@ -1,8 +1,12 @@ - <ph keyref="startEchoTest1"/> - 开始语音通话回路测试。 + + <ph keyref="startEchoTest1"/> + + + 开始语音通话回路测试。 + @@ -13,44 +17,49 @@

    - public abstract int startEchoTest(); - - (int)startEchoTest:(void(^ _Nullable) + public abstract int startEchoTest(); + - (int)startEchoTest:(void(^ _Nullable) (NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock; - virtual int startEchoTest() = 0; - startEchoTest(): number - public abstract int StartEchoTest(); - -

    + virtual int startEchoTest() = 0; + startEchoTest(): number + public abstract int StartEchoTest(); + + +

    - -
    弃用:
    -
    该方法自 v2.4.0 起废弃,请改用
    -
    + +
    弃用:
    +
    该方法自 v2.4.0 起废弃,请改用
    +
    -

    该方法启动语音通话测试,目的是测试系统的音频设备(耳麦、扬声器等)和网络连接是否正常。在测试过程中,用户先说一段话,声音会在 10 秒后回放出来。如果 10 秒后用户能正常听到自己刚才说的话,就表示系统音频设备和网络连接都是正常的。

    +

    该方法启动语音通话测试,目的是测试系统的音频设备(耳麦、扬声器等)和网络连接是否正常。在测试过程中,用户先说一段话,声音会在 10 秒后回放出来。如果 10 + 秒后用户能正常听到自己刚才说的话,就表示系统音频设备和网络连接都是正常的。

    -
      -
    • 请在加入频道前调用该方法。
    • -
    • - 调用 后必须调用 以结束测试,否则不能进行下一次回声测试,也无法加入频道。 -
    • -
    • 直播场景下,该方法仅能由用户角色为主播的用户调用。
    • -
    +
      +
    • 请在加入频道前调用该方法。
    • +
    • 调用 后必须调用 + 以结束测试,否则不能进行下一次回声测试,也无法加入频道。
    • +
    • 直播场景下,该方法仅能由用户角色为主播的用户调用。
    • +
    + +
    参数 - - successBlock - 成功开始语音通话测试回调。 - -
    + + successBlock + 成功开始语音通话测试回调。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startechotest2.dita b/dita/RTC/API/api_startechotest2.dita index 29c7b68c786..fccff0765d7 100644 --- a/dita/RTC/API/api_startechotest2.dita +++ b/dita/RTC/API/api_startechotest2.dita @@ -1,8 +1,12 @@ - <ph keyref="startEchoTest2"/> - 开始语音通话回路测试。 + + <ph keyref="startEchoTest2"/> + + + 开始语音通话回路测试。 + @@ -13,45 +17,49 @@

    - public abstract int startEchoTest(int intervalInSeconds); - - (int)startEchoTestWithInterval:(NSInteger)interval + public abstract int startEchoTest(int intervalInSeconds); + - (int)startEchoTestWithInterval:(NSInteger)interval successBlock:(void(^ _Nullable) (NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock; - virtual int startEchoTest(int intervalInSeconds) = 0; - startEchoTestWithInterval(intervalInSeconds: number): number - public abstract int StartEchoTest(int intervalInSeconds); - - Future<void> startEchoTest( - {int? intervalInSeconds, EchoTestConfiguration? config});

    + virtual int startEchoTest(int intervalInSeconds) = 0; + startEchoTestWithInterval(intervalInSeconds: number): number + public abstract int StartEchoTest(int intervalInSeconds); + + Future<void> startEchoTest( + {int? intervalInSeconds, EchoTestConfiguration? config}); +

    该方法启动语音通话测试,目的是测试系统的音频设备(耳麦、扬声器等)和网络连接是否正常。在测试过程中,用户先说一段话,声音会在设置的时间间隔(单位为秒)后回放出来。如果用户能正常听到自己刚才说的话,就表示系统音频设备和网络连接都是正常的。

    -
      -
    • 请在加入频道前调用该方法。
    • -
    • - 调用 后必须调用 以结束测试,否则不能进行下一次回声测试,也无法加入频道。 -
    • -
    • 直播场景下,该方法仅能由用户角色为主播的用户调用。
    • -
    +
      +
    • 请在加入频道前调用该方法。
    • +
    • 调用 后必须调用 + 以结束测试,否则不能进行下一次回声测试,也无法加入频道。
    • +
    • 直播场景下,该方法仅能由用户角色为主播的用户调用。
    • +
    + +
    参数 - - intervalInSeconds - interval - 设置返回语音通话回路测试结果的时间间隔,取值范围为 [2,10],单位为秒,默认为 10 秒。 - - - successBlock - 成功开始语音通话测试回调。 - -
    + + intervalInSeconds + interval + 设置返回语音通话回路测试结果的时间间隔,取值范围为 [2,10],单位为秒,默认为 10 秒。 + + + successBlock + 成功开始语音通话测试回调。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startechotest3.dita b/dita/RTC/API/api_startechotest3.dita index 78314c4904e..899a7fb3652 100644 --- a/dita/RTC/API/api_startechotest3.dita +++ b/dita/RTC/API/api_startechotest3.dita @@ -13,39 +13,42 @@

    - - - virtual int startEchoTest(const EchoTestConfiguration& config) = 0; - - public abstract int StartEchoTest(EchoTestConfiguration config); - -

    + + + virtual int startEchoTest(const EchoTestConfiguration& config) = 0; + + public abstract int StartEchoTest(EchoTestConfiguration config); + + +

    加入频道前,为测试用户本地发流、收流是否正常,你可以调用该方法进行音视频通话回路测试,即测试系统的音视频设备和用户的上下行网络是否正常。

    -

    开始测试后,用户需发出声音或面对摄像头,音频或视频会在约 2 秒后播放出来。如果音频播放正常,则表示系统音频设备和用户上下行网络均正常; 如果视频播放正常,则表示系统视频设备和用户上下行网络均正常。 - - - -

      -
    • 请在加入频道前调用该方法。
    • -
    • 调用该方法后,必须调用 结束测试,否则该用户无法进行下一次音视频通话回路测试, 也无法加入频道。
    • -
    • 直播场景下,该方法仅能由主播调用。
    • -

    +

    开始测试后,用户需发出声音或面对摄像头,音频或视频会在约 2 秒后播放出来。如果音频播放正常,则表示系统音频设备和用户上下行网络均正常; + 如果视频播放正常,则表示系统视频设备和用户上下行网络均正常。 +

      +
    • 请在加入频道前调用该方法。
    • +
    • 调用该方法后,必须调用 结束测试,否则该用户无法进行下一次音视频通话回路测试, + 也无法加入频道。
    • +
    • 直播场景下,该方法仅能由主播调用。
    • +
    +

    参数 - - config - 音视频通话回路测试的配置。详见 - -
    + + config + 音视频通话回路测试的配置。详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startlastmileprobetest.dita b/dita/RTC/API/api_startlastmileprobetest.dita index 7a7d1479da3..085be80e495 100644 --- a/dita/RTC/API/api_startlastmileprobetest.dita +++ b/dita/RTC/API/api_startlastmileprobetest.dita @@ -1,8 +1,12 @@ - <ph keyref="startLastmileProbeTest"/> - 开始通话前网络质量探测。 + + <ph keyref="startLastmileProbeTest"/> + + + 开始通话前网络质量探测。 + @@ -13,67 +17,63 @@

    - public abstract int startLastmileProbeTest(LastmileProbeConfig config); - - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config; - virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0; - startLastmileProbeTest(config: LastmileProbeConfig): number - public abstract int StartLastmileProbeTest(LastmileProbeConfig config); - - Future<void> startLastmileProbeTest(LastmileProbeConfig config);

    + public abstract int startLastmileProbeTest(LastmileProbeConfig config); + - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config; + virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0; + startLastmileProbeTest(config: LastmileProbeConfig): number + public abstract int StartLastmileProbeTest(LastmileProbeConfig config); + + Future<void> startLastmileProbeTest(LastmileProbeConfig config); +

    - -
    自从
    -
    v2.4.0
    -
    + +
    自从
    +
    v2.4.0
    +

    开始通话前网络质量探测,向用户反馈上下行网络的带宽、丢包、网络抖动和往返时延数据。

    -

    - 启用该方法后,SDK 会依次返回如下 2 个回调: - - - -

      -
    • ,视网络情况约 2 秒内返回。该回调通过打分反馈上下行网络质量,更贴近用户的主观感受。 -
    • -
    • ,视网络情况约 30 秒内返回。该回调通过具体数据反馈上下行网络质量,更加客观。 -
    • -

    -

    - 该方法主要用于以下两种场景: - - - -

      -
    • 用户加入频道前,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • -
    • 直播场景下,当用户角色想由观众切换为主播时,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • -

    +

    启用该方法后,SDK 会依次返回如下 2 个回调:

      +
    • + ,视网络情况约 2 + 秒内返回。该回调通过打分反馈上下行网络质量,更贴近用户的主观感受。
    • +
    • + ,视网络情况约 30 + 秒内返回。该回调通过具体数据反馈上下行网络质量,更加客观。
    • +
    +

    +

    该方法主要用于以下两种场景:

      +
    • 用户加入频道前,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • +
    • 直播场景下,当用户角色想由观众切换为主播时,可以调用该方法判断和预测目前的上行网络质量是否足够好。
    • +
    +

    -
      -
    • - 该方法会消耗一定的网络流量,影响通话质量,因此我们建议不要和 同时使用。 -
    • -
    • - 调用该方法后,在收到 回调之前请不要调用其他方法,否则可能会由于 API 操作过于频繁导致此方法无法执行。 -
    • -
    • 在直播场景中,如果本地用户为主播,请勿加入频道后调用该方法。
    • -
    +
      +
    • 该方法会消耗一定的网络流量,影响通话质量,因此我们建议不要和 同时使用。
    • +
    • 调用该方法后,在收到 回调之前请不要调用其他方法,否则可能会由于 API + 操作过于频繁导致此方法无法执行。
    • +
    • 在直播场景中,如果本地用户为主播,请勿加入频道后调用该方法。
    • +
    + +
    参数 - - config - - Last mile 网络探测配置,详见 。 - - -
    + + config + Last mile 网络探测配置,详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startlocalvideotranscoder.dita b/dita/RTC/API/api_startlocalvideotranscoder.dita index 02f8b188f29..6267aaec527 100644 --- a/dita/RTC/API/api_startlocalvideotranscoder.dita +++ b/dita/RTC/API/api_startlocalvideotranscoder.dita @@ -13,30 +13,33 @@

    - - - virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0; + + + virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0; - - - -

    + + + + +

    参数 - - config - -

    本地合图的配置,详见

    -
    -
    -
    + + config + +

    本地合图的配置,详见

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_startpreview.dita b/dita/RTC/API/api_startpreview.dita index 395eaa0b26a..7e3ee953cfd 100644 --- a/dita/RTC/API/api_startpreview.dita +++ b/dita/RTC/API/api_startpreview.dita @@ -13,31 +13,36 @@

    - public abstract int startPreview(); - - (int)startPreview; - virtual int startPreview() = 0; - startPreview(): number - public abstract int StartPreview(); - - Future<void> startPreview();

    + public abstract int startPreview(); + - (int)startPreview; + virtual int startPreview() = 0; + startPreview(): number + public abstract int StartPreview(); + + Future<void> startPreview(); +

    该方法用于在进入频道前启动本地视频预览。调用该 API 前,必须:

      -
    • 调用 设置预览窗口及属性。
    • -
    • 调用 设置预览窗口及属性。
    • -
    • 调用 开启视频功能。
    • +
    • 调用 设置预览窗口及属性。
    • +
    • 调用 设置预览窗口及属性。
    • +
    • 调用 开启视频功能。
    -
      -
    • 本地预览默认开启镜像功能。
    • -
    • 启用了本地视频预览后,如果调用 退出频道,本地预览依然处于启动状态,如需要关闭本地预览,需要调用
    • -
    +
      +
    • 本地预览默认开启镜像功能。
    • +
    • 启用了本地视频预览后,如果调用 退出频道,本地预览依然处于启动状态,如需要关闭本地预览,需要调用
    • +
    + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_startrecording.dita b/dita/RTC/API/api_startrecording.dita index fdc1bf8cb4a..dfd29d50fc0 100644 --- a/dita/RTC/API/api_startrecording.dita +++ b/dita/RTC/API/api_startrecording.dita @@ -13,55 +13,50 @@

    - - - virtual int startRecording(const MediaRecorderConfiguration& config) = 0; - - public abstract int StartRecording(MediaRecorderConfiguration config); - - Future<void> startRecording(MediaRecorderConfiguration config);

    + + + virtual int startRecording(const MediaRecorderConfiguration& config) = 0; + + public abstract int StartRecording(MediaRecorderConfiguration config); + + Future<void> startRecording(MediaRecorderConfiguration config); +

    -

    成功获取 对象后,你可以调用该方法开启本地音视频流录制。

    -

    该方法录制的是本地麦克风采集的、编码为 AAC 格式的音频或本地摄像头采集的、编码后的视频。只有当检测到可录制的音视频流时,才能成功生成录制文件; 当没有可录制的音视频或录制中的音视频流中断超过 5 秒后,SDK 会停止录制, 并触发 (, ) 回调。

    - 该方法需要在加入频道后调用。
    +

    成功获取 + 对象后,你可以调用该方法开启本地音视频流录制。

    +

    该方法录制的是本地麦克风采集的、编码为 AAC 格式的音频或本地摄像头采集的、编码后的视频。只有当检测到可录制的音视频流时,才能成功生成录制文件; + 当没有可录制的音视频或录制中的音视频流中断超过 5 秒后,SDK 会停止录制, 并触发 (, ) 回调。

    + 该方法需要在加入频道后调用。 +
    参数 - - config - 音视频流录制配置。详见 - -
    + + config + 音视频流录制配置。详见 + + +
    返回值
      -
    • 0(ERR_OK): 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - - - - - - -
        -
      • -2(ERR_INVALID_ARGUMENT): 参数无效。请确保: - - - - - - - -
          -
        • 指定的录制文件保存路径正确且可写。
        • -
        • 指定的录制文件格式正确。
        • -
        • 设置的最大录制时长正确。
        • +
        • 0(ERR_OK): 方法调用成功。
        • +
        • < 0: 方法调用失败。
            +
          • -2(ERR_INVALID_ARGUMENT): 参数无效。请确保:
              +
            • 指定的录制文件保存路径正确且可写。
            • +
            • 指定的录制文件格式正确。
            • +
            • 设置的最大录制时长正确。
            • +
          • +
          • -4(ERR_NOT_SUPPORTED): + 当前状态不支持该操作。可能因为录制正在进行中或录制出错停止。
          • +
          • -7(ERR_NOT_INITIALZIED): 尚未初始化就调用方法。请确认在调用该方法前以调用
        • -
        • -4(ERR_NOT_SUPPORTED): 当前状态不支持该操作。可能因为录制正在进行中或录制出错停止。
        • -
        • -7(ERR_NOT_INITIALZIED): 尚未初始化就调用方法。请确认在调用该方法前以调用
        • -
      • -
    + +
    diff --git a/dita/RTC/API/api_startrhythmplayer.dita b/dita/RTC/API/api_startrhythmplayer.dita index 73ee554910a..920c3268804 100644 --- a/dita/RTC/API/api_startrhythmplayer.dita +++ b/dita/RTC/API/api_startrhythmplayer.dita @@ -13,65 +13,70 @@

    - public abstract int startRhythmPlayer( + public abstract int startRhythmPlayer( String sound1, String sound2, AgoraRhythmPlayerConfig config); - - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config; - virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0; - public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config);

    + - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config; + virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0; + public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config);

    - public int startRhythmPlayer(String sound1, String sound2, AgoraRhythmPlayerConfig config); - - (int)startRhythmPlayer:(NSString* _Nonnull)sound1 sound2:(NSString* _Nonnull)sound2 config:(AgoraRtcRhythmPlayerConfig* _Nonnull)config; - - - public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config); - - Future<void> startRhythmPlayer( - String sound1, String sound2, RhythmPlayerConfig config);

    + public int startRhythmPlayer(String sound1, String sound2, AgoraRhythmPlayerConfig config); + - (int)startRhythmPlayer:(NSString* _Nonnull)sound1 sound2:(NSString* _Nonnull)sound2 config:(AgoraRtcRhythmPlayerConfig* _Nonnull)config; + + + public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config); + + Future<void> startRhythmPlayer( + String sound1, String sound2, RhythmPlayerConfig config); +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +

    在音乐教学、体育教学等场景中,老师通常需要使用节拍器,让学生跟着正确的节拍练习。 节拍由强拍和弱拍组成,每小节的第一拍称为强拍,其余称为弱拍。

    你需要在该方法中设置强拍和弱拍的文件路径、每小节的拍数、节拍速度以及是否将节拍器的声音发送至远端。

    -
      -
    • 该方法仅适用于 Android 和 iOS。
    • -
    • 开启虚拟节拍器后,SDK 会从头开始播放指定的音频文件,并根据你在 中设置的 beatsPerMinute 控制每个文件的播放时长。例如,将 beatsPerMinute 设为 60,则 SDK 会 1 秒播放 1 个节拍。如果文件时长超过了节拍时长,则 SDK 只播放节拍时长部分的音频。
    • -
    +
      +
    • 该方法仅适用于 Android 和 iOS。
    • +
    • 开启虚拟节拍器后,SDK 会从头开始播放指定的音频文件,并根据你在 + 中设置的 beatsPerMinute 控制每个文件的播放时长。例如,将 + beatsPerMinute 设为 60,则 SDK 会 1 秒播放 + 1 个节拍。如果文件时长超过了节拍时长,则 SDK 只播放节拍时长部分的音频。
    • +
    +
    参数 - - sound1 - 强拍文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频文件格式见 声网 RTC SDK 支持播放哪些格式的音频文件。 - - - - sound2 - 弱拍文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频文件格式见 声网 RTC SDK 支持播放哪些格式的音频文件。 - - - - config - 节拍器配置。详见 - -
    + + sound1 + 强拍文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频文件格式见 声网 RTC SDK + 支持播放哪些格式的音频文件 + + + sound2 + 弱拍文件的绝对路径或 URL 地址,需精确到文件名及后缀。例如 。支持的音频文件格式见 声网 RTC SDK + 支持播放哪些格式的音频文件 + + + config + 节拍器配置。详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败 - - - - -
        -
      • -22: 无法找到音频文件。请填写正确的 sound1sound2
      • -
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
      +
    • -22: 无法找到音频文件。请填写正确的 sound1 和 + sound2
    • +
  • + +
    diff --git a/dita/RTC/API/api_startrtmpstreamwithouttranscoding.dita b/dita/RTC/API/api_startrtmpstreamwithouttranscoding.dita index 63a478b8113..c22f4c7a6ee 100644 --- a/dita/RTC/API/api_startrtmpstreamwithouttranscoding.dita +++ b/dita/RTC/API/api_startrtmpstreamwithouttranscoding.dita @@ -1,8 +1,12 @@ - <ph keyref="startRtmpStreamWithoutTranscoding"/> - 开始非转码推流。 + + <ph keyref="startRtmpStreamWithoutTranscoding"/> + + + 开始非转码推流。 + @@ -13,23 +17,24 @@

    - public abstract int startRtmpStreamWithoutTranscoding(String url); - - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url; - virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0; - - public abstract int StartRtmpStreamWithoutTranscoding(string url); - - Future<void> startRtmpStreamWithoutTranscoding(String url);

    + public abstract int startRtmpStreamWithoutTranscoding(String url); + - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url; + virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0; + + public abstract int StartRtmpStreamWithoutTranscoding(string url); + + Future<void> startRtmpStreamWithoutTranscoding(String url);

    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC/API/api_startrtmpstreamwithtranscoding.dita b/dita/RTC/API/api_startrtmpstreamwithtranscoding.dita index cfa93afc759..1186e9ceddd 100644 --- a/dita/RTC/API/api_startrtmpstreamwithtranscoding.dita +++ b/dita/RTC/API/api_startrtmpstreamwithtranscoding.dita @@ -1,8 +1,12 @@ - <ph keyref="startRtmpStreamWithTranscoding"/> - 开始旁路推流并设置转码属性。 + + <ph keyref="startRtmpStreamWithTranscoding"/> + + + 开始旁路推流并设置转码属性。 + @@ -13,49 +17,53 @@

    - public abstract int startRtmpStreamWithTranscoding(String url, LiveTranscoding transcoding); - - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding; - virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0; - public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); - - Future<void> startRtmpStreamWithTranscoding(LiveTranscoding transcoding);

    + public abstract int startRtmpStreamWithTranscoding(String url, LiveTranscoding transcoding); + - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding; + virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0; + public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); + + Future<void> startRtmpStreamWithTranscoding(LiveTranscoding transcoding);

    调用该方法,你可以向指定的旁路推流地址推送直播音视频流并设置转码属性。该方法每次只能向一个地址推送媒体流,如果你需要向多个地址转码推流,则需多次调用该方法。

    调用该方法后,SDK 会在本地触发 回调,报告推流的状态。

    -
      -
    • 请确保已开通旁路推流服务。
    • -
    • 请确保已开通旁路推流服务,详见进阶功能旁路推流中的前提条件。
    • -
    • 请在加入频道后调用该方法。
    • -
    • 只有直播场景下的主播才能调用该方法。
    • -
    • 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 ,再调用该方法重推,否则 SDK 会返回与上次推流失败时一样的错误码。
    • -
    +
      +
    • 请确保已开通旁路推流服务。
    • +
    • 请确保已开通旁路推流服务,详见进阶功能旁路推流中的前提条件。
    • +
    • 请在加入频道后调用该方法。
    • +
    • 只有直播场景下的主播才能调用该方法。
    • +
    • 调用该方法推流失败后,如果你想要重新推流,那么请你务必先调用 ,再调用该方法重推,否则 + SDK 会返回与上次推流失败时一样的错误码。
    • +
    + +
    参数 - - url - 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。 - - - transcoding - -

    旁路推流的转码属性,详见 类。

    -
    -
    -
    + + url + 旁路推流地址。格式为 RTMP 或 RTMPS。字符长度不能超过 1024 字节。不支持中文字符等特殊字符。 + + + transcoding + +

    旁路推流的转码属性,详见 类。

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - -
        -
      • -2:url 为空或为长度为 0 的字符串。
      • -
      • -7:调用该方法前,未初始化 SDK。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -2:url 为空或为长度为 0 的字符串。
    • +
    • -7:调用该方法前,未初始化 SDK。
    • +
    +
  • + +
    diff --git a/dita/RTC/API/api_startscreencapture.dita b/dita/RTC/API/api_startscreencapture.dita index a4f081df582..e84d3a2ee73 100644 --- a/dita/RTC/API/api_startscreencapture.dita +++ b/dita/RTC/API/api_startscreencapture.dita @@ -13,66 +13,70 @@

    - - - virtual int startScreenCapture(WindowIDType windowId, + + + virtual int startScreenCapture(WindowIDType windowId, int captureFreq, const Rect* rect, int bitrate) = 0; - - - - Future<void> startScreenCapture(int windowId, - [int captureFreq = 0, Rect? rect, int bitrate = 0]);

    + + + + Future<void> startScreenCapture(int windowId, + [int captureFreq = 0, Rect? rect, int bitrate = 0]); +

    - -
    弃用:
    -
    请使用以下方法作为替代: - - -
      -
    • -
    • -
    • -
    -
    + +
    弃用:
    +
    请使用以下方法作为替代:
      +
    • +
    • +
    • +
    +
    -

    该方法共享整个屏幕、指定窗口、或指定区域。 - - -

      -
    • 共享整个屏幕:将 windowId 设为 0,且将 rect 设为
    • -
    • 共享指定窗口:将 windowId 设为非 0,每个窗口都有一个非 0 的 windowId
    • -
    • 共享指定区域:将 windowId 设为 0,且将 rect 设为非 。在这个情况下,你可以共享指定区域,例如你可以拖动鼠标选中要共享的区域,但这个逻辑你由你自己实现的。这里的共享指定区域指的是共享整个屏幕里的某个区域。目前暂不支持共享指定窗口里的指定区域。
    • -

    - 当开启屏幕共享功能时,captureFreq 参数为共享屏幕的帧率,值区间为 1 到 15 fps(必填)。无论你开启的是上述哪个功能,执行成功时均返回 0,执行失败时返回错误代码。
    +

    该方法共享整个屏幕、指定窗口、或指定区域。

      +
    • 共享整个屏幕:将 windowId 设为 0,且将 rect 设为 +
    • +
    • 共享指定窗口:将 windowId 设为非 0,每个窗口都有一个非 0 的 + windowId
    • +
    • 共享指定区域:将 windowId 设为 0,且将 rect 设为非 + 。在这个情况下,你可以共享指定区域,例如你可以拖动鼠标选中要共享的区域,但这个逻辑你由你自己实现的。这里的共享指定区域指的是共享整个屏幕里的某个区域。目前暂不支持共享指定窗口里的指定区域。
    • +

    + 当开启屏幕共享功能时,captureFreq 参数为共享屏幕的帧率,值区间为 1 到 + 15 fps(必填)。无论你开启的是上述哪个功能,执行成功时均返回 0,执行失败时返回错误代码。 +
    参数 - - windowId - 共享屏幕区域。 - - - captureFreq - 共享屏幕的帧率,必须设置,范围是 1 到 15 fps。 - - - rect - 屏幕共享区域,详见 windowId 设为 0 时该参数有效;当你将 rect 设为 时,整个屏幕被共享。 - - - bitrate - 共享屏幕的码率。 - -
    + + windowId + 共享屏幕区域。 + + + captureFreq + 共享屏幕的帧率,必须设置,范围是 1 到 15 fps。 + + + rect + 屏幕共享区域,详见 windowId 设为 0 + 时该参数有效;当你将 rect 设为 时,整个屏幕被共享。 + + + bitrate + 共享屏幕的码率。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_startscreencapturebydisplayid.dita b/dita/RTC/API/api_startscreencapturebydisplayid.dita index 785e214525d..97727192c4b 100644 --- a/dita/RTC/API/api_startscreencapturebydisplayid.dita +++ b/dita/RTC/API/api_startscreencapturebydisplayid.dita @@ -13,72 +13,78 @@

    - - (int)startScreenCaptureByDisplayId:(UInt32)displayId + - (int)startScreenCaptureByDisplayId:(UInt32)displayId regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, ScreenCaptureParameters captureParams);

    + public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, ScreenCaptureParameters captureParams); +

    - - (int)startScreenCaptureByDisplayId:(NSUInteger)displayId rectangle:(CGRect)rectangle parameters:(AgoraScreenCaptureParameters* _Nonnull)captureParams; - public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, + - (int)startScreenCaptureByDisplayId:(NSUInteger)displayId rectangle:(CGRect)rectangle parameters:(AgoraScreenCaptureParameters* _Nonnull)captureParams; + public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, ScreenCaptureParameters captureParams);

    - - virtual int startScreenCaptureByDisplayId(unsigned int displayId, const Rectangle& regionRect, + + virtual int startScreenCaptureByDisplayId(unsigned int displayId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - - - Future<void> startScreenCaptureByDisplayId(int displayId, - [Rectangle? regionRect, ScreenCaptureParameters? captureParams]);

    + + + Future<void> startScreenCaptureByDisplayId(int displayId, + [Rectangle? regionRect, ScreenCaptureParameters? captureParams]); +

    共享一个屏幕或该屏幕的部分区域。用户需要在该方法中指定想要共享的屏幕 ID。

    -
      -
    • 该方法仅适用于 macOS 和 Windows。
    • -
    • 该方法需要在加入频道后调用。
    • -
    +
      +
    • 该方法仅适用于 macOS 和 Windows。
    • +
    • 该方法需要在加入频道后调用。
    • +
    + +
    参数 - - displayId - 指定待共享的屏幕 ID。开发者需要通过该参数指定你要共享的那个屏幕。 - - -

    关于如何获取屏幕 ID,请参考 ,或从 返回的 sourceId 获取。

    -

    关于如何获取屏幕 ID,请参考

    -
    -
    - - regionRect - (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了屏幕的边界,则只共享屏幕视窗内的内容;如果宽或高为 0,则共享整个屏幕。 - - - rectangle - regionRect - (可选)待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。由如下参数组成: - - -
      -
    • x:左上角的横向偏移。
    • -
    • y:左上角的纵向偏移。
    • -
    • width:待共享区域的宽。
    • -
    • height:待共享区域的高。
    • -
    -

    如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果宽或高设为 0,则共享整个屏幕。

    -
    -
    - - captureParams - 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 - -
    + + displayId + 指定待共享的屏幕 ID。开发者需要通过该参数指定你要共享的那个屏幕。

    关于如何获取屏幕 ID,请参考 ,或从 返回的 + sourceId 获取。

    +

    关于如何获取屏幕 ID,请参考

    +
    +
    + + regionRect + (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了屏幕的边界,则只共享屏幕视窗内的内容;如果宽或高为 0,则共享整个屏幕。 + + + rectangle + regionRect + (可选)待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。由如下参数组成:
      +
    • x:左上角的横向偏移。
    • +
    • y:左上角的纵向偏移。
    • +
    • width:待共享区域的宽。
    • +
    • height:待共享区域的高。
    • +
    +

    如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果宽或高设为 0,则共享整个屏幕。

    +
    +
    + + captureParams + 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_startscreencapturebyscreenrect.dita b/dita/RTC/API/api_startscreencapturebyscreenrect.dita index 4de14d05421..9140e095a45 100644 --- a/dita/RTC/API/api_startscreencapturebyscreenrect.dita +++ b/dita/RTC/API/api_startscreencapturebyscreenrect.dita @@ -13,59 +13,70 @@

    - - - virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect, + + + virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - startScreenCaptureByScreen(screenSymbol: ScreenSymbol, + startScreenCaptureByScreen(screenSymbol: ScreenSymbol, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number - public abstract int StartScreenCaptureByScreenRect(Rectangle screenRect, Rectangle regionRect, + public abstract int StartScreenCaptureByScreenRect(Rectangle screenRect, Rectangle regionRect, ScreenCaptureParameters captureParams); - - Future<void> startScreenCaptureByScreenRect(Rectangle screenRect, - [Rectangle? regionRect, ScreenCaptureParameters? captureParams]);

    + + Future<void> startScreenCaptureByScreenRect(Rectangle screenRect, + [Rectangle? regionRect, ScreenCaptureParameters? captureParams]); +

    弃用:
    -
    该方法已废弃。请改用 。如果你需要在设备外接其他显示屏的情况下开启屏幕共享,声网强烈建议你使用
    +
    该方法已废弃。请改用 。如果你需要在设备外接其他显示屏的情况下开启屏幕共享,声网强烈建议你使用 +
    -
    +

    共享一个屏幕或该屏幕的部分区域。你需要在该方法中指定想要共享的屏幕区域。

    -
      -
    • 该方法仅适用于 Windows 平台。
    • -
    • 该方法需要在加入频道后调用。
    • -
    +
      +
    • 该方法仅适用于 Windows 平台。
    • +
    • 该方法需要在加入频道后调用。
    • +
    +
    参数 - - screenRect - 指定待共享的屏幕相对于虚拟屏的位置。 - - - screenSymbol - 标识屏幕的 Display ID(macOS 系统)或 ScreenRect(Windows 系统)。详见 。你可以通过 方法获取。 - - - regionRect - (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕。 - - - captureParams - 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 - -
    + + screenRect + 指定待共享的屏幕相对于虚拟屏的位置。 + + + screenSymbol + 标识屏幕的 Display ID(macOS 系统)或 ScreenRect(Windows 系统)。详见 。你可以通过 方法获取。 + + + regionRect + (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕。 + + + captureParams + 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_startscreencapturebywindowid.dita b/dita/RTC/API/api_startscreencapturebywindowid.dita index cbb5621c748..50014d22e2c 100644 --- a/dita/RTC/API/api_startscreencapturebywindowid.dita +++ b/dita/RTC/API/api_startscreencapturebywindowid.dita @@ -13,210 +13,210 @@

    - - (int)startScreenCaptureByWindowId:(UInt32)windowId + - (int)startScreenCaptureByWindowId:(UInt32)windowId regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - public abstract int StartScreenCaptureByWindowId(UInt64 windowId, Rectangle regionRect, ScreenCaptureParameters captureParams);

    + public abstract int StartScreenCaptureByWindowId(UInt64 windowId, Rectangle regionRect, ScreenCaptureParameters captureParams); +

    - - (int)startScreenCaptureByWindowId:(NSUInteger)windowId rectangle:(CGRect)rectangle parameters:(AgoraScreenCaptureParameters* _Nonnull)captureParams; - public abstract int StartScreenCaptureByWindowId(view_t windowId, Rectangle regionRect, + - (int)startScreenCaptureByWindowId:(NSUInteger)windowId rectangle:(CGRect)rectangle parameters:(AgoraScreenCaptureParameters* _Nonnull)captureParams; + public abstract int StartScreenCaptureByWindowId(view_t windowId, Rectangle regionRect, ScreenCaptureParameters captureParams);

    - - virtual int startScreenCaptureByWindowId(view_t windowId, + + virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - startScreenCaptureByWindow(windowId: number, + startScreenCaptureByWindow(windowId: number, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number - - Future<void> startScreenCaptureByWindowId(int windowId, - [Rectangle? regionRect, ScreenCaptureParameters? captureParams]);

    + + Future<void> startScreenCaptureByWindowId(int windowId, + [Rectangle? regionRect, ScreenCaptureParameters? captureParams]); +

    - -
    自从
    -
    v2.4.0
    -
    + +
    自从
    +
    v2.4.0
    +

    共享一个窗口或该窗口的部分区域。用户需要在该方法中指定想要共享的窗口 ID。

    -

    该方法需要在加入频道后调用。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 该方法仅适用于 macOS 和 Windows 平台。
    • -
    -

    自 v3.0.0 起,该方法支持共享通用 Windows 平台(UWP)应用窗口。声网使用最新版 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 平台。
    • +
    + +

    自 v3.0.0 起,该方法支持共享通用 Windows 平台(UWP)应用窗口。声网使用最新版 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(系统自带) + 全部 + + + + +
    +

    参数 - - windowId - 指定待共享的窗口 ID。 - - - - - -

    你可以通过 方法获取。

    -
    -
    - - regionRect - (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高为 0,则共享整个窗口。 - - - rectangle - regionRect - -

    (可选)待共享区域相对于整个窗口的位置。如不填,则表示共享整个窗口。由如下参数组成: - - - - -

      -
    • x:左上角的横向偏移。
    • -
    • y:左上角的纵向偏移。
    • -
    • width:待共享区域的宽。
    • -
    • height:待共享区域的高。
    • -

    -

    如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高设为 0,则共享整个窗口。

    -
    -
    - - captureParams - 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 - -
    + + windowId + 指定待共享的窗口 ID。

    你可以通过 + 方法获取。

    +
    +
    + + regionRect + (可选)指定待共享区域相对于整个屏幕的位置。如不填,则表示共享整个屏幕。详见 。如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高为 0,则共享整个窗口。 + + + rectangle + regionRect + +

    (可选)待共享区域相对于整个窗口的位置。如不填,则表示共享整个窗口。由如下参数组成:

      +
    • x:左上角的横向偏移。
    • +
    • y:左上角的纵向偏移。
    • +
    • width:待共享区域的宽。
    • +
    • height:待共享区域的高。
    • +

    +

    如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高设为 0,则共享整个窗口。

    +
    +
    + + captureParams + 屏幕共享的参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_startscreencapturemobile.dita b/dita/RTC/API/api_startscreencapturemobile.dita index f595dd1f1d9..ecdb088363d 100644 --- a/dita/RTC/API/api_startscreencapturemobile.dita +++ b/dita/RTC/API/api_startscreencapturemobile.dita @@ -13,57 +13,66 @@

    - - - - - - - Future<void> startScreenCaptureMobile(ScreenCaptureParameters2 parameters);

    + + + + + + + Future<void> startScreenCaptureMobile(ScreenCaptureParameters2 parameters); +

    -

    对于 Android 平台,屏幕共享时,请确保: -

      -
    • 用户已授予应用屏幕采集权限,否则 SDK 会触发 回调并报告错误码 ScreenCapturePermissionDenied(16)。
    • -
    • Android API 级别不低于 21,否则方法调用失败并返回错误码 ScreenCaptureSystemNotSupported(2)。
    • -
    • 如需在屏幕共享时采集系统音频,你还需确保 Android API 级别不低于 29,否则 SDK 会报告错误码 ScreenCaptureSystemAudioNotSupported(3)。
    • -
    +

    对于 Android 平台,屏幕共享时,请确保:

      +
    • 用户已授予应用屏幕采集权限,否则 SDK 会触发 回调并报告错误码 + ScreenCapturePermissionDenied(16)。
    • +
    • Android API 级别不低于 21,否则方法调用失败并返回错误码 + ScreenCaptureSystemNotSupported(2)。
    • +
    • 如需在屏幕共享时采集系统音频,你还需确保 Android API 级别不低于 29,否则 SDK 会报告错误码 + ScreenCaptureSystemAudioNotSupported(3)。
    • +

    -

    对于 iOS 平台,屏幕共享 Extension 进程开启、结束、异常退出时,SDK 会相应地触发 回调并分别报告 ExtensionCaptureStarted(13)、ExtensionCaptureStoped(14)、ExtensionCaptureDisconnected(15)。

    +

    对于 iOS 平台,屏幕共享 Extension 进程开启、结束、异常退出时,SDK 会相应地触发 回调并分别报告 + ExtensionCaptureStarted(13)、ExtensionCaptureStoped(14)、ExtensionCaptureDisconnected(15)。

    • 请在加入频道后调用该方法。
    • -
    • 屏幕共享流的计费以 ScreenVideoParametersdimensions 的值为准:当你未传值时,以 1280 × 720 计费;当你传值时,以你传入的值计费。详细的计费规则请参考实时音视频计费
    • -
    • 对于 Android 平台,你需要注意: -
        -
      • 在 Android 9 及之后版本上,为避免应用退后台后被系统杀死,声网建议你在 /app/Manifests/AndroidManifest.xml 文件中添加前台服务权限:android.permission.FOREGROUND_SERVICE
      • +
      • 屏幕共享流的计费以 ScreenVideoParametersdimensions + 的值为准:当你未传值时,以 1280 × 720 计费;当你传值时,以你传入的值计费。详细的计费规则请参考实时音视频计费
      • +
      • 对于 Android 平台,你需要注意:
          +
        • 在 Android 9 及之后版本上,为避免应用退后台后被系统杀死,声网建议你在 + /app/Manifests/AndroidManifest.xml + 文件中添加前台服务权限:android.permission.FOREGROUND_SERVICE
        • 因性能限制,屏幕共享不支持 Android TV。
        • 因系统限制,使用华为手机进行屏幕共享时,为避免崩溃,请不要在共享过程中调节屏幕共享流的视频编码分辨率。
        • -
        +
    • -
    • 对于 iOS 平台,你需要注意: -
        +
      • 对于 iOS 平台,你需要注意:
        • 屏幕共享仅适用于 iOS 11 及以上。
        • 该功能对设备性能要求较高,声网推荐你在 iPhone X 及之后机型上使用。
        • 如果你使用音频自采集而非 SDK 采集音频,为避免应用退后台后屏幕共享停止,声网建议你对应用添加保活处理逻辑。
        • -
        +
    • -
    -
    + +
    参数 - - parameters - 屏幕共享的配置。详见 - -
    + + parameters + 屏幕共享的配置。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_statechanged.dita b/dita/RTC/API/api_statechanged.dita index 393b72a7971..00984f3477b 100644 --- a/dita/RTC/API/api_statechanged.dita +++ b/dita/RTC/API/api_statechanged.dita @@ -13,45 +13,45 @@

    - - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine device:(NSString* _Nonnull)deviceId + + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine device:(NSString* _Nonnull)deviceId type:(AgoraMediaDeviceType)deviceType stateChanged:(NSInteger)state; - - - - -

    + + + + + +

    参数 - - engine - 对象。 - - - deviceId - 设备 ID。 - - - deviceType - -

    - - - - state - -

    设备状态: - -

      -
    • 0: 设备插入,但未使用。
    • -
    • 8: 设备被拔出。
    • -

    -
    -
    -
    + + engine + 对象。 + + + deviceId + 设备 ID。 + + + deviceType + +

    + + + + state + +

    设备状态:

      +
    • 0: 设备插入,但未使用。
    • +
    • 8: 设备被拔出。
    • +

    +
    +
    + +
    diff --git a/dita/RTC/API/api_stopalleffects.dita b/dita/RTC/API/api_stopalleffects.dita index 003a6fe7714..10785a482b8 100644 --- a/dita/RTC/API/api_stopalleffects.dita +++ b/dita/RTC/API/api_stopalleffects.dita @@ -13,21 +13,23 @@

    - public abstract int stopAllEffects(); + public abstract int stopAllEffects(); - - (int)stopAllEffects; + - (int)stopAllEffects; - virtual int stopAllEffects() = 0; - stopAllEffects(): number - public abstract int StopAllEffects(); - - Future<void> stopAllEffects();

    + virtual int stopAllEffects() = 0; + stopAllEffects(): number + public abstract int StopAllEffects(); + + Future<void> stopAllEffects(); +

    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_stopaudioframedump.dita b/dita/RTC/API/api_stopaudioframedump.dita index a7a09a98fb3..56dd4be27ad 100644 --- a/dita/RTC/API/api_stopaudioframedump.dita +++ b/dita/RTC/API/api_stopaudioframedump.dita @@ -13,24 +13,26 @@

    - - - virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0; + + + virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0; - - - -

    + + + + +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_stopaudiomixing.dita b/dita/RTC/API/api_stopaudiomixing.dita index 3df2a5b1fb6..f6f59299dc2 100644 --- a/dita/RTC/API/api_stopaudiomixing.dita +++ b/dita/RTC/API/api_stopaudiomixing.dita @@ -13,13 +13,14 @@

    - public abstract int stopAudioMixing(); - - (int)stopAudioMixing; - virtual int stopAudioMixing() = 0; - stopAudioMixing(): number - public abstract int StopAudioMixing(); - - Future<void> stopAudioMixing();

    + public abstract int stopAudioMixing(); + - (int)stopAudioMixing; + virtual int stopAudioMixing() = 0; + stopAudioMixing(): number + public abstract int StopAudioMixing(); + + Future<void> stopAudioMixing(); +

    该方法停止播放音乐文件。请在频道内调用该方法。

    @@ -27,8 +28,9 @@
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_stopaudiorecording.dita b/dita/RTC/API/api_stopaudiorecording.dita index b3630db26b9..79eb2075acd 100644 --- a/dita/RTC/API/api_stopaudiorecording.dita +++ b/dita/RTC/API/api_stopaudiorecording.dita @@ -13,22 +13,25 @@

    - public abstract int stopAudioRecording(); - - (int)stopAudioRecording; - virtual int stopAudioRecording() = 0; - stopAudioRecording(): number - public abstract int StopAudioRecording(); - - Future<void> stopAudioRecording();

    + public abstract int stopAudioRecording(); + - (int)stopAudioRecording; + virtual int stopAudioRecording() = 0; + stopAudioRecording(): number + public abstract int StopAudioRecording(); + + Future<void> stopAudioRecording(); +

    如果你调用了 开始录音,可以调用该方法停止录音。

    - 离开频道时录音会自动停止。
    + 离开频道时录音会自动停止。 +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_stopchannelmediarelay.dita b/dita/RTC/API/api_stopchannelmediarelay.dita index 81dd91e5f93..18da9002b87 100644 --- a/dita/RTC/API/api_stopchannelmediarelay.dita +++ b/dita/RTC/API/api_stopchannelmediarelay.dita @@ -13,30 +13,37 @@

    - public abstract int stopChannelMediaRelay(); - - (int)stopChannelMediaRelay; - virtual int stopChannelMediaRelay() = 0; - stopChannelMediaRelay(): number - public abstract int StopChannelMediaRelay(); - - Future<void> stopChannelMediaRelay();

    + public abstract int stopChannelMediaRelay(); + - (int)stopChannelMediaRelay; + virtual int stopChannelMediaRelay() = 0; + stopChannelMediaRelay(): number + public abstract int StopChannelMediaRelay(); + + Future<void> stopChannelMediaRelay(); +

    - -
    自从
    -
    v2.9.0
    -
    + +
    自从
    +
    v2.9.0
    +
    -

    成功调用该方法后,SDK 会触发 回调。如果报告 (0) 和 (0),则表示已停止转发媒体流。

    - - 如果该方法调用不成功,SDK 会触发 回调,并报告状态码 (2) 或 (8)。你可以调用 方法离开频道,跨频道媒体流转发会自动停止。 -
    +

    成功调用该方法后,SDK 会触发 回调。如果报告 (0) 和 + (0),则表示已停止转发媒体流。

    + 如果该方法调用不成功,SDK 会触发 回调,并报告状态码 (2) 或 (8)。你可以调用 方法离开频道,跨频道媒体流转发会自动停止。 +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_stopdirectcdnstreaming.dita b/dita/RTC/API/api_stopdirectcdnstreaming.dita index a1f8fe59821..a17b2a1745f 100644 --- a/dita/RTC/API/api_stopdirectcdnstreaming.dita +++ b/dita/RTC/API/api_stopdirectcdnstreaming.dita @@ -18,12 +18,14 @@ - + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_stopechotest.dita b/dita/RTC/API/api_stopechotest.dita index cca7ad4e050..eeab2221538 100644 --- a/dita/RTC/API/api_stopechotest.dita +++ b/dita/RTC/API/api_stopechotest.dita @@ -1,8 +1,12 @@ - <ph keyref="stopEchoTest"/> - 停止语音通话回路测试。 + + <ph keyref="stopEchoTest"/> + + + 停止语音通话回路测试。 + @@ -13,26 +17,24 @@

    - public abstract int stopEchoTest(); - - (int)stopEchoTest; - virtual int stopEchoTest() = 0; - stopEchoTest(): number - public abstract int StopEchoTest(); - - Future<void> stopEchoTest();

    + public abstract int stopEchoTest(); + - (int)stopEchoTest; + virtual int stopEchoTest() = 0; + stopEchoTest(): number + public abstract int StopEchoTest(); + + Future<void> stopEchoTest(); +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • - < 0: 方法调用失败。 - - - -
        -
      • -5(ERR_REFUSED): 无法启动测试,可能没有成功初始化。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -5(ERR_REFUSED): 无法启动测试,可能没有成功初始化。
    • +
    +
  • + +
    diff --git a/dita/RTC/API/api_stopeffect.dita b/dita/RTC/API/api_stopeffect.dita index f491debecb4..be576971397 100644 --- a/dita/RTC/API/api_stopeffect.dita +++ b/dita/RTC/API/api_stopeffect.dita @@ -13,29 +13,32 @@

    - public abstract int stopEffect(int soundId); + public abstract int stopEffect(int soundId); - - (int)stopEffect:(int)soundId; + - (int)stopEffect:(int)soundId; - virtual int stopEffect(int soundId) = 0; - stopEffect(soundId: number): number - public abstract int StopEffect(int soundId); - - Future<void> stopEffect(int soundId);

    + virtual int stopEffect(int soundId) = 0; + stopEffect(soundId: number): number + public abstract int StopEffect(int soundId); + + Future<void> stopEffect(int soundId); +

    参数 - - soundId - 指定音效文件的 ID。每个音效文件均有唯一的 ID。 - -
    + + soundId + 指定音效文件的 ID。每个音效文件均有唯一的 ID。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_stoplastmileprobetest.dita b/dita/RTC/API/api_stoplastmileprobetest.dita index 3c5ac8177d9..83194c5b79e 100644 --- a/dita/RTC/API/api_stoplastmileprobetest.dita +++ b/dita/RTC/API/api_stoplastmileprobetest.dita @@ -1,8 +1,12 @@ - <ph keyref="stopLastmileProbeTest"/> - 停止通话前网络质量探测。 + + <ph keyref="stopLastmileProbeTest"/> + + + 停止通话前网络质量探测。 + @@ -13,27 +17,29 @@

    - public abstract int stopLastmileProbeTest(); - - (int)stopLastmileProbeTest; - virtual int stopLastmileProbeTest() = 0; - stopLastmileProbeTest(): number - public abstract int StopLastmileProbeTest(); - - Future<void> stopLastmileProbeTest();

    + public abstract int stopLastmileProbeTest(); + - (int)stopLastmileProbeTest; + virtual int stopLastmileProbeTest() = 0; + stopLastmileProbeTest(): number + public abstract int StopLastmileProbeTest(); + + Future<void> stopLastmileProbeTest(); +

    - -
    自从
    -
    v2.4.0
    -
    + +
    自从
    +
    v2.4.0
    +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_stoplocalvideotranscoder.dita b/dita/RTC/API/api_stoplocalvideotranscoder.dita index 4618ea019e5..5208fcfb0da 100644 --- a/dita/RTC/API/api_stoplocalvideotranscoder.dita +++ b/dita/RTC/API/api_stoplocalvideotranscoder.dita @@ -2,7 +2,8 @@ <ph keyref="stopLocalVideoTranscoder"/> - 停止本地合图。 + 停止本地合图。 @@ -13,14 +14,15 @@

    - - - virtual int stopLocalVideoTranscoder() = 0; + + + virtual int stopLocalVideoTranscoder() = 0; - - - -

    + + + + +

    调用 后, 如果你希望停止本地合图,请调用该方法。

    @@ -30,8 +32,9 @@
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_stoppreview.dita b/dita/RTC/API/api_stoppreview.dita index bc56124dbf4..c75f5d2e131 100644 --- a/dita/RTC/API/api_stoppreview.dita +++ b/dita/RTC/API/api_stoppreview.dita @@ -13,19 +13,21 @@

    - public abstract int stopPreview(); - - (int)stopPreview; - virtual int stopPreview() = 0; - stopPreview(): number - public abstract int StopPreview(); - - Future<void> stopPreview();

    + public abstract int stopPreview(); + - (int)stopPreview; + virtual int stopPreview() = 0; + stopPreview(): number + public abstract int StopPreview(); + + Future<void> stopPreview(); +

    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_stoprecording.dita b/dita/RTC/API/api_stoprecording.dita index 63077f31619..69a08539fea 100644 --- a/dita/RTC/API/api_stoprecording.dita +++ b/dita/RTC/API/api_stoprecording.dita @@ -13,28 +13,29 @@

    - - - virtual int stopRecording() = 0; - - public abstract int StopRecording(); - - Future<void> stopRecording();

    + + + virtual int stopRecording() = 0; + + public abstract int StopRecording(); + + Future<void> stopRecording(); +

    - 调用 后,如果要停止录制,必须调用该方法停止录制;否则,生成的录制文件可能无法正常播放。
    + 调用 + 后,如果要停止录制,必须调用该方法停止录制;否则,生成的录制文件可能无法正常播放。 +
    返回值
      -
    • 0(ERR_OK): 方法调用成功
    • -
    • < 0: 方法调用失败: - - - - -
        -
      • -7(ERR_NOT_INITIALIZED): 尚未初始化就调用方法。请确认在调用该方法前已调用
      • -
    • -
    +
  • 0(ERR_OK): 方法调用成功
  • +
  • < 0: 方法调用失败:
      +
    • -7(ERR_NOT_INITIALIZED): 尚未初始化就调用方法。请确认在调用该方法前已调用
    • +
  • + +
    diff --git a/dita/RTC/API/api_stoprhythmplayer.dita b/dita/RTC/API/api_stoprhythmplayer.dita index 88b54839ba2..49b78dd7d31 100644 --- a/dita/RTC/API/api_stoprhythmplayer.dita +++ b/dita/RTC/API/api_stoprhythmplayer.dita @@ -13,31 +13,34 @@

    - public abstract int stopRhythmPlayer(); - public abstract int StopRhythmPlayer();

    + public abstract int stopRhythmPlayer(); + public abstract int StopRhythmPlayer();

    - public int stopRhythmPlayer();

    + public int stopRhythmPlayer();

    - - (int)stopRhythmPlayer; - virtual int stopRhythmPlayer() = 0; - - - Future<void> stopRhythmPlayer();

    + - (int)stopRhythmPlayer; + virtual int stopRhythmPlayer() = 0; + + + Future<void> stopRhythmPlayer(); +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +

    调用 后,你可以调用该方法关闭虚拟节拍器。

    - 该方法仅适用于 Android 和 iOS。
    + 该方法仅适用于 Android 和 iOS。 +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_stoprtmpstream.dita b/dita/RTC/API/api_stoprtmpstream.dita index 7a8380222f4..d6dbf4e18e8 100644 --- a/dita/RTC/API/api_stoprtmpstream.dita +++ b/dita/RTC/API/api_stoprtmpstream.dita @@ -1,8 +1,12 @@ - <ph keyref="stopRtmpStream"/> - 结束旁路推流。 + + <ph keyref="stopRtmpStream"/> + + + 结束旁路推流。 + @@ -13,13 +17,13 @@

    - public abstract int stopRtmpStream(String url); - - (int)stopRtmpStream:(NSString* _Nonnull)url; - virtual int stopRtmpStream(const char* url) = 0; - - public abstract int StopRtmpStream(string url); - - Future<void> stopRtmpStream(String url);

    + public abstract int stopRtmpStream(String url); + - (int)stopRtmpStream:(NSString* _Nonnull)url; + virtual int stopRtmpStream(const char* url) = 0; + + public abstract int StopRtmpStream(string url); + + Future<void> stopRtmpStream(String url);

    调用该方法,你可以结束指定的旁路推流地址上的直播。该方法每次只能结束一个推流地址上的直播,如果你需要结束多个推流地址的直播,则需多次调用该方法。

    @@ -28,16 +32,18 @@
    参数 - - - - -
    + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_stopscreencapture.dita b/dita/RTC/API/api_stopscreencapture.dita index e63b32b168c..7982bdfb325 100644 --- a/dita/RTC/API/api_stopscreencapture.dita +++ b/dita/RTC/API/api_stopscreencapture.dita @@ -13,19 +13,21 @@

    - public abstract int stopScreenCapture(); - - (int)stopScreenCapture; - virtual int stopScreenCapture() = 0; - stopScreenCapture(): number - public abstract int StopScreenCapture(); - - Future<void> stopScreenCapture();

    + public abstract int stopScreenCapture(); + - (int)stopScreenCapture; + virtual int stopScreenCapture() = 0; + stopScreenCapture(): number + public abstract int StopScreenCapture(); + + Future<void> stopScreenCapture(); +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_switchcamera.dita b/dita/RTC/API/api_switchcamera.dita index 65600bad8f8..d011b5f0897 100644 --- a/dita/RTC/API/api_switchcamera.dita +++ b/dita/RTC/API/api_switchcamera.dita @@ -13,24 +13,27 @@

    - public abstract int switchCamera(); - - (int)switchCamera; - virtual int switchCamera() = 0; - - public abstract int SwitchCamera(); - - Future<void> switchCamera();

    + public abstract int switchCamera(); + - (int)switchCamera; + virtual int switchCamera() = 0; + + public abstract int SwitchCamera(); + + Future<void> switchCamera(); +

    -

    该方法需要在相机启动(如通过调用 实现)后调用。

    +

    该方法需要在相机启动(如通过调用 + 实现)后调用。

    - 该方法仅适用于 Android 和 iOS。

    + 该方法仅适用于 Android 和 iOS。

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_switchchannel.dita b/dita/RTC/API/api_switchchannel.dita index 533d32e2581..fb38c7015bc 100644 --- a/dita/RTC/API/api_switchchannel.dita +++ b/dita/RTC/API/api_switchchannel.dita @@ -13,70 +13,74 @@

    - public abstract int switchChannel(String token, String channelName); - -(int)switchChannel:(NSString* _Nonnull)token channelName:(NSString* _Nonnull)channelName; - virtual int switchChannel(const char* token, const char* channel) = 0;

    + public abstract int switchChannel(String token, String channelName); + -(int)switchChannel:(NSString* _Nonnull)token channelName:(NSString* _Nonnull)channelName; + virtual int switchChannel(const char* token, const char* channel) = 0; +

    - - - virtual int switchChannel(const char* token, const char* channelId) = 0; - - public abstract int SwitchChannel(string token, string channelId); - -

    + + + virtual int switchChannel(const char* token, const char* channelId) = 0; + + public abstract int SwitchChannel(string token, string channelId); + + +

    当直播频道中的观众想从一个频道切换到另一个频道时,可以调用该方法,实现快速切换。

    -

    成功调用该方切换频道后,本地会先收到离开原频道的回调 ,再收到成功加入新频道的回调

    -

    用户成功切换频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。

    +

    成功调用该方切换频道后,本地会先收到离开原频道的回调 ,再收到成功加入新频道的回调

    +

    用户成功切换频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute + 方法实现。

    参数 - - token - -

    动态秘钥。 - -

      -
    • 安全要求不高: 将值设为
    • -
    • 安全要求高: 将值设置为从你的服务端生成的 Token。如果你的项目已经启用了 App Certificate, 请务必使用 Token。
    • -
    - 请确保用于生成 token 的 App ID、频道名和用户名和 方法初始化引擎时用的 App ID,以及该方法中设置的频道名和用户名是一致的。 -

    -
    -
    - - channelNamechannel - channelId - -

    频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。 - 该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): - -

      -
    • 26 个小写英文字母 a~z
    • -
    • 26 个大写英文字母 A~Z
    • -
    • 10 个数字 0~9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    -
    -
    + + token + +

    动态秘钥。

      +
    • 安全要求不高: 将值设为
    • +
    • 安全要求高: 将值设置为从你的服务端生成的 Token。如果你的项目已经启用了 App Certificate, 请务必使用 + Token。
    • +
    + 请确保用于生成 token 的 App ID、频道名和用户名和 方法初始化引擎时用的 App ID,以及该方法中设置的频道名和用户名是一致的。 + +

    +
    +
    + + channelNamechannel + channelId + +

    频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同频道名的用户会进入同一个频道进行音视频互动。 该参数为长度在 + 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):

      +
    • 26 个小写英文字母 a~z
    • +
    • 26 个大写英文字母 A~Z
    • +
    • 10 个数字 0~9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - -
        -
      • -1: 一般性的错误(未明确归类)。
      • -
      • -2: 参数无效。
      • -
      • -5: 调用被拒绝。可能因为用户角色不是观众。
      • -
      • -7: SDK 尚未初始化。
      • -
      • -102: 频道名无效。请更换有效的频道名。
      • -
      • -113: 用户不在频道内。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -1: 一般性的错误(未明确归类)。
    • +
    • -2: 参数无效。
    • +
    • -5: 调用被拒绝。可能因为用户角色不是观众。
    • +
    • -7: SDK 尚未初始化。
    • +
    • -102: 频道名无效。请更换有效的频道名。
    • +
    • -113: 用户不在频道内。
    • +
  • + +
    diff --git a/dita/RTC/API/api_switchchannel2.dita b/dita/RTC/API/api_switchchannel2.dita index 6cddf7bfa6e..e29a4f2e85c 100644 --- a/dita/RTC/API/api_switchchannel2.dita +++ b/dita/RTC/API/api_switchchannel2.dita @@ -13,82 +13,82 @@

    - - - virtual int switchChannel(const char* token, + + + virtual int switchChannel(const char* token, const char* channelId, const ChannelMediaOptions& options) = 0; - switchChannel(token: string, + switchChannel(token: string, channelId: string, options?: ChannelMediaOptions): number - public abstract int SwitchChannel(string token, string channelId, ChannelMediaOptions options); - - Future<void> switchChannel(String? token, String channelName, - [ChannelMediaOptions? options]);

    + public abstract int SwitchChannel(string token, string channelId, ChannelMediaOptions options); + + Future<void> switchChannel(String? token, String channelName, + [ChannelMediaOptions? options]); +

    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +

    当直播频道中的观众想从一个频道切换到另一个频道时,可以调用该方法,实现快速切换。

    -

    成功调用该方切换频道后,本地会先收到离开原频道的回调 ,再收到成功加入新频道的回调

    -

    用户成功切换频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute 方法实现。

    +

    成功调用该方切换频道后,本地会先收到离开原频道的回调 ,再收到成功加入新频道的回调

    +

    用户成功切换频道后,默认订阅频道内所有其他用户的音频流和视频流,因此产生用量并影响计费。如果想取消订阅,可以通过调用相应的 mute + 方法实现。

    参数 - - token - -

    动态秘钥。 - -

      -
    • 安全要求不高: 将值设为
    • -
    • 安全要求高: 将值设置为从你的服务端生成的 Token。如果你的项目已经启用了 App Certificate, 请务必使用 Token。
    • -
    - - 请确保用于生成 token 的 App ID 和 方法初始化引擎时用的 App ID,以及该方法中设置的频道名和用户名是一致的。 -

    -
    -
    - - channelId - channelName - -

    频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同 channelId 的用户会进入同一个频道进行音视频互动。 - 该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符): - -

      -
    • 26 个小写英文字母 a~z
    • -
    • 26 个大写英文字母 A~Z
    • -
    • 10 个数字 0~9
    • -
    • 空格
    • -
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • -

    -
    -
    - - options - 频道媒体设置选项。详见 - -
    + + token + +

    动态秘钥。

      +
    • 安全要求不高: 将值设为
    • +
    • 安全要求高: 将值设置为从你的服务端生成的 Token。如果你的项目已经启用了 App Certificate, 请务必使用 + Token。
    • +
    + 请确保用于生成 token 的 App ID 和 + 方法初始化引擎时用的 App ID,以及该方法中设置的频道名和用户名是一致的。 +

    +
    +
    + + channelId + channelName + +

    频道名。该参数标识用户进行实时音视频互动的频道。App ID 一致的前提下,填入相同 channelId + 的用户会进入同一个频道进行音视频互动。 该参数为长度在 64 字节以内的字符串。以下为支持的字符集范围(共 89 个字符):

      +
    • 26 个小写英文字母 a~z
    • +
    • 26 个大写英文字母 A~Z
    • +
    • 10 个数字 0~9
    • +
    • 空格
    • +
    • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
    • +

    +
    +
    + + options + 频道媒体设置选项。详见 + + +
    返回值
      -
    • 0(ERR_OK): 方法调用成功。
    • -
    • < 0: 方法调用失败。 - -
        -
      • -1(ERR_FAILED): 一般性的错误(未明确归类)。
      • -
      • -2(ERR_INVALID_ARGUMENT): 参数无效。
      • -
      • -5(ERR_REFUSED): 调用被拒绝。可能因为用户角色不是观众。
      • -
      • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化。
      • -
      • -102(ERR_INVALID CHANNEL_NAME): 频道名无效。请更换有效的频道名。
      • -
      • -113(ERR_NOT_IN_CHANNEL): 用户不在频道内。
      • -
    • -
    +
  • 0(ERR_OK): 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -1(ERR_FAILED): 一般性的错误(未明确归类)。
    • +
    • -2(ERR_INVALID_ARGUMENT): 参数无效。
    • +
    • -5(ERR_REFUSED): 调用被拒绝。可能因为用户角色不是观众。
    • +
    • -7(ERR_NOT_INITIALIZED): SDK 尚未初始化。
    • +
    • -102(ERR_INVALID CHANNEL_NAME): 频道名无效。请更换有效的频道名。
    • +
    • -113(ERR_NOT_IN_CHANNEL): 用户不在频道内。
    • +
  • + +
    diff --git a/dita/RTC/API/api_takescreenshot.dita b/dita/RTC/API/api_takescreenshot.dita index 8c1e3b9fcfb..52c7b820d31 100644 --- a/dita/RTC/API/api_takescreenshot.dita +++ b/dita/RTC/API/api_takescreenshot.dita @@ -13,27 +13,30 @@

    - - - virtual int takeScreenshot(const char* filename) = 0; - - - -

    + + + virtual int takeScreenshot(const char* filename) = 0; + + + + +

    参数 - - filename - 屏幕截图文件的文件名。 - -
    + + filename + 屏幕截图文件的文件名。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_takesnapshot.dita b/dita/RTC/API/api_takesnapshot.dita index f2a8ee6b3b0..bcf9abab9f9 100644 --- a/dita/RTC/API/api_takesnapshot.dita +++ b/dita/RTC/API/api_takesnapshot.dita @@ -13,66 +13,72 @@

    - - (NSInteger)takeSnapshot:(NSString* _Nonnull)channel uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; - public abstract int TakeSnapshot(string channel, uint uid, string filePath);

    + - (NSInteger)takeSnapshot:(NSString* _Nonnull)channel uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; + public abstract int TakeSnapshot(string channel, uint uid, string filePath);

    - - (NSInteger)takeSnapshot:(NSString* _Nonnull)channel uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:uid:filePath:)); + - (NSInteger)takeSnapshot:(NSString* _Nonnull)channel uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:uid:filePath:)); - public abstract int TakeSnapshot(string channel, uint uid, string filePath);

    + public abstract int TakeSnapshot(string channel, uint uid, string filePath);

    - public abstract int takeSnapshot(String channel, int uid, String filePath); + public abstract int takeSnapshot(String channel, int uid, String filePath); - virtual int takeSnapshot(const char* channel, uid_t uid, const char* filePath) = 0; - - - Future<void> takeSnapshot(String channel, int uid, String filePath);

    + virtual int takeSnapshot(const char* channel, uid_t uid, const char* filePath) = 0; + + + Future<void> takeSnapshot(String channel, int uid, String filePath); +

    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +

    该方法用于对指定用户的视频流进行截图,生成一张 JPG 格式的图片,并保存至指定的路径。

    -

    该方法是异步操作,调用返回时 SDK 并没有真正获取截图。成功调用该方法后,SDK 会触发 回调报告截图是否成功和获取截图的详情。

    +

    该方法是异步操作,调用返回时 SDK 并没有真正获取截图。成功调用该方法后,SDK 会触发 回调报告截图是否成功和获取截图的详情。

    -
      -
    • 该方法需要在加入频道后调用。
    • -
    • 如果用户的视频经过前处理,例如,添加了水印或美颜,生成的截图会包含前处理效果。
    • -
    +
      +
    • 该方法需要在加入频道后调用。
    • +
    • 如果用户的视频经过前处理,例如,添加了水印或美颜,生成的截图会包含前处理效果。
    • +
    +
    参数 - - channel - 频道名。 - - - uid - 用户 ID。如果要对本地用户的视频截图,uid 设为 0。 - - - filePath - -

    截图的本地保存路径,需精确到文件名及格式, 例如: - - - -

      -
    • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
    • -
    • iOS: /App Sandbox/Library/Caches/example.jpg
    • -
    • macOS: ~/Library/Logs/example.jpg
    • -
    • Android: /storage/emulated/0/Android/data/<package name>/files/example.jpg
    • -
    请确保目录存在且可写。

    -
    -
    -
    + + channel + 频道名。 + + + uid + 用户 ID。如果要对本地用户的视频截图,uid 设为 0。 + + + filePath + +

    截图的本地保存路径,需精确到文件名及格式, 例如:

      +
    • Windows: + C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
    • +
    • iOS: /App + Sandbox/Library/Caches/example.jpg
    • +
    • macOS: + ~/Library/Logs/example.jpg
    • +
    • Android: + /storage/emulated/0/Android/data/<package + name>/files/example.jpg
    • +
    请确保目录存在且可写。

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_unloadeffect.dita b/dita/RTC/API/api_unloadeffect.dita index b742a5881e1..0a9178be68c 100644 --- a/dita/RTC/API/api_unloadeffect.dita +++ b/dita/RTC/API/api_unloadeffect.dita @@ -13,29 +13,32 @@

    - public abstract int unloadEffect(int soundId); + public abstract int unloadEffect(int soundId); - - (int)unloadEffect:(int)soundId; + - (int)unloadEffect:(int)soundId; - virtual int unloadEffect(int soundId) = 0; - unloadEffect(soundId: number): number - public abstract int UnloadEffect(int soundId); - - Future<void> unloadEffect(int soundId);

    + virtual int unloadEffect(int soundId) = 0; + unloadEffect(soundId: number): number + public abstract int UnloadEffect(int soundId); + + Future<void> unloadEffect(int soundId); +

    参数 - - soundId - 指定音效文件的 ID。每个音效文件均有唯一的 ID。 - -
    + + soundId + 指定音效文件的 ID。每个音效文件均有唯一的 ID。 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_unregisteraudioframeobserver.dita b/dita/RTC/API/api_unregisteraudioframeobserver.dita index 0d1c0eb7721..be7856db1e2 100644 --- a/dita/RTC/API/api_unregisteraudioframeobserver.dita +++ b/dita/RTC/API/api_unregisteraudioframeobserver.dita @@ -13,21 +13,23 @@

    - public abstract void UnRegisterAudioFrameObserver();

    + public abstract void UnRegisterAudioFrameObserver();

    - - - - public abstract void UnRegisterAudioFrameObserver(); - - -

    + + + + public abstract void UnRegisterAudioFrameObserver(); + + + +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_unregistermediametadataobserver.dita b/dita/RTC/API/api_unregistermediametadataobserver.dita index f5f74809650..9e58fa4d855 100644 --- a/dita/RTC/API/api_unregistermediametadataobserver.dita +++ b/dita/RTC/API/api_unregistermediametadataobserver.dita @@ -13,31 +13,35 @@

    - public abstract int unregisterMediaMetadataObserver(IMetadataObserver observer, int type); - - virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0; - unregisterMediaMetadataObserver(type: METADATA_TYPE = 0): number - public abstract int UnRegisterMediaMetadataObserver(METADATA_TYPE type); - - Future<void> unregisterMediaMetadataObserver();

    + public abstract int unregisterMediaMetadataObserver(IMetadataObserver observer, int type); + + virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0; + unregisterMediaMetadataObserver(type: METADATA_TYPE = 0): number + public abstract int UnRegisterMediaMetadataObserver(METADATA_TYPE type); + + Future<void> unregisterMediaMetadataObserver(); +

    参数 - - observer - metadata 观测器,详见 - - - type - 观测器使用的 metadata 类型。目前仅支持 。详见 - -
    + + observer + metadata 观测器,详见 + + + type + 观测器使用的 metadata 类型。目前仅支持 。详见 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_unregisterplugin.dita b/dita/RTC/API/api_unregisterplugin.dita index 873bd03345c..466bc91a9e4 100644 --- a/dita/RTC/API/api_unregisterplugin.dita +++ b/dita/RTC/API/api_unregisterplugin.dita @@ -13,13 +13,14 @@

    - - - - unregisterPlugin(pluginId: string): number - - -

    + + + + unregisterPlugin(pluginId: string): number + + + +

    调用 注册插件后,如果你想取消注册插件,请调用本方法。

    @@ -27,16 +28,18 @@
    参数 - - pluginId - 用于标识插件的 ID,可以从 中获取。 - -
    + + pluginId + 用于标识插件的 ID,可以从 中获取。 + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_unregistervideoencodedimagereceiver.dita b/dita/RTC/API/api_unregistervideoencodedimagereceiver.dita index 10cb039901f..bb472c146bd 100644 --- a/dita/RTC/API/api_unregistervideoencodedimagereceiver.dita +++ b/dita/RTC/API/api_unregistervideoencodedimagereceiver.dita @@ -13,19 +13,21 @@

    - - - - - public abstract void UnRegisterVideoEncodedImageReceiver(); - -

    + + + + + public abstract void UnRegisterVideoEncodedImageReceiver(); + + +

    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_unregistervideoframeobserver.dita b/dita/RTC/API/api_unregistervideoframeobserver.dita index ef604bf24a4..5f65c753d32 100644 --- a/dita/RTC/API/api_unregistervideoframeobserver.dita +++ b/dita/RTC/API/api_unregistervideoframeobserver.dita @@ -13,19 +13,21 @@

    - - - - - public abstract void UnRegisterVideoFrameObserver(); - -

    + + + + + public abstract void UnRegisterVideoFrameObserver(); + + +

    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_updatechannelmediaoptions.dita b/dita/RTC/API/api_updatechannelmediaoptions.dita index adee0b333a3..e23dbd199f1 100644 --- a/dita/RTC/API/api_updatechannelmediaoptions.dita +++ b/dita/RTC/API/api_updatechannelmediaoptions.dita @@ -13,28 +13,31 @@

    - public abstract int updateChannelMediaOptions(ChannelMediaOptions options); - - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions; - - - public abstract int UpdateChannelMediaOptions(ChannelMediaOptions options); - -

    + public abstract int updateChannelMediaOptions(ChannelMediaOptions options); + - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions; + + + public abstract int UpdateChannelMediaOptions(ChannelMediaOptions options); + + +

    参数 - - options - mediaOptions - 频道媒体选项,详见 - -
    + + options + mediaOptions + 频道媒体选项,详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_updatechannelmediarelay.dita b/dita/RTC/API/api_updatechannelmediarelay.dita index 0a6e83eeb73..71d9fac5174 100644 --- a/dita/RTC/API/api_updatechannelmediarelay.dita +++ b/dita/RTC/API/api_updatechannelmediarelay.dita @@ -13,35 +13,41 @@

    - public abstract int updateChannelMediaRelay( + public abstract int updateChannelMediaRelay( ChannelMediaRelayConfiguration channelMediaRelayConfiguration); - - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; - virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - updateChannelMediaRelay(config: ChannelMediaRelayConfiguration): number - public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - - Future<void> updateChannelMediaRelay( - ChannelMediaRelayConfiguration channelMediaRelayConfiguration);

    + - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; + virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + updateChannelMediaRelay(config: ChannelMediaRelayConfiguration): number + public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + + Future<void> updateChannelMediaRelay( + ChannelMediaRelayConfiguration channelMediaRelayConfiguration); +

    成功开始跨频道转发媒体流后,如果你希望将流转发到多个目标频道,或退出当前的转发频道,可以调用该方法。

    -

    成功调用该方法后,SDK 会触发 回调, 并在回调中报告状态码 (7)。

    - 请在 方法后调用该方法,更新媒体流转发的频道。
    +

    成功调用该方法后,SDK 会触发 回调, 并在回调中报告状态码 (7)。

    + 请在 + 方法后调用该方法,更新媒体流转发的频道。 +
    参数 - - channelMediaRelayConfiguration - config - configuration - 跨频道媒体流转发参数配置。详见 - -
    + + channelMediaRelayConfiguration + config + configuration + 跨频道媒体流转发参数配置。详见 + + +
    返回值
      -
    • 0:方法调用成功
    • -
    • < 0:方法调用失败
    • -
    +
  • 0:方法调用成功
  • +
  • < 0:方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_updatelocaltranscoderconfiguration.dita b/dita/RTC/API/api_updatelocaltranscoderconfiguration.dita index 06434bfe69b..4d870f91dcf 100644 --- a/dita/RTC/API/api_updatelocaltranscoderconfiguration.dita +++ b/dita/RTC/API/api_updatelocaltranscoderconfiguration.dita @@ -2,7 +2,8 @@ <ph keyref="updateLocalTranscoderConfiguration"/> - 更新本地合图配置。 + 更新本地合图配置。 @@ -13,14 +14,15 @@

    - - - virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0; + + + virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0; - - - -

    + + + + +

    调用 后,如果你希望更新本地合图配置,请调用该方法。

    @@ -28,16 +30,18 @@
    参数 - - config - 本地合图的配置,详见 - -
    + + config + 本地合图的配置,详见 + + +
    返回值
      -
    • 0: 方法调用成功
    • -
    • < 0: 方法调用失败
    • -
    +
  • 0: 方法调用成功
  • +
  • < 0: 方法调用失败
  • + +
    diff --git a/dita/RTC/API/api_updatertmptranscoding.dita b/dita/RTC/API/api_updatertmptranscoding.dita index b61a01bc17c..7c43996bbf2 100644 --- a/dita/RTC/API/api_updatertmptranscoding.dita +++ b/dita/RTC/API/api_updatertmptranscoding.dita @@ -1,8 +1,12 @@ - <ph keyref="updateRtmpTranscoding"/> - 更新旁路推流转码属性。 + + <ph keyref="updateRtmpTranscoding"/> + + + 更新旁路推流转码属性。 + @@ -13,30 +17,33 @@

    - public abstract int updateRtmpTranscoding(LiveTranscoding transcoding); - - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding; - virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0; - - public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); - - Future<void> updateRtmpTranscoding(LiveTranscoding transcoding);

    + public abstract int updateRtmpTranscoding(LiveTranscoding transcoding); + - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding; + virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0; + + public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); + + Future<void> updateRtmpTranscoding(LiveTranscoding transcoding);

    -

    开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 回调。

    +

    开启转码推流后,你可以根据场景需求,动态更新转码属性。转码属性更新后,SDK 会触发 + 回调。

    参数 - - - - -
    + + + + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_updatescreencaptureparameters.dita b/dita/RTC/API/api_updatescreencaptureparameters.dita index d108a4d4dce..3ef5246751b 100644 --- a/dita/RTC/API/api_updatescreencaptureparameters.dita +++ b/dita/RTC/API/api_updatescreencaptureparameters.dita @@ -13,42 +13,42 @@

    - - - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams; - virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0; - updateScreenCaptureParameters(captureParams: ScreenCaptureParameters): number - public abstract int UpdateScreenCaptureParameters(ScreenCaptureParameters captureParams); - - Future<void> updateScreenCaptureParameters( - ScreenCaptureParameters captureParams);

    + + - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams; + virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0; + updateScreenCaptureParameters(captureParams: ScreenCaptureParameters): number + public abstract int UpdateScreenCaptureParameters(ScreenCaptureParameters captureParams); + + Future<void> updateScreenCaptureParameters( + ScreenCaptureParameters captureParams); +

    - -
    自从
    -
    v2.4.0
    -
    + +
    自从
    +
    v2.4.0
    +
    参数 - - captureParams - 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 - -
    + + captureParams + 屏幕共享的编码参数配置。默认的分辨率为 1920 x 1080,即 2073600 像素。该像素值为计费标准。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - - -
        -
      • -3: 如果当前没有共享的屏幕,会返回该错误码。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -3: 如果当前没有共享的屏幕,会返回该错误码。
    • +
  • + +
    diff --git a/dita/RTC/API/api_updatescreencaptureparametersmobile.dita b/dita/RTC/API/api_updatescreencaptureparametersmobile.dita index d6254948594..39377437017 100644 --- a/dita/RTC/API/api_updatescreencaptureparametersmobile.dita +++ b/dita/RTC/API/api_updatescreencaptureparametersmobile.dita @@ -13,32 +13,33 @@

    - - - - - - - Future<void> updateScreenCaptureParametersMobile( - ScreenCaptureParameters2 parameters);

    + + + + + + + Future<void> updateScreenCaptureParametersMobile( + ScreenCaptureParameters2 parameters); +

    参数 - - parameters - 屏幕共享的编码参数配置。详见 - -
    + + parameters + 屏幕共享的编码参数配置。详见 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - -
        -
      • -3: 如果当前没有共享的屏幕,会返回该错误码。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -3: 如果当前没有共享的屏幕,会返回该错误码。
    • +
  • + +
    diff --git a/dita/RTC/API/api_updatescreencaptureregion.dita b/dita/RTC/API/api_updatescreencaptureregion.dita index 67a5a7c0c7c..bae48f982f7 100644 --- a/dita/RTC/API/api_updatescreencaptureregion.dita +++ b/dita/RTC/API/api_updatescreencaptureregion.dita @@ -13,57 +13,53 @@

    - - - virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0; - updateScreenCaptureRegion(regionRect: Rectangle): number - public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); - - Future<void> updateScreenCaptureRegion(Rectangle regionRect);

    + + + virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0; + updateScreenCaptureRegion(regionRect: Rectangle): number + public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); + + Future<void> updateScreenCaptureRegion(Rectangle regionRect); +

    - -
    自从
    -
    v2.4.0
    -
    + +
    自从
    +
    v2.4.0
    +
    参数 - - regionRect - 待共享区域相对于整个屏幕或窗口的位置,如不填,则表示共享整个屏幕或窗口。详见 。 - 如果设置的共享区域超出了屏幕或窗口的边界,则只共享屏幕或窗口内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕或窗口。 - - - rect - -

    (可选)待共享区域相对于整个窗口的位置。如不填,则表示共享整个窗口。由如下参数组成: - - -

      -
    • x:左上角的横向偏移。
    • -
    • y:左上角的纵向偏移。
    • -
    • width:待共享区域的宽。
    • -
    • height:待共享区域的高。
    • -

    -

    如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高设为 0,则共享整个窗口。

    -
    -
    -
    + + regionRect + 待共享区域相对于整个屏幕或窗口的位置,如不填,则表示共享整个屏幕或窗口。详见 。 + 如果设置的共享区域超出了屏幕或窗口的边界,则只共享屏幕或窗口内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕或窗口。 + + + rect + +

    (可选)待共享区域相对于整个窗口的位置。如不填,则表示共享整个窗口。由如下参数组成:

      +
    • x:左上角的横向偏移。
    • +
    • y:左上角的纵向偏移。
    • +
    • width:待共享区域的宽。
    • +
    • height:待共享区域的高。
    • +

    +

    如果设置的共享区域超出了窗口的边界,则只共享窗口内的内容;如果宽或高设为 0,则共享整个窗口。

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - - -
        -
      • -3: 如果当前没有共享的屏幕,会返回该错误码。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -3: 如果当前没有共享的屏幕,会返回该错误码。
    • +
  • + +
    diff --git a/dita/RTC/API/api_updatescreencaptureregion2.dita b/dita/RTC/API/api_updatescreencaptureregion2.dita index 1f59af871ad..5f1eb451fb0 100644 --- a/dita/RTC/API/api_updatescreencaptureregion2.dita +++ b/dita/RTC/API/api_updatescreencaptureregion2.dita @@ -13,42 +13,43 @@

    - - - (int)updateScreenCaptureRegion:(CGRect)rect; - virtual int updateScreenCaptureRegion(const Rect* rect) = 0; - - public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); - -

    + + - (int)updateScreenCaptureRegion:(CGRect)rect; + virtual int updateScreenCaptureRegion(const Rect* rect) = 0; + + public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); + + +

    - -
    弃用:
    -
    该方法从 v2.4.0 起废弃,请使用
    -
    + +
    弃用:
    +
    该方法从 v2.4.0 起废弃,请使用
    +
    参数 - - rect - regionRect - 待共享区域相对于整个屏幕的位置,如不填,则表示共享整个屏幕。详见 如果设置的共享区域超出了屏幕或窗口的边界,则只共享屏幕或窗口内的内容;如果将 width 或 height 设为 0 ,则共享整个屏幕或窗口。 - -
    + + rect + regionRect + 待共享区域相对于整个屏幕的位置,如不填,则表示共享整个屏幕。详见 如果设置的共享区域超出了屏幕或窗口的边界,则只共享屏幕或窗口内的内容;如果将 width 或 height 设为 0 + ,则共享整个屏幕或窗口。 + + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - - - -
        -
      • -3: 如果当前没有共享的屏幕,会返回该错误码。
      • -
    • -
    +
  • 0: 方法调用成功。
  • +
  • < 0: 方法调用失败。
      +
    • -3: 如果当前没有共享的屏幕,会返回该错误码。
    • +
  • + +
    diff --git a/dita/RTC/API/api_uploadlogfile.dita b/dita/RTC/API/api_uploadlogfile.dita index d6140106775..9da80ed6005 100644 --- a/dita/RTC/API/api_uploadlogfile.dita +++ b/dita/RTC/API/api_uploadlogfile.dita @@ -13,53 +13,58 @@

    - - - virtual int uploadLogFile(agora::util::AString& requestId) = 0; - uploadLogFile(): string - public abstract string UploadLogFile(); - - Future<String?> uploadLogFile();

    + + + virtual int uploadLogFile(agora::util::AString& requestId) = 0; + uploadLogFile(): string + public abstract string UploadLogFile(); + + Future<String?> uploadLogFile(); +

    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +
    -

    将客户端的所有日志文件上传至声网服务器。成功调用该方法后,SDK 会触发 回调报告日志文件是否成功上传至声网服务器。

    +

    将客户端的所有日志文件上传至声网服务器。成功调用该方法后,SDK 会触发 + 回调报告日志文件是否成功上传至声网服务器。

    - 该方法每分钟的调用次数不得超过 1 次,超出后会报错误码 ERR_TOO_OFTEN(12)

    + 该方法每分钟的调用次数不得超过 1 次,超出后会报错误码 + ERR_TOO_OFTEN(12)

    - 该方法每分钟的调用次数不得超过 1 次,超出后会返回

    + 该方法每分钟的调用次数不得超过 1 次,超出后会返回

    为了方便排查问题,声网推荐你将 uploadLogFile 方法与应用的 UI 元素绑定,在出现质量问题时提示用户上传日志。

    参数 - - requestId - -

    请求 ID。该请求 ID 与 回调中的 requestId 一致。 - 你可以通过 requestId 将特定的上传和回调对应起来。

    -
    -
    -
    + + requestId + +

    请求 ID。该请求 ID 与 回调中的 + requestId 一致。 你可以通过 + requestId 将特定的上传和回调对应起来。

    +
    +
    + +
    返回值
      -
    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。 - -
        -
      • -12(ERR_TOO_OFTEN): 调用频率超出限制。
      • -
    • +
    • 0: 方法调用成功。
    • +
    • < 0: 方法调用失败。
        +
      • -12(ERR_TOO_OFTEN): 调用频率超出限制。
      • +
      -
    • 方法调用成功: 返回请求 ID。该请求 ID 与 回调中的 requestId 一致。你可以通过 - requestId 将特定的上传和回调对应起来。
    • -
    • 方法调用失败: 返回 。可能是因为调用频率超出限制。
    • -
    +
  • 方法调用成功: 返回请求 ID。该请求 ID 与 回调中的 + requestId 一致。你可以通过 requestId + 将特定的上传和回调对应起来。
  • +
  • 方法调用失败: 返回 。可能是因为调用频率超出限制。
  • + +
    diff --git a/dita/RTC/API/api_videosourcedisableaudio.dita b/dita/RTC/API/api_videosourcedisableaudio.dita index 91b413f94f0..413185005cd 100644 --- a/dita/RTC/API/api_videosourcedisableaudio.dita +++ b/dita/RTC/API/api_videosourcedisableaudio.dita @@ -13,13 +13,14 @@

    - - - - videoSourceDisableAudio(): number - - -

    + + + + videoSourceDisableAudio(): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourcedisablevideo.dita b/dita/RTC/API/api_videosourcedisablevideo.dita index 64c831afa4d..cbda7d208b1 100644 --- a/dita/RTC/API/api_videosourcedisablevideo.dita +++ b/dita/RTC/API/api_videosourcedisablevideo.dita @@ -13,18 +13,21 @@

    - - - - videoSourceDisableVideo(): number - - -

    + + + + videoSourceDisableVideo(): number + + + +

    双实例方法。

    -

    该方法用于关闭视频模块,可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频模式。 调用 方法可开启视频模式。

    -

    成功调用该方法后,远端会触发 () 回调。

    +

    该方法用于关闭视频模块,可以在加入频道前或者通话中调用,在加入频道前调用,则自动开启纯音频模式,在通话中调用则由视频模式切换为纯音频模式。 调用 方法可开启视频模式。

    +

    成功调用该方法后,远端会触发 () 回调。

    diff --git a/dita/RTC/API/api_videosourceenableaudio.dita b/dita/RTC/API/api_videosourceenableaudio.dita index c358953d10a..770e7eef543 100644 --- a/dita/RTC/API/api_videosourceenableaudio.dita +++ b/dita/RTC/API/api_videosourceenableaudio.dita @@ -13,13 +13,14 @@

    - - - - videoSourceEnableAudio(): number - - -

    + + + + videoSourceEnableAudio(): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourceenabledualstreammode.dita b/dita/RTC/API/api_videosourceenabledualstreammode.dita index dc9d49e7ffe..aca1e9e165d 100644 --- a/dita/RTC/API/api_videosourceenabledualstreammode.dita +++ b/dita/RTC/API/api_videosourceenabledualstreammode.dita @@ -14,13 +14,14 @@

    - - - - videoSourceEnableDualStreamMode(enabled: boolean): number - - -

    + + + + videoSourceEnableDualStreamMode(enabled: boolean): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourceenableencryption.dita b/dita/RTC/API/api_videosourceenableencryption.dita index 32095231db9..d18edec6a08 100644 --- a/dita/RTC/API/api_videosourceenableencryption.dita +++ b/dita/RTC/API/api_videosourceenableencryption.dita @@ -13,13 +13,14 @@

    - - - - videoSourceEnableEncryption(enabled: boolean, config: EncryptionConfig): number - - -

    + + + + videoSourceEnableEncryption(enabled: boolean, config: EncryptionConfig): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourceenablelocalaudio.dita b/dita/RTC/API/api_videosourceenablelocalaudio.dita index 82ba20e6cd0..584336170d2 100644 --- a/dita/RTC/API/api_videosourceenablelocalaudio.dita +++ b/dita/RTC/API/api_videosourceenablelocalaudio.dita @@ -13,18 +13,20 @@

    - - - - videoSourceEnableLocalAudio(enabled: boolean): number - - -

    + + + + videoSourceEnableLocalAudio(enabled: boolean): number + + + +

    双实例方法。

    该方法可以关闭或重新开启本地音频功能,即停止或重新开始本地音频采集。

    -

    该方法不影响接收或播放远端音频流,() 适用于只听不发的用户场景。

    +

    该方法不影响接收或播放远端音频流,() 适用于只听不发的用户场景。

    diff --git a/dita/RTC/API/api_videosourceenablelocalvideo.dita b/dita/RTC/API/api_videosourceenablelocalvideo.dita index 99220ed12d1..718a9e72c3d 100644 --- a/dita/RTC/API/api_videosourceenablelocalvideo.dita +++ b/dita/RTC/API/api_videosourceenablelocalvideo.dita @@ -13,18 +13,22 @@

    - - - - videoSourceEnableLocalVideo(enabled: boolean): number - - -

    + + + + videoSourceEnableLocalVideo(enabled: boolean): number + + + +

    双实例方法。

    -

    调用 后,本地视频采集即默认开启。你可以调用 () 关闭本地视频采集。关闭后如果想要重新开启,则可调用 ()。

    +

    调用 后,本地视频采集即默认开启。你可以调用 () + 关闭本地视频采集。关闭后如果想要重新开启,则可调用 ()。

    成功禁用或启用本地视频采集后,远端会触发 回调。

    diff --git a/dita/RTC/API/api_videosourceenableloopbackrecording.dita b/dita/RTC/API/api_videosourceenableloopbackrecording.dita index d9df047ce2b..f7851d6a3b2 100644 --- a/dita/RTC/API/api_videosourceenableloopbackrecording.dita +++ b/dita/RTC/API/api_videosourceenableloopbackrecording.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceEnableLoopbackRecording"/> - + @@ -13,21 +14,23 @@

    - - - - videoSourceEnableLoopbackRecording( + + + + videoSourceEnableLoopbackRecording( enabled = false, deviceName: string | null = null ): number - - -

    + + + +

    双实例方法。

    -

    + +
    diff --git a/dita/RTC/API/api_videosourceenableplugin.dita b/dita/RTC/API/api_videosourceenableplugin.dita index 0f13fadea21..bfbf039cc55 100644 --- a/dita/RTC/API/api_videosourceenableplugin.dita +++ b/dita/RTC/API/api_videosourceenableplugin.dita @@ -13,13 +13,14 @@

    - - - - videoSourceEnablePlugin(pluginId: string, enabled: boolean): number - - -

    + + + + videoSourceEnablePlugin(pluginId: string, enabled: boolean): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourceenablevideo.dita b/dita/RTC/API/api_videosourceenablevideo.dita index c34b5003bd3..37ef9ae1275 100644 --- a/dita/RTC/API/api_videosourceenablevideo.dita +++ b/dita/RTC/API/api_videosourceenablevideo.dita @@ -13,17 +13,19 @@

    - - - - videoSourceEnableVideo(): number - - -

    + + + + videoSourceEnableVideo(): number + + + +

    双实例方法。

    -

    该方法可以在加入频道前或者通话中调用,在加入频道前调用则自动开启视频模块;在通话中调用则由音频模式切换为视频模式。调用 方法可关闭视频模式。

    +

    该方法可以在加入频道前或者通话中调用,在加入频道前调用则自动开启视频模块;在通话中调用则由音频模式切换为视频模式。调用 方法可关闭视频模式。

    成功调用该方法后,远端会触发 回调。

    diff --git a/dita/RTC/API/api_videosourceenablewebsdkinteroperability.dita b/dita/RTC/API/api_videosourceenablewebsdkinteroperability.dita index 4a7b9a06e0e..b273b55a68c 100644 --- a/dita/RTC/API/api_videosourceenablewebsdkinteroperability.dita +++ b/dita/RTC/API/api_videosourceenablewebsdkinteroperability.dita @@ -14,13 +14,14 @@

    - - - - videoSourceEnableWebSdkInteroperability(enabled: boolean): number - - -

    + + + + videoSourceEnableWebSdkInteroperability(enabled: boolean): number + + + +

    diff --git a/dita/RTC/API/api_videosourcegetpluginparameter.dita b/dita/RTC/API/api_videosourcegetpluginparameter.dita index 61c0eb9a089..777047db3c2 100644 --- a/dita/RTC/API/api_videosourcegetpluginparameter.dita +++ b/dita/RTC/API/api_videosourcegetpluginparameter.dita @@ -13,17 +13,19 @@

    - - - - videoSourceGetPluginParameter(pluginId: string, key: string): string - - -

    + + + + videoSourceGetPluginParameter(pluginId: string, key: string): string + + + +

    双实例方法。

    -

    如果你想在使用插件时将 JSON 字符串数据传递给 C++ 层,你需要调用 获取并设置参数。

    +

    如果你想在使用插件时将 JSON 字符串数据传递给 C++ 层,你需要调用 获取并设置参数。

    diff --git a/dita/RTC/API/api_videosourcegetplugins.dita b/dita/RTC/API/api_videosourcegetplugins.dita index 3b6184a50b2..74c00726e24 100644 --- a/dita/RTC/API/api_videosourcegetplugins.dita +++ b/dita/RTC/API/api_videosourcegetplugins.dita @@ -13,13 +13,14 @@

    - - - - videoSourceGetPlugins(): Plugin[] - - -

    + + + + videoSourceGetPlugins(): Plugin[] + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourceinitializewithcontext.dita b/dita/RTC/API/api_videosourceinitializewithcontext.dita index da2e66f6634..ee1021c2c79 100644 --- a/dita/RTC/API/api_videosourceinitializewithcontext.dita +++ b/dita/RTC/API/api_videosourceinitializewithcontext.dita @@ -14,25 +14,29 @@

    - - - - videoSourceInitializeWithContext(context: RtcEngineContext): number - - -

    + + + + videoSourceInitializeWithContext(context: RtcEngineContext): number + + + +

    双实例方法。

    - 请确保在调用其他 videoSource 方法前先调用该方法初始化 videoSource 对象。
    + 请确保在调用其他 videoSource 方法前先调用该方法初始化 + videoSource 对象。 +
    参数 - - context - videoSource 的配置,详见 - -
    + + context + videoSource 的配置,详见 + + +
    diff --git a/dita/RTC/API/api_videosourcejoinchannel.dita b/dita/RTC/API/api_videosourcejoinchannel.dita index efdb6107e16..52cd239e3f0 100644 --- a/dita/RTC/API/api_videosourcejoinchannel.dita +++ b/dita/RTC/API/api_videosourcejoinchannel.dita @@ -13,19 +13,20 @@

    - - - - videoSourceJoinChannel( + + + + videoSourceJoinChannel( token: string, channelId: string, info: string, uid: number, options?: ChannelMediaOptions ): number - - -

    + + + +

    双实例方法。

    @@ -33,34 +34,36 @@
    参数 - - - - - - - - - - - - - - uid - videoSource 的用户 ID。一个频道内不能出现相同的用户 ID。请确保 + + + + + + + + + + + + + + uid + videoSource 的用户 ID。一个频道内不能出现相同的用户 ID。请确保 videoSource 用户 ID 和 使用的 uid 不同。 - - - - - -
    + + + + + + +
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_videosourceleavechannel.dita b/dita/RTC/API/api_videosourceleavechannel.dita index 3952eb3d25c..28e29ac262f 100644 --- a/dita/RTC/API/api_videosourceleavechannel.dita +++ b/dita/RTC/API/api_videosourceleavechannel.dita @@ -13,13 +13,14 @@

    - - - - videoSourceLeaveChannel(): number - - -

    + + + + videoSourceLeaveChannel(): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourcemuteallremoteaudiostreams.dita b/dita/RTC/API/api_videosourcemuteallremoteaudiostreams.dita index ef82bcfb400..64bd91d213f 100644 --- a/dita/RTC/API/api_videosourcemuteallremoteaudiostreams.dita +++ b/dita/RTC/API/api_videosourcemuteallremoteaudiostreams.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceMuteAllRemoteAudioStreams"/> - + @@ -13,18 +14,20 @@

    - - - - videoSourceMuteAllRemoteAudioStreams(mute: boolean): number - - -

    + + + + videoSourceMuteAllRemoteAudioStreams(mute: boolean): number + + + +

    双实例方法。

    -

    + +
    diff --git a/dita/RTC/API/api_videosourcemuteallremotevideostreams.dita b/dita/RTC/API/api_videosourcemuteallremotevideostreams.dita index c9ee706f548..65ce03e76b7 100644 --- a/dita/RTC/API/api_videosourcemuteallremotevideostreams.dita +++ b/dita/RTC/API/api_videosourcemuteallremotevideostreams.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceMuteAllRemoteVideoStreams"/> - + @@ -13,18 +14,20 @@

    - - - - videoSourceMuteAllRemoteVideoStreams(mute: boolean): number - - -

    + + + + videoSourceMuteAllRemoteVideoStreams(mute: boolean): number + + + +

    双实例方法。

    -

    + +
    diff --git a/dita/RTC/API/api_videosourceregisterplugin.dita b/dita/RTC/API/api_videosourceregisterplugin.dita index 4974a6dd2fb..5674d5a7164 100644 --- a/dita/RTC/API/api_videosourceregisterplugin.dita +++ b/dita/RTC/API/api_videosourceregisterplugin.dita @@ -13,24 +13,27 @@

    - - - - videoSourceRegisterPlugin(pluginInfo: PluginInfo): number - - -

    + + + + videoSourceRegisterPlugin(pluginInfo: PluginInfo): number + + + +

    双实例方法。

    -

    声网提供两种方式供你使用插件: - - -

      -
    • 调用 方法,并通过 接口中的 enabledisablesetParametergetParameter 函数开启插件,关闭插件,设置插件参数,获取插件参数。
    • -
    • 调用 方法,开关插件、设置插件参数、获取插件参数。
    • -

    +

    声网提供两种方式供你使用插件:

      +
    • 调用 方法,并通过 + 接口中的 + enabledisablesetParametergetParameter + 函数开启插件,关闭插件,设置插件参数,获取插件参数。
    • +
    • 调用 方法,开关插件、设置插件参数、获取插件参数。
    • +

    diff --git a/dita/RTC/API/api_videosourcerelease.dita b/dita/RTC/API/api_videosourcerelease.dita index 0a9ca1f7aaa..bcb71599fa3 100644 --- a/dita/RTC/API/api_videosourcerelease.dita +++ b/dita/RTC/API/api_videosourcerelease.dita @@ -13,13 +13,14 @@

    - - - - videoSourceRelease(): number - - -

    + + + + videoSourceRelease(): number + + + +

    双实例方法。

    @@ -27,8 +28,9 @@
    返回值
      -
    • 0:方法调用成功。
    • -
    • < 0:方法调用失败。
    • -
    +
  • 0:方法调用成功。
  • +
  • < 0:方法调用失败。
  • + +
    diff --git a/dita/RTC/API/api_videosourcerenewtoken.dita b/dita/RTC/API/api_videosourcerenewtoken.dita index e57cee4aa40..56b54df6a85 100644 --- a/dita/RTC/API/api_videosourcerenewtoken.dita +++ b/dita/RTC/API/api_videosourcerenewtoken.dita @@ -14,13 +14,14 @@

    - - - - videoSourceRenewToken(token: string): number - - -

    + + + + videoSourceRenewToken(token: string): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourcesetaddonlogfile.dita b/dita/RTC/API/api_videosourcesetaddonlogfile.dita index b7022fcd80d..7712d5afa99 100644 --- a/dita/RTC/API/api_videosourcesetaddonlogfile.dita +++ b/dita/RTC/API/api_videosourcesetaddonlogfile.dita @@ -14,13 +14,14 @@

    - - - - videoSourceSetAddonLogFile(filePath: string): number - - -

    + + + + videoSourceSetAddonLogFile(filePath: string): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourcesetchannelprofile.dita b/dita/RTC/API/api_videosourcesetchannelprofile.dita index b095c12ccff..5cc1889863d 100644 --- a/dita/RTC/API/api_videosourcesetchannelprofile.dita +++ b/dita/RTC/API/api_videosourcesetchannelprofile.dita @@ -13,13 +13,14 @@

    - - - - videoSourceSetChannelProfile(profile: CHANNEL_PROFILE_TYPE): number - - -

    + + + + videoSourceSetChannelProfile(profile: CHANNEL_PROFILE_TYPE): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourcesetencryptionmode.dita b/dita/RTC/API/api_videosourcesetencryptionmode.dita index 617f603b2c0..2db5e060921 100644 --- a/dita/RTC/API/api_videosourcesetencryptionmode.dita +++ b/dita/RTC/API/api_videosourcesetencryptionmode.dita @@ -13,24 +13,28 @@

    - - - - videoSourceSetEncryptionMode(encryptionMode: string): number - - -

    + + + + videoSourceSetEncryptionMode(encryptionMode: string): number + + + +

    - -
    弃用:
    -
    该方法自 起废弃。请改用 方法。
    -
    + +
    弃用:
    +
    该方法自 起废弃。请改用 方法。
    +

    双实例方法。

    - 在调用本方法前,请先调用 启用内置加密功能。

    + 在调用本方法前,请先调用 + 启用内置加密功能。 +
    diff --git a/dita/RTC/API/api_videosourcesetencryptionsecret.dita b/dita/RTC/API/api_videosourcesetencryptionsecret.dita index d146ff2f295..b80a6876e69 100644 --- a/dita/RTC/API/api_videosourcesetencryptionsecret.dita +++ b/dita/RTC/API/api_videosourcesetencryptionsecret.dita @@ -13,20 +13,22 @@

    - - - - videoSourceSetEncryptionSecret(secret: string): number - - -

    + + + + videoSourceSetEncryptionSecret(secret: string): number + + + +

    - -
    弃用:
    -
    该方法自 起废弃。请改用 方法。
    -
    + +
    弃用:
    +
    该方法自 起废弃。请改用 方法。
    +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourcesetlogfile.dita b/dita/RTC/API/api_videosourcesetlogfile.dita index 6d6802824de..5b00a351f5b 100644 --- a/dita/RTC/API/api_videosourcesetlogfile.dita +++ b/dita/RTC/API/api_videosourcesetlogfile.dita @@ -14,27 +14,30 @@

    - - - - videoSourceSetLogFile(filePath: string): number - - -

    + + + + videoSourceSetLogFile(filePath: string): number + + + +

    - -
    弃用:
    -
    该方法已废弃,建议改用 设置日志文件。
    -
    + +
    弃用:
    +
    该方法已废弃,建议改用 设置日志文件。
    +

    双实例方法。

    -
      -
    • 如需调用本方法,请在初始化 videoSource 对象后立即调用,否则可能造成输出日志不完整。
    • -
    • videoSource 进程和主进程的默认日志文件路径相同,你需要修改文件路径,避免日志文件被覆盖。
    • -
    +
      +
    • 如需调用本方法,请在初始化 videoSource 对象后立即调用,否则可能造成输出日志不完整。
    • +
    • videoSource 进程和主进程的默认日志文件路径相同,你需要修改文件路径,避免日志文件被覆盖。
    • +
    + +
    diff --git a/dita/RTC/API/api_videosourcesetparameters.dita b/dita/RTC/API/api_videosourcesetparameters.dita index 3b16c49c760..8372b9977da 100644 --- a/dita/RTC/API/api_videosourcesetparameters.dita +++ b/dita/RTC/API/api_videosourcesetparameters.dita @@ -13,31 +13,33 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    参数 - - - - -
    + + + + + +
    返回值
    diff --git a/dita/RTC/API/api_videosourcesetpluginparameter.dita b/dita/RTC/API/api_videosourcesetpluginparameter.dita index 2a1c01d015e..76d59477fea 100644 --- a/dita/RTC/API/api_videosourcesetpluginparameter.dita +++ b/dita/RTC/API/api_videosourcesetpluginparameter.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceSetPluginParameter"/> - + @@ -13,18 +14,19 @@

    - - - - videoSourceSetPluginParameter(pluginId: string, parameter: string): number - - -

    + + + + videoSourceSetPluginParameter(pluginId: string, parameter: string): number + + + +

    双实例方法。

    -

    调用 获取到 Value 值后,你可以调用本方法将包含 Key 和 Value 值的 JSON - 字符串数据传递给 C++ 层。

    +

    调用 获取到 Value 值后,你可以调用本方法将包含 Key 和 + Value 值的 JSON 字符串数据传递给 C++ 层。

    diff --git a/dita/RTC/API/api_videosourcesetscreencapturecontenthint.dita b/dita/RTC/API/api_videosourcesetscreencapturecontenthint.dita index e82115044a1..42465c132df 100644 --- a/dita/RTC/API/api_videosourcesetscreencapturecontenthint.dita +++ b/dita/RTC/API/api_videosourcesetscreencapturecontenthint.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceSetScreenCaptureContentHint"/> - + @@ -13,18 +14,20 @@

    - - - - videoSourceSetScreenCaptureContentHint(contentHint: VideoContentHint): number - - -

    + + + + videoSourceSetScreenCaptureContentHint(contentHint: VideoContentHint): number + + + +

    双实例方法。

    -

    + +
    diff --git a/dita/RTC/API/api_videosourcesetvideoencoderconfiguration.dita b/dita/RTC/API/api_videosourcesetvideoencoderconfiguration.dita index 3eae4b78310..cf11a2e9b06 100644 --- a/dita/RTC/API/api_videosourcesetvideoencoderconfiguration.dita +++ b/dita/RTC/API/api_videosourcesetvideoencoderconfiguration.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceSetVideoEncoderConfiguration"/> - + @@ -13,13 +14,14 @@

    - - - - videoSourceSetVideoEncoderConfiguration(config: VideoEncoderConfiguration): number - - -

    + + + + videoSourceSetVideoEncoderConfiguration(config: VideoEncoderConfiguration): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourcesetvideoprofile.dita b/dita/RTC/API/api_videosourcesetvideoprofile.dita index e43fb2750ca..2e9e2340439 100644 --- a/dita/RTC/API/api_videosourcesetvideoprofile.dita +++ b/dita/RTC/API/api_videosourcesetvideoprofile.dita @@ -13,26 +13,29 @@

    - - - - videoSourceSetVideoProfile( + + + + videoSourceSetVideoProfile( profile: VIDEO_PROFILE_TYPE, swapWidthAndHeight: boolean = false ): number - - -

    + + + +

    - -
    弃用:
    -
    请改用 方法。
    -
    + +
    弃用:
    +
    请改用 方法。
    +

    双实例方法。

    - 请在 后调用该方法。
    + 请在 后调用该方法。 +
    diff --git a/dita/RTC/API/api_videosourcestartpreview.dita b/dita/RTC/API/api_videosourcestartpreview.dita index b0bea39e381..cbd9fc2bc22 100644 --- a/dita/RTC/API/api_videosourcestartpreview.dita +++ b/dita/RTC/API/api_videosourcestartpreview.dita @@ -13,26 +13,31 @@

    - - - - videoSourceStartPreview(): number - - -

    + + + + videoSourceStartPreview(): number + + + +

    双实例方法。

    该方法用于在进入频道前启动本地视频预览。调用该 API 前,必须:

      -
    • 调用 设置预览窗口及属性。
    • -
    • 调用 开启视频功能。
    • +
    • 调用 设置预览窗口及属性。
    • +
    • 调用 开启视频功能。
    -
      -
    • 本地预览默认开启镜像功能。
    • -
    • 启用了本地视频预览后,如果调用 退出频道,本地预览依然处于启动状态,如需要关闭本地预览,需要调用
    • -
    +
      +
    • 本地预览默认开启镜像功能。
    • +
    • 启用了本地视频预览后,如果调用 退出频道,本地预览依然处于启动状态,如需要关闭本地预览,需要调用
    • +
    + +
    diff --git a/dita/RTC/API/api_videosourcestartscreencapturebyscreen.dita b/dita/RTC/API/api_videosourcestartscreencapturebyscreen.dita index 0627e5abc44..9a6366a05aa 100644 --- a/dita/RTC/API/api_videosourcestartscreencapturebyscreen.dita +++ b/dita/RTC/API/api_videosourcestartscreencapturebyscreen.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceStartScreenCaptureByScreen"/> - + @@ -13,22 +14,24 @@

    - - - - videoSourceStartScreenCaptureByScreen( + + + + videoSourceStartScreenCaptureByScreen( screenSymbol: ScreenSymbol, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number - - -

    + + + +

    双实例方法。

    -

    + +
    diff --git a/dita/RTC/API/api_videosourcestartscreencapturebywindow.dita b/dita/RTC/API/api_videosourcestartscreencapturebywindow.dita index 4a697c0c1ce..f15031b70db 100644 --- a/dita/RTC/API/api_videosourcestartscreencapturebywindow.dita +++ b/dita/RTC/API/api_videosourcestartscreencapturebywindow.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceStartScreenCaptureByWindow"/> - + @@ -13,22 +14,24 @@

    - - - - videoSourceStartScreenCaptureByWindow( + + + + videoSourceStartScreenCaptureByWindow( windowId: number, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number - - -

    + + + +

    双实例方法。

    -

    + +
    diff --git a/dita/RTC/API/api_videosourcestoppreview.dita b/dita/RTC/API/api_videosourcestoppreview.dita index c71dd8f784a..a6a89c9d9b8 100644 --- a/dita/RTC/API/api_videosourcestoppreview.dita +++ b/dita/RTC/API/api_videosourcestoppreview.dita @@ -13,13 +13,14 @@

    - - - - videoSourceStopPreview(): number - - -

    + + + + videoSourceStopPreview(): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourcestopscreencapture.dita b/dita/RTC/API/api_videosourcestopscreencapture.dita index 4bd3d69d8c5..7ccb50e2810 100644 --- a/dita/RTC/API/api_videosourcestopscreencapture.dita +++ b/dita/RTC/API/api_videosourcestopscreencapture.dita @@ -13,13 +13,14 @@

    - - - - videoSourceStopScreenCapture(): number - - -

    + + + + videoSourceStopScreenCapture(): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourceunregisterplugin.dita b/dita/RTC/API/api_videosourceunregisterplugin.dita index f4a4ac9f8a6..c83e86d33ac 100644 --- a/dita/RTC/API/api_videosourceunregisterplugin.dita +++ b/dita/RTC/API/api_videosourceunregisterplugin.dita @@ -13,13 +13,14 @@

    - - - - videoSourceUnregisterPlugin(pluginId: string): number - - -

    + + + + videoSourceUnregisterPlugin(pluginId: string): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourceupdatescreencaptureparameters.dita b/dita/RTC/API/api_videosourceupdatescreencaptureparameters.dita index c00b5d1dd9c..c6bb744d779 100644 --- a/dita/RTC/API/api_videosourceupdatescreencaptureparameters.dita +++ b/dita/RTC/API/api_videosourceupdatescreencaptureparameters.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceUpdateScreenCaptureParameters"/> - + @@ -13,13 +14,14 @@

    - - - - videoSourceUpdateScreenCaptureParameters(captureParams: ScreenCaptureParameters): number - - -

    + + + + videoSourceUpdateScreenCaptureParameters(captureParams: ScreenCaptureParameters): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/api_videosourceupdatescreencaptureregion.dita b/dita/RTC/API/api_videosourceupdatescreencaptureregion.dita index 407ee1e8456..f2cd947200c 100644 --- a/dita/RTC/API/api_videosourceupdatescreencaptureregion.dita +++ b/dita/RTC/API/api_videosourceupdatescreencaptureregion.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceUpdateScreenCaptureRegion"/> - + @@ -13,13 +14,14 @@

    - - - - videoSourceUpdateScreenCaptureRegion(regionRect: Rectangle): number - - -

    + + + + videoSourceUpdateScreenCaptureRegion(regionRect: Rectangle): number + + + +

    双实例方法。

    diff --git a/dita/RTC/API/callback_airplayconnected.dita b/dita/RTC/API/callback_airplayconnected.dita index 36b9255a759..95d838dd862 100644 --- a/dita/RTC/API/callback_airplayconnected.dita +++ b/dita/RTC/API/callback_airplayconnected.dita @@ -2,7 +2,8 @@ <ph keyref="airplayConnected"/> - 音频路由切换为 Apple AirPlay 时触发(仅适用于 iOS 和 macOS)。 + 音频路由切换为 Apple AirPlay 时触发(仅适用于 iOS 和 + macOS)。 @@ -13,13 +14,14 @@

    - - - - - - - EmptyCallback? airPlayConnected;

    + + + + + + + EmptyCallback? airPlayConnected; +

    diff --git a/dita/RTC/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita b/dita/RTC/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita index f69308b0ab1..43800549297 100644 --- a/dita/RTC/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita +++ b/dita/RTC/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita @@ -13,38 +13,46 @@

    - - - virtual bool isMultipleChannelFrameWanted() { return false; } - - public virtual bool IsMultipleChannelFrameWanted() + + + virtual bool isMultipleChannelFrameWanted() { return false; } + + public virtual bool IsMultipleChannelFrameWanted() { return true; } - -

    + + +

    - -
    自从
    -
    v3.0.1
    -
    + +
    自从
    +
    v3.0.1
    +

    成功注册音频观测器后,SDK 会在捕捉到每个音频帧的时候触发该回调。

    -

    在多频道场景下,如果你希望从多个频道获取音频数据,则需要将该回调的返回值设为 。 成功设置后,SDK 会触发 - 回调,向你发送接收的混音前的音频帧,并报告该音频帧来自哪个频道。

    +

    在多频道场景下,如果你希望从多个频道获取音频数据,则需要将该回调的返回值设为 。 成功设置后,SDK 会触发 + 回调,向你发送接收的混音前的音频帧,并报告该音频帧来自哪个频道。

    -
      -
    • 一旦你将该回调的返回值设为 ,则 SDK 只触发 来返回接收到的混音前的音频数据。 - 将不会被触发。在多频道场景下,我们建议你将该回调的返回值设为
    • -
    • 如果你将该回调的返回值设为 ,则 SDK 只触发 来返回接收到的音频数据。
    • -
    +
      +
    • 一旦你将该回调的返回值设为 ,则 SDK 只触发 来返回接收到的混音前的音频数据。 + 将不会被触发。在多频道场景下,我们建议你将该回调的返回值设为
    • +
    • 如果你将该回调的返回值设为 ,则 SDK 只触发 来返回接收到的音频数据。
    • +
    + +
    返回值
      -
    • : 获取多个频道的音频帧。
    • -
    • : 不获取多个频道的音频帧。
    • -
    +
  • : 获取多个频道的音频帧。
  • +
  • : 不获取多个频道的音频帧。
  • + +
    diff --git a/dita/RTC/API/callback_iaudioframeobserver_onframe.dita b/dita/RTC/API/callback_iaudioframeobserver_onframe.dita index 6d39d1c155f..0bf2a2ef27c 100644 --- a/dita/RTC/API/callback_iaudioframeobserver_onframe.dita +++ b/dita/RTC/API/callback_iaudioframeobserver_onframe.dita @@ -13,18 +13,20 @@

    - public virtual bool OnFrame(AudioPcmFrame videoFrame, int mediaPlayerId) + public virtual bool OnFrame(AudioPcmFrame videoFrame, int mediaPlayerId) { return true; - }

    + } +

    - AudioFrame onFrame(AudioFrame frame); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + AudioFrame onFrame(AudioFrame frame); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveAudioFrame:(CMSampleBufferRef _Nonnull)audioFrame; - virtual void onFrame(AudioPcmFrame* frame) = 0; - - -

    + virtual void onFrame(AudioPcmFrame* frame) = 0; + + + +

    注册音频数据观测器后,每次接收到一帧音频帧时,都会触发该回调,报告音频帧信息。

    @@ -33,27 +35,29 @@ <ph keyref="callback-section-title"/>

    - - audioFrame - 音频帧信息(CMSampleBufferRef)。 - - - frame - videoFrame - 音频帧信息,详见 - - - playerKit - 详见 - - - mediaPlayerId - 播放器 ID。 - -

    + + audioFrame + 音频帧信息(CMSampleBufferRef)。 + + + frame + videoFrame + 音频帧信息,详见 + + + playerKit + 详见 + + + mediaPlayerId + 播放器 ID。 + + +
    返回值 -

    根据你在 中设置的 mode 使用音频数据后,在此返回值中传入该音频数据。

    +

    根据你在 中设置的 + mode 使用音频数据后,在此返回值中传入该音频数据。

    diff --git a/dita/RTC/API/callback_iaudioframeobserver_onmixedaudioframe.dita b/dita/RTC/API/callback_iaudioframeobserver_onmixedaudioframe.dita index de475d0fa33..6340e76f60d 100644 --- a/dita/RTC/API/callback_iaudioframeobserver_onmixedaudioframe.dita +++ b/dita/RTC/API/callback_iaudioframeobserver_onmixedaudioframe.dita @@ -13,90 +13,89 @@

    - public virtual bool OnMixedAudioFrame(AudioFrame audio_frame) + public virtual bool OnMixedAudioFrame(AudioFrame audio_frame) { return true; }

    - public virtual bool OnMixedAudioFrame(AudioFrame audioFrame) + public virtual bool OnMixedAudioFrame(AudioFrame audioFrame) { return true; }

    - public abstract boolean onMixedAudioFrame(int type, int samplesPerChannel, int bytesPerSample, + public abstract boolean onMixedAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onMixedAudioFrame:(AgoraAudioFrame* _Nonnull)frame; - virtual bool onMixedAudioFrame(AudioFrame& audioFrame) = 0; - - -

    + - (BOOL)onMixedAudioFrame:(AgoraAudioFrame* _Nonnull)frame; + virtual bool onMixedAudioFrame(AudioFrame& audioFrame) = 0; + + + +

    - 该方法仅返回单通道数据。

    + 该方法仅返回单通道数据。 +

    参数 - - audioFrame - audioFrameaudio_frame - frame - 音频原始数据。详见 - + + audioFrame + audioFrameaudio_frame + frame + 音频原始数据。详见 + - - type - 音频数据的类型。 - - - samplesPerChannel - 每声道的采样点数。 - - - bytesPerSample - 每个采样点的字节数(byte)。对于 PCM 音频数据,一般是两个字节。 - - - channels - -

    声道数: - - - -

      -
    • 1:单声道。
    • -
    • 2:双声道。双声道的音频数据是交叉存储的。
    • -

    -
    -
    - - samplesPerSec - 音频采样率(Hz)。 - - - buffer - 音频 buffer。buffer 大小为 samplesPerChannel x channels x bytesPerSample。 + + type + 音频数据的类型。 + + + samplesPerChannel + 每声道的采样点数。 + + + bytesPerSample + 每个采样点的字节数(byte)。对于 PCM 音频数据,一般是两个字节。 + + + channels + +

    声道数:

      +
    • 1:单声道。
    • +
    • 2:双声道。双声道的音频数据是交叉存储的。
    • +

    -
    - - renderTimeMs - 外部音频帧的渲染时间戳(毫秒)。你可以使用该时间戳还原音频帧的顺序。在音视频场景下(包含使用外部视频源的场景),该时间戳可以用于实现音频和视频的同步。 + + + samplesPerSec + 音频采样率(Hz)。 + + + buffer + 音频 buffer。buffer 大小为 samplesPerChannel x channels x bytesPerSample。 + + + renderTimeMs + 外部音频帧的渲染时间戳(毫秒)。你可以使用该时间戳还原音频帧的顺序。在音视频场景下(包含使用外部视频源的场景),该时间戳可以用于实现音频和视频的同步。 - - - avsync_type - 预留参数。 - - -
    + + + avsync_type + 预留参数。 + + +
    返回值
      -
    • : 音频帧数据有效,数据会被发送。
    • -
    • : 音频帧数据无效,数据会被舍弃。
    • -
    +
  • : 音频帧数据有效,数据会被发送。
  • +
  • : 音频帧数据无效,数据会被舍弃。
  • + +
    diff --git a/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframe.dita b/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframe.dita index ea7cfdd3b37..749490dab1d 100644 --- a/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframe.dita +++ b/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframe.dita @@ -13,23 +13,24 @@

    - public virtual bool OnPlaybackAudioFrame(AudioFrame audio_frame) + public virtual bool OnPlaybackAudioFrame(AudioFrame audio_frame) { return true; }

    - public abstract boolean onPlaybackAudioFrame(int type, int samplesPerChannel, int bytesPerSample, + public abstract boolean onPlaybackAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onPlaybackAudioFrame:(AgoraAudioFrame* _Nonnull)frame; - virtual bool onPlaybackAudioFrame(AudioFrame& audioFrame) = 0; - public virtual bool OnPlaybackAudioFrame(AudioFrame audioFrame) + - (BOOL)onPlaybackAudioFrame:(AgoraAudioFrame* _Nonnull)frame; + virtual bool onPlaybackAudioFrame(AudioFrame& audioFrame) = 0; + public virtual bool OnPlaybackAudioFrame(AudioFrame audioFrame) { return true; } - - -

    + + + +

    diff --git a/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita b/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita index 83b87ecd649..9f3ad6fefaa 100644 --- a/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita +++ b/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita @@ -13,80 +13,84 @@

    - @CalledByNative + @CalledByNative public abstract boolean onPlaybackAudioFrameBeforeMixing(int userId, int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - virtual bool onPlaybackAudioFrameBeforeMixing(rtc::uid_t uid, AudioFrame& audioFrame) = 0; - public virtual bool OnPlaybackAudioFrameBeforeMixing(uint uid, AudioFrame audio_frame) + virtual bool onPlaybackAudioFrameBeforeMixing(rtc::uid_t uid, AudioFrame& audioFrame) = 0; + public virtual bool OnPlaybackAudioFrameBeforeMixing(uint uid, AudioFrame audio_frame) { return true; }

    - - (BOOL)onPlaybackAudioFrameBeforeMixing:(AgoraAudioFrame* _Nonnull)frame uid:(NSUInteger)uid; - - -

    + - (BOOL)onPlaybackAudioFrameBeforeMixing:(AgoraAudioFrame* _Nonnull)frame uid:(NSUInteger)uid; + + + +

    - public abstract boolean onPlaybackAudioFrameBeforeMixing(String userId, int type, + public abstract boolean onPlaybackAudioFrameBeforeMixing(String userId, int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - public virtual bool OnPlaybackAudioFrameBeforeMixing(uint uid, AudioFrame audioFrame) + public virtual bool OnPlaybackAudioFrameBeforeMixing(uint uid, AudioFrame audioFrame) { return true; } - virtual bool onPlaybackAudioFrameBeforeMixing(unsigned int uid, AudioFrame& audioFrame) = 0;

    + virtual bool onPlaybackAudioFrameBeforeMixing(unsigned int uid, AudioFrame& audioFrame) = 0; +

    参数 - - uid - userId - 指定用户的用户 ID。 - - - audioFrame - audio_frameaudioFrame - frame - 音频原始数据。详见 - + + uid + userId + 指定用户的用户 ID。 + + + audioFrame + audio_frameaudioFrame + frame + 音频原始数据。详见 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita b/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita index 9d7a349b8c6..ec871318f15 100644 --- a/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita +++ b/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita @@ -13,46 +13,49 @@

    - - - virtual bool onPlaybackAudioFrameBeforeMixingEx(const char *channelId, + + + virtual bool onPlaybackAudioFrameBeforeMixingEx(const char *channelId, unsigned int uid, AudioFrame& audioFrame) { return true; } - - public virtual bool OnPlaybackAudioFrameBeforeMixingEx(string channelId, uint uid, AudioFrame audioFrame) + + public virtual bool OnPlaybackAudioFrameBeforeMixingEx(string channelId, uint uid, AudioFrame audioFrame) { return true; } - -

    + + +

    成功注册音频观测器后,如果你将 - 的返回值设为 ,则 SDK 会在捕捉到各频道内混音前的音频数据时,触发该回调,将音频数据发送给你。

    + 的返回值设为 ,则 SDK 会在捕捉到各频道内混音前的音频数据时,触发该回调,将音频数据发送给你。

    参数 - - channelId - 该音频帧所在的频道名。 - - - uid - 发送该音频帧的用户 ID。 - - - audioFrame - 音频原始数据。详见 - -
    + + channelId + 该音频帧所在的频道名。 + + + uid + 发送该音频帧的用户 ID。 + + + audioFrame + 音频原始数据。详见 + + +
    返回值
      -
    • : AudioFrame 中 buffer - 数据有效,数据会被发送。
    • -
    • : AudioFrame 中 buffer - 数据无效,数据会被舍弃。
    • -
    +
  • : AudioFrame 中 buffer 数据有效,数据会被发送。
  • +
  • : AudioFrame 中 buffer 数据无效,数据会被舍弃。
  • + +
    diff --git a/dita/RTC/API/callback_iaudioframeobserver_onrecordaudioframe.dita b/dita/RTC/API/callback_iaudioframeobserver_onrecordaudioframe.dita index 25763fda0c5..1b6855e9f19 100644 --- a/dita/RTC/API/callback_iaudioframeobserver_onrecordaudioframe.dita +++ b/dita/RTC/API/callback_iaudioframeobserver_onrecordaudioframe.dita @@ -13,24 +13,25 @@

    - public virtual bool OnRecordAudioFrame(AudioFrame audioFrame) + public virtual bool OnRecordAudioFrame(AudioFrame audioFrame) { return true; }

    - public abstract boolean onRecordAudioFrame(int type, int samplesPerChannel, int bytesPerSample, + public abstract boolean onRecordAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onRecordAudioFrame:(AgoraAudioFrame* _Nonnull)frame; + - (BOOL)onRecordAudioFrame:(AgoraAudioFrame* _Nonnull)frame; - virtual bool onRecordAudioFrame(AudioFrame& audioFrame) = 0; - public virtual bool OnRecordAudioFrame(AudioFrame audioFrame) + virtual bool onRecordAudioFrame(AudioFrame& audioFrame) = 0; + public virtual bool OnRecordAudioFrame(AudioFrame audioFrame) { return true; } - - -

    + + + +

    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onactivespeaker.dita b/dita/RTC/API/callback_ichanneleventhandler_onactivespeaker.dita index 6ddacd61815..3cadfe001ea 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onactivespeaker.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onactivespeaker.dita @@ -13,34 +13,36 @@

    - - - virtual void onActiveSpeaker(IChannel *rtcChannel, + + + virtual void onActiveSpeaker(IChannel *rtcChannel, uid_t uid) { (void)rtcChannel; (void)uid; } - on( + on( evt: ChannelEvents.ACTIVE_SPEAKER, cb: (channelId: string, uid: number) => void ): this; - public virtual void OnActiveSpeaker(string channelId, uint uid) - - UidCallback? activeSpeaker;

    + public virtual void OnActiveSpeaker(string channelId, uint uid) + + UidCallback? activeSpeaker; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - -

    + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onaudiopublishstatechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onaudiopublishstatechanged.dita index 5f7493ace5c..04985c6d8b3 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onaudiopublishstatechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onaudiopublishstatechanged.dita @@ -13,9 +13,9 @@

    - - - virtual void onAudioPublishStateChanged(IChannel *rtcChannel, + + + virtual void onAudioPublishStateChanged(IChannel *rtcChannel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { @@ -24,7 +24,7 @@ (void)newState; (void)elapseSinceLastState; } - on( + on( evt: ChannelEvents.AUDIO_PUBLISH_STATE_CHANGED, cb: ( channelId: string, @@ -33,35 +33,34 @@ elapseSinceLastState: number ) => void ): this; - public virtual void OnAudioPublishStateChanged(string channelId, STREAM_PUBLISH_STATE oldState, + public virtual void OnAudioPublishStateChanged(string channelId, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) - - StreamPublishStateCallback? audioPublishStateChanged; + + StreamPublishStateCallback? audioPublishStateChanged;

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onaudiosubscribestatechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onaudiosubscribestatechanged.dita index e5028f590ac..a3bd9d589a6 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onaudiosubscribestatechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onaudiosubscribestatechanged.dita @@ -13,9 +13,9 @@

    - - - virtual void onAudioSubscribeStateChanged(IChannel *rtcChannel, + + + virtual void onAudioSubscribeStateChanged(IChannel *rtcChannel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, TREAM_SUBSCRIBE_STATE newState, @@ -26,7 +26,7 @@ (void)newState; (void)elapseSinceLastState; } - on( + on( evt: ChannelEvents.AUDIO_SUBSCRIBE_STATE_CHANGED, cb: ( channelId: string, @@ -36,40 +36,38 @@ elapseSinceLastState: number ) => void ): this; - public virtual void OnAudioSubscribeStateChanged(string channelId, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnAudioSubscribeStateChanged(string channelId, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - - StreamSubscribeStateCallback? audioSubscribeStateChanged; + + StreamSubscribeStateCallback? audioSubscribeStateChanged;

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onchannelerror.dita b/dita/RTC/API/callback_ichanneleventhandler_onchannelerror.dita index fa19940e104..f714f4b2378 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onchannelerror.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onchannelerror.dita @@ -13,39 +13,41 @@

    - - - virtual void onChannelError(IChannel *rtcChannel, + + + virtual void onChannelError(IChannel *rtcChannel, int err, const char* msg) { (void)rtcChannel; (void)err; (void)msg; } - on( + on( evt: ChannelEvents.CHANNEL_ERROR, cb: (channelId: string, err: number, msg: string) => void ): this; - public virtual void OnChannelError(string channelId, int err, string msg) - - ErrorCallback? error;

    + public virtual void OnChannelError(string channelId, int err, string msg) + + ErrorCallback? error; +

    <ph keyref="callback-section-title"/>

    - - - - - - err - 错误码,详见错误码和警告码 - - - msg - 错误信息 - -

    + + + + + + err + 错误码,详见错误码和警告码 + + + msg + 错误信息 + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelayevent.dita b/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelayevent.dita index ada25b94914..ce046e2bcde 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelayevent.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelayevent.dita @@ -13,32 +13,34 @@

    - - - virtual void onChannelMediaRelayEvent(IChannel *rtcChannel, CHANNEL_MEDIA_RELAY_EVENT code) { + + + virtual void onChannelMediaRelayEvent(IChannel *rtcChannel, CHANNEL_MEDIA_RELAY_EVENT code) { (void)rtcChannel; (void)code; } - on( + on( evt: ChannelEvents.CHANNEL_MEDIA_RELAY_EVENT, cb: (channelId: string, code: CHANNEL_MEDIA_RELAY_EVENT) => void ): this; - public virtual void OnChannelMediaRelayEvent(string channelId, CHANNEL_MEDIA_RELAY_EVENT code) - - MediaRelayEventCallback? channelMediaRelayEvent;

    + public virtual void OnChannelMediaRelayEvent(string channelId, CHANNEL_MEDIA_RELAY_EVENT code) + + MediaRelayEventCallback? channelMediaRelayEvent; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - -

    + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelaystatechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelaystatechanged.dita index 1453577a215..679e18c8611 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelaystatechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelaystatechanged.dita @@ -13,16 +13,16 @@

    - - - virtual void onChannelMediaRelayStateChanged(IChannel *rtcChannel, + + + virtual void onChannelMediaRelayStateChanged(IChannel *rtcChannel, CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code) { (void)rtcChannel; (void)state; (void)code; } - on( + on( evt: ChannelEvents.CHANNEL_MEDIA_RELAY_STATE_CHANGED, cb: ( channelId: string, @@ -30,28 +30,30 @@ code: CHANNEL_MEDIA_RELAY_ERROR ) => void ): this; - public virtual void OnChannelMediaRelayStateChanged(string channelId, CHANNEL_MEDIA_RELAY_STATE state, + public virtual void OnChannelMediaRelayStateChanged(string channelId, CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code) - - MediaRelayStateCallback? channelMediaRelayStateChanged;

    + + MediaRelayStateCallback? channelMediaRelayStateChanged; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - - - - - -

    + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onchannelwarning.dita b/dita/RTC/API/callback_ichanneleventhandler_onchannelwarning.dita index c7cb58b681b..61fda3672b7 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onchannelwarning.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onchannelwarning.dita @@ -13,39 +13,41 @@

    - - - virtual void onChannelWarning(IChannel *rtcChannel, + + + virtual void onChannelWarning(IChannel *rtcChannel, int warn, const char* msg) { (void)rtcChannel; (void)warn; (void)msg; } - on( + on( evt: ChannelEvents.CHANNEL_WARNING, cb: (channelId: string, warn: number, msg: string) => void ): this; - public virtual void OnChannelWarning(string channelId, int warn, string msg) - - WarningCallback? warning;

    + public virtual void OnChannelWarning(string channelId, int warn, string msg) + + WarningCallback? warning; +

    <ph keyref="callback-section-title"/>

    - - - - - - warn - 警告码,详见错误码和警告码 - - - msg - 警告信息 - -

    + + + + + + warn + 警告码,详见错误码和警告码 + + + msg + 警告信息 + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onclientrolechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onclientrolechanged.dita index c1dab8b70eb..5970097de36 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onclientrolechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onclientrolechanged.dita @@ -13,16 +13,16 @@

    - - - virtual void onClientRoleChanged(IChannel *rtcChannel, + + + virtual void onClientRoleChanged(IChannel *rtcChannel, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) { (void)rtcChannel; (void)oldRole; (void)newRole; } - on( + on( evt: ChannelEvents.CLIENT_ROLE_CHANGED, cb: ( channelId: string, @@ -30,29 +30,32 @@ newRole: CLIENT_ROLE_TYPE ) => void ): this; - public virtual void OnClientRoleChanged(string channelId, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) - - ClientRoleCallback? clientRoleChanged;

    + public virtual void OnClientRoleChanged(string channelId, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) + + ClientRoleCallback? clientRoleChanged; +

    -

    直播场景下,本地用户加入频道后调用 成功改变用户角色时,例如主播切换为观众,或观众切换为主播,SDK 会触发该回调,报告切换前和切换后的角色。

    +

    直播场景下,本地用户加入频道后调用 + 成功改变用户角色时,例如主播切换为观众,或观众切换为主播,SDK 会触发该回调,报告切换前和切换后的角色。

    <ph keyref="callback-section-title"/>

    - - - - - - - - - - - - -

    + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onclientrolechangefailed.dita b/dita/RTC/API/callback_ichanneleventhandler_onclientrolechangefailed.dita index 8e4ad9eb8f7..fe7464464c0 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onclientrolechangefailed.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onclientrolechangefailed.dita @@ -2,42 +2,43 @@ - <ph keyref="IChannel_onClientRoleChangeFailed" /> + <ph keyref="IChannel_onClientRoleChangeFailed"/> - + - +

    - +

    -

    直播场景下,本地用户加入频道后调用 切换用户角色失败时,SDK 会触发该回调,报告切换失败的原因和当前的用户角色。

    +

    直播场景下,本地用户加入频道后调用 切换用户角色失败时,SDK + 会触发该回调,报告切换失败的原因和当前的用户角色。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> -

    +

    - - + + - - + + - - + +

    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onconnectionlost.dita b/dita/RTC/API/callback_ichanneleventhandler_onconnectionlost.dita index 68f1e01288e..8c389415923 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onconnectionlost.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onconnectionlost.dita @@ -13,15 +13,16 @@

    - - - virtual void onConnectionLost(IChannel *rtcChannel) { + + + virtual void onConnectionLost(IChannel *rtcChannel) { (void)rtcChannel; } - on(evt: ChannelEvents.CONNECTION_LOST, cb: (channelId: string) => void): this; - public virtual void OnConnectionLost(string channelId) - - EmptyCallback? connectionLost;

    + on(evt: ChannelEvents.CONNECTION_LOST, cb: (channelId: string) => void): this; + public virtual void OnConnectionLost(string channelId) + + EmptyCallback? connectionLost; +

    SDK 在调用 后无论是否加入成功,只要 10 秒和服务器无法连接就会触发该回调。

    @@ -30,10 +31,11 @@ <ph keyref="callback-section-title"/>

    - - - - -

    + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onconnectionstatechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onconnectionstatechanged.dita index e9289ef7388..8f41a987783 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onconnectionstatechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onconnectionstatechanged.dita @@ -13,16 +13,16 @@

    - - - virtual void onConnectionStateChanged(IChannel *rtcChannel, + + + virtual void onConnectionStateChanged(IChannel *rtcChannel, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { (void)rtcChannel; (void)state; (void)reason; } - on( + on( evt: ChannelEvents.CONNECTION_STATE_CHANGED, cb: ( channelId: string, @@ -30,10 +30,11 @@ reason: CONNECTION_CHANGED_REASON_TYPE ) => void ): this; - public virtual void OnConnectionStateChanged(string channelId, CONNECTION_STATE_TYPE state, + public virtual void OnConnectionStateChanged(string channelId, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) - - ConnectionStateCallback? connectionStateChanged;

    + + ConnectionStateCallback? connectionStateChanged; +

    @@ -42,18 +43,19 @@ <ph keyref="callback-section-title"/>

    - - - - - - - - - - - - -

    + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onfirstremotevideoframe.dita b/dita/RTC/API/callback_ichanneleventhandler_onfirstremotevideoframe.dita index 77cf1d2338c..8099eabee17 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onfirstremotevideoframe.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onfirstremotevideoframe.dita @@ -13,42 +13,41 @@

    - - - OnFirstRemoteVideoFrame? firstRemoteVideoFrame; + + + OnFirstRemoteVideoFrame? firstRemoteVideoFrame;

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onjoinchannelsuccess.dita b/dita/RTC/API/callback_ichanneleventhandler_onjoinchannelsuccess.dita index eb843f71db4..5952f240dd9 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onjoinchannelsuccess.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onjoinchannelsuccess.dita @@ -13,22 +13,23 @@

    - - - virtual void onJoinChannelSuccess(IChannel *rtcChannel, + + + virtual void onJoinChannelSuccess(IChannel *rtcChannel, uid_t uid, int elapsed) { (void)rtcChannel; (void)uid; (void)elapsed; } - on( + on( evt: ChannelEvents.JOIN_CHANNEL_SUCCESS, cb: (channelId: string, uid: number, elapsed: number) => void ): this; - public virtual void OnJoinChannelSuccess(string channelId, uint uid, int elapsed) - - UidWithElapsedAndChannelCallback? joinChannelSuccess;

    + public virtual void OnJoinChannelSuccess(string channelId, uint uid, int elapsed) + + UidWithElapsedAndChannelCallback? joinChannelSuccess; +

    @@ -37,21 +38,22 @@ <ph keyref="callback-section-title"/>

    - - rtcChannel - channelId - - 频道 ID。 - - - uid - 用户 ID。如果 中指定了用户 ID,则此处返回该 ID;否则使用声网服务器自动分配的 - ID。 - - - elapsed - 开始到发生此事件过去的时间(毫秒)。 - -

    + + rtcChannel + channelId + + 频道 ID。 + + + uid + 用户 ID。如果 中指定了用户 ID,则此处返回该 + ID;否则使用声网服务器自动分配的 ID。 + + + elapsed + 开始到发生此事件过去的时间(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onleavechannel.dita b/dita/RTC/API/callback_ichanneleventhandler_onleavechannel.dita index 705d475b07c..5d23b5d2c4c 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onleavechannel.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onleavechannel.dita @@ -13,36 +13,38 @@

    - - - virtual void onLeaveChannel(IChannel *rtcChannel, const RtcStats& stats) { + + + virtual void onLeaveChannel(IChannel *rtcChannel, const RtcStats& stats) { (void)rtcChannel; (void)stats; } - on( + on( evt: ChannelEvents.LEAVE_CHANNEL, cb: (channelId: string, stats: RtcStats) => void ): this; - public virtual void OnLeaveChannel(string channelId, RtcStats stats) - - RtcStatsCallback? leaveChannel;

    + public virtual void OnLeaveChannel(string channelId, RtcStats stats) + + RtcStatsCallback? leaveChannel; +

    -

    调用 方法离开频道后,SDK 会出发该回调提示 app 用户已成功离开频道。在该回调中,app - 可以得到此次通话的总通话时长、SDK 收发数据的流量等信息。

    +

    调用 方法离开频道后,SDK 会出发该回调提示 app + 用户已成功离开频道。在该回调中,app 可以得到此次通话的总通话时长、SDK 收发数据的流量等信息。

    <ph keyref="callback-section-title"/>

    - - - - - - - - -

    + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onlocalpublishfallbacktoaudioonly.dita b/dita/RTC/API/callback_ichanneleventhandler_onlocalpublishfallbacktoaudioonly.dita index 812ab66ce13..632093cadeb 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onlocalpublishfallbacktoaudioonly.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onlocalpublishfallbacktoaudioonly.dita @@ -13,30 +13,32 @@

    - - - virtual void onLocalPublishFallbackToAudioOnly(IChannel *rtcChannel, bool isFallbackOrRecover) { + + + virtual void onLocalPublishFallbackToAudioOnly(IChannel *rtcChannel, bool isFallbackOrRecover) { (void)rtcChannel; (void)isFallbackOrRecover; } - - public virtual void OnLocalPublishFallbackToAudioOnly(string channelId, bool isFallbackOrRecover) - - FallbackCallback? localPublishFallbackToAudioOnly;

    + + public virtual void OnLocalPublishFallbackToAudioOnly(string channelId, bool isFallbackOrRecover) + + FallbackCallback? localPublishFallbackToAudioOnly; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - -

    + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onmetadatareceived.dita b/dita/RTC/API/callback_ichanneleventhandler_onmetadatareceived.dita index 0046eb038a2..33f18850cba 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onmetadatareceived.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onmetadatareceived.dita @@ -13,24 +13,26 @@

    - - - - on( + + + + on( evt: ChannelEvents.METADATA_RECEIVED, cb: (metadata: Metadata) => void ): this; - public virtual void OnMetadataReceived(Metadata metadata) - - MetadataCallback? metadataReceived;

    + public virtual void OnMetadataReceived(Metadata metadata) + + MetadataCallback? metadataReceived; +

    参数 - - metadata - 接收到的媒体附属信息。详见 - -
    + + metadata + 接收到的媒体附属信息。详见 + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onnetworkquality.dita b/dita/RTC/API/callback_ichanneleventhandler_onnetworkquality.dita index bc99612a9a4..52d839acb33 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onnetworkquality.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onnetworkquality.dita @@ -13,9 +13,9 @@

    - - - virtual void onNetworkQuality(IChannel *rtcChannel, + + + virtual void onNetworkQuality(IChannel *rtcChannel, uid_t uid, int txQuality, int rxQuality) { @@ -24,7 +24,7 @@ (void)txQuality; (void)rxQuality; } - on( + on( evt: ChannelEvents.NETWORK_QUALITY, cb: ( channelId: string, @@ -33,34 +33,33 @@ rxquality: QUALITY_TYPE ) => void ): this; - public virtual void OnNetworkQuality(string channelId, uint uid, int txQuality, int rxQuality) - - NetworkQualityWithUidCallback? networkQuality; + public virtual void OnNetworkQuality(string channelId, uint uid, int txQuality, int rxQuality) + + NetworkQualityWithUidCallback? networkQuality;

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onproxyconnected.dita b/dita/RTC/API/callback_ichanneleventhandler_onproxyconnected.dita index 28a0fb7cb51..e5ff6669fa7 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onproxyconnected.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onproxyconnected.dita @@ -13,45 +13,51 @@

    - - - virtual void onProxyConnected(IChannel* rtcChannel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) { + + + virtual void onProxyConnected(IChannel* rtcChannel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) { (void)rtcChannel; (void)uid; (void)proxyType; (void)localProxyIp; (void)elapsed; } - public virtual void OnProxyConnected(string channelId, uint uid, PROXY_TYPE proxyType, string localProxyIp, int elapsed)

    + public virtual void OnProxyConnected(string channelId, uint uid, PROXY_TYPE proxyType, string localProxyIp, int elapsed) +

    -

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 设置云代理或本地代理并成功加入频道后, SDK 会触发该回调报告用户 ID、连接的代理类型和从调用 到触发该回调经过的时间等。

    -

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 设置代理并成功加入频道后, SDK 会触发该回调报告用户 ID、连接的代理类型和从调用 到触发该回调经过的时间等。

    +

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 设置云代理或本地代理并成功加入频道后, SDK 会触发该回调报告用户 ID、连接的代理类型和从调用 + 到触发该回调经过的时间等。

    +

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 + 设置代理并成功加入频道后, SDK 会触发该回调报告用户 ID、连接的代理类型和从调用 + 到触发该回调经过的时间等。

    <ph keyref="callback-section-title"/>

    - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onreadytosendmetadata.dita b/dita/RTC/API/callback_ichanneleventhandler_onreadytosendmetadata.dita index 3ce959f734c..e8f87a43c5f 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onreadytosendmetadata.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onreadytosendmetadata.dita @@ -13,31 +13,34 @@

    - - - - on( + + + + on( evt: ChannelEvents.READY_TO_SEND_METADATA, cb: (metadata: Metadata) => void ): this; - public virtual bool OnReadyToSendMetadata(Metadata metadata) + public virtual bool OnReadyToSendMetadata(Metadata metadata) { return true; } - -

    + + +

    -

    当 SDK 准备好发送 时,会触发该回调。收到该回调后,你可以调用 发送媒体附属信息。

    +

    当 SDK 准备好发送 时,会触发该回调。收到该回调后,你可以调用 发送媒体附属信息。

    参数 - - metadata - 媒体附属信息。详见 - -
    + + metadata + 媒体附属信息。详见 + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onrejoinchannelsuccess.dita b/dita/RTC/API/callback_ichanneleventhandler_onrejoinchannelsuccess.dita index 3f0f11d6e5f..457b346d432 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onrejoinchannelsuccess.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onrejoinchannelsuccess.dita @@ -13,40 +13,42 @@

    - - - virtual void onRejoinChannelSuccess(IChannel *rtcChannel, + + + virtual void onRejoinChannelSuccess(IChannel *rtcChannel, uid_t uid, int elapsed) { (void)rtcChannel; (void)uid; (void)elapsed; } - on( + on( evt: ChannelEvents.REJOIN_CHANNEL_SUCCESS, cb: (channelId: string, uid: number, elapsed: number) => void ): this; - public virtual void OnRejoinChannelSuccess(string channelId, uint uid, int elapsed) - - UidWithElapsedAndChannelCallback? rejoinChannelSuccess;

    + public virtual void OnRejoinChannelSuccess(string channelId, uint uid, int elapsed) + + UidWithElapsedAndChannelCallback? rejoinChannelSuccess; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - - - - - -

    + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostatechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostatechanged.dita index e59b2909bf8..43463c82fd4 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostatechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostatechanged.dita @@ -13,9 +13,9 @@

    - - - virtual void onRemoteAudioStateChanged(IChannel *rtcChannel, + + + virtual void onRemoteAudioStateChanged(IChannel *rtcChannel, uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, @@ -26,7 +26,7 @@ (void)reason; (void)elapsed; } - on( + on( evt: ChannelEvents.REMOTE_AUDIO_STATE_CHANGED, cb: ( channelId: string, @@ -36,40 +36,38 @@ elapsed: number ) => void ): this; - public virtual void OnRemoteAudioStateChanged(string channelId, uint uid, REMOTE_AUDIO_STATE state, + public virtual void OnRemoteAudioStateChanged(string channelId, uint uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) - - RemoteAudioStateCallback? remoteAudioStateChanged; + + RemoteAudioStateCallback? remoteAudioStateChanged;

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - - - - - - - - - - - - - elapsed - 从本地用户调用 方法到发生本事件经历的时间,单位为 ms。 - -

    + + + + + + + + + + + + + + + + + + elapsed + 从本地用户调用 方法到发生本事件经历的时间,单位为 ms。 + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostats.dita b/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostats.dita index 8fc9edc957a..7c935ffa9de 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostats.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostats.dita @@ -13,33 +13,35 @@

    - - - virtual void onRemoteAudioStats(IChannel *rtcChannel, const RemoteAudioStats& stats) { + + + virtual void onRemoteAudioStats(IChannel *rtcChannel, const RemoteAudioStats& stats) { (void)rtcChannel; (void)stats; } - on( + on( evt: ChannelEvents.REMOTE_AUDIO_STATS, cb: (channelId: string, stats: RemoteAudioStats) => void ): this; - public virtual void OnRemoteAudioStats(string channelId, RemoteAudioStats stats) - - RemoteAudioStatsCallback? remoteAudioStats;

    + public virtual void OnRemoteAudioStats(string channelId, RemoteAudioStats stats) + + RemoteAudioStatsCallback? remoteAudioStats; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - -

    + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onremotesubscribefallbacktoaudioonly.dita b/dita/RTC/API/callback_ichanneleventhandler_onremotesubscribefallbacktoaudioonly.dita index a8fdfe44531..7d0b8ca39c6 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onremotesubscribefallbacktoaudioonly.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onremotesubscribefallbacktoaudioonly.dita @@ -13,40 +13,42 @@

    - - - virtual void onRemoteSubscribeFallbackToAudioOnly(IChannel *rtcChannel, + + + virtual void onRemoteSubscribeFallbackToAudioOnly(IChannel *rtcChannel, uid_t uid, bool isFallbackOrRecover) { (void)rtcChannel; (void)uid; (void)isFallbackOrRecover; } - on( + on( evt: ChannelEvents.REMOTE_SUBSCRIBE_FALLBACK_TO_AUDIO_ONLY, cb: (channelId: string, uid: number, isFallbackOrRecover: boolean) => void ): this; - public virtual void OnRemoteSubscribeFallbackToAudioOnly(string channelId, uint uid, bool isFallbackOrRecover) - - FallbackWithUidCallback? remoteSubscribeFallbackToAudioOnly;

    + public virtual void OnRemoteSubscribeFallbackToAudioOnly(string channelId, uint uid, bool isFallbackOrRecover) + + FallbackWithUidCallback? remoteSubscribeFallbackToAudioOnly; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - - - - - -

    + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onremotevideostatechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onremotevideostatechanged.dita index e50216c7853..5f600a7ebe1 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onremotevideostatechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onremotevideostatechanged.dita @@ -13,9 +13,9 @@

    - - - virtual void onRemoteVideoStateChanged(IChannel *rtcChannel, + + + virtual void onRemoteVideoStateChanged(IChannel *rtcChannel, uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, @@ -26,7 +26,7 @@ (void)reason; (void)elapsed; } - on( + on( evt: ChannelEvents.REMOTE_VIDEO_STATE_CHANGED, cb: ( channelId: string, @@ -36,40 +36,38 @@ elapsed: number ) => void ): this; - public virtual void OnRemoteVideoStateChanged(string channelId, uint uid, REMOTE_VIDEO_STATE state, + public virtual void OnRemoteVideoStateChanged(string channelId, uint uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) - - RemoteVideoStateCallback? remoteVideoStateChanged; + + RemoteVideoStateCallback? remoteVideoStateChanged;

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - - - - - - - - - - - - - elapsed - 从本地用户调用 方法到发生本事件经历的时间,单位为 ms。 - -

    + + + + + + + + + + + + + + + + + + elapsed + 从本地用户调用 方法到发生本事件经历的时间,单位为 ms。 + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onremotevideostats.dita b/dita/RTC/API/callback_ichanneleventhandler_onremotevideostats.dita index 6eb6ae47113..87877c69c9c 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onremotevideostats.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onremotevideostats.dita @@ -13,33 +13,35 @@

    - - - virtual void onRemoteVideoStats(IChannel *rtcChannel, const RemoteVideoStats& stats) { + + + virtual void onRemoteVideoStats(IChannel *rtcChannel, const RemoteVideoStats& stats) { (void)rtcChannel; (void)stats; } - on( + on( evt: ChannelEvents.REMOTE_VIDEO_STATS, cb: (channelId: string, stats: RemoteVideoStats) => void ): this; - public virtual void OnRemoteVideoStats(string channelId, RemoteVideoStats stats) - - RemoteVideoStatsCallback? remoteVideoStats;

    + public virtual void OnRemoteVideoStats(string channelId, RemoteVideoStats stats) + + RemoteVideoStatsCallback? remoteVideoStats; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - -

    + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onrequesttoken.dita b/dita/RTC/API/callback_ichanneleventhandler_onrequesttoken.dita index c1f7da9bf8b..a0411432b3c 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onrequesttoken.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onrequesttoken.dita @@ -13,15 +13,16 @@

    - - - virtual void onRequestToken(IChannel *rtcChannel) { + + + virtual void onRequestToken(IChannel *rtcChannel) { (void)rtcChannel; } - on(evt: ChannelEvents.REQUEST_TOKEN, cb: (channelId: string) => void): this; - public virtual void OnRequestToken(string channelId) - - EmptyCallback? requestToken;

    + on(evt: ChannelEvents.REQUEST_TOKEN, cb: (channelId: string) => void): this; + public virtual void OnRequestToken(string channelId) + + EmptyCallback? requestToken; +

    在通话过程中如果 Token 已失效,SDK 会触发该回调,提醒 app 更新 Token。

    @@ -31,10 +32,11 @@ <ph keyref="callback-section-title"/>

    - - - - -

    + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onrtcstats.dita b/dita/RTC/API/callback_ichanneleventhandler_onrtcstats.dita index 946baab6ef0..e99d39013a7 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onrtcstats.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onrtcstats.dita @@ -13,34 +13,36 @@

    - - - virtual void onRtcStats(IChannel *rtcChannel, + + + virtual void onRtcStats(IChannel *rtcChannel, const RtcStats& stats) { (void)rtcChannel; (void)stats; } - on( + on( evt: ChannelEvents.RTC_STATS, cb: (channelId: string, stats: RtcStats) => void ): this; - public virtual void OnRtcStats(string channelId, RtcStats stats) - - RtcStatsCallback? rtcStats;

    + public virtual void OnRtcStats(string channelId, RtcStats stats) + + RtcStatsCallback? rtcStats; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - -

    + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingevent.dita b/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingevent.dita index 3c3e8e3d09b..dfd246dc521 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingevent.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingevent.dita @@ -13,14 +13,14 @@

    - - - virtual void onRtmpStreamingEvent(IChannel *rtcChannel, const char* url, RTMP_STREAMING_EVENT eventCode) { + + + virtual void onRtmpStreamingEvent(IChannel *rtcChannel, const char* url, RTMP_STREAMING_EVENT eventCode) { (void) rtcChannel; (void) url; (RTMP_STREAMING_EVENT) eventCode; } - on( + on( evt: ChannelEvents.RTMP_STREAMING_EVENT, cb: ( channelId: string, @@ -28,27 +28,29 @@ eventCode: RTMP_STREAMING_EVENT ) => void ): this; - public virtual void OnRtmpStreamingEvent(string channelId, string url, RTMP_STREAMING_EVENT eventCode) - - RtmpStreamingEventCallback? rtmpStreamingEvent;

    + public virtual void OnRtmpStreamingEvent(string channelId, string url, RTMP_STREAMING_EVENT eventCode) + + RtmpStreamingEventCallback? rtmpStreamingEvent; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - - - - - -

    + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingstatechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingstatechanged.dita index 46034a4a976..1d3dbc3b893 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingstatechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingstatechanged.dita @@ -1,7 +1,9 @@ - <ph keyref="IChannel_onRtmpStreamingStateChanged"/> + + <ph keyref="IChannel_onRtmpStreamingStateChanged"/> + @@ -13,10 +15,10 @@

    - - - - on( + + + + on( evt: ChannelEvents.RTMP_STREAMING_STATE_CHANGED, cb: ( channelId: string, @@ -25,36 +27,39 @@ errCode: RTMP_STREAM_PUBLISH_ERROR ) => void ): this; - public virtual void OnRtmpStreamingStateChanged(string channelId, string url, RTMP_STREAM_PUBLISH_STATE state, + public virtual void OnRtmpStreamingStateChanged(string channelId, string url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode) - - RtmpStreamingStateCallback? rtmpStreamingStateChanged;

    + + RtmpStreamingStateCallback? rtmpStreamingStateChanged; +

    -

    RTMP/RTMPS 推流状态发生改变时,SDK - 会触发该回调,并在回调中明确状态发生改变的 URL - 地址及当前推流状态。该回调方便推流用户了解当前的推流状态;推流出错时,你可以通过返回的错误码了解出错的原因,方便排查问题。

    +

    RTMP/RTMPS 推流状态发生改变时,SDK 会触发该回调,并在回调中明确状态发生改变的 URL + 地址及当前推流状态。该回调方便推流用户了解当前的推流状态;推流出错时,你可以通过返回的错误码了解出错的原因,方便排查问题。

    - <ph keyref="callback-section-title"/> + + <ph keyref="callback-section-title"/> +

    - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onstreaminjectedstatus.dita b/dita/RTC/API/callback_ichanneleventhandler_onstreaminjectedstatus.dita index 93f0efa039e..b67cdef4889 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onstreaminjectedstatus.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onstreaminjectedstatus.dita @@ -13,9 +13,9 @@

    - - - virtual void onStreamInjectedStatus(IChannel *rtcChannel, + + + virtual void onStreamInjectedStatus(IChannel *rtcChannel, const char* url, uid_t uid, int status) { @@ -24,7 +24,7 @@ (void)uid; (void)status; } - on( + on( evt: ChannelEvents.STREAM_INJECTED_STATUS, cb: ( channelId: string, @@ -33,33 +33,32 @@ status: INJECT_STREAM_STATUS ) => void ): this; - public virtual void OnStreamInjectedStatus(string channelId, string url, uint uid, int status) - - StreamInjectedStatusCallback? streamInjectedStatus; + public virtual void OnStreamInjectedStatus(string channelId, string url, uint uid, int status) + + StreamInjectedStatusCallback? streamInjectedStatus;

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - url - 导入进直播的在线媒体流的地址。 - - - - - - - - - -

    + + + + + + url + 导入进直播的在线媒体流的地址。 + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onstreammessage.dita b/dita/RTC/API/callback_ichanneleventhandler_onstreammessage.dita index a6d58f5bd63..4e200208174 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onstreammessage.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onstreammessage.dita @@ -13,9 +13,9 @@

    - - - virtual void onStreamMessage(IChannel *rtcChannel, + + + virtual void onStreamMessage(IChannel *rtcChannel, uid_t uid, int streamId, const char* data, @@ -26,13 +26,14 @@ (void)data; (void)length; } - on( + on( evt: ChannelEvents.STREAM_MESSAGE, cb: (channelId: string, uid: number, streamId: number, data: string) => void ): this; - public virtual void OnStreamMessage(string channelId, uint uid, int streamId, byte[] data, uint length) - - StreamMessageCallback? streamMessage;

    + public virtual void OnStreamMessage(string channelId, uint uid, int streamId, byte[] data, uint length) + + StreamMessageCallback? streamMessage; +

    该回调表示本地用户收到了远端用户调用 方法发送的流消息。

    @@ -41,26 +42,27 @@ <ph keyref="callback-section-title"/>

    - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onstreammessageerror.dita b/dita/RTC/API/callback_ichanneleventhandler_onstreammessageerror.dita index e9153e11ce3..7f926f683cd 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onstreammessageerror.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onstreammessageerror.dita @@ -13,9 +13,9 @@

    - - - virtual void onStreamMessageError(IChannel *rtcChannel, + + + virtual void onStreamMessageError(IChannel *rtcChannel, uid_t uid, int streamId, int code, @@ -28,7 +28,7 @@ (void)missed; (void)cached; } - on( + on( evt: ChannelEvents.STREAM_MESSAGE_ERROR, cb: ( channelId: string, @@ -39,46 +39,44 @@ cached: number ) => void ): this; - public virtual void OnStreamMessageError(string channelId, uint uid, int streamId, int code, int missed, + public virtual void OnStreamMessageError(string channelId, uint uid, int streamId, int code, int missed, int cached) - - StreamMessageErrorCallback? streamMessageError; + + StreamMessageErrorCallback? streamMessageError;

    -

    该回调表示本地用户未收到远端用户调用 方法发送的流消息。

    +

    该回调表示本地用户未收到远端用户调用 方法发送的流消息。

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_ontokenprivilegewillexpire.dita b/dita/RTC/API/callback_ichanneleventhandler_ontokenprivilegewillexpire.dita index 05502e2d03f..44544fdac16 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_ontokenprivilegewillexpire.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_ontokenprivilegewillexpire.dita @@ -13,35 +13,38 @@

    - - - virtual void onTokenPrivilegeWillExpire(IChannel *rtcChannel, const char* token) { + + + virtual void onTokenPrivilegeWillExpire(IChannel *rtcChannel, const char* token) { (void)rtcChannel; (void)token; } - on( + on( evt: ChannelEvents.TOKEN_PRIVILEGE_WILL_EXPIRE, cb: (channelId: string, token: string) => void ): this; - public virtual void OnTokenPrivilegeWillExpire(string channelId, string token) - - TokenCallback? tokenPrivilegeWillExpire;

    + public virtual void OnTokenPrivilegeWillExpire(string channelId, string token) + + TokenCallback? tokenPrivilegeWillExpire; +

    -

    在通话过程中如果 Token 即将失效,SDK 会提前 30 秒触发该回调,提醒 app 更新 Token。当收到该回调时,你需要重新在服务端生成新的 Token,然后调用 将新生成的 Token 传给 SDK。

    +

    在通话过程中如果 Token 即将失效,SDK 会提前 30 秒触发该回调,提醒 app 更新 Token。当收到该回调时,你需要重新在服务端生成新的 + Token,然后调用 将新生成的 Token 传给 SDK。

    <ph keyref="callback-section-title"/>

    - - - - - - - - -

    + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_ontranscodingupdated.dita b/dita/RTC/API/callback_ichanneleventhandler_ontranscodingupdated.dita index 85699dc18b2..9a1bf1c2891 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_ontranscodingupdated.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_ontranscodingupdated.dita @@ -13,30 +13,34 @@

    - - - virtual void onTranscodingUpdated(IChannel *rtcChannel) { + + + virtual void onTranscodingUpdated(IChannel *rtcChannel) { (void)rtcChannel; } - on( + on( evt: ChannelEvents.TRANSCODING_UPDATED, cb: (channelId: string) => void ): this; - public virtual void OnTranscodingUpdated(string channelId) - - EmptyCallback? transcodingUpdated;

    + public virtual void OnTranscodingUpdated(string channelId) + + EmptyCallback? transcodingUpdated; +

    -

    方法中的直播参数 更新时, 回调会被触发并向主播报告更新信息。

    -
    +

    方法中的直播参数 更新时, 回调会被触发并向主播报告更新信息。

    + +
    <ph keyref="callback-section-title"/>

    - - - - -

    + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onuserjoined.dita b/dita/RTC/API/callback_ichanneleventhandler_onuserjoined.dita index e347f2cecb5..672c69d820e 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onuserjoined.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onuserjoined.dita @@ -13,52 +13,52 @@

    - - - virtual void onUserJoined(IChannel *rtcChannel, + + + virtual void onUserJoined(IChannel *rtcChannel, uid_t uid, int elapsed) { (void)rtcChannel; (void)uid; (void)elapsed; } - on( + on( evt: ChannelEvents.USER_JOINED, cb: (channelId: string, uid: number, elapsed: number) => void ): this; - public virtual void OnUserJoined(string channelId, uint uid, int elapsed) - - UidWithElapsedCallback? userJoined;

    + public virtual void OnUserJoined(string channelId, uint uid, int elapsed) + + UidWithElapsedCallback? userJoined; +

      -
    • +
    -

    该回调在如下情况下会被触发: - - -

      -
    • 远端用户/主播调用 方法加入频道
    • -
    • 远端用户加入频道后将用户角色改变为主播
    • -
    • 远端用户/主播网络中断后重新加入频道
    • -

    +

    该回调在如下情况下会被触发:

      +
    • 远端用户/主播调用 方法加入频道
    • +
    • 远端用户加入频道后将用户角色改变为主播
    • +
    • 远端用户/主播网络中断后重新加入频道
    • +
    +

    <ph keyref="callback-section-title"/>

    - - - - - - - - - - elapsed - 从本地用户调用 到该回调触发的延迟(毫秒)。 - -

    + + + + + + + + + + elapsed + 从本地用户调用 到该回调触发的延迟(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onuseroffline.dita b/dita/RTC/API/callback_ichanneleventhandler_onuseroffline.dita index 8881b3d131d..6e14b10f888 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onuseroffline.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onuseroffline.dita @@ -13,16 +13,16 @@

    - - - virtual void onUserOffline(IChannel *rtcChannel, + + + virtual void onUserOffline(IChannel *rtcChannel, uid_t uid, USER_OFFLINE_REASON_TYPE reason) { (void)rtcChannel; (void)uid; (void)reason; } - on( + on( evt: ChannelEvents.USER_OFFLINE, cb: ( channelId: string, @@ -30,27 +30,29 @@ reason: USER_OFFLINE_REASON_TYPE ) => void ): this; - public virtual void OnUserOffline(string channelId, uint uid, USER_OFFLINE_REASON_TYPE reason) - - UserOfflineCallback? userOffline;

    + public virtual void OnUserOffline(string channelId, uint uid, USER_OFFLINE_REASON_TYPE reason) + + UserOfflineCallback? userOffline; +

    <ph keyref="callback-section-title"/>

    - - - - - - - - - - - - -

    + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onusersuperresolutionenabled.dita b/dita/RTC/API/callback_ichanneleventhandler_onusersuperresolutionenabled.dita index e80e49c9405..e1a4ca0d140 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onusersuperresolutionenabled.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onusersuperresolutionenabled.dita @@ -13,35 +13,37 @@

    - - - - - public virtual void OnUserSuperResolutionEnabled(string channelId, uint uid, bool enabled, + + + + + public virtual void OnUserSuperResolutionEnabled(string channelId, uint uid, bool enabled, SUPER_RESOLUTION_STATE_REASON reason) - - UserSuperResolutionEnabledCallback? userSuperResolutionEnabled;

    + + UserSuperResolutionEnabledCallback? userSuperResolutionEnabled; +

    参数 - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onvideopublishstatechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onvideopublishstatechanged.dita index 637b0c38ba7..771332d93ed 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onvideopublishstatechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onvideopublishstatechanged.dita @@ -13,9 +13,9 @@

    - - - virtual void onVideoPublishStateChanged(IChannel *rtcChannel, + + + virtual void onVideoPublishStateChanged(IChannel *rtcChannel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { @@ -24,7 +24,7 @@ (void)newState; (void)elapseSinceLastState; } - on( + on( evt: ChannelEvents.VIDEO_PUBLISH_STATE_CHANGED, cb: ( channelId: string, @@ -33,35 +33,34 @@ elapseSinceLastState: number ) => void ): this; - public virtual void OnVideoPublishStateChanged(string channelId, STREAM_PUBLISH_STATE oldState, + public virtual void OnVideoPublishStateChanged(string channelId, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) - - StreamPublishStateCallback? videoPublishStateChanged; + + StreamPublishStateCallback? videoPublishStateChanged;

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onvideosizechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onvideosizechanged.dita index d7fd8673325..62d90f50c2b 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onvideosizechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onvideosizechanged.dita @@ -13,9 +13,9 @@

    - - - virtual void onVideoSizeChanged(IChannel *rtcChannel, + + + virtual void onVideoSizeChanged(IChannel *rtcChannel, uid_t uid, int width, int height, @@ -26,7 +26,7 @@ (void)height; (void)rotation; } - on( + on( evt: ChannelEvents.VIDEO_SIZE_CHANGED, cb: ( channelId: string, @@ -36,37 +36,36 @@ rotation: number ) => void ): this; - public virtual void OnVideoSizeChanged(string channelId, uint uid, int width, int height, int rotation) - - VideoSizeCallback? videoSizeChanged; + public virtual void OnVideoSizeChanged(string channelId, uint uid, int width, int height, int rotation) + + VideoSizeCallback? videoSizeChanged;

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_ichanneleventhandler_onvideosubscribestatechanged.dita b/dita/RTC/API/callback_ichanneleventhandler_onvideosubscribestatechanged.dita index 0460a57e224..2f230e9b87c 100644 --- a/dita/RTC/API/callback_ichanneleventhandler_onvideosubscribestatechanged.dita +++ b/dita/RTC/API/callback_ichanneleventhandler_onvideosubscribestatechanged.dita @@ -13,9 +13,9 @@

    - - - virtual void onVideoSubscribeStateChanged(IChannel *rtcChannel, + + + virtual void onVideoSubscribeStateChanged(IChannel *rtcChannel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, @@ -26,7 +26,7 @@ (void)newState; (void)elapseSinceLastState; } - on( + on( evt: ChannelEvents.VIDEO_SUBSCRIBE_STATE_CHANGED, cb: ( channelId: string, @@ -36,40 +36,38 @@ elapseSinceLastState: number ) => void ): this; - public virtual void OnVideoSubscribeStateChanged(string channelId, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnVideoSubscribeStateChanged(string channelId, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - - StreamSubscribeStateCallback? videoSubscribeStateChanged; + + StreamSubscribeStateCallback? videoSubscribeStateChanged;

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita b/dita/RTC/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita index 5b1dc372640..57e2b0ffb36 100644 --- a/dita/RTC/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita +++ b/dita/RTC/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita @@ -13,45 +13,56 @@

    - public void onConnectionStateChange(int state, int reason); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine connectionDidChangedToState:(AgoraSaeConnectionState)state withReason:(AgoraSaeConnectionChangedReason)reason; - virtual void onConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} - - public virtual void OnConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} - -

    + public void onConnectionStateChange(int state, int reason); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine connectionDidChangedToState:(AgoraSaeConnectionState)state withReason:(AgoraSaeConnectionChangedReason)reason; + virtual void onConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} + + public virtual void OnConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} + + +

    -
    该回调在 SDK 与声网空间音效服务器连接状态发生改变时触发,并告知用户当前的连接状态和引起连接状态改变的原因。
    +
    该回调在 SDK + 与声网空间音效服务器连接状态发生改变时触发,并告知用户当前的连接状态和引起连接状态改变的原因。
    参数 - - engine - - - - state - SDK 与声网空间音效服务器的连接状态。详见 -
      -
    • (0): 建立连接中。
    • -
    • (1): 已连接。该状态下, 等空间音效设置才会生效。
    • -
    • (2): 连接断开。
    • -
    • (3): 重新建立连接中。
    • -
    • (4): 已重新建立连接。
    • -
    -
    - - reason - SDK 与声网空间音效服务器连接状态发生改变的原因。详见 -
      -
    • (0): 正常。
    • -
    • (1): SDK 建立连接中。
    • -
    • (2): SDK 创建房间失败。
    • -
    • (3): SDK 与 RTM 系统连接中断。
    • -
    • (4): 用户被 RTM 系统踢出。
    • -
    • (5): SDK 超过 15 秒未收到声网空间音效服务器的消息。
    • -
    -
    -
    + + engine + + + + state + SDK 与声网空间音效服务器的连接状态。详见 +
      +
    • (0): 建立连接中。
    • +
    • (1): 已连接。该状态下, 等空间音效设置才会生效。
    • +
    • (2): 连接断开。
    • +
    • (3): 重新建立连接中。
    • +
    • (4): 已重新建立连接。
    • +
    +
    + + reason + SDK 与声网空间音效服务器连接状态发生改变的原因。详见 +
      +
    • (0): 正常。
    • +
    • (1): SDK + 建立连接中。
    • +
    • (2): SDK + 创建房间失败。
    • +
    • (3): SDK 与 RTM + 系统连接中断。
    • +
    • (4): 用户被 RTM + 系统踢出。
    • +
    • (5): SDK 超过 15 + 秒未收到声网空间音效服务器的消息。
    • +
    +
    + +
    diff --git a/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita b/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita index 18c28133880..2da81390d9c 100644 --- a/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita +++ b/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita @@ -13,13 +13,14 @@

    - public void onTeammateJoined(int uid); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateJoined:(NSUInteger)uid; - virtual void onTeammateJoined(uid_t uid) {} - - public virtual void OnTeammateJoined(uint uid) {} - -

    + public void onTeammateJoined(int uid); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateJoined:(NSUInteger)uid; + virtual void onTeammateJoined(uid_t uid) {} + + public virtual void OnTeammateJoined(uint uid) {} + + +

    当同一队伍 ID 的远端用户调用 进入当前房间时,本地用户会收到该回调。

    @@ -27,14 +28,15 @@
    参数 - - - - - - uid - 新加入队伍的远端用户 ID。 - -
    + + + + + + uid + 新加入队伍的远端用户 ID。 + + +
    diff --git a/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita b/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita index eadb91621e4..aecf410fb55 100644 --- a/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita +++ b/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita @@ -13,13 +13,14 @@

    - public void onTeammateLeft(int uid); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateLeft:(NSUInteger)uid; - virtual void onTeammateLeft(uid_t uid) {} - - public virtual void OnTeammateLeft(uint uid) {} - -

    + public void onTeammateLeft(int uid); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateLeft:(NSUInteger)uid; + virtual void onTeammateLeft(uid_t uid) {} + + public virtual void OnTeammateLeft(uint uid) {} + + +

    当同一队伍的远端用户调用 离开当前房间时,本地用户会收到该回调。

    @@ -27,14 +28,15 @@
    参数 - - - - - - uid - 离开队伍的远端用户 ID。 - -
    + + + + + + uid + 离开队伍的远端用户 ID。 + + +
    diff --git a/dita/RTC/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita b/dita/RTC/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita index ab118751141..5d0d5d3268a 100644 --- a/dita/RTC/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita +++ b/dita/RTC/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita @@ -13,25 +13,28 @@

    - public void onTokenWillExpire(); - - (void)csaEngineTokenWillExpire:(AgoraCloudSpatialAudioKit* _Nonnull)engine; - virtual void onTokenWillExpire() {} - - public virtual void OnTokenWillExpire() {} - -

    + public void onTokenWillExpire(); + - (void)csaEngineTokenWillExpire:(AgoraCloudSpatialAudioKit* _Nonnull)engine; + virtual void onTokenWillExpire() {} + + public virtual void OnTokenWillExpire() {} + + +

    如果 RTM Token 已过期,SDK 会触发该回调,提醒 app 更新 RTM Token。

    -

    当收到该回调时,你需要重新在服务端生成新的 RTM Token,然后调用 将新生成的 RTM Token 传给 SDK。

    +

    当收到该回调时,你需要重新在服务端生成新的 RTM Token,然后调用 将新生成的 RTM Token 传给 SDK。

    参数 - - - - -
    + + + + + +
    diff --git a/dita/RTC/API/callback_imetadataobserver_getmaxmetadatasize.dita b/dita/RTC/API/callback_imetadataobserver_getmaxmetadatasize.dita index 315c692d5cf..13c4cb63e53 100644 --- a/dita/RTC/API/callback_imetadataobserver_getmaxmetadatasize.dita +++ b/dita/RTC/API/callback_imetadataobserver_getmaxmetadatasize.dita @@ -13,24 +13,29 @@

    - public abstract int getMaxMetadataSize(); - virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }

    + public abstract int getMaxMetadataSize(); + virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; } +

    - - (NSInteger)metadataMaxSize; - - - -

    + - (NSInteger)metadataMaxSize; + + + + +

    - public abstract int getMaxMetadataSize(); - virtual int getMaxMetadataSize() = 0;

    + public abstract int getMaxMetadataSize(); + virtual int getMaxMetadataSize() = 0; +

    -

    在成功调用 完成注册后,SDK 会在发送每一个视频帧时触发一次该回调;你需要在该方法的返回值中指定 metadata 的最大数据大小。

    +

    在成功调用 完成注册后,SDK + 会在发送每一个视频帧时触发一次该回调;你需要在该方法的返回值中指定 metadata 的最大数据大小。

    返回值 -

    指定 metadata 中 buffer 的最大数据大小,单位为 Byte,最大值不超过 1024。请确保在该返回值中进行传参。

    +

    指定 metadata 中 buffer 的最大数据大小,单位为 Byte,最大值不超过 + 1024。请确保在该返回值中进行传参。

    diff --git a/dita/RTC/API/callback_imetadataobserver_onmetadatareceived.dita b/dita/RTC/API/callback_imetadataobserver_onmetadatareceived.dita index 47ccc262199..a0338f21ad5 100644 --- a/dita/RTC/API/callback_imetadataobserver_onmetadatareceived.dita +++ b/dita/RTC/API/callback_imetadataobserver_onmetadatareceived.dita @@ -13,42 +13,46 @@

    - virtual void onMetadataReceived(const Metadata &metadata) = 0; + virtual void onMetadataReceived(const Metadata &metadata) = 0; }; - - (void)receiveMetadata:(NSData * _Nonnull)data - fromUser:(NSInteger)uid atTimestamp:(NSTimeInterval)timestamp;

    + - (void)receiveMetadata:(NSData * _Nonnull)data + fromUser:(NSInteger)uid atTimestamp:(NSTimeInterval)timestamp; +

    - @CalledByNative public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs);

    + @CalledByNative public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs); +

    - public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs); - public virtual void OnMetadataReceived(Metadata metadata) - on(evt: EngineEvents.RECEIVE_METADATA, cb: ( + public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs); + public virtual void OnMetadataReceived(Metadata metadata) + on(evt: EngineEvents.RECEIVE_METADATA, cb: ( metadata: Metadata ) => void): this; - - MetadataCallback? metadataReceived;

    + + MetadataCallback? metadataReceived; +

    参数 - - buffer - data - 接收到的数据。 - - - uid - 用户 ID。 - - - timestampMs - timestamp - 时间戳。 - - - metadata - 接收到的 metadata。 - -
    + + buffer + data + 接收到的数据。 + + + uid + 用户 ID。 + + + timestampMs + timestamp + 时间戳。 + + + metadata + 接收到的 metadata。 + + +
    diff --git a/dita/RTC/API/callback_imetadataobserver_onreadytosendmetadata.dita b/dita/RTC/API/callback_imetadataobserver_onreadytosendmetadata.dita index 929b291ecee..54ce03d6e41 100644 --- a/dita/RTC/API/callback_imetadataobserver_onreadytosendmetadata.dita +++ b/dita/RTC/API/callback_imetadataobserver_onreadytosendmetadata.dita @@ -13,58 +13,61 @@

    - @CalledByNative public abstract byte[] onReadyToSendMetadata(long timeStampMs, int sourceType); - - (NSData * _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp + @CalledByNative public abstract byte[] onReadyToSendMetadata(long timeStampMs, int sourceType); + - (NSData * _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp sourceType:(AgoraVideoSourceType)sourceType; - virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;

    + virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0; +

    - public abstract byte[] onReadyToSendMetadata(long timeStampMs); - - (NSData* _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp; - virtual bool onReadyToSendMetadata(Metadata& metadata) = 0; - on(evt: EngineEvents.READY_TO_SEND_METADATA, cb: (metadata: Metadata) => void): this; - public virtual bool OnReadyToSendMetadata(Metadata metadata) + public abstract byte[] onReadyToSendMetadata(long timeStampMs); + - (NSData* _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp; + virtual bool onReadyToSendMetadata(Metadata& metadata) = 0; + on(evt: EngineEvents.READY_TO_SEND_METADATA, cb: (metadata: Metadata) => void): this; + public virtual bool OnReadyToSendMetadata(Metadata metadata) { return true; } - -

    + + +

    当 SDK 准备好发送 metadata 时,会触发该回调。

    收到该回调后,你可以调用 发送媒体附属信息。

    - 请确保在该方法中传入的 metadata 大小不超过 中设定的值。
    + 请确保在该方法中传入的 metadata 大小不超过 中设定的值。 +
    参数 - - timeStampMs - timestamp - 时间戳。 - - - sourceType - 视频数据类型。详见 - - - metadata - 用户想要发送的 metadata。详见 - -
    + + timeStampMs + timestamp + 时间戳。 + + + sourceType + 视频数据类型。详见 + + + metadata + 用户想要发送的 metadata。详见 + + +
    返回值
      -
    • : 发送
    • -
    • : 不发送
    • +
    • : 发送
    • +
    • : 不发送
    -

    指定想要发送的 metadata ,格式为 NSData,由如下字段组成: - - -

      -
    • uid:发送该 metadata 的远端用户的 ID。
    • -
    • size:metadata 的大小。
    • -
    • buffer:metadata 数据。
    • -
    • timeStampMs:metadata 发送时的 NTP 时间戳(ms)。
    • -

    +

    指定想要发送的 metadata ,格式为 NSData,由如下字段组成:

      +
    • uid:发送该 metadata 的远端用户的 ID。
    • +
    • size:metadata 的大小。
    • +
    • buffer:metadata 数据。
    • +
    • timeStampMs:metadata 发送时的 NTP 时间戳(ms)。
    • +
    +

    指定想要发送的 metadata,格式为 byte[]。请确保在该返回值中进行传参。

    diff --git a/dita/RTC/API/callback_ipacketobserver_onreceiveaudiopacket.dita b/dita/RTC/API/callback_ipacketobserver_onreceiveaudiopacket.dita index 2093e869993..86e112d4f8e 100644 --- a/dita/RTC/API/callback_ipacketobserver_onreceiveaudiopacket.dita +++ b/dita/RTC/API/callback_ipacketobserver_onreceiveaudiopacket.dita @@ -13,26 +13,29 @@

    - - - virtual bool onReceiveAudioPacket(Packet& packet) = 0; - - -

    + + + virtual bool onReceiveAudioPacket(Packet& packet) = 0; + + + +

    参数 - - packet - 收到的音频包,详见 - -
    + + packet + 收到的音频包,详见 + + +
    返回值
      -
    • : 成功接收音频包。
    • -
    • : 丢弃音频包。
    • -
    +
  • : 成功接收音频包。
  • +
  • : 丢弃音频包。
  • + +
    diff --git a/dita/RTC/API/callback_ipacketobserver_onreceivevideopacket.dita b/dita/RTC/API/callback_ipacketobserver_onreceivevideopacket.dita index fb3ba0de4e7..0f088c1f121 100644 --- a/dita/RTC/API/callback_ipacketobserver_onreceivevideopacket.dita +++ b/dita/RTC/API/callback_ipacketobserver_onreceivevideopacket.dita @@ -13,26 +13,29 @@

    - - - virtual bool onReceiveVideoPacket(Packet& packet) = 0; - - -

    + + + virtual bool onReceiveVideoPacket(Packet& packet) = 0; + + + +

    参数 - - packet - 收到的视频包,详见 - -
    + + packet + 收到的视频包,详见 + + +
    返回值
      -
    • : 成功接收视频包。
    • -
    • : 丢弃视频包。
    • -
    +
  • : 成功接收视频包。
  • +
  • : 丢弃视频包。
  • + +
    diff --git a/dita/RTC/API/callback_ipacketobserver_onsendaudiopacket.dita b/dita/RTC/API/callback_ipacketobserver_onsendaudiopacket.dita index 066ff92e62a..e05b68fff07 100644 --- a/dita/RTC/API/callback_ipacketobserver_onsendaudiopacket.dita +++ b/dita/RTC/API/callback_ipacketobserver_onsendaudiopacket.dita @@ -13,26 +13,29 @@

    - - - virtual bool onSendAudioPacket(Packet& packet) = 0; - - -

    + + + virtual bool onSendAudioPacket(Packet& packet) = 0; + + + +

    参数 - - packet - 发送的音频包,详见 - -
    + + packet + 发送的音频包,详见 + + +
    返回值
      -
    • : 成功发送音频包。
    • -
    • : 丢弃音频包。
    • -
    +
  • : 成功发送音频包。
  • +
  • : 丢弃音频包。
  • + +
    diff --git a/dita/RTC/API/callback_ipacketobserver_onsendvideopacket.dita b/dita/RTC/API/callback_ipacketobserver_onsendvideopacket.dita index 11cfb6fdb6d..df14a448fe0 100644 --- a/dita/RTC/API/callback_ipacketobserver_onsendvideopacket.dita +++ b/dita/RTC/API/callback_ipacketobserver_onsendvideopacket.dita @@ -13,26 +13,29 @@

    - - - virtual bool onSendVideoPacket(Packet& packet) = 0; - - -

    + + + virtual bool onSendVideoPacket(Packet& packet) = 0; + + + +

    参数 - - packet - 发送的视频包,详见 - -
    + + packet + 发送的视频包,详见 + + +
    返回值
      -
    • : 成功发送视频包;
    • -
    • : 丢弃视频包。
    • -
    +
  • : 成功发送视频包;
  • +
  • : 丢弃视频包。
  • + +
    diff --git a/dita/RTC/API/callback_ivideoframeobserver_getmirrorapplied.dita b/dita/RTC/API/callback_ivideoframeobserver_getmirrorapplied.dita index c444af9c504..7c679ac979c 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_getmirrorapplied.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_getmirrorapplied.dita @@ -13,25 +13,26 @@

    - boolean getMirrorApplied(); - - (BOOL)getMirrorApplied; - virtual bool getMirrorApplied() { return false; } - - - -

    + boolean getMirrorApplied(); + - (BOOL)getMirrorApplied; + virtual bool getMirrorApplied() { return false; } + + + + +

    -

    如果你希望获取的视频数据为原始视频的镜像,需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对原始视频数据作镜像处理。

    - 该功能仅支持 RGBA 和 YUV420 格式的视频数据。
    +

    如果你希望获取的视频数据为原始视频的镜像,需要在调用 + 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对原始视频数据作镜像处理。

    + 该功能仅支持 RGBA 和 YUV420 格式的视频数据。 +
    返回值 -

    设置 SDK 输出视频数据时是否作镜像处理: - -

      -
    • : 镜像。
    • -
    • : (默认)不镜像。
    • -

    +

    设置 SDK 输出视频数据时是否作镜像处理:

      +
    • : 镜像。
    • +
    • : (默认)不镜像。
    • +

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_getobservedframeposition.dita b/dita/RTC/API/callback_ivideoframeobserver_getobservedframeposition.dita index 50ff1fd6178..e3f58a2df33 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_getobservedframeposition.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_getobservedframeposition.dita @@ -13,65 +13,81 @@

    - int getObservedFramePosition(); - - (unsigned int)getObservedFramePosition; - virtual uint32_t getObservedFramePosition() { + int getObservedFramePosition(); + - (unsigned int)getObservedFramePosition; + virtual uint32_t getObservedFramePosition() { return base::POSITION_POST_CAPTURER | base::POSITION_PRE_RENDERER; } - public virtual VIDEO_OBSERVER_POSITION GetObservedFramePosition() + public virtual VIDEO_OBSERVER_POSITION GetObservedFramePosition() { return VIDEO_OBSERVER_POSITION.POSITION_POST_CAPTURER | VIDEO_OBSERVER_POSITION.POSITION_PRE_RENDERER; - }

    + } +

    - - - virtual uint32_t getObservedFramePosition() { return static_cast<uint32_t>(POSITION_POST_CAPTURER | POSITION_PRE_RENDERER); } - - public virtual VIDEO_OBSERVER_POSITION GetObservedFramePosition() + + + virtual uint32_t getObservedFramePosition() { return static_cast<uint32_t>(POSITION_POST_CAPTURER | POSITION_PRE_RENDERER); } + + public virtual VIDEO_OBSERVER_POSITION GetObservedFramePosition() { return VIDEO_OBSERVER_POSITION.POSITION_POST_CAPTURER | VIDEO_OBSERVER_POSITION.POSITION_PRE_RENDERER; } - -

    + + +

    - -
    自从
    -
    v3.0.1
    -
    + +
    自从
    +
    v3.0.1
    +
    -

    成功注册视频数据观测器后,SDK 会在每个特定的视频帧处理节点通过该回调来判断是否触发 回调,供你观测本地采集视频数据、远端发送的视频数据以及编码前的视频数据。你可以根据场景需求,通过修改该方法的返回值,设置你需要观测的某个或多个位置:

    +

    成功注册视频数据观测器后,SDK 会在每个特定的视频帧处理节点通过该回调来判断是否触发 、 + + 回调,供你观测本地采集视频数据、远端发送的视频数据以及编码前的视频数据。你可以根据场景需求,通过修改该方法的返回值,设置你需要观测的某个或多个位置:

    -

      -
    • (1 << 0),本地采集视频数据后的位置,对应 回调。
    • -
    • (1 << 1),接收远端发送视频前的位置,对应 回调。
    • -
    • (1 << 2),本地视频编码前的位置,对应 回调。
    • -

    +
      +
    • (1 << + 0),本地采集视频数据后的位置,对应 回调。
    • +
    • (1 << + 1),接收远端发送视频前的位置,对应 回调。
    • +
    • (1 << + 2),本地视频编码前的位置,对应 回调。
    • +

    -
      -
    • 观测多个位置时,需要使用 '|' (或)运算符。
    • -
    • 该回调默认观测 (1 << 0) 和 (1 << 1)。
    • -
    • 为降低设备耗能,你可以根据实际需求适当减少观测位置。
    • -
    +
      +
    • 观测多个位置时,需要使用 '|' (或)运算符。
    • +
    • 该回调默认观测 (1 << + 0) 和 (1 << + 1)。
    • +
    • 为降低设备耗能,你可以根据实际需求适当减少观测位置。
    • +
    + +
    返回值

    设置观测位置的 bit mask。详见

    -

    设置观测位置的 bit mask。详见 -

      -
    • (1 << 0):(默认)本地采集视频数据后的位置,对应 回调。
    • -
    • (1 << 1):(默认)接收远端发送视频前的位置,对应 回调。
    • -
    • (1 << 2):本地视频编码前的位置,对应 回调。
    • -

    -

    设置观测位置的 bit mask。 - - - -

      -
    • (1 << 0),本地采集视频数据后的位置,对应 回调。
    • -
    • (1 << 1),接收远端发送视频前的位置,对应 回调。
    • -
    • (1 << 2),本地视频编码前的位置,对应 回调。
    • -

    +

    设置观测位置的 bit mask。详见 +

      +
    • (1 << 0):(默认)本地采集视频数据后的位置,对应 + 回调。
    • +
    • (1 << 1):(默认)接收远端发送视频前的位置,对应 + 回调。
    • +
    • (1 << 2):本地视频编码前的位置,对应 + 回调。
    • +
    +

    +

    设置观测位置的 bit mask。

      +
    • (1 << 0),本地采集视频数据后的位置,对应 + 回调。
    • +
    • (1 << 1),接收远端发送视频前的位置,对应 + 回调。
    • +
    • (1 << 2),本地视频编码前的位置,对应 + 回调。
    • +
    +

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_getrotationapplied.dita b/dita/RTC/API/callback_ivideoframeobserver_getrotationapplied.dita index badf834d1fd..d9637f3f07d 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_getrotationapplied.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_getrotationapplied.dita @@ -13,34 +13,43 @@

    - boolean getRotationApplied(); - - (BOOL)getRotationApplied;

    + boolean getRotationApplied(); + - (BOOL)getRotationApplied; +

    - public boolean getRotationApplied() { + public boolean getRotationApplied() { return false; } - - (BOOL)getRotationApplied NS_SWIFT_NAME(getRotationApplied());

    + - (BOOL)getRotationApplied NS_SWIFT_NAME(getRotationApplied()); +

    - virtual bool getRotationApplied() { return false; } - - - -

    + virtual bool getRotationApplied() { return false; } + + + + +

    -

    如果你希望获取的视频数据已根据 中的旋转信息 rotation 进行旋转,需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对采集到的视频数据进行旋转。

    -

    如果你希望获取的视频数据已根据 中的旋转信息 rotation 进行旋转,需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对采集到的视频数据进行旋转。

    -

    如果你在采集端已经根据 中的旋转信息 rotation 进行旋转,就无需调用该方法设置视频数据旋转。

    - 该功能仅支持 RGBA 和 YUV420 格式的视频数据。
    +

    如果你希望获取的视频数据已根据 中的旋转信息 + rotation 进行旋转,需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK + 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对采集到的视频数据进行旋转。

    +

    如果你希望获取的视频数据已根据 中的旋转信息 + rotation 进行旋转,需要在调用 方法时注册该回调。成功注册视频数据观测器后,SDK + 会在捕捉到每个视频帧时触发该回调,你需要在该回调的返回值中设置是否对采集到的视频数据进行旋转。

    +

    如果你在采集端已经根据 中的旋转信息 + rotation 进行旋转,就无需调用该方法设置视频数据旋转。

    + 该功能仅支持 RGBA 和 YUV420 格式的视频数据。 +
    返回值 -

    设置 SDK 输出视频数据时是否作旋转处理: - -

      -
    • : 旋转。
    • -
    • : (默认)不旋转。
    • -

    +

    设置 SDK 输出视频数据时是否作旋转处理:

      +
    • : 旋转。
    • +
    • : (默认)不旋转。
    • +

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita b/dita/RTC/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita index cf93ade99f4..f2a48aaa11a 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita @@ -13,36 +13,38 @@

    - - - virtual bool getSmoothRenderingEnabled(){ return false; } - - - -

    + + + virtual bool getSmoothRenderingEnabled(){ return false; } + + + + +

    - -
    自从
    -
    v3.0.0
    -
    + +
    自从
    +
    v3.0.0
    +
    -

    如果你希望从 获取的视频帧出帧时间间隔更均匀,可以在调用 方法时注册该回调,并将该回调的返回值设为

    +

    如果你希望从 获取的视频帧出帧时间间隔更均匀,可以在调用 方法时注册该回调,并将该回调的返回值设为

    -
      -
    • 该回调需要在加入频道前注册。
    • -
    • 该回调适用于对获取的视频帧处理后自渲染的场景,不适用于处理后传回 SDK 的场景。
    • -
    +
      +
    • 该回调需要在加入频道前注册。
    • +
    • 该回调适用于对获取的视频帧处理后自渲染的场景,不适用于处理后传回 SDK 的场景。
    • +
    + +
    返回值 -

    设置是否对获取的视频帧平滑处理: - - -

      -
    • : 平滑处理。
    • -
    • : (默认)不平滑处理。
    • -

    +

    设置是否对获取的视频帧平滑处理:

      +
    • : 平滑处理。
    • +
    • : (默认)不平滑处理。
    • +

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_getvideoformatpreference.dita b/dita/RTC/API/callback_ivideoframeobserver_getvideoformatpreference.dita index 3bd69caf440..9498ad8fbfd 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_getvideoformatpreference.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_getvideoformatpreference.dita @@ -13,28 +13,29 @@

    - - - virtual VIDEO_FRAME_TYPE getVideoFormatPreference() { return FRAME_TYPE_YUV420; } - - public virtual VIDEO_FRAME_TYPE GetVideoFormatPreference() + + + virtual VIDEO_FRAME_TYPE getVideoFormatPreference() { return FRAME_TYPE_YUV420; } + + public virtual VIDEO_FRAME_TYPE GetVideoFormatPreference() { return VIDEO_FRAME_TYPE.FRAME_TYPE_RGBA; } - -

    + + +

    如果你想获取 420 格式以外的视频数据,需要在调用 方法时注册该回调。 - 成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调返回值中设置期望的视频数据格式。

    + 成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调,你需要在该回调返回值中设置期望的视频数据格式。

    返回值

    设置 SDK 输出的原始数据格式 -

      -
    • (0):(默认) YUV420 格式。
    • -
    • (2): RGBA 格式。
    • -

    +
      +
    • (0):(默认) YUV420 格式。
    • +
    • (2): RGBA 格式。
    • +

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita b/dita/RTC/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita index a60cda4a5e5..8f5d53323dd 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita @@ -13,15 +13,16 @@

    - int getVideoFrameProcessMode(); - - (AgoraVideoFrameProcessMode)getVideoFrameProcessMode; - virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode() { + int getVideoFrameProcessMode(); + - (AgoraVideoFrameProcessMode)getVideoFrameProcessMode; + virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode() { return PROCESS_MODE_READ_ONLY; } - - - -

    + + + + +

    成功注册视频观测器后,SDK 会在捕捉到每帧视频帧时触发该回调。你需要在该回调的返回值中设置期望的视频处理模式。

    @@ -29,12 +30,10 @@
    返回值

    详见

    -

    视频帧率处理模式: - -

      -
    • (0):(默认)只读模式。
    • -
    • (1):读写模式。
    • -

    +

    视频帧率处理模式:

      +
    • (0):(默认)只读模式。
    • +
    • (1):读写模式。
    • +

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_ismultiplechannelframewanted.dita b/dita/RTC/API/callback_ivideoframeobserver_ismultiplechannelframewanted.dita index d17a80bcebb..05e9dfa2daa 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_ismultiplechannelframewanted.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_ismultiplechannelframewanted.dita @@ -13,36 +13,45 @@

    - - - virtual bool isMultipleChannelFrameWanted() { return false; } - - public virtual bool IsMultipleChannelFrameWanted() + + + virtual bool isMultipleChannelFrameWanted() { return false; } + + public virtual bool IsMultipleChannelFrameWanted() { return true; } - -

    + + +

    - -
    自从
    -
    v3.0.1
    -
    + +
    自从
    +
    v3.0.1
    +

    成功注册视频观测器后,SDK 会在捕捉到每个视频帧的时候触发该回调。

    -

    在多频道场景下,如果你希望从多个频道获取视频数据,则需要将该回调的返回值设为 。 成功设置后,SDK 会触发 回调,向你发送接收的远端视频帧,并报告该视频帧来自哪个频道。

    +

    在多频道场景下,如果你希望从多个频道获取视频数据,则需要将该回调的返回值设为 。 成功设置后,SDK 会触发 回调,向你发送接收的远端视频帧,并报告该视频帧来自哪个频道。

    -
      -
    • 如果你将该回调的返回值设为 ,则 SDK 触发 来返回接收到的混音前的视频数据。 将不会被触发。在多频道场景下,我们建议你将该回调的返回值设为
    • -
    • 如果你将该回调的返回值设为 ,则 SDK 触发 来返回接收到的视频数据。
    • -
    +
      +
    • 如果你将该回调的返回值设为 ,则 SDK 触发 来返回接收到的混音前的视频数据。 将不会被触发。在多频道场景下,我们建议你将该回调的返回值设为
    • +
    • 如果你将该回调的返回值设为 ,则 SDK 触发 来返回接收到的视频数据。
    • +
    + +
    返回值
      -
    • : 获取多个频道的视频帧。
    • -
    • : 不获取多个频道的视频帧。
    • -
    +
  • : 获取多个频道的视频帧。
  • +
  • : 不获取多个频道的视频帧。
  • + +
    diff --git a/dita/RTC/API/callback_ivideoframeobserver_oncapturevideoframe.dita b/dita/RTC/API/callback_ivideoframeobserver_oncapturevideoframe.dita index b14b8553cbe..5ff6d55a9cb 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_oncapturevideoframe.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_oncapturevideoframe.dita @@ -13,42 +13,44 @@

    - boolean onCaptureVideoFrame(VideoFrame videoFrame); - - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; - virtual bool onCaptureVideoFrame(VideoFrame& videoFrame) = 0; - - public virtual bool OnCaptureVideoFrame(VideoFrame videoFrame) + boolean onCaptureVideoFrame(VideoFrame videoFrame); + - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; + virtual bool onCaptureVideoFrame(VideoFrame& videoFrame) = 0; + + public virtual bool OnCaptureVideoFrame(VideoFrame videoFrame) { return true; } - -

    + + +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取本地摄像头采集到的视频数据,然后根据场景需要,对视频数据进行前处理。

    完成前处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

    -
      -
    • 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • -
    • 此处获取的视频数据未经过前处理,如水印、裁剪、旋转和美颜等。
    • -
    +
      +
    • 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • +
    • 此处获取的视频数据未经过前处理,如水印、裁剪、旋转和美颜等。
    • +
    + +
    参数 - - videoFrame - 视频帧数据。详见 - -
    + + videoFrame + 视频帧数据。详见 + + +
    返回值 -

    如果视频前处理失败,是否忽略该帧视频: - - -

      -
    • :不忽略。
    • -
    • :忽略,则该帧数据不再发送回 SDK。
    • -

    +

    如果视频前处理失败,是否忽略该帧视频:

      +
    • :不忽略。
    • +
    • :忽略,则该帧数据不再发送回 SDK。
    • +

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_onframe.dita b/dita/RTC/API/callback_ivideoframeobserver_onframe.dita index 5e323148079..b38c7f551eb 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_onframe.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_onframe.dita @@ -13,18 +13,17 @@

    - public virtual bool OnFrame(VideoFrame audioFrame, VideoFrameBufferConfig config) - { - return true; - }

    + public virtual bool + OnFrame(VideoFrame audioFrame, VideoFrameBufferConfig config) { return true; }

    - void onFrame(VideoFrame frame); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + void onFrame(VideoFrame frame); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveVideoFrame:(CVPixelBufferRef _Nonnull)pixelBuffer; - virtual void onFrame(const VideoFrame* frame) = 0; - - -

    + virtual void onFrame(const VideoFrame* frame) = 0; + + + +

    注册视频数据观测器后,每次接收到一帧视频帧时,都会触发该回调,报告视频帧信息。

    @@ -33,29 +32,33 @@ <ph keyref="callback-section-title"/>

    - - frame - -

    视频帧信息。 - 详见 WebRTC VideoFrame 详见

    - - - - audioFrame - 视频帧的属性设置。详见 - - - config - 视频帧的类型及来源。详见 - - - playerKit - 详见 - - - pixelBuffer - 纹理的 Buffer(CVPixelBufferRef)。 - -
    + + frame + +

    视频帧信息。 详见 WebRTC VideoFrame + 详见 +

    +
    +
    + + audioFrame + 视频帧的属性设置。详见 + + + config + 视频帧的类型及来源。详见 + + + playerKit + 详见 + + + pixelBuffer + 纹理的 Buffer(CVPixelBufferRef)。 + + +
    diff --git a/dita/RTC/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita b/dita/RTC/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita index 44a88cb2e13..0ca89c8b68a 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita @@ -13,13 +13,14 @@

    - boolean onMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId); - - (BOOL)onMediaPlayerVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame mediaPlayerId:(NSInteger)mediaPlayerId; - virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0; - - - -

    + boolean onMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId); + - (BOOL)onMediaPlayerVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame mediaPlayerId:(NSInteger)mediaPlayerId; + virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0; + + + + +

    成功注册视频数据观测器并调用 后, SDK 会在捕捉到每个视频帧时触发该回调。 @@ -29,15 +30,16 @@

    参数 - - - - - - mediaPlayerId - 媒体播放器 ID。 - -
    + + + + + + mediaPlayerId + 媒体播放器 ID。 + + +
    diff --git a/dita/RTC/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita b/dita/RTC/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita index 05b4c4a4437..59c122a44a5 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita @@ -13,32 +13,36 @@

    - boolean onPreEncodeScreenVideoFrame(VideoFrame videoFrame); - - (BOOL)onPreEncodeScreenVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; - virtual bool onPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; - - - - -

    + boolean onPreEncodeScreenVideoFrame(VideoFrame videoFrame); + - (BOOL)onPreEncodeScreenVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; + virtual bool onPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; + + + + +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取从屏幕采集后、编码前的视频数据,然后根据场景需要,对视频数据进行处理。

    完成处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

    -
      -
    • 你需要通过 设置观测 (1 << 2) 后,才能使用该回调获取本地视频编码前的视频数据。
    • -
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • -
    • 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • -
    +
      +
    • 你需要通过 设置观测 (1 << 2) + 后,才能使用该回调获取本地视频编码前的视频数据。
    • +
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • +
    • 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • +
    +
    参数 - - - - -
    + + + + + +
    返回值

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_onpreencodevideoframe.dita b/dita/RTC/API/callback_ivideoframeobserver_onpreencodevideoframe.dita index 2ff891e1275..adea07162ff 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_onpreencodevideoframe.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_onpreencodevideoframe.dita @@ -13,48 +13,53 @@

    - boolean onPreEncodeVideoFrame(VideoFrame videoFrame); - - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)srcFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame; - virtual bool onPreEncodeVideoFrame(VideoFrame& videoFrame) = 0; - public virtual bool OnPreEncodeVideoFrame(VideoFrame videoFrame) + boolean onPreEncodeVideoFrame(VideoFrame videoFrame); + - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)srcFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame; + virtual bool onPreEncodeVideoFrame(VideoFrame& videoFrame) = 0; + public virtual bool OnPreEncodeVideoFrame(VideoFrame videoFrame) { return true; }

    - - - virtual bool onPreEncodeVideoFrame(VideoFrame& videoFrame) { return true; } - - public virtual bool OnPreEncodeVideoFrame(VideoFrame videoFrame) + + + virtual bool onPreEncodeVideoFrame(VideoFrame& videoFrame) { return true; } + + public virtual bool OnPreEncodeVideoFrame(VideoFrame videoFrame) { return true; } - -

    + + +

    - -
    自从
    -
    v3.0.0
    -
    + +
    自从
    +
    v3.0.0
    +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取编码前的视频数据,然后根据场景需要,对视频数据进行处理。

    完成处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

    -
      -
    • 你需要通过 设置观测 (1 << 2) 后,才能使用该回调获取本地视频编码前的视频数据。
    • -
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • -
    • 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • -
    +
      +
    • 你需要通过 设置观测 (1 << 2) + 后,才能使用该回调获取本地视频编码前的视频数据。
    • +
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • +
    • 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • +
    +
    参数 - - - - -
    + + + + + +
    返回值

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframe.dita b/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframe.dita index 5368064271a..36a63c9309a 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframe.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframe.dita @@ -13,56 +13,60 @@

    - boolean onRenderVideoFrame(String channelId, int uid, VideoFrame videoFrame); - - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame + boolean onRenderVideoFrame(String channelId, int uid, VideoFrame videoFrame); + - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame uid:(NSUInteger)uid channelId:(NSString * _Nonnull)channelId; - virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0; + virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0; - public virtual bool OnRenderVideoFrame(uint uid, VideoFrame videoFrame) + public virtual bool OnRenderVideoFrame(uint uid, VideoFrame videoFrame) { return true; - }

    + } +

    - boolean onRenderVideoFrame(int uid, VideoFrame videoFrame); - - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame + boolean onRenderVideoFrame(int uid, VideoFrame videoFrame); + - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame uid:(NSUInteger)uid ; - virtual bool onRenderVideoFrame(unsigned int uid, VideoFrame& videoFrame) = 0; - - public virtual bool OnRenderVideoFrame(uint uid, VideoFrame videoFrame) + virtual bool onRenderVideoFrame(unsigned int uid, VideoFrame& videoFrame) = 0; + + public virtual bool OnRenderVideoFrame(uint uid, VideoFrame videoFrame) { return true; } - -

    + + +

    - -
    自从
    -
    v3.0.0
    -
    + +
    自从
    +
    v3.0.0
    +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取远端发送的视频数据,然后根据场景需要,对视频数据进行处理。

    完成处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

    - 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    + 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。 +
    参数 - - uid - remoteUiduid - 发送该帧视频的远端用户 ID。 - - - - - - - channelId - 频道 ID。 - -
    + + uid + remoteUiduid + 发送该帧视频的远端用户 ID。 + + + + + + + channelId + 频道 ID。 + + +
    返回值

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframeex.dita b/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframeex.dita index f36ebf1e72e..4533e3ec297 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframeex.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframeex.dita @@ -13,48 +13,51 @@

    - - - virtual bool onRenderVideoFrameEx(const char *channelId, + + + virtual bool onRenderVideoFrameEx(const char *channelId, unsigned int uid, VideoFrame& videoFrame) { return true; } - - public virtual bool OnRenderVideoFrameEx(string channelId, uint uid, VideoFrame videoFrame) + + public virtual bool OnRenderVideoFrameEx(string channelId, uint uid, VideoFrame videoFrame) { return true; } - -

    + + +

    -

    成功注册视频观测器后,如果你将 的返回值设为 ,则 SDK 会在捕捉到各频道内的视频数据时,触发该回调,将视频数据发送给你。

    -

    获取该回调中的视频数据后,你可以根据场景需要,对视频数据进行美颜、滤镜等后处理,然后将处理后的视频数据再通过该回调的 videoFrame 参数发送回 SDK。

    - 该回调不支持将处理后的 RGBA 格式的视频数据发送回 SDK。
    +

    成功注册视频观测器后,如果你将 + 的返回值设为 ,则 SDK 会在捕捉到各频道内的视频数据时,触发该回调,将视频数据发送给你。

    +

    获取该回调中的视频数据后,你可以根据场景需要,对视频数据进行美颜、滤镜等后处理,然后将处理后的视频数据再通过该回调的 + videoFrame 参数发送回 SDK。

    + 该回调不支持将处理后的 RGBA 格式的视频数据发送回 SDK。 +
    参数 - - channelId - 该视频帧所在的频道名。 - - - uid - 发送该帧视频的用户 ID。 - - - - - -
    + + channelId + 该视频帧所在的频道名。 + + + uid + 发送该帧视频的用户 ID。 + + + + + + +
    返回值 -

    如果对该视频帧的后处理失败,是否将其发送回 SDK: - -

      -
    • : 发送
    • -
    • : 不发送
    • -

    +

    如果对该视频帧的后处理失败,是否将其发送回 SDK:

      +
    • : 发送
    • +
    • : 不发送
    • +

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita b/dita/RTC/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita index 9ece8e9f549..947db05c84b 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita @@ -13,18 +13,20 @@

    - boolean onScreenCaptureVideoFrame(VideoFrame videoFrame); - - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; - virtual bool onScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0; - - - -

    + boolean onScreenCaptureVideoFrame(VideoFrame videoFrame); + - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; + virtual bool onScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0; + + + + +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取从屏幕采集到的视频数据,然后根据场景需要,对视频数据进行前处理。

    完成前处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

    -
    + +
    diff --git a/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita b/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita index f6745c0c30f..d972b69bf3b 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita @@ -13,29 +13,34 @@

    - - - virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame& videoFrame) = 0; -

    + + + virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame& videoFrame) = 0; + +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取第二个摄像头采集后、编码前的视频数据,然后根据场景需要,对视频数据进行处理。

    完成处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

    -
      -
    • 该回调仅适用于 Windows。
    • -
    • 你需要通过 设置观测 (1 << 2) 后,才能使用该回调获取第二个摄像头采集后、编码前的视频数据。
    • -
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • -
    • 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • -
    +
      +
    • 该回调仅适用于 Windows。
    • +
    • 你需要通过 设置观测 (1 << 2) + 后,才能使用该回调获取第二个摄像头采集后、编码前的视频数据。
    • +
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • +
    • 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • +
    +
    参数 - - - - -
    + + + + + +
    返回值

    diff --git a/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita b/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita index 63fe3a851ff..77f51fdc13b 100644 --- a/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita +++ b/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita @@ -13,32 +13,37 @@

    - - - - - - -

    + + + + + + + +

    成功注册视频数据观测器后,SDK 会在捕捉到每个视频帧时触发该回调。你可以在回调中获取从第二个屏幕采集后、编码前的视频数据,然后根据场景需要,对视频数据进行处理。

    完成处理后,你可以在该回调中,传入处理后的视频数据将其发送回 SDK。

    -
      -
    • 该回调仅适用于 Windows。
    • -
    • 你需要通过 设置观测 (1 << 2) 后,才能使用该回调获取从第二个屏幕采集后、编码前的视频数据。
    • -
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • -
    • 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • -
    +
      +
    • 该回调仅适用于 Windows。
    • +
    • 你需要通过 设置观测 (1 << 2) + 后,才能使用该回调获取从第二个屏幕采集后、编码前的视频数据。
    • +
    • 此处获取的视频数据已经过前处理,如裁剪、旋转和美颜等。
    • +
    • 如果你获取到的视频数据类型为 RGBA,声网不支持将处理后的 RGBA 数据通过该回调再发送回 SDK。
    • +
    +
    参数 - - - - -
    + + + + + +
    返回值

    diff --git a/dita/RTC/API/callback_ivideosink_ondispose.dita b/dita/RTC/API/callback_ivideosink_ondispose.dita index 9c3cbc4d041..ff4ff7debc5 100644 --- a/dita/RTC/API/callback_ivideosink_ondispose.dita +++ b/dita/RTC/API/callback_ivideosink_ondispose.dita @@ -2,7 +2,8 @@ ivideosink_ondispose - + @@ -13,20 +14,21 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    @@ -34,10 +36,11 @@ <ph keyref="callback-section-title"/>

    - - - - -

    + + + + + +
    diff --git a/dita/RTC/API/callback_ivideosink_oninitialize.dita b/dita/RTC/API/callback_ivideosink_oninitialize.dita index ba443a54d0b..c4e6de77d28 100644 --- a/dita/RTC/API/callback_ivideosink_oninitialize.dita +++ b/dita/RTC/API/callback_ivideosink_oninitialize.dita @@ -2,7 +2,8 @@ ivideosink_oninitialize - + @@ -13,20 +14,21 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    @@ -34,10 +36,11 @@ <ph keyref="callback-section-title"/>

    - - - - - + + + + + + diff --git a/dita/RTC/API/callback_ivideosink_onrenderpixelbuffer.dita b/dita/RTC/API/callback_ivideosink_onrenderpixelbuffer.dita index 5c82c20f863..96afbe8848d 100644 --- a/dita/RTC/API/callback_ivideosink_onrenderpixelbuffer.dita +++ b/dita/RTC/API/callback_ivideosink_onrenderpixelbuffer.dita @@ -2,7 +2,8 @@ ivideosink_onrenderpixelbuffer - + @@ -13,20 +14,21 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    @@ -34,10 +36,11 @@ <ph keyref="callback-section-title"/>

    - - - - - + + + + + + diff --git a/dita/RTC/API/callback_ivideosink_onrenderrawdata.dita b/dita/RTC/API/callback_ivideosink_onrenderrawdata.dita index d4a12db2c0f..dcb60715ac8 100644 --- a/dita/RTC/API/callback_ivideosink_onrenderrawdata.dita +++ b/dita/RTC/API/callback_ivideosink_onrenderrawdata.dita @@ -2,7 +2,8 @@ ivideosink_onrenderrawdata - + @@ -13,20 +14,21 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    @@ -34,10 +36,11 @@ <ph keyref="callback-section-title"/>

    - - - - - + + + + + + diff --git a/dita/RTC/API/callback_ivideosink_onstart.dita b/dita/RTC/API/callback_ivideosink_onstart.dita index daf789e9ee1..e0df0dd1863 100644 --- a/dita/RTC/API/callback_ivideosink_onstart.dita +++ b/dita/RTC/API/callback_ivideosink_onstart.dita @@ -2,7 +2,8 @@ ivideosink_onstart - + @@ -13,20 +14,21 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    @@ -34,10 +36,11 @@ <ph keyref="callback-section-title"/>

    - - - - - + + + + + + diff --git a/dita/RTC/API/callback_ivideosink_onstop.dita b/dita/RTC/API/callback_ivideosink_onstop.dita index a9d5393bdf0..e1136a25001 100644 --- a/dita/RTC/API/callback_ivideosink_onstop.dita +++ b/dita/RTC/API/callback_ivideosink_onstop.dita @@ -2,7 +2,8 @@ ivideosink_onstop - + @@ -13,20 +14,21 @@

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    @@ -34,10 +36,11 @@ <ph keyref="callback-section-title"/>

    - - - - - + + + + + + diff --git a/dita/RTC/API/callback_onactivespeaker.dita b/dita/RTC/API/callback_onactivespeaker.dita index 62a3df122c4..06c44e6e78a 100644 --- a/dita/RTC/API/callback_onactivespeaker.dita +++ b/dita/RTC/API/callback_onactivespeaker.dita @@ -13,46 +13,45 @@

    - virtual void onActiveSpeaker(uid_t userId) { (void)userId; } - public virtual void OnActiveSpeaker(uint userId) {}

    + virtual void onActiveSpeaker(uid_t userId) { (void)userId; } + public virtual void OnActiveSpeaker(uint userId) {}

    - virtual void onActiveSpeaker(uid_t uid) { + virtual void onActiveSpeaker(uid_t uid) { (void)uid; } - public virtual void OnActiveSpeaker(uint uid)

    + public virtual void OnActiveSpeaker(uint uid)

    - public void onActiveSpeaker(int uid) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid; - on(evt: EngineEvents.ACTIVE_SPEAKER, cb: (uid: number) => void): this; - - UidCallback? activeSpeaker;

    + public void onActiveSpeaker(int uid) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid; + on(evt: EngineEvents.ACTIVE_SPEAKER, cb: (uid: number) => void): this; + + UidCallback? activeSpeaker; +

    -

    成功调用 后,SDK 会持续监测音量最大的远端用户,并统计该用户被判断为音量最大者的次数。当前时间段内,该次数累积最多的远端用户为最活跃的用户。

    -

    当频道内用户数量大于或等于 2 且有活跃用户时,SDK 会触发该回调并报告最活跃用户的 uid。 - - - - -

      -
    • 如果最活跃用户一直是同一位用户,则 SDK 不会再次触发 回调。
    • -
    • 如果最活跃用户有变化,则 SDK 会再次触发该回调并报告新的最活跃用户的 uid
    • -

    +

    成功调用 后,SDK + 会持续监测音量最大的远端用户,并统计该用户被判断为音量最大者的次数。当前时间段内,该次数累积最多的远端用户为最活跃的用户。

    +

    当频道内用户数量大于或等于 2 且有活跃用户时,SDK 会触发该回调并报告最活跃用户的 uid

      +
    • 如果最活跃用户一直是同一位用户,则 SDK 不会再次触发 回调。
    • +
    • 如果最活跃用户有变化,则 SDK 会再次触发该回调并报告新的最活跃用户的 uid
    • +
    +

    <ph keyref="callback-section-title"/>

    - - - - - - uiduserId - uid - speakerUid - 远端最活跃用户的 ID。 - -

    + + + + + + uiduserId + uid + speakerUid + 远端最活跃用户的 ID。 + + +
    diff --git a/dita/RTC/API/callback_onapicallexecuted.dita b/dita/RTC/API/callback_onapicallexecuted.dita index 514b3a3e0c3..fcf025b3f94 100644 --- a/dita/RTC/API/callback_onapicallexecuted.dita +++ b/dita/RTC/API/callback_onapicallexecuted.dita @@ -13,48 +13,51 @@

    - public void onApiCallExecuted(int error, String api, String result) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onApiCallExecuted(int error, String api, String result) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didApiCallExecute:(NSInteger)error api:(NSString * _Nonnull)api result:(NSString * _Nonnull)result; - virtual void onApiCallExecuted(int err, + virtual void onApiCallExecuted(int err, const char* api, const char* result) { (void)err; (void)api; (void)result; } - on(evt: EngineEvents.API_CALL_EXECUTED, cb: ( + on(evt: EngineEvents.API_CALL_EXECUTED, cb: ( api: string, err: number, result: string) => void ): this; - public virtual void OnApiCallExecuted(int err, string api, string result) - - ApiCallCallback? apiCallExecuted;

    + public virtual void OnApiCallExecuted(int err, string api, string result) + + ApiCallCallback? apiCallExecuted; +

    <ph keyref="callback-section-title"/>

    - - - - - - err - error - 当方法调用失败时 SDK 返回的错误码。详细的错误信息及排查方法请参考错误码和警告码如果该方法调用成功,SDK 会返回 0。 - - - api - SDK 执行的 API 方法。 - - - result - SDK 调用 API 的结果。 - -

    + + + + + + err + error + 当方法调用失败时 SDK 返回的错误码。详细的错误信息及排查方法请参考错误码和警告码如果该方法调用成功,SDK 会返回 0。 + + + api + SDK 执行的 API 方法。 + + + result + SDK 调用 API 的结果。 + + +
    diff --git a/dita/RTC/API/callback_onapierror.dita b/dita/RTC/API/callback_onapierror.dita index d4ce7f1dff0..c4da784d123 100644 --- a/dita/RTC/API/callback_onapierror.dita +++ b/dita/RTC/API/callback_onapierror.dita @@ -13,28 +13,32 @@

    - - - - on(evt: EngineEvents.API_ERROR, cb: (apiType: ApiTypeEngine, msg: string) => void): this; - - -

    + + + + on(evt: EngineEvents.API_ERROR, cb: (apiType: ApiTypeEngine, msg: string) => void): this; + + + +

    声网 SDK 运行过程中,当 Electron 层发生错误时,SDK 会触发该回调。

    - 该回调仅报告 Electron 层发生的错误。如果你想收到 Native 层发生的错误,请改用
    + 该回调仅报告 Electron 层发生的错误。如果你想收到 Native + 层发生的错误,请改用 +
    参数 - - apiType - 内部引擎。可忽略。 - - - msg - 错误描述。典型出错原因为调用 API 时传入参数出错,如参数值不符合规范、参数个数不正确。 - -
    + + apiType + 内部引擎。可忽略。 + + + msg + 错误描述。典型出错原因为调用 API 时传入参数出错,如参数值不符合规范、参数个数不正确。 + + +
    diff --git a/dita/RTC/API/callback_onaudiodevicestatechanged.dita b/dita/RTC/API/callback_onaudiodevicestatechanged.dita index 278f774050c..892ad15460c 100644 --- a/dita/RTC/API/callback_onaudiodevicestatechanged.dita +++ b/dita/RTC/API/callback_onaudiodevicestatechanged.dita @@ -1,8 +1,12 @@ - <ph keyref="onAudioDeviceStateChanged"/> - 音频设备变化回调。 + + <ph keyref="onAudioDeviceStateChanged"/> + + + 音频设备变化回调。 + @@ -13,65 +17,56 @@

    - - - virtual void onAudioDeviceStateChanged(const char* deviceId, + + + virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) { (void)deviceId; (void)deviceType; (void)deviceState; } - on(evt: EngineEvents.AUDIO_DEVICE_STATE_CHANGED, cb: ( + on(evt: EngineEvents.AUDIO_DEVICE_STATE_CHANGED, cb: ( deviceId: string, deviceType: number, deviceState: MEDIA_DEVICE_STATE_TYPE) => void ): this; - public virtual void OnAudioDeviceStateChanged(string deviceId, int deviceType, int deviceState) - - AudioDeviceStateChanged? audioDeviceStateChanged;

    + public virtual void OnAudioDeviceStateChanged(string deviceId, int deviceType, int deviceState) + + AudioDeviceStateChanged? audioDeviceStateChanged; +

    提示系统音频设备状态发生改变,比如耳机被拔出。

    - 该方法仅适用于 Windows 和 macOS 平台。
    + 该方法仅适用于 Windows 和 macOS 平台。 +
    - <ph keyref="callback-section-title"/> + + <ph keyref="callback-section-title"/> +

    - - deviceId - 设备 ID。 - - - deviceType - - 设备类型定义。详见 - - 。 - - - - deviceState - - 设备状态定义。 - - -

      -
    • - macOS 平台: - - -
        -
      • 0: 设备就绪。
      • -
      • 8: 设备被拔出。
      • -
    • -
    • - Windows 平台:详见 - - 。 + + deviceId + 设备 ID。 + + + deviceType + 设备类型定义。详见 + + + deviceState + 设备状态定义。
        +
      • macOS 平台:
          +
        • 0: 设备就绪。
        • +
        • 8: 设备被拔出。
        • +
      • -
      -
      -
    +
  • Windows 平台:详见
  • + + + + +
    diff --git a/dita/RTC/API/callback_onaudiodevicetestvolumeindication.dita b/dita/RTC/API/callback_onaudiodevicetestvolumeindication.dita index 2d20d0086ef..896d7d0ea69 100644 --- a/dita/RTC/API/callback_onaudiodevicetestvolumeindication.dita +++ b/dita/RTC/API/callback_onaudiodevicetestvolumeindication.dita @@ -13,33 +13,37 @@

    - virtual void onAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) { + virtual void onAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) { (void)volumeType; (void)volume; } - - public virtual void OnAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) - - OnAudioDeviceTestVolumeIndication? audioDeviceTestVolumeIndication;

    + + public virtual void OnAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) + + OnAudioDeviceTestVolumeIndication? audioDeviceTestVolumeIndication; +

    -

    成功调用 方法开启音频设备测试后, SDK 会按设置的时间间隔触发 回调,报告被测试音频设备的音量信息。

    +

    成功调用 方法开启音频设备测试后, SDK 会按设置的时间间隔触发 + 回调,报告被测试音频设备的音量信息。

    参数 - - volumeType - -

    音量类型。详见

    -
    -
    - - volume - -

    音量大小,范围为 [0,255]。

    -
    -
    -
    + + volumeType + +

    音量类型。详见

    +
    +
    + + volume + +

    音量大小,范围为 [0,255]。

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onaudiodevicevolumechanged.dita b/dita/RTC/API/callback_onaudiodevicevolumechanged.dita index e8d710f394c..fb468bbb012 100644 --- a/dita/RTC/API/callback_onaudiodevicevolumechanged.dita +++ b/dita/RTC/API/callback_onaudiodevicevolumechanged.dita @@ -13,48 +13,47 @@

    - - - virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, + + + virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) { (void)deviceType; (void)volume; (void)muted; } - on(evt: EngineEvents.AUDIO_DEVICE_VOLUME_CHANGED, cb: ( + on(evt: EngineEvents.AUDIO_DEVICE_VOLUME_CHANGED, cb: ( deviceType: MEDIA_DEVICE_TYPE, volume: number, muted: boolean) => void ): this; - public virtual void OnAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) - - AudioDeviceVolumeChanged? audioDeviceVolumeChanged;

    + public virtual void OnAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) + + AudioDeviceVolumeChanged? audioDeviceVolumeChanged; +

    <ph keyref="callback-section-title"/>

    - - deviceType - 设备类型定义。详见 - - - volume - 音量。范围为 [0,255]。 - - - muted - -

    音频设备是否为静音状态: - - -

      -
    • : 音频设备已静音。
    • -
    • : 音频设备未被静音。
    • -

    - - -
    + + deviceType + 设备类型定义。详见 + + + volume + 音量。范围为 [0,255]。 + + + muted + +

    音频设备是否为静音状态:

      +
    • : 音频设备已静音。
    • +
    • : 音频设备未被静音。
    • +

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onaudioeffectfinished.dita b/dita/RTC/API/callback_onaudioeffectfinished.dita index f613e77cd0f..64ed8753d04 100644 --- a/dita/RTC/API/callback_onaudioeffectfinished.dita +++ b/dita/RTC/API/callback_onaudioeffectfinished.dita @@ -13,14 +13,15 @@

    - public void onAudioEffectFinished(int soundId) {} - - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId; - virtual void onAudioEffectFinished(int soundId) { + public void onAudioEffectFinished(int soundId) {} + - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId; + virtual void onAudioEffectFinished(int soundId) { } - on(evt: EngineEvents.AUDIO_EFFECT_FINISHED, cb: (soundId: number) => void): this; - public virtual void OnAudioEffectFinished(int soundId) - - SoundIdCallback? audioEffectFinished;

    + on(evt: EngineEvents.AUDIO_EFFECT_FINISHED, cb: (soundId: number) => void): this; + public virtual void OnAudioEffectFinished(int soundId) + + SoundIdCallback? audioEffectFinished; +

    当播放音效结束后,会触发该回调。

    @@ -29,14 +30,15 @@ <ph keyref="callback-section-title"/>

    - - - - - - soundId - 指定音效的 ID。每个音效均有唯一的 ID。 - -

    + + + + + + soundId + 指定音效的 ID。每个音效均有唯一的 ID。 + + +
    diff --git a/dita/RTC/API/callback_onaudiomixingfinished.dita b/dita/RTC/API/callback_onaudiomixingfinished.dita index f8b4e90ba96..a2bbafac70e 100644 --- a/dita/RTC/API/callback_onaudiomixingfinished.dita +++ b/dita/RTC/API/callback_onaudiomixingfinished.dita @@ -13,32 +13,36 @@

    - public void onAudioMixingFinished() {} - - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onAudioMixingFinished() { + public void onAudioMixingFinished() {} + - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onAudioMixingFinished() { } - on(evt: EngineEvents.AUDIO_MIXING_FINISHED, cb: (soundId: number) => void): this; - public virtual void OnAudioMixingFinished() - - EmptyCallback? audioMixingFinished;

    + on(evt: EngineEvents.AUDIO_MIXING_FINISHED, cb: (soundId: number) => void): this; + public virtual void OnAudioMixingFinished() + + EmptyCallback? audioMixingFinished; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    -

    当调用 播放本地音乐文件结束后,会触发该回调。如果调用 失败,会返回错误码 WARN_AUDIO_MIXING_OPEN_ERROR

    +

    当调用 + 播放本地音乐文件结束后,会触发该回调。如果调用 失败,会返回错误码 + WARN_AUDIO_MIXING_OPEN_ERROR

    <ph keyref="callback-section-title"/>

    - - - - -

    + + + + + +
    diff --git a/dita/RTC/API/callback_onaudiomixingstatechanged.dita b/dita/RTC/API/callback_onaudiomixingstatechanged.dita index 92ed5b99567..94f31045fee 100644 --- a/dita/RTC/API/callback_onaudiomixingstatechanged.dita +++ b/dita/RTC/API/callback_onaudiomixingstatechanged.dita @@ -13,28 +13,29 @@

    - public void onAudioMixingStateChanged(int state,int reason) - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine + public void onAudioMixingStateChanged(int state,int reason) + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine localAudioMixingStateDidChanged:(AgoraAudioMixingStateCode)state reason:(AgoraAudioMixingReasonCode)reason; - virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) - on( + virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) + on( evt: EngineEvents.AUDIO_MIXING_STATE_CHANGED, cb: ( state: AUDIO_MIXING_STATE_TYPE, reason: AUDIO_MIXING_REASON_TYPE ) => void ): this; - public virtual void OnAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) - - AudioMixingStateCallback? audioMixingStateChanged;

    + public virtual void OnAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) + + AudioMixingStateCallback? audioMixingStateChanged; +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +

    该回调在音乐文件播放状态发生改变时触发,并报告当前的播放状态和错误码。

    @@ -42,45 +43,60 @@ <ph keyref="callback-section-title"/>

    - - - - - - state - 音乐文件播放状态。详见 -

    -

      -
    • (710): 音乐文件正常播放。
    • -
    • (711): 音乐文件暂停播放。
    • -
    • (713): 音乐文件停止播放。
    • -
    • (714): 音乐文件报错。SDK 会在 + + + + + + state + 音乐文件播放状态。详见 +

      +

        +
      • (710): 音乐文件正常播放。
      • +
      • (711): 音乐文件暂停播放。
      • +
      • (713): 音乐文件停止播放。
      • +
      • (714): 音乐文件报错。SDK 会在 reason 参数中返回具体的报错原因。
      • -
      • (715): +
      • (715): 音乐文件已结束一次播放。
      • -
      • (716): +
      • (716): 音乐文件已结束循环播放。
      • -

      -
      -
      - - reason - 音乐文件播放状态改变的原因。详见 -

      -

        -
      • (701): 音乐文件打开出错。例如,本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL。
      • -
      • (702): 音乐文件打开太频繁。如需多次调用该方法,请确保调用间隔大于 500 ms。
      • -
      • (703): 音乐文件播放中断。
      • -
      • (720): 成功调用 播放音乐文件。
      • -
      • (721): 音乐文件完成一次循环播放。
      • -
      • (722): 音乐文件开始新的一次循环播放。
      • -
      • (723): 音乐文件完成所有循环播放。。
      • -
      • (724): 成功调用 停止播放音乐文件。。
      • -
      • (725): 成功调用 暂停播放音乐文件。。
      • -
      • (726): 成功调用 恢复音乐文件播放。。
      • -

      -
      -
      - +
    +

    + + + + reason + 音乐文件播放状态改变的原因。详见 +

    +

      +
    • (701): + 音乐文件打开出错。例如,本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL。
    • +
    • (702): + 音乐文件打开太频繁。如需多次调用该方法,请确保调用间隔大于 500 ms。
    • +
    • (703): + 音乐文件播放中断。
    • +
    • (720): 成功调用 + 播放音乐文件。
    • +
    • (721): + 音乐文件完成一次循环播放。
    • +
    • (722): + 音乐文件开始新的一次循环播放。
    • +
    • (723): + 音乐文件完成所有循环播放。。
    • +
    • (724): 成功调用 + 停止播放音乐文件。。
    • +
    • (725): 成功调用 + 暂停播放音乐文件。。
    • +
    • (726): 成功调用 + 恢复音乐文件播放。。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onaudiopublishstatechanged.dita b/dita/RTC/API/callback_onaudiopublishstatechanged.dita index c6fa9724d1b..9cc607318ab 100644 --- a/dita/RTC/API/callback_onaudiopublishstatechanged.dita +++ b/dita/RTC/API/callback_onaudiopublishstatechanged.dita @@ -13,14 +13,14 @@

    - public void onAudioPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, + public void onAudioPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioPublishStateChange:(NSString * _Nonnull)channelId oldState:(AgoraStreamPublishState)oldState newState:(AgoraStreamPublishState)newState elapseSinceLastState:(int)elapseSinceLastState; - virtual void onAudioPublishStateChanged(const char* channel, + virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { @@ -29,52 +29,52 @@ elapseSinceLastState:(int)elapseSinceLastState; (void)newState; (void)elapseSinceLastState; } - on(evt: EngineEvents.AUDIO_PUBLISH_STATE_CHANGED, cb: ( + on(evt: EngineEvents.AUDIO_PUBLISH_STATE_CHANGED, cb: ( channel: string, oldState: STREAM_PUBLISH_STATE, newState: STREAM_PUBLISH_STATE, elapseSinceLastState: number ) => void): this; - public virtual void OnAudioPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, + public virtual void OnAudioPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) - - StreamPublishStateCallback? audioPublishStateChanged; + + StreamPublishStateCallback? audioPublishStateChanged;

    - -
    自从
    -
    v3.1.0
    -
    + +
    自从
    +
    v3.1.0
    +
    <ph keyref="callback-section-title"/> -

    +

    - - - - - - channel - channelId - 频道名。 - - - oldState - 之前的发布状态,详见 - - - newState - 当前的发布状态,详见 - - - elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 - -

    + + + + + + channel + channelId + 频道名。 + + + oldState + 之前的发布状态,详见 + + + newState + 当前的发布状态,详见 + + + elapseSinceLastState + 两次状态变化时间间隔(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onaudioquality.dita b/dita/RTC/API/callback_onaudioquality.dita index ec9b6f6dd4e..be80057ba14 100644 --- a/dita/RTC/API/callback_onaudioquality.dita +++ b/dita/RTC/API/callback_onaudioquality.dita @@ -13,30 +13,31 @@

    - public virtual void OnAudioQuality(RtcConnection connection, uint remoteUid, int quality, UInt16 delay, UInt16 lost) {}

    + public virtual void OnAudioQuality(RtcConnection connection, uint remoteUid, int quality, UInt16 delay, UInt16 lost) {}

    - public virtual void OnAudioQuality(uint uid, int quality, ushort delay, ushort lost)

    + public virtual void OnAudioQuality(uint uid, int quality, ushort delay, ushort lost)

    - 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) { + 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; } - - - AudioQualityCallback? audioQuality;

    + + + AudioQualityCallback? audioQuality; +

    -

    - -
    弃用:
    -
    请改用
    -
    -
    +
    + +
    弃用:
    +
    请改用
    +
    +

    该回调描述远端用户在通话中的音频质量,针对每个远端用户/主播每 2 秒触发一次。如果远端同时存在多个用户/主播,该回调每 2 秒会被触发多次。

    @@ -44,34 +45,36 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - 用户 ID,指定是谁发的音频流。 - - - quality - 语音质量。详见 -

      -
    • -
    - - - delay - 音频包从发送端到接收端的延迟(毫秒),包括声音采样前处理、网络传输、网络抖动缓冲引起的延迟。 - - - lost - 音频包从发送端到接收端的丢包率 (%)。 - - + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + 用户 ID,指定是谁发的音频流。 + + + quality + 语音质量。详见 +
      +
    • +
    +
    +
    + + delay + 音频包从发送端到接收端的延迟(毫秒),包括声音采样前处理、网络传输、网络抖动缓冲引起的延迟。 + + + lost + 音频包从发送端到接收端的丢包率 (%)。 + + +
    diff --git a/dita/RTC/API/callback_onaudioroutechanged.dita b/dita/RTC/API/callback_onaudioroutechanged.dita index bb708f917c4..827382c3fcf 100644 --- a/dita/RTC/API/callback_onaudioroutechanged.dita +++ b/dita/RTC/API/callback_onaudioroutechanged.dita @@ -13,64 +13,64 @@

    - virtual void onAudioRoutingChanged(int routing) { (void)routing; } + virtual void onAudioRoutingChanged(int routing) { (void)routing; } - public virtual void OnAudioRoutingChanged(int routing) {}

    + public virtual void OnAudioRoutingChanged(int routing) {}

    - virtual void onAudioRouteChanged(AUDIO_ROUTE_TYPE routing) { + virtual void onAudioRouteChanged(AUDIO_ROUTE_TYPE routing) { (void)routing; } - public virtual void OnAudioRouteChanged(AUDIO_ROUTE_TYPE routing)

    + public virtual void OnAudioRouteChanged(AUDIO_ROUTE_TYPE routing)

    - public void onAudioRouteChanged(int routing) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing; - - - AudioRouteCallback? audioRouteChanged;

    + public void onAudioRouteChanged(int routing) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing; + + + AudioRouteCallback? audioRouteChanged; +

    -

    该方法仅适用于 Android 和 iOS 平台。

    -
    +

    该方法仅适用于 Android 和 iOS 平台。

    + +
    <ph keyref="callback-section-title"/>

    - - - - - - routing - -

    当前的音频路由。详见

    -

    当前的音频路由。详见 -

      -
    • -1:默认的语音路由
    • -
    • 0:耳机
    • -
    • 1:听筒
    • -
    • 2:不带麦的耳机
    • -
    • 3:手机的扬声器
    • -
    • 4:外接扬声器
    • -
    • 5:蓝牙耳机
    • -

    -

    当前的音频路由: - - - - - -

      -
    • (-1):默认的语音路由。
    • -
    • (0):耳机。
    • -
    • (1):听筒。
    • -
    • (2):不带麦的耳机。
    • -
    • (3):手机的扬声器。
    • -
    • (4):外接的扬声器。
    • -
    • (5):蓝牙耳机。
    • -

    - - -
    + + + + + + routing + +

    当前的音频路由。详见

    +

    当前的音频路由。详见 +

      +
    • -1:默认的语音路由
    • +
    • 0:耳机
    • +
    • 1:听筒
    • +
    • 2:不带麦的耳机
    • +
    • 3:手机的扬声器
    • +
    • 4:外接扬声器
    • +
    • 5:蓝牙耳机
    • +

    +

    当前的音频路由:

      +
    • (-1):默认的语音路由。
    • +
    • (0):耳机。
    • +
    • (1):听筒。
    • +
    • (2):不带麦的耳机。
    • +
    • (3):手机的扬声器。
    • +
    • (4):外接的扬声器。
    • +
    • (5):蓝牙耳机。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onaudiosubscribestatechanged.dita b/dita/RTC/API/callback_onaudiosubscribestatechanged.dita index e418229437b..f16e5139165 100644 --- a/dita/RTC/API/callback_onaudiosubscribestatechanged.dita +++ b/dita/RTC/API/callback_onaudiosubscribestatechanged.dita @@ -13,15 +13,15 @@

    - public void onAudioSubscribeStateChanged(String channel, int uid, STREAM_SUBSCRIBE_STATE oldState, + public void onAudioSubscribeStateChanged(String channel, int uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (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, + virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, @@ -32,57 +32,57 @@ elapseSinceLastState:(int)elapseSinceLastState; (void)newState; (void)elapseSinceLastState; } - on(evt: EngineEvents.AUDIO_SUBSCRIBE_STATE_CHANGED, cb: ( + on(evt: EngineEvents.AUDIO_SUBSCRIBE_STATE_CHANGED, cb: ( channel: string, uid: number, oldState: STREAM_SUBSCRIBE_STATE, newState: STREAM_SUBSCRIBE_STATE, elapseSinceLastState: number ) => void): this; - public virtual void OnAudioSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnAudioSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - - StreamSubscribeStateCallback? audioSubscribeStateChanged; + + StreamSubscribeStateCallback? audioSubscribeStateChanged;

    - -
    自从
    -
    v3.1.0
    -
    + +
    自从
    +
    v3.1.0
    +
    <ph keyref="callback-section-title"/> -

    +

    - - - - - - channel - channelId - 频道名。 - - - uid - 远端用户的 ID。 - - - oldState - 之前的订阅状态,详见 - - - newState - 当前的订阅状态,详见 - - - elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 - -

    + + + + + + channel + channelId + 频道名。 + + + uid + 远端用户的 ID。 + + + oldState + 之前的订阅状态,详见 + + + newState + 当前的订阅状态,详见 + + + elapseSinceLastState + 两次状态变化时间间隔(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onaudiovolumeindication.dita b/dita/RTC/API/callback_onaudiovolumeindication.dita index 9c448355fdc..0113a2f2dd0 100644 --- a/dita/RTC/API/callback_onaudiovolumeindication.dita +++ b/dita/RTC/API/callback_onaudiovolumeindication.dita @@ -13,83 +13,90 @@

    - public virtual void OnAudioVolumeIndication(RtcConnection connection, AudioVolumeInfo[] speakers, uint speakerNumber, int totalVolume) {}

    + public virtual void OnAudioVolumeIndication(RtcConnection connection, AudioVolumeInfo[] speakers, uint speakerNumber, int totalVolume) {}

    - public virtual void OnAudioVolumeIndication(AudioVolumeInfo[] speakers, uint speakerNumber, int totalVolume)

    + public virtual void OnAudioVolumeIndication(AudioVolumeInfo[] speakers, uint speakerNumber, int totalVolume)

    - public void onAudioVolumeIndication(AudioVolumeInfo[] speakers, int totalVolume) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onAudioVolumeIndication(AudioVolumeInfo[] speakers, int totalVolume) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportAudioVolumeIndicationOfSpeakers:(NSArray<AgoraRtcAudioVolumeInfo *> * _Nonnull)speakers totalVolume:(NSInteger)totalVolume; - virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, + virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber, int totalVolume) { (void)speakers; (void)speakerNumber; (void)totalVolume; } - on(evt: EngineEvents.AUDIO_VOLUME_INDICATION, cb: ( + on(evt: EngineEvents.AUDIO_VOLUME_INDICATION, cb: ( speakers: AudioVolumeInfo[], speakerNumber: number, totalVolume: number ) => void ): this; - - AudioVolumeCallback? audioVolumeIndication;

    + + AudioVolumeCallback? audioVolumeIndication; +

    -

    该回调默认禁用,你可以通过 开启。 开启后,只要频道内有发流用户,SDK 会在加入频道后按 中设置的时间间隔触发 回调。每次会触发两个 回调,一个报告本地发流用户的音量相关信息,另一个报告 瞬时音量最高的远端用户(最多 3 位)的音量相关信息。

    - - 启用该功能后,如果有用户将自己静音(调用了 ),SDK 行为会受如下影响: - - - -
      -
    • 本地用户静音后,SDK 立即停止报告本地用户的音量提示回调。
    • -
    • 瞬时音量最高的远端用户静音后 20 秒,远端的音量提示回调中将不再包含该用户;如果远端所有用户都将自己静音,20 秒后 SDK 停止报告远端用户的音量提示回调。
    • -
    +

    该回调默认禁用,你可以通过 开启。 开启后,只要频道内有发流用户,SDK + 会在加入频道后按 中设置的时间间隔触发 回调。每次会触发两个 回调,一个报告本地发流用户的音量相关信息,另一个报告 瞬时音量最高的远端用户(最多 3 + 位)的音量相关信息。

    + 启用该功能后,如果有用户将自己静音(调用了 ),SDK + 行为会受如下影响:
      +
    • 本地用户静音后,SDK 立即停止报告本地用户的音量提示回调。
    • +
    • 瞬时音量最高的远端用户静音后 20 秒,远端的音量提示回调中将不再包含该用户;如果远端所有用户都将自己静音,20 秒后 SDK + 停止报告远端用户的音量提示回调。
    • +
    +
    +
    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - speakers - 用户音量信息,详见 数组。如果 + + + + + + connection + Connection 信息。详见 + + + speakers + 用户音量信息,详见 数组。如果 speakers 为空,则表示远端用户不发流或没有远端用户。 - - - speakerNumber - -

    用户数量。 - - -

      -
    • 在本地用户的回调中,只要本地用户在发流,speakerNumber 始终为 + + + speakerNumber + +

      用户数量。

        +
      • 在本地用户的回调中,只要本地用户在发流,speakerNumber 始终为 1。
      • -
      • 在远端用户的回调中,speakerNumber 取值范围为 [0,3]。如果远端发流用户数量大于 3,则此回调中 speakerNumber 值为 3。
      • -

      -
      -
      - - totalVolume - -

      混音后的总音量,取值范围为 [0,255]。 - - -

        -
      • 在本地用户的回调中,totalVolume 为本地发流用户的音量。
      • -
      • 在远端用户的回调中,totalVolume 为瞬时音量最高的远端用户(最多 3 位)混音后的总音量。 如果用户调用了 ,则 totalVolume 为音乐文件和用户声音的总音量。
      • -

      -
      -
      -
    +
  • 在远端用户的回调中,speakerNumber 取值范围为 + [0,3]。如果远端发流用户数量大于 3,则此回调中 speakerNumber 值为 + 3。
  • + +

    + + + + totalVolume + +

    混音后的总音量,取值范围为 [0,255]。

      +
    • 在本地用户的回调中,totalVolume 为本地发流用户的音量。
    • +
    • 在远端用户的回调中,totalVolume 为瞬时音量最高的远端用户(最多 3 + 位)混音后的总音量。 如果用户调用了 ,则 + totalVolume + 为音乐文件和用户声音的总音量。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_oncameraexposureareachanged.dita b/dita/RTC/API/callback_oncameraexposureareachanged.dita index 6194a9f4801..14d88392172 100644 --- a/dita/RTC/API/callback_oncameraexposureareachanged.dita +++ b/dita/RTC/API/callback_oncameraexposureareachanged.dita @@ -13,57 +13,60 @@

    - public void onCameraExposureAreaChanged(Rect rect) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine cameraExposureDidChangedToRect:(CGRect)rect; - virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) { + public void onCameraExposureAreaChanged(Rect rect) {} + - (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; } - on(evt: EngineEvents.CAMERA_EXPOSURE_AREA_CHANGED, cb: ( + on(evt: EngineEvents.CAMERA_EXPOSURE_AREA_CHANGED, cb: ( x: number, y: number, width: number, height: number) => void ): this; - public virtual void OnCameraExposureAreaChanged(int x, int y, int width, int height) - - RectCallback? cameraExposureAreaChanged;

    + public virtual void OnCameraExposureAreaChanged(int x, int y, int width, int height) + + RectCallback? cameraExposureAreaChanged; +

    该回调是由本地用户调用 方法改变曝光位置触发的。

    - 该回调仅适用于 Android 和 iOS。
    + 该回调仅适用于 Android 和 iOS。 +
    <ph keyref="callback-section-title"/>

    - - x - 发生改变的曝光区域的 x 坐标。 - - - y - 发生改变的曝光区域的 y 坐标。 - - - width - 发生改变的曝光区域的宽度。 - - - height - 发生改变的曝光区域的高度。 - + + x + 发生改变的曝光区域的 x 坐标。 + + + y + 发生改变的曝光区域的 y 坐标。 + + + width + 发生改变的曝光区域的宽度。 + + + height + 发生改变的曝光区域的高度。 + - - - - - - rect - 镜头内表示曝光的区域。 - -

    + + + + + + rect + 镜头内表示曝光的区域。 + + +
    diff --git a/dita/RTC/API/callback_oncamerafocusareachanged.dita b/dita/RTC/API/callback_oncamerafocusareachanged.dita index bbf414fab24..bfafd52f188 100644 --- a/dita/RTC/API/callback_oncamerafocusareachanged.dita +++ b/dita/RTC/API/callback_oncamerafocusareachanged.dita @@ -13,57 +13,61 @@

    - public void onCameraFocusAreaChanged(Rect rect) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine cameraFocusDidChangedToRect:(CGRect)rect; - virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) { + public void onCameraFocusAreaChanged(Rect rect) {} + - (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; } - on(evt: EngineEvents.CAMERA_FOCUS_AREA_CHANGED, cb: ( + on(evt: EngineEvents.CAMERA_FOCUS_AREA_CHANGED, cb: ( x: number, y: number, width: number, height: number) => void ): this; - public virtual void OnCameraFocusAreaChanged(int x, int y, int width, int height) - - RectCallback? cameraFocusAreaChanged;

    + public virtual void OnCameraFocusAreaChanged(int x, int y, int width, int height) + + RectCallback? cameraFocusAreaChanged; +

    -

    该回调是由本地用户调用 方法改变对焦位置触发的。

    - 该回调仅适用于 Android 和 iOS。
    +

    该回调是由本地用户调用 方法改变对焦位置触发的。

    + 该回调仅适用于 Android 和 iOS。 +
    <ph keyref="callback-section-title"/>

    - - x - 发生改变的对焦区域的 x 坐标。 - - - y - 发生改变的对焦区域的 y 坐标。 - - - width - 发生改变的对焦区域的宽度。 - - - height - 发生改变的对焦区域的高度。 - + + x + 发生改变的对焦区域的 x 坐标。 + + + y + 发生改变的对焦区域的 y 坐标。 + + + width + 发生改变的对焦区域的宽度。 + + + height + 发生改变的对焦区域的高度。 + - - rect - 镜头内表示对焦的区域。 - - - - - -

    + + rect + 镜头内表示对焦的区域。 + + + + + + +
    diff --git a/dita/RTC/API/callback_oncameraready.dita b/dita/RTC/API/callback_oncameraready.dita index 495d66b32a6..a3d95ab75fd 100644 --- a/dita/RTC/API/callback_oncameraready.dita +++ b/dita/RTC/API/callback_oncameraready.dita @@ -13,22 +13,24 @@

    - public void onCameraReady() {} - - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onCameraReady() - on(evt: EngineEvents.CAMERA_READY, cb: () => void): this; - public virtual void OnCameraReady() - - EmptyCallback? cameraReady;

    + public void onCameraReady() {} + - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onCameraReady() + on(evt: EngineEvents.CAMERA_READY, cb: () => void): this; + public virtual void OnCameraReady() + + EmptyCallback? cameraReady; +

    - -
    弃用:
    -
    -

    请改用 中的 (1)。

    -
    -
    + +
    弃用:
    +
    +

    请改用 中的 (1)。

    +
    +

    该回调提示已成功打开摄像头,可以开始捕获视频。

    @@ -36,10 +38,11 @@ <ph keyref="callback-section-title"/>

    - - - - - + + + + + + diff --git a/dita/RTC/API/callback_onchannelmediarelayevent.dita b/dita/RTC/API/callback_onchannelmediarelayevent.dita index 46dac35a6f1..df994a494a8 100644 --- a/dita/RTC/API/callback_onchannelmediarelayevent.dita +++ b/dita/RTC/API/callback_onchannelmediarelayevent.dita @@ -13,60 +13,81 @@

    - virtual void onChannelMediaRelayEvent(int code) { + virtual void onChannelMediaRelayEvent(int code) { (void)code; } - public virtual void OnChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code)

    + public virtual void OnChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code)

    - virtual void onChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code) {} - public virtual void OnChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code)

    + virtual void onChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code) {} + public virtual void OnChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code) +

    - public void onChannelMediaRelayEvent(int code) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onChannelMediaRelayEvent(int code) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didReceiveChannelMediaRelayEvent:(AgoraChannelMediaRelayEvent)event; - on( + on( evt: EngineEvents.CHANNEL_MEDIA_RELAY_EVENT, cb: (code: CHANNEL_MEDIA_RELAY_EVENT) => void ): this; - - MediaRelayEventCallback? channelMediaRelayEvent;

    + + MediaRelayEventCallback? channelMediaRelayEvent; +

    <ph keyref="callback-section-title"/>

    - - - - - - code - event - -

    跨频道媒体流转发事件码。详见

    -

    跨频道媒体流转发事件码: - - -

      -
    • (0):网络中断导致用户与服务器连接断开。
    • -
    • (1):用户与服务器建立连接。
    • -
    • (2):用户已加入源频道。
    • -
    • (3):用户已加入目标频道。
    • -
    • (4):SDK 开始向目标频道发送数据包。
    • -
    • (5):服务器收到了目标频道发送的视频流。
    • -
    • (6):服务器收到了目标频道发送的音频流
    • -
    • (7):目标频道已更新。
    • -
    • (8):内部原因导致目标频道更新失败。
    • -
    • (9):目标频道未发生改变,即目标频道更新失败。
    • -
    • (10):目标频道名为
    • -
    • (11):视频属性已发送至服务器。
    • -
    • (12):暂停向目标频道转发媒体流成功。
    • -
    • (13):暂停向目标频道转发媒体流失败。
    • -
    • (14):恢复向目标频道转发媒体流成功。
    • -
    • (15):恢复向目标频道转发媒体流失败。
    • -

    - - -
    + + + + + + code + event + +

    跨频道媒体流转发事件码。详见

    +

    跨频道媒体流转发事件码:

      +
    • (0):网络中断导致用户与服务器连接断开。
    • +
    • (1):用户与服务器建立连接。
    • +
    • (2):用户已加入源频道。
    • +
    • (3):用户已加入目标频道。
    • +
    • (4):SDK + 开始向目标频道发送数据包。
    • +
    • (5):服务器收到了目标频道发送的视频流。
    • +
    • (6):服务器收到了目标频道发送的音频流
    • +
    • (7):目标频道已更新。
    • +
    • (8):内部原因导致目标频道更新失败。
    • +
    • (9):目标频道未发生改变,即目标频道更新失败。
    • +
    • (10):目标频道名为
    • +
    • (11):视频属性已发送至服务器。
    • +
    • (12):暂停向目标频道转发媒体流成功。
    • +
    • (13):暂停向目标频道转发媒体流失败。
    • +
    • (14):恢复向目标频道转发媒体流成功。
    • +
    • (15):恢复向目标频道转发媒体流失败。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onchannelmediarelaystatechanged.dita b/dita/RTC/API/callback_onchannelmediarelaystatechanged.dita index 11d5a62d221..d24176eaec3 100644 --- a/dita/RTC/API/callback_onchannelmediarelaystatechanged.dita +++ b/dita/RTC/API/callback_onchannelmediarelaystatechanged.dita @@ -13,22 +13,23 @@

    - public virtual void OnChannelMediaRelayStateChanged(int state, int code) {}

    + public virtual void OnChannelMediaRelayStateChanged(int state, int code) {}

    - public virtual void OnChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state, + public virtual void OnChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code)

    - public void onChannelMediaRelayStateChanged(int state, int code) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onChannelMediaRelayStateChanged(int state, int code) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state error:(AgoraChannelMediaRelayError)error; - virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,CHANNEL_MEDIA_RELAY_ERROR code) { + virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,CHANNEL_MEDIA_RELAY_ERROR code) { } - on(evt: EngineEvents.CHANNEL_MEDIA_RELAY_EVENT, cb: ( + on(evt: EngineEvents.CHANNEL_MEDIA_RELAY_EVENT, cb: ( event: CHANNEL_MEDIA_RELAY_EVENT ) => void): this; - - MediaRelayStateCallback? channelMediaRelayStateChanged;

    + + MediaRelayStateCallback? channelMediaRelayStateChanged; +

    当跨频道媒体流转发状态发生改变时,SDK 会触发该回调,并报告当前的转发状态以及相关的错误信息。

    @@ -37,61 +38,58 @@ channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state <ph keyref="callback-section-title"/>

    - - - - - - state - -

    跨频道媒体流转发状态。详见

    -

    跨频道媒体流转发状态: - - - -

      -
    • (0):SDK 正在初始化。
    • -
    • (1):SDK 尝试跨频道。
    • -
    • (2):源频道主播成功加入目标频道。
    • -
    • (3):发生异常,详见 code + + + + + + state + +

      跨频道媒体流转发状态。详见

      +

      跨频道媒体流转发状态:

        +
      • (0):SDK 正在初始化。
      • +
      • (1):SDK 尝试跨频道。
      • +
      • (2):源频道主播成功加入目标频道。
      • +
      • (3):发生异常,详见 code 中提示的错误信息。
      • -

      -
      -
      - - code - -

      跨频道媒体流转发出错的错误码。详见

      -

      跨频道媒体流转发出错的错误码: - - - -

        -
      • (0):一切正常。
      • -
      • +
      +

      +
      +
      + + code + +

      跨频道媒体流转发出错的错误码。详见

      +

      跨频道媒体流转发出错的错误码:

        +
      • (0):一切正常。
      • +
      • (1):服务器回应出错。
      • -
      • (2):服务器无回应。你可以调用 +
      • (2):服务器无回应。你可以调用 方法离开频道。
      • -
      • (3):SDK +
      • (3):SDK 无法获取服务,可能是因为服务器资源有限导致。
      • -
      • (4):服务器加入源频道失败。
      • -
      • +
      • (4):服务器加入源频道失败。
      • +
      • (5):服务器加入目标频道失败。
      • -
      • +
      • (6):服务器未收到源频道发送的数据。
      • -
      • +
      • (7):源频道发送数据失败。
      • -
      • (8):SDK +
      • (8):SDK 因网络质量不佳与服务器断开。你可以调用 方法离开当前频道。
      • -
      • (9):服务器内部出错。
      • -
      • (10):源频道的 Token +
      • (9):服务器内部出错。
      • +
      • (10):源频道的 Token 已过期。
      • -
      • (11):目标频道的 Token +
      • (11):目标频道的 Token 已过期。
      • -

      -
      -
      -
    + +

    + + + +
    diff --git a/dita/RTC/API/callback_onclientrolechanged.dita b/dita/RTC/API/callback_onclientrolechanged.dita index 81166413e93..be0999ce30f 100644 --- a/dita/RTC/API/callback_onclientrolechanged.dita +++ b/dita/RTC/API/callback_onclientrolechanged.dita @@ -6,48 +6,55 @@

    - public virtual void OnClientRoleChanged(RtcConnection connection, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) {}

    + public virtual void OnClientRoleChanged(RtcConnection connection, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) {}

    - public virtual void OnClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)

    + public virtual void OnClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole)

    - public void onClientRoleChanged(int oldRole, int newRole) {} + public void onClientRoleChanged(int oldRole, int newRole) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChanged: + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChanged: (AgoraClientRole)oldRole newRole:(AgoraClientRole)newRole; - virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) - on(evt: EngineEvents.CLIENT_ROLE_CHANGED, cb: ( + virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) + on(evt: EngineEvents.CLIENT_ROLE_CHANGED, cb: ( oldRole: CLIENT_ROLE_TYPE, newRole: CLIENT_ROLE_TYPE) => void ): this; - - ClientRoleCallback? clientRoleChanged;

    + + ClientRoleCallback? clientRoleChanged; +

    -

    直播场景下,本地用户加入频道后调用 成功改变用户角色时,例如主播切换为观众,或观众切换为主播,SDK 会触发该回调,报告切换前和切换后的角色。

    +

    直播场景下,本地用户加入频道后调用 成功改变用户角色时,例如主播切换为观众,或观众切换为主播,SDK + 会触发该回调,报告切换前和切换后的角色。

    <ph keyref="callback-section-title"/>

    - - - - - - oldRole - 切换前的角色: -

      -
    • -
    - - - newRole - 切换后的角色: -
      -
    • -
    -
    -
    + + + + + + oldRole + 切换前的角色: +
      +
    • +
    +
    +
    + + newRole + 切换后的角色: +
      +
    • +
    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onclientrolechangefailed.dita b/dita/RTC/API/callback_onclientrolechangefailed.dita index c6578b38dae..140de27e353 100644 --- a/dita/RTC/API/callback_onclientrolechangefailed.dita +++ b/dita/RTC/API/callback_onclientrolechangefailed.dita @@ -2,7 +2,7 @@ - <ph keyref="onClientRoleChangeFailed" /> + <ph keyref="onClientRoleChangeFailed"/> 直播场景下切换用户角色失败回调。 @@ -10,21 +10,22 @@

    - +

    -

    直播场景下,本地用户加入频道后调用 切换用户角色失败时,SDK 会触发该回调,报告切换失败的原因和当前的用户角色。

    +

    直播场景下,本地用户加入频道后调用 切换用户角色失败时,SDK + 会触发该回调,报告切换失败的原因和当前的用户角色。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> -

    +

    - - + + reason diff --git a/dita/RTC/API/callback_onconnectionbanned.dita b/dita/RTC/API/callback_onconnectionbanned.dita index 79e821b1e75..84619db1d31 100644 --- a/dita/RTC/API/callback_onconnectionbanned.dita +++ b/dita/RTC/API/callback_onconnectionbanned.dita @@ -13,37 +13,40 @@

    - public virtual void OnConnectionBanned(RtcConnection connection) {}

    + public virtual void OnConnectionBanned(RtcConnection connection) {} +

    - public virtual void OnConnectionBanned()

    + public virtual void OnConnectionBanned()

    - public void onConnectionBanned() {} - - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionBanned() - on(evt: EngineEvents.CONNECTION_BANNED, cb: () => void): this; - - EmptyCallback? connectionBanned;

    + public void onConnectionBanned() {} + - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionBanned() + on(evt: EngineEvents.CONNECTION_BANNED, cb: () => void): this; + + EmptyCallback? connectionBanned; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - -

    + + + + + + connection + Connection 信息。详见 + + +
    diff --git a/dita/RTC/API/callback_onconnectioninterrupted.dita b/dita/RTC/API/callback_onconnectioninterrupted.dita index c1f66612050..6679a09139b 100644 --- a/dita/RTC/API/callback_onconnectioninterrupted.dita +++ b/dita/RTC/API/callback_onconnectioninterrupted.dita @@ -13,46 +13,46 @@

    - public virtual void OnConnectionInterrupted(RtcConnection connection) {}

    + public virtual void OnConnectionInterrupted(RtcConnection connection) {}

    - public virtual void OnConnectionInterrupted()

    + public virtual void OnConnectionInterrupted()

    - public void onConnectionInterrupted() {} - - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionInterrupted() {} - on(evt: EngineEvents.CONNECTION_INTERRUPTED, cb: () => void): this; - - EmptyCallback? connectionInterrupted;

    + public void onConnectionInterrupted() {} + - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionInterrupted() {} + on(evt: EngineEvents.CONNECTION_INTERRUPTED, cb: () => void): this; + + EmptyCallback? connectionInterrupted; +

    - -
    弃用:
    -
    请改用 回调。
    -
    + +
    弃用:
    +
    请改用 回调。
    +
    -

    SDK 在和服务器建立连接后,失去了网络连接超过 4 秒,会触发该回调。在触发事件后,SDK 会主动重连服务器,所以该事件可以用于 UI 提示。该回调与 的区别是: - - -

      -
    • 回调一定是发生在成功加入频道后,且 SDK +

      SDK 在和服务器建立连接后,失去了网络连接超过 4 秒,会触发该回调。在触发事件后,SDK 会主动重连服务器,所以该事件可以用于 UI 提示。该回调与 的区别是:

        +
      • 回调一定是发生在成功加入频道后,且 SDK 刚失去和服务器连接超过 4 秒时触发。
      • -
      • 回调是无论是否成功加入频道,只要 10 +
      • 回调是无论是否成功加入频道,只要 10 秒内和服务器无法建立连接都会触发。
      • -
      如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

      +
    如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - -

    + + + + + + connection + Connection 信息。详见 + + +
    diff --git a/dita/RTC/API/callback_onconnectionlost.dita b/dita/RTC/API/callback_onconnectionlost.dita index 82acd61ca46..1d3e9ad851c 100644 --- a/dita/RTC/API/callback_onconnectionlost.dita +++ b/dita/RTC/API/callback_onconnectionlost.dita @@ -13,32 +13,36 @@

    - public virtual void OnConnectionLost(RtcConnection connection) {}

    + public virtual void OnConnectionLost(RtcConnection connection) {} +

    - public virtual void OnConnectionLost()

    + public virtual void OnConnectionLost()

    - public void onConnectionLost() {} - - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionLost() - on(evt: EngineEvents.CONNECTION_LOST, cb: () => void): this; - - EmptyCallback? connectionLost;

    + public void onConnectionLost() {} + - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionLost() + on(evt: EngineEvents.CONNECTION_LOST, cb: () => void): this; + + EmptyCallback? connectionLost; +

    -

    SDK 在调用 后,无论是否加入成功,只要 10 秒和服务器无法连接就会触发该回调。如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    +

    SDK 在调用 后,无论是否加入成功,只要 10 秒和服务器无法连接就会触发该回调。如果 SDK + 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - -

    + + + + + + connection + Connection 信息。详见 + + +
    diff --git a/dita/RTC/API/callback_onconnectionstatechanged.dita b/dita/RTC/API/callback_onconnectionstatechanged.dita index 28eadf5812f..4ed6173b19b 100644 --- a/dita/RTC/API/callback_onconnectionstatechanged.dita +++ b/dita/RTC/API/callback_onconnectionstatechanged.dita @@ -13,31 +13,32 @@

    - public virtual void OnConnectionStateChanged(RtcConnection connection, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {}

    + public virtual void OnConnectionStateChanged(RtcConnection connection, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {}

    - public virtual void OnConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)

    + public virtual void OnConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason)

    - public void onConnectionStateChanged(int state, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onConnectionStateChanged(int state, int reason) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine connectionStateChanged:(AgoraConnectionState)state reason:(AgoraConnectionChangedReason)reason; - virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { + virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { (void)state; (void)reason; } - on(evt: EngineEvents.CONNECTION_STATE_CHANGED, cb: ( + on(evt: EngineEvents.CONNECTION_STATE_CHANGED, cb: ( state: CONNECTION_STATE_TYPE, reason: CONNECTION_CHANGED_REASON_TYPE ) => void): this; - - ConnectionStateCallback? connectionStateChanged;

    + + ConnectionStateCallback? connectionStateChanged; +

    - -
    自从
    -
    v2.3.2
    -
    + +
    自从
    +
    v2.3.2
    +

    该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态和引起网络状态改变的原因。

    @@ -45,68 +46,76 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - state - -

    当前网络连接状态。详见

    -
      -
    • - (1):网络连接断开。
    • -
    • - (2):建立网络连接中。
    • -
    • - (3):网络已连接。
    • -
    • - (4):重新建立网络连接中 。
    • -
    • - (5):网络连接失败 。
    • -
    - - - reason - -

    引起当前网络连接状态改变的原因。详见

    -

    -

      -
    • (0):建立网络连接中 。
    • -
    • (1):成功加入频道 。
    • -
    • (2):网络连接中断 。
    • -
    • (3):网络连接被服务器禁止 。
    • -
    • (4):加入频道失败 。
    • -
    • (5):离开频道 。
    • -
    • (6):不是有效的 APP ID。请更换有效的 APP ID 重新加入频道 。
    • -
    • (7):不是有效的频道名。请更换有效的频道名重新加入频道。
    • -
    • (8):生成的 Token 无效。一般有以下原因: - - -
        -
      • 在控制台上启用了 App Certificate,但加入频道未使用 Token。当启用了 App Certificate,必须使用 Token。
      • -
      • 在调用 加入频道时指定的 uid 与生成 Token 时传入的 uid 不一致。
      • -
    • -
    • (9):当前使用的 Token + + + + + + connection + Connection 信息。详见 + + + state + +

      当前网络连接状态。详见

      +
        +
      • (1):网络连接断开。
      • +
      • (2):建立网络连接中。
      • +
      • (3):网络已连接。
      • +
      • (4):重新建立网络连接中 。
      • +
      • (5):网络连接失败 。
      • +
      +
      +
      + + reason + +

      引起当前网络连接状态改变的原因。详见

      +

      +

        +
      • (0):建立网络连接中 。
      • +
      • (1):成功加入频道 。
      • +
      • (2):网络连接中断 。
      • +
      • + (3):网络连接被服务器禁止 。
      • +
      • (4):加入频道失败 。
      • +
      • (5):离开频道 。
      • +
      • (6):不是有效的 APP + ID。请更换有效的 APP ID 重新加入频道 。
      • +
      • + (7):不是有效的频道名。请更换有效的频道名重新加入频道。
      • +
      • (8):生成的 Token + 无效。一般有以下原因:
          +
        • 在控制台上启用了 App Certificate,但加入频道未使用 Token。当启用了 App + Certificate,必须使用 Token。
        • +
        • 在调用 加入频道时指定的 uid 与生成 Token + 时传入的 uid 不一致。
        • +
        +
      • +
      • (9):当前使用的 Token 过期,不再有效,需要重新在你的服务端申请生成 Token 。
      • -
      • (10):此用户被服务器禁止 。
      • -
      • (11):由于设置了代理服务器,SDK - 尝试重连 。
      • -
      • (12):更新 Token 引起网络连接状态改变 。
      • -
      • (13):客户端 IP - 地址变更,可能是由于网络类型,或网络运营商的 IP 或端口发生改变引起 。
      • -
      • (14):SDK +
      • + (10):此用户被服务器禁止 。
      • +
      • + (11):由于设置了代理服务器,SDK 尝试重连 。
      • +
      • (12):更新 Token + 引起网络连接状态改变 。
      • +
      • + (13):客户端 IP 地址变更,可能是由于网络类型,或网络运营商的 IP 或端口发生改变引起 。
      • +
      • (14):SDK 和服务器连接保活超时,进入自动重连状态 。
      • -
      • (15):重新加入频道成功。
      • -
      • (16):SDK 和服务器失去连接 。
      • -
      • (17):连接状态变化由回声测试引起。
      • -

      -
      -
      - +
    • + (15):重新加入频道成功。
    • +
    • (16):SDK 和服务器失去连接 。
    • +
    • + (17):连接状态变化由回声测试引起。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_oncontentinspectresult.dita b/dita/RTC/API/callback_oncontentinspectresult.dita index f6a52d425b6..a79cc671fe1 100644 --- a/dita/RTC/API/callback_oncontentinspectresult.dita +++ b/dita/RTC/API/callback_oncontentinspectresult.dita @@ -13,27 +13,31 @@

    - public void onContentInspectResult(int result) {} + public void onContentInspectResult(int result) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine contentInspectResult:(AgoraContentInspectResult)result; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine contentInspectResult:(AgoraContentInspectResult)result; - virtual void onContentInspectResult(CONTENT_INSPECT_RESULT result) { (void)result; } - - public virtual void OnContentInspectResult(CONTENT_INSPECT_RESULT result) - - OnContentInspectResult? contentInspectResult;

    + virtual void onContentInspectResult(CONTENT_INSPECT_RESULT result) { (void)result; } + + public virtual void OnContentInspectResult(CONTENT_INSPECT_RESULT result) + + OnContentInspectResult? contentInspectResult; +

    -

    设置 中的 type 设为 并调用 开启鉴黄后,SDK 会触发 回调,报告鉴黄结果。

    +

    设置 中的 type 设为 并调用 + 开启鉴黄后,SDK 会触发 回调,报告鉴黄结果。

    参数 - - result - 鉴黄结果。详见 - -

    + + result + 鉴黄结果。详见 + + +
    diff --git a/dita/RTC/API/callback_ondispose.dita b/dita/RTC/API/callback_ondispose.dita index 1082731c125..9f5f8127037 100644 --- a/dita/RTC/API/callback_ondispose.dita +++ b/dita/RTC/API/callback_ondispose.dita @@ -13,16 +13,18 @@

    - - - virtual void onDispose() = 0; - - - -

    + + + virtual void onDispose() = 0; + + + + +

    -

    SDK 触发该回调提醒你关闭视频源设备。该回调通知你 SDK 即将销毁 对象。收到该回调后,请你确保不再使用

    +

    SDK 触发该回调提醒你关闭视频源设备。该回调通知你 SDK 即将销毁 + 对象。收到该回调后,请你确保不再使用

    diff --git a/dita/RTC/API/callback_ondownlinknetworkinfoupdated.dita b/dita/RTC/API/callback_ondownlinknetworkinfoupdated.dita index 15b7a04a068..81228a87f61 100644 --- a/dita/RTC/API/callback_ondownlinknetworkinfoupdated.dita +++ b/dita/RTC/API/callback_ondownlinknetworkinfoupdated.dita @@ -13,15 +13,16 @@

    - public void onDownlinkNetworkInfoUpdated(DownlinkNetworkInfo info) {} - - virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) { + public void onDownlinkNetworkInfoUpdated(DownlinkNetworkInfo info) {} + + virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) { (void)info; } - - - -

    + + + + +

    该回调用于提示用户切换大流或小流。

    @@ -29,10 +30,11 @@
    参数 - - info - 下行网络信息,详见 - -
    + + info + 下行网络信息,详见 + + +
    diff --git a/dita/RTC/API/callback_onencryptionerror.dita b/dita/RTC/API/callback_onencryptionerror.dita index 83fcbad6d96..af5544e9f39 100644 --- a/dita/RTC/API/callback_onencryptionerror.dita +++ b/dita/RTC/API/callback_onencryptionerror.dita @@ -13,17 +13,18 @@

    - public void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurEncryptionError:(AgoraEncryptionErrorType)errorType; - virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) { + virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) { (void)errorType; } - - public virtual void OnEncryptionError(RtcConnection connection, ENCRYPTION_ERROR_TYPE errorType) {} - -

    + + public virtual void OnEncryptionError(RtcConnection connection, ENCRYPTION_ERROR_TYPE errorType) {} + + +

    调用 开启加密后, 如果发流端、收流端出现加解密出错,SDK 会触发该回调。

    @@ -31,18 +32,19 @@
    参数 - - - - - - connection - Connection 信息。详见 - - - errorType - 错误类型,详见 - -
    + + + + + + connection + Connection 信息。详见 + + + errorType + 错误类型,详见 + + +
    diff --git a/dita/RTC/API/callback_onerror.dita b/dita/RTC/API/callback_onerror.dita index 1c7d000d275..e3a9095ee7a 100644 --- a/dita/RTC/API/callback_onerror.dita +++ b/dita/RTC/API/callback_onerror.dita @@ -13,33 +13,38 @@

    - - - virtual void onError(int err, const char* msg) { + + + virtual void onError(int err, const char* msg) { (void)err; (void)msg; } - on(evt: EngineEvents.ERROR, cb: (err: number, msg: string) => void): this; - public virtual void OnError(int err, string msg) - - ErrorCallback? error;

    + on(evt: EngineEvents.ERROR, cb: (err: number, msg: string) => void): this; + public virtual void OnError(int err, string msg) + + ErrorCallback? error; +

    -

    该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。 - 比如启动通话失败时,SDK 会上报 ERR_START_CALL 错误。App 可以提示用户启动通话失败,并调用 退出频道。

    - 该回调仅报告 Native 层发生的错误。如果你想收到 Electron 层发生的错误,请改用
    +

    该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App + 干预或提示用户。 比如启动通话失败时,SDK 会上报 ERR_START_CALL 错误。App + 可以提示用户启动通话失败,并调用 退出频道。

    + 该回调仅报告 Native 层发生的错误。如果你想收到 Electron 层发生的错误,请改用 + +
    <ph keyref="callback-section-title"/>

    - - err - 错误代码。详见 错误码和警告码 - - - msg - 错误描述。 - -

    + + err + 错误代码。详见 错误码和警告码 + + + msg + 错误描述。 + + +
    diff --git a/dita/RTC/API/callback_onfacepositionchanged.dita b/dita/RTC/API/callback_onfacepositionchanged.dita index f9e3d06e48e..c4e351b630d 100644 --- a/dita/RTC/API/callback_onfacepositionchanged.dita +++ b/dita/RTC/API/callback_onfacepositionchanged.dita @@ -13,8 +13,8 @@

    - - (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, + - (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; @@ -23,10 +23,10 @@ (void) vecDistance; (void) numFaces; } - public virtual void OnFacePositionChanged(int imageWidth, int imageHeight, Rectangle vecRectangle, int[] vecDistance, int numFaces) {}

    + public virtual void OnFacePositionChanged(int imageWidth, int imageHeight, Rectangle vecRectangle, int[] vecDistance, int numFaces) {}

    - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine facePositionDidChangeWidth:(int)width previewHeight:(int)height faces:(NSArray<AgoraFacePositionInfo*>* _Nullable)faces; - virtual void onFacePositionChanged(int imageWidth, + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine facePositionDidChangeWidth:(int)width previewHeight:(int)height faces:(NSArray<AgoraFacePositionInfo*>* _Nullable)faces; + virtual void onFacePositionChanged(int imageWidth, int imageHeight, Rectangle* vecRectangle, int* vecDistance, @@ -37,89 +37,89 @@ (void)vecDistance; (void)numFaces; } - - public virtual void OnFacePositionChanged(int imageWidth, int imageHeight, Rectangle vecRectangle, + + public virtual void OnFacePositionChanged(int imageWidth, int imageHeight, Rectangle vecRectangle, int[] vecDistance, int numFaces) - - FacePositionCallback? facePositionChanged; + + FacePositionCallback? facePositionChanged;

    - public void onFacePositionChanged( + public void onFacePositionChanged( int imageWidth, int imageHeight, AgoraFacePositionInfo[] faceRectArr) {}

    - -
    自从
    -
    v3.0.1
    -
    + +
    自从
    +
    v3.0.1
    +
    -

    调用 () 开启本地人脸检测后,你可以通过该回调实时获取以下人脸检测的信息: - - -

      -
    • 摄像头采集的画面大小
    • -
    • 人脸在画面中的位置
    • -
    • 人脸距设备屏幕的距离
    • -

    +

    调用 () + 开启本地人脸检测后,你可以通过该回调实时获取以下人脸检测的信息:

      +
    • 摄像头采集的画面大小
    • +
    • 人脸在画面中的位置
    • +
    • 人脸距设备屏幕的距离
    • +
    +

    其中,人脸距设备屏幕的距离由 SDK 通过摄像头采集的画面大小和人脸在画面中的位置拟合计算得出。

    -
      -
    • 该回调仅适用于 Android 和 iOS 平台。
    • -
    • 当检测到摄像头前的人脸消失时,该回调会立刻触发;在无人脸的状态下,该回调触发频率会降低,以节省设备耗能。
    • -
    • 当人脸距离设备屏幕过近时,SDK 不会触发该回调。
    • -
    • Android 平台上,人脸距设备屏幕的距离(distance)值有一定误差,请不要用它进行精确计算。
    • -
    +
      +
    • 该回调仅适用于 Android 和 iOS 平台。
    • +
    • 当检测到摄像头前的人脸消失时,该回调会立刻触发;在无人脸的状态下,该回调触发频率会降低,以节省设备耗能。
    • +
    • 当人脸距离设备屏幕过近时,SDK 不会触发该回调。
    • +
    • Android + 平台上,人脸距设备屏幕的距离(distance)值有一定误差,请不要用它进行精确计算。
    • +
    + +
    <ph keyref="callback-section-title"/> -

    +

    - - - - - - imageWidth - width - 摄像头采集画面的宽度 (px)。 - - - imageHeight - hight - 摄像头采集画面的高度 (px)。 - - - faceRectArr - faces - 检测到的人脸信息,详见 。检测到几张人脸,就会报告几个 数组。数组长度可以为 0,表示没有检测到摄像头前出现人脸。 - - - vecRectangle - -

    检测到的人脸信息: - - -

      -
    • x:人脸在画面中的 x 坐标 (px)。以摄像头采集画面的左上角为原点,x 坐标为人脸左上角相对于原点的横向位移。
    • -
    • y:人脸在画面中的 y 坐标 (px)。以摄像头采集画面的左上角为原点,y 坐标为人脸左上角相对原点的纵向位移。
    • -
    • width:人脸在画面中的宽度 (px)。
    • -
    • height:人脸在画面中的高度 (px)。
    • -

    - - - - vecDistance - 人脸距设备屏幕的距离 (cm)。 - - - numFaces - 检测的人脸数量。如果为 0,则表示没有检测到人脸。 - -
    + + + + + + imageWidth + width + 摄像头采集画面的宽度 (px)。 + + + imageHeight + hight + 摄像头采集画面的高度 (px)。 + + + faceRectArr + faces + 检测到的人脸信息,详见 。检测到几张人脸,就会报告几个 数组。数组长度可以为 0,表示没有检测到摄像头前出现人脸。 + + + vecRectangle + +

    检测到的人脸信息:

      +
    • x:人脸在画面中的 x 坐标 (px)。以摄像头采集画面的左上角为原点,x + 坐标为人脸左上角相对于原点的横向位移。
    • +
    • y:人脸在画面中的 y 坐标 (px)。以摄像头采集画面的左上角为原点,y + 坐标为人脸左上角相对原点的纵向位移。
    • +
    • width:人脸在画面中的宽度 (px)。
    • +
    • height:人脸在画面中的高度 (px)。
    • +
    +

    +
    +
    + + vecDistance + 人脸距设备屏幕的距离 (cm)。 + + + numFaces + 检测的人脸数量。如果为 0,则表示没有检测到人脸。 + + +
    diff --git a/dita/RTC/API/callback_onfirstlocalaudioframe.dita b/dita/RTC/API/callback_onfirstlocalaudioframe.dita index 7fade018768..ac10272f7fc 100644 --- a/dita/RTC/API/callback_onfirstlocalaudioframe.dita +++ b/dita/RTC/API/callback_onfirstlocalaudioframe.dita @@ -13,32 +13,34 @@

    - - - virtual void onFirstLocalAudioFrame(int elapsed) { + + + virtual void onFirstLocalAudioFrame(int elapsed) { (void)elapsed; } - on(evt: EngineEvents.FIRST_LOCAL_AUDIO_FRAME, cb: (elapsed: number) => void): this; - public virtual void OnFirstLocalAudioFrame(int elapsed) - - ElapsedCallback? firstLocalAudioFrame;

    + on(evt: EngineEvents.FIRST_LOCAL_AUDIO_FRAME, cb: (elapsed: number) => void): this; + public virtual void OnFirstLocalAudioFrame(int elapsed) + + ElapsedCallback? firstLocalAudioFrame; +

    - -
    弃用:
    -
    请改用 回调。
    -
    + +
    弃用:
    +
    请改用 回调。
    +
    <ph keyref="callback-section-title"/>

    - - elapsed - 从调用 方法直至该回调被触发的时间。 - -

    + + elapsed + 从调用 方法直至该回调被触发的时间。 + + +
    diff --git a/dita/RTC/API/callback_onfirstlocalaudioframepublished.dita b/dita/RTC/API/callback_onfirstlocalaudioframepublished.dita index 4370d59de69..4d30019dcfd 100644 --- a/dita/RTC/API/callback_onfirstlocalaudioframepublished.dita +++ b/dita/RTC/API/callback_onfirstlocalaudioframepublished.dita @@ -1,8 +1,12 @@ - <ph keyref="onFirstLocalAudioFramePublished"/> - 已发布本地音频首帧回调。 + + <ph keyref="onFirstLocalAudioFramePublished"/> + + + 已发布本地音频首帧回调。 + @@ -13,55 +17,59 @@

    - public virtual void OnFirstLocalAudioFramePublished(RtcConnection connection, int elapsed) {}

    + public virtual void OnFirstLocalAudioFramePublished(RtcConnection connection, int elapsed) {}

    - public virtual void OnFirstLocalAudioFramePublished(int elapsed)

    + public virtual void OnFirstLocalAudioFramePublished(int elapsed)

    - public void onFirstLocalAudioFramePublished(int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed; - virtual void onFirstLocalAudioFramePublished(int elapsed) { + public void onFirstLocalAudioFramePublished(int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed; + virtual void onFirstLocalAudioFramePublished(int elapsed) { (void)elapsed; } - on(evt: EngineEvents.FIRST_LOCAL_AUDIO_FRAME_PUBLISHED, cb: ( + on(evt: EngineEvents.FIRST_LOCAL_AUDIO_FRAME_PUBLISHED, cb: ( elapsed: number ) => void): this; - - ElapsedCallback? firstLocalAudioFramePublished;

    + + ElapsedCallback? firstLocalAudioFramePublished; +

    - -
    自从
    -
    v3.1.0
    -
    + +
    自从
    +
    v3.1.0
    +
    -

    SDK 会在以下时机触发该回调: - - -

      -
    • 开启本地音频的情况下,调用 成功加入频道后。
    • -
    • 调用 (),再调用 () 后。
    • -
    • 调用 ,再调用 后。
    • -
    • 调用 成功向 SDK 推送音频帧后。
    • -
    • 调用 成功向 SDK 推送音频帧后。
    • -

    +

    SDK 会在以下时机触发该回调:

      +
    • 开启本地音频的情况下,调用 成功加入频道后。
    • +
    • 调用 (),再调用 () 后。
    • +
    • 调用 ,再调用 后。
    • +
    • 调用 成功向 SDK + 推送音频帧后。
    • +
    • 调用 成功向 SDK 推送音频帧后。
    • +
    +

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - elapsed - 从调用 方法到触发该回调的时间间隔(毫秒)。 - -

    + + + + + + connection + Connection 信息。详见 + + + elapsed + 从调用 方法到触发该回调的时间间隔(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onfirstlocalvideoframe.dita b/dita/RTC/API/callback_onfirstlocalvideoframe.dita index e37046b8d66..24e9ccf8ced 100644 --- a/dita/RTC/API/callback_onfirstlocalvideoframe.dita +++ b/dita/RTC/API/callback_onfirstlocalvideoframe.dita @@ -1,8 +1,12 @@ - <ph keyref="onFirstLocalVideoFrame"/> - 已显示本地视频首帧回调。 + + <ph keyref="onFirstLocalVideoFrame"/> + + + 已显示本地视频首帧回调。 + @@ -13,28 +17,29 @@

    - public virtual void OnFirstLocalVideoFrame(RtcConnection connection, int width, int height, int elapsed) {}

    + public virtual void OnFirstLocalVideoFrame(RtcConnection connection, int width, int height, int elapsed) {}

    - public virtual void OnFirstLocalVideoFrame(int width, int height, int elapsed)

    + public virtual void OnFirstLocalVideoFrame(int width, int height, int elapsed)

    - public void onFirstLocalVideoFrame(int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onFirstLocalVideoFrame(int width, int height, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFrameWithSize:(CGSize)size elapsed:(NSInteger)elapsed; - virtual void onFirstLocalVideoFrame(int width, + virtual void onFirstLocalVideoFrame(int width, int height, int elapsed) { (void)width; (void)height; (void)elapsed; } - on(evt: EngineEvents.FIRST_LOCAL_VIDEO_FRAME, cb: ( + on(evt: EngineEvents.FIRST_LOCAL_VIDEO_FRAME, cb: ( width: number, height: number, elapsed: number) => void ): this; - - VideoFrameCallback? firstLocalVideoFrame;

    + + VideoFrameCallback? firstLocalVideoFrame; +

    本地视频首帧显示在本地视图上时,SDK 会触发此回调。

    @@ -43,31 +48,33 @@ <ph keyref="callback-section-title"/>

    - - - - - - size - 本地渲染视频的尺寸。 - - - connection - Connection 信息。详见 - - - width - 本地渲染视频的宽 (px) 。 - - - height - 本地渲染视频的高 (px)。 - - - elapsed - 从调用 到发生此事件过去的时间(毫秒)。如果在 前调用了 ,则是从 + + + + + + size + 本地渲染视频的尺寸。 + + + connection + Connection 信息。详见 + + + width + 本地渲染视频的宽 (px) 。 + + + height + 本地渲染视频的高 (px)。 + + + elapsed + 从调用 到发生此事件过去的时间(毫秒)。如果在 前调用了 ,则是从 到发生此事件过去的时间。 - -

    + + +
    diff --git a/dita/RTC/API/callback_onfirstlocalvideoframepublished.dita b/dita/RTC/API/callback_onfirstlocalvideoframepublished.dita index 366b9db29f0..4a4ca3ebd8a 100644 --- a/dita/RTC/API/callback_onfirstlocalvideoframepublished.dita +++ b/dita/RTC/API/callback_onfirstlocalvideoframepublished.dita @@ -13,56 +13,58 @@

    - public virtual void OnFirstLocalVideoFramePublished(RtcConnection connection, int elapsed) {}

    + public virtual void OnFirstLocalVideoFramePublished(RtcConnection connection, int elapsed) {}

    - public virtual void OnFirstLocalVideoFramePublished(int elapsed)

    + public virtual void OnFirstLocalVideoFramePublished(int elapsed)

    - public void onFirstLocalVideoFramePublished(int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onFirstLocalVideoFramePublished(int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFramePublishedWithElapsed:(NSInteger)elapsed; - virtual void onFirstLocalVideoFramePublished(int elapsed) { + virtual void onFirstLocalVideoFramePublished(int elapsed) { (void)elapsed; } - on(evt: EngineEvents.FIRST_LOCAL_VIDEO_FRAME_PUBLISHED, cb: ( + on(evt: EngineEvents.FIRST_LOCAL_VIDEO_FRAME_PUBLISHED, cb: ( elapsed: number ) => void): this; - - ElapsedCallback? firstLocalVideoFramePublished;

    + + ElapsedCallback? firstLocalVideoFramePublished; +

    - -
    自从
    -
    v3.1.0
    -
    + +
    自从
    +
    v3.1.0
    +
    -

    SDK 会在以下三种时机触发该回调: - - - -

      -
    • 开启本地视频的情况下,调用 成功加入频道后。
    • -
    • 调用 (),再调用 () 后。
    • -
    • 调用 ,再调用 后。
    • -
    • 调用 成功向 SDK 推送视频帧后。
    • -

    +

    SDK 会在以下三种时机触发该回调:

      +
    • 开启本地视频的情况下,调用 成功加入频道后。
    • +
    • 调用 (),再调用 () 后。
    • +
    • 调用 ,再调用 后。
    • +
    • 调用 成功向 SDK + 推送视频帧后。
    • +
    +

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - elapsed - 从调用 方法到触发该回调的时间间隔(毫秒)。 - -

    + + + + + + connection + Connection 信息。详见 + + + elapsed + 从调用 方法到触发该回调的时间间隔(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onfirstremoteaudiodecoded.dita b/dita/RTC/API/callback_onfirstremoteaudiodecoded.dita index 4da266e39d8..831f3d511d9 100644 --- a/dita/RTC/API/callback_onfirstremoteaudiodecoded.dita +++ b/dita/RTC/API/callback_onfirstremoteaudiodecoded.dita @@ -13,67 +13,69 @@

    - virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) { + virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) { (void)uid; (void)elapsed; } -

    + +

    - virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) AGORA_DEPRECATED_ATTRIBUTE { + virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) AGORA_DEPRECATED_ATTRIBUTE { (void)uid; (void)elapsed; } - public virtual void OnFirstRemoteAudioDecoded(uint uid, int elapsed)

    + public virtual void OnFirstRemoteAudioDecoded(uint uid, int elapsed) +

    - public void onFirstRemoteAudioDecoded(int uid, int elapsed) { + public void onFirstRemoteAudioDecoded(int uid, int elapsed) { } - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; - on(evt: EngineEvents.FIRST_REMOTE_AUDIO_DECODED, cb: ( + on(evt: EngineEvents.FIRST_REMOTE_AUDIO_DECODED, cb: ( uid: number, elapsed: number) => void ): this; - - UidWithElapsedCallback? firstRemoteAudioDecoded;

    + + UidWithElapsedCallback? firstRemoteAudioDecoded; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    -

    SDK 会在以下时机触发该回调: - -

      -
    • 远端用户首次上线后发送音频。
    • -
    • 远端用户音频离线再上线发送音频。音频离线指本地在 15 秒内没有收到音频包,可能有如下原因: - -
        -
      • 远端用户离开频道
      • -
      • 远端用户掉线
      • -
      • 远端用户调用 方法停止发送音频流
      • -
      • 远端用户调用 方法关闭音频
      • -
    • -

    +

    SDK 会在以下时机触发该回调:

      +
    • 远端用户首次上线后发送音频。
    • +
    • 远端用户音频离线再上线发送音频。音频离线指本地在 15 秒内没有收到音频包,可能有如下原因:
        +
      • 远端用户离开频道
      • +
      • 远端用户掉线
      • +
      • 远端用户调用 方法停止发送音频流
      • +
      • 远端用户调用 方法关闭音频
      • +
      +
    • +
    +

    <ph keyref="callback-section-title"/>

    - - engine - 对象。 - - - uid - 远端用户 ID。 - - - elapsed - 从本地用户调用 直至该回调触发的延迟,单位为毫秒。 - -

    + + engine + 对象。 + + + uid + 远端用户 ID。 + + + elapsed + 从本地用户调用 直至该回调触发的延迟,单位为毫秒。 + + +
    diff --git a/dita/RTC/API/callback_onfirstremoteaudioframe.dita b/dita/RTC/API/callback_onfirstremoteaudioframe.dita index bac3cd409fd..dd424aba9c4 100644 --- a/dita/RTC/API/callback_onfirstremoteaudioframe.dita +++ b/dita/RTC/API/callback_onfirstremoteaudioframe.dita @@ -13,48 +13,50 @@

    - public void onFirstRemoteAudioFrame(int uid, int elapsed) { + public void onFirstRemoteAudioFrame(int uid, int elapsed) { } - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteAudioFrameOfUid: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 { + virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) AGORA_DEPRECATED_ATTRIBUTE { (void)uid; (void)elapsed; } - on(evt: EngineEvents.FIRST_REMOTE_AUDIO_FRAME, cb: ( + on(evt: EngineEvents.FIRST_REMOTE_AUDIO_FRAME, cb: ( uid: number, elapsed: number) => void ): this; - public virtual void OnFirstRemoteAudioFrame(uint uid, int elapsed) - - UidWithElapsedCallback? firstRemoteAudioFrame;

    + public virtual void OnFirstRemoteAudioFrame(uint uid, int elapsed) + + UidWithElapsedCallback? firstRemoteAudioFrame; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    <ph keyref="callback-section-title"/>

    - - engine - 对象。 - - - uid - 发送音频帧的远端用户的用户 ID。 - - - elapsed - - -

    + + engine + 对象。 + + + uid + 发送音频帧的远端用户的用户 ID。 + + + elapsed + + + +
    diff --git a/dita/RTC/API/callback_onfirstremotevideodecoded.dita b/dita/RTC/API/callback_onfirstremotevideodecoded.dita index d01b238ddbd..e4fac5b90dc 100644 --- a/dita/RTC/API/callback_onfirstremotevideodecoded.dita +++ b/dita/RTC/API/callback_onfirstremotevideodecoded.dita @@ -13,14 +13,14 @@

    - public virtual void OnFirstRemoteVideoDecoded(RtcConnection connection, uint remoteUid, int width, int height, int elapsed) {}

    + public virtual void OnFirstRemoteVideoDecoded(RtcConnection connection, uint remoteUid, int width, int height, int elapsed) {}

    - public virtual void OnFirstRemoteVideoDecoded(uint uid, int width, int height, int elapsed)

    + public virtual void OnFirstRemoteVideoDecoded(uint uid, int width, int height, int elapsed)

    - public void onFirstRemoteVideoDecoded(int uid, int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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, + virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) { @@ -29,84 +29,80 @@ (void)height; (void)elapsed; } - on(evt: EngineEvents.FIRST_REMOTE_VIDEO_DECODED, cb: ( + on(evt: EngineEvents.FIRST_REMOTE_VIDEO_DECODED, cb: ( uid: number, width: number, height: number, elapsed: number) => void ): this; - - VideoFrameWithUidCallback? firstRemoteVideoDecoded;

    + + VideoFrameWithUidCallback? firstRemoteVideoDecoded; +

    - -
    弃用:
    -
    请改用 回调中的: - - -
      -
    • (1)。
    • -
    • (2)。
    • -
    -
    + +
    弃用:
    +
    请改用 回调中的:
      +
    • (1)。
    • +
    • (2)。
    • +
    +
    +
    -

    SDK 会在以下时机触发该回调: - - -

      -
    • 远端用户首次上线后发送视频。
    • -
    • 远端用户视频离线再上线后发送视频。出现这种中断的可能原因包括: - - -
        -
      • 远端用户离开频道。
      • -
      • 远端用户掉线。
      • -
      • 远端用户调用 方法停止发送本地视频流。
      • -
      • 远端用户调用 方法关闭视频模块。
      • -
    • -

    +

    SDK 会在以下时机触发该回调:

      +
    • 远端用户首次上线后发送视频。
    • +
    • 远端用户视频离线再上线后发送视频。出现这种中断的可能原因包括:
        +
      • 远端用户离开频道。
      • +
      • 远端用户掉线。
      • +
      • 远端用户调用 方法停止发送本地视频流。
      • +
      • 远端用户调用 方法关闭视频模块。
      • +
      +
    • +
    +

    <ph keyref="callback-section-title"/>

    - - uid - 用户 ID,指定是哪个用户的视频流。 - - - - - - - size - 视频流尺寸。 - - - connection - Connection 信息。详见 - - - remoteUid - 用户 ID,指定是哪个用户的视频流。 - - - uid - 用户 ID,指定是哪个用户的视频流。 - - - width - 视频流宽(px)。 - - - height - 视频流高(px)。 - - - elapsed - 从本地调用 开始到该回调触发的延迟(毫秒)。 - -

    + + uid + 用户 ID,指定是哪个用户的视频流。 + + + + + + + size + 视频流尺寸。 + + + connection + Connection 信息。详见 + + + remoteUid + 用户 ID,指定是哪个用户的视频流。 + + + uid + 用户 ID,指定是哪个用户的视频流。 + + + width + 视频流宽(px)。 + + + height + 视频流高(px)。 + + + elapsed + 从本地调用 开始到该回调触发的延迟(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onfirstremotevideoframe.dita b/dita/RTC/API/callback_onfirstremotevideoframe.dita index 17beb7c1526..7f770aa907e 100644 --- a/dita/RTC/API/callback_onfirstremotevideoframe.dita +++ b/dita/RTC/API/callback_onfirstremotevideoframe.dita @@ -2,7 +2,7 @@ - <ph keyref="onFirstRemoteVideoFrame" /> + <ph keyref="onFirstRemoteVideoFrame"/> 已显示首帧远端视频回调。 @@ -10,7 +10,7 @@ - + @@ -35,7 +35,7 @@ height: number, elapsed: number) => void ): this;
    - + VideoFrameWithUidCallback? firstRemoteVideoFrame;

    @@ -52,21 +52,18 @@

    -

    - 远端视频首帧显示在视图上时,触发此回调。App 可在此回调中获知出图时间( - elapsed - )。 +

    远端视频首帧显示在视图上时,触发此回调。App 可在此回调中获知出图时间( elapsed )。

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> -

    +

    - - + + uid @@ -86,11 +83,7 @@ elapsed - - 从本地调用 - - 到发生此事件过去的时间(毫秒)。 - + 从本地调用 到发生此事件过去的时间(毫秒)。

    diff --git a/dita/RTC/API/callback_oninitialize.dita b/dita/RTC/API/callback_oninitialize.dita index 032752a2050..b22bcc3bd90 100644 --- a/dita/RTC/API/callback_oninitialize.dita +++ b/dita/RTC/API/callback_oninitialize.dita @@ -13,13 +13,14 @@

    - - - virtual bool onInitialize(IVideoFrameConsumer *consumer) = 0; - - - -

    + + + virtual bool onInitialize(IVideoFrameConsumer *consumer) = 0; + + + + +

    SDK 触发该回调提醒你初始化自定义视频源。你可以在这个回调中做一些准备工作,例如打开摄像头,并通过返回值告知 SDK 自定义的视频源是否已经准备完毕。

    @@ -27,16 +28,19 @@
    参数 - - consumer - SDK 传给你的一个 对象。你需要保存该对象,并在视频源启动后,通过这个对象把视频帧传给 SDK。 - -
    + + consumer + SDK 传给你的一个 + 对象。你需要保存该对象,并在视频源启动后,通过这个对象把视频帧传给 SDK。 + + +
    返回值
      -
    • : 自定义的视频源已经完成了初始化工作。
    • -
    • : 自定义的视频源设备没准备好或者初始化失败,SDK 会停下来并上报错误。
    • -
    +
  • : 自定义的视频源已经完成了初始化工作。
  • +
  • : 自定义的视频源设备没准备好或者初始化失败,SDK 会停下来并上报错误。
  • + +
    diff --git a/dita/RTC/API/callback_onjoinchannelsuccess.dita b/dita/RTC/API/callback_onjoinchannelsuccess.dita index f564a70e6ab..291da956b1e 100644 --- a/dita/RTC/API/callback_onjoinchannelsuccess.dita +++ b/dita/RTC/API/callback_onjoinchannelsuccess.dita @@ -13,26 +13,27 @@

    - public virtual void OnJoinChannelSuccess(RtcConnection connection, int elapsed) {}

    + public virtual void OnJoinChannelSuccess(RtcConnection connection, int elapsed) {}

    - public virtual void OnJoinChannelSuccess(string channel, uint uid, int elapsed)

    + public virtual void OnJoinChannelSuccess(string channel, uint uid, int elapsed)

    - public void onJoinChannelSuccess(String channel, int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onJoinChannelSuccess(String channel, int uid, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger) elapsed; - virtual void onJoinChannelSuccess(const char* channel, + virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) { (void)channel; (void)uid; (void)elapsed; } - on( + on( evt: EngineEvents.JOINED_CHANNEL, cb: (channel: string, uid: number, elapsed: number) => void ): this; - - UidWithElapsedAndChannelCallback? joinChannelSuccess;

    + + UidWithElapsedAndChannelCallback? joinChannelSuccess; +

    该回调方法表示该客户端成功加入了指定的频道。

    @@ -41,26 +42,27 @@ <ph keyref="callback-section-title"/>

    一个 Callback 对象,包含以下参数:

    - - engine - 对象。 - - - channel - 频道名。 - - - uid - 加入频道的用户 ID。 - - - connection - Connection 信息。详见 - - - elapsed - 从本地调用 开始到发生此事件过去的时间(毫秒)。 - -
    + + engine + 对象。 + + + channel + 频道名。 + + + uid + 加入频道的用户 ID。 + + + connection + Connection 信息。详见 + + + elapsed + 从本地调用 开始到发生此事件过去的时间(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onlastmileproberesult.dita b/dita/RTC/API/callback_onlastmileproberesult.dita index 347f2bc8e20..837d48dc1c3 100644 --- a/dita/RTC/API/callback_onlastmileproberesult.dita +++ b/dita/RTC/API/callback_onlastmileproberesult.dita @@ -1,8 +1,12 @@ - <ph keyref="onLastmileProbeResult"/> - 通话前网络上下行 Last mile 质量探测报告回调。 + + <ph keyref="onLastmileProbeResult"/> + + + 通话前网络上下行 Last mile 质量探测报告回调。 + @@ -13,40 +17,40 @@

    - public void onLastmileProbeResult(LastmileProbeResult result) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLastmileProbeResult(LastmileProbeResult result) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileProbeTestResult:(AgoraLastmileProbeResult * _Nonnull)result; - virtual void onLastmileProbeResult(const LastmileProbeResult& result) { + virtual void onLastmileProbeResult(const LastmileProbeResult& result) { (void)result; } - on(evt: EngineEvents.LASTMILE_PROBE_RESULT, cb: (result: LastmileProbeResult) => void): this; - public virtual void OnLastmileProbeResult(LastmileProbeResult result) - - LastmileProbeCallback? lastmileProbeResult;

    + on(evt: EngineEvents.LASTMILE_PROBE_RESULT, cb: (result: LastmileProbeResult) => void): this; + public virtual void OnLastmileProbeResult(LastmileProbeResult result) + + LastmileProbeCallback? lastmileProbeResult; +

    - -
    自从
    -
    v2.4.0
    -
    + +
    自从
    +
    v2.4.0
    +
    -

    - 在调用 之后,SDK 会在约 30 秒内返回该回调。 -

    +

    在调用 之后,SDK 会在约 30 秒内返回该回调。

    <ph keyref="callback-section-title"/>

    - - - - - - result - 上下行 Last mile 质量探测结果。 详见: - -

    + + + + + + result + 上下行 Last mile 质量探测结果。 详见: + + +
    diff --git a/dita/RTC/API/callback_onlastmilequality.dita b/dita/RTC/API/callback_onlastmilequality.dita index f0faf1f9e03..41bfad7ff1d 100644 --- a/dita/RTC/API/callback_onlastmilequality.dita +++ b/dita/RTC/API/callback_onlastmilequality.dita @@ -13,35 +13,40 @@

    - public void onLastmileQuality(int quality) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality; - virtual void onLastmileQuality(int quality) { + public void onLastmileQuality(int quality) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality; + virtual void onLastmileQuality(int quality) { (void)quality; } - on(evt: EngineEvents.LASTMILE_QUALITY, cb: (quality: QUALITY_TYPE) => void): this; - public virtual void OnLastmileQuality(int quality) - - NetworkQualityCallback? lastmileQuality;

    + on(evt: EngineEvents.LASTMILE_QUALITY, cb: (quality: QUALITY_TYPE) => void): this; + public virtual void OnLastmileQuality(int quality) + + NetworkQualityCallback? lastmileQuality; +

    该回调描述本地用户在加入频道前的 last mile 网络探测的结果,其中 last mile 是指设备到声网边缘服务器的网络状态。

    -

    加入频道前,调用 之后,SDK 触发该回调报告本地用户在加入频道前的 last mile 网络探测的结果。

    +

    加入频道前,调用 之后,SDK 触发该回调报告本地用户在加入频道前的 last mile + 网络探测的结果。

    <ph keyref="callback-section-title"/>

    - - - - - - quality - Last mile 网络质量。详见 -

      -
    • -
    - -
    + + + + + + quality + Last mile 网络质量。详见 +
      +
    • +
    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onleavechannel.dita b/dita/RTC/API/callback_onleavechannel.dita index bd35c871b28..798712aa454 100644 --- a/dita/RTC/API/callback_onleavechannel.dita +++ b/dita/RTC/API/callback_onleavechannel.dita @@ -13,40 +13,42 @@

    - public virtual void OnLeaveChannel(RtcConnection connection, RtcStats stats) {}

    + public virtual void OnLeaveChannel(RtcConnection connection, RtcStats stats) {}

    - public virtual void OnLeaveChannel(RtcStats stats)

    + public virtual void OnLeaveChannel(RtcStats stats)

    - public void onLeaveChannel(RtcStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLeaveChannel(RtcStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLeaveChannelWithStats:(AgoraChannelStats * _Nonnull)stats; - virtual void onLeaveChannel(const RtcStats& stats) { + virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; } - on(evt: EngineEvents.LEAVE_CHANNEL, cb: (stats: RtcStats) => void): this; - - RtcStatsCallback? leaveChannel;

    + on(evt: EngineEvents.LEAVE_CHANNEL, cb: (stats: RtcStats) => void): this; + + RtcStatsCallback? leaveChannel; +

    -

    App 调用 方法时,SDK 提示 app 离开频道成功。在该回调方法中,app 可以得到此次通话的总通话时长、SDK - 收发数据的流量等信息。

    +

    App 调用 方法时,SDK 提示 app 离开频道成功。在该回调方法中,app + 可以得到此次通话的总通话时长、SDK 收发数据的流量等信息。

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - stats - 通话的统计数据: - -

    + + + + + + connection + Connection 信息。详见 + + + stats + 通话的统计数据: + + +
    diff --git a/dita/RTC/API/callback_onlocalaudiostatechanged.dita b/dita/RTC/API/callback_onlocalaudiostatechanged.dita index 590fdeb9e39..b03d7aa530f 100644 --- a/dita/RTC/API/callback_onlocalaudiostatechanged.dita +++ b/dita/RTC/API/callback_onlocalaudiostatechanged.dita @@ -1,8 +1,12 @@ - <ph keyref="onLocalAudioStateChanged"/> - 本地音频状态发生改变回调。 + + <ph keyref="onLocalAudioStateChanged"/> + + + 本地音频状态发生改变回调。 + @@ -13,60 +17,59 @@

    - public virtual void OnLocalAudioStateChanged(RtcConnection connection, LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {}

    + public virtual void OnLocalAudioStateChanged(RtcConnection connection, LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {}

    - public virtual void OnLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error)

    + public virtual void OnLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error)

    - public void onLocalAudioStateChanged( + public void onLocalAudioStateChanged( LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStateChanged:(AgoraAudioLocalState)state error:(AgoraAudioLocalError)error; - virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) { + virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) { (void)state; (void)error; } - on(evt: EngineEvents.LOCAL_AUDIO_STATE_CHANGED, cb: ( + on(evt: EngineEvents.LOCAL_AUDIO_STATE_CHANGED, cb: ( state: number, error: number ) => void): this; - - LocalAudioStateCallback? localAudioStateChanged;

    + + LocalAudioStateCallback? localAudioStateChanged; +

    - -
    自从
    -
    v2.9.0
    -
    + +
    自从
    +
    v2.9.0
    +
    -

    本地音频的状态发生改变时(包括本地麦克风采集状态和音频编码状态), SDK 会触发该回调报告当前的本地音频状态。在本地音频出现故障时,该回调可以帮助你了解当前音频的状态以及出现故障的原因,方便你排查问题。

    - - 当状态为 (3) 时, 你可以在 error 参数中查看返回的错误信息。 -
    +

    本地音频的状态发生改变时(包括本地麦克风采集状态和音频编码状态), SDK + 会触发该回调报告当前的本地音频状态。在本地音频出现故障时,该回调可以帮助你了解当前音频的状态以及出现故障的原因,方便你排查问题。

    + 当状态为 (3) 时, 你可以在 error 参数中查看返回的错误信息。 +
    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - state - - 当前的本地音频状态。详见 。 - - - - error - - 本地音频出错原因。详见 。 - - -

    + + + + + + connection + Connection 信息。详见 + + + state + 当前的本地音频状态。详见 + + + error + 本地音频出错原因。详见 + + +
    diff --git a/dita/RTC/API/callback_onlocalaudiostats.dita b/dita/RTC/API/callback_onlocalaudiostats.dita index 99196360ae4..4607a0b1002 100644 --- a/dita/RTC/API/callback_onlocalaudiostats.dita +++ b/dita/RTC/API/callback_onlocalaudiostats.dita @@ -13,19 +13,20 @@

    - public virtual void OnLocalAudioStats(RtcConnection connection, LocalAudioStats stats) {}

    + public virtual void OnLocalAudioStats(RtcConnection connection, LocalAudioStats stats) {}

    - public virtual void OnLocalAudioStats(LocalAudioStats stats)

    + public virtual void OnLocalAudioStats(LocalAudioStats stats)

    - public void onLocalAudioStats(LocalAudioStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalAudioStats(LocalAudioStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStats:(AgoraRtcLocalAudioStats * _Nonnull)stats; - virtual void onLocalAudioStats(const LocalAudioStats& stats) { + virtual void onLocalAudioStats(const LocalAudioStats& stats) { (void)stats; } - on(evt: EngineEvents.LOCAL_AUDIO_STATS, cb: (stats: LocalAudioStats) => void): this; - - LocalAudioStatsCallback? localAudioStats;

    + on(evt: EngineEvents.LOCAL_AUDIO_STATS, cb: (stats: LocalAudioStats) => void): this; + + LocalAudioStatsCallback? localAudioStats; +

    SDK 每 2 秒触发该回调一次。

    @@ -34,18 +35,19 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - stats - 本地音频统计数据。详见 - -

    + + + + + + connection + Connection 信息。详见 + + + stats + 本地音频统计数据。详见 + + +
    diff --git a/dita/RTC/API/callback_onlocalpublishfallbacktoaudioonly.dita b/dita/RTC/API/callback_onlocalpublishfallbacktoaudioonly.dita index b2b9f6e4843..28d7d4b3f4f 100644 --- a/dita/RTC/API/callback_onlocalpublishfallbacktoaudioonly.dita +++ b/dita/RTC/API/callback_onlocalpublishfallbacktoaudioonly.dita @@ -13,38 +13,45 @@

    - public void onLocalPublishFallbackToAudioOnly(boolean isFallbackOrRecover) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalPublishFallbackToAudioOnly(boolean isFallbackOrRecover) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalPublishFallbackToAudioOnly:(BOOL)isFallbackOrRecover; - virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) { + virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) { (void)isFallbackOrRecover; } - on(evt: EngineEvents.LOCAL_PUBLISH_FALLBACK_TO_AUDIO_ONLY, cb: (isFallbackOrRecover: boolean) => void): this; - public virtual void OnLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) - - FallbackCallback? localPublishFallbackToAudioOnly;

    + on(evt: EngineEvents.LOCAL_PUBLISH_FALLBACK_TO_AUDIO_ONLY, cb: (isFallbackOrRecover: boolean) => void): this; + public virtual void OnLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) + + FallbackCallback? localPublishFallbackToAudioOnly; +

    -

    如果你调用了 接口并将 option 设置为 ,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。

    +

    如果你调用了 接口并将 + option 设置为 + ,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。

    如果本地发流已回退为音频流,远端的 App 上会收到 - 的回调事件。
    + 的回调事件。 +
    <ph keyref="callback-section-title"/>

    - - - - - - isFallbackOrRecover - -

      -
    • : + + + + + + isFallbackOrRecover + +
        +
      • : 由于网络环境不理想,本地发布的媒体流已回退为音频流。
      • -
      • : 由于网络环境改善,发布的音频流已恢复为音视频流。
      • -
      -
      -
    +
  • : 由于网络环境改善,发布的音频流已恢复为音视频流。
  • + + + + +
    diff --git a/dita/RTC/API/callback_onlocaluserregistered.dita b/dita/RTC/API/callback_onlocaluserregistered.dita index 3d645301b17..519839c26aa 100644 --- a/dita/RTC/API/callback_onlocaluserregistered.dita +++ b/dita/RTC/API/callback_onlocaluserregistered.dita @@ -13,49 +13,53 @@

    - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalUserRegisteredWithUserId:(NSUInteger)uid userAccount:(NSString * _Nonnull)userAccount; - public virtual void OnLocalUserRegistered(uint uid, string userAccount) {}

    + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalUserRegisteredWithUserId:(NSUInteger)uid userAccount:(NSString * _Nonnull)userAccount; + public virtual void OnLocalUserRegistered(uint uid, string userAccount) {}

    - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine didRegisteredLocalUser:(NSString* _Nonnull)userAccount withUid:(NSUInteger)uid; - public virtual void OnLocalUserRegistered(uint uid, string userAccount)

    + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine didRegisteredLocalUser:(NSString* _Nonnull)userAccount withUid:(NSUInteger)uid; + public virtual void OnLocalUserRegistered(uint uid, string userAccount)

    - public void onLocalUserRegistered(int uid, String userAccount) {} - virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) { + public void onLocalUserRegistered(int uid, String userAccount) {} + virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) { (void)uid; (void)userAccount; } - on(evt: EngineEvents.LOCAL_USER_REGISTERED, cb: ( + on(evt: EngineEvents.LOCAL_USER_REGISTERED, cb: ( uid: number, userAccount: string) => void ): this; - - UserAccountCallback? localUserRegistered;

    + + UserAccountCallback? localUserRegistered; +

    - -
    自从
    -
    v2.8.0
    -
    + +
    自从
    +
    v2.8.0
    +
    -

    本地用户成功调用 方法注册用户 User Account,或调用 加入频道后,SDK 会触发该回调,并告知本地用户的 UID 和 User Account。

    +

    本地用户成功调用 方法注册用户 User Account,或调用 加入频道后,SDK 会触发该回调,并告知本地用户的 UID 和 User + Account。

    <ph keyref="callback-section-title"/>

    - - - - - - uid - 本地用户的 ID。 - - - userAccount - 本地用户的 User Account。 - -

    + + + + + + uid + 本地用户的 ID。 + + + userAccount + 本地用户的 User Account。 + + +
    diff --git a/dita/RTC/API/callback_onlocalvideostatechanged.dita b/dita/RTC/API/callback_onlocalvideostatechanged.dita index 753f439e4f8..a6c5ed94489 100644 --- a/dita/RTC/API/callback_onlocalvideostatechanged.dita +++ b/dita/RTC/API/callback_onlocalvideostatechanged.dita @@ -1,8 +1,12 @@ - <ph keyref="onLocalVideoStateChanged"/> - 本地视频状态发生改变回调。 + + <ph keyref="onLocalVideoStateChanged"/> + + + 本地视频状态发生改变回调。 + @@ -13,105 +17,122 @@

    - public void onLocalVideoStateChanged(int state, int error) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalVideoStateChanged(int state, int error) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state error:(AgoraLocalVideoStreamError)error; - virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) { + virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) { (void)state; (void)error; } - public virtual void OnLocalVideoStateChanged(RtcConnection connection, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR errorCode) {}

    + public virtual void OnLocalVideoStateChanged(RtcConnection connection, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR errorCode) {}

    - public void onLocalVideoStateChanged(int localVideoState, int error) { + public void onLocalVideoStateChanged(int localVideoState, int error) { } - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine localVideoStateChange:(AgoraLocalVideoStreamState)state error:(AgoraLocalVideoStreamError)error NS_SWIFT_NAME(rtcEngine(_:localVideoStateChange:error:)); + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine localVideoStateChange:(AgoraLocalVideoStreamState)state error:(AgoraLocalVideoStreamError)error NS_SWIFT_NAME(rtcEngine(_:localVideoStateChange:error:)); - virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE localVideoState, + virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE localVideoState, LOCAL_VIDEO_STREAM_ERROR error) { (void)localVideoState; (void)error; } - public virtual void OnLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE localVideoState, - LOCAL_VIDEO_STREAM_ERROR error)

    + public virtual void OnLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE localVideoState, + LOCAL_VIDEO_STREAM_ERROR error) +

    - on(evt: EngineEvents.LOCAL_VIDEO_STATE_CHANGED, cb: ( + on(evt: EngineEvents.LOCAL_VIDEO_STATE_CHANGED, cb: ( localVideoState: number, error: number ) => void): this; - - LocalVideoStateCallback? localVideoStateChanged;

    + + LocalVideoStateCallback? localVideoStateChanged; +

    - -
    自从
    -
    v2.4.1
    -
    + +
    自从
    +
    v2.4.1
    +

    本地视频的状态发生改变时,SDK 会触发该回调返回当前的本地视频状态。你可以通过该回调了解当前视频的状态以及出现故障的原因,方便排查问题。

    -

    SDK 会在如下情况触发 回调,状态为 ,错误码为 : - - - - -

      -
    • 应用退到后台,系统回收摄像头。
    • -
    • 摄像头正常启动,但连续 4 秒都没有输出采集的视频。
    • -

    -

    摄像头输出采集的视频帧时,如果连续 15 帧中,所有视频帧都一样,SDK 触发 回调,状态为 ,错误码为 。注意,帧重复检测仅针对分辨率大于 200 × 200、帧率大于等于 10 fps、码率小于 20 Kbps 的视频帧。 -

    - 对某些机型而言,当本地视频采集设备正在使用中时,SDK 不会在本地视频状态发生改变时触发该回调,你需要自行做超时判断。
    +

    SDK 会在如下情况触发 回调,状态为 ,错误码为

      +
    • 应用退到后台,系统回收摄像头。
    • +
    • 摄像头正常启动,但连续 4 秒都没有输出采集的视频。
    • +

    +

    摄像头输出采集的视频帧时,如果连续 15 帧中,所有视频帧都一样,SDK 触发 + 回调,状态为 ,错误码为 。注意,帧重复检测仅针对分辨率大于 200 × + 200、帧率大于等于 10 fps、码率小于 20 Kbps 的视频帧。

    + 对某些机型而言,当本地视频采集设备正在使用中时,SDK + 不会在本地视频状态发生改变时触发该回调,你需要自行做超时判断。 +
    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - state - localVideoState - localVideoStatestate - -

    本地视频状态,详见

    -

    -

      -
    • (0): 本地视频默认初始状态。
    • -
    • (1): 本地视频采集设备启动成功。
    • -
    • (2): 本地视频首帧编码成功。
    • -
    • (3): 本地视频启动失败。
    • -

    - - - - error - errorerrorCode - -

    本地视频出错原因,详见

    -

    -

      -
    • (0): 本地视频状态正常。
    • -
    • (1): 出错原因不明确。
    • -
    • (2): 没有权限启动本地视频采集设备。
    • -
    • (3): 本地视频采集设备正在使用中。
    • -
    • (4): 本地视频采集失败,建议检查采集设备是否正常工作。 - - - -
        -
      • Android 9 及以上版本,app 切后台一段时间后,系统收回相机权限。
      • -
      • Android 6 及以上版本,如果相机被第三方应用占用,且未被及时释放。如果一段时间后,相机被释放,则 SDK会再次出发该回调,并报告 stateCAPTURINGerrorERROR_OK
      • -
    • -
    • (5):本地视频编码失败。
    • -

    -
    -
    -
    + + + + + + connection + Connection 信息。详见 + + + state + localVideoState + localVideoStatestate + +

    本地视频状态,详见

    +

    +

      +
    • (0): + 本地视频默认初始状态。
    • +
    • (1): + 本地视频采集设备启动成功。
    • +
    • (2): + 本地视频首帧编码成功。
    • +
    • (3): + 本地视频启动失败。
    • +
    +

    +
    +
    + + error + errorerrorCode + +

    本地视频出错原因,详见

    +

    +

      +
    • (0): 本地视频状态正常。
    • +
    • (1): + 出错原因不明确。
    • +
    • (2): + 没有权限启动本地视频采集设备。
    • +
    • (3): + 本地视频采集设备正在使用中。
    • +
    • (4): + 本地视频采集失败,建议检查采集设备是否正常工作。
        +
      • Android 9 及以上版本,app 切后台一段时间后,系统收回相机权限。
      • +
      • Android 6 及以上版本,如果相机被第三方应用占用,且未被及时释放。如果一段时间后,相机被释放,则 + SDK会再次出发该回调,并报告 state 为 + CAPTURINGerror 为 + ERROR_OK
      • +
    • +
    • + (5):本地视频编码失败。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onlocalvideostats.dita b/dita/RTC/API/callback_onlocalvideostats.dita index 6be313b8ee9..ede4acebcc3 100644 --- a/dita/RTC/API/callback_onlocalvideostats.dita +++ b/dita/RTC/API/callback_onlocalvideostats.dita @@ -13,19 +13,20 @@

    - public virtual void OnLocalVideoStats(RtcConnection connection, LocalVideoStats stats) {}

    + public virtual void OnLocalVideoStats(RtcConnection connection, LocalVideoStats stats) {}

    - public virtual void OnLocalVideoStats(LocalVideoStats stats)

    + public virtual void OnLocalVideoStats(LocalVideoStats stats)

    - public void onLocalVideoStats(LocalVideoStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalVideoStats(LocalVideoStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStats:(AgoraRtcLocalVideoStats * _Nonnull)stats; - virtual void onLocalVideoStats(const LocalVideoStats& stats) { + virtual void onLocalVideoStats(const LocalVideoStats& stats) { (void)stats; } - on(evt: EngineEvents.LOCAL_VIDEO_STATS, cb: (stats: LocalVideoStats) => void): this; - - LocalVideoStatsCallback? localVideoStats;

    + on(evt: EngineEvents.LOCAL_VIDEO_STATS, cb: (stats: LocalVideoStats) => void): this; + + LocalVideoStatsCallback? localVideoStats; +

    该回调描述本地设备发送视频流的统计信息,每 2 秒触发一次。

    @@ -34,18 +35,19 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - stats - 本地视频流统计信息。详见 - -

    + + + + + + connection + Connection 信息。详见 + + + stats + 本地视频流统计信息。详见 + + +
    diff --git a/dita/RTC/API/callback_onlocalvoicepitchinhz.dita b/dita/RTC/API/callback_onlocalvoicepitchinhz.dita index df672314ec8..abd53c8bdb0 100644 --- a/dita/RTC/API/callback_onlocalvoicepitchinhz.dita +++ b/dita/RTC/API/callback_onlocalvoicepitchinhz.dita @@ -1,8 +1,11 @@ - <apiname keyref="onLocalVoicePitchInHz"/> - 报告本地用户的语音音调。 + + <apiname keyref="onLocalVoicePitchInHz"/> + + 报告本地用户的语音音调。 + @@ -13,24 +16,32 @@

    - - OnLocalVoicePitchInHz? localVoicePitchInHz;

    + + OnLocalVoicePitchInHz? localVoicePitchInHz;

    -

    开启本地音频采集并调用 后,SDK 会按 中设置的时间间隔触发 回调,报告本地用户的语音音调。

    - 启用该功能后,如果用户关闭了本地音频采集,例如,调用了 enableLocalAudio(false),SDK 会停止发送 回调。
    +

    开启本地音频采集并调用 后,SDK 会按 中设置的时间间隔触发 回调,报告本地用户的语音音调。

    + 启用该功能后,如果用户关闭了本地音频采集,例如,调用了 enableLocalAudio(false),SDK 会停止发送 回调。 +
    - <ph keyref="callback-section-title"/> + + <ph keyref="callback-section-title"/> +

    - - - - - - pitchInHz - 本地用户的语音音调,单位为 Hz。 - -

    + + + + + + pitchInHz + 本地用户的语音音调,单位为 Hz。 + + +
    diff --git a/dita/RTC/API/callback_onmediaengineloadsuccess.dita b/dita/RTC/API/callback_onmediaengineloadsuccess.dita index fadf5923f2c..6a7ddc95480 100644 --- a/dita/RTC/API/callback_onmediaengineloadsuccess.dita +++ b/dita/RTC/API/callback_onmediaengineloadsuccess.dita @@ -13,22 +13,24 @@

    - public void onMediaEngineLoadSuccess() {} - - (void)rtcEngineMediaEngineDidLoaded:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onMediaEngineLoadSuccess() - - public virtual void OnMediaEngineLoadSuccess() - - EmptyCallback? mediaEngineLoadSuccess;

    + public void onMediaEngineLoadSuccess() {} + - (void)rtcEngineMediaEngineDidLoaded:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onMediaEngineLoadSuccess() + + public virtual void OnMediaEngineLoadSuccess() + + EmptyCallback? mediaEngineLoadSuccess; +

    <ph keyref="callback-section-title"/>

    - - - - -

    + + + + + +
    diff --git a/dita/RTC/API/callback_onmediaenginestartcallsuccess.dita b/dita/RTC/API/callback_onmediaenginestartcallsuccess.dita index fc4788a8251..dfa42403604 100644 --- a/dita/RTC/API/callback_onmediaenginestartcallsuccess.dita +++ b/dita/RTC/API/callback_onmediaenginestartcallsuccess.dita @@ -13,22 +13,24 @@

    - public void onMediaEngineStartCallSuccess() {} - - (void)rtcEngineMediaEngineDidStartCall:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onMediaEngineStartCallSuccess() - on(evt: EngineEvents.MEDIA_ENGINE_START_CALL_SUCCESS, cb: () => void): this; - public virtual void OnMediaEngineStartCallSuccess() - - EmptyCallback? mediaEngineStartCallSuccess;

    + public void onMediaEngineStartCallSuccess() {} + - (void)rtcEngineMediaEngineDidStartCall:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onMediaEngineStartCallSuccess() + on(evt: EngineEvents.MEDIA_ENGINE_START_CALL_SUCCESS, cb: () => void): this; + public virtual void OnMediaEngineStartCallSuccess() + + EmptyCallback? mediaEngineStartCallSuccess; +

    <ph keyref="callback-section-title"/>

    - - - - -

    + + + + + +
    diff --git a/dita/RTC/API/callback_onmicrophoneenabled.dita b/dita/RTC/API/callback_onmicrophoneenabled.dita index dc3abeb8425..dbc6e6a7116 100644 --- a/dita/RTC/API/callback_onmicrophoneenabled.dita +++ b/dita/RTC/API/callback_onmicrophoneenabled.dita @@ -13,27 +13,26 @@

    - - - virtual void onMicrophoneEnabled(bool enabled) { (void)enabled; } - on(evt: EngineEvents.MICROPHONE_ENABLED, cb: (enabled: boolean) => void): this; - public virtual void OnMicrophoneEnabled(bool enabled) - - EnabledCallback? microphoneEnabled;

    + + + virtual void onMicrophoneEnabled(bool enabled) { (void)enabled; } + on(evt: EngineEvents.MICROPHONE_ENABLED, cb: (enabled: boolean) => void): this; + public virtual void OnMicrophoneEnabled(bool enabled) + + EnabledCallback? microphoneEnabled; +

    - -
    弃用:
    -
    -

    请改用 回调的: - -

      -
    • (0)。
    • -
    • (1)。
    • -

    -
    -
    + +
    弃用:
    +
    +

    请改用 回调的:

      +
    • (0)。
    • +
    • (1)。
    • +

    +
    +

    该回调是由本地用户调用 方法开启或关闭本地音频采集触发的。

    @@ -41,17 +40,16 @@ <ph keyref="callback-section-title"/>

    - - enabled - -

    麦克风状态: - -

      -
    • :麦克风已启用。
    • -
    • :麦克风已禁用。
    • -

    - - - + + enabled + +

    麦克风状态:

      +
    • :麦克风已启用。
    • +
    • :麦克风已禁用。
    • +

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onnetworkquality.dita b/dita/RTC/API/callback_onnetworkquality.dita index e7f969e46ec..392da712f64 100644 --- a/dita/RTC/API/callback_onnetworkquality.dita +++ b/dita/RTC/API/callback_onnetworkquality.dita @@ -13,28 +13,29 @@

    - public virtual void OnNetworkQuality(RtcConnection connection, uint remoteUid, int txQuality, int rxQuality) {}

    + public virtual void OnNetworkQuality(RtcConnection connection, uint remoteUid, int txQuality, int rxQuality) {}

    - public virtual void OnNetworkQuality(uint uid, int txQuality, int rxQuality)

    + public virtual void OnNetworkQuality(uint uid, int txQuality, int rxQuality)

    - public void onNetworkQuality(int uid, int txQuality, int rxQuality) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onNetworkQuality(int uid, int txQuality, int rxQuality) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkQuality:(NSUInteger)uid txQuality:(AgoraNetworkQuality)txQuality rxQuality:(AgoraNetworkQuality)rxQuality; - virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) { + virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) { (void)uid; (void)txQuality; (void)rxQuality; } - on(evt: EngineEvents.NETWORK_QUALITY, cb: ( + on(evt: EngineEvents.NETWORK_QUALITY, cb: ( uid: number, txquality: QUALITY_TYPE, rxquality: QUALITY_TYPE ) => void ): this; - - NetworkQualityWithUidCallback? networkQuality;

    + + NetworkQualityWithUidCallback? networkQuality; +

    该回调描述每个用户在通话中的 last mile 网络状态,其中 last mile 是指设备到声网边缘服务器的网络状态。

    @@ -44,39 +45,42 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - -

    用户 ID。表示该回调报告的是持有该 ID 的用户的网络质量。

    -

    当 uid 为 0 时,返回的是本地用户的网络质量。

    - - - - txQuality - 该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算。该值代表当前的上行网络质量,帮助判断是否可以支持当前设置的视频编码属性。假设上行码率是 + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + +

    用户 ID。表示该回调报告的是持有该 ID 的用户的网络质量。

    +

    当 uid 为 0 时,返回的是本地用户的网络质量。

    +
    +
    + + txQuality + 该用户的上行网络质量,基于发送码率、上行丢包率、平均往返时延和网络抖动计算。该值代表当前的上行网络质量,帮助判断是否可以支持当前设置的视频编码属性。假设上行码率是 1000 Kbps,那么支持直播场景下 640 × 480 的分辨率、15 fps 的帧率没有问题,但是支持 1280 × 720 - 的分辨率就会有困难。详见 -
      -
    • -
    -
    - - rxQuality - 该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算。详见 + 的分辨率就会有困难。详见 +
      +
    • +
    +
    +
    + + rxQuality + 该用户的下行网络质量,基于下行网络的丢包率、平均往返延时和网络抖动计算。详见 -
      -
    • -
    -
    -
    +
      +
    • +
    + + +
    diff --git a/dita/RTC/API/callback_onnetworktypechanged.dita b/dita/RTC/API/callback_onnetworktypechanged.dita index 2aca89001e6..dd510333769 100644 --- a/dita/RTC/API/callback_onnetworktypechanged.dita +++ b/dita/RTC/API/callback_onnetworktypechanged.dita @@ -13,59 +13,60 @@

    - public virtual void OnNetworkTypeChanged(RtcConnection connection, NETWORK_TYPE type) {}

    + public virtual void OnNetworkTypeChanged(RtcConnection connection, NETWORK_TYPE type) {}

    - public virtual void OnNetworkTypeChanged(NETWORK_TYPE type)

    + public virtual void OnNetworkTypeChanged(NETWORK_TYPE type)

    - public void onNetworkTypeChanged(int type) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type; - virtual void onNetworkTypeChanged(NETWORK_TYPE type) { + public void onNetworkTypeChanged(int type) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type; + virtual void onNetworkTypeChanged(NETWORK_TYPE type) { (void)type; } - on(evt: EngineEvents.NETWORK_TYPE_CHANGED, cb: (type: NETWORK_TYPE) => void): this; - - NetworkTypeCallback? networkTypeChanged;

    + on(evt: EngineEvents.NETWORK_TYPE_CHANGED, cb: (type: NETWORK_TYPE) => void): this; + + NetworkTypeCallback? networkTypeChanged; +

    - -
    自从
    -
    v2.4.1
    -
    + +
    自从
    +
    v2.4.1
    +
    -

    本地网络连接类型发生改变时,SDK 会触发该回调,并在回调中明确当前的网络连接类型。 你可以通过该回调获取正在使用的网络类型;当连接中断时,该回调能辨别引起中断的原因是网络切换还是网络条件不好。

    +

    本地网络连接类型发生改变时,SDK 会触发该回调,并在回调中明确当前的网络连接类型。 + 你可以通过该回调获取正在使用的网络类型;当连接中断时,该回调能辨别引起中断的原因是网络切换还是网络条件不好。

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - type - -

    本地网络连接类型。详见

    -

    网络连接类型: - - - -

      -
    • (-1):网络连接类型未知。
    • -
    • (0):网络连接已断开。
    • -
    • (1):网络类型为 LAN。
    • -
    • (2):网络类型为 Wi-Fi(包含热点)。
    • -
    • (3):网络类型为 2G 移动网络。
    • -
    • (4):网络类型为 3G 移动网络。
    • -
    • (5):网络类型为 4G 移动网络。
    • -

    - - -
    + + + + + + connection + Connection 信息。详见 + + + type + +

    本地网络连接类型。详见

    +

    网络连接类型:

      +
    • (-1):网络连接类型未知。
    • +
    • (0):网络连接已断开。
    • +
    • (1):网络类型为 LAN。
    • +
    • (2):网络类型为 Wi-Fi(包含热点)。
    • +
    • (3):网络类型为 2G 移动网络。
    • +
    • (4):网络类型为 3G 移动网络。
    • +
    • (5):网络类型为 4G 移动网络。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onpermissionerror.dita b/dita/RTC/API/callback_onpermissionerror.dita index 5a4c491e40c..3fc41750db0 100644 --- a/dita/RTC/API/callback_onpermissionerror.dita +++ b/dita/RTC/API/callback_onpermissionerror.dita @@ -13,32 +13,35 @@

    - public void onPermissionError(PERMISSION permission) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type; - virtual void onPermissionError(PERMISSION_TYPE permissionType) { + public void onPermissionError(PERMISSION permission) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type; + virtual void onPermissionError(PERMISSION_TYPE permissionType) { (void)permissionType; } - - public virtual void OnPermissionError(PERMISSION_TYPE permissionType) {} - -

    + + public virtual void OnPermissionError(PERMISSION_TYPE permissionType) {} + + +

    无法获取设备权限时,SDK 会触发该回调,报告哪个设备的权限无法获取。

    - 该回调仅适用于 Android 和 iOS。
    + 该回调仅适用于 Android 和 iOS。 +
    参数 - - - - - - permission - type - permissionType - 设备权限类型。详见 - -
    + + + + + + permission + type + permissionType + 设备权限类型。详见 + + +
    diff --git a/dita/RTC/API/callback_onproxyconnected.dita b/dita/RTC/API/callback_onproxyconnected.dita index 76ea27b9cae..53aeeaf8fc9 100644 --- a/dita/RTC/API/callback_onproxyconnected.dita +++ b/dita/RTC/API/callback_onproxyconnected.dita @@ -13,47 +13,55 @@

    - virtual void onProxyConnected(IChannel* rtcChannel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) { + virtual void onProxyConnected(IChannel* rtcChannel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) { (void)rtcChannel; (void)uid; (void)proxyType; (void)localProxyIp; (void)elapsed; } - - public virtual void OnProxyConnected(string channel, uint uid, PROXY_TYPE proxyType, string localProxyIp, int elapsed) - - OnProxyConnected? proxyConnected;

    + + public virtual void OnProxyConnected(string channel, uint uid, PROXY_TYPE proxyType, string localProxyIp, int elapsed) + + OnProxyConnected? proxyConnected; +

    -

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 设置云代理或本地代理并成功加入频道后, SDK 会触发该回调报告用户 ID、连接的代理类型和从调用 到触发该回调经过的时间等。

    -

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 设置代理并成功加入频道后, SDK 会触发该回调报告用户 ID、连接的代理类型和从调用 到触发该回调经过的时间等。

    +

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 设置云代理或本地代理并成功加入频道后, SDK 会触发该回调报告用户 ID、连接的代理类型和从调用 + 到触发该回调经过的时间等。

    +

    通过该回调你可以监听 SDK 连接代理的状态。例如,当用户调用 + 设置代理并成功加入频道后, SDK 会触发该回调报告用户 ID、连接的代理类型和从调用 + 到触发该回调经过的时间等。

    参数

    - - channel - 频道名称。 - - - uid - 用户 ID - - - proxyType - 连接上的代理类型。详见 - - - localProxyIp - 本地代理的 IP 地址。当 proxyType 的值不为 3 时,该参数的值为空。 - - - elapsed - 从调用 到 SDK 触发该回调的经过的时间(毫秒)。 - 从调用 到 SDK 触发该回调的经过的时间(毫秒)。 - -

    + + channel + 频道名称。 + + + uid + 用户 ID + + + proxyType + 连接上的代理类型。详见 + + + localProxyIp + 本地代理的 IP 地址。当 proxyType 的值不为 3 时,该参数的值为空。 + + + elapsed + 从调用 到 SDK + 触发该回调的经过的时间(毫秒)。 + 从调用 到 SDK + 触发该回调的经过的时间(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onrecorderinfoupdated.dita b/dita/RTC/API/callback_onrecorderinfoupdated.dita index fc5406a9c30..383221cb509 100644 --- a/dita/RTC/API/callback_onrecorderinfoupdated.dita +++ b/dita/RTC/API/callback_onrecorderinfoupdated.dita @@ -13,25 +13,29 @@

    - - - virtual void onRecorderInfoUpdated(const RecorderInfo& info){}; - - - -

    + + + virtual void onRecorderInfoUpdated(const RecorderInfo& info){}; + + + + +

    -

    成功注册该回调并开启本地音视频流录制后,SDK 会根据你在 中设置的 recorderInfoUpdateInterval 的值周期性触发该回调,报告当前录制文件的文件名、时长和大小。

    +

    成功注册该回调并开启本地音视频流录制后,SDK 会根据你在 中设置的 + recorderInfoUpdateInterval + 的值周期性触发该回调,报告当前录制文件的文件名、时长和大小。

    <ph keyref="callback-section-title"/>

    - - info - 录制文件信息。详见 - -

    + + info + 录制文件信息。详见 + + +
    diff --git a/dita/RTC/API/callback_onrecorderstatechanged.dita b/dita/RTC/API/callback_onrecorderstatechanged.dita index 233e91d65aa..e7afd3e1deb 100644 --- a/dita/RTC/API/callback_onrecorderstatechanged.dita +++ b/dita/RTC/API/callback_onrecorderstatechanged.dita @@ -13,13 +13,14 @@

    - - - virtual void onRecorderStateChanged(RecorderState state, RecorderErrorCode error) = 0; - - - - OnRecorderStateChanged? onRecorderStateChanged;

    + + + virtual void onRecorderStateChanged(RecorderState state, RecorderErrorCode error) = 0; + + + + OnRecorderStateChanged? onRecorderStateChanged; +

    本地音视频流录制状态发生改变时,SDK 会触发该回调,报告当前的录制状态和引起录制状态改变的原因。

    @@ -28,14 +29,15 @@ <ph keyref="callback-section-title"/>

    - - state - 当前的录制状态。详见 - - - error - 录制状态出错的原因。详见 - -

    + + state + 当前的录制状态。详见 + + + error + 录制状态出错的原因。详见 + + +
    diff --git a/dita/RTC/API/callback_onrejoinchannelsuccess.dita b/dita/RTC/API/callback_onrejoinchannelsuccess.dita index 1f6f0914b08..efd88ecaf12 100644 --- a/dita/RTC/API/callback_onrejoinchannelsuccess.dita +++ b/dita/RTC/API/callback_onrejoinchannelsuccess.dita @@ -13,25 +13,26 @@

    - public virtual void OnRejoinChannelSuccess(RtcConnection connection, int elapsed) {}

    + public virtual void OnRejoinChannelSuccess(RtcConnection connection, int elapsed) {}

    - public virtual void OnRejoinChannelSuccess(string channel, uint uid, int elapsed)

    + public virtual void OnRejoinChannelSuccess(string channel, uint uid, int elapsed)

    - public void onRejoinChannelSuccess(String channel, int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRejoinChannelSuccess(String channel, int uid, int elapsed) {} + - (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) { + virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) { (void)channel; (void)uid; (void)elapsed; } - on(evt: EngineEvents.REJOIN_CHANNEL_SUCCESS, cb: ( + on(evt: EngineEvents.REJOIN_CHANNEL_SUCCESS, cb: ( channel: string, uid: number, elapsed: number) => void ): this; - - UidWithElapsedAndChannelCallback? rejoinChannelSuccess;

    + + UidWithElapsedAndChannelCallback? rejoinChannelSuccess; +

    有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,自动重连成功后触发此回调方法。

    @@ -40,26 +41,27 @@ <ph keyref="callback-section-title"/>

    - - - - - - channel - 频道名。 - - - uid - 重新加入频道的用户 ID。 - - - connection - Connection 信息。详见 - - - elapsed - 从本地开始重连到发生此事件过去的时间(毫秒)。 - -

    + + + + + + channel + 频道名。 + + + uid + 重新加入频道的用户 ID。 + + + connection + Connection 信息。详见 + + + elapsed + 从本地开始重连到发生此事件过去的时间(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onremoteaudiomixingbegin.dita b/dita/RTC/API/callback_onremoteaudiomixingbegin.dita index 216d037de8f..45f458d6545 100644 --- a/dita/RTC/API/callback_onremoteaudiomixingbegin.dita +++ b/dita/RTC/API/callback_onremoteaudiomixingbegin.dita @@ -13,13 +13,14 @@

    - - - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRemoteAudioMixingBegin() - on(evt: EngineEvents.REMOTE_AUDIO_MIXING_BEGIN, cb: () => void): this; - public virtual void OnRemoteAudioMixingBegin() - - EmptyCallback? remoteAudioMixingBegin;

    + + - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRemoteAudioMixingBegin() + on(evt: EngineEvents.REMOTE_AUDIO_MIXING_BEGIN, cb: () => void): this; + public virtual void OnRemoteAudioMixingBegin() + + EmptyCallback? remoteAudioMixingBegin; +

    当远端有用户调用 播放本地音乐文件,会触发该回调。

    diff --git a/dita/RTC/API/callback_onremoteaudiomixingend.dita b/dita/RTC/API/callback_onremoteaudiomixingend.dita index c4e9318dac1..ef6a4147ae4 100644 --- a/dita/RTC/API/callback_onremoteaudiomixingend.dita +++ b/dita/RTC/API/callback_onremoteaudiomixingend.dita @@ -13,13 +13,14 @@

    - - - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRemoteAudioMixingEnd() - on(evt: EngineEvents.REMOTE_AUDIO_MIXING_END, cb: () => void): this; - public virtual void OnRemoteAudioMixingEnd() - - EmptyCallback? remoteAudioMixingEnd;

    + + - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRemoteAudioMixingEnd() + on(evt: EngineEvents.REMOTE_AUDIO_MIXING_END, cb: () => void): this; + public virtual void OnRemoteAudioMixingEnd() + + EmptyCallback? remoteAudioMixingEnd; +

    当远端有用户播放本地音乐文件结束,会触发该回调。

    diff --git a/dita/RTC/API/callback_onremoteaudiostatechanged.dita b/dita/RTC/API/callback_onremoteaudiostatechanged.dita index 95ba69dd825..c5354db1b13 100644 --- a/dita/RTC/API/callback_onremoteaudiostatechanged.dita +++ b/dita/RTC/API/callback_onremoteaudiostatechanged.dita @@ -1,8 +1,12 @@ - <ph keyref="onRemoteAudioStateChanged"/> - 远端音频流状态发生改变回调。 + + <ph keyref="onRemoteAudioStateChanged"/> + + + 远端音频流状态发生改变回调。 + @@ -13,16 +17,17 @@

    - public virtual void OnRemoteAudioStateChanged(RtcConnection connection, uint remoteUid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {}

    + public virtual void OnRemoteAudioStateChanged(RtcConnection connection, uint remoteUid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {} +

    - public virtual void OnRemoteAudioStateChanged(uint uid, REMOTE_AUDIO_STATE state, + public virtual void OnRemoteAudioStateChanged(uint uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed)

    - public void onRemoteAudioStateChanged( + public void onRemoteAudioStateChanged( int uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStateChangedOfUid:(NSUInteger)uid state:(AgoraAudioRemoteState)state reason:(AgoraAudioRemoteReason)reason elapsed:(NSInteger)elapsed; - virtual void onRemoteAudioStateChanged(uid_t uid, + virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) { @@ -31,53 +36,57 @@ (void)reason; (void)elapsed; } - on(evt: EngineEvents.REMOTE_AUDIO_STATE_CHANGED, cb: ( + on(evt: EngineEvents.REMOTE_AUDIO_STATE_CHANGED, cb: ( uid: number, state: REMOTE_AUDIO_STATE, reason: REMOTE_AUDIO_STATE_REASON, elapsed: number ) => void): this; - - RemoteAudioStateCallback? remoteAudioStateChanged;

    + + RemoteAudioStateCallback? remoteAudioStateChanged; +

    - -
    自从
    -
    v2.9.0
    -
    + +
    自从
    +
    v2.9.0
    +

    远端用户(通信场景)或主播(直播场景)的音频状态发生改变时,SDK 会触发该回调向本地用户报告当前的远端音频流状态。

    - 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调可能不准确。
    + 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调可能不准确。 +
    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - 发生音频状态改变的远端用户 ID。 - - - state - 远端音频流状态,详见 - - - reason - 远端音频流状态改变的具体原因,详见 - - - elapsed - 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 - -

    + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + 发生音频状态改变的远端用户 ID。 + + + state + 远端音频流状态,详见 + + + reason + 远端音频流状态改变的具体原因,详见 + + + elapsed + 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 + + +
    diff --git a/dita/RTC/API/callback_onremoteaudiostats.dita b/dita/RTC/API/callback_onremoteaudiostats.dita index eadf57b6e14..c4667be4dfb 100644 --- a/dita/RTC/API/callback_onremoteaudiostats.dita +++ b/dita/RTC/API/callback_onremoteaudiostats.dita @@ -13,19 +13,20 @@

    - public virtual void OnRemoteAudioStats(RtcConnection connection, RemoteAudioStats stats) {}

    + public virtual void OnRemoteAudioStats(RtcConnection connection, RemoteAudioStats stats) {}

    - public virtual void OnRemoteAudioStats(RemoteAudioStats stats)

    + public virtual void OnRemoteAudioStats(RemoteAudioStats stats)

    - public void onRemoteAudioStats(RemoteAudioStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteAudioStats(RemoteAudioStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStats:(AgoraRtcRemoteAudioStats * _Nonnull)stats; - virtual void onRemoteAudioStats(const RemoteAudioStats& stats) { + virtual void onRemoteAudioStats(const RemoteAudioStats& stats) { (void)stats; } - on(evt: EngineEvents.REMOTE_AUDIO_STATS, cb: (stats: RemoteAudioStats) => void): this; - - RemoteAudioStatsCallback? remoteAudioStats;

    + on(evt: EngineEvents.REMOTE_AUDIO_STATS, cb: (stats: RemoteAudioStats) => void): this; + + RemoteAudioStatsCallback? remoteAudioStats; +

    该回调针对每个发送音频流的远端用户/主播每 2 秒触发一次。如果远端有多个用户/主播发送音频流,该回调每 2 秒会被触发多次。

    @@ -34,18 +35,19 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - stats - 接收到的远端音频统计数据,详见 - -

    + + + + + + connection + Connection 信息。详见 + + + stats + 接收到的远端音频统计数据,详见 + + +
    diff --git a/dita/RTC/API/callback_onremoteaudiotransportstats.dita b/dita/RTC/API/callback_onremoteaudiotransportstats.dita index 239da9b500c..8ae3f41f04d 100644 --- a/dita/RTC/API/callback_onremoteaudiotransportstats.dita +++ b/dita/RTC/API/callback_onremoteaudiotransportstats.dita @@ -13,17 +13,17 @@

    - public virtual void OnRemoteAudioTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {}

    + public virtual void OnRemoteAudioTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {}

    - public virtual void OnRemoteAudioTransportStats(uint uid, ushort delay, ushort lost, ushort rxKBitRate)

    + public virtual void OnRemoteAudioTransportStats(uint uid, ushort delay, ushort lost, ushort rxKBitRate)

    - public void onRemoteAudioTransportStats(int uid, int delay, int lost, int rxKBitRate) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteAudioTransportStats(int uid, int delay, int lost, int rxKBitRate) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine audioTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate; - virtual void onRemoteAudioTransportStats(uid_t uid, + virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) { @@ -32,60 +32,58 @@ (void)lost; (void)rxKBitRate; } - on(evt: EngineEvents.REMOTE_AUDIO_TRANSPORT_STATS, cb: ( + on(evt: EngineEvents.REMOTE_AUDIO_TRANSPORT_STATS, cb: ( uid: number, delay: number, lost: number, rxKBitRate: number) => void ): this; - - TransportStatsCallback? remoteAudioTransportStats; + + TransportStatsCallback? remoteAudioTransportStats;

    -

    - -
    弃用:
    -
    请改用
    -
    -
    +
    + +
    弃用:
    +
    请改用
    +
    +

    -

    该回调描述远端用户通话中端到端的网络统计信息,通过音频包计算,用客观的数据,如丢包、 网络延迟等,展示当前网络状态。通话中,当用户收到远端用户/主播发送的音频数据包后 ,会每 2 秒触发一次该回调。

    +

    该回调描述远端用户通话中端到端的网络统计信息,通过音频包计算,用客观的数据,如丢包、 + 网络延迟等,展示当前网络状态。通话中,当用户收到远端用户/主播发送的音频数据包后 ,会每 2 秒触发一次该回调。

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - 用户 ID,指定是哪个用户/主播的音频包。 - - - delay - 音频包从发送端到接收端的延时(毫秒)。 - - - lost - 音频包从发送端到接收端的丢包率 (%)。 - - - rxKBitrate - 远端音频包的接收码率(Kbps)。 - -

    + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + 用户 ID,指定是哪个用户/主播的音频包。 + + + delay + 音频包从发送端到接收端的延时(毫秒)。 + + + lost + 音频包从发送端到接收端的丢包率 (%)。 + + + rxKBitrate + 远端音频包的接收码率(Kbps)。 + + +
    diff --git a/dita/RTC/API/callback_onremotesubscribefallbacktoaudioonly.dita b/dita/RTC/API/callback_onremotesubscribefallbacktoaudioonly.dita index 32d6f75ae05..638c515e4f1 100644 --- a/dita/RTC/API/callback_onremotesubscribefallbacktoaudioonly.dita +++ b/dita/RTC/API/callback_onremotesubscribefallbacktoaudioonly.dita @@ -13,46 +13,55 @@

    -

    + +

    - public void onRemoteSubscribeFallbackToAudioOnly(int uid, boolean isFallbackOrRecover) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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) { + virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) { (void)uid; (void)isFallbackOrRecover; } - on( + on( evt: EngineEvents.REMOTE_SUBSCRIBE_FALLBACK_TO_AUDIO_ONLY, cb: (uid: number, isFallbackOrRecover: boolean) => void ): this; - public virtual void OnRemoteSubscribeFallbackToAudioOnly(uint uid, bool isFallbackOrRecover) - - FallbackWithUidCallback? remoteSubscribeFallbackToAudioOnly;

    + public virtual void OnRemoteSubscribeFallbackToAudioOnly(uint uid, bool isFallbackOrRecover) + + FallbackWithUidCallback? remoteSubscribeFallbackToAudioOnly; +

    -

    如果你调用了 并将 option 设置为 ,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。

    - 远端订阅流因弱网环境不能同时满足音视频而回退为小流时,你可以使用 来监控远端视频大小流的切换。
    +

    如果你调用了 并将 + option 设置为 ,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。

    + 远端订阅流因弱网环境不能同时满足音视频而回退为小流时,你可以使用 来监控远端视频大小流的切换。 +
    <ph keyref="callback-section-title"/>

    - - - - - - uid - 远端用户的用户 ID。 - - - isFallbackOrRecover - -

      -
    • : 由于网络环境不理想,远端订阅流已回退为音频流;
    • -
    • : 由于网络环境改善,订阅的音频流已恢复为音视频流。
    • -
    - -
    + + + + + + uid + 远端用户的用户 ID。 + + + isFallbackOrRecover + +
      +
    • : 由于网络环境不理想,远端订阅流已回退为音频流;
    • +
    • : 由于网络环境改善,订阅的音频流已恢复为音视频流。
    • +
    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onremotevideostatechanged.dita b/dita/RTC/API/callback_onremotevideostatechanged.dita index 32efedf9f1d..d900e277b96 100644 --- a/dita/RTC/API/callback_onremotevideostatechanged.dita +++ b/dita/RTC/API/callback_onremotevideostatechanged.dita @@ -1,8 +1,12 @@ - <ph keyref="onRemoteVideoStateChanged"/> - 远端视频状态发生改变回调。 + + <ph keyref="onRemoteVideoStateChanged"/> + + + 远端视频状态发生改变回调。 + @@ -13,15 +17,15 @@

    - public virtual void OnRemoteVideoStateChanged(RtcConnection connection, uint remoteUid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {}

    + public virtual void OnRemoteVideoStateChanged(RtcConnection connection, uint remoteUid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {}

    - public virtual void OnRemoteVideoStateChanged(uint uid, REMOTE_VIDEO_STATE state, + public virtual void OnRemoteVideoStateChanged(uint uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed)

    - public void onRemoteVideoStateChanged(int uid, int state, int reason, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoStateChanged(int uid, int state, int reason, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteReason)reason elapsed:(NSInteger)elapsed; - virtual void onRemoteVideoStateChanged(uid_t uid, + virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) { @@ -30,136 +34,113 @@ (void)reason; (void)elapsed; } - on(evt: EngineEvents.REMOTE_VIDEO_STATE_CHANGED, cb: ( + on(evt: EngineEvents.REMOTE_VIDEO_STATE_CHANGED, cb: ( uid: number, state: REMOTE_VIDEO_STATE, reason: REMOTE_VIDEO_STATE_REASON, elapsed: number ) => void ): this; - - RemoteVideoStateCallback? remoteVideoStateChanged; + + RemoteVideoStateCallback? remoteVideoStateChanged;

    - -
    自从
    -
    v2.9.0
    -
    + +
    自从
    +
    v2.9.0
    +
    - 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调可能不准确。
    + 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调可能不准确。 +
    <ph keyref="callback-section-title"/> -

    +

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - 发生视频状态改变的远端用户 ID。 - - - state - -

    远端视频流状态,详见

    -

    远端视频流状态: - - - -

      -
    • + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + 发生视频状态改变的远端用户 ID。 + + + state + +

      远端视频流状态,详见

      +

      远端视频流状态:

        +
      • (0):远端视频默认初始状态。在 REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED(3)REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED(5)REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE(7) 的情况下,会报告该状态。
      • -
      • +
      • (1):本地用户已接收远端视频首包。
      • -
      • +
      • (2):远端视频流正常解码播放。在 REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY(2)REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED(4)REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED(6)REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY(9) 的情况下,会报告该状态。
      • -
      • (3):远端视频流卡顿。在 +
      • (3):远端视频流卡顿。在 REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION(1)REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK(8) 的情况下,会报告该状态。
      • -
      • (4):远端视频流播放失败。在 +
      • (4):远端视频流播放失败。在 REMOTE_VIDEO_STATE_REASON_INTERNAL(0) 的情况下,会报告该状态。
      • -

      -
      -
      - - reason - -

      远端视频流状态改变的具体原因,详见

      -

      远端视频流状态改变的具体原因: - - - -

        -
      • +
      +

      +
      +
      + + reason + +

      远端视频流状态改变的具体原因,详见

      +

      远端视频流状态改变的具体原因:

        +
      • (0):内部原因。
      • -
      • (1):网络阻塞。
      • -
      • (2):网络恢复正常。
      • -
      • +
      • (1):网络阻塞。
      • +
      • (2):网络恢复正常。
      • +
      • (3):本地用户停止接收远端视频流或本地用户禁用视频模块。
      • -
      • +
      • (4):本地用户恢复接收远端视频流或本地用户启动视频模块。
      • -
      • +
      • (5):远端用户停止发送视频流或远端用户禁用视频模块。
      • -
      • +
      • (6):远端用户恢复发送视频流或远端用户启用视频模块。
      • -
      • +
      • (7):远端用户离开频道。
      • -
      • +
      • (8):远端视频流已回退为音频流。
      • -
      • (9):回退的远端音频流恢复为视频流。
      • -

      -
      -
      - - elapsed - 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 - -
    +
  • (9):回退的远端音频流恢复为视频流。
  • + +

    + + + + elapsed + 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 + + +
    diff --git a/dita/RTC/API/callback_onremotevideostats.dita b/dita/RTC/API/callback_onremotevideostats.dita index 5bdc24a903b..9cc14a2f6fb 100644 --- a/dita/RTC/API/callback_onremotevideostats.dita +++ b/dita/RTC/API/callback_onremotevideostats.dita @@ -13,39 +13,42 @@

    - public virtual void OnRemoteVideoStats(RtcConnection connection, RemoteVideoStats stats) {}

    + public virtual void OnRemoteVideoStats(RtcConnection connection, RemoteVideoStats stats) {}

    - public virtual void OnRemoteVideoStats(RemoteVideoStats stats)

    + public virtual void OnRemoteVideoStats(RemoteVideoStats stats)

    - public void onRemoteVideoStats(RemoteVideoStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoStats(RemoteVideoStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStats:(AgoraRtcRemoteVideoStats * _Nonnull)stats; - virtual void onRemoteVideoStats(const RemoteVideoStats& stats) { + virtual void onRemoteVideoStats(const RemoteVideoStats& stats) { (void)stats; } - on(evt: EngineEvents.REMOTE_VIDEO_STATS, cb: (stats: RemoteVideoStats) => void): this; - - RemoteVideoStatsCallback? remoteVideoStats;

    + on(evt: EngineEvents.REMOTE_VIDEO_STATS, cb: (stats: RemoteVideoStats) => void): this; + + RemoteVideoStatsCallback? remoteVideoStats; +

    -

    该回调描述远端用户在通话中端到端的视频流统计信息, 针对每个远端用户/主播每 2 秒触发一次。如果远端同时存在多个用户/主播, 该回调每 2 秒会被触发多次。

    +

    该回调描述远端用户在通话中端到端的视频流统计信息, 针对每个远端用户/主播每 2 秒触发一次。如果远端同时存在多个用户/主播, 该回调每 2 + 秒会被触发多次。

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - stats - 远端视频统计数据。详见 - -

    + + + + + + connection + Connection 信息。详见 + + + stats + 远端视频统计数据。详见 + + +
    diff --git a/dita/RTC/API/callback_onremotevideotransportstats.dita b/dita/RTC/API/callback_onremotevideotransportstats.dita index a234e7fad77..2b19defd33e 100644 --- a/dita/RTC/API/callback_onremotevideotransportstats.dita +++ b/dita/RTC/API/callback_onremotevideotransportstats.dita @@ -13,17 +13,17 @@

    - public virtual void OnRemoteVideoTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {}

    + public virtual void OnRemoteVideoTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {}

    - public virtual void OnRemoteVideoTransportStats(uint uid, ushort delay, ushort lost, ushort rxKBitRate)

    + public virtual void OnRemoteVideoTransportStats(uint uid, ushort delay, ushort lost, ushort rxKBitRate)

    - public void onRemoteVideoTransportStats(int uid, int delay, int lost, int rxKBitRate) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoTransportStats(int uid, int delay, int lost, int rxKBitRate) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate; - virtual void onRemoteVideoTransportStats(uid_t uid, + virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) { @@ -32,59 +32,56 @@ (void)lost; (void)rxKBitRate; } - on(evt: EngineEvents.REMOTE_VIDEO_TRANSPORT_STATS, cb: ( + on(evt: EngineEvents.REMOTE_VIDEO_TRANSPORT_STATS, cb: ( uid: number, delay: number, lost: number, rxKBitRate: number) => void ): this; - - TransportStatsCallback? remoteVideoTransportStats; + + TransportStatsCallback? remoteVideoTransportStats;

    - -
    弃用:
    -
    该回调已被废弃,请改用
    -
    + +
    弃用:
    +
    该回调已被废弃,请改用
    +
    -

    该回调描述远端用户通话中端到端的网络统计信息,通过视频包计算,用客观的数据,如丢包、 网络延迟等,展示当前网络状态。

    +

    该回调描述远端用户通话中端到端的网络统计信息,通过视频包计算,用客观的数据,如丢包、 网络延迟等,展示当前网络状态。

    通话中,当用户收到远端用户/主播发送的视频数据包后,会每 2 秒触发一次该回调。

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - 用户 ID,指定是哪个用户/主播的视频包。 - - - delay - 视频包从发送端到接收端的延时(毫秒)。 - - - lost - 视频包从发送端到接收端的丢包率 (%)。 - - - rxKBitRate - 远端视频包的接收码率(Kbps)。 - -

    + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + 用户 ID,指定是哪个用户/主播的视频包。 + + + delay + 视频包从发送端到接收端的延时(毫秒)。 + + + lost + 视频包从发送端到接收端的丢包率 (%)。 + + + rxKBitRate + 远端视频包的接收码率(Kbps)。 + + +
    diff --git a/dita/RTC/API/callback_onrequestaudiofileinfo.dita b/dita/RTC/API/callback_onrequestaudiofileinfo.dita index 20f16345e6b..c8fd2adf75e 100644 --- a/dita/RTC/API/callback_onrequestaudiofileinfo.dita +++ b/dita/RTC/API/callback_onrequestaudiofileinfo.dita @@ -13,20 +13,21 @@

    - - - - - public virtual void OnRequestAudioFileInfo(AudioFileInfo info, AUDIO_FILE_INFO_ERROR error) - - RequestAudioFileInfoCallback? requestAudioFileInfoCallback;

    + + + + + public virtual void OnRequestAudioFileInfo(AudioFileInfo info, AUDIO_FILE_INFO_ERROR error) + + RequestAudioFileInfoCallback? requestAudioFileInfoCallback; +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +

    @@ -34,14 +35,15 @@ <ph keyref="callback-section-title"/>

    - - info - 音频文件信息。详见 - - - error - 信息获取状态。详见 - - + + info + 音频文件信息。详见 + + + error + 信息获取状态。详见 + + + diff --git a/dita/RTC/API/callback_onrequesttoken.dita b/dita/RTC/API/callback_onrequesttoken.dita index 31f87c70688..4e921d3ac21 100644 --- a/dita/RTC/API/callback_onrequesttoken.dita +++ b/dita/RTC/API/callback_onrequesttoken.dita @@ -13,16 +13,17 @@

    - public virtual void OnRequestToken(RtcConnection connection) {}

    + public virtual void OnRequestToken(RtcConnection connection) {}

    - public virtual void OnRequestToken()

    + public virtual void OnRequestToken()

    - public void onRequestToken() {} - - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRequestToken() - on(evt: EngineEvents.REQUEST_TOKEN, cb: () => void): this; - - EmptyCallback? requestToken;

    + public void onRequestToken() {} + - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRequestToken() + on(evt: EngineEvents.REQUEST_TOKEN, cb: () => void): this; + + EmptyCallback? requestToken; +

    在通话过程中如果 Token 已失效,SDK 会触发该回调,提醒 app 更新 Token。

    @@ -32,14 +33,15 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - -

    + + + + + + connection + Connection 信息。详见 + + +
    diff --git a/dita/RTC/API/callback_onrtcstats.dita b/dita/RTC/API/callback_onrtcstats.dita index 7e1fc40ec09..9774aaf1b63 100644 --- a/dita/RTC/API/callback_onrtcstats.dita +++ b/dita/RTC/API/callback_onrtcstats.dita @@ -13,19 +13,20 @@

    - public virtual void OnRtcStats(RtcConnection connection, RtcStats stats) {}

    + public virtual void OnRtcStats(RtcConnection connection, RtcStats stats) {}

    - public virtual void OnRtcStats(RtcStats stats)

    + public virtual void OnRtcStats(RtcStats stats)

    - public void onRtcStats(RtcStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRtcStats(RtcStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportRtcStats:(AgoraChannelStats * _Nonnull)stats; - virtual void onRtcStats(const RtcStats& stats) { + virtual void onRtcStats(const RtcStats& stats) { (void)stats; } - on(evt: EngineEvents.RTC_STATS, cb: (stats: RtcStats) => void): this; - - RtcStatsCallback? rtcStats;

    + on(evt: EngineEvents.RTC_STATS, cb: (stats: RtcStats) => void): this; + + RtcStatsCallback? rtcStats; +

    SDK 定期向 App 报告当前通话的统计信息,每两秒触发一次。

    @@ -34,20 +35,21 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - stats - -

    RTC 引擎统计数据,详见

    - - -
    + + + + + + connection + Connection 信息。详见 + + + stats + +

    RTC 引擎统计数据,详见

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onrtmpstreamingevent.dita b/dita/RTC/API/callback_onrtmpstreamingevent.dita index 8deed6f54e1..b9b1104d321 100644 --- a/dita/RTC/API/callback_onrtmpstreamingevent.dita +++ b/dita/RTC/API/callback_onrtmpstreamingevent.dita @@ -13,43 +13,44 @@

    - virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) { + virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) { (void)url; (void)eventCode; }

    - virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode)

    + virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode)

    - public void onRtmpStreamingEvent(String url, RTMP_STREAMING_EVENT event) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode; - on(evt: EngineEvents.RTMP_STREAMING_EVENT, cb: ( + public void onRtmpStreamingEvent(String url, RTMP_STREAMING_EVENT event) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode; + on(evt: EngineEvents.RTMP_STREAMING_EVENT, cb: ( url: string, eventCode: RTMP_STREAMING_EVENT) => void ): this; - public virtual void OnRtmpStreamingEvent(string url, RTMP_STREAMING_EVENT eventCode) - - RtmpStreamingEventCallback? rtmpStreamingEvent;

    + public virtual void OnRtmpStreamingEvent(string url, RTMP_STREAMING_EVENT eventCode) + + RtmpStreamingEventCallback? rtmpStreamingEvent;

    - -
    自从
    -
    v3.1.0
    -
    + +
    自从
    +
    v3.1.0
    +
    <ph keyref="callback-section-title"/>

    - - url - 旁路推流 URL。 - - - eventCode - 旁路推流事件码。详见 - -

    + + url + 旁路推流 URL。 + + + eventCode + 旁路推流事件码。详见 + + +
    diff --git a/dita/RTC/API/callback_onrtmpstreamingstatechanged.dita b/dita/RTC/API/callback_onrtmpstreamingstatechanged.dita index 5c17510e872..c2ff5b7fc0a 100644 --- a/dita/RTC/API/callback_onrtmpstreamingstatechanged.dita +++ b/dita/RTC/API/callback_onrtmpstreamingstatechanged.dita @@ -13,10 +13,10 @@

    - - - - on( + + + + on( evt: EngineEvents.RTMP_STREAMING_STATE_CHANGED, cb: ( url: string, @@ -24,38 +24,43 @@ errCode: RTMP_STREAM_PUBLISH_ERROR ) => void ): this; - public virtual void OnRtmpStreamingStateChanged(string url, RTMP_STREAM_PUBLISH_STATE state, + public virtual void OnRtmpStreamingStateChanged(string url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode) - - RtmpStreamingStateCallback? rtmpStreamingStateChanged;

    + + RtmpStreamingStateCallback? rtmpStreamingStateChanged; +

    旁路推流状态发生改变时,SDK会触发该回调,并在回调中明确状态发生改变的 URL 地址及当前推流状态。 - 该回调方便推流用户了解当前的推流状态;推流出错时,你可以通过返回的错误码了解出错的原因,方便排查问题。

    + 该回调方便推流用户了解当前的推流状态;推流出错时,你可以通过返回的错误码了解出错的原因,方便排查问题。

    - <ph keyref="callback-section-title"/> + + <ph keyref="callback-section-title"/> +

    - - - - - - url - -

    推流状态发生改变的 URL 地址。

    - - - - state - 当前的推流状态,详见 。 - 当推流状态为 (4) 时,你可以在 errorCode 参数中查看返回的错误信息。 - - - errCode - 推流错误信息,详见 - -
    + + + + + + url + +

    推流状态发生改变的 URL 地址。

    +
    +
    + + state + 当前的推流状态,详见 。 当推流状态为 (4) 时,你可以在 + errorCode 参数中查看返回的错误信息。 + + + errCode + 推流错误信息,详见 + + +
    diff --git a/dita/RTC/API/callback_onscreencaptureinfoupdated.dita b/dita/RTC/API/callback_onscreencaptureinfoupdated.dita index bea44026c21..97dbe7e20a5 100644 --- a/dita/RTC/API/callback_onscreencaptureinfoupdated.dita +++ b/dita/RTC/API/callback_onscreencaptureinfoupdated.dita @@ -1,8 +1,12 @@ - <ph keyref="onScreenCaptureInfoUpdated"/> - 屏幕共享信息更新回调。 + + <ph keyref="onScreenCaptureInfoUpdated"/> + + + 屏幕共享信息更新回调。 + @@ -13,26 +17,31 @@

    - - - - - public virtual void OnScreenCaptureInfoUpdated(ScreenCaptureInfo info) - - OnScreenCaptureInfoUpdated? screenCaptureInfoUpdated;

    + + + + + public virtual void OnScreenCaptureInfoUpdated(ScreenCaptureInfo info) + + OnScreenCaptureInfoUpdated? screenCaptureInfoUpdated; +

    -

    调用 开启屏幕共享,并通过 excludeWindowList 屏蔽指定窗口时,如果窗口屏蔽失败,SDK 会触发该回调。

    - 该回调仅适用于 Windows。
    +

    调用 开启屏幕共享,并通过 + excludeWindowList 屏蔽指定窗口时,如果窗口屏蔽失败,SDK 会触发该回调。

    + 该回调仅适用于 Windows。 +
    参数 - - info - -

    屏幕共享信息。详见

    -
    -
    -
    + + info + +

    屏幕共享信息。详见

    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onsnapshottaken.dita b/dita/RTC/API/callback_onsnapshottaken.dita index 2349c041330..dc99c835489 100644 --- a/dita/RTC/API/callback_onsnapshottaken.dita +++ b/dita/RTC/API/callback_onsnapshottaken.dita @@ -13,12 +13,12 @@

    - public void onSnapshotTaken( + public void onSnapshotTaken( String channel, int uid, String filePath, int width, int height, int errCode) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine snapshotTaken:(NSString* _Nonnull)channel uid:(NSUInteger)uid filePath:(NSString* _Nonnull)filePath width:(NSInteger)width height:(NSInteger)height errCode:(NSInteger)errCode; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine snapshotTaken:(NSString* _Nonnull)channel uid:(NSUInteger)uid filePath:(NSString* _Nonnull)filePath width:(NSInteger)width height:(NSInteger)height errCode:(NSInteger)errCode; - virtual void onSnapshotTaken(const char* channel, uid_t uid, const char* filePath, int width, int height, int errCode) { + virtual void onSnapshotTaken(const char* channel, uid_t uid, const char* filePath, int width, int height, int errCode) { (void)channel; (void)uid; (void)filePath; @@ -27,17 +27,18 @@ (void)errCode; } - - public virtual void OnSnapshotTaken(string channel, uint uid, string filePath, int width, int height, int errCode) - - SnapshotTakenCallback? snapshotTaken;

    + + public virtual void OnSnapshotTaken(string channel, uint uid, string filePath, int width, int height, int errCode) + + SnapshotTakenCallback? snapshotTaken; +

    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +

    成功调用 后,SDK 触发该回调报告截图是否成功和获取截图的详情。

    @@ -45,46 +46,42 @@ <ph keyref="callback-section-title"/>

    - - - - - - channel - 频道名。 - - - uid - 用户 ID。如果 uid 为 0,表示本地用户。 - - - filePath - 截图的本地保存路径。 - - - width - 图片宽度(px)。 - - - height - 图片高度(px)。 - - - errCode - 截图成功的提示或失败的原因。 - - -

      -
    • 0:截图成功。
    • -
    • < 0: 截图失败。 - - -
        -
      • -1:写入文件失败或 JPEG 编码失败。
      • -
      • -2: 方法调用成功后 1 秒内没有发现指定用户的视频流。
      • -
    • -
    - - + + + + + + channel + 频道名。 + + + uid + 用户 ID。如果 uid 为 0,表示本地用户。 + + + filePath + 截图的本地保存路径。 + + + width + 图片宽度(px)。 + + + height + 图片高度(px)。 + + + errCode + 截图成功的提示或失败的原因。
      +
    • 0:截图成功。
    • +
    • < 0: 截图失败。
        +
      • -1:写入文件失败或 JPEG 编码失败。
      • +
      • -2: 方法调用成功后 1 + 秒内没有发现指定用户的视频流。
      • +
    • +
    +
    + +
    diff --git a/dita/RTC/API/callback_onstart.dita b/dita/RTC/API/callback_onstart.dita index 48fbb75698a..07f000b82b8 100644 --- a/dita/RTC/API/callback_onstart.dita +++ b/dita/RTC/API/callback_onstart.dita @@ -13,22 +13,25 @@

    - - - virtual bool onStart() = 0; - - - -

    + + + virtual bool onStart() = 0; + + + + +

    -

    SDK 触发该回调提醒你启动视频帧采集。启动成功后,SDK 会打开 的开关,接收你采集的视频帧。你需要通过返回值告知 SDK 自定义的视频源是否已经成功启动。

    +

    SDK 触发该回调提醒你启动视频帧采集。启动成功后,SDK 会打开 + 的开关,接收你采集的视频帧。你需要通过返回值告知 SDK 自定义的视频源是否已经成功启动。

    返回值
      -
    • : 自定义的视频源启动成功。
    • -
    • : 自定义的视频源启动失败,SDK 会停下来并上报错误。
    • -
    +
  • : 自定义的视频源启动成功。
  • +
  • : 自定义的视频源启动失败,SDK 会停下来并上报错误。
  • + +
    diff --git a/dita/RTC/API/callback_onstop.dita b/dita/RTC/API/callback_onstop.dita index cea57de9283..f9974a10b17 100644 --- a/dita/RTC/API/callback_onstop.dita +++ b/dita/RTC/API/callback_onstop.dita @@ -13,16 +13,18 @@

    - - - virtual void onStop() = 0; - - - -

    + + + virtual void onStop() = 0; + + + + +

    -

    SDK 触发该回调提醒你停止视频帧采集。该回调通知你 的开关即将关闭,SDK 不会接收你之后采集的视频帧。

    +

    SDK 触发该回调提醒你停止视频帧采集。该回调通知你 的开关即将关闭,SDK + 不会接收你之后采集的视频帧。

    diff --git a/dita/RTC/API/callback_onstreaminjectedstatus.dita b/dita/RTC/API/callback_onstreaminjectedstatus.dita index 33fa2c049de..4a3648e35c1 100644 --- a/dita/RTC/API/callback_onstreaminjectedstatus.dita +++ b/dita/RTC/API/callback_onstreaminjectedstatus.dita @@ -13,45 +13,48 @@

    - public void onStreamInjectedStatus(String url, int uid, int status) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamInjectedStatus(String url, int uid, int status) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamInjectedStatusOfUrl:(NSString * _Nonnull)url uid:(NSUInteger)uid status:(AgoraInjectStreamStatus)status; - virtual void onStreamInjectedStatus(const char* url, uid_t uid, int status) { + virtual void onStreamInjectedStatus(const char* url, uid_t uid, int status) { (void)url; (void)uid; (void)status; } - on(evt: EngineEvents.STREAM_INJECTED_STATUS, cb: ( + on(evt: EngineEvents.STREAM_INJECTED_STATUS, cb: ( url: string, uid: number, status: INJECT_STREAM_STATUS) => void ): this; - public virtual void OnStreamInjectedStatus(string url, uint uid, int status) - - StreamInjectedStatusCallback? streamInjectedStatus;

    + public virtual void OnStreamInjectedStatus(string url, uint uid, int status) + + StreamInjectedStatusCallback? streamInjectedStatus; +

    -
    + +
    <ph keyref="callback-section-title"/>

    - - - - - - url - 在线媒体流的地址。 - - - uid - 用户 ID。 - - - status - 输入的在线媒体流状态: - -

    + + + + + + url + 在线媒体流的地址。 + + + uid + 用户 ID。 + + + status + 输入的在线媒体流状态: + + +
    diff --git a/dita/RTC/API/callback_onstreammessage.dita b/dita/RTC/API/callback_onstreammessage.dita index b57dfcfc93b..21b81270661 100644 --- a/dita/RTC/API/callback_onstreammessage.dita +++ b/dita/RTC/API/callback_onstreammessage.dita @@ -13,34 +13,36 @@

    - virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) { + virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) { (void)userId; (void)streamId; (void)data; (void)length; (void)sentTs; } - public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, uint length, UInt64 sentTs) {}

    + public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, uint length, UInt64 sentTs) {} +

    - virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length) { + virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length) { (void)uid; (void)streamId; (void)data; (void)length; } - public virtual void OnStreamMessage(uint uid, int streamId, byte[] data, uint length)

    + public virtual void OnStreamMessage(uint uid, int streamId, byte[] data, uint length)

    - public void onStreamMessage(int uid, int streamId, byte[] data) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamMessage(int uid, int streamId, byte[] data) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine receiveStreamMessageFromUid:(NSUInteger)uid streamId:(NSInteger)streamId data:(NSData * _Nonnull)data; - on( + on( evt: EngineEvents.STREAM_MESSAGE, cb: (uid: number, streamId: number, data: string) => void ): this; - - StreamMessageCallback? streamMessage;

    + + StreamMessageCallback? streamMessage; +

    该回调表示本地用户收到了远端用户调用 方法发送的流消息。

    @@ -49,38 +51,39 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - uid - userIduid - remoteUiduid - 发送消息的用户 ID。 - - - streamId - 接收到的消息的 Stream ID。 - - - data - 接收到的数据。 - - - length - 数据长度,单位为字节。 - + + + + + + connection + Connection 信息。详见 + + + uid + userIduid + remoteUiduid + 发送消息的用户 ID。 + + + streamId + 接收到的消息的 Stream ID。 + + + data + 接收到的数据。 + + + length + 数据长度,单位为字节。 + - - sentTs - 数据流发出的时间。 - -

    + + sentTs + 数据流发出的时间。 + + +
    diff --git a/dita/RTC/API/callback_onstreammessageerror.dita b/dita/RTC/API/callback_onstreammessageerror.dita index b6fe93a3562..a49825c7d62 100644 --- a/dita/RTC/API/callback_onstreammessageerror.dita +++ b/dita/RTC/API/callback_onstreammessageerror.dita @@ -13,7 +13,7 @@

    - virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) { + virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) { (void)userId; (void)streamId; (void)code; @@ -21,16 +21,16 @@ (void)cached; } - public virtual void OnStreamMessageError(RtcConnection connection, uint remoteUid, int streamId, int code, int missed, int cached) {}

    + public virtual void OnStreamMessageError(RtcConnection connection, uint remoteUid, int streamId, int code, int missed, int cached) {}

    - virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int 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; } - on( + on( evt: EngineEvents.STREAM_MESSAGE_ERROR, cb: ( uid: number, @@ -40,62 +40,59 @@ cached: number ) => void ): this; - public virtual void OnStreamMessageError(uint uid, int streamId, int code, int missed, int cached) - - StreamMessageErrorCallback? streamMessageError; + public virtual void OnStreamMessageError(uint uid, int streamId, int code, int missed, int cached) + + StreamMessageErrorCallback? streamMessageError;

    - public void onStreamMessageError(int uid, int streamId, int error, int missed, int cached) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamMessageError(int uid, int streamId, int error, int missed, int cached) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurStreamMessageErrorFromUid:(NSUInteger)uid streamId:(NSInteger)streamId error:(NSInteger)error missed:(NSInteger)missed - cached:(NSInteger)cached;

    + cached:(NSInteger)cached; +

    -

    该回调表示本地用户未收到远端用户调用 方法发送的流消息。

    +

    该回调表示本地用户未收到远端用户调用 方法发送的流消息。

    <ph keyref="callback-section-title"/> -

    +

    - - - - - - connection - Connection 信息。详见 - - - uid - userIduid - remoteUiduid - 发送消息的用户 ID。 - - - streamId - 接收到的消息的 Stream ID。 - - - code - error - 发生错误的错误码。 - - - missed - 丢失的消息数量。 - - - cached - 数据流中断时,后面缓存的消息数量。 - -

    + + + + + + connection + Connection 信息。详见 + + + uid + userIduid + remoteUiduid + 发送消息的用户 ID。 + + + streamId + 接收到的消息的 Stream ID。 + + + code + error + 发生错误的错误码。 + + + missed + 丢失的消息数量。 + + + cached + 数据流中断时,后面缓存的消息数量。 + + +
    diff --git a/dita/RTC/API/callback_onstreampublished.dita b/dita/RTC/API/callback_onstreampublished.dita index 3d763c013b6..762fa5cb462 100644 --- a/dita/RTC/API/callback_onstreampublished.dita +++ b/dita/RTC/API/callback_onstreampublished.dita @@ -13,25 +13,26 @@

    - public void onStreamPublished(String url, int error) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamPublished(String url, int error) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamPublishedWithUrl:(NSString * _Nonnull)url errorCode:(AgoraErrorCode)errorCode; - virtual void onStreamPublished(const char *url, int error) { + virtual void onStreamPublished(const char *url, int error) { (void)url; (void)error; } - on(evt: EngineEvents.STREAM_PUBLISHED, cb: (url: string, error: number) => void): this; - public virtual void OnStreamPublished(string url, int error) - - UrlWithErrorCallback? streamPublished;

    + on(evt: EngineEvents.STREAM_PUBLISHED, cb: (url: string, error: number) => void): this; + public virtual void OnStreamPublished(string url, int error) + + UrlWithErrorCallback? streamPublished; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +

    该回调用于通知主播推流状态。

    @@ -39,45 +40,47 @@ <ph keyref="callback-section-title"/>

    - - - - - - url - 主播推流的 URL 地址。 - - - error - errorCode - -

    推流错误码。 - - -

      -
    • ERR_OK (0): 推流成功。
    • -
    • ERR_FAILED (1): 推流失败。
    • -
    • ERR_INVALID_ARGUMENT (2): 参数错误。如果你在调用 前没有调用 配置 ,SDK 会回调 + + + + + + url + 主播推流的 URL 地址。 + + + error + errorCode + +

      推流错误码。

        +
      • ERR_OK (0): 推流成功。
      • +
      • ERR_FAILED (1): 推流失败。
      • +
      • ERR_INVALID_ARGUMENT (2): 参数错误。如果你在调用 前没有调用 配置 ,SDK 会回调 ERR_INVALID_ARGUMENT
      • -
      • ERR_TIMEDOUT (10): 推流超时未成功。
      • -
      • ERR_ALREADY_IN_USE (19): 推流地址已推流。
      • -
      • ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH (130): +
      • ERR_TIMEDOUT (10): 推流超时未成功。
      • +
      • ERR_ALREADY_IN_USE (19): 推流地址已推流。
      • +
      • ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH (130): 推流已加密不能推流。
      • -
      • ERR_PUBLISH_STREAM_CDN_ERROR (151): CDN +
      • ERR_PUBLISH_STREAM_CDN_ERROR (151): CDN 相关错误。请调用 方法删除原来的推流地址,然后调用 方法重新推流到新地址。
      • -
      • ERR_PUBLISH_STREAM_NUM_REACH_LIMIT (152): +
      • ERR_PUBLISH_STREAM_NUM_REACH_LIMIT (152): 单个主播的推流地址数目达到上限 10。请删掉一些不用的推流地址再增加推流地址。
      • -
      • ERR_PUBLISH_STREAM_NOT_AUTHORIZED (153): +
      • ERR_PUBLISH_STREAM_NOT_AUTHORIZED (153): 操作不属于主播自己的流,如更新其他主播的流参数、停止其他主播的流。请检查应用业务逻辑。
      • -
      • ERR_PUBLISH_STREAM_INTERNAL_SERVER_ERROR (154): +
      • ERR_PUBLISH_STREAM_INTERNAL_SERVER_ERROR (154): 推流服务器出现错误。请调用 重新推流。
      • -
      • ERR_PUBLISH_STREAM_FORMAT_NOT_SUPPORTED (156): +
      • ERR_PUBLISH_STREAM_FORMAT_NOT_SUPPORTED (156): 推流地址格式有错误。请检查推流地址格式是否正确。
      • -

      -
      -
      - +
    +

    + + + +
    diff --git a/dita/RTC/API/callback_onstreamunpublished.dita b/dita/RTC/API/callback_onstreamunpublished.dita index 215ad31902d..650d97bf5a6 100644 --- a/dita/RTC/API/callback_onstreamunpublished.dita +++ b/dita/RTC/API/callback_onstreamunpublished.dita @@ -13,37 +13,39 @@

    - public void onStreamUnpublished(String url) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamUnpublished(String url) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamUnpublishedWithUrl:(NSString * _Nonnull)url; - virtual void onStreamUnpublished(const char *url) { + virtual void onStreamUnpublished(const char *url) { (void)url; } - on(evt: EngineEvents.STREAM_UNPUBLISHED, cb: (url: string) => void): this; - public virtual void OnStreamUnpublished(string url) - - UrlCallback? streamUnpublished;

    + on(evt: EngineEvents.STREAM_UNPUBLISHED, cb: (url: string) => void): this; + public virtual void OnStreamUnpublished(string url) + + UrlCallback? streamUnpublished; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    <ph keyref="callback-section-title"/>

    - - - - - - url - 被删除的旁路推流地址。 - -

    + + + + + + url + 被删除的旁路推流地址。 + + +
    diff --git a/dita/RTC/API/callback_ontokenprivilegewillexpire.dita b/dita/RTC/API/callback_ontokenprivilegewillexpire.dita index 5bef45fcd05..c36da6ea109 100644 --- a/dita/RTC/API/callback_ontokenprivilegewillexpire.dita +++ b/dita/RTC/API/callback_ontokenprivilegewillexpire.dita @@ -13,19 +13,20 @@

    - public virtual void OnTokenPrivilegeWillExpire(RtcConnection connection, string token) {}

    + public virtual void OnTokenPrivilegeWillExpire(RtcConnection connection, string token) {}

    - public virtual void OnTokenPrivilegeWillExpire(string token)

    + public virtual void OnTokenPrivilegeWillExpire(string token)

    - public void onTokenPrivilegeWillExpire(String token) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onTokenPrivilegeWillExpire(String token) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine tokenPrivilegeWillExpire:(NSString *_Nonnull)token; - virtual void onTokenPrivilegeWillExpire(const char* token) { + virtual void onTokenPrivilegeWillExpire(const char* token) { (void)token; } - on(evt: EngineEvents.TOKEN_PRIVILEGE_WILL_EXPIRE, cb: (token: string) => void): this; - - TokenCallback? tokenPrivilegeWillExpire;

    + on(evt: EngineEvents.TOKEN_PRIVILEGE_WILL_EXPIRE, cb: (token: string) => void): this; + + TokenCallback? tokenPrivilegeWillExpire; +

    在通话过程中如果 Token 即将失效,SDK 会提前 30 秒触发该回调,提醒 app 更新 Token。

    @@ -35,18 +36,19 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - token - 即将服务失效的 Token。 - -

    + + + + + + connection + Connection 信息。详见 + + + token + 即将服务失效的 Token。 + + +
    diff --git a/dita/RTC/API/callback_ontranscodingupdated.dita b/dita/RTC/API/callback_ontranscodingupdated.dita index 56e39d8068e..3b15fc6bb64 100644 --- a/dita/RTC/API/callback_ontranscodingupdated.dita +++ b/dita/RTC/API/callback_ontranscodingupdated.dita @@ -13,27 +13,30 @@

    - public void onTranscodingUpdated() {} - - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onTranscodingUpdated() - on(evt: EngineEvents.TRANSCODING_UPDATED, cb: () => void): this; - public virtual void OnTranscodingUpdated() - - EmptyCallback? transcodingUpdated;

    + public void onTranscodingUpdated() {} + - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onTranscodingUpdated() + on(evt: EngineEvents.TRANSCODING_UPDATED, cb: () => void): this; + public virtual void OnTranscodingUpdated() + + EmptyCallback? transcodingUpdated; +

    方法中的直播参数 更新时, 回调会被触发并向主播报告更新信息。

    首次调用 方法设置转码参数 - 时,不会触发此回调。
    + 时,不会触发此回调。 +
    <ph keyref="callback-section-title"/>

    - - - - -

    + + + + + +
    diff --git a/dita/RTC/API/callback_onuplinknetworkinfoupdated.dita b/dita/RTC/API/callback_onuplinknetworkinfoupdated.dita index 98c35a7f594..9ab2415d3f1 100644 --- a/dita/RTC/API/callback_onuplinknetworkinfoupdated.dita +++ b/dita/RTC/API/callback_onuplinknetworkinfoupdated.dita @@ -13,32 +13,35 @@

    - public void onUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + public void onUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine uplinkNetworkInfoUpdate:(AgoraUplinkNetworkInfo *_Nonnull)networkInfo; - virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) { + virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) { (void)info; } - - public virtual void OnUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} - -

    + + public virtual void OnUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} + + +

    只有当上行网络信息发生变化时,SDK 才会触发该回调。

    - 该回调仅适用于向 SDK 推送 H.264 格式的外部编码视频数据的场景。
    + 该回调仅适用于向 SDK 推送 H.264 格式的外部编码视频数据的场景。 +
    参数 - - - - - - info - networkInfo - 上行网络信息,详见 - -
    + + + + + + info + networkInfo + 上行网络信息,详见 + + +
    diff --git a/dita/RTC/API/callback_onuploadlogresult.dita b/dita/RTC/API/callback_onuploadlogresult.dita index 345be415656..51273d6c764 100644 --- a/dita/RTC/API/callback_onuploadlogresult.dita +++ b/dita/RTC/API/callback_onuploadlogresult.dita @@ -13,57 +13,60 @@

    - - - virtual void onUploadLogResult(const char* requestId, + + + virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) { (void)requestId; (void)success; (void)reason; } - on(evt: EngineEvents.UPLOAD_LOG_RESULT, cb: ( + on(evt: EngineEvents.UPLOAD_LOG_RESULT, cb: ( requestId: string, success: boolean, reason: number ) => void): this; - public virtual void OnUploadLogResult(string requestId, bool success, UPLOAD_ERROR_REASON reason) - - UploadLogResultCallback? uploadLogResult;

    + public virtual void OnUploadLogResult(string requestId, bool success, UPLOAD_ERROR_REASON reason) + + UploadLogResultCallback? uploadLogResult; +

    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +
    -

    调用 后,SDK 会触发该回调报告日志文件上传的结果。如果上传失败,请参考 reason 排查问题。

    +

    调用 后,SDK 会触发该回调报告日志文件上传的结果。如果上传失败,请参考 + reason 排查问题。

    <ph keyref="callback-section-title"/>

    - - requestId - 请求 ID。该请求 ID 与 中返回的 requestId 一致。你可以通过 - requestId 将特定的上传和回调对应起来。 - - - success - -

    是否成功上传日志文件: - -

      -
    • : 日志文件上传成功。
    • -
    • : 日志文件上传失败。失败的原因详见 reason 参数。
    • -

    - - - - reason - 日志文件上传失败的原因。详见 - -
    + + requestId + 请求 ID。该请求 ID 与 中返回的 + requestId 一致。你可以通过 requestId + 将特定的上传和回调对应起来。 + + + success + +

    是否成功上传日志文件:

      +
    • : 日志文件上传成功。
    • +
    • : 日志文件上传失败。失败的原因详见 + reason 参数。
    • +

    +
    +
    + + reason + 日志文件上传失败的原因。详见 + + +
    diff --git a/dita/RTC/API/callback_onuserenablelocalvideo.dita b/dita/RTC/API/callback_onuserenablelocalvideo.dita index e88a4cf4139..69cad63af92 100644 --- a/dita/RTC/API/callback_onuserenablelocalvideo.dita +++ b/dita/RTC/API/callback_onuserenablelocalvideo.dita @@ -13,39 +13,38 @@

    - public virtual void OnUserEnableLocalVideo(RtcConnection connection, uint remoteUid, bool enabled) {}

    + public virtual void OnUserEnableLocalVideo(RtcConnection connection, uint remoteUid, bool enabled) {}

    - public virtual void OnUserEnableLocalVideo(uint uid, bool enabled)

    + public virtual void OnUserEnableLocalVideo(uint uid, bool enabled)

    - public void onUserEnableLocalVideo(int uid, boolean enabled) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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) { + virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) { (void)uid; (void)enabled; } - on(evt: EngineEvents.USER_ENABLE_LOCAL_VIDEO, cb: ( + on(evt: EngineEvents.USER_ENABLE_LOCAL_VIDEO, cb: ( uid: number, enabled: boolean) => void ): this; - - UidWithEnabledCallback? userEnableLocalVideo;

    + + UidWithEnabledCallback? userEnableLocalVideo; +

    - -
    弃用:
    -
    请改用 回调的: - - - - -
      -
    • (0) 和 (5) 。
    • -
    • (2) 和 (6)。
    • -
    -
    + +
    弃用:
    +
    请改用 回调的:
      +
    • (0) 和 (5) 。
    • +
    • (2) 和 (6)。
    • +
    +
    +

    该回调是由远端用户调用 方法开启或关闭视频采集触发的。

    @@ -53,34 +52,31 @@ <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - 用户 ID,提示是哪个用户的视频流。 - - - enabled - -

    远端用户是否启用视频采集: - - - -

      -
    • : + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + 用户 ID,提示是哪个用户的视频流。 + + + enabled + +

      远端用户是否启用视频采集:

        +
      • : 该用户已启用视频功能。启用后,其他用户可以接收到该用户的视频流。
      • -
      • : +
      • : 该用户已关闭视频功能。关闭后,该用户仍然可以接收其他用户的视频流,但其他用户接收不到该用户的视频流。
      • -

      -
      -
      - +

    + + + +
    diff --git a/dita/RTC/API/callback_onuserenablevideo.dita b/dita/RTC/API/callback_onuserenablevideo.dita index 399c765a498..1824ff9a3e0 100644 --- a/dita/RTC/API/callback_onuserenablevideo.dita +++ b/dita/RTC/API/callback_onuserenablevideo.dita @@ -13,63 +13,68 @@

    - public virtual void OnUserEnableVideo(RtcConnection connection, uint remoteUid, bool enabled) {}

    + public virtual void OnUserEnableVideo(RtcConnection connection, uint remoteUid, bool enabled) {} +

    - public virtual void OnUserEnableVideo(uint uid, bool enabled)

    + public virtual void OnUserEnableVideo(uint uid, bool enabled)

    - public void onUserEnableVideo(int uid, boolean enabled) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserEnableVideo(int uid, boolean enabled) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid - virtual void onUserEnableVideo(uid_t uid, bool enabled) { + virtual void onUserEnableVideo(uid_t uid, bool enabled) { (void)uid; (void)enabled; } - on(evt: EngineEvents.USER_ENABLE_VIDEO, cb: (uid: number, enabled: boolean) => void): this; - - UidWithEnabledCallback? userEnableVideo;

    + on(evt: EngineEvents.USER_ENABLE_VIDEO, cb: (uid: number, enabled: boolean) => void): this; + + UidWithEnabledCallback? userEnableVideo; +

    - -
    弃用:
    -
    请改用 回调的: - - -
      -
    • (0) 和 (5) 。
    • -
    • (2) 和 (6)。
    • -
    -
    + +
    弃用:
    +
    请改用 回调的:
      +
    • (0) 和 (5) 。
    • +
    • (2) 和 (6)。
    • +
    +
    +

    关闭视频功能是指该用户只能进行语音通话,不能显示、发送自己的视频,也不能接收、显示别人的视频。

    -

    该回调是由远端用户调用 方法开启或关闭视频模块触发的。

    +

    该回调是由远端用户调用 + 方法开启或关闭视频模块触发的。

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - 用户 ID,提示是哪个用户的视频流。 - - - enabled - -

      -
    • : 该用户已启用视频功能。
    • -
    • : 该用户已关闭视频功能。
    • -
    - -
    + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + 用户 ID,提示是哪个用户的视频流。 + + + enabled + +
      +
    • : 该用户已启用视频功能。
    • +
    • : 该用户已关闭视频功能。
    • +
    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onuserinfoupdated.dita b/dita/RTC/API/callback_onuserinfoupdated.dita index 961aec23076..0ae6a02ddcd 100644 --- a/dita/RTC/API/callback_onuserinfoupdated.dita +++ b/dita/RTC/API/callback_onuserinfoupdated.dita @@ -13,50 +13,54 @@

    - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didUserInfoUpdatedWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo* _Nonnull)userInfo;

    + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didUserInfoUpdatedWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo* _Nonnull)userInfo;

    public virtual void OnUserInfoUpdated(uint uid, UserInfo info)

    - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine didUpdatedUserInfo:(AgoraUserInfo* _Nonnull)userInfo withUid:(NSUInteger)uid;

    + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine didUpdatedUserInfo:(AgoraUserInfo* _Nonnull)userInfo withUid:(NSUInteger)uid;

    public virtual void OnUserInfoUpdated(uint uid, UserInfo info)

    - public void onUserInfoUpdated(int uid, UserInfo userInfo) {} - virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) { + public void onUserInfoUpdated(int uid, UserInfo userInfo) {} + virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) { (void)uid; (void)info; } - on( + on( evt: EngineEvents.USER_INFO_UPDATED, cb: (uid: number, userInfo: UserInfo) => void ): this; - - UserInfoCallback? userInfoUpdated;

    + + UserInfoCallback? userInfoUpdated; +

    - -
    自从
    -
    v2.8.0
    -
    + +
    自从
    +
    v2.8.0
    +
    -

    远端用户加入频道后, SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 Mapping 表,并在本地触发该回调。

    +

    远端用户加入频道后, SDK 会获取到该远端用户的 UID 和 User Account,然后缓存一个包含了远端用户 UID 和 User Account 的 + Mapping 表,并在本地触发该回调。

    <ph keyref="callback-section-title"/>

    - - - - - - uid - 远端用户 ID。 - - - userInfo - info - 标识用户信息的 UserInfo 对象,包含用户 UID 和 User Account。详见 类。 - -

    + + + + + + uid + 远端用户 ID。 + + + userInfo + info + 标识用户信息的 UserInfo 对象,包含用户 UID 和 User Account。详见 + 类。 + + +
    diff --git a/dita/RTC/API/callback_onuserjoined.dita b/dita/RTC/API/callback_onuserjoined.dita index 7325b170480..6880eb4aee6 100644 --- a/dita/RTC/API/callback_onuserjoined.dita +++ b/dita/RTC/API/callback_onuserjoined.dita @@ -6,56 +6,57 @@

    - public virtual void OnUserJoined(RtcConnection connection, uint remoteUid, int elapsed) {}

    + public virtual void OnUserJoined(RtcConnection connection, uint remoteUid, int elapsed) {}

    - public virtual void OnUserJoined(uint uid, int elapsed)

    + public virtual void OnUserJoined(uint uid, int elapsed) +

    - public void onUserJoined(int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserJoined(int uid, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; - virtual void onUserJoined(uid_t uid, int elapsed) { + virtual void onUserJoined(uid_t uid, int elapsed) { (void)uid; (void)elapsed; } - on(evt: EngineEvents.USER_JOINED, cb: (uid: number, elapsed: number) => void): this; - - UidWithElapsedCallback? userJoined;

    + on(evt: EngineEvents.USER_JOINED, cb: (uid: number, elapsed: number) => void): this; + + UidWithElapsedCallback? userJoined; +

      -
    • 通信场景下,该回调提示有远端用户加入了频道。如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调。
    • -
    • 直播场景下,该回调提示有主播加入了频道。如果加入之前,已经有主播在频道中了,新加入的用户也会收到已有主播加入频道的回调。声网建议连麦主播不超过 17 人。
    • +
    • 通信场景下,该回调提示有远端用户加入了频道。如果加入之前,已经有其他用户在频道中了,新加入的用户也会收到这些已有用户加入频道的回调。
    • +
    • 直播场景下,该回调提示有主播加入了频道。如果加入之前,已经有主播在频道中了,新加入的用户也会收到已有主播加入频道的回调。声网建议连麦主播不超过 17 + 人。
    -

    该回调在如下情况下会被触发: - - -

      -
    • 远端用户/主播调用 方法加入频道。
    • -
    • 远端用户加入频道后将用户角色改变为主播。
    • -
    • 远端用户/主播网络中断后重新加入频道。
    • -

    +

    该回调在如下情况下会被触发:

      +
    • 远端用户/主播调用 方法加入频道。
    • +
    • 远端用户加入频道后将用户角色改变为主播。
    • +
    • 远端用户/主播网络中断后重新加入频道。
    • +

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - 新加入频道的远端用户/主播 ID。 - - - elapsed - 从本地用户调用 到该回调触发的延迟(毫秒)。 - -

    + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + 新加入频道的远端用户/主播 ID。 + + + elapsed + 从本地用户调用 到该回调触发的延迟(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onusermuteaudio.dita b/dita/RTC/API/callback_onusermuteaudio.dita index 7b7d49b9f9c..54c3f915ca1 100644 --- a/dita/RTC/API/callback_onusermuteaudio.dita +++ b/dita/RTC/API/callback_onusermuteaudio.dita @@ -13,44 +13,45 @@

    - public void onUserMuteAudio(int uid, boolean muted) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid; - virtual void onUserMuteAudio(uid_t uid, bool muted) { + public void onUserMuteAudio(int uid, boolean muted) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid; + virtual void onUserMuteAudio(uid_t uid, bool muted) { (void)uid; (void)muted; } - on(evt: EngineEvents.USER_MUTE_AUDIO, cb: (uid: number, muted: boolean) => void): this; - public virtual void OnUserMuteAudio(uint uid, bool muted) - - UidWithMutedCallback? userMuteAudio;

    + on(evt: EngineEvents.USER_MUTE_AUDIO, cb: (uid: number, muted: boolean) => void): this; + public virtual void OnUserMuteAudio(uint uid, bool muted) + + UidWithMutedCallback? userMuteAudio; +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +

    该回调是由远端用户调用 方法关闭或开启音频发送触发的。

    - 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调不生效。
    + 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调不生效。 +
    <ph keyref="callback-section-title"/>

    - - uid - 用户 ID。 - - - muted - 该用户是否静音: - - -

      -
    • : 该用户已将音频静音。
    • -
    • : 该用户取消了音频静音。
    • -
    - -
    + + uid + 用户 ID。 + + + muted + 该用户是否静音:
      +
    • : 该用户已将音频静音。
    • +
    • : 该用户取消了音频静音。
    • +
    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onusermutevideo.dita b/dita/RTC/API/callback_onusermutevideo.dita index e2d1cbc4699..c7a665c9cc4 100644 --- a/dita/RTC/API/callback_onusermutevideo.dita +++ b/dita/RTC/API/callback_onusermutevideo.dita @@ -13,62 +13,63 @@

    - public virtual void OnUserMuteVideo(RtcConnection connection, uint remoteUid, bool muted) {}

    + public virtual void OnUserMuteVideo(RtcConnection connection, uint remoteUid, bool muted) {}

    - public virtual void OnUserMuteVideo(uint uid, bool muted)

    + public virtual void OnUserMuteVideo(uint uid, bool muted)

    - public void onUserMuteVideo(int uid, boolean muted) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid - virtual void onUserMuteVideo(uid_t uid, bool muted) { + public void onUserMuteVideo(int uid, boolean muted) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid + virtual void onUserMuteVideo(uid_t uid, bool muted) { (void)uid; (void)muted; } - on(evt: EngineEvents.USER_MUTE_VIDEO, cb: (uid: number, muted: boolean) => void): this; - - UidWithMutedCallback? userMuteVideo;

    + on(evt: EngineEvents.USER_MUTE_VIDEO, cb: (uid: number, muted: boolean) => void): this; + + UidWithMutedCallback? userMuteVideo; +

    - -
    弃用:
    -
    你也可以使用 回调的: - - -
      -
    • (0) 和 (5) 。
    • -
    • (2) 和 (6)。
    • -
    -
    + +
    弃用:
    +
    你也可以使用 回调的:
      +
    • (0) 和 (5) 。
    • +
    • (2) 和 (6)。
    • +
    +
    +

    该回调是由远端用户调用 方法关闭或开启视频发送触发的。

    - 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调不生效。
    + 频道内的用户(通信场景)或主播(直播场景)人数超过 17 人时,该回调不生效。 +
    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - 远端用户 ID。 - - - muted - 该用户是否暂停发送其视频流 - - -

      -
    • : 该用户已暂停发送其视频流。
    • -
    • : 该用户已恢复发送其视频流。
    • -
    - -
    + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + 远端用户 ID。 + + + muted + 该用户是否暂停发送其视频流
      +
    • : 该用户已暂停发送其视频流。
    • +
    • : 该用户已恢复发送其视频流。
    • +
    +
    +
    + +
    diff --git a/dita/RTC/API/callback_onuseroffline.dita b/dita/RTC/API/callback_onuseroffline.dita index 07ba98d5d85..290897e7d12 100644 --- a/dita/RTC/API/callback_onuseroffline.dita +++ b/dita/RTC/API/callback_onuseroffline.dita @@ -13,71 +13,70 @@

    - public virtual void OnUserOffline(RtcConnection connection, uint remoteUid, USER_OFFLINE_REASON_TYPE reason) {}

    + public virtual void OnUserOffline(RtcConnection connection, uint remoteUid, USER_OFFLINE_REASON_TYPE reason) {}

    - public virtual void OnUserOffline(uint uid, USER_OFFLINE_REASON_TYPE reason)

    + public virtual void OnUserOffline(uint uid, USER_OFFLINE_REASON_TYPE reason)

    - public void onUserOffline(int uid, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserOffline(int uid, int reason) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOfflineOfUid:(NSUInteger)uid reason:(AgoraUserOfflineReason)reason; - virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) { + virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) { (void)uid; (void)reason; } - on( + on( evt: EngineEvents.USER_OFFLINE, cb: (uid: number, reason: USER_OFFLINE_REASON_TYPE) => void ): this; - - UserOfflineCallback? userOffline;

    + + UserOfflineCallback? userOffline; +

    -

    用户离开频道有两个原因: - - -

      -
    • 正常离开:远端用户/主播会发送类似“再见”的消息。接收此消息后,判断用户离开频道。
    • -
    • 超时掉线:在一定时间内(通信场景为 20 +

      用户离开频道有两个原因:

        +
      • 正常离开:远端用户/主播会发送类似“再见”的消息。接收此消息后,判断用户离开频道。
      • +
      • 超时掉线:在一定时间内(通信场景为 20 秒,直播场景稍有延时),用户没有收到对方的任何数据包,则判定为对方掉线。在网络较差的情况下,有可能会误报。我们建议使用声网云信令 SDK 来做可靠的掉线检测。
      • -

      +
    +

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - uid - uidremoteUid - 离线用户或主播的用户 ID。 - - - reason - -

    离线原因:

    -

    远端用户(通信场景)或主播(直播场景)下线的原因: - - -

      -
    • + + + + + + connection + Connection 信息。详见 + + + uid + uidremoteUid + 离线用户或主播的用户 ID。 + + + reason + +

      离线原因:

      +

      远端用户(通信场景)或主播(直播场景)下线的原因:

        +
      • (0):用户主动离开。此时离开频道的用户会发送一个类似“再见”的消息。收到该消息是,SDK 判定该用户、 离开频道
      • -
      • (1):因过长时间收不到对方数据包,SDK +
      • (1):因过长时间收不到对方数据包,SDK 判定该远端用户超时掉线。注意:在网络连接不稳定时,该判定 可能会有误。我们建议使用声网实时消息 SDK 来做可靠的掉线检测。
      • -
      • +
      • (2):用户的角色从主播切换为观众。
      • -

      -
      -
      -
    + +

    + + + +
    diff --git a/dita/RTC/API/callback_onusersuperresolutionenabled.dita b/dita/RTC/API/callback_onusersuperresolutionenabled.dita index 2c8a0c67257..be4dfeafcd4 100644 --- a/dita/RTC/API/callback_onusersuperresolutionenabled.dita +++ b/dita/RTC/API/callback_onusersuperresolutionenabled.dita @@ -13,43 +13,44 @@

    - - - - - public virtual void OnUserSuperResolutionEnabled(uint uid, bool enabled, SUPER_RESOLUTION_STATE_REASON reason) - - UserSuperResolutionEnabledCallback? userSuperResolutionEnabled;

    + + + + + public virtual void OnUserSuperResolutionEnabled(uint uid, bool enabled, SUPER_RESOLUTION_STATE_REASON reason) + + UserSuperResolutionEnabledCallback? userSuperResolutionEnabled; +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    -

    调用 后,SDK 触发该回调报告超分辨率是否成功开启。如果未成功开启,请通过 reason 排查问题。

    +

    调用 后,SDK 触发该回调报告超分辨率是否成功开启。如果未成功开启,请通过 + reason 排查问题。

    参数 - - uid - 远端用户 ID。 - - - enabled - 是否对远端视频成功开启超分辨率: - -
      -
    • : 成功开启超分辨率。
    • -
    • : 未成功开启超分辨率。
    • -
    -
    - - reason - 超分辨率功能未成功开启的原因,详见 - -
    + + uid + 远端用户 ID。 + + + enabled + 是否对远端视频成功开启超分辨率:
      +
    • : 成功开启超分辨率。
    • +
    • : 未成功开启超分辨率。
    • +
    +
    + + reason + 超分辨率功能未成功开启的原因,详见 + + +
    diff --git a/dita/RTC/API/callback_onvideodevicestatechanged.dita b/dita/RTC/API/callback_onvideodevicestatechanged.dita index e7c412424dd..e4b551f3cf9 100644 --- a/dita/RTC/API/callback_onvideodevicestatechanged.dita +++ b/dita/RTC/API/callback_onvideodevicestatechanged.dita @@ -13,21 +13,22 @@

    - - - virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) { + + + virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) { (void)deviceId; (void)deviceType; (void)deviceState; } - on(evt: EngineEvents.VIDEO_DEVICE_STATE_CHANGED, cb: ( + on(evt: EngineEvents.VIDEO_DEVICE_STATE_CHANGED, cb: ( deviceId: string, deviceType: number, deviceState: number) => void ): this; - public virtual void OnVideoDeviceStateChanged(string deviceId, int deviceType, int deviceState) - - VideoDeviceStateChanged? videoDeviceStateChanged;

    + public virtual void OnVideoDeviceStateChanged(string deviceId, int deviceType, int deviceState) + + VideoDeviceStateChanged? videoDeviceStateChanged; +

    该回调提示系统视频设备状态发生改变,比如被拔出或移除。如果设备已使用外接摄像头采集,外接摄像头被拔开后,视频会中断。

    @@ -36,18 +37,19 @@ <ph keyref="callback-section-title"/>

    - - deviceId - 设备 ID。 - - - deviceType - 设备类型。详见 - - - deviceState - 设备状态。详见 - -

    + + deviceId + 设备 ID。 + + + deviceType + 设备类型。详见 + + + deviceState + 设备状态。详见 + + +
    diff --git a/dita/RTC/API/callback_onvideopublishstatechanged.dita b/dita/RTC/API/callback_onvideopublishstatechanged.dita index c863ab64e0b..78a400c50e7 100644 --- a/dita/RTC/API/callback_onvideopublishstatechanged.dita +++ b/dita/RTC/API/callback_onvideopublishstatechanged.dita @@ -13,63 +13,65 @@

    - public void onVideoPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, + public void onVideoPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId oldState:(AgoraStreamPublishState)oldState newState:(AgoraStreamPublishState)newState elapseSinceLastState:(int)elapseSinceLastState; - virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { + virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { (void)channel; (void)oldState; (void)newState; (void)elapseSinceLastState; } - on(evt: EngineEvents.VIDEO_PUBLISH_STATE_CHANGED, cb: ( + on(evt: EngineEvents.VIDEO_PUBLISH_STATE_CHANGED, cb: ( channel: string, oldState: STREAM_PUBLISH_STATE, newState: STREAM_PUBLISH_STATE, elapseSinceLastState: number ) => void): this; - public virtual void OnVideoPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, + public virtual void OnVideoPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) - - StreamPublishStateCallback? videoPublishStateChanged;

    + + StreamPublishStateCallback? videoPublishStateChanged; +

    - -
    自从
    -
    v3.1.0
    -
    + +
    自从
    +
    v3.1.0
    +
    <ph keyref="callback-section-title"/>

    - - - - - - channel - channelId - 频道名。 - - - oldState - 之前的发布状态,详见 - - - newState - 当前的发布状态,详见 - - - elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 - -

    + + + + + + channel + channelId + 频道名。 + + + oldState + 之前的发布状态,详见 + + + newState + 当前的发布状态,详见 + + + elapseSinceLastState + 两次状态变化时间间隔(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onvideosizechanged.dita b/dita/RTC/API/callback_onvideosizechanged.dita index 108a41aeb32..098ddcf3e33 100644 --- a/dita/RTC/API/callback_onvideosizechanged.dita +++ b/dita/RTC/API/callback_onvideosizechanged.dita @@ -13,16 +13,16 @@

    - public virtual void OnVideoSizeChanged(RtcConnection connection, uint uid, int width, int height, int rotation) {}

    + public virtual void OnVideoSizeChanged(RtcConnection connection, uint uid, int width, int height, int rotation) {}

    - public virtual void OnVideoSizeChanged(uint uid, int width, int height, int rotation)

    + public virtual void OnVideoSizeChanged(uint uid, int width, int height, int rotation)

    - public void onVideoSizeChanged(int uid, int width, int height, int rotation) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onVideoSizeChanged(int uid, int width, int height, int rotation) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoSizeChangedOfUid:(NSUInteger)uid size:(CGSize)size rotation:(NSInteger)rotation; - virtual void onVideoSizeChanged(uid_t uid, + virtual void onVideoSizeChanged(uid_t uid, int width, int height, int rotation) { @@ -31,45 +31,47 @@ (void)height; (void)rotation; } - on( + on( evt: EngineEvents.VIDEO_SIZE_CHANGED, cb: (uid: number, width: number, height: number, rotation: number) => void ): this; - - VideoSizeCallback? videoSizeChanged;

    + + VideoSizeCallback? videoSizeChanged; +

    <ph keyref="callback-section-title"/>

    - - - - - - connection - Connection 信息。详见 - - - uid - 图像尺寸和旋转信息发生变化的用户的用户 ID(本地用户的 uid 为 0)。 - - - size - 视频流的尺寸。 - - - width - 视频流的宽度(像素)。 - - - height - 视频流的高度(像素)。 - - - rotation - 旋转信息,取值范围 [0,360)。 - -

    + + + + + + connection + Connection 信息。详见 + + + uid + 图像尺寸和旋转信息发生变化的用户的用户 ID(本地用户的 uid 为 0)。 + + + size + 视频流的尺寸。 + + + width + 视频流的宽度(像素)。 + + + height + 视频流的高度(像素)。 + + + rotation + 旋转信息,取值范围 [0,360)。 + + +
    diff --git a/dita/RTC/API/callback_onvideostopped.dita b/dita/RTC/API/callback_onvideostopped.dita index 42f3bf7ffb9..81ff30db40c 100644 --- a/dita/RTC/API/callback_onvideostopped.dita +++ b/dita/RTC/API/callback_onvideostopped.dita @@ -13,20 +13,22 @@

    - public void onVideoStopped() {} - - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onVideoStopped() - on(evt: EngineEvents.VIDEO_STOPPED, cb: () => void): this; - public virtual void OnVideoStopped() - - EmptyCallback? videoStopped;

    + public void onVideoStopped() {} + - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onVideoStopped() + on(evt: EngineEvents.VIDEO_STOPPED, cb: () => void): this; + public virtual void OnVideoStopped() + + EmptyCallback? videoStopped; +

    - -
    弃用:
    -
    请改用 回调中的 (0)。
    -
    + +
    弃用:
    +
    请改用 回调中的 (0)。
    +

    App 如需在停止视频后对 view 做其他处理(比如显示其他画面),可以在这个回调中进行。

    @@ -34,10 +36,11 @@ <ph keyref="callback-section-title"/>

    - - - - - + + + + + + diff --git a/dita/RTC/API/callback_onvideosubscribestatechanged.dita b/dita/RTC/API/callback_onvideosubscribestatechanged.dita index 4842d263163..556e776fc3f 100644 --- a/dita/RTC/API/callback_onvideosubscribestatechanged.dita +++ b/dita/RTC/API/callback_onvideosubscribestatechanged.dita @@ -13,15 +13,15 @@

    - public void onVideoSubscribeStateChanged(String channel, int uid, STREAM_SUBSCRIBE_STATE oldState, + public void onVideoSubscribeStateChanged(String channel, int uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (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, + virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, @@ -32,56 +32,56 @@ (void)newState; (void)elapseSinceLastState; } - on(evt: EngineEvents.VIDEO_SUBSCRIBE_STATE_CHANGED, cb: ( + on(evt: EngineEvents.VIDEO_SUBSCRIBE_STATE_CHANGED, cb: ( channel: string, uid: number, oldState: STREAM_SUBSCRIBE_STATE, newState: STREAM_SUBSCRIBE_STATE, elapseSinceLastState: number ) => void): this; - public virtual void OnVideoSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnVideoSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - - StreamSubscribeStateCallback? videoSubscribeStateChanged; + + StreamSubscribeStateCallback? videoSubscribeStateChanged;

    - -
    自从
    -
    v3.1.0
    -
    + +
    自从
    +
    v3.1.0
    +
    <ph keyref="callback-section-title"/> -

    +

    - - - - - - channel - 频道名。 - - - uid - 远端用户的 ID。 - - - oldState - 之前的订阅状态,详见 - - - newState - 当前的订阅状态,详见 - - - elapseSinceLastState - 两次状态变化时间间隔(毫秒)。 - -

    + + + + + + channel + 频道名。 + + + uid + 远端用户的 ID。 + + + oldState + 之前的订阅状态,详见 + + + newState + 当前的订阅状态,详见 + + + elapseSinceLastState + 两次状态变化时间间隔(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_onvirtualbackgroundsourceenabled.dita b/dita/RTC/API/callback_onvirtualbackgroundsourceenabled.dita index a96bd1c7a42..969e78f7d07 100644 --- a/dita/RTC/API/callback_onvirtualbackgroundsourceenabled.dita +++ b/dita/RTC/API/callback_onvirtualbackgroundsourceenabled.dita @@ -13,40 +13,42 @@

    - - - - - public virtual void OnVirtualBackgroundSourceEnabled(bool enabled, + + + + + public virtual void OnVirtualBackgroundSourceEnabled(bool enabled, VIRTUAL_BACKGROUND_SOURCE_STATE_REASON reason) - - VirtualBackgroundSourceEnabledCallback? virtualBackgroundSourceEnabled;

    + + VirtualBackgroundSourceEnabledCallback? virtualBackgroundSourceEnabled; +

    - -
    自从
    -
    v3.5.0
    -
    + +
    自从
    +
    v3.5.0
    +

    调用 后,SDK 触发该回调报告虚拟背景是否成功开启。

    - 如果虚拟背景中自定义的背景图为 PNG、JPG 格式的图片,该回调的触发时机会延迟到图片读取完毕。
    + 如果虚拟背景中自定义的背景图为 PNG、JPG 格式的图片,该回调的触发时机会延迟到图片读取完毕。 +
    参数 - - enabled - 是否成功开启虚拟背景: - -
      -
    • : 成功开启虚拟背景。
    • -
    • : 未成功开启虚拟背景。
    • -
    -
    - - reason - 虚拟背景开启出错的原因或开启成功的提示。详见 - -
    + + enabled + 是否成功开启虚拟背景:
      +
    • : 成功开启虚拟背景。
    • +
    • : 未成功开启虚拟背景。
    • +
    +
    + + reason + 虚拟背景开启出错的原因或开启成功的提示。详见 + + +
    diff --git a/dita/RTC/API/callback_onwarning.dita b/dita/RTC/API/callback_onwarning.dita index c2b5e85a218..62b0454d89e 100644 --- a/dita/RTC/API/callback_onwarning.dita +++ b/dita/RTC/API/callback_onwarning.dita @@ -13,33 +13,36 @@

    - - - virtual void onWarning(int warn, const char* msg) { + + + virtual void onWarning(int warn, const char* msg) { (void)warn; (void)msg; } - on(evt: EngineEvents.WARNING, cb: (warn: number, msg: string) => void): this; - public virtual void OnWarning(int warn, string msg) - - WarningCallback? warning;

    + on(evt: EngineEvents.WARNING, cb: (warn: number, msg: string) => void): this; + public virtual void OnWarning(int warn, string msg) + + WarningCallback? warning; +

    -

    该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 App 可以忽略,SDK 会自动恢复。比如和服务器失去连接时,SDK - 可能会上报 WARN_OPEN_CHANNEL_TIMEOUT 警告,同时自动尝试重连。

    +

    该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 App 可以忽略,SDK + 会自动恢复。比如和服务器失去连接时,SDK 可能会上报 WARN_OPEN_CHANNEL_TIMEOUT + 警告,同时自动尝试重连。

    <ph keyref="callback-section-title"/>

    - - warn - 警告代码。详见错误码和警告码 - - - msg - 警告描述。 - -

    + + warn + 警告代码。详见错误码和警告码 + + + msg + 警告描述。 + + +
    diff --git a/dita/RTC/API/callback_onwlaccmessage.dita b/dita/RTC/API/callback_onwlaccmessage.dita index c4740bab331..60c4e058fa2 100644 --- a/dita/RTC/API/callback_onwlaccmessage.dita +++ b/dita/RTC/API/callback_onwlaccmessage.dita @@ -13,50 +13,57 @@

    - virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) { + virtual void onWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, const char* wlAccMsg) { (void)reason; (void)action; (void)wlAccMsg; } - - public virtual void OnWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, string wlAccMsg) - - OnWlAccMessage? wlAccMessage;

    + + public virtual void OnWlAccMessage(WLACC_MESSAGE_REASON reason, WLACC_SUGGEST_ACTION action, string wlAccMsg) + + OnWlAccMessage? wlAccMessage; +

    -

    调用 (true) 开启 Wi-Fi 加速功能后,当 Wi-Fi 连接质量不佳时,SDK 会触发该回调,报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi 连接的操作建议。

    +

    调用 (true) 开启 Wi-Fi 加速功能后,当 Wi-Fi 连接质量不佳时,SDK + 会触发该回调,报告 Wi-Fi 连接质量不佳的原因和改善 Wi-Fi 连接的操作建议。

    -

    声网强烈建议你在 app 中展示将该回调报告的 actionwlAccMsg,提示用户采取网络优化措施,以获得更好的音视频体验。

    -
    +

    声网强烈建议你在 app 中展示将该回调报告的 action 和 + wlAccMsg,提示用户采取网络优化措施,以获得更好的音视频体验。

    + +
    参数

    - - reason - -

    Wi-Fi 连接质量不佳的原因。详见

    - - - - action - -

    改善 Wi-Fi 连接质量的操作建议。详见

    -
    -
    - - wlAccMsg - 根据 action 的值提供的详细帮助信息: - - - -
      -
    • action 为 ,该参数的值为 NULL
    • -
    • action,该参数的值为推荐用户连接的网络名称(SSID)。
    • -
    • action,该参数的值为开启路由器 5G 频道的操作步骤的链接。
    • -
    • action,该参数的值为修改网络名称(SSID)的操作步骤的链接。
    • -
    -
    -
    + + reason + +

    Wi-Fi 连接质量不佳的原因。详见

    +
    +
    + + action + +

    改善 Wi-Fi 连接质量的操作建议。详见

    +
    +
    + + wlAccMsg + 根据 action 的值提供的详细帮助信息:
      +
    • action 为 ,该参数的值为 NULL
    • +
    • action,该参数的值为推荐用户连接的网络名称(SSID)。
    • +
    • action,该参数的值为开启路由器 5G 频道的操作步骤的链接。
    • +
    • action,该参数的值为修改网络名称(SSID)的操作步骤的链接。
    • +
    +
    + +
    diff --git a/dita/RTC/API/callback_onwlaccstats.dita b/dita/RTC/API/callback_onwlaccstats.dita index d3bc5d9e1e4..d29cccfb9bf 100644 --- a/dita/RTC/API/callback_onwlaccstats.dita +++ b/dita/RTC/API/callback_onwlaccstats.dita @@ -13,30 +13,34 @@

    - virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats) { + virtual void onWlAccStats(WlAccStats currentStats, WlAccStats averageStats) { (void)currentStats; (void)averageStats; } - - ublic virtual void OnWlAccStats(WlAccStats currentStats, WlAccStats averageStats) - - OnWlAccStats? wlAccStats;

    + + ublic virtual void OnWlAccStats(WlAccStats currentStats, WlAccStats averageStats) + + OnWlAccStats? wlAccStats; +

    -

    调用 (true) 开启 Wi-Fi 加速功能后,SDK 每隔两秒触发一次该回调,报告当前的 Wi-Fi 加速效果和自加入频道后平均的 Wi-Fi 加速效果。Wi-Fi 加速效果用端到端延时、丢包率和音视频卡顿率三个指标下降的百分比来衡量。

    +

    调用 (true) 开启 Wi-Fi 加速功能后,SDK + 每隔两秒触发一次该回调,报告当前的 Wi-Fi 加速效果和自加入频道后平均的 Wi-Fi 加速效果。Wi-Fi + 加速效果用端到端延时、丢包率和音视频卡顿率三个指标下降的百分比来衡量。

    参数 - - currentStats - 当前的 Wi-Fi 加速效果。详见 - - - averageStats - 自加入频道后平均的 Wi-Fi 加速效果。详见 - -

    + + currentStats + 当前的 Wi-Fi 加速效果。详见 + + + averageStats + 自加入频道后平均的 Wi-Fi 加速效果。详见 + + +
    diff --git a/dita/RTC/API/callback_videosourceapicallexecuted.dita b/dita/RTC/API/callback_videosourceapicallexecuted.dita index 4218e5b2940..23739cc1c14 100644 --- a/dita/RTC/API/callback_videosourceapicallexecuted.dita +++ b/dita/RTC/API/callback_videosourceapicallexecuted.dita @@ -13,16 +13,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_API_CALL_EXECUTED, cb: (api: string, err: number, result: string) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourceapierror.dita b/dita/RTC/API/callback_videosourceapierror.dita index 8751912eacd..468e6b084b9 100644 --- a/dita/RTC/API/callback_videosourceapierror.dita +++ b/dita/RTC/API/callback_videosourceapierror.dita @@ -13,21 +13,24 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_API_ERROR, cb: (apiType: ApiTypeEngine, msg: string) => void ): this; - - -

    + + + +

    双实例回调。

    - 该回调仅报告 Electron 层发生的错误。如果你想收到 Native 层发生的错误,请改用

    + 该回调仅报告 Electron 层发生的错误。如果你想收到 Native 层发生的错误,请改用 +
    diff --git a/dita/RTC/API/callback_videosourceaudiodevicestatechanged.dita b/dita/RTC/API/callback_videosourceaudiodevicestatechanged.dita index 93f20e8b5fd..3e37b47ba6b 100644 --- a/dita/RTC/API/callback_videosourceaudiodevicestatechanged.dita +++ b/dita/RTC/API/callback_videosourceaudiodevicestatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceAudioDeviceStateChanged"/> - + @@ -13,16 +14,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_AUDIO_DEVICE_STATE_CHANGED, cb: (deviceId: string, deviceType: number, deviceState: MEDIA_DEVICE_STATE_TYPE) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourceaudiopublishstatechanged.dita b/dita/RTC/API/callback_videosourceaudiopublishstatechanged.dita index df1bd2e9b58..7e7584f7695 100644 --- a/dita/RTC/API/callback_videosourceaudiopublishstatechanged.dita +++ b/dita/RTC/API/callback_videosourceaudiopublishstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceAudioPublishStateChanged"/> - + @@ -13,10 +14,10 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_AUDIO_PUBLISH_STATE_CHANGED, cb: ( channel: string, @@ -25,9 +26,10 @@ elapseSinceLastState: number ) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourceaudiosubscribestatechanged.dita b/dita/RTC/API/callback_videosourceaudiosubscribestatechanged.dita index e8690d381ab..577e5417667 100644 --- a/dita/RTC/API/callback_videosourceaudiosubscribestatechanged.dita +++ b/dita/RTC/API/callback_videosourceaudiosubscribestatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceAudioSubscribeStateChanged"/> - + @@ -13,10 +14,10 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_AUDIO_SUBSCRIBE_STATE_CHANGED, cb: ( channel: string, @@ -26,9 +27,10 @@ elapseSinceLastState: number ) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcecameraready.dita b/dita/RTC/API/callback_videosourcecameraready.dita index 17808945cfb..37f250a8330 100644 --- a/dita/RTC/API/callback_videosourcecameraready.dita +++ b/dita/RTC/API/callback_videosourcecameraready.dita @@ -13,22 +13,24 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_CAMERA_READY, cb: () => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_CAMERA_READY, cb: () => void): this; + + + +

    - -
    弃用:
    -
    -

    请改用 中的 (1)。

    -
    -
    + +
    弃用:
    +
    +

    请改用 中的 (1)。

    +
    +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourceconnectionbanned.dita b/dita/RTC/API/callback_videosourceconnectionbanned.dita index f841c04378b..23eac892511 100644 --- a/dita/RTC/API/callback_videosourceconnectionbanned.dita +++ b/dita/RTC/API/callback_videosourceconnectionbanned.dita @@ -13,20 +13,21 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_BANNED, cb: () => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_BANNED, cb: () => void): this; + + + +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    diff --git a/dita/RTC/API/callback_videosourceconnectioninterrupted.dita b/dita/RTC/API/callback_videosourceconnectioninterrupted.dita index 5ac4a17d5fc..b304aecf0c8 100644 --- a/dita/RTC/API/callback_videosourceconnectioninterrupted.dita +++ b/dita/RTC/API/callback_videosourceconnectioninterrupted.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceConnectionInterrupted"/> - + @@ -13,30 +14,30 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_INTERRUPTED, cb: () => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_INTERRUPTED, cb: () => void): this; + + + +

    双实例回调。

    - -
    弃用:
    -
    请改用 回调。
    -
    + +
    弃用:
    +
    请改用 回调。
    +
    -

    SDK 在和服务器建立连接后,失去了网络连接超过 4 秒,会触发该回调。在触发事件后,SDK 会主动重连服务器,所以该事件可以用于 UI 提示。该回调与 的区别是: - - -

      -
    • 回调一定是发生在成功加入频道后,且 SDK 刚失去和服务器连接超过 4 秒时触发。
    • -
    • 回调是无论是否成功加入频道,只要 10 秒内和服务器无法建立连接都会触发。
    • -
    - 如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    +

    SDK 在和服务器建立连接后,失去了网络连接超过 4 秒,会触发该回调。在触发事件后,SDK 会主动重连服务器,所以该事件可以用于 UI 提示。该回调与 的区别是:

      +
    • 回调一定是发生在成功加入频道后,且 SDK + 刚失去和服务器连接超过 4 秒时触发。
    • +
    • 回调是无论是否成功加入频道,只要 10 + 秒内和服务器无法建立连接都会触发。
    • +
    如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    diff --git a/dita/RTC/API/callback_videosourceconnectionlost.dita b/dita/RTC/API/callback_videosourceconnectionlost.dita index 2dd36698936..c934eaab41a 100644 --- a/dita/RTC/API/callback_videosourceconnectionlost.dita +++ b/dita/RTC/API/callback_videosourceconnectionlost.dita @@ -13,17 +13,19 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_LOST, cb: () => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_LOST, cb: () => void): this; + + + +

    双实例回调。

    -

    SDK 在调用 后,无论是否加入成功,只要 10 秒和服务器无法连接就会触发该回调。如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    +

    SDK 在调用 后,无论是否加入成功,只要 10 + 秒和服务器无法连接就会触发该回调。如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,SDK 会停止尝试重连。

    diff --git a/dita/RTC/API/callback_videosourceconnectionstatechanged.dita b/dita/RTC/API/callback_videosourceconnectionstatechanged.dita index 4eae6ea383b..747eaad13f9 100644 --- a/dita/RTC/API/callback_videosourceconnectionstatechanged.dita +++ b/dita/RTC/API/callback_videosourceconnectionstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceConnectionStateChanged"/> - + @@ -13,19 +14,20 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_STATE_CHANGED, cb: ( state: CONNECTION_STATE_TYPE, reason: CONNECTION_CHANGED_REASON_TYPE ) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourceerror.dita b/dita/RTC/API/callback_videosourceerror.dita index 1485c00a36c..5f12406e8e6 100644 --- a/dita/RTC/API/callback_videosourceerror.dita +++ b/dita/RTC/API/callback_videosourceerror.dita @@ -13,18 +13,21 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_ERROR, cb: (err: number, msg: string) => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_ERROR, cb: (err: number, msg: string) => void): this; + + + +

    双实例回调。

    - 该回调仅报告 Native 层发生的错误。如果你想收到 Electron 层发生的错误,请改用

    + 该回调仅报告 Native 层发生的错误。如果你想收到 Electron 层发生的错误,请改用 +
    diff --git a/dita/RTC/API/callback_videosourcefirstlocalvideoframe.dita b/dita/RTC/API/callback_videosourcefirstlocalvideoframe.dita index a7b0074040d..2b54fe9d506 100644 --- a/dita/RTC/API/callback_videosourcefirstlocalvideoframe.dita +++ b/dita/RTC/API/callback_videosourcefirstlocalvideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceFirstLocalVideoFrame"/> - + @@ -13,16 +14,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_FIRST_LOCAL_VIDEO_FRAME, cb: (width: number, height: number, elapsed: number) => void ): this; - - -

    + + + +

    双实例回调。

    @@ -31,20 +33,22 @@
    参数 - - width - 本地渲染视频的宽 (px) 。 - - - height - 本地渲染视频的高 (px)。 - - - elapsed - - 从调用 到发生此事件过去的时间(毫秒)。如果在 前调用了 ,则是从 到发生此事件过去的时间。 - - -
    + + width + 本地渲染视频的宽 (px) 。 + + + height + 本地渲染视频的高 (px)。 + + + elapsed + 从调用 到发生此事件过去的时间(毫秒)。如果在 前调用了 ,则是从 到发生此事件过去的时间。 + + +
    diff --git a/dita/RTC/API/callback_videosourcefirstremoteaudioframe.dita b/dita/RTC/API/callback_videosourcefirstremoteaudioframe.dita index 439d8cd46f3..836d7d5dcdd 100644 --- a/dita/RTC/API/callback_videosourcefirstremoteaudioframe.dita +++ b/dita/RTC/API/callback_videosourcefirstremoteaudioframe.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceFirstRemoteAudioFrame"/> - + @@ -13,36 +14,38 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_FIRST_REMOTE_AUDIO_FRAME, cb: (uid: number, elapsed: number) => void ): this; - - -

    + + + +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +
    参数 - - uid - 发送音频帧的远端用户的用户 ID。 - - - elapsed - 从调用 方法直至该回调被触发的时间。 - -
    + + uid + 发送音频帧的远端用户的用户 ID。 + + + elapsed + 从调用 方法直至该回调被触发的时间。 + + +
    diff --git a/dita/RTC/API/callback_videosourcefirstremotevideoframe.dita b/dita/RTC/API/callback_videosourcefirstremotevideoframe.dita index a63fba8bef8..04802d632aa 100644 --- a/dita/RTC/API/callback_videosourcefirstremotevideoframe.dita +++ b/dita/RTC/API/callback_videosourcefirstremotevideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceFirstRemoteVideoFrame"/> - + @@ -13,16 +14,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_FIRST_REMOTE_VIDEO_FRAME, cb: (uid: number, width: number, height: number, elapsed: number) => void ): this; - - -

    + + + +

    双实例回调。

    @@ -31,24 +33,23 @@
    参数 - - uid - 用户 ID,指定是哪个用户的视频流。 - - - width - 视频流宽(px)。 - - - height - 视频流高(px)。 - - - elapsed - - 从本地调用 到发生此事件过去的时间(毫秒)。 - - -
    + + uid + 用户 ID,指定是哪个用户的视频流。 + + + width + 视频流宽(px)。 + + + height + 视频流高(px)。 + + + elapsed + 从本地调用 到发生此事件过去的时间(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_videosourcejoinchannelsuccess.dita b/dita/RTC/API/callback_videosourcejoinchannelsuccess.dita index c7480ece016..7a1c1d8b8d1 100644 --- a/dita/RTC/API/callback_videosourcejoinchannelsuccess.dita +++ b/dita/RTC/API/callback_videosourcejoinchannelsuccess.dita @@ -13,16 +13,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_JOIN_CHANNEL_SUCCESS, cb: (channel: string, uid: number, elapsed: number) => void ): this; - - -

    + + + +

    双实例回调。

    @@ -31,18 +32,19 @@
    参数 - - channel - 频道名。 - - - uid - 加入频道的用户 ID。 - - - elapsed - 从本地调用 开始到发生此事件过去的时间(毫秒)。 - -
    + + channel + 频道名。 + + + uid + 加入频道的用户 ID。 + + + elapsed + 从本地调用 开始到发生此事件过去的时间(毫秒)。 + + +
    diff --git a/dita/RTC/API/callback_videosourcelocalaudiostatechanged.dita b/dita/RTC/API/callback_videosourcelocalaudiostatechanged.dita index 2bee1742379..bffbac6ddc9 100644 --- a/dita/RTC/API/callback_videosourcelocalaudiostatechanged.dita +++ b/dita/RTC/API/callback_videosourcelocalaudiostatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceLocalAudioStateChanged"/> - + @@ -13,21 +14,23 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_LOCAL_AUDIO_STATE_CHANGED, cb: (state: number, error: number) => void ): this; - - -

    + + + +

    双实例回调。

    -

    + +
    diff --git a/dita/RTC/API/callback_videosourcelocalaudiostats.dita b/dita/RTC/API/callback_videosourcelocalaudiostats.dita index 4c8fb26788e..ae9882f0c19 100644 --- a/dita/RTC/API/callback_videosourcelocalaudiostats.dita +++ b/dita/RTC/API/callback_videosourcelocalaudiostats.dita @@ -13,16 +13,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_LOCAL_AUDIO_STATS, cb: (stats: LocalAudioStats) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcelocalvideostatechanged.dita b/dita/RTC/API/callback_videosourcelocalvideostatechanged.dita index 36bdb81fa49..1c4d0f52a17 100644 --- a/dita/RTC/API/callback_videosourcelocalvideostatechanged.dita +++ b/dita/RTC/API/callback_videosourcelocalvideostatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceLocalVideoStateChanged"/> - + @@ -13,30 +14,35 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_LOCAL_VIDEO_STATE_CHANGED, cb: (localVideoState: number, error: number) => void ): this; - - -

    + + + +

    双实例回调。

    -

    SDK 会在如下情况触发 回调,状态为 ,错误码为 : - -

      -
    • 应用退到后台,系统回收摄像头。
    • -
    • 摄像头正常启动,但连续 4 秒都没有输出采集的视频。
    • -

    -

    - 摄像头输出采集的视频帧时,如果连续 15 帧中,所有视频帧都一样,SDK 触发 回调,状态为 ,错误码为 。注意,帧重复检测仅针对分辨率大于 200 × 200、帧率大于等于 10 fps、码率小于 20 Kbps 的视频帧。 +

    SDK 会在如下情况触发 回调,状态为 + ,错误码为 +

      +
    • 应用退到后台,系统回收摄像头。
    • +
    • 摄像头正常启动,但连续 4 秒都没有输出采集的视频。
    • +

    -
    +

    摄像头输出采集的视频帧时,如果连续 15 帧中,所有视频帧都一样,SDK 触发 回调,状态为 ,错误码为 。注意,帧重复检测仅针对分辨率大于 200 × 200、帧率大于等于 10 fps、码率小于 20 Kbps 的视频帧。

    + +
    diff --git a/dita/RTC/API/callback_videosourcelocalvideostats.dita b/dita/RTC/API/callback_videosourcelocalvideostats.dita index 14d957ad3be..220664f7301 100644 --- a/dita/RTC/API/callback_videosourcelocalvideostats.dita +++ b/dita/RTC/API/callback_videosourcelocalvideostats.dita @@ -13,16 +13,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_LOCAL_VIDEO_STATS, cb: (stats: LocalVideoStats) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcemediaenginestartcallsuccess.dita b/dita/RTC/API/callback_videosourcemediaenginestartcallsuccess.dita index 0a7371119f7..f47db4b8b3d 100644 --- a/dita/RTC/API/callback_videosourcemediaenginestartcallsuccess.dita +++ b/dita/RTC/API/callback_videosourcemediaenginestartcallsuccess.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceMediaEngineStartCallSuccess"/> - + @@ -13,13 +14,14 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_MEDIA_ENGINE_START_CALL_SUCCESS, cb: () => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_MEDIA_ENGINE_START_CALL_SUCCESS, cb: () => void): this; + + + +

    diff --git a/dita/RTC/API/callback_videosourcenetworkquality.dita b/dita/RTC/API/callback_videosourcenetworkquality.dita index 85bdeeb7d4d..af7cbaf9723 100644 --- a/dita/RTC/API/callback_videosourcenetworkquality.dita +++ b/dita/RTC/API/callback_videosourcenetworkquality.dita @@ -13,16 +13,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_NETWORK_QUALITY, cb: (uid: number, txquality: QUALITY_TYPE, rxquality: QUALITY_TYPE) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcenetworktypechanged.dita b/dita/RTC/API/callback_videosourcenetworktypechanged.dita index 73d941a21b2..beebaeecc39 100644 --- a/dita/RTC/API/callback_videosourcenetworktypechanged.dita +++ b/dita/RTC/API/callback_videosourcenetworktypechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceNetworkTypeChanged"/> - + @@ -13,10 +14,11 @@

    - on( + on( evt: VideoSourceEvents.VIDEO_SOURCE_NETWORK_TYPE_CHANGED, cb: (type: NETWORK_TYPE) => void -): this;

    +): this; +

    双实例回调。

    @@ -25,10 +27,10 @@
    参数 - - - - + + + +
    返回值 diff --git a/dita/RTC/API/callback_videosourceonleavechannel.dita b/dita/RTC/API/callback_videosourceonleavechannel.dita index 4db09400936..420dc4619e9 100644 --- a/dita/RTC/API/callback_videosourceonleavechannel.dita +++ b/dita/RTC/API/callback_videosourceonleavechannel.dita @@ -13,18 +13,19 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_LEAVE_CHANNEL, cb: (stats: RtcStats) => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_LEAVE_CHANNEL, cb: (stats: RtcStats) => void): this; + + + +

    双实例回调。

    -

    App 调用 方法时,SDK 提示 app 离开频道成功。在该回调方法中,app 可以得到此次通话的总通话时长、SDK - 收发数据的流量等信息。

    +

    App 调用 方法时,SDK 提示 app 离开频道成功。在该回调方法中,app + 可以得到此次通话的总通话时长、SDK 收发数据的流量等信息。

    diff --git a/dita/RTC/API/callback_videosourcerejoinchannelsuccess.dita b/dita/RTC/API/callback_videosourcerejoinchannelsuccess.dita index 3cea4e04384..2cb00663395 100644 --- a/dita/RTC/API/callback_videosourcerejoinchannelsuccess.dita +++ b/dita/RTC/API/callback_videosourcerejoinchannelsuccess.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceRejoinChannelSuccess"/> - + @@ -13,16 +14,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REJOIN_CHANNEL_SUCCESS, cb: (channel: string, uid: number, elapsed: number) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourceremoteaudiostatechanged.dita b/dita/RTC/API/callback_videosourceremoteaudiostatechanged.dita index f4a6459f072..59efa281635 100644 --- a/dita/RTC/API/callback_videosourceremoteaudiostatechanged.dita +++ b/dita/RTC/API/callback_videosourceremoteaudiostatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceRemoteAudioStateChanged"/> - + @@ -13,10 +14,10 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_AUDIO_STATE_CHANGED, cb: ( uid: number, @@ -25,39 +26,37 @@ elapsed: number ) => void ): this; - - -

    + + + +

    双实例回调。

    -

    + +
    参数 - - uid - 发生音频状态改变的远端用户 ID。 - - - state - - 远端音频流状态,详见 。 - - - - reason - - 远端音频流状态改变的具体原因,详见 。 + + uid + 发生音频状态改变的远端用户 ID。 + + + state + 远端音频流状态,详见 + + + reason + 远端音频流状态改变的具体原因,详见 + + + elapsed + 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 - - - elapsed - - 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 - - -
    + + +
    diff --git a/dita/RTC/API/callback_videosourceremoteaudiostats.dita b/dita/RTC/API/callback_videosourceremoteaudiostats.dita index fdcf4f89647..542e5d40305 100644 --- a/dita/RTC/API/callback_videosourceremoteaudiostats.dita +++ b/dita/RTC/API/callback_videosourceremoteaudiostats.dita @@ -13,16 +13,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_AUDIO_STATS, cb: (stats: RemoteAudioStats) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourceremoteaudiotransportstats.dita b/dita/RTC/API/callback_videosourceremoteaudiotransportstats.dita index ac07778b504..af502234924 100644 --- a/dita/RTC/API/callback_videosourceremoteaudiotransportstats.dita +++ b/dita/RTC/API/callback_videosourceremoteaudiotransportstats.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceRemoteAudioTransportStats"/> - + @@ -13,25 +14,26 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_AUDIO_TRANSPORT_STATS, cb: (uid: number, delay: number, lost: number, rxKBitRate: number) => void ): this; - - -

    + + + +

    -

    - -
    弃用:
    -
    请改用
    -
    -
    +
    + +
    弃用:
    +
    请改用
    +
    +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourceremotevideostatechanged.dita b/dita/RTC/API/callback_videosourceremotevideostatechanged.dita index e8696a008d8..836ec225e92 100644 --- a/dita/RTC/API/callback_videosourceremotevideostatechanged.dita +++ b/dita/RTC/API/callback_videosourceremotevideostatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceRemoteVideoStateChanged"/> - + @@ -13,10 +14,10 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_VIDEO_STATE_CHANGED, cb: ( uid: number, @@ -25,38 +26,36 @@ elapsed: number ) => void ): this; - - -

    + + + +

    双实例回调。

    -
    + +
    参数 - - uid - 发生视频状态改变的远端用户 ID。 - - - state - - 远端视频流状态,详见 。 - - - - reason - - 远端视频流状态改变的具体原因,详见 。 + + uid + 发生视频状态改变的远端用户 ID。 + + + state + 远端视频流状态,详见 + + + reason + 远端视频流状态改变的具体原因,详见 + + + elapsed + 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 - - - elapsed - - 从本地用户调用 方法到发生本事件经历的时间,单位为毫秒。 - - -
    + + +
    diff --git a/dita/RTC/API/callback_videosourceremotevideostats.dita b/dita/RTC/API/callback_videosourceremotevideostats.dita index db2270e6148..64382564192 100644 --- a/dita/RTC/API/callback_videosourceremotevideostats.dita +++ b/dita/RTC/API/callback_videosourceremotevideostats.dita @@ -13,16 +13,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_VIDEO_STATS, cb: (stats: RemoteVideoStats) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourceremotevideotransportstats.dita b/dita/RTC/API/callback_videosourceremotevideotransportstats.dita index ec1e00cffb4..68359060ad7 100644 --- a/dita/RTC/API/callback_videosourceremotevideotransportstats.dita +++ b/dita/RTC/API/callback_videosourceremotevideotransportstats.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceRemoteVideoTransportStats"/> - + @@ -13,23 +14,24 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_VIDEO_TRANSPORT_STATS, cb: (uid: number, delay: number, lost: number, rxKBitRate: number) => void ): this; - - -

    + + + +

    - -
    弃用:
    -
    请改用
    -
    + +
    弃用:
    +
    请改用
    +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcerequesttoken.dita b/dita/RTC/API/callback_videosourcerequesttoken.dita index e9b5acf00c6..81b0c7f61d1 100644 --- a/dita/RTC/API/callback_videosourcerequesttoken.dita +++ b/dita/RTC/API/callback_videosourcerequesttoken.dita @@ -13,13 +13,14 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_REQUEST_TOKEN, cb: () => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_REQUEST_TOKEN, cb: () => void): this; + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcertcstats.dita b/dita/RTC/API/callback_videosourcertcstats.dita index 8e94e870e80..2fd6af72ded 100644 --- a/dita/RTC/API/callback_videosourcertcstats.dita +++ b/dita/RTC/API/callback_videosourcertcstats.dita @@ -13,13 +13,14 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_RTC_STATS, cb: (stats: RtcStats) => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_RTC_STATS, cb: (stats: RtcStats) => void): this; + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcetokenprivilegewillexpire.dita b/dita/RTC/API/callback_videosourcetokenprivilegewillexpire.dita index dc3c08ac1c0..450a72da647 100644 --- a/dita/RTC/API/callback_videosourcetokenprivilegewillexpire.dita +++ b/dita/RTC/API/callback_videosourcetokenprivilegewillexpire.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceTokenPrivilegeWillExpire"/> - + @@ -13,21 +14,23 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_TOKEN_PRIVILEGE_WILL_EXPIRE, cb: (token: string) => void ): this; - - -

    + + + +

    双实例回调。

    -

    当收到该回调时,你需要重新在服务端生成新的 Token,然后调用 将新生成的 Token 传给 SDK。

    +

    当收到该回调时,你需要重新在服务端生成新的 Token,然后调用 将新生成的 Token + 传给 SDK。

    diff --git a/dita/RTC/API/callback_videosourceuserenablelocalvideo.dita b/dita/RTC/API/callback_videosourceuserenablelocalvideo.dita index 00424f4b50a..22e8accf659 100644 --- a/dita/RTC/API/callback_videosourceuserenablelocalvideo.dita +++ b/dita/RTC/API/callback_videosourceuserenablelocalvideo.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceUserEnableLocalVideo"/> - + @@ -13,16 +14,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_USER_ENABLE_LOCAL_VIDEO, cb: (uid: number, enabled: boolean) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourceuserenablevideo.dita b/dita/RTC/API/callback_videosourceuserenablevideo.dita index 51873d3c47d..76c06732f3a 100644 --- a/dita/RTC/API/callback_videosourceuserenablevideo.dita +++ b/dita/RTC/API/callback_videosourceuserenablevideo.dita @@ -13,21 +13,23 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_USER_ENABLE_VIDEO, cb: (uid: number, enabled: boolean) => void ): this; - - -

    + + + +

    双实例回调。

    -

    该回调是由远端用户调用 方法开启或关闭视频模块触发的。

    +

    该回调是由远端用户调用 方法开启或关闭视频模块触发的。

    diff --git a/dita/RTC/API/callback_videosourceuseroffline.dita b/dita/RTC/API/callback_videosourceuseroffline.dita index 54014539e14..600a847d36d 100644 --- a/dita/RTC/API/callback_videosourceuseroffline.dita +++ b/dita/RTC/API/callback_videosourceuseroffline.dita @@ -13,16 +13,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_USER_OFFLINE, cb: (uid: number, reason: USER_OFFLINE_REASON_TYPE) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcevideodevicestatechanged.dita b/dita/RTC/API/callback_videosourcevideodevicestatechanged.dita index 25c9faacfd6..63c60bfd23a 100644 --- a/dita/RTC/API/callback_videosourcevideodevicestatechanged.dita +++ b/dita/RTC/API/callback_videosourcevideodevicestatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceVideoDeviceStateChanged"/> - + @@ -13,16 +14,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_DEVICE_STATE_CHANGED, cb: (deviceId: string, deviceType: number, deviceState: number) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcevideopublishstatechanged.dita b/dita/RTC/API/callback_videosourcevideopublishstatechanged.dita index f9d60e07e3e..8a73d33af7e 100644 --- a/dita/RTC/API/callback_videosourcevideopublishstatechanged.dita +++ b/dita/RTC/API/callback_videosourcevideopublishstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceVideoPublishStateChanged"/> - + @@ -13,10 +14,10 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_PUBLISH_STATE_CHANGED, cb: ( channel: string, @@ -25,9 +26,10 @@ elapseSinceLastState: number ) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcevideosizechanged.dita b/dita/RTC/API/callback_videosourcevideosizechanged.dita index 6552e52ce77..03237744104 100644 --- a/dita/RTC/API/callback_videosourcevideosizechanged.dita +++ b/dita/RTC/API/callback_videosourcevideosizechanged.dita @@ -13,16 +13,17 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_SIZE_CHANGED, cb: (uid: number, width: number, height: number, rotation: number) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcevideostopped.dita b/dita/RTC/API/callback_videosourcevideostopped.dita index edb629a93a8..53e97dd7baf 100644 --- a/dita/RTC/API/callback_videosourcevideostopped.dita +++ b/dita/RTC/API/callback_videosourcevideostopped.dita @@ -13,20 +13,22 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_STOPPED, cb: () => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_STOPPED, cb: () => void): this; + + + +

    - -
    弃用:
    -
    请改用 回调中的 (0)。
    -
    + +
    弃用:
    +
    请改用 回调中的 (0)。
    +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcevideosubscribestatechanged.dita b/dita/RTC/API/callback_videosourcevideosubscribestatechanged.dita index 15b18455291..5237436b0d2 100644 --- a/dita/RTC/API/callback_videosourcevideosubscribestatechanged.dita +++ b/dita/RTC/API/callback_videosourcevideosubscribestatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceVideoSubscribeStateChanged"/> - + @@ -13,10 +14,10 @@

    - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_SUBSCRIBE_STATE_CHANGED, cb: ( channel: string, @@ -26,9 +27,10 @@ elapseSinceLastState: number ) => void ): this; - - -

    + + + +

    双实例回调。

    diff --git a/dita/RTC/API/callback_videosourcewarning.dita b/dita/RTC/API/callback_videosourcewarning.dita index bbd2254825a..699baa4bc1c 100644 --- a/dita/RTC/API/callback_videosourcewarning.dita +++ b/dita/RTC/API/callback_videosourcewarning.dita @@ -13,13 +13,14 @@

    - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_WARNING, cb: (warn: number, msg: string) => void): this; - - -

    + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_WARNING, cb: (warn: number, msg: string) => void): this; + + + +

    双实例回调。

    diff --git a/dita/RTC/API/class_advancedconfiginfo.dita b/dita/RTC/API/class_advancedconfiginfo.dita index cb1eee95ae2..82046613af6 100644 --- a/dita/RTC/API/class_advancedconfiginfo.dita +++ b/dita/RTC/API/class_advancedconfiginfo.dita @@ -4,17 +4,18 @@ <ph keyref="AdvancedConfigInfo"/> 进阶配置信息。 -
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> +
    + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - logUploadServer - -

    自定义的日志上传服务器。默认情况下,SDK 会将日志上传至声网的日志服务器。你可以通过该参数修改日志上传的服务器。详见

    -
    -
    + + logUploadServer + +

    自定义的日志上传服务器。默认情况下,SDK 会将日志上传至声网的日志服务器。你可以通过该参数修改日志上传的服务器。详见

    +
    +
    -
    +
    diff --git a/dita/RTC/API/class_agorafacepositioninfo.dita b/dita/RTC/API/class_agorafacepositioninfo.dita index 6daea4509a8..df7bc00bd95 100644 --- a/dita/RTC/API/class_agorafacepositioninfo.dita +++ b/dita/RTC/API/class_agorafacepositioninfo.dita @@ -6,25 +6,25 @@

    - public static class AgoraFacePositionInfo { + public static class AgoraFacePositionInfo { public int x; public int y; public int width; public int height; public int distance; } - NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject + NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject @property(assign, nonatomic) NSInteger x NS_SWIFT_NAME(x); @property(assign, nonatomic) NSInteger y NS_SWIFT_NAME(y); @property(assign, nonatomic) NSInteger width NS_SWIFT_NAME(width); @property(assign, nonatomic) NSInteger height NS_SWIFT_NAME(height); @property(assign, nonatomic) NSInteger distance NS_SWIFT_NAME(distance); @end - - - - - class FacePositionInfo { + + + + + class FacePositionInfo { int x; int y; @@ -44,43 +44,44 @@ _$FacePositionInfoFromJson(json); Map<String, dynamic> toJson() => _$FacePositionInfoToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - x - -

    人脸在画面中的 x 坐标 (px)。以摄像头采集画面的左上角为原点,x 坐标为人脸左上角相对于原点的横向位移。

    -
    -
    - - y - -

    人脸在画面中的 y 坐标 (px)。以摄像头采集画面的左上角为原点,y 坐标为人脸左上角相对原点的纵向位移。

    -
    -
    - - width - -

    人脸在画面中的宽度 (px)。

    -
    -
    - - height - -

    人脸在画面中的高度 (px)。

    -
    -
    - - distance - -

    人脸距设备屏幕的距离 (cm)。

    -
    -
    -
    + + x + +

    人脸在画面中的 x 坐标 (px)。以摄像头采集画面的左上角为原点,x 坐标为人脸左上角相对于原点的横向位移。

    +
    +
    + + y + +

    人脸在画面中的 y 坐标 (px)。以摄像头采集画面的左上角为原点,y 坐标为人脸左上角相对原点的纵向位移。

    +
    +
    + + width + +

    人脸在画面中的宽度 (px)。

    +
    +
    + + height + +

    人脸在画面中的高度 (px)。

    +
    +
    + + distance + +

    人脸距设备屏幕的距离 (cm)。

    +
    +
    + +
    diff --git a/dita/RTC/API/class_agorarhythmplayerconfig.dita b/dita/RTC/API/class_agorarhythmplayerconfig.dita index 35c4bf6ea38..9d1ceeabce7 100644 --- a/dita/RTC/API/class_agorarhythmplayerconfig.dita +++ b/dita/RTC/API/class_agorarhythmplayerconfig.dita @@ -6,7 +6,7 @@

    - public class AgoraRhythmPlayerConfig { + public class AgoraRhythmPlayerConfig { public int beatsPerMeasure; public int beatsPerMinute; @@ -25,23 +25,23 @@ return beatsPerMinute; } } - __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject @property (assign, nonatomic) int beatsPerMeasure; @property (assign, nonatomic) int beatsPerMinute; @end - struct AgoraRhythmPlayerConfig { + struct AgoraRhythmPlayerConfig { int beatsPerMeasure; int beatsPerMinute; AgoraRhythmPlayerConfig() : beatsPerMeasure(4), beatsPerMinute(60) {} }; - public class AgoraRhythmPlayerConfig { + public class AgoraRhythmPlayerConfig { public int beatsPerMeasure; public int beatsPerMinute; };

    - public class AgoraRhythmPlayerConfig { + public class AgoraRhythmPlayerConfig { public AgoraRhythmPlayerConfig() { beatsPerMeasure = 4; @@ -52,16 +52,16 @@ public int beatsPerMinute; public boolean publish; } - __attribute__((visibility("default"))) @interface AgoraRtcRhythmPlayerConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRhythmPlayerConfig : NSObject @property(assign, nonatomic) NSUInteger beatsPerMeasure; @property(assign, nonatomic) NSUInteger beatsPerMinute; @property(assign, nonatomic) BOOL publish; @end - - - - - class RhythmPlayerConfig { + + + + + class RhythmPlayerConfig { @JsonKey(includeIfNull: false) int? beatsPerMeasure; @@ -82,42 +82,37 @@ _$RhythmPlayerConfigFromJson(json); Map<String, dynamic> toJson() => _$RhythmPlayerConfigToJson(this); -}

    +} +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - beatsPerMeasure - 每小节的拍数,取值范围为 [1,9]。默认值为 4,即每小节包含 1 个强拍和 3 个弱拍。 - - - beatsPerMinute - 节拍速度(拍/分钟),取值范围为 [60,360]。默认值为 60,即 1 分钟有 60 拍。 - - - publish - 是否将节拍器的声音发布至远端: - - - -
      -
    • : (默认)发布。本地用户和远端用户都能听到节拍器。
    • -
    • : 不发布。只有本地用户能听到节拍器。
    • -
    -
    -
    + + beatsPerMeasure + 每小节的拍数,取值范围为 [1,9]。默认值为 4,即每小节包含 1 个强拍和 3 个弱拍。 + + + beatsPerMinute + 节拍速度(拍/分钟),取值范围为 [60,360]。默认值为 60,即 1 分钟有 60 拍。 + + + publish + 是否将节拍器的声音发布至远端:
      +
    • : (默认)发布。本地用户和远端用户都能听到节拍器。
    • +
    • : 不发布。只有本地用户能听到节拍器。
    • +
    +
    + +
    diff --git a/dita/RTC/API/class_agorartcdeviceinfo.dita b/dita/RTC/API/class_agorartcdeviceinfo.dita index 37cc82eb890..b39ae45a4f5 100644 --- a/dita/RTC/API/class_agorartcdeviceinfo.dita +++ b/dita/RTC/API/class_agorartcdeviceinfo.dita @@ -6,35 +6,38 @@

    - - __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject + + __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject @property (assign, nonatomic) int __deprecated index; @property(assign, nonatomic) AgoraMediaDeviceType type; @property(copy, nonatomic) NSString *_Nullable deviceId; @property(copy, nonatomic) NSString *_Nullable deviceName; @end - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - 设备类型,详见 - - - deviceId - 设备 ID。 - - - deviceName - 设备名称。 - -
    + + type + 设备类型,详见 + + + deviceId + 设备 ID。 + + + deviceName + 设备名称。 + + +
    diff --git a/dita/RTC/API/class_audioencodedframeobserverconfig.dita b/dita/RTC/API/class_audioencodedframeobserverconfig.dita index 127da5e3c4f..e8a8c12f043 100644 --- a/dita/RTC/API/class_audioencodedframeobserverconfig.dita +++ b/dita/RTC/API/class_audioencodedframeobserverconfig.dita @@ -6,7 +6,7 @@

    - public class AudioEncodedFrameObserverConfig + public class AudioEncodedFrameObserverConfig { public AudioEncodedFrameObserverConfig() { @@ -23,9 +23,10 @@ public AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType { set; get; } public AUDIO_ENCODING_TYPE encodingType { set; get; } - }

    + } +

    - public class AudioEncodedFrameObserverConfig { + public class AudioEncodedFrameObserverConfig { public int postionType; public int encodingType; @@ -34,84 +35,75 @@ encodingType = Constants.AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM; } } - __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject @property (assign, nonatomic) AgoraAudioEncodedFrameDelegatePosition postionType; @property (assign, nonatomic) AgoraAudioEncodingType encodingType; @end - struct AudioEncodedFrameObserverConfig { + struct AudioEncodedFrameObserverConfig { AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType; AUDIO_ENCODING_TYPE encodingType; AudioEncodedFrameObserverConfig() : postionType(AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK), encodingType(AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM){} }; - - -

    + + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - postionType - -

    音频编码内容。详见

    -

    音频编码内容: - - - - -

      -
    • (1):仅编码本地用户的音频。
    • -
    • (2):仅编码所有远端用户的音频。
    • -
    • (3):编码本地和所有远端用户混音后的音频。
    • -

    -
    -
    - - 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。
    • -

    -
    -
    -
    + + postionType + +

    音频编码内容。详见

    +

    音频编码内容:

      +
    • + (1):仅编码本地用户的音频。
    • +
    • + (2):仅编码所有远端用户的音频。
    • +
    • + (3):编码本地和所有远端用户混音后的音频。
    • +
    +

    +
    +
    + + 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。
    • +
    +

    +
    +
    + +
    diff --git a/dita/RTC/API/class_audioexternalsourceposition.dita b/dita/RTC/API/class_audioexternalsourceposition.dita index 518f519bb4f..c808016c2e4 100644 --- a/dita/RTC/API/class_audioexternalsourceposition.dita +++ b/dita/RTC/API/class_audioexternalsourceposition.dita @@ -6,50 +6,53 @@

    - public enum AudioExternalSourcePos { + public enum AudioExternalSourcePos { AUDIO_EXTERNAL_PLAYOUT_SOURCE(0), AUDIO_EXTERNAL_RECORD_SOURCE_PRE_PROCESS(1), AUDIO_EXTERNAL_RECORD_SOURCE_POST_PROCESS(2); } - typedef NS_ENUM(NSUInteger, AgoraAudioExternalSourcePos) { + typedef NS_ENUM(NSUInteger, AgoraAudioExternalSourcePos) { AgoraAudioExternalPlayoutSource = 0, AgoraAudioExternalRecordSourcePreProcess = 1, AgoraAudioExternalRecordSourcePostProcess = 2, }; - enum AUDIO_EXTERNAL_SOURCE_POSITION { + enum AUDIO_EXTERNAL_SOURCE_POSITION { AUDIO_EXTERNAL_PLAYOUT_SOURCE = 0, AUDIO_EXTERNAL_RECORD_SOURCE_PRE_PROCESS = 1, AUDIO_EXTERNAL_RECORD_SOURCE_POST_PROCESS = 2, }; - - - -

    + + + + +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - 0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。 - - - - 1: 音频采集之后、前处理之前的位置。如果你需要 SDK 的音频模块处理外部音频帧,请设置该位置。 - - - - 2: 音频前处理之后、编码之前的位置。如果你无需 SDK 的音频模块处理外部音频帧,请设置该位置。 - -
    + + + 0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。 + + + + 1: 音频采集之后、前处理之前的位置。如果你需要 SDK 的音频模块处理外部音频帧,请设置该位置。 + + + + 2: 音频前处理之后、编码之前的位置。如果你无需 SDK 的音频模块处理外部音频帧,请设置该位置。 + + +
    diff --git a/dita/RTC/API/class_audiofileinfo.dita b/dita/RTC/API/class_audiofileinfo.dita index bddd1b024d0..09495d41f25 100644 --- a/dita/RTC/API/class_audiofileinfo.dita +++ b/dita/RTC/API/class_audiofileinfo.dita @@ -2,21 +2,21 @@ <ph keyref="AudioFileInfo"/> - 音频文件信息。在 中报告。 + 音频文件信息。在 + 中报告。

    - - - - - public struct AudioFileInfo { + + + + + public struct AudioFileInfo { public string filePath; public int durationMs; }; - - class AudioFileInfo { + + class AudioFileInfo { @JsonKey() String filePath; @@ -33,30 +33,31 @@ _$AudioFileInfoFromJson(json); Map<String, dynamic> toJson() => _$AudioFileInfoToJson(this); -}

    +} +

    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - filePath - 音频文件路径。 - - - durationMs - 音频文件时长 (ms)。 - -
    + + filePath + 音频文件路径。 + + + durationMs + 音频文件时长 (ms)。 + + +
    diff --git a/dita/RTC/API/class_audioframe.dita b/dita/RTC/API/class_audioframe.dita index 72464f0a19b..684d982a4ba 100644 --- a/dita/RTC/API/class_audioframe.dita +++ b/dita/RTC/API/class_audioframe.dita @@ -2,12 +2,11 @@ <ph keyref="AudioFrame"/> - 定义。 + 定义。

    - public class AudioFrame { + public class AudioFrame { public byte[] bytes; public int sampleRataHz; public int bytesPerSample; @@ -56,7 +55,7 @@ } } - struct AudioFrame { + struct AudioFrame { AUDIO_FRAME_TYPE type; int samplesPerChannel; agora::rtc::BYTES_PER_SAMPLE bytesPerSample; @@ -75,7 +74,7 @@ avsync_type(0) {} }; - __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; @@ -84,7 +83,7 @@ @property (assign, nonatomic) int64_t renderTimeMs; @property (assign, nonatomic) NSInteger avSyncType; @end - public AudioFrame(AUDIO_FRAME_TYPE type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, + public AudioFrame(AUDIO_FRAME_TYPE type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, byte[] buffer, long renderTimeMs, int avsync_type) { this.type = type; @@ -106,7 +105,7 @@ public int avsync_type { set; get; } }

    - public class AudioFrame { + public class AudioFrame { public ByteBuffer samples; public int numOfSamples; public int bytesPerSample; @@ -130,7 +129,7 @@ '}'; } } - __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject + __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject @property(assign, nonatomic) NSInteger samplesPerChannel NS_SWIFT_NAME(samplesPerChannel); @property(assign, nonatomic) NSInteger bytesPerSample NS_SWIFT_NAME(bytesPerSample); @property(assign, nonatomic) NSInteger channels NS_SWIFT_NAME(channels); @@ -139,7 +138,7 @@ @property(assign, nonatomic) int64_t renderTimeMs NS_SWIFT_NAME(renderTimeMs); @property(assign, nonatomic) NSInteger avSyncType NS_SWIFT_NAME(avSyncType); - struct AudioFrame { + struct AudioFrame { AUDIO_FRAME_TYPE type; int samples; int bytesPerSample; @@ -149,7 +148,7 @@ int64_t renderTimeMs; int avsync_type; }; - public class AudioFrame + public class AudioFrame { public AudioFrame() { @@ -178,81 +177,75 @@ public long renderTimeMs { set; get; } public int avsync_type { set; get; } } - - -

    + + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - type - -

    音频帧类型,详见

    -
    -
    - - numOfSamplessamplessamplesPerChannel - samplesPerChannel - 每个声道的采样点数。 - - - bytesPerSample - 每个采样点的字节数: 对于 PCM 来说,一般使用 16 bit,即两个字节。 - - - channels - channelschannelNums - -

    声道数量(如果是立体声,数据是交叉的)。 - - - -

      -
    • 1: 单声道
    • -
    • 2: 双声道
    • -

    -
    -
    - - samplesPerSec - samplesPerSecsampleRataHz - 每声道每秒的采样点数。 - - - bufferbytes - buffersamples - -

    声音数据缓存区(如果是立体声,数据是交叉存储的)。

    -

    缓存区数据大小 buffer = samples × - channels × bytesPerSample

    -
    -
    - - renderTimeMs - -

    外部音频帧的渲染时间戳。

    -

    你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以用于实现音视频同步。

    -
    -
    - - avsyncTypeavsync_type - 保留参数。 - - - timestamp - 音频帧的时间戳 - -
    + + type + +

    音频帧类型,详见

    +
    +
    + + numOfSamplessamplessamplesPerChannel + samplesPerChannel + 每个声道的采样点数。 + + + bytesPerSample + 每个采样点的字节数: 对于 PCM 来说,一般使用 16 bit,即两个字节。 + + + channels + channelschannelNums + +

    声道数量(如果是立体声,数据是交叉的)。

      +
    • 1: 单声道
    • +
    • 2: 双声道
    • +

    +
    +
    + + samplesPerSec + samplesPerSecsampleRataHz + 每声道每秒的采样点数。 + + + bufferbytes + buffersamples + +

    声音数据缓存区(如果是立体声,数据是交叉存储的)。

    +

    缓存区数据大小 buffer = samples × + channels × bytesPerSample

    +
    +
    + + renderTimeMs + +

    外部音频帧的渲染时间戳。

    +

    你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以用于实现音视频同步。

    +
    +
    + + avsyncTypeavsync_type + 保留参数。 + + + timestamp + 音频帧的时间戳 + + +
    diff --git a/dita/RTC/API/class_audiopcmframe.dita b/dita/RTC/API/class_audiopcmframe.dita index 8bfc44519d0..7327a5d091c 100644 --- a/dita/RTC/API/class_audiopcmframe.dita +++ b/dita/RTC/API/class_audiopcmframe.dita @@ -6,11 +6,11 @@

    - - - - - + + + + + public struct AudioPcmFrame { public UInt32 capture_timestamp; public UInt64 samples_per_channel_; @@ -19,36 +19,39 @@ public BYTES_PER_SAMPLE bytes_per_sample; public Int16[] data_; }; - -

    + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - capture_timestamp - 音频帧的时间戳 (ms)。 - - - samples_per_channel_ - 每个声道的采样点数。 - - - sample_rate_hz_ - 音频采样率 (Hz)。 - - - num_channels_ - 音频声道数。 - - - bytes_per_sample - 音频数据的字节数。 - - - data_ - 音频数据的最大字节。 - -
    + + capture_timestamp + 音频帧的时间戳 (ms)。 + + + samples_per_channel_ + 每个声道的采样点数。 + + + sample_rate_hz_ + 音频采样率 (Hz)。 + + + num_channels_ + 音频声道数。 + + + bytes_per_sample + 音频数据的字节数。 + + + data_ + 音频数据的最大字节。 + + +
    diff --git a/dita/RTC/API/class_audiorecordingconfiguration.dita b/dita/RTC/API/class_audiorecordingconfiguration.dita index 857df55f042..8936478c6f6 100644 --- a/dita/RTC/API/class_audiorecordingconfiguration.dita +++ b/dita/RTC/API/class_audiorecordingconfiguration.dita @@ -1,12 +1,16 @@ - <ph keyref="AudioRecordingConfiguration"/> - 客户端录音配置。 + + <ph keyref="AudioRecordingConfiguration"/> + + + 客户端录音配置。 +

    - public class AudioRecordingConfiguration + public class AudioRecordingConfiguration { public String filePath; public int recordingQuality; @@ -28,14 +32,14 @@ this.recordingSampleRate = sampleRate; } } - __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration : NSObject + __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration : NSObject @property(copy, nonatomic) NSString* _Nullable filePath; @property(assign, nonatomic) AgoraAudioRecordingQuality recordingQuality; @property(assign, nonatomic) AgoraAudioRecordingPosition recordingPosition; @property(assign, nonatomic) NSInteger recordingSampleRate; @end - struct AudioRecordingConfiguration { + struct AudioRecordingConfiguration { const char* filePath; AUDIO_RECORDING_QUALITY_TYPE recordingQuality; @@ -60,7 +64,7 @@ recordingSampleRate(sampleRate) {} }; - public class AudioRecordingConfiguration + public class AudioRecordingConfiguration { public AudioRecordingConfiguration() { @@ -87,14 +91,14 @@ public int recordingSampleRate { set; get; } public int recordingChannel { set; get; } } - export interface AudioRecordingConfiguration { + export interface AudioRecordingConfiguration { filePath: string; recordingQuality: AUDIO_RECORDING_QUALITY_TYPE; recordingPosition: AUDIO_RECORDING_POSITION; recordingSampleRate: number; } - - class AudioRecordingConfiguration { + + class AudioRecordingConfiguration { String filePath; @@ -118,74 +122,67 @@ _$AudioRecordingConfigurationFromJson(json); Map<String, dynamic> toJson() => _$AudioRecordingConfigurationToJson(this); -}

    +} +

    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - filePath - -

    录音文件在本地保存的绝对路径,需精确到文件名及格式。例如:

    - 请确保你指定的路径存在并且可写。
    -
    - - recordingChannel - - 录制的音频声道。支持如下取值: - - -
      -
    • 1: (默认)单声道。
    • -
    • 2: 双声道。
    • -
    - - 实际录制的音频声道与你采集的音频声道有关:如果采集的音频为单声道, - recordingChannel - 为 2,则录制的音频为经过单声道数据拷贝后的双声道数据,而不是立体声。如果采集的音频为双声道, - recordingChannel - 为 1,则录制的音频为经过双声道数据混合后的单声道数据。此外,集成方案也会影响最终录制的音频声道。因此,如果你希望录制立体声,请联系技术支持协助。 -
    -
    - - recordingQuality - -

    录音音质。详见

    - 该参数仅适用于 AAC 文件。
    -
    - - recordingPosition - 录音内容。详见 - - - recordingSampleRate - 录音采样率 (Hz)。 - -
      -
    • 16000
    • -
    • (默认)32000
    • -
    • 44100
    • -
    • 48000
    • -
    - 如果把该参数设为 44100 或 48000,为保证录音效果,声网推荐录制 WAV 文件 或 recordingQuality 为 - 的 AAV 文件。
    -
    -
    + + filePath + +

    录音文件在本地保存的绝对路径,需精确到文件名及格式。例如:

    + 请确保你指定的路径存在并且可写。 +
    +
    + + recordingChannel + 录制的音频声道。支持如下取值:
      +
    • 1: (默认)单声道。
    • +
    • 2: 双声道。
    • +
    + 实际录制的音频声道与你采集的音频声道有关:如果采集的音频为单声道, + recordingChannel 为 + 2,则录制的音频为经过单声道数据拷贝后的双声道数据,而不是立体声。如果采集的音频为双声道, + recordingChannel 为 + 1,则录制的音频为经过双声道数据混合后的单声道数据。此外,集成方案也会影响最终录制的音频声道。因此,如果你希望录制立体声,请联系技术支持协助。 +
    +
    + + recordingQuality + +

    录音音质。详见

    + 该参数仅适用于 AAC 文件。
    +
    + + recordingPosition + 录音内容。详见 + + + recordingSampleRate + 录音采样率 (Hz)。
      +
    • 16000
    • +
    • (默认)32000
    • +
    • 44100
    • +
    • 48000
    • +
    + 如果把该参数设为 44100 或 48000,为保证录音效果,声网推荐录制 WAV 文件 或 + recordingQuality 的 AAV 文件。
    +
    + +
    diff --git a/dita/RTC/API/class_audiovolumeinfo.dita b/dita/RTC/API/class_audiovolumeinfo.dita index 719e85d8931..39a132bca3c 100644 --- a/dita/RTC/API/class_audiovolumeinfo.dita +++ b/dita/RTC/API/class_audiovolumeinfo.dita @@ -6,26 +6,26 @@

    - public static class AudioVolumeInfo { + public static class AudioVolumeInfo { public int uid; public int volume; public int vad; public double voicePitch; } - __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger volume; @property(assign, nonatomic) NSUInteger vad; @property (assign, nonatomic) double voicePitch; @end - struct AudioVolumeInfo { + struct AudioVolumeInfo { uid_t uid; unsigned int volume; unsigned int vad; double voicePitch; AudioVolumeInfo() : uid(0), volume(0), vad(0), voicePitch(0.0) {} }; - public class AudioVolumeInfo + public class AudioVolumeInfo { public AudioVolumeInfo() { @@ -43,28 +43,29 @@ public uint vad { set; get; } } -

    + +

    - public static class AudioVolumeInfo { + public static class AudioVolumeInfo { public int uid; public int volume; public int vad; public String channelId; } - __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger volume; @property(assign, nonatomic) NSUInteger vad; @property(copy, nonatomic) NSString* channelId; - struct AudioVolumeInfo { + struct AudioVolumeInfo { uid_t uid; unsigned int volume; unsigned int vad; const char * channelId; }; - public class AudioVolumeInfo + public class AudioVolumeInfo { public AudioVolumeInfo() { @@ -83,15 +84,15 @@ public uint vad { set; get; } public string channelId { set; get; } } - export interface AudioVolumeInfo + export interface AudioVolumeInfo { uid: number, volume: number vad: number channelId: string } - - class AudioVolumeInfo { + + class AudioVolumeInfo { int uid; int volume; int vad; @@ -108,69 +109,68 @@ _$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 - -

    用户 ID。 - - -

      -
    • 在本地用户的回调中,uid 为 0。
    • -
    • 在远端用户的回调中,uid 为瞬时音量最高的远端用户(最多 3 位)的 ID。
    • -

    -
    -
    - - volume - 用户的音量,取值范围为 [0,255]。如果用户调用了 ,则 volume 为用户混音后的音量。 - - - vad - -

    本地用户的人声状态。 - - -

      -
    • 0:本地无人声。
    • -
    • 1:本地有人声。
    • -

    - -
      -
    • vad 无法报告远端用户的人声状态。对于远端用户,vad 的值始终为 0。
    • -
    • 如需使用此参数,请在调用 时设置 report_vadreportVad
    • -
    • 如需使用此参数,请在调用 时设置 reportVad
    • -
    -
    - - channelId - 用户所在频道的频道名称。 - - - voicePitch - -

    本地用户的人声音调(Hz)。取值范围为 [0.0,4000.0]。 -

    - voicePitch 无法报告远端用户的人声音调。对于远端用户,voicePitch 的值始终为 0。 -
    -
    -
    + + uid + +

    用户 ID。

      +
    • 在本地用户的回调中,uid 为 0。
    • +
    • 在远端用户的回调中,uid 为瞬时音量最高的远端用户(最多 3 位)的 + ID。
    • +

    +
    +
    + + volume + 用户的音量,取值范围为 [0,255]。如果用户调用了 ,则 volume + 为用户混音后的音量。 + + + vad + +

    本地用户的人声状态。

      +
    • 0:本地无人声。
    • +
    • 1:本地有人声。
    • +
    +

    + +
      +
    • vad + 无法报告远端用户的人声状态。对于远端用户,vad 的值始终为 0。
    • +
    • 如需使用此参数,请在调用 时设置 report_vadreportVad
    • +
    • 如需使用此参数,请在调用 时设置 + reportVad
    • +
    +
    +
    +
    + + channelId + 用户所在频道的频道名称。 + + + voicePitch + +

    本地用户的人声音调(Hz)。取值范围为 [0.0,4000.0]。

    + voicePitch + 无法报告远端用户的人声音调。对于远端用户,voicePitch 的值始终为 0。 +
    +
    + +
    diff --git a/dita/RTC/API/class_beautyoptions.dita b/dita/RTC/API/class_beautyoptions.dita index a46e707da89..9f261504d47 100644 --- a/dita/RTC/API/class_beautyoptions.dita +++ b/dita/RTC/API/class_beautyoptions.dita @@ -1,12 +1,16 @@ - <ph keyref="BeautyOptions"/> - 美颜选项。 + + <ph keyref="BeautyOptions"/> + + + 美颜选项。 +

    - public class BeautyOptions { + public class BeautyOptions { public static final int LIGHTENING_CONTRAST_LOW = 0; public static final int LIGHTENING_CONTRAST_NORMAL = 1; public static final int LIGHTENING_CONTRAST_HIGH = 2; @@ -17,7 +21,7 @@ public float rednessLevel; public float sharpnessLevel; } - __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject @property(nonatomic, assign) AgoraLighteningContrastLevel lighteningContrastLevel; @property(nonatomic, assign) float lighteningLevel; @@ -25,7 +29,7 @@ @property(nonatomic, assign) float rednessLevel; @property(nonatomic, assign) float sharpnessLevel; @end - struct BeautyOptions { + struct BeautyOptions { enum LIGHTENING_CONTRAST_LEVEL { LIGHTENING_CONTRAST_LOW = 0, LIGHTENING_CONTRAST_NORMAL, @@ -40,7 +44,7 @@ BeautyOptions() : lighteningContrastLevel(LIGHTENING_CONTRAST_NORMAL), lighteningLevel(0), smoothnessLevel(0), rednessLevel(0), sharpnessLevel(0) {} }; - public class BeautyOptions + public class BeautyOptions { public BeautyOptions() { @@ -68,11 +72,12 @@ public float sharpnessLevel { set; get; } } - }

    + } +

    - - - struct BeautyOptions { + + + struct BeautyOptions { enum LIGHTENING_CONTRAST_LEVEL { LIGHTENING_CONTRAST_LOW = 0, @@ -97,7 +102,7 @@ rednessLevel(0), lighteningContrastLevel(LIGHTENING_CONTRAST_NORMAL) {} }; - public class BeautyOptions + public class BeautyOptions { public BeautyOptions() { @@ -121,14 +126,14 @@ public float rednessLevel { set; get; } public float sharpnessLevel { set; get; } } - export interface BeautyOptions { + export interface BeautyOptions { lighteningContrastLevel: LIGHTENING_CONTRAST_LEVEL; lighteningLevel: number; smoothnessLevel: number; rednessLevel: number; } - - class BeautyOptions { + + class BeautyOptions { @JsonKey(includeIfNull: false) LighteningContrastLevel? lighteningContrastLevel; @@ -153,65 +158,55 @@ _$BeautyOptionsFromJson(json); Map<String, dynamic> toJson() => _$BeautyOptionsToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - lighteningContrastLevel - - 对比度,常与 - lighteningLevel - 搭配使用。取值越大,明暗对比程度越大。详见 - - - lighteningLevel - - 美白程度,取值范围为 [0.0,1.0],其中 0.0 表示原始亮度,默认值为 - 0.6 0.6 0.6 - 。取值越大,美白程度越大。 - - - 美白程度,取值范围为 [0.0,1.0],其中 0.0 表示原始亮度,默认值为 - 0.7 0.6 0.0 - 。取值越大,美白程度越大。 - - - - smoothnessLevel - 磨皮程度,取值范围为 [0.0,1.0],其中 0.0 表示原始磨皮程度,默认值为 0.5。取值越大,磨皮程度越大。 - - 磨皮程度,取值范围为 [0.0,1.0],其中 0.0 表示原始磨皮程度,默认值为 - 0.5 0.5 0.0。取值越大,磨皮程度越大。 - - - rednessLevel - 红润度,取值范围为 [0.0,1.0],其中 0.0 表示原始红润度,默认值为 0.1。取值越大,红润程度越大。 - - 红润度,取值范围为 [0.0,1.0],其中 0.0 表示原始红润度,默认值为 - 0.1 0.1 0.0。取值越大,红润程度越大。 - - - sharpnessLevel - 锐化程度,取值范围为 [0.0,1.0],其中 0.0 表示原始锐度,默认值为 0.3。取值越大,锐化程度越大。 - - 锐化程度,取值范围为 [0.0,1.0],其中 0.0 表示原始锐度,默认值为0.1 0.3 0.0。取值越大,锐化程度越大。 - -
    + + lighteningContrastLevel + 对比度,常与 lighteningLevel 搭配使用。取值越大,明暗对比程度越大。详见 + + + lighteningLevel + 美白程度,取值范围为 [0.0,1.0],其中 0.0 表示原始亮度,默认值为 0.6 + 0.6 + 0.6 。取值越大,美白程度越大。 + 美白程度,取值范围为 [0.0,1.0],其中 0.0 表示原始亮度,默认值为 0.7 + 0.6 + 0.0 。取值越大,美白程度越大。 + + + smoothnessLevel + 磨皮程度,取值范围为 [0.0,1.0],其中 0.0 表示原始磨皮程度,默认值为 0.5。取值越大,磨皮程度越大。 + 磨皮程度,取值范围为 [0.0,1.0],其中 0.0 表示原始磨皮程度,默认值为 0.5 + 0.5 + 0.0。取值越大,磨皮程度越大。 + + + rednessLevel + 红润度,取值范围为 [0.0,1.0],其中 0.0 表示原始红润度,默认值为 0.1。取值越大,红润程度越大。 + 红润度,取值范围为 [0.0,1.0],其中 0.0 表示原始红润度,默认值为 0.1 + 0.1 + 0.0。取值越大,红润程度越大。 + + + sharpnessLevel + 锐化程度,取值范围为 [0.0,1.0],其中 0.0 表示原始锐度,默认值为 0.3。取值越大,锐化程度越大。 + 锐化程度,取值范围为 [0.0,1.0],其中 0.0 表示原始锐度,默认值为0.1 + 0.3 + 0.0。取值越大,锐化程度越大。 + + +
    diff --git a/dita/RTC/API/class_cameracapturerconfiguration.dita b/dita/RTC/API/class_cameracapturerconfiguration.dita index 765e2b07748..43b0fb38d75 100644 --- a/dita/RTC/API/class_cameracapturerconfiguration.dita +++ b/dita/RTC/API/class_cameracapturerconfiguration.dita @@ -6,9 +6,9 @@

    - - - struct CameraCapturerConfiguration { + + + struct CameraCapturerConfiguration { CAPTURER_OUTPUT_PREFERENCE preference; int captureWidth; int captureHeight; @@ -28,7 +28,7 @@ ,captureHeight(height) {} }; - public class CameraCapturerConfiguration + public class CameraCapturerConfiguration { public CameraCapturerConfiguration() { @@ -61,13 +61,13 @@ public int captureHeight { set; get; } public CAMERA_DIRECTION? cameraDirection { set; get; } } - export interface CameraCapturerConfiguration { + export interface CameraCapturerConfiguration { preference?: CAPTURER_OUTPUT_PREFERENCE; captureWidth?: number; captureHeight?: number; } - - class CameraCapturerConfiguration { + + class CameraCapturerConfiguration { @JsonKey(includeIfNull: false) CameraCaptureOutputPreference? preference; @@ -92,70 +92,66 @@ _$CameraCapturerConfigurationFromJson(json); Map<String, dynamic> toJson() => _$CameraCapturerConfigurationToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - preference - 摄像头采集偏好。详见 - - - captureWidth - -
    - -
    自从
    -
    -
    -
    -

    本地采集的视频宽度 (px)。如果你需要自定义本地采集的视频宽度,请先将 preference 设为 (3),再通过 captureWidth 设置采集的视频宽度。

    -
    -
    - - captureHeight - -
    - -
    自从
    -
    -
    -
    -

    本地采集的视频高度 (px)。如果你需要自定义本地采集的视频高度,请先将 preference 设为 (3),再通过 captureHeight 设置采集的视频高度。

    -
    -
    - - captureFormat - 本地采集的视频格式: - -
      -
    • width: 本地采集的视频宽度 (px)。
    • -
    • height: 本地采集的视频高度 (px)。
    • -
    • fps: 本地采集的视频帧率 (fps)。
    • -
    -
    - - cameraDirection - -

    该参数仅适用于 Android 和 iOS 平台。

    -

    摄像头方向。详见

    -

    摄像头方向: - - -

      -
    • (0):使用后置摄像头。
    • -
    • (1):使用前置摄像头。
    • -

    -
    -
    -
    + + preference + 摄像头采集偏好。详见 + + + captureWidth + +
    + +
    自从
    +
    +
    +
    +

    本地采集的视频宽度 (px)。如果你需要自定义本地采集的视频宽度,请先将 preference 设为 + (3),再通过 + captureWidth 设置采集的视频宽度。

    +
    +
    + + captureHeight + +
    + +
    自从
    +
    +
    +
    +

    本地采集的视频高度 (px)。如果你需要自定义本地采集的视频高度,请先将 preference 设为 + (3),再通过 + captureHeight 设置采集的视频高度。

    +
    +
    + + captureFormat + 本地采集的视频格式:
      +
    • width: 本地采集的视频宽度 (px)。
    • +
    • height: 本地采集的视频高度 (px)。
    • +
    • fps: 本地采集的视频帧率 (fps)。
    • +
    +
    + + cameraDirection + +

    该参数仅适用于 Android 和 iOS 平台。

    +

    摄像头方向。详见

    +

    摄像头方向:

      +
    • (0):使用后置摄像头。
    • +
    • (1):使用前置摄像头。
    • +

    +
    +
    + +
    diff --git a/dita/RTC/API/class_channel.dita b/dita/RTC/API/class_channel.dita index 6d8da3c7dec..08aa021a917 100644 --- a/dita/RTC/API/class_channel.dita +++ b/dita/RTC/API/class_channel.dita @@ -6,21 +6,20 @@

    - - - - export type Channel = "" | string; - - -

    + + + + export type Channel = "" | string; + + + +

    -

    频道信息。可以设为如下值: - -

      -
    • ""。
    • -
    • 字符串。
    • -

    +

    频道信息。可以设为如下值:

      +
    • ""。
    • +
    • 字符串。
    • +

    diff --git a/dita/RTC/API/class_channelmediainfo.dita b/dita/RTC/API/class_channelmediainfo.dita index 9158a6a2140..9f0520b9b53 100644 --- a/dita/RTC/API/class_channelmediainfo.dita +++ b/dita/RTC/API/class_channelmediainfo.dita @@ -6,7 +6,7 @@

    - public class ChannelMediaInfo + public class ChannelMediaInfo { public ChannelMediaInfo() { @@ -23,30 +23,30 @@ public uint uid { set; get; } }

    - struct ChannelMediaInfo { + struct ChannelMediaInfo { const char* channelName; const char* token; uid_t uid; };

    - public class ChannelMediaInfo { + public class ChannelMediaInfo { public String channelName = null; public String token = null; public int uid = 0; } - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayInfo: NSObject + __attribute__((visibility("default"))) @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 { + struct ChannelMediaInfo { const char* channelName; const char* token; uid_t uid; }; - public class ChannelMediaInfo + public class ChannelMediaInfo { public ChannelMediaInfo() { @@ -63,13 +63,13 @@ public string token { set; get; } public uint uid { set; get; } } - export interface ChannelMediaInfo { + export interface ChannelMediaInfo { channelName: string; token: string; uid: number; } - - class ChannelMediaInfo { + + class ChannelMediaInfo { String channelName; @@ -87,25 +87,26 @@ _$ChannelMediaInfoFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaInfoToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - channelName - 频道名。 - - - token - 能加入频道的 Token。 - - - uid - 用户 ID。 - -
    + + channelName + 频道名。 + + + token + 能加入频道的 Token。 + + + uid + 用户 ID。 + + +
    diff --git a/dita/RTC/API/class_channelmediaoptions.dita b/dita/RTC/API/class_channelmediaoptions.dita index 68ca34ac46a..c33d1872cbb 100644 --- a/dita/RTC/API/class_channelmediaoptions.dita +++ b/dita/RTC/API/class_channelmediaoptions.dita @@ -6,9 +6,9 @@

    - - - struct ChannelMediaOptions { + + + struct ChannelMediaOptions { bool autoSubscribeAudio; bool autoSubscribeVideo; ChannelMediaOptions() @@ -16,7 +16,7 @@ , autoSubscribeVideo(true) {} }; - public class ChannelMediaOptions + public class ChannelMediaOptions { public ChannelMediaOptions() { @@ -40,12 +40,12 @@ public bool publishLocalAudio { set; get; } public bool publishLocalVideo { set; get; } } - export interface ChannelMediaOptions { + export interface ChannelMediaOptions { autoSubscribeAudio: boolean; autoSubscribeVideo: boolean; } - - class ChannelMediaOptions { + + class ChannelMediaOptions { @JsonKey(includeIfNull: false) bool? autoSubscribeAudio; @@ -70,69 +70,58 @@ _$ChannelMediaOptionsFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); -}

    +} +

    - -
    自从
    -
    v3.0.0
    -
    + +
    自从
    +
    v3.0.0
    +
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - autoSubscribeAudio - 是否自动订阅频道内所有远端音频流: - -
      -
    • :(默认)订阅。
    • -
    • : 不订阅。
    • -
    - 该成员功能与 相同。加入频道后,你可以通过 muteAllRemoteAudioStreams 方法重新设置是否订阅频道内的远端音频流。 -
    -
    - - audioSubscribeVideo - 是否自动订阅频道内所有远端视频流: - -
      -
    • :(默认)订阅。
    • -
    • : 不订阅。
    • -
    - 该成员功能与 相同。加入频道后,你可以通过 muteAllRemoteVideoStreams 方法重新设置是否订阅频道内的远端视频流。 -
    -
    - - publishLocalAudio - 是否自动在频道内发布本地音频流: - -
      -
    • :(默认)发布。
    • -
    • : 不发布。
    • -
    -

    该成员功能与 相同。加入频道后,你可以通过 muteLocalAudioStream 方法重新设置是否在频道内发布本地音频流。

    -
    -
    - - publishLocalVideo - 是否自动在频道内发布本地视频流: - -
      -
    • :(默认)发布。
    • -
    • : 不发布。
    • -
    -

    该成员功能与 相同。加入频道后,你可以通过 muteLocalVideoStream 方法重新设置是否在频道内发布本地视频流。

    -
    -
    -
    + + autoSubscribeAudio + 是否自动订阅频道内所有远端音频流:
      +
    • :(默认)订阅。
    • +
    • : 不订阅。
    • +
    该成员功能与 相同。加入频道后,你可以通过 + muteAllRemoteAudioStreams 方法重新设置是否订阅频道内的远端音频流。
    +
    + + audioSubscribeVideo + 是否自动订阅频道内所有远端视频流:
      +
    • :(默认)订阅。
    • +
    • : 不订阅。
    • +
    该成员功能与 相同。加入频道后,你可以通过 + muteAllRemoteVideoStreams 方法重新设置是否订阅频道内的远端视频流。
    +
    + + publishLocalAudio + 是否自动在频道内发布本地音频流:
      +
    • :(默认)发布。
    • +
    • : 不发布。
    • +
    +

    该成员功能与 相同。加入频道后,你可以通过 + muteLocalAudioStream 方法重新设置是否在频道内发布本地音频流。

    +
    +
    + + publishLocalVideo + 是否自动在频道内发布本地视频流:
      +
    • :(默认)发布。
    • +
    • : 不发布。
    • +
    +

    该成员功能与 相同。加入频道后,你可以通过 + muteLocalVideoStream 方法重新设置是否在频道内发布本地视频流。

    +
    +
    + +
    diff --git a/dita/RTC/API/class_channelmediarelayconfiguration.dita b/dita/RTC/API/class_channelmediarelayconfiguration.dita index 81a375342d6..27add924c8f 100644 --- a/dita/RTC/API/class_channelmediarelayconfiguration.dita +++ b/dita/RTC/API/class_channelmediarelayconfiguration.dita @@ -2,12 +2,11 @@ <ph keyref="ChannelMediaRelayConfiguration"/> - 类定义。 + 类定义。

    - public class ChannelMediaRelayConfiguration + public class ChannelMediaRelayConfiguration { public ChannelMediaRelayConfiguration() { @@ -28,9 +27,10 @@ public int destCount { set; get; } } - }

    + } +

    - public class ChannelMediaRelayConfiguration { + public class ChannelMediaRelayConfiguration { private ChannelMediaInfo srcInfo = null; private Map<String, ChannelMediaInfo> destInfos = null; @@ -42,7 +42,7 @@ public void setSrcChannelInfo(ChannelMediaInfo srcInfo) { this.srcInfo = srcInfo; } - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos; @property (strong, nonatomic) AgoraChannelMediaRelayInfo *_Nonnull sourceInfo; @@ -50,7 +50,7 @@ - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName; - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName; @end - struct ChannelMediaRelayConfiguration { + struct ChannelMediaRelayConfiguration { ChannelMediaInfo *srcInfo; ChannelMediaInfo *destInfos; int destCount; @@ -61,7 +61,7 @@ , destCount(0) {} }; - public class ChannelMediaRelayConfiguration + public class ChannelMediaRelayConfiguration { public ChannelMediaRelayConfiguration() { @@ -81,12 +81,12 @@ public ChannelMediaInfo[] destInfos { set; get; } public int destCount { set; get; } } - export interface ChannelMediaRelayConfiguration { + export interface ChannelMediaRelayConfiguration { srcInfo: ChannelMediaInfo; destInfos: [ChannelMediaInfo]; } - - class ChannelMediaRelayConfiguration { + + class ChannelMediaRelayConfiguration { ChannelMediaInfo srcInfo; List<ChannelMediaInfo> destInfos; @@ -100,80 +100,64 @@ _$ChannelMediaRelayConfigurationFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaRelayConfigurationToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - srcInfo - sourceInfo - -

    源频道信息 ,包含如下成员: - - - -

      -
    • channelName:源频道名。默认值为 ,表示 SDK - 填充当前的频道名。
    • -
    • uid:标识源频道中的转发媒体流的 UID。默认值为 0,表示 SDK 随机分配一个 + + srcInfo + sourceInfo + +

      源频道信息 ,包含如下成员:

        +
      • channelName:源频道名。默认值为 ,表示 SDK 填充当前的频道名。
      • +
      • uid:标识源频道中的转发媒体流的 UID。默认值为 0,表示 SDK 随机分配一个 uid。请确保设为 0。
      • -
      • token:能加入源频道的 token。由你在 +
      • token:能加入源频道的 token。由你在 srcInfo 中设置的 channelName 和 - uid 生成。 - - - -
          -
        • 如未启用 App Certificate,可直接将该参数设为默认值 - ,表示 SDK 填充 App ID。
        • -
        • 如已启用 App Certificate,则务必填入使用 + uid 生成。
            +
          • 如未启用 App Certificate,可直接将该参数设为默认值 ,表示 SDK 填充 App ID。
          • +
          • 如已启用 App Certificate,则务必填入使用 channelNameuid 生成的 token,且其中的 uid 必须为 0。
          • -
        • -

        - - - - destInfos - destinationInfos - -

        目标频道信息 ,包含如下成员: - - - -

          -
        • channelName:目标频道的频道名。
        • -
        • uid:标识目标频道中的转发媒体流的 UID。取值范围为 0 +
      • +
      +

      +
      +
      + + destInfos + destinationInfos + +

      目标频道信息 ,包含如下成员:

        +
      • channelName:目标频道的频道名。
      • +
      • uid:标识目标频道中的转发媒体流的 UID。取值范围为 0 到(232-1),请确保与目标频道中的所有 UID 不同。默认值为 0,表示 SDK 随机分配一个 UID。请确保不要将该参数设为目标频道的主播的 UID,并与目标频道中的所有 UID 都不同。
      • -
      • token:能加入目标频道的 token。由你在 +
      • token:能加入目标频道的 token。由你在 destInfos 中设置的 channelName - 和 uid 生成。 - - - -
          -
        • 如未启用 App Certificate,可直接将该参数设为默认值 - ,表示 SDK 填充 App ID。
        • -
        • 如已启用 App Certificate,则务必填入使用 + 和 uid 生成。
            +
          • 如未启用 App Certificate,可直接将该参数设为默认值 ,表示 SDK 填充 App ID。
          • +
          • 如已启用 App Certificate,则务必填入使用 channelNameuid 生成的 token
          • -
        • -

        - - - - destCount - 目标频道数量,默认值为 0,取值范围为 [0,4]。该参数应与你在 destInfo 中定义的 数组的数目一致。 - -
    + + +

    + + + + destCount + 目标频道数量,默认值为 0,取值范围为 [0,4]。该参数应与你在 destInfo 中定义的 数组的数目一致。 + + +
    diff --git a/dita/RTC/API/class_clientroleoptions.dita b/dita/RTC/API/class_clientroleoptions.dita index 26f5c8c1eb5..9358420e82e 100644 --- a/dita/RTC/API/class_clientroleoptions.dita +++ b/dita/RTC/API/class_clientroleoptions.dita @@ -6,7 +6,7 @@

    - public class ClientRoleOptions { + public class ClientRoleOptions { public int audienceLatencyLevel; @CalledByNative @@ -14,7 +14,7 @@ return audienceLatencyLevel; } } - public class ClientRoleOptions + public class ClientRoleOptions { public ClientRoleOptions() { @@ -27,27 +27,29 @@ public AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; } -

    + +

    - public class ClientRoleOptions { + public class ClientRoleOptions { public int audienceLatencyLevel; } - struct ClientRoleOptions { + struct ClientRoleOptions { AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; ClientRoleOptions() : audienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY) {} - };

    + }; +

    - __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject + __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject @property (assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel; @end - struct ClientRoleOptions { + struct ClientRoleOptions { AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; ClientRoleOptions() : audienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY) {} }; - public class ClientRoleOptions + public class ClientRoleOptions { public ClientRoleOptions() { @@ -61,11 +63,11 @@ public AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; } - export interface ClientRoleOptions { + export interface ClientRoleOptions { audienceLatencyLevel: AUDIENCE_LATENCY_LEVEL_TYPE; } - - class ClientRoleOptions { + + class ClientRoleOptions { @JsonKey(includeIfNull: false) AudienceLatencyLevelType? audienceLatencyLevel; @@ -78,24 +80,24 @@ Map<String, dynamic> toJson() => _$ClientRoleOptionsToJson(this); } -

    + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - audienceLatencyLevel - 观众端延时级别。详见 -
      -
    • (1): 低延时。
    • -
    • (2): (默认)超低延时。
    • -
    -
    -
    + + audienceLatencyLevel + 观众端延时级别。详见 +
      +
    • (1): 低延时。
    • +
    • (2): + (默认)超低延时。
    • +
    +
    + +
    diff --git a/dita/RTC/API/class_cloudspatialaudioconfig.dita b/dita/RTC/API/class_cloudspatialaudioconfig.dita index 50c88ed353a..ae52362bcbf 100644 --- a/dita/RTC/API/class_cloudspatialaudioconfig.dita +++ b/dita/RTC/API/class_cloudspatialaudioconfig.dita @@ -2,12 +2,12 @@ <ph keyref="CloudSpatialAudioConfig"/> - 的配置。 + + 的配置。

    - public class CloudSpatialAudioConfig { + public class CloudSpatialAudioConfig { public static class SaeDeployRegion { public final static int SAE_DEPLOY_REGION_NONE = 0; public final static int SAE_DEPLOY_REGION_CN = 0x00000001; @@ -29,65 +29,63 @@ mDeployRegion = SaeDeployRegion.SAE_DEPLOY_REGION_CN; } } - __attribute__((visibility("default"))) @interface AgoraCloudSpatialAudioConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraCloudSpatialAudioConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @property(copy, nonatomic) NSString* _Nullable appId; @property(assign, nonatomic) NSUInteger deployRegion; @end - struct CloudSpatialAudioConfig { + struct CloudSpatialAudioConfig { agora::rtc::IRtcEngine* rtcEngine; ICloudSpatialAudioEventHandler* eventHandler; const char* appId; unsigned int deployRegion; CloudSpatialAudioConfig() : rtcEngine(NULL), eventHandler(NULL), appId(NULL), deployRegion(SAE_DEPLOY_REGION_CN) {} }; - - public struct CloudSpatialAudioConfig { + + public struct CloudSpatialAudioConfig { public IAgoraRtcEngine rtcEngine; public IAgoraRtcCloudSpatialAudioEngineEventHandler eventHandler; public string appId; public uint deployRegion; }; - -

    + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - mRtcEngine - - - - eventHandler - mEventHandler - 的事件句柄。详见 - - - appId - mAppId - 声网为 app 开发者签发的 App ID。该参数需要与初始化 时设置的 App ID 一致。 - - - deployRegion - mDeployRegion - 声网空间音效服务器的访问区域。支持如下区域: - - -
      -
    • : (默认)中国大陆。
    • -
    • : 北美区域。
    • -
    • : 欧洲区域。
    • -
    • : 除中国以外的亚洲区域。
    • -
    -

    指定访问区域后,使用空间音效的 app 会连接指定区域内的声网空间音效服务器。

    -
    -
    -
    + + rtcEngine + mRtcEngine + + + + eventHandler + mEventHandler + 的事件句柄。详见 + + + appId + mAppId + 声网为 app 开发者签发的 App ID。该参数需要与初始化 时设置的 App ID + 一致。 + + + deployRegion + mDeployRegion + 声网空间音效服务器的访问区域。支持如下区域:
      +
    • : (默认)中国大陆。
    • +
    • : 北美区域。
    • +
    • : 欧洲区域。
    • +
    • : 除中国以外的亚洲区域。
    • +
    +

    指定访问区域后,使用空间音效的 app 会连接指定区域内的声网空间音效服务器。

    +
    +
    + +
    diff --git a/dita/RTC/API/class_colorenhanceoptions.dita b/dita/RTC/API/class_colorenhanceoptions.dita index b2cf89ba6de..3ef608e2d35 100644 --- a/dita/RTC/API/class_colorenhanceoptions.dita +++ b/dita/RTC/API/class_colorenhanceoptions.dita @@ -1,19 +1,24 @@ - <ph keyref="ColorEnhanceOptions"/> - 色彩增强选项。 + + <ph keyref="ColorEnhanceOptions"/> + + + 色彩增强选项。 +

    - - -

    + + + +

    - - - - public class ColorEnhanceOptions + + + + public class ColorEnhanceOptions { public ColorEnhanceOptions() { @@ -28,9 +33,9 @@ public float strengthLevel { set; get; } public float skinProtectLevel { set; get; } }; - - - class ColorEnhanceOptions { + + + class ColorEnhanceOptions { final double strengthLevel; final double skinProtectLevel; @@ -42,21 +47,27 @@ _$ColorEnhanceOptionsFromJson(json); 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 - 色彩增强程度。取值范围为 [0.0,1.0]。0.0 为默认值,表示不对视频进行色彩增强。取值越大,色彩增强的程度越大。 - - - skinProtectLevel - 肤色保护程度。取值范围为 [0.0,1.0]。0.0 表示不对肤色进行保护。取值越大,肤色保护的程度越大。默认值为 1.0。色彩增强程度较大时,人像肤色会明显失真,你需要设置肤色保护程度;肤色保护程度较大时,色彩增强效果会略微降低。因此,为获取最佳的色彩增强效果,声网建议你调节 strengthLevelskinProtectLevel 以获取最合适的取值。 - -
    + + strengthLevel + 色彩增强程度。取值范围为 [0.0,1.0]。0.0 + 为默认值,表示不对视频进行色彩增强。取值越大,色彩增强的程度越大。 + + + skinProtectLevel + 肤色保护程度。取值范围为 [0.0,1.0]。0.0 表示不对肤色进行保护。取值越大,肤色保护的程度越大。默认值为 + 1.0。色彩增强程度较大时,人像肤色会明显失真,你需要设置肤色保护程度;肤色保护程度较大时,色彩增强效果会略微降低。因此,为获取最佳的色彩增强效果,声网建议你调节 + strengthLevel 和 + skinProtectLevel 以获取最合适的取值。 + + +
    diff --git a/dita/RTC/API/class_contentinspectconfig.dita b/dita/RTC/API/class_contentinspectconfig.dita index 43e0a0dfefa..08df536a319 100644 --- a/dita/RTC/API/class_contentinspectconfig.dita +++ b/dita/RTC/API/class_contentinspectconfig.dita @@ -2,7 +2,7 @@ - <ph keyref="ContentInspectConfig" /> + <ph keyref="ContentInspectConfig"/> 视频截图上传配置。 @@ -22,8 +22,8 @@ ContentInspectConfig() : extraInfo(NULL), moduleCount(0) {} }; - - + + class ContentInspectConfig { final String? extraInfo; @@ -41,10 +41,10 @@ }

    -
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> @@ -57,21 +57,14 @@ modules -

    - 功能模块。详见 - - 。 -

    +

    功能模块。详见

    一个功能模块最多只能配置一个实例。目前仅支持截图上传功能。
    moduleCount - - 功能模块数,即配置的 - - 实例的数量。必须与 modules 中配置的实例个数一致。最大值为 32。 - + 功能模块数,即配置的 实例的数量。必须与 + modules 中配置的实例个数一致。最大值为 32。
    diff --git a/dita/RTC/API/class_contentinspectmodule.dita b/dita/RTC/API/class_contentinspectmodule.dita index 3918b9569ea..24633da5578 100644 --- a/dita/RTC/API/class_contentinspectmodule.dita +++ b/dita/RTC/API/class_contentinspectmodule.dita @@ -2,13 +2,12 @@ <ph keyref="ContentInspectModule"/> - + 结构体,用于配置视频截图上传的频率。

    - public static class ContentInspectModule { + public static class ContentInspectModule { public int type; public int frequency; public ContentInspectModule() { @@ -16,25 +15,26 @@ frequency = 0; } } - __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject + __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject @property (assign, nonatomic) AgoraContentInspectType type; @property (assign, nonatomic) NSInteger frequency; @end - struct ContentInspectModule { + struct ContentInspectModule { CONTENT_INSPECT_TYPE type; unsigned int frequency; }; - - public struct ContentInspectModule { + + public struct ContentInspectModule { public int type; public int interval; }; - -

    + + +

    - public static class ContentInspectModule { + public static class ContentInspectModule { public int type; public int interval; public ContentInspectModule() { @@ -43,16 +43,16 @@ } } - NS_SWIFT_NAME(AgoraContentInspectModule) __attribute__((visibility("default"))) @interface AgoraContentInspectModule : NSObject + NS_SWIFT_NAME(AgoraContentInspectModule) __attribute__((visibility("default"))) @interface AgoraContentInspectModule : NSObject @property(assign, nonatomic) AgoraContentInspectType type NS_SWIFT_NAME(type); @property(assign, nonatomic) NSInteger interval NS_SWIFT_NAME(interval); @end - public struct ContentInspectModule { + public struct ContentInspectModule { public int type; public int interval; }; - struct ContentInspectModule { + struct ContentInspectModule { ContentInspectType type; int interval; @@ -62,10 +62,10 @@ } }; - - - - class ContentInspectModule { + + + + class ContentInspectModule { final int type; final int interval; @@ -76,38 +76,37 @@ _$ContentInspectModuleFromJson(json); Map<String, dynamic> toJson() => _$ContentInspectModuleToJson(this); - }

    + }
    +

    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - 功能模块的类型,详见 - -

    功能模块的类型,详见 - -

      -
    • 0: (默认)该功能模块无实际功能。请不要设为该值。
    • -
    • 2: 截图。SDK 会对视频流进行截图并上传。
    • -

    -
    -
    - - interval - 视频截图上传的间隔,单位为秒,取值必须大于 0。默认值为 0,表示不进行截图上传。推荐值为 10 秒,你也可以根据业务需求自行调整。 - -
    + + type + 功能模块的类型,详见 + +

    功能模块的类型,详见

      +
    • 0: (默认)该功能模块无实际功能。请不要设为该值。
    • +
    • 2: 截图。SDK 会对视频流进行截图并上传。
    • +

    +
    +
    + + interval + 视频截图上传的间隔,单位为秒,取值必须大于 0。默认值为 0,表示不进行截图上传。推荐值为 10 秒,你也可以根据业务需求自行调整。 + + +
    diff --git a/dita/RTC/API/class_contentinspecttype.dita b/dita/RTC/API/class_contentinspecttype.dita index 2d44bb78876..03206d758a0 100644 --- a/dita/RTC/API/class_contentinspecttype.dita +++ b/dita/RTC/API/class_contentinspecttype.dita @@ -6,24 +6,27 @@

    - typedef int ContentInspectType; + typedef int ContentInspectType; const ContentInspectType kContentInspectInvalid = 0; -const ContentInspectType kContentInspectSupervise = 2;

    +const ContentInspectType kContentInspectSupervise = 2; +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - kContentInspectInvalid - 0: (默认)该功能模块无实际功能。请不要将 type 设为该值。 - - - kContentInspectSupervise - 2: 截图。SDK 会对视频流进行截图并上传。 - -
    + + kContentInspectInvalid + 0: (默认)该功能模块无实际功能。请不要将 type 设为该值。 + + + kContentInspectSupervise + 2: 截图。SDK 会对视频流进行截图并上传。 + + +
    diff --git a/dita/RTC/API/class_datastreamconfig.dita b/dita/RTC/API/class_datastreamconfig.dita index fc46d911ea3..8aad79bd6e1 100644 --- a/dita/RTC/API/class_datastreamconfig.dita +++ b/dita/RTC/API/class_datastreamconfig.dita @@ -6,7 +6,7 @@

    - public class DataStreamConfig + public class DataStreamConfig { public DataStreamConfig() { @@ -18,31 +18,32 @@ } public bool syncWithAudio { set; get; } public bool ordered { set; get; } -

    + +

    - struct DataStreamConfig { + struct DataStreamConfig { bool syncWithAudio; bool ordered; };

    - public class DataStreamConfig { + public class DataStreamConfig { public boolean syncWithAudio = false; public boolean ordered = false; } - __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject @property (assign, nonatomic) BOOL ordered; @property (assign, nonatomic) BOOL syncWithAudio; @end - struct DataStreamConfig { + struct DataStreamConfig { bool syncWithAudio; bool ordered; }; - export interface DataStreamConfig { + export interface DataStreamConfig { syncWithAudio: boolean; ordered: boolean; } - - class DataStreamConfig { + + class DataStreamConfig { bool syncWithAudio; bool ordered; @@ -56,91 +57,79 @@ _$DataStreamConfigFromJson(json); Map<String, dynamic> toJson() => _$DataStreamConfigToJson(this); -}

    +} +

    下表展示不同的参数设置下,SDK 的行为:

    - - - - - - - syncWithAudio - ordered - SDK 行为 - - - - - - - 接收端接收到数据包后,SDK 立刻触发 回调。 - - - - - 如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 - 回调。如果数据包的延迟超出了音频延迟,SDK - 会在接收到该数据包时立刻触发 - 回调;此情况会造成音频包和数据包的不同步。 - - - - - 如果数据包的延迟在 5 秒以内,SDK 会修正数据包的乱序问题。如果数据包的延迟超出 5 秒,SDK - 会丢弃该数据包。 - - - - - 如果数据包的延迟在音频延迟的范围内,SDK 会修正数据包的乱序问题。如果数据包的延迟超出音频延迟,SDK - 会丢弃该数据包。 - - - -
    + + + + + + + syncWithAudio + ordered + 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 - -

    是否与本地发送的音频流同步。 - - - - -

      -
    • : 数据流与音频流同步。
    • -
    • : 数据流与音频流不同步。
    • -
    设置为与音频同步后,如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 回调。 当需要数据包立刻到达接收端时,不能将该参数设置为 。声网建议你仅在需要实现特殊场景,例如歌词同步时,设置为与音频同步。

    -
    -
    - - ordered - -

    是否保证接收到的数据按发送的顺序排列。 - - - - -

      -
    • : 保证 SDK 按照发送方发送的顺序输出数据包。
    • -
    • : 不保证 SDK 按照发送方发送的顺序输出数据包。
    • -
    当需要数据包立刻到达接收端时,不能将该参数设置为

    -
    -
    -
    + + syncWithAudio + +

    是否与本地发送的音频流同步。

      +
    • : 数据流与音频流同步。
    • +
    • : 数据流与音频流不同步。
    • +
    设置为与音频同步后,如果数据包的延迟在音频延迟的范围内,SDK 会在播放音频的同时触发与该音频包同步的 回调。 当需要数据包立刻到达接收端时,不能将该参数设置为 。声网建议你仅在需要实现特殊场景,例如歌词同步时,设置为与音频同步。

    +
    +
    + + ordered + +

    是否保证接收到的数据按发送的顺序排列。

      +
    • : 保证 SDK + 按照发送方发送的顺序输出数据包。
    • +
    • : 不保证 SDK + 按照发送方发送的顺序输出数据包。
    • +
    当需要数据包立刻到达接收端时,不能将该参数设置为

    +
    +
    + +
    diff --git a/dita/RTC/API/class_device.dita b/dita/RTC/API/class_device.dita index 0a28607c532..523cc88a15a 100644 --- a/dita/RTC/API/class_device.dita +++ b/dita/RTC/API/class_device.dita @@ -6,28 +6,31 @@

    - - - - export interface Device { + + + + export interface Device { deviceId: string; deviceName: string; } - - -

    + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - deviceId - 设备 ID。 - - - deviceName - 设备名称。 - -
    + + deviceId + 设备 ID。 + + + deviceName + 设备名称。 + + +
    diff --git a/dita/RTC/API/class_deviceinfo.dita b/dita/RTC/API/class_deviceinfo.dita index ed0253d94cb..5760aee5d1a 100644 --- a/dita/RTC/API/class_deviceinfo.dita +++ b/dita/RTC/API/class_deviceinfo.dita @@ -6,7 +6,7 @@

    - public class DeviceInfo { + public class DeviceInfo { public boolean isLowLatencyAudioSupported; @CalledByNative @@ -14,45 +14,45 @@ this.isLowLatencyAudioSupported = isLowLatencyAudioSupported; } } - - struct DeviceInfo { + + struct DeviceInfo { bool isLowLatencyAudioSupported; DeviceInfo() : isLowLatencyAudioSupported(false) {} }; - - public struct DeviceInfo + + public struct DeviceInfo { public string deviceName { set; get; } public string deviceId { set; get; } } - -

    + + +

    - 该类仅适用于 Android 平台。
    + 该类仅适用于 Android 平台。 +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - isLowLatencyAudioSupported - 是否支持极低延时音频采集和播放: - - - -
      -
    • : 支持
    • -
    • : 不支持
    • -
    -
    - - deviceName - 设备名称。 - - - deviceId - 设备 ID。 - -
    + + isLowLatencyAudioSupported + 是否支持极低延时音频采集和播放:
      +
    • : 支持
    • +
    • : 不支持
    • +
    +
    + + deviceName + 设备名称。 + + + deviceId + 设备 ID。 + + +
    diff --git a/dita/RTC/API/class_downlinknetworkinfo.dita b/dita/RTC/API/class_downlinknetworkinfo.dita index 25534be79e0..af0b7883fdf 100644 --- a/dita/RTC/API/class_downlinknetworkinfo.dita +++ b/dita/RTC/API/class_downlinknetworkinfo.dita @@ -6,33 +6,36 @@

    - public static class DownlinkNetworkInfo { + public static class DownlinkNetworkInfo { public int lastmile_buffer_delay_time_ms; public int bandwidth_estimation_bps; }; - __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject @property(nonatomic, assign) int lastmileBufferDelayTimeMs; @property(nonatomic, assign) int bandwidthEstimationBps; @end - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - lastmile_buffer_delay_time_ms - lastmileBufferDelayTimeMs - Lastmile 缓冲的网络延迟 (ms)。 - - - bandwidth_estimation_bps - bandwidthEstimationBps - 网络带宽预估码率 (bps)。 - -
    + + lastmile_buffer_delay_time_ms + lastmileBufferDelayTimeMs + Lastmile 缓冲的网络延迟 (ms)。 + + + bandwidth_estimation_bps + bandwidthEstimationBps + 网络带宽预估码率 (bps)。 + + +
    diff --git a/dita/RTC/API/class_echotestconfiguration.dita b/dita/RTC/API/class_echotestconfiguration.dita index fc60ca8ea9d..9089e9bec56 100644 --- a/dita/RTC/API/class_echotestconfiguration.dita +++ b/dita/RTC/API/class_echotestconfiguration.dita @@ -6,9 +6,9 @@

    - - - struct EchoTestConfiguration { + + + struct EchoTestConfiguration { view_t view; bool enableAudio; bool enableVideo; @@ -17,16 +17,16 @@ EchoTestConfiguration() : view(NULL), enableAudio(true), enableVideo(true), token(NULL), channelId(NULL) {} EchoTestConfiguration(view_t v, bool ea, bool ev, const char* t, const char* c) : view(v), enableAudio(ea), enableVideo(ev), token(t), channelId(c) {} }; - - public struct EchoTestConfiguration { + + public struct EchoTestConfiguration { public IntPtr view; public bool enableAudio; public bool enableVideo; public string token; public string channelId; }; - - class EchoTestConfiguration { + + class EchoTestConfiguration { @JsonKey(includeIfNull: false) bool? enableAudio; @@ -50,51 +50,47 @@ _$EchoTestConfigurationFromJson(json); 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 - - - enableAudio - 是否开启音频设备: - - -
      -
    • : (默认) 开启音频设备。如需测试音频设备,请设为
    • -
    • : 关闭音频设备。
    • -
    -
    - - enableVideo - 是否开启视频设备: - - -
      -
    • : (默认) 开启音频设备。如需测试视频设备,请设为
    • -
    • : 关闭视频设备。
    • -
    -
    - - token - 用于保证音视频通话回路测试安全性的 Token。如果你在声网控制台未启用 App 证书,则不需要向该参数传值; - 如果你在声网控制台已启用 App 证书,则必须向该参数传入 Token,且在你生成 Token 时使用的 uid 必须为 0xFFFFFFFF, - 使用的频道名必须为标识每个音视频通话回路测试的频道名。服务端生成 Token 的方式请参考使用 Token 鉴权 - - - channelId - 标识每个音视频通话回路测试的频道名。为保证回路测试功能正常,同一个项目(App ID) 的各终端用户在不同设备上做音视频通话回路测试时,传入的标识每个回路测试的频道名不能相同。 - -
    + + view + 用于渲染本地用户视频的视图。该参数仅适用于测试视频设备的场景,即该结构体中 enableVideo + + + enableAudio + 是否开启音频设备:
      +
    • : (默认) 开启音频设备。如需测试音频设备,请设为
    • +
    • : 关闭音频设备。
    • +
    +
    + + enableVideo + 是否开启视频设备:
      +
    • : (默认) 开启音频设备。如需测试视频设备,请设为
    • +
    • : 关闭视频设备。
    • +
    +
    + + token + 用于保证音视频通话回路测试安全性的 Token。如果你在声网控制台未启用 App 证书,则不需要向该参数传值; 如果你在声网控制台已启用 App + 证书,则必须向该参数传入 Token,且在你生成 Token 时使用的 uid 必须为 0xFFFFFFFF, + 使用的频道名必须为标识每个音视频通话回路测试的频道名。服务端生成 Token 的方式请参考使用 + Token 鉴权 + + + channelId + 标识每个音视频通话回路测试的频道名。为保证回路测试功能正常,同一个项目(App ID) + 的各终端用户在不同设备上做音视频通话回路测试时,传入的标识每个回路测试的频道名不能相同。 + + +
    diff --git a/dita/RTC/API/class_encodedaudioframeinfo.dita b/dita/RTC/API/class_encodedaudioframeinfo.dita index e470289cbfe..4fc10051f78 100644 --- a/dita/RTC/API/class_encodedaudioframeinfo.dita +++ b/dita/RTC/API/class_encodedaudioframeinfo.dita @@ -6,14 +6,14 @@

    - - __attribute__((visibility("default"))) @interface AgoraEncodedAudioFrameInfo: NSObject + + __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; @end - struct EncodedAudioFrameInfo { + struct EncodedAudioFrameInfo { EncodedAudioFrameInfo() : codec(AUDIO_CODEC_AACLC), sampleRateHz(0), @@ -31,8 +31,8 @@ int numberOfChannels; EncodedAudioFrameAdvancedSettings advancedSettings; }; - - public class EncodedAudioFrameInfo + + public class EncodedAudioFrameInfo { public EncodedAudioFrameInfo() { @@ -57,37 +57,38 @@ public int numberOfChannels { set; get; } public EncodedAudioFrameAdvancedSettings advancedSettings { set; get; } } - -

    + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - codec - codecType - 音频编码规格: - - - sampleRateHz - samplesPerSec - 音频采样率 (Hz)。 - - - samplesPerChannel - 每个声道的音频采样数。 - - - numberOfChannels - channels - 声道数。 - - - advancedSettings - 该功能暂不支持。 - -
    + + codec + codecType + 音频编码规格: + + + sampleRateHz + samplesPerSec + 音频采样率 (Hz)。 + + + samplesPerChannel + 每个声道的音频采样数。 + + + numberOfChannels + channels + 声道数。 + + + advancedSettings + 该功能暂不支持。 + + +
    diff --git a/dita/RTC/API/class_encodedvideoframeinfo.dita b/dita/RTC/API/class_encodedvideoframeinfo.dita index 55fb6d03725..371c0d413a3 100644 --- a/dita/RTC/API/class_encodedvideoframeinfo.dita +++ b/dita/RTC/API/class_encodedvideoframeinfo.dita @@ -6,7 +6,7 @@

    - public class EncodedVideoFrameInfo + public class EncodedVideoFrameInfo { public EncodedVideoFrameInfo() { @@ -49,7 +49,7 @@ public VIDEO_STREAM_TYPE streamType { set; get; } }

    - public class EncodedVideoFrameInfo { + public class EncodedVideoFrameInfo { public int codecType; public int width; public int height; @@ -135,8 +135,8 @@ } } - - struct EncodedVideoFrameInfo { + + struct EncodedVideoFrameInfo { EncodedVideoFrameInfo() : codecType(VIDEO_CODEC_H264), width(0), @@ -170,93 +170,78 @@ uid_t uid; VIDEO_STREAM_TYPE streamType; }; -

    + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - codecType - 视频编码类型,详见 。默认值为 (2) - 视频编解码类型: - - - - - -
      -
    • 1:VP8。
    • -
    • 2:(默认)H264。
    • -
    • 5:VP9。
    • -
    -
    - - width - 视频帧的宽度 (px)。 - - - height - 视频帧的高度 (px)。 - - - framesPerSecond - -

    每秒的视频帧数。

    -

    当该参数不为 0 时,你可以用它计算外部编码视频帧的 Unix 时间戳。

    -
    -
    - - frameType - 视频帧的类型,详见 - 视频帧的类型: - - -
      -
    • 0:(默认),空白帧。
    • -
    • 3:,关键帧。
    • -
    • 4:,Delta 帧。
    • -
    • 5:,B 帧。
    • -
    • 6:,未知。
    • -
    -
    - - rotation - 视频帧的旋转信息,详见 - 视频帧的旋转信息,取值如下: - - -
      -
    • 0:(默认)不旋转。
    • -
    • 90:顺时针旋转 90 度。
    • -
    • 180:顺时针旋转 180 度。
    • -
    • 270:顺时针旋转 270 度。
    • -
    -
    - - trackId - 预留参数。 - 轨道 ID。适用于频道中有多个视频轨道的场景。 - - - renderTimeMs - 渲染外部编码视频帧的的 Unix 时间戳 (ms)。 - - - uid - 推送外部编码视频帧的用户 ID。 - - - streamType - 视频流类型。 - -
    + + codecType + 视频编码类型,详见 。默认值为 (2) + 视频编解码类型:
      +
    • 1:VP8。
    • +
    • 2:(默认)H264。
    • +
    • 5:VP9。
    • +
    +
    + + width + 视频帧的宽度 (px)。 + + + height + 视频帧的高度 (px)。 + + + framesPerSecond + +

    每秒的视频帧数。

    +

    当该参数不为 0 时,你可以用它计算外部编码视频帧的 Unix 时间戳。

    +
    +
    + + frameType + 视频帧的类型,详见 + 视频帧的类型:
      +
    • 0:(默认),空白帧。
    • +
    • 3:,关键帧。
    • +
    • 4:,Delta 帧。
    • +
    • 5:,B 帧。
    • +
    • 6:,未知。
    • +
    +
    + + rotation + 视频帧的旋转信息,详见 + 视频帧的旋转信息,取值如下:
      +
    • 0:(默认)不旋转。
    • +
    • 90:顺时针旋转 90 度。
    • +
    • 180:顺时针旋转 180 度。
    • +
    • 270:顺时针旋转 270 度。
    • +
    +
    +
    + + trackId + 预留参数。 + 轨道 ID。适用于频道中有多个视频轨道的场景。 + + + renderTimeMs + 渲染外部编码视频帧的的 Unix 时间戳 (ms)。 + + + uid + 推送外部编码视频帧的用户 ID。 + + + streamType + 视频流类型。 + + +
    diff --git a/dita/RTC/API/class_encryptionconfig.dita b/dita/RTC/API/class_encryptionconfig.dita index 95452ccda1f..7dd9d4d0cf8 100644 --- a/dita/RTC/API/class_encryptionconfig.dita +++ b/dita/RTC/API/class_encryptionconfig.dita @@ -6,7 +6,7 @@

    - struct EncryptionConfig { + struct EncryptionConfig { ENCRYPTION_MODE encryptionMode; const char* encryptionKey; uint8_t encryptionKdfSalt[32]; @@ -42,7 +42,7 @@ return "aes-128-gcm-2"; } }; - public class EncryptionConfig + public class EncryptionConfig { public EncryptionConfig() { @@ -66,9 +66,10 @@ get { return encryptionKdfSalt32; } } - }

    + } +

    - struct EncryptionConfig { + struct EncryptionConfig { ENCRYPTION_MODE encryptionMode; const char* encryptionKey; uint8_t encryptionKdfSalt[32]; @@ -103,7 +104,7 @@ return "aes-128-gcm-2"; } }; - public class EncryptionConfig + public class EncryptionConfig { public EncryptionConfig() { @@ -129,9 +130,10 @@ get { return encryptionKdfSalt32; } } - }

    + } +

    - public class EncryptionConfig { + public class EncryptionConfig { public enum EncryptionMode { AES_128_XTS(1), AES_128_ECB(2), @@ -152,18 +154,18 @@ return this.value; } } - __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject @property (assign, nonatomic) AgoraEncryptionMode encryptionMode; @property (copy, nonatomic) NSString * _Nullable encryptionKey; @property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt; @end - export interface EncryptionConfig { + export interface EncryptionConfig { encryptionMode: ENCRYPTION_MODE; encryptionKey: string; } - - class EncryptionConfig { + + class EncryptionConfig { @JsonKey(includeIfNull: false) EncryptionMode? encryptionMode; @@ -184,43 +186,45 @@ _$EncryptionConfigFromJson(json); 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 - -

    内置加密模式。详见 。声网推荐使用 加密模式。这两种模式支持使用盐,安全性更高。

    -
    -
    - - encryptionKey - -

    内置加密密钥,字符串类型。

    - 如果未指定该参数或将该参数设置为 ,则无法启用内置加密,且 SDK 会返回错误码 -2
    -
    - - encryptionKdfSalt - -
    - -
    自从
    -
    v3.4.5
    -
    -
    -

    盐,长度为 32 字节。声网推荐你在服务端使用 OpenSSL 生成盐,详见《媒体流加密》。

    - 只有在 加密模式下,该参数才生效。此时,需确保填入该参数的值不全为 0 -
    -
    -
    + + encryptionMode + +

    内置加密模式。详见 。声网推荐使用 + 加密模式。这两种模式支持使用盐,安全性更高。

    +
    +
    + + encryptionKey + +

    内置加密密钥,字符串类型。

    + 如果未指定该参数或将该参数设置为 ,则无法启用内置加密,且 + SDK 会返回错误码 -2 +
    +
    + + encryptionKdfSalt + +
    + +
    自从
    +
    v3.4.5
    +
    +
    +

    盐,长度为 32 字节。声网推荐你在服务端使用 OpenSSL 生成盐,详见《媒体流加密》。

    + 只有在 加密模式下,该参数才生效。此时,需确保填入该参数的值不全为 + 0 +
    +
    + +
    diff --git a/dita/RTC/API/class_externalvideoframe.dita b/dita/RTC/API/class_externalvideoframe.dita index b12918234d4..cb4abbbb3a5 100644 --- a/dita/RTC/API/class_externalvideoframe.dita +++ b/dita/RTC/API/class_externalvideoframe.dita @@ -6,7 +6,7 @@

    - public class AgoraVideoFrame { + public class AgoraVideoFrame { public static final int FORMAT_NONE = -1; public static final int FORMAT_TEXTURE_2D = 10; public static final int FORMAT_TEXTURE_OES = 11; @@ -34,7 +34,7 @@ public int cropBottom; public int rotation; } - __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject @property(assign, nonatomic) NSInteger format; @property(assign, nonatomic) CMTime time; @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead"); @@ -47,7 +47,7 @@ @property(assign, nonatomic) int cropBottom; @property(assign, nonatomic) int rotation; @end - struct ExternalVideoFrame { + struct ExternalVideoFrame { enum VIDEO_BUFFER_TYPE { VIDEO_BUFFER_RAW_DATA = 1, @@ -77,7 +77,7 @@ int rotation; long long timestamp; }; - public class ExternalVideoFrame + public class ExternalVideoFrame { public ExternalVideoFrame() { @@ -112,145 +112,136 @@ public int rotation { set; get; } public long timestamp { set; get; } } - - -

    + + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - -

    视频类型。详见

    -
    -
    - - format - 像素格式。详见 - 传入的视频帧的格式,必须指定为下面的某一个值: - - -
      -
    • 1: I420。
    • -
    • 2: BGRA。
    • -
    • 3: NV21。
    • -
    • 4: RGBA。
    • -
    • 5: IMC2。
    • -
    • 7: ARGB。
    • -
    • 8: NV12。
    • -
    • 12: iOS 纹理 (CVPixelBufferRef)。
    • -
    - 视频数据的格式: - - -
      -
    • 10:TEXTURE_2D。
    • -
    • 11:TEXTURE_OES,通常摄像头采集的数据为这种格式。
    • -
    • 1:I420。
    • -
    • 3:NV21。
    • -
    • 4:RGBA。
    • -
    -
    - - buffer - buf - dataBuf - 视频 buffer。 - 该参数仅适用于非 Texture 格式的视频数据。 - - - textureBuf - iOS 纹理的 Buffer。 - - - stride - 传入视频帧的行间距,单位为像素而不是字节。对于 Texture,该值指的是 Texture 的宽度。 - - -

    -

    - -
    弃用:
    -
    strideInPixels 代替。
    -
    -
    -

    -
    -
    - - strideInPixels - 该帧的行跨度,即相邻两行视频帧之间的像素点数。 - - - -
      -
    • 该参数单位为像素,不是字节数。
    • -
    • 如果视频为 Texture 格式,则将该参数设为 Texture 的宽度。
    • -
    • 如果视频帧格式设为 12,则不使用该字段。
    • -
    -
    - - height - 传入视频帧的高度。 - - - textureID - 该帧的 Texture ID。该参数仅适用于 Texture 格式的视频数据。 - - - syncMode - 设置是否开启同步模式,开启后 SDK 会在 Texture 处理时进行等待。该参数仅适用于 Texture 格式的视频数据。 - -
      -
    • :开启同步模式。
    • -
    • :不开启同步模式。
    • -
    -
    - - transform - Texture 帧额外的转换。该参数仅适用于 Texture 格式的视频数据。 - - - eglContext11 - EGLContext11。该参数仅适用于 Texture 格式的视频数据。 - - - eglContext14 - EGLContext14。该参数仅适用于 Texture 格式的视频数据。 - - - cropLeft - 原始数据相关字段。指定左边裁剪掉的像素数量。默认为 0。 - 该参数仅适用于非 Texture 格式的视频数据。 - - - cropTop - 原始数据相关字段。指定顶边裁剪掉的像素数量。默认为 0。 - 该参数仅适用于非 Texture 格式的视频数据。 - - - cropRight - 原始数据相关字段。指定右边裁剪掉的像素数量。默认为 0。 - 该参数仅适用于非 Texture 格式的视频数据。 - - - cropBottom - 原始数据相关字段。指定底边裁剪掉的像素数量。默认为 0。 - 该参数仅适用于非 Texture 格式的视频数据。 - - - rotation - 原始数据相关字段。指定是否对传入的视频组做顺时针旋转操作,可选值为 0, 90, 180, 270。默认为 0。 - - - timestamp - time - 传入的视频帧的时间戳,以毫秒为单位。不正确的时间戳会导致丢帧或者音视频不同步。 - -
    + + type + +

    视频类型。详见

    +
    +
    + + format + 像素格式。详见 + 传入的视频帧的格式,必须指定为下面的某一个值:
      +
    • 1: I420。
    • +
    • 2: BGRA。
    • +
    • 3: NV21。
    • +
    • 4: RGBA。
    • +
    • 5: IMC2。
    • +
    • 7: ARGB。
    • +
    • 8: NV12。
    • +
    • 12: iOS 纹理 (CVPixelBufferRef)。
    • +
    +
    + 视频数据的格式:
      +
    • 10:TEXTURE_2D。
    • +
    • 11:TEXTURE_OES,通常摄像头采集的数据为这种格式。
    • +
    • 1:I420。
    • +
    • 3:NV21。
    • +
    • 4:RGBA。
    • +
    +
    +
    + + buffer + buf + dataBuf + 视频 buffer。 + 该参数仅适用于非 Texture 格式的视频数据。 + + + textureBuf + iOS 纹理的 Buffer。 + + + stride + 传入视频帧的行间距,单位为像素而不是字节。对于 Texture,该值指的是 Texture 的宽度。

    +

    + +
    弃用:
    +
    strideInPixels 代替。
    +
    +
    +

    +
    +
    + + strideInPixels + 该帧的行跨度,即相邻两行视频帧之间的像素点数。 +
      +
    • 该参数单位为像素,不是字节数。
    • +
    • 如果视频为 Texture 格式,则将该参数设为 Texture 的宽度。
    • +
    • 如果视频帧格式设为 12,则不使用该字段。
    • +
    +
    +
    + + height + 传入视频帧的高度。 + + + textureID + 该帧的 Texture ID。该参数仅适用于 Texture 格式的视频数据。 + + + syncMode + 设置是否开启同步模式,开启后 SDK 会在 Texture 处理时进行等待。该参数仅适用于 Texture 格式的视频数据。
      +
    • :开启同步模式。
    • +
    • :不开启同步模式。
    • +
    +
    + + transform + Texture 帧额外的转换。该参数仅适用于 Texture 格式的视频数据。 + + + eglContext11 + EGLContext11。该参数仅适用于 Texture 格式的视频数据。 + + + eglContext14 + EGLContext14。该参数仅适用于 Texture 格式的视频数据。 + + + cropLeft + 原始数据相关字段。指定左边裁剪掉的像素数量。默认为 0。 + 该参数仅适用于非 Texture 格式的视频数据。 + + + cropTop + 原始数据相关字段。指定顶边裁剪掉的像素数量。默认为 0。 + 该参数仅适用于非 Texture 格式的视频数据。 + + + cropRight + 原始数据相关字段。指定右边裁剪掉的像素数量。默认为 0。 + 该参数仅适用于非 Texture 格式的视频数据。 + + + cropBottom + 原始数据相关字段。指定底边裁剪掉的像素数量。默认为 0。 + 该参数仅适用于非 Texture 格式的视频数据。 + + + rotation + 原始数据相关字段。指定是否对传入的视频组做顺时针旋转操作,可选值为 0, 90, 180, 270。默认为 0。 + + + timestamp + time + 传入的视频帧的时间戳,以毫秒为单位。不正确的时间戳会导致丢帧或者音视频不同步。 + + +
    diff --git a/dita/RTC/API/class_iaudiodevicecollection.dita b/dita/RTC/API/class_iaudiodevicecollection.dita index 19302fada4b..9709c132bcd 100644 --- a/dita/RTC/API/class_iaudiodevicecollection.dita +++ b/dita/RTC/API/class_iaudiodevicecollection.dita @@ -2,5 +2,6 @@ <ph keyref="IAudioDeviceCollection"/> - IAudioDeviceCollection 类。你可以通过该接口类获取音频设备相关的信息。 + IAudioDeviceCollection + 类。你可以通过该接口类获取音频设备相关的信息。 diff --git a/dita/RTC/API/class_iaudiodevicemanager.dita b/dita/RTC/API/class_iaudiodevicemanager.dita index 04627dd5189..8ed4b0e30dd 100644 --- a/dita/RTC/API/class_iaudiodevicemanager.dita +++ b/dita/RTC/API/class_iaudiodevicemanager.dita @@ -5,7 +5,9 @@ 音频设备管理方法。
    -

    接口类提供用于测试音频设备的相关接口。你可以通过实例化 类来获取 接口。

    +

    接口类提供用于测试音频设备的相关接口。你可以通过实例化 类来获取 + 接口。

    diff --git a/dita/RTC/API/class_iaudioframeobserver.dita b/dita/RTC/API/class_iaudioframeobserver.dita index b18ea92432e..68e7265a5ff 100644 --- a/dita/RTC/API/class_iaudioframeobserver.dita +++ b/dita/RTC/API/class_iaudioframeobserver.dita @@ -6,7 +6,8 @@

    继承自

    -

    你可以调用 注册或取消注册 语音观测器。

    +

    你可以调用 注册或取消注册 语音观测器。

    diff --git a/dita/RTC/API/class_iaudioframeobserverbase.dita b/dita/RTC/API/class_iaudioframeobserverbase.dita index 8e2e1bea79d..d502c511a9d 100644 --- a/dita/RTC/API/class_iaudioframeobserverbase.dita +++ b/dita/RTC/API/class_iaudioframeobserverbase.dita @@ -5,7 +5,8 @@ 语音观测器。
    -

    你可以调用 注册或取消注册 语音观测器。

    +

    你可以调用 注册或取消注册 语音观测器。

    diff --git a/dita/RTC/API/class_iaudioplaybackdevicemanager.dita b/dita/RTC/API/class_iaudioplaybackdevicemanager.dita index b0c246936f9..8351ec07202 100644 --- a/dita/RTC/API/class_iaudioplaybackdevicemanager.dita +++ b/dita/RTC/API/class_iaudioplaybackdevicemanager.dita @@ -2,5 +2,6 @@ <ph keyref="IAudioPlaybackDeviceManager"/> - 类,用于关于音频播放设备。 + + 类,用于关于音频播放设备。 diff --git a/dita/RTC/API/class_iaudiorecordingdevicemanager.dita b/dita/RTC/API/class_iaudiorecordingdevicemanager.dita index 0a8f68c8f1b..4f2c40db590 100644 --- a/dita/RTC/API/class_iaudiorecordingdevicemanager.dita +++ b/dita/RTC/API/class_iaudiorecordingdevicemanager.dita @@ -2,5 +2,6 @@ <ph keyref="IAudioRecordingDeviceManager"/> - 类,用于关于音频采集设备。 + + 类,用于关于音频采集设备。 diff --git a/dita/RTC/API/class_ibasespatialaudioengine.dita b/dita/RTC/API/class_ibasespatialaudioengine.dita index 7f5b7d509da..4046318e891 100644 --- a/dita/RTC/API/class_ibasespatialaudioengine.dita +++ b/dita/RTC/API/class_ibasespatialaudioengine.dita @@ -2,10 +2,13 @@ <ph keyref="IBaseSpatialAudioEngine"/> - 该类包含 类共用的 API。 + 该类包含 类共用的 API。
    -

    类继承自

    +

    类继承自

    diff --git a/dita/RTC/API/class_ichannel.dita b/dita/RTC/API/class_ichannel.dita index 919aa7579af..8f4a6f03a19 100644 --- a/dita/RTC/API/class_ichannel.dita +++ b/dita/RTC/API/class_ichannel.dita @@ -4,6 +4,7 @@ <ph keyref="IChannel"/> 提供在频道中实现实时音视频功能的方法。 -
    调用 创建一个 对象。
    +
    调用 创建一个 对象。
    diff --git a/dita/RTC/API/class_ichanneleventhandler.dita b/dita/RTC/API/class_ichanneleventhandler.dita index 79ce4a05668..8f6a8f1b01f 100644 --- a/dita/RTC/API/class_ichanneleventhandler.dita +++ b/dita/RTC/API/class_ichanneleventhandler.dita @@ -2,7 +2,8 @@ <ph keyref="IChannelEventHandler"/> - 接口类用于 SDK 向 app 发送 的事件通知。 + 接口类用于 SDK 向 + app 发送 的事件通知。

    你可以通过 设置事件监听。

    diff --git a/dita/RTC/API/class_icloudspatialaudioengine.dita b/dita/RTC/API/class_icloudspatialaudioengine.dita index 2d867ca4752..7d0b86bd9b7 100644 --- a/dita/RTC/API/class_icloudspatialaudioengine.dita +++ b/dita/RTC/API/class_icloudspatialaudioengine.dita @@ -5,7 +5,9 @@ 该类通过声网空间音效服务器计算用户坐标,实现空间音效。
    -

    该类继承自 调用该类下其他 API 前,你需要调用 方法初始化该类。

    +

    该类继承自 调用该类下其他 + API 前,你需要调用 + 方法初始化该类。

    diff --git a/dita/RTC/API/class_ilocalspatialaudioengine.dita b/dita/RTC/API/class_ilocalspatialaudioengine.dita index f7b3ad52be2..d5aa9ee7c66 100644 --- a/dita/RTC/API/class_ilocalspatialaudioengine.dita +++ b/dita/RTC/API/class_ilocalspatialaudioengine.dita @@ -5,7 +5,9 @@ 该类通过 SDK 计算用户坐标,实现空间音效。
    -

    该类继承自 调用该类下其他 API 前,你需要调用 方法初始化该类。

    +

    该类继承自 调用该类下其他 + API 前,你需要调用 + 方法初始化该类。

    diff --git a/dita/RTC/API/class_imediafilterextensiondelegate.dita b/dita/RTC/API/class_imediafilterextensiondelegate.dita index f3ed725d152..6800239ac5f 100644 --- a/dita/RTC/API/class_imediafilterextensiondelegate.dita +++ b/dita/RTC/API/class_imediafilterextensiondelegate.dita @@ -6,23 +6,26 @@

    - - @protocol AgoraMediaFilterExtensionDelegate <NSObject> + + @protocol AgoraMediaFilterExtensionDelegate <NSObject> - (NSString * __nonnull)vendor; @end - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - vendor - 提供插件的服务商名称。 - -
    + + vendor + 提供插件的服务商名称。 + + +
    diff --git a/dita/RTC/API/class_imediarecorder.dita b/dita/RTC/API/class_imediarecorder.dita index ce27788a5a4..af064612b33 100644 --- a/dita/RTC/API/class_imediarecorder.dita +++ b/dita/RTC/API/class_imediarecorder.dita @@ -5,14 +5,11 @@ 用于在客户端录制音视频流。
    -

    该类支持录制以下内容: - - - -

      -
    • 本地麦克风采集且经 SDK 编码为 AAC 格式的音频。
    • -
    • 本地摄像头采集且经 SDK 编码的视频。
    • -

    - 通信场景下,如果频道内有 SDK 版本低于 3.0.0 的用户,该功能不可用。
    +

    该类支持录制以下内容:

      +
    • 本地麦克风采集且经 SDK 编码为 AAC 格式的音频。
    • +
    • 本地摄像头采集且经 SDK 编码的视频。
    • +

    + 通信场景下,如果频道内有 SDK 版本低于 3.0.0 的用户,该功能不可用。 +
    diff --git a/dita/RTC/API/class_imetadataobserver.dita b/dita/RTC/API/class_imetadataobserver.dita index d918c2b9876..abe555bd4b5 100644 --- a/dita/RTC/API/class_imetadataobserver.dita +++ b/dita/RTC/API/class_imetadataobserver.dita @@ -5,7 +5,8 @@ Metadata 观测器。
    -

    你可以调用 注册或取消注册 观测器。

    +

    你可以调用 注册或取消注册 观测器。

    diff --git a/dita/RTC/API/class_injectstreamconfig.dita b/dita/RTC/API/class_injectstreamconfig.dita index 42a9c21e781..448d8a17ceb 100644 --- a/dita/RTC/API/class_injectstreamconfig.dita +++ b/dita/RTC/API/class_injectstreamconfig.dita @@ -2,12 +2,11 @@ <ph keyref="InjectStreamConfig"/> - 输入外部音视频流的配置。 - + 输入外部音视频流的配置。

    - public class LiveInjectStreamConfig { + public class LiveInjectStreamConfig { public enum AudioSampleRateType { TYPE_32000(32000), @@ -34,7 +33,7 @@ audioChannels = 1; } } - __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject @property(assign, nonatomic) CGSize size; @property(assign, nonatomic) NSInteger videoGop; @@ -45,7 +44,7 @@ @property(assign, nonatomic) NSInteger audioChannels; + (AgoraLiveInjectStreamConfig *_Nonnull)defaultConfig; @end - struct InjectStreamConfig { + struct InjectStreamConfig { int width; int height; int videoGop; @@ -66,7 +65,7 @@ , audioChannels(1) {} }; - public class InjectStreamConfig + public class InjectStreamConfig { public InjectStreamConfig() { @@ -102,7 +101,7 @@ public int audioBitrate { set; get; } public int audioChannels { set; get; } } - export interface InjectStreamConfig { + export interface InjectStreamConfig { width: number; height: number; videoBitrate: number; @@ -112,8 +111,8 @@ audioBitrate: number; audioChannels: number; } - - class LiveInjectStreamConfig { + + class LiveInjectStreamConfig { @JsonKey(includeIfNull: false) int? width; @@ -154,67 +153,70 @@ _$LiveInjectStreamConfigFromJson(json); Map<String, dynamic> toJson() => _$LiveInjectStreamConfigToJson(this); -}

    +} +

    -
    + +
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - 外部视频流输入后的宽度。默认值为 0,即保留视频原始宽度。 - - - height - 外部视频流输入后的高度。默认值为 0,即保留视频原始高度。 - - - size - 外部视频流输入后的尺寸。 - - - videoGop - 外部视频流输入的 GOP(帧)。默认值为 30 帧。 - - - videoFramerate - 外部视频流输入的帧率(fps)。默认值为 15 fps。 - - - videoBitrate - -

    外部视频流输入的码率(Kbps)。默认设置为 400 Kbps。

    - 视频码率的设置与分辨率相关。如果设置的视频码率超出合理范围,SDK - 会按照合理区间自动设置码率。
    -
    - - audioSampleRate - -

    外部音频流输入的采样率。默认值为 48000 Hz。详见

    - 声网建议目前采用默认值,不要自行设置。
    -
    - - audioBitrate - -

    外部音频流输入的码率(Kbps)。默认值为 48 Kbps。

    - 声网建议目前采用默认值,不要自行设置。
    -
    - - audioChannels - -

    外部音频流输入后的频道数。 - -

      -
    • 1: 单声道(默认)
    • -
    • 2: 双声道
    • -

    - 声网建议目前采用默认值,不要自行设置。
    -
    -
    + + width + 外部视频流输入后的宽度。默认值为 0,即保留视频原始宽度。 + + + height + 外部视频流输入后的高度。默认值为 0,即保留视频原始高度。 + + + size + 外部视频流输入后的尺寸。 + + + videoGop + 外部视频流输入的 GOP(帧)。默认值为 30 帧。 + + + videoFramerate + 外部视频流输入的帧率(fps)。默认值为 15 fps。 + + + videoBitrate + +

    外部视频流输入的码率(Kbps)。默认设置为 400 Kbps。

    + 视频码率的设置与分辨率相关。如果设置的视频码率超出合理范围,SDK + 会按照合理区间自动设置码率。 +
    +
    + + audioSampleRate + +

    外部音频流输入的采样率。默认值为 48000 Hz。详见

    + 声网建议目前采用默认值,不要自行设置。 +
    +
    + + audioBitrate + +

    外部音频流输入的码率(Kbps)。默认值为 48 Kbps。

    + 声网建议目前采用默认值,不要自行设置。 +
    +
    + + audioChannels + +

    外部音频流输入后的频道数。

      +
    • 1: 单声道(默认)
    • +
    • 2: 双声道
    • +
    +

    + 声网建议目前采用默认值,不要自行设置。 +
    +
    + +
    diff --git a/dita/RTC/API/class_irtcengine.dita b/dita/RTC/API/class_irtcengine.dita index ed401cdbfde..8d50b7908fe 100644 --- a/dita/RTC/API/class_irtcengine.dita +++ b/dita/RTC/API/class_irtcengine.dita @@ -6,7 +6,8 @@

    提供了 app 调用的主要方法。

    -

    在调用其他 API 之前,必须先调用 创建 对象。

    +

    在调用其他 API 之前,必须先调用 创建 + 对象。

    diff --git a/dita/RTC/API/class_irtcengine2.dita b/dita/RTC/API/class_irtcengine2.dita index 8ff94b94d9c..76138ac0c5c 100644 --- a/dita/RTC/API/class_irtcengine2.dita +++ b/dita/RTC/API/class_irtcengine2.dita @@ -2,5 +2,6 @@ <ph keyref="IRtcEngine2"/> - 继承自 agora::rtc::IRtcEngine + 继承自 agora::rtc::IRtcEngine diff --git a/dita/RTC/API/class_irtcengineeventhandler.dita b/dita/RTC/API/class_irtcengineeventhandler.dita index 73816861c7c..7466bfddc66 100644 --- a/dita/RTC/API/class_irtcengineeventhandler.dita +++ b/dita/RTC/API/class_irtcengineeventhandler.dita @@ -2,12 +2,12 @@ <ph keyref="IRtcEngineEventHandler"/> - 接口类用于 SDK 向 app 发送事件通知,app 通过继承该接口类的方法获取 SDK - 的事件通知。 + 接口类用于 SDK 向 + app 发送事件通知,app 通过继承该接口类的方法获取 SDK 的事件通知。

    该接口类的所有方法都有缺省(空)实现, app 可以根据需要只继承关心的事件。在回调方法中,app 不应该做耗时或者调用可能会引起阻塞的 API(如 - sendMessage),否则可能影响 SDK 的运行。

    + sendMessage),否则可能影响 SDK 的运行。

    diff --git a/dita/RTC/API/class_irtcengineeventhandlerex.dita b/dita/RTC/API/class_irtcengineeventhandlerex.dita index 0c66f3aceea..734c8c44bad 100644 --- a/dita/RTC/API/class_irtcengineeventhandlerex.dita +++ b/dita/RTC/API/class_irtcengineeventhandlerex.dita @@ -3,5 +3,5 @@ <ph keyref="IRtcEngineEventHandlerEx"/> 继承自 - 类,用于监听和报告指定频道的事件和数据。 + 类,用于监听和报告指定频道的事件和数据。 diff --git a/dita/RTC/API/class_iscreencapturesourcelist.dita b/dita/RTC/API/class_iscreencapturesourcelist.dita index ef0d4403008..b2db04396e8 100644 --- a/dita/RTC/API/class_iscreencapturesourcelist.dita +++ b/dita/RTC/API/class_iscreencapturesourcelist.dita @@ -2,14 +2,15 @@ <ph keyref="IScreenCaptureSourceList"/> - 类。该类在 方法中返回。 + 类。该类在 + 方法中返回。
    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +

    diff --git a/dita/RTC/API/class_ivideodevicemanager.dita b/dita/RTC/API/class_ivideodevicemanager.dita index fab55c292cb..cc47bc84c32 100644 --- a/dita/RTC/API/class_ivideodevicemanager.dita +++ b/dita/RTC/API/class_ivideodevicemanager.dita @@ -5,7 +5,9 @@ 视频设备管理方法。
    -

    接口类提供用于测试视频设备的相关接口。你可以通过实例化 类来获取 接口。

    +

    接口类提供用于测试视频设备的相关接口。你可以通过实例化 类来获取 + 接口。

    diff --git a/dita/RTC/API/class_ivideoframeconsumer.dita b/dita/RTC/API/class_ivideoframeconsumer.dita index c81c027fe73..8a1bbf7f42a 100644 --- a/dita/RTC/API/class_ivideoframeconsumer.dita +++ b/dita/RTC/API/class_ivideoframeconsumer.dita @@ -2,5 +2,6 @@ <ph keyref="IVideoFrameConsumer"/> - 类用于让 SDK 接收你采集的视频帧。 + 类用于让 SDK + 接收你采集的视频帧。 diff --git a/dita/RTC/API/class_ivideoframeobserver.dita b/dita/RTC/API/class_ivideoframeobserver.dita index 1272698c9a5..bf9437fcd77 100644 --- a/dita/RTC/API/class_ivideoframeobserver.dita +++ b/dita/RTC/API/class_ivideoframeobserver.dita @@ -5,7 +5,8 @@ 视频观测器。
    -

    你可以调用 注册或取消注册 视频观测器。

    +

    你可以调用 注册或取消注册 视频观测器。

    diff --git a/dita/RTC/API/class_ivideosink.dita b/dita/RTC/API/class_ivideosink.dita index 4b36e9de94f..37bc2e3dbe3 100644 --- a/dita/RTC/API/class_ivideosink.dita +++ b/dita/RTC/API/class_ivideosink.dita @@ -2,24 +2,26 @@ ivideosink - +

    - - - - - - -

    + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    diff --git a/dita/RTC/API/class_lastmileprobeconfig.dita b/dita/RTC/API/class_lastmileprobeconfig.dita index 69e3659976f..64fd99f6439 100644 --- a/dita/RTC/API/class_lastmileprobeconfig.dita +++ b/dita/RTC/API/class_lastmileprobeconfig.dita @@ -6,7 +6,7 @@

    - public class LastmileProbeConfig { + public class LastmileProbeConfig { public boolean probeUplink; public boolean probeDownlink; public int expectedUplinkBitrate; @@ -14,19 +14,19 @@ public LastmileProbeConfig() {} } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject @property (assign, nonatomic) BOOL probeUplink; @property (assign, nonatomic) BOOL probeDownlink; @property (assign, nonatomic) NSUInteger expectedUplinkBitrate; @property (assign, nonatomic) NSUInteger expectedDownlinkBitrate; @end - struct LastmileProbeConfig { + struct LastmileProbeConfig { bool probeUplink; bool probeDownlink; unsigned int expectedUplinkBitrate; unsigned int expectedDownlinkBitrate; }; - public class LastmileProbeConfig + public class LastmileProbeConfig { public LastmileProbeConfig() { @@ -46,14 +46,14 @@ public uint expectedUplinkBitrate { set; get; } public uint expectedDownlinkBitrate { set; get; } } - export interface LastmileProbeConfig { + export interface LastmileProbeConfig { probeUplink: boolean; probeDownlink: boolean; expectedUplinkBitrate: number; expectedDownlinkBitrate: number; } - - class LastmileProbeConfig { + + class LastmileProbeConfig { bool probeUplink; bool probeDownlink; @@ -71,50 +71,43 @@ _$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 - -

    是否探测上行网络。有些用户,如直播频道中的普通观众,不需要进行网络探测: - - - - -

      -
    • : 探测。
    • -
    • : 不探测。
    • -

    -
    -
    - - probeDownlink - -

    是否探测下行网络。 - - - - -

      -
    • : 探测。
    • -
    • : 不探测。
    • -

    -
    -
    - - expectedUplinkBitrate - 用户期望的最高发送码率,单位为 bps,范围为 [100000,5000000]。声网推荐参考 中的码率值设置该参数的值。 - - - expectedDownlinkBitrate - 用户期望的最高接收码率,单位为 bps,范围为 [100000,5000000]。 - -
    + + probeUplink + +

    是否探测上行网络。有些用户,如直播频道中的普通观众,不需要进行网络探测:

      +
    • : 探测。
    • +
    • : 不探测。
    • +
    +

    +
    +
    + + probeDownlink + +

    是否探测下行网络。

      +
    • : 探测。
    • +
    • : 不探测。
    • +
    +

    +
    +
    + + expectedUplinkBitrate + 用户期望的最高发送码率,单位为 bps,范围为 [100000,5000000]。声网推荐参考 中的码率值设置该参数的值。 + + + expectedDownlinkBitrate + 用户期望的最高接收码率,单位为 bps,范围为 [100000,5000000]。 + + +
    diff --git a/dita/RTC/API/class_lastmileprobeonewayresult.dita b/dita/RTC/API/class_lastmileprobeonewayresult.dita index d58e176e6d9..d198bb861d0 100644 --- a/dita/RTC/API/class_lastmileprobeonewayresult.dita +++ b/dita/RTC/API/class_lastmileprobeonewayresult.dita @@ -2,12 +2,11 @@ <ph keyref="LastmileProbeOneWayResult"/> - 上行或下行 Last mile 网络质量探测结果。 + 上行或下行 Last mile 网络质量探测结果。

    - struct LastmileProbeOneWayResult { + struct LastmileProbeOneWayResult { unsigned int packetLossRate; unsigned int jitter; unsigned int availableBandwidth; @@ -16,7 +15,7 @@ jitter(0), availableBandwidth(0) {} }; - public class LastmileProbeOneWayResult + public class LastmileProbeOneWayResult { public LastmileProbeOneWayResult() { @@ -35,25 +34,26 @@ public uint availableBandwidth { set; get; } } -

    + +

    - public static class LastmileProbeOneWayResult { + public static class LastmileProbeOneWayResult { public int packetLossRate; public int jitter; public int availableBandwidth; } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject @property (assign, nonatomic) NSUInteger packetLossRate; @property (assign, nonatomic) NSUInteger jitter; @property (assign, nonatomic) NSUInteger availableBandwidth; @end - export interface LastmileProbeOneWayResult { + export interface LastmileProbeOneWayResult { packetLossRate: number; jitter: number; availableBandwidth: number; } - - class LastmileProbeOneWayResult { + + class LastmileProbeOneWayResult { int packetLossRate; int jitter; @@ -69,14 +69,15 @@ _$LastmileProbeOneWayResultFromJson(json); Map<String, dynamic> toJson() => _$LastmileProbeOneWayResultToJson(this); -}

    +} +

    - struct LastmileProbeOneWayResult { + struct LastmileProbeOneWayResult { unsigned int packetLossRate; unsigned int jitter; unsigned int availableBandwidth; }; - public class LastmileProbeOneWayResult + public class LastmileProbeOneWayResult { public LastmileProbeOneWayResult() { @@ -92,25 +93,26 @@ public uint packetLossRate { set; get; } public uint jitter { set; get; } public uint availableBandwidth { set; get; } - }

    + } +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - packetLossRate - 丢包率。 - - - jitter - 网络抖动 (ms)。 - - - availableBandwidth - 可用网络带宽预估 (bps)。 - -
    + + packetLossRate + 丢包率。 + + + jitter + 网络抖动 (ms)。 + + + availableBandwidth + 可用网络带宽预估 (bps)。 + + +
    diff --git a/dita/RTC/API/class_lastmileproberesult.dita b/dita/RTC/API/class_lastmileproberesult.dita index bad8fc1f3e6..50e4bfc5188 100644 --- a/dita/RTC/API/class_lastmileproberesult.dita +++ b/dita/RTC/API/class_lastmileproberesult.dita @@ -2,12 +2,11 @@ <ph keyref="LastmileProbeResult"/> - 上下行 Last mile 网络质量探测结果。 + 上下行 Last mile 网络质量探测结果。

    - struct LastmileProbeResult { + struct LastmileProbeResult { LASTMILE_PROBE_RESULT_STATE state; LastmileProbeOneWayResult uplinkReport; LastmileProbeOneWayResult downlinkReport; @@ -16,7 +15,7 @@ LastmileProbeResult() : state(LASTMILE_PROBE_RESULT_UNAVAILABLE), rtt(0) {} }; - public class LastmileProbeResult + public class LastmileProbeResult { public LastmileProbeResult() { @@ -37,9 +36,10 @@ public LastmileProbeOneWayResult downlinkReport { set; get; } public uint rtt { set; get; } - }

    + } +

    - public static class LastmileProbeResult { + public static class LastmileProbeResult { public static class LastmileProbeOneWayResult { public int packetLossRate; @@ -52,21 +52,21 @@ public LastmileProbeOneWayResult uplinkReport = new LastmileProbeOneWayResult(); public LastmileProbeOneWayResult downlinkReport = new LastmileProbeOneWayResult(); } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject @property (assign, nonatomic) AgoraLastmileProbeResultState state; @property (assign, nonatomic) NSUInteger rtt; @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull uplinkReport; @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull downlinkReport; @end - export interface LastmileProbeResult { + export interface LastmileProbeResult { state: LASTMILE_PROBE_RESULT_STATE; uplinkReport: LastmileProbeOneWayResult; downlinkReport: LastmileProbeOneWayResult; rtt: number; } - - class LastmileProbeResult { + + class LastmileProbeResult { LastmileProbeResultState state; int rtt; @@ -84,15 +84,16 @@ _$LastmileProbeResultFromJson(json); Map<String, dynamic> toJson() => _$LastmileProbeResultToJson(this); -}

    +} +

    - struct LastmileProbeResult { + struct LastmileProbeResult { LASTMILE_PROBE_RESULT_STATE state; LastmileProbeOneWayResult uplinkReport; LastmileProbeOneWayResult downlinkReport; unsigned int rtt; }; - public class LastmileProbeResult + public class LastmileProbeResult { public LastmileProbeResult() { @@ -111,46 +112,42 @@ public LastmileProbeOneWayResult uplinkReport { set; get; } public LastmileProbeOneWayResult downlinkReport { set; get; } public uint rtt { set; get; } - }

    + } +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - state - -

    Last mile 质量探测结果的状态。详见:

    -

    Last-mile 质量探测结果的状态,有如下几种: - - -

      -
    • (1):表示本次 Last-mile + + state + +

      Last mile 质量探测结果的状态。详见:

      +

      Last-mile 质量探测结果的状态,有如下几种:

        +
      • (1):表示本次 Last-mile 质量探测是完整的。
      • -
      • (2):表示本次 +
      • (2):表示本次 Last-mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限。
      • -
      • (3):未进行 +
      • (3):未进行 Last-mile 质量探测。一个可能的原因是网络连接中断。
      • -

      -
      -
      - - uplinkReport - 上行网络质量报告。详见 - - - downlinkReport - 下行网络质量报告。详见 - - - rtt - 往返时延 (ms)。 - -
    + +

    + + + + uplinkReport + 上行网络质量报告。详见 + + + downlinkReport + 下行网络质量报告。详见 + + + rtt + 往返时延 (ms)。 + + +
    diff --git a/dita/RTC/API/class_leavechanneloptions.dita b/dita/RTC/API/class_leavechanneloptions.dita index a4780d6d046..f11db74de33 100644 --- a/dita/RTC/API/class_leavechanneloptions.dita +++ b/dita/RTC/API/class_leavechanneloptions.dita @@ -6,70 +6,61 @@

    - public class LeaveChannelOptions { + public class LeaveChannelOptions { public boolean stopAudioMixing; public boolean stopAllEffect; public boolean stopMicrophoneRecording; } - __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject @property(nonatomic, assign) BOOL stopAudioMixing; @property(nonatomic, assign) BOOL stopAllEffect; @property(nonatomic, assign) BOOL stopMicrophoneRecording; @end - struct LeaveChannelOptions { + struct LeaveChannelOptions { bool stopAudioMixing; bool stopAllEffect; bool stopMicrophoneRecording; LeaveChannelOptions() : stopAudioMixing(true), stopAllEffect(true), stopMicrophoneRecording(true) {} }; - - public class LeaveChannelOptions { + + public class LeaveChannelOptions { public bool stopAudioMixing { set; get; } public bool stopAllEffect { set; get; } public bool stopMicrophoneRecording { set; get; } }; - -

    + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - stopAudioMixing - 离开频道时,是否停止播放音乐文件及混音: - - -
      -
    • :(默认)停止播放音乐文件及混音。
    • -
    • : 不停止播放音乐文件及混音。
    • -
    -
    - - stopAllEffect - 离开频道时,是否停止播放音效: - - -
      -
    • :(默认)停止播放音效。
    • -
    • : 不停止播放音效。
    • -
    -
    - - stopMicrophoneRecording - 离开频道时,是否停止麦克风采集: - - -
      -
    • :(默认)停止麦克风采集。
    • -
    • : 不停止麦克风采集。
    • -
    -
    -
    + + stopAudioMixing + 离开频道时,是否停止播放音乐文件及混音:
      +
    • :(默认)停止播放音乐文件及混音。
    • +
    • : 不停止播放音乐文件及混音。
    • +
    +
    +
    + + stopAllEffect + 离开频道时,是否停止播放音效:
      +
    • :(默认)停止播放音效。
    • +
    • : 不停止播放音效。
    • +
    +
    + + stopMicrophoneRecording + 离开频道时,是否停止麦克风采集:
      +
    • :(默认)停止麦克风采集。
    • +
    • : 不停止麦克风采集。
    • +
    +
    + +
    diff --git a/dita/RTC/API/class_livestreamadvancedfeature.dita b/dita/RTC/API/class_livestreamadvancedfeature.dita index ac86f677482..96eb633dc17 100644 --- a/dita/RTC/API/class_livestreamadvancedfeature.dita +++ b/dita/RTC/API/class_livestreamadvancedfeature.dita @@ -6,40 +6,39 @@

    - - __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject + + __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject @property(copy, nonatomic) NSString* _Nullable featureName; @property(assign, nonatomic) BOOL opened; @end - + struct LiveStreamAdvancedFeature { LiveStreamAdvancedFeature() : featureName(NULL), opened(false) {} LiveStreamAdvancedFeature(const char* feat_name, bool open) : featureName(feat_name), opened(open) {} const char* featureName; bool opened; -} ;

    +} ; +

    如需使用转码推流高级功能,请联系

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - featureName - 转码推流高级功能的名称,包含 LBHQ(低码率的高清视频功能) 和 VEO(优化的视频编码器功能)。 - - - opened - 是否启用转码推流的高级功能: - - -
      -
    • :开启转码推流的高级功能。
    • -
    • :(默认)关闭转码推流的高级功能。
    • -
    -
    + + featureName + 转码推流高级功能的名称,包含 LBHQ(低码率的高清视频功能) 和 VEO(优化的视频编码器功能)。 + + + opened + 是否启用转码推流的高级功能:
      +
    • :开启转码推流的高级功能。
    • +
    • :(默认)关闭转码推流的高级功能。
    • +
    +
    diff --git a/dita/RTC/API/class_livetranscoding.dita b/dita/RTC/API/class_livetranscoding.dita index 350da46b4dc..b28168f7eb4 100644 --- a/dita/RTC/API/class_livetranscoding.dita +++ b/dita/RTC/API/class_livetranscoding.dita @@ -1,12 +1,16 @@ - <ph keyref="LiveTranscoding"/> - 旁路推流的转码属性。 + + <ph keyref="LiveTranscoding"/> + + + 旁路推流的转码属性。 +

    - public class LiveTranscoding { + public class LiveTranscoding { public enum AudioSampleRateType { TYPE_32000(32000), TYPE_44100(44100), @@ -229,7 +233,7 @@ this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } } - __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject @property(assign, nonatomic) CGSize size; @property(assign, nonatomic) NSInteger videoBitrate; @@ -255,7 +259,7 @@ - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened; - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures; @end - struct LiveTranscoding { + struct LiveTranscoding { int width; int height; int videoBitrate; @@ -281,7 +285,7 @@ unsigned int advancedFeatureCount; LiveTranscoding() : width(360), height(640), videoBitrate(400), videoFramerate(15), lowLatency(false), videoGop(30), videoCodecProfile(VIDEO_CODEC_PROFILE_HIGH), backgroundColor(0x000000), videoCodecType(VIDEO_CODEC_H264_FOR_STREAM), userCount(0), transcodingUsers(NULL), transcodingExtraInfo(NULL), metadata(NULL), watermark(NULL), watermarkCount(0), backgroundImage(NULL), backgroundImageCount(0), audioSampleRate(AUDIO_SAMPLE_RATE_48000), audioBitrate(48), audioChannels(1), audioCodecProfile(AUDIO_CODEC_PROFILE_LC_AAC), advancedFeatures(NULL), advancedFeatureCount(0) {} }; - public class LiveTranscoding + public class LiveTranscoding { public LiveTranscoding() { @@ -305,9 +309,10 @@ audioBitrate = 48; audioChannels = 1; audioCodecProfile = AUDIO_CODEC_PROFILE_TYPE.AUDIO_CODEC_PROFILE_LC_AAC; - }

    + } +

    - struct LiveTranscoding { + struct LiveTranscoding { int width; int height; int videoBitrate; @@ -333,7 +338,7 @@ unsigned int advancedFeatureCount; LiveTranscoding() : width(360), height(640), videoBitrate(400), videoFramerate(15), lowLatency(false), videoGop(30), videoCodecProfile(VIDEO_CODEC_PROFILE_HIGH), backgroundColor(0x000000), videoCodecType(VIDEO_CODEC_H264_FOR_STREAM), userCount(0), transcodingUsers(NULL), transcodingExtraInfo(NULL), metadata(NULL), watermark(NULL), watermarkCount(0), backgroundImage(NULL), backgroundImageCount(0), audioSampleRate(AUDIO_SAMPLE_RATE_48000), audioBitrate(48), audioChannels(1), audioCodecProfile(AUDIO_CODEC_PROFILE_LC_AAC), advancedFeatures(NULL), advancedFeatureCount(0) {} }; LiveTranscoding; - public class LiveTranscoding + public class LiveTranscoding { public LiveTranscoding() { @@ -417,7 +422,7 @@ public LiveStreamAdvancedFeature[] advancedFeatures { set; get; } public uint advancedFeatureCount { set; get; } } - export interface LiveTranscoding { + export interface LiveTranscoding { width: number; height: number; videoBitrate: number; @@ -438,7 +443,7 @@ backgroundImage: RtcImage; transcodingUsers: Array<TranscodingUser> } - class LiveTranscoding { + class LiveTranscoding { @JsonKey(includeIfNull: false) int? width; @@ -516,300 +521,301 @@ _$LiveTranscodingFromJson(json); Map<String, dynamic> toJson() => _$LiveTranscodingToJson(this); - }

    + } +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - -

    推流视频的总宽度,默认值 360,单位为像素。

    -
      -
    • 如果推视频流,width 取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 64; 如果取值高于 1920,声网服务器会自动调整为 1920。
    • -
    • 如果推音频流,请将 widthheight 设为 0。
    • -
    -
    - - height - -

    推流视频的总高度,默认值 640,单位为像素。

    -
      -
    • 如果推视频流,height 取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 64; 如果取值高于 1080,声网服务器会自动调整为 1080。
    • -
    • 如果推音频流,请将 widthheight 设为 0。
    • -
    -
    - - size - -

    推流视频的总尺寸(宽和高),单位为像素。

    -
      -
    • 如果推视频流,请注意: - - + + width + +

      推流视频的总宽度,默认值 360,单位为像素。

        -
      • 宽的取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 1920,声网服务器会自动调整为 1920。
      • -
      • 高的取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 1080,声网服务器会自动调整为 1080。
      • -
    • -
    • 如果推音频流,请将宽和高都设为 0。
    • -
    -
    - - videoBitrate - -

    用于旁路直播的输出视频的码率。单位为 Kbps。400 Kbps 为默认值。

    -

    你可以根据视频属性参考表中的码率值进行设置;如果设置的码率超出合理范围,声网服务器会在合理区间内自动调整码率值。

    -

    你可以参考旁路推流设置该参数的值。

    -
    -
    - - videoFrameRate - videoFramerate - -

    用于旁路直播的输出视频的帧率。取值范围是 (0,30],单位为 fps。15 fps 为默认值。

    - 声网服务器会将高于 30 fps 的帧率统一调整为 30 fps。
    -
    - - lowLatency - -
    - -
    弃用
    -
    声网不推荐使用。
    -
    -
    -

    低延时模式

    -
      -
    • : 低延时,不保证画质。
    • -
    • :(默认值)高延时,保证画质。
    • -
    -
    - - videoGop - 用于旁路直播的输出视频的 GOP(Group of Pictures)。单位为帧。默认值为 30。 - - - videoCodecProfile - -

    用于旁路直播的输出视频的编码规格。可以设置为 66、77 或 100,详见

    - 如果你把这个参数设为其他值,声网服务器会将其调整为默认值。
    -
    - - videoCodecType - 用于旁路直播的输出视频的编解码类型。详见 - - - transcodingUsers - -

    用于管理参与旁路直播的视频转码合图的用户。最多支持 17 人同时参与转码合图。详见

    -
    -
    - - transcodingExtraInfo - -

    预留参数:用户自定义的发送到旁路推流客户端的信息,用于填充 H264/H265 视频中 SEI 帧内容。长度限制:4096 字节。关于 SEI 的详细信息,详见 SEI 帧相关问题

    -
    -
    - - backgroundColor - -

    用于旁路直播的输出视频的背景色。

    -

    格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 0x000000,黑色。

    -

    COLOR_CLASS 为类型统称,具体为: - - -

      -
    • iOS: UIColor
    • -
    • macOS: NSColor
    • -

    -
    -
    - - backgroundColor - -
    - -
    弃用
    -
    已废弃,声网不推荐使用。请改用 方法。
    -
    -
    -
    - -

    用于旁路直播的输出视频的背景色,格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认0x000000,黑色。

    -
    -
    - - userCount - 参与合图的用户数量,默认 0。取值范围为 [0,17]。 - - - userCount - -
    - -
    弃用
    -
    已废弃,声网不推荐使用。请改用 方法。
    -
    -
    -

    参与合图的用户数量,默认 0。取值范围为 [0,17]。

    -
    -
    - - metadata - -
    - -
    弃用
    -
    已废弃,声网不推荐使用。
    -
    -
    -

    发送给 CDN 客户端的 metadata。

    -
    -
    - - backgroundImage - 直播视频上的背景图。详见 。你可以添加一张背景图,或使用数组的方式添加多张背景图。该参数与 backgroundImageCount 搭配使用。 - -

    自 v3.6.0 废弃。请改用 backgroundImageArray

    -

    直播视频上的背景图。图片格式需为 PNG。详见

    -
    - -

    自 v3.6.0 废弃。请改用 backgroundImageList

    -

    直播视频上的背景图。必须为 PNG 格式。详见

    -
    -
    - - watermark - -
    - -
    弃用
    -
    请改用
    -
    请改用 watermarkArray
    -
    -
    -

    直播视频上的水印。必须为 PNG 格式。详见

    -
    - -

    直播视频上的水印。必须为 PNG 格式。详见 。你可以添加一个水印,或使用数组的方式添加多个水印。该参数与 watermarkCount 搭配使用。

    -

    自 v3.6.0 废弃。请改用 watermarkArray

    -

    直播视频上的水印。图片格式需为 PNG。详见

    -
    -
    - - watermark - -

    直播视频上的水印。必须为 PNG 格式。详见

    -

    你可以添加一个水印,或使用数组的方式添加多个水印。该参数与 watermarkCount搭配使用。

    -
    - 直播视频上的水印。必须为 PNG 格式。详见 。你可以添加一个水印,或使用数组的方式添加多个水印。 -
    - - backgroundImageArray - 直播视频上的背景图。图片格式需为 PNG。详见 - - - audioSampleRate - -

    用于旁路推流的输出媒体流的音频采样率 (Hz),详见

    -
    -
    - - audioBitrate - -

    用于旁路直播的输出音频的码率。单位为 Kbps,默认值为 48,最大值为 128。

    -
    -
    - - audioChannels - -

    用于旁路直播的输出音频的声道数,默认值为 1。取值范围为 [1,5] 中的整型,建议取 1 或 2。3、4、5 需要特殊播放器支持:

    -
      -
    • 1: (默认)单声道
    • -
    • 2: 双声道
    • -
    • 3: 三声道
    • -
    • 4: 四声道
    • -
    • 5: 五声道
    • -
    -
    - - audioCodecProfile - 用于旁路直播输出音频的编码规格。详见 。 +
  • 如果推视频流,width 取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 + 64; 如果取值高于 1920,声网服务器会自动调整为 1920。
  • +
  • 如果推音频流,请将 widthheight 设为 + 0。
  • +
    -
    - - watermarkArray - watermarkCount - 直播视频上的水印数组。详见 。你可以使用 watermarkArray 添加一张或多张水印。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 - 直播视频上的水印的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 watermark 搭配使用。 - - - backgroundArray - backgroundImageCount - 直播视频上的背景图数组。详见 。你可以使用 backgroundImageArray 添加一张或多张背景图。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 - 直播视频上的背景图的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 backgroundImage 搭配使用。 - - - watermarkArray - watermarkCount - watermarkList - 直播视频上的水印数组。详见 。你可以使用 watermarkArray 添加一张或多张水印。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 - 直播视频上的水印的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 watermark 搭配使用。 - 直播视频上的水印数组。详见 。你可以使用 watermarkList 添加一张或多张水印。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 - - - backgroundImageArray - backgroundImageCount - backgroundImageList - 直播视频上的背景图数组。详见 。你可以使用 backgroundImageArray 添加一张或多张背景图。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 - 直播视频上的背景图的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 backgroundImage 搭配使用。 - 直播视频上的背景图数组。详见 。你可以使用 backgroundImageList 添加一张或多张背景图。图片格式需为 PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 - - - userConfigExtraInfo - 预留参数。 用户自定义的发送到旁路推流客户端的信息,用于填充 H264/H265 视频中 SEI 帧内容。长度限制:4096字节。 - - - advancedFeatures - 转码推流的高级功能。 - - - advancedFeatureCount - 开启的高级功能数量。默认值为 0。 - -
    + + + height + +

    推流视频的总高度,默认值 640,单位为像素。

    +
      +
    • 如果推视频流,height 取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 + 64; 如果取值高于 1080,声网服务器会自动调整为 1080。
    • +
    • 如果推音频流,请将 widthheight 设为 + 0。
    • +
    +
    +
    + + size + +

    推流视频的总尺寸(宽和高),单位为像素。

    +
      +
    • 如果推视频流,请注意:
        +
      • 宽的取值范围为 [64,1920]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 + 1920,声网服务器会自动调整为 1920。
      • +
      • 高的取值范围为 [64,1080]。如果取值低于 64,声网服务器会自动调整为 64;如果取值高于 + 1080,声网服务器会自动调整为 1080。
      • +
    • +
    • 如果推音频流,请将宽和高都设为 0。
    • +
    +
    +
    + + videoBitrate + +

    用于旁路直播的输出视频的码率。单位为 Kbps。400 Kbps 为默认值。

    +

    你可以根据视频属性参考表中的码率值进行设置;如果设置的码率超出合理范围,声网服务器会在合理区间内自动调整码率值。

    +

    你可以参考旁路推流设置该参数的值。

    +
    +
    + + videoFrameRate + videoFramerate + +

    用于旁路直播的输出视频的帧率。取值范围是 (0,30],单位为 fps。15 fps 为默认值。

    + 声网服务器会将高于 30 fps 的帧率统一调整为 30 fps。
    +
    + + lowLatency + +
    + +
    弃用
    +
    声网不推荐使用。
    +
    +
    +

    低延时模式

    +
      +
    • : 低延时,不保证画质。
    • +
    • :(默认值)高延时,保证画质。
    • +
    +
    + + videoGop + 用于旁路直播的输出视频的 GOP(Group of Pictures)。单位为帧。默认值为 30。 + + + videoCodecProfile + +

    用于旁路直播的输出视频的编码规格。可以设置为 66、77 或 100,详见

    + 如果你把这个参数设为其他值,声网服务器会将其调整为默认值。
    +
    + + videoCodecType + 用于旁路直播的输出视频的编解码类型。详见 + + + transcodingUsers + +

    用于管理参与旁路直播的视频转码合图的用户。最多支持 17 人同时参与转码合图。详见

    +
    +
    + + transcodingExtraInfo + +

    预留参数:用户自定义的发送到旁路推流客户端的信息,用于填充 H264/H265 视频中 SEI 帧内容。长度限制:4096 字节。关于 SEI + 的详细信息,详见 SEI 帧相关问题

    +
    +
    + + backgroundColor + +

    用于旁路直播的输出视频的背景色。

    +

    格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。默认 0x000000,黑色。

    +

    COLOR_CLASS 为类型统称,具体为:

      +
    • iOS: UIColor
    • +
    • macOS: NSColor
    • +

    +
    +
    + + backgroundColor + +
    + +
    弃用
    +
    已废弃,声网不推荐使用。请改用 方法。
    +
    +
    +
    + +

    用于旁路直播的输出视频的背景色,格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 + 表示浅粉色。默认0x000000,黑色。

    +
    +
    + + userCount + 参与合图的用户数量,默认 0。取值范围为 [0,17]。 + + + userCount + +
    + +
    弃用
    +
    已废弃,声网不推荐使用。请改用 方法。
    +
    +
    +

    参与合图的用户数量,默认 0。取值范围为 [0,17]。

    +
    +
    + + metadata + +
    + +
    弃用
    +
    已废弃,声网不推荐使用。
    +
    +
    +

    发送给 CDN 客户端的 metadata。

    +
    +
    + + backgroundImage + 直播视频上的背景图。详见 。你可以添加一张背景图,或使用数组的方式添加多张背景图。该参数与 backgroundImageCount + 搭配使用。 + +

    自 v3.6.0 废弃。请改用 backgroundImageArray

    +

    直播视频上的背景图。图片格式需为 PNG。详见

    +
    + +

    自 v3.6.0 废弃。请改用 backgroundImageList

    +

    直播视频上的背景图。必须为 PNG 格式。详见

    +
    +
    + + watermark + +
    + +
    弃用
    +
    请改用
    +
    请改用 watermarkArray
    +
    +
    +

    直播视频上的水印。必须为 PNG 格式。详见

    +
    + +

    直播视频上的水印。必须为 PNG 格式。详见 。你可以添加一个水印,或使用数组的方式添加多个水印。该参数与 watermarkCount + 搭配使用。

    +

    自 v3.6.0 废弃。请改用 watermarkArray

    +

    直播视频上的水印。图片格式需为 PNG。详见

    +
    +
    + + watermark + +

    直播视频上的水印。必须为 PNG 格式。详见

    +

    你可以添加一个水印,或使用数组的方式添加多个水印。该参数与 + watermarkCount搭配使用。

    +
    + 直播视频上的水印。必须为 PNG 格式。详见 。你可以添加一个水印,或使用数组的方式添加多个水印。 +
    + + backgroundImageArray + 直播视频上的背景图。图片格式需为 PNG。详见 + + + audioSampleRate + +

    用于旁路推流的输出媒体流的音频采样率 (Hz),详见

    +
    +
    + + audioBitrate + +

    用于旁路直播的输出音频的码率。单位为 Kbps,默认值为 48,最大值为 128。

    +
    +
    + + audioChannels + +

    用于旁路直播的输出音频的声道数,默认值为 1。取值范围为 [1,5] 中的整型,建议取 1 或 2。3、4、5 需要特殊播放器支持:

    +
      +
    • 1: (默认)单声道
    • +
    • 2: 双声道
    • +
    • 3: 三声道
    • +
    • 4: 四声道
    • +
    • 5: 五声道
    • +
    +
    +
    + + audioCodecProfile + 用于旁路直播输出音频的编码规格。详见 + + + watermarkArray + watermarkCount + 直播视频上的水印数组。详见 。你可以使用 + watermarkArray 添加一张或多张水印。图片格式需为 + PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 + 直播视频上的水印的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 + watermark 搭配使用。 + + + backgroundArray + backgroundImageCount + 直播视频上的背景图数组。详见 。你可以使用 + backgroundImageArray 添加一张或多张背景图。图片格式需为 + PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 + 直播视频上的背景图的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 + backgroundImage 搭配使用。 + + + watermarkArray + watermarkCount + watermarkList + 直播视频上的水印数组。详见 。你可以使用 + watermarkArray 添加一张或多张水印。图片格式需为 + PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 + 直播视频上的水印的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 + watermark 搭配使用。 + 直播视频上的水印数组。详见 。你可以使用 + watermarkList 添加一张或多张水印。图片格式需为 + PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 + + + backgroundImageArray + backgroundImageCount + backgroundImageList + 直播视频上的背景图数组。详见 。你可以使用 + backgroundImageArray 添加一张或多张背景图。图片格式需为 + PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 + 直播视频上的背景图的数量。水印和背景图的总数量需大于等于 0 且小于等于 10。该参数与 + backgroundImage 搭配使用。 + 直播视频上的背景图数组。详见 。你可以使用 + backgroundImageList 添加一张或多张背景图。图片格式需为 + PNG。直播视频上的水印和背景图的总数量需大于等于 0 且小于等于 10。 + + + userConfigExtraInfo + 预留参数。 用户自定义的发送到旁路推流客户端的信息,用于填充 H264/H265 视频中 SEI 帧内容。长度限制:4096字节。 + + + advancedFeatures + 转码推流的高级功能。 + + + advancedFeatureCount + 开启的高级功能数量。默认值为 0。 + + +
    diff --git a/dita/RTC/API/class_localaccesspointconfiguration.dita b/dita/RTC/API/class_localaccesspointconfiguration.dita index 97cee6a2a7b..79e4b206eb4 100644 --- a/dita/RTC/API/class_localaccesspointconfiguration.dita +++ b/dita/RTC/API/class_localaccesspointconfiguration.dita @@ -6,45 +6,53 @@

    - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - ipList - Local Access Point 的 IP 地址列表。ipListdomainList 必须至少填一个。如果你同时指定 IP 地址和域名,SDK 会将根据域名解析出来的 IP 地址和你指定的 IP 地址合并、去重,然后随机连接一个 IP 来实现负载均衡。 - - - ipListSize - Local Access Point 的 IP 地址的数量。该参数的值必须和你填入的 IP 地址的数量一致。 - - - domainList - Local Access Point 的域名列表。SDK 会根据你填入的域名解析出 Local Access Point 的 IP 地址。域名解析的超时时间为 10 秒。ipListdomainList 必须至少填一个。如果你同时指定 IP 地址和域名,SDK 会将根据域名解析出来的 IP 地址和你指定的 IP 地址合并、去重,然后随机连接一个 IP 来实现负载均衡。 - - - domainListSize - Local Access Point 域名的数量。该参数的值必须和你填入的域名的数量一致。 - - - verifyDomainName - 内网证书验证域名。如果传值为空,则使用 SDK 默认的证书验证域名 secure-edge.local - - - mode - SDK 与本地代理的连接模式,详见 - - - advancedConfig - 进阶配置,详见 - -
    + + ipList + Local Access Point 的 IP 地址列表。ipList 和 + domainList 必须至少填一个。如果你同时指定 IP 地址和域名,SDK 会将根据域名解析出来的 + IP 地址和你指定的 IP 地址合并、去重,然后随机连接一个 IP 来实现负载均衡。 + + + ipListSize + Local Access Point 的 IP 地址的数量。该参数的值必须和你填入的 IP 地址的数量一致。 + + + domainList + Local Access Point 的域名列表。SDK 会根据你填入的域名解析出 Local Access Point 的 IP + 地址。域名解析的超时时间为 10 秒。ipList 和 + domainList 必须至少填一个。如果你同时指定 IP 地址和域名,SDK 会将根据域名解析出来的 + IP 地址和你指定的 IP 地址合并、去重,然后随机连接一个 IP 来实现负载均衡。 + + + domainListSize + Local Access Point 域名的数量。该参数的值必须和你填入的域名的数量一致。 + + + verifyDomainName + 内网证书验证域名。如果传值为空,则使用 SDK 默认的证书验证域名 secure-edge.local + + + mode + SDK 与本地代理的连接模式,详见 + + + advancedConfig + 进阶配置,详见 + + +
    diff --git a/dita/RTC/API/class_localaudiostats.dita b/dita/RTC/API/class_localaudiostats.dita index 6643f078db8..881d2a8e7bf 100644 --- a/dita/RTC/API/class_localaudiostats.dita +++ b/dita/RTC/API/class_localaudiostats.dita @@ -6,14 +6,14 @@

    - public static class LocalAudioStats { + public static class LocalAudioStats { public int numChannels; public int sentSampleRate; public int sentBitrate; public int internalCodec; public int txPacketLossRate; }; - __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject @property(assign, nonatomic) NSUInteger numChannels; @property(assign, nonatomic) NSUInteger sentSampleRate; @property(assign, nonatomic) NSUInteger sentBitrate; @@ -21,7 +21,7 @@ @property(assign, nonatomic) NSUInteger txPacketLossRate; @end - struct LocalAudioStats + struct LocalAudioStats { int numChannels; int sentSampleRate; @@ -29,7 +29,7 @@ int internalCodec; unsigned short txPacketLossRate; }; - public class LocalAudioStats + public class LocalAudioStats { public LocalAudioStats() { @@ -49,27 +49,28 @@ public int sentBitrate { set; get; } public int internalCodec { set; get; } - }

    + } +

    - public static class LocalAudioStats { + public static class LocalAudioStats { public int numChannels; public int sentSampleRate; public int sentBitrate; public int txPacketLossRate; } - __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject @property(assign, nonatomic) NSUInteger numChannels; @property(assign, nonatomic) NSUInteger sentSampleRate; @property(assign, nonatomic) NSUInteger sentBitrate; @property(assign, nonatomic) NSUInteger txPacketLossRate; @end - struct LocalAudioStats { + struct LocalAudioStats { int numChannels; int sentSampleRate; int sentBitrate; unsigned short txPacketLossRate; }; - public class LocalAudioStats + public class LocalAudioStats { public LocalAudioStats() { @@ -88,14 +89,14 @@ public int sentBitrate { set; get; } public ushort txPacketLossRate { set; get; } } - export interface LocalAudioStats { + export interface LocalAudioStats { numChannels: number; sentSampleRate: number; sentBitrate: number; txPacketLossRate: number; } - - class LocalAudioStats { + + class LocalAudioStats { int numChannels; int sentSampleRate; @@ -113,33 +114,34 @@ _$LocalAudioStatsFromJson(json); Map<String, dynamic> toJson() => _$LocalAudioStatsToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - numChannels - 声道数。 - - - sentSampleRate - 发送本地音频的采样率,单位为 Hz。 - - - sentBitrate - 发送本地音频的码率平均值,单位为 Kbps。 - - - txPacketLossRate - 弱网对抗前本端到声网边缘服务器的丢包率 (%)。 - - - internalCodec - 内部的 payload 类型。 - -
    + + numChannels + 声道数。 + + + sentSampleRate + 发送本地音频的采样率,单位为 Hz。 + + + sentBitrate + 发送本地音频的码率平均值,单位为 Kbps。 + + + txPacketLossRate + 弱网对抗前本端到声网边缘服务器的丢包率 (%)。 + + + internalCodec + 内部的 payload 类型。 + + +
    diff --git a/dita/RTC/API/class_localspatialaudioconfig.dita b/dita/RTC/API/class_localspatialaudioconfig.dita index 251c1482745..2f926425ca1 100644 --- a/dita/RTC/API/class_localspatialaudioconfig.dita +++ b/dita/RTC/API/class_localspatialaudioconfig.dita @@ -2,37 +2,41 @@ <ph keyref="LocalSpatialAudioConfig"/> - 的配置。 + + 的配置。

    - public class LocalSpatialAudioConfig { + public class LocalSpatialAudioConfig { public RtcEngine mRtcEngine; public LocalSpatialAudioConfig() { mRtcEngine = null; } } - __attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @end - struct LocalSpatialAudioConfig { + struct LocalSpatialAudioConfig { agora::rtc::IRtcEngine* rtcEngine; LocalSpatialAudioConfig() : rtcEngine(NULL) {} }; - - - -

    + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - mRtcEngine - - -
    + + rtcEngine + mRtcEngine + + + +
    diff --git a/dita/RTC/API/class_localtranscoderconfiguration.dita b/dita/RTC/API/class_localtranscoderconfiguration.dita index bb7c538024a..21f7b043a66 100644 --- a/dita/RTC/API/class_localtranscoderconfiguration.dita +++ b/dita/RTC/API/class_localtranscoderconfiguration.dita @@ -6,13 +6,13 @@

    - - __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject + + __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject @property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams; @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration; @end - struct LocalTranscoderConfiguration { + struct LocalTranscoderConfiguration { unsigned int streamCount; TranscodingVideoStream* VideoInputStreams; VideoEncoderConfiguration videoOutputConfiguration; @@ -22,8 +22,8 @@ videoOutputConfiguration() {} }; - - public class LocalTranscoderConfiguration { + + public class LocalTranscoderConfiguration { public LocalTranscoderConfiguration(uint streamCount, TranscodingVideoStream[] VideoInputStreams, VideoEncoderConfiguration videoOutputConfiguration) { @@ -35,34 +35,33 @@ public TranscodingVideoStream[] VideoInputStreams { set; get; } public VideoEncoderConfiguration videoOutputConfiguration { set; get; } } - -

    + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - streamCount - -

    参与本地合图的视频流的数量。

    -
    -
    - - VideoInputStreams - -

    参与本地合图的视频流。详见

    -
    -
    - - videoOutputConfiguration - -

    本地合图后,合图视频的编码配置。详见

    -
    -
    -
    + + streamCount + +

    参与本地合图的视频流的数量。

    +
    +
    + + VideoInputStreams + +

    参与本地合图的视频流。详见

    +
    +
    + + videoOutputConfiguration + +

    本地合图后,合图视频的编码配置。详见

    +
    +
    + +
    diff --git a/dita/RTC/API/class_localvideostats.dita b/dita/RTC/API/class_localvideostats.dita index a2a7f29f03b..33b20979600 100644 --- a/dita/RTC/API/class_localvideostats.dita +++ b/dita/RTC/API/class_localvideostats.dita @@ -6,7 +6,7 @@

    - public static class LocalVideoStats { + public static class LocalVideoStats { public int uid; public int sentBitrate; public int sentFrameRate; @@ -22,7 +22,7 @@ public int codecType; public int txPacketLossRate; } - __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject @property(assign, nonatomic) NSUInteger sentBitrate; @property(assign, nonatomic) NSUInteger sentFrameRate; @property(assign, nonatomic) NSUInteger uid; @@ -38,7 +38,7 @@ @property(assign, nonatomic) AgoraVideoCodecType codecType; @property(assign, nonatomic) NSInteger txPacketLossRate; @end - struct LocalVideoStats + struct LocalVideoStats { uid_t uid; int sentBitrate; @@ -55,7 +55,7 @@ VIDEO_CODEC_TYPE codecType; unsigned short txPacketLossRate; }; - public class LocalVideoStats + public class LocalVideoStats { public LocalVideoStats() { @@ -105,9 +105,10 @@ public int encodedFrameCount { set; get; } public VIDEO_CODEC_TYPE codecType { set; get; } - }

    + } +

    - public static class LocalVideoStats { + public static class LocalVideoStats { public int sentBitrate; public int sentFrameRate; public int encoderOutputFrameRate; @@ -124,7 +125,7 @@ public int captureFrameRate; public int captureBrightnessLevel; } - __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject @property(assign, nonatomic) NSUInteger sentBitrate; @property(assign, nonatomic) NSUInteger sentFrameRate; @property(assign, nonatomic) NSUInteger encoderOutputFrameRate; @@ -141,7 +142,7 @@ @property(assign, nonatomic) NSInteger captureFrameRate; @property(assign, nonatomic) AgoraCaptureBrightnessLevelType captureBrightnessLevel; @end - struct LocalVideoStats { + struct LocalVideoStats { int sentBitrate; int sentFrameRate; int encoderOutputFrameRate; @@ -158,7 +159,7 @@ int captureFrameRate; CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel; }; - public class LocalVideoStats + public class LocalVideoStats { public LocalVideoStats() { @@ -201,7 +202,7 @@ public ushort txPacketLossRate { set; get; } public int captureFrameRate { set; get; } } - export interface LocalVideoStats { + export interface LocalVideoStats { sentBitrate: number; sentFrameRate: number; encoderOutputFrameRate: number; @@ -218,8 +219,8 @@ captureFrameRate: number; captureBrightnessLevel: CAPTURE_BRIGHTNESS_LEVEL_TYPE; } - - class LocalVideoStats { + + class LocalVideoStats { int sentBitrate; int sentFrameRate; @@ -259,124 +260,114 @@ _$LocalVideoStatsFromJson(json); Map<String, dynamic> toJson() => _$LocalVideoStatsToJson(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。 - - - sentBitrate - -

    实际发送码率 (Kbps) - - - 不包含丢包后重传视频等的发送码率。

    -
    -
    - - sentFrameRate - 实际发送帧率 (fps)。 - - - 不包含丢包后重传视频等的发送帧率。 - - - encoderOutputFrameRate - 本地视频编码器的输出帧率,单位为 fps。 - - - rendererOutputFrameRate - 本地视频渲染器的输出帧率,单位为 fps。 - - - targetBitrate - 当前编码器的目标编码码率 (Kbps),该码率为 SDK 根据当前网络状况预估的一个值。 - - - targetFrameRate - 当前编码器的目标编码帧率 (fps)。 - - - qualityAdaptIndication - -
    - -
    自从
    -
    v2.4.0
    -
    -
    - 统计周期内本地视频质量(基于目标帧率和目标码率)的自适应情况。详见 -

    -

      -
    • (0): 本地视频质量不变。
    • -
    • (1): 因网络带宽增加,本地视频质量改善。
    • -
    • (2): 因网络带宽减少,本地视频质量变差。
    • -

    -
    -
    - - encodedBitrate - -

    视频编码码率(Kbps)。 - - - 不包含丢包后重传视频等的编码码率。

    -
    -
    - - encodedFrameWidth - 视频编码宽度(px)。 - - - encodedFrameHeight - 视频编码高度(px)。 - - - encodedFrameCount - 视频发送的帧数,累计值。 - - - codecType - 视频的编码类型。详见 -

    -

      -
    • (1): VP8。
    • -
    • (2): (默认值) H.264。
    • -

    -
    -
    - - txPacketLossRate - 弱网对抗前本端到声网边缘服务器的视频丢包率 (%)。 - - - captureFrameRate - 本地视频采集帧率 (fps)。 - - - captureBrightnessLevel - -
    - -
    自从
    -
    v3.3.0
    -
    -
    -

    本地采集的画质亮度级别。详见

    -
    -
    -
    + + uid + 本地用户的 ID。 + + + sentBitrate + +

    实际发送码率 (Kbps) 不包含丢包后重传视频等的发送码率。

    +
    +
    + + sentFrameRate + 实际发送帧率 (fps)。 不包含丢包后重传视频等的发送帧率。 + + + encoderOutputFrameRate + 本地视频编码器的输出帧率,单位为 fps。 + + + rendererOutputFrameRate + 本地视频渲染器的输出帧率,单位为 fps。 + + + targetBitrate + 当前编码器的目标编码码率 (Kbps),该码率为 SDK 根据当前网络状况预估的一个值。 + + + targetFrameRate + 当前编码器的目标编码帧率 (fps)。 + + + qualityAdaptIndication + +
    + +
    自从
    +
    v2.4.0
    +
    +
    + 统计周期内本地视频质量(基于目标帧率和目标码率)的自适应情况。详见 +

    +

      +
    • (0): 本地视频质量不变。
    • +
    • (1): 因网络带宽增加,本地视频质量改善。
    • +
    • (2): 因网络带宽减少,本地视频质量变差。
    • +
    +

    +
    +
    + + encodedBitrate + +

    视频编码码率(Kbps)。 不包含丢包后重传视频等的编码码率。

    +
    +
    + + encodedFrameWidth + 视频编码宽度(px)。 + + + encodedFrameHeight + 视频编码高度(px)。 + + + encodedFrameCount + 视频发送的帧数,累计值。 + + + codecType + 视频的编码类型。详见 +

    +

      +
    • (1): VP8。
    • +
    • (2): (默认值) H.264。
    • +
    +

    +
    +
    + + txPacketLossRate + 弱网对抗前本端到声网边缘服务器的视频丢包率 (%)。 + + + captureFrameRate + 本地视频采集帧率 (fps)。 + + + captureBrightnessLevel + +
    + +
    自从
    +
    v3.3.0
    +
    +
    +

    本地采集的画质亮度级别。详见

    +
    +
    + +
    diff --git a/dita/RTC/API/class_logconfig.dita b/dita/RTC/API/class_logconfig.dita index 897d3ca9694..a3f9b6b415e 100644 --- a/dita/RTC/API/class_logconfig.dita +++ b/dita/RTC/API/class_logconfig.dita @@ -6,21 +6,22 @@

    - public static class LogConfig { + public static class LogConfig { public String filePath; public int fileSizeInKB; public int level = Constants.LogLevel.getValue(Constants.LogLevel.LOG_LEVEL_INFO); } - __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject @property (copy, nonatomic) NSString * _Nullable filePath; @property (assign, nonatomic) NSInteger fileSizeInKB; @property (assign, nonatomic) AgoraLogLevel level; @end -

    + +

    - - - struct LogConfig { + + + struct LogConfig { const char* filePath; int fileSize; LOG_LEVEL level; @@ -30,7 +31,7 @@ ,level(LOG_LEVEL::LOG_LEVEL_INFO) {} }; - public class LogConfig + public class LogConfig { public LogConfig() { @@ -50,13 +51,13 @@ public int fileSize { set; get; } public LOG_LEVEL level { set; get; } }; - export interface LogConfig { + export interface LogConfig { filePath: string, fileSize: number, level: LOG_LEVEL } - - class LogConfig { + + class LogConfig { @JsonKey(includeIfNull: false) String? filePath; @@ -76,75 +77,72 @@ _$LogConfigFromJson(json); Map<String, dynamic> toJson() => _$LogConfigToJson(this); -}

    +} +

    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - filePath - -

    日志文件的绝对路径或相对路径(以 \ 或 / 结尾)。请确保你指定的目录存在且可写。你可以通过该参数修改日志文件名。

    -

    默认路径为: - -

      -
    • Android: /storage/emulated/0/Android/data/<package + + filePath + +

      日志文件的绝对路径或相对路径(以 \ 或 / 结尾)。请确保你指定的目录存在且可写。你可以通过该参数修改日志文件名。

      +

      默认路径为:

        +
      • Android: /storage/emulated/0/Android/data/<package name>/files/agorasdk.log/
      • -
      • iOS: App +
      • iOS: App Sandbox/Library/caches/agorasdk.log/
      • -
      • macOS: - -
          -
        • 开启沙盒: App +
        • macOS:
            +
          • 开启沙盒: App Sandbox/Library/Logs/agorasdk.log/,例如 /Users/<username>/Library/Containers/<App Bundle Identifier>/Data/Library/Logs/agorasdk.log/
          • -
          • 关闭沙盒: +
          • 关闭沙盒: ~/Library/Logs/agorasdk.log/
          • -
        • -
        • Windows: +
      • +
      • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\agorasdk.log\
      • -

      -

      默认路径为 +

    +

    默认路径为 /storage/emulated/0/Android/data/<package name>/files/agorasdk.log/

    -

    默认路径为 App +

    默认路径为 App Sandbox/Library/caches/agorasdk.log/

    -

    默认路径为: - -

      -
    • 开启沙盒: App +

      默认路径为:

        +
      • 开启沙盒: App Sandbox/Library/Logs/agorasdk.log/,例如 /Users/<username>/Library/Containers/<App Bundle Identifier>/Data/Library/Logs/agorasdk.log/
      • -
      • 关闭沙盒: ~/Library/Logs/agorasdk.log/ -
      • -

      - - - - fileSize - fileSizeInKB - 单个日志文件的大小,单位为 KB。默认值为 2014 KB。如果你将 fileSize 设为 1024 KB,SDK 会最多输出总计 5 MB 的日志文件。如果你将 fileSize 设为小于 1024 KB,则设置不生效,单个日志文件最大仍为 1024 KB。 - - - level - 声网 SDK 的日志输出等级,详见 - -
    +
  • 关闭沙盒: ~/Library/Logs/agorasdk.log/ +
  • + +

    + + + + fileSize + fileSizeInKB + 单个日志文件的大小,单位为 KB。默认值为 2014 KB。如果你将 fileSize 设为 1024 + KB,SDK 会最多输出总计 5 MB 的日志文件。如果你将 fileSize 设为小于 1024 + KB,则设置不生效,单个日志文件最大仍为 1024 KB。 + + + level + 声网 SDK 的日志输出等级,详见 + + +
    diff --git a/dita/RTC/API/class_loguploadserverinfo.dita b/dita/RTC/API/class_loguploadserverinfo.dita index 364e8b1834b..d7cb3f124e2 100644 --- a/dita/RTC/API/class_loguploadserverinfo.dita +++ b/dita/RTC/API/class_loguploadserverinfo.dita @@ -6,47 +6,47 @@

    - - - - - - -

    + + + + + + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - serverDomain - -

    日志服务器的域名。

    -
    -
    - - serverPath - -

    日志在服务器上的存储路径。

    -
    -
    - - serverPort - -

    日志服务器的端口。

    -
    -
    - - serverHttps - -

    日志服务器是否使用 https 协议: -

      -
    • true:使用 https 协议。
    • -
    • false:使用 https 协议。
    • -
    -

    -
    -
    + + serverDomain + +

    日志服务器的域名。

    +
    +
    + + serverPath + +

    日志在服务器上的存储路径。

    +
    +
    + + serverPort + +

    日志服务器的端口。

    +
    +
    + + serverHttps + +

    日志服务器是否使用 https 协议:

      +
    • true:使用 https 协议。
    • +
    • false:使用 https 协议。
    • +
    +

    +
    +
    diff --git a/dita/RTC/API/class_lowlightenhanceoptions.dita b/dita/RTC/API/class_lowlightenhanceoptions.dita index ed60b3f833f..a062661749d 100644 --- a/dita/RTC/API/class_lowlightenhanceoptions.dita +++ b/dita/RTC/API/class_lowlightenhanceoptions.dita @@ -1,19 +1,24 @@ - <ph keyref="LowLightEnhanceOptions"/> - 暗光增强选项。 + + <ph keyref="LowLightEnhanceOptions"/> + + + 暗光增强选项。 +

    - - -

    + + + +

    - - - - public class LowLightEnhanceOptions + + + + public class LowLightEnhanceOptions { public LowLightEnhanceOptions() { @@ -29,9 +34,9 @@ public LOW_LIGHT_ENHANCE_LEVEL level { set; get; } }; - - - class LowLightEnhanceOptions { + + + class LowLightEnhanceOptions { final LowLightEnhanceMode mode; final LowLightEnhanceLevel level; @@ -44,25 +49,27 @@ _$LowLightEnhanceOptionsFromJson(json); Map<String, dynamic> toJson() => _$LowLightEnhanceOptionsToJson(this); - }

    + }
    +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - level - -

    暗光增强等级。详见

    -
    -
    - - mode - -

    暗光增强模式。详见

    -
    -
    -
    + + level + +

    暗光增强等级。详见

    +
    +
    + + mode + +

    暗光增强模式。详见

    +
    +
    + +
    diff --git a/dita/RTC/API/class_mediadeviceinfo.dita b/dita/RTC/API/class_mediadeviceinfo.dita index 3a4d76d2ce5..7967bb8e4da 100644 --- a/dita/RTC/API/class_mediadeviceinfo.dita +++ b/dita/RTC/API/class_mediadeviceinfo.dita @@ -6,13 +6,13 @@

    - - - - - - - class MediaDeviceInfo { + + + + + + + class MediaDeviceInfo { String deviceId; String deviceName; @@ -26,19 +26,22 @@ _$MediaDeviceInfoFromJson(json); Map<String, dynamic> toJson() => _$MediaDeviceInfoToJson(this); -}

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - deviceId - 设备 ID。 - - - deviceName - 设备名称。 - -
    + + deviceId + 设备 ID。 + + + deviceName + 设备名称。 + + +
    diff --git a/dita/RTC/API/class_mediarecorderconfiguration.dita b/dita/RTC/API/class_mediarecorderconfiguration.dita index 43697d3f3d3..8c3a82a29cd 100644 --- a/dita/RTC/API/class_mediarecorderconfiguration.dita +++ b/dita/RTC/API/class_mediarecorderconfiguration.dita @@ -6,9 +6,9 @@

    - - - struct MediaRecorderConfiguration { + + + struct MediaRecorderConfiguration { const char* storagePath; MediaRecorderContainerFormat containerFormat; MediaRecorderStreamType streamType; @@ -18,16 +18,16 @@ MediaRecorderConfiguration() : storagePath(nullptr), containerFormat(FORMAT_MP4), streamType(STREAM_TYPE_BOTH), maxDurationMs(120000), recorderInfoUpdateInterval(0) {} MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {} }; - - public struct MediaRecorderConfiguration { + + public struct MediaRecorderConfiguration { public string storagePath; public MediaRecorderContainerFormat containerFormat; public MediaRecorderStreamType streamType; public int maxDurationMs; public int recorderInfoUpdateInterval; }; - - class MediaRecorderConfiguration { + + class MediaRecorderConfiguration { final String? storagePath; @@ -52,46 +52,46 @@ _$MediaRecorderConfigurationFromJson(json); Map<String, dynamic> toJson() => _$MediaRecorderConfigurationToJson(this); - }

    + } +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - storagePath - 录音文件在本地保存的绝对路径,需精确到文件名及格式。例如: - -
      -
    • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.mp4
    • -
    • iOS: /App Sandbox/Library/Caches/example.mp4
    • -
    • macOS: /Library/Logs/example.mp4
    • -
    • Android: /storage/emulated/0/Android/data/<package name>/files/example.mp4
    • -
    - 请确保你指定的路径存在并且可写。
    -
    - - containerFormat - 录制文件的格式。详见 - - - streamType - 录制内容。详见 - - - maxDurationMs - 最大录制时长,单位为毫秒,默认值为 120,000。 - - - recorderInfoUpdateInterval - 录制信息更新间隔,单位为毫秒,取值范围为 [1000,10000]。SDK 会根据该值的设置触发 回调,报告更新后的录制信息。 - -
    + + storagePath + 录音文件在本地保存的绝对路径,需精确到文件名及格式。例如:
      +
    • Windows: + C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.mp4
    • +
    • iOS: /App Sandbox/Library/Caches/example.mp4
    • +
    • macOS: /Library/Logs/example.mp4
    • +
    • Android: /storage/emulated/0/Android/data/<package + name>/files/example.mp4
    • +
    + 请确保你指定的路径存在并且可写。
    +
    + + containerFormat + 录制文件的格式。详见 + + + streamType + 录制内容。详见 + + + maxDurationMs + 最大录制时长,单位为毫秒,默认值为 120,000。 + + + recorderInfoUpdateInterval + 录制信息更新间隔,单位为毫秒,取值范围为 [1000,10000]。SDK 会根据该值的设置触发 回调,报告更新后的录制信息。 + + +
    diff --git a/dita/RTC/API/class_metadata.dita b/dita/RTC/API/class_metadata.dita index 13dcd2ec711..fb7299cb9e9 100644 --- a/dita/RTC/API/class_metadata.dita +++ b/dita/RTC/API/class_metadata.dita @@ -6,15 +6,15 @@

    - - - struct Metadata { + + + struct Metadata { unsigned int uid; unsigned int size; unsigned char *buffer; long long timeStampMs; }; - public class Metadata + public class Metadata { public Metadata() { @@ -34,14 +34,14 @@ public byte[] buffer { set; get; } public long timeStampMs { set; get; } }; - export interface Metadata { + export interface Metadata { uid: number; size: number; buffer: string; timeStampMs: number; } - - class Metadata { + + class Metadata { int uid; @JsonKey(ignore: true) @@ -54,36 +54,35 @@ _$MetadataFromJson(json); 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" + /> - - uid - -

    用户 ID。 - -

      -
    • 对于接收者:发送该 的远端用户的 ID。
    • -
    • 对于发送者:请忽略。
    • -

    -
    -
    - - size - 接收到的或发送的 的缓存大小。 - - - buffer - 接收到的或发送的 的缓存地址。 - - - timeStampMs - 的时间戳,单位为毫秒。 - -
    + + uid + +

    用户 ID。

      +
    • 对于接收者:发送该 的远端用户的 ID。
    • +
    • 对于发送者:请忽略。
    • +

    +
    +
    + + size + 接收到的或发送的 的缓存大小。 + + + buffer + 接收到的或发送的 的缓存地址。 + + + timeStampMs + 的时间戳,单位为毫秒。 + + +
    diff --git a/dita/RTC/API/class_packet.dita b/dita/RTC/API/class_packet.dita index 562a3a0245a..1246106fa8d 100644 --- a/dita/RTC/API/class_packet.dita +++ b/dita/RTC/API/class_packet.dita @@ -2,18 +2,17 @@ <ph keyref="Packet"/> - 定义。 + 定义。

    - struct Packet { + struct Packet { const unsigned char* buffer; unsigned int size; Packet() : buffer(NULL), size(0) {} }; - public class Packet + public class Packet { public Packet() { @@ -30,36 +29,37 @@ }

    - struct Packet { + struct Packet { const unsigned char* buffer; unsigned int size; }; - - public struct Packet + + public struct Packet { public IntPtr buffer; public IntPtr size; }; - -

    + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - buffer - -

    需要发送或接收的数据的缓存地址。

    - 声网建议 buffer 值不要小于 2048 字节,否则有可能会出现未定义行为(例如崩溃)。 -
    -
    - - size - 将要发送或接收的数据的缓存大小。 - -
    + + buffer + +

    需要发送或接收的数据的缓存地址。

    + 声网建议 buffer 值不要小于 2048 + 字节,否则有可能会出现未定义行为(例如崩溃)。 +
    +
    + + size + 将要发送或接收的数据的缓存大小。 + + +
    diff --git a/dita/RTC/API/class_playerstreaminfo.dita b/dita/RTC/API/class_playerstreaminfo.dita index 6a42790c3df..7da795b09b9 100644 --- a/dita/RTC/API/class_playerstreaminfo.dita +++ b/dita/RTC/API/class_playerstreaminfo.dita @@ -6,7 +6,7 @@

    - public struct PlayerStreamInfo { + public struct PlayerStreamInfo { public int streamIndex; public MEDIA_STREAM_TYPE streamType; @@ -21,9 +21,10 @@ public int audioChannels; public int audioBitsPerSample; public Int64 duration; - };

    + }; +

    - public class MediaStreamInfo { + public class MediaStreamInfo { private int streamIndex; private int mediaStreamType; private String codecName; @@ -40,7 +41,7 @@ public MediaStreamInfo() {} } - __attribute__((visibility("default"))) @interface AgoraMediaStreamInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaStreamInfo : NSObject @property(nonatomic, assign) NSInteger streamIndex; @property(nonatomic, assign) AgoraMediaStreamType streamType; @@ -56,7 +57,7 @@ @property(nonatomic, assign) NSInteger rotation; @end - struct PlayerStreamInfo { + struct PlayerStreamInfo { int streamIndex; MEDIA_STREAM_TYPE streamType; char codecName[kMaxCharBufferLength]; @@ -83,77 +84,79 @@ duration(0) { memset(codecName, 0, sizeof(codecName)); memset(language, 0, sizeof(language)); - - -

    + + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - streamIndex - 媒体流的索引值。 - - - streamType - mediaStreamType - 此条媒体流的类型。详见 -
      -
    • (0): 未知类型。
    • -
    • (1): 视频流。
    • -
    • (2): 音频流。
    • -
    • (3): 字幕流。
    • -
    -
    - - codecName - 此条媒体流的编码规格。 - - - language - 此条媒体流的语言。 - - - videoFrameRate - 该参数仅对视频流生效,表示视频帧率 (fps)。 - - - videoBitRate - 该参数仅对视频流生效,表示视频码率 (bps)。 - - - videoWidth - 该参数仅对视频流生效,表示视频宽度 (pixel)。 - - - videoHeight - 该参数仅对视频流生效,表示视频高度 (pixel)。 - - - videoRotation - rotation - 该参数仅对视频流生效,表示旋转角度。 - - - audioSampleRate - 该参数仅对音频流生效,表示音频采样率 (Hz)。 - - - audioChannels - 该参数仅对音频流生效,表示声道数。 - - - audioBitsPerSample - audioBytesPerSample - 该参数仅对音频流生效,表示每个音频采样点的位数 (bit)。 - - - duration - 媒体流的时长(秒)。 - -
    + + streamIndex + 媒体流的索引值。 + + + streamType + mediaStreamType + 此条媒体流的类型。详见 +
      +
    • (0): 未知类型。
    • +
    • (1): 视频流。
    • +
    • (2): 音频流。
    • +
    • (3): 字幕流。
    • +
    +
    +
    + + codecName + 此条媒体流的编码规格。 + + + language + 此条媒体流的语言。 + + + videoFrameRate + 该参数仅对视频流生效,表示视频帧率 (fps)。 + + + videoBitRate + 该参数仅对视频流生效,表示视频码率 (bps)。 + + + videoWidth + 该参数仅对视频流生效,表示视频宽度 (pixel)。 + + + videoHeight + 该参数仅对视频流生效,表示视频高度 (pixel)。 + + + videoRotation + rotation + 该参数仅对视频流生效,表示旋转角度。 + + + audioSampleRate + 该参数仅对音频流生效,表示音频采样率 (Hz)。 + + + audioChannels + 该参数仅对音频流生效,表示声道数。 + + + audioBitsPerSample + audioBytesPerSample + 该参数仅对音频流生效,表示每个音频采样点的位数 (bit)。 + + + duration + 媒体流的时长(秒)。 + + +
    diff --git a/dita/RTC/API/class_playerupdatedinfo.dita b/dita/RTC/API/class_playerupdatedinfo.dita index 53f9fa6f4a4..e2b048eb1b7 100644 --- a/dita/RTC/API/class_playerupdatedinfo.dita +++ b/dita/RTC/API/class_playerupdatedinfo.dita @@ -6,12 +6,13 @@

    - public class PlayerUpdatedInfo { + public class PlayerUpdatedInfo { public string playerId; public string deviceId; - };

    + }; +

    - public class PlayerUpdatedInfo { + public class PlayerUpdatedInfo { public String playerId; public String deviceId; @@ -20,29 +21,32 @@ deviceId = null; } } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject @property(copy, nonatomic) NSString *_Nullable playerId; @property(copy, nonatomic) NSString *_Nullable deviceId; @end - struct PlayerUpdatedInfo { + struct PlayerUpdatedInfo { Optional<const char*> playerId; Optional<const char*> deviceId; }; - - -

    + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - playerId - 播放器 ID,标识一个播放器。 - - - deviceId - 设备 ID,标识一个设备。 - -
    + + playerId + 播放器 ID,标识一个播放器。 + + + deviceId + 设备 ID,标识一个设备。 + + +
    diff --git a/dita/RTC/API/class_plugin.dita b/dita/RTC/API/class_plugin.dita index 1793bdb8638..aca7a35b4ef 100644 --- a/dita/RTC/API/class_plugin.dita +++ b/dita/RTC/API/class_plugin.dita @@ -6,74 +6,79 @@

    - - - - export interface Plugin { + + + + export interface Plugin { id: string; enable: () => number; disable: () => number; setParameter: (param: string) => number; getParameter: (paramKey: string) => string; } - - -

    + + + +

    调用 注册插件后,你可以通过 获取 接口。

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - id - 用于标识插件的 ID。 - - - enable - 开启插件。 - 返回值 -
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    -
    - - disable - 关闭插件。 - 返回值 -
      -
    • 0:方法调用成功。
    • -
    • < 0: 方法调用失败。
    • -
    -
    - - setParameter - 设置插件参数。调用 getParameter 获取到 Value 值后,你可以调用本方法将包含 Key 和 Value 值的 JSON 字符串数据传递给 C++ 层。 - 参数 - - - param - 包含 Key 和 Value 值的 JSON 字符串。 - - - - - getParameter - 获取插件参数。如果你想在使用插件时将 JSON 字符串数据传递给 C++ 层,你需要调用该方法和 setParameter获取并设置参数。 - 参数 - - - paramKey - Key 值。 - - - 返回值 -

    Key 值对应的 Value 值。

    -
    -
    -
    + + id + 用于标识插件的 ID。 + + + enable + 开启插件。 + 返回值 +
      +
    • 0:方法调用成功。
    • +
    • < 0: 方法调用失败。
    • +
    +
    + + disable + 关闭插件。 + 返回值 +
      +
    • 0:方法调用成功。
    • +
    • < 0: 方法调用失败。
    • +
    +
    + + setParameter + 设置插件参数。调用 getParameter 获取到 Value 值后,你可以调用本方法将包含 Key 和 + Value 值的 JSON 字符串数据传递给 C++ 层。 + 参数 + + + param + 包含 Key 和 Value 值的 JSON 字符串。 + + + + + getParameter + 获取插件参数。如果你想在使用插件时将 JSON 字符串数据传递给 C++ 层,你需要调用该方法和 + setParameter获取并设置参数。 + 参数 + + + paramKey + Key 值。 + + + 返回值 +

    Key 值对应的 Value 值。

    +
    +
    + +
    diff --git a/dita/RTC/API/class_plugininfo.dita b/dita/RTC/API/class_plugininfo.dita index 54708ff8e6e..0b39128d806 100644 --- a/dita/RTC/API/class_plugininfo.dita +++ b/dita/RTC/API/class_plugininfo.dita @@ -6,33 +6,36 @@

    - - - - export interface PluginInfo { + + + + export interface PluginInfo { pluginId: string; pluginPath: string; order: number; } - - -

    + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - pluginId - 用于标识插件的 ID。 - - - pluginPath - 插件文件的绝对路径。 - - - order - 插件的优先级。使用多个插件时,SDK 会根据优先级使用插件。取值为不小于 0 的整数。0 代表最高优先级。 - -
    + + pluginId + 用于标识插件的 ID。 + + + pluginPath + 插件文件的绝对路径。 + + + order + 插件的优先级。使用多个插件时,SDK 会根据优先级使用插件。取值为不小于 0 的整数。0 代表最高优先级。 + + +
    diff --git a/dita/RTC/API/class_recorderinfo.dita b/dita/RTC/API/class_recorderinfo.dita index a1d8bcc9ace..3d548eec112 100644 --- a/dita/RTC/API/class_recorderinfo.dita +++ b/dita/RTC/API/class_recorderinfo.dita @@ -6,9 +6,9 @@

    - - - struct RecorderInfo { + + + struct RecorderInfo { const char* fileName; unsigned int durationMs; unsigned int fileSize; @@ -16,14 +16,14 @@ RecorderInfo() = default; RecorderInfo(const char* name, unsigned int dur, unsigned int size) : fileName(name), durationMs(dur), fileSize(size) {} }; - - public struct RecorderInfo { + + public struct RecorderInfo { public string fileName; public uint durationMs; public uint fileSize; }; - - class RecorderInfo { + + class RecorderInfo { final String fileName; @@ -37,25 +37,26 @@ _$RecorderInfoFromJson(json); Map<String, dynamic> toJson() => _$RecorderInfoToJson(this); - }

    + } +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - fileName - 录制文件的绝对存储路径。 - - - durationMs - 录制文件的时长,单位为毫秒。 - - - fileSize - 录制文件的大小,单位为字节。 - -
    + + fileName + 录制文件的绝对存储路径。 + + + durationMs + 录制文件的时长,单位为毫秒。 + + + fileSize + 录制文件的大小,单位为字节。 + + +
    diff --git a/dita/RTC/API/class_rect.dita b/dita/RTC/API/class_rect.dita index 797236fb02d..6c04fa8c020 100644 --- a/dita/RTC/API/class_rect.dita +++ b/dita/RTC/API/class_rect.dita @@ -6,9 +6,9 @@

    - - - typedef struct Rect { + + + typedef struct Rect { int top; int left; int bottom; @@ -17,7 +17,7 @@ Rect(): top(0), left(0), bottom(0), right(0) {} Rect(int t, int l, int b, int r): top(t), left(l), bottom(b), right(r) {} } Rect; - public class Rect + public class Rect { public Rect() { @@ -36,14 +36,14 @@ public int bottom { set; get; } public int right { set; get; } } - export interface Rect { + export interface Rect { top: number; left: number; bottom: number; right: number; } - - class Rect { + + class Rect { @JsonKey(includeIfNull: false) @Deprecated('This property is deprecated, pls use x instead.') @@ -84,54 +84,54 @@ Map<String, dynamic> toJson() => _$RectToJson(this); } -

    + +

    - -
    弃用:
    -
    该类已废弃,请使用 方法更新屏幕共享区域。
    -
    + +
    弃用:
    +
    该类已废弃,请使用 方法更新屏幕共享区域。
    +
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - top - 已废弃。共享区域顶部在纵轴上的坐标。 - - - left - 已废弃。共享区域左侧在横轴上的坐标。 - - - bottom - 已废弃。共享区域底部在纵轴上的坐标。 - - - right - 已废弃。共享区域右侧在横轴上的坐标。 - - - x - 左上角的横向偏移。 - - - y - 左上角的纵向偏移。 - - - width - 目标区域的宽度。 - - - height - 目标区域的高度。 - -
    + + top + 已废弃。共享区域顶部在纵轴上的坐标。 + + + left + 已废弃。共享区域左侧在横轴上的坐标。 + + + bottom + 已废弃。共享区域底部在纵轴上的坐标。 + + + right + 已废弃。共享区域右侧在横轴上的坐标。 + + + x + 左上角的横向偏移。 + + + y + 左上角的纵向偏移。 + + + width + 目标区域的宽度。 + + + height + 目标区域的高度。 + + +
    diff --git a/dita/RTC/API/class_rectangle.dita b/dita/RTC/API/class_rectangle.dita index a08e0c03f4f..be0340cd085 100644 --- a/dita/RTC/API/class_rectangle.dita +++ b/dita/RTC/API/class_rectangle.dita @@ -2,12 +2,11 @@ <ph keyref="Rectangle"/> - 目标区域相对于整个屏幕或窗口的位置,如不填,则表示整个屏幕或窗口。 + 目标区域相对于整个屏幕或窗口的位置,如不填,则表示整个屏幕或窗口。

    - public class Rectangle + public class Rectangle { public Rectangle() { @@ -28,9 +27,10 @@ public int height { set; get; } } -

    + +

    - public static class Rectangle { + public static class Rectangle { public int x = 0; public int y = 0; public int width = 0; @@ -49,8 +49,8 @@ height = height_; } }; - - struct Rectangle { + + struct Rectangle { int x; int y; int width; @@ -59,7 +59,7 @@ Rectangle(): x(0), y(0), width(0), height(0) {} Rectangle(int xx, int yy, int ww, int hh): x(xx), y(yy), width(ww), height(hh) {} }; - public class Rectangle + public class Rectangle { public Rectangle() { @@ -78,14 +78,14 @@ public int width { set; get; } public int height { set; get; } } - export interface Rectangle { + export interface Rectangle { x: number; y: number; width: number; height: number; } - - class Rectangle { + + class Rectangle { @JsonKey(includeIfNull: false) int? x; @@ -110,29 +110,30 @@ _$RectangleFromJson(json); Map<String, dynamic> toJson() => _$RectangleToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - x - 左上角的横向偏移。 - - - y - 左上角的纵向偏移。 - - - width - 目标区域的宽度。 - - - height - 目标区域的高度。 - -
    + + x + 左上角的横向偏移。 + + + y + 左上角的纵向偏移。 + + + width + 目标区域的宽度。 + + + height + 目标区域的高度。 + + +
    diff --git a/dita/RTC/API/class_remoteaudiostats.dita b/dita/RTC/API/class_remoteaudiostats.dita index a9633af3f40..5bbed715132 100644 --- a/dita/RTC/API/class_remoteaudiostats.dita +++ b/dita/RTC/API/class_remoteaudiostats.dita @@ -6,7 +6,7 @@

    - public static class RemoteAudioStats { + public static class RemoteAudioStats { public int uid; public int quality; public int networkTransportDelay; @@ -22,7 +22,7 @@ public long publishDuration; public long qoeQuality; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger quality; @property(assign, nonatomic) NSUInteger networkTransportDelay; @@ -38,7 +38,7 @@ @property(assign, nonatomic) NSUInteger mosValue; @property(assign, nonatomic) NSInteger qoeQuality; @end - struct RemoteAudioStats + struct RemoteAudioStats { uid_t uid; int quality; @@ -71,7 +71,7 @@ publishDuration(0){} qoeQuality(0) {} }; - public class RemoteAudioStats + public class RemoteAudioStats { public RemoteAudioStats() { @@ -120,9 +120,10 @@ public int totalActiveTime { set; get; } public int publishDuration { set; get; } - }

    + } +

    - public static class RemoteAudioStats { + public static class RemoteAudioStats { public int uid; public int quality; public int networkTransportDelay; @@ -139,7 +140,7 @@ public int qualityChangedReason; public int mosValue; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger quality; @property(assign, nonatomic) NSUInteger networkTransportDelay; @@ -156,7 +157,7 @@ @property(assign, nonatomic) NSUInteger qualityChangedReason; @property(assign, nonatomic) NSInteger mosValue; @end - struct RemoteAudioStats { + struct RemoteAudioStats { uid_t uid; int quality; int networkTransportDelay; @@ -173,7 +174,7 @@ int qualityChangedReason; int mosValue; }; - public class RemoteAudioStats + public class RemoteAudioStats { public RemoteAudioStats() { @@ -217,7 +218,7 @@ public int qualityChangedReason { set; get; } public int mosValue { set; get; } } - export interface RemoteAudioStats { + export interface RemoteAudioStats { uid: number; quality: number; networkTransportDelay: number; @@ -234,8 +235,8 @@ qualityChangedReason: number; mosValue: number; } - - class RemoteAudioStats { + + class RemoteAudioStats { int uid; NetworkQuality quality; @@ -275,166 +276,164 @@ _$RemoteAudioStatsFromJson(json); Map<String, dynamic> toJson() => _$RemoteAudioStatsToJson(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。 - - - quality - 远端用户发送的音频流质量。详见 -

    -

      -
    • (0):质量未知。
    • -
    • (1):质量极好。
    • -
    • (2):用户主观感觉和极好差不多,但码率可能略低于极好。
    • -
    • (3):用户主观感受有瑕疵但不影响沟通。
    • -
    • (4):勉强能沟通但不顺畅。
    • -
    • (5):网络质量非常差,基本不能沟通。
    • -
    • (6):网络连接断开,完全无法沟通。
    • -

    -
    -
    - - networkTransportDelay - 音频发送端到接收端的网络延迟(毫秒)。 - - - jitterBufferDelay - -

    音频接收端到网络抖动缓冲的网络延迟(毫秒)。 - - - 当接收端为观众且 audienceLatencyLevel 为 1 时,该参数不生效。

    -
    -
    - - audioLossRate - 统计周期内的远端音频流的丢帧率 (%)。 - - - numChannels - 声道数。 - - - receivedSampleRate - 统计周期内接收到的远端音频流的采样率。 - - - receivedBitrate - 接收到的远端音频流在统计周期内的平均码率(Kbps)。 - - - totalFrozenTime - 远端用户在加入频道后发生音频卡顿的累计时长(毫秒)。通话过程中,音频丢帧率达到 4% 即记为一次音频卡顿。 - - - frozenRate - 音频卡顿的累计时长占音频总有效时长的百分比 (%)。音频有效时长是指远端用户加入频道后音频未被停止发送或禁用的时长。 - - - totalActiveTime - -
    - -
    自从
    -
    v3.3.0
    -
    -
    -

    远端用户在音频通话开始到本次回调之间的有效时长(毫秒)。

    -

    有效时长是指去除了远端用户进入静音状态的总时长。

    -
    -
    - - publishDuration - -
    - -
    自从
    -
    v3.1.0
    -
    -
    -

    远端音频流的累计发布时长(毫秒)。

    -
    -
    - - qoeQuality - -
    - -
    自从
    -
    v3.3.0
    -
    -
    -

    接收远端音频时,本地用户的主观体验质量,详见

    -
    -
    - - qualityChangedReason - -
    - -
    自从
    -
    v3.3.0
    -
    -
    -

    接收远端音频时,本地用户主观体验质量较差的原因,详见

    -
    -
    - - mosValue - -
    - -
    自从
    -
    v3.3.1
    -
    -
    -

    统计周期内,声网实时音频 MOS(平均主观意见分)评估方法对接收到的远端音频流的质量评分。返回值范围为 [0,500]。返回值除以 100 即可得到 MOS 分数,范围为 [0,5] 分,分数越高,音频质量越好。

    -

    声网实时音频 MOS 评分对应的主观音质感受如下: - - MOS分数 - 音质感受 - - - 大于 4 分 - 音频质量佳,清晰流畅。 - - - 3.5 - 4 分 - 音频质量较好,偶有音质损伤,但依然清晰。 - - - 3 - 3.5 分 - 音频质量一般,偶有卡顿,不是非常流畅,需要一点注意力才能听清。 - - - 2.5 - 3 分 - 音频质量较差,卡顿频繁,需要集中精力才能听清。 - - - 2 - 2.5 分 - 音频质量很差,偶有杂音,部分语义丢失,难以交流。 - - - 小于 2 分 - 音频质量非常差,杂音频现,大量语义丢失,完全无法交流。 - -

    -
    -
    -
    + + uid + 远端用户的用户 ID。 + + + quality + 远端用户发送的音频流质量。详见 +

    +

      +
    • (0):质量未知。
    • +
    • (1):质量极好。
    • +
    • (2):用户主观感觉和极好差不多,但码率可能略低于极好。
    • +
    • (3):用户主观感受有瑕疵但不影响沟通。
    • +
    • (4):勉强能沟通但不顺畅。
    • +
    • (5):网络质量非常差,基本不能沟通。
    • +
    • (6):网络连接断开,完全无法沟通。
    • +
    +

    +
    +
    + + networkTransportDelay + 音频发送端到接收端的网络延迟(毫秒)。 + + + jitterBufferDelay + +

    音频接收端到网络抖动缓冲的网络延迟(毫秒)。 当接收端为观众且 的 + audienceLatencyLevel 为 1 + 时,该参数不生效。

    +
    +
    + + audioLossRate + 统计周期内的远端音频流的丢帧率 (%)。 + + + numChannels + 声道数。 + + + receivedSampleRate + 统计周期内接收到的远端音频流的采样率。 + + + receivedBitrate + 接收到的远端音频流在统计周期内的平均码率(Kbps)。 + + + totalFrozenTime + 远端用户在加入频道后发生音频卡顿的累计时长(毫秒)。通话过程中,音频丢帧率达到 4% 即记为一次音频卡顿。 + + + frozenRate + 音频卡顿的累计时长占音频总有效时长的百分比 (%)。音频有效时长是指远端用户加入频道后音频未被停止发送或禁用的时长。 + + + totalActiveTime + +
    + +
    自从
    +
    v3.3.0
    +
    +
    +

    远端用户在音频通话开始到本次回调之间的有效时长(毫秒)。

    +

    有效时长是指去除了远端用户进入静音状态的总时长。

    +
    +
    + + publishDuration + +
    + +
    自从
    +
    v3.1.0
    +
    +
    +

    远端音频流的累计发布时长(毫秒)。

    +
    +
    + + qoeQuality + +
    + +
    自从
    +
    v3.3.0
    +
    +
    +

    接收远端音频时,本地用户的主观体验质量,详见

    +
    +
    + + qualityChangedReason + +
    + +
    自从
    +
    v3.3.0
    +
    +
    +

    接收远端音频时,本地用户主观体验质量较差的原因,详见

    +
    +
    + + mosValue + +
    + +
    自从
    +
    v3.3.1
    +
    +
    +

    统计周期内,声网实时音频 MOS(平均主观意见分)评估方法对接收到的远端音频流的质量评分。返回值范围为 [0,500]。返回值除以 100 + 即可得到 MOS 分数,范围为 [0,5] 分,分数越高,音频质量越好。

    +

    声网实时音频 MOS 评分对应的主观音质感受如下: + + MOS分数 + 音质感受 + + + 大于 4 分 + 音频质量佳,清晰流畅。 + + + 3.5 - 4 分 + 音频质量较好,偶有音质损伤,但依然清晰。 + + + 3 - 3.5 分 + 音频质量一般,偶有卡顿,不是非常流畅,需要一点注意力才能听清。 + + + 2.5 - 3 分 + 音频质量较差,卡顿频繁,需要集中精力才能听清。 + + + 2 - 2.5 分 + 音频质量很差,偶有杂音,部分语义丢失,难以交流。 + + + 小于 2 分 + 音频质量非常差,杂音频现,大量语义丢失,完全无法交流。 + +

    +
    +
    + +
    diff --git a/dita/RTC/API/class_remotevideostats.dita b/dita/RTC/API/class_remotevideostats.dita index cc65145767c..f5d1ebe2866 100644 --- a/dita/RTC/API/class_remotevideostats.dita +++ b/dita/RTC/API/class_remotevideostats.dita @@ -6,7 +6,7 @@

    - public static class RemoteVideoStats { + public static class RemoteVideoStats { public int uid; public int delay; public int width; @@ -24,7 +24,7 @@ public long publishDuration; public int superResolutionType; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger delay __deprecated; @property(assign, nonatomic) NSUInteger width; @@ -43,7 +43,7 @@ @property(assign, nonatomic) NSInteger avSyncTimeMs; @property(assign, nonatomic) NSInteger superResolutionType; @end - struct RemoteVideoStats { + struct RemoteVideoStats { uid_t uid; int delay; int width; @@ -61,7 +61,7 @@ int publishDuration; int superResolutionType; }; - public class RemoteVideoStats + public class RemoteVideoStats { public RemoteVideoStats() { @@ -117,9 +117,10 @@ public int totalActiveTime { set; get; } public int publishDuration { set; get; } - }

    + } +

    - public static class RemoteVideoStats { + public static class RemoteVideoStats { public int uid; @Deprecated public int delay; @@ -135,7 +136,7 @@ public int totalActiveTime; public int publishDuration; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger __deprecated delay; @property(assign, nonatomic) NSUInteger width; @@ -150,7 +151,7 @@ @property(assign, nonatomic) NSUInteger totalActiveTime; @property(assign, nonatomic) NSInteger publishDuration; @end - struct RemoteVideoStats { + struct RemoteVideoStats { uid_t uid; int delay; int width; @@ -165,7 +166,7 @@ int totalActiveTime; int publishDuration; }; - public class RemoteVideoStats + public class RemoteVideoStats { public RemoteVideoStats() { @@ -205,7 +206,7 @@ public int totalActiveTime { set; get; } public int publishDuration { set; get; } } - export interface RemoteVideoStats { + export interface RemoteVideoStats { uid: number; delay: number; width: number; @@ -220,8 +221,8 @@ totalActiveTime: number; publishDuration: number; } - - + + class RemoteVideoStats { int uid; @@ -260,126 +261,124 @@ class RemoteVideoStats { _$RemoteVideoStatsFromJson(json); Map<String, dynamic> toJson() => _$RemoteVideoStatsToJson(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,指定是哪个用户的视频流。 - - - delay - -
    - -
    弃用:
    -
    在有音画同步机制的音视频场景中,你可以参考 里的 networkTransportDelayjitterBufferDelay 成员的值,了解视频的延迟数据。
    -
    -
    -

    延时(毫秒)。

    -
    -
    - - width - 视频流宽(像素)。 - - - height - 视频流高(像素)。 - - - receivedBitrate - (上次统计后)接收到的码率(Kbps)。 - - - receivedFramerate - (上次统计后)接收到的帧率 (fps)。 - - - decoderOutputFrameRate - 远端视频解码器的输出帧率,单位为 fps。 - - - rendererOutputFrameRate - 远端视频渲染器的输出帧率,单位为 fps。 - - - frameLossRate - 远端视频丢包率(%)。 - - - packetLossRate - 远端视频在使用抗丢包技术之后的丢包率(%)。 - - - rxStreamType - 视频流类型,大流或小流。详见 -

    -

      -
    • (0):视频大流,即高分辨率高码率的视频流。
    • -
    • (1):视频小流,即低分辨率低码率的视频流。
    • -

    -
    -
    - - totalFrozenTime - 远端用户在加入频道后发生视频卡顿的累计时长(ms)。通话过程中,视频帧率设置不低于 5 fps 时,连续渲染的两帧视频之间间隔超过 500 - ms,则记为一次视频卡顿。 - - - frozenRate - 远端用户在加入频道后发生视频卡顿的累计时长占视频总有效时长的百分比 (%)。视频有效时长是指远端用户加入频道后视频未被停止发送或禁用的时长。 - - - totalActiveTime - -
    - -
    自从
    -
    v3.0.1
    -
    -
    -

    视频有效时长(毫秒)。

    -

    视频总有效时长是远端用户或主播加入频道后,既没有停止发送视频流,也没有禁用视频模块的通话时长。

    -
    -
    - - publishDuration - -
    - -
    自从
    -
    v3.1.0
    -
    -
    -

    远端视频流的累计发布时长(毫秒)。

    -
    -
    - - superResolutionType - 超分辨率的开启状态: - - -
      -
    • >0:超分辨率已开启。
    • -
    • =0:超分辨率未开启。
    • -
    -
    - - avSyncTimeMs - 音频超前视频的时间 (ms)。 - - 如果为负值,则代表音频落后于视频。 - -
    + + uid + 用户 ID,指定是哪个用户的视频流。 + + + delay + +
    + +
    弃用:
    +
    在有音画同步机制的音视频场景中,你可以参考 里的 + networkTransportDelay 和 + jitterBufferDelay 成员的值,了解视频的延迟数据。
    +
    +
    +

    延时(毫秒)。

    +
    +
    + + width + 视频流宽(像素)。 + + + height + 视频流高(像素)。 + + + receivedBitrate + (上次统计后)接收到的码率(Kbps)。 + + + receivedFramerate + (上次统计后)接收到的帧率 (fps)。 + + + decoderOutputFrameRate + 远端视频解码器的输出帧率,单位为 fps。 + + + rendererOutputFrameRate + 远端视频渲染器的输出帧率,单位为 fps。 + + + frameLossRate + 远端视频丢包率(%)。 + + + packetLossRate + 远端视频在使用抗丢包技术之后的丢包率(%)。 + + + rxStreamType + 视频流类型,大流或小流。详见 +

    +

      +
    • + (0):视频大流,即高分辨率高码率的视频流。
    • +
    • + (1):视频小流,即低分辨率低码率的视频流。
    • +
    +

    +
    +
    + + totalFrozenTime + 远端用户在加入频道后发生视频卡顿的累计时长(ms)。通话过程中,视频帧率设置不低于 5 fps 时,连续渲染的两帧视频之间间隔超过 500 + ms,则记为一次视频卡顿。 + + + frozenRate + 远端用户在加入频道后发生视频卡顿的累计时长占视频总有效时长的百分比 (%)。视频有效时长是指远端用户加入频道后视频未被停止发送或禁用的时长。 + + + totalActiveTime + +
    + +
    自从
    +
    v3.0.1
    +
    +
    +

    视频有效时长(毫秒)。

    +

    视频总有效时长是远端用户或主播加入频道后,既没有停止发送视频流,也没有禁用视频模块的通话时长。

    +
    +
    + + publishDuration + +
    + +
    自从
    +
    v3.1.0
    +
    +
    +

    远端视频流的累计发布时长(毫秒)。

    +
    +
    + + superResolutionType + 超分辨率的开启状态:
      +
    • >0:超分辨率已开启。
    • +
    • =0:超分辨率未开启。
    • +
    +
    +
    + + avSyncTimeMs + 音频超前视频的时间 (ms)。 如果为负值,则代表音频落后于视频。 + + +
    diff --git a/dita/RTC/API/class_remotevoicepositioninfo.dita b/dita/RTC/API/class_remotevoicepositioninfo.dita index 28c148ed59f..dbb8ed7945b 100644 --- a/dita/RTC/API/class_remotevoicepositioninfo.dita +++ b/dita/RTC/API/class_remotevoicepositioninfo.dita @@ -6,7 +6,7 @@

    - public class RemoteVoicePositionInfo { + public class RemoteVoicePositionInfo { public float[] position; public float[] forward; @@ -15,18 +15,18 @@ forward = new float[] {0.0f, 0.0f, 0.0f}; } } - __attribute__((visibility("default"))) @interface AgoraRemoteVoicePositionInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraRemoteVoicePositionInfo : NSObject @property(strong, nonatomic) NSArray<NSNumber*> * _Nonnull position; @property(strong, nonatomic) NSArray<NSNumber*> * _Nullable forward; @end - struct RemoteVoicePositionInfo { + struct RemoteVoicePositionInfo { float position[3]; float forward[3]; RemoteVoicePositionInfo() = default; }; - - public class RemoteVoicePositionInfo + + public class RemoteVoicePositionInfo { public RemoteVoicePositionInfo(float[] position, float[] forward) { @@ -37,22 +37,23 @@ public float[] position { set; get; } public float[] forward { set; get; } }; - -

    + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - forward - - -
    + + + + + + forward + + + +
    diff --git a/dita/RTC/API/class_rendererconfig.dita b/dita/RTC/API/class_rendererconfig.dita index a2b3418efea..147b1716e3d 100644 --- a/dita/RTC/API/class_rendererconfig.dita +++ b/dita/RTC/API/class_rendererconfig.dita @@ -6,42 +6,45 @@

    - - - - export interface RendererConfig { + + + + export interface RendererConfig { user: User; view: Element | undefined; rendererOptions?: RendererOptions; channelId?: Channel; fps?: number; - - -

    + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - user - 视频所属的用户,详见 - - - view - 用于渲染视频的 Dom。传空代表销毁视频渲染。 - - - rendererOptions - 视频的渲染选项。详见 - - - channelId - 标识视频渲染所属的频道的 ID,详见 。你只需要在多频道场景下对该参数设值。 - - - fps - 视频渲染帧率 (fps)。最大值不能超过 30。 - -
    + + user + 视频所属的用户,详见 + + + view + 用于渲染视频的 Dom。传空代表销毁视频渲染。 + + + rendererOptions + 视频的渲染选项。详见 + + + channelId + 标识视频渲染所属的频道的 ID,详见 。你只需要在多频道场景下对该参数设值。 + + + fps + 视频渲染帧率 (fps)。最大值不能超过 30。 + + +
    diff --git a/dita/RTC/API/class_rendereroptions.dita b/dita/RTC/API/class_rendereroptions.dita index 2d24afbcb64..ccd062ed62c 100644 --- a/dita/RTC/API/class_rendereroptions.dita +++ b/dita/RTC/API/class_rendereroptions.dita @@ -6,44 +6,42 @@

    - - - - export interface RendererOptions { + + + + export interface RendererOptions { append: boolean; contentMode: CONTENT_MODE; mirror: boolean; } - - -

    + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - append - 当新视频也连接 Dom 时,是否使用原生 appendChild 方法向 Dom 添加子 Dom: - -
      -
    • : 添加子 Dom。新视频和原视频可以同时呈现。
    • -
    • : (默认) 不添加子 Dom。新视频将取代原视频。
    • -
    -
    - - contentMode - 视频内容显示模式。详见 - - - mirror - 渲染视频时,是否开启视频镜像: - - -
      -
    • : 开启镜像。
    • -
    • : (默认) 不开启镜像。
    • -
    -
    -
    + + append + 当新视频也连接 Dom 时,是否使用原生 appendChild 方法向 Dom 添加子 Dom:
      +
    • : 添加子 Dom。新视频和原视频可以同时呈现。
    • +
    • : (默认) 不添加子 Dom。新视频将取代原视频。
    • +
    +
    + + contentMode + 视频内容显示模式。详见 + + + mirror + 渲染视频时,是否开启视频镜像:
      +
    • : 开启镜像。
    • +
    • : (默认) 不开启镜像。
    • +
    +
    + +
    diff --git a/dita/RTC/API/class_rtc_local_view_surfaceview.dita b/dita/RTC/API/class_rtc_local_view_surfaceview.dita index a8879ab3aa1..fac1d795fce 100644 --- a/dita/RTC/API/class_rtc_local_view_surfaceview.dita +++ b/dita/RTC/API/class_rtc_local_view_surfaceview.dita @@ -2,19 +2,18 @@ <ph keyref="RtcLocalViewSurfaceView"/> - SurfaceView 类,用于渲染本地视频。由 类扩展而来。 + SurfaceView 类,用于渲染本地视频。由 类扩展而来。

    - - - - - - - class SurfaceView extends RtcSurfaceView { + + + + + + + class SurfaceView extends RtcSurfaceView { const SurfaceView({ Key? key, String? channelId, @@ -51,50 +50,52 @@ gestureRecognizers: gestureRecognizers, subProcess: true, ); - }

    + } +

    参数 - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dita/RTC/API/class_rtc_local_view_textureview.dita b/dita/RTC/API/class_rtc_local_view_textureview.dita index efa42bc97da..9a629ee5edc 100644 --- a/dita/RTC/API/class_rtc_local_view_textureview.dita +++ b/dita/RTC/API/class_rtc_local_view_textureview.dita @@ -2,19 +2,18 @@ <ph keyref="RtcLocalViewTextureView"/> - TextureView 类,用于渲染本地视频。由 类扩展而来。 + TextureView 类,用于渲染本地视频。由 类扩展而来。

    - - - - - - - class TextureView extends RtcTextureView { + + + + + + + class TextureView extends RtcTextureView { const TextureView({ Key? key, String? channelId, @@ -51,46 +50,48 @@ useFlutterTexture: useFlutterTexture, subProcess: true, ); - }

    + } +

    参数 - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + +

    diff --git a/dita/RTC/API/class_rtc_remote_view_surfaceview.dita b/dita/RTC/API/class_rtc_remote_view_surfaceview.dita index 62eff4f43f4..f38d7daae20 100644 --- a/dita/RTC/API/class_rtc_remote_view_surfaceview.dita +++ b/dita/RTC/API/class_rtc_remote_view_surfaceview.dita @@ -2,19 +2,18 @@ <ph keyref="RtcRemoteViewSurfaceView"/> - SurfaceView 类,用于渲染远端视频。由 类扩展而来。 + SurfaceView 类,用于渲染远端视频。由 类扩展而来。

    - - - - - - - class SurfaceView extends RtcSurfaceView { + + + + + + + class SurfaceView extends RtcSurfaceView { const SurfaceView({ Key? key, required int uid, @@ -37,54 +36,56 @@ onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, ); - }

    + } +

    参数 - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    diff --git a/dita/RTC/API/class_rtc_remote_view_textureview.dita b/dita/RTC/API/class_rtc_remote_view_textureview.dita index b3604b10e5b..36d054abb29 100644 --- a/dita/RTC/API/class_rtc_remote_view_textureview.dita +++ b/dita/RTC/API/class_rtc_remote_view_textureview.dita @@ -2,19 +2,18 @@ <ph keyref="RtcRemoteViewTextureView"/> - TextureView 类,用于渲染本地视频。由 类扩展而来。 + TextureView 类,用于渲染本地视频。由 类扩展而来。

    - - - - - - - class TextureView extends RtcTextureView { + + + + + + + class TextureView extends RtcTextureView { const TextureView({ Key? key, required int uid, @@ -35,52 +34,53 @@ gestureRecognizers: gestureRecognizers, useFlutterTexture: useFlutterTexture, ); - }

    + } +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + +

    diff --git a/dita/RTC/API/class_rtc_render_view_rtcsurfaceview.dita b/dita/RTC/API/class_rtc_render_view_rtcsurfaceview.dita index e970c925fb7..746878e9572 100644 --- a/dita/RTC/API/class_rtc_render_view_rtcsurfaceview.dita +++ b/dita/RTC/API/class_rtc_render_view_rtcsurfaceview.dita @@ -2,18 +2,18 @@ <ph keyref="RtcSurfaceView"/> - RtcSurfaceView 类,用于渲染本地和远端视频。 + RtcSurfaceView + 类,用于渲染本地和远端视频。

    - - - - - - - class RtcSurfaceView extends StatefulWidget { + + + + + + + class RtcSurfaceView extends StatefulWidget { final int uid; final String? channelId; final VideoRenderMode renderMode; @@ -41,64 +41,62 @@ State<StatefulWidget> createState() { return _RtcSurfaceViewState(); } - }

    + } +

    -

    该类在不同平台上对应的类如下: - - -

      -
    • Android: SurfaceView
    • -
    • iOS: UIView
    • - -
    • 该类不适用于 macOS 或 Windows 平台。
    • -

    +

    该类在不同平台上对应的类如下:

      +
    • Android: SurfaceView
    • +
    • iOS: UIView
    • + +
    • 该类不适用于 macOS 或 Windows 平台。
    • +

    参数 - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dita/RTC/API/class_rtc_render_view_rtctextureview.dita b/dita/RTC/API/class_rtc_render_view_rtctextureview.dita index 6512d6f2903..c49e7486d5e 100644 --- a/dita/RTC/API/class_rtc_render_view_rtctextureview.dita +++ b/dita/RTC/API/class_rtc_render_view_rtctextureview.dita @@ -2,18 +2,18 @@ <ph keyref="RtcTextureView"/> - RtcTextureView 类,用于渲染本地和远端视频。 + RtcTextureView + 类,用于渲染本地和远端视频。

    - - - - - - - class RtcTextureView extends StatefulWidget { + + + + + + + class RtcTextureView extends StatefulWidget { final int uid; final String? channelId; final VideoRenderMode renderMode; @@ -39,66 +39,61 @@ State<StatefulWidget> createState() { return _RtcTextureViewState(); } - }

    + } +

    -

    该类在不同平台上对应的类如下: - - - - -

      -
    • Android: TextureView - 或 FlutterTexture
    • -
    • iOS/macOS/Windows: FlutterTexture
    • - -

    +

    该类在不同平台上对应的类如下:

      +
    • Android: TextureViewFlutterTexture
    • +
    • iOS/macOS/Windows: FlutterTexture
    • + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - 是否使用 FlutterTexture 渲染视频。 - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + 是否使用 FlutterTexture 渲染视频。 + + + + + + + diff --git a/dita/RTC/API/class_rtcconnection.dita b/dita/RTC/API/class_rtcconnection.dita index 32ee060a3f2..765f0b30eda 100644 --- a/dita/RTC/API/class_rtcconnection.dita +++ b/dita/RTC/API/class_rtcconnection.dita @@ -6,7 +6,7 @@

    - public class RtcConnection { + public class RtcConnection { public enum CONNECTION_STATE_TYPE { CONNECTION_STATE_NOT_INITIALIZED(0), CONNECTION_STATE_DISCONNECTED(1), @@ -49,12 +49,12 @@ return sb.toString(); } } - __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying> + __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying> @property (nonatomic, copy) NSString *_Nonnull channelId; @property (nonatomic, assign) NSUInteger localUid; @end - struct RtcConnection { + struct RtcConnection { const char* channelId; uid_t localUid; @@ -62,8 +62,8 @@ RtcConnection(const char* channel_id, uid_t local_uid) : channelId(channel_id), localUid(local_uid) {} }; - - public class RtcConnection { + + public class RtcConnection { public RtcConnection() { @@ -77,26 +77,27 @@ public string channelId { set; get; } public uint localUid { set; get; } }; - -

    + + +

    - <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。 - - - localUserAccount - 本地用户名。 - -
    + + channelId + 频道名。 + + + localUid + 本地用户 ID。 + + + localUserAccount + 本地用户名。 + + +
    diff --git a/dita/RTC/API/class_rtcengineconfig.dita b/dita/RTC/API/class_rtcengineconfig.dita index 47a69ef4160..536ceb60644 100644 --- a/dita/RTC/API/class_rtcengineconfig.dita +++ b/dita/RTC/API/class_rtcengineconfig.dita @@ -6,9 +6,9 @@

    - - - struct RtcEngineContext { + + + struct RtcEngineContext { IRtcEngineEventHandler* eventHandler; const char* appId; void* context; @@ -21,7 +21,7 @@ ,areaCode(rtc::AREA_CODE_GLOB) {} }; - public class RtcEngineContext + public class RtcEngineContext { public RtcEngineContext(string appId, AREA_CODE areaCode = AREA_CODE.AREA_CODE_GLOB, LogConfig logConfig = null) @@ -42,13 +42,13 @@ set { _areaCode = (uint) areaCode; } } }; - export interface RtcEngineContext { + export interface RtcEngineContext { appId: string; areaCode?: AREA_CODE; logConfig?: LogConfig; } - - class RtcEngineContext { + + class RtcEngineContext { String appId; @@ -77,54 +77,57 @@ } return areaCode; } - }

    + } +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - eventHandler - 声网 SDK 回调句柄。详见 - - - appId - mAppId - -

    声网为 app 开发项目签发的 App ID。使用同一个 App ID 的用户才能进入同一个频道进行通话或直播。

    -

    一个 App ID 只能用于创建一个 。如果需要更换 App ID,必须先调用 销毁当前 IRtcEngine, - 再调用 重新创建

    -

    一个 App ID 只能用于创建一个 。如果需要更换 App ID,必须先调用 销毁当前 IRtcEngine,再调用 重新创建

    -
    -
    - - context - 视频窗口句柄。如设值,则表示支持设备热插拔。 - - - areaCode - -

    服务器的访问区域。该功能为高级设置,适用于有访问安全限制的场景。支持的区域详见

    -

    指定访问区域后,声网 SDK 会连接指定区域内的声网服务器。

    -
    -
    - - logConfig - -

    声网 SDK 日志文件配置,详见

    -

    默认情况下,SDK 会生成 agorasdk.logagorasdk_1.logagorasdk_2.logagorasdk_3.logagorasdk_4.log 这 5 个日志文件。

    -

    每个日志文件的默认大小为 1024 KB,编码格式为 UTF-8。最新的日志永远写在 agorasdk.log 中。agorasdk.log 写满后,SDK 会从 1-4 中删除修改时间最早的一个文件,然后将 agorasdk.log 重命名为该文件,并建立新的 agorasdk.log 写入最新的日志。

    -
    -
    -
    + + eventHandler + 声网 SDK 回调句柄。详见 + + + appId + mAppId + +

    声网为 app 开发项目签发的 App ID。使用同一个 App ID 的用户才能进入同一个频道进行通话或直播。

    +

    一个 App ID 只能用于创建一个 。如果需要更换 App + ID,必须先调用 销毁当前 IRtcEngine, 再调用 重新创建 +

    +

    一个 App ID 只能用于创建一个 。如果需要更换 App ID,必须先调用 + 销毁当前 IRtcEngine,再调用 重新创建

    +
    +
    + + context + 视频窗口句柄。如设值,则表示支持设备热插拔。 + + + areaCode + +

    服务器的访问区域。该功能为高级设置,适用于有访问安全限制的场景。支持的区域详见

    +

    指定访问区域后,声网 SDK 会连接指定区域内的声网服务器。

    +
    +
    + + logConfig + +

    声网 SDK 日志文件配置,详见

    +

    默认情况下,SDK 会生成 + agorasdk.logagorasdk_1.logagorasdk_2.logagorasdk_3.logagorasdk_4.log + 这 5 个日志文件。

    +

    每个日志文件的默认大小为 1024 KB,编码格式为 UTF-8。最新的日志永远写在 agorasdk.log + 中。agorasdk.log 写满后,SDK 会从 1-4 中删除修改时间最早的一个文件,然后将 + agorasdk.log 重命名为该文件,并建立新的 + agorasdk.log 写入最新的日志。

    +
    +
    + +
    diff --git a/dita/RTC/API/class_rtcimage.dita b/dita/RTC/API/class_rtcimage.dita index 7bf08938848..f802cec1bc6 100644 --- a/dita/RTC/API/class_rtcimage.dita +++ b/dita/RTC/API/class_rtcimage.dita @@ -6,7 +6,7 @@

    - public class AgoraImage { + public class AgoraImage { public String url; public int x; public int y; @@ -35,13 +35,13 @@ this.alpha = 1.0; } } - __attribute__((visibility("default"))) @interface AgoraImage : NSObject + __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 - typedef struct RtcImage { + typedef struct RtcImage { const char* url; int x; int y; @@ -53,7 +53,7 @@ RtcImage() : url(NULL), x(0), y(0), width(0), height(0), zOrder(0), alpha(1.0) {}

    - typedef struct RtcImage { + typedef struct RtcImage { RtcImage() : url(NULL), x(0), y(0), width(0), height(0) {} const char* url; int x; @@ -61,11 +61,11 @@ int width; int height; } RtcImage; - __attribute__((visibility("default"))) @interface AgoraImage : NSObject + __attribute__((visibility("default"))) @interface AgoraImage : NSObject @property(strong, nonatomic) NSURL* _Nonnull url; @property(assign, nonatomic) CGRect rect; @end - public class AgoraImage { + public class AgoraImage { public String url; public int x; public int y; @@ -75,7 +75,7 @@ public AgoraImage() { } } - public class RtcImage + public class RtcImage { public RtcImage() { @@ -101,15 +101,15 @@ public double alpha { set; get; } }

    - export interface RtcImage { + export interface RtcImage { x: number, y: number, width: number, height: number, url: string } - - class AgoraImage { + + class AgoraImage { String url; @JsonKey(includeIfNull: false) int? x; @@ -130,54 +130,52 @@ _$AgoraImageFromJson(json); Map<String, dynamic> toJson() => _$AgoraImageToJson(this); -}

    +} +

    用于设置直播视频的水印和背景图片的属性。

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - url - 直播视频上图片的 HTTP/HTTPS 地址。字符长度不得超过 1024 字节。 - - - x - 图片在视频画面上的 x 坐标 (pixel),以输出视频画面的左上角为原点。 - - - y - 图片在视频画面上的 y 坐标 (pixel),以输出视频画面的左上角为原点。 - - - width - 图片在视频画面上的宽度 (pixel)。 - - - height - 图片在视频画面上的高度 (pixel)。 - - - rect - 图片在视频画面上的位置和大小,类型为 CGRect。 - - - zOrder - 视频帧图层编号。取值范围为 [1,100] 中的整型。1 表示该区域图像位于最下层,而 100 表示该区域图像位于最上层。 - - - alpha - 水印或背景图片的透明度。取值范围为 [0.0,1.0]: - - -
      -
    • 0.0: 完全透明。
    • -
    • 1.0:(默认)完全不透明。
    • -
    -
    -
    + + url + 直播视频上图片的 HTTP/HTTPS 地址。字符长度不得超过 1024 字节。 + + + x + 图片在视频画面上的 x 坐标 (pixel),以输出视频画面的左上角为原点。 + + + y + 图片在视频画面上的 y 坐标 (pixel),以输出视频画面的左上角为原点。 + + + width + 图片在视频画面上的宽度 (pixel)。 + + + height + 图片在视频画面上的高度 (pixel)。 + + + rect + 图片在视频画面上的位置和大小,类型为 CGRect。 + + + zOrder + 视频帧图层编号。取值范围为 [1,100] 中的整型。1 表示该区域图像位于最下层,而 100 表示该区域图像位于最上层。 + + + alpha + 水印或背景图片的透明度。取值范围为 [0.0,1.0]:
      +
    • 0.0: 完全透明。
    • +
    • 1.0:(默认)完全不透明。
    • +
    +
    + +
    diff --git a/dita/RTC/API/class_rtcstats.dita b/dita/RTC/API/class_rtcstats.dita index 6b6906db9b3..61763650453 100644 --- a/dita/RTC/API/class_rtcstats.dita +++ b/dita/RTC/API/class_rtcstats.dita @@ -6,7 +6,7 @@

    - public static class RtcStats { + public static class RtcStats { public int totalDuration; public int txBytes; public int rxBytes; @@ -32,7 +32,7 @@ public double memoryTotalUsageRatio; public int memoryAppUsageInKbytes; } - __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject + __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject @property(assign, nonatomic) NSUInteger duration; @property(assign, nonatomic) NSUInteger txBytes; @property(assign, nonatomic) NSUInteger rxBytes; @@ -59,7 +59,7 @@ @property(assign, nonatomic) NSInteger rxPacketLossRate; @end - struct RtcStats { + struct RtcStats { unsigned int duration; unsigned int txBytes; unsigned int rxBytes; @@ -111,7 +111,7 @@ rxPacketLossRate(0) {} }; - public class RtcStats + public class RtcStats { public RtcStats() { @@ -152,11 +152,12 @@ public double memoryTotalUsageRatio { set; get; } public int memoryAppUsageInKbytes { set; get; } public int connectTimeMs { set; get; } - }

    + } +

    - - - struct RtcStats { + + + struct RtcStats { unsigned int duration; unsigned int txBytes; unsigned int rxBytes; @@ -206,7 +207,7 @@ , memoryTotalUsageRatio(0) , memoryAppUsageInKbytes(0) {} }; - public class RtcStats + public class RtcStats { public RtcStats() { @@ -267,7 +268,7 @@ public double memoryTotalUsageRatio { set; get; } public int memoryAppUsageInKbytes { set; get; } } - export interface RtcStats { + export interface RtcStats { duration: number; txBytes: number; rxBytes: number; @@ -292,7 +293,7 @@ memoryTotalUsageRatio: number; memoryAppUsageInKbytes: number; } - export interface RtcStats { + export interface RtcStats { duration: number; txBytes: number; rxBytes: number; @@ -317,7 +318,7 @@ memoryTotalUsageRatio: number; memoryAppUsageInKbytes: number; } - class RtcStats { + class RtcStats { int duration; int txBytes; @@ -374,137 +375,137 @@ _$RtcStatsFromJson(json); Map<String, dynamic> toJson() => _$RtcStatsToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - duration - totalDuration - 本地用户通话时长(秒),累计值。 - - - txBytes - 发送字节数(bytes)。 - - - rxBytes - 接收字节数(bytes)。 - - - txAudioBytes - 发送音频字节数(bytes),累计值。 - - - txVideoBytes - 发送视频字节数(bytes),累计值。 - - - rxAudioBytes - 接收音频字节数(bytes),累计值。 - - - rxVideoBytes - 接收视频字节数(bytes),累计值。 - - - txKBitRate - 发送码率(Kbps)。 - - - rxKBitRate - 接收码率(Kbps)。 - - - rxAudioKBitRate - 音频接收码率 (Kbps)。 - - - txAudioKBitRate - 音频包的发送码率 (Kbps)。 - - - rxVideoKBitRate - 视频接收码率 (Kbps)。 - - - txVideoKBitRate - 视频发送码率 (Kbps)。 - - - lastmileDelay - 客户端-接入服务器延时 (毫秒)。 - - - txPacketLossRate - 使用抗丢包技术前,客户端上行发送到服务器丢包率 (%)。 - - - rxPacketLossRate - 使用抗丢包技术前,服务器下行发送到客户端丢包率 (%)。 - - - userCount - users - 当前频道内的用户人数。 - - - cpuAppUsage - 当前 App 的 CPU 使用率 (%)。 - - - cpuTotalUsage - -

    当前系统的 CPU 使用率 (%)。

    -

    对于 Windows 平台,在多核环境中,该成员指多核 CPU 的平均使用率。 计算方式为 + + duration + totalDuration + 本地用户通话时长(秒),累计值。 + + + txBytes + 发送字节数(bytes)。 + + + rxBytes + 接收字节数(bytes)。 + + + txAudioBytes + 发送音频字节数(bytes),累计值。 + + + txVideoBytes + 发送视频字节数(bytes),累计值。 + + + rxAudioBytes + 接收音频字节数(bytes),累计值。 + + + rxVideoBytes + 接收视频字节数(bytes),累计值。 + + + txKBitRate + 发送码率(Kbps)。 + + + rxKBitRate + 接收码率(Kbps)。 + + + rxAudioKBitRate + 音频接收码率 (Kbps)。 + + + txAudioKBitRate + 音频包的发送码率 (Kbps)。 + + + rxVideoKBitRate + 视频接收码率 (Kbps)。 + + + txVideoKBitRate + 视频发送码率 (Kbps)。 + + + lastmileDelay + 客户端-接入服务器延时 (毫秒)。 + + + txPacketLossRate + 使用抗丢包技术前,客户端上行发送到服务器丢包率 (%)。 + + + rxPacketLossRate + 使用抗丢包技术前,服务器下行发送到客户端丢包率 (%)。 + + + userCount + users + 当前频道内的用户人数。 + + + cpuAppUsage + 当前 App 的 CPU 使用率 (%)。 + + + cpuTotalUsage + +

    当前系统的 CPU 使用率 (%)。

    +

    对于 Windows 平台,在多核环境中,该成员指多核 CPU 的平均使用率。 计算方式为 (100 - 任务管理中显示的系统空闲进程 CPU)/100。

    - 回调中报告的 cpuTotalUsage 恒为 0。
    -
    - - connectTimeMs - 从开始建立连接到成功连接的时间(毫秒)。如报告 0,则表示无效。 - - - gatewayRtt - 客户端到本地路由器的往返时延 (ms)。 - - - - -

    自 3.3.0 版本起,该属性默认在 iOS 14 之前的设备上开启,在 iOS 14 及之后的设备上关闭。

    -

    该属性默认在 iOS 14 之前的设备上开启,在 iOS 14 及之后的设备上关闭。

    -

    如需在 iOS 14 及之后的设备上启用该属性,请

    -
    - -

    如需获取 gatewayRtt,请确保已在项目 AndroidManifest.xml 文件的 </application> 后面添加 android.permission.ACCESS_WIFI_STATE 权限。

    -
    -
    - - memoryAppUsageRatio - -

    当前 App 的内存占比 (%)。

    - 该值仅作参考。受系统限制可能无法获取。
    -
    - - memoryTotalUsageRatio - -

    当前系统的内存占比 (%)。

    - 该值仅作参考。受系统限制可能无法获取。
    -
    - - memoryAppUsageInKbytes - -

    当前 App 的内存大小 (KB)。

    - 该值仅作参考。受系统限制可能无法获取。
    -
    -
    + 回调中报告的 cpuTotalUsage + 恒为 0。 + + + + connectTimeMs + 从开始建立连接到成功连接的时间(毫秒)。如报告 0,则表示无效。 + + + gatewayRtt + 客户端到本地路由器的往返时延 (ms)。 +

    自 3.3.0 版本起,该属性默认在 iOS 14 之前的设备上开启,在 iOS 14 + 及之后的设备上关闭。

    +

    该属性默认在 iOS 14 之前的设备上开启,在 iOS 14 及之后的设备上关闭。

    +

    如需在 iOS 14 及之后的设备上启用该属性,请

    +
    + +

    如需获取 gatewayRtt,请确保已在项目 AndroidManifest.xml 文件的 + </application> 后面添加 + android.permission.ACCESS_WIFI_STATE 权限。

    +
    +
    + + memoryAppUsageRatio + +

    当前 App 的内存占比 (%)。

    + 该值仅作参考。受系统限制可能无法获取。 +
    +
    + + memoryTotalUsageRatio + +

    当前系统的内存占比 (%)。

    + 该值仅作参考。受系统限制可能无法获取。 +
    +
    + + memoryAppUsageInKbytes + +

    当前 App 的内存大小 (KB)。

    + 该值仅作参考。受系统限制可能无法获取。 +
    +
    + +
    diff --git a/dita/RTC/API/class_screenaudioparameters.dita b/dita/RTC/API/class_screenaudioparameters.dita index 8aca37f2d4e..6b015a28d3f 100644 --- a/dita/RTC/API/class_screenaudioparameters.dita +++ b/dita/RTC/API/class_screenaudioparameters.dita @@ -5,11 +5,12 @@ 共享的屏幕流的音频配置。
    - 仅适用于 captureAudiotrue 的场景。 + 仅适用于 captureAudiotrue + 的场景。
    -

    - class ScreenAudioParameters { +

    + class ScreenAudioParameters { final int? captureSignalVolume; const ScreenAudioParameters(this.captureSignalVolume); @@ -18,16 +19,18 @@ _$ScreenAudioParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenAudioParametersToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - captureSignalVolume - -

    采集的系统音量。取值范围为 [0,100]。默认值为 100。

    -
    -
    -
    + + captureSignalVolume + +

    采集的系统音量。取值范围为 [0,100]。默认值为 100。

    +
    +
    + +
    diff --git a/dita/RTC/API/class_screencaptureconfiguration.dita b/dita/RTC/API/class_screencaptureconfiguration.dita index 8988dfc02aa..2d5956b6b1d 100644 --- a/dita/RTC/API/class_screencaptureconfiguration.dita +++ b/dita/RTC/API/class_screencaptureconfiguration.dita @@ -6,9 +6,9 @@

    - - - struct ScreenCaptureConfiguration { + + + struct ScreenCaptureConfiguration { bool isCaptureWindow; uint32_t displayId; Rectangle screenRect; @@ -18,8 +18,8 @@ ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0) {} }; - - public class ScreenCaptureConfiguration { + + public class ScreenCaptureConfiguration { public bool isCaptureWindow { set; get; } public uint displayId { set; get; } public Rectangle screenRect { set; get; } @@ -27,64 +27,52 @@ public ScreenCaptureParameters parameters { set; get; } public Rectangle regionRect { set; get; } } - -

    + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - isCaptureWindow - 是否采集屏幕上的窗口: - - -
      -
    • :采集窗口。
    • -
    • :(默认)采集屏幕,不采集窗口。
    • -
    -
    - - displayId - (仅适用于 macOS 平台)屏幕的 display ID。 - - - 请仅在 Mac - 设备上采集屏幕时使用该参数。 - - - screenRect - (仅适用于 Windows 平台)待共享的屏幕相对于虚拟屏的位置。 - - - 请仅在 Windows 设备上采集屏幕时使用该参数。 - - - windowId - (仅适用于 Windows 和 macOS 平台)窗口 ID。 - - - 请仅在采集窗口时使用该参数。 - - - params - parameters - (仅适用于 Windows 和 macOS 平台)屏幕共享流的编码参数配置。详见 - - - regionRect - -

    (仅适用于 Windows 和 macOS 平台)待共享区域相对于整个屏幕的位置。详见

    -

    如不填,则表示共享整个屏幕。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容。 如果将 中的 width 或 height - 设为 0 ,则共享整个屏幕。

    -
    -
    -
    + + isCaptureWindow + 是否采集屏幕上的窗口:
      +
    • :采集窗口。
    • +
    • :(默认)采集屏幕,不采集窗口。
    • +
    +
    + + displayId + (仅适用于 macOS 平台)屏幕的 display ID。 请仅在 Mac 设备上采集屏幕时使用该参数。 + + + screenRect + (仅适用于 Windows 平台)待共享的屏幕相对于虚拟屏的位置。 请仅在 Windows 设备上采集屏幕时使用该参数。 + + + windowId + (仅适用于 Windows 和 macOS 平台)窗口 ID。 请仅在采集窗口时使用该参数。 + + + params + parameters + (仅适用于 Windows 和 macOS 平台)屏幕共享流的编码参数配置。详见 + + + regionRect + +

    (仅适用于 Windows 和 macOS 平台)待共享区域相对于整个屏幕的位置。详见

    +

    如不填,则表示共享整个屏幕。如果设置的共享区域超出了屏幕的边界,则只共享屏幕内的内容。 如果将 中的 width 或 height 设为 0 ,则共享整个屏幕。

    +
    +
    + +
    diff --git a/dita/RTC/API/class_screencaptureinfo.dita b/dita/RTC/API/class_screencaptureinfo.dita index 4f6a60fd15f..e2469b4c6cd 100644 --- a/dita/RTC/API/class_screencaptureinfo.dita +++ b/dita/RTC/API/class_screencaptureinfo.dita @@ -1,14 +1,18 @@ - <ph keyref="ScreenCaptureInfo"/> - 屏幕共享信息。 + + <ph keyref="ScreenCaptureInfo"/> + + + 屏幕共享信息。 +

    - - - public class ScreenCaptureInfo + + + public class ScreenCaptureInfo { public ScreenCaptureInfo() { @@ -23,8 +27,8 @@ public string graphicsCardType; public EXCLUDE_WINDOW_ERROR errCode; }; - - class ScreenCaptureInfo { + + class ScreenCaptureInfo { final String graphicsCardType; final ExcludeWindowError errCode; @@ -34,26 +38,27 @@ _$ScreenCaptureInfoFromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureInfoToJson(this); - }

    + } +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - graphicsCardType - -

    显卡类型,包含显卡的型号信息。

    -
    -
    - - errCode - -

    屏幕共享时,屏蔽窗口的错误码。详见

    -
    -
    -
    + + graphicsCardType + +

    显卡类型,包含显卡的型号信息。

    +
    +
    + + errCode + +

    屏幕共享时,屏蔽窗口的错误码。详见

    +
    +
    + +
    diff --git a/dita/RTC/API/class_screencaptureparameters.dita b/dita/RTC/API/class_screencaptureparameters.dita index 93b07c7aa74..0af006b36dc 100644 --- a/dita/RTC/API/class_screencaptureparameters.dita +++ b/dita/RTC/API/class_screencaptureparameters.dita @@ -6,13 +6,13 @@

    - __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject + __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject @property (assign, nonatomic) CGSize dimensions; @property (assign, nonatomic) NSInteger frameRate; @property (assign, nonatomic) NSInteger bitrate; @end - public class ScreenCaptureParameters { + public class ScreenCaptureParameters { private VideoDimensions videoDimensions; private int frameRate; private int bitrate; @@ -62,7 +62,7 @@ return bitrate; } } - struct ScreenCaptureParameters { + struct ScreenCaptureParameters { VideoDimensions dimensions; int frameRate; int bitrate; @@ -84,7 +84,7 @@ ScreenCaptureParameters(int width, int height, int f, int b, bool cur, bool fcs, view_t *ex, int cnt) : dimensions(width, height), frameRate(f), bitrate(b), captureMouseCursor(cur), windowFocus(fcs), excludeWindowList(ex), excludeWindowCount(cnt) {} }; - public class ScreenCaptureParameters + public class ScreenCaptureParameters { public ScreenCaptureParameters() { @@ -132,9 +132,10 @@ public view_t[] excludeWindowList { set; get; } public int excludeWindowCount { set; get; } - }

    + } +

    - __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters : NSObject + __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) NSInteger frameRate; @property(assign, nonatomic) NSInteger bitrate; @@ -143,8 +144,8 @@ @property(copy, nonatomic) NSArray* _Nullable excludeWindowList; @end - - struct ScreenCaptureParameters { + + struct ScreenCaptureParameters { VideoDimensions dimensions; int frameRate; int bitrate; @@ -153,7 +154,7 @@ view_t* excludeWindowList; int excludeWindowCount; }; - public class ScreenCaptureParameters + public class ScreenCaptureParameters { public ScreenCaptureParameters() { @@ -198,7 +199,7 @@ public view_t[] excludeWindowList { set; get; } public int excludeWindowCount { set; get; } } - export interface ScreenCaptureParameters { + export interface ScreenCaptureParameters { width: number; height: number; frameRate: number; @@ -208,8 +209,8 @@ excludeWindowList: Array<number>; excludeWindowCount: number; } - - class ScreenCaptureParameters { + + class ScreenCaptureParameters { @JsonKey(includeIfNull: false) VideoDimensions? dimensions; @@ -242,169 +243,152 @@ _$ScreenCaptureParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureParametersToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - videoDimensions - -

    编码共享视频的最大像素值。详见 。默认值为 1920 × 1080,即 2073600 像素。该像素值为计费标准。

    -

    当共享的屏幕分辨率宽高比与该值设置不一致时,SDK 按如下策略进行编码。假设 dimensions 设为 1920 × 1080: - - -

      -
    • 如果屏幕分辨率小于 dimensions,如 1000 × 1000,SDK 直接按 1000 × 1000 进行编码。
    • -
    • 如果屏幕分辨率大于 dimensions,如 2000 × 1500,SDK 按屏幕分辨率的宽高比,即 4:3,取 dimensions 以内的最大分辨率进行编码,即 1440 × 1080。
    • -

    -
    -
    - - frameRate - 共享视频的帧率,单位为 fps;默认值为 5,建议不要超过 15。 - - - bitrate - 共享视频的码率,单位为 Kbps;默认值为 0,表示 SDK 根据当前共享屏幕的分辨率计算出一个合理的值。 - - - captureMouseCursor - -
    - -
    自从
    -
    v2.4.1
    -
    -
    -

    是否采集鼠标用于屏幕共享: - - -

      -
    • :(默认)采集鼠标。
    • -
    • : 不采集鼠标。
    • -

    -
    -
    - - captureMouseCursor - -

    是否采集鼠标用于屏幕共享: -

      -
    • :(默认)采集鼠标。
    • -
    • : 不采集鼠标。
    • -

    -
    -
    - - windowFocus - -
    - -
    自从
    -
    v3.1.0
    -
    -
    -

    调用 方法共享窗口时,是否将该窗口前置: - - -

      -
    • : 前置窗口。
    • -
    • :(默认)不前置窗口。
    • -

    -
    -
    - - windowFocus - -

    调用 方法共享窗口时,是否将该窗口前置: - - -

      -
    • : 前置窗口。
    • -
    • :(默认)不前置窗口。
    • -

    -
    -
    - - excludeWindowList - -
    - -
    自从
    -
    v3.1.0
    -
    -
    -

    待屏蔽窗口的 ID 列表。调用 开启屏幕共享时,你可以通过该参数屏蔽指定的窗口。你可以在调用 更新屏幕共享的配置参数时,通过该参数动态屏蔽指定的窗口。

    - SDK 不支持你在多显卡的 Windows 设备上屏蔽窗口。如果你在这种设备上设置 excludeWindowList,SDK 会报告错误码 ERR_NOT_SUPPORTED_MUTI_GPU_EXCLUDE_WINDOW(1736) -
    -
    - - excludeWindowList - -

    待屏蔽窗口的 ID 列表。调用 开启屏幕共享时,你可以通过该参数屏蔽指定的窗口。你可以在调用 更新屏幕共享的配置参数时,通过该参数动态屏蔽指定的窗口。

    -
    -
    - - excludeWindowCount - -
    - -
    自从
    -
    v3.1.0
    -
    -
    -

    待屏蔽窗口的数量。

    -
    -
    - - width - 屏幕共享区域的宽。 - - - height - 屏幕共享区域的高。 - - - enableHighLight -

    (仅适用于 macOS)是否对共享的窗口或屏幕进行描边: -

      -
    • - : 描边。 -
    • -
    • - :(默认)不描边。 -
    • -
    -

    - 当你共享窗口或屏幕的部分区域时,如果设置描边,SDK 会对整个窗口或屏幕进行描边。 -
    -
    - - highLightWidth - - (仅适用于 macOS)描边的宽度 (px)。默认值为 0,取值范围为 [0,50]。 - - - - highLightColor - - (仅适用于 macOS)描边的 RGBA 颜色。默认值为 0xFF8CBF26。 - - -
    + + dimensions + videoDimensions + +

    编码共享视频的最大像素值。详见 。默认值为 1920 × 1080,即 2073600 像素。该像素值为计费标准。

    +

    当共享的屏幕分辨率宽高比与该值设置不一致时,SDK 按如下策略进行编码。假设 dimensions 设为 + 1920 × 1080:

      +
    • 如果屏幕分辨率小于 dimensions,如 1000 × 1000,SDK 直接按 1000 + × 1000 进行编码。
    • +
    • 如果屏幕分辨率大于 dimensions,如 2000 × 1500,SDK + 按屏幕分辨率的宽高比,即 4:3,取 dimensions 以内的最大分辨率进行编码,即 1440 × 1080。
    • +

    +
    +
    + + frameRate + 共享视频的帧率,单位为 fps;默认值为 5,建议不要超过 15。 + + + bitrate + 共享视频的码率,单位为 Kbps;默认值为 0,表示 SDK 根据当前共享屏幕的分辨率计算出一个合理的值。 + + + captureMouseCursor + +
    + +
    自从
    +
    v2.4.1
    +
    +
    +

    是否采集鼠标用于屏幕共享:

      +
    • :(默认)采集鼠标。
    • +
    • : 不采集鼠标。
    • +

    +
    +
    + + captureMouseCursor + +

    是否采集鼠标用于屏幕共享:

      +
    • :(默认)采集鼠标。
    • +
    • : 不采集鼠标。
    • +

    +
    +
    + + windowFocus + +
    + +
    自从
    +
    v3.1.0
    +
    +
    +

    调用 方法共享窗口时,是否将该窗口前置:

      +
    • : 前置窗口。
    • +
    • :(默认)不前置窗口。
    • +

    +
    +
    + + windowFocus + +

    调用 方法共享窗口时,是否将该窗口前置:

      +
    • : 前置窗口。
    • +
    • :(默认)不前置窗口。
    • +

    +
    +
    + + excludeWindowList + +
    + +
    自从
    +
    v3.1.0
    +
    +
    +

    待屏蔽窗口的 ID 列表。调用 开启屏幕共享时,你可以通过该参数屏蔽指定的窗口。你可以在调用 + 更新屏幕共享的配置参数时,通过该参数动态屏蔽指定的窗口。

    + SDK 不支持你在多显卡的 Windows 设备上屏蔽窗口。如果你在这种设备上设置 + excludeWindowList,SDK 会报告错误码 + ERR_NOT_SUPPORTED_MUTI_GPU_EXCLUDE_WINDOW(1736) +
    +
    + + excludeWindowList + +

    待屏蔽窗口的 ID 列表。调用 开启屏幕共享时,你可以通过该参数屏蔽指定的窗口。你可以在调用 + 更新屏幕共享的配置参数时,通过该参数动态屏蔽指定的窗口。

    +
    +
    + + excludeWindowCount + +
    + +
    自从
    +
    v3.1.0
    +
    +
    +

    待屏蔽窗口的数量。

    +
    +
    + + width + 屏幕共享区域的宽。 + + + height + 屏幕共享区域的高。 + + + enableHighLight +

    (仅适用于 macOS)是否对共享的窗口或屏幕进行描边:

      +
    • + : 描边。
    • +
    • + :(默认)不描边。
    • +
    +

    + 当你共享窗口或屏幕的部分区域时,如果设置描边,SDK 会对整个窗口或屏幕进行描边。 +
    +
    + + highLightWidth + (仅适用于 macOS)描边的宽度 (px)。默认值为 0,取值范围为 [0,50]。 + + + highLightColor + (仅适用于 macOS)描边的 RGBA 颜色。默认值为 0xFF8CBF26。 + + +
    diff --git a/dita/RTC/API/class_screencaptureparameters2.dita b/dita/RTC/API/class_screencaptureparameters2.dita index eea85201d44..e3bdfb91600 100644 --- a/dita/RTC/API/class_screencaptureparameters2.dita +++ b/dita/RTC/API/class_screencaptureparameters2.dita @@ -5,8 +5,8 @@ 屏幕共享的参数配置。
    -

    - class ScreenCaptureParameters2 { +

    + class ScreenCaptureParameters2 { final bool? captureAudio; final ScreenAudioParameters? audioParams; final bool? captureVideo; @@ -23,48 +23,52 @@ _$ScreenCaptureParameters2FromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureParameters2ToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - captureAudio - -

    屏幕共享时是否采集系统音频: -

      -
    • true: 采集。
    • -
    • false: (默认)不采集。
    • -
    - 对于 Android 平台,受系统限制,采集系统音频仅适用于 Android API 级别为 29 及以上,即 Android 10 及以上。 -

    -
    -
    - - audioParams - -

    共享的屏幕流的音频配置。详见 。 - 该参数仅适用于 captureAudiotrue 的场景。

    -
    -
    - - captureVideo - -

    屏幕共享时是否采集系统视频: -

      -
    • true: 采集。
    • -
    • false: (默认)不采集。
    • -
    - 对于 Android 平台,受系统限制,采集屏幕仅适用于 Android API 级别为 21 及以上,即 Android 5 及以上。 -

    -
    -
    - - videoParams - -

    共享的屏幕流的视频编码配置。详见 。 - 该参数仅适用于 captureVideotrue 的场景。

    -
    -
    -
    + + captureAudio + +

    屏幕共享时是否采集系统音频:

      +
    • true: 采集。
    • +
    • false: (默认)不采集。
    • +
    + 对于 Android 平台,受系统限制,采集系统音频仅适用于 Android API 级别为 29 + 及以上,即 Android 10 及以上。 +

    +
    +
    + + audioParams + +

    共享的屏幕流的音频配置。详见 该参数仅适用于 captureAudio 为 + true 的场景。

    +
    +
    + + captureVideo + +

    屏幕共享时是否采集系统视频:

      +
    • true: 采集。
    • +
    • false: (默认)不采集。
    • +
    + 对于 Android 平台,受系统限制,采集屏幕仅适用于 Android API 级别为 21 + 及以上,即 Android 5 及以上。 +

    +
    +
    + + videoParams + +

    共享的屏幕流的视频编码配置。详见 该参数仅适用于 captureVideo 为 + true 的场景。

    +
    +
    + +
    diff --git a/dita/RTC/API/class_screencapturesourceinfo.dita b/dita/RTC/API/class_screencapturesourceinfo.dita index 07c165ee152..06515081f97 100644 --- a/dita/RTC/API/class_screencapturesourceinfo.dita +++ b/dita/RTC/API/class_screencapturesourceinfo.dita @@ -2,13 +2,14 @@ <ph keyref="ScreenCaptureSourceInfo"/> - 可共享窗口或屏幕的信息。在 中返回。 + 可共享窗口或屏幕的信息。在 + 中返回。

    - - - struct ScreenCaptureSourceInfo { + + + struct ScreenCaptureSourceInfo { ScreenCaptureSourceType type; view_t sourceId; const char* sourceName; @@ -19,61 +20,61 @@ bool primaryMonitor; ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false) {} }; - - - -

    + + + + +

    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - 共享目标的类型。详见 - - - sourceId - 对于窗口,表示窗口 ID(Window ID);对于屏幕,表示屏幕 ID(Display ID)。 - - - sourceName - 窗口或屏幕的名称。UTF-8 编码。 - - - thumbImage - 缩略图的图像内容。详见 - - - iconImage - 图标的图像内容。详见 - - - processPath - 窗口所属的进程。UTF-8 编码。 - - - sourceTitle - 窗口标题。UTF-8 编码。 - - - primaryMonitor - 屏幕是否为主显示屏: - - -
      -
    • : 是。
    • -
    • : 否。
    • -
    -
    -
    + + type + 共享目标的类型。详见 + + + sourceId + 对于窗口,表示窗口 ID(Window ID);对于屏幕,表示屏幕 ID(Display ID)。 + + + sourceName + 窗口或屏幕的名称。UTF-8 编码。 + + + thumbImage + 缩略图的图像内容。详见 + + + iconImage + 图标的图像内容。详见 + + + processPath + 窗口所属的进程。UTF-8 编码。 + + + sourceTitle + 窗口标题。UTF-8 编码。 + + + primaryMonitor + 屏幕是否为主显示屏:
      +
    • : 是。
    • +
    • : 否。
    • +
    +
    + +
    diff --git a/dita/RTC/API/class_screensymbol.dita b/dita/RTC/API/class_screensymbol.dita index 0c765e39a3a..9f2f99cfea6 100644 --- a/dita/RTC/API/class_screensymbol.dita +++ b/dita/RTC/API/class_screensymbol.dita @@ -6,22 +6,20 @@

    - - - - export type ScreenSymbol = number | Rectangle; - - -

    + + + + export type ScreenSymbol = number | Rectangle; + + + +

    -

    标识屏幕的 Display ID(macOS 系统)或 ScreenRect(Windows 系统)。可以设为如下值: - - -

      -
    • number: macOS 上的 Display ID。
    • -
    • : Windows 上的 Screen Rect。
    • -

    +

    标识屏幕的 Display ID(macOS 系统)或 ScreenRect(Windows 系统)。可以设为如下值:

      +
    • number: macOS 上的 Display ID。
    • +
    • : Windows 上的 Screen Rect。
    • +

    diff --git a/dita/RTC/API/class_screenvideoparameters.dita b/dita/RTC/API/class_screenvideoparameters.dita index 63a9480ba6e..9ae3d5b2086 100644 --- a/dita/RTC/API/class_screenvideoparameters.dita +++ b/dita/RTC/API/class_screenvideoparameters.dita @@ -5,8 +5,8 @@ 屏幕共享的参数配置。
    -

    - class ScreenVideoParameters { +

    + class ScreenVideoParameters { final VideoDimensions? dimensions; final int? frameRate; final int? bitrate; @@ -19,46 +19,57 @@ _$ScreenVideoParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenVideoParametersToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - -

    视频编码的分辨率。默认值为 1280 × 720。推荐取值可参考调参策略

    -

    当共享的屏幕分辨率宽高比与该值设置不一致时,SDK 会按照如下规则调节视频编码分辨率。假设 dimensions 设为 1280 × 720: -

      -
    • 当屏幕宽和高的像素值均小于 dimensions,例如屏幕像素值为 640 × 360,SDK 以 640 × 360 编码。
    • -
    • 当屏幕宽或高的像素值大于 dimensions,例如屏幕像素值为 2000 × 1500,SDK 以屏幕像素值的宽高比, 即 4:3,取 dimensions 内最大分辨率进行编码,即 960 × 720。
    • -

    - -
      -
    • 屏幕共享流的计费以 dimensions 的值为准:当你未传值时,以 1280 × 720 计费;当你传值时,以你传入的值计费。详细的计费规则请参考实时音视频计费
    • -
    • 该值不代表最终视频输出的方向。请查阅 了解设置视频方向。
    • -
    • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
    • -
    -
    -
    -
    - - frameRate - -

    视频编码帧率 (fps)。默认值为 15。推荐取值可参考调参策略

    -
    -
    - - bitrate - -

    视频编码码率 (Kbps)。推荐取值可参考调参策略

    -
    -
    - - contentHint - -

    屏幕共享视频的内容类型。详见详见

    -
    -
    -
    + + dimensions + +

    视频编码的分辨率。默认值为 1280 × 720。推荐取值可参考调参策略

    +

    当共享的屏幕分辨率宽高比与该值设置不一致时,SDK 会按照如下规则调节视频编码分辨率。假设 dimensions + 设为 1280 × 720:

      +
    • 当屏幕宽和高的像素值均小于 dimensions,例如屏幕像素值为 640 × 360,SDK + 以 640 × 360 编码。
    • +
    • 当屏幕宽或高的像素值大于 dimensions,例如屏幕像素值为 2000 × + 1500,SDK 以屏幕像素值的宽高比, 即 4:3,取 dimensions 内最大分辨率进行编码,即 960 × + 720。
    • +

    + +
      +
    • 屏幕共享流的计费以 dimensions 的值为准:当你未传值时,以 1280 × 720 + 计费;当你传值时,以你传入的值计费。详细的计费规则请参考实时音视频计费
    • +
    • 该值不代表最终视频输出的方向。请查阅 + 了解设置视频方向。
    • +
    • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P + 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
    • +
    +
    +
    +
    + + frameRate + +

    视频编码帧率 (fps)。默认值为 15。推荐取值可参考调参策略

    +
    +
    + + bitrate + +

    视频编码码率 (Kbps)。推荐取值可参考调参策略

    +
    +
    + + contentHint + +

    屏幕共享视频的内容类型。详见详见

    +
    +
    + +
    diff --git a/dita/RTC/API/class_segmentationproperty.dita b/dita/RTC/API/class_segmentationproperty.dita index 5b6da9e3d54..ecd805458c8 100644 --- a/dita/RTC/API/class_segmentationproperty.dita +++ b/dita/RTC/API/class_segmentationproperty.dita @@ -6,13 +6,14 @@

    - public class SegmentationProperty { + public class SegmentationProperty { public SEG_MODEL_TYPE modelType; public int preferVelocity; public float greenCapacity; - };

    + }; +

    - public class SegmentationProperty { + public class SegmentationProperty { public static final int SEG_MODEL_AI = 1; public static final int SEG_MODEL_GREEN = 2; public int modelType; @@ -30,12 +31,12 @@ this.greenCapacity = 0.5f; } } - __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject + __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject @property(nonatomic, assign) SegModelType modelType; @property(nonatomic, assign) float greenCapacity; @property(nonatomic, assign) NSUInteger preferVelocity; @end - struct SegmentationProperty { + struct SegmentationProperty { enum SEG_MODEL_TYPE { SEG_MODEL_AI = 1, SEG_MODEL_GREEN = 2 @@ -46,50 +47,46 @@ SegmentationProperty() : modelType(SEG_MODEL_AI), preferVelocity(1), greenCapacity(0.5){} }; - - -

    + + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - modelType - 进行背景处理的算法。详见 -
      -
    • (1): (默认) 适用于所有场景下的背景处理算法。
    • -
    • (2): 仅适用于绿幕背景下的背景处理算法。
    • -
    -
    - - preferVelocity - 是否开启双边滤波功能。 - - -
      -
    • 0: 不开启双边滤波功能。
    • -
    • 1: (默认)开启双边滤波功能,在绿幕场景下的虚拟背景效果更好。
    • -
    - 该参数仅在 modelType 设置为 时生效。
    -
    - - greenCapacity - -

    对画面中绿颜色(即不同色号的绿色)识别的精度范围。取值范围为 [0,1],默认值为 0.5。取值越大,代表可识别的绿色范围越大。当该参数取值过大时,人像边缘和人像范围内的绿色也会被识别。声网推荐你根据实际效果动态调整该参数的值。

    - 该参数仅在 modelType 设置为 时生效。
    -
    -
    + + modelType + 进行背景处理的算法。详见 +
      +
    • (1): (默认) 适用于所有场景下的背景处理算法。
    • +
    • (2): 仅适用于绿幕背景下的背景处理算法。
    • +
    +
    + + preferVelocity + 是否开启双边滤波功能。
      +
    • 0: 不开启双边滤波功能。
    • +
    • 1: (默认)开启双边滤波功能,在绿幕场景下的虚拟背景效果更好。
    • +
    + 该参数仅在 modelType 设置为 时生效。
    +
    + + greenCapacity + +

    对画面中绿颜色(即不同色号的绿色)识别的精度范围。取值范围为 [0,1],默认值为 + 0.5。取值越大,代表可识别的绿色范围越大。当该参数取值过大时,人像边缘和人像范围内的绿色也会被识别。声网推荐你根据实际效果动态调整该参数的值。

    + 该参数仅在 modelType 设置为 时生效。 +
    +
    + +
    diff --git a/dita/RTC/API/class_simulcaststreamconfig.dita b/dita/RTC/API/class_simulcaststreamconfig.dita index bfbae26b6a7..a74a22783b8 100644 --- a/dita/RTC/API/class_simulcaststreamconfig.dita +++ b/dita/RTC/API/class_simulcaststreamconfig.dita @@ -6,7 +6,7 @@

    - public class SimulcastStreamConfig { + public class SimulcastStreamConfig { public VideoEncoderConfiguration.VideoDimensions dimensions; public int bitrate; public int framerate; @@ -24,12 +24,12 @@ this.framerate = framerate; } } - __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject @property (assign, nonatomic) int bitrate; @property (assign, nonatomic) int framerate; @property (assign, nonatomic) CGSize dimensions; @end - struct SimulcastStreamConfig { + struct SimulcastStreamConfig { VideoDimensions dimensions; int bitrate; int framerate; @@ -38,8 +38,8 @@ return dimensions == rhs.dimensions && bitrate == rhs.bitrate && framerate == rhs.framerate; } }; - - public class SimulcastStreamConfig { + + public class SimulcastStreamConfig { public SimulcastStreamConfig() { dimensions = new VideoDimensions(160, 120); @@ -57,27 +57,28 @@ public int bitrate { set; get; } public int framerate { set; get; } } - -

    + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - 视频尺寸,详见 。默认值为 160 × 120。 - - - bitrate - 视频码率 (Kbps)。默认值为 65。 - - - framerate - 视频帧率 (fps)。默认值为 5。 - -
    + + dimensions + 视频尺寸,详见 。默认值为 160 × 120。 + + + bitrate + 视频码率 (Kbps)。默认值为 65。 + + + framerate + 视频帧率 (fps)。默认值为 5。 + + +
    diff --git a/dita/RTC/API/class_size.dita b/dita/RTC/API/class_size.dita index 468ed9ee2e5..3539805249e 100644 --- a/dita/RTC/API/class_size.dita +++ b/dita/RTC/API/class_size.dita @@ -6,53 +6,57 @@

    - - - struct SIZE { + + + struct SIZE { int width; int height; SIZE() : width(0), height(0) {} SIZE(int ww, int hh) : width(ww), height(hh) {} }; - - - -

    + + + + +

    - - - struct SIZE { + + + struct SIZE { int width; int height; SIZE() : width(0), height(0) {} SIZE(int w, int h) : width(w), height(h) {} }; - - - -

    + + + + +

    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +

    - 该方法仅适用于 macOS。

    + 该方法仅适用于 macOS。

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - 缩略图或图标的目标宽度 (px)。默认值为 0。 - - - height - 缩略图或图标的目标高度 (px)。默认值为 0。 - -
    + + width + 缩略图或图标的目标宽度 (px)。默认值为 0。 + + + height + 缩略图或图标的目标高度 (px)。默认值为 0。 + + +
    diff --git a/dita/RTC/API/class_spatialaudioparams.dita b/dita/RTC/API/class_spatialaudioparams.dita index 7da60bb1d27..a0ba9e63ec6 100644 --- a/dita/RTC/API/class_spatialaudioparams.dita +++ b/dita/RTC/API/class_spatialaudioparams.dita @@ -6,7 +6,7 @@

    - public class SpatialAudioParams { + public class SpatialAudioParams { public Double speaker_azimuth; public Double speaker_elevation; public Double speaker_distance; @@ -14,7 +14,7 @@ public Boolean enable_blur; public Boolean enable_air_absorb; } - __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject + __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject @property(strong, nonatomic) AgoraRtcDoubleOptional* _Nullable speaker_azimuth; @property(strong, nonatomic) AgoraRtcDoubleOptional* _Nullable speaker_elevation; @property(strong, nonatomic) AgoraRtcDoubleOptional* _Nullable speaker_distance; @@ -23,7 +23,7 @@ @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable enable_air_absorb; @end - struct SpatialAudioParams { + struct SpatialAudioParams { Optional<double> speaker_azimuth; Optional<double> speaker_elevation; Optional<double> speaker_distance; @@ -31,8 +31,8 @@ Optional<bool> enable_blur; Optional<bool> enable_air_absorb; }; - - public class SpatialAudioParams + + public class SpatialAudioParams { public double speaker_azimuth { set; get; } public double speaker_elevation { set; get; } @@ -41,77 +41,58 @@ public bool enable_blur { set; get; } public bool enable_air_absorb { set; get; } }; - -

    + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - speaker_azimuth - 远端用户或媒体播放器相对于本地用户的水平角。取值范围为 [0,360],单位为度。其中: - - - -
      -
    • 0:(默认)0 度,表示水平面的正前方。
    • -
    • 90: 90 度,表示水平面的正左方。
    • -
    • 180: 180 度,表示水平面的正后方。
    • -
    • 270: 270 度,表示水平面的正右方。
    • -
    • 360: 360 度,表示水平面的正前方。
    • -
    -
    - - speaker_elevation - 远端用户或媒体播放器相对于本地用户的俯仰角。取值范围为 [-90,90],单位为度。其中: - - - -
      -
    • 0:(默认)0 度,表示水平面无旋转。
    • -
    • -90: -90 度,表示水平面向下旋转 90 度。
    • -
    • 90: 90 度,表示水平面向上旋转 90 度。
    • -
    -
    - - speaker_distance - 远端用户或媒体播放器相对于本地用户的距离。取值范围为 [1,50],单位为米。默认值为 1 米。 - - - speaker_orientation - 远端用户或媒体播放器相对于本地用户的朝向。取值范围为 [0,180],单位为度。其中: - - - -
      -
    • 0:(默认)0 度,表示声源和听者朝向同一方向。
    • -
    • 180: 180 度,表示声源和听者面对面。
    • -
    -
    - - enable_blur - 是否开启声音模糊处理: - - - -
      -
    • : 开启模糊处理。
    • -
    • : (默认)关闭模糊处理。
    • -
    -
    - - enable_air_absorb - 是否开启空气衰减,即模拟声音在空气中传播时的能量衰减效果: - - - -
      -
    • : (默认)开启空气衰减。
    • -
    • : 关闭空气衰减。
    • -
    -
    -
    + + speaker_azimuth + 远端用户或媒体播放器相对于本地用户的水平角。取值范围为 [0,360],单位为度。其中:
      +
    • 0:(默认)0 度,表示水平面的正前方。
    • +
    • 90: 90 度,表示水平面的正左方。
    • +
    • 180: 180 度,表示水平面的正后方。
    • +
    • 270: 270 度,表示水平面的正右方。
    • +
    • 360: 360 度,表示水平面的正前方。
    • +
    +
    + + speaker_elevation + 远端用户或媒体播放器相对于本地用户的俯仰角。取值范围为 [-90,90],单位为度。其中:
      +
    • 0:(默认)0 度,表示水平面无旋转。
    • +
    • -90: -90 度,表示水平面向下旋转 90 度。
    • +
    • 90: 90 度,表示水平面向上旋转 90 度。
    • +
    +
    + + speaker_distance + 远端用户或媒体播放器相对于本地用户的距离。取值范围为 [1,50],单位为米。默认值为 1 米。 + + + speaker_orientation + 远端用户或媒体播放器相对于本地用户的朝向。取值范围为 [0,180],单位为度。其中:
      +
    • 0:(默认)0 度,表示声源和听者朝向同一方向。
    • +
    • 180: 180 度,表示声源和听者面对面。
    • +
    +
    + + enable_blur + 是否开启声音模糊处理:
      +
    • : 开启模糊处理。
    • +
    • : (默认)关闭模糊处理。
    • +
    +
    + + enable_air_absorb + 是否开启空气衰减,即模拟声音在空气中传播时的能量衰减效果:
      +
    • : (默认)开启空气衰减。
    • +
    • : 关闭空气衰减。
    • +
    +
    + +
    diff --git a/dita/RTC/API/class_srcinfo.dita b/dita/RTC/API/class_srcinfo.dita index 6094f65dfdb..868aa048409 100644 --- a/dita/RTC/API/class_srcinfo.dita +++ b/dita/RTC/API/class_srcinfo.dita @@ -6,39 +6,42 @@

    - public class SrcInfo { + public class SrcInfo { private int bitrateInKbps; private String name; public SrcInfo() {} } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject @property(assign, nonatomic) int bitrateInKbps; @property(copy, nonatomic) NSString *_Nullable name; @end - struct SrcInfo { + struct SrcInfo { int bitrateInKbps; const char* name; }; - - public class SrcInfo { + + public class SrcInfo { public int bitrateInKbps; public string name; }; - -

    + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - bitrateInKbps - 媒体资源播放时的视频码率(Kbps)。 - - - name - 媒体资源的名字。 - -
    + + bitrateInKbps + 媒体资源播放时的视频码率(Kbps)。 + + + name + 媒体资源的名字。 + + +
    diff --git a/dita/RTC/API/class_thumbimagebuffer.dita b/dita/RTC/API/class_thumbimagebuffer.dita index 7869d649ea7..5b81beab6bd 100644 --- a/dita/RTC/API/class_thumbimagebuffer.dita +++ b/dita/RTC/API/class_thumbimagebuffer.dita @@ -2,45 +2,50 @@ <ph keyref="ThumbImageBuffer"/> - 缩略图或图标的图像内容。在 中设置。 + 缩略图或图标的图像内容。在 + 中设置。

    - - - struct ThumbImageBuffer { + + + struct ThumbImageBuffer { const char* buffer; unsigned int length; unsigned int width; unsigned int height; ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {} }; - - - -

    + + + + +

    - 图像默认为 RGBA 格式。如果你需要使用其他格式,请自行转换格式。
    + 图像默认为 RGBA 格式。如果你需要使用其他格式,请自行转换格式。 +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - buffer - 缩略图或图标的 buffer。 - - - length - 缩略图或图标的 buffer 长度,单位为字节。 - - - width - 缩略图或图标的实际宽度(px)。 - - - height - 缩略图或图标的实际高度(px)。 - -
    + + buffer + 缩略图或图标的 buffer。 + + + length + 缩略图或图标的 buffer 长度,单位为字节。 + + + width + 缩略图或图标的实际宽度(px)。 + + + height + 缩略图或图标的实际高度(px)。 + + +
    diff --git a/dita/RTC/API/class_transcodinguser.dita b/dita/RTC/API/class_transcodinguser.dita index e0c556775ed..5b489b3a971 100644 --- a/dita/RTC/API/class_transcodinguser.dita +++ b/dita/RTC/API/class_transcodinguser.dita @@ -6,7 +6,7 @@

    - public static class TranscodingUser { + public static class TranscodingUser { public int uid; public String userId; @@ -23,7 +23,7 @@ alpha = 1; } } - __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) CGRect rect; @@ -31,7 +31,7 @@ @property(assign, nonatomic) double alpha; @property(assign, nonatomic) NSInteger audioChannel; @end - truct TranscodingUser { + truct TranscodingUser { uid_t uid; int x; int y; @@ -50,7 +50,7 @@ alpha(1.0), audioChannel(0) {} }; - public class TranscodingUser + public class TranscodingUser { public TranscodingUser() { @@ -79,7 +79,7 @@ public double alpha { set; get; } public int audioChannel { set; get; } } - export interface TranscodingUser { + export interface TranscodingUser { uid: number; x: number; y: number; @@ -89,8 +89,8 @@ alpha: number; audioChannel: number; } - - class TranscodingUser { + + class TranscodingUser { int uid; @@ -130,102 +130,94 @@ _$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 - -

    主播的用户 ID。

    -
    -
    - - x - -

    主播视频画面在输出视频画面的 x 坐标 (pixel),以输出视频画面的左上角为原点。取值范围为[0,width],width 为 中设置的 width

    -
    -
    - - y - 主播视频画面在输出视频画面的 y 坐标 (pixel),以输出视频画面的左上角为原点。取值范围为[0,height],height 为 中设置的 height - - - width - 主播视频画面的宽 (pixel)。 - - - height - -

    主播视频画面的高 (pixel)。

    -
    -
    - - rect - 主播视频画面在输出视频画面的位置和大小,类型为 CGRect。 - - - zOrder - -

    主播视频画面的图层编号。取值范围为 [0,100]。 - - - -

      -
    • 0:(默认)视频画面位于图层的最下层。
    • -
    • 100: 视频画面位于图层的最上层。
    • -

    - -
      -
    • 如果取值小于 0 或大于 100,会返回错误 ERR_INVALID_ARGUMENT
    • -
    • 从 v2.3 开始,支持将 zOrder 设置为 0。
    • -
    -
    - - alpha - -

    主播视频画面的透明度。取值范围为 [0.0,1.0]。 - - - -

      -
    • 0.0: 完全透明。
    • -
    • 1.0:(默认)完全不透明。
    • -

    -
    -
    - - audioChannel - -

    主播音频在输出音频中占用的声道。默认值为 0,取值范围为 [0,5]: - - - -

      -
    • 0: (推荐)默认混音设置,最多支持双声道,与主播上行音频相关。
    • -
    • 1: 主播音频在输出音频的 FL 声道。如果主播上行音频是多声道,声网 + + uid + +

      主播的用户 ID。

      +
      +
      + + x + +

      主播视频画面在输出视频画面的 x 坐标 (pixel),以输出视频画面的左上角为原点。取值范围为[0,width],width 为 中设置的 width

      +
      +
      + + y + 主播视频画面在输出视频画面的 y 坐标 (pixel),以输出视频画面的左上角为原点。取值范围为[0,height],height 为 中设置的 height + + + width + 主播视频画面的宽 (pixel)。 + + + height + +

      主播视频画面的高 (pixel)。

      +
      +
      + + rect + 主播视频画面在输出视频画面的位置和大小,类型为 CGRect。 + + + zOrder + +

      主播视频画面的图层编号。取值范围为 [0,100]。

        +
      • 0:(默认)视频画面位于图层的最下层。
      • +
      • 100: 视频画面位于图层的最上层。
      • +
      +

      + +
        +
      • 如果取值小于 0 或大于 100,会返回错误 + ERR_INVALID_ARGUMENT
      • +
      • 从 v2.3 开始,支持将 zOrder 设置为 0。
      • +
      +
      +
      +
      + + alpha + +

      主播视频画面的透明度。取值范围为 [0.0,1.0]。

        +
      • 0.0: 完全透明。
      • +
      • 1.0:(默认)完全不透明。
      • +
      +

      +
      +
      + + audioChannel + +

      主播音频在输出音频中占用的声道。默认值为 0,取值范围为 [0,5]:

        +
      • 0: (推荐)默认混音设置,最多支持双声道,与主播上行音频相关。
      • +
      • 1: 主播音频在输出音频的 FL 声道。如果主播上行音频是多声道,声网 服务器会先把多声道混音成单声道。
      • -
      • 2: 主播音频在输出音频的 FC 声道。如果主播上行音频是多声道,声网 +
      • 2: 主播音频在输出音频的 FC 声道。如果主播上行音频是多声道,声网 服务器会先把多声道混音成单声道。
      • -
      • 3: 主播音频在输出音频的 FR 声道。如果主播上行音频是多声道,声网 +
      • 3: 主播音频在输出音频的 FR 声道。如果主播上行音频是多声道,声网 服务器会先把多声道混音成单声道。
      • -
      • 4: 主播音频在输出音频的 BL 声道。如果主播上行音频是多声道,声网 +
      • 4: 主播音频在输出音频的 BL 声道。如果主播上行音频是多声道,声网 服务器会先把多声道混音成单声道。
      • -
      • 5: 主播音频在输出音频的 BR 声道。如果主播上行音频是多声道,声网 +
      • 5: 主播音频在输出音频的 BR 声道。如果主播上行音频是多声道,声网 服务器会先把多声道混音成单声道。
      • -
      • 0xFF 或取值大于 5: 该主播音频静音,声网 +
      • 0xFF 或取值大于 5: 该主播音频静音,声网 服务器移除该主播的音频。
      • -
      - 取值不为 0 时,需要使用特殊的播放器。

      -
      -
      -
    + + 取值不为 0 时,需要使用特殊的播放器。

    + + + +
    diff --git a/dita/RTC/API/class_transcodingvideostream.dita b/dita/RTC/API/class_transcodingvideostream.dita index 8024a3b2840..2946ad11348 100644 --- a/dita/RTC/API/class_transcodingvideostream.dita +++ b/dita/RTC/API/class_transcodingvideostream.dita @@ -6,8 +6,8 @@

    - - __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject + + __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject @property (assign, nonatomic) AgoraMediaSourceType sourceType; @property (assign, nonatomic) NSUInteger remoteUserUid; @property (copy, nonatomic) NSString * _Nullable imageUrl; @@ -16,7 +16,7 @@ @property(assign, nonatomic) double alpha; @end - struct TranscodingVideoStream { + struct TranscodingVideoStream { agora::media::MEDIA_SOURCE_TYPE sourceType; uid_t remoteUserUid; const char* imageUrl; @@ -40,8 +40,8 @@ alpha(1.0), mirror(false) {} }; - - public class TranscodingVideoStream + + public class TranscodingVideoStream { public TranscodingVideoStream() { @@ -73,116 +73,99 @@ public double alpha { set; get; } public bool mirror { set; get; } } - -

    + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - sourceType - -

    参与本地合图的视频源类型。详见

    -
    -
    - - remoteUserUid - -

    远端用户 ID。 - - - 请仅在参与本地合图的视频源类型为 时,使用该参数。

    -
    -
    - - connectionId - -

    远端用户对应的连接 ID。 - - - -

      -
    • 请仅在参与本地合图的视频源类型为 时,使用该参数。
    • -
    • 如果仅加入一个频道,请将该参数设为默认值。
    • -

    -
    -
    - - imageUrl - -

    图像的 URL。 - - - 请仅在参与本地合图的视频源类型为 RTC_IMAGEImage 时,使用该参数。

    -
    -
    - - x - -

    参与本地合图的视频的左上角相对于合图画布左上角(原点)的横向位移。

    -
    -
    - - y - -

    参与本地合图的视频的左上角相对于合图画布左上角(原点)的纵向位移。

    -
    -
    - - width - -

    参与本地合图的视频的宽度 (px)。

    -
    -
    - - height - -

    参与本地合图的视频的高度 (px)。

    -
    -
    - - rect - 参与本地合图的视频的左上角相对于合图画布左上角(原点)的位置和视频大小,类型为 CGRect。 - - - zOrder - 参与本地合图的视频所属的图层的编号。取值范围为 [0,100]。 - - - -
      -
    • - 0:(默认值)图层在最下层。
    • -
    • 100: 图层在最上层。
    • -
    -
    - - alpha - -

    参与本地合图的视频的透明度。取值范围为 [0.0,1.0]。 0.0 表示透明度为完全透明,1.0 表示透明度为完全不透明。

    -
    -
    - - mirror - 是否对参与本地合图的的视频进行镜像: - - -
      -
    • : 镜像。
    • -
    • : (默认值)不镜像。
    • -
    - 该参数仅对视频源类型为 CAMERACamera 的视频生效。
    -
    -
    + + sourceType + +

    参与本地合图的视频源类型。详见

    +
    +
    + + remoteUserUid + +

    远端用户 ID。 请仅在参与本地合图的视频源类型为 + 时,使用该参数。

    +
    +
    + + connectionId + +

    远端用户对应的连接 ID。 +

      +
    • 请仅在参与本地合图的视频源类型为 + 时,使用该参数。
    • +
    • 如果仅加入一个频道,请将该参数设为默认值。
    • +
    +

    +
    +
    + + imageUrl + +

    图像的 URL。 请仅在参与本地合图的视频源类型为 + RTC_IMAGEImage 时,使用该参数。

    +
    +
    + + x + +

    参与本地合图的视频的左上角相对于合图画布左上角(原点)的横向位移。

    +
    +
    + + y + +

    参与本地合图的视频的左上角相对于合图画布左上角(原点)的纵向位移。

    +
    +
    + + width + +

    参与本地合图的视频的宽度 (px)。

    +
    +
    + + height + +

    参与本地合图的视频的高度 (px)。

    +
    +
    + + rect + 参与本地合图的视频的左上角相对于合图画布左上角(原点)的位置和视频大小,类型为 CGRect。 + + + zOrder + 参与本地合图的视频所属的图层的编号。取值范围为 [0,100]。
      +
    • 0:(默认值)图层在最下层。
    • +
    • 100: 图层在最上层。
    • +
    +
    + + alpha + +

    参与本地合图的视频的透明度。取值范围为 [0.0,1.0]。 0.0 表示透明度为完全透明,1.0 表示透明度为完全不透明。

    +
    +
    + + mirror + 是否对参与本地合图的的视频进行镜像:
      +
    • : 镜像。
    • +
    • : (默认值)不镜像。
    • +
    + 该参数仅对视频源类型为 CAMERACamera + 的视频生效。
    +
    + +
    diff --git a/dita/RTC/API/class_uplinknetworkinfo.dita b/dita/RTC/API/class_uplinknetworkinfo.dita index 194f9bf0807..e9cfc4a906b 100644 --- a/dita/RTC/API/class_uplinknetworkinfo.dita +++ b/dita/RTC/API/class_uplinknetworkinfo.dita @@ -6,13 +6,13 @@

    - public static class UplinkNetworkInfo { + public static class UplinkNetworkInfo { public int video_encoder_target_bitrate_bps; }; - __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject @property(nonatomic, assign) int videoEncoderTargetBitrateBps; @end - struct UplinkNetworkInfo { + struct UplinkNetworkInfo { int video_encoder_target_bitrate_bps; UplinkNetworkInfo() : video_encoder_target_bitrate_bps(0) {} @@ -21,8 +21,8 @@ return (video_encoder_target_bitrate_bps == rhs.video_encoder_target_bitrate_bps); } }; - - public class UplinkNetworkInfo + + public class UplinkNetworkInfo { public UplinkNetworkInfo() { @@ -34,19 +34,20 @@ } public int video_encoder_target_bitrate_bps; } - -

    + + +

    - <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 - 目标视频编码器的码率 (bps)。 - -
    + + video_encoder_target_bitrate_bps + videoEncoderTargetBitrateBps + 目标视频编码器的码率 (bps)。 + + +
    diff --git a/dita/RTC/API/class_user.dita b/dita/RTC/API/class_user.dita index aa9c4601c42..f5d215a3112 100644 --- a/dita/RTC/API/class_user.dita +++ b/dita/RTC/API/class_user.dita @@ -6,24 +6,22 @@

    - - - - export type User = "local" | "videoSource" | number | string ; - - -

    + + + + export type User = "local" | "videoSource" | number | string ; + + + +

    -

    该类指定 SDK 渲染视频所属的用户信息。可以设为如下值: - - -

      -
    • "local":代表本地用户的视频渲染。
    • -
    • "videoSource":代表 video source 对象的视频渲染。
    • -
    • 整数:该数值和远端用户 UID 一致,代表远端用户的视频渲染。
    • -
    • 字符串:该字符串和远端用户 User Account 一致,代表远端用户的视频渲染。
    • -

    +

    该类指定 SDK 渲染视频所属的用户信息。可以设为如下值:

      +
    • "local":代表本地用户的视频渲染。
    • +
    • "videoSource":代表 video source 对象的视频渲染。
    • +
    • 整数:该数值和远端用户 UID 一致,代表远端用户的视频渲染。
    • +
    • 字符串:该字符串和远端用户 User Account 一致,代表远端用户的视频渲染。
    • +

    diff --git a/dita/RTC/API/class_useraudiospectruminfo.dita b/dita/RTC/API/class_useraudiospectruminfo.dita index 3b8fa8c1eb2..5b1b7f4f29e 100644 --- a/dita/RTC/API/class_useraudiospectruminfo.dita +++ b/dita/RTC/API/class_useraudiospectruminfo.dita @@ -6,18 +6,18 @@

    - public class UserAudioSpectrumInfo { + public class UserAudioSpectrumInfo { private int uid; private AudioSpectrumInfo audioSpectrumInfo; } - __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject @property(nonatomic, assign) NSInteger uid; @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData; @end - struct UserAudioSpectrumInfo { + struct UserAudioSpectrumInfo { agora::rtc::uid_t uid; struct AudioSpectrumData spectrumData; @@ -25,26 +25,30 @@ UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length) : uid(_uid) { spectrumData.audioSpectrumData = data; spectrumData.dataLength = length; } }; - - - -

    + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - 远端用户 ID。 - - - audioSpectrumInfo - audioSpectrumData - spectrumData - -

    远端用户的音频频谱数据。详见

    -
    -
    -
    + + uid + 远端用户 ID。 + + + audioSpectrumInfo + audioSpectrumData + spectrumData + +

    远端用户的音频频谱数据。详见

    +
    +
    + +
    diff --git a/dita/RTC/API/class_userinfo.dita b/dita/RTC/API/class_userinfo.dita index 4eb64cb0ab1..ccd7b558384 100644 --- a/dita/RTC/API/class_userinfo.dita +++ b/dita/RTC/API/class_userinfo.dita @@ -6,7 +6,7 @@

    - public class UserInfo { + public class UserInfo { public int uid; public String userAccount; @@ -16,18 +16,18 @@ this.userAccount = userAccount; } } - + public struct UserInfo { public uint uid; public string userAccount; }

    - public class UserInfo { + public class UserInfo { public int uid; public String userAccount; } - struct UserInfo { + struct UserInfo { uid_t uid; char userAccount[MAX_USER_ACCOUNT_LENGTH]; UserInfo() @@ -36,11 +36,11 @@ } };

    - __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject + __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject @property(assign, nonatomic) NSUInteger uid; @property (copy, nonatomic) NSString * _Nullable userAccount; @end - struct UserInfo { + struct UserInfo { uid_t uid; char userAccount[MAX_USER_ACCOUNT_LENGTH]; UserInfo() @@ -48,7 +48,7 @@ userAccount[0] = '\0'; } }; - ublic class UserInfo + ublic class UserInfo { public UserInfo() { @@ -64,12 +64,12 @@ public uint uid { set; get; } public string userAccount { set; get; } } - export interface UserInfo { + export interface UserInfo { uid: number; userAccount: string; } - - class UserInfo { + + class UserInfo { int uid; String userAccount; @@ -83,30 +83,31 @@ _$UserInfoFromJson(json); Map<String, dynamic> toJson() => _$UserInfoToJson(this); -}

    +} +

    - -
    自从
    -
    v2.8.0
    -
    + +
    自从
    +
    v2.8.0
    +
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - 用户 ID。 - - - userAccount - 用户 Account。长度限制为 - -
    + + uid + 用户 ID。 + + + userAccount + 用户 Account。长度限制为 + + +
    diff --git a/dita/RTC/API/class_videocanvas.dita b/dita/RTC/API/class_videocanvas.dita index 0d3dadf6ae5..91cc900dead 100644 --- a/dita/RTC/API/class_videocanvas.dita +++ b/dita/RTC/API/class_videocanvas.dita @@ -1,14 +1,18 @@ - <ph keyref="VideoCanvas"/> - 视频显示设置。 + + <ph keyref="VideoCanvas"/> + + + 视频显示设置。 +

    - - - struct VideoCanvas { + + + struct VideoCanvas { view_t view; int renderMode; char channelId[MAX_CHANNEL_ID_LENGTH]; @@ -16,7 +20,7 @@ void *priv; VIDEO_MIRROR_MODE_TYPE mirrorMode; } - public class VideoCanvas + public class VideoCanvas { public VideoCanvas() { @@ -43,130 +47,92 @@ public uint uid { set; get; } public VIDEO_MIRROR_MODE_TYPE mirrorMode { set; get; } } - - -

    + + + +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - view - -

    用于显示视频的视图。

    -

    - 支持传入如下视图: - - -

      -
    • - 通过 CreateRendererView 创建的 - SurfaceView
    • -
    • - 自 v3.1.0,通过 CreateTextureView 创建的 - TextureView
    • -
    • - 自 v3.6.2,Android 系统原生的 - TextureView -
    • -

    -
    -
    - - renderMode - - 视频渲染模式,详见 - - 。 + + view + +

    用于显示视频的视图。

    +

    支持传入如下视图:

      +
    • 通过 CreateRendererView 创建的 SurfaceView +
    • +
    • 自 v3.1.0,通过 CreateTextureView 创建的 TextureView +
    • +
    • 自 v3.6.2,Android 系统原生的 TextureView +
    • +
    +

    -
    - - channelId - -
    - -
    自从
    -
    v3.0.0
    -
    -
    -

    - 频道名,即能够唯一标识频道、长度在 64 字节以内的字符。以下为支持的字符集范围(共 89 个字符): - - -

      -
    • -
    - -
      -
    • - 该参数默认值为空字符 ""。如果用户是通过 - - 类的 - - 方法加入频道的,则将参数设为默认值。此时 - VideoCanvas - 设置的是该用户在频道内的视图。 -
    • -
    • - 如果用户是通过 - - 类的 - - 方法加入频道的,则将该参数设为该 - - 类对应的 - channelId - 。此时 - VideoCanvas - 设置的是用户在该 - channelId - 对应频道内的视图。 + + + renderMode + 视频渲染模式,详见 + + + channelId + +
      + +
      自从
      +
      v3.0.0
      +
      +
      +

      频道名,即能够唯一标识频道、长度在 64 字节以内的字符。以下为支持的字符集范围(共 89 个字符):

        +
      • +
      + +
        +
      • 该参数默认值为空字符 ""。如果用户是通过 类的 方法加入频道的,则将参数设为默认值。此时 + VideoCanvas 设置的是该用户在频道内的视图。
      • +
      • 如果用户是通过 类的 方法加入频道的,则将该参数设为该 类对应的 channelId 。此时 + VideoCanvas 设置的是用户在该 + channelId 对应频道内的视图。
      • +
      +
      +

      +
      +
      + + uid + 用户 ID。 + + + mirrorMode + +
      + +
      自从
      +
      v3.0.0
      +
      +
      +

      视图镜像模式,详见 +

        +
      • 对于本地用户:
          +
        • 如果使用前置摄像头,默认启动镜像模式。
        • +
        • 如果使用后置摄像头,默认关闭镜像模式。
        • +
      • -

      -
      -
      - - uid - 用户 ID。 - - - mirrorMode - -
      - -
      自从
      -
      v3.0.0
      -
      -
      -

      - 视图镜像模式,详见 - - 。 - - - -

        -
      • - 对于本地用户: - - -
          -
        • 如果使用前置摄像头,默认启动镜像模式。
        • -
        • 如果使用后置摄像头,默认关闭镜像模式。
        • -
      • -
      • 对于远端用户:默认关闭镜像模式。
      • -

      -
      -
      -
    +
  • 对于远端用户:默认关闭镜像模式。
  • + + +

    + + + +
    diff --git a/dita/RTC/API/class_videodenoiseroptions.dita b/dita/RTC/API/class_videodenoiseroptions.dita index 9f454ace1cf..2646d218534 100644 --- a/dita/RTC/API/class_videodenoiseroptions.dita +++ b/dita/RTC/API/class_videodenoiseroptions.dita @@ -1,19 +1,24 @@ - <ph keyref="VideoDenoiserOptions"/> - 视频降噪选项。 + + <ph keyref="VideoDenoiserOptions"/> + + + 视频降噪选项。 +

    - - -

    + + + +

    - - - - public class VideoDenoiserOptions + + + + public class VideoDenoiserOptions { public VideoDenoiserOptions() { @@ -28,9 +33,9 @@ public VIDEO_DENOISER_MODE mode { set; get; } public VIDEO_DENOISER_LEVEL level { set; get; } }; - - - class VideoDenoiserOptions { + + + class VideoDenoiserOptions { final VideoDenoiserMode mode; final VideoDenoiserLevel level; @@ -42,25 +47,27 @@ _$VideoDenoiserOptionsFromJson(json); 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 - -

    视频降噪等级。详见

    -
    -
    - - mode - -

    视频降噪模式。详见

    -
    -
    -
    + + level + +

    视频降噪等级。详见

    +
    +
    + + mode + +

    视频降噪模式。详见

    +
    +
    + +
    diff --git a/dita/RTC/API/class_videodimensions.dita b/dita/RTC/API/class_videodimensions.dita index 89c1a13ce8b..46768c831f2 100644 --- a/dita/RTC/API/class_videodimensions.dita +++ b/dita/RTC/API/class_videodimensions.dita @@ -6,7 +6,7 @@

    - static public class VideoDimensions { + static public class VideoDimensions { public int width; public int height; @@ -20,8 +20,8 @@ this.height = 0; } } - - struct VideoDimensions { + + struct VideoDimensions { int width; int height; VideoDimensions() : width(640), height(480) {} @@ -30,7 +30,7 @@ return width == rhs.width && height == rhs.height; } }; - public class VideoDimensions + public class VideoDimensions { public VideoDimensions() { @@ -47,12 +47,12 @@ public int width { set; get; } public int height { set; get; } } - export interface VideoDimensions { + export interface VideoDimensions { width: number, height: number } - - class VideoDimensions { + + class VideoDimensions { @JsonKey(includeIfNull: false) int? width; @@ -69,23 +69,24 @@ _$VideoDimensionsFromJson(json); Map<String, dynamic> toJson() => _$VideoDimensionsToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - -

    视频宽度,单位为像素。

    -
    -
    - - height - 视频高度,单位为像素。 - -
    + + width + +

    视频宽度,单位为像素。

    +
    +
    + + height + 视频高度,单位为像素。 + + +
    diff --git a/dita/RTC/API/class_videoencoderconfiguration.dita b/dita/RTC/API/class_videoencoderconfiguration.dita index c8a7df21c03..f27f7482e36 100644 --- a/dita/RTC/API/class_videoencoderconfiguration.dita +++ b/dita/RTC/API/class_videoencoderconfiguration.dita @@ -6,7 +6,7 @@

    - public class VideoEncoderConfiguration { + public class VideoEncoderConfiguration { public VideoDimensions dimensions; public int frameRate; @@ -17,7 +17,7 @@ public DEGRADATION_PREFERENCE degradationPrefer; public MIRROR_MODE_TYPE mirrorMode; } - __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) AgoraVideoCodecType codecType; @property(assign, nonatomic) AgoraVideoFrameRate frameRate; @@ -40,7 +40,7 @@ orientationMode:(AgoraVideoOutputOrientationMode)orientationMode mirrorMode:(AgoraVideoMirrorMode)mirrorMode; @end - struct VideoEncoderConfiguration { + struct VideoEncoderConfiguration { VIDEO_CODEC_TYPE codecType; VideoDimensions dimensions; int frameRate; @@ -87,7 +87,7 @@ degradationPreference(MAINTAIN_QUALITY), mirrorMode(VIDEO_MIRROR_MODE_DISABLED) {} }; - public class VideoEncoderConfiguration + public class VideoEncoderConfiguration { public VideoEncoderConfiguration() { @@ -125,9 +125,10 @@ public ORIENTATION_MODE orientationMode { set; get; } public DEGRADATION_PREFERENCE degradationPreference { set; get; } public VIDEO_MIRROR_MODE_TYPE mirrorMode { set; get; } - }

    + } +

    - public class VideoEncoderConfiguration { + public class VideoEncoderConfiguration { public VideoDimensions dimensions; public int frameRate; public int minFrameRate; @@ -137,7 +138,7 @@ public DEGRADATION_PREFERENCE degradationPrefer; public int mirrorMode; } - __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) NSInteger frameRate; @property(assign, nonatomic) NSInteger minFrameRate; @@ -151,7 +152,7 @@ - (instancetype _Nonnull)initWithWidth:(NSInteger)width height:(NSInteger)height frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode; @end - struct VideoEncoderConfiguration { + struct VideoEncoderConfiguration { VideoDimensions dimensions; FRAME_RATE frameRate; int minFrameRate; @@ -187,7 +188,7 @@ , mirrorMode(VIDEO_MIRROR_MODE_AUTO) {} }; - public class VideoEncoderConfiguration + public class VideoEncoderConfiguration { public VideoEncoderConfiguration() { @@ -244,7 +245,7 @@ public DEGRADATION_PREFERENCE degradationPreference { set; get; } public VIDEO_MIRROR_MODE_TYPE mirrorMode { set; get; } } - export interface VideoEncoderConfiguration { + export interface VideoEncoderConfiguration { dimensions: VideoDimensions; frameRate: FRAME_RATE; minFrameRate: number; @@ -254,8 +255,8 @@ degradationPreference: DEGRADATION_PREFERENCE; mirrorMode: VIDEO_MIRROR_MODE_TYPE; } - - class VideoEncoderConfiguration { + + class VideoEncoderConfiguration { @JsonKey(includeIfNull: false) VideoDimensions? dimensions; @@ -296,318 +297,315 @@ _$VideoEncoderConfigurationFromJson(json); Map<String, dynamic> toJson() => _$VideoEncoderConfigurationToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - -

    视频编码的分辨率(px),详见 。该参数用于衡量编码质量,以长 × 宽表示,默认值为 640 × 360。用户可以自行设置分辨率。

    -

    视频编码的分辨率 (px),用于衡量编码质量,以长x宽表示,默认值为 640 x 360。用户可以自行设置分辨率,也可以在如下列表中直接选择想要的分辨率: - - - - -

      -
    • AgoraVideoDimension120x120:视频分辨率为 120 * 120。
    • -
    • AgoraVideoDimension160x120:视频分辨率为 160 * 120。
    • -
    • AgoraVideoDimension180x180:视频分辨率为 180 * 180。
    • -
    • AgoraVideoDimension240x180:视频分辨率为 240 * 180。
    • -
    • AgoraVideoDimension320x180:视频分辨率为 320 * 180。
    • -
    • AgoraVideoDimension240x240:视频分辨率为 240 * 240。
    • -
    • AgoraVideoDimension320x240:视频分辨率为 320 * 240。
    • -
    • AgoraVideoDimension424x240:视频分辨率为 424 * 240。
    • -
    • AgoraVideoDimension360x360:视频分辨率为 360 * 360。
    • -
    • AgoraVideoDimension480x360:视频分辨率为 480 * 360。
    • -
    • AgoraVideoDimension640x360:视频分辨率为 640 * 360。
    • -
    • AgoraVideoDimension480x480:视频分辨率为 480 * 480。
    • -
    • AgoraVideoDimension640x480:视频分辨率为 640 * 480。
    • -
    • AgoraVideoDimension840x480:视频分辨率为 840 * 480
    • -
    • AgoraVideoDimension960x720:视频分辨率为 960 * 720。
    • -
    • AgoraVideoDimension1280x720:视频分辨率为 1280 * 720。
    • -
    • AgoraVideoDimension1920x1080: 视频分辨率为 1920 * 1080(仅支持 macOS)。
    • -
    • AgoraVideoDimension2540x1440: 视频分辨率为 2540 * 1440(仅支持 macOS)。
    • -
    • AgoraVideoDimension3840x2160: 视频分辨率为 3840 * 2160(仅支持 macOS)。
    • -
    - -
      -
    • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
    • -
    • iPhone 不支持 720P 以上的分辨率。
    • -

    -
    -
    - - codecType - -

    视频编码类型,详见

    -
    -
    - - frameRate - -

    视频编码的帧率(fps),默认值为 15。详见

    -

    视频编码的帧率(fps),默认值为 15。详见

    -
    -
    - - minFramerate - 视频的最小帧率。默认值为 -1。 - - - bitrate - -

    视频编码码率,单位为 Kbps。

    -

    你可以根据场景需要参照下表手动设置你想要的码率。若设置的视频码率超出合理范围,SDK 会自动按照合理区间处理码率。你也可以直接选择如下任意一种模式进行设置:

    -
      -
    • -
    • -
    -
      -
    • -
    • -
    -

    声网在通信和直播场景下采用不同的编码方式,以提升不同场景下的用户体验。通信场景保证流畅,而直播场景则更注重画面质量,因此直播场景对码率的需求大于通信场景。所以声网推荐将该参数设置为 -

    - - - - - - - - - 分辨率 - 帧率(fps) - 通信码率(Kbps) - 直播码率(Kbps) - - - - - 160 × 120 - 15 - 65 - 130 - - - 120 × 120 - 15 - 50 - 100 - - - 320 × 180 - 15 - 140 - 280 - - - 180 × 180 - 15 - 100 - 200 - - - 240 × 180 - 15 - 120 - 240 - - - 320 × 240 - 15 - 200 - 400 - - - 240 × 240 - 15 - 140 - 280 - - - 424 × 240 - 15 - 220 - 440 - - - 640 × 360 - 15 - 400 - 800 - - - 360 × 360 - 15 - 260 - 520 - - - 640 × 360 - 30 - 600 - 1200 - - - 360 × 360 - 30 - 400 - 800 - - - 480 × 360 - 15 - 320 - 640 - - - 480 × 360 - 30 - 490 - 980 - - - 640 × 480 - 15 - 500 - 1000 - - - 480 × 480 - 15 - 400 - 800 - - - 640 × 480 - 30 - 750 - 1500 - - - 480 × 480 - 30 - 600 - 1200 - - - 848 × 480 - 15 - 610 - 1220 - - - 848 × 480 - 30 - 930 - 1860 - - - 640 × 480 - 10 - 400 - 800 - - - 1280 × 720 - 15 - 1130 - 2260 - - - 1280 × 720 - 30 - 1710 - 3420 - - - 960 × 720 - 15 - 910 - 1820 - - - 960 × 720 - 30 - 1380 - 2760 - - - 1920 × 1080 - 15 - 2080 - 4160 - - - 1920 × 1080 - 30 - 3150 - 6300 - - - 1920 × 1080 - 60 - 4780 - 6500 - - - -
    -
    - - minBitrate - -

    最低编码码率,单位为 Kbps。

    -

    SDK 会根据网络状况自动调整视频编码码率。将参数设为高于默认值可强制视频编码器输出高质量图片,但在网络状况不佳情况下可能导致网络丢包并影响视频播放的流畅度造成卡顿。因此如非对画质有特殊需求,声网建议不要修改该参数的值。

    - 该参数仅适用于直播场景。
    -
    - - orientationMode - - 视频编码的方向模式,详见 。 - - - - degradationPreference - 带宽受限时,视频编码降级偏好。详见 - - - mirrorMode - -

    发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 -

      -
    • -

    -

    发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见

    - 默认关闭镜像模式。
    -
    -
    + + dimensions + +

    视频编码的分辨率(px),详见 。该参数用于衡量编码质量,以长 × 宽表示,默认值为 640 × 360。用户可以自行设置分辨率。

    +

    视频编码的分辨率 (px),用于衡量编码质量,以长x宽表示,默认值为 640 x + 360。用户可以自行设置分辨率,也可以在如下列表中直接选择想要的分辨率:

      +
    • AgoraVideoDimension120x120:视频分辨率为 120 * 120。
    • +
    • AgoraVideoDimension160x120:视频分辨率为 160 * 120。
    • +
    • AgoraVideoDimension180x180:视频分辨率为 180 * 180。
    • +
    • AgoraVideoDimension240x180:视频分辨率为 240 * 180。
    • +
    • AgoraVideoDimension320x180:视频分辨率为 320 * 180。
    • +
    • AgoraVideoDimension240x240:视频分辨率为 240 * 240。
    • +
    • AgoraVideoDimension320x240:视频分辨率为 320 * 240。
    • +
    • AgoraVideoDimension424x240:视频分辨率为 424 * 240。
    • +
    • AgoraVideoDimension360x360:视频分辨率为 360 * 360。
    • +
    • AgoraVideoDimension480x360:视频分辨率为 480 * 360。
    • +
    • AgoraVideoDimension640x360:视频分辨率为 640 * 360。
    • +
    • AgoraVideoDimension480x480:视频分辨率为 480 * 480。
    • +
    • AgoraVideoDimension640x480:视频分辨率为 640 * 480。
    • +
    • AgoraVideoDimension840x480:视频分辨率为 840 * 480
    • +
    • AgoraVideoDimension960x720:视频分辨率为 960 * 720。
    • +
    • AgoraVideoDimension1280x720:视频分辨率为 1280 * 720。
    • +
    • AgoraVideoDimension1920x1080: 视频分辨率为 1920 * 1080(仅支持 + macOS)。
    • +
    • AgoraVideoDimension2540x1440: 视频分辨率为 2540 * + 1440(仅支持 macOS)。
    • +
    • AgoraVideoDimension3840x2160: 视频分辨率为 3840 * + 2160(仅支持 macOS)。
    • +
    + +
      +
    • 视频能否达到 720P 的分辨率取决于设备的性能,在性能配备较低的设备上有可能无法实现。如果采用 720P + 分辨率而设备性能跟不上,则有可能出现帧率过低的情况。
    • +
    • iPhone 不支持 720P 以上的分辨率。
    • +
    +
    +

    +
    +
    + + codecType + +

    视频编码类型,详见

    +
    +
    + + frameRate + +

    视频编码的帧率(fps),默认值为 15。详见

    +

    视频编码的帧率(fps),默认值为 15。详见 +

    +
    +
    + + minFramerate + 视频的最小帧率。默认值为 -1。 + + + bitrate + +

    视频编码码率,单位为 Kbps。

    +

    你可以根据场景需要参照下表手动设置你想要的码率。若设置的视频码率超出合理范围,SDK + 会自动按照合理区间处理码率。你也可以直接选择如下任意一种模式进行设置:

    +
      +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    +

    声网在通信和直播场景下采用不同的编码方式,以提升不同场景下的用户体验。通信场景保证流畅,而直播场景则更注重画面质量,因此直播场景对码率的需求大于通信场景。所以声网推荐将该参数设置为 +

    + + + + + + + + + 分辨率 + 帧率(fps) + 通信码率(Kbps) + 直播码率(Kbps) + + + + + 160 × 120 + 15 + 65 + 130 + + + 120 × 120 + 15 + 50 + 100 + + + 320 × 180 + 15 + 140 + 280 + + + 180 × 180 + 15 + 100 + 200 + + + 240 × 180 + 15 + 120 + 240 + + + 320 × 240 + 15 + 200 + 400 + + + 240 × 240 + 15 + 140 + 280 + + + 424 × 240 + 15 + 220 + 440 + + + 640 × 360 + 15 + 400 + 800 + + + 360 × 360 + 15 + 260 + 520 + + + 640 × 360 + 30 + 600 + 1200 + + + 360 × 360 + 30 + 400 + 800 + + + 480 × 360 + 15 + 320 + 640 + + + 480 × 360 + 30 + 490 + 980 + + + 640 × 480 + 15 + 500 + 1000 + + + 480 × 480 + 15 + 400 + 800 + + + 640 × 480 + 30 + 750 + 1500 + + + 480 × 480 + 30 + 600 + 1200 + + + 848 × 480 + 15 + 610 + 1220 + + + 848 × 480 + 30 + 930 + 1860 + + + 640 × 480 + 10 + 400 + 800 + + + 1280 × 720 + 15 + 1130 + 2260 + + + 1280 × 720 + 30 + 1710 + 3420 + + + 960 × 720 + 15 + 910 + 1820 + + + 960 × 720 + 30 + 1380 + 2760 + + + 1920 × 1080 + 15 + 2080 + 4160 + + + 1920 × 1080 + 30 + 3150 + 6300 + + + 1920 × 1080 + 60 + 4780 + 6500 + + + +
    +
    +
    + + minBitrate + +

    最低编码码率,单位为 Kbps。

    +

    SDK + 会根据网络状况自动调整视频编码码率。将参数设为高于默认值可强制视频编码器输出高质量图片,但在网络状况不佳情况下可能导致网络丢包并影响视频播放的流畅度造成卡顿。因此如非对画质有特殊需求,声网建议不要修改该参数的值。

    + 该参数仅适用于直播场景。 +
    +
    + + orientationMode + 视频编码的方向模式,详见 + + + degradationPreference + 带宽受限时,视频编码降级偏好。详见 + + + mirrorMode + +

    发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见 + +

      +
    • +
    +

    +

    发送编码视频时是否开启镜像模式,只影响远端用户看到的视频画面。详见

    + 默认关闭镜像模式。 +
    +
    + +
    diff --git a/dita/RTC/API/class_videoframe.dita b/dita/RTC/API/class_videoframe.dita index e2579e9acdd..daecf3d0273 100644 --- a/dita/RTC/API/class_videoframe.dita +++ b/dita/RTC/API/class_videoframe.dita @@ -6,9 +6,9 @@

    - - - struct VideoFrame { + + + struct VideoFrame { VIDEO_FRAME_TYPE type; int width; int height; @@ -22,7 +22,7 @@ int64_t renderTimeMs; int avsync_type; }; - public class VideoFrame + public class VideoFrame { public VIDEO_FRAME_TYPE type; public int width; @@ -40,66 +40,67 @@ public long renderTimeMs; public int avsync_type; }; - - -

    + + + +

    视频数据的格式为 YUV420。缓冲区给出的是指向指针的指针,该接口不能修改缓冲区的指针,只能修改缓冲区的内容。

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - 视频帧类型,详见 - - - width - 视频像素宽度。 - - - height - 视频像素高度。 - - - yStride - YUV 数据中的 Y 缓冲区的行跨度。 - - - uStride - YUV 数据中的 U 缓冲区的行跨度。 - - - vStride - YUV 数据中的 V 缓冲区的行跨度。 - - - yBuffer - 指向 YUV 数据中的 Y 缓冲区指针的指针。 - - - uBuffer - 指向 YUV 数据中的 U 缓冲区指针的指针。 - - - vBuffer - 指向 YUV 数据中的 V 缓冲区指针的指针。 - - - rotation - 在渲染视频前设置该帧的顺时针旋转角度,目前支持 0 度、90 度、180 度,和 270 度。 - - - renderTimeMs - 外部音频帧的时间戳。该参数为必填。你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以帮助实现音视频同步。 - - - avsync_type - 保留参数。 - -
    + + type + 视频帧类型,详见 + + + width + 视频像素宽度。 + + + height + 视频像素高度。 + + + yStride + YUV 数据中的 Y 缓冲区的行跨度。 + + + uStride + YUV 数据中的 U 缓冲区的行跨度。 + + + vStride + YUV 数据中的 V 缓冲区的行跨度。 + + + yBuffer + 指向 YUV 数据中的 Y 缓冲区指针的指针。 + + + uBuffer + 指向 YUV 数据中的 U 缓冲区指针的指针。 + + + vBuffer + 指向 YUV 数据中的 V 缓冲区指针的指针。 + + + rotation + 在渲染视频前设置该帧的顺时针旋转角度,目前支持 0 度、90 度、180 度,和 270 度。 + + + renderTimeMs + 外部音频帧的时间戳。该参数为必填。你可以使用该时间戳还原音频帧顺序;在有视频的场景中(包含使用外部视频源的场景),该参数可以帮助实现音视频同步。 + + + avsync_type + 保留参数。 + + +
    diff --git a/dita/RTC/API/class_videoframebufferconfig.dita b/dita/RTC/API/class_videoframebufferconfig.dita index e2428c0e052..a319cb58b47 100644 --- a/dita/RTC/API/class_videoframebufferconfig.dita +++ b/dita/RTC/API/class_videoframebufferconfig.dita @@ -6,34 +6,37 @@

    - - - - - public struct VideoFrameBufferConfig + + + + + public struct VideoFrameBufferConfig { public VIDEO_SOURCE_TYPE type; public uint id; public string key; } - -

    + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - 视频源类型,详见 - - - id - 用户 ID。 - - - key - 频道名称。 - -
    + + type + 视频源类型,详见 + + + id + 用户 ID。 + + + key + 频道名称。 + + +
    diff --git a/dita/RTC/API/class_virtualbackgroundsource.dita b/dita/RTC/API/class_virtualbackgroundsource.dita index 15802fee32e..9f3ef695372 100644 --- a/dita/RTC/API/class_virtualbackgroundsource.dita +++ b/dita/RTC/API/class_virtualbackgroundsource.dita @@ -6,7 +6,7 @@

    - public class VirtualBackgroundSource { + public class VirtualBackgroundSource { public static final int BACKGROUND_COLOR = 1; public static final int BACKGROUND_IMG = 2; public static final int BACKGROUND_BLUR = 3; @@ -32,22 +32,23 @@ } } - __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject + __attribute__((visibility("default"))) @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 - public class VirtualBackgroundSource + public class VirtualBackgroundSource { public BACKGROUND_SOURCE_TYPE background_source_type public uint color; public string source; public BACKGROUND_BLUR_DEGREE blur_degree; - };

    + }; +

    - public class VirtualBackgroundSource { + public class VirtualBackgroundSource { public static final int BACKGROUND_COLOR = 1; public static final int BACKGROUND_IMG = 2; public static final int BACKGROUND_BLUR = 3; @@ -73,7 +74,7 @@ } } - NS_SWIFT_NAME(AgoraVirtualBackgroundSource) __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject + NS_SWIFT_NAME(AgoraVirtualBackgroundSource) __attribute__((visibility("default"))) @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); @@ -81,9 +82,9 @@ @end

    - - - struct VirtualBackgroundSource { + + + struct VirtualBackgroundSource { enum BACKGROUND_SOURCE_TYPE { BACKGROUND_COLOR = 1, BACKGROUND_IMG, @@ -100,7 +101,7 @@ BACKGROUND_BLUR_DEGREE blur_degree; VirtualBackgroundSource() : background_source_type(BACKGROUND_COLOR), color(0xffffff), source(NULL), blur_degree(BLUR_DEGREE_HIGH) {} - public class VirtualBackgroundSource + public class VirtualBackgroundSource { public VirtualBackgroundSource() { @@ -114,7 +115,7 @@ public string source { set; get; } public BACKGROUND_BLUR_DEGREE blur_degree { set; get; } } - class VirtualBackgroundSource { + class VirtualBackgroundSource { @JsonKey(includeIfNull: false) VirtualBackgroundSourceType? backgroundSourceType; @@ -139,72 +140,60 @@ _$VirtualBackgroundSourceFromJson(json); Map<String, dynamic> toJson() => _$VirtualBackgroundSourceToJson(this); - }

    + } +

    - -
    自从
    -
    v3.5.0
    -
    + +
    自从
    +
    v3.5.0
    +
    - <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 - 自定义的背景图类型。详见 -
      -
    • (1):(默认)背景图为纯色。
    • -
    • (2):背景图为 PNG、JPG 格式的图片。
    • -
    • (3):将虚化处理后的背景作为背景图。
    • -
    -
    - - color - 自定义的背景图颜色。格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。 默认值为 0xFFFFFF,表示白色。 取值范围为 [0x000000,0xffffff]。如果取值非法,SDK 会用白色背景图替换原背景图。 - - - - - - 该参数仅在自定义背景图类型为 时生效。 - - - source - 自定义背景图的本地绝对路径。支持 PNG 和 JPG 格式。如果路径无效,SDK 会用白色背景图替换原背景图。 - - - - - 该参数仅在自定义背景图类型为 时生效。 - - - blurDegreeblur_degree - blur_degreeblurDegree - 自定义背景图的模糊程度。详见 -
      -
    • (1):自定义背景图的虚化程度为低。用户差不多能看清背景。
    • -
    • (2):自定义背景图的虚化程度为中。用户较难看清背景。
    • -
    • (3):(默认)自定义背景图的虚化程度为高。用户很难看清背景。
    • -
    - 该参数仅在自定义背景图类型为 时生效。
    -
    -
    + + backgroundSourceType + background_source_type + 自定义的背景图类型。详见 +
      +
    • (1):(默认)背景图为纯色。
    • +
    • (2):背景图为 PNG、JPG 格式的图片。
    • +
    • (3):将虚化处理后的背景作为背景图。
    • +
    +
    + + color + 自定义的背景图颜色。格式为 RGB 定义下的十六进制整数,不要带 # 号,如 0xFFB6C1 表示浅粉色。 默认值为 0xFFFFFF,表示白色。 + 取值范围为 [0x000000,0xffffff]。如果取值非法,SDK 会用白色背景图替换原背景图。 该参数仅在自定义背景图类型为 时生效。 + + + source + 自定义背景图的本地绝对路径。支持 PNG 和 JPG 格式。如果路径无效,SDK 会用白色背景图替换原背景图。 该参数仅在自定义背景图类型为 + 时生效。 + + + blurDegreeblur_degree + blur_degreeblurDegree + 自定义背景图的模糊程度。详见 +
      +
    • (1):自定义背景图的虚化程度为低。用户差不多能看清背景。
    • +
    • (2):自定义背景图的虚化程度为中。用户较难看清背景。
    • +
    • (3):(默认)自定义背景图的虚化程度为高。用户很难看清背景。
    • +
    + 该参数仅在自定义背景图类型为 + 时生效。
    +
    + +
    diff --git a/dita/RTC/API/class_watermarkoptions.dita b/dita/RTC/API/class_watermarkoptions.dita index 36d13bd3363..17c6d081d0d 100644 --- a/dita/RTC/API/class_watermarkoptions.dita +++ b/dita/RTC/API/class_watermarkoptions.dita @@ -6,19 +6,19 @@

    - public class WatermarkOptions { + public class WatermarkOptions { public boolean visibleInPreview = true; public Rectangle positionInLandscapeMode = new Rectangle(); public Rectangle positionInPortraitMode = new Rectangle(); } - __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject + __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject @property(assign, nonatomic) BOOL visibleInPreview; @property(assign, nonatomic) CGRect positionInLandscapeMode; @property(assign, nonatomic) CGRect positionInPortraitMode; @end - typedef struct WatermarkOptions { + typedef struct WatermarkOptions { bool visibleInPreview; Rectangle positionInLandscapeMode; Rectangle positionInPortraitMode; @@ -29,7 +29,7 @@ , positionInPortraitMode(0, 0, 0, 0) {} } WatermarkOptions; - public class WatermarkOptions + public class WatermarkOptions { public WatermarkOptions() { @@ -50,13 +50,13 @@ public Rectangle positionInLandscapeMode { set; get; } public Rectangle positionInPortraitMode { set; get; } } - export interface WatermarkOptions { + export interface WatermarkOptions { visibleInPreview: boolean, positionInPortraitMode: Rectangle, positionInLandscapeMode: Rectangle } - - class WatermarkOptions { + + class WatermarkOptions { @JsonKey(includeIfNull: false) bool? visibleInPreview; @@ -77,58 +77,53 @@ _$WatermarkOptionsFromJson(json); Map<String, dynamic> toJson() => _$WatermarkOptionsToJson(this); -}

    +} +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - visibleInPreview - -

    水印图片在本地视频预览中是否可见: - - - -

      -
    • :(默认) 水印图片在本地视频预览中可见;
    • -
    • :水印图片在本地视频预览中不可见。
    • -

    -
    -
    - - positionInLandscapeMode - -

    横屏模式下,显示水印图片的区域。详见 该参数包含以下成员: -

      -
    • x:左上角的横向偏移。
    • -
    • y:左上角的纵向偏移。
    • -
    • width:该区域的宽 (pixel)。
    • -
    • height:该区域的高(pixel)。
    • -
    横屏模式的定义详见设置视频编码属性

    -
    -
    - - positionInPortraitMode - -

    竖屏模式下,显示水印图片的区域。详见 该参数包含以下成员: -

      -
    • x:左上角的横向偏移。
    • -
    • y:左上角的纵向偏移。
    • -
    • width:该区域的宽 (pixel)。
    • -
    • height:该区域的高(pixel)。
    • -
    竖屏模式的定义详见设置视频编码属性

    -
    -
    -
    + + visibleInPreview + +

    水印图片在本地视频预览中是否可见:

      +
    • :(默认) 水印图片在本地视频预览中可见;
    • +
    • :水印图片在本地视频预览中不可见。
    • +
    +

    +
    +
    + + positionInLandscapeMode + +

    横屏模式下,显示水印图片的区域。详见 该参数包含以下成员: +

      +
    • x:左上角的横向偏移。
    • +
    • y:左上角的纵向偏移。
    • +
    • width:该区域的宽 (pixel)。
    • +
    • height:该区域的高(pixel)。
    • +
    横屏模式的定义详见设置视频编码属性

    +
    +
    + + positionInPortraitMode + +

    竖屏模式下,显示水印图片的区域。详见 + 该参数包含以下成员: +

      +
    • x:左上角的横向偏移。
    • +
    • y:左上角的纵向偏移。
    • +
    • width:该区域的宽 (pixel)。
    • +
    • height:该区域的高(pixel)。
    • +
    竖屏模式的定义详见设置视频编码属性

    +
    +
    + +
    diff --git a/dita/RTC/API/class_watermarkratio.dita b/dita/RTC/API/class_watermarkratio.dita index e1ab5b0affe..c5c363ed96c 100644 --- a/dita/RTC/API/class_watermarkratio.dita +++ b/dita/RTC/API/class_watermarkratio.dita @@ -6,9 +6,9 @@

    - - - struct WatermarkRatio { + + + struct WatermarkRatio { float xRatio; float yRatio; float widthRatio; @@ -16,8 +16,8 @@ WatermarkRatio(float x, float y, float width) : xRatio(x), yRatio(y), widthRatio(width) {} }; - - public class WatermarkRatio { + + public class WatermarkRatio { public WatermarkRatio() { xRatio = 0.0f; @@ -36,36 +36,36 @@ public float yRatio { set; get; } public float widthRatio { set; get; } } - -

    + + +

    -

    水印在屏幕中的位置和大小由 xRatioyRatiowidthRatio 共同决定: - - - -

      -
    • (xRatio, yRatio) 指水印左上角的坐标,决定水印左上角到屏幕左上角的距离。
    • -
    • widthRatio 决定水印的宽度。
    • -

    +

    水印在屏幕中的位置和大小由 xRatioyRatio 和 + widthRatio 共同决定:

      +
    • (xRatio, yRatio) + 指水印左上角的坐标,决定水印左上角到屏幕左上角的距离。
    • +
    • widthRatio 决定水印的宽度。
    • +

    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - xRatio - 水印左上角的 x 坐标。以屏幕左上角为原点,x 坐标为水印左上角相对于原点的横向位移。取值范围为 [0.0,1.0],默认值为 0。 - - - yRatio - 水印左上角的 y 坐标。以屏幕左上角为原点,y 坐标为水印左上角相对于原点的纵向位移。取值范围为 [0.0,1.0],默认值为 0。 - - - widthRatio - 水印的宽度。SDK 会根据该参数值计算出等比例的水印高度,确保放大或缩小后的水印图片不失真。取值范围为 [0.0,1.0],默认值为 0,代表不显示水印。 - -
    + + xRatio + 水印左上角的 x 坐标。以屏幕左上角为原点,x 坐标为水印左上角相对于原点的横向位移。取值范围为 [0.0,1.0],默认值为 0。 + + + yRatio + 水印左上角的 y 坐标。以屏幕左上角为原点,y 坐标为水印左上角相对于原点的纵向位移。取值范围为 [0.0,1.0],默认值为 0。 + + + widthRatio + 水印的宽度。SDK 会根据该参数值计算出等比例的水印高度,确保放大或缩小后的水印图片不失真。取值范围为 [0.0,1.0],默认值为 + 0,代表不显示水印。 + + +
    diff --git a/dita/RTC/API/class_windowinfo.dita b/dita/RTC/API/class_windowinfo.dita index 12260bf4b92..ee2c1a42513 100644 --- a/dita/RTC/API/class_windowinfo.dita +++ b/dita/RTC/API/class_windowinfo.dita @@ -6,10 +6,10 @@

    - - - - export interface WindowInfo { + + + + export interface WindowInfo { windowId: number; name: string; ownerName: string; @@ -20,49 +20,54 @@ originHeight: number; image: Uint8Array; } - - -

    + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - windowId - 标识窗口的 Window ID。 - - - name - 窗口名称。 - - - ownerName - 窗口对应的应用进程名称。 - - - isOnScreen - 窗口是否显示在屏幕上。 - - - width - 窗口缩略图的宽度 (px)。 - - - height - 窗口缩略图的高度 (px)。 - - - originWidth - 窗口原始的宽度 (px)。 - - - originHeight - 窗口原始的高度 (px)。 - - - image - 窗口缩略图。详见 原生 Uint8Array - -
    + + windowId + 标识窗口的 Window ID。 + + + name + 窗口名称。 + + + ownerName + 窗口对应的应用进程名称。 + + + isOnScreen + 窗口是否显示在屏幕上。 + + + width + 窗口缩略图的宽度 (px)。 + + + height + 窗口缩略图的高度 (px)。 + + + originWidth + 窗口原始的宽度 (px)。 + + + originHeight + 窗口原始的高度 (px)。 + + + image + 窗口缩略图。详见 原生 Uint8Array + + +
    diff --git a/dita/RTC/API/class_wlaccstats.dita b/dita/RTC/API/class_wlaccstats.dita index 7a48a331436..3c0fd2fce44 100644 --- a/dita/RTC/API/class_wlaccstats.dita +++ b/dita/RTC/API/class_wlaccstats.dita @@ -6,15 +6,15 @@

    - struct WlAccStats { + struct WlAccStats { unsigned short e2eDelayPercent; unsigned short frozenRatioPercent; unsigned short lossRatePercent; }; - - - - class WlAccStats { + + + + class WlAccStats { final int e2eDelayPercent; final int frozenRatioPercent; @@ -28,23 +28,26 @@ _$WlAccStatsFromJson(json); Map<String, dynamic> toJson() => _$WlAccStatsToJson(this); - }

    + } +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - e2eDelayPercent - 端到端延时下降百分比。 - - - frozenRatioPercent - 音视频卡顿率下降百分比。 - - - lossRatePercent - 丢包率下降百分比。 - -
    + + e2eDelayPercent + 端到端延时下降百分比。 + + + frozenRatioPercent + 音视频卡顿率下降百分比。 + + + lossRatePercent + 丢包率下降百分比。 + + +
    diff --git a/dita/RTC/API/enum_agoraenginetype.dita b/dita/RTC/API/enum_agoraenginetype.dita index 380d2ec0c93..fee3783c571 100644 --- a/dita/RTC/API/enum_agoraenginetype.dita +++ b/dita/RTC/API/enum_agoraenginetype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 使用主进程创建 ,用于发送摄像头视频流。 - - - - 使用子进程创建 ,用于发送桌面共享视频流。 - -
    + + + 使用主进程创建 ,用于发送摄像头视频流。 + + + + 使用子进程创建 ,用于发送桌面共享视频流。 + + + diff --git a/dita/RTC/API/enum_agoramediaplayerrendermodetype.dita b/dita/RTC/API/enum_agoramediaplayerrendermodetype.dita index 816a52413c7..4f2084037bf 100644 --- a/dita/RTC/API/enum_agoramediaplayerrendermodetype.dita +++ b/dita/RTC/API/enum_agoramediaplayerrendermodetype.dita @@ -7,16 +7,17 @@
    枚举值 - - - 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 - + + + 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 + - - - 2: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - -
    + + + 2: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 + + + diff --git a/dita/RTC/API/enum_areacode.dita b/dita/RTC/API/enum_areacode.dita index 07118832394..d96a2bf8c01 100644 --- a/dita/RTC/API/enum_areacode.dita +++ b/dita/RTC/API/enum_areacode.dita @@ -7,34 +7,35 @@
    枚举值 - - - 中国大陆。 - - - - 北美区域。 - - - - 欧洲区域。 - - - - 除中国以外的亚洲区域。 - - - - 日本。 - - - - 印度。 - - - - 全球。 - -
    + + + 中国大陆。 + + + + 北美区域。 + + + + 欧洲区域。 + + + + 除中国以外的亚洲区域。 + + + + 日本。 + + + + 印度。 + + + + 全球。 + + + diff --git a/dita/RTC/API/enum_audiencelatencyleveltype.dita b/dita/RTC/API/enum_audiencelatencyleveltype.dita index 43892b62016..8ef5d0183d7 100644 --- a/dita/RTC/API/enum_audiencelatencyleveltype.dita +++ b/dita/RTC/API/enum_audiencelatencyleveltype.dita @@ -2,19 +2,21 @@ <ph keyref="AUDIENCE_LATENCY_LEVEL_TYPE"/> - 直播频道中观众的延时级别。该枚举仅在用户角色设为 时才生效。 + 直播频道中观众的延时级别。该枚举仅在用户角色设为 时才生效。
    枚举值 - - - 1: 低延时。 - - - - 2:(默认)超低延时。 - -
    + + + 1: 低延时。 + + + + 2:(默认)超低延时。 + + +
    diff --git a/dita/RTC/API/enum_audiocodecprofiletype.dita b/dita/RTC/API/enum_audiocodecprofiletype.dita index a43ebd1d3be..04bb3b19ccb 100644 --- a/dita/RTC/API/enum_audiocodecprofiletype.dita +++ b/dita/RTC/API/enum_audiocodecprofiletype.dita @@ -1,24 +1,29 @@ - <ph keyref="AUDIO_CODEC_PROFILE_TYPE"/> - 推流输出音频的编解码规格,默认为 LC-AAC。 + + <ph keyref="AUDIO_CODEC_PROFILE_TYPE"/> + + + 推流输出音频的编解码规格,默认为 LC-AAC。 +
    枚举值 - - - 0: (默认)LC-AAC 规格。 - - - - 1: HE-AAC 规格。 - - - - 2: HE-AAC v2 规格。 - -
    + + + 0: (默认)LC-AAC 规格。 + + + + 1: HE-AAC 规格。 + + + + 2: HE-AAC v2 规格。 + + +
    diff --git a/dita/RTC/API/enum_audiocodectype.dita b/dita/RTC/API/enum_audiocodectype.dita index 9c53162efc4..1cbc85560bf 100644 --- a/dita/RTC/API/enum_audiocodectype.dita +++ b/dita/RTC/API/enum_audiocodectype.dita @@ -7,38 +7,39 @@
    枚举值 - - - 1: OPUS。 - - - - 3: PCMA。 - - - - 4: PCMU。 - - - - 5: G722。 - - - - 8: LC-AAC。 - - - - 9: HE-AAC。 - - - - 10: JC1。 - - - - 11: HE-AAC v2。 - -
    + + + 1: OPUS。 + + + + 3: PCMA。 + + + + 4: PCMU。 + + + + 5: G722。 + + + + 8: LC-AAC。 + + + + 9: HE-AAC。 + + + + 10: JC1。 + + + + 11: HE-AAC v2。 + + + diff --git a/dita/RTC/API/enum_audiodevicetestvolumetype.dita b/dita/RTC/API/enum_audiodevicetestvolumetype.dita index d33b3705522..273fc9e203a 100644 --- a/dita/RTC/API/enum_audiodevicetestvolumetype.dita +++ b/dita/RTC/API/enum_audiodevicetestvolumetype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 音频采集设备的音量。 - - - - 1: 音频播放的音量。 - -
    + + + 0: 音频采集设备的音量。 + + + + 1: 音频播放的音量。 + + + diff --git a/dita/RTC/API/enum_audiodualmonomode.dita b/dita/RTC/API/enum_audiodualmonomode.dita index 5078520a254..c44d1084ffb 100644 --- a/dita/RTC/API/enum_audiodualmonomode.dita +++ b/dita/RTC/API/enum_audiodualmonomode.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0: 原始模式。 - - - - 1: 左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。 - - - - 2: 右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。 - - - - 3: 混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。 - -
    + + + 0: 原始模式。 + + + + 1: 左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。 + + + + 2: 右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。 + + + + 3: 混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。 + + + diff --git a/dita/RTC/API/enum_audioeffectpreset.dita b/dita/RTC/API/enum_audioeffectpreset.dita index 9cd5ee7b411..0ce8cb54255 100644 --- a/dita/RTC/API/enum_audioeffectpreset.dita +++ b/dita/RTC/API/enum_audioeffectpreset.dita @@ -5,124 +5,157 @@ 预设的音效选项。
    -

    为获取更好的人声效果,声网建议在使用以下预设音效前将 profile 参数设置为

    +

    为获取更好的人声效果,声网建议在使用以下预设音效前将 的 + profile 参数设置为

      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • +
  • + +
    枚举值 - - - 原声,即关闭人声音效。 - - - - KTV。 - - - - 演唱会。 - - - - 录音棚。 - - - - 留声机。 - - - - -

    虚拟立体声,即 SDK 将单声道的音频渲染出双声道的音效。

    - 使用该预设音效前,你需要将 profile 参数设置为 ,否则该预设音效的设置无效。
    -
    - - - 空旷。 - - - - 空灵。 - - - - -

    3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后,你还可以调用 修改环绕周期。

    - -
      -
    • 使用该预设音效前,你需要将 profile 参数设置为 ,否则该预设音效的设置无效。
    • -
    • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
    • -
    -
    - - - -

    大叔。

    - 建议用于处理男声,否则无法达到预期效果。
    -
    - - - -

    老年男性。

    - 建议用于处理男声,否则无法达到预期效果。
    -
    - - - -

    男孩。

    - 建议用于处理男声,否则无法达到预期效果。
    -
    - - - -

    少女。

    - 建议用于处理女声,否则无法达到预期效果。
    -
    - - - -

    女孩。

    - 建议用于处理女声,否则无法达到预期效果。
    -
    - - - 猪八戒。 - - - - 绿巨人。 - - - - -

    R&B。

    - 使用该预设音效前,你需要将 profile 参数设置为 ,否则该预设音效的设置无效。
    -
    - - - -

    流行。

    - 使用该预设音效前,你需要将 profile 参数设置为 ,否则该预设音效的设置无效。
    -
    - - - 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。 - -
    + + + 原声,即关闭人声音效。 + + + + KTV。 + + + + 演唱会。 + + + + 录音棚。 + + + + 留声机。 + + + + +

    虚拟立体声,即 SDK 将单声道的音频渲染出双声道的音效。

    + 使用该预设音效前,你需要将 的 + profile 参数设置为 ,否则该预设音效的设置无效。 +
    +
    + + + 空旷。 + + + + 空灵。 + + + + +

    3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果。环绕周期默认为 10 秒。设置该音效后,你还可以调用 修改环绕周期。

    + +
      +
    • 使用该预设音效前,你需要将 的 + profile 参数设置为 ,否则该预设音效的设置无效。
    • +
    • 启用 3D 人声后,用户需要使用支持双声道的音频播放设备才能听到预期效果。
    • +
    +
    +
    +
    + + + +

    大叔。

    + 建议用于处理男声,否则无法达到预期效果。 +
    +
    + + + +

    老年男性。

    + 建议用于处理男声,否则无法达到预期效果。 +
    +
    + + + +

    男孩。

    + 建议用于处理男声,否则无法达到预期效果。 +
    +
    + + + +

    少女。

    + 建议用于处理女声,否则无法达到预期效果。 +
    +
    + + + +

    女孩。

    + 建议用于处理女声,否则无法达到预期效果。 +
    +
    + + + 猪八戒。 + + + + 绿巨人。 + + + + +

    R&B。

    + 使用该预设音效前,你需要将 的 + profile 参数设置为 ,否则该预设音效的设置无效。 +
    +
    + + + +

    流行。

    + 使用该预设音效前,你需要将 的 + profile 参数设置为 ,否则该预设音效的设置无效。 +
    +
    + + + 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。设置该音效后,你还可以调用 调整修音的基础调式和主音音高。 + + +
    diff --git a/dita/RTC/API/enum_audioencodedframeobserverposition.dita b/dita/RTC/API/enum_audioencodedframeobserverposition.dita index 0fa37dc3633..4d0cfa0a39e 100644 --- a/dita/RTC/API/enum_audioencodedframeobserverposition.dita +++ b/dita/RTC/API/enum_audioencodedframeobserverposition.dita @@ -7,18 +7,19 @@
    枚举值 - - - 1: 仅编码本地用户的音频。 - - - - 2: 仅编码所有远端用户的音频。 - - - - 3: 编码本地和所有远端用户混音后的音频。 - -
    + + + 1: 仅编码本地用户的音频。 + + + + 2: 仅编码所有远端用户的音频。 + + + + 3: 编码本地和所有远端用户混音后的音频。 + + + diff --git a/dita/RTC/API/enum_audioencodingtype.dita b/dita/RTC/API/enum_audioencodingtype.dita index 78179221e62..351fd84f998 100644 --- a/dita/RTC/API/enum_audioencodingtype.dita +++ b/dita/RTC/API/enum_audioencodingtype.dita @@ -7,50 +7,51 @@
    枚举值 - - - 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。 + + + diff --git a/dita/RTC/API/enum_audioequalizationbandfrequency.dita b/dita/RTC/API/enum_audioequalizationbandfrequency.dita index fbd20c61249..94bc1c4af4c 100644 --- a/dita/RTC/API/enum_audioequalizationbandfrequency.dita +++ b/dita/RTC/API/enum_audioequalizationbandfrequency.dita @@ -7,46 +7,47 @@
    枚举值 - - - 0: 31 Hz - - - - 1: 62 Hz - - - - 2: 125 Hz - - - - 3: 250 Hz - - - - 4: 500 Hz - - - - 5: 1 kHz - - - - 6: 2 kHz - - - - 7: 4 kHz - - - - 8: 8 kHz - - - - 9: 16 kHz - -
    + + + 0: 31 Hz + + + + 1: 62 Hz + + + + 2: 125 Hz + + + + 3: 250 Hz + + + + 4: 500 Hz + + + + 5: 1 kHz + + + + 6: 2 kHz + + + + 7: 4 kHz + + + + 8: 8 kHz + + + + 9: 16 kHz + + + diff --git a/dita/RTC/API/enum_audioexternalsourceposition.dita b/dita/RTC/API/enum_audioexternalsourceposition.dita index 4f389218107..b6fa70bd454 100644 --- a/dita/RTC/API/enum_audioexternalsourceposition.dita +++ b/dita/RTC/API/enum_audioexternalsourceposition.dita @@ -2,37 +2,39 @@ <ph keyref="AUDIO_EXTERNAL_SOURCE_POSITION"/> - 外部音频帧推送位置。在 中设置。 + 外部音频帧推送位置。在 中设置。
    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    枚举值 - - - + + +

    0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。

    -
    - - - + + + +

    0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。

    -
    - - - + + + +

    0: 本地播放之前的位置。如果你需要在本地播放外部音频帧,请设置该位置。

    -
    -
    + + +
    diff --git a/dita/RTC/API/enum_audiofileinfoerror.dita b/dita/RTC/API/enum_audiofileinfoerror.dita index cbe2c6e06eb..b81f52edfca 100644 --- a/dita/RTC/API/enum_audiofileinfoerror.dita +++ b/dita/RTC/API/enum_audiofileinfoerror.dita @@ -2,27 +2,29 @@ <ph keyref="AUDIO_FILE_INFO_ERROR"/> - 音频文件信息的获取状态。在 中报告。 + 音频文件信息的获取状态。在 + 中报告。
    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    枚举值 - - - 0: 获取成功。 - - - - 1: 获取 - -
    + + + 0: 获取成功。 + + + + 1: 获取 + + +
    diff --git a/dita/RTC/API/enum_audioframetype.dita b/dita/RTC/API/enum_audioframetype.dita index eb9207070f6..d4e8ccfd001 100644 --- a/dita/RTC/API/enum_audioframetype.dita +++ b/dita/RTC/API/enum_audioframetype.dita @@ -7,10 +7,11 @@
    枚举值 - - - 0: PCM 16 - -
    + + + 0: PCM 16 + + + diff --git a/dita/RTC/API/enum_audiomixingdualmonomode.dita b/dita/RTC/API/enum_audiomixingdualmonomode.dita index 1a4ffb9438e..6cc07ad11d7 100644 --- a/dita/RTC/API/enum_audiomixingdualmonomode.dita +++ b/dita/RTC/API/enum_audiomixingdualmonomode.dita @@ -6,31 +6,32 @@
    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    枚举值 - - - 0: 原始模式。 - - - - 1: 左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。 - - - - 2: 右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。 - - - - 3: 混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。 - -
    + + + 0: 原始模式。 + + + + 1: 左声道模式。该模式用左声道的音频替换右声道的音频,即用户只能听到左声道的音频。 + + + + 2: 右声道模式。该模式用右声道的音频替换左声道的音频,即用户只能听到右声道的音频。 + + + + 3: 混合模式。该模式将左右声道的数据叠加,即用户能同时听到左声道和右声道的音频。 + + +
    diff --git a/dita/RTC/API/enum_audiomixingerrortype.dita b/dita/RTC/API/enum_audiomixingerrortype.dita index f0bbc3c6d6f..aa5fc928999 100644 --- a/dita/RTC/API/enum_audiomixingerrortype.dita +++ b/dita/RTC/API/enum_audiomixingerrortype.dita @@ -6,31 +6,32 @@
    - -
    弃用:
    -
    从 v3.4.0 起废弃。
    -
    + +
    弃用:
    +
    从 v3.4.0 起废弃。
    +
    枚举值 - - - 音乐文件打开出错。 - - - - 音乐文件打开太频繁。 - - - - 音乐文件播放中断。 - - - - 音乐文件正常播放。 - -
    + + + 音乐文件打开出错。 + + + + 音乐文件打开太频繁。 + + + + 音乐文件播放中断。 + + + + 音乐文件正常播放。 + + +
    diff --git a/dita/RTC/API/enum_audiomixingreasontype.dita b/dita/RTC/API/enum_audiomixingreasontype.dita index 541cb90df28..44c84fa2ebd 100644 --- a/dita/RTC/API/enum_audiomixingreasontype.dita +++ b/dita/RTC/API/enum_audiomixingreasontype.dita @@ -2,59 +2,62 @@ <ph keyref="AUDIO_MIXING_REASON_TYPE"/> - 音乐文件播放状态改变的原因。在 回调中报告。 + 音乐文件播放状态改变的原因。在 回调中报告。
    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +
    枚举值 - - - 701: 音乐文件打开出错。例如,本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL。 - - - - 702: 音乐文件打开太频繁。如需多次调用 startAudioMixing,请确保调用间隔大于 500 ms。 - - - - 703: 音乐文件播放中断。 - - - - 720: 成功调用 startAudioMixing 播放音乐文件。 - - - - 721: 音乐文件完成一次循环播放。 - - - - 722: 音乐文件开始新的一次循环播放。 - - - - 723: 音乐文件完成所有循环播放。 - - - - 724: 成功调用 停止播放音乐文件。 - - - - 725: 成功调用 暂停播放音乐文件。 - - - - 726: 成功调用 恢复播放音乐文件。 - -
    + + + 701: 音乐文件打开出错。例如,本地音乐文件不存在、文件格式不支持或无法访问在线音乐文件 URL。 + + + + 702: 音乐文件打开太频繁。如需多次调用 startAudioMixing,请确保调用间隔大于 500 + ms。 + + + + 703: 音乐文件播放中断。 + + + + 720: 成功调用 startAudioMixing 播放音乐文件。 + + + + 721: 音乐文件完成一次循环播放。 + + + + 722: 音乐文件开始新的一次循环播放。 + + + + 723: 音乐文件完成所有循环播放。 + + + + 724: 成功调用 停止播放音乐文件。 + + + + 725: 成功调用 暂停播放音乐文件。 + + + + 726: 成功调用 恢复播放音乐文件。 + + +
    diff --git a/dita/RTC/API/enum_audiomixingstatetype.dita b/dita/RTC/API/enum_audiomixingstatetype.dita index 3fc5dc166bc..1ffa7424d8a 100644 --- a/dita/RTC/API/enum_audiomixingstatetype.dita +++ b/dita/RTC/API/enum_audiomixingstatetype.dita @@ -7,61 +7,57 @@
    枚举值 - - - -

    710: 音乐文件正常播放。

    -

    该状态可能由于以下原因导致: - - -

      -
    • (710)
    • -
    • (720)
    • -
    • (722)
    • -
    • (726)
    • -

    -
    -
    - - - -

    711: 音乐文件暂停播放。

    -

    该状态由 (725) 原因导致。

    -
    -
    - - - -

    713: 音乐文件停止播放。

    -

    该状态可能由以下原因导致: - -

      -
    • (723)
    • -
    • (724)
    • -

    -
    -
    - - - -

    714: 音乐文件播放出错。

    -

    该状态可能由以下原因导致: - -

      -
    • (701)
    • -
    • (702)
    • -
    • (703)
    • -

    -
    -
    - - - 715: 音乐文件已结束一次播放。 - - - - 716: 音乐文件已结束循环播放。 - -
    + + + +

    710: 音乐文件正常播放。

    +

    该状态可能由于以下原因导致:

      +
    • (710)
    • +
    • (720)
    • +
    • (722)
    • +
    • (726)
    • +
    +

    +
    +
    + + + +

    711: 音乐文件暂停播放。

    +

    该状态由 (725) + 原因导致。

    +
    +
    + + + +

    713: 音乐文件停止播放。

    +

    该状态可能由以下原因导致:

      +
    • (723)
    • +
    • (724)
    • +

    +
    +
    + + + +

    714: 音乐文件播放出错。

    +

    该状态可能由以下原因导致:

      +
    • (701)
    • +
    • (702)
    • +
    • (703)
    • +

    +
    +
    + + + 715: 音乐文件已结束一次播放。 + + + + 716: 音乐文件已结束循环播放。 + + + diff --git a/dita/RTC/API/enum_audioprocessingchannels.dita b/dita/RTC/API/enum_audioprocessingchannels.dita index 582361ce99d..4fb66cd06e7 100644 --- a/dita/RTC/API/enum_audioprocessingchannels.dita +++ b/dita/RTC/API/enum_audioprocessingchannels.dita @@ -6,43 +6,47 @@

    在演唱会等需要增强真实感的场景中,本地用户可能需要采集立体声并发送立体声信号给远端用户。 - 例如,在演唱会的舞台上,主唱、吉他手、鼓手分别站在不同的位置,现场设备采集到了三者的立体声,并把立体声信号发送给远端用户,远端用户可以像亲临舞台一样听到来自不同方向的歌声、吉他声和鼓声。

    -

    通过该类,你可以设置双声道处理,实现立体声。声网推荐按如下步骤设置: - - -

      -
    1. 前处理:调用 并在 中设置 audioProcessingChannels (2)。
    2. -
    3. 后处理:调用 并将 profile 设为 (3) 或 (5)。
    4. -

    + 例如,在演唱会的舞台上,主唱、吉他手、鼓手分别站在不同的位置,现场设备采集到了三者的立体声,并把立体声信号发送给远端用户,远端用户可以像亲临舞台一样听到来自不同方向的歌声、吉他声和鼓声。

    +

    通过该类,你可以设置双声道处理,实现立体声。声网推荐按如下步骤设置:

      +
    1. 前处理:调用 并在 中设置 + audioProcessingChannels (2)。
    2. +
    3. 后处理:调用 并将 profile 设为 + (3) 或 (5)。
    4. +

    -
      -
    • 立体声设置仅在媒体音量下生效。详见详见
    • -
    • 在 iOS 上,立体声对设备性能要求较高。仅支持在 iOS 14.0 及以上版本的如下设备中实现立体声: - -
        -
      • iPhone XS
      • -
      • iPhone XS Max
      • -
      • iPhone XR
      • -
      • iPhone 11
      • -
      • iPhone 11 Pro
      • -
      • iPhone 11 Pro Max
      • -
      • iPhone SE (2020)
      • -
      • 11 英寸 或 12.9 英寸 iPad Pro(第三代)
      • -
      • 11 英寸 或 12.9 英寸 iPad Pro(第四代)
      • -
    • -
    +
  • 立体声设置仅在媒体音量下生效。详见详见
  • +
  • 在 iOS 上,立体声对设备性能要求较高。仅支持在 iOS 14.0 及以上版本的如下设备中实现立体声:
      +
    • iPhone XS
    • +
    • iPhone XS Max
    • +
    • iPhone XR
    • +
    • iPhone 11
    • +
    • iPhone 11 Pro
    • +
    • iPhone 11 Pro Max
    • +
    • iPhone SE (2020)
    • +
    • 11 英寸 或 12.9 英寸 iPad Pro(第三代)
    • +
    • 11 英寸 或 12.9 英寸 iPad Pro(第四代)
    • +
  • + + +
    枚举值 - - - 1: (默认)单声道。 - - - - 2: 双声道。 - -
    + + + 1: (默认)单声道。 + + + + 2: 双声道。 + + +
    diff --git a/dita/RTC/API/enum_audioprofiletype.dita b/dita/RTC/API/enum_audioprofiletype.dita index 1d518c9c665..c3164f34aa5 100644 --- a/dita/RTC/API/enum_audioprofiletype.dita +++ b/dita/RTC/API/enum_audioprofiletype.dita @@ -7,59 +7,69 @@
    枚举值 - - - -

    0: 默认值。 - -

      -
    • 直播场景下:48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。
    • -
    • 通信场景下:32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。 -
        -
      • Windows 平台:16 kHz 采样率,语音编码,单声道,编码码率最大值为 16 Kbps。
      • -
      • Android、macOS、iOS 平台:macOS 平台:32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。
      • -
    • -

    -
    -
    - - - 1: 指定 32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。 - - - - - 2: 指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。 - - - - - 3: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。 -

    如需实现立体声,你还需要调用 并在 中设置 audioProcessingChannels

    -
    - 3: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。 -
    - - - 4: 指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 96 Kbps。 - - - - 5: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。 -

    如需实现立体声,你还需要调用 并在 中设置 audioProcessingChannels

    -
    - 5: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。 -
    - - - -

    6: 指定 16 kHz 采样率,语音编码,单声道,应用回声消除算法 AES。

    -
    -
    - - - 枚举值边界。 - -
    + + + +

    0: 默认值。

      +
    • 直播场景下:48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。
    • +
    • 通信场景下:32 kHz 采样率,语音编码,单声道,编码码率最大值为 + 18 Kbps。 +
        +
      • Windows 平台:16 kHz 采样率,语音编码,单声道,编码码率最大值为 16 Kbps。
      • +
      • Android、macOS、iOS 平台:macOS 平台:32 kHz + 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。
      • +
      +
    • +
    +

    +
    +
    + + + 1: 指定 32 kHz 采样率,语音编码,单声道,编码码率最大值为 18 Kbps。 + + + + 2: 指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 64 Kbps。 + + + + 3: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。 +

    如需实现立体声,你还需要调用 并在 中设置 + audioProcessingChannels

    +
    + 3: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 80 Kbps。 +
    + + + 4: 指定 48 kHz 采样率,音乐编码,单声道,编码码率最大值为 96 Kbps。 + + + + 5: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。 +

    如需实现立体声,你还需要调用 并在 中设置 + audioProcessingChannels

    +
    + 5: 指定 48 kHz 采样率,音乐编码,双声道,编码码率最大值为 128 Kbps。 +
    + + + +

    6: 指定 16 kHz 采样率,语音编码,单声道,应用回声消除算法 AES。

    +
    +
    + + + 枚举值边界。 + + + diff --git a/dita/RTC/API/enum_audiorangemodetype.dita b/dita/RTC/API/enum_audiorangemodetype.dita index 5f22a7673e5..c20d0843bf9 100644 --- a/dita/RTC/API/enum_audiorangemodetype.dita +++ b/dita/RTC/API/enum_audiorangemodetype.dita @@ -7,19 +7,24 @@
    枚举值 - - - 0: 所有人模式。该模式下,用户能否和房间内其他用户互相听见取决于双方设置的音频接收范围、音频范围模式和队伍 ID。 -
      -
    • 如果用户 A 和 B 都设置了 模式,当用户 A 和 B 互相在音频接收范围内或属于同一队伍时,A 和 B 可以互相听见。
    • -
    • 如果用户 A 和 B 分别设置了 模式,只有当 A 和 B 属于同一队伍时才能互相听见。
    • -
    • -
    -
    - - - 1: 队伍模式。该模式下,用户只能和房间内同一队伍的其他用户互相听见。 - -
    + + + 0: 所有人模式。该模式下,用户能否和房间内其他用户互相听见取决于双方设置的音频接收范围、音频范围模式和队伍 + ID。 +
      +
    • 如果用户 A 和 B 都设置了 模式,当用户 A + 和 B 互相在音频接收范围内或属于同一队伍时,A 和 B 可以互相听见。
    • +
    • 如果用户 A 和 B 分别设置了 和 + 模式,只有当 A 和 B + 属于同一队伍时才能互相听见。
    • +
    • +
    +
    + + + 1: 队伍模式。该模式下,用户只能和房间内同一队伍的其他用户互相听见。 + + + diff --git a/dita/RTC/API/enum_audiorecordingposition.dita b/dita/RTC/API/enum_audiorecordingposition.dita index 1c84a96d301..abbc43f33e9 100644 --- a/dita/RTC/API/enum_audiorecordingposition.dita +++ b/dita/RTC/API/enum_audiorecordingposition.dita @@ -2,35 +2,37 @@ <ph keyref="AUDIO_RECORDING_POSITION"/> - 录音内容。在 中设置。 + 录音内容。在 + 中设置。
    - -
    自从
    -
    v3.4.0
    -
    + +
    自从
    +
    v3.4.0
    +
    枚举值 - - - 0:(默认)录制本地和所有远端用户混音后的音频。 - - - - 1: 仅录制本地用户的音频。 - - - - 2: 仅录制所有远端用户的音频。 - - - - 3: 录制本地和所有远端用户混音后的音频。 - -
    + + + 0:(默认)录制本地和所有远端用户混音后的音频。 + + + + 1: 仅录制本地用户的音频。 + + + + 2: 仅录制所有远端用户的音频。 + + + + 3: 录制本地和所有远端用户混音后的音频。 + + +
    diff --git a/dita/RTC/API/enum_audiorecordingqualitytype.dita b/dita/RTC/API/enum_audiorecordingqualitytype.dita index ab35beafcd4..5735a5ee6ba 100644 --- a/dita/RTC/API/enum_audiorecordingqualitytype.dita +++ b/dita/RTC/API/enum_audiorecordingqualitytype.dita @@ -1,28 +1,41 @@ - <ph keyref="AUDIO_RECORDING_QUALITY_TYPE"/> - 录音音质。 + + <ph keyref="AUDIO_RECORDING_QUALITY_TYPE"/> + + + 录音音质。 +
    枚举值 - - - 0: 低音质。采样率为 32 kHz,录制 10 分钟的文件大小为 1.2 M 左右。 - - - - 1: 中音质。采样率为 32 kHz,录制 10 分钟的文件大小为 2 M 左右。 - - - - 2: 高音质。采样率为 32 kHz,录制 10 分钟的文件大小为 3.75 M 左右。 - - - - 3: 超高音质。采样率为 32 KHz,录制 10 分钟的文件大小约为 7.5 M 左右。 - -
    + + + + + 0: 低音质。采样率为 32 kHz,录制 10 分钟的文件大小为 1.2 M 左右。 + + + + + + 1: 中音质。采样率为 32 kHz,录制 10 分钟的文件大小为 2 M 左右。 + + + + + + 2: 高音质。采样率为 32 kHz,录制 10 分钟的文件大小为 3.75 M 左右。 + + + + + + 3: 超高音质。采样率为 32 KHz,录制 10 分钟的文件大小约为 7.5 M 左右。 + + +
    diff --git a/dita/RTC/API/enum_audioreverbpreset.dita b/dita/RTC/API/enum_audioreverbpreset.dita index 53d96c6c434..897e7d1bf7b 100644 --- a/dita/RTC/API/enum_audioreverbpreset.dita +++ b/dita/RTC/API/enum_audioreverbpreset.dita @@ -6,91 +6,92 @@
    - -
    弃用:
    -
    自 v3.2.0 废弃。
    -
    + +
    弃用:
    +
    自 v3.2.0 废弃。
    +
    枚举值 - - - 原声,即关闭本地语音混响。 - - - - KTV(增强版)。 - - - - 演唱会(增强版)。 - - - - 大叔。 - - - - 小姐姐。 - - - - 录音棚(增强版)。 - - - - 流行(增强版)。 - - - - R&B(增强版)。 - - - - 留声机。 - - - - 流行。 - - - - R&B。 - - - - 摇滚。 - - - - 嘻哈。 - - - - 演唱会。 - - - - KTV。 - - - - 录音棚。 - - - - 虚拟立体声。虚拟立体声是指将单声道的音轨渲染出立体声的效果。 - - - - 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。 - - - - 3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果。 - -
    + + + 原声,即关闭本地语音混响。 + + + + KTV(增强版)。 + + + + 演唱会(增强版)。 + + + + 大叔。 + + + + 小姐姐。 + + + + 录音棚(增强版)。 + + + + 流行(增强版)。 + + + + R&B(增强版)。 + + + + 留声机。 + + + + 流行。 + + + + R&B。 + + + + 摇滚。 + + + + 嘻哈。 + + + + 演唱会。 + + + + KTV。 + + + + 录音棚。 + + + + 虚拟立体声。虚拟立体声是指将单声道的音轨渲染出立体声的效果。 + + + + 电音,即 SDK 以主音音高为 C 的自然大调为基础修正音频的实际音高。 + + + + 3D 人声,即 SDK 将音频渲染出在用户周围环绕的效果。 + + +
    diff --git a/dita/RTC/API/enum_audioreverbtype.dita b/dita/RTC/API/enum_audioreverbtype.dita index 4429e7a0232..3a55413865d 100644 --- a/dita/RTC/API/enum_audioreverbtype.dita +++ b/dita/RTC/API/enum_audioreverbtype.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0: 原始声音强度,即所谓的 dry signal,取值范围 [-20,10],单位为 dB。 - - - - 1: 早期反射信号强度,即所谓的 wet signal,取值范围 [-20,10],单位为 dB。 - - - - 2: 所需混响效果的房间尺寸,一般房间越大,混响越强,取值范围 [0,100],单位为 dB。 - - - - 3: Wet signal 的初始延迟长度,取值范围 [0,200],单位为毫秒。 - - - - 4: 混响持续的强度,取值范围为 [0,100]。 - -
    + + + 0: 原始声音强度,即所谓的 dry signal,取值范围 [-20,10],单位为 dB。 + + + + 1: 早期反射信号强度,即所谓的 wet signal,取值范围 [-20,10],单位为 dB。 + + + + 2: 所需混响效果的房间尺寸,一般房间越大,混响越强,取值范围 [0,100],单位为 dB。 + + + + 3: Wet signal 的初始延迟长度,取值范围 [0,200],单位为毫秒。 + + + + 4: 混响持续的强度,取值范围为 [0,100]。 + + + diff --git a/dita/RTC/API/enum_audioroutetype.dita b/dita/RTC/API/enum_audioroutetype.dita index d5f47f2724b..3824baf1522 100644 --- a/dita/RTC/API/enum_audioroutetype.dita +++ b/dita/RTC/API/enum_audioroutetype.dita @@ -7,62 +7,62 @@
    枚举值 - - - -1: 默认的语音路由。 - - - - 0: 耳机。 - - - - 1: 听筒。 - - - - 2: 不带麦的耳机。 - - - - 3: 手机的扬声器。 - - - - 4: 外接的扬声器。 - - - - 5: 蓝牙耳机。 - + + + -1: 默认的语音路由。 + + + + 0: 耳机。 + + + + 1: 听筒。 + + + + 2: 不带麦的耳机。 + + + + 3: 手机的扬声器。 + + + + 4: 外接的扬声器。 + + + + 5: 蓝牙耳机。 + - - - 6: USB 外围设备(仅适用于 macOS) - - - - 7: HDMI 外围设备(仅适用于 macOS) - - - - 8: DisplayPort 外围设备(仅适用于 macOS) - - - - 9: Apple AirPlay(仅适用于 macOS) - + + + 6: USB 外围设备(仅适用于 macOS) + + + + 7: HDMI 外围设备(仅适用于 macOS) + + + + 8: DisplayPort 外围设备(仅适用于 macOS) + + + + 9: Apple AirPlay(仅适用于 macOS) + - - - 6: USB 外围设备(仅适用于 macOS)。 - - - - 7: HDMI 外围设备(仅适用于 macOS)。 - + + + 6: USB 外围设备(仅适用于 macOS)。 + + + + 7: HDMI 外围设备(仅适用于 macOS)。 +
    diff --git a/dita/RTC/API/enum_audiosampleratetype.dita b/dita/RTC/API/enum_audiosampleratetype.dita index beac2c59a69..92756298127 100644 --- a/dita/RTC/API/enum_audiosampleratetype.dita +++ b/dita/RTC/API/enum_audiosampleratetype.dita @@ -7,18 +7,19 @@
    枚举值 - - - 32000: 32 kHz - - - - 44100: 44.1 kHz - - - - 48000: (默认)48 kHz - -
    + + + 32000: 32 kHz + + + + 44100: 44.1 kHz + + + + 48000: (默认)48 kHz + + + diff --git a/dita/RTC/API/enum_audioscenariotype.dita b/dita/RTC/API/enum_audioscenariotype.dita index 23dd60a0555..04fee8cbd5b 100644 --- a/dita/RTC/API/enum_audioscenariotype.dita +++ b/dita/RTC/API/enum_audioscenariotype.dita @@ -7,42 +7,43 @@
    枚举值 - - - 0: 默认的音频应用场景。 - - - - 1: 娱乐场景,适用于用户需要频繁上下麦的场景。 - - - - 2: 教育场景,适用于需要高流畅度和稳定性的场景。 - - - - 3: 高音质语聊房场景,适用于音乐为主的场景。 - - - - 4: 秀场场景,适用于需要高音质的单主播场景。 - - - - 5: 游戏开黑场景,适用于只有人声的场景。 - - - - 6: IoT(物联网)场景,适用于使用低功耗 IoT 设备的场景。 - - - - 8: 会议场景,适用于人声为主的多人会议。 - - - - 枚举的数量。 - -
    + + + 0: 默认的音频应用场景。 + + + + 1: 娱乐场景,适用于用户需要频繁上下麦的场景。 + + + + 2: 教育场景,适用于需要高流畅度和稳定性的场景。 + + + + 3: 高音质语聊房场景,适用于音乐为主的场景。 + + + + 4: 秀场场景,适用于需要高音质的单主播场景。 + + + + 5: 游戏开黑场景,适用于只有人声的场景。 + + + + 6: IoT(物联网)场景,适用于使用低功耗 IoT 设备的场景。 + + + + 8: 会议场景,适用于人声为主的多人会议。 + + + + 枚举的数量。 + + + diff --git a/dita/RTC/API/enum_audiosessionoperationrestriction.dita b/dita/RTC/API/enum_audiosessionoperationrestriction.dita index f65be0a3f87..b6501fbb45f 100644 --- a/dita/RTC/API/enum_audiosessionoperationrestriction.dita +++ b/dita/RTC/API/enum_audiosessionoperationrestriction.dita @@ -7,26 +7,27 @@
    枚举值 - - - 没有限制,SDK 可以完全控制 Audio Session 操作。 - - - - SDK 不能更改 Audio Session 的 category。 - - - - SDK 不能更改 Audio Session 的 category,mode,categoryOptions。 - - - - 离开某个频道时,SDK 会保持 Audio Session 处于活动状态。 - - - - 限制 SDK 对 Audio Session 进行任何操作,SDK 将不能再对 Audio Session 进行任何配置。 - -
    + + + 没有限制,SDK 可以完全控制 Audio Session 操作。 + + + + SDK 不能更改 Audio Session 的 category。 + + + + SDK 不能更改 Audio Session 的 category,mode,categoryOptions。 + + + + 离开某个频道时,SDK 会保持 Audio Session 处于活动状态。 + + + + 限制 SDK 对 Audio Session 进行任何操作,SDK 将不能再对 Audio Session 进行任何配置。 + + + diff --git a/dita/RTC/API/enum_backgroundblurdegree.dita b/dita/RTC/API/enum_backgroundblurdegree.dita index 6ccc3397817..c842f043d77 100644 --- a/dita/RTC/API/enum_backgroundblurdegree.dita +++ b/dita/RTC/API/enum_backgroundblurdegree.dita @@ -6,27 +6,28 @@
    - -
    自从
    -
    v3.5.0
    -
    + +
    自从
    +
    v3.5.0
    +
    枚举值 - - - 1: 自定义背景图的虚化程度为低。用户差不多能看清背景。 - - - - 自定义背景图的虚化程度为中。用户较难看清背景。 - - - - (默认)自定义背景图的虚化程度为高。用户很难看清背景。 - -
    + + + 1: 自定义背景图的虚化程度为低。用户差不多能看清背景。 + + + + 自定义背景图的虚化程度为中。用户较难看清背景。 + + + + (默认)自定义背景图的虚化程度为高。用户很难看清背景。 + + +
    diff --git a/dita/RTC/API/enum_backgroundsourcetype.dita b/dita/RTC/API/enum_backgroundsourcetype.dita index 0a213dcde5c..034ef8acb44 100644 --- a/dita/RTC/API/enum_backgroundsourcetype.dita +++ b/dita/RTC/API/enum_backgroundsourcetype.dita @@ -6,27 +6,28 @@
    - -
    自从
    -
    v3.5.0
    -
    + +
    自从
    +
    v3.5.0
    +
    枚举值 - - - 1:(默认)背景图为纯色。 - - - - 背景图为 PNG、JPG 格式的图片。 - - - - 将虚化处理后的背景作为背景图。 - -
    + + + 1:(默认)背景图为纯色。 + + + + 背景图为 PNG、JPG 格式的图片。 + + + + 将虚化处理后的背景作为背景图。 + + +
    diff --git a/dita/RTC/API/enum_cameradirection.dita b/dita/RTC/API/enum_cameradirection.dita index e8c425540e2..3190ffe4fe8 100644 --- a/dita/RTC/API/enum_cameradirection.dita +++ b/dita/RTC/API/enum_cameradirection.dita @@ -7,14 +7,15 @@
    枚举值 - - - 后置摄像头。 - - - - 前置摄像头。 - -
    + + + 后置摄像头。 + + + + 前置摄像头。 + + + diff --git a/dita/RTC/API/enum_capturebrightnessleveltype.dita b/dita/RTC/API/enum_capturebrightnessleveltype.dita index a757cdae412..57b258df4b0 100644 --- a/dita/RTC/API/enum_capturebrightnessleveltype.dita +++ b/dita/RTC/API/enum_capturebrightnessleveltype.dita @@ -6,32 +6,33 @@
    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +
    枚举值 - - - -1: SDK 未检测出本地采集的画质亮度级别。请等待几秒,通过下一次回调的 - captureBrightnessLevel 获取亮度级别。 - - - - 0: 本地采集的画质亮度正常。 - - - - 1: 本地采集的画质亮度偏亮。 - - - - 2: 本地采集的画质亮度偏暗。 - -
    + + + -1: SDK 未检测出本地采集的画质亮度级别。请等待几秒,通过下一次回调的 + captureBrightnessLevel 获取亮度级别。 + + + + 0: 本地采集的画质亮度正常。 + + + + 1: 本地采集的画质亮度偏亮。 + + + + 2: 本地采集的画质亮度偏暗。 + + +
    diff --git a/dita/RTC/API/enum_captureroutputpreference.dita b/dita/RTC/API/enum_captureroutputpreference.dita index 585e28553a8..daac1739605 100644 --- a/dita/RTC/API/enum_captureroutputpreference.dita +++ b/dita/RTC/API/enum_captureroutputpreference.dita @@ -7,31 +7,32 @@
    枚举值 - - - 0:(默认)自动调整采集参数。SDK 根据实际的采集设备性能及网络情况,选择合适的摄像头输出参数,在设备性能及视频预览质量之间,维持平衡。 - - - - 1: 优先保证设备性能。SDK 根据用户在 - 中设置编码器的分辨率和帧率,选择最接近的摄像头输出参数,从而保证设备性能。在这种情况下,预览质量接近于编码器的输出质量。 - - - - 2: 优先保证视频预览质量。SDK 选择较高的摄像头输出参数,从而提高预览视频的质量。在这种情况下,会消耗更多的 CPU 及内存做视频前处理。 - - - - -
    - -
    自从
    -
    v3.3.0
    -
    -
    -

    3: 允许用户设置本地摄像头采集的视频宽高。

    -
    -
    -
    + + + 0:(默认)自动调整采集参数。SDK 根据实际的采集设备性能及网络情况,选择合适的摄像头输出参数,在设备性能及视频预览质量之间,维持平衡。 + + + + 1: 优先保证设备性能。SDK 根据用户在 + 中设置编码器的分辨率和帧率,选择最接近的摄像头输出参数,从而保证设备性能。在这种情况下,预览质量接近于编码器的输出质量。 + + + + 2: 优先保证视频预览质量。SDK 选择较高的摄像头输出参数,从而提高预览视频的质量。在这种情况下,会消耗更多的 CPU 及内存做视频前处理。 + + + + +
    + +
    自从
    +
    v3.3.0
    +
    +
    +

    3: 允许用户设置本地摄像头采集的视频宽高。

    +
    +
    + + diff --git a/dita/RTC/API/enum_channelmediarelayerror.dita b/dita/RTC/API/enum_channelmediarelayerror.dita index 0e3b35a1e6e..371150156b8 100644 --- a/dita/RTC/API/enum_channelmediarelayerror.dita +++ b/dita/RTC/API/enum_channelmediarelayerror.dita @@ -7,58 +7,60 @@
    枚举值 - - - 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 已过期。 + + + diff --git a/dita/RTC/API/enum_channelmediarelayevent.dita b/dita/RTC/API/enum_channelmediarelayevent.dita index b207e8de014..9ae960dd390 100644 --- a/dita/RTC/API/enum_channelmediarelayevent.dita +++ b/dita/RTC/API/enum_channelmediarelayevent.dita @@ -7,70 +7,75 @@
    枚举值 - - - 0: 网络中断导致用户与服务器连接断开。 - - - - 1: 用户与服务器建立连接。 - - - - 2: 用户已加入源频道。 - - - - 3: 用户已加入目标频道。 - - - - 4: SDK 开始向目标频道发送数据包。 - - - - 5: 服务器收到了频道发送的视频流。 - - - - 6: 服务器收到了频道发送的音频流。 - - - - 7: 目标频道已更新。 - - - - 8: 内部原因导致目标频道更新失败。 - - - - 9: 目标频道未发生改变,即目标频道更新失败。 - - - - 10: 目标频道名为 - - - - 11: 视频属性已发送至服务器。 - - - - 12: 暂停向目标频道转发媒体流成功。 - - - - 13: 暂停向目标频道转发媒体流失败。 - - - - 14: 恢复向目标频道转发媒体流成功。 - - - - 15: 恢复向目标频道转发媒体流失败。 - -
    + + + 0: 网络中断导致用户与服务器连接断开。 + + + + 1: 用户与服务器建立连接。 + + + + 2: 用户已加入源频道。 + + + + 3: 用户已加入目标频道。 + + + + 4: SDK 开始向目标频道发送数据包。 + + + + 5: 服务器收到了频道发送的视频流。 + + + + 6: 服务器收到了频道发送的音频流。 + + + + 7: 目标频道已更新。 + + + + 8: 内部原因导致目标频道更新失败。 + + + + 9: 目标频道未发生改变,即目标频道更新失败。 + + + + 10: 目标频道名为 + + + + 11: 视频属性已发送至服务器。 + + + + 12: 暂停向目标频道转发媒体流成功。 + + + + 13: 暂停向目标频道转发媒体流失败。 + + + + 14: 恢复向目标频道转发媒体流成功。 + + + + 15: 恢复向目标频道转发媒体流失败。 + + + diff --git a/dita/RTC/API/enum_channelmediarelaystate.dita b/dita/RTC/API/enum_channelmediarelaystate.dita index 00c837ace60..8b747a62e4f 100644 --- a/dita/RTC/API/enum_channelmediarelaystate.dita +++ b/dita/RTC/API/enum_channelmediarelaystate.dita @@ -7,24 +7,25 @@
    枚举值 - - - 0: 初始状态。在成功调用 停止跨频道媒体流转发后, - 会回调该状态。 - - - - 1: SDK 尝试跨频道。 - - - - 2: 源频道主播成功加入目标频道。 - - - - 3: 发生异常,详见 的 - code 参数提示的错误信息。 - -
    + + + 0: 初始状态。在成功调用 停止跨频道媒体流转发后, 会回调该状态。 + + + + 1: SDK 尝试跨频道。 + + + + 2: 源频道主播成功加入目标频道。 + + + + 3: 发生异常,详见 的 + code 参数提示的错误信息。 + + + diff --git a/dita/RTC/API/enum_channelprofiletype.dita b/dita/RTC/API/enum_channelprofiletype.dita index 9f203969cbf..a25e0640edb 100644 --- a/dita/RTC/API/enum_channelprofiletype.dita +++ b/dita/RTC/API/enum_channelprofiletype.dita @@ -7,18 +7,20 @@
    枚举值 - - - 0: (默认)通信场景。该场景下,频道内所有用户都可以发布和接收音、视频流。适用于语音通话、视频群聊等应用场景。 - - - - 1: 直播场景。该场景有主播和观众两种用户角色,可以通过 设置。主播可以发布和接收音视频流,观众直接接收流。适用于语聊房、视频直播、互动大班课等应用场景。 - - - - 2: 游戏语音场景。声网不推荐使用该场景。 - -
    + + + 0: (默认)通信场景。该场景下,频道内所有用户都可以发布和接收音、视频流。适用于语音通话、视频群聊等应用场景。 + + + + 1: 直播场景。该场景有主播和观众两种用户角色,可以通过 + 设置。主播可以发布和接收音视频流,观众直接接收流。适用于语聊房、视频直播、互动大班课等应用场景。 + + + + 2: 游戏语音场景。声网不推荐使用该场景。 + + + diff --git a/dita/RTC/API/enum_clientrolechangefailedreason.dita b/dita/RTC/API/enum_clientrolechangefailedreason.dita index 32559c2b948..811f933685a 100644 --- a/dita/RTC/API/enum_clientrolechangefailedreason.dita +++ b/dita/RTC/API/enum_clientrolechangefailedreason.dita @@ -7,25 +7,28 @@
    枚举值 - - - -

    1: 频道内主播人数达到上限。

    - 该枚举仅在开启 128 人功能后报告。主播人数的上限根据开启 128 人功能时实际配置的人数而定。 -
    -
    - - - 2: 请求被服务端拒绝。建议提示用户重新尝试切换用户角色。 - - - - 3: 请求超时。建议提示用户检查网络连接状况后重新尝试切换用户角色。 - - - - 4: 网络连接断开。可根据 报告的 reason,排查网络连接失败的具体原因。 - -
    + + + +

    1: 频道内主播人数达到上限。

    + 该枚举仅在开启 128 人功能后报告。主播人数的上限根据开启 128 + 人功能时实际配置的人数而定。 +
    +
    + + + 2: 请求被服务端拒绝。建议提示用户重新尝试切换用户角色。 + + + + 3: 请求超时。建议提示用户检查网络连接状况后重新尝试切换用户角色。 + + + + 4: 网络连接断开。可根据 报告的 + reason,排查网络连接失败的具体原因。 + + + diff --git a/dita/RTC/API/enum_clientroletype.dita b/dita/RTC/API/enum_clientroletype.dita index b170cbdec64..ae27857898c 100644 --- a/dita/RTC/API/enum_clientroletype.dita +++ b/dita/RTC/API/enum_clientroletype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 1: 主播。主播可以发流也可以收流。 - - - - 2:(默认)观众。观众只能收流不能发流。 - -
    + + + 1: 主播。主播可以发流也可以收流。 + + + + 2:(默认)观众。观众只能收流不能发流。 + + + diff --git a/dita/RTC/API/enum_cloudproxytype.dita b/dita/RTC/API/enum_cloudproxytype.dita index 45f03b1dec9..4f1bff32e26 100644 --- a/dita/RTC/API/enum_cloudproxytype.dita +++ b/dita/RTC/API/enum_cloudproxytype.dita @@ -6,27 +6,29 @@
    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +
    枚举值 - - - 0:自动模式。SDK 默认开启该模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换到 TLS 443。自 v3.6.2 起,SDK 默认开启该模式。 - - - - 1:UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。 - - - - 2:TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。 - + + + 0:自动模式。SDK 默认开启该模式。在该模式下,SDK 优先连接 + SD-RTN™,如果连接失败,自动切换到 TLS 443。自 v3.6.2 起,SDK + 默认开启该模式。 + + + + 1:UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。 + + + + 2:TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。 +
    diff --git a/dita/RTC/API/enum_connectionchangedreasontype.dita b/dita/RTC/API/enum_connectionchangedreasontype.dita index 164cff6b2ec..8fbfcc9a2b7 100644 --- a/dita/RTC/API/enum_connectionchangedreasontype.dita +++ b/dita/RTC/API/enum_connectionchangedreasontype.dita @@ -7,109 +7,106 @@
    枚举值 - - - 0: 建立网络连接中。 - - - - 1: 成功加入频道。 - - - - 2: 网络连接中断。 - - - - 3: 网络连接被服务器禁止。服务端踢人场景时会报这个错。 - - - - 4: 加入频道失败。SDK 在尝试加入频道 20 分钟后还是没能加入频道,会返回该状态,并停止尝试重连。 - - - - 5: 离开频道。 - - - - 6: 不是有效的 APP ID。请更换有效的 APP ID 重新加入频道。 - - - - 7: 不是有效的频道名。请更换有效的频道名重新加入频道。 - - - - -

    8: 生成的 Token 无效。一般有以下原因: - - - -

      -
    • 在控制台上启用了 App Certificate,但加入频道未使用 Token。当启用了 App Certificate,必须使用 Token。
    • -
    • 在调用 加入频道时指定的用户 ID 与生成 Token 时传入的用户 ID 不一致。
    • -

    -
    -
    - - - 9: 当前使用的 Token 过期,不再有效,需要重新在你的服务端申请生成 Token。 - - - - -

    10: 此用户被服务器禁止。一般有以下原因: - - - -

      -
    • 用户已进入频道,再次调用加入频道的 API,例如 ,会返回此状态。停止调用该方法即可。
    • -
    • 用户在进行通话测试时尝试加入频道。等待通话测试结束后再加入频道即可。
    • -

    -
    -
    - - - 11: 由于设置了代理服务器,SDK 尝试重连。 - - - - 12: 更新 Token 引起网络连接状态改变。 - - - - 13: 客户端 IP 地址变更,可能是由于网络类型,或网络运营商的 IP 或端口发生改变引起。 - - - - 14: SDK 和服务器连接保活超时,进入自动重连状态。 - - - - 15: 重新加入频道成功。 - - - - 16: SDK 和服务器失去连接。 - - - - 17: 连接状态变化由回声测试引起。 - - - - 19:使用相同的 UID 从不同的设备加入同一频道。 - - - - -

    - 20:频道内主播人数已达上限。 -

    - 该枚举仅在开启 128 人功能后报告。主播人数的上限根据开启 128 人功能时实际配置的人数而定。 -
    -
    -
    + + + 0: 建立网络连接中。 + + + + 1: 成功加入频道。 + + + + 2: 网络连接中断。 + + + + 3: 网络连接被服务器禁止。服务端踢人场景时会报这个错。 + + + + 4: 加入频道失败。SDK 在尝试加入频道 20 分钟后还是没能加入频道,会返回该状态,并停止尝试重连。 + + + + 5: 离开频道。 + + + + 6: 不是有效的 APP ID。请更换有效的 APP ID 重新加入频道。 + + + + 7: 不是有效的频道名。请更换有效的频道名重新加入频道。 + + + + +

    8: 生成的 Token 无效。一般有以下原因:

      +
    • 在控制台上启用了 App Certificate,但加入频道未使用 Token。当启用了 App + Certificate,必须使用 Token。
    • +
    • 在调用 加入频道时指定的用户 ID 与生成 Token + 时传入的用户 ID 不一致。
    • +

    +
    +
    + + + 9: 当前使用的 Token 过期,不再有效,需要重新在你的服务端申请生成 Token。 + + + + +

    10: 此用户被服务器禁止。一般有以下原因:

      +
    • 用户已进入频道,再次调用加入频道的 API,例如 ,会返回此状态。停止调用该方法即可。
    • +
    • 用户在进行通话测试时尝试加入频道。等待通话测试结束后再加入频道即可。
    • +
    +

    +
    +
    + + + 11: 由于设置了代理服务器,SDK 尝试重连。 + + + + 12: 更新 Token 引起网络连接状态改变。 + + + + 13: 客户端 IP 地址变更,可能是由于网络类型,或网络运营商的 IP 或端口发生改变引起。 + + + + 14: SDK 和服务器连接保活超时,进入自动重连状态。 + + + + 15: 重新加入频道成功。 + + + + 16: SDK 和服务器失去连接。 + + + + 17: 连接状态变化由回声测试引起。 + + + + 19:使用相同的 UID 从不同的设备加入同一频道。 + + + + +

    20:频道内主播人数已达上限。

    + 该枚举仅在开启 128 人功能后报告。主播人数的上限根据开启 128 + 人功能时实际配置的人数而定。 +
    +
    + + diff --git a/dita/RTC/API/enum_connectionstatetype.dita b/dita/RTC/API/enum_connectionstatetype.dita index 485bc878cdb..74d1457bf61 100644 --- a/dita/RTC/API/enum_connectionstatetype.dita +++ b/dita/RTC/API/enum_connectionstatetype.dita @@ -7,57 +7,56 @@
    枚举值 - - - -

    1: 网络连接断开。该状态表示 SDK 处于: - - -

      -
    • 调用 加入频道前的初始化阶段。
    • -
    • 或调用 后的离开频道阶段。
    • -

    -
    -
    - - - -

    2: 建立网络连接中。该状态表示 SDK 在调用 后正在与指定的频道建立连接。 - - -

      -
    • 如果成功加入频道,app 会收到 回调,通知当前网络状态变成
    • -
    • 建立连接后,SDK 还会初始化媒体,一切就绪后会回调
    • -

    -
    -
    - - - 3: 网络已连接。该状态表示用户已经加入频道,可以在频道内发布或订阅媒体流。如果因网络断开或切换而导致 SDK 与频道的连接中断,SDK 会自动重连,此时 app 会收到 - 回调,通知当前网络状态变成 - - - - -

    4: 重新建立网络连接中。该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。 - -

      -
    • 如果 SDK 无法在 10 秒内重新加入频道,则 会被触发,SDK 会一直保持在 的状态,并不断尝试重新加入频道。
    • -
    • 如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,则应用程序会收到 回调,通知 app 的网络状态进入 ,SDK 停止尝试重连。
    • -

    -
    -
    - - - -

    5: 网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,需要调用 离开频道。 - -

      -
    • 如果用户还想重新加入频道,则需要再次调用
    • -
    • 如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则 app 会收到
    • -

    -
    -
    -
    + + + +

    1: 网络连接断开。该状态表示 SDK 处于:

      +
    • 调用 加入频道前的初始化阶段。
    • +
    • 或调用 后的离开频道阶段。
    • +

    +
    +
    + + + +

    2: 建立网络连接中。该状态表示 SDK 在调用 后正在与指定的频道建立连接。

      +
    • 如果成功加入频道,app 会收到 + 回调,通知当前网络状态变成
    • +
    • 建立连接后,SDK 还会初始化媒体,一切就绪后会回调
    • +

    +
    +
    + + + 3: 网络已连接。该状态表示用户已经加入频道,可以在频道内发布或订阅媒体流。如果因网络断开或切换而导致 SDK 与频道的连接中断,SDK + 会自动重连,此时 app 会收到 回调,通知当前网络状态变成 + + + + +

    4: 重新建立网络连接中。该状态表示 SDK 之前曾加入过频道,但因网络等原因连接中断了,此时 SDK 会自动尝试重新接入频道。

      +
    • 如果 SDK 无法在 10 秒内重新加入频道,则 + 会被触发,SDK 会一直保持在 + 的状态,并不断尝试重新加入频道。
    • +
    • 如果 SDK 在断开连接后,20 分钟内还是没能重新加入频道,则应用程序会收到 回调,通知 app 的网络状态进入 ,SDK 停止尝试重连。
    • +

    +
    +
    + + + +

    5: 网络连接失败。该状态表示 SDK 已不再尝试重新加入频道,需要调用 离开频道。

      +
    • 如果用户还想重新加入频道,则需要再次调用
    • +
    • 如果 SDK 因服务器端使用 RESTful API 禁止加入频道,则 app 会收到
    • +

    +
    +
    + + diff --git a/dita/RTC/API/enum_contentinspectdevicetype.dita b/dita/RTC/API/enum_contentinspectdevicetype.dita index 62a6e47fc30..e3d51673fe0 100644 --- a/dita/RTC/API/enum_contentinspectdevicetype.dita +++ b/dita/RTC/API/enum_contentinspectdevicetype.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0:(默认)无效值。 - - - - 1:通过客户端声网 SDK 进行鉴黄。 - - - - 2:通过客户端 HIVE 进行鉴黄。 - - - - 3:通过客户端 TUPU 进行鉴黄。 - -
    + + + 0:(默认)无效值。 + + + + 1:通过客户端声网 SDK 进行鉴黄。 + + + + 2:通过客户端 HIVE 进行鉴黄。 + + + + 3:通过客户端 TUPU 进行鉴黄。 + + + diff --git a/dita/RTC/API/enum_contentinspectresult.dita b/dita/RTC/API/enum_contentinspectresult.dita index 926f65ea2a7..87fe4ae1895 100644 --- a/dita/RTC/API/enum_contentinspectresult.dita +++ b/dita/RTC/API/enum_contentinspectresult.dita @@ -6,27 +6,28 @@
    - -
    自从
    -
    v3.6.2
    -
    + +
    自从
    +
    v3.6.2
    +
    枚举值 - - - 1:正常图片。 - - - - 2:性感图片。 - - - - 3:色情图片。 - -
    + + + 1:正常图片。 + + + + 2:性感图片。 + + + + 3:色情图片。 + + +
    diff --git a/dita/RTC/API/enum_contentinspecttype.dita b/dita/RTC/API/enum_contentinspecttype.dita index 7a34c61c5a0..bba40179158 100644 --- a/dita/RTC/API/enum_contentinspecttype.dita +++ b/dita/RTC/API/enum_contentinspecttype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0:(默认)该功能模块无实际功能。请不要将 type 设为该值。 - - - - 2:截图。SDK 会对视频流进行截图并上传。 - -
    + + + 0:(默认)该功能模块无实际功能。请不要将 type 设为该值。 + + + + 2:截图。SDK 会对视频流进行截图并上传。 + + + diff --git a/dita/RTC/API/enum_contentmode.dita b/dita/RTC/API/enum_contentmode.dita index cb996d6ff09..817295c57d9 100644 --- a/dita/RTC/API/enum_contentmode.dita +++ b/dita/RTC/API/enum_contentmode.dita @@ -7,14 +7,15 @@
    枚举值 - - - 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与视窗尺寸不一致而多出的视频将被截掉。 - - - - 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - -
    + + + 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与视窗尺寸不一致而多出的视频将被截掉。 + + + + 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 + + + diff --git a/dita/RTC/API/enum_degradationpreference.dita b/dita/RTC/API/enum_degradationpreference.dita index 923637023aa..5cef307178f 100644 --- a/dita/RTC/API/enum_degradationpreference.dita +++ b/dita/RTC/API/enum_degradationpreference.dita @@ -7,33 +7,38 @@
    枚举值 - - - -

    0:(默认)带宽受限时,视频编码时优先降低视频帧率,维持视频质量不变。该降级偏好适用于画质优先的场景。

    - 通信(COMMUNICATION)场景下,本地发送的视频分辨率可能改变,远端用户需能处理这种情况, 详见
    -
    - - - 1:带宽受限时,视频编码时优先降低视频质量,维持视频帧率不变。该降级偏好适用于流畅性优先且允许画质降低的场景。 - - - - -
    - -
    自从
    -
    v3.4.0
    -
    -
    -

    2:带宽受限时,视频编码时同时降低视频帧率和视频质量。 的降幅比 + + + +

    0:(默认)带宽受限时,视频编码时优先降低视频帧率,维持视频质量不变。该降级偏好适用于画质优先的场景。

    + 通信(COMMUNICATION)场景下,本地发送的视频分辨率可能改变,远端用户需能处理这种情况, 详见 +
    +
    + + + 1:带宽受限时,视频编码时优先降低视频质量,维持视频帧率不变。该降级偏好适用于流畅性优先且允许画质降低的场景。 + + + + +
    + +
    自从
    +
    v3.4.0
    +
    +
    +

    2:带宽受限时,视频编码时同时降低视频帧率和视频质量。 的降幅比 降幅更低, 适用于流畅性和画质均有限的场景。

    - 本地发送的视频分辨率可能改变,远端用户需能处理这种情况,详见
    -
    - - - 3: 带宽受限时,视频编码时优先降低视频帧率。 - -
    + 本地发送的视频分辨率可能改变,远端用户需能处理这种情况,详见 + + + + + 3: 带宽受限时,视频编码时优先降低视频帧率。 + + + diff --git a/dita/RTC/API/enum_earmonitoringfiltertype.dita b/dita/RTC/API/enum_earmonitoringfiltertype.dita index 31898b744f7..27de50a3984 100644 --- a/dita/RTC/API/enum_earmonitoringfiltertype.dita +++ b/dita/RTC/API/enum_earmonitoringfiltertype.dita @@ -7,24 +7,25 @@
    枚举值 - - - -

    1: 不在耳返中添加 audio filter。

    -
    -
    - - - -

    2: 在耳返中添加人声效果 audio filter。如果你实现了美声、音效等功能,用户可以在耳返中听到添加效果后的声音。

    -
    -
    - - - -

    4: 在耳返中添加降噪 audio filter。

    -
    -
    -
    + + + +

    1: 不在耳返中添加 audio filter。

    +
    +
    + + + +

    2: 在耳返中添加人声效果 audio filter。如果你实现了美声、音效等功能,用户可以在耳返中听到添加效果后的声音。

    +
    +
    + + + +

    4: 在耳返中添加降噪 audio filter。

    +
    +
    + + diff --git a/dita/RTC/API/enum_encryptionerrortype.dita b/dita/RTC/API/enum_encryptionerrortype.dita index e5684f89730..a75eac03a0b 100644 --- a/dita/RTC/API/enum_encryptionerrortype.dita +++ b/dita/RTC/API/enum_encryptionerrortype.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0: 内部原因。 - - - - 1: 解密错误。请确保接收端和发送端使用的加密模式或密钥一致。 - - - - 2: 加密错误。 - -
    + + + 0: 内部原因。 + + + + 1: 解密错误。请确保接收端和发送端使用的加密模式或密钥一致。 + + + + 2: 加密错误。 + + + diff --git a/dita/RTC/API/enum_encryptionmode.dita b/dita/RTC/API/enum_encryptionmode.dita index f3766a21410..29100321785 100644 --- a/dita/RTC/API/enum_encryptionmode.dita +++ b/dita/RTC/API/enum_encryptionmode.dita @@ -5,49 +5,53 @@ 内置加密模式。
    -

    声网推荐使用 加密模式。这两种模式支持使用盐,安全性更高。

    +

    声网推荐使用 + 加密模式。这两种模式支持使用盐,安全性更高。

    枚举值 - - - 1: 128 位 AES 加密,XTS 模式。 - 1:(默认)128 位 AES 加密,XTS 模式。 - - - - 2: 128 位 AES 加密,ECB 模式。 - - - - 3: 256 位 AES 加密,XTS 模式。 - - - - 4: 128 位 SM4 加密,ECB 模式。 - - - - 5: 128 位 AES 加密,GCM 模式。 - - - - 6: 256 位 AES 加密,GCM 模式。 - - - - 7:(默认)128 位 AES 加密,GCM 模式。该加密模式需要设置盐(encryptionKdfSalt)。 - 7: 128 位 AES 加密,GCM 模式。该加密模式需要设置盐(encryptionKdfSalt)。 - - - - 8: 256 位 AES 加密,GCM 模式。该加密模式需要设置盐(encryptionKdfSalt)。 - - - - 枚举值边界。 - -
    + + + 1: 128 位 AES 加密,XTS 模式。 + 1:(默认)128 位 AES 加密,XTS 模式。 + + + + 2: 128 位 AES 加密,ECB 模式。 + + + + 3: 256 位 AES 加密,XTS 模式。 + + + + 4: 128 位 SM4 加密,ECB 模式。 + + + + 5: 128 位 AES 加密,GCM 模式。 + + + + 6: 256 位 AES 加密,GCM 模式。 + + + + 7:(默认)128 位 AES 加密,GCM + 模式。该加密模式需要设置盐(encryptionKdfSalt)。 + 7: 128 位 AES 加密,GCM + 模式。该加密模式需要设置盐(encryptionKdfSalt)。 + + + + 8: 256 位 AES 加密,GCM 模式。该加密模式需要设置盐(encryptionKdfSalt)。 + + + + 枚举值边界。 + + +
    diff --git a/dita/RTC/API/enum_errscreencapture.dita b/dita/RTC/API/enum_errscreencapture.dita index c07e6e8ae93..24605b0cae8 100644 --- a/dita/RTC/API/enum_errscreencapture.dita +++ b/dita/RTC/API/enum_errscreencapture.dita @@ -7,18 +7,23 @@
    枚举值 - - - 16:用户拒绝向应用授予屏幕采集权限。 - - - - 2: 受系统限制,Android 5(API 级别 21)以下无法采集屏幕。当你在 Android 5 以下调用 时,SDK 会报告该错误码。 - - - - 3: 受系统限制,Android 10(API 级别 29)以下无法采集系统音频。 当你在 Android 5(API 级别 21)以上且 Android 10(API 级别 29)以下调用 并设置 captureAudiotrue 时,SDK 会报告该错误码。 - -
    + + + 16:用户拒绝向应用授予屏幕采集权限。 + + + + 2: 受系统限制,Android 5(API 级别 21)以下无法采集屏幕。当你在 Android 5 以下调用 时,SDK 会报告该错误码。 + + + + 3: 受系统限制,Android 10(API 级别 29)以下无法采集系统音频。 当你在 Android 5(API 级别 21)以上且 + Android 10(API 级别 29)以下调用 并设置 + captureAudiotrue 时,SDK + 会报告该错误码。 + + + diff --git a/dita/RTC/API/enum_excludewindowerror.dita b/dita/RTC/API/enum_excludewindowerror.dita index 699ddc7edc6..c12b84be4ec 100644 --- a/dita/RTC/API/enum_excludewindowerror.dita +++ b/dita/RTC/API/enum_excludewindowerror.dita @@ -1,20 +1,25 @@ - <ph keyref="EXCLUDE_WINDOW_ERROR"/> - 屏幕共享时,屏蔽窗口的错误码。 + + <ph keyref="EXCLUDE_WINDOW_ERROR"/> + + + 屏幕共享时,屏蔽窗口的错误码。 +
    枚举值 - - - -1: 屏幕共享时,屏蔽窗口失败。用户的显卡不支持窗口屏蔽功能。 - - - - 0: 预留参数。 - -
    + + + -1: 屏幕共享时,屏蔽窗口失败。用户的显卡不支持窗口屏蔽功能。 + + + + 0: 预留参数。 + + +
    diff --git a/dita/RTC/API/enum_experiencepoorreason.dita b/dita/RTC/API/enum_experiencepoorreason.dita index 52940dfaccd..bf68e68e08a 100644 --- a/dita/RTC/API/enum_experiencepoorreason.dita +++ b/dita/RTC/API/enum_experiencepoorreason.dita @@ -6,35 +6,36 @@
    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +
    枚举值 - - - 0: 无原因,说明主观体验质量较好。 - - - - 1: 远端用户的网络较差。 - - - - 2: 本地用户的网络较差。 - - - - 4: 本地用户的 Wi-FI 或者移动数据网络信号弱。 - - - - 8: 本地用户同时开启 Wi-Fi 和蓝牙,二者信号互相干扰,导致音频传输质量下降。 - -
    + + + 0: 无原因,说明主观体验质量较好。 + + + + 1: 远端用户的网络较差。 + + + + 2: 本地用户的网络较差。 + + + + 4: 本地用户的 Wi-FI 或者移动数据网络信号弱。 + + + + 8: 本地用户同时开启 Wi-Fi 和蓝牙,二者信号互相干扰,导致音频传输质量下降。 + + +
    diff --git a/dita/RTC/API/enum_experiencequalitytype.dita b/dita/RTC/API/enum_experiencequalitytype.dita index 5d9e4ba6a02..1f9c3ddb129 100644 --- a/dita/RTC/API/enum_experiencequalitytype.dita +++ b/dita/RTC/API/enum_experiencequalitytype.dita @@ -6,23 +6,24 @@
    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +
    枚举值 - - - 0: 主观体验质量较好。 - - - - 1: 主观体验质量较差。 - -
    + + + 0: 主观体验质量较好。 + + + + 1: 主观体验质量较差。 + + +
    diff --git a/dita/RTC/API/enum_externalvideosourcetype.dita b/dita/RTC/API/enum_externalvideosourcetype.dita index 50dafc1c654..b38a1b30376 100644 --- a/dita/RTC/API/enum_externalvideosourcetype.dita +++ b/dita/RTC/API/enum_externalvideosourcetype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0:未编码视频帧。 - - - - 1:已编码视频帧。 - -
    + + + 0:未编码视频帧。 + + + + 1:已编码视频帧。 + + + diff --git a/dita/RTC/API/enum_framerate.dita b/dita/RTC/API/enum_framerate.dita index 855be8912c8..621f1a9fa31 100644 --- a/dita/RTC/API/enum_framerate.dita +++ b/dita/RTC/API/enum_framerate.dita @@ -7,36 +7,38 @@
    枚举值 - - - 1: 1 fps - - - - 7: 7 fps - - - - 10: 10 fps - - - - 15: 15 fps - - - - 24: 24 fps - - - - 30: 30 fps - - - - -

    60: 60 fps

    - 仅适用于 Windows 和 macOS 平台。
    -
    -
    + + + 1: 1 fps + + + + 7: 7 fps + + + + 10: 10 fps + + + + 15: 15 fps + + + + 24: 24 fps + + + + 30: 30 fps + + + + +

    60: 60 fps

    + 仅适用于 Windows 和 macOS + 平台。
    +
    + + diff --git a/dita/RTC/API/enum_injectstreamstatus.dita b/dita/RTC/API/enum_injectstreamstatus.dita index 890162016c3..bad14aab75f 100644 --- a/dita/RTC/API/enum_injectstreamstatus.dita +++ b/dita/RTC/API/enum_injectstreamstatus.dita @@ -7,50 +7,51 @@
    枚举值 - - - 0: 外部视频流导入成功。 - - - - 1: 外部视频流已存在。 - - - - 2: 外部视频流导入未经授权。 - - - - 3: 导入外部视频流超时。 - - - - 4: 外部视频流导入失败。 - - - - 5: 外部视频流停止导入成功。 - - - - 6: 未找到要停止导入的外部视频流。 - - - - 7: 要停止导入的外部视频流未经授权。 - - - - 8: 停止导入外部视频流超时。 - - - - 9: 停止导入外部视频流失败。 - - - - 10: 导入的外部视频流被中断。 - -
    + + + 0: 外部视频流导入成功。 + + + + 1: 外部视频流已存在。 + + + + 2: 外部视频流导入未经授权。 + + + + 3: 导入外部视频流超时。 + + + + 4: 外部视频流导入失败。 + + + + 5: 外部视频流停止导入成功。 + + + + 6: 未找到要停止导入的外部视频流。 + + + + 7: 要停止导入的外部视频流未经授权。 + + + + 8: 停止导入外部视频流超时。 + + + + 9: 停止导入外部视频流失败。 + + + + 10: 导入的外部视频流被中断。 + + + diff --git a/dita/RTC/API/enum_interfaceidtype.dita b/dita/RTC/API/enum_interfaceidtype.dita index 4e6ad5004b9..6353450d3bf 100644 --- a/dita/RTC/API/enum_interfaceidtype.dita +++ b/dita/RTC/API/enum_interfaceidtype.dita @@ -7,35 +7,36 @@
    枚举值 - - - 接口类。 - 接口类。 - - - - 接口类。 - - - - 该接口类已废弃。 - - - - 接口类。 - - - - 该接口类已废弃。 - - - - 接口类。 - - - - 接口类。 - -
    + + + 接口类。 + 接口类。 + + + + 接口类。 + + + + 该接口类已废弃。 + + + + 接口类。 + + + + 该接口类已废弃。 + + + + 接口类。 + + + + 接口类。 + + + diff --git a/dita/RTC/API/enum_lastmileproberesultstate.dita b/dita/RTC/API/enum_lastmileproberesultstate.dita index ea96e66e52d..d2b1678b150 100644 --- a/dita/RTC/API/enum_lastmileproberesultstate.dita +++ b/dita/RTC/API/enum_lastmileproberesultstate.dita @@ -7,18 +7,19 @@
    枚举值 - - - 1: 表示本次 last mile 质量探测的结果是完整的。 - - - - 2: 表示本次 last mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限。 - - - - 3: 未进行 last mile 质量探测。一个可能的原因是网络连接中断。 - -
    + + + 1: 表示本次 last mile 质量探测的结果是完整的。 + + + + 2: 表示本次 last mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限。 + + + + 3: 未进行 last mile 质量探测。一个可能的原因是网络连接中断。 + + + diff --git a/dita/RTC/API/enum_lighteningcontrastlevel.dita b/dita/RTC/API/enum_lighteningcontrastlevel.dita index 2a3b11c7d2b..5837fc5f762 100644 --- a/dita/RTC/API/enum_lighteningcontrastlevel.dita +++ b/dita/RTC/API/enum_lighteningcontrastlevel.dita @@ -7,18 +7,19 @@
    枚举值 - - - 低对比度。 - - - - 正常对比度。 - - - - 高对比度。 - -
    + + + 低对比度。 + + + + 正常对比度。 + + + + 高对比度。 + + + diff --git a/dita/RTC/API/enum_localaudiostreamerror.dita b/dita/RTC/API/enum_localaudiostreamerror.dita index 1234f0a05d8..c432da2032d 100644 --- a/dita/RTC/API/enum_localaudiostreamerror.dita +++ b/dita/RTC/API/enum_localaudiostreamerror.dita @@ -1,56 +1,75 @@ - <ph keyref="LOCAL_AUDIO_STREAM_ERROR"/> - 本地音频出错原因。 + + <ph keyref="LOCAL_AUDIO_STREAM_ERROR"/> + + + 本地音频出错原因。 +
    枚举值 - - - 0: 本地音频状态正常。 - - - - 1: 本地音频出错原因不明确。 - - - - 2: 没有权限启动本地音频采集设备。 - - - - 3: 本地音频采集设备已经在使用中。 - - - - 4: 本地音频采集失败,建议你检查采集设备是否正常工作。 - - - - 5: 本地音频编码失败。 - - - - 6: 无本地音频采集设备。请检查麦克风是否与设备连接正常,检查麦克风是否正常工作。 - - - - 7: 无本地音频播放设备。请检查扬声器是否与设备连接正常,检查扬声器是否正常工作。 - - - - 8: 本地音频采集被系统来电中断。如需进行音频采集,请用户挂断电话。 - - - - 9: 本地音频采集设备的 ID 无效。请检查音频采集设备 ID。 - - - - 10: 本地音频播放设备的 ID 无效。请检查音频播放设备 ID。 - -
    + + + + + 0: 本地音频状态正常。 + + + + + + 1: 本地音频出错原因不明确。 + + + + + + 2: 没有权限启动本地音频采集设备。 + + + + + + 3: 本地音频采集设备已经在使用中。 + + + + + + 4: 本地音频采集失败,建议你检查采集设备是否正常工作。 + + + + + + 5: 本地音频编码失败。 + + + + 6: 无本地音频采集设备。请检查麦克风是否与设备连接正常,检查麦克风是否正常工作。 + + + + 7: 无本地音频播放设备。请检查扬声器是否与设备连接正常,检查扬声器是否正常工作。 + + + + + + 8: 本地音频采集被系统来电中断。如需进行音频采集,请用户挂断电话。 + + + + 9: 本地音频采集设备的 ID 无效。请检查音频采集设备 ID。 + + + + 10: 本地音频播放设备的 ID 无效。请检查音频播放设备 ID。 + + +
    diff --git a/dita/RTC/API/enum_localaudiostreamstate.dita b/dita/RTC/API/enum_localaudiostreamstate.dita index 16014924829..f4dd21a4309 100644 --- a/dita/RTC/API/enum_localaudiostreamstate.dita +++ b/dita/RTC/API/enum_localaudiostreamstate.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0: 本地音频默认初始状态。 - - - - 1: 本地音频采集设备启动成功。 - - - - 2: 本地音频首帧编码成功。 - - - - 3: 本地音频启动失败。 - -
    + + + 0: 本地音频默认初始状态。 + + + + 1: 本地音频采集设备启动成功。 + + + + 2: 本地音频首帧编码成功。 + + + + 3: 本地音频启动失败。 + + + diff --git a/dita/RTC/API/enum_localproxymode.dita b/dita/RTC/API/enum_localproxymode.dita index c37e2a1a5c6..a62ade053de 100644 --- a/dita/RTC/API/enum_localproxymode.dita +++ b/dita/RTC/API/enum_localproxymode.dita @@ -7,15 +7,19 @@
    枚举值 - - - 0: 连通性优先。在该模式下,SDK 同时尝试连接指定的声网私有媒体服务器和声网 SD-RTN™。如果能连接到指定的声网私有媒体服务器,则连接私有媒体服务器,不会切换到声网 SD-RTN™。如果无法连接到指定的声网私有媒体服务器,则先连接声网 SD-RTN™ 以保持连通性,同时 SDK 继续尝试连接指定的声网私有媒体服务器,一旦连接上私有媒体服务器,SDK 会立即从声网 SD-RTN™ 切换到私有媒体服务器。 - 该模式在声网私有化平台中不生效。 - - - - 1: SDK 只尝试连接指定的声网私有媒体服务器。 - -
    + + + 0: 连通性优先。在该模式下,SDK 同时尝试连接指定的声网私有媒体服务器和声网 + SD-RTN™。如果能连接到指定的声网私有媒体服务器,则连接私有媒体服务器,不会切换到声网 + SD-RTN™。如果无法连接到指定的声网私有媒体服务器,则先连接声网 SD-RTN™ 以保持连通性,同时 SDK + 继续尝试连接指定的声网私有媒体服务器,一旦连接上私有媒体服务器,SDK 会立即从声网 SD-RTN™ 切换到私有媒体服务器。 该模式在声网私有化平台中不生效。 + + + + 1: SDK 只尝试连接指定的声网私有媒体服务器。 + + + diff --git a/dita/RTC/API/enum_localvideostreamerror.dita b/dita/RTC/API/enum_localvideostreamerror.dita index 51e75827291..cde02e6ef44 100644 --- a/dita/RTC/API/enum_localvideostreamerror.dita +++ b/dita/RTC/API/enum_localvideostreamerror.dita @@ -7,109 +7,110 @@
    枚举值 - - - 0: 本地视频状态正常。 - - - - 1: 出错原因不明确。 - - - - 2: 没有权限启动本地视频采集设备。 - - - - 3: 本地视频采集设备正在使用中。 - - - - 4: 本地视频采集失败,建议检查采集设备是否正常工作。 - - - - 5: 本地视频编码失败。 - - - - 6: 应用处于后台。 - - - - 7: 应用窗口处于侧拉、分屏、画中画模式。 - - - - 8: 系统压力。 - - - - -
    - -
    自从
    -
    v3.4.0
    -
    -
    -

    8: 找不到本地视频采集设备。

    -
    -
    - - - 9:(仅支持 macOS)当前正在使用的外部摄像头已经断开连接(例如,被拔出)。 - - - - (仅 macOS 和 Windows)10: SDK 无法在视频设备列表中找到该视频设备。请检查视频设备 ID 是否有效。 - - - - 11: 调用 方法共享窗口时,共享窗口处于最小化的状态。 - - - - -
    - -
    自从
    -
    v3.2.0
    -
    -
    -

    12: 该错误码表示通过窗口 ID 共享的窗口已关闭,或通过窗口 ID 共享的全屏窗口已退出全屏。 - 退出全屏模式后,远端用户将无法看到共享的窗口。为避免远端用户看到黑屏,声网建议你立即结束本次共享。

    -

    报告该错误码的常见场景: - - - - -

      -
    • 本地用户关闭共享的窗口时,SDK 会报告该错误码。
    • -
    • 本地用户先放映幻灯片,然后共享放映中的幻灯片。结束放映时,SDK 会报告该错误码。
    • -
    • 本地用户先全屏观看网页视频或网页文档,然后共享网页视频或网页文档。结束全屏时,SDK 会报告该错误码。
    • -

    -
    -
    - - - (仅 Windows)13: 待共享的窗口被其他窗口遮挡住,被遮挡住的部分在共享时会被 SDK 涂黑。 - - - - 13:(仅适用于 iOS)屏幕共享 Extension 进程开启。 - - - - 14:(仅适用于 iOS)屏幕共享 Extension 进程结束。 - - - - 15:(仅适用于 iOS)屏幕共享 Extension 进程异常退出。 - - - - 20: SDK 不支持共享该类型的窗口。 - -
    + + + 0: 本地视频状态正常。 + + + + 1: 出错原因不明确。 + + + + 2: 没有权限启动本地视频采集设备。 + + + + 3: 本地视频采集设备正在使用中。 + + + + 4: 本地视频采集失败,建议检查采集设备是否正常工作。 + + + + 5: 本地视频编码失败。 + + + + 6: 应用处于后台。 + + + + 7: 应用窗口处于侧拉、分屏、画中画模式。 + + + + 8: 系统压力。 + + + + +
    + +
    自从
    +
    v3.4.0
    +
    +
    +

    8: 找不到本地视频采集设备。

    +
    +
    + + + 9:(仅支持 macOS)当前正在使用的外部摄像头已经断开连接(例如,被拔出)。 + + + + (仅 macOS 和 Windows)10: SDK + 无法在视频设备列表中找到该视频设备。请检查视频设备 ID 是否有效。 + + + + 11: 调用 + 方法共享窗口时,共享窗口处于最小化的状态。 + + + + +
    + +
    自从
    +
    v3.2.0
    +
    +
    +

    12: 该错误码表示通过窗口 ID 共享的窗口已关闭,或通过窗口 ID 共享的全屏窗口已退出全屏。 + 退出全屏模式后,远端用户将无法看到共享的窗口。为避免远端用户看到黑屏,声网建议你立即结束本次共享。

    +

    报告该错误码的常见场景:

      +
    • 本地用户关闭共享的窗口时,SDK 会报告该错误码。
    • +
    • 本地用户先放映幻灯片,然后共享放映中的幻灯片。结束放映时,SDK 会报告该错误码。
    • +
    • 本地用户先全屏观看网页视频或网页文档,然后共享网页视频或网页文档。结束全屏时,SDK 会报告该错误码。
    • +

    +
    +
    + + + (仅 Windows)13: 待共享的窗口被其他窗口遮挡住,被遮挡住的部分在共享时会被 + SDK 涂黑。 + + + + 13:(仅适用于 iOS)屏幕共享 Extension 进程开启。 + + + + 14:(仅适用于 iOS)屏幕共享 Extension 进程结束。 + + + + 15:(仅适用于 iOS)屏幕共享 Extension 进程异常退出。 + + + + 20: SDK 不支持共享该类型的窗口。 + + + diff --git a/dita/RTC/API/enum_localvideostreamstate.dita b/dita/RTC/API/enum_localvideostreamstate.dita index 9e70d4d9a22..5b96cac8dff 100644 --- a/dita/RTC/API/enum_localvideostreamstate.dita +++ b/dita/RTC/API/enum_localvideostreamstate.dita @@ -7,23 +7,25 @@
    枚举值 - - - 0: 本地视频默认初始状态。 - - - - 1: 本地视频采集设备启动成功。调用 - 方法共享窗口且共享窗口为最大化时,也会报告该状态。 - - - - 2: 本地视频首帧编码成功。 - - - - 3: 本地视频启动失败。 - -
    + + + 0: 本地视频默认初始状态。 + + + + 1: 本地视频采集设备启动成功。调用 + 方法共享窗口且共享窗口为最大化时,也会报告该状态。 + + + + 2: 本地视频首帧编码成功。 + + + + 3: 本地视频启动失败。 + + + diff --git a/dita/RTC/API/enum_logfiltertype.dita b/dita/RTC/API/enum_logfiltertype.dita index f8438702f89..e758065190f 100644 --- a/dita/RTC/API/enum_logfiltertype.dita +++ b/dita/RTC/API/enum_logfiltertype.dita @@ -7,30 +7,31 @@
    枚举值 - - - 0: 不输出日志信息。 - - - - 0x080f: 输出所有 API 日志信息。 如果你想获取最完整的日志,可以将日志级别设为该等级。 - - - - 0x000f: 输出 CRITICAL、ERROR、WARNING 和 INFO 级别的日志信息。 我们推荐你将日志级别设为该等级。 - - - - 0x000e: 输出 CRITICAL、ERROR 和 WARNING 级别的日志信息。 - - - - 0x000c: 输出 CRITICAL 和 ERROR 级别的日志信息。 - - - - 0x0008: 输出 CRITICAL 级别的日志信息。 - -
    + + + 0: 不输出日志信息。 + + + + 0x080f: 输出所有 API 日志信息。 如果你想获取最完整的日志,可以将日志级别设为该等级。 + + + + 0x000f: 输出 CRITICAL、ERROR、WARNING 和 INFO 级别的日志信息。 我们推荐你将日志级别设为该等级。 + + + + 0x000e: 输出 CRITICAL、ERROR 和 WARNING 级别的日志信息。 + + + + 0x000c: 输出 CRITICAL 和 ERROR 级别的日志信息。 + + + + 0x0008: 输出 CRITICAL 级别的日志信息。 + + + diff --git a/dita/RTC/API/enum_loglevel.dita b/dita/RTC/API/enum_loglevel.dita index 3cd56ddd0ae..4e64ef20882 100644 --- a/dita/RTC/API/enum_loglevel.dita +++ b/dita/RTC/API/enum_loglevel.dita @@ -6,37 +6,40 @@
    - -
    自从
    -
    v3.3.0
    -
    + +
    自从
    +
    v3.3.0
    +
    枚举值 - - - 0: 不输出任何日志。 - - - - 0x0001:(默认)输出 + + + 0: 不输出任何日志。 + + + + 0x0001:(默认)输出 FATALERRORWARNINFO 级别的日志。我们推荐你将日志级别设为该等级。 - - - - 0x0002: 仅输出 FATALERRORWARN 级别的日志。 - - - - 0x0004: 仅输出 FATALERROR 级别的日志。 - - - - 0x0008: 仅输出 FATAL 级别的日志。 - -
    + + + + 0x0002: 仅输出 + FATALERRORWARN + 级别的日志。 + + + + 0x0004: 仅输出 FATALERROR 级别的日志。 + + + + 0x0008: 仅输出 FATAL 级别的日志。 + + +
    diff --git a/dita/RTC/API/enum_lowlightenhancelevel.dita b/dita/RTC/API/enum_lowlightenhancelevel.dita index 3a7f8881dc8..e54e2d15248 100644 --- a/dita/RTC/API/enum_lowlightenhancelevel.dita +++ b/dita/RTC/API/enum_lowlightenhancelevel.dita @@ -1,20 +1,25 @@ - <ph keyref="LOW_LIGHT_ENHANCE_LEVEL"/> - 暗光增强等级。 + + <ph keyref="LOW_LIGHT_ENHANCE_LEVEL"/> + + + 暗光增强等级。 +
    枚举值 - - - 0:(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。 - - - - 优先性能的暗光增强,会处理视频图像的亮度、细节,消耗的性能较少,处理速度较快。 - -
    + + + 0:(默认)优先画质的暗光增强,会处理视频图像的亮度、细节、噪声,消耗的性能适中,处理速度适中,综合画质最优。 + + + + 优先性能的暗光增强,会处理视频图像的亮度、细节,消耗的性能较少,处理速度较快。 + + +
    diff --git a/dita/RTC/API/enum_lowlightenhancemode.dita b/dita/RTC/API/enum_lowlightenhancemode.dita index 505b9314a4b..9c4e7d9cdd1 100644 --- a/dita/RTC/API/enum_lowlightenhancemode.dita +++ b/dita/RTC/API/enum_lowlightenhancemode.dita @@ -1,22 +1,25 @@ - <ph keyref="LOW_LIGHT_ENHANCE_MODE"/> - 暗光增强模式。 + + <ph keyref="LOW_LIGHT_ENHANCE_MODE"/> + + + 暗光增强模式。 +
    枚举值 - - - 0:(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭暗光增强功能,以适时补光和防止过曝。 - - - - - 手动模式。用户需手动开启或关闭暗光增强功能。 - - -
    + + + 0:(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭暗光增强功能,以适时补光和防止过曝。 + + + + 手动模式。用户需手动开启或关闭暗光增强功能。 + + +
    diff --git a/dita/RTC/API/enum_maxchannelidlengthtype.dita b/dita/RTC/API/enum_maxchannelidlengthtype.dita index c5a0b32290a..739ec76f40d 100644 --- a/dita/RTC/API/enum_maxchannelidlengthtype.dita +++ b/dita/RTC/API/enum_maxchannelidlengthtype.dita @@ -7,10 +7,11 @@
    枚举值 - - - 频道名的最大长度为 65 个字符。 - -
    + + + 频道名的最大长度为 65 个字符。 + + + diff --git a/dita/RTC/API/enum_maxdeviceidlengthtype.dita b/dita/RTC/API/enum_maxdeviceidlengthtype.dita index 3e808aee58e..29762f32851 100644 --- a/dita/RTC/API/enum_maxdeviceidlengthtype.dita +++ b/dita/RTC/API/enum_maxdeviceidlengthtype.dita @@ -7,10 +7,11 @@
    枚举值 - - - 设备 ID 的最大长度为 512 个字符。 - -
    + + + 设备 ID 的最大长度为 512 个字符。 + + + diff --git a/dita/RTC/API/enum_maxuseraccountlengthtype.dita b/dita/RTC/API/enum_maxuseraccountlengthtype.dita index a86b659fd0b..1e8747d4214 100644 --- a/dita/RTC/API/enum_maxuseraccountlengthtype.dita +++ b/dita/RTC/API/enum_maxuseraccountlengthtype.dita @@ -7,10 +7,11 @@
    枚举值 - - - 用户 User Account 的最大长度为 255 个字符。 - -
    + + + 用户 User Account 的最大长度为 255 个字符。 + + + diff --git a/dita/RTC/API/enum_mediadevicestatetype.dita b/dita/RTC/API/enum_mediadevicestatetype.dita index e705417d78e..c0c9f5e8d71 100644 --- a/dita/RTC/API/enum_mediadevicestatetype.dita +++ b/dita/RTC/API/enum_mediadevicestatetype.dita @@ -7,35 +7,35 @@
    枚举值 - - - 0: 设备就绪。 - - - - - 0: 设备就绪。 - - - - 1: 设备正在使用。 - - - - 2: 设备被禁用。 - - - - 4: 没有此设备。 - - - - 8: 设备被拔出。 - - - - 16: 不推荐使用该设备。 - -
    + + + 0: 设备就绪。 + + + + 0: 设备就绪。 + + + + 1: 设备正在使用。 + + + + 2: 设备被禁用。 + + + + 4: 没有此设备。 + + + + 8: 设备被拔出。 + + + + 16: 不推荐使用该设备。 + + + diff --git a/dita/RTC/API/enum_mediadevicetype.dita b/dita/RTC/API/enum_mediadevicetype.dita index cc86692a55e..e2ffcc021e0 100644 --- a/dita/RTC/API/enum_mediadevicetype.dita +++ b/dita/RTC/API/enum_mediadevicetype.dita @@ -7,30 +7,31 @@
    枚举值 - - - -1: 设备类型未知。 - - - - 0: 音频播放设备。 - - - - 1: 音频采集设备。 - - - - 2: 视频渲染设备。 - - - - 3: 视频采集设备。 - - - - 4: 音频应用播放设备。 - -
    + + + -1: 设备类型未知。 + + + + 0: 音频播放设备。 + + + + 1: 音频采集设备。 + + + + 2: 视频渲染设备。 + + + + 3: 视频采集设备。 + + + + 4: 音频应用播放设备。 + + + diff --git a/dita/RTC/API/enum_mediaplayererror.dita b/dita/RTC/API/enum_mediaplayererror.dita index ae75c1af66b..1b5c129d45b 100644 --- a/dita/RTC/API/enum_mediaplayererror.dita +++ b/dita/RTC/API/enum_mediaplayererror.dita @@ -7,78 +7,80 @@
    枚举值 - - - 0: 没有错误。 - - - - -1: 不正确的参数。 - - - - -2: 内部错误。 - - - - -3: 没有 resource。 - - - - -4: 无效的 resource。 - - - - -5: 未知的媒体流类型。 - - - - -6: 对象没有初始化。 - - - - -7: 解码器不支持该 codec。 - - - - -8: 无效的 renderer。 - - - - -9: 播放器内部状态错误。 - - - - -10: 未找到该 URL。 - - - - -11: 播放器与声网服务器的连接无效。 - - - - -12: 播放缓冲区数据不足。 - - - - -13: 播放被异常打断而结束。 - - - - -14: SDK 不支持的接口调用。 - - - - -15: 媒体资源网络路径的鉴权信息已过期,请参考 更新鉴权信息。 - - - - -16: 不对外。 - - - - -17:未知错误。 - -
    + + + 0: 没有错误。 + + + + -1: 不正确的参数。 + + + + -2: 内部错误。 + + + + -3: 没有 resource。 + + + + -4: 无效的 resource。 + + + + -5: 未知的媒体流类型。 + + + + -6: 对象没有初始化。 + + + + -7: 解码器不支持该 codec。 + + + + -8: 无效的 renderer。 + + + + -9: 播放器内部状态错误。 + + + + -10: 未找到该 URL。 + + + + -11: 播放器与声网服务器的连接无效。 + + + + -12: 播放缓冲区数据不足。 + + + + -13: 播放被异常打断而结束。 + + + + -14: SDK 不支持的接口调用。 + + + + -15: 媒体资源网络路径的鉴权信息已过期,请参考 + 更新鉴权信息。 + + + + -16: 不对外。 + + + + -17:未知错误。 + + + diff --git a/dita/RTC/API/enum_mediaplayerevent.dita b/dita/RTC/API/enum_mediaplayerevent.dita index 01e777501eb..42b94c55f0a 100644 --- a/dita/RTC/API/enum_mediaplayerevent.dita +++ b/dita/RTC/API/enum_mediaplayerevent.dita @@ -7,58 +7,59 @@
    枚举值 - - - -1: 未知事件。 - - - - 0: 开始定位。 - - - - 1: 完成定位。 - - - - 2: 定位出错。 - - - - 5: 当前音轨发生改变。 - - - - 6: 当前缓冲的数据不足以支持播放。 - - - - 7: 当前缓冲的数据刚好能支持播放。 - - - - 8: 音频或视频出现卡顿。 - - - - 9: 音频和视频均停止卡顿。 - - - - 10: 开始切换媒体资源。 - - - - 11: 媒体资源切换完成。 - - - - 12: 媒体资源切换出错。 - - - - 13: 视频首帧出图。 - -
    + + + -1: 未知事件。 + + + + 0: 开始定位。 + + + + 1: 完成定位。 + + + + 2: 定位出错。 + + + + 5: 当前音轨发生改变。 + + + + 6: 当前缓冲的数据不足以支持播放。 + + + + 7: 当前缓冲的数据刚好能支持播放。 + + + + 8: 音频或视频出现卡顿。 + + + + 9: 音频和视频均停止卡顿。 + + + + 10: 开始切换媒体资源。 + + + + 11: 媒体资源切换完成。 + + + + 12: 媒体资源切换出错。 + + + + 13: 视频首帧出图。 + + + diff --git a/dita/RTC/API/enum_mediaplayermetadatatype.dita b/dita/RTC/API/enum_mediaplayermetadatatype.dita index a384df3f825..079ac2618fd 100644 --- a/dita/RTC/API/enum_mediaplayermetadatatype.dita +++ b/dita/RTC/API/enum_mediaplayermetadatatype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 未知类型。 - - - - 1: SEI (补充增强信息)类型。 - -
    + + + 0: 未知类型。 + + + + 1: SEI (补充增强信息)类型。 + + + diff --git a/dita/RTC/API/enum_mediaplayerplaybackspeed.dita b/dita/RTC/API/enum_mediaplayerplaybackspeed.dita index dd7b0711b90..c41fbff0bb1 100644 --- a/dita/RTC/API/enum_mediaplayerplaybackspeed.dita +++ b/dita/RTC/API/enum_mediaplayerplaybackspeed.dita @@ -7,30 +7,31 @@
    枚举值 - - - 100: 原始播放速度。 - - - - 50: 播放速度为原始速度的 0.50 倍。 - - - - 75: 播放速度为原始速度的 0.75 倍。 - - - - 125: 播放速度为原始速度的 1.25 倍。 - - - - 150: 播放速度为原始速度的 1.50 倍。 - - - - 200: 播放速度为原始速度的 2.00 倍。 - -
    + + + 100: 原始播放速度。 + + + + 50: 播放速度为原始速度的 0.50 倍。 + + + + 75: 播放速度为原始速度的 0.75 倍。 + + + + 125: 播放速度为原始速度的 1.25 倍。 + + + + 150: 播放速度为原始速度的 1.50 倍。 + + + + 200: 播放速度为原始速度的 2.00 倍。 + + + diff --git a/dita/RTC/API/enum_mediaplayerstate.dita b/dita/RTC/API/enum_mediaplayerstate.dita index 487e7d0f68d..ce0d0af509f 100644 --- a/dita/RTC/API/enum_mediaplayerstate.dita +++ b/dita/RTC/API/enum_mediaplayerstate.dita @@ -7,46 +7,47 @@
    枚举值 - - - -1: 未知状态。 - - - - 0: 默认状态。播放器会在你打开媒体文件之前和结束播放之后返回该状态码。 - - - - 正在打开媒体文件。 - - - - 成功打开媒体文件。 - - - - 正在播放。 - - - - 暂停播放。 - - - - 播放完毕。 - - - - 循环播放已结束。 - - - - 播放已停止。 - - - - 100: 播放失败。 - -
    + + + -1: 未知状态。 + + + + 0: 默认状态。播放器会在你打开媒体文件之前和结束播放之后返回该状态码。 + + + + 正在打开媒体文件。 + + + + 成功打开媒体文件。 + + + + 正在播放。 + + + + 暂停播放。 + + + + 播放完毕。 + + + + 循环播放已结束。 + + + + 播放已停止。 + + + + 100: 播放失败。 + + + diff --git a/dita/RTC/API/enum_mediarecordercontainerformat.dita b/dita/RTC/API/enum_mediarecordercontainerformat.dita index 2b3cd68a1fb..042f38b06c6 100644 --- a/dita/RTC/API/enum_mediarecordercontainerformat.dita +++ b/dita/RTC/API/enum_mediarecordercontainerformat.dita @@ -7,14 +7,15 @@
    枚举值 - - - 1:(默认)MP4 - - - - 预留参数 - -
    + + + 1:(默认)MP4 + + + + 预留参数 + + + diff --git a/dita/RTC/API/enum_mediarecorderstreamtype.dita b/dita/RTC/API/enum_mediarecorderstreamtype.dita index 78eb9fe1d81..242a76dd6d4 100644 --- a/dita/RTC/API/enum_mediarecorderstreamtype.dita +++ b/dita/RTC/API/enum_mediarecorderstreamtype.dita @@ -7,18 +7,19 @@
    枚举值 - - - 仅音频。 - - - - 仅视频。 - - - - (默认)音视频。 - -
    + + + 仅音频。 + + + + 仅视频。 + + + + (默认)音视频。 + + + diff --git a/dita/RTC/API/enum_mediasourcetype.dita b/dita/RTC/API/enum_mediasourcetype.dita index 98b7328d352..ed78f9f1ccd 100644 --- a/dita/RTC/API/enum_mediasourcetype.dita +++ b/dita/RTC/API/enum_mediasourcetype.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0: 音频播放设备。 - - - - 1: 音频采集设备。 - - - - 2: 第一个摄像头 - - - - 3: 第二个摄像头。 - - - - 100: 未知媒体源。 - -
    + + + 0: 音频播放设备。 + + + + 1: 音频采集设备。 + + + + 2: 第一个摄像头 + + + + 3: 第二个摄像头。 + + + + 100: 未知媒体源。 + + + diff --git a/dita/RTC/API/enum_mediastreamtype.dita b/dita/RTC/API/enum_mediastreamtype.dita index a38f3e8d3ec..7be79cd7ce3 100644 --- a/dita/RTC/API/enum_mediastreamtype.dita +++ b/dita/RTC/API/enum_mediastreamtype.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0: 未知类型。 - - - - 1: 视频流。 - - - - 2: 音频流。 - - - - 3: 字幕流。 - -
    + + + 0: 未知类型。 + + + + 1: 视频流。 + + + + 2: 音频流。 + + + + 3: 字幕流。 + + + diff --git a/dita/RTC/API/enum_metadatatype.dita b/dita/RTC/API/enum_metadatatype.dita index 5bb02d0f46e..ce90abf5ac4 100644 --- a/dita/RTC/API/enum_metadatatype.dita +++ b/dita/RTC/API/enum_metadatatype.dita @@ -7,14 +7,15 @@
    枚举值 - - - Metadata 类型未知。 - - - - Metadata 类型为视频。 - -
    + + + Metadata 类型未知。 + + + + Metadata 类型为视频。 + + + diff --git a/dita/RTC/API/enum_networktype.dita b/dita/RTC/API/enum_networktype.dita index a1fbc32b014..ed7002a69fc 100644 --- a/dita/RTC/API/enum_networktype.dita +++ b/dita/RTC/API/enum_networktype.dita @@ -7,38 +7,39 @@
    枚举值 - - - -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 移动网络。 + + + diff --git a/dita/RTC/API/enum_orientationmode.dita b/dita/RTC/API/enum_orientationmode.dita index f878796e361..ab196528c52 100644 --- a/dita/RTC/API/enum_orientationmode.dita +++ b/dita/RTC/API/enum_orientationmode.dita @@ -7,23 +7,28 @@
    枚举值 - - - -

    0: (默认)该模式下 SDK 输出的视频方向与采集到的视频方向一致。接收端会根据收到的视频旋转信息对视频进行旋转。该模式适用于接收端可以调整视频方向的场景。

    -
      -
    • 如果采集的视频是横屏模式,则输出的视频也是横屏模式。
    • -
    • 如果采集的视频是竖屏模式,则输出的视频也是竖屏模式。
    • -
    -
    - - - 1: 该模式下 SDK 固定输出风景(横屏)模式的视频。如果采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 - - - - 2: 该模式下 SDK 固定输出人像(竖屏)模式的视频,如果采集到的视频是横屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 - -
    + + + +

    0: (默认)该模式下 SDK + 输出的视频方向与采集到的视频方向一致。接收端会根据收到的视频旋转信息对视频进行旋转。该模式适用于接收端可以调整视频方向的场景。

    +
      +
    • 如果采集的视频是横屏模式,则输出的视频也是横屏模式。
    • +
    • 如果采集的视频是竖屏模式,则输出的视频也是竖屏模式。
    • +
    +
    +
    + + + 1: 该模式下 SDK + 固定输出风景(横屏)模式的视频。如果采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 + + + + 2: 该模式下 SDK + 固定输出人像(竖屏)模式的视频,如果采集到的视频是横屏模式,则视频编码器会对其进行裁剪。该模式适用于当接收端无法调整视频方向时,如使用旁路推流场景下。 + + + diff --git a/dita/RTC/API/enum_permissiontype.dita b/dita/RTC/API/enum_permissiontype.dita index fbdbf2b9112..06b758670d8 100644 --- a/dita/RTC/API/enum_permissiontype.dita +++ b/dita/RTC/API/enum_permissiontype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 音频采集设备的权限。 - - - - 1: 摄像头权限。 - -
    + + + 0: 音频采集设备的权限。 + + + + 1: 摄像头权限。 + + + diff --git a/dita/RTC/API/enum_playerpreloadevent.dita b/dita/RTC/API/enum_playerpreloadevent.dita index 2e0345a7271..9f2b8e79c81 100644 --- a/dita/RTC/API/enum_playerpreloadevent.dita +++ b/dita/RTC/API/enum_playerpreloadevent.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0: 开始预加载媒体资源。 - - - - 1: 预加载媒体资源完成。 - - - - 2: 预加载媒体资源出错。 - -
    + + + 0: 开始预加载媒体资源。 + + + + 1: 预加载媒体资源完成。 + + + + 2: 预加载媒体资源出错。 + + + diff --git a/dita/RTC/API/enum_prioritytype.dita b/dita/RTC/API/enum_prioritytype.dita index f6984f80208..25336d0b925 100644 --- a/dita/RTC/API/enum_prioritytype.dita +++ b/dita/RTC/API/enum_prioritytype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 用户需求优先级为高。 - - - - (默认)用户需求优先级为正常。 - -
    + + + 用户需求优先级为高。 + + + + (默认)用户需求优先级为正常。 + + + diff --git a/dita/RTC/API/enum_proxytype.dita b/dita/RTC/API/enum_proxytype.dita index cf579af1797..038a589263f 100644 --- a/dita/RTC/API/enum_proxytype.dita +++ b/dita/RTC/API/enum_proxytype.dita @@ -7,34 +7,35 @@
    枚举值 - - - 0: 调用 并加入了频道,但未连接本地代理。 - - - - 0: 预留参数,暂不支持。 - - - - 1: UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。 - - - - 2: TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。 - - - - 3: 调用 方法并连接到本地代理。 - - - - 3: 预留参数,暂不支持。 - - - - 4: 自动模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换为 TLS 443。 - -
    + + + 0: 调用 并加入了频道,但未连接本地代理。 + + + + 0: 预留参数,暂不支持。 + + + + 1: UDP 协议的云代理,即 Force UDP 云代理模式。在该模式下,SDK 始终通过 UDP 协议传输数据。 + + + + 2: TCP(加密)协议的云代理,即 Force TCP 云代理模式。在该模式下,SDK 始终通过 TLS 443 传输数据。 + + + + 3: 调用 方法并连接到本地代理。 + + + + 3: 预留参数,暂不支持。 + + + + 4: 自动模式。在该模式下,SDK 优先连接 SD-RTN™,如果连接失败,自动切换为 TLS 443。 + + + diff --git a/dita/RTC/API/enum_qualityadaptindication.dita b/dita/RTC/API/enum_qualityadaptindication.dita index 0e207e32544..b27ad4113e0 100644 --- a/dita/RTC/API/enum_qualityadaptindication.dita +++ b/dita/RTC/API/enum_qualityadaptindication.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0:本地视频质量不变。 - - - - 1:因网络带宽增加,本地视频质量改善。 - - - - 2:因网络带宽减少,本地视频质量变差。 - -
    + + + 0:本地视频质量不变。 + + + + 1:因网络带宽增加,本地视频质量改善。 + + + + 2:因网络带宽减少,本地视频质量变差。 + + + diff --git a/dita/RTC/API/enum_qualityreportformattype.dita b/dita/RTC/API/enum_qualityreportformattype.dita index 5c2f8ff6447..7dfe4e06833 100644 --- a/dita/RTC/API/enum_qualityreportformattype.dita +++ b/dita/RTC/API/enum_qualityreportformattype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 质量报告格式为 JSON。 - - - - 1: 质量报告格式为 HTML。 - -
    + + + 0: 质量报告格式为 JSON。 + + + + 1: 质量报告格式为 HTML。 + + + diff --git a/dita/RTC/API/enum_qualitytype.dita b/dita/RTC/API/enum_qualitytype.dita index a94c6652649..ca9c5c02d06 100644 --- a/dita/RTC/API/enum_qualitytype.dita +++ b/dita/RTC/API/enum_qualitytype.dita @@ -7,42 +7,43 @@
    枚举值 - - - 0: 网络质量未知。 - - - - 1: 网络质量极好。 - - - - 2: 用户主观感觉和 excellent 差不多,但码率可能略低于 excellent。 - - - - 3: 用户主观感受有瑕疵但不影响沟通。 - - - - 4: 勉强能沟通但不顺畅。 - - - - 5: 网络质量非常差,基本不能沟通。 - - - - 6: 完全无法沟通。 - - - - 7: 暂时无法检测网络质量(未使用)。 - - - - 8: 网络质量检测已开始还没完成。 - -
    + + + 0: 网络质量未知。 + + + + 1: 网络质量极好。 + + + + 2: 用户主观感觉和 excellent 差不多,但码率可能略低于 excellent。 + + + + 3: 用户主观感受有瑕疵但不影响沟通。 + + + + 4: 勉强能沟通但不顺畅。 + + + + 5: 网络质量非常差,基本不能沟通。 + + + + 6: 完全无法沟通。 + + + + 7: 暂时无法检测网络质量(未使用)。 + + + + 8: 网络质量检测已开始还没完成。 + + + diff --git a/dita/RTC/API/enum_rawaudioframeopmodetype.dita b/dita/RTC/API/enum_rawaudioframeopmodetype.dita index 41f5b8e3569..f82e7daa300 100644 --- a/dita/RTC/API/enum_rawaudioframeopmodetype.dita +++ b/dita/RTC/API/enum_rawaudioframeopmodetype.dita @@ -7,18 +7,25 @@
    枚举值 - - - 0: 只读模式,用户仅从 获取原始数据,不作任何修改。用户仅获取 SDK 返回的原始数据,不作任何修改。例如: 若用户通过声网 SDK 采集数据,自己进行旁路推流,则可以选择该模式。 - - - - 1: 只写模式,用户替换 中的数据以供 SDK 编码传输。用户替换 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自行采集数据,可选择该模式。 - - - - 2: 读写模式, 用户从 获取并修改数据,并返回给 SDK 进行编码传输。用户修改 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。 - -
    + + + 0: 只读模式,用户仅从 + 获取原始数据,不作任何修改。用户仅获取 SDK + 返回的原始数据,不作任何修改。例如: 若用户通过声网 SDK 采集数据,自己进行旁路推流,则可以选择该模式。 + + + + 1: 只写模式,用户替换 中的数据以供 SDK + 编码传输。用户替换 SDK 返回的原始视频,并返回给 SDK 进行编码传输。例如: + 若用户自行采集数据,可选择该模式。 + + + + 2: 读写模式, 用户从 获取并修改数据,并返回给 SDK + 进行编码传输。用户修改 SDK 返回的原始视频,并返回给 SDK + 进行编码传输。例如: 若用户自己有音效处理模块,且想要根据实际需要对数据进行前处理(例如变声),则可以选择该模式。 + + + diff --git a/dita/RTC/API/enum_recordererrorcode.dita b/dita/RTC/API/enum_recordererrorcode.dita index 18e900a9a73..016e62417d2 100644 --- a/dita/RTC/API/enum_recordererrorcode.dita +++ b/dita/RTC/API/enum_recordererrorcode.dita @@ -7,30 +7,31 @@
    枚举值 - - - 0: 一切正常。 - - - - 1: 录制文件写入失败。 - - - - 2: 没有可录制的音视频流或者录制的音视频流中断超过 5 秒。 - - - - 3: 录制时长超出上限。 - - - - 4: 录制配置改变。 - - - - 5: 在通信场景下,捕捉到 v3.0.0 之前版本的用户发送的音视频流。 - -
    + + + 0: 一切正常。 + + + + 1: 录制文件写入失败。 + + + + 2: 没有可录制的音视频流或者录制的音视频流中断超过 5 秒。 + + + + 3: 录制时长超出上限。 + + + + 4: 录制配置改变。 + + + + 5: 在通信场景下,捕捉到 v3.0.0 之前版本的用户发送的音视频流。 + + + diff --git a/dita/RTC/API/enum_recorderstate.dita b/dita/RTC/API/enum_recorderstate.dita index d4d698d03e5..3fbae229b17 100644 --- a/dita/RTC/API/enum_recorderstate.dita +++ b/dita/RTC/API/enum_recorderstate.dita @@ -7,18 +7,19 @@
    枚举值 - - - -1: 音视频流录制出错,错误原因详见 - - - - 2: 音视频流录制开始。 - - - - 3: 音视频流录制停止。 - -
    + + + -1: 音视频流录制出错,错误原因详见 + + + + 2: 音视频流录制开始。 + + + + 3: 音视频流录制停止。 + + + diff --git a/dita/RTC/API/enum_remoteaudiostate.dita b/dita/RTC/API/enum_remoteaudiostate.dita index a8fa3aee3b6..71b15b97495 100644 --- a/dita/RTC/API/enum_remoteaudiostate.dita +++ b/dita/RTC/API/enum_remoteaudiostate.dita @@ -7,27 +7,34 @@
    枚举值 - - - 0: 远端音频默认初始状态。在 的情况下,会报告该状态。 - - - - 1: 本地用户已接收远端音频首包。 - - - - 2: 远端音频流正在解码,正常播放。在 的情况下, 会报告该状态。 - - - - 3: 远端音频流卡顿。在 + + + 0: 远端音频默认初始状态。在 的情况下,会报告该状态。 + + + + 1: 本地用户已接收远端音频首包。 + + + + 2: 远端音频流正在解码,正常播放。在 的情况下, 会报告该状态。 + + + + 3: 远端音频流卡顿。在 的情况下,会报告该状态。 + + + + 4: 远端音频流播放失败。在 的情况下,会报告该状态。 - - - - 4: 远端音频流播放失败。在 的情况下,会报告该状态。 - -
    + + + diff --git a/dita/RTC/API/enum_remoteaudiostatereason.dita b/dita/RTC/API/enum_remoteaudiostatereason.dita index 457ecdf7547..d6e5a62943a 100644 --- a/dita/RTC/API/enum_remoteaudiostatereason.dita +++ b/dita/RTC/API/enum_remoteaudiostatereason.dita @@ -7,38 +7,39 @@
    枚举值 - - - 0: 音频状态发生改变时,会报告该原因。 - - - - 1: 网络阻塞。 - - - - 2: 网络恢复正常。 - - - - 3: 本地用户停止接收远端音频流或本地用户禁用音频模块。 - - - - 4: 本地用户恢复接收远端音频流或本地用户启动音频模块。 - - - - 5: 远端用户停止发送音频流或远端用户禁用音频模块。 - - - - 6: 远端用户恢复发送音频流或远端用户启用音频模块。 - - - - 7: 远端用户离开频道。 - -
    + + + 0: 音频状态发生改变时,会报告该原因。 + + + + 1: 网络阻塞。 + + + + 2: 网络恢复正常。 + + + + 3: 本地用户停止接收远端音频流或本地用户禁用音频模块。 + + + + 4: 本地用户恢复接收远端音频流或本地用户启动音频模块。 + + + + 5: 远端用户停止发送音频流或远端用户禁用音频模块。 + + + + 6: 远端用户恢复发送音频流或远端用户启用音频模块。 + + + + 7: 远端用户离开频道。 + + + diff --git a/dita/RTC/API/enum_remotevideostate.dita b/dita/RTC/API/enum_remotevideostate.dita index 074c748de48..c6ab3b828e1 100644 --- a/dita/RTC/API/enum_remotevideostate.dita +++ b/dita/RTC/API/enum_remotevideostate.dita @@ -7,30 +7,37 @@
    枚举值 - - - 0: 远端视频默认初始状态。在 的情况下,会报告该状态。 - - - - 1: 本地用户已接收远端视频首包。 - - - - 2: 远端视频流正在解码,正常播放。在 的情况下, + + + 0: 远端视频默认初始状态。在 的情况下,会报告该状态。 + + + + 1: 本地用户已接收远端视频首包。 + + + + 2: 远端视频流正在解码,正常播放。在 的情况下, 会报告该状态。 - - - - 3: 远端视频流卡顿。在 或 - + + + + 3: 远端视频流卡顿。在 的情况下,会报告该状态。 - - - - 4: 远端视频流播放失败。在 + + + + 4: 远端视频流播放失败。在 的情况下,会报告该状态。 - -
    + + + diff --git a/dita/RTC/API/enum_remotevideostatereason.dita b/dita/RTC/API/enum_remotevideostatereason.dita index 9afa0ef26f1..b8dfcc12603 100644 --- a/dita/RTC/API/enum_remotevideostatereason.dita +++ b/dita/RTC/API/enum_remotevideostatereason.dita @@ -7,50 +7,56 @@
    枚举值 - - - 0: 视频状态发生改变时,会报告该原因。 - - - - 1: 远端用户的网络阻塞。如果网络状态持续不佳,请在应用中弹框显示“对方的网络状态不佳”。 - - - - 2: 远端用户的网络恢复正常。请在应用中弹框显示“对方的网络状态恢复正常”。 - - - - 3: 本地用户停止接收远端视频流或本地用户禁用视频模块。请关闭用于渲染该远端用户视频的窗口并在应用中弹框显示“你已停止接收对方视频”。 - - - - 4: 本地用户恢复接收远端视频流或本地用户启动视频模块。请恢复用于渲染该远端用户视频的窗口并在应用中弹框显示“你已恢复接收对方视频”。 - - - - 5: 远端用户停止发送视频流或远端用户禁用视频模块。请关闭用于渲染该远端用户视频的窗口,在应用界面的用户列表中用图标显示该远端用户已停止发送视频,在应用中弹框显示“对应已关闭摄像头”。 - - - - 6: 远端用户恢复发送视频流或远端用户启用视频模块。请恢复用于渲染该远端用户视频的窗口,在应用界面的用户列表中用图标显示该远端用户已恢复发送视频,在应用中弹框显示“对应已开启摄像头”。 - - - - 7: 远端用户离开频道。请关闭用于渲染该远端用户视频的窗口,在应用界面的用户列表中移除该远端用户。 - - - - 8: 弱网情况下,远端音视频流回退为音频流。请关闭用户渲染该远端用户视频的窗口,在应用中弹框显示“对方网络状态不佳”。 - - - - 9: 网络情况改善时,远端音频流恢复为音视频流。请恢复用于渲染该远端用户视频的窗口,在应用中弹框显示“对方网络状态恢复正常”。 - - - - 10: 网络情况改善时,远端音频流恢复为音视频流。请恢复用于渲染该远端用户视频的窗口,在应用中弹框显示“对方网络状态恢复正常”。 - -
    + + + 0: 视频状态发生改变时,会报告该原因。 + + + + 1: 远端用户的网络阻塞。如果网络状态持续不佳,请在应用中弹框显示“对方的网络状态不佳”。 + + + + 2: 远端用户的网络恢复正常。请在应用中弹框显示“对方的网络状态恢复正常”。 + + + + 3: + 本地用户停止接收远端视频流或本地用户禁用视频模块。请关闭用于渲染该远端用户视频的窗口并在应用中弹框显示“你已停止接收对方视频”。 + + + + 4: + 本地用户恢复接收远端视频流或本地用户启动视频模块。请恢复用于渲染该远端用户视频的窗口并在应用中弹框显示“你已恢复接收对方视频”。 + + + + 5: + 远端用户停止发送视频流或远端用户禁用视频模块。请关闭用于渲染该远端用户视频的窗口,在应用界面的用户列表中用图标显示该远端用户已停止发送视频,在应用中弹框显示“对应已关闭摄像头”。 + + + + 6: + 远端用户恢复发送视频流或远端用户启用视频模块。请恢复用于渲染该远端用户视频的窗口,在应用界面的用户列表中用图标显示该远端用户已恢复发送视频,在应用中弹框显示“对应已开启摄像头”。 + + + + 7: 远端用户离开频道。请关闭用于渲染该远端用户视频的窗口,在应用界面的用户列表中移除该远端用户。 + + + + 8: 弱网情况下,远端音视频流回退为音频流。请关闭用户渲染该远端用户视频的窗口,在应用中弹框显示“对方网络状态不佳”。 + + + + 9: 网络情况改善时,远端音频流恢复为音视频流。请恢复用于渲染该远端用户视频的窗口,在应用中弹框显示“对方网络状态恢复正常”。 + + + + 10: 网络情况改善时,远端音频流恢复为音视频流。请恢复用于渲染该远端用户视频的窗口,在应用中弹框显示“对方网络状态恢复正常”。 + + + diff --git a/dita/RTC/API/enum_remotevideostreamtype.dita b/dita/RTC/API/enum_remotevideostreamtype.dita index ef65c50be9f..d9be79ff960 100644 --- a/dita/RTC/API/enum_remotevideostreamtype.dita +++ b/dita/RTC/API/enum_remotevideostreamtype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 视频大流。 - - - - 1: 视频小流。 - -
    + + + 0: 视频大流。 + + + + 1: 视频小流。 + + + diff --git a/dita/RTC/API/enum_rendermode.dita b/dita/RTC/API/enum_rendermode.dita index 59f69286a16..dd999fef86d 100644 --- a/dita/RTC/API/enum_rendermode.dita +++ b/dita/RTC/API/enum_rendermode.dita @@ -7,18 +7,19 @@
    枚举值 - - - WebGL 渲染。 - - - - 软件渲染。 - - - - 自定义渲染。 - -
    + + + WebGL 渲染。 + + + + 软件渲染。 + + + + 自定义渲染。 + + + diff --git a/dita/RTC/API/enum_rendermodetype.dita b/dita/RTC/API/enum_rendermodetype.dita index 6e501d64d92..0e23c6a7d74 100644 --- a/dita/RTC/API/enum_rendermodetype.dita +++ b/dita/RTC/API/enum_rendermodetype.dita @@ -4,37 +4,39 @@ <ph keyref="RENDER_MODE_TYPE"/> 视频显示模式。 -
    该模式在 macOS 和 Windows 平台设置不生效。
    +
    该模式在 macOS 和 Windows + 平台设置不生效。
    枚举值 - - - 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 - + + + 1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。 + - - - 2: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 - + + + 2: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。 + - - - -
    - -
    弃用:
    -
    3: 该模式已弃用。
    -
    -
    -
    -
    - - - 4: 视频尺寸进行缩放和拉伸以充满显示视窗。 - -
    + + + +
    + +
    弃用:
    +
    3: 该模式已弃用。
    +
    +
    +
    +
    + + + 4: 视频尺寸进行缩放和拉伸以充满显示视窗。 + + +
    diff --git a/dita/RTC/API/enum_rtmpstreamingevent.dita b/dita/RTC/API/enum_rtmpstreamingevent.dita index 78f4da2f3a2..07ec0302b45 100644 --- a/dita/RTC/API/enum_rtmpstreamingevent.dita +++ b/dita/RTC/API/enum_rtmpstreamingevent.dita @@ -1,28 +1,33 @@ - <ph keyref="RTMP_STREAMING_EVENT"/> - 旁路推流时发生的事件。 + + <ph keyref="RTMP_STREAMING_EVENT"/> + + + 旁路推流时发生的事件。 +
    枚举值 - - - 1: 旁路推流时,添加背景图或水印出错。 - - - - 2: 该推流 URL 已用于推流。如果你想开始新的推流,请使用新的推流 URL。 - - - - 3: 功能不支持。 - - - - 4: 预留参数。 - -
    + + + 1: 旁路推流时,添加背景图或水印出错。 + + + + 2: 该推流 URL 已用于推流。如果你想开始新的推流,请使用新的推流 URL。 + + + + 3: 功能不支持。 + + + + 4: 预留参数。 + + +
    diff --git a/dita/RTC/API/enum_rtmpstreamlifecycletype.dita b/dita/RTC/API/enum_rtmpstreamlifecycletype.dita index 1a4ca2fe6e0..eb6634cb3f7 100644 --- a/dita/RTC/API/enum_rtmpstreamlifecycletype.dita +++ b/dita/RTC/API/enum_rtmpstreamlifecycletype.dita @@ -6,23 +6,24 @@
    - -
    弃用
    -
    - + +
    弃用
    +
    +
    枚举值 - - - 跟频道生命周期绑定,即频道内所有主播离开,服务端转码推流会在 30 秒之后停止。 - - - - 跟启动服务端转码推流的主播生命周期绑定,即该主播离开,服务端转码推流会立即停止。 - -
    + + + 跟频道生命周期绑定,即频道内所有主播离开,服务端转码推流会在 30 秒之后停止。 + + + + 跟启动服务端转码推流的主播生命周期绑定,即该主播离开,服务端转码推流会立即停止。 + + +
    diff --git a/dita/RTC/API/enum_rtmpstreampublisherror.dita b/dita/RTC/API/enum_rtmpstreampublisherror.dita index 0958f0bbc79..b7173c846e5 100644 --- a/dita/RTC/API/enum_rtmpstreampublisherror.dita +++ b/dita/RTC/API/enum_rtmpstreampublisherror.dita @@ -7,70 +7,81 @@
    枚举值 - - - 0:推流成功。 - - - - 1:参数无效。请检查输入参数是否正确。如果你在调用 前没有调用 设置转码参数,SDK 会返回该错误。 - - - - 2:推流已加密,不能推流。 - - - - 3:推流超时未成功。可调用 重新推流。 - - - - 4:推流服务器出现错误。请调用 重新推流。 - - - - 5:CDN 服务器出现错误。 - - - - 6:推流请求过于频繁。 - - - - 7:单个主播的推流地址数目达到上限 10。请删掉一些不用的推流地址再增加推流地址。 - - - - 8:主播操作不属于自己的流。例如更新其他主播的流参数、停止其他主播的流。请检查 App 逻辑。 - - - - 9:服务器未找到这个流。 - - - - 10:推流地址格式有错误。请检查推流地址格式是否正确。 - - - - 11:用户角色不是主播,该用户无法使用推流功能。请检查你的应用代码逻辑。 - - - - 13:非转码推流情况下,调用了 方法更新转码属性。请检查你的应用代码逻辑。 - - - - 14:主播的网络出错。 - - - - 15:你的 App ID 没有使用声网推流服务的权限。请参考旁路推流中的前提条件开启推流服务。 - - - - 100:推流已正常结束。当你调用 结束推流后,SDK 会返回该值。 - + + + 0:推流成功。 + + + + 1:参数无效。请检查输入参数是否正确。如果你在调用 前没有调用 + 设置转码参数,SDK 会返回该错误。 + + + + 2:推流已加密,不能推流。 + + + + 3:推流超时未成功。可调用 重新推流。 + + + + 4:推流服务器出现错误。请调用 重新推流。 + + + + 5:CDN 服务器出现错误。 + + + + 6:推流请求过于频繁。 + + + + 7:单个主播的推流地址数目达到上限 10。请删掉一些不用的推流地址再增加推流地址。 + + + + 8:主播操作不属于自己的流。例如更新其他主播的流参数、停止其他主播的流。请检查 App 逻辑。 + + + + 9:服务器未找到这个流。 + + + + 10:推流地址格式有错误。请检查推流地址格式是否正确。 + + + + + 11:用户角色不是主播,该用户无法使用推流功能。请检查你的应用代码逻辑。 + + + + + 13:非转码推流情况下,调用了 方法更新转码属性。请检查你的应用代码逻辑。 + + + + + 14:主播的网络出错。 + + + + + 15:你的 App ID 没有使用声网推流服务的权限。请参考旁路推流中的前提条件开启推流服务。 + + + + + 100:推流已正常结束。当你调用 结束推流后,SDK + 会返回该值。 +
    diff --git a/dita/RTC/API/enum_rtmpstreampublisherrortype.dita b/dita/RTC/API/enum_rtmpstreampublisherrortype.dita index 79120879e51..23524280fae 100644 --- a/dita/RTC/API/enum_rtmpstreampublisherrortype.dita +++ b/dita/RTC/API/enum_rtmpstreampublisherrortype.dita @@ -7,70 +7,81 @@
    枚举值 - - - 0:推流成功。 - - - - 1:参数无效。请检查输入参数是否正确。如果你在调用 前没有调用 设置转码参数,SDK 会返回该错误。 - - - - 2:推流已加密,不能推流。 - - - - 3:推流超时未成功。可调用 重新推流。 - - - - 4:推流服务器出现错误。请调用 重新推流。 - - - - 5:CDN 服务器出现错误。 - - - - 6:推流请求过于频繁。 - - - - 7:单个主播的推流地址数目达到上限 10。请删掉一些不用的推流地址再增加推流地址。 - - - - 8:主播操作不属于自己的流。例如更新其他主播的流参数、停止其他主播的流。请检查 App 逻辑。 - - - - 9:服务器未找到这个流。 - - - - 10:推流地址格式有错误。请检查推流地址格式是否正确。 - - - - 11:用户角色不是主播,该用户无法使用推流功能。请检查你的应用代码逻辑。 - - - - 13:非转码推流情况下,调用了 方法更新转码属性。请检查你的应用代码逻辑。 - - - - 14:主播的网络出错。 - - - - 15:你的 App ID 没有使用声网推流服务的权限。请参考旁路推流中的前提条件开启推流服务。 - - - - 100:推流已正常结束。当你调用 结束推流后,SDK 会返回该值。 - + + + 0:推流成功。 + + + + 1:参数无效。请检查输入参数是否正确。如果你在调用 前没有调用 + 设置转码参数,SDK 会返回该错误。 + + + + 2:推流已加密,不能推流。 + + + + 3:推流超时未成功。可调用 重新推流。 + + + + 4:推流服务器出现错误。请调用 重新推流。 + + + + 5:CDN 服务器出现错误。 + + + + 6:推流请求过于频繁。 + + + + 7:单个主播的推流地址数目达到上限 10。请删掉一些不用的推流地址再增加推流地址。 + + + + 8:主播操作不属于自己的流。例如更新其他主播的流参数、停止其他主播的流。请检查 App 逻辑。 + + + + 9:服务器未找到这个流。 + + + + 10:推流地址格式有错误。请检查推流地址格式是否正确。 + + + + + 11:用户角色不是主播,该用户无法使用推流功能。请检查你的应用代码逻辑。 + + + + + 13:非转码推流情况下,调用了 方法更新转码属性。请检查你的应用代码逻辑。 + + + + + 14:主播的网络出错。 + + + + + 15:你的 App ID 没有使用声网推流服务的权限。请参考旁路推流中的前提条件开启推流服务。 + + + + + 100:推流已正常结束。当你调用 结束推流后,SDK + 会返回该值。 +
    diff --git a/dita/RTC/API/enum_rtmpstreampublishstate.dita b/dita/RTC/API/enum_rtmpstreampublishstate.dita index a3b253ef2aa..fe05814fd2b 100644 --- a/dita/RTC/API/enum_rtmpstreampublishstate.dita +++ b/dita/RTC/API/enum_rtmpstreampublishstate.dita @@ -7,35 +7,47 @@
    枚举值 - - - 0:推流未开始或已结束。成功调用 方法删除推流地址后,也会返回该状态。 - - - - 1:正在连接声网推流服务器和 CDN 服务器。调用 方法后,会返回该状态。 - - - - 2:推流正在进行。成功推流后,会返回该状态。 - - - - -

    3:正在恢复推流。当 CDN 出现异常,或推流短暂中断时,SDK 会自动尝试恢复推流,并返回该状态。

    -
      -
    • 如成功恢复推流,则进入状态 (2)。
    • -
    • 如服务器出错或 60 秒内未成功恢复,则进入状态 (4)。如果觉得 60 秒太长,也可以主动调用 方法尝试重连。
    • -
    -
    - - - 4:推流失败。失败后,你可以通过返回的错误码排查错误原因,也可以再次调用 重新尝试推流。 - - - - 5:SDK 正在与声网推流服务器和 CDN 服务器断开连接。 当你调用 方法正常结束推流时,SDK 会依次报告推流状态为 - -
    + + + 0:推流未开始或已结束。成功调用 + 方法删除推流地址后,也会返回该状态。 + + + + 1:正在连接声网推流服务器和 CDN 服务器。调用 + 方法后,会返回该状态。 + + + + 2:推流正在进行。成功推流后,会返回该状态。 + + + + +

    3:正在恢复推流。当 CDN 出现异常,或推流短暂中断时,SDK 会自动尝试恢复推流,并返回该状态。

    +
      +
    • 如成功恢复推流,则进入状态 (2)。
    • +
    • 如服务器出错或 60 秒内未成功恢复,则进入状态 (4)。如果觉得 60 + 秒太长,也可以主动调用 方法尝试重连。
    • +
    +
    +
    + + + 4:推流失败。失败后,你可以通过返回的错误码排查错误原因,也可以再次调用 + 重新尝试推流。 + + + + 5:SDK 正在与声网推流服务器和 CDN 服务器断开连接。 当你调用 + 或 方法正常结束推流时,SDK 会依次报告推流状态为 + + + diff --git a/dita/RTC/API/enum_saeconnectionchangedreasontype.dita b/dita/RTC/API/enum_saeconnectionchangedreasontype.dita index e9698895456..4944fc66f4b 100644 --- a/dita/RTC/API/enum_saeconnectionchangedreasontype.dita +++ b/dita/RTC/API/enum_saeconnectionchangedreasontype.dita @@ -7,30 +7,31 @@
    枚举值 - - - 0: 正常。 - - - - 1: SDK 建立连接中。 - - - - 2: SDK 创建房间失败。 - - - - 3: SDK 与 RTM 系统连接中断。 - - - - 4: 用户被 RTM 系统踢出。 - - - - 5: SDK 超过 15 秒未收到声网空间音效服务器的消息。 - -
    + + + 0: 正常。 + + + + 1: SDK 建立连接中。 + + + + 2: SDK 创建房间失败。 + + + + 3: SDK 与 RTM 系统连接中断。 + + + + 4: 用户被 RTM 系统踢出。 + + + + 5: SDK 超过 15 秒未收到声网空间音效服务器的消息。 + + + diff --git a/dita/RTC/API/enum_saeconnectionstatetype.dita b/dita/RTC/API/enum_saeconnectionstatetype.dita index 7eaa24f7e21..8073cf8b3e0 100644 --- a/dita/RTC/API/enum_saeconnectionstatetype.dita +++ b/dita/RTC/API/enum_saeconnectionstatetype.dita @@ -7,26 +7,27 @@
    枚举值 - - - 0: 建立连接中。 - - - - 1: 已连接。该状态下, 等空间音效设置才会生效。 - - - - 2: 连接断开。 - - - - 3: 重新建立连接中。 - - - - 4: 已重新建立连接。 - -
    + + + 0: 建立连接中。 + + + + 1: 已连接。该状态下, 等空间音效设置才会生效。 + + + + 2: 连接断开。 + + + + 3: 重新建立连接中。 + + + + 4: 已重新建立连接。 + + + diff --git a/dita/RTC/API/enum_saedeployregion.dita b/dita/RTC/API/enum_saedeployregion.dita index 87ea5801f7c..bfb1eeae523 100644 --- a/dita/RTC/API/enum_saedeployregion.dita +++ b/dita/RTC/API/enum_saedeployregion.dita @@ -7,22 +7,23 @@
    枚举值 - - - (默认)中国大陆。 - - - - 北美区域。 - - - - 欧洲区域。 - - - - 除中国以外的亚洲区域。 - -
    + + + (默认)中国大陆。 + + + + 北美区域。 + + + + 欧洲区域。 + + + + 除中国以外的亚洲区域。 + + + diff --git a/dita/RTC/API/enum_screencapturesourcetype.dita b/dita/RTC/API/enum_screencapturesourcetype.dita index 146d47d39a5..0eadd2584c1 100644 --- a/dita/RTC/API/enum_screencapturesourcetype.dita +++ b/dita/RTC/API/enum_screencapturesourcetype.dita @@ -2,35 +2,37 @@ <ph keyref="ScreenCaptureSourceType"/> - 共享目标的类型。在 中设置。 + 共享目标的类型。在 + 中设置。
    - -
    自从
    -
    v3.5.2
    -
    + +
    自从
    +
    v3.5.2
    +
    枚举值 - - - -1:未知。 - - - - 0:共享目标为某一个窗口。 - - - - 1:共享目标为某一个显示器的屏幕。 - - - - 2:预留参数。 - -
    + + + -1:未知。 + + + + 0:共享目标为某一个窗口。 + + + + 1:共享目标为某一个显示器的屏幕。 + + + + 2:预留参数。 + + +
    diff --git a/dita/RTC/API/enum_screenscenariotype.dita b/dita/RTC/API/enum_screenscenariotype.dita index d560d9b9e64..3826d97cfe5 100644 --- a/dita/RTC/API/enum_screenscenariotype.dita +++ b/dita/RTC/API/enum_screenscenariotype.dita @@ -2,27 +2,29 @@ <ph keyref="ScreenScenarioType"/> - 屏幕共享的场景。在 中设置。 + 屏幕共享的场景。在 + 中设置。
    枚举值 - - - 1:(默认)文档。该场景下,优先保障共享的画质,并降低了接收端看到共享视频的延时。如果你共享文档、幻灯片、表格,可以设置该场景。 - - - - 2: 游戏。该场景下,优先保障共享的流畅性。如果你共享游戏,可以设置该场景。 - - - - 3: 视频。该场景下,优先保障共享的流畅性。如果你共享电影、视频直播,可以设置该场景。 - - - - 4: 远程控制。该场景下,优先保障共享的画质,并降低了接收端看到共享视频的延时。如果你共享被远程控制的设备桌面,可以设置该场景。 - -
    + + + 1:(默认)文档。该场景下,优先保障共享的画质,并降低了接收端看到共享视频的延时。如果你共享文档、幻灯片、表格,可以设置该场景。 + + + + 2: 游戏。该场景下,优先保障共享的流畅性。如果你共享游戏,可以设置该场景。 + + + + 3: 视频。该场景下,优先保障共享的流畅性。如果你共享电影、视频直播,可以设置该场景。 + + + + 4: 远程控制。该场景下,优先保障共享的画质,并降低了接收端看到共享视频的延时。如果你共享被远程控制的设备桌面,可以设置该场景。 + + +
    diff --git a/dita/RTC/API/enum_segmodeltype.dita b/dita/RTC/API/enum_segmodeltype.dita index c32846d3c5f..752411cb206 100644 --- a/dita/RTC/API/enum_segmodeltype.dita +++ b/dita/RTC/API/enum_segmodeltype.dita @@ -7,14 +7,15 @@
    枚举值 - - - 1: (默认) 适用于所有场景下的背景处理算法。 - - - - 2: 仅适用于绿幕背景下的背景处理算法。 - -
    + + + 1: (默认) 适用于所有场景下的背景处理算法。 + + + + 2: 仅适用于绿幕背景下的背景处理算法。 + + + diff --git a/dita/RTC/API/enum_streamfallbackoptions.dita b/dita/RTC/API/enum_streamfallbackoptions.dita index 2fdc219ff69..4e981520466 100644 --- a/dita/RTC/API/enum_streamfallbackoptions.dita +++ b/dita/RTC/API/enum_streamfallbackoptions.dita @@ -7,18 +7,21 @@
    枚举值 - - - 0: 上行/下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量。 - - - - 1: 在下行网络条件较差时只接收视频小流(低分辨率、低码率视频流)。该选项只对 有效。 方法无效。 - - - - 2: 上行/下行网络较弱时,先尝试只接收视频小流(低分辨率、低码率视频流);如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流。 - -
    + + + 0: 上行/下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量。 + + + + 1: 在下行网络条件较差时只接收视频小流(低分辨率、低码率视频流)。该选项只对 有效。 方法无效。 + + + + 2: 上行/下行网络较弱时,先尝试只接收视频小流(低分辨率、低码率视频流);如果网络环境无法显示视频,则再回退到只接收远端订阅的音频流。 + + + diff --git a/dita/RTC/API/enum_streampublishstate.dita b/dita/RTC/API/enum_streampublishstate.dita index e7a438db095..f778805c4ce 100644 --- a/dita/RTC/API/enum_streampublishstate.dita +++ b/dita/RTC/API/enum_streampublishstate.dita @@ -7,32 +7,37 @@
    枚举值 - - - 0: 加入频道后的初始发布状态。 - - - - -

    1: 发布失败。可能是因为: - -

      -
    • 本地用户调用 () 或 () 停止发送本地媒体流。
    • -
    • 本地用户调用 关闭本地音频或视频模块。
    • -
    • 本地用户调用 () 或 () -关闭本地音频或视频采集。
    • -
    • 本地用户角色为观众。
    • -

    -
    -
    - - - 2: 正在发布。 - - - - 3: 发布成功。 - -
    + + + 0: 加入频道后的初始发布状态。 + + + + +

    1: 发布失败。可能是因为:

      +
    • 本地用户调用 () 或 () 停止发送本地媒体流。
    • +
    • 本地用户调用 关闭本地音频或视频模块。
    • +
    • 本地用户调用 () 或 () 关闭本地音频或视频采集。
    • +
    • 本地用户角色为观众。
    • +

    +
    +
    + + + 2: 正在发布。 + + + + 3: 发布成功。 + + + diff --git a/dita/RTC/API/enum_streamsubscribestate.dita b/dita/RTC/API/enum_streamsubscribestate.dita index 7ff65bf2499..b24621da903 100644 --- a/dita/RTC/API/enum_streamsubscribestate.dita +++ b/dita/RTC/API/enum_streamsubscribestate.dita @@ -7,41 +7,52 @@
    枚举值 - - - 0: 加入频道后的初始订阅状态。 - - - - -

    1: 订阅失败。可能是因为: - -

      -
    • 远端用户: - -
        -
      • 调用 () 或 () 停止发送本地媒体流。
      • -
      • 调用 关闭本地音频或视频模块。
      • -
      • 调用 () 或 () 关闭本地音频或视频采集。
      • -
      • 用户角色为观众。
      • -
    • -
    • 本地用户调用以下方法停止接收远端媒体流: - -
        -
      • 调用 ()、 () 或 () 停止接收远端音频流。
      • -
      • 调用 ()、 () 或 () 停止接收远端视频流。
      • -
    • -

    -
    -
    - - - 2: 正在订阅。 - - - - 3: 收到了远端流,订阅成功。 - -
    + + + 0: 加入频道后的初始订阅状态。 + + + + +

    1: 订阅失败。可能是因为:

      +
    • 远端用户:
        +
      • 调用 () 或 () 停止发送本地媒体流。
      • +
      • 调用 关闭本地音频或视频模块。
      • +
      • 调用 () 或 () 关闭本地音频或视频采集。
      • +
      • 用户角色为观众。
      • +
    • +
    • 本地用户调用以下方法停止接收远端媒体流:
        +
      • 调用 ()、 () 或 () 停止接收远端音频流。
      • +
      • 调用 ()、 () 或 () 停止接收远端视频流。
      • +
    • +

    +
    +
    + + + 2: 正在订阅。 + + + + 3: 收到了远端流,订阅成功。 + + + diff --git a/dita/RTC/API/enum_superresolutionmode.dita b/dita/RTC/API/enum_superresolutionmode.dita index d14485ac21f..cfd58a69a8a 100644 --- a/dita/RTC/API/enum_superresolutionmode.dita +++ b/dita/RTC/API/enum_superresolutionmode.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: 该模式表示对你指定的远端用户进行超分辨率处理。 - - - - 该模式表示对频道内最大的渲染窗口所对应的远端用户进行超分辨率处理。 - -
    + + + 0: 该模式表示对你指定的远端用户进行超分辨率处理。 + + + + 该模式表示对频道内最大的渲染窗口所对应的远端用户进行超分辨率处理。 + + + diff --git a/dita/RTC/API/enum_superresolutionstatereason.dita b/dita/RTC/API/enum_superresolutionstatereason.dita index 3293543818d..1f448961902 100644 --- a/dita/RTC/API/enum_superresolutionstatereason.dita +++ b/dita/RTC/API/enum_superresolutionstatereason.dita @@ -6,35 +6,36 @@
    - -
    自从
    -
    v3.5.1
    -
    + +
    自从
    +
    v3.5.1
    +
    枚举值 - - - 0: 超分辨率已成功开启。 - - - - 1: 远端用户的原始视频分辨率超出了可以应用超分辨率功能的范围。 - - - - 2: 已对一个远端用户的视频使用超分辨率。 - - - - 3: 设备不支持使用超分辨率。 - - - - 4: 开启或运行超分辨率功能时,SDK 检测到用户设备性能不足。收到该原因码后,声网建议用户关闭超分辨率功能。 - -
    + + + 0: 超分辨率已成功开启。 + + + + 1: 远端用户的原始视频分辨率超出了可以应用超分辨率功能的范围。 + + + + 2: 已对一个远端用户的视频使用超分辨率。 + + + + 3: 设备不支持使用超分辨率。 + + + + 4: 开启或运行超分辨率功能时,SDK 检测到用户设备性能不足。收到该原因码后,声网建议用户关闭超分辨率功能。 + + +
    diff --git a/dita/RTC/API/enum_uploaderrorreason.dita b/dita/RTC/API/enum_uploaderrorreason.dita index 46f96aa859b..fc6da96dcbf 100644 --- a/dita/RTC/API/enum_uploaderrorreason.dita +++ b/dita/RTC/API/enum_uploaderrorreason.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0: 日志上传成功。 - - - - 1: 网络错误。请检查网络是否正常,并再次调用 进行重传。 - - - - 2:声网服务器错误,请稍后尝试。 - -
    + + + 0: 日志上传成功。 + + + + 1: 网络错误。请检查网络是否正常,并再次调用 进行重传。 + + + + 2:声网服务器错误,请稍后尝试。 + + + diff --git a/dita/RTC/API/enum_userofflinereasontype.dita b/dita/RTC/API/enum_userofflinereasontype.dita index 45c851a3fd7..29abaf709f4 100644 --- a/dita/RTC/API/enum_userofflinereasontype.dita +++ b/dita/RTC/API/enum_userofflinereasontype.dita @@ -7,20 +7,22 @@
    枚举值 - - - 0: 用户主动离开。 - - - - -

    1: 因过长时间收不到对方数据包,超时掉线。

    - 由于 SDK 使用的是不可靠通道,也有可能对方主动离开频道,但是本地没收到对方离开消息而误判为超时掉线。
    -
    - - - 2: 用户身份从主播切换为观众。 - -
    + + + 0: 用户主动离开。 + + + + +

    1: 因过长时间收不到对方数据包,超时掉线。

    + 由于 SDK + 使用的是不可靠通道,也有可能对方主动离开频道,但是本地没收到对方离开消息而误判为超时掉线。
    +
    + + + 2: 用户身份从主播切换为观众。 + + + diff --git a/dita/RTC/API/enum_videobuffertype.dita b/dita/RTC/API/enum_videobuffertype.dita index 8ce1e9b314e..443d70d97e6 100644 --- a/dita/RTC/API/enum_videobuffertype.dita +++ b/dita/RTC/API/enum_videobuffertype.dita @@ -7,22 +7,23 @@
    枚举值 - - - 1: 类型为原始数据。 - - - - 2: 类型为原始数据。 - - - - 3: 类型为 Texture - - - - 2: 类型为 Pixel - -
    + + + 1: 类型为原始数据。 + + + + 2: 类型为原始数据。 + + + + 3: 类型为 Texture + + + + 2: 类型为 Pixel + + + diff --git a/dita/RTC/API/enum_videocapturetype.dita b/dita/RTC/API/enum_videocapturetype.dita index aa8294fc630..d6e401f1169 100644 --- a/dita/RTC/API/enum_videocapturetype.dita +++ b/dita/RTC/API/enum_videocapturetype.dita @@ -7,18 +7,19 @@
    枚举值 - - - 未知类型。 - - - - (默认)摄像头采集的视频。 - - - - 屏幕共享的视频。 - -
    + + + 未知类型。 + + + + (默认)摄像头采集的视频。 + + + + 屏幕共享的视频。 + + + diff --git a/dita/RTC/API/enum_videocodecprofiletype.dita b/dita/RTC/API/enum_videocodecprofiletype.dita index 83457dc0b43..333072e7823 100644 --- a/dita/RTC/API/enum_videocodecprofiletype.dita +++ b/dita/RTC/API/enum_videocodecprofiletype.dita @@ -6,18 +6,19 @@
    - - - 66: Baseline 级别的视频编码规格,一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等。 - - - - 77: Main 级别的视频编码规格,一般用于主流消费类电子产品,如 MP4、便携的视频播放器、PSP、iPad 等。 - - - - 100: (默认)High 级别的视频编码规格,一般用于广播、视频碟片存储、高清电视。 - -
    + + + 66: Baseline 级别的视频编码规格,一般用于低阶或需要额外容错的应用,比如视频通话、手机视频等。 + + + + 77: Main 级别的视频编码规格,一般用于主流消费类电子产品,如 MP4、便携的视频播放器、PSP、iPad 等。 + + + + 100: (默认)High 级别的视频编码规格,一般用于广播、视频碟片存储、高清电视。 + + +
    diff --git a/dita/RTC/API/enum_videocodectype.dita b/dita/RTC/API/enum_videocodectype.dita index 17e9e266d70..133855ddc4e 100644 --- a/dita/RTC/API/enum_videocodectype.dita +++ b/dita/RTC/API/enum_videocodectype.dita @@ -7,45 +7,43 @@
    枚举值 - - - 标准 VP8。 - - - - 标准 H.264。 - - - - 增强 VP8。 - - - - 增强 H.264。 - - - - 标准 H.265。 - - - - -

    Generic。

    -

    本类型主要用于传输视频裸数据(比如用户已加密的视频帧),该类型视频帧以回调的形式返回给用户,需要用户自行解码与渲染。

    -
    -
    - - - Generic JPEG。 - - -

    本类型所需的算力较小,可用于算力有限的 IoT 设备。

    -
    -
    - - - 标准 VP9。 - -
    + + + 标准 VP8。 + + + + 标准 H.264。 + + + + 增强 VP8。 + + + + 增强 H.264。 + + + + 标准 H.265。 + + + + +

    Generic。

    +

    本类型主要用于传输视频裸数据(比如用户已加密的视频帧),该类型视频帧以回调的形式返回给用户,需要用户自行解码与渲染。

    +
    +
    + + + Generic JPEG。

    本类型所需的算力较小,可用于算力有限的 IoT 设备。

    +
    +
    + + + 标准 VP9。 + + + diff --git a/dita/RTC/API/enum_videocodectypeforstream.dita b/dita/RTC/API/enum_videocodectypeforstream.dita index 940e877004d..a69d40e90aa 100644 --- a/dita/RTC/API/enum_videocodectypeforstream.dita +++ b/dita/RTC/API/enum_videocodectypeforstream.dita @@ -6,23 +6,24 @@
    - -
    自从
    -
    v3.2.0
    -
    + +
    自从
    +
    v3.2.0
    +
    枚举值 - - - 1:(默认)H.264。 - - - - 2:H.265。 - -
    + + + 1:(默认)H.264。 + + + + 2:H.265。 + + +
    diff --git a/dita/RTC/API/enum_videocontenthint.dita b/dita/RTC/API/enum_videocontenthint.dita index d6592bc4a8d..8057d322d11 100644 --- a/dita/RTC/API/enum_videocontenthint.dita +++ b/dita/RTC/API/enum_videocontenthint.dita @@ -7,18 +7,19 @@
    枚举值 - - - (默认)无指定的内容类型。 - - - - 内容类型为动画。当共享的内容是视频、电影或视频游戏时,推荐选择该内容类型。 - - - - 内容类型为细节。当共享的内容是图片或文字时,推荐选择该内容类型。 - -
    + + + (默认)无指定的内容类型。 + + + + 内容类型为动画。当共享的内容是视频、电影或视频游戏时,推荐选择该内容类型。 + + + + 内容类型为细节。当共享的内容是图片或文字时,推荐选择该内容类型。 + + + diff --git a/dita/RTC/API/enum_videodenoiserlevel.dita b/dita/RTC/API/enum_videodenoiserlevel.dita index 67e6a970119..ee0cb0aa968 100644 --- a/dita/RTC/API/enum_videodenoiserlevel.dita +++ b/dita/RTC/API/enum_videodenoiserlevel.dita @@ -1,24 +1,35 @@ - <ph keyref="VIDEO_DENOISER_LEVEL"/> - 视频降噪等级。 + + <ph keyref="VIDEO_DENOISER_LEVEL"/> + + + 视频降噪等级。 +
    枚举值 - - - 0:(默认)优先画质的视频降噪。 是在性能消耗和视频降噪效果中取平衡的等级。性能消耗适中,视频降噪速度适中,综合画质最优。 - - - - 优先性能的视频降噪。 是在性能消耗和视频降噪效果中侧重于节省性能的等级。性能消耗较少,视频降噪速度较快。为避免处理后的视频有明显的拖影效果,声网推荐你在摄像头固定的情况下使用 - - - - 强效的视频降噪。 是在性能消耗和视频降噪效果中侧重于视频降噪效果的等级。性能消耗较多,视频降噪速度较慢,视频降噪效果较好。如果 不能满足你的视频降噪需求,你可以使用 - -
    + + + 0:(默认)优先画质的视频降噪。 + 是在性能消耗和视频降噪效果中取平衡的等级。性能消耗适中,视频降噪速度适中,综合画质最优。 + + + + 优先性能的视频降噪。 + 是在性能消耗和视频降噪效果中侧重于节省性能的等级。性能消耗较少,视频降噪速度较快。为避免处理后的视频有明显的拖影效果,声网推荐你在摄像头固定的情况下使用 + + + + + 强效的视频降噪。 + 是在性能消耗和视频降噪效果中侧重于视频降噪效果的等级。性能消耗较多,视频降噪速度较慢,视频降噪效果较好。如果 不能满足你的视频降噪需求,你可以使用 + + + +
    diff --git a/dita/RTC/API/enum_videodenoisermode.dita b/dita/RTC/API/enum_videodenoisermode.dita index b541dcadb13..e88fb3d3f91 100644 --- a/dita/RTC/API/enum_videodenoisermode.dita +++ b/dita/RTC/API/enum_videodenoisermode.dita @@ -1,22 +1,25 @@ - <ph keyref="VIDEO_DENOISER_MODE"/> - 视频降噪模式。 + + <ph keyref="VIDEO_DENOISER_MODE"/> + + + 视频降噪模式。 +
    枚举值 - - - 0:(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭视频降噪功能。 - - - - - 手动模式。用户需手动开启或关闭视频降噪功能。 - - -
    + + + 0:(默认)自动模式。SDK 会根据环境光亮度自动开启或关闭视频降噪功能。 + + + + 手动模式。用户需手动开启或关闭视频降噪功能。 + + +
    diff --git a/dita/RTC/API/enum_videoframeprocessmode.dita b/dita/RTC/API/enum_videoframeprocessmode.dita index daf9090589b..70f0b7e842f 100644 --- a/dita/RTC/API/enum_videoframeprocessmode.dita +++ b/dita/RTC/API/enum_videoframeprocessmode.dita @@ -7,20 +7,21 @@
    枚举值 - - - -

    只读模式。

    -

    只读模式下,你不修改视频帧,视频观测器相当于渲染器。

    -
    -
    - - - -

    读写模式。

    -

    读写模式下,你会修改视频帧,视频观测器相当于视频 filter。

    -
    -
    -
    + + + +

    只读模式。

    +

    只读模式下,你不修改视频帧,视频观测器相当于渲染器。

    +
    +
    + + + +

    读写模式。

    +

    读写模式下,你会修改视频帧,视频观测器相当于视频 filter。

    +
    +
    + + diff --git a/dita/RTC/API/enum_videoframetype.dita b/dita/RTC/API/enum_videoframetype.dita index b4f35e55b7b..b53890b4c63 100644 --- a/dita/RTC/API/enum_videoframetype.dita +++ b/dita/RTC/API/enum_videoframetype.dita @@ -7,18 +7,19 @@
    枚举值 - - - 0: YUV420。 - - - - 1: YUV422。 - - - - 2: RGBA。 - -
    + + + 0: YUV420。 + + + + 1: YUV422。 + + + + 2: RGBA。 + + + diff --git a/dita/RTC/API/enum_videomirrormodetype.dita b/dita/RTC/API/enum_videomirrormodetype.dita index a3abbe74c0c..5d9a972d9e1 100644 --- a/dita/RTC/API/enum_videomirrormodetype.dita +++ b/dita/RTC/API/enum_videomirrormodetype.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0:(默认)由 SDK 决定镜像模式。 - + + + 0:(默认)由 SDK 决定镜像模式。 + - - - 1: 启用镜像模式。 - + + + 1: 启用镜像模式。 + - - - 2: 关闭镜像模式。 - -
    + + + 2: 关闭镜像模式。 + + + diff --git a/dita/RTC/API/enum_videoobserverposition.dita b/dita/RTC/API/enum_videoobserverposition.dita index 4b8de1e7903..5c76a2d43ec 100644 --- a/dita/RTC/API/enum_videoobserverposition.dita +++ b/dita/RTC/API/enum_videoobserverposition.dita @@ -7,18 +7,19 @@
    枚举值 - - - 1: 本地采集视频数据后的位置,对应 回调。 - - - - 2: 接收远端发送视频前的位置,对应 回调。 - - - - 4: 本地视频编码前的位置,对应 回调。 - -
    + + + 1: 本地采集视频数据后的位置,对应 回调。 + + + + 2: 接收远端发送视频前的位置,对应 回调。 + + + + 4: 本地视频编码前的位置,对应 回调。 + + + diff --git a/dita/RTC/API/enum_videoorientation.dita b/dita/RTC/API/enum_videoorientation.dita index 17036f0d507..afe835cbd49 100644 --- a/dita/RTC/API/enum_videoorientation.dita +++ b/dita/RTC/API/enum_videoorientation.dita @@ -7,22 +7,23 @@
    枚举值 - - - 0:(默认)顺时针旋转 0 度。 - - - - 90: 顺时针旋转 90 度。 - - - - 180: 顺时针旋转 180 度。 - - - - 270: 顺时针旋转 270 度。 - -
    + + + 0:(默认)顺时针旋转 0 度。 + + + + 90: 顺时针旋转 90 度。 + + + + 180: 顺时针旋转 180 度。 + + + + 270: 顺时针旋转 270 度。 + + + diff --git a/dita/RTC/API/enum_videopixelformat.dita b/dita/RTC/API/enum_videopixelformat.dita index 6819246266e..210acd18d04 100644 --- a/dita/RTC/API/enum_videopixelformat.dita +++ b/dita/RTC/API/enum_videopixelformat.dita @@ -8,50 +8,51 @@ 枚举值 SDK 目前不支持 alpha 通道。传入的 alpha 值将被丢弃。 - - - 0: 视频像素格式未知。 - - - - 1: I420 格式。 - - - - 2: BGRA 格式。 - - - - 3: NV21 格式。 - - - - 4: RGBA 格式。 - - - - 5: IMC2 格式。 - - - - 7: ARGB 格式。 - - - - 8: NV12 格式。 - - - - 16: I422 格式。 - - - - 16: TEXTURE 2D 格式。 - - - - 16: TEXTURE OES 格式。 - - + + + 0: 视频像素格式未知。 + + + + 1: I420 格式。 + + + + 2: BGRA 格式。 + + + + 3: NV21 格式。 + + + + 4: RGBA 格式。 + + + + 5: IMC2 格式。 + + + + 7: ARGB 格式。 + + + + 8: NV12 格式。 + + + + 16: I422 格式。 + + + + 16: TEXTURE 2D 格式。 + + + + 16: TEXTURE OES 格式。 + + + diff --git a/dita/RTC/API/enum_videoprofiletype.dita b/dita/RTC/API/enum_videoprofiletype.dita index 4b598d1abca..d9b59ae99f8 100644 --- a/dita/RTC/API/enum_videoprofiletype.dita +++ b/dita/RTC/API/enum_videoprofiletype.dita @@ -6,283 +6,288 @@
    - -
    弃用
    -
    - + +
    弃用
    +
    +
    枚举值 - - - 无效的视频属性。 - - - - 0:分辨率 160 × 120,帧率 15 fps,码率 65 Kbps。 - - - - 2:分辨率 120 × 120,帧率 15 fps,码率 50 Kbps。 - - - - 10:分辨率 320 × 180,帧率 15 fps,码率 140 Kbps。 - - - - 12:分辨率 180 × 180,帧率 15 fps,码率 100 Kbps。 - - - - 13:分辨率 240 × 180,帧率 15 fps,码率 120 Kbps。 - - - - 20:分辨率 320 × 240,帧率 15 fps,码率 200 Kbps。 - - - - 22:分辨率 240 × 240,帧率 15 fps,码率 140 Kbps。 - - - - 23:分辨率 424 × 240,帧率 15 fps,码率 220 Kbps。 - - - - 30:分辨率 640 × 360,帧率 15 fps,码率 400 Kbps。 - - - - 32:分辨率 360 × 360,帧率 15 fps,码率 260 Kbps。 - - - - 33:分辨率 640 × 360,帧率 30 fps,码率 600 Kbps。 - - - - 35:分辨率 360 × 360,帧率 30 fps,码率 400 Kbps。 - - - - 36:分辨率 480 × 360,帧率 15 fps,码率 320 Kbps。 - - - - 37:分辨率 480 × 360,帧率 30 fps,码率 490 Kbps。 - - - - -

    38:分辨率 640 × 360,帧率 15 fps,码率 800 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - -

    39:分辨率 640 × 360,帧率 24 fps,码率 800 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - -

    100: 分辨率 640 × 360,帧率 24 fps,码率 1000 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - 40:分辨率 640 × 480,帧率 15 fps,码率 500 Kbps。 - - - - 42:分辨率 480 × 480,帧率 15 fps,码率 400 Kbps。 - - - - 43:分辨率 640 × 480,帧率 30 fps,码率 750 Kbps。 - - - - 45:分辨率 480 × 480,帧率 30 fps,码率 600 Kbps。 - - - - 47:分辨率 848 × 480,帧率 15 fps,码率 610 Kbps。 - - - - 48:分辨率 848 × 480,帧率 30 fps,码率 930 Kbps。 - - - - 49:分辨率 640 × 480,帧率 10 fps,码率 400 Kbps。 - - - - 50:分辨率 1280 × 720,帧率 15 fps,码率 1130 Kbps。 - - - - 52:分辨率 1280 × 720,帧率 30 fps,码率 1710 Kbps。 - - - - 54:分辨率 960 × 720,帧率 15 fps,码率 910 Kbps。 - - - - 55:分辨率 960 × 720,帧率 30 fps,码率 1380 Kbps。 - - - - 60:分辨率 1920 × 1080,帧率 15 fps,码率 2080 Kbps。 - - - - 62:分辨率 1920 × 1080,帧率 30 fps,码率 3150 Kbps。 - - - - 64:分辨率 1920 × 1080,帧率 60 fps,码率 4780 Kbps。 - - - - 1000: 分辨率 120 × 160,帧率 15 fps,码率 65 Kbps。 - - - - 1002: 分辨率 120 × 120,帧率 15 fps,码率 50 Kbps。 - - - - 1010: 分辨率 180 × 320,帧率 15 fps,码率 140 Kbps。 - - - - 1012: 分辨率 180 × 180,帧率 15 fps,码率 100 Kbps。 - - - - 1013: 分辨率 180 × 240,帧率 15 fps,码率 120 Kbps。 - - - - 1020: 分辨率 240 × 320,帧率 15 fps,码率 200 Kbps。 - - - - 1022: 分辨率 240 × 240,帧率 15 fps,码率 140 Kbps。 - - - - 1023: 分辨率 240 × 424,帧率 15 fps,码率 220 Kbps。 - - - - 1030: 分辨率 360 × 640,帧率 15 fps,码率 400 Kbps。 - - - - 1032: 分辨率 360 × 360,帧率 15 fps,码率 260 Kbps。 - - - - 1033: 分辨率 360 × 640,帧率 30 fps,码率 600 Kbps。 - - - - 1035: 分辨率 360 × 360,帧率 30 fps,码率 400 Kbps。 - - - - 1036: 分辨率 360 × 480,帧率 15 fps,码率 320 Kbps。 - - - - 1037: 分辨率 360 × 480,帧率 30 fps,码率 490 Kbps。 - - - - -

    1038: 分辨率 360 × 640,帧率 15 fps,码率 800 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - -

    1039: 分辨率 360 × 640,帧率 24 fps,码率 800 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - -

    1100: 分辨率 360 × 640,帧率 24 fps,码率 1000 Kbps。

    - 该视频属性仅适用于直播频道场景。
    -
    - - - 1040: 分辨率 480 × 640,帧率 15 fps,码率 500 Kbps。 - - - - 1042: 分辨率 480 × 480,帧率 15 fps,码率 400 Kbps。 - - - - 1043: 分辨率 480 × 640,帧率 30 fps,码率 750 Kbps。 - - - - 1045: 分辨率 480 × 480,帧率 30 fps,码率 600 Kbps。 - - - - 1047: 分辨率 480 × 848,帧率 15 fps,码率 610 Kbps。 - - - - 1048: 分辨率 480 × 848,帧率 30 fps,码率 930 Kbps。 - - - - 1049: 分辨率 480 × 640,帧率 10 fps,码率 400 Kbps。 - - - - 1050: 分辨率 分辨率 720 × 1280,帧率 15 fps,码率 1130 Kbps。 - - - - 1052: 分辨率 分辨率 720 × 1280,帧率 30 fps,码率 1710 Kbps。 - - - - 1054: 分辨率 720 × 960,帧率 15 fps,码率 910 Kbps。 - - - - 1055: 分辨率 720 × 960,帧率 30 fps,码率 1380 Kbps。 - - - - 1060: 分辨率 1080 × 1920,帧率 15 fps,码率 2080 Kbps。 - - - - 1062: 分辨率 1080 × 1920,帧率 30 fps,码率 3150 Kbps。 - - - - 1064: 分辨率 1080 × 1920,帧率 60 fps,码率 4780 Kbps。 - - - - (默认)分辨率 640 × 360,帧率 15 fps,码率 400 Kbps。 - -
    + + + 无效的视频属性。 + + + + 0:分辨率 160 × 120,帧率 15 fps,码率 65 Kbps。 + + + + 2:分辨率 120 × 120,帧率 15 fps,码率 50 Kbps。 + + + + 10:分辨率 320 × 180,帧率 15 fps,码率 140 Kbps。 + + + + 12:分辨率 180 × 180,帧率 15 fps,码率 100 Kbps。 + + + + 13:分辨率 240 × 180,帧率 15 fps,码率 120 Kbps。 + + + + 20:分辨率 320 × 240,帧率 15 fps,码率 200 Kbps。 + + + + 22:分辨率 240 × 240,帧率 15 fps,码率 140 Kbps。 + + + + 23:分辨率 424 × 240,帧率 15 fps,码率 220 Kbps。 + + + + 30:分辨率 640 × 360,帧率 15 fps,码率 400 Kbps。 + + + + 32:分辨率 360 × 360,帧率 15 fps,码率 260 Kbps。 + + + + 33:分辨率 640 × 360,帧率 30 fps,码率 600 Kbps。 + + + + 35:分辨率 360 × 360,帧率 30 fps,码率 400 Kbps。 + + + + 36:分辨率 480 × 360,帧率 15 fps,码率 320 Kbps。 + + + + 37:分辨率 480 × 360,帧率 30 fps,码率 490 Kbps。 + + + + +

    38:分辨率 640 × 360,帧率 15 fps,码率 800 Kbps。

    + 该视频属性仅适用于直播频道场景。 +
    +
    + + + +

    39:分辨率 640 × 360,帧率 24 fps,码率 800 Kbps。

    + 该视频属性仅适用于直播频道场景。
    +
    + + + +

    100: 分辨率 640 × 360,帧率 24 fps,码率 1000 Kbps。

    + 该视频属性仅适用于直播频道场景。
    +
    + + + 40:分辨率 640 × 480,帧率 15 fps,码率 500 Kbps。 + + + + 42:分辨率 480 × 480,帧率 15 fps,码率 400 Kbps。 + + + + 43:分辨率 640 × 480,帧率 30 fps,码率 750 Kbps。 + + + + 45:分辨率 480 × 480,帧率 30 fps,码率 600 Kbps。 + + + + 47:分辨率 848 × 480,帧率 15 fps,码率 610 Kbps。 + + + + 48:分辨率 848 × 480,帧率 30 fps,码率 930 Kbps。 + + + + 49:分辨率 640 × 480,帧率 10 fps,码率 400 Kbps。 + + + + 50:分辨率 1280 × 720,帧率 15 fps,码率 1130 Kbps。 + + + + 52:分辨率 1280 × 720,帧率 30 fps,码率 1710 Kbps。 + + + + 54:分辨率 960 × 720,帧率 15 fps,码率 910 Kbps。 + + + + 55:分辨率 960 × 720,帧率 30 fps,码率 1380 Kbps。 + + + + 60:分辨率 1920 × 1080,帧率 15 fps,码率 2080 Kbps。 + + + + 62:分辨率 1920 × 1080,帧率 30 fps,码率 3150 Kbps。 + + + + 64:分辨率 1920 × 1080,帧率 60 fps,码率 4780 Kbps。 + + + + 1000: 分辨率 120 × 160,帧率 15 fps,码率 65 Kbps。 + + + + 1002: 分辨率 120 × 120,帧率 15 fps,码率 50 Kbps。 + + + + 1010: 分辨率 180 × 320,帧率 15 fps,码率 140 Kbps。 + + + + 1012: 分辨率 180 × 180,帧率 15 fps,码率 100 Kbps。 + + + + 1013: 分辨率 180 × 240,帧率 15 fps,码率 120 Kbps。 + + + + 1020: 分辨率 240 × 320,帧率 15 fps,码率 200 Kbps。 + + + + 1022: 分辨率 240 × 240,帧率 15 fps,码率 140 Kbps。 + + + + 1023: 分辨率 240 × 424,帧率 15 fps,码率 220 Kbps。 + + + + 1030: 分辨率 360 × 640,帧率 15 fps,码率 400 Kbps。 + + + + 1032: 分辨率 360 × 360,帧率 15 fps,码率 260 Kbps。 + + + + 1033: 分辨率 360 × 640,帧率 30 fps,码率 600 Kbps。 + + + + 1035: 分辨率 360 × 360,帧率 30 fps,码率 400 Kbps。 + + + + 1036: 分辨率 360 × 480,帧率 15 fps,码率 320 Kbps。 + + + + 1037: 分辨率 360 × 480,帧率 30 fps,码率 490 Kbps。 + + + + +

    1038: 分辨率 360 × 640,帧率 15 fps,码率 800 Kbps。

    + 该视频属性仅适用于直播频道场景。 +
    +
    + + + +

    1039: 分辨率 360 × 640,帧率 24 fps,码率 800 Kbps。

    + 该视频属性仅适用于直播频道场景。 +
    +
    + + + +

    1100: 分辨率 360 × 640,帧率 24 fps,码率 1000 Kbps。

    + 该视频属性仅适用于直播频道场景。 +
    +
    + + + 1040: 分辨率 480 × 640,帧率 15 fps,码率 500 Kbps。 + + + + 1042: 分辨率 480 × 480,帧率 15 fps,码率 400 Kbps。 + + + + 1043: 分辨率 480 × 640,帧率 30 fps,码率 750 Kbps。 + + + + 1045: 分辨率 480 × 480,帧率 30 fps,码率 600 Kbps。 + + + + 1047: 分辨率 480 × 848,帧率 15 fps,码率 610 Kbps。 + + + + 1048: 分辨率 480 × 848,帧率 30 fps,码率 930 Kbps。 + + + + 1049: 分辨率 480 × 640,帧率 10 fps,码率 400 Kbps。 + + + + 1050: 分辨率 分辨率 720 × 1280,帧率 15 fps,码率 1130 Kbps。 + + + + 1052: 分辨率 分辨率 720 × 1280,帧率 30 fps,码率 1710 Kbps。 + + + + 1054: 分辨率 720 × 960,帧率 15 fps,码率 910 Kbps。 + + + + 1055: 分辨率 720 × 960,帧率 30 fps,码率 1380 Kbps。 + + + + 1060: 分辨率 1080 × 1920,帧率 15 fps,码率 2080 Kbps。 + + + + 1062: 分辨率 1080 × 1920,帧率 30 fps,码率 3150 Kbps。 + + + + 1064: 分辨率 1080 × 1920,帧率 60 fps,码率 4780 Kbps。 + + + + (默认)分辨率 640 × 360,帧率 15 fps,码率 400 Kbps。 + + +
    diff --git a/dita/RTC/API/enum_videosourcetype.dita b/dita/RTC/API/enum_videosourcetype.dita index f7cb2912d64..2e60b65eebe 100644 --- a/dita/RTC/API/enum_videosourcetype.dita +++ b/dita/RTC/API/enum_videosourcetype.dita @@ -7,69 +7,72 @@
    枚举值 - - - - (默认)第一个摄像头。 - - - - - 摄像头。 - - - - 第二个摄像头。 - - - - 第一个屏幕。 - - - - 屏幕。 - - - - 第二个屏幕。 - - - - 自定义的视频源。 - - - - 媒体播放器共享的视频源。 - - - - 视频源为 PNG 图片。 - - - - 视频源为 JPEG 图片。 - - - - 视频源为 GIF 图片。 - - - - 视频源为网络获取的远端视频。 - - - - 转码后的视频源。 - - - - 未知的视频源。 - + + + + (默认)第一个摄像头。 + + + + 摄像头。 + + + + 第二个摄像头。 + + + + 第一个屏幕。 + + + + 屏幕。 + + + + 第二个屏幕。 + + + + 自定义的视频源。 + + + + 媒体播放器共享的视频源。 + + + + 视频源为 PNG 图片。 + + + + 视频源为 JPEG 图片。 + + + + 视频源为 GIF 图片。 + + + + 视频源为网络获取的远端视频。 + + + + 转码后的视频源。 + + + + 未知的视频源。 + -
      -
    • 是相同的视频源。
    • -
    • 是相同的视频源。
    • -
    +
      +
    • 是相同的视频源。
    • +
    • 是相同的视频源。
    • +
    + + diff --git a/dita/RTC/API/enum_virtualbackgroundsourcestatereason.dita b/dita/RTC/API/enum_virtualbackgroundsourcestatereason.dita index 6b4f418dd19..ef2966554f5 100644 --- a/dita/RTC/API/enum_virtualbackgroundsourcestatereason.dita +++ b/dita/RTC/API/enum_virtualbackgroundsourcestatereason.dita @@ -6,35 +6,42 @@
    - -
    自从
    -
    v3.5.0
    -
    + +
    自从
    +
    v3.5.0
    +
    枚举值 - - - 0: 虚拟背景已成功开启。 - - - - 1: 自定义的背景图不存在。请检查 source 的值。 - - - - 2: 自定义的背景图颜色格式出错。请检查 color 的值。 - - - - 3: 设备不支持使用虚拟背景。 - - - - 4: 开启或运行虚拟背景功能时,SDK 检测到用户设备性能不足。收到该原因码后,声网建议用户关闭虚拟背景功能。 - -
    + + + 0: 虚拟背景已成功开启。 + + + + 1: 自定义的背景图不存在。请检查 中 + source 的值。 + + + + 2: 自定义的背景图颜色格式出错。请检查 中 + color 的值。 + + + + 3: 设备不支持使用虚拟背景。 + + + + 4: 开启或运行虚拟背景功能时,SDK 检测到用户设备性能不足。收到该原因码后,声网建议用户关闭虚拟背景功能。 + + +
    diff --git a/dita/RTC/API/enum_voicebeautifierpreset.dita b/dita/RTC/API/enum_voicebeautifierpreset.dita index 78373a3a989..b1d2f3fde46 100644 --- a/dita/RTC/API/enum_voicebeautifierpreset.dita +++ b/dita/RTC/API/enum_voicebeautifierpreset.dita @@ -7,85 +7,95 @@
    枚举值 - - - 原声,即关闭美声效果。 - - - - -

    磁性(男)。

    - 该设置仅对男声有效,请勿用于设置女声,否则音频会失真。
    -
    - - - -

    清新(女)。

    - 该设置仅对女声有效,请勿用于设置男声,否则音频会失真。
    -
    - - - -

    活力(女)。

    - 该设置仅对女声有效,请勿用于设置男声,否则音频会失真。
    -
    - - - -
    - -
    自从
    -
    v3.3.0
    -
    -
    -

    歌唱美声。

    -
      -
    • 如果调用 (),你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声,否则音频会失真。
    • -
    • 如果调用 (, param1, param2),你可以美化男声或女声并添加混响效果。
    • -
    -
    - - - 浑厚。 - - - - 低沉。 - - - - 圆润。 - - - - 假音。 - - - - 饱满。 - - - - 清澈。 - - - - 高亢。 - - - - 嘹亮。 - - - - 超高音质,即让音频更清晰、细节更丰富。 - - -
      -
    • 为达到更好的效果,我们推荐在调用 前将 profile 参数设置为 (4) 或 (5),且 scenario 参数设置为 (6)。
    • -
    • 如果用户的音频采集设备可以高度还原音频细节,声网建议你不要开启超高音质,否则 SDK 会过度还原音频细节,达不到预期效果。
    • -
    -
    -
    + + + 原声,即关闭美声效果。 + + + + +

    磁性(男)。

    + 该设置仅对男声有效,请勿用于设置女声,否则音频会失真。
    +
    + + + +

    清新(女)。

    + 该设置仅对女声有效,请勿用于设置男声,否则音频会失真。 +
    +
    + + + +

    活力(女)。

    + 该设置仅对女声有效,请勿用于设置男声,否则音频会失真。 +
    +
    + + + +
    + +
    自从
    +
    v3.3.0
    +
    +
    +

    歌唱美声。

    +
      +
    • 如果调用 (),你可以美化男声并添加歌声在小房间的混响效果。请勿用于设置女声,否则音频会失真。
    • +
    • 如果调用 (, param1, + param2),你可以美化男声或女声并添加混响效果。
    • +
    +
    +
    + + + 浑厚。 + + + + 低沉。 + + + + 圆润。 + + + + 假音。 + + + + 饱满。 + + + + 清澈。 + + + + 高亢。 + + + + 嘹亮。 + + + + 超高音质,即让音频更清晰、细节更丰富。
      +
    • 为达到更好的效果,我们推荐在调用 前将 profile 参数设置为 + (4) 或 + (5),且 + scenario 参数设置为 (6)。
    • +
    • 如果用户的音频采集设备可以高度还原音频细节,声网建议你不要开启超高音质,否则 SDK 会过度还原音频细节,达不到预期效果。
    • +
    +
    + + diff --git a/dita/RTC/API/enum_voicechangerpreset.dita b/dita/RTC/API/enum_voicechangerpreset.dita index 5744e8a2628..8e7f49a414a 100644 --- a/dita/RTC/API/enum_voicechangerpreset.dita +++ b/dita/RTC/API/enum_voicechangerpreset.dita @@ -6,91 +6,92 @@
    - -
    弃用
    -
    自 v3.2.0 废弃。
    -
    + +
    弃用
    +
    自 v3.2.0 废弃。
    +
    枚举值 - - - 原声,即关闭语音变声。 - - - - 变声:老男人。 - - - - 变声:小男孩。 - - - - 变声:小女孩。 - - - - 变声:猪八戒。 - - - - 变声:空灵。 - - - - 变声:绿巨人。 - - - - 美音:浑厚。 - - - - 美音:深沉。 - - - - 美音:圆润。 - - - - 美音:假音。 - - - - 美音:饱满。 - - - - 美音:清澈。 - - - - 美音:高亢。 - - - - 美音:嘹亮。 - - - - 美音:空旷。 - - - - 语聊美声:磁性(男)。此枚举为男声定制化效果,不适用于女声。若女声使用此音效设置,则音频可能会产生失真。 - - - - 语聊美声:清新(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。 - - - - 语聊美声:活力(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。 - -
    + + + 原声,即关闭语音变声。 + + + + 变声:老男人。 + + + + 变声:小男孩。 + + + + 变声:小女孩。 + + + + 变声:猪八戒。 + + + + 变声:空灵。 + + + + 变声:绿巨人。 + + + + 美音:浑厚。 + + + + 美音:深沉。 + + + + 美音:圆润。 + + + + 美音:假音。 + + + + 美音:饱满。 + + + + 美音:清澈。 + + + + 美音:高亢。 + + + + 美音:嘹亮。 + + + + 美音:空旷。 + + + + 语聊美声:磁性(男)。此枚举为男声定制化效果,不适用于女声。若女声使用此音效设置,则音频可能会产生失真。 + + + + 语聊美声:清新(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。 + + + + 语聊美声:活力(女)。此枚举为女声定制化效果,不适用于男声。若男声使用此音效设置,则音频可能会产生失真。 + + +
    diff --git a/dita/RTC/API/enum_voiceconversionpreset.dita b/dita/RTC/API/enum_voiceconversionpreset.dita index 2ebac36bd93..7efa2203cea 100644 --- a/dita/RTC/API/enum_voiceconversionpreset.dita +++ b/dita/RTC/API/enum_voiceconversionpreset.dita @@ -6,35 +6,36 @@
    - -
    自从
    -
    v3.3.1
    -
    + +
    自从
    +
    v3.3.1
    +
    枚举值 - - - 原声,即关闭变声效果。 - - - - 中性。为避免音频失真,请确保仅对女声设置该效果。 - - - - 甜美。为避免音频失真,请确保仅对女声设置该效果。 - - - - 稳重。为避免音频失真,请确保仅对男声设置该效果。 - - - - 低沉。为避免音频失真,请确保仅对男声设置该效果。 - -
    + + + 原声,即关闭变声效果。 + + + + 中性。为避免音频失真,请确保仅对女声设置该效果。 + + + + 甜美。为避免音频失真,请确保仅对女声设置该效果。 + + + + 稳重。为避免音频失真,请确保仅对男声设置该效果。 + + + + 低沉。为避免音频失真,请确保仅对男声设置该效果。 + + +
    diff --git a/dita/RTC/API/enum_watermarkfitmode.dita b/dita/RTC/API/enum_watermarkfitmode.dita index 8e540854609..f53566b2a3f 100644 --- a/dita/RTC/API/enum_watermarkfitmode.dita +++ b/dita/RTC/API/enum_watermarkfitmode.dita @@ -7,14 +7,21 @@
    枚举值 - - - 使用你在 中设置的 positionInLandscapeModepositionInPortraitMode 值。此时 中的设置无效。 - - - - 使用你在 中设置的值。此时 positionInLandscapeModepositionInPortraitMode 的设置无效。 - -
    + + + 使用你在 中设置的 + positionInLandscapeMode 和 + positionInPortraitMode 值。此时 中的设置无效。 + + + + 使用你在 中设置的值。此时 中 + positionInLandscapeMode 和 + positionInPortraitMode 的设置无效。 + + + diff --git a/dita/RTC/API/enum_wlaccmessagereason.dita b/dita/RTC/API/enum_wlaccmessagereason.dita index 3ce1452cbfb..ec7655d4430 100644 --- a/dita/RTC/API/enum_wlaccmessagereason.dita +++ b/dita/RTC/API/enum_wlaccmessagereason.dita @@ -7,14 +7,15 @@
    枚举值 - - - 0: Wi-Fi 信号弱。 - - - - 1: 网络拥塞。 - -
    + + + 0: Wi-Fi 信号弱。 + + + + 1: 网络拥塞。 + + + diff --git a/dita/RTC/API/enum_wlaccsuggestaction.dita b/dita/RTC/API/enum_wlaccsuggestaction.dita index b51b283a6f9..65bf335f7bd 100644 --- a/dita/RTC/API/enum_wlaccsuggestaction.dita +++ b/dita/RTC/API/enum_wlaccsuggestaction.dita @@ -7,22 +7,25 @@
    枚举值 - - - 0: 由于路由器接收到的 Wi-Fi 信号弱,请用户靠近路由器。 - - - - 1: 请用户连接到指定的无线网络。无线网络名称(SSID)详见 wlAccMsg 参数。 - - - - 2: 当前路由器不支持 5G 频道。请用户检查路由器是否支持并开启了 5G 频道,或更换支持 5G 频道的路由器。开启 5G 频道的步骤详见 wlAccMsg 参数。 - - - - 3: 2.4G 频段和 5G 频道的网络名称(SSID)相同。请用户修改 2.4G 频段或 5G 频道的网络名称。修改步骤详见 wlAccMsg 参数。 - -
    + + + 0: 由于路由器接收到的 Wi-Fi 信号弱,请用户靠近路由器。 + + + + 1: 请用户连接到指定的无线网络。无线网络名称(SSID)详见 wlAccMsg 参数。 + + + + 2: 当前路由器不支持 5G 频道。请用户检查路由器是否支持并开启了 5G 频道,或更换支持 5G 频道的路由器。开启 5G 频道的步骤详见 + wlAccMsg 参数。 + + + + 3: 2.4G 频段和 5G 频道的网络名称(SSID)相同。请用户修改 2.4G 频段或 5G 频道的网络名称。修改步骤详见 + wlAccMsg 参数。 + + + diff --git a/dita/RTC/API/rtc_api_data_type.dita b/dita/RTC/API/rtc_api_data_type.dita index 61d898eaa5e..0b01df60ea9 100644 --- a/dita/RTC/API/rtc_api_data_type.dita +++ b/dita/RTC/API/rtc_api_data_type.dita @@ -2,6 +2,7 @@ 类型定义 - 本页列出 API 所有的类型定义。 + 本页列出 API + 所有的类型定义。 diff --git a/dita/RTC/API/rtc_api_overview.dita b/dita/RTC/API/rtc_api_overview.dita index 749579f85a0..1733b42c34c 100644 --- a/dita/RTC/API/rtc_api_overview.dita +++ b/dita/RTC/API/rtc_api_overview.dita @@ -2,2178 +2,3789 @@ API 概览 - 声网通过全球部署的虚拟网络,提供可以灵活搭配的 API 组合,为移动端到移动端以及移动端到 Web 端提供质量可靠的实时音视频通信。 + + 声网通过全球部署的虚拟网络,提供可以灵活搭配的 API 组合,为移动端到移动端以及移动端到 Web 端提供质量可靠的实时音视频通信。 +
      -
    • - 自 v3.0.0 开始,声网废弃 - RtcEngineParameters - 类。该类下所有接口均被 - - 类覆盖,请使用 - - 类。 -
    • -
    • - 在调用 API 过程中,SDK 可能会返回错误码和警告码,详见 - 错误码和警告码 - 。 -
    • -
    +
  • 自 v3.0.0 开始,声网废弃 RtcEngineParameters 类。该类下所有接口均被 + 类覆盖,请使用 类。
  • +
  • 在调用 API 过程中,SDK 可能会返回错误码和警告码,详见 错误码和警告码
  • + +
      -
    • - 类包含应用程序调用的主要方法。 -
    • -
    • - 类用于向应用程序发送回调通知。 -
    • -
    • AgoraRtcEngine.on - 用于向应用程序发送回调通知。 -
    • -
    • - 类在指定频道中实现实时音视频功能。通过创建多个 - - 对象,用户可以同时加入多个频道。 -
    • -
    • - 类监听和报告指定频道的事件和数据。 -
    • -
    • AgoraRtcChannel.on - 监听和报告指定频道的事件和数据。 -
    • -
    • - 类提供用于测试音频设备的相关接口。 -
    • -
    • - 类提供用于测试视频设备的相关接口。 -
    • -
    • - 类提供用于测试音、视频设备的相关接口。 -
    • +
    • + 类包含应用程序调用的主要方法。
    • +
    • + 类用于向应用程序发送回调通知。
    • +
    • + AgoraRtcEngine.on 用于向应用程序发送回调通知。
    • +
    • + 类在指定频道中实现实时音视频功能。通过创建多个 + 对象,用户可以同时加入多个频道。
    • +
    • + 类监听和报告指定频道的事件和数据。
    • +
    • + AgoraRtcChannel.on 监听和报告指定频道的事件和数据。
    • +
    • + 类提供用于测试音频设备的相关接口。
    • +
    • + 类提供用于测试视频设备的相关接口。
    • +
    • + 类提供用于测试音、视频设备的相关接口。
    核心方法 - - 方法 - 描述 - - - - - - - - - 创建并初始化 - - 。 - - 初始化 - - 。 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + 创建并初始化 + 初始化 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    核心事件 - - 事件 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    音频管理 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    视频管理 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    本地媒体事件 - - 事件 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    远端媒体事件 - - 事件 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    数据统计事件

    加入频道后,SDK 每隔 2 秒自动触发本组回调。

    -

    - 我们为这些回调提供了详细的功能描述、实现方法文档,详情请参考 - - 。 -

    - - - 事件 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - -
    +

    我们为这些回调提供了详细的功能描述、实现方法文档,详情请参考

    + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    视频前处理及后处理 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + +
    多频道管理 -

    - 我们为该组接口提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考 - - 。 -

    - - - API - 描述 - - - - - - - - - - - - - -
    +

    我们为该组接口提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考

    + + + API + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    屏幕共享 -

    - 我们为该组接口提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考 - 屏幕共享 - 。 -

    - - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - -
    +

    我们为该组接口提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考 屏幕共享

    + + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + +
    音乐文件播放及混音 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    音效文件播放管理 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + +
    音频文件信息 - - 方法 - 描述 - - - - - - - - 事件 - 描述 - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + +
    虚拟节拍器 - - 方法 - 描述 - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    人声效果 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + +
    听声辨位 - - 方法 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + +
    CDN 推流

    该组方法仅适用于互动直播。

    - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    跨频道媒体流转发 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + +
    音量提示 - - 方法 - 描述 - - - - - - - - 事件 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + +
    人脸检测

    该组功能仅适用于 Android 和 iOS 平台。

    - - 方法 - 描述 - - - - - - - - 事件 - 描述 - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + +
    音频播放路由

    该组方法仅适用于 Android 和 iOS 平台。

    - - 方法 - 描述 - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + +
    耳返控制

    该组方法仅适用于 Android 和 iOS 平台。

    - - 方法 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + +
    视频双流模式 - - 方法 - 描述 - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    视频流回退 -

    - 我们为该组 API 提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考 - - 。 -

    - - - 方法 - 描述 - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - -
    +

    我们为该组 API 提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考

    + + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + +
    通话前网络测试 -

    - 我们为该组 API 提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考 - - 。 -

    - - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - -
    +

    我们为该组 API 提供了详细的场景描述、实现方法及开发注意事项文档,详情请参考

    + + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + +
    自定义视频模块 - - 方法 - 描述 - - - - - -
    + + 方法 + 描述 + + + + + + + + + + +
    视频自采集(仅 Push 模式) - - 方法 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + +
    音频自采集(仅 Push 模式) - - 方法 - 描述 - - - - - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    音频自渲染(仅 Pull 模式) - - 方法 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + +
    原始音频数据 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    原始视频数据 - - 方法 - 描述 - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    媒体附属信息

    该组方法仅适用于互动直播。

    - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + +
    直播水印

    该组方法仅适用于互动直播。

    - - 方法 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + +
    视频截图 - - 方法 - 描述 - - - - - - - - 事件 - 描述 - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + +
    视频截图上传 - - 方法 - 描述 - - - - - -
    + + 方法 + 描述 + + + + + + + + + + +
    加密 - - 方法 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + +
    音频采集 - - 方法 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + +
    音视频录制 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + +
    摄像头控制 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + +
    设备管理

    该组方法仅适用于 Windows。

    - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    流消息 - - 方法 - 描述 - - - - - - - - - - - - 事件 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + +
    Wi-Fi 加速 - - 方法 - 描述 - - - - - - - - 事件 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + 事件 + 描述 + + + + + + + + + + + + + + + + + + +
    子线程 - - 方法 - 描述 - - - - - -
    + + 方法 + 描述 + + + + + + + + + + +
    其他音频控制 - - 方法 - 描述 - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + +
    其他视频控制 - - 方法 - 描述 - - - - - -
    + + 方法 + 描述 + + + + + + + + + + +
    双实例

    声网 Electron SDK 提供双实例的实现方法。第二个实例用以屏幕共享,请调用下表中的方法实现对应功能。

    - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    下表为以上双实例方法对应的回调。

    - - 回调 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + 回调 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    其他方法 - - 方法 - 描述 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + 方法 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    其他事件 - - 事件 - 描述 - - - - - - - - - - - - - - - - - - - - - -
    + + 事件 + 描述 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    diff --git a/dita/RTC/conref/conref_api_metadata.dita b/dita/RTC/conref/conref_api_metadata.dita index 917ba784f9e..becd76f4094 100644 --- a/dita/RTC/conref/conref_api_metadata.dita +++ b/dita/RTC/conref/conref_api_metadata.dita @@ -3,6 +3,11 @@ API Metadata for Reuse -

    属性 属性

    +

    + + 属性 + 属性 + +

    diff --git a/dita/flexible-classroom/edu-context/API/api_addaudiorawdataobserver.dita b/dita/flexible-classroom/edu-context/API/api_addaudiorawdataobserver.dita index 599b654ee04..d1f337786c9 100644 --- a/dita/flexible-classroom/edu-context/API/api_addaudiorawdataobserver.dita +++ b/dita/flexible-classroom/edu-context/API/api_addaudiorawdataobserver.dita @@ -13,31 +13,33 @@

    - abstract fun addAudioRawDataObserver( + abstract fun addAudioRawDataObserver( observer: FcrMediaRawDataObserver, config: FcrAudioRawDataConfig? = FcrAudioRawDataConfig() ) - FcrError addAudioRawDataObserver(FcrAudioRawDataObserver observer, + FcrError addAudioRawDataObserver(FcrAudioRawDataObserver observer, FcrAudioRawDataPosition position) - -

    + + +

    该方法只能在加入频道前调用。可添加多个观察者。
    参数 - - observer - 观察者,详见 - - - position - 音频管道的输出位置,详见 - - - config - 音频管道的输出配置,详见 - -
    + + observer + 观察者,详见 + + + position + 音频管道的输出位置,详见 + + + config + 音频管道的输出配置,详见 + + +
    diff --git a/dita/flexible-classroom/edu-context/API/api_addsubroomlist.dita b/dita/flexible-classroom/edu-context/API/api_addsubroomlist.dita index 9d5476b26ba..594093e7c6c 100644 --- a/dita/flexible-classroom/edu-context/API/api_addsubroomlist.dita +++ b/dita/flexible-classroom/edu-context/API/api_addsubroomlist.dita @@ -13,33 +13,35 @@

    - abstract fun addSubRoomList( + abstract fun addSubRoomList( appId: String, roomUuid: String, groupWithInProgress: GroupWithInProgress, callback: HttpCallback<HttpBaseRes<String>>? ) - void addSubRoomList(Array<AgoraEduContextSubRoomCreateConfig> configList, + void addSubRoomList(Array<AgoraEduContextSubRoomCreateConfig> configList, Callback<Void> success, Callback<AgoraEduContextError> failure) - -

    + + +

    参数 - - configs - 创建子房间配置数组,详见 - - - success - 调用成功。 - - - fail - - -
    + + configs + 创建子房间配置数组,详见 + + + success + 调用成功。 + + + fail + + + +
    diff --git a/dita/flexible-classroom/edu-context/API/api_addwidgetactiveobserver.dita b/dita/flexible-classroom/edu-context/API/api_addwidgetactiveobserver.dita index 8d9b7902774..85744dac9df 100644 --- a/dita/flexible-classroom/edu-context/API/api_addwidgetactiveobserver.dita +++ b/dita/flexible-classroom/edu-context/API/api_addwidgetactiveobserver.dita @@ -13,18 +13,19 @@

    - - AgoraWidgetError addWidgetActiveObserver(AgoraWidgetActiveObserver observer, + + AgoraWidgetError addWidgetActiveObserver(AgoraWidgetActiveObserver observer, String widgetId) - -

    + + +

    参数 - - + +
    diff --git a/dita/flexible-classroom/edu-context/API/api_addwidgetmessageobserver.dita b/dita/flexible-classroom/edu-context/API/api_addwidgetmessageobserver.dita index e8fa734ec84..91f4fc3bd4c 100644 --- a/dita/flexible-classroom/edu-context/API/api_addwidgetmessageobserver.dita +++ b/dita/flexible-classroom/edu-context/API/api_addwidgetmessageobserver.dita @@ -41,4 +41,4 @@ 返回值
    - \ No newline at end of file + diff --git a/dita/flexible-classroom/edu-context/API/api_boardinputenable.dita b/dita/flexible-classroom/edu-context/API/api_boardinputenable.dita index 1e2483a6201..0aa6c84631a 100644 --- a/dita/flexible-classroom/edu-context/API/api_boardinputenable.dita +++ b/dita/flexible-classroom/edu-context/API/api_boardinputenable.dita @@ -2,7 +2,8 @@ <ph keyref="boardInputEnable"/> - + diff --git a/dita/flexible-classroom/edu-context/API/api_closelocaldevice.dita b/dita/flexible-classroom/edu-context/API/api_closelocaldevice.dita index 31533f4e0b1..f433b63fe74 100644 --- a/dita/flexible-classroom/edu-context/API/api_closelocaldevice.dita +++ b/dita/flexible-classroom/edu-context/API/api_closelocaldevice.dita @@ -35,7 +35,8 @@
    返回值 -

    如果传入的 deviceId 不存在,则返回

    +

    如果传入的 deviceId 不存在,则返回

    diff --git a/dita/flexible-classroom/edu-context/API/api_create.dita b/dita/flexible-classroom/edu-context/API/api_create.dita index cf4fa38a4d0..7a4a2ed6e7d 100644 --- a/dita/flexible-classroom/edu-context/API/api_create.dita +++ b/dita/flexible-classroom/edu-context/API/api_create.dita @@ -13,19 +13,21 @@

    - - AgoraBaseWidget create(AgoraWidgetConfig config) - -

    + + AgoraBaseWidget create(AgoraWidgetConfig config) + + +

    参数 - - config - Widget 对象初始化所需要的配置信息。 - -
    + + config + Widget 对象初始化所需要的配置信息。 + + +
    返回值

    一个 Widget 对象。

    diff --git a/dita/flexible-classroom/edu-context/API/api_createsubroomobject.dita b/dita/flexible-classroom/edu-context/API/api_createsubroomobject.dita index 1bfdc91c038..6aed3ef37ca 100644 --- a/dita/flexible-classroom/edu-context/API/api_createsubroomobject.dita +++ b/dita/flexible-classroom/edu-context/API/api_createsubroomobject.dita @@ -31,7 +31,8 @@
    返回值 -

    返回 子房间对象。如果本地用户未在 subRoomUuid 所对应的子房间的用户列表中,则返回空对象。

    +

    返回 子房间对象。如果本地用户未在 + subRoomUuid 所对应的子房间的用户列表中,则返回空对象。

    diff --git a/dita/flexible-classroom/edu-context/API/api_data_type.dita b/dita/flexible-classroom/edu-context/API/api_data_type.dita index e19d4262b8c..11be0b0d6c8 100644 --- a/dita/flexible-classroom/edu-context/API/api_data_type.dita +++ b/dita/flexible-classroom/edu-context/API/api_data_type.dita @@ -2,6 +2,7 @@ 类型定义 - 本页列出 API 所有的类型定义。 + 本页列出 API + 所有的类型定义。 diff --git a/dita/flexible-classroom/edu-context/API/api_getallwidgetactivity.dita b/dita/flexible-classroom/edu-context/API/api_getallwidgetactivity.dita index b4c2baa6ca7..0399ae56160 100644 --- a/dita/flexible-classroom/edu-context/API/api_getallwidgetactivity.dita +++ b/dita/flexible-classroom/edu-context/API/api_getallwidgetactivity.dita @@ -13,10 +13,11 @@

    - - - -

    + + + + +

    返回值 diff --git a/dita/flexible-classroom/edu-context/API/api_getlocaldevicestate.dita b/dita/flexible-classroom/edu-context/API/api_getlocaldevicestate.dita index cf33941f507..3ea94e18d95 100644 --- a/dita/flexible-classroom/edu-context/API/api_getlocaldevicestate.dita +++ b/dita/flexible-classroom/edu-context/API/api_getlocaldevicestate.dita @@ -13,34 +13,37 @@

    - abstract fun getLocalDeviceState(deviceInfo: AgoraEduContextDeviceInfo, + abstract fun getLocalDeviceState(deviceInfo: AgoraEduContextDeviceInfo, callback: EduContextCallback<AgoraEduContextDeviceState2>?) - void getLocalDeviceState(AgoraEduContextDeviceInfo device, + void getLocalDeviceState(AgoraEduContextDeviceInfo device, Callback<AgoraEduContextDeviceState> success, Callback<AgoraEduContextError> fail) - -

    + + +

    参数 - - device - deviceInfo - 设备信息,详见 - - - success - 调用成功,则返回设备状态 - - - callback - 通过 异步返回设备状态 - - - fail - 调用失败,则返回 - -
    + + device + deviceInfo + 设备信息,详见 + + + success + 调用成功,则返回设备状态 + + + callback + 通过 异步返回设备状态 + + + fail + 调用失败,则返回 + + +
    diff --git a/dita/flexible-classroom/edu-context/API/api_getsnapshot.dita b/dita/flexible-classroom/edu-context/API/api_getsnapshot.dita index cd1d89ba9b6..ada2dd81372 100644 --- a/dita/flexible-classroom/edu-context/API/api_getsnapshot.dita +++ b/dita/flexible-classroom/edu-context/API/api_getsnapshot.dita @@ -13,19 +13,20 @@

    - abstract fun getSnapshot( + abstract fun getSnapshot( roomUuid: String, streamUuid: String, filePath: String, callback: EduContextCallback<FcrSnapshotInfo>? ) - void getSnapshot(String roomUuid, + void getSnapshot(String roomUuid, String streamUuid, String filePath, Callback<FcrSnapshotInfo> success, Callback<AgoraEduContextError> failure) - -

    + + +

    从视频流中截图,生成 JPG 文件。每次调用此 API 需间隔至少一秒。

    @@ -33,30 +34,31 @@
    参数 - - roomUuid - 房间 ID。 - - - streamUuid - 流 ID - - - filePath - 保存截图的本地绝对路径。需完整写出文件名,例如 xxx/xxx/example.jpg。 - - - success - 调用成功,则返回截图信息 - - - fail - - - - callback - 调用成功,则返回截图信息 - -
    + + roomUuid + 房间 ID。 + + + streamUuid + 流 ID + + + filePath + 保存截图的本地绝对路径。需完整写出文件名,例如 xxx/xxx/example.jpg。 + + + success + 调用成功,则返回截图信息 + + + fail + + + + callback + 调用成功,则返回截图信息 + + +
    diff --git a/dita/flexible-classroom/edu-context/API/api_getwidgetactivity.dita b/dita/flexible-classroom/edu-context/API/api_getwidgetactivity.dita index 53672f65d8a..01a456bda65 100644 --- a/dita/flexible-classroom/edu-context/API/api_getwidgetactivity.dita +++ b/dita/flexible-classroom/edu-context/API/api_getwidgetactivity.dita @@ -13,19 +13,21 @@

    - - Bool getWidgetActivity(String widgetId) - -

    + + Bool getWidgetActivity(String widgetId) + + +

    参数 - - widgetId - Widget 的 ID。 - -
    + + widgetId + Widget 的 ID。 + + +
    返回值

    Widget 是否处于活跃状态。

    diff --git a/dita/flexible-classroom/edu-context/API/api_getwidgetconfig.dita b/dita/flexible-classroom/edu-context/API/api_getwidgetconfig.dita index 07a707efac0..6d62505929c 100644 --- a/dita/flexible-classroom/edu-context/API/api_getwidgetconfig.dita +++ b/dita/flexible-classroom/edu-context/API/api_getwidgetconfig.dita @@ -13,19 +13,21 @@

    - - AgoraWidgetConfig getWidgetConfig(String widgetId) - -

    + + AgoraWidgetConfig getWidgetConfig(String widgetId) + + +

    参数 - - widgetId - Widget 的 ID。 - -
    + + widgetId + Widget 的 ID。 + + +
    返回值

    AgoraWidgetConfig

    diff --git a/dita/flexible-classroom/edu-context/API/api_getwidgetconfigs.dita b/dita/flexible-classroom/edu-context/API/api_getwidgetconfigs.dita index 974951c1485..150b2118677 100644 --- a/dita/flexible-classroom/edu-context/API/api_getwidgetconfigs.dita +++ b/dita/flexible-classroom/edu-context/API/api_getwidgetconfigs.dita @@ -13,10 +13,11 @@

    - - Array<AgoraWidgetConfig> getWidgetConfigs() - -

    + + Array<AgoraWidgetConfig> getWidgetConfigs() + + +

    返回值 diff --git a/dita/flexible-classroom/edu-context/API/api_joinsubroom.dita b/dita/flexible-classroom/edu-context/API/api_joinsubroom.dita index c5791261823..204a04313f2 100644 --- a/dita/flexible-classroom/edu-context/API/api_joinsubroom.dita +++ b/dita/flexible-classroom/edu-context/API/api_joinsubroom.dita @@ -20,8 +20,7 @@

    -
    -
    +
    参数 diff --git a/dita/flexible-classroom/edu-context/API/api_oncohostuserlistadded.dita b/dita/flexible-classroom/edu-context/API/api_oncohostuserlistadded.dita index fe4c994be2b..e04feb196ef 100644 --- a/dita/flexible-classroom/edu-context/API/api_oncohostuserlistadded.dita +++ b/dita/flexible-classroom/edu-context/API/api_oncohostuserlistadded.dita @@ -21,8 +21,7 @@

    -
    -
    +
    参数 diff --git a/dita/flexible-classroom/edu-context/API/api_onremoteuserleft.dita b/dita/flexible-classroom/edu-context/API/api_onremoteuserleft.dita index 7f78764803a..76a913e134b 100644 --- a/dita/flexible-classroom/edu-context/API/api_onremoteuserleft.dita +++ b/dita/flexible-classroom/edu-context/API/api_onremoteuserleft.dita @@ -35,7 +35,8 @@ reason - 离开房间的原因,详见 。默认为 + 离开房间的原因,详见 。默认为
    diff --git a/dita/flexible-classroom/edu-context/API/api_onuserhandsdown.dita b/dita/flexible-classroom/edu-context/API/api_onuserhandsdown.dita index bd51cd0b298..34ce7c3008e 100644 --- a/dita/flexible-classroom/edu-context/API/api_onuserhandsdown.dita +++ b/dita/flexible-classroom/edu-context/API/api_onuserhandsdown.dita @@ -20,8 +20,7 @@

    -

    SDK 会在以下两种情况下触发此回调: -

      +

      SDK 会在以下两种情况下触发此回调:

      • 用户取消举手申请。
      • 用户取消申请被老师接受。

      diff --git a/dita/flexible-classroom/edu-context/API/api_openlocaldevice.dita b/dita/flexible-classroom/edu-context/API/api_openlocaldevice.dita index 6ca66ea3aa3..1b82c331757 100644 --- a/dita/flexible-classroom/edu-context/API/api_openlocaldevice.dita +++ b/dita/flexible-classroom/edu-context/API/api_openlocaldevice.dita @@ -35,7 +35,8 @@
    返回值 -

    如果传入的 deviceId 不存在,则返回

    +

    如果传入的 deviceId 不存在,则返回

    diff --git a/dita/flexible-classroom/edu-context/API/api_removewidgetactiveobserver.dita b/dita/flexible-classroom/edu-context/API/api_removewidgetactiveobserver.dita index e78b5520130..726974a449f 100644 --- a/dita/flexible-classroom/edu-context/API/api_removewidgetactiveobserver.dita +++ b/dita/flexible-classroom/edu-context/API/api_removewidgetactiveobserver.dita @@ -2,7 +2,8 @@ <ph keyref="removeWidgetActiveObserver"/> - + @@ -40,4 +41,4 @@ 返回值 - \ No newline at end of file + diff --git a/dita/flexible-classroom/edu-context/API/api_removewidgetmessageobserver.dita b/dita/flexible-classroom/edu-context/API/api_removewidgetmessageobserver.dita index fdf9db0617f..0475973f442 100644 --- a/dita/flexible-classroom/edu-context/API/api_removewidgetmessageobserver.dita +++ b/dita/flexible-classroom/edu-context/API/api_removewidgetmessageobserver.dita @@ -41,4 +41,4 @@ 返回值 - \ No newline at end of file + diff --git a/dita/flexible-classroom/edu-context/API/api_sendmessagetowidget.dita b/dita/flexible-classroom/edu-context/API/api_sendmessagetowidget.dita index a03ea54dd69..2958b4763dc 100644 --- a/dita/flexible-classroom/edu-context/API/api_sendmessagetowidget.dita +++ b/dita/flexible-classroom/edu-context/API/api_sendmessagetowidget.dita @@ -2,7 +2,8 @@ <ph keyref="sendMessageToWidget"/> - + @@ -41,4 +42,4 @@ 返回值 - \ No newline at end of file + diff --git a/dita/flexible-classroom/edu-context/API/api_setwidgetactive.dita b/dita/flexible-classroom/edu-context/API/api_setwidgetactive.dita index 2572e7ecf53..2daad33fe61 100644 --- a/dita/flexible-classroom/edu-context/API/api_setwidgetactive.dita +++ b/dita/flexible-classroom/edu-context/API/api_setwidgetactive.dita @@ -13,43 +13,48 @@

    - - void setWidgetActive(String widgetId, + + void setWidgetActive(String widgetId, String ownerUuid, Map<String: Any> roomProperties, AgoraWidgetFrame syncFrame, Callback<Void> success, Callback<Error> failure) - -

    + + +

    参数 - - widgetId - Widget 的 ID。 - - - ownerUuid - Widget 所属者的用户 ID。可为空。当用户离线时,其所拥有的 Widget 会触发 onWidgetInactive 回调。 - - - roomProperties - 可为空,用于更新 roomProperties.widgets.<widgetId>.ext 区域。 - - - syncFrame - 可为空,用于更新 roomProperties.widgets.<widgetId>.sizeposition 区域。 - - - success - 请求成功。 - - - fail - - -
    + + widgetId + Widget 的 ID。 + + + ownerUuid + Widget 所属者的用户 ID。可为空。当用户离线时,其所拥有的 Widget 会触发 + onWidgetInactive 回调。 + + + roomProperties + 可为空,用于更新 roomProperties.widgets.<widgetId>.ext + 区域。 + + + syncFrame + 可为空,用于更新 roomProperties.widgets.<widgetId>.size 和 + position 区域。 + + + success + 请求成功。 + + + fail + + + +
    diff --git a/dita/flexible-classroom/edu-context/API/api_setwidgetinactive.dita b/dita/flexible-classroom/edu-context/API/api_setwidgetinactive.dita index 90c17037798..58eb9d24466 100644 --- a/dita/flexible-classroom/edu-context/API/api_setwidgetinactive.dita +++ b/dita/flexible-classroom/edu-context/API/api_setwidgetinactive.dita @@ -13,12 +13,13 @@

    - - void setWidgetInactive(String widgetId, + + void setWidgetInactive(String widgetId, Callback<Void> success, Callback<Error> failure) - -

    + + +

    参数 diff --git a/dita/flexible-classroom/edu-context/API/api_startrendervideo.dita b/dita/flexible-classroom/edu-context/API/api_startrendervideo.dita index eb673d60c91..36c46494cf0 100644 --- a/dita/flexible-classroom/edu-context/API/api_startrendervideo.dita +++ b/dita/flexible-classroom/edu-context/API/api_startrendervideo.dita @@ -24,7 +24,8 @@

    -

    该方法在加入房间前后均可调用。如果你想要在加入房间前预览摄像头采集的视频流,可将 streamUuid 设为 0。

    +

    该方法在加入房间前后均可调用。如果你想要在加入房间前预览摄像头采集的视频流,可将 + streamUuid 设为 0。

    参数 diff --git a/dita/flexible-classroom/edu-context/API/api_updatewidgetsyncframe.dita b/dita/flexible-classroom/edu-context/API/api_updatewidgetsyncframe.dita index a72a3e51333..fa2b718f92c 100644 --- a/dita/flexible-classroom/edu-context/API/api_updatewidgetsyncframe.dita +++ b/dita/flexible-classroom/edu-context/API/api_updatewidgetsyncframe.dita @@ -13,20 +13,21 @@

    - - void updateWidgetSyncFrame(AgoraWidgetFrame syncFrame, + + void updateWidgetSyncFrame(AgoraWidgetFrame syncFrame, String widgetId, Callback<Void> success, Callback<Error> failure) - -

    + + +

    参数 - - + +
    diff --git a/dita/flexible-classroom/edu-context/API/api_videostreamsubscribelevel.dita b/dita/flexible-classroom/edu-context/API/api_videostreamsubscribelevel.dita index ba3bf46109a..a7150d3a70e 100644 --- a/dita/flexible-classroom/edu-context/API/api_videostreamsubscribelevel.dita +++ b/dita/flexible-classroom/edu-context/API/api_videostreamsubscribelevel.dita @@ -18,5 +18,6 @@ 分辨率高的视频流
    -
    + + diff --git a/dita/flexible-classroom/edu-context/API/class_audiorawdataconfig.dita b/dita/flexible-classroom/edu-context/API/class_audiorawdataconfig.dita index ce583cf0fb7..d1662cdb74e 100644 --- a/dita/flexible-classroom/edu-context/API/class_audiorawdataconfig.dita +++ b/dita/flexible-classroom/edu-context/API/class_audiorawdataconfig.dita @@ -6,41 +6,46 @@

    - public class FcrAudioRawDataConfig { + public class FcrAudioRawDataConfig { public int sampleRate = 48000; public int samplesPerChannel = 1024; public int channels = 1; public int mode = 0; public int position = 2; } - - -

    + + + +

    <text conref="../conref/conref_api_metadata.dita#metadata/property"/> - - sampleRate - 采样率,可设为 8000,16000,32000,44100 或 48000。默认值 48000。 - - - samplesPerChannel - 每次回调时每个声道的样本点个数。默认值 1024。 - - - channels - 单声道或双声道。默认值 1。 - - - mode - 对音频数据的操作权限,详见 。默认值 read only。 - 对音频数据的操作权限,目前只读 Constants.RAW_AUDIO_FRAME_OP_MODE_READ_ONLY - - - position - 音频数据在管道中的位置,比如录制后、播放前等,可设为 IAudioFrameObserver.POSITION_RECORD - -
    + + sampleRate + 采样率,可设为 8000,16000,32000,44100 或 48000。默认值 48000。 + + + samplesPerChannel + 每次回调时每个声道的样本点个数。默认值 1024。 + + + channels + 单声道或双声道。默认值 1。 + + + mode + 对音频数据的操作权限,详见 。默认值 + read only。 + 对音频数据的操作权限,目前只读 + Constants.RAW_AUDIO_FRAME_OP_MODE_READ_ONLY + + + position + 音频数据在管道中的位置,比如录制后、播放前等,可设为 + IAudioFrameObserver.POSITION_RECORD + + +
    diff --git a/dita/flexible-classroom/edu-context/API/class_classinfo.dita b/dita/flexible-classroom/edu-context/API/class_classinfo.dita index 8151205d7fb..88d4901fb29 100644 --- a/dita/flexible-classroom/edu-context/API/class_classinfo.dita +++ b/dita/flexible-classroom/edu-context/API/class_classinfo.dita @@ -6,15 +6,15 @@

    - data class AgoraEduContextClassInfo( + data class AgoraEduContextClassInfo( var state: AgoraEduContextClassState = AgoraEduContextClassState.Before, val startTime: Long = 0L, val duration: Long = 0L, val closeDelay: Long = 0L ) - - - + + +

    diff --git a/dita/flexible-classroom/edu-context/API/class_deviceinfo.dita b/dita/flexible-classroom/edu-context/API/class_deviceinfo.dita index be0ff5f2ad2..3719cdd9910 100644 --- a/dita/flexible-classroom/edu-context/API/class_deviceinfo.dita +++ b/dita/flexible-classroom/edu-context/API/class_deviceinfo.dita @@ -6,14 +6,14 @@

    - data class AgoraEduContextDeviceInfo( + data class AgoraEduContextDeviceInfo( val deviceId: String, val deviceName: String, val deviceType: AgoraEduContextDeviceType ) - - - + + +

    diff --git a/dita/flexible-classroom/edu-context/API/class_error.dita b/dita/flexible-classroom/edu-context/API/class_error.dita index 23718a6681e..d45d32f56a1 100644 --- a/dita/flexible-classroom/edu-context/API/class_error.dita +++ b/dita/flexible-classroom/edu-context/API/class_error.dita @@ -6,10 +6,10 @@

    - - - - + + + +

    diff --git a/dita/flexible-classroom/edu-context/API/class_fcraudiorawdata.dita b/dita/flexible-classroom/edu-context/API/class_fcraudiorawdata.dita index a0a79cd21da..c41df1a685c 100644 --- a/dita/flexible-classroom/edu-context/API/class_fcraudiorawdata.dita +++ b/dita/flexible-classroom/edu-context/API/class_fcraudiorawdata.dita @@ -6,44 +6,47 @@

    - public class FcrAudioRawData { + public class FcrAudioRawData { public int samplesPerChannel; public int bytesPerSample; public int channels; public int sampleRate; public ByteBuffer buffer; } - - -

    + + + +

    <text conref="../conref/conref_api_metadata.dita#metadata/property"/> - - samplesPerChannel - 每个声道的采样点数。 - - - bytesPerSample - 每个样本的字节数,2 字节。 - - - channels - 声道数。 - - - sampleRate - 采样率。 - - - buffer - 指向音频数据内存的指针。buffer 的长度(字节) = (samplesPerChannel * channels * bytesPerSample) - - - timestamp - 时间戳,单位毫秒。 - -
    + + samplesPerChannel + 每个声道的采样点数。 + + + bytesPerSample + 每个样本的字节数,2 字节。 + + + channels + 声道数。 + + + sampleRate + 采样率。 + + + buffer + 指向音频数据内存的指针。buffer 的长度(字节) = (samplesPerChannel * channels * + bytesPerSample) + + + timestamp + 时间戳,单位毫秒。 + + +
    diff --git a/dita/flexible-classroom/edu-context/API/class_fcrsnapshotinfo.dita b/dita/flexible-classroom/edu-context/API/class_fcrsnapshotinfo.dita index e58bea96d76..b32159e6c3c 100644 --- a/dita/flexible-classroom/edu-context/API/class_fcrsnapshotinfo.dita +++ b/dita/flexible-classroom/edu-context/API/class_fcrsnapshotinfo.dita @@ -13,40 +13,42 @@

    - class FcrSnapshotInfo { + class FcrSnapshotInfo { var roomUuid: String? = null var streamUuid: String? = null var filePath: String? = null var width: Int? = null var height: Int? = null } - - -

    + + + +

    参数 - - roomUuid - 房间 ID。 - - - streamUuid - 流 ID - - - filePath - 截图保存地址。 - - - width - 图片宽度。 - - - height - 图片高度。 - -
    + + roomUuid + 房间 ID。 + + + streamUuid + 流 ID + + + filePath + 截图保存地址。 + + + width + 图片宽度。 + + + height + 图片高度。 + + +
    diff --git a/dita/flexible-classroom/edu-context/API/class_groupcontext.dita b/dita/flexible-classroom/edu-context/API/class_groupcontext.dita index c78186701b4..8cecca94b89 100644 --- a/dita/flexible-classroom/edu-context/API/class_groupcontext.dita +++ b/dita/flexible-classroom/edu-context/API/class_groupcontext.dita @@ -2,7 +2,8 @@ <ph keyref="AgoraEduGroupContext"/> - 类。 + + 类。

    类提供的方法用于管理所有的子房间。可通过该类实现分组讨论功能。

    diff --git a/dita/flexible-classroom/edu-context/API/class_grouphandler.dita b/dita/flexible-classroom/edu-context/API/class_grouphandler.dita index e749b4db71b..48d13d8064e 100644 --- a/dita/flexible-classroom/edu-context/API/class_grouphandler.dita +++ b/dita/flexible-classroom/edu-context/API/class_grouphandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduGroupHandler"/> - 类包含子房间管理相关事件回调。 + + 类包含子房间管理相关事件回调。 diff --git a/dita/flexible-classroom/edu-context/API/class_groupinfo.dita b/dita/flexible-classroom/edu-context/API/class_groupinfo.dita index 9342ed9cf24..d1fd78ec215 100644 --- a/dita/flexible-classroom/edu-context/API/class_groupinfo.dita +++ b/dita/flexible-classroom/edu-context/API/class_groupinfo.dita @@ -6,10 +6,10 @@

    - - - - + + + +

    diff --git a/dita/flexible-classroom/edu-context/API/class_mediacontext.dita b/dita/flexible-classroom/edu-context/API/class_mediacontext.dita index 077789bac2d..37d28286cc8 100644 --- a/dita/flexible-classroom/edu-context/API/class_mediacontext.dita +++ b/dita/flexible-classroom/edu-context/API/class_mediacontext.dita @@ -2,10 +2,15 @@ <ph keyref="AgoraEduMediaContext"/> - 类。 + + 类。
    -

    类提供的方法用于:

    • 管理本地音视频设备。
    • 播放本地音频。
    • 渲染本地视频。

    +

    类提供的方法用于:

      +
    • 管理本地音视频设备。
    • +
    • 播放本地音频。
    • +
    • 渲染本地视频。
    • +

    diff --git a/dita/flexible-classroom/edu-context/API/class_mediahandler.dita b/dita/flexible-classroom/edu-context/API/class_mediahandler.dita index 92598120316..0b703f0fd33 100644 --- a/dita/flexible-classroom/edu-context/API/class_mediahandler.dita +++ b/dita/flexible-classroom/edu-context/API/class_mediahandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduMediaHandler"/> - 类包含媒体控制相关的事件回调。 + + 类包含媒体控制相关的事件回调。 diff --git a/dita/flexible-classroom/edu-context/API/class_monitorcontext.dita b/dita/flexible-classroom/edu-context/API/class_monitorcontext.dita index 17531d183bb..1f8641d8e99 100644 --- a/dita/flexible-classroom/edu-context/API/class_monitorcontext.dita +++ b/dita/flexible-classroom/edu-context/API/class_monitorcontext.dita @@ -2,10 +2,14 @@ <ph keyref="AgoraEduMonitorContext"/> - 类。 + + 类。
    -

    类提供的方法用于:

    • 监控 SDK 状态。
    • 向声网服务端上报状态信息。

    +

    类提供的方法用于:

      +
    • 监控 SDK 状态。
    • +
    • 向声网服务端上报状态信息。
    • +

    diff --git a/dita/flexible-classroom/edu-context/API/class_monitorhandler.dita b/dita/flexible-classroom/edu-context/API/class_monitorhandler.dita index 1b108af975e..6d4b017d66a 100644 --- a/dita/flexible-classroom/edu-context/API/class_monitorhandler.dita +++ b/dita/flexible-classroom/edu-context/API/class_monitorhandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduMonitorHandler"/> - 类包含 SDK 监控相关的事件回调。 + 类包含 SDK + 监控相关的事件回调。 diff --git a/dita/flexible-classroom/edu-context/API/class_renderconfig.dita b/dita/flexible-classroom/edu-context/API/class_renderconfig.dita index 61ee198a1b3..e92d32c5732 100644 --- a/dita/flexible-classroom/edu-context/API/class_renderconfig.dita +++ b/dita/flexible-classroom/edu-context/API/class_renderconfig.dita @@ -6,12 +6,12 @@

    - data class EduContextRenderConfig( + data class EduContextRenderConfig( val renderMode: EduContextRenderMode = EduContextRenderMode.HIDDEN, val mirrorMode: EduContextMirrorMode = EduContextMirrorMode.AUTO) - - - + + +

    diff --git a/dita/flexible-classroom/edu-context/API/class_roomcontext.dita b/dita/flexible-classroom/edu-context/API/class_roomcontext.dita index d11795d0b83..250d266ce44 100644 --- a/dita/flexible-classroom/edu-context/API/class_roomcontext.dita +++ b/dita/flexible-classroom/edu-context/API/class_roomcontext.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduRoomContext"/> - 类。 + + 类。 diff --git a/dita/flexible-classroom/edu-context/API/class_roomhandler.dita b/dita/flexible-classroom/edu-context/API/class_roomhandler.dita index 47732df5de6..35781ff4b3e 100644 --- a/dita/flexible-classroom/edu-context/API/class_roomhandler.dita +++ b/dita/flexible-classroom/edu-context/API/class_roomhandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduRoomHandler"/> - 类包含房间相关的事件回调。 + + 类包含房间相关的事件回调。 diff --git a/dita/flexible-classroom/edu-context/API/class_roominfo.dita b/dita/flexible-classroom/edu-context/API/class_roominfo.dita index 4ff8c52c66c..c8bf3653a4e 100644 --- a/dita/flexible-classroom/edu-context/API/class_roominfo.dita +++ b/dita/flexible-classroom/edu-context/API/class_roominfo.dita @@ -6,14 +6,14 @@

    - data class EduContextRoomInfo( + data class EduContextRoomInfo( val roomUuid: String, val roomName: String, val roomType: EduContextRoomType ) - - - + + +

    diff --git a/dita/flexible-classroom/edu-context/API/class_streamcontext.dita b/dita/flexible-classroom/edu-context/API/class_streamcontext.dita index 25d8e11c25c..ed00384935b 100644 --- a/dita/flexible-classroom/edu-context/API/class_streamcontext.dita +++ b/dita/flexible-classroom/edu-context/API/class_streamcontext.dita @@ -2,10 +2,15 @@ <ph keyref="AgoraEduStreamContext"/> - 类。 + + 类。
    -

    类提供的方法用于:

    • 发布和订阅流。
    • 流编码。
    • 更新流的信息和属性。

    +

    类提供的方法用于:

      +
    • 发布和订阅流。
    • +
    • 流编码。
    • +
    • 更新流的信息和属性。
    • +

    diff --git a/dita/flexible-classroom/edu-context/API/class_streamhandler.dita b/dita/flexible-classroom/edu-context/API/class_streamhandler.dita index a423725e143..8ce96840236 100644 --- a/dita/flexible-classroom/edu-context/API/class_streamhandler.dita +++ b/dita/flexible-classroom/edu-context/API/class_streamhandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduStreamHandler"/> - 类包含流相关的事件回调。 + + 类包含流相关的事件回调。 diff --git a/dita/flexible-classroom/edu-context/API/class_streaminfo.dita b/dita/flexible-classroom/edu-context/API/class_streaminfo.dita index 2536aa5a1a8..05a7ac4819b 100644 --- a/dita/flexible-classroom/edu-context/API/class_streaminfo.dita +++ b/dita/flexible-classroom/edu-context/API/class_streaminfo.dita @@ -6,7 +6,7 @@

    - data class AgoraEduContextStreamInfo( + data class AgoraEduContextStreamInfo( val streamUuid: String, val streamName: String?, val streamType: AgoraEduContextMediaStreamType, @@ -17,9 +17,9 @@ var videoState: AgoraEduContextMediaState, var audioState: AgoraEduContextMediaState, var owner: AgoraEduContextUserInfo) - - - + + +

    diff --git a/dita/flexible-classroom/edu-context/API/class_subroomcontext.dita b/dita/flexible-classroom/edu-context/API/class_subroomcontext.dita index 37532835a3a..3dce93068b4 100644 --- a/dita/flexible-classroom/edu-context/API/class_subroomcontext.dita +++ b/dita/flexible-classroom/edu-context/API/class_subroomcontext.dita @@ -2,7 +2,8 @@ <ph keyref="AgoraEduSubRoomContext"/> - 类。 + + 类。

    类提供的方法用于子房间控制。

    diff --git a/dita/flexible-classroom/edu-context/API/class_subroomcreateconfig.dita b/dita/flexible-classroom/edu-context/API/class_subroomcreateconfig.dita index 4ef698f826e..d7479d37e4b 100644 --- a/dita/flexible-classroom/edu-context/API/class_subroomcreateconfig.dita +++ b/dita/flexible-classroom/edu-context/API/class_subroomcreateconfig.dita @@ -6,10 +6,10 @@

    - - - - + + + +

    diff --git a/dita/flexible-classroom/edu-context/API/class_subroomhandler.dita b/dita/flexible-classroom/edu-context/API/class_subroomhandler.dita index 21819ea433e..5bedced2927 100644 --- a/dita/flexible-classroom/edu-context/API/class_subroomhandler.dita +++ b/dita/flexible-classroom/edu-context/API/class_subroomhandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduSubRoomHandler"/> - 类包含子房间相关事件回调。 + + 类包含子房间相关事件回调。 diff --git a/dita/flexible-classroom/edu-context/API/class_subroominfo.dita b/dita/flexible-classroom/edu-context/API/class_subroominfo.dita index 52f6ebde19e..ce528f54821 100644 --- a/dita/flexible-classroom/edu-context/API/class_subroominfo.dita +++ b/dita/flexible-classroom/edu-context/API/class_subroominfo.dita @@ -6,16 +6,16 @@

    - public class FCRGroupInfo { + public class FCRGroupInfo { public String userUuid; public String userName; public String role; public long ts; public FCREduContextGroupInfo payload; } - - - + + +

    diff --git a/dita/flexible-classroom/edu-context/API/class_usercontext.dita b/dita/flexible-classroom/edu-context/API/class_usercontext.dita index 585f826f707..4540f6e8edf 100644 --- a/dita/flexible-classroom/edu-context/API/class_usercontext.dita +++ b/dita/flexible-classroom/edu-context/API/class_usercontext.dita @@ -2,10 +2,14 @@ <ph keyref="AgoraEduUserContext"/> - 类。 + + 类。
    -

    类提供的方法用于:

    • 控制用户上下台行为。
    • 更新用户信息和属性。

    +

    类提供的方法用于:

      +
    • 控制用户上下台行为。
    • +
    • 更新用户信息和属性。
    • +

    diff --git a/dita/flexible-classroom/edu-context/API/class_userhandler.dita b/dita/flexible-classroom/edu-context/API/class_userhandler.dita index faa9c9dcc14..d488ae367b1 100644 --- a/dita/flexible-classroom/edu-context/API/class_userhandler.dita +++ b/dita/flexible-classroom/edu-context/API/class_userhandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduUserHandler"/> - 类包含用户相关事件回调。 + + 类包含用户相关事件回调。 diff --git a/dita/flexible-classroom/edu-context/API/class_userinfo.dita b/dita/flexible-classroom/edu-context/API/class_userinfo.dita index 01e7d998302..a0cbd6cbc39 100644 --- a/dita/flexible-classroom/edu-context/API/class_userinfo.dita +++ b/dita/flexible-classroom/edu-context/API/class_userinfo.dita @@ -6,13 +6,13 @@

    - data class AgoraEduContextUserInfo( + data class AgoraEduContextUserInfo( val userUuid: String, val userName: String, val role: AgoraEduContextUserRole = AgoraEduContextUserRole.Student) - - - + + +

    diff --git a/dita/flexible-classroom/edu-context/API/class_videostreamconfig.dita b/dita/flexible-classroom/edu-context/API/class_videostreamconfig.dita index 0f2b89e13e0..12ce1eb2f4a 100644 --- a/dita/flexible-classroom/edu-context/API/class_videostreamconfig.dita +++ b/dita/flexible-classroom/edu-context/API/class_videostreamconfig.dita @@ -6,16 +6,16 @@

    - data class AgoraEduContextLocalStreamConfig( + data class AgoraEduContextLocalStreamConfig( val width: Int, val height: Int, val frameRate: Int, val bitRate: Int, val mirror: Boolean ) - - - + + +

    diff --git a/dita/flexible-classroom/edu-context/API/edu_context_api_overview.dita b/dita/flexible-classroom/edu-context/API/edu_context_api_overview.dita index f97e7907def..a40315d3379 100644 --- a/dita/flexible-classroom/edu-context/API/edu_context_api_overview.dita +++ b/dita/flexible-classroom/edu-context/API/edu_context_api_overview.dita @@ -2,7 +2,9 @@ API 概览 - Classroom SDK 通过 Edu Context 为 App 开发者提供实现灵动课堂业务功能的能力。不同的 Context 代表灵动课堂中不同的业务功能模块,每个 Context 既包含供 App 调用的方法,也会向 App 报告事件回调。 + Classroom SDK 通过 Edu Context 为 App + 开发者提供实现灵动课堂业务功能的能力。不同的 Context 代表灵动课堂中不同的业务功能模块,每个 Context 既包含供 App 调用的方法,也会向 App + 报告事件回调。
    Media Context @@ -168,7 +170,8 @@ - + diff --git a/dita/flexible-classroom/edu-context/API/enum_audiorawdataposition.dita b/dita/flexible-classroom/edu-context/API/enum_audiorawdataposition.dita index 0dbf5b101b4..9dc25d18cc9 100644 --- a/dita/flexible-classroom/edu-context/API/enum_audiorawdataposition.dita +++ b/dita/flexible-classroom/edu-context/API/enum_audiorawdataposition.dita @@ -1,7 +1,7 @@ - <ph keyref="FcrAudioRawDataPosition"></ph> + <ph keyref="FcrAudioRawDataPosition"/> 音频管线节点。
    @@ -12,5 +12,6 @@ 录制后 -
    +
    + diff --git a/dita/flexible-classroom/edu-context/API/enum_audiosourcetype.dita b/dita/flexible-classroom/edu-context/API/enum_audiosourcetype.dita index 004f3e3284a..1caa6bc61b5 100644 --- a/dita/flexible-classroom/edu-context/API/enum_audiosourcetype.dita +++ b/dita/flexible-classroom/edu-context/API/enum_audiosourcetype.dita @@ -18,5 +18,6 @@ 麦克风采集的音频 -
    +
    +
    diff --git a/dita/flexible-classroom/edu-context/API/enum_classstate.dita b/dita/flexible-classroom/edu-context/API/enum_classstate.dita index f636d303558..76929dad96b 100644 --- a/dita/flexible-classroom/edu-context/API/enum_classstate.dita +++ b/dita/flexible-classroom/edu-context/API/enum_classstate.dita @@ -20,5 +20,6 @@ 课堂已结束。 -
    +
    +
    diff --git a/dita/flexible-classroom/edu-context/API/enum_connectionstate.dita b/dita/flexible-classroom/edu-context/API/enum_connectionstate.dita index fba0fcbe840..9092773b2d3 100644 --- a/dita/flexible-classroom/edu-context/API/enum_connectionstate.dita +++ b/dita/flexible-classroom/edu-context/API/enum_connectionstate.dita @@ -28,5 +28,6 @@ 被踢出。 -
    +
    +
    diff --git a/dita/flexible-classroom/edu-context/API/enum_devicestate.dita b/dita/flexible-classroom/edu-context/API/enum_devicestate.dita index cffa9821211..d4caa63a108 100644 --- a/dita/flexible-classroom/edu-context/API/enum_devicestate.dita +++ b/dita/flexible-classroom/edu-context/API/enum_devicestate.dita @@ -24,5 +24,6 @@ 设备开启 -
    +
    +
    diff --git a/dita/flexible-classroom/edu-context/API/enum_devicetype.dita b/dita/flexible-classroom/edu-context/API/enum_devicetype.dita index 3f2c05d89fa..cd6abbbaa1b 100644 --- a/dita/flexible-classroom/edu-context/API/enum_devicetype.dita +++ b/dita/flexible-classroom/edu-context/API/enum_devicetype.dita @@ -20,5 +20,6 @@ 扬声器 -
    +
    +
    diff --git a/dita/flexible-classroom/edu-context/API/enum_fcrrecordingstate.dita b/dita/flexible-classroom/edu-context/API/enum_fcrrecordingstate.dita index 5601230490c..09a4f270df3 100644 --- a/dita/flexible-classroom/edu-context/API/enum_fcrrecordingstate.dita +++ b/dita/flexible-classroom/edu-context/API/enum_fcrrecordingstate.dita @@ -1,7 +1,7 @@ - <ph keyref="FcrRecordingState"></ph> + <ph keyref="FcrRecordingState"/> 录制状态。
    @@ -20,5 +20,6 @@ 正在录制中 -
    +
    +
    diff --git a/dita/flexible-classroom/edu-context/API/enum_mediarawdataoperationmode.dita b/dita/flexible-classroom/edu-context/API/enum_mediarawdataoperationmode.dita index 692c5f8ae58..0e250e7e60f 100644 --- a/dita/flexible-classroom/edu-context/API/enum_mediarawdataoperationmode.dita +++ b/dita/flexible-classroom/edu-context/API/enum_mediarawdataoperationmode.dita @@ -7,10 +7,11 @@
    枚举值 - - - 只读模式 - -
    + + + 只读模式 + + + diff --git a/dita/flexible-classroom/edu-context/API/enum_mediasourcestate.dita b/dita/flexible-classroom/edu-context/API/enum_mediasourcestate.dita index 36e52343b89..98f5557f4a9 100644 --- a/dita/flexible-classroom/edu-context/API/enum_mediasourcestate.dita +++ b/dita/flexible-classroom/edu-context/API/enum_mediasourcestate.dita @@ -24,5 +24,6 @@ 媒体源开启 - + + diff --git a/dita/flexible-classroom/edu-context/API/enum_mediastreamtype.dita b/dita/flexible-classroom/edu-context/API/enum_mediastreamtype.dita index 4daabc0c698..54e20f1929b 100644 --- a/dita/flexible-classroom/edu-context/API/enum_mediastreamtype.dita +++ b/dita/flexible-classroom/edu-context/API/enum_mediastreamtype.dita @@ -24,5 +24,6 @@ 音视频流 - + + diff --git a/dita/flexible-classroom/edu-context/API/enum_mirrormode.dita b/dita/flexible-classroom/edu-context/API/enum_mirrormode.dita index f536758e99a..fb7038d8958 100644 --- a/dita/flexible-classroom/edu-context/API/enum_mirrormode.dita +++ b/dita/flexible-classroom/edu-context/API/enum_mirrormode.dita @@ -20,5 +20,6 @@ 关闭镜像模式。 - + + diff --git a/dita/flexible-classroom/edu-context/API/enum_networkquality.dita b/dita/flexible-classroom/edu-context/API/enum_networkquality.dita index 224a10eb1c7..a91b8442bc3 100644 --- a/dita/flexible-classroom/edu-context/API/enum_networkquality.dita +++ b/dita/flexible-classroom/edu-context/API/enum_networkquality.dita @@ -30,5 +30,6 @@ - + + diff --git a/dita/flexible-classroom/edu-context/API/enum_recordingstate.dita b/dita/flexible-classroom/edu-context/API/enum_recordingstate.dita index b2bdbecf532..db9866ad7f9 100644 --- a/dita/flexible-classroom/edu-context/API/enum_recordingstate.dita +++ b/dita/flexible-classroom/edu-context/API/enum_recordingstate.dita @@ -1,8 +1,9 @@ - <ph keyref="FcrRecordingState"></ph> - + <ph keyref="FcrRecordingState"/> +
    枚举值 @@ -12,5 +13,6 @@ -
    + +
    diff --git a/dita/flexible-classroom/edu-context/API/enum_roomtype.dita b/dita/flexible-classroom/edu-context/API/enum_roomtype.dita index 2e9be68821c..99aec991636 100644 --- a/dita/flexible-classroom/edu-context/API/enum_roomtype.dita +++ b/dita/flexible-classroom/edu-context/API/enum_roomtype.dita @@ -24,5 +24,6 @@ 专用于美术教学的小班课 - + + diff --git a/dita/flexible-classroom/edu-context/API/enum_systemdevice.dita b/dita/flexible-classroom/edu-context/API/enum_systemdevice.dita index 048ff012174..3017ecd4a66 100644 --- a/dita/flexible-classroom/edu-context/API/enum_systemdevice.dita +++ b/dita/flexible-classroom/edu-context/API/enum_systemdevice.dita @@ -1,7 +1,7 @@ - <ph keyref="AgoraEduContextSystemDevice"></ph> + <ph keyref="AgoraEduContextSystemDevice"/> 系统设备。
    @@ -24,5 +24,6 @@ 扬声器 -
    + +
    diff --git a/dita/flexible-classroom/edu-context/API/enum_userleavereason.dita b/dita/flexible-classroom/edu-context/API/enum_userleavereason.dita index 259ac2121c5..6dc44ff2c0d 100644 --- a/dita/flexible-classroom/edu-context/API/enum_userleavereason.dita +++ b/dita/flexible-classroom/edu-context/API/enum_userleavereason.dita @@ -18,5 +18,6 @@ 用户被踢出房间。 - + + diff --git a/dita/flexible-classroom/edu-context/API/enum_userrole.dita b/dita/flexible-classroom/edu-context/API/enum_userrole.dita index 8ccdf11e269..2fa561593ba 100644 --- a/dita/flexible-classroom/edu-context/API/enum_userrole.dita +++ b/dita/flexible-classroom/edu-context/API/enum_userrole.dita @@ -24,5 +24,6 @@ 助教 - + + diff --git a/dita/flexible-classroom/edu-context/API/enum_videorendermode.dita b/dita/flexible-classroom/edu-context/API/enum_videorendermode.dita index d5255406852..1793fad1e15 100644 --- a/dita/flexible-classroom/edu-context/API/enum_videorendermode.dita +++ b/dita/flexible-classroom/edu-context/API/enum_videorendermode.dita @@ -13,8 +13,10 @@ - Fit 模式。优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。 + Fit + 模式。优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频长宽与显示窗口不同,视窗上未被填满的区域将被涂黑。 - + + diff --git a/dita/flexible-classroom/edu-context/API/enum_videosourcetype.dita b/dita/flexible-classroom/edu-context/API/enum_videosourcetype.dita index 20b6fc0b0d8..58cadd9bf2b 100644 --- a/dita/flexible-classroom/edu-context/API/enum_videosourcetype.dita +++ b/dita/flexible-classroom/edu-context/API/enum_videosourcetype.dita @@ -24,5 +24,6 @@ 屏幕共享的视频 - + + diff --git a/dita/flexible-classroom/edu-context/conref/conref_api_metadata.dita b/dita/flexible-classroom/edu-context/conref/conref_api_metadata.dita index 11787590bbd..514c79162f8 100644 --- a/dita/flexible-classroom/edu-context/conref/conref_api_metadata.dita +++ b/dita/flexible-classroom/edu-context/conref/conref_api_metadata.dita @@ -4,14 +4,14 @@ API Metadata for Reuse

    - - 属性 - 属性 - 属性 - 属性 - 属性 - 属性 - + + 属性 + 属性 + 属性 + 属性 + 属性 + 属性 +

    diff --git a/dita/templates-cn/RTC/Callback.dita b/dita/templates-cn/RTC/Callback.dita index d14053c24e7..35892e720a7 100644 --- a/dita/templates-cn/RTC/Callback.dita +++ b/dita/templates-cn/RTC/Callback.dita @@ -2,7 +2,8 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - + @@ -13,22 +14,23 @@

    - - - - - - - - -

    + + + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    @@ -39,7 +41,7 @@
    触发时机

    -

    +
    使用限制

    @@ -47,17 +49,21 @@

    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。

    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + +
    diff --git a/dita/templates-cn/RTC/Class.dita b/dita/templates-cn/RTC/Class.dita index e6cebc89315..aacf07c8eff 100644 --- a/dita/templates-cn/RTC/Class.dita +++ b/dita/templates-cn/RTC/Class.dita @@ -2,51 +2,57 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - +

    - - - - - - - -

    + + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + + + + + + +
    +
    + - - - - -
    -
    - - -
    -
    - 方法 - - - - - -
    -
    + + +
    + 方法 + + + + + + +
    +
    diff --git a/dita/templates-cn/RTC/Enum.dita b/dita/templates-cn/RTC/Enum.dita index d2980690d9f..22e01ca85df 100644 --- a/dita/templates-cn/RTC/Enum.dita +++ b/dita/templates-cn/RTC/Enum.dita @@ -2,7 +2,8 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - +
    @@ -20,5 +21,6 @@ -
    + +
    diff --git a/dita/templates-cn/RTC/Method.dita b/dita/templates-cn/RTC/Method.dita index d74eff02632..85b0ca298a5 100644 --- a/dita/templates-cn/RTC/Method.dita +++ b/dita/templates-cn/RTC/Method.dita @@ -2,7 +2,8 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - + @@ -13,21 +14,22 @@

    - - - - - - - -

    + + + + + + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +

    @@ -38,7 +40,7 @@
    调用时机

    -

    +
    调用限制

    @@ -50,17 +52,22 @@

    参数 - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    方法成功调用时,无返回值;方法调用失败时,会抛出 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    +

    方法成功调用时,无返回值;方法调用失败时,会抛出 + 异常,你需要捕获异常并进行处理。详见了解详情和解决建议。

    • 0: 方法调用成功。
    • -
    • < 0: 方法调用失败。详见了解详情和解决建议。
    • -
    -
    +
  • < 0: 方法调用失败。详见了解详情和解决建议。
  • + + +
    diff --git a/dita/templates-cn/RTC/Release-Notes.dita b/dita/templates-cn/RTC/Release-Notes.dita index a941741f2cb..ea01deb0b04 100644 --- a/dita/templates-cn/RTC/Release-Notes.dita +++ b/dita/templates-cn/RTC/Release-Notes.dita @@ -13,8 +13,8 @@
    1. 升级必看的标题
        -
      • -
      • +
      • +
    2. 升级必看的标题

      @@ -28,8 +28,8 @@
      1. 新增特性名称
          -
        • -
        • +
        • +
      2. 新增特性名称

        @@ -43,8 +43,8 @@
        1. 改进名称
            -
          • -
          • +
          • +
        2. 改进名称

          @@ -56,7 +56,7 @@ 问题修复
            -
          • +
          @@ -66,19 +66,19 @@

          新增

            -
          • +

          修改

            -
          • +

          废弃

            -
          • +

          删除

            -
          • +

          diff --git a/dita/templates-cn/flexible-classroom/API.dita b/dita/templates-cn/flexible-classroom/API.dita index 77d38c8c849..55e2cd9176d 100644 --- a/dita/templates-cn/flexible-classroom/API.dita +++ b/dita/templates-cn/flexible-classroom/API.dita @@ -2,7 +2,8 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - + diff --git a/dita/templates-cn/flexible-classroom/Class.dita b/dita/templates-cn/flexible-classroom/Class.dita index 60a23cffa7f..c1580976a7a 100644 --- a/dita/templates-cn/flexible-classroom/Class.dita +++ b/dita/templates-cn/flexible-classroom/Class.dita @@ -2,14 +2,15 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - +

          - - - - + + + +

          diff --git a/dita/templates-cn/flexible-classroom/Enum.dita b/dita/templates-cn/flexible-classroom/Enum.dita index f45fb57c2d6..80e5dd140cd 100644 --- a/dita/templates-cn/flexible-classroom/Enum.dita +++ b/dita/templates-cn/flexible-classroom/Enum.dita @@ -2,7 +2,8 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - +
          @@ -20,5 +21,6 @@ -
          +
          +
          diff --git a/en-US/dita/RTC-NG/API/api_adjustloopbackrecordingvolume.dita b/en-US/dita/RTC-NG/API/api_adjustloopbackrecordingvolume.dita index a472cae5a9c..157e06f5f01 100644 --- a/en-US/dita/RTC-NG/API/api_adjustloopbackrecordingvolume.dita +++ b/en-US/dita/RTC-NG/API/api_adjustloopbackrecordingvolume.dita @@ -1,44 +1,50 @@ - <ph keyref="adjustLoopbackRecordingVolume" /> - Adjusts the volume of the signal captured by the sound card. + <ph keyref="adjustLoopbackRecordingVolume"/> + Adjusts the volume of the signal captured by the sound + card. - +

          - - - (int)adjustLoopbackRecordingVolume:(NSInteger)volume; - virtual int adjustLoopbackRecordingVolume(int volume) = 0; + + - (int)adjustLoopbackRecordingVolume:(NSInteger)volume; + virtual int adjustLoopbackRecordingVolume(int volume) = 0; - abstract adjustLoopbackRecordingVolume(volume: number): number; - public abstract int AdjustLoopbackRecordingVolume(int volume); - - Future<void> adjustLoopbackRecordingVolume(int volume);

          + abstract adjustLoopbackRecordingVolume(volume: number): number; + public abstract int AdjustLoopbackRecordingVolume(int volume); + + Future<void> adjustLoopbackRecordingVolume(int volume); +

          Details -

          After calling to enable loopback audio capturing, you can call this method to adjust the volume of the signal captured by the sound card.

          +

          After calling to enable loopback audio + capturing, you can call this method to adjust the volume of the signal captured by + the sound card.

          Parameters - - - - -
          + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        3. 0: Success.
        4. +
        5. < 0: Failure.
        6. + + diff --git a/en-US/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita b/en-US/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita index b6f2cb2fb62..aba040a1ea5 100644 --- a/en-US/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita +++ b/en-US/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithsize.dita @@ -1,58 +1,63 @@ - <ph keyref="initWithSize" /> - Specifies the video resolution and initializes the object. + <ph keyref="initWithSize"/> + Specifies the video resolution and initializes the + object. - +

          - - - (instancetype _Nonnull)initWithSize:(CGSize)size + + - (instancetype _Nonnull)initWithSize:(CGSize)size frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode mirrorMode:(AgoraVideoMirrorMode)mirrorMode; - - - - - -

          + + + + + +

          Parameters - - size - The video resolution. - - - frameRate - Video frame rate. See . - - - bitrate - The bitrate of the encoding video. - - - orientationMode - The orientation of the encoding video. See . - - - mirrorMode - Whether to enable mirroring mode when sending encoded video, only affects the video images seen by remote users. See . - -
          + + size + The video resolution. + + + frameRate + Video frame rate. See . + + + bitrate + The bitrate of the encoding video. + + + orientationMode + The orientation of the encoding video. See . + + + mirrorMode + Whether to enable mirroring mode when sending encoded video, only affects + the video images seen by remote users. See . + + +
          Returns -

          The initialized object.

          +

          The initialized object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita b/en-US/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita index 0cef8b5442d..d44a26e4371 100644 --- a/en-US/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita +++ b/en-US/dita/RTC-NG/API/api_agoravideoencoderconfiguration_initwithwidth.dita @@ -1,63 +1,68 @@ - <ph keyref="initWithWidth" /> - Specifies the video width and height, and initializes the object. + <ph keyref="initWithWidth"/> + Specifies the video width and height, and initializes + the object. - +

          - - - (instancetype _Nonnull)initWithWidth:(NSInteger)width + + - (instancetype _Nonnull)initWithWidth:(NSInteger)width height:(NSInteger)height frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode mirrorMode:(AgoraVideoMirrorMode)mirrorMode; - - - - - -

          + + + + + +

          Parameters - - width - The width of the video. - - - height - The height of the video. - - - frameRate - Video frame rate. See . - - - bitrate - The bitrate of the encoding video. - - - orientationMode - The orientation of the encoding video. See . - - - mirrorMode - Whether to enable mirroring mode when sending encoded video, only affects the video images seen by remote users. See . - -
          + + width + The width of the video. + + + height + The height of the video. + + + frameRate + Video frame rate. See . + + + bitrate + The bitrate of the encoding video. + + + orientationMode + The orientation of the encoding video. See . + + + mirrorMode + Whether to enable mirroring mode when sending encoded video, only affects + the video images seen by remote users. See . + + +
          Returns -

          The initialized object.

          +

          The initialized object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_getdestchannelmediainfos.dita b/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_getdestchannelmediainfos.dita index cc6bb339b4d..882e2c88cf9 100644 --- a/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_getdestchannelmediainfos.dita +++ b/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_getdestchannelmediainfos.dita @@ -2,7 +2,8 @@ <ph keyref="getDestChannelMediaInfos"/> - Gets the information of the target channel. + Gets the information of the target + channel. @@ -13,16 +14,16 @@

          - public Map<String, ChannelMediaInfo> getDestChannelMediaInfos() { + public Map<String, ChannelMediaInfo> getDestChannelMediaInfos() { return destInfos; } - - - - - - -

          + + + + + + +

          Returns diff --git a/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_getsrcchannelmediainfo.dita b/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_getsrcchannelmediainfo.dita index 26da29c87d3..a547281e6e9 100644 --- a/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_getsrcchannelmediainfo.dita +++ b/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_getsrcchannelmediainfo.dita @@ -1,32 +1,33 @@ - <ph keyref="getSrcChannelMediaInfo" /> - Gets the information of the source channel. + <ph keyref="getSrcChannelMediaInfo"/> + Gets the information of the source + channel. - +

          - public ChannelMediaInfo getSrcChannelMediaInfo() { + public ChannelMediaInfo getSrcChannelMediaInfo() { return srcInfo; } - - - - - - -

          + + + + + + +

          Returns -

          The information of the source channel. See .

          -
          +

          The information of the source channel. See .

          +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_removedestchannelinfo.dita b/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_removedestchannelinfo.dita index af0db70f8fa..0caab7233a4 100644 --- a/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_removedestchannelinfo.dita +++ b/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_removedestchannelinfo.dita @@ -2,7 +2,8 @@ <ph keyref="removeDestChannelInfo"/> - Deletes the information of target channel. + Deletes the information of target + channel. @@ -13,29 +14,32 @@

          - public void removeDestChannelInfo(String channelName) { + public void removeDestChannelInfo(String channelName) { destInfos.remove(channelName); } - - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName; - - - - - -

          + - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName; + + + + + +

          Parameters - - channelName - The channel name of the target channel. - -
          + + channelName + The channel name of the target channel. + + +
            -
          • : Success.
          • -
          • : Failure. See for details and resolution suggestions.
          • +
          • : Success.
          • +
          • : Failure. See for details and resolution + suggestions.
          diff --git a/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_setdestchannelinfo.dita b/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_setdestchannelinfo.dita index 686386f794e..5e171a232f8 100644 --- a/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_setdestchannelinfo.dita +++ b/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_setdestchannelinfo.dita @@ -2,7 +2,8 @@ <ph keyref="setDestChannelInfo"/> - Sets the information of the target channel. + Sets the information of the target + channel. @@ -13,45 +14,70 @@

          - public void setDestChannelInfo(String channelName, ChannelMediaInfo destInfo) { + public void setDestChannelInfo(String channelName, ChannelMediaInfo destInfo) { destInfos.put(channelName, destInfo); } - - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName; + - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName; - - - - - -

          + + + + + +

          Parameters - - channelName - The channel name of the target channel. - - - destInfo - destinationInfo - -

          The information of the target channel. See . It contains the following members:

            -
          • channelName: The name of the target channel.
          • -
          • token: The token for joining the target channel. This token is generated with the channelName and uid you set in destInfos.
              -
            • If you have not enabled the App Certificate, set this parameter as the default value , which means the SDK applies the App ID.
            • -
            • If you have enabled the App Certificate, you must use the token generated with the channelName and uid.
            • -

            If the token of any target channel expires, the whole media relay stops; hence Agora recommends that you specify the same expiration time for the tokens of all the target channels.

          • -
          • uid: The unique user ID to identify the relay stream in the target channel. The value ranges from 0 to (2 32-1). To avoid user ID conflicts, this user ID must be different from any other user ID in the target channel. The default value is 0, which means the SDK generates a random user ID.
          • -

          -
          -
          -
          + + channelName + The channel name of the target channel. + + + destInfo + destinationInfo + +

          The information of the target channel. See . It contains the following members:

            +
          • channelName: The name of the target + channel.
          • +
          • token: The token for + joining the target channel. This token is generated with the + channelName and + uid you set in + destInfos.
              +
            • If you have not enabled the App Certificate, set this + parameter as the default value , which means the SDK applies the App + ID.
            • +
            • If you have enabled the App Certificate, you must use + the token generated with the + channelName and + uid.
            • +
            +

            If the token of any target channel + expires, the whole media relay stops; hence Agora + recommends that you specify the same expiration time for + the tokens of all the target channels.

          • +
          • uid: The unique user ID to identify the + relay stream in the target channel. The value ranges from 0 to + (2 32-1). To avoid user ID conflicts, this user ID + must be different from any other user ID in the target channel. + The default value is 0, which means the SDK generates a random + user ID.
          • +
          +

          +
          +
          + +
            -
          • : Success.
          • -
          • : Failure. See for details and resolution suggestions.
          • +
          • : Success.
          • +
          • : Failure. See for details and resolution + suggestions.
          -
          \ No newline at end of file +
          diff --git a/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_setsrcchannelinfo.dita b/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_setsrcchannelinfo.dita index f1a2fd3fd32..deea257ca9f 100644 --- a/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_setsrcchannelinfo.dita +++ b/en-US/dita/RTC-NG/API/api_channelmediarelayconfiguration_setsrcchannelinfo.dita @@ -2,7 +2,8 @@ <ph keyref="setSrcChannelInfo"/> - Sets the information of the source channel. + Sets the information of the source + channel. @@ -13,33 +14,52 @@

          - public void setSrcChannelInfo(ChannelMediaInfo srcInfo) { + public void setSrcChannelInfo(ChannelMediaInfo srcInfo) { this.srcInfo = srcInfo; } - - - - - - -

          + + + + + + +

          Parameters - - srcInfo - -

          The information of the source channel . It contains the following members:

            -
          • channelName: The name of the source channel. The default value is , which means the SDK applies the name of the current channel.
          • -
          • token: The token for joining the source channel. This token is generated with the channelName and uid you set in srcInfo.
              -
            • If you have not enabled the App Certificate, set this parameter as the default value , which means the SDK applies the App ID.
            • -
            • If you have enabled the App Certificate, you must use the token generated with the channelName and uid, and the uid must be set as 0.
            • -
          • -
          • uid: The unique user ID to identify the relay stream in the source channel. Agora recommends leaving the default value of 0 unchanged.
          • -

          -
          -
          -
          + + srcInfo + +

          The information of the source channel . + It contains the following members:

            +
          • channelName: The name of the source + channel. The default value is , which means the SDK applies the name of the + current channel.
          • +
          • token: The token for + joining the source channel. This token is generated with the + channelName and + uid you set in + srcInfo.
              +
            • If you have not enabled the App Certificate, set this + parameter as the default value , which means the SDK applies the App + ID.
            • +
            • If you have enabled the App Certificate, you must use + the token generated with the + channelName and + uid, and the + uid must be set as 0.
            • +
            +
          • +
          • uid: The unique user ID to identify the + relay stream in the source channel. Agora recommends leaving the + default value of 0 unchanged.
          • +

          +
          +
          + +
          diff --git a/en-US/dita/RTC-NG/API/api_createagorartcengine.dita b/en-US/dita/RTC-NG/API/api_createagorartcengine.dita index 5ed8c0d3d73..eca395fbf4b 100644 --- a/en-US/dita/RTC-NG/API/api_createagorartcengine.dita +++ b/en-US/dita/RTC-NG/API/api_createagorartcengine.dita @@ -2,7 +2,9 @@ <ph keyref="createAgoraRtcEngine"/> - Creates one object. Creates one object. + Creates one + object. Creates one object. @@ -13,29 +15,32 @@

          - - - AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine () - export function createAgoraRtcEngine(): IRtcEngineEx { + + + AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine () + export function createAgoraRtcEngine(): IRtcEngineEx { return instance; } - public static IRtcEngine CreateAgoraRtcEngine() + public static IRtcEngine CreateAgoraRtcEngine() { return instance ?? (instance = new RtcEngine(IntPtr.Zero)); } - export function createAgoraRtcEngine(): IRtcEngine { + export function createAgoraRtcEngine(): IRtcEngine { return instance; } - RtcEngine createAgoraRtcEngine() { + RtcEngine createAgoraRtcEngine() { return impl.RtcEngineImpl.create(); -} -

          +} +

          Details -

          Currently, the Agora RTC SDK v4.x supports creating only one object for each app.

          -

          Currently, the Agora RTC SDK v4.x supports creating only one object for each app.

          -

          Currently, the Agora RTC SDK v6.x supports creating only one object for each app.

          +

          Currently, the Agora RTC SDK v4.x supports creating only one + object for each app.

          +

          Currently, the Agora RTC SDK v4.x supports creating + only one object for each app.

          +

          Currently, the Agora RTC SDK v6.x supports creating only one object for each app.

          Returns diff --git a/en-US/dita/RTC-NG/API/api_createagorartcengineex.dita b/en-US/dita/RTC-NG/API/api_createagorartcengineex.dita index 97a463d640b..166fda8b471 100644 --- a/en-US/dita/RTC-NG/API/api_createagorartcengineex.dita +++ b/en-US/dita/RTC-NG/API/api_createagorartcengineex.dita @@ -2,7 +2,8 @@ <ph keyref="createAgoraRtcEngineEx"/> - Creates one object. + Creates one + object. @@ -13,28 +14,30 @@

          - - - - - public static IRtcEngineEx CreateAgoraRtcEngineEx() + + + + + public static IRtcEngineEx CreateAgoraRtcEngineEx() { return (IRtcEngineEx)(instance ?? (instance = new RtcEngine(IntPtr.Zero))); } - - RtcEngineEx createAgoraRtcEngineEx() { + + RtcEngineEx createAgoraRtcEngineEx() { return impl.RtcEngineImpl.create(); } -

          +

          Details -

          Currently, the Agora RTC v4.x SDK supports creating only one object for each app.

          -

          Currently, the Agora RTC v6.x SDK supports creating only one object for each app.

          +

          Currently, the Agora RTC v4.x SDK supports creating only one + object for each app.

          +

          Currently, the Agora RTC v6.x SDK supports creating only one object for each app.

          Returns

          One object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_getaudiodevicemanager.dita b/en-US/dita/RTC-NG/API/api_getaudiodevicemanager.dita index bee5960b837..78f2e7db628 100644 --- a/en-US/dita/RTC-NG/API/api_getaudiodevicemanager.dita +++ b/en-US/dita/RTC-NG/API/api_getaudiodevicemanager.dita @@ -1,31 +1,33 @@ - <ph keyref="getAudioDeviceManager" /> - Gets the object to manage audio devices. + <ph keyref="getAudioDeviceManager"/> + Gets the object to + manage audio devices. - +

          - - - - - abstract getAudioDeviceManager(): IAudioDeviceManager; - public abstract IAudioDeviceManager GetAudioDeviceManager(); - - AudioDeviceManager getAudioDeviceManager(); -

          + + + + + abstract getAudioDeviceManager(): IAudioDeviceManager; + public abstract IAudioDeviceManager GetAudioDeviceManager(); + + AudioDeviceManager getAudioDeviceManager(); + +

          Returns -

          A object.

          +

          A object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_getmediaplayercachemanager.dita b/en-US/dita/RTC-NG/API/api_getmediaplayercachemanager.dita index 8d7eae441a7..428b2c64c88 100644 --- a/en-US/dita/RTC-NG/API/api_getmediaplayercachemanager.dita +++ b/en-US/dita/RTC-NG/API/api_getmediaplayercachemanager.dita @@ -1,40 +1,47 @@ - <ph keyref="getMediaPlayerCacheManager" /> - Creates one instance. Gets one instance. + <ph keyref="getMediaPlayerCacheManager"/> + Creates one instance. Gets one instance. - +

          - public abstract IMediaPlayerCacheManager getMediaPlayerCacheManager(); - - (id<AgoraRtcMediaPlayerCacheManagerProtocol> _Nullable)createMediaPlayerCacheManager; - AGORA_API agora::rtc::IMediaPlayerCacheManager* AGORA_CALL getMediaPlayerCacheManager(); - export function getMediaPlayerCacheManager(): IMediaPlayerCacheManager { + public abstract IMediaPlayerCacheManager getMediaPlayerCacheManager(); + - (id<AgoraRtcMediaPlayerCacheManagerProtocol> _Nullable)createMediaPlayerCacheManager; + AGORA_API agora::rtc::IMediaPlayerCacheManager* AGORA_CALL getMediaPlayerCacheManager(); + export function getMediaPlayerCacheManager(): IMediaPlayerCacheManager { return new IMediaPlayerCacheManagerImpl(); } - public abstract IMediaPlayerCacheManager GetMediaPlayerCacheManager(); - export function getMediaPlayerCacheManager(): IMediaPlayerCacheManager { + public abstract IMediaPlayerCacheManager GetMediaPlayerCacheManager(); + export function getMediaPlayerCacheManager(): IMediaPlayerCacheManager { return new IMediaPlayerCacheManagerImpl(); } - MediaPlayerCacheManager getMediaPlayerCacheManager() -

          + MediaPlayerCacheManager getMediaPlayerCacheManager() +

          Details -

          When you successfully call this method, the SDK returns a media player cache manager instance. The cache manager is a singleton pattern. Therefore, multiple calls to this method returns the same instance.

          +

          When you successfully call this method, the SDK returns a media player cache manager + instance. The cache manager is a singleton pattern. Therefore, multiple calls to + this method returns the same instance.

          -

          Make sure the is initialized before you call this method.

          -
          +

          Make sure the is initialized before you call this + method.

          + +
          Returns -

          The instance.

          +

          The instance.

          diff --git a/en-US/dita/RTC-NG/API/api_getmediarecorder.dita b/en-US/dita/RTC-NG/API/api_getmediarecorder.dita index ea4952a4a1f..3b7ac455e15 100644 --- a/en-US/dita/RTC-NG/API/api_getmediarecorder.dita +++ b/en-US/dita/RTC-NG/API/api_getmediarecorder.dita @@ -2,7 +2,8 @@ <ph keyref="getMediaRecorder"/> - Gets the object. + Gets the + object. @@ -13,29 +14,34 @@

          - - - AGORA_CPP_API static IMediaRecorder* getMediaRecorder(IRtcEngine* engine, IMediaRecorderObserver* callback); - - - -

          + + + AGORA_CPP_API static IMediaRecorder* getMediaRecorder(IRtcEngine* engine, IMediaRecorderObserver* callback); + + + + +

          Details - Make sure the is initialized before you call this method.
          + Make sure the is initialized before you + call this method. +
          Parameters - - engine - object. - - - callback - The audio and video recording event. See . - -
          + + engine + object. + + + callback + The audio and video recording event. See . + + +
          Returns

          object.

          diff --git a/en-US/dita/RTC-NG/API/api_iagoraparameter_setparameters.dita b/en-US/dita/RTC-NG/API/api_iagoraparameter_setparameters.dita index 0dfec677aa4..4e247e58d76 100644 --- a/en-US/dita/RTC-NG/API/api_iagoraparameter_setparameters.dita +++ b/en-US/dita/RTC-NG/API/api_iagoraparameter_setparameters.dita @@ -1,44 +1,47 @@ - <ph keyref="setParameters_IAgoraParameter" /> - Provides the technical preview functionalities or special customizations by configuring the SDK with JSON options. + <ph keyref="setParameters_IAgoraParameter"/> + Provides the technical preview functionalities or + special customizations by configuring the SDK with JSON options. - +

          - - - virtual int setParameters(const char* parameters) = 0; - - public abstract int SetParameters(string parameters); - - -

          + + + virtual int setParameters(const char* parameters) = 0; + + public abstract int SetParameters(string parameters); + + +

          Details -

          Contact to get the JSON configuration method.

          +

          Contact to get the JSON configuration method.

          Parameters - - parameters - Pointer to the set parameters in a JSON string. - -
          + + parameters + Pointer to the set parameters in a JSON string. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        7. 0: Success.
        8. +
        9. < 0: Failure.
        10. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getapplicationvolume.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getapplicationvolume.dita index c76367d5cd6..f8a73030242 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getapplicationvolume.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getapplicationvolume.dita @@ -13,30 +13,33 @@

          - - - virtual int getApplicationVolume(int& volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int getApplicationVolume(int& volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int GetApplicationVolume(int volume); - - - - -

          + + + + +

          Parameters - - volume - The volume of the app. The value range is [0,255]. - -
          + + volume + The volume of the app. The value range is [0,255]. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        11. 0: Success.
        12. +
        13. < 0: Failure. See for details + and resolution suggestions.
        14. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getcount.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getcount.dita index 23a0fbc4e8c..f2b70f470a3 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getcount.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getcount.dita @@ -2,7 +2,8 @@ <ph keyref="getCount_IAudioDeviceCollection"/> - Gets the total number of audio playback or audio capture devices. + Gets the total number of audio playback or audio + capture devices. @@ -13,20 +14,23 @@

          - - - virtual int getCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int getCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int GetCount(); - - - - -

          + + + + +

          Details -

          If you call before this method, the SDK returns the number of audio playback devices. If you call before this method, the SDK returns the number of audio capture devices.

          +

          If you call before this method, the SDK + returns the number of audio playback devices. If you call before this method, the SDK returns the + number of audio capture devices.

          Returns diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice.dita index cd2c8c902a7..940c347df0e 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice.dita @@ -2,7 +2,8 @@ <ph keyref="getDefaultDevice_IAudioDeviceCollection"/> - Gets the default audio device of the system. + Gets the default audio device of the + system. @@ -13,45 +14,56 @@

          - - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type; + - (AgoraRtcDeviceInfo* _Nullable)getDefaultAudioDevice:(AgoraMediaDeviceType)type; - virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int GetDefaultDevice(FString& deviceName, FString& deviceId); - - -

          + + +

          -
          • This method is for Windows and macOS only.
          • -
          • You need to call or to get the device list before calling this method.
          +
            +
          • This method is for Windows and macOS only.
          • +
          • You need to call or to get the device list before calling + this method.
          • +
          Parameters type - Output parameter; the device type, see . + Output parameter; the device type, see . - - deviceName - Output parameter; the name of the system's default audio device. The maximum length is . - - + + deviceName + Output parameter; the name of the system's default audio device. The maximum + length is . + + deviceId - Output parameter; the device ID of the system default audio device. The maximum length is . + Output parameter; the device ID of the system default audio device. The + maximum length is . -
          + +
          Returns
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
            -
          • Returns the object containing the default audio device information when the call succeeds.
          • +
          • Returns the object containing the default + audio device information when the call succeeds.
          • Returns when the call fails.
          • -
          + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice2.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice2.dita index 316e9dd0984..f857285a96a 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice2.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdefaultdevice2.dita @@ -2,7 +2,8 @@ <ph keyref="getDefaultDevice2_IAudioDeviceCollection"/> - Get the system‘s default audio device and its type. + Get the system‘s default audio device and its + type. @@ -13,42 +14,49 @@

          - - - virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - - - -

          + + + virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + + + + + +

          Details
          - -
          Since
          -
          v4.3.1
          -
          + +
          Since
          +
          v4.3.1
          +
          -
          • This method applies to macOS only.
          • -
          • You need to call or to get the device list before calling this method.
          +
            +
          • This method applies to macOS only.
          • +
          • You need to call or to get the device list before calling + this method.
          • +
          Parameters - - - - - - - - - - - - -
          -
          -
          + + + + + + + + + + + + + + +
          +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice.dita index ff6a5de054b..2a0fc4bd954 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice.dita @@ -1,55 +1,61 @@ - <ph keyref="getDevice_IAudioDeviceCollection" /> - Gets the information of a specified audio device by index. + <ph keyref="getDevice_IAudioDeviceCollection"/> + Gets the information of a specified audio device by + index. - +

          - - - virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int GetDevice(int index, FString& deviceName, FString& deviceId); - abstract getDevice(): string; - public abstract string GetDevice(); - - Future<String> getDevice(); -

          + abstract getDevice(): string; + public abstract string GetDevice(); + + Future<String> getDevice(); +

          -
          +

          This method is for Windows and macOS only.

          Parameters - - index - An input parameter. The index of the device. - - - deviceName - An output parameter. The device name. The maximum length is . - - - deviceId - An output parameter. The device ID. The maximum length is . - -
          + + index + An input parameter. The index of the device. + + + deviceName + An output parameter. The device name. The maximum length is . + + + deviceId + An output parameter. The device ID. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
          -

          Retrieves the information of the audio recording device.

          +

          Retrieves the information of the audio recording + device.

          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice2.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice2.dita index b49d0a0417a..9b5c2a9520a 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice2.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_getdevice2.dita @@ -2,7 +2,8 @@ <ph keyref="getDevice2_IAudioDeviceCollection"/> - Get the audio device information and device type by index. + Get the audio device information and device type by + index. @@ -13,47 +14,53 @@

          - - - virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH], + + + virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - - - -

          + + + + + +

          Details
          - -
          Since
          -
          v4.3.1
          -
          + +
          Since
          +
          v4.3.1
          +
          -

          You can call this method to get the name, type and ID of a specified audio device.

          +

          You can call this method to get the name, type and ID of a specified audio + device.

          This method is for macOS only.
          Parameters - - - - - - - - - - - - - - deviceTypeName - Output parameter; indicates the type of audio devices, such as built-in, USB and HDMI. The maximum length is . - -
          -
          -
          + + + + + + + + + + + + + + deviceTypeName + Output parameter; indicates the type of audio devices, such as built-in, USB + and HDMI. The maximum length is . + + + +
          +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_isapplicationmute.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_isapplicationmute.dita index abdd187891b..4bff5925295 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_isapplicationmute.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_isapplicationmute.dita @@ -13,35 +13,39 @@

          - - - virtual int isApplicationMute(bool &mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int isApplicationMute(bool &mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int IsApplicationMute(bool mute); - - - - -

          + + + + +

          Parameters - - mute - -

          Whether the app is muted:

            -
          • : The app is muted.
          • -
          • : The app is not muted.
          • -

          -
          -
          -
          + + mute + +

          Whether the app is muted:

            +
          • : The app is muted.
          • +
          • : The app is not + muted.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        15. 0: Success.
        16. +
        17. < 0: Failure. See for details + and resolution suggestions.
        18. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_release.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_release.dita index 4bf8365a8d5..2d660369ec2 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_release.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IAudioDeviceCollection"/> - Releases all the resources occupied by the object. + Releases all the resources occupied by the object. @@ -13,16 +14,16 @@

          - - - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") void Release(); - - - - -

          + + + + +

          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationmute.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationmute.dita index d02863ceeb8..b3aa7cd100e 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationmute.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationmute.dita @@ -13,33 +13,36 @@

          - - - virtual int setApplicationMute(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int setApplicationMute(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int SetApplicationMute(bool mute); - - - - -

          + + + + +

          Parameters - - mute - Whether to mute the app:
            -
          • : Mute the app.
          • -
          • : Unmute the app.
          • -
          -
          -
          + + mute + Whether to mute the app:
            +
          • : Mute the app.
          • +
          • : Unmute the app.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        19. 0: Success.
        20. +
        21. < 0: Failure. See for details + and resolution suggestions.
        22. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationvolume.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationvolume.dita index bf75ca6e6f8..477e6878adc 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationvolume.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setapplicationvolume.dita @@ -13,30 +13,33 @@

          - - - virtual int setApplicationVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int setApplicationVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int SetApplicationVolume(int volume); - - - - -

          + + + + +

          Parameters - - volume - The volume of the app. The value range is [0,255]. - -
          + + volume + The volume of the app. The value range is [0,255]. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        23. 0: Success.
        24. +
        25. < 0: Failure. See for details + and resolution suggestions.
        26. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setdevice.dita index ab3804ae4f5..a0a4c5d1100 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicecollection_setdevice.dita @@ -1,47 +1,59 @@ - <ph keyref="setDevice_IAudioDeviceCollection" /> + <ph keyref="setDevice_IAudioDeviceCollection"/> Specifies an audio device. - +

          - - - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") + + + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceCollection") int SetDevice(FString deviceId); - - public abstract int SetDevice(string deviceIdUTF8); - - Future<void> setDevice(String deviceIdUTF8); -

          + + public abstract int SetDevice(string deviceIdUTF8); + + Future<void> setDevice(String deviceIdUTF8); +

          Details -

          You can call this method to change the audio route currently being used, but this does not change the default audio route. For example, if the default audio route is speaker 1, you call this method to set the audio route as speaker 2 before joinging a channel and then start a device test, the SDK conducts device test on speaker 2. After the device test is completed and you join a channel, the SDK still uses speaker 1, the default audio route.

          -
          +

          You can call this method to change the audio route currently being used, but this + does not change the default audio route. For example, if the default audio route is + speaker 1, you call this method to set the audio route as speaker 2 before joinging + a channel and then start a device test, the SDK conducts device test on speaker 2. + After the device test is completed and you join a channel, the SDK still uses + speaker 1, the default audio route.

          +
          Parameters - - deviceId - The device ID. The maximum length is . - -
          + + deviceId + The device ID. The maximum length is . + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        27. 0: Success.
        28. +
        29. < 0: Failure. See for details + and resolution suggestions.
        30. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita index 50fee926f04..ee21d38d58d 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita @@ -1,42 +1,51 @@ - <ph keyref="enumeratePlaybackDevices" /> + <ph keyref="enumeratePlaybackDevices"/> Enumerates the audio playback devices. - +

          - - - virtual IAudioDeviceCollection* enumeratePlaybackDevices() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual IAudioDeviceCollection* enumeratePlaybackDevices() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") UIAudioDeviceCollection* EnumeratePlaybackDevices(); - abstract enumeratePlaybackDevices(): AudioDeviceInfo[]; - public abstract DeviceInfo[] EnumeratePlaybackDevices(); - abstract enumeratePlaybackDevices(): AudioDeviceInfo[]; - List<AudioDeviceInfo> enumeratePlaybackDevices(); -

          + abstract enumeratePlaybackDevices(): AudioDeviceInfo[]; + public abstract DeviceInfo[] EnumeratePlaybackDevices(); + abstract enumeratePlaybackDevices(): AudioDeviceInfo[]; + List<AudioDeviceInfo> enumeratePlaybackDevices(); +

          Details - This method is for Windows and macOS only. -

          This method returns an object that includes all audio playback devices in the system. With the object, the application can enumerate video devices. The application must call the method to release the returned object after using it.

          + This method is for Windows + and macOS only. +

          This method returns an + object that includes all audio playback devices in the system. With the object, the application can enumerate video + devices. The application must call the method to release the returned object after using it.

          Returns
            -
          • Success: Returns an object that includes all audio playback devices in the system.
          • -
          • Success: Returns a DeviceInfo array, which includes the device ID and device name of all the audio playback devices.
          • -
          • Success: Returns an array, which includes all the audio playback devices.
          • -
          • Failure: .
          • -
          • Failure: An empty array.
          • -
          +
        31. Success: Returns an object that includes all audio playback devices in the system.
        32. +
        33. Success: Returns a DeviceInfo array, which includes the device + ID and device name of all the audio playback devices.
        34. +
        35. Success: Returns an + array, which includes all the audio playback devices.
        36. +
        37. Failure: .
        38. +
        39. Failure: An empty array.
        40. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita index c0ee2d53962..b6e0e706937 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita @@ -1,42 +1,51 @@ - <ph keyref="enumerateRecordingDevices" /> + <ph keyref="enumerateRecordingDevices"/> Enumerates the audio capture devices. - +

          - - - virtual IAudioDeviceCollection* enumerateRecordingDevices() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual IAudioDeviceCollection* enumerateRecordingDevices() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") UIAudioDeviceCollection* EnumerateRecordingDevices(); - abstract enumerateRecordingDevices(): AudioDeviceInfo[]; - abstract DeviceInfo[] EnumerateRecordingDevices(); - abstract enumerateRecordingDevices(): AudioDeviceInfo[]; - List<AudioDeviceInfo> enumerateRecordingDevices(); -

          + abstract enumerateRecordingDevices(): AudioDeviceInfo[]; + abstract DeviceInfo[] EnumerateRecordingDevices(); + abstract enumerateRecordingDevices(): AudioDeviceInfo[]; + List<AudioDeviceInfo> enumerateRecordingDevices(); +

          Details - This method is for Windows and macOS only. -

          This method returns an object that includes all audio capture devices in the system. With the object, the application can enumerate video devices. The application must call the method to release the returned object after using it.

          + This method is for Windows + and macOS only. +

          This method returns an + object that includes all audio capture devices in the system. With the object, the application can enumerate video + devices. The application must call the method to release the returned object after using it.

          Returns
            -
          • Success: An object including all audio capture devices.
          • -
          • Success: A DeviceInfo array, which includes the device ID and device name of all the audio capture devices.
          • -
          • Success: An array, which includes all the audio capture devices.
          • -
          • Failure: .
          • -
          • Failure: An empty array.
          • -
          +
        41. Success: An object + including all audio capture devices.
        42. +
        43. Success: A DeviceInfo array, which includes the device ID and + device name of all the audio capture devices.
        44. +
        45. Success: An array, + which includes all the audio capture devices.
        46. +
        47. Failure: .
        48. +
        49. Failure: An empty array.
        50. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemloopbackdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemloopbackdevice.dita index 52f4b4b787d..b0e2bcda809 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemloopbackdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemloopbackdevice.dita @@ -2,7 +2,8 @@ <ph keyref="followSystemLoopbackDevice"/> - Sets whether the loopback device follows the system default playback device. + Sets whether the loopback device follows the system + default playback device. @@ -13,42 +14,56 @@

          - - - virtual int followSystemLoopbackDevice(bool enable) = 0; - abstract followSystemLoopbackDevice(enable: boolean): number; - public abstract int FollowSystemLoopbackDevice(bool enable); - - Future<void> followSystemLoopbackDevice(bool enable); -

          + + + virtual int followSystemLoopbackDevice(bool enable) = 0; + abstract followSystemLoopbackDevice(enable: boolean): number; + public abstract int FollowSystemLoopbackDevice(bool enable); + + Future<void> followSystemLoopbackDevice(bool enable); +

          Details
          - -
          Since
          -
          v4.0.1
          -
          + +
          Since
          +
          v4.0.1
          +
          -

          This method is for Windows and macOS only.

          +

          This method is for Windows and macOS + only.

          Parameters - - enable - Whether to follow the system default audio playback device:
            -
          • : Follow the system default audio playback device. When the default playback device of the system is changed, the SDK immediately switches to the loopback device.
          • -
          • : Do not follow the system default audio playback device. The SDK switches the audio loopback device to the system default audio playback device only when the current audio playback device is disconnected.
          • -
          -
          -
          + + enable + Whether to follow the system default audio playback device:
            +
          • : Follow the system default + audio playback device. When the default playback device of the + system is changed, the SDK immediately switches to the loopback + device.
          • +
          • : Do not follow the system + default audio playback device. The SDK switches the audio loopback + device to the system default audio playback device only when the + current audio playback device is disconnected.
          • +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        51. 0: Success.
        52. +
        53. < 0: Failure. See for details + and resolution suggestions.
        54. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita index 1bbbc220b39..58625885923 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita @@ -2,7 +2,8 @@ <ph keyref="followSystemPlaybackDevice"/> - Sets the audio playback device used by the SDK to follow the system default audio playback device. + Sets the audio playback device used by the SDK to + follow the system default audio playback device. @@ -13,37 +14,51 @@

          - (int) followSystemPlaybackDevice:(BOOL)enable; - virtual int followSystemPlaybackDevice(bool enable) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + (int) followSystemPlaybackDevice:(BOOL)enable; + virtual int followSystemPlaybackDevice(bool enable) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int FollowSystemPlaybackDevice(bool enable); - abstract followSystemPlaybackDevice(enable: boolean): number; - abstract followSystemPlaybackDevice(enable: boolean): number; - public abstract int FollowSystemPlaybackDevice(bool enable); - Future<void> followSystemPlaybackDevice(bool enable); -

          + abstract followSystemPlaybackDevice(enable: boolean): number; + abstract followSystemPlaybackDevice(enable: boolean): number; + public abstract int FollowSystemPlaybackDevice(bool enable); + Future<void> followSystemPlaybackDevice(bool enable); +

          Details - This method is for Windows and macOS only. + This method is for Windows + and macOS only.
          <ph keyref="callback-section-title"/> - - enable - Whether to follow the system default audio playback device:
            -
          • : Follow the system default audio playback device. The SDK immediately switches the audio playback device when the system default audio playback device changes.
          • -
          • : Do not follow the system default audio playback device. The SDK switches the audio playback device to the system default audio playback device only when the currently used audio playback device is disconnected.
          • -
          -
          -
          + + enable + Whether to follow the system default audio playback device:
            +
          • : Follow the system default + audio playback device. The SDK immediately switches the audio + playback device when the system default audio playback device + changes.
          • +
          • : Do not follow the system + default audio playback device. The SDK switches the audio playback + device to the system default audio playback device only when the + currently used audio playback device is disconnected.
          • +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        55. 0: Success.
        56. +
        57. < 0: Failure. See for details + and resolution suggestions.
        58. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita index 4e402ee4761..5701289288a 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita @@ -1,49 +1,63 @@ - <ph keyref="followSystemRecordingDevice" /> - Sets the audio recording device used by the SDK to follow the system default audio recording device. + <ph keyref="followSystemRecordingDevice"/> + Sets the audio recording device used by the SDK to + follow the system default audio recording device. - +

          - (int) followSystemRecordingDevice:(BOOL)enable; - virtual int followSystemRecordingDevice(bool enable) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + (int) followSystemRecordingDevice:(BOOL)enable; + virtual int followSystemRecordingDevice(bool enable) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int FollowSystemRecordingDevice(bool enable); - abstract followSystemRecordingDevice(enable: boolean): number; - public abstract int FollowSystemRecordingDevice(bool enable); - abstract followSystemRecordingDevice(enable: boolean): number; - Future<void> followSystemRecordingDevice(bool enable); -

          + abstract followSystemRecordingDevice(enable: boolean): number; + public abstract int FollowSystemRecordingDevice(bool enable); + abstract followSystemRecordingDevice(enable: boolean): number; + Future<void> followSystemRecordingDevice(bool enable); +

          Details - This method is for Windows and macOS only. + This method is for Windows + and macOS only.
          <ph keyref="callback-section-title"/> - - enable - Whether to follow the system default audio recording device:
            -
          • : Follow the system default audio playback device. The SDK immediately switches the audio recording device when the system default audio recording device changes.
          • -
          • : Do not follow the system default audio playback device. The SDK switches the audio recording device to the system default audio recording device only when the currently used audio recording device is disconnected.
          • -
          -
          + + enable + Whether to follow the system default audio recording device:
            +
          • : Follow the system default + audio playback device. The SDK immediately switches the audio + recording device when the system default audio recording device + changes.
          • +
          • : Do not follow the system + default audio playback device. The SDK switches the audio recording + device to the system default audio recording device only when the + currently used audio recording device is disconnected.
          • +
          +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        59. 0: Success.
        60. +
        61. < 0: Failure. See for details + and resolution suggestions.
        62. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getloopbackdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getloopbackdevice.dita index 0cc942b1559..4a69b8e1403 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getloopbackdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getloopbackdevice.dita @@ -13,38 +13,43 @@

          - - - virtual int getLoopbackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - abstract getLoopbackDevice(): string; - public abstract int GetLoopbackDevice(ref string deviceId); - - Future<String> getLoopbackDevice(); -

          + + + virtual int getLoopbackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + abstract getLoopbackDevice(): string; + public abstract int GetLoopbackDevice(ref string deviceId); + + Future<String> getLoopbackDevice(); +

          Details
          - -
          Since
          -
          v4.0.1
          -
          + +
          Since
          +
          v4.0.1
          +
          -

          This method is for Windows and macOS only.

          +

          This method is for Windows and macOS + only.

          Parameters - - deviceId - Output parameter, the ID of the current loopback device.The maximum length is . - -
          + + deviceId + Output parameter, the ID of the current loopback device. + The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.

          The ID of the current loopback device.

          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice.dita index 8a0b46d2e51..821e49d5349 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice.dita @@ -2,7 +2,8 @@ <ph keyref="getPlaybackDefaultDevice"/> - Gets the default audio playback device. + Gets the default audio playback + device. @@ -13,37 +14,43 @@

          - - - - abstract getPlaybackDefaultDevice(): AudioDeviceInfo; - public abstract int GetPlaybackDefaultDevice(ref string deviceId, ref string deviceName); - - Future<AudioDeviceInfo> getPlaybackDefaultDevice(); -

          + + + + abstract getPlaybackDefaultDevice(): AudioDeviceInfo; + public abstract int GetPlaybackDefaultDevice(ref string deviceId, ref string deviceName); + + Future<AudioDeviceInfo> getPlaybackDefaultDevice(); +

          Details - This method is for Windows and macOS only. + This method is for Windows and + macOS only.
          Parameters - - deviceId - Output parameter; indicates the ID of the default audio playback device. - - - deviceName - Output parameter; indicates the name of the default audio playback device. - + + deviceId + Output parameter; indicates the ID of the default audio playback + device. + + + deviceName + Output parameter; indicates the name of the default audio playback + device. + +
          Returns -

          The details about the default audio playback device. See .

          +

          The details about the default audio playback device. See + .

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice2.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice2.dita index a218c342c1e..0f4b024cf15 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice2.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdefaultdevice2.dita @@ -2,7 +2,8 @@ <ph keyref="getPlaybackDefaultDevice2"/> - Get the system‘s default audio playback device and its type. + Get the system‘s default audio playback device and its + type. @@ -13,41 +14,45 @@

          - - - - - public abstract int GetPlaybackDefaultDevice(ref string deviceId, ref string deviceTypeName, ref string deviceName); - - -

          + + + + + public abstract int GetPlaybackDefaultDevice(ref string deviceId, ref string deviceTypeName, ref string deviceName); + + +

          Details - This method applies to macOS only. + This method applies to macOS only.
          Parameters - - deviceId - Output parameter; indicates the ID of the default audio playback device. - - - deviceName - Output parameter; indicates the name of the default audio playback device. - - - deviceTypeName - Output parameter; indicates the type of audio devices, such as built-in, USB and HDMI. - + + deviceId + Output parameter; indicates the ID of the default audio playback + device. + + + deviceName + Output parameter; indicates the name of the default audio playback + device. + + + deviceTypeName + Output parameter; indicates the type of audio devices, such as built-in, USB + and HDMI. +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevice.dita index 9944872fb69..f1d978c9128 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevice.dita @@ -1,46 +1,52 @@ - <ph keyref="getPlaybackDevice" /> - Retrieves the audio playback device associated with the device ID. + <ph keyref="getPlaybackDevice"/> + Retrieves the audio playback device associated with the + device ID. - +

          - - - virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int GetPlaybackDevice(FString& deviceId); - abstract getPlaybackDevice(): string; - public abstract int GetPlaybackDevice(ref string deviceId); - abstract getPlaybackDevice(): string; - Future<String> getPlaybackDevice(); -

          + abstract getPlaybackDevice(): string; + public abstract int GetPlaybackDevice(ref string deviceId); + abstract getPlaybackDevice(): string; + Future<String> getPlaybackDevice(); +

          Details - This method is for Windows and macOS only. -
          + This method is for Windows + and macOS only. +
          Parameters - - deviceId - Output parameter. The device ID of the audio playback device. The maximum length is . - -
          + + deviceId + Output parameter. The device ID of the audio playback device. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.

          The current audio playback device.

          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita index 4e21a85a971..7189d2ebb5e 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita @@ -1,52 +1,60 @@ - <ph keyref="getPlaybackDeviceInfo" /> - Retrieves the information of the audio playback device. + <ph keyref="getPlaybackDeviceInfo"/> + Retrieves the information of the audio playback + device. - +

          - - - virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int GetPlaybackDeviceInfo(FString& deviceId, FString& deviceName); - abstract getPlaybackDeviceInfo(): AudioDeviceInfo; - public abstract int GetPlaybackDeviceInfo(ref string deviceId, ref string deviceName); - abstract getPlaybackDeviceInfo(): AudioDeviceInfo; - Future<AudioDeviceInfo> getPlaybackDeviceInfo(); -

          + abstract getPlaybackDeviceInfo(): AudioDeviceInfo; + public abstract int GetPlaybackDeviceInfo(ref string deviceId, ref string deviceName); + abstract getPlaybackDeviceInfo(): AudioDeviceInfo; + Future<AudioDeviceInfo> getPlaybackDeviceInfo(); +

          Details - This method is for Windows and macOS only. -
          + This method is for Windows + and macOS only. +
          Parameters - - deviceId - Th ID of the audio playback device. The maximum length is . - - - deviceName - Output parameter; the name of the playback device. The maximum length is . - -
          + + deviceId + Th ID of the audio playback device. The + maximum length is . + + + deviceName + Output parameter; the name of the playback device. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
          -

          An object, which contains the ID and device name of the audio devices.

          +

          An object, which + contains the ID and device name of the audio devices.

          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo2.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo2.dita index 4c7216dfeb2..0d2af225c50 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo2.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdeviceinfo2.dita @@ -2,7 +2,8 @@ <ph keyref="getPlaybackDeviceInfo2"/> - Get the information and type of the audio playback device. + Get the information and type of the audio playback + device. @@ -13,47 +14,55 @@

          - - - virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH]) = 0; - - - public abstract int GetPlaybackDeviceInfo(ref string deviceId, ref string deviceName, ref string deviceTypeName); - -

          + + + virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH]) = 0; + + + public abstract int GetPlaybackDeviceInfo(ref string deviceId, ref string deviceName, ref string deviceTypeName); + + +

          Details
          - -
          Since
          -
          v4.3.1
          -
          + +
          Since
          +
          v4.3.1
          +

          This method applies to macOS only.

          Parameters - - - - - - - - - - deviceTypeName - Output parameter; indicates the type of audio playback devices, such as built-in, USB and HDMI. The maximum length is . - -
          + + + + + + + + + + deviceTypeName + Output parameter; indicates the type of audio playback devices, such as + built-in, USB and HDMI. The maximum length is . + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly.

          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          -
          +
        63. < 0: Failure. See for details + and resolution suggestions.
        64. + + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicemute.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicemute.dita index 4e620e729c6..1499ac06866 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicemute.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicemute.dita @@ -1,51 +1,58 @@ - <ph keyref="getPlaybackDeviceMute" /> - Retrieves whether the audio playback device is muted. + <ph keyref="getPlaybackDeviceMute"/> + Retrieves whether the audio playback device is + muted. - +

          - - - virtual int getPlaybackDeviceMute(bool *mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int getPlaybackDeviceMute(bool *mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int GetPlaybackDeviceMute(bool& mute); - abstract getPlaybackDeviceMute(): boolean; - public abstract bool GetPlaybackDeviceMute(); - abstract getPlaybackDeviceMute(): boolean; - Future<bool> getPlaybackDeviceMute(); -

          + abstract getPlaybackDeviceMute(): boolean; + public abstract bool GetPlaybackDeviceMute(); + abstract getPlaybackDeviceMute(): boolean; + Future<bool> getPlaybackDeviceMute(); +

          Parameters - - mute - -

          Whether the audio playback device is muted.

            -
          • : The audio playback device is muted.
          • -
          • : The audio playback device is unmuted.
          • -

          -
          -
          -
          + + mute + +

          Whether the audio playback device is muted.

            +
          • : The audio playback device + is muted.
          • +
          • : The audio playback device + is unmuted.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
            -
          • : The audio playback device is muted.
          • -
          • : The audio playback device is unmuted.
          • -
          +
        65. : The audio playback device is muted.
        66. +
        67. : The audio playback device is + unmuted.
        68. + +
          -
          \ No newline at end of file +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita index 5111a45fef8..b42d95f925e 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita @@ -1,42 +1,47 @@ - <ph keyref="getPlaybackDeviceVolume" /> - Retrieves the volume of the audio playback device. + <ph keyref="getPlaybackDeviceVolume"/> + Retrieves the volume of the audio playback + device. - +

          - - - virtual int getPlaybackDeviceVolume(int *volume) = 0; - abstract getPlaybackDeviceVolume(): number; - public abstract int GetPlaybackDeviceVolume(); - abstract getPlaybackDeviceVolume(): number; - Future<int> getPlaybackDeviceVolume(); -

          + + + virtual int getPlaybackDeviceVolume(int *volume) = 0; + abstract getPlaybackDeviceVolume(): number; + public abstract int GetPlaybackDeviceVolume(); + abstract getPlaybackDeviceVolume(): number; + Future<int> getPlaybackDeviceVolume(); +

          Parameters - - volume - An output parameter. The volume of the audio playback device. The value range is [0,255]. - -
          + + volume + An output parameter. The volume of the audio playback device. The value + range is [0,255]. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
          -

          The volume of the audio playback device. The value range is [0,255].

          +

          The volume of the audio playback device. The value + range is [0,255].

          -
          \ No newline at end of file +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice.dita index 34f24856b6b..1645c4e9a6a 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice.dita @@ -13,37 +13,42 @@

          - - - - abstract getRecordingDefaultDevice(): AudioDeviceInfo; - public abstract int GetRecordingDefaultDevice(ref string deviceId, ref string deviceName); - - Future<AudioDeviceInfo> getRecordingDefaultDevice(); -

          + + + + abstract getRecordingDefaultDevice(): AudioDeviceInfo; + public abstract int GetRecordingDefaultDevice(ref string deviceId, ref string deviceName); + + Future<AudioDeviceInfo> getRecordingDefaultDevice(); +

          Details - This method is for Windows and macOS only. + This method is for Windows and + macOS only.
          Parameters - - deviceId - Output parameter; indicates the ID of the default audio capture device. - - - deviceName - Output parameter; indicates the name of the default audio capture device. - + + deviceId + Output parameter; indicates the ID of the default audio capture device. + + + deviceName + Output parameter; indicates the name of the default audio capture + device. + +
          Returns -

          The details about the default audio capture device. See .

          +

          The details about the default audio capture device. See + .

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice2.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice2.dita index 55678acd200..748125c596c 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice2.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdefaultdevice2.dita @@ -2,7 +2,8 @@ <ph keyref="getRecordingDefaultDevice2"/> - Gets the default audio capture device and its type. + Gets the default audio capture device and its + type. @@ -13,14 +14,14 @@

          - - - - - public abstract int GetRecordingDefaultDevice(ref string deviceId, ref string deviceTypeName, ref string deviceName); - - -

          + + + + + public abstract int GetRecordingDefaultDevice(ref string deviceId, ref string deviceTypeName, ref string deviceName); + + +

          Details @@ -29,25 +30,27 @@
          Parameters - - deviceId - Output parameter; indicates the ID of the default audio capture device. - - - deviceName - Output parameter; indicates the name of the default audio capture device. - - - - - + + deviceId + Output parameter; indicates the ID of the default audio capture device. + + + deviceName + Output parameter; indicates the name of the default audio capture + device. + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevice.dita index c0efe2c527c..de7dfe64906 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevice.dita @@ -2,7 +2,8 @@ <ph keyref="getRecordingDevice"/> - Gets the current audio recording device. + Gets the current audio recording + device. @@ -13,34 +14,39 @@

          - - - virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int GetRecordingDevice(FString& deviceId); - abstract getRecordingDevice(): string; - public abstract int GetRecordingDevice(ref string deviceId); - abstract getRecordingDevice(): string; - Future<String> getRecordingDevice(); -

          + abstract getRecordingDevice(): string; + public abstract int GetRecordingDevice(ref string deviceId); + abstract getRecordingDevice(): string; + Future<String> getRecordingDevice(); +

          Details - This method is for Windows and macOS only. -
          + This method is for Windows + and macOS only. +
          Parameters - - deviceId - An output parameter. The device ID of the recording device. The maximum length is . - -
          + + deviceId + An output parameter. The device ID of the recording device. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.

          The current audio recording device.

          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita index 1e4af5d14d0..86b32bc99d1 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita @@ -1,52 +1,60 @@ - <ph keyref="getRecordingDeviceInfo" /> - Retrieves the information of the audio recording device. + <ph keyref="getRecordingDeviceInfo"/> + Retrieves the information of the audio recording + device. - +

          - - - virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int GetRecordingDeviceInfo(FString& deviceId, FString& deviceName); - abstract getRecordingDeviceInfo(): AudioDeviceInfo; - public abstract int GetRecordingDeviceInfo(ref string deviceId, ref string deviceName); - abstract getRecordingDeviceInfo(): AudioDeviceInfo; - Future<AudioDeviceInfo> getRecordingDeviceInfo(); -

          + abstract getRecordingDeviceInfo(): AudioDeviceInfo; + public abstract int GetRecordingDeviceInfo(ref string deviceId, ref string deviceName); + abstract getRecordingDeviceInfo(): AudioDeviceInfo; + Future<AudioDeviceInfo> getRecordingDeviceInfo(); +

          Details - This method is for Windows and macOS only. -
          + This method is for Windows + and macOS only. +
          Parameters - - deviceId - Th ID of the audio playback device. The maximum length is . - - - deviceName - Output parameter; the name of the playback device. The maximum length is . - -
          + + deviceId + Th ID of the audio playback device. The + maximum length is . + + + deviceName + Output parameter; the name of the playback device. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
          -

          An object, which includes the device ID and device name.

          +

          An object, which + includes the device ID and device name.

          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo2.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo2.dita index b7e504235d2..5fb3df7c9bd 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo2.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdeviceinfo2.dita @@ -2,7 +2,8 @@ <ph keyref="getRecordingDeviceInfo2"/> - Get the information and type of the audio capturing device. + Get the information and type of the audio capturing + device. @@ -13,41 +14,45 @@

          - - - virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH]) = 0; - - - public abstract int GetRecordingDeviceInfo(ref string deviceId, ref string deviceName, ref string deviceTypeName); - -

          + + + virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH]) = 0; + + + public abstract int GetRecordingDeviceInfo(ref string deviceId, ref string deviceName, ref string deviceTypeName); + + +

          Details
          - -
          Since
          -
          v4.3.1
          -
          + +
          Since
          +
          v4.3.1
          +

          This method applies to macOS only.

          Parameters - - - - - - - - - - deviceTypeName - Output parameter; indicates the type of audio capturing devices, such as built-in, USB and HDMI. The maximum length is . - -
          + + + + + + + + + + deviceTypeName + Output parameter; indicates the type of audio capturing devices, such as + built-in, USB and HDMI. The maximum length is . + + +
          -
          +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicemute.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicemute.dita index d64cbd145c6..45beb3b64ba 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicemute.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicemute.dita @@ -1,47 +1,52 @@ - <ph keyref="getRecordingDeviceMute" /> - Gets whether the audio capture device is muted. + <ph keyref="getRecordingDeviceMute"/> + Gets whether the audio capture device is + muted. - +

          - - - virtual int getRecordingDeviceMute(bool *mute) = 0; - abstract getRecordingDeviceMute(): boolean; - public abstract bool GetRecordingDeviceMute(); - abstract getRecordingDeviceMute(): boolean; - Future<bool> getRecordingDeviceMute(); -

          + + + virtual int getRecordingDeviceMute(bool *mute) = 0; + abstract getRecordingDeviceMute(): boolean; + public abstract bool GetRecordingDeviceMute(); + abstract getRecordingDeviceMute(): boolean; + Future<bool> getRecordingDeviceMute(); +

          Parameters - - mute - Whether the audio capture device is muted.
            -
          • : The microphone is muted.
          • -
          • : The microphone is unmuted.
          • -
          -
          -
          + + mute + Whether the audio capture device is muted.
            +
          • : The microphone is muted.
          • +
          • : The microphone is + unmuted.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
            -
          • : The microphone is muted.
          • -
          • : The microphone is unmuted.
          • -
          +
        69. : The microphone is muted.
        70. +
        71. : The microphone is unmuted.
        72. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita index 93375f65a46..fab841cdfab 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita @@ -1,8 +1,9 @@ - <ph keyref="getRecordingDeviceVolume" /> - Retrieves the volume of the audio recording device. + <ph keyref="getRecordingDeviceVolume"/> + Retrieves the volume of the audio recording + device. @@ -13,34 +14,39 @@

          - - - virtual int getRecordingDeviceVolume(int *volume) = 0; - abstract getRecordingDeviceVolume(): number; - public abstract int GetRecordingDeviceVolume(); - abstract getRecordingDeviceVolume(): number; - Future<int> getRecordingDeviceVolume(); -

          + + + virtual int getRecordingDeviceVolume(int *volume) = 0; + abstract getRecordingDeviceVolume(): number; + public abstract int GetRecordingDeviceVolume(); + abstract getRecordingDeviceVolume(): number; + Future<int> getRecordingDeviceVolume(); +

          Details - This method applies to Windows only. + This method applies to + Windows only.
          Parameters - - volume - An output parameter. It indicates the volume of the audio recording device. The value range is [0,255]. - -
          + + volume + An output parameter. It indicates the volume of the audio recording device. + The value range is [0,255]. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
          -

          The volume of the audio recording device. The value range is [0,255].

          +

          The volume of the audio recording device. The value + range is [0,255].

          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_release.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_release.dita index 0fd6e0f5656..02c49105a53 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_release.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IAudioDeviceManager"/> - Releases all the resources occupied by the object. + Releases all the resources occupied by the object. @@ -13,16 +14,16 @@

          - - - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") void Release(); - abstract release(): void; - - abstract release(): void; - Future<void> release(); -

          + abstract release(): void; + + abstract release(): void; + Future<void> release(); +

          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setloopbackdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setloopbackdevice.dita index b94869426e2..e235d129e56 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setloopbackdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setloopbackdevice.dita @@ -13,51 +13,76 @@

          - - - virtual int setLoopbackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - abstract setLoopbackDevice(deviceId: string): number; - public abstract int SetLoopbackDevice(string deviceId); - - Future<void> setLoopbackDevice(String deviceId); -

          + + + virtual int setLoopbackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + abstract setLoopbackDevice(deviceId: string): number; + public abstract int SetLoopbackDevice(string deviceId); + + Future<void> setLoopbackDevice(String deviceId); +

          Details
          - -
          Since
          -
          v4.0.1
          -
          + +
          Since
          +
          v4.0.1
          +
          -

          The SDK uses the current playback device as the loopback device by default. If you want to specify another audio device as the loopback device, call this method, and set deviceId to the loopback device you want to specify.

          -

          You can call this method to change the audio route currently being used, but this does not change the default audio route. For example, if the default audio route is microphone, you call this method to set the audio route as a sound card before joinging a channel and then start a device test, the SDK conducts device test on the sound card. After the device test is completed and you join a channel, the SDK still uses the microphone for audio capturing.

          +

          The SDK uses the current playback device as the loopback device by default. If you + want to specify another audio device as the loopback device, call this method, and + set deviceId to the loopback device you want to specify.

          +

          You can call this method to change the audio route currently being used, but this + does not change the default audio route. For example, if the default audio route is + microphone, you call this method to set the audio route as a sound card before + joinging a channel and then start a device test, the SDK conducts device test on the + sound card. After the device test is completed and you join a channel, the SDK still + uses the microphone for audio capturing.

          -

          This method is for Windows and macOS only.

          -

          The scenarios where this method is applicable are as follows:

          -

          Use app A to play music through a Bluetooth headset; when using app B for a video conference, play through the speakers.

            -
          • If the loopback device is set as the Bluetooth headset, the SDK publishes the music in app A to the remote end.
          • -
          • If the loopback device is set as the speaker, the SDK does not publish the music in app A to the remote end.
          • -
          • If you set the loopback device as the Bluetooth headset, and then use a wired headset to play the music in app A, you need to call this method again, set the loopback device as the wired headset, and the SDK continues to publish the music in app A to remote end.
          • -

          -
          +

          This method is for Windows and macOS + only.

          +

          The scenarios where this method is applicable are as follows:

          +

          Use app A to play music through a Bluetooth headset; when using app B for a video + conference, play through the speakers.

            +
          • If the loopback device is set as the Bluetooth headset, the SDK + publishes the music in app A to the remote end.
          • +
          • If the loopback device is set as the speaker, the SDK does not publish + the music in app A to the remote end.
          • +
          • If you set the loopback device as the Bluetooth headset, and then use a + wired headset to play the music in app A, you need to call this method + again, set the loopback device as the wired headset, and the SDK + continues to publish the music in app A to remote end.
          • +

          + +
          Parameters - - deviceId - -

          Specifies the loopback device of the SDK. You can get the device ID by calling . Connecting or disconnecting the audio device does not change the value of deviceId.

          -

          The maximum length is .

          -
          -
          -
          + + deviceId + +

          Specifies the loopback device of the SDK. You can get the device ID by + calling . Connecting or + disconnecting the audio device does not change the value of + deviceId.

          +

          The maximum length is .

          +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        73. 0: Success.
        74. +
        75. < 0: Failure. See for details + and resolution suggestions.
        76. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevice.dita index 1740d9802c4..a356813ee32 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevice.dita @@ -1,51 +1,67 @@ - <ph keyref="setPlaybackDevice" /> + <ph keyref="setPlaybackDevice"/> Sets the audio playback device. - +

          - - - virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int SetPlaybackDevice(FString deviceId); - abstract setPlaybackDevice(deviceId: string): number; - public abstract int SetPlaybackDevice(string deviceId); - abstract setPlaybackDevice(deviceId: string): number; - Future<void> setPlaybackDevice(String deviceId); -

          + abstract setPlaybackDevice(deviceId: string): number; + public abstract int SetPlaybackDevice(string deviceId); + abstract setPlaybackDevice(deviceId: string): number; + Future<void> setPlaybackDevice(String deviceId); +

          Details - This method is for Windows and macOS only. -

          You can call this method to change the audio route currently being used, but this does not change the default audio route. For example, if the default audio route is speaker 1, you call this method to set the audio route as speaker 2 before joinging a channel and then start a device test, the SDK conducts device test on speaker 2. After the device test is completed and you join a channel, the SDK still uses speaker 1, the default audio route.

          -
          + This method is for Windows + and macOS only. +

          You can call this method to change the audio route currently being used, but this + does not change the default audio route. For example, if the default audio route is + speaker 1, you call this method to set the audio route as speaker 2 before joinging + a channel and then start a device test, the SDK conducts device test on speaker 2. + After the device test is completed and you join a channel, the SDK still uses + speaker 1, the default audio route.

          +
          Parameters - - deviceId - -

          The ID of the specified audio playback device. You can get the device ID by calling . Connecting or disconnecting the audio device does not change the value of deviceId.

          -

          The maximum length is .

          -
          -
          -
          + + deviceId + +

          The ID of the specified audio playback device. You can get the device ID + by calling . Connecting or + disconnecting the audio device does not change the value of + deviceId.

          +

          The maximum length is .

          +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        77. 0: Success.
        78. +
        79. < 0: Failure. See for details + and resolution suggestions.
        80. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicemute.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicemute.dita index fa868a1e9db..1b490b186e2 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicemute.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicemute.dita @@ -1,48 +1,56 @@ - <ph keyref="setPlaybackDeviceMute" /> + <ph keyref="setPlaybackDeviceMute"/> Mutes the audio playback device. - +

          - - - virtual int setPlaybackDeviceMute(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int setPlaybackDeviceMute(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int SetPlaybackDeviceMute(bool mute); - abstract setPlaybackDeviceMute(mute: boolean): number; - public abstract int SetPlaybackDeviceMute(bool mute); - abstract setPlaybackDeviceMute(mute: boolean): number; - Future<void> setPlaybackDeviceMute(bool mute); -

          + abstract setPlaybackDeviceMute(mute: boolean): number; + public abstract int SetPlaybackDeviceMute(bool mute); + abstract setPlaybackDeviceMute(mute: boolean): number; + Future<void> setPlaybackDeviceMute(bool mute); +

          Parameters - - mute - -

          Whether to mute the audio playback device:

            -
          • : Mute the audio playback device.
          • -
          • : Unmute the audio playback device.
          • -

          -
          -
          -
          + + mute + +

          Whether to mute the audio playback device:

            +
          • : Mute the audio playback + device.
          • +
          • : Unmute the audio playback + device.
          • +

          +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        81. 0: Success.
        82. +
        83. < 0: Failure. See for details + and resolution suggestions.
        84. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita index 7d1c96ee992..a2b9ee622c6 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita @@ -1,45 +1,53 @@ - <ph keyref="setPlaybackDeviceVolume" /> - Sets the volume of the audio playback device. + <ph keyref="setPlaybackDeviceVolume"/> + Sets the volume of the audio playback + device. - +

          - - - virtual int setPlaybackDeviceVolume(int volume) = 0; - abstract setPlaybackDeviceVolume(volume: number): number; - public abstract int SetPlaybackDeviceVolume(int volume); - abstract setPlaybackDeviceVolume(volume: number): number; - Future<void> setPlaybackDeviceVolume(int volume); -

          + + + virtual int setPlaybackDeviceVolume(int volume) = 0; + abstract setPlaybackDeviceVolume(volume: number): number; + public abstract int SetPlaybackDeviceVolume(int volume); + abstract setPlaybackDeviceVolume(volume: number): number; + Future<void> setPlaybackDeviceVolume(int volume); +

          Details - This method applies to Windows only. + This method applies to + Windows only.
          Parameters - - volume - The volume of the audio playback device. The value range is [0,255]. - -
          + + volume + The volume of the audio playback device. The value range is [0,255]. + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        85. 0: Success.
        86. +
        87. < 0: Failure. See for details + and resolution suggestions.
        88. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevice.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevice.dita index f3859bfc393..4cfbd86287f 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevice.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevice.dita @@ -1,51 +1,67 @@ - <ph keyref="setRecordingDevice" /> + <ph keyref="setRecordingDevice"/> Sets the audio capture device. - +

          - - - virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int SetRecordingDevice(FString deviceId); - abstract setRecordingDevice(deviceId: string): number; - public abstract int SetRecordingDevice(string deviceId); - abstract setRecordingDevice(deviceId: string): number; - Future<void> setRecordingDevice(String deviceId); -

          + abstract setRecordingDevice(deviceId: string): number; + public abstract int SetRecordingDevice(string deviceId); + abstract setRecordingDevice(deviceId: string): number; + Future<void> setRecordingDevice(String deviceId); +

          Details - This method is for Windows and macOS only. -

          You can call this method to change the audio route currently being used, but this does not change the default audio route. For example, if the default audio route is microphone, you call this method to set the audio route as bluetooth earphones before joinging a channel and then start a device test, the SDK conducts device test on the bluetooth earphones. After the device test is completed and you join a channel, the SDK still uses the microphone for audio capturing.

          + This method is for Windows + and macOS only. +

          You can call this method to change the audio route currently being used, but this + does not change the default audio route. For example, if the default audio route is + microphone, you call this method to set the audio route as bluetooth earphones + before joinging a channel and then start a device test, the SDK conducts device test + on the bluetooth earphones. After the device test is completed and you join a + channel, the SDK still uses the microphone for audio capturing.

          Parameters - - deviceId - -

          The ID of the audio capture device. You can get the Device ID by calling . Connecting or disconnecting the audio device does not change the value of deviceId.

          -

          The maximum length is .

          -
          -
          -
          + + deviceId + +

          The ID of the audio capture device. You can get the Device ID by calling + . Connecting or + disconnecting the audio device does not change the value of + deviceId.

          +

          The maximum length is .

          +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        89. 0: Success.
        90. +
        91. < 0: Failure. See for details + and resolution suggestions.
        92. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicemute.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicemute.dita index aa9a911f149..e1f61b29e50 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicemute.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicemute.dita @@ -1,46 +1,55 @@ - <ph keyref="setRecordingDeviceMute" /> - Sets the mute status of the audio capture device. + <ph keyref="setRecordingDeviceMute"/> + Sets the mute status of the audio capture + device. - +

          - - - virtual int setRecordingDeviceMute(bool mute) = 0; - abstract setRecordingDeviceMute(mute: boolean): number; - public abstract int SetRecordingDeviceMute(bool mute); - abstract setRecordingDeviceMute(mute: boolean): number; - Future<void> setRecordingDeviceMute(bool mute); -

          + + + virtual int setRecordingDeviceMute(bool mute) = 0; + abstract setRecordingDeviceMute(mute: boolean): number; + public abstract int SetRecordingDeviceMute(bool mute); + abstract setRecordingDeviceMute(mute: boolean): number; + Future<void> setRecordingDeviceMute(bool mute); +

          Parameters - - mute - -

          Whether to mute the audio recording device:

            -
          • : Mute the audio capture device.
          • -
          • : Unmute the audio capture device.
          • -

          -
          -
          -
          + + mute + +

          Whether to mute the audio recording device:

            +
          • : Mute the audio capture + device.
          • +
          • : Unmute the audio capture + device.
          • +

          +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        93. 0: Success.
        94. +
        95. < 0: Failure. See for details + and resolution suggestions.
        96. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita index 3acae17884d..1f8a9ef2c00 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita @@ -2,7 +2,8 @@ <ph keyref="setRecordingDeviceVolume"/> - Sets the volume of the audio capture device. + Sets the volume of the audio capture + device. @@ -13,35 +14,43 @@

          - - - virtual int setRecordingDeviceVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + + virtual int setRecordingDeviceVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int SetRecordingDeviceVolume(int volume); - abstract setRecordingDeviceVolume(volume: number): number; - public abstract int SetRecordingDeviceVolume(int volume); - abstract setRecordingDeviceVolume(volume: number): number; - Future<void> setRecordingDeviceVolume(int volume); -

          + abstract setRecordingDeviceVolume(volume: number): number; + public abstract int SetRecordingDeviceVolume(int volume); + abstract setRecordingDeviceVolume(volume: number): number; + Future<void> setRecordingDeviceVolume(int volume); +

          Details -

          This method is for Windows and macOS only.

          +

          This method is for Windows and macOS + only.

          Parameters - - volume - The volume of the audio recording device. The value range is [0,255]. 0 means no sound, 255 means maximum volume. - -
          + + volume + The volume of the audio recording device. The value range is [0,255]. 0 + means no sound, 255 means maximum volume. + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        97. 0: Success.
        98. +
        99. < 0: Failure. See for details + and resolution suggestions.
        100. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita index 722810267d0..fa22c9a8ed8 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita @@ -1,54 +1,74 @@ - <ph keyref="startAudioDeviceLoopbackTest" /> + <ph keyref="startAudioDeviceLoopbackTest"/> Starts an audio device loopback test. - +

          - - -(int)startAudioDeviceLoopbackTest:(int)indicationInterval; - virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + -(int)startAudioDeviceLoopbackTest:(int)indicationInterval; + virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StartAudioDeviceLoopbackTest(int indicationInterval); - abstract startAudioDeviceLoopbackTest(indicationInterval: number): number; - public abstract int StartAudioDeviceLoopbackTest(int indicationInterval); - abstract startAudioDeviceLoopbackTest(indicationInterval: number): number; - Future<void> startAudioDeviceLoopbackTest(int indicationInterval); -

          + abstract startAudioDeviceLoopbackTest(indicationInterval: number): number; + public abstract int StartAudioDeviceLoopbackTest(int indicationInterval); + abstract startAudioDeviceLoopbackTest(indicationInterval: number): number; + Future<void> startAudioDeviceLoopbackTest(int indicationInterval); +

          Details -

          This method tests whether the local audio capture device and playback device are working properly. After starting the test, the audio capture device records the local audio, and the audio playback device plays the captured audio. The SDK triggers two independent callbacks at the time interval set in this method, which reports the volume information of the capture device (uid = 0) and the volume information of the playback device (uid = 1) respectively.

          +

          This method tests whether the local audio capture device and playback device are + working properly. After starting the test, the audio capture device records the + local audio, and the audio playback device plays the captured audio. The SDK + triggers two independent callbacks at the + time interval set in this method, which reports the volume information of the + capture device (uid = 0) and the volume information of the + playback device (uid = 1) respectively.

          -
            -
          • This method is for Windows and macOS only.
          • -
          • You can call this method either before or after joining a channel.
          • -
          • This method only takes effect when called by the host.
          • -
          • This method tests local audio devices and does not report the network conditions.
          • -
          • When you finished testing, call to stop the audio device loopback test.
          • -
          +
            +
          • This method is for Windows and macOS + only.
          • +
          • You can call this method either before or after joining a channel.
          • +
          • This method only takes effect when called by the host.
          • +
          • This method tests local audio devices and does not report the network + conditions.
          • +
          • When you finished testing, call + to stop the audio device loopback test.
          • +
          +
          Parameters - - indicationInterval - The time interval (ms) at which the SDK triggers the callback. Agora recommends setting a value greater than 200 ms. This value must not be less than 10 ms; otherwise, you can not receive the callback. - -
          + + indicationInterval + The time interval (ms) at which the SDK triggers the callback. Agora recommends setting a + value greater than 200 ms. This value must not be less than 10 ms; + otherwise, you can not receive the callback. + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        101. 0: Success.
        102. +
        103. < 0: Failure. See for details + and resolution suggestions.
        104. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startplaybackdevicetest.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startplaybackdevicetest.dita index 86f49e9370f..3121070ba38 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startplaybackdevicetest.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startplaybackdevicetest.dita @@ -1,56 +1,72 @@ - <ph keyref="startPlaybackDeviceTest" /> + <ph keyref="startPlaybackDeviceTest"/> Starts the audio playback device test. - +

          - public abstract int startPlaybackDeviceTest(String audioFileName); - - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName; - virtual int startPlaybackDeviceTest(const char* testAudioFilePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + public abstract int startPlaybackDeviceTest(String audioFileName); + - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName; + virtual int startPlaybackDeviceTest(const char* testAudioFilePath) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StartPlaybackDeviceTest(FString testAudioFilePath); - abstract startPlaybackDeviceTest(testAudioFilePath: string): number; - public abstract int StartPlaybackDeviceTest(string testAudioFilePath); - abstract startPlaybackDeviceTest(testAudioFilePath: string): number; - Future<void> startPlaybackDeviceTest(String testAudioFilePath); -

          + abstract startPlaybackDeviceTest(testAudioFilePath: string): number; + public abstract int StartPlaybackDeviceTest(string testAudioFilePath); + abstract startPlaybackDeviceTest(testAudioFilePath: string): number; + Future<void> startPlaybackDeviceTest(String testAudioFilePath); +

          Details -

          This method tests whether the audio device for local playback works properly. Once a user starts the test, the SDK plays an audio file specified by the user. If the user can hear the audio, the playback device works properly.

          -

          After calling this method, the SDK triggers the callback every 100 ms, reporting uid = 1 and the volume information of the playback device.

          -

          The difference between this method and the method is that the former checks if the local audio playback device is working properly, while the latter can check the audio and video devices and network conditions.

          - Ensure that you call this method before joining a channel. After the test is completed, call to stop the test before joining a channel. +

          This method tests whether the audio device for local playback works properly. Once a + user starts the test, the SDK plays an audio file specified by the user. If the user + can hear the audio, the playback device works properly.

          +

          After calling this method, the SDK triggers the callback every 100 ms, reporting + uid = 1 and the volume information of the playback + device.

          +

          The difference between this method and the method is + that the former checks if the local audio playback device is working properly, while + the latter can check the audio and video devices and network conditions.

          + Ensure that you call this method before joining a channel. After + the test is completed, call to stop the test + before joining a channel.
          Parameters - - testAudioFilePath - audioFileName - -

          The path of the audio file. The data format is string in UTF-8.

            -
          • Supported file formats: wav, mp3, m4a, and aac.
          • -
          • Supported file sample rates: 8000, 16000, 32000, 44100, and 48000 Hz.
          • -

          -
          -
          -
          + + testAudioFilePath + audioFileName + +

          The path of the audio file. The data format is string in UTF-8.

            +
          • Supported file formats: wav, mp3, m4a, and aac.
          • +
          • Supported file sample rates: 8000, 16000, 32000, 44100, and + 48000 Hz.
          • +

          +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        105. 0: Success.
        106. +
        107. < 0: Failure. See for details + and resolution suggestions.
        108. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startrecordingdevicetest.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startrecordingdevicetest.dita index db3f12cc5bf..cd65f46560f 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startrecordingdevicetest.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_startrecordingdevicetest.dita @@ -2,7 +2,8 @@ <ph keyref="startRecordingDeviceTest"/> - Starts the audio capturing device test. + Starts the audio capturing device + test. @@ -13,39 +14,56 @@

          - public abstract int startRecordingDeviceTest(int indicationInterval); - - (int)startRecordingDeviceTest:(int)indicationInterval; - virtual int startRecordingDeviceTest(int indicationInterval) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + public abstract int startRecordingDeviceTest(int indicationInterval); + - (int)startRecordingDeviceTest:(int)indicationInterval; + virtual int startRecordingDeviceTest(int indicationInterval) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StartRecordingDeviceTest(int indicationInterval); - abstract startRecordingDeviceTest(indicationInterval: number): number; - public abstract int StartRecordingDeviceTest(int indicationInterval); - abstract startRecordingDeviceTest(indicationInterval: number): number; - Future<void> startRecordingDeviceTest(int indicationInterval); -

          + abstract startRecordingDeviceTest(indicationInterval: number): number; + public abstract int StartRecordingDeviceTest(int indicationInterval); + abstract startRecordingDeviceTest(indicationInterval: number): number; + Future<void> startRecordingDeviceTest(int indicationInterval); +

          Details -

          This method tests whether the audio capturing device works properly. After calling this method, the SDK triggers the callback at the time interval set in this method, which reports uid = 0 and the volume information of the capturing device.

          -

          The difference between this method and the method is that the former checks if the local audio capturing device is working properly, while the latter can check the audio and video devices and network conditions.

          - Ensure that you call this method before joining a channel. After the test is completed, call to stop the test before joining a channel. +

          This method tests whether the audio capturing device works properly. After calling + this method, the SDK triggers the callback + at the time interval set in this method, which reports uid = 0 + and the volume information of the capturing device.

          +

          The difference between this method and the method is + that the former checks if the local audio capturing device is working properly, + while the latter can check the audio and video devices and network conditions.

          + Ensure that you call this method before joining a channel. After the + test is completed, call to stop the test + before joining a channel.
          Parameters - - indicationInterval - The interval (ms) for triggering the callback. This value should be set to greater than 10, otherwise, you will not receive the callback and the SDK returns the error code -2. Agora recommends that you set this value to 100. - -
          + + indicationInterval + The interval (ms) for triggering the callback. This value should be set to greater than 10, otherwise, you + will not receive the callback + and the SDK returns the error code -2. Agora recommends + that you set this value to 100. + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
              -
            • -2: Invalid parameters. Check your parameter settings.
            • -
          +
        109. 0: Success.
        110. +
        111. < 0: Failure. See for details + and resolution suggestions.
            +
          • -2: Invalid parameters. Check your parameter settings.
          • +
        112. +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita index 7f429b5f90c..edbfc537485 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita @@ -1,44 +1,53 @@ - <ph keyref="stopAudioDeviceLoopbackTest" /> + <ph keyref="stopAudioDeviceLoopbackTest"/> Stops the audio device loopback test. - +

          - - -(int)stopAudioDeviceLoopbackTest; - virtual int stopAudioDeviceLoopbackTest() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + + -(int)stopAudioDeviceLoopbackTest; + virtual int stopAudioDeviceLoopbackTest() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StopAudioDeviceLoopbackTest(); - abstract stopAudioDeviceLoopbackTest(): number; - public abstract int StopAudioDeviceLoopbackTest(); - abstract stopAudioDeviceLoopbackTest(): number; - Future<void> stopAudioDeviceLoopbackTest(); -

          + abstract stopAudioDeviceLoopbackTest(): number; + public abstract int StopAudioDeviceLoopbackTest(); + abstract stopAudioDeviceLoopbackTest(): number; + Future<void> stopAudioDeviceLoopbackTest(); +

          Details -
            -
          • This method is for Windows and macOS only.
          • -
          • You can call this method either before or after joining a channel.
          • -
          • This method only takes effect when called by the host.
          • -
          • Ensure that you call this method to stop the loopback test after calling the method.
          • -
          +
            +
          • This method is for Windows and macOS + only.
          • +
          • You can call this method either before or after joining a channel.
          • +
          • This method only takes effect when called by the host.
          • +
          • Ensure that you call this method to stop the loopback test after calling the + method.
          • +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        113. 0: Success.
        114. +
        115. < 0: Failure. See for details + and resolution suggestions.
        116. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita index f9ef0df0b81..bacab99e1c1 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita @@ -1,40 +1,46 @@ - <ph keyref="stopPlaybackDeviceTest" /> + <ph keyref="stopPlaybackDeviceTest"/> Stops the audio playback device test. - +

          - public abstract int stopPlaybackDeviceTest(); - - (int)stopPlaybackDeviceTest; - virtual int stopPlaybackDeviceTest() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + public abstract int stopPlaybackDeviceTest(); + - (int)stopPlaybackDeviceTest; + virtual int stopPlaybackDeviceTest() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StopPlaybackDeviceTest(); - abstract stopPlaybackDeviceTest(): number; - public abstract int StopPlaybackDeviceTest(); - abstract stopPlaybackDeviceTest(): number; - Future<void> stopPlaybackDeviceTest(); -

          + abstract stopPlaybackDeviceTest(): number; + public abstract int StopPlaybackDeviceTest(); + abstract stopPlaybackDeviceTest(): number; + Future<void> stopPlaybackDeviceTest(); +

          Details -

          This method stops the audio playback device test. You must call this method to stop the test after calling the method.

          +

          This method stops the audio playback device test. You must call this method to stop + the test after calling the method.

          Ensure that you call this method before joining a channel.
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        117. 0: Success.
        118. +
        119. < 0: Failure. See for details + and resolution suggestions.
        120. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita index 7e28e13f47b..003cd41cd1d 100644 --- a/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita +++ b/en-US/dita/RTC-NG/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita @@ -13,28 +13,34 @@

          - public abstract int stopRecordingDeviceTest(); - - (int)stopRecordingDeviceTest; - virtual int stopRecordingDeviceTest() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") + public abstract int stopRecordingDeviceTest(); + - (int)stopRecordingDeviceTest; + virtual int stopRecordingDeviceTest() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IAudioDeviceManager") int StopRecordingDeviceTest(); - abstract stopRecordingDeviceTest(): number; - public abstract int StopRecordingDeviceTest(); - abstract stopRecordingDeviceTest(): number; - Future<void> stopRecordingDeviceTest(); -

          + abstract stopRecordingDeviceTest(): number; + public abstract int StopRecordingDeviceTest(); + abstract stopRecordingDeviceTest(): number; + Future<void> stopRecordingDeviceTest(); +

          Details -

          This method stops the audio capturing device test. You must call this method to stop the test after calling the method.

          +

          This method stops the audio capturing device test. You must call this method to stop + the test after calling the method.

          Ensure that you call this method before joining a channel.
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        121. 0: Success.
        122. +
        123. < 0: Failure. See for details + and resolution suggestions.
        124. + +
          diff --git a/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getmixedaudioparams.dita b/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getmixedaudioparams.dita index bd91ec3964c..7deddf8cd82 100644 --- a/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getmixedaudioparams.dita +++ b/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getmixedaudioparams.dita @@ -1,40 +1,51 @@ - <ph keyref="getMixedAudioParams" /> - Sets the audio format for the callback. + <ph keyref="getMixedAudioParams"/> + Sets the audio format for the callback. - +

          - public abstract AudioParams getMixedAudioParams(); - - (AgoraAudioParams* _Nonnull)getMixedAudioParams NS_SWIFT_NAME(getMixedAudioParams()); - virtual AudioParams getMixedAudioParams() = 0; - - - public virtual AudioParams GetMixedAudioParams() + public abstract AudioParams getMixedAudioParams(); + - (AgoraAudioParams* _Nonnull)getMixedAudioParams NS_SWIFT_NAME(getMixedAudioParams()); + virtual AudioParams getMixedAudioParams() = 0; + + + public virtual AudioParams GetMixedAudioParams() { return new AudioParams(); } - -

          + + +

          Details -

          Register the callback when calling the method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.

          +

          Register the callback when calling the + method. After you successfully register the audio observer, the SDK triggers this + callback, and you can set the audio format in the return value of this callback.

          -

          The SDK calculates the sample interval according to the you set in the return value of this callback.Sample interval (sec) = samplePerCall/(sampleRate × channel).

          +

          The SDK calculates the sample interval according to the you set in the return value of this + callback.Sample interval + (sec) = + samplePerCall/(sampleRate × + channel).

          Ensure that the sample interval ≥ 0.01 (s).

          -

          The SDK triggers the callback according to the sampling interval.

          +

          The SDK triggers the callback according to + the sampling interval.

          +
          Returns -

          Sets the audio format. See .

          +

          Sets the audio format. See .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getplaybackaudioparams.dita b/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getplaybackaudioparams.dita index aa91342d734..289063c8703 100644 --- a/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getplaybackaudioparams.dita +++ b/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getplaybackaudioparams.dita @@ -1,40 +1,51 @@ - <ph keyref="getPlaybackAudioParams" /> - Sets the audio format for the callback. + <ph keyref="getPlaybackAudioParams"/> + Sets the audio format for the callback. - +

          - public abstract AudioParams getMixedAudioParams(); - - (AgoraAudioParams* _Nonnull)getPlaybackAudioParams NS_SWIFT_NAME(getPlaybackAudioParams()); - virtual AudioParams getPlaybackAudioParams() = 0; - - - public virtual AudioParams GetPlaybackAudioParams() + public abstract AudioParams getMixedAudioParams(); + - (AgoraAudioParams* _Nonnull)getPlaybackAudioParams NS_SWIFT_NAME(getPlaybackAudioParams()); + virtual AudioParams getPlaybackAudioParams() = 0; + + + public virtual AudioParams GetPlaybackAudioParams() { return new AudioParams(); } - -

          + + +

          Details -

          Register the callback when calling the method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.

          +

          Register the callback when calling the + method. After you successfully register the audio observer, the SDK triggers this + callback, and you can set the audio format in the return value of this callback.

          -

          The SDK calculates the sample interval according to the you set in the return value of this callback.Sample interval (sec) = samplePerCall/(sampleRate × channel).

          +

          The SDK calculates the sample interval according to the you set in the return value of this + callback.Sample interval + (sec) = + samplePerCall/(sampleRate × + channel).

          Ensure that the sample interval ≥ 0.01 (s).

          -

          The SDK triggers the callback according to the sampling interval.

          +

          The SDK triggers the callback according + to the sampling interval.

          +
          Returns -

          Sets the audio format. See .

          +

          Sets the audio format. See .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getrecordaudioparams.dita b/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getrecordaudioparams.dita index 0834eff2ec2..d3b3aeadb9b 100644 --- a/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getrecordaudioparams.dita +++ b/en-US/dita/RTC-NG/API/api_iaudioframeobserverbase_getrecordaudioparams.dita @@ -1,41 +1,51 @@ - <ph keyref="getRecordAudioParams" /> - Sets the audio format for the callback. + <ph keyref="getRecordAudioParams"/> + Sets the audio format for the callback. - +

          - public abstract AudioParams getRecordAudioParams(); - - (AgoraAudioParams* _Nonnull)getRecordAudioParams NS_SWIFT_NAME(getRecordAudioParams()); - virtual AudioParams getRecordAudioParams() = 0; - - - public virtual AudioParams GetRecordAudioParams() + public abstract AudioParams getRecordAudioParams(); + - (AgoraAudioParams* _Nonnull)getRecordAudioParams NS_SWIFT_NAME(getRecordAudioParams()); + virtual AudioParams getRecordAudioParams() = 0; + + + public virtual AudioParams GetRecordAudioParams() { return new AudioParams(); } - -

          + + +

          Details -

          Register the callback when calling the method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.

          +

          Register the callback when calling the + method. After you successfully register the audio observer, the SDK triggers this + callback, and you can set the audio format in the return value of this callback.

          -

          The SDK calculates the sample interval according to the you set in the return value of this callback.Sample interval (sec) = samplePerCall/(sampleRate × channel).

          +

          The SDK calculates the sample interval according to the you set in the return value of this + callback.Sample interval + (sec) = + samplePerCall/(sampleRate × + channel).

          Ensure that the sample interval ≥ 0.01 (s).

          -

          The SDK triggers the callback according to the sampling interval.

          +

          The SDK triggers the callback according to + the sampling interval.

          Returns -

          Sets the audio format. See for details.

          +

          Sets the audio format. See for details.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita index 2e8ee92968c..8470ca524aa 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita @@ -2,7 +2,8 @@ <ph keyref="muteAllRemoteAudioStreams_IBaseSpatialAudioEngine"/> - Stops or resumes subscribing to the audio streams of all remote users. + Stops or resumes subscribing to the audio streams of + all remote users. @@ -13,45 +14,62 @@

          - public abstract int muteAllRemoteAudioStreams(boolean mute); - - (int)muteAllRemoteAudioStreams:(BOOL)mute; - virtual int muteAllRemoteAudioStreams(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int muteAllRemoteAudioStreams(boolean mute); + - (int)muteAllRemoteAudioStreams:(BOOL)mute; + virtual int muteAllRemoteAudioStreams(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") 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); -

          + abstract muteAllRemoteAudioStreams(mute: boolean): number; + public abstract int MuteAllRemoteAudioStreams(bool mute); + abstract muteAllRemoteAudioStreams(mute: boolean): number; + Future<void> muteAllRemoteAudioStreams(bool mute); +

          Details -

          After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including all subsequent users.

          +

          After successfully calling this method, the local user stops or resumes subscribing + to the audio streams of all remote users, including all subsequent users.

          -
            -
          • Call this method after .
          • -
          • When using the spatial audio effect, if you need to set whether to stop subscribing to the audio streams of all remote users, Agora recommends calling this method instead of the method in .
          • -
          • After calling this method, you need to call and to update the spatial location of the local user and the remote user; otherwise, the settings in this method do not take effect.
          • -
          +
            +
          • Call this method after .
          • +
          • When using the spatial audio effect, if you need to set whether to stop + subscribing to the audio streams of all remote users, Agora recommends + calling this method instead of the method in .
          • +
          • After calling this method, you need to call and + to update the spatial location of the local user and the remote user; + otherwise, the settings in this method do not take effect.
          • +
          +
          Parameters - - mute - -

          Whether to stop subscribing to the audio streams of all remote users:

            -
          • : Stop subscribing to the audio streams of all remote users.
          • -
          • : Subscribe to the audio streams of all remote users.
          • -

          -
          -
          -
          + + mute + +

          Whether to stop subscribing to the audio streams of all remote users:

            +
          • : Stop subscribing to the + audio streams of all remote users.
          • +
          • : Subscribe to the audio + streams of all remote users.
          • +
          +

          +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        125. 0: Success.
        126. +
        127. < 0: Failure. See for details + and resolution suggestions.
        128. + +
          diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita index f4aa340bb6c..1d76f770752 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita @@ -2,7 +2,8 @@ <ph keyref="muteLocalAudioStream_IBaseSpatialAudioEngine"/> - Stops or resumes publishing the local audio stream. + Stops or resumes publishing the local audio + stream. @@ -13,45 +14,60 @@

          - public abstract int muteLocalAudioStream(boolean mute); - - (int)muteLocalAudioStream:(BOOL)mute; - virtual int muteLocalAudioStream(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int muteLocalAudioStream(boolean mute); + - (int)muteLocalAudioStream:(BOOL)mute; + virtual int muteLocalAudioStream(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int MuteLocalAudioStream(bool mute); - abstract muteLocalAudioStream(mute: boolean): number; - public abstract int MuteLocalAudioStream(bool mute); - - Future<void> muteLocalAudioStream(bool mute); -

          + abstract muteLocalAudioStream(mute: boolean): number; + public abstract int MuteLocalAudioStream(bool mute); + + Future<void> muteLocalAudioStream(bool mute); +

          Details -
            -
          • This method does not affect any ongoing audio recording, because it does not disable the audio capture device.
          • -
          • Call this method after .
          • -
          • When using the spatial audio effect, if you need to set whether to stop subscribing to the audio stream of a specified user, Agora recommends calling this method instead of the method in .
          • -
          • A successful call of this method triggers the and callbacks on the remote client.
          • -
          +
            +
          • This method does not affect any ongoing audio recording, because it does not + disable the audio capture device.
          • +
          • Call this method after .
          • +
          • When using the spatial audio effect, if you need to set whether to stop + subscribing to the audio stream of a specified user, Agora recommends + calling this method instead of the + method in .
          • +
          • A successful call of this method triggers the and callbacks on the remote + client.
          • +
          +
          Parameters - - mute - -

          Whether to stop publishing the local audio stream:

            -
          • : Stop publishing the local audio stream.
          • -
          • : Publish the local audio stream.
          • -

          -
          -
          -
          + + mute + +

          Whether to stop publishing the local audio stream:

            +
          • : Stop publishing the local + audio stream.
          • +
          • : Publish the local audio + stream.
          • +

          +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        129. 0: Success.
        130. +
        131. < 0: Failure. See for details + and resolution suggestions.
        132. + +
          diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita index 6753c73be1e..4914d85ceb2 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_muteremoteaudiostream.dita @@ -2,7 +2,8 @@ <ph keyref="muteRemoteAudioStream_IBaseSpatialAudioEngine"/> - Stops or resumes subscribing to the audio stream of a specified user. + Stops or resumes subscribing to the audio stream of a + specified user. @@ -13,29 +14,33 @@

          - public abstract int muteRemoteAudioStream(int uid, boolean mute); - - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int muteRemoteAudioStream(int uid, boolean mute); + - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; + virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") 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}); -

          + 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}); +

          - Details
          - -
          Since
          -
          v4.0.1
          -
          + Details +
          + +
          Since
          +
          v4.0.1
          +

          - -

            -
          • Call this method after .
          • -
          • When using the spatial audio effect, if you need to set whether to stop subscribing to the audio stream of a specified user, Agora recommends calling this method instead of the method in .
          • + +
              +
            • Call this method after .
            • +
            • When using the spatial audio effect, if you need to set whether to stop + subscribing to the audio stream of a specified user, Agora recommends + calling this method instead of the method in .

            @@ -43,26 +48,35 @@
            Parameters - - - - - - mute - -

            Whether to subscribe to the specified remote user's audio stream.

              -
            • : Stop subscribing to the audio stream of the specified user.
            • -
            • : (Default) Subscribe to the audio stream of the specified user. The SDK decides whether to subscribe according to the distance between the local user and the remote user.
            • -

            -
            -
            -
            + + + + + + mute + +

            Whether to subscribe to the specified remote user's audio stream.

              +
            • : Stop subscribing to the + audio stream of the specified user.
            • +
            • : (Default) Subscribe to + the audio stream of the specified user. The SDK decides whether + to subscribe according to the distance between the local user + and the remote user.
            • +

            +
            +
            + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
          diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_release.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_release.dita index 366f2d7d8f4..886345b50d4 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_release.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IBaseSpatialAudioEngine"/> - Destroys . + Destroys . @@ -13,20 +14,24 @@

          - - + (void)destroy NS_SWIFT_NAME(destroy()); - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + + + (void)destroy NS_SWIFT_NAME(destroy()); + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") void Release(); - abstract release(): void; - abstract release(): void; - abstract release(): void; -

          + abstract release(): void; + abstract release(): void; + abstract release(): void; +

          Details -

          This method releases all resources under . When the user does not need to use the spatial audio effect, you can call this method to release resources for other operations.

          -

          After calling this method, you can no longer use any of the APIs under .Call this method before the method under .

          +

          This method releases all resources under . + When the user does not need to use the spatial audio effect, you can call this + method to release resources for other operations.

          +

          After calling this method, you can no longer use any of the APIs under .Call this method before the method under .

          diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setaudiorecvrange.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setaudiorecvrange.dita index 4f55e364980..4b3fd73c078 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setaudiorecvrange.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setaudiorecvrange.dita @@ -1,47 +1,59 @@ - <ph keyref="setAudioRecvRange" /> - Sets the audio reception range of the local user. + <ph keyref="setAudioRecvRange"/> + Sets the audio reception range of the local + user. - +

          - public abstract int setAudioRecvRange(float range); - - (int)setAudioRecvRange:(float)range; - virtual int setAudioRecvRange(float range) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setAudioRecvRange(float range); + - (int)setAudioRecvRange:(float)range; + virtual int setAudioRecvRange(float range) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetAudioRecvRange(float range); - abstract setAudioRecvRange(range: number): number; - public abstract int SetAudioRecvRange(float range); - abstract setAudioRecvRange(range: number): number; - Future<void> setAudioRecvRange(double range); -

          + abstract setAudioRecvRange(range: number): number; + public abstract int SetAudioRecvRange(float range); + abstract setAudioRecvRange(range: number): number; + Future<void> setAudioRecvRange(double range); +

          Details -

          After the setting is successful, the local user can only hear the remote users within the setting range or belonging to the same team. You can call this method at any time to update the audio reception range.

          - Agora recommends calling this method before .
          +

          After the setting is successful, the local user can only hear the remote users within + the setting range or belonging to the same team. You can call this method at any + time to update the audio reception range.

          + Agora recommends calling this method before . +
          Parameters - - range - The maximum audio reception range. The unit is meters. The value of this parameter must be greater than 0, and the default value is 20. - -
          + + range + The maximum audio reception range. The unit is meters. The value of this + parameter must be greater than 0, and the default value is 20. + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        133. 0: Success.
        134. +
        135. < 0: Failure. See for details + and resolution suggestions.
        136. + +
          -
          \ No newline at end of file +
          diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setdistanceunit.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setdistanceunit.dita index 57191cea2dc..a0b7f646e6d 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setdistanceunit.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setdistanceunit.dita @@ -1,48 +1,65 @@ - <ph keyref="setDistanceUnit" /> - Sets the length (in meters) of the game engine distance per unit. + <ph keyref="setDistanceUnit"/> + Sets the length (in meters) of the game engine distance + per unit. - +

          - public abstract int setDistanceUnit(float unit); - - (int)setDistanceUnit:(float)unit; - virtual int setDistanceUnit(float unit) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setDistanceUnit(float unit); + - (int)setDistanceUnit:(float)unit; + virtual int setDistanceUnit(float unit) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetDistanceUnit(float unit); - abstract setDistanceUnit(unit: number): number; - public abstract int SetDistanceUnit(float unit); - abstract setDistanceUnit(unit: number): number; - Future<void> setDistanceUnit(double unit); -

          + abstract setDistanceUnit(unit: number): number; + public abstract int SetDistanceUnit(float unit); + abstract setDistanceUnit(unit: number): number; + Future<void> setDistanceUnit(double unit); +

          Details -

          In a game engine, the unit of distance is customized, while in the Agora spatial audio algorithm, distance is measured in meters. By default, the SDK converts the game engine distance per unit to one meter. You can call this method to convert the game engine distance per unit to a specified number of meters.

          - Agora recommends calling this method before .
          +

          In a game engine, the unit of distance is customized, while in the Agora spatial + audio algorithm, distance is measured in meters. By default, the SDK converts the + game engine distance per unit to one meter. You can call this method to convert the + game engine distance per unit to a specified number of meters.

          + Agora recommends calling this method before . +
          Parameters - - unit - The number of meters that the game engine distance per unit is equal to. The value of this parameter must be greater than 0.00, and the default value is 1.00. For example, setting unit as 2.00 means the game engine distance per unit equals 2 meters.

          The larger the value is, the faster the sound heard by the local user attenuates when the remote user moves far away from the local user.

          -
          -
          -
          + + unit + The number of meters that the game engine distance per unit is equal to. The + value of this parameter must be greater than 0.00, and the default value is + 1.00. For example, setting unit as 2.00 means the game engine distance per + unit equals 2 meters.

          The larger the value is, the faster the sound heard + by the local user attenuates when the remote user moves far away from + the local user.

          +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        137. 0: Success.
        138. +
        139. < 0: Failure. See for details + and resolution suggestions.
        140. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita index 136f80caa17..5920bc67df8 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita @@ -1,50 +1,66 @@ - <ph keyref="setMaxAudioRecvCount" /> - Sets the maximum number of streams that a user can receive in a specified audio reception range. + <ph keyref="setMaxAudioRecvCount"/> + Sets the maximum number of streams that a user can + receive in a specified audio reception range. - +

          - public abstract int setMaxAudioRecvCount(int maxCount); - - (int)setMaxAudioRecvCount:(NSUInteger)maxCount; - virtual int setMaxAudioRecvCount(int maxCount) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setMaxAudioRecvCount(int maxCount); + - (int)setMaxAudioRecvCount:(NSUInteger)maxCount; + virtual int setMaxAudioRecvCount(int maxCount) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetMaxAudioRecvCount(int maxCount); - abstract setMaxAudioRecvCount(maxCount: number): number; - public abstract int SetMaxAudioRecvCount(int maxCount); - abstract setMaxAudioRecvCount(maxCount: number): number; - Future<void> setMaxAudioRecvCount(int maxCount); -

          + abstract setMaxAudioRecvCount(maxCount: number): number; + public abstract int SetMaxAudioRecvCount(int maxCount); + abstract setMaxAudioRecvCount(maxCount: number): number; + Future<void> setMaxAudioRecvCount(int maxCount); +

          Details -

          If the number of receivable streams exceeds the set value, the local user receives the maxCount streams that are closest to the local user.

          - 因为服务端空间音效不发布,所以不能体现 enterRoom。You can call this method either before or after , with the following differences:
            -
          • If you call this method before , this method takes effect when entering the room.
          • -
          • If you call this method after , this method takes effect immediately and changes the current maximum number of received streams of the local user.
          • -
          +

          If the number of receivable streams exceeds the set value, the local user receives + the maxCount streams that are closest to the local user.

          + 因为服务端空间音效不发布,所以不能体现 + enterRoom。You can call this method either before or after , with the following differences:
            +
          • If you call this method before , this method + takes effect when entering the room.
          • +
          • If you call this method after , this method + takes effect immediately and changes the current maximum number of received + streams of the local user.
          • +
          +
          Parameters - - maxCount - The maximum number of streams that a user can receive within a specified audio reception range. The value of this parameter should be ≤ 16, and the default value is 10. - -
          + + maxCount + The maximum number of streams that a user can receive within a specified + audio reception range. The value of this parameter should be ≤ 16, and the + default value is 10. + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        141. 0: Success.
        142. +
        143. < 0: Failure. See for details + and resolution suggestions.
        144. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setplayerattenuation.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setplayerattenuation.dita index 8700348e0eb..c2443913232 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setplayerattenuation.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setplayerattenuation.dita @@ -2,7 +2,8 @@ <ph keyref="setPlayerAttenuation"/> - Sets the sound attenuation properties of the media player. + Sets the sound attenuation properties of the media + player. @@ -13,70 +14,98 @@

          - public abstract int setPlayerAttenuation(int playerId, double attenuation, boolean forceSet); - - (int)setPlayerAttenuation:(double)attenuation playerId:(NSUInteger)playerId forceSet:(BOOL)forceSet; - virtual int setPlayerAttenuation(int playerId, double attenuation, bool forceSet) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setPlayerAttenuation(int playerId, double attenuation, boolean forceSet); + - (int)setPlayerAttenuation:(double)attenuation playerId:(NSUInteger)playerId forceSet:(BOOL)forceSet; + virtual int setPlayerAttenuation(int playerId, double attenuation, bool forceSet) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetPlayerAttenuation(int playerId, bool forceSet, FString attenuation = "0.0"); - abstract setPlayerAttenuation( + abstract setPlayerAttenuation( playerId: number, attenuation: number, forceSet: boolean ): number; - public abstract int SetPlayerAttenuation(int playerId, double attenuation, bool forceSet); - abstract setPlayerAttenuation( + public abstract int SetPlayerAttenuation(int playerId, double attenuation, bool forceSet); + abstract setPlayerAttenuation( playerId: number, attenuation: number, forceSet: boolean ): number; - Future<void> setPlayerAttenuation( + Future<void> setPlayerAttenuation( {required int playerId, required double attenuation, required bool forceSet}); -

          +

          Details
          - -
          Since
          -
          v4.0.1
          -
          + +
          Since
          +
          v4.0.1
          +
          Parameters - - - - - - attenuation - The sound attenuation coefficient of the remote user or media player. The value range is [0,1]. The values are as follows:
            -
          • 0: Broadcast mode, where the volume and timbre are not attenuated with distance, and the volume and timbre heard by local users do not change regardless of distance.
          • -
          • (0,0.5): Weak attenuation mode, that is, the volume and timbre are only weakly attenuated during the propagation process, and the sound can travel farther than the real environment.
          • -
          • 0.5: (Default) simulates the attenuation of the volume in the real environment; the effect is equivalent to not setting the speaker_attenuation parameter.
          • -
          • (0.5,1]: Strong attenuation mode, that is, the volume and timbre attenuate rapidly during the propagation process.
          • -
          -
          - - forceSet - Whether to force the sound attenuation effect of the media player:
            -
          • : Force attenuation to set the attenuation of the media player. At this time, the attenuation coefficient of the sound insulation are set in the audioAttenuation in the does not take effect for the media player.
          • -
          • : Do not force attenuation to set the sound attenuation effect of the media player, as shown in the following two cases.
              -
            • If the sound source and listener are inside and outside the sound isolation area, the sound attenuation effect is determined by the audioAttenuation in .
            • -
            • If the sound source and the listener are in the same sound insulation area or outside the same sound insulation area, the sound attenuation effect is determined by attenuation in this method.
            • -
          • -
          -
          -
          + + + + + + attenuation + The sound attenuation coefficient of the remote user or media player. The + value range is [0,1]. The values are as follows:
            +
          • 0: Broadcast mode, where the volume and timbre are not attenuated + with distance, and the volume and timbre heard by local users do not + change regardless of distance.
          • +
          • (0,0.5): Weak attenuation mode, that is, the volume and timbre are + only weakly attenuated during the propagation process, and the sound + can travel farther than the real environment.
          • +
          • 0.5: (Default) simulates the attenuation of the volume in the real + environment; the effect is equivalent to not setting the + speaker_attenuation parameter.
          • +
          • (0.5,1]: Strong attenuation mode, that is, the volume and timbre + attenuate rapidly during the propagation process.
          • +
          +
          + + forceSet + Whether to force the sound attenuation effect of the media player:
            +
          • : Force + attenuation to set the attenuation of the + media player. At this time, the attenuation coefficient of the sound + insulation are set in the audioAttenuation in + the does not take effect for the + media player.
          • +
          • : Do not force + attenuation to set the sound attenuation + effect of the media player, as shown in the following two cases.
              +
            • If the sound source and listener are inside and outside the + sound isolation area, the sound attenuation effect is + determined by the audioAttenuation in + .
            • +
            • If the sound source and the listener are in the same sound + insulation area or outside the same sound insulation area, + the sound attenuation effect is determined by + attenuation in this method.
            • +
          • +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        145. 0: Success.
        146. +
        147. < 0: Failure. See for details + and resolution suggestions.
        148. + +
          diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita index 1f6b95f4363..224f0271984 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_setzones.dita @@ -13,51 +13,81 @@

          - public abstract int setZones(SpatialAudioZone[] zones); - - (int)setZones:(NSArray<AgoraSpatialAudioZone*> * _Nullable)zones NS_SWIFT_NAME(setZones(_:)); - virtual int setZones(const SpatialAudioZone *zones, unsigned int zoneCount) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setZones(SpatialAudioZone[] zones); + - (int)setZones:(NSArray<AgoraSpatialAudioZone*> * _Nullable)zones NS_SWIFT_NAME(setZones(_:)); + virtual int setZones(const SpatialAudioZone *zones, unsigned int zoneCount) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetZones(TArray<FSpatialAudioZone> zones); - abstract setZones(zones: SpatialAudioZone, zoneCount: number): number; - public abstract int SetZones(SpatialAudioZone[] zones, uint zoneCount); - abstract setZones(zones: SpatialAudioZone, zoneCount: number): number; - Future<void> setZones( + abstract setZones(zones: SpatialAudioZone, zoneCount: number): number; + public abstract int SetZones(SpatialAudioZone[] zones, uint zoneCount); + abstract setZones(zones: SpatialAudioZone, zoneCount: number): number; + Future<void> setZones( {required SpatialAudioZone zones, required int zoneCount}); -

          +

          Details
          - -
          Since
          -
          v4.0.1
          -
          + +
          Since
          +
          v4.0.1
          +
          -

          In virtual interactive scenarios, you can use this method to set the sound insulation area and sound attenuation coefficient. When the sound source (which can be the user or the media player) and the listener belong to the inside and outside of the sound insulation area, they can experience the attenuation effect of sound similar to the real environment when it encounters a building partition.

          +

          In virtual interactive scenarios, you can use this method to set the sound insulation + area and sound attenuation coefficient. When the sound source (which can be the user + or the media player) and the listener belong to the inside and outside of the sound + insulation area, they can experience the attenuation effect of sound similar to the + real environment when it encounters a building partition.

            -
          • When the sound source and the listener belong to the inside and outside of the sound insulation area, the sound attenuation effect is determined by the sound attenuation coefficient in .
          • -
          • If the user or media player is in the same sound insulation area, it is not affected by , and the sound attenuation effect is determined by the attenuation parameter in or . If you do not call or , the default sound attenuation coefficient of the SDK is 0.5, which simulates the attenuation of the sound in the real environment.
          • -
          • If the sound source and the receiver belong to two sound insulation areas, the receiver cannot hear the sound source.
          • +
          • When the sound source and the listener belong to the inside and outside of the + sound insulation area, the sound attenuation effect is determined by the sound + attenuation coefficient in .
          • +
          • If the user or media player is in the same sound insulation area, it is not + affected by , and the sound attenuation + effect is determined by the attenuation parameter in + or . If you do not call or , the default sound attenuation + coefficient of the SDK is 0.5, which simulates the attenuation of the sound in + the real environment.
          • +
          • If the sound source and the receiver belong to two sound insulation areas, the + receiver cannot hear the sound source.
          - If this method is called multiple times, the last sound insulation area set takes effect.
          + If this method is called multiple times, the last sound insulation area set takes + effect. +
          Parameters - - zones - Sound insulation area settings. See . When you set this parameter to , it means clearing all sound insulation zones.On the Windows platform, it is necessary to ensure that the number of members in the zones array is equal to the value of zoneCount; otherwise, it may cause a crash. - - - zoneCount - The number of sound insulation areas. - -
          + + zones + Sound insulation area settings. See . + When you set this parameter to , it + means clearing all sound insulation zones.On the Windows platform, + it is necessary to ensure that the number of members in the + zones array is equal to the value of + zoneCount; otherwise, it may cause a + crash. + + + zoneCount + The number of sound insulation areas. + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        149. 0: Success.
        150. +
        151. < 0: Failure. See for details + and resolution suggestions.
        152. + +
          diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita index 0336f31179b..39b480f1d63 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita @@ -1,58 +1,69 @@ - <ph keyref="updatePlayerPositionInfo" /> - Updates the spatial position of the media player. + <ph keyref="updatePlayerPositionInfo"/> + Updates the spatial position of the media + player. - +

          - public abstract int updatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); - - (int)updatePlayerPositionInfo:(NSInteger)playerId positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)positionInfo; - virtual int updatePlayerPositionInfo(int playerId, const RemoteVoicePositionInfo& positionInfo) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int updatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); + - (int)updatePlayerPositionInfo:(NSInteger)playerId positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)positionInfo; + virtual int updatePlayerPositionInfo(int playerId, const RemoteVoicePositionInfo& positionInfo) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int UpdatePlayerPositionInfo(int playerId, const FRemoteVoicePositionInfo& positionInfo); - abstract updatePlayerPositionInfo( + abstract updatePlayerPositionInfo( playerId: number, positionInfo: RemoteVoicePositionInfo ): number; - public abstract int UpdatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); - abstract updatePlayerPositionInfo( + public abstract int UpdatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); + abstract updatePlayerPositionInfo( playerId: number, positionInfo: RemoteVoicePositionInfo ): number; - Future<void> updatePlayerPositionInfo( + Future<void> updatePlayerPositionInfo( {required int playerId, required RemoteVoicePositionInfo positionInfo}); -

          +

          Details -

          After a successful update, the local user can hear the change in the spatial position of the media player.

          +

          After a successful update, the local user can hear the change in the spatial position + of the media player.

          Parameters - - playerId - The ID of the media player. You can get the Device ID by calling . - - + + playerId + The ID of the media player. You can + get the Device ID by calling . + + positionInfo - The spatial position of the media player. See . + The spatial position of the media player. See . -
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        153. 0: Success.
        154. +
        155. < 0: Failure. See for details + and resolution suggestions.
        156. + +
          diff --git a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita index 56d43b4214b..33994cc4930 100644 --- a/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita +++ b/en-US/dita/RTC-NG/API/api_ibasespatialaudioengine_updateselfposition.dita @@ -1,87 +1,128 @@ - <ph keyref="updateSelfPosition" /> - Updates the spatial position of the local user. + <ph keyref="updateSelfPosition"/> + Updates the spatial position of the local + user. - +

          - public abstract int updateSelfPosition( + public abstract int updateSelfPosition( float[] position, float[] axisForward, float[] axisRight, float[] axisUp); - - (int)updateSelfPosition:(simd_float3)position axisForward:(simd_float3)axisForward axisRight:(simd_float3)axisRight axisUp:(simd_float3)axisUp NS_SWIFT_NAME(updateSelfPosition(_:axisForward:axisRight:axisUp:)); - virtual int updateSelfPosition(float position[3], float axisForward[3], float axisRight[3], float axisUp[3]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + - (int)updateSelfPosition:(simd_float3)position axisForward:(simd_float3)axisForward axisRight:(simd_float3)axisRight axisUp:(simd_float3)axisUp NS_SWIFT_NAME(updateSelfPosition(_:axisForward:axisRight:axisUp:)); + virtual int updateSelfPosition(float position[3], float axisForward[3], float axisRight[3], float axisUp[3]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int UpdateSelfPosition(FVector position, FVector axisForward, FVector axisRight, FVector axisUp); - abstract updateSelfPosition( + abstract updateSelfPosition( position: number[], axisForward: number[], axisRight: number[], axisUp: number[] ): number; - public abstract int UpdateSelfPosition(float[] position, float[] axisForward, float[] axisRight, float[] axisUp); - abstract updateSelfPosition( + public abstract int UpdateSelfPosition(float[] position, float[] axisForward, float[] axisRight, float[] axisUp); + abstract updateSelfPosition( position: number[], axisForward: number[], axisRight: number[], axisUp: number[] ): number; - Future<void> updateSelfPosition( + Future<void> updateSelfPosition( {required List<double> position, required List<double> axisForward, required List<double> axisRight, required List<double> axisUp}); -

          +

          Details -

          When this method is called under different classes, the effect is different:

            -
          • When this method is called under the class, the SDK updates the spatial position of the local user to the Agora Spatial Audio Server. The Agora Spatial Audio Server calculates the user's spatial audio effect parameters according to the world coordinates and audio reception range of the local and remote users.
          • -
          • Under the class, this method needs to be used with . The SDK calculates the relative position between the local and remote users according to this method and the parameter settings in , and then calculates the user's spatial audio effect parameters.
          • -

          +

          When this method is called under different classes, the + effect is different:

            +
          • When this method is called under the class, the SDK updates the spatial + position of the local user to the Agora Spatial Audio Server. The Agora + Spatial Audio Server calculates the user's spatial audio effect parameters + according to the world coordinates and audio reception range of the local + and remote users.
          • +
          • Under the class, this method needs + to be used with . The SDK calculates + the relative position between the local and remote users according to this + method and the parameter settings in , and then calculates the user's spatial audio effect parameters.
          • +

            -
          • Call this method after .
          • -
          • If you call this method under the class, note the following:
              -
            • When calling this method multiple times, Agora recommends a call interval between [120,7000) milliseconds, otherwise, the SDK and the spatial audio server will lose synchronization.
            • -
            • If the distance between the current spatial position and the last position is less than 0.2 meters or the rotation angle in each direction is less than 15 degrees, the SDK does not update the current spatial position.
            • +
            • Call this method after .
            • +
            • If you call this method under the class, note the following:
                +
              • When calling this method multiple times, Agora recommends a call + interval between [120,7000) milliseconds, otherwise, the SDK and the + spatial audio server will lose synchronization.
              • +
              • If the distance between the current spatial position and the last + position is less than 0.2 meters or the rotation angle in each + direction is less than 15 degrees, the SDK does not update the + current spatial position.
            -
          + +
          Parameters - - position - The coordinates in the world coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - The coordinates in the world coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. And the front, right, and top coordinates correspond to the positive directions of Unity's Vector3 axes (z, x, and y, respectively). - - - axisForward - The unit vector of the x axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - The unit vector of the x axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. And the front, right, and top coordinates correspond to the positive directions of Unity's Vector3 axes (z, x, and y, respectively). - - - axisRight - The unit vector of the y axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - - - axisUp - The unit vector of the z axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - -
          + + position + The coordinates in the world + coordinate system. This parameter is an array of length 3, and the three + values represent the front, right, and top coordinates in turn. + The coordinates in the world coordinate system. This parameter + is an array of length 3, and the three values represent the front, right, + and top coordinates in turn. And the front, right, and top coordinates + correspond to the positive directions of Unity's Vector3 axes (z, x, and y, + respectively). + + + axisForward + The unit + vector of the x axis in the coordinate system. This parameter is an array of + length 3, and the three values represent the front, right, and top + coordinates in turn. + The unit vector of the x axis in the coordinate system. This + parameter is an array of length 3, and the three values represent the front, + right, and top coordinates in turn. And the front, right, and top + coordinates correspond to the positive directions of Unity's Vector3 axes + (z, x, and y, respectively). + + + axisRight + The unit vector of the y axis in the coordinate system. This parameter is an + array of length 3, and the three values represent the front, right, and top + coordinates in turn. + + + axisUp + The unit vector of the z axis in the coordinate system. This parameter is an + array of length 3, and the three values represent the front, right, and top + coordinates in turn. + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        157. 0: Success.
        158. +
        159. < 0: Failure. See for details + and resolution suggestions.
        160. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_addeventhandler.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_addeventhandler.dita index d5cd0c22645..772baab610e 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_addeventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_addeventhandler.dita @@ -1,42 +1,46 @@ - <ph keyref="addEventHandler" /> - Adds the event handler. + <ph keyref="addEventHandler"/> + Adds the event handler. - +

          - public abstract int addEventHandler(ICloudSpatialAudioEventHandler eventHandler); - - virtual int addEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; - abstract addEventHandler(eventHandler: ICloudSpatialAudioEventHandler): number; - public abstract void InitEventHandler(ICloudSpatialAudioEventHandler engineEventHandler); - abstract addEventHandler( + public abstract int addEventHandler(ICloudSpatialAudioEventHandler eventHandler); + + virtual int addEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; + abstract addEventHandler(eventHandler: ICloudSpatialAudioEventHandler): number; + public abstract void InitEventHandler(ICloudSpatialAudioEventHandler engineEventHandler); + abstract addEventHandler( eventHandler: ICloudSpatialAudioEventHandler ): number; - void addEventHandler(IrisEventHandler eventHandler)

          + void addEventHandler(IrisEventHandler eventHandler)

          Parameters - - eventHandler - engineEventHandler - The callback to be added. See . - -
          + + eventHandler + engineEventHandler + The callback to be added. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        161. 0: Success.
        162. +
        163. < 0: Failure.
        164. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_create.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_create.dita index c2ee8705087..572a43bcf7a 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_create.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_create.dita @@ -1,38 +1,40 @@ - <ph keyref="create_ICloudSpatialAudioEngine" /> - Creates . + <ph keyref="create_ICloudSpatialAudioEngine"/> + Creates . - +

          - public static synchronized ICloudSpatialAudioEngine create() { + public static synchronized ICloudSpatialAudioEngine create() { if (mInstance == null) { mInstance = new CloudSpatialAudioImpl(); } return mInstance; } - - - - - - -

          + + + + + + +

          - Details

          Call this method before .

          + Details

          Call this method before .

          +
          +
          + Returns +

          -
          - Returns -

          -
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_enablespatializer.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_enablespatializer.dita index 1c1dfd29c1e..00c81960931 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_enablespatializer.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_enablespatializer.dita @@ -1,56 +1,68 @@ - <ph keyref="enableSpatializer" /> - Enables or disables the Agora spatial audio server from computing spatial audio parameters. + <ph keyref="enableSpatializer"/> + Enables or disables the Agora spatial audio server from + computing spatial audio parameters. - +

          - public abstract int enableSpatializer(boolean enable, boolean applyToTeam); - - (int)enableSpatializer:(BOOL)enable applyToTeam:(BOOL)applyToTeam; - virtual int enableSpatializer(bool enable, bool applyToTeam) = 0; - abstract enableSpatializer(enable: boolean, applyToTeam: boolean): number; - public abstract int EnableSpatializer(bool enable, bool applyToTeam); - abstract enableSpatializer(enable: boolean, applyToTeam: boolean): number; -

          + public abstract int enableSpatializer(boolean enable, boolean applyToTeam); + - (int)enableSpatializer:(BOOL)enable applyToTeam:(BOOL)applyToTeam; + virtual int enableSpatializer(bool enable, bool applyToTeam) = 0; + abstract enableSpatializer(enable: boolean, applyToTeam: boolean): number; + public abstract int EnableSpatializer(bool enable, bool applyToTeam); + abstract enableSpatializer(enable: boolean, applyToTeam: boolean): number; + +

          Details -

          Once enabled, users can hear the spatial audio effect of remote users, as well as their spatial position changes.You can call this method either before or after , with the following differences:

            -
          • If you call this method before , this method takes effect when entering the room.
          • -
          • If you call this method after , this method takes effect immediately.
          • -

          +

          Once enabled, users can hear the spatial audio effect of remote users, as well as + their spatial position changes.You can call this method either + before or after , with the following differences:

            +
          • If you call this method before , this + method takes effect when entering the room.
          • +
          • If you call this method after , this method + takes effect immediately.
          • +
          + +

          Parameters - - enable - Whether to enable the calculation of spatial audio effect parameters within the audio reception range:
            -
          • : Enable the calculation.
          • -
          • : Disable the calculation.
          • -
          -
          - - applyToTeam - Whether to enable the calculation of spatial audio effect parameters in the team:
            -
          • : Enable the calculation.
          • -
          • : Disable the calculation.
          • -
          This parameter only takes effect when the enable parameter is .
          -
          -
          + + enable + Whether to enable the calculation of spatial audio effect parameters within + the audio reception range:
            +
          • : Enable the calculation.
          • +
          • : Disable the calculation.
          • +
          +
          + + applyToTeam + Whether to enable the calculation of spatial audio effect parameters in the team:
            +
          • : Enable the calculation.
          • +
          • : Disable the calculation.
          • +
          This parameter only takes effect when the enable + parameter is .
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        165. 0: Success.
        166. +
        167. < 0: Failure.
        168. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_enterroom.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_enterroom.dita index 907fc465a0d..625be2b7a15 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_enterroom.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_enterroom.dita @@ -1,54 +1,71 @@ - <ph keyref="enterRoom" /> + <ph keyref="enterRoom"/> Enters a room. - +

          - public abstract int enterRoom(String token, String roomName, int uid); - - (int)enterRoomByToken:(NSString* _Nullable)token roomName:(NSString* _Nonnull)roomName uid:(NSUInteger)uid; - virtual int enterRoom(const char* token, const char* roomName, unsigned int uid) = 0; - abstract enterRoom(token: string, roomName: string, uid: number): number; - public abstract int EnterRoom(string token, string roomName, uint uid); - abstract enterRoom(token: string, roomName: string, uid: number): number; -

          + public abstract int enterRoom(String token, String roomName, int uid); + - (int)enterRoomByToken:(NSString* _Nullable)token roomName:(NSString* _Nonnull)roomName uid:(NSUInteger)uid; + virtual int enterRoom(const char* token, const char* roomName, unsigned int uid) = 0; + abstract enterRoom(token: string, roomName: string, uid: number): number; + public abstract int EnterRoom(string token, string roomName, uint uid); + abstract enterRoom(token: string, roomName: string, uid: number): number; + +

          Details -

          The spatial audio effect does not take effect until you enter a room. After you call this method, the SDK triggers the callback.

          - Call this method after .
          +

          The spatial audio effect does not take effect until you enter a room. After you call + this method, the SDK triggers the + callback.

          + Call this method after . +
          Parameters - - token - The RTM token for authentication. You can generate the RTM token in the following ways:
            -
          • Use to generate a temporary token.
          • -
          • Deploy your own server for generating tokens. For details, see .
          • -
          The uid or userAccount for generating the RTM token is the combination of the roomName and uid set in . For example, if roomName is test and uid is 123, the uid or userAccount filled in when generating the RTM token is test123.
          -
          - - roomName - The room name. This parameter must be the same as the channel name filled in when you join the channel. - - - - - -
          + + token + The RTM token for authentication. You can generate the RTM token in the + following ways:
            +
          • Use to generate a temporary + token.
          • +
          • Deploy your own server for generating tokens. For details, see .
          • +
          The uid or userAccount for + generating the RTM token is the combination of the + roomName and uid set in . For example, if roomName is + test and uid is + 123, the uid or + userAccount filled in when generating the RTM token + is test123.
          +
          + + roomName + The room name. This parameter must be the same as the channel name filled in + when you join the channel. + + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        169. 0: Success.
        170. +
        171. < 0: Failure.
        172. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_exitroom.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_exitroom.dita index 400cce58f94..b1dd5748b1c 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_exitroom.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_exitroom.dita @@ -1,25 +1,26 @@ - <ph keyref="exitRoom" /> + <ph keyref="exitRoom"/> Exits the room. - +

          - public abstract int exitRoom(); - - (int)exitRoom; - virtual int exitRoom() = 0; - abstract exitRoom(): number; - public abstract int ExitRoom(); - abstract exitRoom(): number; -

          + public abstract int exitRoom(); + - (int)exitRoom; + virtual int exitRoom() = 0; + abstract exitRoom(): number; + public abstract int ExitRoom(); + abstract exitRoom(): number; + +

          Details @@ -28,8 +29,9 @@
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        173. 0: Success.
        174. +
        175. < 0: Failure.
        176. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_getteammates.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_getteammates.dita index 1f3a1a88f9c..a516c213dc1 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_getteammates.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_getteammates.dita @@ -1,47 +1,52 @@ - <ph keyref="getTeammates" /> + <ph keyref="getTeammates"/> Gets the information of teammates. - +

          - public abstract int getTeammates(ArrayList<Integer> uids); - - (int)getTeammates:(NSArray<NSNumber*> * _Nullable * _Nonnull)uids; - virtual int getTeammates(const uid_t **uids, int *userCount) = 0; - abstract getTeammates(): number[]; - public abstract int GetTeammates(ref uint[] uids, ref int userCount); - abstract getTeammates(): number[]; -

          + public abstract int getTeammates(ArrayList<Integer> uids); + - (int)getTeammates:(NSArray<NSNumber*> * _Nullable * _Nonnull)uids; + virtual int getTeammates(const uid_t **uids, int *userCount) = 0; + abstract getTeammates(): number[]; + public abstract int GetTeammates(ref uint[] uids, ref int userCount); + abstract getTeammates(): number[]; + +

          Details -

          After calling to set the team ID and calling to enter the room, you can call this method to get the information of remote users in the same team (teammates).

          +

          After calling to set the team ID and calling to enter the room, you can call this method to get the + information of remote users in the same team (teammates).

          Parameters - - uids - Output parameter. The user IDs of teammates. - - - userCount - Output parameter. The number of teammates. - -
          + + uids + Output parameter. The user IDs of teammates. + + + userCount + Output parameter. The number of teammates. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        177. 0: Success.
        178. +
        179. < 0: Failure.
        180. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_initialize.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_initialize.dita index 70529be989c..1a4241e0089 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_initialize.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_initialize.dita @@ -1,60 +1,74 @@ - <ph keyref="initialize_ICloudSpatialAudioEngine" /> - Initializes . + <ph keyref="initialize_ICloudSpatialAudioEngine"/> + Initializes . - +

          - public abstract int initialize(CloudSpatialAudioConfig config); - + (instancetype _Nonnull)sharedCloudSpatialAudioWithConfig:(AgoraCloudSpatialAudioConfig* _Nonnull)config delegate:(id<AgoraCloudSpatialAudioDelegate> _Nullable)delegate; - virtual int initialize(const CloudSpatialAudioConfig& config) = 0; - - public abstract int Initialize(CloudSpatialAudioConfig config); - - Future<void> initialize(RtcEngineContext context); -

          + public abstract int initialize(CloudSpatialAudioConfig config); + + (instancetype _Nonnull)sharedCloudSpatialAudioWithConfig:(AgoraCloudSpatialAudioConfig* _Nonnull)config delegate:(id<AgoraCloudSpatialAudioDelegate> _Nullable)delegate; + virtual int initialize(const CloudSpatialAudioConfig& config) = 0; + + public abstract int Initialize(CloudSpatialAudioConfig config); + + Future<void> initialize(RtcEngineContext context); +

          Details -
            -
          • Call this method after calling ().
          • -
          • Call this method after calling .
          • -
          • Before calling other methods of the class, you need to call this method to initialize .
          • -
          • The SDK supports creating only one instance for an app.
          • -
          +
            +
          • Call this method after calling ().
          • +
          • Call this method after calling .
          • +
          • Before calling other methods of the class, you need to call this method + to initialize .
          • +
          • The SDK supports creating only one instance for an app.
          • +
          + +
          Parameters - - config - The configuration of . See . - - - delegate - - -
          + + config + The configuration of . See . + + + delegate + + + +
          - <ph keyref="return-section-title" /> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly.

          + <ph keyref="return-section-title"/> +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly.

            -
          • 0: Success.
          • -
          • < 0: Failure.
              -
            • -1: A general error occurs (no specified reason).
            • -
            • -2: The parameter is invalid.
            • -
            • -7: The SDK is not initialized.
            • -
            • -22: The resource request failed. The app uses too many system resources and fails to allocate any resources.
            • -
            • -101: The App ID is invalid.
            • -
          • +
          • 0: Success.
          • +
          • < 0: Failure.
              +
            • -1: A general error occurs (no specified reason).
            • +
            • -2: The parameter is invalid.
            • +
            • -7: The SDK is not initialized.
            • +
            • -22: The resource request failed. The app uses too many system resources + and fails to allocate any resources.
            • +
            • -101: The App ID is invalid.
            • +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_release.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_release.dita index c88677a7547..4eb3ef02246 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_release.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_release.dita @@ -1,36 +1,46 @@ - <ph keyref="release_ICloudSpatialAudioEngine" /> - Destroys . + <ph keyref="release_ICloudSpatialAudioEngine"/> + Destroys . - +

          - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.release(); mInstance = null; } - + (void)destroy; - virtual void release() = 0; - - public abstract void Dispose(); - - -

          + + (void)destroy; + virtual void release() = 0; + + public abstract void Dispose(); + + +

          Details -

          This method releases all resources under . When the user does not need to use the spatial audio effect, you can call this method to release resources for other operations.

          -

          After calling this method, you can no longer use any of the APIs under or . To use the spatial audio effect again, you need to wait until the method execution to complete before calling to create a new .Call this method before the method under .

          +

          This method releases all resources under . When the user does not need to use the spatial audio effect, you can call this + method to release resources for other operations.

          +

          After calling this method, you can no longer use any of the APIs under or . To use the spatial audio effect + again, you need to wait until the method execution to complete before calling to create a new .Call this method before the method under .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_removeeventhandler.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_removeeventhandler.dita index d171a7069ef..2ae005280f1 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_removeeventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_removeeventhandler.dita @@ -1,45 +1,50 @@ - <ph keyref="removeEventHandler" /> - Removes callbacks specified in . + <ph keyref="removeEventHandler"/> + Removes callbacks specified in . - +

          - public abstract int removeEventHandler(ICloudSpatialAudioEventHandler eventHandler); - - virtual int removeEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; - abstract removeEventHandler(eventHandler: ICloudSpatialAudioEventHandler): number; - public abstract void RemoveEventHandler(); - abstract removeEventHandler( + public abstract int removeEventHandler(ICloudSpatialAudioEventHandler eventHandler); + + virtual int removeEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; + abstract removeEventHandler(eventHandler: ICloudSpatialAudioEventHandler): number; + public abstract void RemoveEventHandler(); + abstract removeEventHandler( eventHandler: ICloudSpatialAudioEventHandler ): number; - void removeEventHandler(IrisEventHandler eventHandler)

          + void removeEventHandler(IrisEventHandler eventHandler)

          Details -

          For callbacks that you only want to listen for once, call this method to remove these callbacks after you have received them.

          +

          For callbacks that you only want to listen for once, call this method to remove these + callbacks after you have received them.

          Parameters - - eventHandler - The callback handler to be deleted. See . - -
          + + eventHandler + The callback handler to be deleted. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        181. 0: Success.
        182. +
        183. < 0: Failure.
        184. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_renewtoken.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_renewtoken.dita index 19a038c6aad..ba6c653f1a3 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_renewtoken.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_renewtoken.dita @@ -1,44 +1,49 @@ - <ph keyref="renewToken_ICloudSpatialAudioEngine" /> + <ph keyref="renewToken_ICloudSpatialAudioEngine"/> Renews the RTM token. - +

          - public abstract int renewToken(String token); - - (int)renewToken:(NSString* _Nonnull)token; - virtual int renewToken(const char* token) = 0; - abstract renewToken(token: string): number; - public abstract int RenewToken(string token); - abstract renewToken(token: string): number; - Future<void> renewToken(String token); -

          + public abstract int renewToken(String token); + - (int)renewToken:(NSString* _Nonnull)token; + virtual int renewToken(const char* token) = 0; + abstract renewToken(token: string): number; + public abstract int RenewToken(string token); + abstract renewToken(token: string): number; + Future<void> renewToken(String token); +

          Details -

          An RTM token is valid for 24 hours. When the SDK triggers the callback, the application should get a new RTM token and then call this method to pass in the new token; otherwise, the SDK cannot connect to the Agora Spatial Audio Server.

          +

          An RTM token is valid for 24 hours. When the SDK triggers the callback, the application should get a new RTM + token and then call this method to pass in the new token; otherwise, the SDK cannot + connect to the Agora Spatial Audio Server.

          Parameters - - - - -
          + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        185. 0: Success.
        186. +
        187. < 0: Failure.
        188. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_setaudiorangemode.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_setaudiorangemode.dita index 94cc123ea97..d3f24a367dd 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_setaudiorangemode.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_setaudiorangemode.dita @@ -1,54 +1,65 @@ - <ph keyref="setAudioRangeMode" /> + <ph keyref="setAudioRangeMode"/> Sets the audio range mode. - +

          - public abstract int setAudioRangeMode(int rangeMode); - - (int)setAudioRangeMode:(AgoraAudioRangeMode)rangeMode; - virtual int setAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode) = 0; - abstract setAudioRangeMode(rangeMode: AudioRangeModeType): number; - public abstract int SetAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode); - abstract setAudioRangeMode(rangeMode: AudioRangeModeType): number; -

          + public abstract int setAudioRangeMode(int rangeMode); + - (int)setAudioRangeMode:(AgoraAudioRangeMode)rangeMode; + virtual int setAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode) = 0; + abstract setAudioRangeMode(rangeMode: AudioRangeModeType): number; + public abstract int SetAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode); + abstract setAudioRangeMode(rangeMode: AudioRangeModeType): number; + +

          Details -

          The SDK supports two audio range modes: everyone mode and team mode. The SDK uses everyone mode by default. If you want to change to team mode, call this method.

          +

          The SDK supports two audio range modes: everyone mode and team mode. The SDK uses + everyone mode by default. If you want to change to team mode, call this method.

          A user can only use one mode at a time in a room.

          -

          You can call this method either before or after , with the following differences:

            -
          • If you call this method before , this method takes effect when entering the room.
          • -
          • If you call this method after , this method takes effect immediately and changes the current audio range mode.
          • -

          +

          You can call this method either before or after , with the + following differences:

            +
          • If you call this method before , this method + takes effect when entering the room.
          • +
          • If you call this method after , this method + takes effect immediately and changes the current audio range mode.
          • +

          Parameters - - rangeMode - The audio range mode. See .
            -
          • (0): -
              -
            • -
          • -
          • (1):
          • -
          -
          -
          + + rangeMode + The audio range mode. See .
            +
          • (0): +
              +
            • +
          • +
          • (1):
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        189. 0: Success.
        190. +
        191. < 0: Failure.
        192. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_setteamid.dita b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_setteamid.dita index 3bd37212bd6..0a0768b7ee9 100644 --- a/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_setteamid.dita +++ b/en-US/dita/RTC-NG/API/api_icloudspatialaudioengine_setteamid.dita @@ -1,43 +1,52 @@ - <ph keyref="setTeamId" /> + <ph keyref="setTeamId"/> Sets the team ID. - +

          - public abstract int setTeamId(int teamId); - - (int)setTeamId:(NSInteger)teamId; - virtual int setTeamId(int teamId) = 0; - abstract setTeamId(teamId: number): number; - public abstract int SetTeamId(int teamId); - abstract setTeamId(teamId: number): number; -

          + public abstract int setTeamId(int teamId); + - (int)setTeamId:(NSInteger)teamId; + virtual int setTeamId(int teamId) = 0; + abstract setTeamId(teamId: number): number; + public abstract int SetTeamId(int teamId); + abstract setTeamId(teamId: number): number; + +

          Details -

          In the same room, no matter what the audio range mode and audio reception range are, users with the same team ID can hear each other. Whether users with different team IDs can hear each other is determined by the audio range mode and audio reception range.Call this method before . A user can only have one team ID in a room, and the team ID cannot be changed after entering the room.

          +

          In the same room, no matter what the audio range mode and audio reception range are, + users with the same team ID can hear each other. Whether users with different team + IDs can hear each other is determined by the audio range mode and audio reception + range.Call this method before . A + user can only have one team ID in a room, and the team ID cannot be changed + after entering the room.

          Parameters - - teamId - The team ID. The value must be greater than 0. The default value is 0, which means that the user is not on a team with other users. - -
          + + teamId + The team ID. The value must be greater than 0. The default value is 0, which + means that the user is not on a team with other users. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        193. 0: Success.
        194. +
        195. < 0: Failure.
        196. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ilocalpatialaudioengine_setremoteaudioattenuation.dita b/en-US/dita/RTC-NG/API/api_ilocalpatialaudioengine_setremoteaudioattenuation.dita index 645e4f43264..08c52797ccd 100644 --- a/en-US/dita/RTC-NG/API/api_ilocalpatialaudioengine_setremoteaudioattenuation.dita +++ b/en-US/dita/RTC-NG/API/api_ilocalpatialaudioengine_setremoteaudioattenuation.dita @@ -1,75 +1,90 @@ - <ph keyref="setRemoteAudioAttenuation" /> - Sets the sound attenuation effect for the specified user. + <ph keyref="setRemoteAudioAttenuation"/> + Sets the sound attenuation effect for the specified + user. - +

          - public abstract int setRemoteAudioAttenuation(int uid, double attenuation, boolean forceSet); - - (int) setRemoteAudioAttenuation:(double)attenuation userId:(NSUInteger)uid forceSet:(BOOL)forceSet; - virtual int setRemoteAudioAttenuation(uid_t uid, double attenuation, bool forceSet) = 0; - abstract setRemoteAudioAttenuation( + public abstract int setRemoteAudioAttenuation(int uid, double attenuation, boolean forceSet); + - (int) setRemoteAudioAttenuation:(double)attenuation userId:(NSUInteger)uid forceSet:(BOOL)forceSet; + virtual int setRemoteAudioAttenuation(uid_t uid, double attenuation, bool forceSet) = 0; + abstract setRemoteAudioAttenuation( uid: number, attenuation: number, forceSet: boolean ): number; - public abstract int SetRemoteAudioAttenuation(uint uid, double attenuation, bool forceSet); - abstract setRemoteAudioAttenuation( + public abstract int SetRemoteAudioAttenuation(uint uid, double attenuation, bool forceSet); + abstract setRemoteAudioAttenuation( uid: number, attenuation: number, forceSet: boolean ): number; - Future<void> setRemoteAudioAttenuation( + Future<void> setRemoteAudioAttenuation( {required int uid, required double attenuation, required bool forceSet}); -

          +

          Details
          - -
          Since
          -
          v4.0.1
          -
          + +
          Since
          +
          v4.0.1
          +
          -

          +

          Parameters - - - - - - attenuation - For the user's sound attenuation coefficient, the value range is [0,1]. The values are as follows:
            -
          • -
          -
          - - forceSet - Whether to force the user's sound attenuation effect:
            -
          • : Force attenuation to set the sound attenuation of the user. At this time, the attenuation coefficient of the sound insulation area set in the audioAttenuation of the does not take effect for the user.
          • -
          • : Do not force attenuation to set the user's sound attenuation effect, as shown in the following two cases.
              -
            • -
          • -
          -
          -
          + + + + + + attenuation + For the user's sound attenuation coefficient, the value range is [0,1]. The + values are as follows:
            +
          • +
          +
          + + forceSet + Whether to force the user's sound attenuation effect:
            +
          • : Force + attenuation to set the sound attenuation of + the user. At this time, the attenuation + coefficient of the sound insulation area set in the + audioAttenuation of the does not take effect for the + user.
          • +
          • : Do not force + attenuation to set the user's sound + attenuation effect, as shown in the following two cases.
              +
            • +
          • +
          +
          + +
          - <ph keyref="return-section-title" /> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly.

          + <ph keyref="return-section-title"/> +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly.

            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        197. 0: Success.
        198. +
        199. < 0: Failure.
        200. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_clearremotepositions.dita b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_clearremotepositions.dita index e6bed9887fc..51ea10122d5 100644 --- a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_clearremotepositions.dita +++ b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_clearremotepositions.dita @@ -1,40 +1,48 @@ - <ph keyref="clearRemotePositions" /> - Removes the spatial positions of all remote users. + <ph keyref="clearRemotePositions"/> + Removes the spatial positions of all remote + users. - +

          - public abstract int clearRemotePositions(); - - (int) clearRemotePositions; - virtual int clearRemotePositions() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int clearRemotePositions(); + - (int) clearRemotePositions; + virtual int clearRemotePositions() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int ClearRemotePositions(); - abstract clearRemotePositions(): number; - public abstract int ClearRemotePositions(); - abstract clearRemotePositions(): number; - Future<void> clearRemotePositions(); -

          + abstract clearRemotePositions(): number; + public abstract int ClearRemotePositions(); + abstract clearRemotePositions(): number; + Future<void> clearRemotePositions(); +

          Details -

          After successfully calling this method, the local user no longer hears any remote users.

          -

          After leaving the channel, to avoid wasting resources, you can also call this method to delete the spatial positions of all remote users.

          +

          After successfully calling this method, the local user no longer hears any remote + users.

          +

          After leaving the channel, to avoid wasting resources, you can also call this method + to delete the spatial positions of all remote users.

          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        201. 0: Success.
        202. +
        203. < 0: Failure. See for details + and resolution suggestions.
        204. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_create.dita b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_create.dita index 513255cb8b6..44f6b9f4d7e 100644 --- a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_create.dita +++ b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_create.dita @@ -1,38 +1,40 @@ - <ph keyref="create_ILocalSpatialAudioEngine" /> - Creates . + <ph keyref="create_ILocalSpatialAudioEngine"/> + Creates . - +

          - public static synchronized ILocalSpatialAudioEngine create() { + public static synchronized ILocalSpatialAudioEngine create() { if (mInstance == null) { mInstance = new LocalSpatialAudioImpl(); } return mInstance; } - - - - - - -

          + + + + + + +

          - Details

          Call this method before .

          + Details

          Call this method before .

          +
          +
          + Returns +

          -
          - Returns -

          -
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_initialize.dita b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_initialize.dita index 8280bdc0f83..f8a71872b5e 100644 --- a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_initialize.dita +++ b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_initialize.dita @@ -2,7 +2,8 @@ <ph keyref="initialize_ILocalSpatialAudioEngine"/> - Initializes . + Initializes . @@ -13,40 +14,55 @@

          - public abstract int initialize(LocalSpatialAudioConfig config); - + (instancetype _Nonnull)sharedLocalSpatialAudioWithConfig:(AgoraLocalSpatialAudioConfig* _Nonnull)config; - virtual int initialize(const LocalSpatialAudioConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int initialize(LocalSpatialAudioConfig config); + + (instancetype _Nonnull)sharedLocalSpatialAudioWithConfig:(AgoraLocalSpatialAudioConfig* _Nonnull)config; + virtual int initialize(const LocalSpatialAudioConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int Initialize(FLocalSpatialAudioConfig& config); - abstract initialize(): number; - public abstract int Initialize(); - abstract initialize(): number; - Future<void> initialize(); -

          + abstract initialize(): number; + public abstract int Initialize(); + abstract initialize(): number; + Future<void> initialize(); +

          Details -
            -
          • Call this method after calling ().
          • -
          • Call this method after calling .
          • -
          • Before calling other methods of the class, you need to call this method to initialize .
          • -
          • The SDK supports creating only one instance for an app.
          • -
          +
            +
          • Call this method after calling ().
          • +
          • Call this method after calling .
          • +
          • Before calling other methods of the class, you need to call this method + to initialize .
          • +
          • The SDK supports creating only one instance for an app.
          • +
          + +
          Parameters - - config - The configuration of . See . - -
          + + config + The configuration of . See . + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        205. 0: Success.
        206. +
        207. < 0: Failure. See for details + and resolution suggestions.
        208. + +
          diff --git a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_release.dita b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_release.dita index 1d87d730220..cb40721d14a 100644 --- a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_release.dita +++ b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_release.dita @@ -1,35 +1,45 @@ - <ph keyref="release_ILocalSpatialAudioEngine" /> - Destroys . + <ph keyref="release_ILocalSpatialAudioEngine"/> + Destroys . - +

          - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.release(); mInstance = null; } - + (void)destroy; - - - public abstract void Dispose(); - -

          + + (void)destroy; + + + public abstract void Dispose(); + + +

          Details -

          This method releases all resources under . When the user does not need to use the spatial audio effect, you can call this method to release resources for other operations.

          -

          After calling this method, you can no longer use any of the APIs under . To use the spatial audio effect again, you need to wait until the method execution to complete before calling to create a new .Call this method before the method under .

          +

          This method releases all resources under . When the user does not need to use the spatial audio effect, you can call this + method to release resources for other operations.

          +

          After calling this method, you can no longer use any of the APIs under . To use the spatial audio effect again, you + need to wait until the method + execution to complete before calling to create a new .Call this method before the method under .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_removeremoteposition.dita b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_removeremoteposition.dita index 5c8d4c173f2..c7d8fbf9724 100644 --- a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_removeremoteposition.dita +++ b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_removeremoteposition.dita @@ -1,48 +1,63 @@ - <ph keyref="removeRemotePosition" /> - Removes the spatial position of the specified remote user. + <ph keyref="removeRemotePosition"/> + Removes the spatial position of the specified remote + user. - +

          - public abstract int removeRemotePosition(int uid); - - (int) removeRemotePosition:(NSUInteger)uid; - virtual int removeRemotePosition(uid_t uid) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int removeRemotePosition(int uid); + - (int) removeRemotePosition:(NSUInteger)uid; + virtual int removeRemotePosition(uid_t uid) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int RemoveRemotePosition(int64 uid); - abstract removeRemotePosition(uid: number): number; - public abstract int RemoveRemotePosition(uint uid); - abstract removeRemotePosition(uid: number): number; - Future<void> removeRemotePosition(int uid); -

          + abstract removeRemotePosition(uid: number): number; + public abstract int RemoveRemotePosition(uint uid); + abstract removeRemotePosition(uid: number): number; + Future<void> removeRemotePosition(int uid); +

          Details -

          After successfully calling this method, the local user no longer hears the specified remote user.

          -

          After leaving the channel, to avoid wasting computing resources, call this method to delete the spatial position information of the specified remote user. Otherwise, the user's spatial position information will be saved continuously. When the number of remote users exceeds the number of audio streams that can be received as set in , the system automatically unsubscribes from the audio stream of the user who is furthest away based on relative distance.

          +

          After successfully calling this method, the local user no longer hears the specified + remote user.

          +

          After leaving the channel, to avoid wasting computing resources, call this method to + delete the spatial position information of the specified remote user. Otherwise, the + user's spatial position information will be saved continuously. When the number of + remote users exceeds the number of audio streams that can be received as set in + , the system automatically unsubscribes + from the audio stream of the user who is furthest away based on relative + distance.

          Parameters - - uid - The user ID. This parameter must be the same as the user ID passed in when the user joined the channel. - -
          + + uid + The user ID. This parameter must be the same as the user ID passed in when + the user joined the channel. + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        209. 0: Success.
        210. +
        211. < 0: Failure. See for details + and resolution suggestions.
        212. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_setremoteaudioattenuation.dita b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_setremoteaudioattenuation.dita index 0de072b81df..8a1e824b041 100644 --- a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_setremoteaudioattenuation.dita +++ b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_setremoteaudioattenuation.dita @@ -2,7 +2,8 @@ <ph keyref="setRemoteAudioAttenuation"/> - Sets the sound attenuation effect for the specified user. + Sets the sound attenuation effect for the specified + user. @@ -13,65 +14,81 @@

          - public abstract int setRemoteAudioAttenuation(int uid, double attenuation, boolean forceSet); - - (int) setRemoteAudioAttenuation:(double)attenuation userId:(NSUInteger)uid forceSet:(BOOL)forceSet; - virtual int setRemoteAudioAttenuation(uid_t uid, double attenuation, bool forceSet) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int setRemoteAudioAttenuation(int uid, double attenuation, boolean forceSet); + - (int) setRemoteAudioAttenuation:(double)attenuation userId:(NSUInteger)uid forceSet:(BOOL)forceSet; + virtual int setRemoteAudioAttenuation(uid_t uid, double attenuation, bool forceSet) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int SetRemoteAudioAttenuation(int64 uid, bool forceSet, FString attenuation = "0.0"); - abstract setRemoteAudioAttenuation( + abstract setRemoteAudioAttenuation( uid: number, attenuation: number, forceSet: boolean ): number; - public abstract int SetRemoteAudioAttenuation(uint uid, double attenuation, bool forceSet); - abstract setRemoteAudioAttenuation( + public abstract int SetRemoteAudioAttenuation(uint uid, double attenuation, bool forceSet); + abstract setRemoteAudioAttenuation( uid: number, attenuation: number, forceSet: boolean ): number; - Future<void> setRemoteAudioAttenuation( + Future<void> setRemoteAudioAttenuation( {required int uid, required double attenuation, required bool forceSet}); -

          +

          Details
          - -
          Since
          -
          v4.0.1
          -
          + +
          Since
          +
          v4.0.1
          +

          Parameters - - - - - - attenuation - For the user's sound attenuation coefficient, the value range is [0,1]. The values are as follows:
            -
          • -
          -
          - - forceSet - Whether to force the user's sound attenuation effect:
            -
          • : Force attenuation to set the sound attenuation of the user. At this time, the attenuation coefficient of the sound insulation area set in the audioAttenuation of the does not take effect for the user.
          • -
          • : Do not force attenuation to set the user's sound attenuation effect, as shown in the following two cases.
              -
            • -
          • -
          -
          -
          + + + + + + attenuation + For the user's sound attenuation coefficient, the value range is [0,1]. The + values are as follows:
            +
          • +
          +
          + + forceSet + Whether to force the user's sound attenuation effect:
            +
          • : Force + attenuation to set the sound attenuation of + the user. At this time, the attenuation + coefficient of the sound insulation area set in the + audioAttenuation of the does not take effect for the + user.
          • +
          • : Do not force + attenuation to set the user's sound + attenuation effect, as shown in the following two cases.
              +
            • +
          • +
          +
          + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        213. 0: Success.
        214. +
        215. < 0: Failure. See for details + and resolution suggestions.
        216. + +
          diff --git a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita index 7e9833e3f79..7eb4a4388da 100644 --- a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita +++ b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateremoteposition.dita @@ -1,58 +1,68 @@ - <ph keyref="updateRemotePosition" /> - Updates the spatial position of the specified remote user. + <ph keyref="updateRemotePosition"/> + Updates the spatial position of the specified remote + user. - +

          - public abstract int updateRemotePosition(int uid, RemoteVoicePositionInfo posInfo); - - (int)updateRemotePosition:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo; - virtual int updateRemotePosition(uid_t uid, const RemoteVoicePositionInfo &posInfo) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") + public abstract int updateRemotePosition(int uid, RemoteVoicePositionInfo posInfo); + - (int)updateRemotePosition:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo; + virtual int updateRemotePosition(uid_t uid, const RemoteVoicePositionInfo &posInfo) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ILocalSpatialAudioEngine") int UpdateRemotePosition(int64 uid, FRemoteVoicePositionInfo& posInfo); - abstract updateRemotePosition( + abstract updateRemotePosition( uid: number, posInfo: RemoteVoicePositionInfo ): number; - public abstract int UpdateRemotePosition(uint uid, RemoteVoicePositionInfo posInfo); - abstract updateRemotePosition( + public abstract int UpdateRemotePosition(uint uid, RemoteVoicePositionInfo posInfo); + abstract updateRemotePosition( uid: number, posInfo: RemoteVoicePositionInfo ): number; - Future<void> updateRemotePosition( + Future<void> updateRemotePosition( {required int uid, required RemoteVoicePositionInfo posInfo}); -

          +

          Details -

          After successfully calling this method, the SDK calculates the spatial audio parameters based on the relative position of the local and remote user.

          - Call this method after .
          +

          After successfully calling this method, the SDK calculates the spatial audio + parameters based on the relative position of the local and remote user.

          + Call this method after . +
          Parameters - - - - - - posInfo - The spatial position of the remote user. See . - -
          + + + + + + posInfo + The spatial position of the remote user. See . + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

            -
          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          +
        217. 0: Success.
        218. +
        219. < 0: Failure. See for details + and resolution suggestions.
        220. + +
          diff --git a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateselftransform.dita b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateselftransform.dita index fd18968797c..b10a172d51f 100644 --- a/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateselftransform.dita +++ b/en-US/dita/RTC-NG/API/api_ilocalspatialaudioengine_updateselftransform.dita @@ -13,43 +13,52 @@

          - - - (int)updateSelfTransform:(simd_float4x4)transform NS_SWIFT_NAME(updateSelfTransform(_:)); - - - - - -

          + + - (int)updateSelfTransform:(simd_float4x4)transform NS_SWIFT_NAME(updateSelfTransform(_:)); + + + + + + +

          Details
          - -
          Since
          -
          v4.3.0
          -
          + +
          Since
          +
          v4.3.0
          +

          Applicable scenarios -

          When using native iOS frameworks like SceneKit or RealityKit, you can use this method to directly pass the position vector into the mentioned frameworks for rendering.

          +

          When using native iOS frameworks like SceneKit or RealityKit, you can use this method + to directly pass the position vector into the mentioned frameworks for + rendering.

          Parameters - - transform - Convert parameters. It's a 4 × 4 matrix. - -
          + + transform + Convert parameters. It's a 4 × 4 matrix. + + +
          <ph keyref="return-section-title"/> -

          When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

          +

          When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

          • 0: Success.
          • -
          • < 0: Failure. See for details and resolution suggestions.
          • -
          -
          +
        221. < 0: Failure. See for details + and resolution suggestions.
        222. + + + diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_addlistener.dita b/en-US/dita/RTC-NG/API/api_imediaengine_addlistener.dita index f97153f4d5e..1087859b574 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_addlistener.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_addlistener.dita @@ -2,7 +2,8 @@ <ph keyref="addListener_IMediaEngine"/> - Adds one listener. + Adds one + listener. @@ -13,37 +14,44 @@

          - - - - addListener?<EventType extends keyof IMediaEngineEvent>( + + + + addListener?<EventType extends keyof IMediaEngineEvent>( eventType: EventType, listener: IMediaEngineEvent[EventType] ): void; - - addListener?<EventType extends keyof IMediaEngineEvent>( + + addListener?<EventType extends keyof IMediaEngineEvent>( eventType: EventType, listener: IMediaEngineEvent[EventType] ): void; - -

          + +

          Details -

          After calling this method, you can listen for the corresponding events in the object and obtain data through . Depending on your project needs, you can add multiple listeners for the same event.

          +

          After calling this method, you can listen for the corresponding events in the object and obtain data through . Depending on your project needs, you can add + multiple listeners for the same event.

          Parameters - - eventType - The name of the target event to listen for. See . - - - listener - The callback function for eventType. Take adding a listener for as an example:const onPlaybackAudioFrameBeforeMixing = (channelId: string, uid: number, audioFrame: AudioFrame) => {}; + + eventType + The name of the target event to listen for. See . + + + listener + The callback function for eventType. Take adding a + listener for as an + example:const onPlaybackAudioFrameBeforeMixing = (channelId: string, uid: number, audioFrame: AudioFrame) => {}; engine.addListener('onPlaybackAudioFrameBeforeMixing', onPlaybackAudioFrameBeforeMixing); - -
          + + +
          diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita b/en-US/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita index 8d2192a304c..8e92b62d72c 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_createcustomaudiotrack.dita @@ -13,56 +13,76 @@

          - public abstract int createCustomAudioTrack( + public abstract int createCustomAudioTrack( Constants.AudioTrackType trackType, AudioTrackConfig config); - - (int)createCustomAudioTrack:(AgoraAudioTrackType)trackType + - (int)createCustomAudioTrack:(AgoraAudioTrackType)trackType config:(AgoraAudioTrackConfig* _Nonnull)config; - virtual rtc::track_id_t createCustomAudioTrack(rtc::AUDIO_TRACK_TYPE trackType, const rtc::AudioTrackConfig& config) = 0; - abstract createCustomAudioTrack( + virtual rtc::track_id_t createCustomAudioTrack(rtc::AUDIO_TRACK_TYPE trackType, const rtc::AudioTrackConfig& config) = 0; + abstract createCustomAudioTrack( trackType: AudioTrackType, config: AudioTrackConfig ): number; - public abstract uint CreateCustomAudioTrack(AUDIO_TRACK_TYPE trackType, AudioTrackConfig config); - abstract createCustomAudioTrack( + public abstract uint CreateCustomAudioTrack(AUDIO_TRACK_TYPE trackType, AudioTrackConfig config); + abstract createCustomAudioTrack( trackType: AudioTrackType, config: AudioTrackConfig ): number; - Future<int> createCustomAudioTrack( + Future<int> createCustomAudioTrack( {required AudioTrackType trackType, required AudioTrackConfig config}); -

          +

          Details
          - -
          Since
          -
          v4.2.0
          -
          + +
          Since
          +
          v4.2.0
          +
          Ensure that you call this method before joining a channel.

          To publish a custom audio source, see the following steps:

            -
          1. Call this method to create a custom audio track and get the audio track ID.
          2. -
          3. Call to join the channel. In , set publishCustomAduioTrackId to the audio track ID that you want to publish, and set publishCustomAudioTrack to .
          4. -
          5. Call and specify trackId as the audio track ID set in step 2. You can then publish the corresponding custom audio source in the channel.
          6. -

          +
        223. Call this method to create a custom audio track and get the audio track + ID.
        224. +
        225. Call to join the channel. In , set + publishCustomAduioTrackId to the audio track ID + that you want to publish, and set + publishCustomAudioTrack to .
        226. +
        227. Call and specify + trackId as the audio track ID set in step 2. You + can then publish the corresponding custom audio source in the channel.
        228. +

        Parameters - - trackType - The type of the custom audio track. See .If is specified for this parameter, you must set publishMicrophoneTrack to in when calling to join the channel; otherwise, joining the channel fails and returns the error code -2. - - - config - The configuration of the custom audio track. See . - -
        + + trackType + The type of the custom audio track. See .If is + specified for this parameter, you must set + publishMicrophoneTrack to in when calling to join the channel; + otherwise, joining the channel fails and returns the error code + -2. + + + config + The configuration of the custom audio track. See . + + +
        Returns
          -
        • If the method call is successful, the audio track ID is returned as the unique identifier of the audio track.
        • -
        • If the method call fails, a negative value is returned.
        • -
        +
      3. If the method call is successful, the audio track ID is returned as the unique + identifier of the audio track.
      4. +
      5. If the method call fails, a negative value is returned.
      6. + + diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_destroycustomaudiotrack.dita b/en-US/dita/RTC-NG/API/api_imediaengine_destroycustomaudiotrack.dita index e9876cc53b1..00e260983f2 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_destroycustomaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_destroycustomaudiotrack.dita @@ -13,38 +13,45 @@

        - public abstract int destroyCustomAudioTrack(int trackId); - - (int)destroyCustomAudioTrack:(NSInteger)trackId; - virtual int destroyCustomAudioTrack(rtc::track_id_t trackId) = 0; - abstract destroyCustomAudioTrack(trackId: number): number; - public abstract int DestroyCustomAudioTrack(uint trackId); - abstract destroyCustomAudioTrack(trackId: number): number; - Future<void> destroyCustomAudioTrack(int trackId); -

        + public abstract int destroyCustomAudioTrack(int trackId); + - (int)destroyCustomAudioTrack:(NSInteger)trackId; + virtual int destroyCustomAudioTrack(rtc::track_id_t trackId) = 0; + abstract destroyCustomAudioTrack(trackId: number): number; + public abstract int DestroyCustomAudioTrack(uint trackId); + abstract destroyCustomAudioTrack(trackId: number): number; + Future<void> destroyCustomAudioTrack(int trackId); +

        Details
        - -
        Since
        -
        v4.2.0
        -
        + +
        Since
        +
        v4.2.0
        +
        Parameters - - trackId - The custom audio track ID returned in . - -
        + + trackId + The custom audio track ID returned in . + + +
        <ph keyref="return-section-title"/> -

        When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

        +

        When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

          -
        • 0: Success.
        • -
        • < 0: Failure. See for details and resolution suggestions.
        • -
        +
      7. 0: Success.
      8. +
      9. < 0: Failure. See for details + and resolution suggestions.
      10. + +
        diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_pullaudioframe.dita b/en-US/dita/RTC-NG/API/api_imediaengine_pullaudioframe.dita index 796e64ab30e..f771e75d72e 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_pullaudioframe.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_pullaudioframe.dita @@ -13,59 +13,92 @@

        - public abstract int pullPlaybackAudioFrame(byte[] data, int lengthInByte); - - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data + public abstract int pullPlaybackAudioFrame(byte[] data, int lengthInByte); + - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data lengthInByte:(NSUInteger)lengthInByte; - virtual int pullAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - abstract pullAudioFrame(): AudioFrame; - public abstract int PullAudioFrame(AudioFrame frame); - abstract pullAudioFrame(): AudioFrame; - Future<void> pullAudioFrame(AudioFrame frame); -

        + virtual int pullAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + abstract pullAudioFrame(): AudioFrame; + public abstract int PullAudioFrame(AudioFrame frame); + abstract pullAudioFrame(): AudioFrame; + Future<void> pullAudioFrame(AudioFrame frame); +

        Details -

        Before calling this method, call (enabled: ) to notify the app to enable and set the external audio rendering.

        -

        After a successful call of this method, the app pulls the decoded and mixed audio data for playback.

        +

        Before calling this method, call (enabled: ) to + notify the app to enable and set the external audio rendering.

        +

        After a successful call of this method, the app pulls the decoded and mixed audio + data for playback.

        -
          -
        • Call this method after joining a channel.
        • -
        • Both this method and callback can be used to get audio data after remote mixing. Note that after calling to enable external audio rendering, the app no longer receives data from the callback. Therefore, you should choose between this method and the callback based on your actual business requirements. The specific distinctions between them are as follows:
            -
          • After calling this method, the app automatically pulls the audio data from the SDK. By setting the audio data parameters, the SDK adjusts the frame buffer to help the app handle latency, effectively avoiding audio playback jitter.
          • -
          • The SDK sends the audio data to the app through the callback. Any delay in processing the audio frames may result in audio jitter.
          • -
        • -
        • This method is only used for retrieving audio data after remote mixing. If you need to get audio data from different audio processing stages such as capture and playback, you can register the corresponding callbacks by calling .
        • -
        +
          +
        • Call this method after joining a channel.
        • +
        • Both this method and callback can be + used to get audio data after remote mixing. Note that after calling to enable external audio rendering, the + app no longer receives data from the callback. Therefore, you should choose between this method and the + callback based on your actual + business requirements. The specific distinctions between them are as follows:
            +
          • After calling this method, the app automatically pulls the audio + data from the SDK. By setting the audio data parameters, the SDK + adjusts the frame buffer to help the app handle latency, effectively + avoiding audio playback jitter.
          • +
          • The SDK sends the audio data to the app through the callback. Any delay in + processing the audio frames may result in audio jitter.
          • +
        • +
        • This method is only used for retrieving audio data after remote mixing. If + you need to get audio data from different audio processing stages such as + capture and playback, you can register the corresponding callbacks by + calling .
        • +
        + +
        Parameters - - frame - Pointers to . - - - data - The remote audio data to be pulled. The data type is byte[]. - - - lengthInByte - The data length (byte). The value of this parameter is related to the audio duration, and the values of the sampleRate and channels parameters that you set in . lengthInByte = sampleRate/1000 × 2 × channels × audio duration (ms). - -
        + + frame + Pointers to . + + + data + The remote audio data to be pulled. The data type is + byte[]. + + + lengthInByte + The data length (byte). The value of this parameter is related to the audio + duration, and the values of the sampleRate and + channels parameters that you set in . lengthInByte = + sampleRate/1000 × 2 × channels × audio + duration (ms). + + +
        <ph keyref="return-section-title"/> -

        When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

        +

        When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

          -
        • 0: Success.
        • -
        • < 0: Failure. See for details and resolution suggestions.
        • +
        • 0: Success.
        • +
        • < 0: Failure. See for details + and resolution suggestions.
          -
        • : Success.
        • -
        • : Failure. See for details and resolution suggestions.
        • +
        • : Success.
        • +
        • : Failure. See for details and resolution + suggestions.
          -
        • The instance, if the method call succeeds.
        • -
        • An error code, if the call fails,.
        • -
        +
      11. The instance, if the method call succeeds.
      12. +
      13. An error code, if the call fails,.
      14. + +
        diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_pushaudioframe.dita b/en-US/dita/RTC-NG/API/api_imediaengine_pushaudioframe.dita index 76b72749969..22849e8c819 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_pushaudioframe.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_pushaudioframe.dita @@ -13,53 +13,59 @@

        - public abstract int pushExternalAudioFrame(byte[] data, long timestamp); - - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data + public abstract int pushExternalAudioFrame(byte[] data, long timestamp); + - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data samples:(NSInteger)samples sourceId:(NSInteger)sourceId timestamp:(NSTimeInterval)timestamp; - - - - - -

        + + + + + +

        Parameters - - frame - The external audio frame. See . - + + frame + The external audio frame. See . + - - data - The external audio data. - - - samples - The number of samples. - - - timestamp - The timestamp (ms) of the external audio frame. This parameter is required. You can use it to restore the order of the captured audio frames, or synchronize audio and video frames in video-related scenarios (including scenarios where external video sources are used). - + + data + The external audio data. + + + samples + The number of samples. + + + timestamp + The timestamp (ms) of the external audio frame. This parameter is required. + You can use it to restore the order of the captured audio frames, or + synchronize audio and video frames in video-related scenarios (including + scenarios where external video sources are used). + - - - - -
        + + + + + +
        Returns

        -

          -
        • 0: Success.
        • -
        • < 0: Failure. See for details and resolution suggestions.
        • -

        +
          +
        • 0: Success.
        • +
        • < 0: Failure. See for + details and resolution suggestions.
        • +
        +

        diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_pushaudioframe0.dita b/en-US/dita/RTC-NG/API/api_imediaengine_pushaudioframe0.dita index 629adcbd387..ac4ae06807f 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_pushaudioframe0.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_pushaudioframe0.dita @@ -1,53 +1,68 @@ - <ph keyref="pushAudioFrame" /> + <ph keyref="pushAudioFrame"/> Pushes the external audio frame. - +

        - - - virtual int pushAudioFrame(IAudioFrameObserver::AudioFrame* frame, rtc::track_id_t trackId = 0) = 0; - abstract pushAudioFrame(frame: AudioFrame, trackId?: number): number; - public abstract int PushAudioFrame(AudioFrame frame, uint trackId = 0); - abstract pushAudioFrame(frame: AudioFrame, trackId?: number): number; - Future<void> pushAudioFrame({required AudioFrame frame, int trackId = 0}); -

        + + + virtual int pushAudioFrame(IAudioFrameObserver::AudioFrame* frame, rtc::track_id_t trackId = 0) = 0; + abstract pushAudioFrame(frame: AudioFrame, trackId?: number): number; + public abstract int PushAudioFrame(AudioFrame frame, uint trackId = 0); + abstract pushAudioFrame(frame: AudioFrame, trackId?: number): number; + Future<void> pushAudioFrame({required AudioFrame frame, int trackId = 0}); +

        Details -

        Before calling this method to push external audio data, perform the following steps:

          -
        1. Call to create a custom audio track and get the audio track ID.
        2. -
        3. Call to join the channel. In , set publishCustomAduioTrackId to the audio track ID that you want to publish, and set publishCustomAudioTrack to .
        4. -

        -
        +

        Before calling this method to push external audio data, perform the following steps:

          +
        1. Call to create a custom audio + track and get the audio track ID.
        2. +
        3. Call to join the channel. In , set + publishCustomAduioTrackId to the audio track ID + that you want to publish, and set + publishCustomAudioTrack to .
        4. +

        + +
        Parameters - - frame - The external audio frame. See . - - - trackId - The audio track ID. If you want to publish a custom external audio source, set this parameter to the ID of the corresponding custom audio track you want to publish. - -
        + + frame + The external audio frame. See . + + + trackId + The audio track ID. If you want to publish a custom external audio source, + set this parameter to the ID of the corresponding custom audio track you + want to publish. + + +
        <ph keyref="return-section-title"/> -

        When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

        +

        When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

          -
        • 0: Success.
        • -
        • < 0: Failure. See for details and resolution suggestions.
        • -
        +
      15. 0: Success.
      16. +
      17. < 0: Failure. See for details + and resolution suggestions.
      18. + +
        -
        \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_pushencodedvideoimage.dita b/en-US/dita/RTC-NG/API/api_imediaengine_pushencodedvideoimage.dita index 5ff09add2e8..4082573270c 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_pushencodedvideoimage.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_pushencodedvideoimage.dita @@ -2,7 +2,8 @@ <ph keyref="pushEncodedVideoImage"/> - Pushes the external encoded video frame to the SDK. + Pushes the external encoded video frame to the + SDK. @@ -13,64 +14,75 @@

        - public abstract int pushExternalEncodedVideoFrame( + public abstract int pushExternalEncodedVideoFrame( ByteBuffer data, EncodedVideoFrameInfo frameInfo); videoTrackId:(NSUInteger)videoTrackId; - - virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, + + virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, const agora::rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0; - abstract pushEncodedVideoImage( + abstract pushEncodedVideoImage( imageBuffer: Uint8Array, length: number, videoEncodedFrameInfo: EncodedVideoFrameInfo, videoTrackId?: number ): number; - public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo, uint videoTrackId = 0); - abstract pushEncodedVideoImage( + public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo, uint videoTrackId = 0); + abstract pushEncodedVideoImage( imageBuffer: Uint8Array, length: number, videoEncodedFrameInfo: EncodedVideoFrameInfo, videoTrackId?: number ): number; - Future<void> pushEncodedVideoImage( + Future<void> pushEncodedVideoImage( {required Uint8List imageBuffer, required int length, required EncodedVideoFrameInfo videoEncodedFrameInfo, int videoTrackId = 0}); -

        +

        Details -

        After calling to enable external video source and set the sourceType parameter to , you can call this method to push the encoded external video frame to the SDK.

        +

        After calling to enable external + video source and set the sourceType parameter to , you can call this method to push the encoded + external video frame to the SDK.

        Parameters - - data - imageBuffer - The buffer of the external encoded video frame. - - - length - Length of the externally encoded video frames. - - - frameInfo - videoEncodedFrameInfo - Information about externally encoded video frames. See . - - - - - -
        + + data + imageBuffer + The buffer of the external encoded video frame. + + + length + Length of the externally encoded video frames. + + + frameInfo + videoEncodedFrameInfo + Information about externally encoded video frames. See . + + + + + + +
        <ph keyref="return-section-title"/> -

        When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

        +

        When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

          -
        • 0: Pushes the external encoded video frame to the SDK successfully.
        • -
        • < 0: Fails to push external encoded video frames to the SDK.
        • -
        +
      19. 0: Pushes the external encoded video frame to the SDK successfully.
      20. +
      21. < 0: Fails to push external encoded video frames to the SDK.
      22. + +
        diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita b/en-US/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita index 4e66cecf84c..a65eecd90a4 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_pushvideoframe.dita @@ -1,81 +1,118 @@ - <ph keyref="pushVideoFrame" /> - Pushes the external raw video frame to the SDK through video tracks. + <ph keyref="pushVideoFrame"/> + Pushes the external raw video frame to the SDK through + video tracks. - +

        - public abstract int pushExternalVideoFrameById(AgoraVideoFrame frame, int videoTrackId); - - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalVideoFrame(_:videoTrackId:)); - virtual int pushVideoFrame(base::ExternalVideoFrame* frame, unsigned int videoTrackId = 0) = 0; - abstract pushVideoFrame( + public abstract int pushExternalVideoFrameById(AgoraVideoFrame frame, int videoTrackId); + - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame videoTrackId:(NSUInteger)videoTrackId NS_SWIFT_NAME(pushExternalVideoFrame(_:videoTrackId:)); + virtual int pushVideoFrame(base::ExternalVideoFrame* frame, unsigned int videoTrackId = 0) = 0; + abstract pushVideoFrame( frame: ExternalVideoFrame, videoTrackId?: number ): number; - public abstract int PushVideoFrame(ExternalVideoFrame frame, uint videoTrackId = 0); - abstract pushVideoFrame( + public abstract int PushVideoFrame(ExternalVideoFrame frame, uint videoTrackId = 0); + abstract pushVideoFrame( frame: ExternalVideoFrame, videoTrackId?: number ): number; - Future<void> pushVideoFrame( + Future<void> pushVideoFrame( {required ExternalVideoFrame frame, int videoTrackId = 0}); -

        +

        Details
        - -
        Deprecated:
        -
        If you need to push video frames in I422 format, you need to use this method; otherwise, use .
        -
        + +
        Deprecated:
        +
        If you need to push video frames in I422 format, you need to use this + method; otherwise, use .
        +

        To publish a custom video source, see the following steps:

          -
        1. Call to create a video track and get the video track ID.
        2. -
        3. Call to join the channel. In , set customVideoTrackId to the video track ID that you want to publish, and set publishCustomVideoTrack to .
        4. -
        5. Call this method and specify videoTrackId as the video track ID set in step 2. You can then publish the corresponding custom video source in the channel.

        - After calling this method, even if you stop pushing external video frames to the SDK, the custom video stream will still be counted as the video duration usage and incur charges. Agora recommends that you take appropriate measures based on the actual situation to avoid such video billing.
          -
        • If you no longer need to capture external video data, you can call to destroy the custom video track.
        • -
        • If you only want to use the external video data for local preview and not publish it in the channel, you can call to cancel sending video stream or call to set publishCustomVideoTrack to .
        • -
        -

        You can push the video frame either by calling this method or by calling . The difference is that this method does not support video data in Texture format.

        +
      23. Call to create a video track and get + the video track ID.
      24. +
      25. Call to join the channel. In , set + customVideoTrackId to the video track ID that you + want to publish, and set publishCustomVideoTrack to + .
      26. +
      27. Call this method and specify videoTrackId as the video + track ID set in step 2. You can then publish the corresponding custom video + source in the channel.
      28. +

      + After calling this method, even if you stop pushing + external video frames to the SDK, the custom video stream will still be counted as + the video duration usage and incur charges. Agora recommends that you take + appropriate measures based on the actual situation to avoid such video billing.
        +
      • If you no longer need to capture external video data, you can call to destroy the custom video + track.
      • +
      • If you only want to use the external video data for local preview and not + publish it in the channel, you can call to cancel sending video stream or call to set + publishCustomVideoTrack to .
      • +
      +

      You can push the video frame either by calling this method or by + calling . The difference is that this method does + not support video data in Texture format.

      Applicable scenarios -

      The SDK supports the ID3D11Texture2D video format since v4.2.3, which is widely used in game scenarios. When you need to push this type of video frame to the SDK, call this method and set the format in the frame to VIDEO_TEXTURE_ID3D11TEXTURE2D, set the d3d11_texture_2d and texture_slice_index members, and set the format of the video frame to ID3D11Texture2D.

      +

      The SDK supports the ID3D11Texture2D video format since v4.2.3, which is widely used + in game scenarios. When you need to push this type of video frame to the SDK, call + this method and set the format in the + frame to VIDEO_TEXTURE_ID3D11TEXTURE2D, + set the d3d11_texture_2d and + texture_slice_index members, and set the format of the + video frame to ID3D11Texture2D.

      Parameters - - frame - -

      The external raw video frame to be pushed. See .

      -
      -
      - - videoTrackId - The video track ID returned by calling the method. The default value is 0. - + + frame + +

      The external raw video frame to be pushed. See .

      +
      +
      + + videoTrackId + The video track ID returned by calling the method. The default value is 0. +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
        -
      • : Success.
      • -
      • : Failure. See for details and resolution suggestions.
      • -
      +
    3. : Success.
    4. +
    5. : Failure. See for details and resolution + suggestions.
    6. + + diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita index d85095e3a4d..84ca669e7b6 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_registeraudioframeobserver.dita @@ -2,7 +2,8 @@ <ph keyref="registerAudioFrameObserver"/> - Registers an audio frame observer object. + Registers an audio frame observer + object. @@ -13,56 +14,87 @@

      - public abstract int registerAudioFrameObserver(IAudioFrameObserver observer); - - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate; - virtual int registerAudioFrameObserver(IAudioFrameObserver* observer) = 0; - abstract registerAudioFrameObserver(observer: IAudioFrameObserver): number; - public abstract int RegisterAudioFrameObserver(IAudioFrameObserver audioFrameObserver, AUDIO_FRAME_POSITION position, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); - abstract registerAudioFrameObserver(observer: IAudioFrameObserver): number; - void registerAudioFrameObserver(AudioFrameObserver observer); -

      + public abstract int registerAudioFrameObserver(IAudioFrameObserver observer); + - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate; + virtual int registerAudioFrameObserver(IAudioFrameObserver* observer) = 0; + abstract registerAudioFrameObserver(observer: IAudioFrameObserver): number; + public abstract int RegisterAudioFrameObserver(IAudioFrameObserver audioFrameObserver, AUDIO_FRAME_POSITION position, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); + abstract registerAudioFrameObserver(observer: IAudioFrameObserver): number; + void registerAudioFrameObserver(AudioFrameObserver observer); +

      Details -

      Call this method to register an audio frame observer object (register a callback). When you need the SDK to trigger , , or callback, you need to use this method to register the callbacks.

      - Ensure that you call this method before joining a channel.
      +

      Call this method to register an audio frame observer object (register a callback). + When you need the SDK to trigger , , or callback, you need to use this method to + register the callbacks.

      + Ensure that you call this method before joining a channel. +
      Parameters - - observer - delegate - audioFrameObserver - -

      The observer instance. See . Set the value as to release the instance. Agora recommends calling this method after receiving to release the audio observer object.

      -
      -
      - - mode - The audio data callback mode. See . - - - position - The frame position of the audio observer.
        -
      • (0x0001): This position can observe the playback audio mixed by all remote users, corresponding to the callback.
      • -
      • (0x0002): This position can observe the collected local user's audio, corresponding to the callback.
      • -
      • (0x0004): This position can observe the playback audio mixed by the loacl user and all remote users, corresponding to the callback.
      • -
      • (0x0008): This position can observe the audio of a single remote user before mixing, corresponding to the callback.
      • -
      • (0x0010): This position can observe the in-ear monitoring audio of the local user, corresponding to the callback.
      • -
      -
      -
      -
      + + observer + delegate + audioFrameObserver + +

      The observer instance. See . + Set the + value as to release the instance. Agora + recommends calling this method after receiving to release the audio observer + object.

      +
      +
      + + mode + The audio data callback mode. See . + + + position + The frame position of the audio observer.
        +
      • (0x0001): This position + can observe the playback audio mixed by all remote users, + corresponding to the + callback.
      • +
      • (0x0002): This position + can observe the collected local user's audio, corresponding to the + callback.
      • +
      • (0x0004): This position can + observe the playback audio mixed by the loacl user and all remote + users, corresponding to the + callback.
      • +
      • (0x0008): This + position can observe the audio of a single remote user before + mixing, corresponding to the callback.
      • +
      • (0x0010): This + position can observe the in-ear monitoring audio of the local user, + corresponding to the + callback.
      • +
      +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
        -
      • : Success.
      • -
      • : Failure. See for details and resolution suggestions.
      • +
      • : Success.
      • +
      • : Failure. See for details and resolution + suggestions.
      diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita index 1c6f069bb37..5a8b883bb13 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_registerfaceinfoobserver.dita @@ -1,8 +1,9 @@ - <ph keyref="registerFaceInfoObserver" /> - Registers a facial information observer. + <ph keyref="registerFaceInfoObserver"/> + Registers a facial information + observer. @@ -13,49 +14,65 @@

      - public abstract int registerFaceInfoObserver(IFaceInfoObserver receiver); - - (BOOL)setFaceInfoDelegate:(id<AgoraFaceInfoDelegate> _Nullable)delegate NS_SWIFT_NAME(setFaceInfoDelegate(_:)); - virtual int registerFaceInfoObserver(IFaceInfoObserver* observer) = 0; - - abstract registerFaceInfoObserver(observer: IFaceInfoObserver): number; - public abstract int RegisterFaceInfoObserver(IFaceInfoObserver observer); - abstract registerFaceInfoObserver(observer: IFaceInfoObserver): number; - void registerFaceInfoObserver(FaceInfoObserver observer);

      + public abstract int registerFaceInfoObserver(IFaceInfoObserver receiver); + - (BOOL)setFaceInfoDelegate:(id<AgoraFaceInfoDelegate> _Nullable)delegate NS_SWIFT_NAME(setFaceInfoDelegate(_:)); + virtual int registerFaceInfoObserver(IFaceInfoObserver* observer) = 0; + + abstract registerFaceInfoObserver(observer: IFaceInfoObserver): number; + public abstract int RegisterFaceInfoObserver(IFaceInfoObserver observer); + abstract registerFaceInfoObserver(observer: IFaceInfoObserver): number; + void registerFaceInfoObserver(FaceInfoObserver observer); +

      Details
      - -
      Since
      -
      v4.3.1
      -
      + +
      Since
      +
      v4.3.1
      +
      -

      You can call this method to register the callback to receive the facial information processed by Agora speech driven extension. When calling this method to register a facial information observer, you can register callbacks in the class as needed. After successfully registering the facial information observer, the SDK triggers the callback you have registered when it captures the facial information converted by the speech driven extension.

      +

      You can call this method to register the callback to + receive the facial information processed by Agora speech driven extension. When + calling this method to register a facial information observer, you can register + callbacks in the class as needed. After + successfully registering the facial information observer, the SDK triggers the + callback you have registered when it captures the facial information converted by + the speech driven extension.

      • Ensure that you call this method before joining a channel.
      • -
      • Before calling this method, you need to make sure that the speech driven extension has been enabled by calling .
      • +
      • Before calling this method, you need to make sure that the speech driven + extension has been enabled by calling .
      Applicable scenarios -

      Facial information processed by the Agora speech driven extension is BS (Blend Shape) data that complies with ARkit standards. You can further process the BS data using third-party 3D rendering engines, such as driving avatar to make mouth movements corresponding to speech.

      +

      Facial information processed by the Agora speech driven extension is BS (Blend Shape) + data that complies with ARkit standards. You can further process the BS data using + third-party 3D rendering engines, such as driving avatar to make mouth movements + corresponding to speech.

      Parameters - - observer - Facial information observer, see . - -
      + + observer + Facial information observer, see . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly.

      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      -
      +
    7. < 0: Failure. See for details + and resolution suggestions.
    8. + + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita index c287a35fcad..60e7bd0e46b 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_registervideoencodedframeobserver.dita @@ -2,7 +2,8 @@ <ph keyref="registerVideoEncodedFrameObserver"/> - Registers a receiver object for the encoded video image. + Registers a receiver object for the encoded video + image. @@ -13,62 +14,90 @@

      - public abstract int registerVideoEncodedFrameObserver(IVideoEncodedFrameObserver receiver); + public abstract int registerVideoEncodedFrameObserver(IVideoEncodedFrameObserver receiver); - - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate; - virtual int registerVideoEncodedFrameObserver(IVideoEncodedFrameObserver* observer) = 0; - abstract registerVideoEncodedFrameObserver( + - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate; + virtual int registerVideoEncodedFrameObserver(IVideoEncodedFrameObserver* observer) = 0; + abstract registerVideoEncodedFrameObserver( observer: IVideoEncodedFrameObserver ): number; - public abstract int RegisterVideoEncodedFrameObserver(IVideoEncodedFrameObserver videoEncodedImageReceiver, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); - abstract registerVideoEncodedFrameObserver( + public abstract int RegisterVideoEncodedFrameObserver(IVideoEncodedFrameObserver videoEncodedImageReceiver, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); + abstract registerVideoEncodedFrameObserver( observer: IVideoEncodedFrameObserver ): number; - void registerVideoEncodedFrameObserver(VideoEncodedFrameObserver observer); -

      -
      + void registerVideoEncodedFrameObserver(VideoEncodedFrameObserver observer); +

      +
      Details -

      If you only want to observe encoded video frames (such as h.264 format) without decoding and rendering the video, Agora recommends that you implement one class through this method.

      -

      If you want to obtain the original video data of some remote users (referred to as group A) and the encoded video data of other remote users (referred to as group B), you can refer to the following steps:

        -
      1. Call to register the raw video frame observer before joining the channel.
      2. -
      3. Call to register the encoded video frame observer before joining the channel.
      4. -
      5. After joining the channel, get the user IDs of group B users through , and then call to set the encodedFrameOnly of this group of users to .
      6. -
      7. Call ()to start receiving the video streams of all remote users. Then:
          -
        • The raw video data of group A users can be obtained through the callback in , and the SDK renders the data by default.
        • -
        • The encoded video data of group B users can be obtained through the callback in .
        • -
      8. -

      +

      If you only want to observe encoded video frames (such as h.264 format) without + decoding and rendering the video, Agora recommends that you implement one class through this method.

      +

      If you want to obtain the original video data of some remote users (referred + to as group A) and the encoded video data of other remote users (referred to as + group B), you can refer to the following steps:

        +
      1. Call to register the raw video + frame observer before joining the channel.
      2. +
      3. Call to register the + encoded video frame observer before joining the channel.
      4. +
      5. After joining the channel, get the user IDs of group B users through , and then call to set the + encodedFrameOnly of this group of users to + .
      6. +
      7. Call ()to start receiving the video streams of all remote users. Then:
          +
        • The raw video data of group A users can be obtained through the + callback in , and the SDK + renders the data by default.
        • +
        • The encoded video data of group B users can be obtained through the + callback in .
        • +
        +
      8. +
      +

      -
        -
      • Call this method before joining a channel.
      • -
      +
        +
      • Call this method before joining a channel.
      • +
      +
      Parameters - - delegate - receiver - observer - videoEncodedImageReceiver - The video frame observer object. See . - The observer instance. See . Set the value as to release the instance. - - - mode - The video data callback mode. See . - -
      + + delegate + receiver + observer + videoEncodedImageReceiver + The video frame + observer object. See . + The observer instance. See . Set the value as to release the instance. + + + mode + The video data callback mode. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
        -
      • : Success.
      • -
      • : Failure. See for details and resolution suggestions.
      • -
      +
    9. : Success.
    10. +
    11. : Failure. See for details and resolution + suggestions.
    12. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_registervideoencodedimagereceiver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_registervideoencodedimagereceiver.dita index 3751a0fb708..5233ae38652 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_registervideoencodedimagereceiver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_registervideoencodedimagereceiver.dita @@ -2,7 +2,8 @@ <ph keyref="registerVideoEncodedImageReceiver"/> - Registers a receiver object for the encoded video image. + Registers a receiver object for the encoded video + image. @@ -13,9 +14,9 @@

      - public abstract int registerVideoEncodedImageReceiver(IVideoEncodedImageReceiver receiver); - - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate; - virtual int registerVideoEncodedImageReceiver(rtc::IVideoEncodedImageReceiver* receiver) = 0;

      + public abstract int registerVideoEncodedImageReceiver(IVideoEncodedImageReceiver receiver); + - (BOOL)setEncodedVideoFrameDelegate:(id<AgoraEncodedVideoFrameDelegate> _Nullable)delegate; + virtual int registerVideoEncodedImageReceiver(rtc::IVideoEncodedImageReceiver* receiver) = 0;

      public abstract void RegisterVideoEncodedImageReceiver(IVideoEncodedImageReceiver videoEncodedImageReceiver, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); @@ -24,26 +25,34 @@
      Details -
        -
      • Call this method after joining a channel.
      • -
      • If you register an object, you cannot register an object.
      • -
      +
        +
      • Call this method after joining a channel.
      • +
      • If you register an object, you + cannot register an object.
      • +
      + +
      Parameters - - delegate - receiver - videoEncodedImageReceiver - The receiver object. See . - The observer object instance. See . Set the value as to release the instance. - -
      + + delegate + receiver + videoEncodedImageReceiver + The receiver object. See . + The observer object instance. See . Set the value as to release the instance. + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    13. 0: Success.
    14. +
    15. < 0: Failure.
    16. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita index beafa1688f7..afd08797dc8 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_registervideoframeobserver.dita @@ -2,7 +2,8 @@ <ph keyref="registerVideoFrameObserver"/> - Registers a raw video frame observer object. + Registers a raw video frame observer + object. @@ -13,61 +14,87 @@

      - public abstract int registerVideoFrameObserver(IVideoFrameObserver observer); - - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate; - virtual int registerVideoFrameObserver(IVideoFrameObserver* observer) = 0; - abstract registerVideoFrameObserver(observer: IVideoFrameObserver): number; - public abstract int RegisterVideoFrameObserver(IVideoFrameObserver videoFrameObserver, VIDEO_OBSERVER_FRAME_TYPE formatPreference, VIDEO_OBSERVER_POSITION position, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); - abstract registerVideoFrameObserver(observer: IVideoFrameObserver): number; - void registerVideoFrameObserver(VideoFrameObserver observer); -

      + public abstract int registerVideoFrameObserver(IVideoFrameObserver observer); + - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate; + virtual int registerVideoFrameObserver(IVideoFrameObserver* observer) = 0; + abstract registerVideoFrameObserver(observer: IVideoFrameObserver): number; + public abstract int RegisterVideoFrameObserver(IVideoFrameObserver videoFrameObserver, VIDEO_OBSERVER_FRAME_TYPE formatPreference, VIDEO_OBSERVER_POSITION position, OBSERVER_MODE mode = OBSERVER_MODE.INTPTR); + abstract registerVideoFrameObserver(observer: IVideoFrameObserver): number; + void registerVideoFrameObserver(VideoFrameObserver observer); +

      Details -

      If you want to observe raw video frames (such as YUV or RGBA format), Agora recommends that you implement one class with this method.

      -

      When calling this method to register a video observer, you can register callbacks in the class as needed. After you successfully register the video frame observer, the SDK triggers the registered callbacks each time a video frame is received.

      +

      If you want to observe raw video frames (such as YUV or RGBA format), Agora + recommends that you implement one class with + this method.

      +

      When calling this method to register a video observer, you can register callbacks in + the class as needed. After you successfully + register the video frame observer, the SDK triggers the registered callbacks each + time a video frame is received.

      -

        -
      • Ensure that you call this method before joining a channel.
      • -
      • When handling the video data returned in the callbacks, pay attention to the changes in the width and height parameters, which may be adapted under the following circumstances:
          -
        • When network conditions deteriorate, the video resolution decreases incrementally.
        • -
        • If the user adjusts the video profile, the resolution of the video returned in the callbacks also changes.
        • -
      • -
      - After registering the raw video observer, you can use the obtained raw video data in various video pre-processing scenarios, such as implementing virtual backgrounds and image enhacement scenarios by yourself, Agora provides an open source sample project on GitHub for your reference.
      +
        +
      • Ensure that you call this method before joining a channel.
      • +
      • When handling the video data returned in the callbacks, pay attention to the + changes in the width and height + parameters, which may be adapted under the following circumstances:
          +
        • When network conditions deteriorate, the video resolution decreases + incrementally.
        • +
        • If the user adjusts the video profile, the resolution of the video + returned in the callbacks also changes.
        • +
      • +
      + + After registering the raw video observer, you can + use the obtained raw video data in various video pre-processing scenarios, such as + implementing virtual backgrounds and image enhacement scenarios by yourself, Agora + provides an open source sample project on GitHub for + your reference.
      Parameters - - observer - delegate - videoFrameObserver - The observer instance. See . To release the instance, set the value as . - - - mode - The video data callback mode. See . - - - formatPreference - The video frame type. See . - - - position - A bit mask that controls the frame position of the video observer. See . - -
      + + observer + delegate + videoFrameObserver + The observer instance. See . + To release the + instance, set the value as . + + + mode + The video data callback mode. See . + + + formatPreference + The video frame type. See . + + + position + A bit mask that controls the frame position of the video observer. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
        -
      • : Success.
      • -
      • : Failure. See for details and resolution suggestions.
      • -
      +
    17. : Success.
    18. +
    19. : Failure. See for details and resolution + suggestions.
    20. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_removealllisteners.dita b/en-US/dita/RTC-NG/API/api_imediaengine_removealllisteners.dita index 4cf7a1a17e4..a35875d1229 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_removealllisteners.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_removealllisteners.dita @@ -1,37 +1,39 @@ - <ph keyref="removeAllListeners_IMediaEngine" /> - Removes all listeners for the specified event. + <ph keyref="removeAllListeners_IMediaEngine"/> + Removes all listeners for the specified + event. - +

      - - - - removeAllListeners?<EventType extends keyof IMediaEngineEvent>( + + + + removeAllListeners?<EventType extends keyof IMediaEngineEvent>( eventType?: EventType ): void; - - removeAllListeners?<EventType extends keyof IMediaEngineEvent>( + + removeAllListeners?<EventType extends keyof IMediaEngineEvent>( eventType?: EventType ): void; -

      +

      Parameters - - - - -
      + + + + + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_removelistener.dita b/en-US/dita/RTC-NG/API/api_imediaengine_removelistener.dita index 6890e3b0fdf..7b055ee6354 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_removelistener.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_removelistener.dita @@ -1,50 +1,56 @@ - <ph keyref="removeListener_IMediaEngine" /> - Removes the specified listener. + <ph keyref="removeListener_IMediaEngine"/> + Removes the specified listener. - +

      - - - - removeListener?<EventType extends keyof IMediaEngineEvent>( + + + + removeListener?<EventType extends keyof IMediaEngineEvent>( eventType: EventType, listener: IMediaEngineEvent[EventType] ): void; - - removeListener?<EventType extends keyof IMediaEngineEvent>( + + removeListener?<EventType extends keyof IMediaEngineEvent>( eventType: EventType, listener: IMediaEngineEvent[EventType] ): void; - -

      + +

      -
      +
      Parameters - - - - - - listener - The callback function for eventType. Must pass in the same function object in . Take removing the listener for as an example: // Create an onPlaybackAudioFrameBeforeMixing object + + + + + + listener + The callback function for eventType. Must pass in the + same function object in . Take + removing the listener for as an + example: + // Create an onPlaybackAudioFrameBeforeMixing object const onPlaybackAudioFrameBeforeMixing = (channelId: string, uid: number, audioFrame: AudioFrame) => {}; // Add one onPlaybackAudioFrameBeforeMixing listener engine.addListener('onPlaybackAudioFrameBeforeMixing', onPlaybackAudioFrameBeforeMixing); // Remove the onPlaybackAudioFrameBeforeMixing listener engine.removeListener('onPlaybackAudioFrameBeforeMixing', onPlaybackAudioFrameBeforeMixing); - -
      + + +
      - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_setexternalaudiosink.dita b/en-US/dita/RTC-NG/API/api_imediaengine_setexternalaudiosink.dita index 2bc35c3a090..44a2888699d 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_setexternalaudiosink.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_setexternalaudiosink.dita @@ -1,79 +1,96 @@ - <ph keyref="setExternalAudioSink" /> + <ph keyref="setExternalAudioSink"/> Sets the external audio sink. - +

      - public abstract int setExternalAudioSink(boolean enabled, int sampleRate, int channels); - - (void)enableExternalAudioSink:(BOOL)enabled + public abstract int setExternalAudioSink(boolean enabled, int sampleRate, int channels); + - (void)enableExternalAudioSink:(BOOL)enabled sampleRate:(NSUInteger)sampleRate channels:(NSUInteger)channels; - virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels) = 0; - abstract setExternalAudioSink( + virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels) = 0; + abstract setExternalAudioSink( enabled: boolean, sampleRate: number, channels: number ): number; - public abstract int SetExternalAudioSink(bool enabled, int sampleRate, int channels); - abstract setExternalAudioSink( + public abstract int SetExternalAudioSink(bool enabled, int sampleRate, int channels); + abstract setExternalAudioSink( enabled: boolean, sampleRate: number, channels: number ): number; - Future<void> setExternalAudioSink( + Future<void> setExternalAudioSink( {required bool enabled, required int sampleRate, required int channels}); -

      +

      Details -

      This method applies to scenarios where you want to use external audio data for playback. After you set the external audio sink, you can call to pull remote audio frames. The app can process the remote audio and play it with the audio effects that you want.

      +

      This method applies to scenarios where you want to use external audio data for + playback. After you set the external audio sink, you can call to pull remote audio frames. The app can process the + remote audio and play it with the audio effects that you want.

      -
        -
      • Before using this method, you need to set enableAudioDevice to in .
      • -
      • Ensure that you call this method before joining a channel.
      • -
      • Once you enable the external audio sink, the app will not retrieve any audio data from the callback.
      • -
      +
        +
      • Before using this method, you need to set + enableAudioDevice to in .
      • +
      • Ensure that you call this method before joining a channel.
      • +
      • Once you enable the external audio sink, the app will not retrieve any audio + data from the callback.
      • +
      + +
      Parameters - - enabled - -

      Whether to enable or disable the external audio sink:

        -
      • : Enables the external audio sink.
      • -
      • : (Default) Disables the external audio sink.
      • -

      -
      -
      - - sampleRate - -

      The sample rate (Hz) of the external audio sink, which can be set as 16000, 32000, 44100, or 48000.

      -
      -
      - - channels - The number of audio channels of the external audio sink:
        -
      • 1: Mono.
      • -
      • 2: Stereo.
      • -
      -
      -
      + + enabled + +

      Whether to enable or disable the external audio sink:

        +
      • : Enables the external audio + sink.
      • +
      • : (Default) Disables the + external audio sink.
      • +

      +
      +
      + + sampleRate + +

      The sample rate (Hz) of the external audio sink, which can be set as + 16000, 32000, 44100, or 48000.

      +
      +
      + + channels + The number of audio channels of the external audio sink:
        +
      • 1: Mono.
      • +
      • 2: Stereo.
      • +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    21. 0: Success.
    22. +
    23. < 0: Failure. See for details + and resolution suggestions.
    24. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_setexternalaudiosource2.dita b/en-US/dita/RTC-NG/API/api_imediaengine_setexternalaudiosource2.dita index a2616b68b85..5b60a3defcc 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_setexternalaudiosource2.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_setexternalaudiosource2.dita @@ -2,7 +2,8 @@ <ph keyref="setExternalAudioSource2"/> - Sets the external audio source parameters. + Sets the external audio source + parameters. @@ -13,94 +14,111 @@

      - public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels, boolean localPlayback, boolean publish); - - (int)setExternalAudioSource:(BOOL)enabled + public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels, boolean localPlayback, boolean publish); + - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels localPlayback:(BOOL)localPlayback publish:(BOOL)publish; - virtual int setExternalAudioSource(bool enabled, + virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels, bool localPlayback = false, bool publish = true) = 0; - abstract setExternalAudioSource( + abstract setExternalAudioSource( enabled: boolean, sampleRate: number, channels: number, localPlayback?: boolean, publish?: boolean ): number; - public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels, bool localPlayback = false, bool publish = true); - abstract setExternalAudioSource( + public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels, bool localPlayback = false, bool publish = true); + abstract setExternalAudioSource( enabled: boolean, sampleRate: number, channels: number, localPlayback?: boolean, publish?: boolean ): number; - Future<void> setExternalAudioSource( + Future<void> setExternalAudioSource( {required bool enabled, required int sampleRate, required int channels, bool localPlayback = false, bool publish = true}); -

      +

      Details
      - -
      Deprecated:
      -
      This method is deprecated, use instead.
      -
      + +
      Deprecated:
      +
      This method is deprecated, use + instead.
      +
      - Call this method before joining a channel.
      + Call this method before joining a channel. +
      Parameters - - enabled - -

      Whether to enable the external audio source:

        -
      • : Enable the external audio source.
      • -
      • : (Default) Disable the external audio source.
      • -

      -
      -
      - - sampleRate - The sample rate (Hz) of the external audio source which can be set as 8000, 16000, 32000, 44100, or 48000. - - - channels - The number of channels of the external audio source, which can be set as 1 (Mono) or 2 (Stereo). - - - localPlayback - -

      Whether to play the external audio source:

        -
      • : Play the external audio source.
      • -
      • : (Default) Do not play the external source.
      • -

      -
      -
      - - publish - -

      Whether to publish audio to the remote users:

        -
      • : (Default) Publish audio to the remote users.
      • -
      • : Do not publish audio to the remote users.
      • -

      -
      -
      -
      + + enabled + +

      Whether to enable the external audio source:

        +
      • : Enable the external audio + source.
      • +
      • : (Default) Disable the + external audio source.
      • +

      +
      +
      + + sampleRate + The sample rate (Hz) of the external audio source which can be set as + 8000, 16000, 32000, + 44100, or 48000. + + + channels + The number of channels of the external audio source, which can be set as + 1 (Mono) or 2 (Stereo). + + + localPlayback + +

      Whether to play the external audio source:

        +
      • : Play the external audio + source.
      • +
      • : (Default) Do not play the + external source.
      • +

      +
      +
      + + publish + +

      Whether to publish audio to the remote users:

        +
      • : (Default) Publish audio to + the remote users.
      • +
      • : Do not publish audio to + the remote users.
      • +

      +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    25. 0: Success.
    26. +
    27. < 0: Failure. See for details + and resolution suggestions.
    28. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita b/en-US/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita index 6bba70c3641..22014c7c0b2 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_setexternalvideosource.dita @@ -1,81 +1,94 @@ - <ph keyref="setExternalVideoSource" /> + <ph keyref="setExternalVideoSource"/> Configures the external video source. - +

      - public abstract int setExternalVideoSource( + public abstract int setExternalVideoSource( boolean enable, boolean useTexture, Constants.ExternalVideoSourceType sourceType); - - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType; - virtual int setExternalVideoSource( + - (void)setExternalVideoSource:(BOOL)enable useTexture:(BOOL)useTexture sourceType:(AgoraExternalVideoSourceType)sourceType; + virtual int setExternalVideoSource( bool enabled, bool useTexture, EXTERNAL_VIDEO_SOURCE_TYPE sourceType = VIDEO_FRAME, rtc::SenderOptions encodedVideoOption = rtc::SenderOptions()) = 0; - abstract setExternalVideoSource( + abstract setExternalVideoSource( enabled: boolean, useTexture: boolean, sourceType?: ExternalVideoSourceType, encodedVideoOption?: SenderOptions ): number; - public abstract int SetExternalVideoSource(bool enabled, bool useTexture, EXTERNAL_VIDEO_SOURCE_TYPE sourceType, SenderOptions encodedVideoOption); - abstract setExternalVideoSource( + public abstract int SetExternalVideoSource(bool enabled, bool useTexture, EXTERNAL_VIDEO_SOURCE_TYPE sourceType, SenderOptions encodedVideoOption); + abstract setExternalVideoSource( enabled: boolean, useTexture: boolean, sourceType?: ExternalVideoSourceType, encodedVideoOption?: SenderOptions ): number; - Future<void> setExternalVideoSource( + Future<void> setExternalVideoSource( {required bool enabled, required bool useTexture, ExternalVideoSourceType sourceType = ExternalVideoSourceType.videoFrame, SenderOptions encodedVideoOption = const SenderOptions()}); -

      +

      Details - Call this method before joining a channel.
      + Call this method before joining a channel. +
      Parameters - - enable - enabled - Whether to use the external video source:
        -
      • : Use the external video source. The SDK prepares to accept the external video frame.
      • -
      • : (Default) Do not use the external video source.
      • -
      -
      - - useTexture - Whether to use the external video frame in the Texture format.
        -
      • : Use the external video frame in the Texture format.
      • -
      • : (Default) Do not use the external video frame in the Texture format.
      • -
      -
      - - sourceType - Whether the external video frame is encoded. See . - - - encodedVideoOption - Video encoding options. This parameter needs to be set if sourceType is . To set this parameter, contact . - -
      + + enable + enabled + Whether to use the external video source:
        +
      • : Use the external video source. + The SDK prepares to accept the external video frame.
      • +
      • : (Default) Do not use the + external video source.
      • +
      +
      + + useTexture + Whether to use the external video frame in the Texture format.
        +
      • : Use the external video frame + in the Texture format.
      • +
      • : (Default) Do not use the + external video frame in the Texture format.
      • +
      +
      + + sourceType + Whether the external video frame is encoded. See . + + + encodedVideoOption + Video encoding options. This parameter needs to be set if + sourceType is . To set this parameter, contact . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_unregisteraudioframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_unregisteraudioframeobserver.dita index ab960dabc45..87ee8868b34 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_unregisteraudioframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_unregisteraudioframeobserver.dita @@ -13,30 +13,36 @@

      - - - - abstract unregisterAudioFrameObserver(observer: IAudioFrameObserver): number; - - abstract unregisterAudioFrameObserver(observer: IAudioFrameObserver): number; - void unregisterAudioFrameObserver(AudioFrameObserver observer); -

      + + + + abstract unregisterAudioFrameObserver(observer: IAudioFrameObserver): number; + + abstract unregisterAudioFrameObserver(observer: IAudioFrameObserver): number; + void unregisterAudioFrameObserver(AudioFrameObserver observer); +

      Parameters - - observer - The audio frame observer, reporting the reception of each audio frame. See . - -
      + + observer + The audio frame observer, reporting the reception of each audio frame. See + . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    29. 0: Success.
    30. +
    31. < 0: Failure. See for details + and resolution suggestions.
    32. +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_unregisterfaceinfoobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_unregisterfaceinfoobserver.dita index edf8bfdd030..34598a3cc2a 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_unregisterfaceinfoobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_unregisterfaceinfoobserver.dita @@ -1,8 +1,9 @@ - <ph keyref="unregisterFaceInfoObserver" /> - Unregisters a facial information observer. + <ph keyref="unregisterFaceInfoObserver"/> + Unregisters a facial information + observer. @@ -13,39 +14,45 @@

      - - - - - abstract unregisterFaceInfoObserver(observer: IFaceInfoObserver): number; - public abstract int UnRegisterFaceInfoObserver(); - abstract unregisterFaceInfoObserver(observer: IFaceInfoObserver): number; - void unregisterFaceInfoObserver(FaceInfoObserver observer);

      + + + + + abstract unregisterFaceInfoObserver(observer: IFaceInfoObserver): number; + public abstract int UnRegisterFaceInfoObserver(); + abstract unregisterFaceInfoObserver(observer: IFaceInfoObserver): number; + void unregisterFaceInfoObserver(FaceInfoObserver observer); +

      Details
      - -
      Since
      -
      v4.3.1
      -
      + +
      Since
      +
      v4.3.1
      +

      Parameters - - observer - Facial information observer, see . - -
      + + observer + Facial information observer, see . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly.

      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      -
      +
    33. < 0: Failure. See for details + and resolution suggestions.
    34. + + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_unregistervideoencodedframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_unregistervideoencodedframeobserver.dita index 0fa291a9b6d..19004a18baf 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_unregistervideoencodedframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_unregistervideoencodedframeobserver.dita @@ -2,7 +2,8 @@ <ph keyref="unregisterVideoEncodedFrameObserver"/> - Unregisters a receiver object for the encoded video frame. + Unregisters a receiver object for the encoded video + frame. @@ -13,33 +14,40 @@

      - - - - abstract unregisterVideoEncodedFrameObserver( + + + + abstract unregisterVideoEncodedFrameObserver( observer: IVideoEncodedFrameObserver ): number; - public abstract int UnRegisterVideoEncodedFrameObserver(); - abstract unregisterVideoEncodedFrameObserver( + public abstract int UnRegisterVideoEncodedFrameObserver(); + abstract unregisterVideoEncodedFrameObserver( observer: IVideoEncodedFrameObserver ): number; - void unregisterVideoEncodedFrameObserver(VideoEncodedFrameObserver observer); -

      + void unregisterVideoEncodedFrameObserver(VideoEncodedFrameObserver observer); +

      Parameters - - observer - The video observer, reporting the reception of each video frame. See . - -
      + + observer + The video observer, reporting the reception of each video frame. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    35. 0: Success.
    36. +
    37. < 0: Failure. See for details + and resolution suggestions.
    38. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaengine_unregistervideoframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaengine_unregistervideoframeobserver.dita index 538bc0d8956..f3e8077e55f 100644 --- a/en-US/dita/RTC-NG/API/api_imediaengine_unregistervideoframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaengine_unregistervideoframeobserver.dita @@ -13,29 +13,35 @@

      - - - - abstract unregisterVideoFrameObserver(observer: IVideoFrameObserver): number; - public abstract int UnRegisterVideoFrameObserver(); - abstract unregisterVideoFrameObserver(observer: IVideoFrameObserver): number; - void unregisterVideoFrameObserver(VideoFrameObserver observer); -

      + + + + abstract unregisterVideoFrameObserver(observer: IVideoFrameObserver): number; + public abstract int UnRegisterVideoFrameObserver(); + abstract unregisterVideoFrameObserver(observer: IVideoFrameObserver): number; + void unregisterVideoFrameObserver(VideoFrameObserver observer); +

      Parameters - - observer - The video observer, reporting the reception of each video frame. See . - -
      + + observer + The video observer, reporting the reception of each video frame. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_addlistener.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_addlistener.dita index 0c96f2ee242..cfa87b54eab 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_addlistener.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_addlistener.dita @@ -2,7 +2,8 @@ <ph keyref="addListener_IMediaPlayer"/> - Adds one listener. + Adds one + listener. @@ -13,36 +14,43 @@

      - - - - addListener?<EventType extends keyof IMediaPlayerEvent>( + + + + addListener?<EventType extends keyof IMediaPlayerEvent>( eventType: EventType, listener: IMediaPlayerEvent[EventType] ): void; - - addListener?<EventType extends keyof IMediaPlayerEvent>( + + addListener?<EventType extends keyof IMediaPlayerEvent>( eventType: EventType, listener: IMediaPlayerEvent[EventType] ): void; -

      +

      Details -

      After calling this method, you can listen for the corresponding events in the object and obtain data through . Depending on your project needs, you can add multiple listeners for the same event.

      +

      After calling this method, you can listen for the corresponding events in the object and obtain data through . Depending on your project needs, you can add + multiple listeners for the same event.

      Parameters - - eventType - The name of the target event to listen for. See . - - - listener - The callback function for eventType. Take adding a listener for as an example:const onPlayerSourceStateChanged = (connection: RtcConnection, elapsed: number) => {}; + + eventType + The name of the target event to listen for. See . + + + listener + The callback function for eventType. Take adding a + listener for as an + example:const onPlayerSourceStateChanged = (connection: RtcConnection, elapsed: number) => {}; engine.addListener('onPlayerSourceStateChanged', onPlayerSourceStateChanged); - -
      + + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita index dea5a7226d8..5524e33a58c 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_adjustplayoutvolume.dita @@ -1,46 +1,53 @@ - <ph keyref="adjustPlayoutVolume" /> + <ph keyref="adjustPlayoutVolume"/> Adjusts the local playback volume. - +

      - int adjustPlayoutVolume(int volume); - - (int)adjustPlayoutVolume:(int)volume; - virtual int adjustPlayoutVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int adjustPlayoutVolume(int volume); + - (int)adjustPlayoutVolume:(int)volume; + virtual int adjustPlayoutVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int AdjustPlayoutVolume(int volume); - abstract adjustPlayoutVolume(volume: number): number; - public abstract int AdjustPlayoutVolume(int volume); - abstract adjustPlayoutVolume(volume: number): number; - Future<void> adjustPlayoutVolume(int volume); -

      + abstract adjustPlayoutVolume(volume: number): number; + public abstract int AdjustPlayoutVolume(int volume); + abstract adjustPlayoutVolume(volume: number): number; + Future<void> adjustPlayoutVolume(int volume); +

      Parameters - - volume - The local playback volume, which ranges from 0 to 100:
        -
      • 0: Mute.
      • -
      • 100: (Default) The original volume.
      • -
      -
      -
      + + volume + The local playback volume, which ranges from 0 to 100:
        +
      • 0: Mute.
      • +
      • 100: (Default) The original volume.
      • +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    39. 0: Success.
    40. +
    41. < 0: Failure. See for details + and resolution suggestions.
    42. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita index a77348b88f9..48ccca4466a 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_adjustpublishsignalvolume.dita @@ -1,51 +1,60 @@ - <ph keyref="adjustPublishSignalVolume" /> - Adjusts the volume of the media file for publishing. + <ph keyref="adjustPublishSignalVolume"/> + Adjusts the volume of the media file for + publishing. - +

      - int adjustPublishSignalVolume(int volume); - - (int)adjustPublishSignalVolume:(int)volume; - virtual int adjustPublishSignalVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int adjustPublishSignalVolume(int volume); + - (int)adjustPublishSignalVolume:(int)volume; + virtual int adjustPublishSignalVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int AdjustPublishSignalVolume(int volume); - abstract adjustPublishSignalVolume(volume: number): number; - public abstract int AdjustPublishSignalVolume(int volume); - abstract adjustPublishSignalVolume(volume: number): number; - Future<void> adjustPublishSignalVolume(int volume); -

      + abstract adjustPublishSignalVolume(volume: number): number; + public abstract int AdjustPublishSignalVolume(int volume); + abstract adjustPublishSignalVolume(volume: number): number; + Future<void> adjustPublishSignalVolume(int volume); +

      Details -

      After connected to the Agora server, you can call this method to adjust the volume of the media file heard by the remote user.

      +

      After connected to the Agora server, you can call this method to adjust the volume of + the media file heard by the remote user.

      Parameters - - volume - The volume, which ranges from 0 to 400:
        -
      • 0: Mute.
      • -
      • 100: (Default) The original volume.
      • -
      • 400: Four times the original volume (amplifying the audio signals by four times).
      • -
      -
      -
      + + volume + The volume, which ranges from 0 to 400:
        +
      • 0: Mute.
      • +
      • 100: (Default) The original volume.
      • +
      • 400: Four times the original volume (amplifying the audio signals by + four times).
      • +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    43. 0: Success.
    44. +
    45. < 0: Failure. See for details + and resolution suggestions.
    46. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_changeplaybackspeed.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_changeplaybackspeed.dita index 43f1f410681..dd724d09dcd 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_changeplaybackspeed.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_changeplaybackspeed.dita @@ -1,42 +1,44 @@ - <ph keyref="changePlaybackSpeed" /> + <ph keyref="changePlaybackSpeed"/> Adjusts the playback speed. - +

      - int changePlaybackSpeed(Constants.MediaPlayerPlaybackSpeed speed); - - (void)changePlaybackSpeed:(AgoraMediaPlayerSpeed)speed; - virtual int changePlaybackSpeed(media::base::MEDIA_PLAYER_PLAYBACK_SPEED speed) = 0; - - - - -

      + int changePlaybackSpeed(Constants.MediaPlayerPlaybackSpeed speed); + - (void)changePlaybackSpeed:(AgoraMediaPlayerSpeed)speed; + virtual int changePlaybackSpeed(media::base::MEDIA_PLAYER_PLAYBACK_SPEED speed) = 0; + + + + +

      - DetailsCall this method after calling .
      + DetailsCall this method after calling .
      Parameters - - speed - The playback speed. See . - -
      + + speed + The playback speed. See . + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    47. 0: Success.
    48. +
    49. < 0: Failure.
    50. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_dispose.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_dispose.dita index 7d56ee8c9af..5209b9ca423 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_dispose.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_dispose.dita @@ -1,20 +1,21 @@ - <ph keyref="dispose_IMediaPlayer" /> - Releases all the resources occupied by the media player. + <ph keyref="dispose_IMediaPlayer"/> + Releases all the resources occupied by the media + player. - +

      - public abstract void Dispose(); -

      + public abstract void Dispose(); +

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_enableautoswitchagoracdn.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_enableautoswitchagoracdn.dita index 0e7354ddb9e..14a616513d2 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_enableautoswitchagoracdn.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_enableautoswitchagoracdn.dita @@ -1,50 +1,62 @@ - <ph keyref="enableAutoSwitchAgoraCDN" /> - Enables/Disables the automatic switch of the CDN routes for playing the media resource. + <ph keyref="enableAutoSwitchAgoraCDN"/> + Enables/Disables the automatic switch of the CDN routes + for playing the media resource. - +

      - int enableAutoSwitchAgoraCDN(boolean enable); - - (int)enableAutoSwitchAgoraCDN:(BOOL)enable; - virtual int enableAutoSwitchAgoraCDN(bool enable) = 0; - abstract enableAutoSwitchAgoraCDN(enable: boolean): number; - public abstract int EnableAutoSwitchAgoraCDN(bool enable); - abstract enableAutoSwitchAgoraCDN(enable: boolean): number; - Future<void> enableAutoSwitchAgoraCDN(bool enable); -

      + int enableAutoSwitchAgoraCDN(boolean enable); + - (int)enableAutoSwitchAgoraCDN:(BOOL)enable; + virtual int enableAutoSwitchAgoraCDN(bool enable) = 0; + abstract enableAutoSwitchAgoraCDN(enable: boolean): number; + public abstract int EnableAutoSwitchAgoraCDN(bool enable); + abstract enableAutoSwitchAgoraCDN(enable: boolean): number; + Future<void> enableAutoSwitchAgoraCDN(bool enable); +

      Details -

      You can call this method if you want the SDK to automatically switch the CDN routes according to your network conditions.

      +

      You can call this method if you want the SDK to automatically switch the CDN routes + according to your network conditions.

      -

      Call this method before .

      -
      +

      Call this method before .

      + +
      Parameters - - enable - Whether to enable the automatic switch of the CDN routes for playing the media resource:
        -
      • : Enables the automatic switch of the CDN routes.
      • -
      • : (Default) Disables the automatic switch of the CDN routes.
      • -
      -
      -
      + + enable + Whether to enable the automatic switch of the CDN routes for playing the + media resource:
        +
      • : Enables the automatic switch + of the CDN routes.
      • +
      • : (Default) Disables the + automatic switch of the CDN routes.
      • +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    51. 0: Success.
    52. +
    53. < 0: Failure. See for details + and resolution suggestions.
    54. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getagoracdnlinecount.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getagoracdnlinecount.dita index cc573354c36..66444a7c39f 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getagoracdnlinecount.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getagoracdnlinecount.dita @@ -1,32 +1,35 @@ - <ph keyref="getAgoraCDNLineCount" /> - Gets the number of CDN routes for the media resource. + <ph keyref="getAgoraCDNLineCount"/> + Gets the number of CDN routes for the media + resource. - +

      - int getAgoraCDNLineCount(); - - (int)getAgoraCDNLineCount; - virtual int getAgoraCDNLineCount() = 0; - abstract getAgoraCDNLineCount(): number; - public abstract int GetAgoraCDNLineCount(); - abstract getAgoraCDNLineCount(): number; - Future<int> getAgoraCDNLineCount(); -

      + int getAgoraCDNLineCount(); + - (int)getAgoraCDNLineCount; + virtual int getAgoraCDNLineCount() = 0; + abstract getAgoraCDNLineCount(): number; + public abstract int GetAgoraCDNLineCount(); + abstract getAgoraCDNLineCount(): number; + Future<int> getAgoraCDNLineCount(); +

      Returns
        -
      • Returns the number of CDN routes for the media resource, if the method call succeeds.
      • -
      • ≤ 0: Failure.
      • -
      +
    55. Returns the number of CDN routes for the media resource, if the method call + succeeds.
    56. +
    57. ≤ 0: Failure.
    58. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getcurrentagoracdnindex.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getcurrentagoracdnindex.dita index f45e4ae339b..c2a07f6f97a 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getcurrentagoracdnindex.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getcurrentagoracdnindex.dita @@ -1,32 +1,36 @@ - <ph keyref="getCurrentAgoraCDNIndex" /> - Gets the CDN routes index of the current media resource. + <ph keyref="getCurrentAgoraCDNIndex"/> + Gets the CDN routes index of the current media + resource. - +

      - int getCurrentAgoraCDNIndex(); - - (int)getCurrentAgoraCDNIndex; - virtual int getCurrentAgoraCDNIndex() = 0; - abstract getCurrentAgoraCDNIndex(): number; - public abstract int GetCurrentAgoraCDNIndex(); - abstract getCurrentAgoraCDNIndex(): number; - Future<int> getCurrentAgoraCDNIndex(); -

      + int getCurrentAgoraCDNIndex(); + - (int)getCurrentAgoraCDNIndex; + virtual int getCurrentAgoraCDNIndex() = 0; + abstract getCurrentAgoraCDNIndex(): number; + public abstract int GetCurrentAgoraCDNIndex(); + abstract getCurrentAgoraCDNIndex(): number; + Future<int> getCurrentAgoraCDNIndex(); +

      Returns
        -
      • The number of CDN routes for the media resource, if the method call succeeds. The value range is [0, ()).
      • -
      • < 0: Failure.
      • -
      +
    59. The number of CDN routes for the media resource, if the method call succeeds. + The value range is [0, ()).
    60. +
    61. < 0: Failure.
    62. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getduration.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getduration.dita index 9a844a1a5f4..cb9462d3251 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getduration.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getduration.dita @@ -1,47 +1,52 @@ - <ph keyref="getDuration" /> - Gets the duration of the media resource. + <ph keyref="getDuration"/> + Gets the duration of the media + resource. - +

      - long getDuration(); - - (NSInteger)getDuration; - virtual int getDuration(int64_t& duration) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + long getDuration(); + - (NSInteger)getDuration; + virtual int getDuration(int64_t& duration) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetDuration(int64& duration); - abstract getDuration(): number; - public abstract int GetDuration(ref Int64 duration); - abstract getDuration(): number; - Future<int> getDuration(); -

      + abstract getDuration(): number; + public abstract int GetDuration(ref Int64 duration); + abstract getDuration(): number; + Future<int> getDuration(); +

      Parameters - - duration - An output parameter. The total duration (ms) of the media file. - -
      + + duration + An output parameter. The total duration (ms) of the media file. + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.

      The total duration (ms) of the media file.

      -
        -
      • If the method call succeeds, the SDK returns the total duration(ms) of the media file.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
        +
      • If the method call succeeds, the SDK returns the total duration(ms) of the media + file.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      • +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita index e660385e9ca..68ec62a8b02 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getmediaplayerid.dita @@ -1,34 +1,36 @@ - <ph keyref="getMediaPlayerId" /> + <ph keyref="getMediaPlayerId"/> Gets the ID of the media player. - +

      - int getMediaPlayerId(); - - (int)getMediaPlayerId; - virtual int getMediaPlayerId() const = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int getMediaPlayerId(); + - (int)getMediaPlayerId; + virtual int getMediaPlayerId() const = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetMediaPlayerId(); - abstract getMediaPlayerId(): number; - public abstract int GetId(); - abstract getMediaPlayerId(): number; - int getMediaPlayerId(); -

      + abstract getMediaPlayerId(): number; + public abstract int GetId(); + abstract getMediaPlayerId(): number; + int getMediaPlayerId(); +

      Returns
        -
      • Success. The ID of the media player.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    63. Success. The ID of the media player.
    64. +
    65. < 0: Failure. See for details + and resolution suggestions.
    66. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getmediaplayersourceobserver.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getmediaplayersourceobserver.dita index 7ab2449b346..e53daa370cd 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getmediaplayersourceobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getmediaplayersourceobserver.dita @@ -1,34 +1,37 @@ - <ph keyref="getMediaPlayerSourceObserver" /> - Gets the object. + <ph keyref="getMediaPlayerSourceObserver"/> + Gets the + object. - +

      - - - - - public abstract MediaPlayerSourceObserver GetMediaPlayerSourceObserver(); - - -

      + + + + + public abstract MediaPlayerSourceObserver GetMediaPlayerSourceObserver(); + + +

      Details -

      After successfully obtaining the object, you can listen for media player events by registering the callback in .

      +

      After successfully obtaining the object, + you can listen for media player events by registering the callback in .

      Returns -

      A object.

      +

      A object.

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getmute.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getmute.dita index bcbac604362..137c2ffc5cc 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getmute.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getmute.dita @@ -1,49 +1,56 @@ - <ph keyref="getMute" /> - Reports whether the media resource is muted. + <ph keyref="getMute"/> + Reports whether the media resource is + muted. - +

      - boolean getMute(); - - (bool)getMute; - virtual int getMute(bool& mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + boolean getMute(); + - (bool)getMute; + virtual int getMute(bool& mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetMute(bool muted); - abstract getMute(): boolean; - public abstract int GetMute(ref bool muted); - abstract getMute(): boolean; - Future<bool> getMute(); -

      + abstract getMute(): boolean; + public abstract int GetMute(ref bool muted); + abstract getMute(): boolean; + Future<bool> getMute(); +

      Parameters - - mute - muted - An output parameter. Whether the media file is muted:
        -
      • : The media file is muted.
      • -
      • : The media file is unmuted.
      • -
      -
      -
      + + mute + muted + An output parameter. Whether the media file is muted:
        +
      • : The media file is muted.
      • +
      • : The media file is + unmuted.
      • +
      +
      + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      -
        -
      • : Reports whether the media resource is muted.
      • -
      • : Reports whether the media resource is muted.
      +
        +
      • : Reports whether the media resource is + muted.
      • +
      • : Reports whether the media resource is + muted.
      • +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita index a94471ef70d..515db163ae5 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getplayoutvolume.dita @@ -1,49 +1,54 @@ - <ph keyref="getPlayoutVolume" /> + <ph keyref="getPlayoutVolume"/> Gets the local playback volume. - +

      - int getPlayoutVolume(); - - (int)getPlayoutVolume; - virtual int getPlayoutVolume(int& volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int getPlayoutVolume(); + - (int)getPlayoutVolume; + virtual int getPlayoutVolume(int& volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetPlayoutVolume(int volume); - abstract getPlayoutVolume(): number; - public abstract int GetPlayoutVolume(ref int volume); - abstract getPlayoutVolume(): number; - Future<int> getPlayoutVolume(); -

      + abstract getPlayoutVolume(): number; + public abstract int GetPlayoutVolume(ref int volume); + abstract getPlayoutVolume(): number; + Future<int> getPlayoutVolume(); +

      Parameters - - volume - An output parameter. The local playback volume, which ranges from 0 to 100:
        -
      • 0: Mute.
      • -
      • 100: (Default) The original volume.
      • -
      -
      -
      + + volume + An output parameter. The local playback volume, which ranges from 0 to + 100:
        +
      • 0: Mute.
      • +
      • 100: (Default) The original volume.
      • +
      +
      + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      -

      The local playback volume, which ranges from 0 to 100.

        -
      • 0: Mute.
      • -
      • 100: (Default) The original volume.
      • -

      +

      The local playback volume, which ranges + from 0 to 100.

        +
      • 0: Mute.
      • +
      • 100: (Default) The original volume.
      • +

      +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita index 74a18e4c0e5..e44138ef112 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getplayposition.dita @@ -1,42 +1,43 @@ - <ph keyref="getPlayPosition" /> + <ph keyref="getPlayPosition"/> Gets current local playback progress. - +

      - long getPlayPosition(); - - (NSInteger)getPosition; - virtual int getPlayPosition(int64_t& pos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + long getPlayPosition(); + - (NSInteger)getPosition; + virtual int getPlayPosition(int64_t& pos) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetPlayPosition(int64& pos); - abstract getPlayPosition(): number; - public abstract int GetPlayPosition(ref Int64 pos); - abstract getPlayPosition(): number; - Future<int> getPlayPosition(); -

      + abstract getPlayPosition(): number; + public abstract int GetPlayPosition(ref Int64 pos); + abstract getPlayPosition(): number; + Future<int> getPlayPosition(); +

      - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - pos - The playback position (ms) of the audio effect file. - -
      + + pos + The playback position (ms) of the audio effect file. + + +
      Returns
        -
      • Returns the current playback progress (ms) if the call succeeds.
      • -
      • < 0: Failure. See .
      • +
      • Returns the current playback progress (ms) if the call succeeds.
      • +
      • < 0: Failure. See .
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita index d573f913e38..7cf64011938 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getplaysrc.dita @@ -13,16 +13,16 @@

      - String getPlaySrc(); - - (NSString *)getPlaySrc; - virtual const char* getPlaySrc() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + String getPlaySrc(); + - (NSString *)getPlaySrc; + virtual const char* getPlaySrc() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") FString GetPlaySrc(); - abstract getPlaySrc(): string; - public abstract string GetPlaySrc(); - abstract getPlaySrc(): string; - Future<String> getPlaySrc(); -

      + abstract getPlaySrc(): string; + public abstract string GetPlaySrc(); + abstract getPlaySrc(): string; + Future<String> getPlaySrc(); +

      Returns diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita index a0584fc618c..08b53057ca7 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getpublishsignalvolume.dita @@ -1,46 +1,51 @@ - <ph keyref="getPublishSignalVolume" /> - Gets the volume of the media file for publishing. + <ph keyref="getPublishSignalVolume"/> + Gets the volume of the media file for + publishing. - +

      - int getPublishSignalVolume(); - - (int)getPublishSignalVolume; - virtual int getPublishSignalVolume(int& volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int getPublishSignalVolume(); + - (int)getPublishSignalVolume; + virtual int getPublishSignalVolume(int& volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetPublishSignalVolume(int volume); - abstract getPublishSignalVolume(): number; - public abstract int GetPublishSignalVolume(ref int volume); - abstract getPublishSignalVolume(): number; - Future<int> getPublishSignalVolume(); -

      + abstract getPublishSignalVolume(): number; + public abstract int GetPublishSignalVolume(ref int volume); + abstract getPublishSignalVolume(): number; + Future<int> getPublishSignalVolume(); +

      Parameters - - volume - An output parameter. The remote playback volume. - -
      + + volume + An output parameter. The remote playback volume. + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
        -
      • ≥ 0: The remote playback volume.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    67. ≥ 0: The remote playback volume.
    68. +
    69. < 0: Failure. See for details + and resolution suggestions.
    70. + +
      - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getstate.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getstate.dita index 268ca914afd..0b2a4ec756a 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getstate.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getstate.dita @@ -1,32 +1,32 @@ - <ph keyref="getState" /> + <ph keyref="getState"/> Gets current playback state. - +

      - Constants.MediaPlayerState getState(); - - (AgoraMediaPlayerState)getPlayerState; - virtual media::base::MEDIA_PLAYER_STATE getState() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + Constants.MediaPlayerState getState(); + - (AgoraMediaPlayerState)getPlayerState; + virtual media::base::MEDIA_PLAYER_STATE getState() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") EMEDIA_PLAYER_STATE GetState(); - abstract getState(): MediaPlayerState; - public abstract MEDIA_PLAYER_STATE GetState(); - abstract getState(): MediaPlayerState; - Future<MediaPlayerState> getState(); -

      + abstract getState(): MediaPlayerState; + public abstract MEDIA_PLAYER_STATE GetState(); + abstract getState(): MediaPlayerState; + Future<MediaPlayerState> getState(); +

      Returns -

      The current playback state. See .

      -
      +

      The current playback state. See .

      +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita index 6499ee296ad..23c756ffbc0 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getstreamcount.dita @@ -1,46 +1,54 @@ - <ph keyref="getStreamCount" /> - Gets the number of the media streams in the media resource. + <ph keyref="getStreamCount"/> + Gets the number of the media streams in the media + resource. - +

      - int getStreamCount(); - - (NSInteger)getStreamCount; - virtual int getStreamCount(int64_t& count) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int getStreamCount(); + - (NSInteger)getStreamCount; + virtual int getStreamCount(int64_t& count) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetStreamCount(int64& count); - abstract getStreamCount(): number; - public abstract int GetStreamCount(ref Int64 count); - abstract getStreamCount(): number; - Future<int> getStreamCount(); -

      + abstract getStreamCount(): number; + public abstract int GetStreamCount(ref Int64 count); + abstract getStreamCount(): number; + Future<int> getStreamCount(); +

      Details - Call this method after you call and receive the callback reporting the state .
      + Call this method after you call + and receive the callback reporting the + state . +
      Parameters - - count - An output parameter. The number of the media streams in the media resource. - -
      + + count + An output parameter. The number of the media streams in the media + resource. + + +
      Returns
        -
      • 0: Success.
      • -
      • The number of the media streams in the media resource if the method call succeeds.
      • -
      • < 0: Failure. See .
      • -
      +
    71. 0: Success.
    72. +
    73. The number of the media streams in + the media resource if the method call succeeds.
    74. +
    75. < 0: Failure. See .
    76. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita index 14e83ee4eeb..86cb4f9eaf3 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_getstreaminfo.dita @@ -1,54 +1,66 @@ - <ph keyref="getStreamInfo" /> - Gets the detailed information of the media stream. + <ph keyref="getStreamInfo"/> + Gets the detailed information of the media + stream. - +

      - MediaStreamInfo getStreamInfo(int index); - - (AgoraMediaStreamInfo *_Nullable)getStreamByIndex:(int)index; - virtual int getStreamInfo(int64_t index, media::base::PlayerStreamInfo* info) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + MediaStreamInfo getStreamInfo(int index); + - (AgoraMediaStreamInfo *_Nullable)getStreamByIndex:(int)index; + virtual int getStreamInfo(int64_t index, media::base::PlayerStreamInfo* info) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int GetStreamInfo(int64 index, FPlayerStreamInfo& info); - abstract getStreamInfo(index: number): PlayerStreamInfo; - public abstract int GetStreamInfo(Int64 index, ref PlayerStreamInfo info); - abstract getStreamInfo(index: number): PlayerStreamInfo; - Future<PlayerStreamInfo> getStreamInfo(int index); -

      + abstract getStreamInfo(index: number): PlayerStreamInfo; + public abstract int GetStreamInfo(Int64 index, ref PlayerStreamInfo info); + abstract getStreamInfo(index: number): PlayerStreamInfo; + Future<PlayerStreamInfo> getStreamInfo(int index); +

      Details - Call this method after calling .
      + Call this method after calling . +
      Parameters - - index - The index of the media stream. This parameter needs to be less than the count parameter of . - The index of the media stream. This parameter must be less than the return value of . - - - info - An output parameter. The detailed information of the media stream. See . - -
      + + index + The index of the media stream. This parameter + needs to be less than the count parameter of . + The index of the media stream. + This parameter must be less than the return value of . + + + info + An output parameter. The detailed information of the media stream. See . + + +
      Returns
        -
      • If the call succeeds, returns the detailed information of the media stream. See .
      • -
      • If the call fails, returns .
      • +
      • If the call succeeds, returns the detailed information of the media stream. See + .
      • +
      • If the call fails, returns .
        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    77. 0: Success.
    78. +
    79. < 0: Failure. See for details + and resolution suggestions.
    80. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_initeventhandler.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_initeventhandler.dita index 65b0f6fba6c..8d53b89b7c3 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_initeventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_initeventhandler.dita @@ -1,39 +1,43 @@ - <ph keyref="initEventHandler_IMediaPlayer" /> + <ph keyref="initEventHandler_IMediaPlayer"/> Adds callback event for media player. - +

      - - - - - public abstract int InitEventHandler(IMediaPlayerSourceObserver engineEventHandler); - -

      + + + + + public abstract int InitEventHandler(IMediaPlayerSourceObserver engineEventHandler); + + +

      Parameters - - engineEventHandler - Callback events to be added. See . - -
      + + engineEventHandler + Callback events to be added. See . + + +
      - Returns + Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      -
      -
      \ No newline at end of file +
    81. 0: Success.
    82. +
    83. < 0: Failure.
    84. + + + + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_mute.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_mute.dita index 47c6b7659af..138db4512f9 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_mute.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_mute.dita @@ -1,47 +1,54 @@ - <ph keyref="mute" /> + <ph keyref="mute"/> Sets whether to mute the media file. - +

      - int mute(boolean muted); - - (int)mute:(bool)isMute NS_SWIFT_NAME(mute(_:)); - virtual int mute(bool muted) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int mute(boolean muted); + - (int)mute:(bool)isMute NS_SWIFT_NAME(mute(_:)); + virtual int mute(bool muted) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Mute(bool muted); - abstract mute(muted: boolean): number; - public abstract int Mute(bool muted); - abstract mute(muted: boolean): number; - Future<void> mute(bool muted); -

      + abstract mute(muted: boolean): number; + public abstract int Mute(bool muted); + abstract mute(muted: boolean): number; + Future<void> mute(bool muted); +

      Parameters - - muted - isMute - Whether to mute the media file:
        -
      • : Mute the media file.
      • -
      • : (Default) Unmute the media file.
      • -
      -
      -
      + + muted + isMute + Whether to mute the media file:
        +
      • : Mute the media file.
      • +
      • : (Default) Unmute the media + file.
      • +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    85. 0: Success.
    86. +
    87. < 0: Failure. See for details + and resolution suggestions.
    88. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita index 3578a3506a3..1daaa669e5f 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_open.dita @@ -1,58 +1,76 @@ - <ph keyref="open" /> + <ph keyref="open"/> Opens the media resource. - +

      - int open(String url, long startPos); + int open(String url, long startPos); - - (int)open:(NSString *)url startPos:(NSInteger)startPos; + - (int)open:(NSString *)url startPos:(NSInteger)startPos; - virtual int open(const char* url, int64_t startPos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int open(const char* url, int64_t startPos) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Open(FString url, int64 startPos); - abstract open(url: string, startPos: number): number; - public abstract int Open(string url, Int64 startPos); - abstract open(url: string, startPos: number): number; - Future<void> open({required String url, required int startPos}); -

      + abstract open(url: string, startPos: number): number; + public abstract int Open(string url, Int64 startPos); + abstract open(url: string, startPos: number): number; + Future<void> open({required String url, required int startPos}); +

      Details -

      On the Android platform, if you need to open a file in URI format, use .

      -

      This method supports playing URI files starting with content://.

      -

      If you want to choose the CDN route for playing the media resource, you can call the method. Agora changes the CDN route through the self-developed scheduling center to improve the viewing user experience. If you do not need to choose the CDN route for playing the media resource, you can call the method.

      +

      On the Android platform, if you need to open a file in URI format, use + .

      +

      This method supports playing URI files starting with + content://.

      +

      If you want to choose the CDN route for playing the media resource, you + can call the method. Agora changes the CDN + route through the self-developed scheduling center to improve the viewing user + experience. If you do not need to choose the CDN route for playing the media + resource, you can call the method.

      -

      This method is called asynchronously.

      -

      If you need to play a media file, make sure you receive the callback reporting before calling the method to play the file.

      -
      +

      This method is called + asynchronously.

      +

      If you need to play a media file, make sure you receive the callback reporting before calling the method to play the file.

      + +
      Parameters - - url - The path of the media file. Both local path and online path are supported. - - - startPos - The starting position (ms) for playback. Default value is 0. - -
      + + url + The path of the media file. Both local path and online path are + supported. + + + startPos + The starting position (ms) for playback. Default value is 0. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    89. 0: Success.
    90. +
    91. < 0: Failure. See for details + and resolution suggestions.
    92. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_open2.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_open2.dita index feaa3329dcd..e784dfd2fc1 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_open2.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_open2.dita @@ -1,47 +1,51 @@ - <ph keyref="open2" /> - Opens a media file through a URI address. + <ph keyref="open2"/> + Opens a media file through a URI + address. - +

      - int open(Uri uri, long startPos); - - - - - -

      + int open(Uri uri, long startPos); + + + + + + +

      Details - +
      Parameters - - uri - The URI (Uniform Resource Identifier) of the media file. - - - startPos - The starting position (ms) for playback. The default value is 0. - -
      + + uri + The URI (Uniform Resource Identifier) of the media file. + + + startPos + The starting position (ms) for playback. The default value is 0. + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    93. 0: Success.
    94. +
    95. < 0: Failure.
    96. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_openwithagoracdnsrc.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_openwithagoracdnsrc.dita index 1eb60b161c8..ee0a4800f9a 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_openwithagoracdnsrc.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_openwithagoracdnsrc.dita @@ -1,64 +1,90 @@ - <ph keyref="openWithAgoraCDNSrc" /> - Opens a media resource and requests all the CDN routes of the media resources through the self-developed scheduling center. + + <ph keyref="openWithAgoraCDNSrc"/> + + Opens a media resource and requests all the CDN routes + of the media resources through the self-developed scheduling center. - +

      - int openWithAgoraCDNSrc(String src, long startPos); + int openWithAgoraCDNSrc(String src, long startPos); - - (int)openWithAgoraCDNSrc:(NSString *)src startPos:(NSInteger)startPos; + - (int)openWithAgoraCDNSrc:(NSString *)src startPos:(NSInteger)startPos; - virtual int openWithAgoraCDNSrc(const char* src, int64_t startPos) = 0; + virtual int openWithAgoraCDNSrc(const char* src, int64_t startPos) = 0; - abstract openWithAgoraCDNSrc(src: string, startPos: number): number; - public abstract int OpenWithAgoraCDNSrc(string src, Int64 startPos); - abstract openWithAgoraCDNSrc(src: string, startPos: number): number; - Future<void> openWithAgoraCDNSrc( + abstract openWithAgoraCDNSrc(src: string, startPos: number): number; + public abstract int OpenWithAgoraCDNSrc(string src, Int64 startPos); + abstract openWithAgoraCDNSrc(src: string, startPos: number): number; + Future<void> openWithAgoraCDNSrc( {required String src, required int startPos}); -

      +

      Details - -

      After you call this method, Agora opens the media resources and tries to obtain all the CDN routes for playing the media resource. By default, Agora uses the first CDN route for playing, and you can call to switch routes.

      -

      If you want to ensure the security of the connection and media files, to determine the sign and the ts fields for authentication. Once the fields are determined, use them as the query parameter of the URL to update the URL of the media resource. For example:

        -
      • The URL of the media file to be opened: rtmp://$domain/$appName/$streamName
      • -
      • The URL updated by the authentication of the media file to be opened: rtmp://$domain/$appName/$streamName?ts=$ts&sign=$sign
      • -
      - -

      Authentication information:

        -
      • sign: An encrypted string calculated according to the MD5 algorithm based on authKey, appName, streamName, and ts. You need to for your authKey.
      • -
      • ts: The timestamp when the authentication information expires. You can set the validity period of the authentication information according to your scenarios. For example, 24h or 1h30m20s.
      • -

      -

      + +

      After you call this method, Agora opens the media resources and tries to obtain all + the CDN routes for playing the media resource. By default, Agora uses the first CDN + route for playing, and you can call to + switch routes.

      +

      If you want to ensure the security of the connection and media files, to determine the sign and the + ts fields for authentication. Once the fields are + determined, use them as the query parameter of the URL to update + the URL of the media resource. For example:

        +
      • The URL of the media file to be opened: + rtmp://$domain/$appName/$streamName
      • +
      • The URL updated by the authentication of the media file to be opened: + rtmp://$domain/$appName/$streamName?ts=$ts&sign=$sign
      • +
      + +

      Authentication information:

        +
      • sign: An encrypted string calculated according + to the MD5 algorithm based on authKey, + appName, streamName, and + ts. You need to + for your authKey.
      • +
      • ts: The timestamp when the authentication + information expires. You can set the validity period of the + authentication information according to your scenarios. For example, + 24h or 1h30m20s.
      • +

      +

      Parameters - - src - The URL of the media resource. - - - startPos - The starting position (ms) for playback. The default value is 0. This value can be empty if the media resource to be played is live streams. - -
      + + src + The URL of the media resource. + + + startPos + The starting position (ms) for playback. The default value is 0. This value + can be empty if the media resource to be played is live streams. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    97. 0: Success.
    98. +
    99. < 0: Failure. See for details + and resolution suggestions.
    100. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_openwithcustomsource.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_openwithcustomsource.dita index 4770447c058..c35819216ef 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_openwithcustomsource.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_openwithcustomsource.dita @@ -1,70 +1,78 @@ - <ph keyref="openWithCustomSource" /> + <ph keyref="openWithCustomSource"/> Opens the custom media resource file. - +

      - int openWithCustomSource(long startPos, IMediaPlayerCustomDataProvider provider); + int openWithCustomSource(long startPos, IMediaPlayerCustomDataProvider provider); - - (int)openWithCustomSourceAtStartPos:(NSInteger)startPos + - (int)openWithCustomSourceAtStartPos:(NSInteger)startPos withPlayerOnReadData:(AgoraRtcMediaPlayerCustomSourceOnReadCallback)onReadDataCallback andPlayerOnSeek:(AgoraRtcMediaPlayerCustomSourceOnSeekCallback)onSeekCallback; - virtual int openWithCustomSource(int64_t startPos, IMediaPlayerCustomDataProvider* provider) = 0; + virtual int openWithCustomSource(int64_t startPos, IMediaPlayerCustomDataProvider* provider) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int OpenWithCustomSource(int64 startPos, UIMediaPlayerCustomDataProvider* provider); - - public abstract int OpenWithCustomSource(Int64 startPos, IMediaPlayerCustomDataProvider provider); - -

      + + public abstract int OpenWithCustomSource(Int64 startPos, IMediaPlayerCustomDataProvider provider); + + +

      Details
      - -
      Deprecated:
      -
      This method is deprecated, use instead.
      -
      + +
      Deprecated:
      +
      This method is deprecated, use + instead.
      +
      -

      This method allows you to open custom media resource files. For example, you can call this method to open encrypted media resources.

      +

      This method allows you to open custom media resource files. For example, you can call + this method to open encrypted media resources.

      Parameters - - startPos - The starting position (ms) for playback. Default value is 0. - - - provider - The callback for custom media resource files. See . - - - onReadDataCallBack - Occurs when the SDK reads the media resource data. See . - + + startPos + The starting position (ms) for playback. Default value is 0. + + + provider + The callback for custom media resource files. See . + + + onReadDataCallBack + Occurs when the SDK reads the media resource data. See . + - - onSeekCallBack - Occurs when the SDK seeks the media resource data. See . - -
      + + onSeekCallBack + Occurs when the SDK seeks the media resource data. See . + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita index a456116d13e..7d4b02c0f95 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_openwithmediasource.dita @@ -1,47 +1,54 @@ - <ph keyref="openWithMediaSource" /> - Opens a media file and configures the playback scenarios. + <ph keyref="openWithMediaSource"/> + Opens a media file and configures the playback + scenarios. - +

      - int openWithMediaSource(MediaPlayerSource source); - - (int)openWithMediaSource:(AgoraMediaSource *)source; - virtual int openWithMediaSource(const media::base::MediaSource &source) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int openWithMediaSource(MediaPlayerSource source); + - (int)openWithMediaSource:(AgoraMediaSource *)source; + virtual int openWithMediaSource(const media::base::MediaSource &source) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int OpenWithMediaSource(const FAgoraMediaSource& source); - abstract openWithMediaSource(source: MediaSource): number; - public abstract int OpenWithMediaSource(MediaSource source); - abstract openWithMediaSource(source: MediaSource): number; - Future<void> openWithMediaSource(MediaSource source); -

      + abstract openWithMediaSource(source: MediaSource): number; + public abstract int OpenWithMediaSource(MediaSource source); + abstract openWithMediaSource(source: MediaSource): number; + Future<void> openWithMediaSource(MediaSource source); +

      Details -

      This method supports opening media files of different sources, including a custom media source, and allows you to configure the playback scenarios.

      +

      This method supports opening media files of different sources, including a custom + media source, and allows you to configure the playback scenarios.

      Parameters - - source - Media resources. See . - -
      + + source + Media resources. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_pause.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_pause.dita index 1f9a3a75592..4f0f40ee9b2 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_pause.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_pause.dita @@ -1,37 +1,42 @@ - <ph keyref="pause" /> + <ph keyref="pause"/> Pauses the playback. - +

      - int pause(); + int pause(); - - (int)pause; + - (int)pause; - virtual int pause() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int pause() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Pause(); - abstract pause(): number; - public abstract int Pause(); - abstract pause(): number; - Future<void> pause(); -

      + abstract pause(): number; + public abstract int Pause(); + abstract pause(): number; + Future<void> pause(); +

      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    101. 0: Success.
    102. +
    103. < 0: Failure. See for details + and resolution suggestions.
    104. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita index fbd725f7102..52cb3deb563 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_play.dita @@ -1,39 +1,45 @@ - <ph keyref="play" /> + <ph keyref="play"/> Plays the media file. - +

      - int play(); - - (int)play; - virtual int play() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int play(); + - (int)play; + virtual int play() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Play(); - abstract play(): number; - public abstract int Play(); - abstract play(): number; - Future<void> play(); -

      + abstract play(): number; + public abstract int Play(); + abstract play(): number; + Future<void> play(); +

      Details -

      After calling or , you can call this method to play the media file.

      +

      After calling or , you can call this method to + play the media file.

      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    105. 0: Success.
    106. +
    107. < 0: Failure. See for details + and resolution suggestions.
    108. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita index fbfb170771b..656bd7bf3f8 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_playpreloadedsrc.dita @@ -1,53 +1,71 @@ - <ph keyref="playPreloadedSrc" /> + <ph keyref="playPreloadedSrc"/> Plays preloaded media resources. - +

      - int playPreloadedSrc(String src); + int playPreloadedSrc(String src); - - (int)playPreloadedSrc:(NSString *)src; + - (int)playPreloadedSrc:(NSString *)src; - virtual int playPreloadedSrc(const char* src) = 0; + virtual int playPreloadedSrc(const char* src) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int PlayPreloadedSrc(FString src); - abstract playPreloadedSrc(src: string): number; - public abstract int PlayPreloadedSrc(string src); - abstract playPreloadedSrc(src: string): number; - Future<void> playPreloadedSrc(String src); -

      + abstract playPreloadedSrc(src: string): number; + public abstract int PlayPreloadedSrc(string src); + abstract playPreloadedSrc(src: string): number; + Future<void> playPreloadedSrc(String src); +

      Details -

      After calling the method to preload the media resource into the playlist, you can call this method to play the preloaded media resource. After calling this method, if you receive the callback which reports the state, the playback is successful.

      -

      If you want to change the preloaded media resource to be played, you can call this method again and specify the URL of the new media resource that you want to preload. If you want to replay the media resource, you need to call to preload the media resource to the playlist again before playing. If you want to clear the playlist, call the method.

      +

      After calling the method to preload the media resource + into the playlist, you can call this method to play the preloaded media resource. + After calling this method, if you receive the callback which reports the state, the playback is successful.

      +

      If you want to change the preloaded media resource to be played, you can call this + method again and specify the URL of the new media resource that you want to preload. + If you want to replay the media resource, you need to call to preload the media resource to the playlist again before playing. If you want + to clear the playlist, call the method.

      -

      If you call this method when playback is paused, this method does not take effect until playback is resumed.

      -
      +

      If you call this method when playback is paused, this method does not take effect + until playback is resumed.

      + +
      Parameters - - src - The URL of the media resource in the playlist must be consistent with the src set by the method; otherwise, the media resource cannot be played. - -
      + + src + The URL of the media resource in the playlist must be consistent with the + src set by the + method; otherwise, the media resource cannot be played. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    109. 0: Success.
    110. +
    111. < 0: Failure. See for details + and resolution suggestions.
    112. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita index e91d1aac2e3..bb33ef15742 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_preloadsrc.dita @@ -1,58 +1,76 @@ - <ph keyref="preloadSrc" /> + <ph keyref="preloadSrc"/> Preloads a media resource. - +

      - int preloadSrc(String src, long startPos); + int preloadSrc(String src, long startPos); - - (int)preloadSrc:(NSString *)src startPos:(int)startPos; + - (int)preloadSrc:(NSString *)src startPos:(int)startPos; - virtual int preloadSrc(const char* src, int64_t startPos) = 0; + virtual int preloadSrc(const char* src, int64_t startPos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int PreloadSrc(FString src, int64 startPos); - abstract preloadSrc(src: string, startPos: number): number; - public abstract int PreloadSrc(string src, Int64 startPos); - abstract preloadSrc(src: string, startPos: number): number; - Future<void> preloadSrc({required String src, required int startPos}); -

      + abstract preloadSrc(src: string, startPos: number): number; + public abstract int PreloadSrc(string src, Int64 startPos); + abstract preloadSrc(src: string, startPos: number): number; + Future<void> preloadSrc({required String src, required int startPos}); +

      Details -

      You can call this method to preload a media resource into the playlist. If you need to preload multiple media resources, you can call this method multiple times.

      -

      After calling this method, if you receive the event in the callback, the preload is successful; If you receive the event in the callback, the preload fails.

      -

      If the preload is successful and you want to play the media resource, call ; if you want to clear the playlist, call .

      +

      You can call this method to preload a media resource into the playlist. If you need + to preload multiple media resources, you can call this method multiple times.

      +

      After calling this method, if you receive the + event in the callback, the preload is successful; If you receive + the event in the callback, the preload fails.

      +

      If the preload is successful and you want to play the media resource, call ; if you want to clear the playlist, call .

      -

      Agora does not support preloading duplicate media resources to the playlist. However, you can preload the media resources that are being played to the playlist again.

      -
      +

      Agora does not support preloading duplicate media resources to the playlist. + However, you can preload the media resources that are being played to the + playlist again.

      + +
      Parameters - - - - - - startPos - The starting position (ms) for playing after the media resource is preloaded to the playlist. When preloading a live stream, set this parameter to 0. - -
      + + + + + + startPos + The starting position (ms) for playing after the media resource is preloaded + to the playlist. When preloading a live stream, set this parameter to + 0. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    113. 0: Success.
    114. +
    115. < 0: Failure. See for details + and resolution suggestions.
    116. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver.dita index 506b1082da7..09dd51642fd 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver.dita @@ -2,7 +2,8 @@ <ph keyref="registerAudioFrameObserver1_IMediaPlayer"/> - Registers a PCM audio frame observer object. + Registers a PCM audio frame observer + object. @@ -13,32 +14,38 @@

      - - - virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer) = 0; - - public abstract int RegisterAudioFrameObserver(IAudioPcmFrameSink observer); - - -

      + + + virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer) = 0; + + public abstract int RegisterAudioFrameObserver(IAudioPcmFrameSink observer); + + +

      Details -

      You need to implement the class in this method and register callbacks according to your scenarios. After you successfully register the video frame observer, the SDK triggers the registered callbacks each time a video frame is received.

      +

      You need to implement the class in this method + and register callbacks according to your scenarios. After you successfully register + the video frame observer, the SDK triggers the registered callbacks each time a + video frame is received.

      Parameters - - observer - The audio frame observer, reporting the reception of each audio frame. See . - -
      + + observer + The audio frame observer, reporting the reception of each audio frame. See + . + + +
      <ph keyref="return-section-title"/>
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita index 893d4aef48a..a95a6f95044 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_registeraudioframeobserver2.dita @@ -2,7 +2,8 @@ <ph keyref="registerAudioFrameObserver2_IMediaPlayer"/> - Registers an audio frame observer object. + Registers an audio frame observer + object. @@ -13,56 +14,72 @@

      - int registerAudioFrameObserver(IMediaPlayerAudioFrameObserver audioFrameObserver, int mode); + int registerAudioFrameObserver(IMediaPlayerAudioFrameObserver audioFrameObserver, int mode); - - virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer, + + virtual int registerAudioFrameObserver(media::IAudioPcmFrameSink* observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int RegisterAudioFrameObserver(UIAudioPcmFrameSink* observer, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode = ERAW_AUDIO_FRAME_OP_MODE_TYPE::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY); - abstract registerAudioFrameObserver( + abstract registerAudioFrameObserver( observer: IAudioPcmFrameSink, mode?: RawAudioFrameOpModeType ): number; - public abstract int RegisterAudioFrameObserver(IAudioPcmFrameSink observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode); - abstract registerAudioFrameObserver( + public abstract int RegisterAudioFrameObserver(IAudioPcmFrameSink observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode); + abstract registerAudioFrameObserver( observer: IAudioPcmFrameSink, mode?: RawAudioFrameOpModeType ): number; - void registerAudioFrameObserver( + void registerAudioFrameObserver( {required AudioPcmFrameSink observer, RawAudioFrameOpModeType mode = RawAudioFrameOpModeType.rawAudioFrameOpModeReadOnly}); -

      +

      Parameters - - audioFrameObserver - observer - -

      The audio frame observer, reporting the reception of each audio frame. See .

      -

      The audio frame observer, reporting the reception of each audio frame. See .

      -
      -
      - - mode - -

      The use mode of the audio frame. See .

      -

      The use mode of the audio frame:

        -
      • (0): (Default) Read only mode. For example, when users acquire the data with the Agora SDK, then push the RTMP or RTMPS streams.
      • -
      • (2): Read and write mode: Users read the data from AudioFrame, modify it, and then play it. For example, when users have their own audio-effect processing module and perform some voice pre-processing, such as a voice change.
      • -

      -
      -
      -
      + + audioFrameObserver + observer + +

      The audio frame observer, reporting the reception of each + audio frame. See .

      +

      The audio frame + observer, reporting the reception of each audio frame. See .

      +
      +
      + + mode + +

      The use mode of the + audio frame. See .

      +

      The use mode of the audio frame:

        +
      • (0): (Default) + Read only mode. For example, when users acquire the data with + the Agora SDK, then push the RTMP or RTMPS streams.
      • +
      • (2): Read and + write mode: Users read the data from AudioFrame, modify it, and + then play it. For example, when users have their own + audio-effect processing module and perform some voice + pre-processing, such as a voice change.
      • +
      +

      +
      +
      + +
      Returns -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita index 39eebaafe8c..c377013320a 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_registerplayersourceobserver.dita @@ -1,49 +1,56 @@ - <ph keyref="registerPlayerSourceObserver" /> + <ph keyref="registerPlayerSourceObserver"/> Registers a media player observer. - +

      - int registerPlayerObserver(IMediaPlayerObserver playerObserver); + int registerPlayerObserver(IMediaPlayerObserver playerObserver); - - virtual int registerPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + + virtual int registerPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int RegisterPlayerSourceObserver(UIMediaPlayerSourceObserver* observer); - abstract registerPlayerSourceObserver( + abstract registerPlayerSourceObserver( observer: IMediaPlayerSourceObserver ): number; - - abstract registerPlayerSourceObserver( + + abstract registerPlayerSourceObserver( observer: IMediaPlayerSourceObserver ): number; - void registerPlayerSourceObserver(MediaPlayerSourceObserver observer); -

      + void registerPlayerSourceObserver(MediaPlayerSourceObserver observer); +

      Parameters - - playerObserver - observer - The player observer, listening for events during the playback. See . - -
      + + playerObserver + observer + The player observer, listening for events during the playback. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    117. 0: Success.
    118. +
    119. < 0: Failure. See for details + and resolution suggestions.
    120. + +
      -
      \ No newline at end of file +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita index 7e5d021df41..e4a43318672 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_registervideoframeobserver.dita @@ -2,7 +2,8 @@ <ph keyref="registerVideoFrameObserver_IMediaPlayer"/> - Registers a video frame observer object. + Registers a video frame observer + object. @@ -13,41 +14,56 @@

      - int registerVideoFrameObserver(IMediaPlayerVideoFrameObserver videoFrameObserver); - - virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int registerVideoFrameObserver(IMediaPlayerVideoFrameObserver videoFrameObserver); + + virtual int registerVideoFrameObserver(media::base::IVideoFrameObserver* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int RegisterVideoFrameObserver(UIVideoFrameObserver* observer); - abstract registerVideoFrameObserver( + abstract registerVideoFrameObserver( observer: IMediaPlayerVideoFrameObserver ): number; - public abstract void RegisterVideoFrameObserver(IAgoraRtcMediaPlayerVideoFrameObserver observer); - abstract registerVideoFrameObserver( + public abstract void RegisterVideoFrameObserver(IAgoraRtcMediaPlayerVideoFrameObserver observer); + abstract registerVideoFrameObserver( observer: IMediaPlayerVideoFrameObserver ): number; - void registerVideoFrameObserver(MediaPlayerVideoFrameObserver observer); -

      + void registerVideoFrameObserver(MediaPlayerVideoFrameObserver observer); +

      Details -

      You need to implement the class in this method and register callbacks according to your scenarios. After you successfully register the video frame observer, the SDK triggers the registered callbacks each time a video frame is received.

      +

      You need to implement the class in this method and register + callbacks according to your scenarios. After you successfully register the video + frame observer, the SDK triggers the registered callbacks each time a video frame is + received.

      Parameters - - videoFrameObserver - observer - The video observer, reporting the reception of each video frame. See . - The video observer, reporting the reception of each video frame. See . - -
      + + videoFrameObserver + observer + The video observer, reporting the reception of each + video frame. See . + The video observer, reporting + the reception of each video frame. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    121. 0: Success.
    122. +
    123. < 0: Failure. See for details + and resolution suggestions.
    124. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_removealllisteners.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_removealllisteners.dita index dd67ae6eaca..1ce7e6751a1 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_removealllisteners.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_removealllisteners.dita @@ -1,37 +1,39 @@ - <ph keyref="removeAllListeners_IMediaPlayer" /> - Removes all listeners for the specified event. + <ph keyref="removeAllListeners_IMediaPlayer"/> + Removes all listeners for the specified + event. - +

      - - - - removeAllListeners?<EventType extends keyof IMediaPlayerEvent>( + + + + removeAllListeners?<EventType extends keyof IMediaPlayerEvent>( eventType?: EventType ): void; - - removeAllListeners?<EventType extends keyof IMediaPlayerEvent>( + + removeAllListeners?<EventType extends keyof IMediaPlayerEvent>( eventType?: EventType ): void; -

      +

      Parameters - - - - -
      + + + + + +
      -
      \ No newline at end of file +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_removeeventhandler.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_removeeventhandler.dita index b708a0be266..75b94a148d4 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_removeeventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_removeeventhandler.dita @@ -1,26 +1,27 @@ - <ph keyref="removeEventHandler_IMediaPlayer" /> - Removes the object. + <ph keyref="removeEventHandler_IMediaPlayer"/> + Removes the + object. - +

      - - - - - public abstract void RemoveEventHandler(); - - -

      + + + + + public abstract void RemoveEventHandler(); + + +

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_removelistener.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_removelistener.dita index 02304f66912..deaba5854f3 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_removelistener.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_removelistener.dita @@ -1,49 +1,55 @@ - <ph keyref="removeListener_IMediaPlayer" /> - Removes the specified listener. + <ph keyref="removeListener_IMediaPlayer"/> + Removes the specified listener. - +

      - - - - removeListener?<EventType extends keyof IMediaPlayerEvent>( + + + + removeListener?<EventType extends keyof IMediaPlayerEvent>( eventType: EventType, listener: IMediaPlayerEvent[EventType] ): void; - - removeListener?<EventType extends keyof IMediaPlayerEvent>( + + removeListener?<EventType extends keyof IMediaPlayerEvent>( eventType: EventType, listener: IMediaPlayerEvent[EventType] ): void; -

      +

      -
      +
      Parameters - - - - - - listener - The callback function for eventType. Must pass in the same function object in . Take removing the listener for as an example: // Create an onPlayerSourceStateChanged object + + + + + + listener + The callback function for eventType. Must pass in the + same function object in . Take + removing the listener for as an + example: + // Create an onPlayerSourceStateChanged object const onPlayerSourceStateChanged = (state: MediaPlayerState, ec: MediaPlayerError) => {}; // Add one onPlayerSourceStateChanged listener engine.addListener('onPlayerSourceStateChanged', onPlayerSourceStateChanged); // Remove the onPlayerSourceStateChanged listener engine.removeListener('onPlayerSourceStateChanged', onPlayerSourceStateChanged); - -
      + + +
      - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_renewagoracdnsrctoken.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_renewagoracdnsrctoken.dita index b4664eae667..ec85c038b10 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_renewagoracdnsrctoken.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_renewagoracdnsrctoken.dita @@ -1,55 +1,76 @@ - <ph keyref="renewAgoraCDNSrcToken" /> - Renew the authentication information for the URL of the media resource to be played. + <ph keyref="renewAgoraCDNSrcToken"/> + Renew the authentication information for the URL of the + media resource to be played. - +

      - int renewAgoraCDNSrcToken(String token, long ts); + int renewAgoraCDNSrcToken(String token, long ts); - - (int)renewAgoraCDNSrcToken:(NSString *)token ts:(NSInteger)ts; + - (int)renewAgoraCDNSrcToken:(NSString *)token ts:(NSInteger)ts; - virtual int renewAgoraCDNSrcToken(const char* token, int64_t ts) = 0; + virtual int renewAgoraCDNSrcToken(const char* token, int64_t ts) = 0; - abstract renewAgoraCDNSrcToken(token: string, ts: number): number; - public abstract int RenewAgoraCDNSrcToken(string token, Int64 ts); - abstract renewAgoraCDNSrcToken(token: string, ts: number): number; - Future<void> renewAgoraCDNSrcToken({required String token, required int ts}); -

      + abstract renewAgoraCDNSrcToken(token: string, ts: number): number; + public abstract int RenewAgoraCDNSrcToken(string token, Int64 ts); + abstract renewAgoraCDNSrcToken(token: string, ts: number): number; + Future<void> renewAgoraCDNSrcToken({required String token, required int ts}); +

      Details -

      When the authentication information expires (exceeds the ts field), you can call the method to reopen the media resource or the method to switch the media resource, and then pass in the authenticated URL (with the ts field updated) of the media resource.

      -

      If your authentication information expires when you call the to switch the CDN route for playing the media resource, you need to call this method to pass in the updated authentication information to update the authentication information of the media resource URL. After updating the authentication information, you need to call to complete the route switching.

      +

      When the authentication information expires (exceeds the ts + field), you can call the method to reopen the + media resource or the method to switch the media + resource, and then pass in the authenticated URL (with the ts + field updated) of the media resource.

      +

      If your authentication information expires when you call the to switch the CDN route for playing the + media resource, you need to call this method to pass in the updated authentication + information to update the authentication information of the media resource URL. + After updating the authentication information, you need to call to complete the route switching.

      -

      To avoid frequent expiration of authentication information, ensure that you set the ts field appropriately or according to the scenario requirements.

      -
      +

      To avoid frequent expiration of authentication information, ensure that you set + the ts field appropriately or + according to the scenario requirements.

      + +
      Parameters - - token - The authentication field. See the sign field of the authentication information. - - - ts - The timestamp when the authentication information expires. See the ts field of the authentication information. - -
      + + token + The authentication field. See the sign field of the + authentication information. + + + ts + The timestamp when the authentication information expires. See the + ts field of the authentication information. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    125. 0: Success.
    126. +
    127. < 0: Failure. See for details + and resolution suggestions.
    128. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_resume.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_resume.dita index f5f4a789c6e..f778989caee 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_resume.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_resume.dita @@ -1,35 +1,40 @@ - <ph keyref="resume" /> + <ph keyref="resume"/> Resumes playing the media file. - +

      - int resume(); - - (int)resume; - virtual int resume() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int resume(); + - (int)resume; + virtual int resume() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Resume(); - abstract resume(): number; - public abstract int Resume(); - abstract resume(): number; - Future<void> resume(); -

      + abstract resume(): number; + public abstract int Resume(); + abstract resume(): number; + Future<void> resume(); +

      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    129. 0: Success.
    130. +
    131. < 0: Failure. See for details + and resolution suggestions.
    132. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita index 1eef39ee4db..fda8c2e84b0 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_seek.dita @@ -1,54 +1,62 @@ - <ph keyref="seek" /> + <ph keyref="seek"/> Seeks to a new playback position. - +

      - int seek(long newPos); + int seek(long newPos); - - (void)seekToPosition:(NSInteger)position; + - (void)seekToPosition:(NSInteger)position; - virtual int seek(int64_t newPos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int seek(int64_t newPos) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Seek(int64 newPos); - abstract seek(newPos: number): number; - public abstract int Seek(Int64 newPos); - abstract seek(newPos: number): number; - Future<void> seek(int newPos); -

      + abstract seek(newPos: number): number; + public abstract int Seek(Int64 newPos); + abstract seek(newPos: number): number; + Future<void> seek(int newPos); +

      Details -

      After successfully calling this method, you will receive the callback, reporting the result of the seek operation to the new playback position.

      +

      After successfully calling this method, you will receive the callback, reporting the result of the seek operation to + the new playback position.

      To play the media file from a specific position, do the following:

        -
      • Call this method to seek to the position you want to begin playback.
      • -
      • Call the method to play the media file.
      • -

      +
    133. Call this method to seek to the position you want to begin playback.
    134. +
    135. Call the method to play the media file.
    136. +

      Parameters - - newPos - position - The new playback position (ms). - -
      + + newPos + position + The new playback position (ms). + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    137. 0: Success.
    138. +
    139. < 0: Failure. See for details + and resolution suggestions.
    140. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita index 2331b6d6f79..c2aaa160925 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_selectaudiotrack.dita @@ -1,47 +1,59 @@ - <ph keyref="selectAudioTrack_IMediaPlayer" /> - Selects the audio track used during playback. + <ph keyref="selectAudioTrack_IMediaPlayer"/> + Selects the audio track used during + playback. - +

      - int selectAudioTrack(int index); - - (int)selectAudioTrack:(int)index; - virtual int selectAudioTrack(int index) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int selectAudioTrack(int index); + - (int)selectAudioTrack:(int)index; + virtual int selectAudioTrack(int index) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") 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); -

      + abstract selectAudioTrack(index: number): number; + public abstract int SelectAudioTrack(int index); + abstract selectAudioTrack(index: number): number; + Future<void> selectAudioTrack(int index); +

      Details -

      After getting the track index of the audio file, you can call this method to specify any track to play. For example, if different tracks of a multi-track file store songs in different languages, you can call this method to set the playback language.

      - You need to call this method after calling to get the audio stream index value.
      +

      After getting the track index of the audio file, you can call this method to specify + any track to play. For example, if different tracks of a multi-track file store + songs in different languages, you can call this method to set the playback + language.

      + You need to call this method after calling to get the audio stream index value. +
      Parameters - - index - The index of the audio track. - -
      + + index + The index of the audio track. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    141. 0: Success.
    142. +
    143. < 0: Failure. See for details + and resolution suggestions.
    144. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_selectinternalsubtitle.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_selectinternalsubtitle.dita index 0bf6494fa06..f01552313e9 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_selectinternalsubtitle.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_selectinternalsubtitle.dita @@ -2,7 +2,8 @@ <ph keyref="selectInternalSubtitle"/> - Select internal subtitles in the video. + Select internal subtitles in the + video. @@ -13,39 +14,43 @@

      - int selectInternalSubtitle(int index); + int selectInternalSubtitle(int index); - - (int)selectInternalSubtitle:(int)index; + - (int)selectInternalSubtitle:(int)index; - virtual int selectInternalSubtitle(int index) = 0; - - public abstract int SelectInternalSubtitle(int playerId, int index); - - -

      + virtual int selectInternalSubtitle(int index) = 0; + + public abstract int SelectInternalSubtitle(int playerId, int index); + + +

      Details -

      This method needs to be called after the media resource is opened.

      -
      +

      This method needs to be called after the media resource is opened.

      + +
      Parameters - - index - The index value of the internal subtitle. - - - playerId - The ID of the media player. - -
      + + index + The index value of the internal subtitle. + + + playerId + The ID of the media player. + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    145. 0: Success.
    146. +
    147. < 0: Failure. See for details + and resolution suggestions.
    148. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita index fcedac15a2b..cc5aa460f17 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_selectmultiaudiotrack.dita @@ -2,7 +2,8 @@ <ph keyref="selectMultiAudioTrack"/> - Selects the audio tracks that you want to play on your local device and publish to the channel respectively. + Selects the audio tracks that you want to play on your + local device and publish to the channel respectively. @@ -13,55 +14,67 @@

      - int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex); - - (int)selectMultiAudioTrack:(NSInteger)playoutTrackIndex publishTrackIndex:(NSInteger)publishTrackIndex NS_SWIFT_NAME(selectMultiAudioTrack(_:publishTrackIndex:)); - virtual int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex) = 0; - - abstract selectMultiAudioTrack( + int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex); + - (int)selectMultiAudioTrack:(NSInteger)playoutTrackIndex publishTrackIndex:(NSInteger)publishTrackIndex NS_SWIFT_NAME(selectMultiAudioTrack(_:publishTrackIndex:)); + virtual int selectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex) = 0; + + abstract selectMultiAudioTrack( playoutTrackIndex: number, publishTrackIndex: number ): number; - public abstract int SelectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex); - abstract selectMultiAudioTrack( + public abstract int SelectMultiAudioTrack(int playoutTrackIndex, int publishTrackIndex); + abstract selectMultiAudioTrack( playoutTrackIndex: number, publishTrackIndex: number ): number; - Future<void> selectMultiAudioTrack( - {required int playoutTrackIndex, required int publishTrackIndex});

      + Future<void> selectMultiAudioTrack( + {required int playoutTrackIndex, required int publishTrackIndex}); +

      Details
      - -
      Since
      -
      v4.3.0
      -
      + +
      Since
      +
      v4.3.0
      +
      -

      You can call this method to determine the audio track to be played on your local device and published to the channel.

      -

      Before calling this method, you need to open the media file with the method and set enableMultiAudioTrack in as .

      +

      You can call this method to determine the audio track to be played on your local + device and published to the channel.

      +

      Before calling this method, you need to open the media file with the method and set + enableMultiAudioTrack in as + .

      Applicable scenarios -

      For example, in KTV scenarios, the host can choose to play the original sound locally and publish the accompaniment track to the channel.

      +

      For example, in KTV scenarios, the host can choose to play the original sound locally + and publish the accompaniment track to the channel.

      Parameters - - playoutTrackIndex - The index of audio tracks for local playback. You can obtain the index through . - - - publishTrackIndex - The index of audio tracks to be published in the channel. You can obtain the index through . - -
      + + playoutTrackIndex + The index of audio tracks for local playback. You can obtain the index + through . + + + publishTrackIndex + The index of audio tracks to be published in the channel. You can obtain the + index through . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly.

      • 0: Success.
      • < 0: Failure.
      • -
      -
      + + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita index c4fa63f1969..f2c6a730e1a 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiodualmonomode.dita @@ -1,56 +1,83 @@ - <ph keyref="setAudioDualMonoMode" /> - Sets the channel mode of the current audio file. + <ph keyref="setAudioDualMonoMode"/> + Sets the channel mode of the current audio + file. - +

      - int setAudioDualMonoMode(int mode); - - (int)setAudioDualMonoMode:(AgoraAudioDualMonoMode)mode; - virtual int setAudioDualMonoMode(agora::media::base::AUDIO_DUAL_MONO_MODE mode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int setAudioDualMonoMode(int mode); + - (int)setAudioDualMonoMode:(AgoraAudioDualMonoMode)mode; + virtual int setAudioDualMonoMode(agora::media::base::AUDIO_DUAL_MONO_MODE mode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetAudioDualMonoMode(EAUDIO_DUAL_MONO_MODE mode); - abstract setAudioDualMonoMode(mode: AudioDualMonoMode): number; - public abstract int SetAudioDualMonoMode(AUDIO_DUAL_MONO_MODE mode); - abstract setAudioDualMonoMode(mode: AudioDualMonoMode): number; - Future<void> setAudioDualMonoMode(AudioDualMonoMode mode); -

      + abstract setAudioDualMonoMode(mode: AudioDualMonoMode): number; + public abstract int SetAudioDualMonoMode(AUDIO_DUAL_MONO_MODE mode); + abstract setAudioDualMonoMode(mode: AudioDualMonoMode): number; + Future<void> setAudioDualMonoMode(AudioDualMonoMode mode); +

      Details -

      In a stereo music file, the left and right channels can store different audio data. According to your needs, you can set the channel mode to original mode, left channel mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the singing voice. If you only need to listen to the accompaniment, call this method to set the channel mode of the music file to left channel mode; if you need to listen to the accompaniment and the singing voice at the same time, call this method to set the channel mode to mixed channel mode.

      +

      In a stereo music file, the left and right channels can store different audio data. + According to your needs, you can set the channel mode to original mode, left channel + mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, + the left channel of the music file stores the musical accompaniment, and the right + channel stores the singing voice. If you only need to listen to the accompaniment, + call this method to set the channel mode of the music file to left channel mode; if + you need to listen to the accompaniment and the singing voice at the same time, call + this method to set the channel mode to mixed channel mode.

      -
        -
      • Call this method after calling .
      • -
      • This method only applies to stereo audio files.
      • -
      +
        +
      • Call this method after calling .
      • +
      • This method only applies to stereo audio files.
      • +
      +
      Parameters - - mode - The channel mode. See .
        -
      • (0): Original mode.
      • -
      • (1): Left channel mode. This mode replaces the audio of the right channel with the audio of the left channel, which means the user can only hear the audio of the left channel.
      • -
      • (2): Right channel mode. This mode replaces the audio of the left channel with the audio of the right channel, which means the user can only hear the audio of the right channel.
      • -
      • (3): Mixed channel mode. This mode mixes the audio of the left channel and the right channel, which means the user can hear the audio of the left channel and the right channel at the same time.
      • -
      -
      -
      + + mode + The channel mode. See .
        +
      • (0): Original mode.
      • +
      • (1): Left channel mode. This mode + replaces the audio of the right channel with the audio of the left + channel, which means the user can only hear the audio of the left + channel.
      • +
      • (2): Right channel mode. This mode + replaces the audio of the left channel with the audio of the right + channel, which means the user can only hear the audio of the right + channel.
      • +
      • (3): Mixed channel mode. This mode + mixes the audio of the left channel and the right channel, which + means the user can hear the audio of the left channel and the right + channel at the same time.
      • +
      +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    149. 0: Success.
    150. +
    151. < 0: Failure. See for details + and resolution suggestions.
    152. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiomixingdualmonomode.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiomixingdualmonomode.dita index 77b50a2b26c..dcf1c4549d9 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiomixingdualmonomode.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiomixingdualmonomode.dita @@ -2,7 +2,8 @@ <ph keyref="setAudioMixingDualMonoMode"/> - Sets the channel mode of the current audio file. + Sets the channel mode of the current audio + file. @@ -13,40 +14,64 @@

      - public abstract int setAudioMixingDualMonoMode(int mode); - - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode; - virtual int setAudioMixingDualMonoMode(agora::media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0; - - - -

      + public abstract int setAudioMixingDualMonoMode(int mode); + - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode; + virtual int setAudioMixingDualMonoMode(agora::media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0; + + + + +

      Details -

      In a stereo music file, the left and right channels can store different audio data. According to your needs, you can set the channel mode to original mode, left channel mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the singing voice. If you only need to listen to the accompaniment, call this method to set the channel mode of the music file to left channel mode; if you need to listen to the accompaniment and the singing voice at the same time, call this method to set the channel mode to mixed channel mode.

      +

      In a stereo music file, the left and right channels can store different audio data. + According to your needs, you can set the channel mode to original mode, left channel + mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, + the left channel of the music file stores the musical accompaniment, and the right + channel stores the singing voice. If you only need to listen to the accompaniment, + call this method to set the channel mode of the music file to left channel mode; if + you need to listen to the accompaniment and the singing voice at the same time, call + this method to set the channel mode to mixed channel mode.

      -
        -
      • Call this method after calling and receiving the () callback.
      • -
      • This method only applies to stereo audio files.
      • -
      +
        +
      • Call this method after calling and + receiving the () callback.
      • +
      • This method only applies to stereo audio files.
      • +
      +
      Parameters - - mode - The channel mode. See .
        -
      • (0): Original mode.
      • -
      • (1): Left channel mode. This mode replaces the audio of the right channel with the audio of the left channel, which means the user can only hear the audio of the left channel.
      • -
      • (2): Right channel mode. This mode replaces the audio of the left channel with the audio of the right channel, which means the user can only hear the audio of the right channel.
      • -
      • (3): Mixed channel mode. This mode mixes the audio of the left channel and the right channel, which means the user can hear the audio of the left channel and the right channel at the same time.
      • -
      -
      -
      + + mode + The channel mode. See .
        +
      • (0): Original mode.
      • +
      • (1): Left channel mode. This + mode replaces the audio of the right channel with the audio of the + left channel, which means the user can only hear the audio of the + left channel.
      • +
      • (2): Right channel mode. This + mode replaces the audio of the left channel with the audio of the + right channel, which means the user can only hear the audio of the + right channel.
      • +
      • (3): Mixed channel mode. + This mode mixes the audio of the left channel and the right channel, + which means the user can hear the audio of the left channel and the + right channel at the same time.
      • +
      +
      +
      + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    153. 0: Success.
    154. +
    155. < 0: Failure.
    156. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita index 32213c86e80..53a6609fac3 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setaudiopitch.dita @@ -1,46 +1,54 @@ - <ph keyref="setAudioPitch" /> - Sets the pitch of the current media resource. + <ph keyref="setAudioPitch"/> + Sets the pitch of the current media + resource. - +

      - int setAudioPitch(int pitch); - - (int)setAudioPitch:(NSInteger)pitch; - virtual int setAudioPitch(int pitch) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int setAudioPitch(int pitch); + - (int)setAudioPitch:(NSInteger)pitch; + virtual int setAudioPitch(int pitch) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetAudioPitch(int pitch); - abstract setAudioPitch(pitch: number): number; - public abstract int SetAudioPitch(int pitch); - abstract setAudioPitch(pitch: number): number; - Future<void> setAudioPitch(int pitch); -

      + abstract setAudioPitch(pitch: number): number; + public abstract int SetAudioPitch(int pitch); + abstract setAudioPitch(pitch: number): number; + Future<void> setAudioPitch(int pitch); +

      Details - Call this method after calling .
      + Call this method after calling . +
      Parameters - - - - -
      + + + + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    157. 0: Success.
    158. +
    159. < 0: Failure. See for details + and resolution suggestions.
    160. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setexternalsubtitle.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setexternalsubtitle.dita index 0d5eafdb9d0..62bed109aee 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setexternalsubtitle.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setexternalsubtitle.dita @@ -1,50 +1,59 @@ - <ph keyref="setExternalSubtitle" /> + <ph keyref="setExternalSubtitle"/> Sets the external subtitles. - +

      - int setExternalSubtitle(String url); + int setExternalSubtitle(String url); - - (void)setExternalSubtitle:(NSString *)url; + - (void)setExternalSubtitle:(NSString *)url; - virtual int setExternalSubtitle(const char* url) = 0; - - - - -

      + virtual int setExternalSubtitle(const char* url) = 0; + + + + +

      Details -

      You can call this method to display the external subtitles when playing videos. Agora supports displaying external subtitles in SRT and ASS formats. -

        -
      • Call this method after .
      • -
      • Before calling this method, ensure the SDK is set for software decoding. To enable software decoding, call the method and set the key parameter as video_decoder_type and value as 1.
      • -

      +

      You can call this method to display the external subtitles when playing videos. Agora + supports displaying external subtitles in SRT and ASS formats. +

        +
      • Call this method after .
      • +
      • Before calling this method, ensure the SDK is set for software decoding. + To enable software decoding, call the + method and set the key parameter as + video_decoder_type and value + as 1.
      • +
      +

      Parameters - - url - The URL of external subtitles. Both online and local subtitle files are supported. - -
      + + url + The URL of external subtitles. Both online and local subtitle files are + supported. + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    161. 0: Success.
    162. +
    163. < 0: Failure.
    164. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita index 23a417d49c3..3b29ec080dc 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setloopcount.dita @@ -1,50 +1,58 @@ - <ph keyref="setLoopCount" /> + <ph keyref="setLoopCount"/> Sets the loop playback. - +

      - int setLoopCount(int loopCount); + int setLoopCount(int loopCount); - - (void)setLoopCount:(NSInteger)loopCount; + - (void)setLoopCount:(NSInteger)loopCount; - virtual int setLoopCount(int loopCount) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int setLoopCount(int loopCount) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetLoopCount(int loopCount); - abstract setLoopCount(loopCount: number): number; - public abstract int SetLoopCount(int loopCount); - abstract setLoopCount(loopCount: number): number; - Future<void> setLoopCount(int loopCount); -

      + abstract setLoopCount(loopCount: number): number; + public abstract int SetLoopCount(int loopCount); + abstract setLoopCount(loopCount: number): number; + Future<void> setLoopCount(int loopCount); +

      Details

      If you want to loop, call this method and set the number of the loops.

      -

      When the loop finishes, the SDK triggers and reports the playback state as .

      +

      When the loop finishes, the SDK triggers + and reports the playback state as .

      Parameters - - loopCount - The number of times the audio effect loops: - -
      + + loopCount + The number of times the audio effect loops: + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    165. 0: Success.
    166. +
    167. < 0: Failure. See for details + and resolution suggestions.
    168. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita index 613ec294c00..9e66c815deb 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setplaybackspeed.dita @@ -1,51 +1,59 @@ - <ph keyref="setPlaybackSpeed" /> - Sets the channel mode of the current audio file. + <ph keyref="setPlaybackSpeed"/> + Sets the channel mode of the current audio + file. - +

      - int setPlaybackSpeed(int speed); - - (int)setPlaybackSpeed:(int)speed; - virtual int setPlaybackSpeed(int speed) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int setPlaybackSpeed(int speed); + - (int)setPlaybackSpeed:(int)speed; + virtual int setPlaybackSpeed(int speed) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetPlaybackSpeed(int speed); - abstract setPlaybackSpeed(speed: number): number; - public abstract int SetPlaybackSpeed(int speed); - abstract setPlaybackSpeed(speed: number): number; - Future<void> setPlaybackSpeed(int speed); -

      + abstract setPlaybackSpeed(speed: number): number; + public abstract int SetPlaybackSpeed(int speed); + abstract setPlaybackSpeed(speed: number): number; + Future<void> setPlaybackSpeed(int speed); +

      Details -

      Call this method after calling .

      +

      Call this method after calling .

      Parameters - - speed - The playback speed. Agora recommends that you limit this value to a range between 50 and 400, which is defined as follows:
        -
      • 50: Half the original speed.
      • -
      • 100: The original speed.
      • -
      • 400: 4 times the original speed.
      • -
      -
      -
      + + speed + The playback speed. Agora recommends that you limit this value to a range + between 50 and 400, which is defined as follows:
        +
      • 50: Half the original speed.
      • +
      • 100: The original speed.
      • +
      • 400: 4 times the original speed.
      • +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    169. 0: Success.
    170. +
    171. < 0: Failure. See for details + and resolution suggestions.
    172. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita index e1d54d6e024..fdbaca158b6 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption.dita @@ -2,7 +2,8 @@ <ph keyref="setPlayerOption"/> - Set media player options for providing technical previews or special customization features. + Set media player options for providing technical + previews or special customization features. @@ -13,38 +14,51 @@

      - int setPlayerOption(String key, int value); - - (int)setPlayerOption:(NSString *)key value:(NSInteger)value NS_SWIFT_NAME(setPlayerOption(_:value:)); - virtual int setPlayerOption(const char* key, int64_t value) = 0; - abstract setPlayerOptionInInt(key: string, value: number): number; - public abstract int SetPlayerOption(string key, int value); - abstract setPlayerOptionInInt(key: string, value: number): number; - Future<void> setPlayerOptionInInt({required String key, required int value}); -

      + int setPlayerOption(String key, int value); + - (int)setPlayerOption:(NSString *)key value:(NSInteger)value NS_SWIFT_NAME(setPlayerOption(_:value:)); + virtual int setPlayerOption(const char* key, int64_t value) = 0; + abstract setPlayerOptionInInt(key: string, value: number): number; + public abstract int SetPlayerOption(string key, int value); + abstract setPlayerOptionInInt(key: string, value: number): number; + Future<void> setPlayerOptionInInt({required String key, required int value}); +

      Details -

      The media player supports setting options through key and value. In general, you don't need to know about the option settings. You can use the default option settings of the media player.

      -

      The difference between this method and is that the value parameter of this method is of type Int, while the value of is of type String. These two methods cannot be used together.

      - Ensure that you call this method before or .
      +

      The media player supports setting options through key + and value. In general, you don't need to know about the option + settings. You can use the default option settings of the media player.

      +

      The difference between this method and is that the + value parameter of this method is of type Int, while the + value of is of type + String. These two methods cannot be used together.

      + Ensure that you call this method before or . +
      Parameters - - key - The key of the option. - - - value - The value of the key. - -
      + + key + The key of the option. + + + value + The value of the key. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    173. 0: Success.
    174. +
    175. < 0: Failure. See for details + and resolution suggestions.
    176. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita index 0aa63792533..bcf52026904 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setplayeroption2.dita @@ -2,7 +2,8 @@ <ph keyref="setPlayerOption2"/> - Set media player options for providing technical previews or special customization features. + Set media player options for providing technical + previews or special customization features. @@ -13,29 +14,36 @@

      - int setPlayerOptionString(String key, String value); - - (int)setPlayerOptionString:(NSString *)key value:(NSString *)value NS_SWIFT_NAME(setPlayerOptionString(_:value:)); - virtual int setPlayerOption(const char* key, const char* value) = 0; - abstract setPlayerOptionInString(key: string, value: string): number; - public abstract int SetPlayerOption(string key, string value); - abstract setPlayerOptionInString(key: string, value: string): number; - Future<void> setPlayerOptionInString( - {required String key, required String value}); -

      + int setPlayerOptionString(String key, String value); + - (int)setPlayerOptionString:(NSString *)key value:(NSString *)value NS_SWIFT_NAME(setPlayerOptionString(_:value:)); + virtual int setPlayerOption(const char* key, const char* value) = 0; + abstract setPlayerOptionInString(key: string, value: string): number; + public abstract int SetPlayerOption(string key, string value); + abstract setPlayerOptionInString(key: string, value: string): number; + Future<void> setPlayerOptionInString( + {required String key, required String value}); +

      Details

      -

      The difference between this method and is that the value parameter of this method is of type String, while the value of is of type String. These two methods cannot be used together.

      +

      The difference between this method and is that the + value parameter of this method is of type String, while the + value of is of type + String. These two methods cannot be used together.

      -
      -
      +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    177. 0: Success.
    178. +
    179. < 0: Failure. See for details + and resolution suggestions.
    180. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita index fc970949248..8b953caac10 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setrendermode.dita @@ -1,51 +1,61 @@ - <ph keyref="setRenderMode" /> - Sets the render mode of the media player. + <ph keyref="setRenderMode"/> + Sets the render mode of the media + player. - +

      - int setRenderMode(int mode); + int setRenderMode(int mode); - - (void)setRenderMode:(AgoraMediaPlayerRenderMode)mode; + - (void)setRenderMode:(AgoraMediaPlayerRenderMode)mode; - virtual int setRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int setRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetRenderMode(ERENDER_MODE_TYPE renderMode); - abstract setRenderMode(renderMode: RenderModeType): number; - public abstract int SetRenderMode(RENDER_MODE_TYPE renderMode); - abstract setRenderMode(renderMode: RenderModeType): number; - Future<void> setRenderMode(RenderModeType renderMode); -

      + abstract setRenderMode(renderMode: RenderModeType): number; + public abstract int SetRenderMode(RENDER_MODE_TYPE renderMode); + abstract setRenderMode(renderMode: RenderModeType): number; + Future<void> setRenderMode(RenderModeType renderMode); +

      Parameters - - renderMode - mode - -

      Sets the render mode of the view. See .

      -

      Sets the render mode of the view:

        -
      • -

      -
      -
      -
      + + renderMode + mode + +

      Sets the + render mode of the view. See .

      +

      Sets the render mode of the view:

        +
      • +
      +

      +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    181. 0: Success.
    182. +
    183. < 0: Failure. See for details + and resolution suggestions.
    184. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita index cc255f8b534..52a8c5de673 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setspatialaudioparams.dita @@ -1,49 +1,60 @@ - <ph keyref="setSpatialAudioParams" /> - Enables or disables the spatial audio effect for the media player. + <ph keyref="setSpatialAudioParams"/> + Enables or disables the spatial audio effect for the + media player. - +

      - int setSpatialAudioParams(SpatialAudioParams params); - - (int)setSpatialAudioParams:(AgoraSpatialAudioParams* _Nonnull)params; - virtual int setSpatialAudioParams(const SpatialAudioParams& params) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int setSpatialAudioParams(SpatialAudioParams params); + - (int)setSpatialAudioParams:(AgoraSpatialAudioParams* _Nonnull)params; + virtual int setSpatialAudioParams(const SpatialAudioParams& params) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetSpatialAudioParams(const FSpatialAudioParams& params); - abstract setSpatialAudioParams(params: SpatialAudioParams): number; - public abstract int SetSpatialAudioParams(SpatialAudioParams spatial_audio_params); - abstract setSpatialAudioParams(params: SpatialAudioParams): number; - Future<void> setSpatialAudioParams(SpatialAudioParams params); -

      + abstract setSpatialAudioParams(params: SpatialAudioParams): number; + public abstract int SetSpatialAudioParams(SpatialAudioParams spatial_audio_params); + abstract setSpatialAudioParams(params: SpatialAudioParams): number; + Future<void> setSpatialAudioParams(SpatialAudioParams params); +

      Details -

      After successfully setting the spatial audio effect parameters of the media player, the SDK enables the spatial audio effect for the media player, and the local user can hear the media resources with a sense of space.

      -

      If you need to disable the spatial audio effect for the media player, set the params parameter to null.

      +

      After successfully setting the spatial audio effect parameters of the media player, + the SDK enables the spatial audio effect for the media player, and the local user + can hear the media resources with a sense of space.

      +

      If you need to disable the spatial audio effect for the media player, set the + params parameter to null.

      Parameters - - params - spatial_audio_params - The spatial audio effect parameters of the media player. See . - -
      + + params + spatial_audio_params + The spatial audio effect parameters of the media player. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    185. 0: Success.
    186. +
    187. < 0: Failure. See for details + and resolution suggestions.
    188. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_setview.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_setview.dita index b4b8a5ac0da..1582c8de268 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_setview.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_setview.dita @@ -1,46 +1,54 @@ - <ph keyref="setView" /> + <ph keyref="setView"/> Sets the view. - +

      - int setView(View videoView); + int setView(View videoView); - - (void)setView:(View *_Nullable)view; + - (void)setView:(View *_Nullable)view; - virtual int setView(media::base::view_t view) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + virtual int setView(media::base::view_t view) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SetView(int64 view); - abstract setView(view: any): number; - public abstract int SetView(); - abstract setView(view: any): number; - Future<void> setView(int view); -

      + abstract setView(view: any): number; + public abstract int SetView(); + abstract setView(view: any): number; + Future<void> setView(int view); +

      Parameters - - videoView - view - The render view. On Windows, this parameter sets the window handle (HWND). - -
      + + videoView + view + The render view. On Windows, this parameter sets + the window handle (HWND). + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    189. 0: Success.
    190. +
    191. < 0: Failure. See for details + and resolution suggestions.
    192. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita index c6caeb0608e..f57c554e59e 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_stop.dita @@ -1,36 +1,41 @@ - <ph keyref="stop" /> + <ph keyref="stop"/> Stops playing the media track. - +

      - int stop(); + int stop(); - - (void)stop; - virtual int stop() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + - (void)stop; + virtual int stop() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int Stop(); - abstract stop(): number; - public abstract int Stop(); - abstract stop(): number; - Future<void> stop(); -

      + abstract stop(): number; + public abstract int Stop(); + abstract stop(): number; + Future<void> stop(); +

      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    193. 0: Success.
    194. +
    195. < 0: Failure. See for details + and resolution suggestions.
    196. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_switchagoracdnlinebyindex.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_switchagoracdnlinebyindex.dita index 79813e82811..7541b6ef74e 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_switchagoracdnlinebyindex.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_switchagoracdnlinebyindex.dita @@ -1,52 +1,66 @@ - <ph keyref="switchAgoraCDNLineByIndex" /> - Changes the CDN route for playing the media resource. + <ph keyref="switchAgoraCDNLineByIndex"/> + Changes the CDN route for playing the media + resource. - +

      - int switchAgoraCDNLineByIndex(int index); + int switchAgoraCDNLineByIndex(int index); - - (int)switchAgoraCDNLineByIndex:(int)index; + - (int)switchAgoraCDNLineByIndex:(int)index; - virtual int switchAgoraCDNLineByIndex(int index) = 0; + virtual int switchAgoraCDNLineByIndex(int index) = 0; - abstract switchAgoraCDNLineByIndex(index: number): number; - public abstract int SwitchAgoraCDNLineByIndex(int index); - abstract switchAgoraCDNLineByIndex(index: number): number; - Future<void> switchAgoraCDNLineByIndex(int index); -

      + abstract switchAgoraCDNLineByIndex(index: number): number; + public abstract int SwitchAgoraCDNLineByIndex(int index); + abstract switchAgoraCDNLineByIndex(index: number): number; + Future<void> switchAgoraCDNLineByIndex(int index); +

      Details -

      After calling to open the media resource, you can call this method if you want to change the CDN routes for playing the media resource. -

        -
      • Call this method after calling .
      • -
      • You can call this method either before or after . If you call this method before , the switch does not take effect immediately. The SDK waits for the playback to complete before switching the CDN line of the media resource.
      • -

      +

      After calling to open the media resource, you + can call this method if you want to change the CDN routes for playing the media + resource. +

        +
      • Call this method after calling .
      • +
      • You can call this method either before or after . + If you call this method before , the switch does + not take effect immediately. The SDK waits for the playback to complete + before switching the CDN line of the media resource.
      • +
      +

      Parameters - - index - The index of the CDN routes. - -
      + + index + The index of the CDN routes. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    197. 0: Success.
    198. +
    199. < 0: Failure. See for details + and resolution suggestions.
    200. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_switchagoracdnsrc.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_switchagoracdnsrc.dita index c935ea0c595..5c9b5b8827b 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_switchagoracdnsrc.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_switchagoracdnsrc.dita @@ -1,63 +1,83 @@ - <ph keyref="switchAgoraCDNSrc" /> - Switches the media resource being played. + + <ph keyref="switchAgoraCDNSrc"/> + + Switches the media resource being + played. - +

      - int switchAgoraCDNSrc(String src, boolean syncPts); + int switchAgoraCDNSrc(String src, boolean syncPts); - - (int)switchAgoraCDNSrc:(NSString *)src syncPts:(BOOL)syncPts; + - (int)switchAgoraCDNSrc:(NSString *)src syncPts:(BOOL)syncPts; - virtual int switchAgoraCDNSrc(const char* src, bool syncPts = false) = 0; + virtual int switchAgoraCDNSrc(const char* src, bool syncPts = false) = 0; - abstract switchAgoraCDNSrc(src: string, syncPts?: boolean): number; - public abstract int SwitchAgoraCDNSrc(string src, bool syncPts = false); - abstract switchAgoraCDNSrc(src: string, syncPts?: boolean): number; - Future<void> switchAgoraCDNSrc({required String src, bool syncPts = false}); -

      + abstract switchAgoraCDNSrc(src: string, syncPts?: boolean): number; + public abstract int SwitchAgoraCDNSrc(string src, bool syncPts = false); + abstract switchAgoraCDNSrc(src: string, syncPts?: boolean): number; + Future<void> switchAgoraCDNSrc({required String src, bool syncPts = false}); +

      - Details -

      If you want to customize the CDN routes for playing the media resource, call this method to switch media resources. Agora changes the CDN route through the self-developed scheduling center to improve the viewing user experience. If you do not need to customize CDN routes for playing the media resource, call the method to switch media resources.

      + Details +

      If you want to customize the CDN routes for playing the media resource, call this method to + switch media resources. Agora changes the CDN route through the self-developed scheduling + center to improve the viewing user experience. If you do not need to customize CDN routes + for playing the media resource, call the method to switch media + resources.

      -
        -
      • Call this method after calling .
      • -
      • You can call this method either before or after . If you call this method before , the SDK waits for you to call before completing the route switch.
      • -
      -

      +

        +
      • Call this method after calling .
      • +
      • You can call this method either before or after . If you call + this method before , the SDK waits for you to call before completing the route switch.
      • +
      + +

      Parameters - - src - The URL of the media resource. - - - syncPts - Whether to synchronize the playback position (ms) before and after the switch:
        -
      • : Synchronize the playback position before and after the switch.
      • -
      • : (Default) Do not synchronize the playback position before and after the switch.
      • -
      -

      Make sure to set this parameter as if you need to play live streams, or the switch fails. If you need to play on-demand streams, you can set the value of this parameter according to your scenarios.

      -
      -
      -
      + + src + The URL of the media resource. + + + syncPts + Whether to synchronize the playback position (ms) before and after the switch:
        +
      • : Synchronize the playback position before and + after the switch.
      • +
      • : (Default) Do not synchronize the playback + position before and after the switch.
      • +
      +

      Make sure to set this parameter as if you need + to play live streams, or the switch fails. If you need to play on-demand streams, you + can set the value of this parameter according to your scenarios.

      +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, the + exception is thrown. You need to catch the exception + and handle it accordingly. See for details + and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    201. 0: Success.
    202. +
    203. < 0: Failure. See for details and + resolution suggestions.
    204. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita index 0c0063f9caa..f96247e97e6 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_switchsrc.dita @@ -1,72 +1,100 @@ - <ph keyref="switchSrc" /> - Switches the media resource being played. + <ph keyref="switchSrc"/> + Switches the media resource being + played. - +

      - int switchSrc(String src, boolean syncPts); + int switchSrc(String src, boolean syncPts); - - (int)switchSrc:(NSString *)src syncPts:(BOOL)sync; + - (int)switchSrc:(NSString *)src syncPts:(BOOL)sync; - virtual int switchSrc(const char* src, bool syncPts) = 0; + virtual int switchSrc(const char* src, bool syncPts) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int SwitchSrc(FString src, bool syncPts); - abstract switchSrc(src: string, syncPts?: boolean): number; - public abstract int SwitchSrc(string src, bool syncPts = true); - abstract switchSrc(src: string, syncPts?: boolean): number; - Future<void> switchSrc({required String src, bool syncPts = true}); -

      + abstract switchSrc(src: string, syncPts?: boolean): number; + public abstract int SwitchSrc(string src, bool syncPts = true); + abstract switchSrc(src: string, syncPts?: boolean): number; + Future<void> switchSrc({required String src, bool syncPts = true}); +

      Details -

      You can call this method to switch the media resource to be played according to the current network status. For example:

        -
      • When the network is poor, the media resource to be played is switched to a media resource address with a lower bitrate.
      • -
      • When the network is good, the media resource to be played is switched to a media resource address with a higher bitrate.
      • -

      -

      After calling this method, if you receive the event in the callback, the switch is successful; If you receive the event in the callback, the switch fails.

      -

      If you want to customize CDN routes for playing the media resource, call the method to switch media resources. Agora changes the CDN route through the self-developed scheduling center to improve the viewing user experience. If you do not need to customize CDN routes for playing the media resource, call the method to switch media resources.

      +

      You can call this method to switch the media resource to be played according to the + current network status. For example:

        +
      • When the network is poor, the media resource to be played is switched to a + media resource address with a lower bitrate.
      • +
      • When the network is good, the media resource to be played is switched to a + media resource address with a higher bitrate.
      • +

      +

      After calling this method, if you receive the event in the callback, the switch is successful; If you receive the + event in the callback, the switch fails.

      +

      If you want to customize CDN routes for playing the media resource, call + the method to switch media resources. Agora + changes the CDN route through the self-developed scheduling center to improve the + viewing user experience. If you do not need to customize CDN routes for playing the + media resource, call the method to switch media + resources.

      -
        -
      • Ensure that you call this method after .
      • -
      • To ensure normal playback, pay attention to the following when calling this method:
          -
        • Do not call this method when playback is paused.
        • -
        • Do not call the method during switching.
        • -
        • Before switching the media resource, make sure that the playback position does not exceed the total duration of the media resource to be switched.
        • -
      • -
      +
        +
      • Ensure that you call this method after .
      • +
      • To ensure normal playback, pay attention to the following when calling this method:
          +
        • Do not call this method when playback is paused.
        • +
        • Do not call the method during switching.
        • +
        • Before switching the media resource, make sure that the playback + position does not exceed the total duration of the media resource to + be switched.
        • +
      • +
      + +
      Parameters - - src - The URL of the media resource. - - - syncPts - Whether to synchronize the playback position (ms) before and after the switch:
        -
      • : Synchronize the playback position before and after the switch.
      • -
      • : (Default) Do not synchronize the playback position before and after the switch.
      • -
      -

      Make sure to set this parameter as if you need to play live streams, or the switch fails. If you need to play on-demand streams, you can set the value of this parameter according to your scenarios.

      -
      -
      -
      + + src + The URL of the media resource. + + + syncPts + Whether to synchronize the playback position (ms) before and after the switch:
        +
      • : Synchronize the playback + position before and after the switch.
      • +
      • : (Default) Do not synchronize + the playback position before and after the switch.
      • +
      +

      Make sure to set this parameter as + if you need to play live streams, or the switch fails. If you need to + play on-demand streams, you can set the value of this parameter + according to your scenarios.

      +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    205. 0: Success.
    206. +
    207. < 0: Failure. See for details + and resolution suggestions.
    208. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_takescreenshot.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_takescreenshot.dita index d6b1f819d63..ccd601b3027 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_takescreenshot.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_takescreenshot.dita @@ -1,42 +1,44 @@ - <ph keyref="takeScreenshot" /> + <ph keyref="takeScreenshot"/> Screenshots while video is playing. - +

      - int takeScreenshot(String filename); + int takeScreenshot(String filename); - - (int)takeScreenshot:(NSString *)filename; + - (int)takeScreenshot:(NSString *)filename; - virtual int takeScreenshot(const char* filename) = 0; - - - - -

      + virtual int takeScreenshot(const char* filename) = 0; + + + + +

      Parameters - - filename - The filename of the screenshot file. - -
      + + filename + The filename of the screenshot file. + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    209. 0: Success.
    210. +
    211. < 0: Failure.
    212. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita index 20fa9e97a01..7fd18952a1b 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_unloadsrc.dita @@ -1,53 +1,60 @@ - <ph keyref="unloadSrc" /> - Unloads media resources that are preloaded. + <ph keyref="unloadSrc"/> + Unloads media resources that are + preloaded. - +

      - int unloadSrc(String src); + int unloadSrc(String src); - - (int)unloadSrc:(NSString *)src; + - (int)unloadSrc:(NSString *)src; - virtual int unloadSrc(const char* src) = 0; + virtual int unloadSrc(const char* src) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int UnloadSrc(FString src); - abstract unloadSrc(src: string): number; - public abstract int UnloadSrc(string src); - abstract unloadSrc(src: string): number; - Future<void> unloadSrc(String src); -

      + abstract unloadSrc(src: string): number; + public abstract int UnloadSrc(string src); + abstract unloadSrc(src: string): number; + Future<void> unloadSrc(String src); +

      Details

      - -

      This method cannot release the media resource being played.

      -

      + +

      This method cannot release the media resource being played.

      +
      +

      Parameters - - - -
      + + + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_unregisteraudioframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_unregisteraudioframeobserver.dita index a973f851dc5..a74eb401358 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_unregisteraudioframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_unregisteraudioframeobserver.dita @@ -1,43 +1,48 @@ - <ph keyref="unregisterAudioFrameObserver_IMediaPlayer" /> + <ph keyref="unregisterAudioFrameObserver_IMediaPlayer"/> Unregisters an audio frame observer. - +

      - - - virtual int unregisterAudioFrameObserver(media::IAudioPcmFrameSink* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + + + virtual int unregisterAudioFrameObserver(media::IAudioPcmFrameSink* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int UnregisterAudioFrameObserver(UIAudioPcmFrameSink* observer); - abstract unregisterAudioFrameObserver(observer: IAudioPcmFrameSink): number; - public abstract int UnregisterAudioFrameObserver(); - abstract unregisterAudioFrameObserver(observer: IAudioPcmFrameSink): number; - void unregisterAudioFrameObserver(AudioPcmFrameSink observer); -

      + abstract unregisterAudioFrameObserver(observer: IAudioPcmFrameSink): number; + public abstract int UnregisterAudioFrameObserver(); + abstract unregisterAudioFrameObserver(observer: IAudioPcmFrameSink): number; + void unregisterAudioFrameObserver(AudioPcmFrameSink observer); +

      Parameters - - observer - The audio observer. See . - -
      + + observer + The audio observer. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita index 715bdfbd515..27e56e9af33 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_unregisterplayersourceobserver.dita @@ -1,40 +1,45 @@ - <ph keyref="unregisterPlayerSourceObserver" /> + <ph keyref="unregisterPlayerSourceObserver"/> Releases a media player observer. - +

      - int unRegisterPlayerObserver(IMediaPlayerObserver playerObserver); - - virtual int unregisterPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + int unRegisterPlayerObserver(IMediaPlayerObserver playerObserver); + + virtual int unregisterPlayerSourceObserver(IMediaPlayerSourceObserver* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int UnregisterPlayerSourceObserver(UIMediaPlayerSourceObserver* observer); - abstract unregisterPlayerSourceObserver( + abstract unregisterPlayerSourceObserver( observer: IMediaPlayerSourceObserver ): number; - - abstract unregisterPlayerSourceObserver( + + abstract unregisterPlayerSourceObserver( observer: IMediaPlayerSourceObserver ): number; - void unregisterPlayerSourceObserver(MediaPlayerSourceObserver observer); -

      + void unregisterPlayerSourceObserver(MediaPlayerSourceObserver observer); +

      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    213. 0: Success.
    214. +
    215. < 0: Failure. See for details + and resolution suggestions.
    216. + +
      -
      \ No newline at end of file +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayer_unregistervideoframeobserver.dita b/en-US/dita/RTC-NG/API/api_imediaplayer_unregistervideoframeobserver.dita index 4bffd2955c9..70897c07cc8 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayer_unregistervideoframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayer_unregistervideoframeobserver.dita @@ -13,35 +13,44 @@

      - - - virtual int unregisterVideoFrameObserver(agora::media::base::IVideoFrameObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") + + + virtual int unregisterVideoFrameObserver(agora::media::base::IVideoFrameObserver* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayer") int UnregisterVideoFrameObserver(UIVideoFrameObserver* observer); - abstract unregisterVideoFrameObserver( + abstract unregisterVideoFrameObserver( observer: IMediaPlayerVideoFrameObserver ): number; - public abstract void UnregisterVideoFrameObserver(IAgoraRtcMediaPlayerVideoFrameObserver observer); - abstract unregisterVideoFrameObserver( + public abstract void UnregisterVideoFrameObserver(IAgoraRtcMediaPlayerVideoFrameObserver observer); + abstract unregisterVideoFrameObserver( observer: IMediaPlayerVideoFrameObserver ): number; - void unregisterVideoFrameObserver(MediaPlayerVideoFrameObserver observer); -

      + void unregisterVideoFrameObserver(MediaPlayerVideoFrameObserver observer); +

      Parameters - - observer - The video observer, reporting the reception of each video frame. See . - -
      + + observer + The video observer, reporting the reception of each video frame. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    217. 0: Success.
    218. +
    219. < 0: Failure. See for details + and resolution suggestions.
    220. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_enableautoremovecache.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_enableautoremovecache.dita index b10edbfea08..43d5602865c 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_enableautoremovecache.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_enableautoremovecache.dita @@ -2,7 +2,8 @@ <ph keyref="enableAutoRemoveCache"/> - Sets whether to delete cached media files automatically. + Sets whether to delete cached media files + automatically. @@ -13,32 +14,37 @@

      - int enableAutoRemoveCache(boolean enable); - - (int)enableAutoRemoveCache:(BOOL)enable; - virtual int enableAutoRemoveCache(bool enable) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int enableAutoRemoveCache(boolean enable); + - (int)enableAutoRemoveCache:(BOOL)enable; + virtual int enableAutoRemoveCache(bool enable) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int EnableAutoRemoveCache(bool enable); - abstract enableAutoRemoveCache(enable: boolean): number; - public abstract int EnableAutoRemoveCache(bool enable); - abstract enableAutoRemoveCache(enable: boolean): number; - Future<void> enableAutoRemoveCache(bool enable); -

      + abstract enableAutoRemoveCache(enable: boolean): number; + public abstract int EnableAutoRemoveCache(bool enable); + abstract enableAutoRemoveCache(enable: boolean): number; + Future<void> enableAutoRemoveCache(bool enable); +

      Details -

      If you enable this function to remove cached media files automatically, when the cached media files exceed either the number or size limit you set, the SDK automatically deletes the least recently used cache file.

      +

      If you enable this function to remove cached media files automatically, when the + cached media files exceed either the number or size limit you set, the SDK + automatically deletes the least recently used cache file.

      Parameters - - enable - Whether to enable the SDK to delete cached media files automatically:
        -
      • : Delete cached media files automatically.
      • -
      • : (Default) Do not delete cached media files automatically.
      • -
      -
      -
      + + enable + Whether to enable the SDK to delete cached media files automatically:
        +
      • : Delete cached media files + automatically.
      • +
      • : (Default) Do not delete + cached media files automatically.
      • +
      +
      + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getcachedir.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getcachedir.dita index 51273042f26..e78f632509c 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getcachedir.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getcachedir.dita @@ -2,7 +2,8 @@ <ph keyref="getCacheDir"/> - Gets the storage path of the cached media files. + Gets the storage path of the cached media + files. @@ -13,39 +14,47 @@

      - String getCacheDir(); - - (NSString *)cacheDir; - virtual int getCacheDir(char* path, int length) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + String getCacheDir(); + - (NSString *)cacheDir; + virtual int getCacheDir(char* path, int length) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int GetCacheDir(FString path, int length); - abstract getCacheDir(length: number): string; - public abstract int GetCacheDir(out string path, int length); - abstract getCacheDir(length: number): string; - Future<String> getCacheDir(int length); -

      + abstract getCacheDir(length: number): string; + public abstract int GetCacheDir(out string path, int length); + abstract getCacheDir(length: number): string; + Future<String> getCacheDir(int length); +

      Details -

      If you have not called the method to set the storage path for the media files to be cached before calling this method, you get the default storage path used by the SDK.

      +

      If you have not called the method to set the storage + path for the media files to be cached before calling this method, you get the + default storage path used by the SDK.

      Parameters - - path - An output parameter; the storage path for the media file to be cached. - - - length - An input parameter; the maximum length of the cache file storage path string. Fill in according to the cache file storage path string you obtained from path. - -
      + + path + An output parameter; the storage path for the media file to be cached. + + + length + An input parameter; the maximum length of the cache file storage path + string. Fill in according to the + cache file storage path string you obtained from + path. + + +
      Returns
        -
      • 0: Success.
      • -
      • The call succeeds, and the SDK returns the storage path of the cached media files.
      • -
      • < 0: Failure. See .
      • -
      +
    221. 0: Success.
    222. +
    223. The call succeeds, and the SDK returns + the storage path of the cached media files.
    224. +
    225. < 0: Failure. See .
    226. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getcachefilecount.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getcachefilecount.dita index 6f1dd6bec6a..eace587311c 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getcachefilecount.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getcachefilecount.dita @@ -2,7 +2,8 @@ <ph keyref="getCacheFileCount"/> - Gets the number of media files that are cached. + Gets the number of media files that are + cached. @@ -13,22 +14,24 @@

      - int getCacheFileCount(); - - (NSInteger)cacheFileCount; - virtual int getCacheFileCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int getCacheFileCount(); + - (NSInteger)cacheFileCount; + virtual int getCacheFileCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int GetCacheFileCount(); - abstract getCacheFileCount(): number; - public abstract int GetCacheFileCount(); - abstract getCacheFileCount(): number; - Future<int> getCacheFileCount(); -

      + abstract getCacheFileCount(): number; + public abstract int GetCacheFileCount(); + abstract getCacheFileCount(): number; + Future<int> getCacheFileCount(); +

      Returns
        -
      • ≥ 0: The call succeeds and returns the number of media files that are cached.
      • -
      • < 0: Failure. See .
      • -
      +
    227. ≥ 0: The call succeeds and returns the number of media files that are + cached.
    228. +
    229. < 0: Failure. See .
    230. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilecount.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilecount.dita index 465a9a38863..f2e5f0027c6 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilecount.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilecount.dita @@ -2,7 +2,8 @@ <ph keyref="getMaxCacheFileCount"/> - Gets the maximum number of media files that can be cached. + Gets the maximum number of media files that can be + cached. @@ -13,16 +14,16 @@

      - int getMaxCacheFileCount(); - - (NSInteger)maxCacheFileCount; - virtual int getMaxCacheFileCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int getMaxCacheFileCount(); + - (NSInteger)maxCacheFileCount; + virtual int getMaxCacheFileCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int GetMaxCacheFileCount(); - abstract getMaxCacheFileCount(): number; - public abstract int GetMaxCacheFileCount(); - abstract getMaxCacheFileCount(): number; - Future<int> getMaxCacheFileCount(); -

      + abstract getMaxCacheFileCount(): number; + public abstract int GetMaxCacheFileCount(); + abstract getMaxCacheFileCount(): number; + Future<int> getMaxCacheFileCount(); +

      Details @@ -31,8 +32,10 @@
      Returns
        -
      • > 0: The call succeeds and returns the maximum number of media files that can be cached.
      • -
      • < 0: Failure. See .
      • -
      +
    231. > 0: The call succeeds and returns the maximum number of media files that can be + cached.
    232. +
    233. < 0: Failure. See .
    234. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilesize.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilesize.dita index 73ba51ffb1b..1d784f537a0 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilesize.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_getmaxcachefilesize.dita @@ -2,7 +2,8 @@ <ph keyref="getMaxCacheFileSize"/> - Gets the maximum size of the aggregate storage space for cached media files. + Gets the maximum size of the aggregate storage space + for cached media files. @@ -13,26 +14,30 @@

      - long getMaxCacheFileSize(); - - (NSInteger)maxCacheFileSize; - virtual int64_t getMaxCacheFileSize() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + long getMaxCacheFileSize(); + - (NSInteger)maxCacheFileSize; + virtual int64_t getMaxCacheFileSize() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int64 GetMaxCacheFileSize(); - abstract getMaxCacheFileSize(): number; - public abstract Int64 GetMaxCacheFileSize(); - abstract getMaxCacheFileSize(): number; - Future<int> getMaxCacheFileSize(); -

      + abstract getMaxCacheFileSize(): number; + public abstract Int64 GetMaxCacheFileSize(); + abstract getMaxCacheFileSize(): number; + Future<int> getMaxCacheFileSize(); +

      Details -

      By default, the maximum size of the aggregate storage space for cached media files is 1 GB. You can call the method to set the limit according to your scenarios.

      +

      By default, the maximum size of the aggregate storage space for cached media files is + 1 GB. You can call the method to set the limit + according to your scenarios.

      Returns
        -
      • > 0: The call succeeds and returns the maximum size (in bytes) of the aggregate storage space for cached media files.
      • -
      • < 0: Failure. See .
      • -
      +
    235. > 0: The call succeeds and returns the maximum size (in bytes) of the aggregate + storage space for cached media files.
    236. +
    237. < 0: Failure. See .
    238. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removeallcaches.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removeallcaches.dita index c74499a7165..eeadbd29392 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removeallcaches.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removeallcaches.dita @@ -2,7 +2,8 @@ <ph keyref="removeAllCaches"/> - Deletes all cached media files in the media player. + Deletes all cached media files in the media + player. @@ -13,28 +14,33 @@

      - int removeAllCaches(); - - (int)removeAllCaches; - virtual int removeAllCaches() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int removeAllCaches(); + - (int)removeAllCaches; + virtual int removeAllCaches() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int RemoveAllCaches(); - abstract removeAllCaches(): number; - public abstract int RemoveAllCaches(); - abstract removeAllCaches(): number; - Future<void> removeAllCaches(); -

      + abstract removeAllCaches(): number; + public abstract int RemoveAllCaches(); + abstract removeAllCaches(): number; + Future<void> removeAllCaches(); +

      Details -

      The cached media file currently being played will not be deleted.

      -
      +

      The cached media file currently being played will not be deleted.

      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See .
      • -
      +
    239. 0: Success.
    240. +
    241. < 0: Failure. See .
    242. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removecachebyuri.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removecachebyuri.dita index 9a8200d577c..e5450432f24 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removecachebyuri.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removecachebyuri.dita @@ -13,30 +13,32 @@

      - int removeCacheByUri(String uri); - - (int)removeCacheByUri:(NSString *)uri; - virtual int removeCacheByUri(const char *uri) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int removeCacheByUri(String uri); + - (int)removeCacheByUri:(NSString *)uri; + virtual int removeCacheByUri(const char *uri) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int RemoveCacheByUri(FString uri); - abstract removeCacheByUri(uri: string): number; - public abstract int RemoveCacheByUri(string uri) ; - abstract removeCacheByUri(uri: string): number; - uture<void> removeCacheByUri(String uri); -

      + abstract removeCacheByUri(uri: string): number; + public abstract int RemoveCacheByUri(string uri) ; + abstract removeCacheByUri(uri: string): number; + uture<void> removeCacheByUri(String uri); +

      Details -

      -

      +

      + +

      Parameters - - uri - The URI (Uniform Resource Identifier) of the media file to be deleted. - -
      + + uri + The URI (Uniform Resource Identifier) of the media file to be deleted. + + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removeoldcache.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removeoldcache.dita index ccf90c8fab8..283f928cb32 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removeoldcache.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_removeoldcache.dita @@ -2,7 +2,8 @@ <ph keyref="removeOldCache"/> - Deletes a cached media file that is the least recently used. + Deletes a cached media file that is the least recently + used. @@ -13,23 +14,26 @@

      - int removeOldCache(); - - (int)removeOldCache; - virtual int removeOldCache() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int removeOldCache(); + - (int)removeOldCache; + virtual int removeOldCache() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int RemoveOldCache(); - abstract removeOldCache(): number; - public abstract int RemoveOldCache(); - abstract removeOldCache(): number; - Future<void> removeOldCache(); -

      + abstract removeOldCache(): number; + public abstract int RemoveOldCache(); + abstract removeOldCache(): number; + Future<void> removeOldCache(); +

      Details -

      You can call this method to delete a cached media file when the storage space for the cached files is about to reach its limit. After you call this method, the SDK deletes the cached media file that is least used.

      +

      You can call this method to delete a cached media file when the storage space for the + cached files is about to reach its limit. After you call this method, the SDK + deletes the cached media file that is least used.

      -

      The cached media file currently being played will not be deleted.

      -
      +

      The cached media file currently being played will not be deleted.

      + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setcachedir.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setcachedir.dita index 7333f9d5dc3..bd560529b0a 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setcachedir.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setcachedir.dita @@ -2,7 +2,8 @@ <ph keyref="setCacheDir"/> - Sets the storage path for the media files that you want to cache. + Sets the storage path for the media files that you want + to cache. @@ -13,31 +14,35 @@

      - int setCacheDir(String path); - - (int)setCacheDir:(NSString *)cacheDir; - virtual int setCacheDir(const char *path) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int setCacheDir(String path); + - (int)setCacheDir:(NSString *)cacheDir; + virtual int setCacheDir(const char *path) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int SetCacheDir(FString path); - abstract setCacheDir(path: string): number; - public abstract int SetCacheDir(string path) ; - abstract setCacheDir(path: string): number; - Future<void> setCacheDir(String path); -

      + abstract setCacheDir(path: string): number; + public abstract int SetCacheDir(string path) ; + abstract setCacheDir(path: string): number; + Future<void> setCacheDir(String path); +

      Details -

      Make sure is initialized before you call this method.

      -
      +

      Make sure is initialized before you call this + method.

      + +
      Parameters - - cacheDir - path - The absolute path of the media files to be cached. Ensure that the directory for the media files exists and is writable. - -
      + + cacheDir + path + The absolute path of the media files to be cached. Ensure that the directory + for the media files exists and is writable. + + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilecount.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilecount.dita index bd874404737..e5bbd251143 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilecount.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilecount.dita @@ -2,7 +2,8 @@ <ph keyref="setMaxCacheFileCount"/> - Sets the maximum number of media files that can be cached. + Sets the maximum number of media files that can be + cached. @@ -13,25 +14,27 @@

      - int setMaxCacheFileCount(int count); - - (int)setMaxCacheFileCount:(NSInteger)count; - virtual int setMaxCacheFileCount(int count) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int setMaxCacheFileCount(int count); + - (int)setMaxCacheFileCount:(NSInteger)count; + virtual int setMaxCacheFileCount(int count) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int SetMaxCacheFileCount(int count); - abstract setMaxCacheFileCount(count: number): number; - public abstract int SetMaxCacheFileCount(int count); - abstract setMaxCacheFileCount(count: number): number; - Future<void> setMaxCacheFileCount(int count); -

      + abstract setMaxCacheFileCount(count: number): number; + public abstract int SetMaxCacheFileCount(int count); + abstract setMaxCacheFileCount(count: number): number; + Future<void> setMaxCacheFileCount(int count); +

      Parameters - - count - The maximum number of media files that can be cached. The default value is 1,000. - -
      + + count + The maximum number of media files that can be cached. The default value is + 1,000. + + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilesize.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilesize.dita index 2f5453d47c1..d7245e877f2 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilesize.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_setmaxcachefilesize.dita @@ -2,7 +2,8 @@ <ph keyref="setMaxCacheFileSize"/> - Sets the maximum size of the aggregate storage space for cached media files. + Sets the maximum size of the aggregate storage space + for cached media files. @@ -13,25 +14,27 @@

      - int setMaxCacheFileSize(long cacheSize); - - (int)setMaxCacheFileSize:(NSInteger)cacheSize; - virtual int setMaxCacheFileSize(int64_t cacheSize) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") + int setMaxCacheFileSize(long cacheSize); + - (int)setMaxCacheFileSize:(NSInteger)cacheSize; + virtual int setMaxCacheFileSize(int64_t cacheSize) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaPlayerCacheManager") int SetMaxCacheFileSize(int64 cacheSize); - abstract setMaxCacheFileSize(cacheSize: number): number; - public abstract int SetMaxCacheFileSize(Int64 cacheSize); - abstract setMaxCacheFileSize(cacheSize: number): number; - Future<void> setMaxCacheFileSize(int cacheSize); -

      + abstract setMaxCacheFileSize(cacheSize: number): number; + public abstract int SetMaxCacheFileSize(Int64 cacheSize); + abstract setMaxCacheFileSize(cacheSize: number): number; + Future<void> setMaxCacheFileSize(int cacheSize); +

      Parameters - - cacheSize - The maximum size (bytes) of the aggregate storage space for cached media files. The default value is 1 GB. - -
      + + cacheSize + The maximum size (bytes) of the aggregate storage space for cached media + files. The default value is 1 GB. + + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_sharedinstance.dita b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_sharedinstance.dita index 2cc6adc1309..aac9aa15715 100644 --- a/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_sharedinstance.dita +++ b/en-US/dita/RTC-NG/API/api_imediaplayercachemanager_sharedinstance.dita @@ -1,30 +1,31 @@ - <ph keyref="sharedInstance" /> - Gets a instance. + <ph keyref="sharedInstance"/> + Gets a + instance. - +

      - - + (instancetype)sharedInstance; - - - - - -

      + + + (instancetype)sharedInstance; + + + + + +

      Returns -

      The instance.

      +

      The instance.

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_addlistener.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_addlistener.dita index d15adace99a..4f9db650085 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_addlistener.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_addlistener.dita @@ -2,7 +2,8 @@ <ph keyref="addListener_IMediaRecorder"/> - Adds one listener. + Adds one + listener. @@ -13,36 +14,43 @@

      - - - - addListener?<EventType extends keyof IMediaRecorderEvent>( + + + + addListener?<EventType extends keyof IMediaRecorderEvent>( eventType: EventType, listener: IMediaRecorderEvent[EventType] ): void; - - addListener?<EventType extends keyof IMediaRecorderEvent>( + + addListener?<EventType extends keyof IMediaRecorderEvent>( eventType: EventType, listener: IMediaRecorderEvent[EventType] ): void; -

      +

      Details -

      After calling this method, you can listen for the corresponding events in the object and obtain data through . Depending on your project needs, you can add multiple listeners for the same event.

      +

      After calling this method, you can listen for the corresponding events in the object and obtain data through . Depending on your project needs, you can add + multiple listeners for the same event.

      Parameters - - eventType - The name of the target event to listen for. See . - - - listener - The callback function for eventType. Take adding a listener for as an example:const onRecorderStateChanged = (state: RecorderState, reason: RecorderReasonCode) => {}; + + eventType + The name of the target event to listen for. See . + + + listener + The callback function for eventType. Take adding a + listener for as an + example:const onRecorderStateChanged = (state: RecorderState, reason: RecorderReasonCode) => {}; engine.addListener('onRecorderStateChanged', onRecorderStateChanged); - -
      + + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_enablemainqueuedispatch.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_enablemainqueuedispatch.dita index a3b88025ef3..041f52826de 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_enablemainqueuedispatch.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_enablemainqueuedispatch.dita @@ -1,26 +1,27 @@ - <ph keyref="enableMainQueueDispatch" /> - Enables/Disables dispatching delegate methods to the main queue. + <ph keyref="enableMainQueueDispatch"/> + Enables/Disables dispatching delegate methods to the + main queue. - +

      - - - (int)enableMainQueueDispatch:(BOOL)enabled; - - - - - -

      + + - (int)enableMainQueueDispatch:(BOOL)enabled; + + + + + +

      Details @@ -29,22 +30,25 @@
      Parameters - - enabled - -
        -
      • : Dispatch delegate methods to the main queue.
      • -
      • : Do not dispatch delegate methods to the main queue.
      • -
      -
      -
      -
      + + enabled + +
        +
      • : Dispatch delegate methods to + the main queue.
      • +
      • : Do not dispatch delegate + methods to the main queue.
      • +
      +
      +
      + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • +
      • 0: Success.
      • +
      • < 0: Failure.
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_getmediarecorder.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_getmediarecorder.dita index 72d6fe0b25a..536815fb08d 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_getmediarecorder.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_getmediarecorder.dita @@ -1,19 +1,21 @@ - <ph keyref="getMediaRecorder" /> - Gets the object. Creates an instance. + <ph keyref="getMediaRecorder"/> + Gets the object. Creates an instance. - +

      - public static synchronized AgoraMediaRecorder getMediaRecorder(RtcEngine engine) { + public static synchronized AgoraMediaRecorder getMediaRecorder(RtcEngine engine) { RtcEngineImpl engineImpl = (RtcEngineImpl) engine; if (mRecorder == null) { mRecorder = new AgoraMediaRecorder(engineImpl); @@ -22,27 +24,31 @@ } return mRecorder; } - + (instancetype _Nonnull)sharedMediaRecorderWithRtcEngine:(AgoraRtcEngineKit* _Nonnull)engine; - - - - -

      + + (instancetype _Nonnull)sharedMediaRecorderWithRtcEngine:(AgoraRtcEngineKit* _Nonnull)engine; + + + + + +

      Details - Make sure the is initialized before you call this method.
      + Make sure the is initialized before you + call this method. +
      Parameters - - engine - The object. - -
      + + engine + The object. + + +
      Returns -

      The object.

      +

      The object.

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_release.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_release.dita index 4d4fc3bf0f9..30d5fb2f5b6 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_release.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_release.dita @@ -2,7 +2,8 @@ <ph keyref="releaseRecorder"/> - Release the object. + Release the + object. @@ -13,18 +14,22 @@

      - public void release() - + (void)destroy; - virtual void release() = 0; - abstract release(): void; - - abstract release(): void; - Future<void> release(); -

      + public void release() + + (void)destroy; + virtual void release() = 0; + abstract release(): void; + + abstract release(): void; + Future<void> release(); +

      Details -

      This method releases the object and all resources used by the object. After calling this method, if you need to start recording again, you need to call again to get the object.

      +

      This method releases the object and all resources + used by the object. After calling this method, if you need + to start recording again, you need to call + again to get the object.

      diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_releaserecorder.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_releaserecorder.dita index 89bb89b18d6..4912bd72b4d 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_releaserecorder.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_releaserecorder.dita @@ -1,19 +1,20 @@ - <ph keyref="releaseRecorder" /> - Release the object. + <ph keyref="releaseRecorder"/> + Release the + object. - +

      - public void release() { + public void release() { RtcEngineImpl engine = null; if (mEngineReference != null && (engine = mEngineReference.get()) != null) { engine.releaseRecorder(); @@ -21,16 +22,21 @@ mEngineReference = null; return; } - + (void)destroy; - virtual void releaseRecorder() = 0; - abstract release(): void; - - abstract release(): void; - Future<void> release();

      + + (void)destroy; + virtual void releaseRecorder() = 0; + abstract release(): void; + + abstract release(): void; + Future<void> release(); +

      Details -

      This method releases the object and all resources used by the object. After calling this method, if you need to start recording again, you need to call again to get the object.

      +

      This method releases the object and all resources + used by the object. After calling this method, if you need + to start recording again, you need to call + again to get the object.

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_removealllisteners.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_removealllisteners.dita index d74ca8b184c..a0eca71daee 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_removealllisteners.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_removealllisteners.dita @@ -1,37 +1,39 @@ - <ph keyref="removeAllListeners_IMediaRecorder" /> - Removes all listeners for the specified event. + <ph keyref="removeAllListeners_IMediaRecorder"/> + Removes all listeners for the specified + event. - +

      - - - - removeAllListeners?<EventType extends keyof IMediaRecorderEvent>( + + + + removeAllListeners?<EventType extends keyof IMediaRecorderEvent>( eventType?: EventType ): void; - - removeAllListeners?<EventType extends keyof IMediaRecorderEvent>( + + removeAllListeners?<EventType extends keyof IMediaRecorderEvent>( eventType?: EventType ): void; -

      +

      Parameters - - - - -
      + + + + + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_removelistener.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_removelistener.dita index 747304c7d4e..d221d9c4509 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_removelistener.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_removelistener.dita @@ -2,7 +2,8 @@ <ph keyref="removeListener_IMediaRecorder"/> - Removes the specified listener. + Removes the specified listener. @@ -13,34 +14,38 @@

      - - - - removeListener?<EventType extends keyof IMediaRecorderEvent>( + + + + removeListener?<EventType extends keyof IMediaRecorderEvent>( eventType: EventType, listener: IMediaRecorderEvent[EventType] ): void; - - removeListener?<EventType extends keyof IMediaRecorderEvent>( + + removeListener?<EventType extends keyof IMediaRecorderEvent>( eventType: EventType, listener: IMediaRecorderEvent[EventType] ): void; -

      +

      Parameters - - - - - - listener - The callback function for eventType. Must pass in the same function object in . Take removing the listener for as an example:const onRecorderStateChanged = (state: RecorderState, reason: RecorderReasonCode) => {}; + + + + + + listener + The callback function for eventType. Must pass in the + same function object in . Take + removing the listener for as an + example:const onRecorderStateChanged = (state: RecorderState, reason: RecorderReasonCode) => {}; engine.addListener('onRecorderStateChanged', onRecorderStateChanged); engine.removeListener('onRecorderStateChanged', onRecorderStateChanged); - -
      + + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita index 7d68a824474..738e1a16c6c 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_setmediarecorderobserver.dita @@ -2,7 +2,8 @@ <ph keyref="setMediaRecorderObserver"/> - Registers one oberver. + Registers one oberver. @@ -13,42 +14,52 @@

      - public int setMediaRecorderObserver(IMediaRecorderCallback callback) - - (int)setMediaRecorderDelegate:(id<AgoraMediaRecorderDelegate> _Nullable)delegate; - virtual int setMediaRecorderObserver(media::IMediaRecorderObserver* callback) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") + public int setMediaRecorderObserver(IMediaRecorderCallback callback) + - (int)setMediaRecorderDelegate:(id<AgoraMediaRecorderDelegate> _Nullable)delegate; + virtual int setMediaRecorderObserver(media::IMediaRecorderObserver* callback) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") int SetMediaRecorderObserver(UIMediaRecorderObserver* callback); - abstract setMediaRecorderObserver(callback: IMediaRecorderObserver): number; - public abstract int SetMediaRecorderObserver(IMediaRecorderObserver callback); - abstract setMediaRecorderObserver(callback: IMediaRecorderObserver): number; - Future<void> setMediaRecorderObserver( + abstract setMediaRecorderObserver(callback: IMediaRecorderObserver): number; + public abstract int SetMediaRecorderObserver(IMediaRecorderObserver callback); + abstract setMediaRecorderObserver(callback: IMediaRecorderObserver): number; + Future<void> setMediaRecorderObserver( {required RtcConnection connection, required MediaRecorderObserver callback}); -

      +

      Details -

      This method is used to set the callbacks of audio and video recording, so as to notify the app of the recording status and information of the audio and video stream during recording.

      +

      This method is used to set the callbacks of audio and video recording, so as to + notify the app of the recording status and information of the audio and video stream + during recording.

      Before calling this method, ensure the following:

        -
      • The object is created and initialized.
      • -
      • The recording object is created through .
      • -

      +
    243. The object is created and initialized.
    244. +
    245. The recording object is created through .
    246. +

      Parameters - - callback - delegate - The callbacks for recording audio and video streams. See . - -
      + + callback + delegate + The callbacks for recording audio and video streams. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    247. 0: Success.
    248. +
    249. < 0: Failure. See for details + and resolution suggestions.
    250. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_startrecording.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_startrecording.dita index 09e9e5a94b0..86cf5c5976a 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_startrecording.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_startrecording.dita @@ -2,7 +2,8 @@ <ph keyref="startRecording"/> - Starts recording audio and video streams. + Starts recording audio and video + streams. @@ -13,59 +14,84 @@

      - public int startRecording(MediaRecorderConfiguration config) - - (int)startRecording:(AgoraMediaRecorderConfiguration* _Nonnull)config; - virtual int startRecording(const media::MediaRecorderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") + public int startRecording(MediaRecorderConfiguration config) + - (int)startRecording:(AgoraMediaRecorderConfiguration* _Nonnull)config; + virtual int startRecording(const media::MediaRecorderConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") int StartRecording(FMediaRecorderConfiguration& config); - abstract startRecording(config: MediaRecorderConfiguration): number; - public abstract int StartRecording(MediaRecorderConfiguration config); - abstract startRecording(config: MediaRecorderConfiguration): number; - Future<void> startRecording(MediaRecorderConfiguration config); -

      + abstract startRecording(config: MediaRecorderConfiguration): number; + public abstract int StartRecording(MediaRecorderConfiguration config); + abstract startRecording(config: MediaRecorderConfiguration): number; + Future<void> startRecording(MediaRecorderConfiguration config); +

      Details -

      You can call this method to enable the recording function. Agora supports recording the media streams of local and remote users at the same time.

      +

      You can call this method to enable the recording function. Agora supports recording + the media streams of local and remote users at the same time.

      Before you call this method, ensure the following:

        -
      • The recording object is created through .
      • -
      • The recording observer is registered through .
      • -
      • You have joined the channel which the remote user that you want to record is in.
      • -

      +
    251. The recording object is created through .
    252. +
    253. The recording observer is registered through .
    254. +
    255. You have joined the channel which the remote user that you want to record is + in.
    256. +

      Supported formats of recording are listed as below:

        -
      • AAC-encoded audio captured by the microphone.
      • -
      • Video captured by a camera and encoded in H.264 or H.265.
      • -

      -

      Once the recording is started, if the video resolution is changed, the SDK stops the recording; if the sampling rate and audio channel changes, the SDK continues recording and generates audio files respectively.

      -

      The SDK can generate a recording file only when it detects audio and video streams; when there are no audio and video streams to be recorded or the audio and video streams are interrupted for more than 5 seconds, the SDK stops the recording and triggers the (, ) callback.

      - +
    257. AAC-encoded audio captured by the microphone.
    258. +
    259. Video captured by a camera and encoded in H.264 or H.265.
    260. +

      +

      Once the recording is started, if the video resolution is changed, the SDK stops the + recording; if the sampling rate and audio channel changes, the SDK continues + recording and generates audio files respectively.

      +

      The SDK can generate a recording file only when it detects audio and video streams; + when there are no audio and video streams to be recorded or the audio and video + streams are interrupted for more than 5 seconds, the SDK stops the recording and + triggers the (, ) callback.

      -
        -
      • If you want to record the media streams of the local user, ensure the role of the local user is set as broadcaster.
      • -
      • If you want to record the media streams of a remote user, ensure you have subscribed to the user's media streams before starting the recording.
      • -
      +
        +
      • If you want to record the media streams of the local user, ensure the role + of the local user is set as broadcaster.
      • +
      • If you want to record the media streams of a remote user, ensure you have + subscribed to the user's media streams before starting the recording.
      • +
      +
      Parameters - - config - The recording configuration. See . - -
      + + config + The recording configuration. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
          -
        • -2: The parameter is invalid. Ensure the following:
            -
          • The specified path of the recording file exists and is writable.
          • -
          • The specified format of the recording file is supported.
          • -
          • The maximum recording duration is correctly set.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
              +
            • -2: The parameter is invalid. Ensure the following:
                +
              • The specified path of the recording file exists and is + writable.
              • +
              • The specified format of the recording file is supported.
              • +
              • The maximum recording duration is correctly set.
              • +
            • +
            • -4: does not support the request. The + recording is ongoing or the recording stops because an error + occurs.
            • +
            • -7: The method is called before is + initialized. Ensure the object is + created before calling this method.
          • -
          • -4: does not support the request. The recording is ongoing or the recording stops because an error occurs.
          • -
          • -7: The method is called before is initialized. Ensure the object is created before calling this method.
          • -
        • -
      + +
      diff --git a/en-US/dita/RTC-NG/API/api_imediarecorder_stoprecording.dita b/en-US/dita/RTC-NG/API/api_imediarecorder_stoprecording.dita index d6369c4d67f..4f9ceed1910 100644 --- a/en-US/dita/RTC-NG/API/api_imediarecorder_stoprecording.dita +++ b/en-US/dita/RTC-NG/API/api_imediarecorder_stoprecording.dita @@ -2,7 +2,8 @@ <ph keyref="stopRecording"/> - Stops recording audio and video streams. + Stops recording audio and video + streams. @@ -13,28 +14,37 @@

      - public int stopRecording() - - (int)stopRecording; - virtual int stopRecording() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") + public int stopRecording() + - (int)stopRecording; + virtual int stopRecording() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IMediaRecorder") int StopRecording(); - abstract stopRecording(): number; - public abstract int StopRecording(); - abstract stopRecording(): number; - Future<void> stopRecording(); -

      + abstract stopRecording(): number; + public abstract int StopRecording(); + abstract stopRecording(): number; + Future<void> stopRecording(); +

      Details - After calling , if you want to stop the recording, you must call this method; otherwise, the generated recording files may not be playable.
      + After calling , if you want to + stop the recording, you must call this method; otherwise, the generated recording + files may not be playable. +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure.
          -
        • -7: The method is called before is initialized. Ensure the object is created before calling this method.
        • -
      • -
      +
    261. 0: Success.
    262. +
    263. < 0: Failure.
        +
      • -7: The method is called before is + initialized. Ensure the object is + created before calling this method.
      • +
    264. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita index e0327f4b5f3..f031734a4d4 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_createmusicplayer.dita @@ -13,37 +13,42 @@

      - public abstract IAgoraMusicPlayer createMusicPlayer(); - (id<AgoraMusicPlayerProtocol> _Nullable)createMusicPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate> _Nullable)delegate NS_SWIFT_NAME(createMusicPlayer(delegate:)); - virtual agora_refptr<IMusicPlayer> createMusicPlayer() = 0; - abstract createMusicPlayer(): IMusicPlayer; - public abstract IMusicPlayer CreateMusicPlayer(); - abstract createMusicPlayer(): IMusicPlayer; - Future<MusicPlayer> createMusicPlayer(); -

      + public abstract IAgoraMusicPlayer createMusicPlayer(); + (id<AgoraMusicPlayerProtocol> _Nullable)createMusicPlayerWithDelegate:(id<AgoraRtcMediaPlayerDelegate> _Nullable)delegate NS_SWIFT_NAME(createMusicPlayer(delegate:)); + virtual agora_refptr<IMusicPlayer> createMusicPlayer() = 0; + abstract createMusicPlayer(): IMusicPlayer; + public abstract IMusicPlayer CreateMusicPlayer(); + abstract createMusicPlayer(): IMusicPlayer; + Future<MusicPlayer> createMusicPlayer(); +

      Details
      - -
      Since
      -
      v4.1.0
      -
      -
      If you need to play music in the music content center, you need to call this method to create a music player before playing.
      + +
      Since
      +
      v4.1.0
      +
      + If you need to play music in the music content center, you need to call this + method to create a music player before playing.
      Parameters - - delegate - See . - -
      + + delegate + See . + + +
      Returns
        -
      • The instance, if the method call succeeds.
      • -
      • The instance, if the method call succeeds.
      • -
      • An empty pointer, if the method call fails.
      • -
      +
    265. The instance, if the method call succeeds.
    266. +
    267. The instance, if the method call succeeds.
    268. +
    269. An empty pointer, if the method call fails.
    270. + +
      diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita index ea75027c605..22b2ea8d99d 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_destroy.dita @@ -1,41 +1,43 @@ - <ph keyref="destroy_IMusicContentCenter" /> - Destroys the instance. + <ph keyref="destroy_IMusicContentCenter"/> + Destroys the + instance. - +

      - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.release(); mInstance = null; } - + (void)destroy; - - - - - -

      + + (void)destroy; + + + + + +

      Details
      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      Make sure you have called the method in the class before calling this method.

      +

      Make sure you have called the method in the class before calling this method.

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_enablemainqueuedispatch.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_enablemainqueuedispatch.dita index 5bfd494277f..8dc2bb8111e 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_enablemainqueuedispatch.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_enablemainqueuedispatch.dita @@ -1,50 +1,54 @@ - <ph keyref="enableMainQueueDispatch_IMusicContentCenter" /> - + <ph keyref="enableMainQueueDispatch_IMusicContentCenter"/> + - +

      - - - (void)enableMainQueueDispatch:(BOOL)enabled; - - - - - -

      + + - (void)enableMainQueueDispatch:(BOOL)enabled; + + + + + +

      - Details
      - -
      Since
      -
      v4.1.0
      -
      + Details +
      + +
      Since
      +
      v4.1.0
      +
      -

      +

      Parameters - - enabled - -
        -
      • : Dispatch delegate methods to the main queue.
      • -
      • :(默认)不分发回调方法到主队列。
      • -
      -
      -
      -
      -
      + + enabled + +
        +
      • : Dispatch delegate methods to + the main queue.
      • +
      • :(默认)不分发回调方法到主队列。
      • +
      +
      +
      +
      +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita index 7eae5b4d4f7..5bca98d6e76 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getcaches.dita @@ -1,33 +1,34 @@ - <ph keyref="getCaches" /> + <ph keyref="getCaches"/> 获取已缓存的音乐资源信息。 - +

      - public abstract MusicCacheInfo[] getCaches(); - - (NSArray *)getCaches NS_SWIFT_NAME(getCaches()); - virtual int getCaches(MusicCacheInfo *cacheInfo, int32_t* cacheInfoSize) = 0; - abstract getCaches(): { cacheInfo: MusicCacheInfo[]; cacheInfoSize: number }; - public abstract int GetCaches(ref MusicCacheInfo[] cacheInfo, ref Int32 cacheInfoSize); - abstract getCaches(): { cacheInfo: MusicCacheInfo[]; cacheInfoSize: number }; - Future<List<MusicCacheInfo>> getCaches(int cacheInfoSize);

      + public abstract MusicCacheInfo[] getCaches(); + - (NSArray *)getCaches NS_SWIFT_NAME(getCaches()); + virtual int getCaches(MusicCacheInfo *cacheInfo, int32_t* cacheInfoSize) = 0; + abstract getCaches(): { cacheInfo: MusicCacheInfo[]; cacheInfoSize: number }; + public abstract int GetCaches(ref MusicCacheInfo[] cacheInfo, ref Int32 cacheInfoSize); + abstract getCaches(): { cacheInfo: MusicCacheInfo[]; cacheInfoSize: number }; + Future<List<MusicCacheInfo>> getCaches(int cacheInfoSize); +

      Details
      - -
      Since
      -
      v4.2.0
      -
      + +
      Since
      +
      v4.2.0
      +

      调用该方法前,你需要预先分配一定大小的内存空间用来存储缓存音乐资源的信息。

      当你不再需要使用已缓存的音乐资源时,你需要及时释放内存以防止内存泄漏。

      @@ -35,16 +36,20 @@
      Parameters - - cacheInfo - 输出参数;指向用于存储已缓存音乐资源的内存缓冲区的指针。 - - - cacheInfoSize - Input and output parameter.
      • 输入值:cacheInfo 数组的长度,即你所分配的 结构体的数量。
      • -
      • 输出值:方法执行完毕后输出的 结构体的数量。
      -
      -
      + + cacheInfo + 输出参数;指向用于存储已缓存音乐资源的内存缓冲区的指针。 + + + cacheInfoSize + Input and output parameter.
        +
      • 输入值:cacheInfo 数组的长度,即你所分配的 结构体的数量。
      • +
      • 输出值:方法执行完毕后输出的 结构体的数量。
      • +
      +
      + +
      Returns
        @@ -52,9 +57,9 @@
      • < 0: Failure.
        -
      • 方法调用成功时,返回包含 对象的数组。
      • -
      • If the call fails, returns .
      • +
      • 方法调用成功时,返回包含 对象的数组。
      • +
      • If the call fails, returns .
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita index b5c147439be..70e7e079f9e 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getlyric.dita @@ -1,55 +1,57 @@ - <ph keyref="getLyric" /> + <ph keyref="getLyric"/> Gets the downloading url for lyrics. - +

      - public abstract String getLyric(long songCode, int lyricType); - - (NSString *)getLyricWithSongCode:(NSInteger)songCode lyricType:(NSInteger)lyricType NS_SWIFT_NAME(getLyric(songCode:lyricType:)); - virtual int getLyric(agora::util::AString& requestId, int64_t songCode, int32_t LyricType = 0) = 0; - abstract getLyric(songCode: number, lyricType?: number): string; - public abstract int GetLyric(ref string requestId, Int64 songCode, int LyricType = 0); - abstract getLyric(songCode: number, lyricType?: number): string; - Future<String> getLyric({required int songCode, int lyricType = 0}); -

      + public abstract String getLyric(long songCode, int lyricType); + - (NSString *)getLyricWithSongCode:(NSInteger)songCode lyricType:(NSInteger)lyricType NS_SWIFT_NAME(getLyric(songCode:lyricType:)); + virtual int getLyric(agora::util::AString& requestId, int64_t songCode, int32_t LyricType = 0) = 0; + abstract getLyric(songCode: number, lyricType?: number): string; + public abstract int GetLyric(ref string requestId, Int64 songCode, int LyricType = 0); + abstract getLyric(songCode: number, lyricType?: number): string; + Future<String> getLyric({required int songCode, int lyricType = 0}); +

      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      After calling this method successfully, the SDK triggers the callback to report the downloading url for lyrics.

      +

      After calling this method successfully, the SDK triggers the callback to report the downloading url for lyrics.

      Parameters - - - - - - LyricType - Lyric types:
        -
      • 0: xml.
      • -
      • 1: lrc.
      • -
      -
      - - - - -
      + + + + + + LyricType + Lyric types:
        +
      • 0: xml.
      • +
      • 1: lrc.
      • +
      +
      + + + + + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita index 7a2f6a94345..944724486ec 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccharts.dita @@ -1,42 +1,44 @@ - <ph keyref="getMusicCharts" /> + <ph keyref="getMusicCharts"/> Gets all music charts. - +

      - public abstract String getMusicCharts(); - - (NSString *)getMusicCharts; - virtual int getMusicCharts(agora::util::AString& requestId) = 0; - abstract getMusicCharts(): string; - public abstract int GetMusicCharts(ref string requestId); - abstract getMusicCharts(): string; - Future<String> getMusicCharts(); -

      + public abstract String getMusicCharts(); + - (NSString *)getMusicCharts; + virtual int getMusicCharts(agora::util::AString& requestId) = 0; + abstract getMusicCharts(): string; + public abstract int GetMusicCharts(ref string requestId); + abstract getMusicCharts(): string; + Future<String> getMusicCharts(); +

      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      After you call this method successfully, the SDK triggers the callback to report the detailed information of the music charts.

      +

      After you call this method successfully, the SDK triggers the callback to report the detailed information of the music + charts.

      Parameters - - + +
      @@ -46,7 +48,9 @@
    271. 0: Success.
    272. < 0: Failure.
    273. -

      A requestId, which is a unique identifier of this request.

      +

      A + requestId, which is a unique identifier of this + request.

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid.dita index 093977f614b..55dc571682b 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid.dita @@ -1,83 +1,93 @@ - <ph keyref="getMusicCollectionByMusicChartId" /> - Gets the music list of a specified music chart through a music chart ID. + <ph keyref="getMusicCollectionByMusicChartId"/> + Gets the music list of a specified music chart through + a music chart ID. - +

      - public String getMusicCollectionByMusicChartId(int musicChartId, int page, int pageSize) { + public String getMusicCollectionByMusicChartId(int musicChartId, int page, int pageSize) { return getMusicCollectionByMusicChartId(musicChartId, page, pageSize, null); } - - (NSString *)getMusicCollectionWithMusicChartId:(NSInteger)musicChartId page:(NSInteger)page pageSize:(NSInteger)pageSize jsonOption:(NSString * _Nullable)jsonOption NS_SWIFT_NAME(getMusicCollection(musicChartId:page:pageSize:jsonOption:)); - virtual int getMusicCollectionByMusicChartId(agora::util::AString& requestId, int32_t musicChartId, int32_t page, int32_t pageSize, const char* jsonOption = nullptr) = 0; - abstract getMusicCollectionByMusicChartId( + - (NSString *)getMusicCollectionWithMusicChartId:(NSInteger)musicChartId page:(NSInteger)page pageSize:(NSInteger)pageSize jsonOption:(NSString * _Nullable)jsonOption NS_SWIFT_NAME(getMusicCollection(musicChartId:page:pageSize:jsonOption:)); + virtual int getMusicCollectionByMusicChartId(agora::util::AString& requestId, int32_t musicChartId, int32_t page, int32_t pageSize, const char* jsonOption = nullptr) = 0; + abstract getMusicCollectionByMusicChartId( musicChartId: number, page: number, pageSize: number, jsonOption?: string ): string; - public abstract int GetMusicCollectionByMusicChartId(ref string requestId, int musicChartType, int page, int pageSize, string jsonOption = ""); - abstract getMusicCollectionByMusicChartId( + public abstract int GetMusicCollectionByMusicChartId(ref string requestId, int musicChartType, int page, int pageSize, string jsonOption = ""); + abstract getMusicCollectionByMusicChartId( musicChartId: number, page: number, pageSize: number, jsonOption?: string ): string; - Future<String> getMusicCollectionByMusicChartId( + Future<String> getMusicCollectionByMusicChartId( {required int musicChartId, required int page, required int pageSize, String? jsonOption}); -

      +

      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      After call this method successfully, the SDK triggers the callback to report the detailed information of music lists.

      +

      After call this method successfully, the SDK triggers the callback to + report the detailed information of music + lists.

      Parameters - - - - - - musicChartId - musicChartType - The ID of a music chart, which can be obtained from the callback. You can also through the corresponding RESTful APIs. - - - page - 当前页面编号,默认从 1 开始。 - - - pageSize - 当前音乐资源列表的总页面数量,最大值为 50。 - - - jsonOption - The json field. The default value is . - -
      + + + + + + musicChartId + musicChartType + The ID of a music chart, which can be obtained from the callback. You can also through the + corresponding RESTful APIs. + + + page + 当前页面编号,默认从 1 开始。 + + + pageSize + 当前音乐资源列表的总页面数量,最大值为 50。 + + + jsonOption + The json field. The default value is . + + +
      - Returns + Returns
      • 0: Success.
      • < 0: Failure.
      -

      A requestId, which is a unique identifier of this request.

      -
      -
      \ No newline at end of file +

      A + requestId, which is a unique identifier of this + request.

      + + + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita index 1f4b4c8a02f..507863b6874 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_getmusiccollectionbymusicchartid2.dita @@ -1,60 +1,63 @@ - <ph keyref="getMusicCollectionByMusicChartId2" /> - Gets the music list of a specified music chart through a music chart ID. + <ph keyref="getMusicCollectionByMusicChartId2"/> + Gets the music list of a specified music chart through + a music chart ID. - +

      - public abstract String getMusicCollectionByMusicChartId( + public abstract String getMusicCollectionByMusicChartId( int musicChartId, int page, int pageSize, String jsonOption); - - - - - - -

      + + + + + + +

      - Details
      - -
      Since
      -
      v4.1.0
      -
      + Details +
      + +
      Since
      +
      v4.1.0
      +
      -

      +

      Parameters - - - - + + + + - - + + - - + + jsonOption - The json field. The default value is . + The json field. The default value is . -
      + +
      Returns

      A requestId, which is a unique identifier of this request.

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita index 4c3f11cd4ed..4cc5d766f55 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_initialize.dita @@ -1,54 +1,61 @@ - <ph keyref="initialize_IMusicContentCenter" /> - Initializes . + <ph keyref="initialize_IMusicContentCenter"/> + Initializes . - +

      - public abstract int initialize(MusicContentCenterConfiguration configuration); - + (instancetype)sharedContentCenterWithConfig:(AgoraMusicContentCenterConfig *)config NS_SWIFT_NAME(sharedContentCenter(config:)); - virtual int initialize(const MusicContentCenterConfiguration & configuration) = 0; - abstract initialize(configuration: MusicContentCenterConfiguration): number; - public abstract int Initialize(MusicContentCenterConfiguration configuration); - abstract initialize(configuration: MusicContentCenterConfiguration): number; - Future<void> initialize(MusicContentCenterConfiguration configuration); -

      + public abstract int initialize(MusicContentCenterConfiguration configuration); + + (instancetype)sharedContentCenterWithConfig:(AgoraMusicContentCenterConfig *)config NS_SWIFT_NAME(sharedContentCenter(config:)); + virtual int initialize(const MusicContentCenterConfiguration & configuration) = 0; + abstract initialize(configuration: MusicContentCenterConfiguration): number; + public abstract int Initialize(MusicContentCenterConfiguration configuration); + abstract initialize(configuration: MusicContentCenterConfiguration): number; + Future<void> initialize(MusicContentCenterConfiguration configuration); +

      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      Before calling any other methods in the class, you need to call this method to initialize .

      +

      Before calling any other methods in the class, + you need to call this method to initialize .

      Parameters - - configuration - config - The configuration of . See . - -
      + + configuration + config + The configuration of . See . + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • +
      • 0: Success.
      • +
      • < 0: Failure.
        -
      • The instance, if the method call succeeds.
      • -
      • If the call fails, returns .
      • -
      +
    274. The instance, if the method call + succeeds.
    275. +
    276. If the call fails, returns .
    277. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita index cd18f815650..7b596142842 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_ispreloaded.dita @@ -1,54 +1,57 @@ - <ph keyref="isPreloaded" /> - Checks that whether the music has been preloaded. + <ph keyref="isPreloaded"/> + Checks that whether the music has been + preloaded. - +

      - public abstract int isPreloaded(long songCode); - - (NSInteger)isPreloadedWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(isPreloaded(songCode:)); - virtual int isPreloaded(int64_t songCode) = 0; - abstract isPreloaded(songCode: number): number; - public abstract int IsPreloaded(Int64 songCode); - abstract isPreloaded(songCode: number): number; - Future<bool> isPreloaded(int songCode); -

      + public abstract int isPreloaded(long songCode); + - (NSInteger)isPreloadedWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(isPreloaded(songCode:)); + virtual int isPreloaded(int64_t songCode) = 0; + abstract isPreloaded(songCode: number): number; + public abstract int IsPreloaded(Int64 songCode); + abstract isPreloaded(songCode: number): number; + Future<bool> isPreloaded(int songCode); +

      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      This method can be called synchronously. 如需预加载新的音乐资源,可调用

      +

      This method can be called synchronously. 如需预加载新的音乐资源,可调用

      Parameters - - - - -
      + + + + + +
      Returns
        -
      • 0: The method call succeeds and the music has been preloaded.
      • -
      • < 0: Failure.
      • +
      • 0: The method call succeeds and the music has been preloaded.
      • +
      • < 0: Failure.
        -
      • :该音乐资源已被预加载。
      • -
      • :该音乐资源未被预加载。
      • +
      • :该音乐资源已被预加载。
      • +
      • :该音乐资源未被预加载。
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita index 046e86de29e..a0e0c601ee2 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_registereventhandler.dita @@ -1,54 +1,60 @@ - <ph keyref="registerEventHandler_IMusicContentCenter" /> - Registers callback events of the music content center. + <ph keyref="registerEventHandler_IMusicContentCenter"/> + Registers callback events of the music content + center. - +

      - public abstract int registerEventHandler(IMusicContentCenterEventHandler eventHandler); - - (NSInteger)registerEventDelegate:(id<AgoraMusicContentCenterEventDelegate> _Nullable)eventDelegate; - virtual int registerEventHandler(IMusicContentCenterEventHandler* eventHandler) = 0; - abstract registerEventHandler( + public abstract int registerEventHandler(IMusicContentCenterEventHandler eventHandler); + - (NSInteger)registerEventDelegate:(id<AgoraMusicContentCenterEventDelegate> _Nullable)eventDelegate; + virtual int registerEventHandler(IMusicContentCenterEventHandler* eventHandler) = 0; + abstract registerEventHandler( eventHandler: IMusicContentCenterEventHandler ): number; - public abstract int RegisterEventHandler(IMusicContentCenterEventHandler eventHandler); - abstract registerEventHandler( + public abstract int RegisterEventHandler(IMusicContentCenterEventHandler eventHandler); + abstract registerEventHandler( eventHandler: IMusicContentCenterEventHandler ): number; - void registerEventHandler(MusicContentCenterEventHandler eventHandler); -

      + void registerEventHandler(MusicContentCenterEventHandler eventHandler); +

      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      +

      Parameters - - eventHandler - eventDelegate - Callback events to be registered.See . If you want to remove a callback event that is registered, pass in . - -
      + + eventHandler + eventDelegate + Callback events to be registered.See . If you want to remove a callback event that is registered, pass in . + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    278. 0: Success.
    279. +
    280. < 0: Failure.
    281. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_release.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_release.dita index fae3d50bf0f..a0093056750 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_release.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_release.dita @@ -1,36 +1,39 @@ - <ph keyref="release_IMusicContentCenter" /> - Releases all the reousrces used by the music content center. Destroys the instance. + <ph keyref="release_IMusicContentCenter"/> + Releases all the reousrces + used by the music content center. Destroys the instance. - +

      - protected abstract void release(); - - virtual void release() = 0; - abstract release(): void; - - abstract release(): void; - Future<void> release(); -

      + protected abstract void release(); + + virtual void release() = 0; + abstract release(): void; + + abstract release(): void; + Future<void> release(); +

      Details
      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      Make sure you have called the method in the class before calling this method.

      +

      Make sure you have called the method in the class before calling this method.

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita index bb54b2ef11f..8dbd613ed85 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_removecache.dita @@ -1,51 +1,53 @@ - <ph keyref="removeCache" /> + <ph keyref="removeCache"/> 删除已缓存的音乐资源。 - +

      - public abstract int removeCache(long songCode); - - (NSInteger)removeCacheWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(removeCache(songCode:)); - virtual int removeCache(int64_t songCode) = 0; - abstract removeCache(songCode: number): number; - public abstract int RemoveCache(Int64 songCode); - abstract removeCache(songCode: number): number; - Future<void> removeCache(int songCode);

      + public abstract int removeCache(long songCode); + - (NSInteger)removeCacheWithSongCode:(NSInteger)songCode NS_SWIFT_NAME(removeCache(songCode:)); + virtual int removeCache(int64_t songCode) = 0; + abstract removeCache(songCode: number): number; + public abstract int RemoveCache(Int64 songCode); + abstract removeCache(songCode: number): number; + Future<void> removeCache(int songCode); +

      Details
      - -
      Since
      -
      v4.2.0
      -
      + +
      Since
      +
      v4.2.0
      +
      -

      你可以调用该方法删除某一已缓存的音乐资源,如需删除多个音乐资源,你可以多次调用该方法。 - - The cached media file currently being played will not be deleted.

      +

      你可以调用该方法删除某一已缓存的音乐资源,如需删除多个音乐资源,你可以多次调用该方法。 The cached media file + currently being played will not be deleted.

      Parameters - - songCode - 待删除的音乐资源的编号。 - -
      + + songCode + 待删除的音乐资源的编号。 + + +
      Returns
        -
      • 0: 方法调用成功,音乐资源已删除。
      • -
      • < 0: Failure.
      • -
      +
    282. 0: 方法调用成功,音乐资源已删除。
    283. +
    284. < 0: Failure.
    285. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita index f3756e9878f..ef860b20de6 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_renewtoken.dita @@ -1,23 +1,23 @@ - <ph keyref="renewToken_IMusicContentCenter" /> + <ph keyref="renewToken_IMusicContentCenter"/> Renews the token. - +

      - public abstract int renewToken(String token); - - (NSInteger)renewToken:(NSString * _Nonnull)token; - virtual int renewToken(const char* token) = 0; - abstract renewToken(token: string): number; - public override int RenewToken(string token) + public abstract int renewToken(String token); + - (NSInteger)renewToken:(NSString * _Nonnull)token; + virtual int renewToken(const char* token) = 0; + abstract renewToken(token: string): number; + public override int RenewToken(string token) { if (_rtcEngineInstance == null || _musicContentCenterImpl == null) { @@ -25,32 +25,35 @@ } return _musicContentCenterImpl.RenewToken(token); } - abstract renewToken(token: string): number; - Future<void> renewToken(String token); -

      + abstract renewToken(token: string): number; + Future<void> renewToken(String token); +

      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      You can call this method to pass in a new Token if your Token expires or is to be expired.

      +

      You can call this method to pass in a new Token if your Token expires or is to be + expired.

      Parameters - - token - The new token. - -
      + + token + The new token. + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    286. 0: Success.
    287. +
    288. < 0: Failure.
    289. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic.dita index c2fc32ca079..efc83e549e8 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic.dita @@ -1,85 +1,89 @@ - <ph keyref="searchMusic" /> + <ph keyref="searchMusic"/> Searches music. - +

      - public String searchMusic(String keyword, int page, int pageSize) { + public String searchMusic(String keyword, int page, int pageSize) { return searchMusic(keyword, page, pageSize, null); } - - (NSString *)searchMusicWithKeyWord:(NSString *)keyWord page:(NSInteger)page pageSize:(NSInteger)pageSize jsonOption:(NSString * _Nullable)jsonOption NS_SWIFT_NAME(searchMusic(keyWord:page:pageSize:jsonOption:)); - virtual int searchMusic(agora::util::AString& requestId, const char* keyWord, int32_t page, int32_t pageSize, const char* jsonOption = nullptr) = 0; - abstract searchMusic( + - (NSString *)searchMusicWithKeyWord:(NSString *)keyWord page:(NSInteger)page pageSize:(NSInteger)pageSize jsonOption:(NSString * _Nullable)jsonOption NS_SWIFT_NAME(searchMusic(keyWord:page:pageSize:jsonOption:)); + virtual int searchMusic(agora::util::AString& requestId, const char* keyWord, int32_t page, int32_t pageSize, const char* jsonOption = nullptr) = 0; + abstract searchMusic( requestId: string, keyWord: string, page: number, pageSize: number, jsonOption?: string ): number; - public abstract int SearchMusic(ref string requestId, string keyWord, int page, int pageSize, string jsonOption = ""); - abstract searchMusic( + public abstract int SearchMusic(ref string requestId, string keyWord, int page, int pageSize, string jsonOption = ""); + abstract searchMusic( requestId: string, keyWord: string, page: number, pageSize: number, jsonOption?: string ): number; - Future<String> searchMusic( + Future<String> searchMusic( {required String keyWord, required int page, required int pageSize, String? jsonOption}); -

      +

      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      After calling this method successfully, the SDK triggers the callback to report the list of search results.

      +

      After calling this method successfully, the SDK triggers the callback + to report the list of search + results.

      Parameters - - keyword - 搜索关键词,支持歌曲名、歌手搜索。 - - - page - The page number of the searched music. - - - pageSize - The number of music displayed on each page. The maximum value is 50. - - - jsonOption - The json field. The default value is . - - - - - -
      + + keyword + 搜索关键词,支持歌曲名、歌手搜索。 + + + page + The page number of the searched music. + + + pageSize + The number of music displayed on each page. The maximum value is 50. + + + jsonOption + The json field. The default value is . + + + + + + +
      - Returns + Returns
      • 0: Success.
      • < 0: Failure.
      -

      A requestId, which is a unique identifier of this request.

      -
      +

      A requestId, which is a unique + identifier of this request.

      +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita index 23cac867329..bfad3bddb87 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_searchmusic2.dita @@ -1,59 +1,61 @@ - <ph keyref="searchMusic2" /> + <ph keyref="searchMusic2"/> Searches music. - +

      - public abstract String searchMusic(String keyword, int page, int pageSize, String jsonOption); - - - - - - -

      + public abstract String searchMusic(String keyword, int page, int pageSize, String jsonOption); + + + + + + +

      - Details
      - -
      Since
      -
      v4.1.0
      -
      + Details +
      + +
      Since
      +
      v4.1.0
      +
      -

      +

      Parameters - - - - + + + + - - + + - - + + + + + jsonOption + The json field. The default value is . - - jsonOption - The json field. The default value is . - -
      + +
      Returns

      A requestId, which is a unique identifier of this request.

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita index 0d16216c7c9..db4ce652e1a 100644 --- a/en-US/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_imusiccontentcenter_unregistereventhandler.dita @@ -1,41 +1,42 @@ - <ph keyref="unregisterEventHandler_IMusicContentCenter" /> + <ph keyref="unregisterEventHandler_IMusicContentCenter"/> 取消注册音乐内容中心事件回调。 - +

      - public abstract int unregisterEventHandler(); - - virtual int unregisterEventHandler() = 0; - abstract unregisterEventHandler(): number; - public abstract int UnregisterEventHandler(); - abstract unregisterEventHandler(): number; - void unregisterEventHandler(); -

      + public abstract int unregisterEventHandler(); + + virtual int unregisterEventHandler() = 0; + abstract unregisterEventHandler(): number; + public abstract int UnregisterEventHandler(); + abstract unregisterEventHandler(): number; + void unregisterEventHandler(); +

      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      +

      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    290. 0: Success.
    291. +
    292. < 0: Failure.
    293. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusicontentcenter_preload.dita b/en-US/dita/RTC-NG/API/api_imusicontentcenter_preload.dita index 945bcda988f..568f52e3e09 100644 --- a/en-US/dita/RTC-NG/API/api_imusicontentcenter_preload.dita +++ b/en-US/dita/RTC-NG/API/api_imusicontentcenter_preload.dita @@ -1,67 +1,78 @@ - <ph keyref="preload" /> + <ph keyref="preload"/> Preloads music. - +

      - public abstract int preload(long songCode, String jsonOption); - - (NSInteger)preloadWithSongCode:(NSInteger)songCode jsonOption:(NSString* _Nullable)jsonOption NS_SWIFT_NAME(preload(songCode:jsonOption:)); - virtual int preload(int64_t songCode, const char* jsonOption = nullptr) = 0; - abstract preload(songCode: number, jsonOption?: string): number; - public abstract int Preload(Int64 songCode, string jsonOption = ""); - abstract preload(songCode: number, jsonOption?: string): number; - Future<void> preload({required int songCode, String? jsonOption}); -

      + public abstract int preload(long songCode, String jsonOption); + - (NSInteger)preloadWithSongCode:(NSInteger)songCode jsonOption:(NSString* _Nullable)jsonOption NS_SWIFT_NAME(preload(songCode:jsonOption:)); + virtual int preload(int64_t songCode, const char* jsonOption = nullptr) = 0; + abstract preload(songCode: number, jsonOption?: string): number; + public abstract int Preload(Int64 songCode, string jsonOption = ""); + abstract preload(songCode: number, jsonOption?: string): number; + Future<void> preload({required int songCode, String? jsonOption}); +

      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      -

      You can call this method to preload music that you want to play. After calling this method successfully, the SDK triggers the callback to report preloading events.

      -

      Before calling this method to preload music, you need to call or method and obtain the songCode of the music through the callback that triggered.

      - 如需销毁 对象,请在收到 回调后,再调用 方法。 +

      You can call this method to preload music that you want to play. After calling this + method successfully, the SDK triggers the callback to report preloading + events.

      +

      Before calling this method to preload music, you need to call or + method and obtain the songCode of the music through the callback that triggered.

      + 如需销毁 对象,请在收到 回调后,再调用 方法。
      Parameters - - - - - - jsonOption - -

      扩展 JSON 字段。

      -

      Agora 会根据你在场景字段(sceneType)传入的应用场景进行收费。 不同的应用场景对应不同的费率,你可以参考 查看详细的计费。

      -

      -

        -
      • 1:直播场景:K 歌及背景音乐播放。
      • -
      • 2:直播场景:背景音乐播放。
      • -
      • 3:(默认)语聊场景:K 歌。
      • -
      • 4:语聊场景:背景音乐播放。
      • -
      • 5:VR 场景:K 歌及背景音乐播放。
      • -
      如果需要切换到不同场景,需要重新调用此方法并在该字段中传入 sceneType 的值。

      -

      示例:{"sceneType":1}

      -
      -
      -
      + + + + + + jsonOption + +

      扩展 JSON 字段。

      +

      Agora 会根据你在场景字段(sceneType)传入的应用场景进行收费。 + 不同的应用场景对应不同的费率,你可以参考 查看详细的计费。

      +

      +

        +
      • 1:直播场景:K 歌及背景音乐播放。
      • +
      • 2:直播场景:背景音乐播放。
      • +
      • 3:(默认)语聊场景:K 歌。
      • +
      • 4:语聊场景:背景音乐播放。
      • +
      • 5:VR 场景:K 歌及背景音乐播放。
      • +
      如果需要切换到不同场景,需要重新调用此方法并在该字段中传入 sceneType + 的值。

      +

      示例:{"sceneType":1}

      +
      +
      + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    294. 0: Success.
    295. +
    296. < 0: Failure.
    297. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusicplayer_getplaysrc.dita b/en-US/dita/RTC-NG/API/api_imusicplayer_getplaysrc.dita index a02f4ec2e2c..e98b4050a17 100644 --- a/en-US/dita/RTC-NG/API/api_imusicplayer_getplaysrc.dita +++ b/en-US/dita/RTC-NG/API/api_imusicplayer_getplaysrc.dita @@ -1,42 +1,47 @@ - <ph keyref="getPlaySrc" /> + <ph keyref="getPlaySrc"/> 获取当前播放的音乐资源的编号或 URL。 - +

      - @Override String getPlaySrc(); - - - - - -

      + @Override String getPlaySrc(); + + + + + + +

      Details
      - -
      Since
      -
      v4.2.0
      -
      + +
      Since
      +
      v4.2.0
      +
      -

      该方法需要在打开音乐资源之后调用: -

      • 如果你调用 方法打开了音乐资源,则此方法返回的是该音乐资源的编号(songCode)。
      • -
      • 如果你调用 方法打开了音乐资源,则返回的是该音乐资源的 URL。

      +

      该方法需要在打开音乐资源之后调用:

        +
      • 如果你调用 + 方法打开了音乐资源,则此方法返回的是该音乐资源的编号(songCode)。
      • +
      • 如果你调用 方法打开了音乐资源,则返回的是该音乐资源的 URL。
      • +

      Returns -

      • 方法调用成功,返回音乐资源的编号或 URL。
      • -
      • If the call fails, returns .

      +

        +
      • 方法调用成功,返回音乐资源的编号或 URL。
      • +
      • If the call fails, returns .
      • +

      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusicplayer_open.dita b/en-US/dita/RTC-NG/API/api_imusicplayer_open.dita index 67ddcd9d2ba..18a26424502 100644 --- a/en-US/dita/RTC-NG/API/api_imusicplayer_open.dita +++ b/en-US/dita/RTC-NG/API/api_imusicplayer_open.dita @@ -1,57 +1,66 @@ - <ph keyref="open_IMusicPlayer" /> + <ph keyref="open_IMusicPlayer"/> 通过音乐资源编号打开音乐资源。 - +

      - int open(long songCode, long startPos); - - (NSInteger)openMediaWithSongCode:(NSInteger)songCode startPos:(NSInteger)startPos NS_SWIFT_NAME(openMedia(songCode:startPos:)); - virtual int open(int64_t songCode, int64_t startPos = 0) = 0; - abstract openWithSongCode(songCode: number, startPos?: number): number; - public abstract int Open(Int64 songCode, Int64 startPos); - abstract openWithSongCode(songCode: number, startPos?: number): number; - Future<void> openWithSongCode({required int songCode, int startPos = 0}); -

      + int open(long songCode, long startPos); + - (NSInteger)openMediaWithSongCode:(NSInteger)songCode startPos:(NSInteger)startPos NS_SWIFT_NAME(openMedia(songCode:startPos:)); + virtual int open(int64_t songCode, int64_t startPos = 0) = 0; + abstract openWithSongCode(songCode: number, startPos?: number): number; + public abstract int Open(Int64 songCode, Int64 startPos); + abstract openWithSongCode(songCode: number, startPos?: number): number; + Future<void> openWithSongCode({required int songCode, int startPos = 0}); +

      Details
      - -
      Since
      -
      v4.1.0
      -
      + +
      Since
      +
      v4.1.0
      +
      - If the music you want to open is protected by Digital Rights Management(DRM), you need to call this method to open the music. For music that are not DRM protected, you can either call this method or method for opening. -

      Before calling this method, make sure the music you want to play has been preloaded. 你可以调用 方法来检测音乐资源是否已被预加载,或通过 回调得知。

      -

      + If the music you want to open is protected by Digital Rights + Management(DRM), you need to call this method to open the music. For music that are + not DRM protected, you can either call this method or method for opening. +

      Before calling this method, make sure the music you want to play has been preloaded. + 你可以调用 方法来检测音乐资源是否已被预加载,或通过 回调得知。

      +

      Parameters - - songCode - The code of the music, which is an unique identifier of the music. - - - startPos - The starting position (ms) for playback. Default value is 0. - -
      + + songCode + The code of the music, which is an unique identifier of the music. + + + startPos + The starting position (ms) for playback. Default value is 0. + + +
      - <ph keyref="return-section-title" /> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown; you need to catch the exception and handle it accordingly.

      + <ph keyref="return-section-title"/> +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown; you need to catch the + exception and handle it accordingly.

        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    298. 0: Success.
    299. +
    300. < 0: Failure.
    301. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusicplayer_open2.dita b/en-US/dita/RTC-NG/API/api_imusicplayer_open2.dita index 70bc123e4d4..e34a129d42c 100644 --- a/en-US/dita/RTC-NG/API/api_imusicplayer_open2.dita +++ b/en-US/dita/RTC-NG/API/api_imusicplayer_open2.dita @@ -1,53 +1,56 @@ - <ph keyref="open2_IMusicPlayer" /> + <ph keyref="open2_IMusicPlayer"/> 通过 URL 打开音乐资源。 - +

      - @Override int open(String url, long startPos); - - - - - -

      + @Override int open(String url, long startPos); + + + + + + +

      Details
      - -
      Since
      -
      v4.2.0
      -
      + +
      Since
      +
      v4.2.0
      +
      - -

      + +

      Parameters - - url - 音乐资源的路径,支持本地和在线文件。 - - - - - -
      + + url + 音乐资源的路径,支持本地和在线文件。 + + + + + + +
      Returns
        -
      • 0: Success.
      • -
      • < 0: Failure.
      • -
      +
    302. 0: Success.
    303. +
    304. < 0: Failure.
    305. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_imusicplayer_stop.dita b/en-US/dita/RTC-NG/API/api_imusicplayer_stop.dita index 25f48767dc8..2baa866c31e 100644 --- a/en-US/dita/RTC-NG/API/api_imusicplayer_stop.dita +++ b/en-US/dita/RTC-NG/API/api_imusicplayer_stop.dita @@ -1,33 +1,34 @@ - <ph keyref="stop_IMusicPlayer" /> + <ph keyref="stop_IMusicPlayer"/> 停止播放音乐资源。 - +

      - @Override int stop(); - - - - - -

      + @Override int stop(); + + + + + + +

      Details
      - -
      Since
      -
      v4.2.0
      -
      + +
      Since
      +
      v4.2.0
      +
      @@ -38,4 +39,4 @@
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_addextension.dita b/en-US/dita/RTC-NG/API/api_irtcengine_addextension.dita index 6aa7973956f..6c4a7df5cc0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_addextension.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_addextension.dita @@ -1,36 +1,37 @@ - <ph keyref="addExtension" /> + <ph keyref="addExtension"/> Adds the extension. - +

      - public void addExtension(String providerName) { + public void addExtension(String providerName) { mExtensionList.add(providerName); } - - - - - - -

      + + + + + + +

      Parameters - - providerName - The name of the extension to add. - -
      + + providerName + The name of the extension to add. + + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_addhandler.dita b/en-US/dita/RTC-NG/API/api_irtcengine_addhandler.dita index 17e99645adc..6936846769e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_addhandler.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_addhandler.dita @@ -13,42 +13,56 @@

      - public void addHandler(IRtcEngineEventHandler handler) { + public void addHandler(IRtcEngineEventHandler handler) { mInstance.addHandler(handler); } - - - abstract registerEventHandler(eventHandler: IRtcEngineEventHandler): boolean; - public abstract int InitEventHandler(IRtcEngineEventHandler engineEventHandler); - abstract registerEventHandler(eventHandler: IRtcEngineEventHandler): boolean; - void registerEventHandler(RtcEngineEventHandler eventHandler); -

      + + + abstract registerEventHandler(eventHandler: IRtcEngineEventHandler): boolean; + public abstract int InitEventHandler(IRtcEngineEventHandler engineEventHandler); + abstract registerEventHandler(eventHandler: IRtcEngineEventHandler): boolean; + void registerEventHandler(RtcEngineEventHandler eventHandler); +

      Details -

      The SDK uses the class to send callbacks to the app. The app inherits the methods of this class to receive these callbacks. All methods in this class have default (empty) implementations. Therefore, apps only need to inherits callbacks according to the scenarios. In the callbacks, avoid time-consuming tasks or calling APIs that can block the thread, such as the method. Otherwise, the SDK may not work properly.

      +

      The SDK uses the class to send callbacks to + the app. The app inherits the methods of this class to receive these callbacks. All + methods in this class have default (empty) implementations. Therefore, apps only + need to inherits callbacks according to the scenarios. In the callbacks, avoid + time-consuming tasks or calling APIs that can block the thread, such as the method. Otherwise, the SDK may not work + properly.

      Parameters - - handler - engineEventHandler - eventHandler - Callback events to be added. See . - -
      + + handler + engineEventHandler + eventHandler + Callback events to be added. See . + + +
      - <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      + <ph keyref="return-section-title"/> +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
        -
      • : Success.
      • -
      • : Failure. See for details and resolution suggestions.
      • +
      • : Success.
      • +
      • : Failure. See for details and resolution + suggestions.
      -
      +
      diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_addinjectstreamurl.dita b/en-US/dita/RTC-NG/API/api_irtcengine_addinjectstreamurl.dita index cf813f497dd..d16574fd788 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_addinjectstreamurl.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_addinjectstreamurl.dita @@ -1,68 +1,100 @@ - <ph keyref="addInjectStreamUrl" /> - Injects an online media stream to a live streaming channel. + <ph keyref="addInjectStreamUrl"/> + Injects an online media stream to a live streaming + channel. - +

      - public abstract int addInjectStreamUrl(String url, LiveInjectStreamConfig config); - - (int)addInjectStreamUrl:(NSString* _Nonnull)url config:(AgoraLiveInjectStreamConfig* _Nonnull)config; - virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; - abstract addInjectStreamUrl(url: string, config: InjectStreamConfig): number; - public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); - - Future<void> addInjectStreamUrl( + public abstract int addInjectStreamUrl(String url, LiveInjectStreamConfig config); + - (int)addInjectStreamUrl:(NSString* _Nonnull)url config:(AgoraLiveInjectStreamConfig* _Nonnull)config; + virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; + abstract addInjectStreamUrl(url: string, config: InjectStreamConfig): number; + public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); + + Future<void> addInjectStreamUrl( {required String url, required InjectStreamConfig config}); -

      +

      Details - Agora will soon stop the service for injecting online media streams on the client. If you have not integrated this feature, Agora recommends that you do not use it. For details, see Service Sunset Plans. + Agora will soon stop the service + for injecting online media streams on the client. If you have not integrated this + feature, Agora recommends that you do not use it. For details, see Service Sunset Plans. -
        -
      • Ensure that you enable the Media Push service before using this function. See Prerequisites in Media Push.
      • -
      • This method takes effect only when you are a host in a live streaming channel.
      • -
      • Only one online media stream can be injected into the same channel at the same time.
      • -
      • Call this method after joining a channel.
      • -
      -

      This method injects the currently playing audio and video as audio and video sources into the ongoing live broadcast. This applies to scenarios where all users in the channel can watch a live show and interact with each other. After calling this method, the SDK triggers the callback on the local client to report the state of injecting the online media stream; after successfully injecting the media stream, the stream joins the channel, and all users in the channel receive the callback, where uid is 666.

      +
        +
      • Ensure that you enable the Media Push service before using this function. + See Prerequisites in Media + Push.
      • +
      • This method takes effect only when you are a host in a live streaming + channel.
      • +
      • Only one online media stream can be injected into the same channel at the + same time.
      • +
      • Call this method after joining a channel.
      • +
      + +

      This method injects the currently playing audio and video as audio and video sources + into the ongoing live broadcast. This applies to scenarios where all users in the + channel can watch a live show and interact with each other. After calling this + method, the SDK triggers the callback on the + local client to report the state of injecting the online media stream; after + successfully injecting the media stream, the stream joins the channel, and all users + in the channel receive the callback, where + uid is 666.

      Parameters - - url - -

      The URL address to be added to the ongoing streaming. Valid protocols are RTMP, HLS, and HTTP-FLV.

        -
      • Supported audio codec type: AAC.
      • -
      • Supported video codec type: H264 (AVC).
      • -

      -
      -
      - - config - The configuration information for the added video stream. See . - -
      + + url + +

      The URL address to be added to the ongoing streaming. Valid protocols are + RTMP, HLS, and HTTP-FLV.

        +
      • Supported audio codec type: AAC.
      • +
      • Supported video codec type: H264 (AVC).
      • +
      +

      +
      +
      + + config + The configuration information for the added video stream. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure.
          -
        • ERR_INVALID_ARGUMENT (-2): The injected URL does not exist. Call this method again to inject the stream and ensure that the URL is valid.
        • -
        • ERR_NOT_READY (-3): The user is not in the channel.
        • -
        • ERR_NOT_SUPPORTED (-4): The channel profile is not live broadcasting. Call and set the channel profile live broadcasting before calling this method.
        • -
        • ERR_NOT_INITIALIZED (-7): The SDK is not initialized. Ensure that the object is initialized before using this method.
        • -
      • -
      +
    306. 0: Success.
    307. +
    308. < 0: Failure.
        +
      • ERR_INVALID_ARGUMENT (-2): The injected URL does not + exist. Call this method again to inject the stream and ensure that the + URL is valid.
      • +
      • ERR_NOT_READY (-3): The user is not in the + channel.
      • +
      • ERR_NOT_SUPPORTED (-4): The channel profile is not live + broadcasting. Call and set the channel + profile live broadcasting before calling this method.
      • +
      • ERR_NOT_INITIALIZED (-7): The SDK is not initialized. + Ensure that the object is initialized before + using this method.
      • +
      +
    309. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_addlistener.dita b/en-US/dita/RTC-NG/API/api_irtcengine_addlistener.dita index 028041b353b..bf14e15b2c9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_addlistener.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_addlistener.dita @@ -2,7 +2,8 @@ <ph keyref="addListener"/> - Adds one listener. + Adds one + listener. @@ -13,36 +14,43 @@

      - - - - addListener?<EventType extends keyof IRtcEngineEvent>( + + + + addListener?<EventType extends keyof IRtcEngineEvent>( eventType: EventType, listener: IRtcEngineEvent[EventType] ): void; - - addListener?<EventType extends keyof IRtcEngineEvent>( + + addListener?<EventType extends keyof IRtcEngineEvent>( eventType: EventType, listener: IRtcEngineEvent[EventType] ): void; -

      +

      Details -

      After calling this method, you can listen for the corresponding events in the object and obtain data through . Depending on your project needs, you can add multiple listeners for the same event.

      +

      After calling this method, you can listen for the corresponding events in the object and obtain data through . Depending on your project needs, you can add + multiple listeners for the same event.

      Parameters - - eventType - The name of the target event to listen for. See . - - - listener - The callback function for eventType. Take adding a listener for as an example:const onJoinChannelSuccess = (connection: RtcConnection, elapsed: number) => {}; + + eventType + The name of the target event to listen for. See . + + + listener + The callback function for eventType. Take adding a + listener for as an + example:const onJoinChannelSuccess = (connection: RtcConnection, elapsed: number) => {}; engine.addListener('onJoinChannelSuccess', onJoinChannelSuccess); - -
      + + +
      diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_addpublishstreamurl.dita b/en-US/dita/RTC-NG/API/api_irtcengine_addpublishstreamurl.dita index 8e3019ba07a..e4ad9d11378 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_addpublishstreamurl.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_addpublishstreamurl.dita @@ -1,74 +1,105 @@ - <ph keyref="addPublishStreamUrl" /> - Publishes the local stream to a specified CDN live streaming URL. + + <ph keyref="addPublishStreamUrl"/> + + Publishes the local stream to a specified CDN live + streaming URL. - +

      - public abstract int addPublishStreamUrl(String url, boolean transcodingEnabled); - - (int)addPublishStreamUrl:(NSString* _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled; - virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0; - abstract addPublishStreamUrl(url: string, transcodingEnabled: boolean): number; - public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); - abstract addPublishStreamUrl( + public abstract int addPublishStreamUrl(String url, boolean transcodingEnabled); + - (int)addPublishStreamUrl:(NSString* _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled; + virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0; + abstract addPublishStreamUrl(url: string, transcodingEnabled: boolean): number; + public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); + abstract addPublishStreamUrl( url: string, transcodingEnabled: boolean ): number; - Future<void> addPublishStreamUrl( + Future<void> addPublishStreamUrl( {required String url, required bool transcodingEnabled}); -

      +

      Details
      - -
      Deprecated:
      -
      This method is deprecated. Use or instead according to your needs.
      -
      + +
      Deprecated:
      +
      This method is deprecated. Use or instead according to your + needs.
      +
      -

      After calling this method, you can push media streams in RTMP or RTMPS protocol to the CDN. The SDK triggers the callback on the local client to report the state of adding a local stream to the CDN.

      +

      After calling this method, you can push media streams in RTMP or RTMPS protocol to + the CDN. The SDK triggers the callback + on the local client to report the state of adding a local stream to the CDN.

      -
        -
      • Call this method after joining a channel.
      • -
      • Ensure that the Media Push function is enabled. For details, see the prerequisites in Media Push.
      • -
      • This method takes effect only when you are a host in live interactive streaming.
      • -
      • This method adds only one streaming URL to the CDN each time it is called. To push multiple URLs, call this method multiple times.
      • -
      +
        +
      • Call this method after joining a channel.
      • +
      • Ensure that the Media Push function is enabled. For details, see the prerequisites in Media Push.
      • +
      • This method takes effect only when you are a host in live interactive + streaming.
      • +
      • This method adds only one streaming URL to the CDN each time it is called. + To push multiple URLs, call this method multiple times.
      • +
      + +
      Parameters - - url - The Media Push URL in the RTMP or RTMPS format. The maximum length of this parameter is 1024 bytes. The URL address must not contain special characters, such as Chinese language characters. - - - transcodingEnabled - -

      Whether to enable transcoding. Transcoding in a CDN live streaming converts the audio and video streams before pushing them to the CDN server. It applies to scenarios where a channel has multiple broadcasters and composite layout is needed.

        -
      • : Enable transcoding.
      • -
      • : Disable transcoding.
      • -

      - If you set this parameter as , ensure that you call the method before calling this method.
      -
      -
      + + url + The Media Push URL in the RTMP or RTMPS format. The maximum length of this + parameter is 1024 bytes. The URL address must not contain special + characters, such as Chinese language characters. + + + transcodingEnabled + +

      Whether to enable transcoding. Transcoding in a CDN live streaming + converts the audio and video streams before pushing them to the CDN + server. It applies to scenarios where a channel has multiple + broadcasters and composite layout is needed.

        +
      • : Enable transcoding.
      • +
      • : Disable transcoding.
      • +

      + If you set this parameter as , ensure that you call the method before calling this + method. +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • - < 0: Failure. See for details and resolution suggestions.
          -
        • -2: Invalid parameter, usually an empty URL or a string with a length of 0.
        • -
        • -7: The engine is not initialized when streaming.
        • -
      • -
      +
    310. 0: Success.
    311. +
    312. < 0: Failure. See for + details and resolution suggestions.
        +
      • -2: Invalid parameter, usually an empty URL or a string with a length of + 0.
      • +
      • -7: The engine is not initialized when streaming.
      • +
      +
    313. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_addvideowatermark.dita b/en-US/dita/RTC-NG/API/api_irtcengine_addvideowatermark.dita index ecaeaab738d..80cfa85ab7a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_addvideowatermark.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_addvideowatermark.dita @@ -1,59 +1,84 @@ - <ph keyref="addVideoWatermark1" /> - Adds a watermark image to the local video. + + <ph keyref="addVideoWatermark1"/> + + Adds a watermark image to the local + video. - +

      - public abstract int addVideoWatermark(AgoraImage watermark); - - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark - virtual int addVideoWatermark(const RtcImage& watermark) = 0; - abstract addVideoWatermark(watermarkUrl: string, options: WatermarkOptions): number; - public abstract int AddVideoWatermark(RtcImage watermark); - abstract addVideoWatermark( + public abstract int addVideoWatermark(AgoraImage watermark); + - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark + virtual int addVideoWatermark(const RtcImage& watermark) = 0; + abstract addVideoWatermark(watermarkUrl: string, options: WatermarkOptions): number; + public abstract int AddVideoWatermark(RtcImage watermark); + abstract addVideoWatermark( watermarkUrl: string, options: WatermarkOptions ): number; - Future<void> addVideoWatermark(RtcImage watermark); -

      + Future<void> addVideoWatermark(RtcImage watermark); +

      Details
      - -
      Deprecated:
      -
      This method is deprecated. Use instead.
      -
      + +
      Deprecated:
      +
      This method is deprecated. Use + instead.
      +
      -

      This method adds a PNG watermark image to the local video stream in a live streaming session. Once the watermark image is added, all the users in the channel (CDN audience included) and the video capturing device can see and capture it. If you only want to add a watermark to the CDN live streaming, see descriptions in .

      +

      This method adds a PNG watermark image to the local video stream in a live streaming + session. Once the watermark image is added, all the users in the channel (CDN + audience included) and the video capturing device can see and capture it. If you + only want to add a watermark to the CDN live streaming, see descriptions in .

      -
        -
      • The URL descriptions are different for the local video and CDN live streaming: In a local video stream, URL refers to the absolute path of the added watermark image file in the local video stream. In a CDN live stream, URL refers to the URL address of the added watermark image in the CDN live streaming.
      • -
      • The source file of the watermark image must be in the PNG file format. If the width and height of the PNG file differ from your settings in this method, the PNG file will be cropped to conform to your settings.
      • -
      • The Agora SDK supports adding only one watermark image onto a local video or CDN live stream. The newly added watermark image replaces the previous one.
      • -
      +
        +
      • The URL descriptions are different for the local video and CDN live + streaming: In a local video stream, URL refers to the absolute path of the + added watermark image file in the local video stream. In a CDN live stream, + URL refers to the URL address of the added watermark image in the CDN live + streaming.
      • +
      • The source file of the watermark image must be in the PNG file format. If + the width and height of the PNG file differ from your settings in this + method, the PNG file will be cropped to conform to your settings.
      • +
      • The Agora SDK supports adding only one watermark image onto a local video or + CDN live stream. The newly added watermark image replaces the previous + one.
      • +
      + +
      Parameters - - watermark - The watermark image to be added to the local live streaming: . - -
      + + watermark + The watermark image to be added to the local live streaming: . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    314. 0: Success.
    315. +
    316. < 0: Failure. See for details + and resolution suggestions.
    317. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_addvideowatermark2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_addvideowatermark2.dita index 1f9dea8c8ef..ba7edc8cfe1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_addvideowatermark2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_addvideowatermark2.dita @@ -2,7 +2,8 @@ <ph keyref="addVideoWatermark2"/> - Adds a watermark image to the local video. + Adds a watermark image to the local + video. @@ -13,93 +14,129 @@

      - public abstract int addVideoWatermark(String watermarkUrl, WatermarkOptions options); - - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options; - virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int addVideoWatermark(String watermarkUrl, WatermarkOptions options); + - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options; + virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int AddVideoWatermark(FString watermarkUrl, const FWatermarkOptions& options); - abstract addVideoWatermark( + abstract addVideoWatermark( watermarkUrl: string, options: WatermarkOptions ): number; - public abstract int AddVideoWatermark(string watermarkUrl, WatermarkOptions options); - abstract addVideoWatermark( + public abstract int AddVideoWatermark(string watermarkUrl, WatermarkOptions options); + abstract addVideoWatermark( watermarkUrl: string, options: WatermarkOptions ): number; - Future<void> addVideoWatermark( + Future<void> addVideoWatermark( {required String watermarkUrl, required WatermarkOptions options}); -

      +

      Details -

      This method adds a PNG watermark image to the local video in the live streaming. Once the watermark image is added, all the audience in the channel (CDN audience included), and the capturing device can see and capture it. The Agora SDK supports adding only one watermark image onto a local video or CDN live stream. The newly added watermark image replaces the previous one.

      -

      The watermark coordinates are dependent on the settings in the method:

        -
      • If the orientation mode of the encoding video () is fixed landscape mode or the adaptive landscape mode, the watermark uses the landscape orientation.
      • -
      • If the orientation mode of the encoding video () is fixed portrait mode or the adaptive portrait mode, the watermark uses the portrait orientation.
      • -
      • When setting the watermark position, the region must be less than the dimensions set in the method; otherwise, the watermark image will be cropped.
      • -

      +

      This method adds a PNG watermark image to the local video in the live + streaming. Once the watermark image is added, all the audience in the channel (CDN + audience included), and the capturing device can see and capture it. The Agora SDK + supports adding only one watermark image onto a local video or CDN live stream. The + newly added watermark image replaces the previous one.

      +

      The watermark coordinates are dependent on the settings in the method:

        +
      • If the orientation mode of the encoding video () is fixed landscape mode or the adaptive + landscape mode, the watermark uses the landscape orientation.
      • +
      • If the orientation mode of the encoding video () is fixed portrait mode or the adaptive + portrait mode, the watermark uses the portrait orientation.
      • +
      • When setting the watermark position, the region must be less than the + dimensions set in the + method; otherwise, the watermark image will be cropped.
      • +
      +

      -
        -
      • Ensure that calling this method after .
      • -
      • If you only want to add a watermark to the media push, you can call this method or the method.
      • -
      • This method supports adding a watermark image in the PNG file format only. Supported pixel formats of the PNG image are RGBA, RGB, Palette, Gray, and Alpha_gray.
      • -
      • If the dimensions of the PNG image differ from your settings in this method, the image will be cropped or zoomed to conform to your settings.
      • -
      • If you have enabled the mirror mode for the local video, the watermark on the local video is also mirrored. To avoid mirroring the watermark, Agora recommends that you do not use the mirror and watermark functions for the local video at the same time. You can implement the watermark function in your application layer.
      • -
      -

      You can control the visibility of the watermark during preview by setting the visibleInPreview parameter when calling this method. However, whether it ultimately takes effect also depends on the position parameter you set when calling (the position of the video frame in the video link). Refer to the table below for details. - - - - - - - Observation position - visibleInPreview value - Watermark visibility - - - - - (Default) - - Yes - - - - No - - - - - Yes - - - - Yes - - - -

      +
        +
      • Ensure that calling this method after .
      • +
      • If you only want to add a watermark to the media push, you can call this + method or the method.
      • +
      • This method supports adding a watermark image in the PNG file format only. + Supported pixel formats of the PNG image are RGBA, RGB, Palette, Gray, and + Alpha_gray.
      • +
      • If the dimensions of the PNG image differ from your settings in this method, + the image will be cropped or zoomed to conform to your settings.
      • +
      • If you have enabled the mirror mode for the local video, the watermark on + the local video is also mirrored. To avoid mirroring the watermark, Agora + recommends that you do not use the mirror and watermark functions for the + local video at the same time. You can implement the watermark function in + your application layer.
      • +
      + +

      You can control the visibility of the watermark during preview by + setting the visibleInPreview parameter when calling this method. + However, whether it ultimately takes effect also depends on the position parameter + you set when calling (the + position of the video frame in the video link). Refer to the table + below for details. + + + + + + + Observation position + visibleInPreview value + Watermark visibility + + + + + (Default) + + Yes + + + + No + + + + + Yes + + + + Yes + + + +

      +
      Parameters - - watermarkUrl - url - The local file path of the watermark image to be added. This method supports adding a watermark image from the local absolute or relative file path. - - - options - The options of the watermark image to be added. See . - -
      + + watermarkUrl + url + The local file path of the watermark image to be added. This method supports + adding a watermark image from the local absolute or relative file path. + + + options + The options of the watermark image to be added. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    318. 0: Success.
    319. +
    320. < 0: Failure. See for details + and resolution suggestions.
    321. + +
      diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita index a07bf4dfa8e..42c5451da6d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingplayoutvolume.dita @@ -1,46 +1,57 @@ - <ph keyref="adjustAudioMixingPlayoutVolume" /> - Adjusts the volume of audio mixing for local playback. + <ph keyref="adjustAudioMixingPlayoutVolume"/> + Adjusts the volume of audio mixing for local + playback. - +

      - public abstract int adjustAudioMixingPlayoutVolume(int volume); - - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume; - virtual int adjustAudioMixingPlayoutVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustAudioMixingPlayoutVolume(int volume); + - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume; + virtual int adjustAudioMixingPlayoutVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

      + abstract adjustAudioMixingPlayoutVolume(volume: number): number; + public abstract int AdjustAudioMixingPlayoutVolume(int volume); + abstract adjustAudioMixingPlayoutVolume(volume: number): number; + Future<void> adjustAudioMixingPlayoutVolume(int volume); +

      Details - Call this method after calling and receiving the () callback.
      + Call this method after calling + and receiving the () callback. +
      Parameters - - volume - The volume of audio mixing for local playback. The value ranges between 0 and 100 (default). 100 represents the original volume. - -
      + + volume + The volume of audio mixing for local playback. The value ranges between 0 + and 100 (default). 100 represents the original volume. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    322. 0: Success.
    323. +
    324. < 0: Failure. See for details + and resolution suggestions.
    325. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita index 341b628323c..ba8487742b5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingpublishvolume.dita @@ -1,49 +1,62 @@ - <ph keyref="adjustAudioMixingPublishVolume" /> - Adjusts the volume of audio mixing for publishing. + <ph keyref="adjustAudioMixingPublishVolume"/> + Adjusts the volume of audio mixing for + publishing. - +

      - public abstract int adjustAudioMixingPublishVolume(int volume); - - (int)adjustAudioMixingPublishVolume:(NSInteger)volume; - virtual int adjustAudioMixingPublishVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustAudioMixingPublishVolume(int volume); + - (int)adjustAudioMixingPublishVolume:(NSInteger)volume; + virtual int adjustAudioMixingPublishVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

      + abstract adjustAudioMixingPublishVolume(volume: number): number; + public abstract int AdjustAudioMixingPublishVolume(int volume); + abstract adjustAudioMixingPublishVolume(volume: number): number; + Future<void> adjustAudioMixingPublishVolume(int volume); +

      Details -

      This method adjusts the volume of audio mixing for publishing (sending to other users).

      +

      This method adjusts the volume of audio mixing for publishing (sending to other + users).

      -

      Call this method after calling and receiving the () callback.

      -
      +

      Call this method after calling and receiving the + () callback.

      + +
      Parameters - - volume - The volume of audio mixing for local playback. The value ranges between 0 and 100 (default). 100 represents the original volume. - -
      + + volume + The volume of audio mixing for local playback. The value ranges between 0 + and 100 (default). 100 represents the original volume. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    326. 0: Success.
    327. +
    328. < 0: Failure. See for details + and resolution suggestions.
    329. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita index 7771c61ad76..8226e278f7a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustaudiomixingvolume.dita @@ -2,7 +2,8 @@ <ph keyref="adjustAudioMixingVolume"/> - Adjusts the volume during audio mixing. + Adjusts the volume during audio + mixing. @@ -13,39 +14,50 @@

      - public abstract int adjustAudioMixingVolume(int volume); - - (int)adjustAudioMixingVolume:(NSInteger)volume; - virtual int adjustAudioMixingVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustAudioMixingVolume(int volume); + - (int)adjustAudioMixingVolume:(NSInteger)volume; + virtual int adjustAudioMixingVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

      + abstract adjustAudioMixingVolume(volume: number): number; + public abstract int AdjustAudioMixingVolume(int volume); + abstract adjustAudioMixingVolume(volume: number): number; + Future<void> adjustAudioMixingVolume(int volume); +

      Details -

      This method adjusts the audio mixing volume on both the local client and remote clients.

      +

      This method adjusts the audio mixing volume on both the local client and remote + clients.

      -
        -
      • Call this method after .
      • -
      • This method does not affect the playback volume you set through the method.
      • -
      +
        +
      • Call this method after .
      • +
      • This method does not affect the playback volume you + set through the method.
      • +
      + +
      Parameters - - volume - Audio mixing volume. The value ranges between 0 and 100. The default value is 100, which means the original volume. - -
      + + volume + Audio mixing volume. The value ranges between 0 and 100. The default value + is 100, which means the original volume. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    330. 0: Success.
    331. +
    332. < 0: Failure. See for details + and resolution suggestions.
    333. + +
      diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita index 6e2b8853d28..9d9124b61b5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudioplayoutvolume.dita @@ -1,60 +1,69 @@ - <ph keyref="adjustCustomAudioPlayoutVolume"/> - Adjusts the volume of the custom audio track played locally. + <ph keyref="adjustCustomAudioPlayoutVolume"/> + Adjusts the volume of the custom audio track played + locally. - +

      - 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|RtcEngineProxy") + 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|RtcEngineProxy") int AdjustCustomAudioPlayoutVolume(int64 trackId, int volume); - abstract adjustCustomAudioPlayoutVolume( + abstract adjustCustomAudioPlayoutVolume( trackId: number, volume: number ): number; - public abstract int AdjustCustomAudioPlayoutVolume(uint trackId, int volume); - abstract adjustCustomAudioPlayoutVolume( + public abstract int AdjustCustomAudioPlayoutVolume(uint trackId, int volume); + abstract adjustCustomAudioPlayoutVolume( trackId: number, volume: number ): number; - Future<void> adjustCustomAudioPlayoutVolume( + Future<void> adjustCustomAudioPlayoutVolume( {required int trackId, required int volume}); -

      +

      Details - Ensure you have called the method to create a custom audio track before calling this method. -

      If you want to change the volume of the audio to be played locally, you need to call this method again.

      + Ensure you have called the method to create a custom audio track before + calling this method. +

      If you want to change the volume of the audio to be played locally, you need to call + this method again.

      Parameters - - - - - - - - -
      + + + + + + + + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume 2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume 2.dita index 510378e719c..7653b50f0d3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume 2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume 2.dita @@ -2,36 +2,38 @@ adjustCustomAudioPublishVolume - + - +

      - - - - - - - - There are no corresponding names available

      + + + + + + + + There are no corresponding names available +

      Parameters - - - - -
      + + + + + +
      Returns
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita index 92640686b39..80680d5a732 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustcustomaudiopublishvolume.dita @@ -1,60 +1,70 @@ - <ph keyref="adjustCustomAudioPublishVolume" /> - Adjusts the volume of the custom audio track played remotely. + <ph keyref="adjustCustomAudioPublishVolume"/> + Adjusts the volume of the custom audio track played + remotely. - +

      - 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|RtcEngineProxy") + 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|RtcEngineProxy") int AdjustCustomAudioPublishVolume(int64 trackId, int volume); - abstract adjustCustomAudioPublishVolume( + abstract adjustCustomAudioPublishVolume( trackId: number, volume: number ): number; - public abstract int AdjustCustomAudioPublishVolume(uint trackId, int volume); - abstract adjustCustomAudioPublishVolume( + public abstract int AdjustCustomAudioPublishVolume(uint trackId, int volume); + abstract adjustCustomAudioPublishVolume( trackId: number, volume: number ): number; - Future<void> adjustCustomAudioPublishVolume( + Future<void> adjustCustomAudioPublishVolume( {required int trackId, required int volume}); -

      +

      Details - Ensure you have called the method to create a custom audio track before calling this method. -

      If you want to change the volume of the audio played remotely, you need to call this method again.

      + Ensure you have called the method to create a custom audio track before calling this method. +

      If you want to change the volume of the audio played remotely, you need to call this + method again.

      Parameters - - trackId - The audio track ID. Set this parameter to the custom audio track ID returned in . - - - volume - The volume of the audio source. The value can range from 0 to 100. 0 means mute; 100 means the original volume. - -
      + + trackId + The audio track ID. Set this parameter to the custom audio track ID returned + in . + + + volume + The volume of the audio source. The value can range from 0 to 100. 0 means + mute; 100 means the original volume. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita index 83b9a956983..65f7b3e4385 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustloopbacksignalvolume.dita @@ -1,48 +1,57 @@ - <ph keyref="adjustLoopbackSignalVolume" /> - Adjusts the volume of the signal captured by the sound card. + <ph keyref="adjustLoopbackSignalVolume"/> + Adjusts the volume of the signal captured by the sound + card. - +

      - - - (int)adjustLoopbackSignalVolume:(NSInteger)volume; - virtual int adjustLoopbackSignalVolume(int volume) = 0; + + - (int)adjustLoopbackSignalVolume:(NSInteger)volume; + virtual int adjustLoopbackSignalVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

      + abstract adjustLoopbackSignalVolume(volume: number): number; + public abstract int AdjustLoopbackSignalVolume(int volume); + abstract adjustLoopbackSignalVolume(volume: number): number; + Future<void> adjustLoopbackSignalVolume(int volume); +

      Details -

      After calling to enable loopback audio capturing, you can call this method to adjust the volume of the signal captured by the sound card.

      +

      After calling to enable loopback audio + capturing, you can call this method to adjust the volume of the signal captured by + the sound card.

      Parameters - - - - -
      + + + + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    334. 0: Success.
    335. +
    336. < 0: Failure. See for details + and resolution suggestions.
    337. + +
      diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustplaybacksignalvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustplaybacksignalvolume.dita index 3e1a28cc808..2e750fecea8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustplaybacksignalvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustplaybacksignalvolume.dita @@ -1,50 +1,60 @@ - <ph keyref="adjustPlaybackSignalVolume" /> - Adjusts the playback signal volume of all remote users. + <ph keyref="adjustPlaybackSignalVolume"/> + Adjusts the playback signal volume of all remote + users. - +

      - public abstract int adjustPlaybackSignalVolume(int volume); - - (int)adjustPlaybackSignalVolume:(NSInteger)volume; - virtual int adjustPlaybackSignalVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustPlaybackSignalVolume(int volume); + - (int)adjustPlaybackSignalVolume:(NSInteger)volume; + virtual int adjustPlaybackSignalVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

      + abstract adjustPlaybackSignalVolume(volume: number): number; + public abstract int AdjustPlaybackSignalVolume(int volume); + abstract adjustPlaybackSignalVolume(volume: number): number; + Future<void> adjustPlaybackSignalVolume(int volume); +

      Details -
        -
      • This method adjusts the playback volume that is the mixed volume of all remote users.
      • -
      • You can call this method either before or after joining a channel.
      • -
      +
        +
      • This method adjusts the playback volume that is the mixed volume of all + remote users.
      • +
      • You can call this method either before or after joining a channel.
      • +
      + +
      Parameters - - - - -
      + + + + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    338. 0: Success.
    339. +
    340. < 0: Failure. See for + details and resolution suggestions.
    341. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita index 39cc17ebe8b..c605c19e444 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustrecordingsignalvolume.dita @@ -1,54 +1,64 @@ - <ph keyref="adjustRecordingSignalVolume" /> + <ph keyref="adjustRecordingSignalVolume"/> Adjusts the capturing signal volume. - +

      - public abstract int adjustRecordingSignalVolume(int volume); - - (int)adjustRecordingSignalVolume:(NSInteger)volume; - virtual int adjustRecordingSignalVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustRecordingSignalVolume(int volume); + - (int)adjustRecordingSignalVolume:(NSInteger)volume; + virtual int adjustRecordingSignalVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int AdjustRecordingSignalVolume(int volume); - abstract adjustRecordingSignalVolume(volume: number): number; - public abstract int AdjustRecordingSignalVolume(int volume); - abstract adjustRecordingSignalVolume(volume: number): number; - Future<void> adjustRecordingSignalVolume(int volume); -

      + abstract adjustRecordingSignalVolume(volume: number): number; + public abstract int AdjustRecordingSignalVolume(int volume); + abstract adjustRecordingSignalVolume(volume: number): number; + Future<void> adjustRecordingSignalVolume(int volume); +

      Details -

      You can call this method either before or after joining a channel.

      -
      +

      You can call this method either before or after joining a channel.

      + +
      Parameters - - volume - -

      The volume of the user. The value range is [0,400].

        -
      • 0: Mute.If you only need to mute the audio signal, Agora recommends that you use instead.
      • -
      • 100: (Default) The original volume.
      • -
      • 400: Four times the original volume (amplifying the audio signals by four times).
      • -

      -
      -
      -
      + + volume + +

      The volume of the user. The value range is [0,400].

        +
      • 0: Mute.If you only need to mute the audio + signal, Agora recommends that you use instead.
      • +
      • 100: (Default) The original volume.
      • +
      • 400: Four times the original volume (amplifying the audio + signals by four times).
      • +

      +
      +
      + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    342. 0: Success.
    343. +
    344. < 0: Failure. See for details + and resolution suggestions.
    345. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita index 2c04fa497f6..6106adc425c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_adjustuserplaybacksignalvolume.dita @@ -1,56 +1,68 @@ - <ph keyref="adjustUserPlaybackSignalVolume" /> - Adjusts the playback signal volume of a specified remote user. + <ph keyref="adjustUserPlaybackSignalVolume"/> + Adjusts the playback signal volume of a specified + remote user. - +

      - public abstract int adjustUserPlaybackSignalVolume(int uid, int volume); - - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume; - virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int adjustUserPlaybackSignalVolume(int uid, int volume); + - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume; + virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int AdjustUserPlaybackSignalVolume(int uid, int volume); - 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( + 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}); -

      +

      Details -

      You can call this method to adjust the playback volume of a specified remote user. To adjust the playback volume of different remote users, call the method as many times, once for each remote user.

      +

      You can call this method to adjust the playback volume of a specified remote user. To + adjust the playback volume of different remote users, call the method as many times, + once for each remote user.

      -
        -
      • Call this method after joining a channel.
      • -
      • The playback volume here refers to the mixed volume of a specified remote user.
      • -
      +
        +
      • Call this method after joining a channel.
      • +
      • The playback volume here refers to the mixed volume of a specified remote + user.
      • +
      + +
      Parameters - - uid - The user ID of the remote user. - - - - - -
      + + uid + The user ID of the remote user. + + + + + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    346. 0: Success.
    347. +
    348. < 0: Failure. See for details + and resolution suggestions.
    349. + +
      diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_agorartcengine_on.dita b/en-US/dita/RTC-NG/API/api_irtcengine_agorartcengine_on.dita index 9d88179ac29..98693b99fba 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_agorartcengine_on.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_agorartcengine_on.dita @@ -1,6 +1,7 @@ - <ph keyref="IRtcEngine" /> callbacks - reports runtime events to the application. - \ No newline at end of file + <ph keyref="IRtcEngine"/> callbacks + reports runtime events to the + application. + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita b/en-US/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita index 3f9d3bd5bfa..bcd6bb2f3e6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_clearvideowatermarks.dita @@ -1,35 +1,41 @@ - <ph keyref="clearVideoWatermarks" /> - Removes the watermark image from the video stream. + <ph keyref="clearVideoWatermarks"/> + Removes the watermark image from the video + stream. - +

      - public abstract int clearVideoWatermarks(); - - (int)clearVideoWatermarks; - virtual int clearVideoWatermarks() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int clearVideoWatermarks(); + - (int)clearVideoWatermarks; + virtual int clearVideoWatermarks() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ClearVideoWatermarks(); - abstract clearVideoWatermarks(): number; - public abstract int ClearVideoWatermarks(); - abstract clearVideoWatermarks(): number; - Future<void> clearVideoWatermarks(); -

      + abstract clearVideoWatermarks(): number; + public abstract int ClearVideoWatermarks(); + abstract clearVideoWatermarks(): number; + Future<void> clearVideoWatermarks(); +

      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    350. 0: Success.
    351. +
    352. < 0: Failure. See for details + and resolution suggestions.
    353. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_complain.dita b/en-US/dita/RTC-NG/API/api_irtcengine_complain.dita index 604c872afa2..23838131136 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_complain.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_complain.dita @@ -2,7 +2,8 @@ <ph keyref="complain"/> - Allows a user to complain about the call quality after a call ends. + Allows a user to complain about the call quality after + a call ends. @@ -13,48 +14,61 @@

      - public abstract int complain(String callId, String description); - - (int)complain:(NSString * _Nonnull)callId + public abstract int complain(String callId, String description); + - (int)complain:(NSString * _Nonnull)callId description:(NSString * _Nullable)description; - virtual int complain(const char* callId, const char* description) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int complain(const char* callId, const char* description) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int Complain(FString callId, 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}); -

      + 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}); +

      Details -

      This method allows users to complain about the quality of the call. Call this method after the user leaves the channel.

      +

      This method allows users to complain about the quality of the call. Call this method + after the user leaves the channel.

      Parameters - - callId - The current call ID. You can get the call ID by calling . - - - description - (Optional) A description of the call. The string length should be less than 800 bytes. - -
      + + callId + The current call ID. You can get the call ID by calling . + + + description + (Optional) A description of + the call. The string length should be less than 800 bytes. + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
          -
        • -2: The parameter is invalid.
        • -
        • - 3: The SDK is not ready. Possible reasons include the following:
            -
          • The initialization of fails. Reinitialize the .
          • -
          • No user has joined the channel when the method is called. Please check your code logic.
          • -
          • The user has not left the channel when the or method is called. Please check your code logic.
          • -
          • The audio module is disabled. The program is not complete.
          • +
          • 0: Success.
          • +
          • < 0: Failure. See for details + and resolution suggestions.
              +
            • -2: The parameter is invalid.
            • +
            • - 3: The SDK is not ready. Possible reasons include the following:
                +
              • The initialization of fails. + Reinitialize the .
              • +
              • No user has joined the channel when the method is called. Please + check your code logic.
              • +
              • The user has not left the channel when the + or method is called. Please check your + code logic.
              • +
              • The audio module is disabled. The program is not complete.
            • -
          • -
      + + +
      diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita index 7502da81fbf..a94172964b7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_configrhythmplayer.dita @@ -13,36 +13,47 @@

      - public abstract int configRhythmPlayer(AgoraRhythmPlayerConfig config); - - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config; - virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int configRhythmPlayer(AgoraRhythmPlayerConfig config); + - (int)configRhythmPlayer:(AgoraRhythmPlayerConfig * _Nullable)config; + virtual int configRhythmPlayer(const AgoraRhythmPlayerConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

      + abstract configRhythmPlayer(config: AgoraRhythmPlayerConfig): number; + public abstract int ConfigRhythmPlayer(AgoraRhythmPlayerConfig config); + abstract configRhythmPlayer(config: AgoraRhythmPlayerConfig): number; + Future<void> configRhythmPlayer(AgoraRhythmPlayerConfig config); +

      Details -

      After calling , you can call this method to reconfigure the virtual metronome.

      -

      After successfully calling this method, the SDK triggers the callback locally to report the status of the virtual metronome.

      -
      +

      After calling , you can call this method to + reconfigure the virtual metronome.

      +

      After successfully calling this method, the SDK triggers the callback locally to report the status of + the virtual metronome.

      + +
      Parameters - - config - The metronome configuration. See . - -
      + + config + The metronome configuration. See . + + +
      <ph keyref="return-section-title"/> -

      When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

      +

      When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

        -
      • 0: Success.
      • -
      • < 0: Failure. See for details and resolution suggestions.
      • -
      +
    354. 0: Success.
    355. +
    356. < 0: Failure. See for details + and resolution suggestions.
    357. + +
      diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_create.dita b/en-US/dita/RTC-NG/API/api_irtcengine_create.dita index 0f308d42004..d0215cfadb8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_create.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_create.dita @@ -2,7 +2,8 @@ <ph keyref="create"/> - Creates and initializes . + Creates and initializes . @@ -13,56 +14,76 @@

      - public static synchronized RtcEngine create( + public static synchronized RtcEngine create( Context context, String appId, IRtcEngineEventHandler handler) throws Exception {} - + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId + + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; - - - - - -

      + + + + + +

      Details -

      All called methods provided by the class are executed asynchronously. Agora recommends calling these methods in the same thread.

      +

      All called methods provided by the + class are executed asynchronously. Agora + recommends calling these methods in the same thread.

      -
        -
      • Before calling other APIs, you must call this method to create the object.
      • -
      • You can create the instance either by calling this method or by calling . The difference between and this method is that supports more configurations when creating the instance, for example, specifying the region for connection and setting the log files.
      • -
      • The SDK supports creating only one instance for an app.
      • -
      +
        +
      • Before calling other APIs, you must call this method to create the object.
      • +
      • You can create the instance either by calling + this method or by calling . The difference + between and this method is that supports more configurations when creating the + instance, for example, specifying the + region for connection and setting the log files.
      • +
      • The SDK supports creating only one instance + for an app.
      • +
      + +
      Parameters - - context - - - - appId - - - - handler - delegate - The event handler for . See . - -
      + + context + + + + appId + + + + handler + delegate + The event handler for . See . + + +
      - <ph props="apple">Returns </ph><ph props="android">Returns/Exceptions</ph> + <ph props="apple">Returns </ph><ph props="android" + >Returns/Exceptions</ph>
        -
      • The instance, if the method call succeeds.
      • -
      • The method call fails and an exception is thrown, you need to catch the exception and handle it. See for details and resolution suggestions.
      • -
      • An error code, if the method call fails.
          -
        • -1: A general error occurs (no specified reason).
        • -
        • -2: The parameter is invalid.
        • -
        • -7: The SDK is not initialized.
        • -
        • -22: The resource request failed. The SDK fails to allocate resources because your app consumes too much system resource or the system resources are insufficient.
        • -
        • -101: The App ID is invalid.
        • -
      • -
      +
    358. The instance, if the method call succeeds.
    359. +
    360. The method call fails and an exception is thrown, you need to + catch the exception and handle it. See for details and resolution + suggestions.
    361. +
    362. An error code, if the method call fails.
        +
      • -1: A general error occurs (no specified reason).
      • +
      • -2: The parameter is invalid.
      • +
      • -7: The SDK is not initialized.
      • +
      • -22: The resource request failed. The SDK fails to allocate resources + because your app consumes too much system resource or the system + resources are insufficient.
      • +
      • -101: The App ID is invalid.
      • +
    363. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_create2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_create2.dita index 20ba948115c..b4cd5a249b1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_create2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_create2.dita @@ -2,7 +2,9 @@ <ph keyref="initialize"/> - Creates and initializes . Initializes . + Creates and initializes . Initializes + . @@ -13,53 +15,71 @@

      - public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} + public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} - + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config + + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; - virtual int initialize(const RtcEngineContext& context) = 0; - abstract initialize(context: RtcEngineContext): number; - public abstract int Initialize(RtcEngineContext context); - - Future<void> initialize(RtcEngineContext context);

      + virtual int initialize(const RtcEngineContext& context) = 0; + abstract initialize(context: RtcEngineContext): number; + public abstract int Initialize(RtcEngineContext context); + + Future<void> initialize(RtcEngineContext context); +

      Details -

      All called methods provided by the class are executed asynchronously. Agora recommends calling these methods in the same thread.

      +

      All called methods provided by the class are executed + asynchronously. Agora recommends calling these methods in the same thread.

      -
        -
      • Before calling other APIs, you must call and to create and initialize the object.
      • -
      • Before calling other APIs, you must call this method to create the object.
      • -
      • You can create the instance either by calling this method or by calling . The difference between and this method is that this method supports more configurations when creating the instance, for example, specifying the region for connection and setting the log files.
      • -
      • The SDK supports creating only one instance for an app.
      • -
      +
        +
      • Before calling other APIs, you must call + and + to create and initialize the object.
      • +
      • Before calling other APIs, you must call this method + to create the object.
      • +
      • You can create the + instance either by calling this method or by calling . The difference between and this method is + that this method supports more configurations when creating the instance, for example, specifying the region for + connection and setting the log files.
      • +
      • The SDK supports creating only one instance + for an app.
      • +
      + +
      Parameters - - context - config - -

      Configurations for the instance. See .

      -
      -
      - - delegate - - -
      + + context + config + +

      Configurations for the instance. See .

      +
      +
      + + delegate + + + +
      Returns
        -
      • The instance, if the method call succeeds.
      • -
      • 0: Success.
      • -
      • < 0: Failure.
          -
        • -1: A general error occurs (no specified reason).
        • -
        • -2: An invalid parameter is used.
        • -
        • -7: The SDK is not initialized.
        • -
        • -22: The resource request failed. The SDK fails to allocate resources because your app consumes too many system resources or the system resources are insufficient.
        • -
        • -101: The App ID is invalid.
        • -
      • +
      • The instance, if the method call + succeeds.
      • +
      • 0: Success.
      • +
      • < 0: Failure.
          +
        • -1: A general error occurs (no specified reason).
        • +
        • -2: An invalid parameter is used.
        • +
        • -7: The SDK is not initialized.
        • +
        • -22: The resource request failed. The SDK fails to allocate resources + because your app consumes too many system resources or the system + resources are insufficient.
        • +
        • -101: The App ID is invalid.
        • +
      diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createcustomaudiotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createcustomaudiotrack.dita index 4e8812772fb..418a17b476d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createcustomaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createcustomaudiotrack.dita @@ -1,67 +1,79 @@ - <ph keyref="createCustomAudioTrack" /> + <ph keyref="createCustomAudioTrack"/> Creates a customized audio track. - +

      - public abstract int createCustomAudioTrack( + public abstract int createCustomAudioTrack( Constants.AudioTrackType trackType, AudioTrackConfig config); - - (int)createCustomAudioTrack:(AgoraAudioTrackType)trackType + - (int)createCustomAudioTrack:(AgoraAudioTrackType)trackType config:(AgoraAudioTrackConfig* _Nonnull)config; - virtual rtc::track_id_t createCustomAudioTrack(rtc::AUDIO_TRACK_TYPE trackType, const rtc::AudioTrackConfig& config) = 0; - abstract createCustomAudioTrack( + virtual rtc::track_id_t createCustomAudioTrack(rtc::AUDIO_TRACK_TYPE trackType, const rtc::AudioTrackConfig& config) = 0; + abstract createCustomAudioTrack( trackType: AudioTrackType, config: AudioTrackConfig ): number; - public abstract uint CreateCustomAudioTrack(AUDIO_TRACK_TYPE trackType, AudioTrackConfig config); - abstract createCustomAudioTrack( + public abstract uint CreateCustomAudioTrack(AUDIO_TRACK_TYPE trackType, AudioTrackConfig config); + abstract createCustomAudioTrack( trackType: AudioTrackType, config: AudioTrackConfig ): number; - Future<int> createCustomAudioTrack( + Future<int> createCustomAudioTrack( {required AudioTrackType trackType, required AudioTrackConfig config}); -

      +

      Details
      - -
      Since
      -
      v4.2.0
      -
      + +
      Since
      +
      v4.2.0
      +
      -

      When you need to publish multiple custom captured videos in the channel, you can refer to the following steps:

        -
      1. Call this method to create a video track and get the video track ID.
      2. -
      3. In of each channel, set customVideoTrackId to the video track ID that you want to publish, and set publishCustomVideoTrack to .
      4. -
      5. If you call , and specify trackId as the video track ID set in step 2, you can publish the corresponding custom video source in multiple channels.
      6. -

      +

      When you need to publish multiple custom captured videos in the channel, you can + refer to the following steps:

        +
      1. Call this method to create a video track and get the video track ID.
      2. +
      3. In of each channel, set + customVideoTrackId to the video track ID that you + want to publish, and set publishCustomVideoTrack to + .
      4. +
      5. If you call , and specify + trackId as the video track ID set in step 2, you + can publish the corresponding custom video source in multiple channels.
      6. +

      Parameters - - trackType - The type of the custom audio track. See . - - - config - The configuration of the custom audio track. See . - -
      + + trackType + The type of the custom audio track. See . + + + config + The configuration of the custom audio track. See . + + +
      Returns
        -
      • If the method call is successful, the video track ID is returned as the unique identifier of the video track.
      • -
      • If the method call fails, a negative value is returned.
      • -
      +
    364. If the method call is successful, the video track ID is returned as the unique + identifier of the video track.
    365. +
    366. If the method call fails, a negative value is returned.
    367. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createcustomencodedvideotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createcustomencodedvideotrack.dita index 90c9e7e900f..afbe840561f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createcustomencodedvideotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createcustomencodedvideotrack.dita @@ -2,50 +2,56 @@ createCustomEncodedVideoTrack - Create a custom track for encoded videos. + Create a custom track for encoded + videos. - +

      - public abstract int createCustomEncodedVideoTrack(EncodedVideoTrackOptions encodedOpt); - - (unsigned int)createCustomEncodedVideoTrack:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption; - virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0; - - - - -

      + public abstract int createCustomEncodedVideoTrack(EncodedVideoTrackOptions encodedOpt); + - (unsigned int)createCustomEncodedVideoTrack:(AgoraEncodedVideoTrackOptions* _Nonnull)encodedVideoTrackOption; + virtual video_track_id_t createCustomEncodedVideoTrack(const SenderOptions& sender_option) = 0; + + + + +

      Details -

      You can publish 调用步骤如下: - -

        -
      • 成功创建视频轨道后,调用 加入频道时设置 customVideoTrackId,或在加入频道后调用 设置 customVideoTrackId
      • -
      • 调用 发布自定义采集视频到频道中。
      • -

      +

      You can publish 调用步骤如下:

        +
      • 成功创建视频轨道后,调用 加入频道时设置 的 + customVideoTrackId,或在加入频道后调用 设置 + customVideoTrackId
      • +
      • 调用 + 发布自定义采集视频到频道中。
      • +

      Parameters - - encodedOpt - encodedVideoTrackOption - sender_option - Video encoding options. See . - -
      + + encodedOpt + encodedVideoTrackOption + sender_option + Video encoding options. See . + + +
      Returns
        -
      • 0: 方法调用成功,返回视频轨道 ID,即 SDK 为该视频轨道生成的唯一标识。
      • -
      • < 0: Failure.
      • -
      +
    368. 0: 方法调用成功,返回视频轨道 ID,即 SDK 为该视频轨道生成的唯一标识。
    369. +
    370. < 0: Failure.
    371. + +
      -
      \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita index 504d7da4b48..d093b6d2817 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createcustomvideotrack.dita @@ -13,30 +13,42 @@

      - public abstract int createCustomVideoTrack(); - - (unsigned int)createCustomVideoTrack; - virtual video_track_id_t createCustomVideoTrack() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int createCustomVideoTrack(); + - (unsigned int)createCustomVideoTrack; + virtual video_track_id_t createCustomVideoTrack() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int64 CreateCustomVideoTrack(); - abstract createCustomVideoTrack(): number; - public abstract video_track_id_t CreateCustomVideoTrack(); - abstract createCustomVideoTrack(): number; - Future<int> createCustomVideoTrack(); -

      + abstract createCustomVideoTrack(): number; + public abstract video_track_id_t CreateCustomVideoTrack(); + abstract createCustomVideoTrack(): number; + Future<int> createCustomVideoTrack(); +

      Details

      To publish a custom video source, see the following steps:

        -
      1. Call this method to create a video track and get the video track ID.
      2. -
      3. Call to join the channel. In , set customVideoTrackId to the video track ID that you want to publish, and set publishCustomVideoTrack to .
      4. -
      5. Call and specify videoTrackId as the video track ID set in step 2. You can then publish the corresponding custom video source in the channel.
      6. -

      +
    372. Call this method to create a video track and get the video track ID.
    373. +
    374. Call to join the channel. In , set + customVideoTrackId to the video track ID that you + want to publish, and set publishCustomVideoTrack to + .
    375. +
    376. Call and specify + videoTrackId as the video track ID set in step 2. + You can then publish the corresponding custom video source in the + channel.
    377. +

    Returns
      -
    • If the method call is successful, the video track ID is returned as the unique identifier of the video track.
    • -
    • If the method call fails, a negative value is returned. See for details and resolution suggestions.
    • -
    +
  • If the method call is successful, the video track ID is returned as the unique + identifier of the video track.
  • +
  • If the method call fails, a negative value is returned. See for details and resolution + suggestions.
  • + + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream.dita index c763e575e00..cee687ec34f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream.dita @@ -1,63 +1,80 @@ - <ph keyref="createDataStream1" /> + <ph keyref="createDataStream1"/> Creates a data stream. - +

    - public abstract int createDataStream(boolean reliable, boolean ordered); - - (int)createDataStream:(NSInteger * _Nonnull)streamId + public abstract int createDataStream(boolean reliable, boolean ordered); + - (int)createDataStream:(NSInteger * _Nonnull)streamId reliable:(BOOL)reliable ordered:(BOOL)ordered; - virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; - abstract createDataStream(config: DataStreamConfig): number; - public abstract int CreateDataStream(ref int streamId, bool reliable, bool ordered); - - Future<int> createDataStream(DataStreamConfig config); -

    + virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; + abstract createDataStream(config: DataStreamConfig): number; + public abstract int CreateDataStream(ref int streamId, bool reliable, bool ordered); + + Future<int> createDataStream(DataStreamConfig config); +

    Details -

    Each user can create up to five data streams during the lifecycle of . The data stream will be destroyed when leaving the channel, and the data stream needs to be recreated if needed.

    +

    Each user can create up to five data streams during the lifecycle of . The data stream will be destroyed when leaving the + channel, and the data stream needs to be recreated if needed.

    -
      -
    • Call this method after joining a channel.
    • -
    • Agora does not support setting reliable as and ordered as .
    • -
    +
      +
    • Call this method after joining a channel.
    • +
    • Agora does not support setting reliable as and ordered as + .
    • +
    + +
    Parameters - - - - - - reliable - -

    Whether or not the data stream is reliable:

      -
    • : The recipients receive the data from the sender within five seconds. If the recipient does not receive the data within five seconds, the SDK triggers the callback and returns an error code.
    • -
    • : There is no guarantee that the recipients receive the data stream within five seconds and no error message is reported for any delay or missing data stream.
    • -

    -
    -
    - - ordered - -

    Whether or not the recipients receive the data stream in the sent order:

      -
    • : The recipients receive the data in the sent order.
    • -
    • : The recipients do not receive the data in the sent order.
    • -

    -
    -
    -
    -
    + + + + + + reliable + +

    Whether or not the data stream is reliable:

      +
    • : The recipients receive the + data from the sender within five seconds. If the recipient does + not receive the data within five seconds, the SDK triggers the + callback and returns + an error code.
    • +
    • : There is no guarantee + that the recipients receive the data stream within five seconds + and no error message is reported for any delay or missing data + stream.
    • +

    +
    +
    + + ordered + +

    Whether or not the recipients receive the data stream in the sent order:

      +
    • : The recipients receive the + data in the sent order.
    • +
    • : The recipients do not + receive the data in the sent order.
    • +

    +
    +
    + +
    +
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita index 921b71ce9f7..51544f0140c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createdatastream2.dita @@ -1,53 +1,63 @@ - <ph keyref="createDataStream2" /> + <ph keyref="createDataStream2"/> Creates a data stream. - +

    - public abstract int createDataStream(DataStreamConfig config); - - (int)createDataStream:(NSInteger * _Nonnull)streamId + public abstract int createDataStream(DataStreamConfig config); + - (int)createDataStream:(NSInteger * _Nonnull)streamId config:(AgoraDataStreamConfig * _Nonnull)config; - virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int CreateDataStream(int& streamId, const FDataStreamConfig& config); - abstract createDataStream(config: DataStreamConfig): number; - public abstract int CreateDataStream(ref int streamId, DataStreamConfig config); - abstract createDataStream(config: DataStreamConfig): number; - Future<int> createDataStream(DataStreamConfig config); -

    + abstract createDataStream(config: DataStreamConfig): number; + public abstract int CreateDataStream(ref int streamId, DataStreamConfig config); + abstract createDataStream(config: DataStreamConfig): number; + Future<int> createDataStream(DataStreamConfig config); +

    Details -

    Creates a data stream. Each user can create up to five data streams in a single channel.

    -

    Compared with , this method does not support data reliability. If a data packet is not received five seconds after it was sent, the SDK directly discards the data.

    +

    Creates a data stream. Each user can create up to five data streams in a + single channel.

    +

    Compared with , this method does not support data reliability. If + a data packet is not received five seconds after it was sent, the SDK directly + discards the data.

    Parameters - - streamId - An output parameter; the ID of the data stream created. - - - config - The configurations for the data stream. See . - -
    + + streamId + An output parameter; the ID of the data stream created. + + + config + The configurations for the data stream. See . + + +
    Returns
      -
    • 0: The data stream is successfully created.
    • -
    • ID of the created data stream, if the method call succeeds.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: The data stream is successfully + created.
  • +
  • ID of the created data stream, if the method + call succeeds.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita index 6d5a05e1c7b..176aedc0845 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createmediaplayer.dita @@ -1,45 +1,49 @@ - <ph keyref="createMediaPlayer" /> - Creates a media player instance. Creates one instance. + <ph keyref="createMediaPlayer"/> + Creates a media player instance. Creates one instance. - +

    - public abstract IMediaPlayer createMediaPlayer(); - - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate: + public abstract IMediaPlayer createMediaPlayer(); + - (id<AgoraRtcMediaPlayerProtocol>_Nullable)createMediaPlayerWithDelegate: (id<AgoraRtcMediaPlayerDelegate>_Nullable)delegate; - virtual agora_refptr <IMediaPlayer> createMediaPlayer() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual agora_refptr <IMediaPlayer> createMediaPlayer() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") UIMediaPlayer* CreateMediaPlayer(); - abstract createMediaPlayer(): IMediaPlayer; - public abstract IMediaPlayer CreateMediaPlayer(); - abstract createMediaPlayer(): IMediaPlayer; - Future<MediaPlayer> createMediaPlayer(); -

    + abstract createMediaPlayer(): IMediaPlayer; + public abstract IMediaPlayer CreateMediaPlayer(); + abstract createMediaPlayer(): IMediaPlayer; + Future<MediaPlayer> createMediaPlayer(); +

    Parameters - - delegate - - -
    + + delegate + + + +
    Returns
      -
    • The instance, if the method call succeeds.
    • -
    • An empty pointer, if the method call fails.
    • +
    • The instance, if the method call succeeds.
    • +
    • An empty pointer, if the method call fails.
    -

    An instance, if the method call succeeds.

    -
    +

    An instance, if the method call + succeeds.

    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita index 5de78f76702..420c0197e8d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createmediarecorder.dita @@ -2,7 +2,8 @@ <ph keyref="createMediaRecorder"/> - Creates a recording object for audio and video recording. + Creates a recording object for audio and video + recording. @@ -13,41 +14,53 @@

    - public abstract AgoraMediaRecorder createMediaRecorder(RecorderStreamInfo info); - - (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") + public abstract AgoraMediaRecorder createMediaRecorder(RecorderStreamInfo info); + - (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") 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);

    + abstract createMediaRecorder(info: RecorderStreamInfo): IMediaRecorder; + public abstract IMediaRecorder CreateMediaRecorder(RecorderStreamInfo info); + abstract createMediaRecorder(info: RecorderStreamInfo): IMediaRecorder; + Future<MediaRecorder?> createMediaRecorder(RecorderStreamInfo info); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    Before you start recording, you need to call this method to create a recording object. Agora SDKs support recording the audio and video streams of both local and remote users. You can call this method as needed to create muitiple recording objects and specify the streams that you want to record through the info parameter.

    -

    After successfully creating a recording object, you need to call to register a recording observer to listen for recording callbacks, and then call to start recording.

    +

    Before you start recording, you need to call this method to create a recording + object. Agora SDKs support recording the audio and video streams of both local and + remote users. You can call this method as needed to create muitiple recording + objects and specify the streams that you want to record through the + info parameter.

    +

    After successfully creating a recording object, you need to call to register a recording observer to listen + for recording callbacks, and then call to start + recording.

    Parameters - - info - The information about the media streams you want to record. See . - -
    + + info + The information about the media streams you want to record. See . + + +
    Returns
      -
    • The object, if the method call succeeds.
    • -
    • The instance, if the method call succeeds.
    • -
    • An empty pointer, if the method call fails.
    • +
    • The object, if the method call succeeds.
    • +
    • The instance, if the method call + succeeds.
    • +
    • An empty pointer, if the method call fails.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createrendererview.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createrendererview.dita index 052b7e3ad2a..cf017a4bb0c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createrendererview.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createrendererview.dita @@ -1,50 +1,57 @@ - <ph keyref="CreateRendererView" /> + <ph keyref="CreateRendererView"/> Creates a RendererView. - +

    - public static SurfaceView CreateRendererView(Context context) { + public static SurfaceView CreateRendererView(Context context) { return new SurfaceView(context); - - - - - - -

    + + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use the Android native method instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use the Android native method instead.
    +
    -

    This method returns the SurfaceView type. The operation and layout of the view are managed by the app, and the Agora SDK renders the view provided by the app. The video display view must be created using this method instead of directly calling SurfaceView.

    -

    To use a SurfaceView, call this method; to use a TextureView, call .Call this in the main thread.

    +

    This method returns the SurfaceView type. The operation and layout of the view are + managed by the app, and the Agora SDK renders the view provided by the app. The + video display view must be created using this method instead of directly calling + SurfaceView.

    +

    To use a SurfaceView, call this method; to use a TextureView, call .Call this in the main + thread.

    Parameters - - context - The context of the Android Activity. - -
    + + context + The context of the Android Activity. + + +
    Returns

    SurfaceView

    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createtextureview.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createtextureview.dita index 753ad402f06..a88d2092602 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createtextureview.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createtextureview.dita @@ -1,50 +1,57 @@ - <ph keyref="CreateTextureView" /> + <ph keyref="CreateTextureView"/> Creates a TextureView. - +

    - public static TextureView CreateTextureView(Context context) { + public static TextureView CreateTextureView(Context context) { return new TextureView(context); - - - - - - -

    + + + + + + +

    Details
    Deprecated:
    -
    This method is deprecated. Use the Android native method instead.
    +
    This method is deprecated. Use the Android native method instead.
    -

    You can call this method to create a TextureView, which is suitable for scenarios that require scaling, rotation, and parallel coordinate translation of video images, such as screen sharing. The operation and layout of the view are managed by the app, and the Agora SDK renders the view provided by the app.

    -

    To use a TextureView, call this method; to use a SurfaceView, call .Call this in the main thread.

    +

    You can call this method to create a TextureView, which is suitable for scenarios + that require scaling, rotation, and parallel coordinate translation of video images, + such as screen sharing. The operation and layout of the view are managed by the app, + and the Agora SDK renders the view provided by the app.

    +

    To use a TextureView, call this method; to use a SurfaceView, call .Call this in the main + thread.

    Parameters - - context - The context of the Android Activity. - -
    + + context + The context of the Android Activity. + + +
    Returns

    TextureView

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita index ae4e1f297ac..a2fcbe03990 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createwithareacode.dita @@ -1,54 +1,56 @@ - <ph keyref="createWithAreaCode" /> - Creates -Create the object and return the pointer. + <ph keyref="createWithAreaCode"/> + Creates Create the + object and return the pointer. - +

    - - - - - - - -

    + + + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use instead.
    +
    Parameters - - appId - Get a valid Agora account and an App ID. - - - areaCode - The area code. See . - -
    + + appId + Get a valid Agora account and an App ID. + + + areaCode + The area code. See . + + +
    Returns
      -
    • The instance, if the method call succeeds.
    • -
    • An error code, if the call fails.
    • -
    +
  • The instance, if the method call succeeds.
  • +
  • An error code, if the call fails.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita b/en-US/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita index 5a01c98d127..a91c3bf6226 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_createwithconfig.dita @@ -1,49 +1,52 @@ - <ph keyref="createWithConfig" /> - Creates the object. + <ph keyref="createWithConfig"/> + Creates the + object. - +

    - - - - - - - -

    + + + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use instead.
    +
    Parameters - - - - -
    + + + + + +
    Returns
      -
    • The instance, if the method call succeeds.
    • -
    • An error code, if the call fails.
    • -
    +
  • The instance, if the method call succeeds.
  • +
  • An error code, if the call fails.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_delegate.dita b/en-US/dita/RTC-NG/API/api_irtcengine_delegate.dita index 632dfc7fcd2..73995b434de 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_delegate.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_delegate.dita @@ -1,30 +1,33 @@ - <ph keyref="delegate" /> - Sets and retrieves . + <ph keyref="delegate"/> + Sets and retrieves . - - - + + + -
    + +

    - - @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate; - - - - - -

    + + @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate; + + + + + +

    Details - -

    The SDK uses to inform the app on engine runtime events. All methods defined in the delegate are optional implementation methods.

    +

    The SDK uses to inform the app on engine + runtime events. All methods defined in the delegate are optional implementation + methods.

    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomaudiotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomaudiotrack.dita index 7fd2956c3d4..6c9d11163f1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomaudiotrack.dita @@ -1,50 +1,55 @@ - <ph keyref="destroyCustomAudioTrack" /> + <ph keyref="destroyCustomAudioTrack"/> Destroys the specified video track. - +

    - public abstract int destroyCustomAudioTrack(int trackId); - - (int)destroyCustomAudioTrack:(NSInteger)trackId; - virtual int destroyCustomAudioTrack(rtc::track_id_t trackId) = 0; - abstract destroyCustomAudioTrack(trackId: number): number; - public abstract int DestroyCustomAudioTrack(uint trackId); - abstract destroyCustomAudioTrack(trackId: number): number; - Future<void> destroyCustomAudioTrack(int trackId); -

    + public abstract int destroyCustomAudioTrack(int trackId); + - (int)destroyCustomAudioTrack:(NSInteger)trackId; + virtual int destroyCustomAudioTrack(rtc::track_id_t trackId) = 0; + abstract destroyCustomAudioTrack(trackId: number): number; + public abstract int DestroyCustomAudioTrack(uint trackId); + abstract destroyCustomAudioTrack(trackId: number): number; + Future<void> destroyCustomAudioTrack(int trackId); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    Parameters - - trackId - The custom audio track ID returned in . - -
    + + trackId + The custom audio track ID returned in . + + +
    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomencodedvideotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomencodedvideotrack.dita index 90b4ab22532..f5a9383f021 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomencodedvideotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomencodedvideotrack.dita @@ -6,41 +6,43 @@ - +

    - public abstract int destroyCustomEncodedVideoTrack(int video_track_id); - - (int)destroyCustomEncodedVideoTrack:(NSUInteger)position; - virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0; - - - - -

    + public abstract int destroyCustomEncodedVideoTrack(int video_track_id); + - (int)destroyCustomEncodedVideoTrack:(NSUInteger)position; + virtual int destroyCustomEncodedVideoTrack(video_track_id_t video_track_id) = 0; + + + + +

    Details -

    +

    Parameters - - video_track_id - position - Video track ID returned by method. - -
    + + video_track_id + position + Video track ID returned by + method. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • +
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita index 51488528b67..f9c2219d73d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_destroycustomvideotrack.dita @@ -13,32 +13,39 @@

    - public abstract int destroyCustomVideoTrack(int video_track_id); - - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId; - virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int destroyCustomVideoTrack(int video_track_id); + - (int)destroyCustomVideoTrack:(NSUInteger)videoTrackId; + virtual int destroyCustomVideoTrack(video_track_id_t video_track_id) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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); +

    Parameters - - video_track_id - videoTrackId - The video track ID returned by calling the method. - -
    + + video_track_id + videoTrackId + The video track ID returned by calling the method. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita index 29dd6def255..bfd820a2057 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_destroymediaplayer.dita @@ -1,48 +1,54 @@ - <ph keyref="destroyMediaPlayer" /> + <ph keyref="destroyMediaPlayer"/> Destroys the media player instance. - +

    - int destroy(); + int destroy(); - - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer; + - (int)destroyMediaPlayer:(id<AgoraRtcMediaPlayerProtocol>_Nullable)mediaPlayer; - virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int destroyMediaPlayer(agora_refptr<IMediaPlayer> media_player) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int DestroyMediaPlayer(UIMediaPlayer* media_player); - abstract destroyMediaPlayer(mediaPlayer: IMediaPlayer): number; - public abstract int DestroyMediaPlayer(IMediaPlayer mediaPlayer); - abstract destroyMediaPlayer(mediaPlayer: IMediaPlayer): number; - Future<void> destroyMediaPlayer(MediaPlayer mediaPlayer); -

    + abstract destroyMediaPlayer(mediaPlayer: IMediaPlayer): number; + public abstract int DestroyMediaPlayer(IMediaPlayer mediaPlayer); + abstract destroyMediaPlayer(mediaPlayer: IMediaPlayer): number; + Future<void> destroyMediaPlayer(MediaPlayer mediaPlayer); +

    Parameters - - mediaPlayer - media_player - -

    One object.

    -
    -
    -
    + + mediaPlayer + media_player + +

    One object.

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • ≥ 0: Success. Returns the ID of media player instance.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • ≥ 0: Success. Returns the ID of + media player instance.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita b/en-US/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita index 9c9b45ac387..11d354e784d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_destroymediarecorder.dita @@ -2,7 +2,8 @@ <ph keyref="destroyMediaRecorder"/> - Destroys a recording object for audio and video recording. + Destroys a recording object for audio and video + recording. @@ -13,34 +14,38 @@

    - public abstract void destroyMediaRecorder(AgoraMediaRecorder mediaRecorder); - - (int)destroyMediaRecorder:(AgoraMediaRecorder * _Nullable)mediaRecorder; - virtual int destroyMediaRecorder(agora_refptr<IMediaRecorder> mediaRecorder) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract void destroyMediaRecorder(AgoraMediaRecorder mediaRecorder); + - (int)destroyMediaRecorder:(AgoraMediaRecorder * _Nullable)mediaRecorder; + 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);

    + abstract destroyMediaRecorder(mediaRecorder: IMediaRecorder): number; + public abstract int DestroyMediaRecorder(IMediaRecorder mediaRecorder); + abstract destroyMediaRecorder(mediaRecorder: IMediaRecorder): number; + Future<void> destroyMediaRecorder(MediaRecorder mediaRecorder); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    When you do not need to record any audio and video streams, you can call this method to destroy the recording object. Before you call this method, if you are recording a media stream, you need to call to stop recording.

    +

    When you do not need to record any audio and video streams, you can call this method + to destroy the recording object. Before you call this method, if you are recording a + media stream, you need to call to stop recording.

    Parameters - - mediaRecorder - The recording object to be destroyed. - -
    + + mediaRecorder + The recording object to be destroyed. + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_destroyrenderer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_destroyrenderer.dita index 95a56469157..f8812c71329 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_destroyrenderer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_destroyrenderer.dita @@ -1,38 +1,40 @@ - <ph keyref="destroyRenderer" /> + <ph keyref="destroyRenderer"/> Destroys the video renderer. - +

    - - - - - - - -

    + + + + + + + +

    Details -

    You can call this method to destroy the video renderer after calling .

    +

    You can call this method to destroy the video renderer after calling .

    Parameters - - user - The user of the video. See . - -
    + + user + The user of the video. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_destroyrendererbyconfig.dita b/en-US/dita/RTC-NG/API/api_irtcengine_destroyrendererbyconfig.dita index dc8c7612497..d0ee1980465 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_destroyrendererbyconfig.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_destroyrendererbyconfig.dita @@ -1,47 +1,50 @@ - <ph keyref="destroyRendererByConfig" /> - Destroys multiple video renderer objects at one time. + <ph keyref="destroyRendererByConfig"/> + Destroys multiple video renderer objects at one + time. - +

    - - - - abstract destroyRendererByConfig(sourceType: VideoSourceType, channelId?: string, uid?: number): void; - - -

    + + + + abstract destroyRendererByConfig(sourceType: VideoSourceType, channelId?: string, uid?: number): void; + + + +

    Details -

    +

    Parameters - - - - - - channelId - -

    - - - - uid - The user ID of the remote user. - -

    + + + + + + channelId + +

    + + + + uid + The user ID of the remote user. + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_destroyrendererbyview.dita b/en-US/dita/RTC-NG/API/api_irtcengine_destroyrendererbyview.dita index 6da1688256a..2ee074e6684 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_destroyrendererbyview.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_destroyrendererbyview.dita @@ -1,37 +1,39 @@ - <ph keyref="destroyRendererByView" /> + <ph keyref="destroyRendererByView"/> Destroys a video renderer object. - +

    - - - - abstract destroyRendererByView(view: any): void; - - -

    + + + + abstract destroyRendererByView(view: any): void; + + + +

    Details -

    +

    Parameters - - view - The HTMLElement object to be destroyed. - -
    + + view + The HTMLElement object to be destroyed. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_devicemanager.dita b/en-US/dita/RTC-NG/API/api_irtcengine_devicemanager.dita index f152b111c05..39f4042c73c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_devicemanager.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_devicemanager.dita @@ -1,30 +1,31 @@ - <ph keyref="deviceManager" /> - Gets the class. + <ph keyref="deviceManager"/> + Gets the + class. - +

    - - - - - - - -

    + + + + + + + +

    Returns -

    The class.

    +

    The class.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_disableaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_disableaudio.dita index 17dc454c356..3b156d1488c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_disableaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_disableaudio.dita @@ -1,48 +1,63 @@ - <ph keyref="disableAudio" /> + <ph keyref="disableAudio"/> Disables the audio module. - +

    - public abstract int disableAudio(); - - (int)disableAudio; - virtual int disableAudio() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int disableAudio(); + - (int)disableAudio; + virtual int disableAudio() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int DisableAudio(); - abstract disableAudio(): number; - public abstract int DisableAudio(); - abstract disableAudio(): number; - Future<void> disableAudio(); -

    + abstract disableAudio(): number; + public abstract int DisableAudio(); + abstract disableAudio(): number; + Future<void> disableAudio(); +

    Details -
      -
    • This method disables the internal engine and can be called anytime after initialization. It is still valid after one leaves channel.
    • -
    • This method resets the internal engine and takes some time to take effect. Agora recommends using the following API methods to control the audio modules separately:
        -
      • : Whether to enable the microphone to create the local audio stream.
      • -
      • : Whether to enable loopback audio capturing.
      • -
      • : Whether to publish the local audio stream.
      • -
      • : Whether to subscribe and play the remote audio stream.
      • -
      • : Whether to subscribe to and play all remote audio streams.
      • -
    • -
    +
      +
    • This method disables the internal engine and can be called anytime after + initialization. It is still valid after one leaves channel.
    • +
    • This method resets the internal engine and takes some time to take effect. + Agora recommends using the following API methods to control the audio + modules separately:
        +
      • : Whether to enable the microphone + to create the local audio stream.
      • +
      • : Whether to enable loopback + audio capturing.
      • +
      • : Whether to publish the local + audio stream.
      • +
      • : Whether to subscribe and + play the remote audio stream.
      • +
      • : Whether to subscribe to + and play all remote audio streams.
      • +
    • +
    +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita b/en-US/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita index e7c4fc073f0..7497bb33081 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_disableaudiospectrummonitor.dita @@ -1,41 +1,46 @@ - <ph keyref="disableAudioSpectrumMonitor" /> + <ph keyref="disableAudioSpectrumMonitor"/> Disables audio spectrum monitoring. - +

    - public abstract int disableAudioSpectrumMonitor(); - - (int)disableAudioSpectrumMonitor; - virtual int disableAudioSpectrumMonitor() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int disableAudioSpectrumMonitor(); + - (int)disableAudioSpectrumMonitor; + virtual int disableAudioSpectrumMonitor() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int DisableAudioSpectrumMonitor(); - abstract disableAudioSpectrumMonitor(): number; - public abstract int DisableAudioSpectrumMonitor(); - abstract disableAudioSpectrumMonitor(): number; - Future<void> disableAudioSpectrumMonitor(); -

    + abstract disableAudioSpectrumMonitor(): number; + public abstract int DisableAudioSpectrumMonitor(); + abstract disableAudioSpectrumMonitor(): number; + Future<void> disableAudioSpectrumMonitor(); +

    Details -

    After calling , if you want to disable audio spectrum monitoring, you can call this method.

    +

    After calling , if you want to disable + audio spectrum monitoring, you can call this method.

    -

    You can call this method either before or after joining a channel.

    +

    You can call this method either before or after joining a channel.

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_disablelastmiletest.dita b/en-US/dita/RTC-NG/API/api_irtcengine_disablelastmiletest.dita index f300fd94ba4..13a24bec6a6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_disablelastmiletest.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_disablelastmiletest.dita @@ -2,7 +2,8 @@ <ph keyref="disableLastmileTest"/> - Disables the network connection quality test. + Disables the network connection quality + test. @@ -13,20 +14,22 @@

    - - - virtual int disableLastmileTest() = 0; - - public abstract int DisableLastmileTest(); - - -

    + + + virtual int disableLastmileTest() = 0; + + public abstract int DisableLastmileTest(); + + +

    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_disablevideo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_disablevideo.dita index 00f4a540127..179d1ba285b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_disablevideo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_disablevideo.dita @@ -1,49 +1,66 @@ - <ph keyref="disableVideo" /> + <ph keyref="disableVideo"/> Disables the video module. - +

    - public abstract int disableVideo(); - - (int)disableVideo; - virtual int disableVideo() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int disableVideo(); + - (int)disableVideo; + virtual int disableVideo() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int DisableVideo(); - abstract disableVideo(): number; - public abstract int DisableVideo(); - abstract disableVideo(): number; - Future<void> disableVideo(); -

    + abstract disableVideo(): number; + public abstract int DisableVideo(); + abstract disableVideo(): number; + Future<void> disableVideo(); +

    Details -

    This method can be called before joining a channel or during a call to disable the video module. If it is called before joining a channel, an audio call starts when you join the channel; if called during a call, a video call switches to an audio call. Call to enable the video module.

    -

    A successful call of this method triggers the () callback on the remote client.

    +

    This method can be called before joining a channel or during a call to disable the + video module. If it is called before joining a channel, an audio call starts when + you join the channel; if called during a call, a video call switches to an audio + call. Call to enable the video module.

    +

    A successful call of this method triggers the + () callback on the remote client.

    -
      -
    • This method affects the internal engine and can be called after leaving the channel.
    • -
    • This method resets the internal engine and thus might takes some time to take effect. Agora recommends using the following APIs to control the video modules separately:
        -
      • : Whether to enable the camera to create the local video stream.
      • -
      • : Whether to publish the local video stream.
      • -
      • : Whether to subscribe to and play the remote video stream.
      • -
      • : Whether to subscribe to and play all remote video streams.
      • -
    • -
    +
      +
    • This method affects the internal engine and can be called after leaving the + channel.
    • +
    • This method resets the internal engine and thus might takes some time to + take effect. Agora recommends using the following APIs to control the video + modules separately:
        +
      • : Whether to enable the camera to + create the local video stream.
      • +
      • : Whether to publish the local + video stream.
      • +
      • : Whether to subscribe to and + play the remote video stream.
      • +
      • : Whether to subscribe to + and play all remote video streams.
      • +
    • +
    +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudio.dita index 5ebe967f624..a91f8a4c3be 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudio.dita @@ -1,49 +1,65 @@ - <ph keyref="enableAudio" /> + <ph keyref="enableAudio"/> Enables the audio module. - +

    - public abstract int enableAudio(); - - (int)enableAudio; - virtual int enableAudio() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableAudio(); + - (int)enableAudio; + virtual int enableAudio() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableAudio(); - abstract enableAudio(): number; - public abstract int EnableAudio(); - abstract enableAudio(): number; - Future<void> enableAudio(); -

    + abstract enableAudio(): number; + public abstract int EnableAudio(); + abstract enableAudio(): number; + Future<void> enableAudio(); +

    Details

    The audio mode is enabled by default.

    -
      -
    • This method enables the internal engine and can be called anytime after initialization. It is still valid after one leaves channel.
    • -
    • Calling this method will reset the entire engine, resulting in a slow response time. Instead of callling this method, you can independently control a specific audio module based on your actual needs using the following methods:
        -
      • : Whether to enable the microphone to create the local audio stream.
      • -
      • : Whether to publish the local audio stream.
      • -
      • : Whether to subscribe and play the remote audio stream.
      • -
      • : Whether to subscribe to and play all remote audio streams.
      • -
    • -
    • A successful call of this method resets , , and . Proceed it with caution.
    • -
    +
      +
    • This method enables the internal engine and can be called anytime after + initialization. It is still valid after one leaves channel.
    • +
    • Calling this method will reset the entire engine, resulting in a slow + response time. Instead of callling this method, you can independently + control a specific audio module based on your actual needs using the + following methods:
        +
      • : Whether to enable the microphone + to create the local audio stream.
      • +
      • : Whether to publish the local + audio stream.
      • +
      • : Whether to subscribe and + play the remote audio stream.
      • +
      • : Whether to subscribe to + and play all remote audio streams.
      • +
    • +
    • A successful call of this method resets , , and . Proceed it with caution.
    • +
    +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudioqualityindication.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudioqualityindication.dita index 865bf9cb081..22417d5aa5d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudioqualityindication.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudioqualityindication.dita @@ -1,52 +1,57 @@ - <ph keyref="enableAudioQualityIndication" /> - Enabled the audio quality notification callback. + <ph keyref="enableAudioQualityIndication"/> + Enabled the audio quality notification + callback. - +

    - public abstract int enableAudioQualityIndication(boolean enabled); - - - - - - -

    + public abstract int enableAudioQualityIndication(boolean enabled); + + + + + + +

    Details
    - -
    Deprecated:
    -
    Deprecated as of v2.4.1.
    -
    + +
    Deprecated:
    +
    Deprecated as of v2.4.1.
    +
    Parameters - - enabled - Whether to enable or disable the audio quality callback.
      -
    • : Enable the audio quality notification callback.
    • -
    • : (Default) Disable the audio quality notification callback.
    • -
    -
    -
    + + enabled + Whether to enable or disable the audio quality callback.
      +
    • : Enable the audio quality + notification callback.
    • +
    • : (Default) Disable the audio + quality notification callback.
    • +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita index bf4c99ad2f2..65003183a2f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiospectrummonitor.dita @@ -13,41 +13,53 @@

    - public abstract int enableAudioSpectrumMonitor(int intervalInMS); - - (int)enableAudioSpectrumMonitor:(int)intervalInMS; - virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableAudioSpectrumMonitor(int intervalInMS); + - (int)enableAudioSpectrumMonitor:(int)intervalInMS; + virtual int enableAudioSpectrumMonitor(int intervalInMS = 100) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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}); -

    + abstract enableAudioSpectrumMonitor(intervalInMS?: number): number; + public abstract int EnableAudioSpectrumMonitor(int intervalInMS = 100); + abstract enableAudioSpectrumMonitor(intervalInMS?: number): number; + Future<void> enableAudioSpectrumMonitor({int intervalInMS = 100}); +

    Details -

    If you want to obtain the audio spectrum data of local or remote users, you can register the audio spectrum observer and enable audio spectrum monitoring.

    +

    If you want to obtain the audio spectrum data of local or remote users, you can + register the audio spectrum observer and enable audio spectrum monitoring.

    -

    You can call this method either before or after joining a channel.

    -
    +

    You can call this method either before or after joining a channel.

    + +
    Parameters - - intervalInMS - -

    The interval (in milliseconds) at which the SDK triggers the and callbacks. The default value is 100. Do not set this parameter to a value less than 10, otherwise calling this method would fail.

    -
    -
    -
    + + intervalInMS + +

    The interval (in milliseconds) at which the SDK triggers the and callbacks. The default value is + 100. Do not set this parameter to a value less than 10, otherwise + calling this method would fail.

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: Invalid parameters.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: Invalid parameters.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita index bba0724116d..a4ab9e7077d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableaudiovolumeindication.dita @@ -1,73 +1,103 @@ - <ph keyref="enableAudioVolumeIndication" /> - Enables the reporting of users' volume indication. + <ph keyref="enableAudioVolumeIndication"/> + Enables the reporting of users' volume + indication. - +

    - public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean reportVad); - - (int)enableAudioVolumeIndication:(NSInteger)interval + public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean reportVad); + - (int)enableAudioVolumeIndication:(NSInteger)interval smooth:(NSInteger)smooth reportVad:(BOOL)reportVad; - virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); - abstract enableAudioVolumeIndication( + abstract enableAudioVolumeIndication( interval: number, smooth: number, reportVad: boolean ): number; - public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); - abstract enableAudioVolumeIndication( + public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); + abstract enableAudioVolumeIndication( interval: number, smooth: number, reportVad: boolean ): number; - Future<void> enableAudioVolumeIndication( + Future<void> enableAudioVolumeIndication( {required int interval, required int smooth, required bool reportVad}); -

    +

    Details -

    This method enables the SDK to regularly report the volume information to the app of the local user who sends a stream and remote users (three users at most) whose instantaneous volumes are the highest. Once you call this method and users send streams in the channel, the SDK triggers the callback at the time interval set in this method.

    - You can call this method either before or after joining a channel.
    +

    This method enables the SDK to regularly report the volume information to the app of + the local user who sends a stream and remote users (three users at most) whose + instantaneous volumes are the highest. Once you call this method and users send + streams in the channel, the SDK triggers the callback at the time interval set in this method.

    + You can call this method either before or after joining a + channel. +
    Parameters - - interval - Sets the time interval between two consecutive volume indications:
      -
    • ≤ 0: Disables the volume indication.
    • -
    • > 0: Time interval (ms) between two consecutive volume indications. Ensure this parameter is set to a value greater than 10, otherwise you will not receive the callback. Agora recommends that this value is set as greater than 100.
    • -
    -
    - - smooth - The smoothing factor that sets the sensitivity of the audio volume indicator. The value ranges between 0 and 10. The recommended value is 3. The greater the value, the more sensitive the indicator. - - - reportVad - -
      -
    • : Enables the voice activity detection of the local user. Once it is enabled, the vad parameter of the callback reports the voice activity status of the local user.
    • -
    • : (Default) Disables the voice activity detection of the local user. Once it is disabled, the vad parameter of the callback does not report the voice activity status of the local user, except for the scenario where the engine automatically detects the voice activity of the local user.
    • -
    -
    -
    + + interval + Sets the time interval between two consecutive volume indications:
      +
    • ≤ 0: Disables the volume indication.
    • +
    • > 0: Time interval (ms) between two consecutive volume indications. + Ensure this parameter is set to a value greater than 10, otherwise + you will not receive the + callback. Agora recommends that this value is set as greater than + 100.
    • +
    +
    + + smooth + The smoothing factor that sets the sensitivity of the audio volume + indicator. The value ranges between 0 and 10. The recommended value is 3. + The greater the value, the more sensitive the indicator. + + + reportVad + +
      +
    • : Enables the voice activity + detection of the local user. Once it is enabled, the + vad parameter of the callback reports the voice + activity status of the local user.
    • +
    • : (Default) Disables the voice + activity detection of the local user. Once it is disabled, the + vad parameter of the callback does not report the + voice activity status of the local user, except for the scenario + where the engine automatically detects the voice activity of the + local user.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita index 30c84ae3b26..138a61acc61 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablecameracenterstage.dita @@ -2,7 +2,8 @@ <ph keyref="enableCameraCenterStage"/> - Enables or disables portrait center stage. + Enables or disables portrait center + stage. @@ -13,47 +14,62 @@

    - - - (int)enableCameraCenterStage:(BOOL)enabled NS_SWIFT_NAME(enableCameraCenterStage(_:)); - virtual int enableCameraCenterStage(bool enabled) = 0; - - abstract enableCameraCenterStage(enabled: boolean): number; - public abstract int EnableCameraCenterStage(bool enabled); - abstract enableCameraCenterStage(enabled: boolean): number; - Future<void> enableCameraCenterStage(bool enabled);

    + + - (int)enableCameraCenterStage:(BOOL)enabled NS_SWIFT_NAME(enableCameraCenterStage(_:)); + virtual int enableCameraCenterStage(bool enabled) = 0; + + abstract enableCameraCenterStage(enabled: boolean): number; + public abstract int EnableCameraCenterStage(bool enabled); + abstract enableCameraCenterStage(enabled: boolean): number; + Future<void> enableCameraCenterStage(bool enabled); +

    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +
    -

    The portrait center stage feature is off by default. You need to call this method to turn it on. If you need to disable this feature, you need to call this method again and set enabled to .

    - This method is for iOS and macOS only. +

    The portrait center stage feature is off by default. You need to call this method to + turn it on. If you need to disable this feature, you need to call this method again + and set enabled to .

    + This method is for iOS and + macOS only. This method applies to iOS only. This method applies to macOS only.
    Applicable scenarios -

    The portrait center stage feature can be widely used in scenarios such as online meetings, shows, online education, etc. The host can use this feature to ensure that they are always in the center of the screen, whether they move or not, in order to achieve a good display effect.

    +

    The portrait center stage feature can be widely used in scenarios such as online + meetings, shows, online education, etc. The host can use this feature to ensure that + they are always in the center of the screen, whether they move or not, in order to + achieve a good display effect.

    Call timing -

    This method must be called after the camera is successfully enabled, that is, after the SDK triggers the callback and returns the local video state as (1).

    -
    +

    This method must be called after the camera is successfully enabled, that is, after + the SDK triggers the callback and returns + the local video state as + (1).

    +
    Restrictions -

    Due to the high performance requirements of this feature, you need to use it on the following types of devices or devices with higher performance:

      -
    • iPad:
        -
      • 12.9-inch iPad Pro (5th generation)
      • -
      • 11-inch iPad Pro (3rd generation)
      • -
      • iPad (9th generation)
      • -
      • iPad mini (6th generation)
      • -
      • iPad Air (5th generation)
    • -
    • 2020 M1 MacBook Pro 13-inch + iPhone 11 (using iPhone as external camera for the MacBook)
    • -

    -

    Agora recommends that you call to check whether the current device supports portrait center stage before enabling this feature.

    +

    Due to the high performance requirements of this feature, you need to use it on the + following types of devices or devices with higher performance:

      +
    • iPad:
        +
      • 12.9-inch iPad Pro (5th generation)
      • +
      • 11-inch iPad Pro (3rd generation)
      • +
      • iPad (9th generation)
      • +
      • iPad mini (6th generation)
      • +
      • iPad Air (5th generation)
      • +
    • +
    • 2020 M1 MacBook Pro 13-inch + iPhone 11 (using iPhone as external camera for + the MacBook)
    • +

    +

    Agora recommends that you call to check + whether the current device supports portrait center stage before enabling this + feature.

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    -
    +
  • < 0: Failure. See for details + and resolution suggestions.
  • + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita index 9bef4625620..cb5a2a8b315 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablecontentinspect.dita @@ -2,7 +2,8 @@ <ph keyref="enableContentInspect"/> - Enables or disables video screenshot and upload. + Enables or disables video screenshot and + upload. @@ -13,51 +14,70 @@

    - public abstract int enableContentInspect(boolean enabled, ContentInspectConfig config); - - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config; - virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableContentInspect(boolean enabled, ContentInspectConfig config); + - (int)enableContentInspect:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config; + virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableContentInspect(bool enabled, FContentInspectConfig& config); - abstract enableContentInspect( + abstract enableContentInspect( enabled: boolean, config: ContentInspectConfig ): number; - public abstract int EnableContentInspect(bool enabled, ContentInspectConfig config); - abstract enableContentInspect( + public abstract int EnableContentInspect(bool enabled, ContentInspectConfig config); + abstract enableContentInspect( enabled: boolean, config: ContentInspectConfig ): number; - Future<void> enableContentInspect( + Future<void> enableContentInspect( {required bool enabled, required ContentInspectConfig config}); -

    +

    Details -

    When video screenshot and upload function is enabled, the SDK takes screenshots and uploads videos sent by local users based on the type and frequency of the module you set in . After video screenshot and upload, the Agora server sends the callback notification to your app server in HTTPS requests and sends all screenshots to the third-party cloud storage service.

    - Before calling this method, ensure that you have contacted to activate the video screenshot upload service. +

    When video screenshot and upload function is enabled, the SDK takes screenshots and + uploads videos sent by local users based on the type and frequency of the module you + set in . After video screenshot and upload, the + Agora server sends the callback notification to your app server in HTTPS requests + and sends all screenshots to the third-party cloud storage service.

    + Before calling this method, ensure that you have contacted to activate the video screenshot upload service.
    Parameters - - enabled - Whether to enable video screenshot and uploadvideo content moderation:
      -
    • : Enables video screenshot and upload.
    • -
    • : Disables video screenshot and upload.
    • -
    -
    - - config - Configuration of video screenshot and upload. See .When the video moderation module is set to video moderation via Agora self-developed extension(), the video screenshot and upload dynamic library is required. Deleting this library disables the screenshot and upload feature. - - -
    + + enabled + Whether to enable video screenshot and uploadvideo + content moderation:
      +
    • : Enables video screenshot and + upload.
    • +
    • : Disables video screenshot and + upload.
    • +
    +
    + + config + Configuration of video screenshot and upload. See .When the video moderation + module is set to video moderation via Agora self-developed + extension(), the + video screenshot and upload dynamic library is required. Deleting this + library disables the screenshot and upload feature. + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita index 6ba1e17dda8..970bbe9a2e5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablecustomaudiolocalplayback.dita @@ -2,7 +2,8 @@ <ph keyref="enableCustomAudioLocalPlayback"/> - Sets whether to enable the local playback of external audio source. + Sets whether to enable the local playback of external + audio source. @@ -26,31 +27,41 @@ enabled: boolean ): number;
    Future<void> enableCustomAudioLocalPlayback( - {required int trackId, required bool enabled}); + {required int trackId, required bool enabled});
    +
    Details -

    After calling this method to enable the local playback of external audio source, if you need to stop local playback, you can call this method again and set enabled to .

    -

    You can call to adjust the local playback volume of the custom audio track.

    +

    After calling this method to enable the local playback of external audio source, if + you need to stop local playback, you can call this method again and set + enabled to .

    +

    You can call to adjust the local + playback volume of the custom audio track.

    Parameters - - - - - - enabled - - -
    + + + + + + enabled + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode.dita index 94a73703175..34a8cf6397a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode.dita @@ -1,59 +1,70 @@ - <ph keyref="enableDualStreamMode" /> - Enables or disables dual-stream mode on the sender side. + <ph keyref="enableDualStreamMode"/> + Enables or disables dual-stream mode on the sender + side. - +

    - public abstract int enableDualStreamMode(boolean enabled); - - (int)enableDualStreamMode:(BOOL)enabled; - virtual int enableDualStreamMode(bool enabled) = 0; - - public abstract int EnableDualStreamMode(bool enabled); - -

    + public abstract int enableDualStreamMode(boolean enabled); + - (int)enableDualStreamMode:(BOOL)enabled; + virtual int enableDualStreamMode(bool enabled) = 0; + + public abstract int EnableDualStreamMode(bool enabled); + + +

    Details
    Deprecated:
    -
    This method is deprecated as of v4.2.0. Use instead.
    +
    This method is deprecated as of v4.2.0. Use instead.
    -
    +

    Dual streams are a pairing of a high-quality video stream and a low-quality video stream:

      -
    • High-quality video stream: High bitrate, high resolution.
    • -
    • Low-quality video stream: Low bitrate, low resolution.
    • -

    -

    After you enable dual-stream mode, you can call to choose to receive either the high-quality video stream or the low-quality video stream on the subscriber side.

    +
  • High-quality video stream: High bitrate, high resolution.
  • +
  • Low-quality video stream: Low bitrate, low resolution.
  • +

    +

    After you enable dual-stream mode, you can call to choose to receive either the high-quality + video stream or the low-quality video stream on the subscriber side.

    -
    +
    Parameters - - enabled - -

    Whether to enable dual-stream mode:

      -
    • : Enable dual-stream mode.
    • -
    • : (Default) Disable dual-stream mode.
    • -

    -
    -
    -
    + + enabled + +

    Whether to enable dual-stream mode:

      +
    • : Enable dual-stream + mode.
    • +
    • : (Default) Disable + dual-stream mode.
    • +
    +

    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita index f79c8b4f19b..81c327adfe7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode2.dita @@ -1,78 +1,92 @@ - <ph keyref="enableDualStreamMode2" /> + <ph keyref="enableDualStreamMode2"/> Enables or disables dual-stream mode. - +

    - public abstract int enableDualStreamMode(Constants.VideoSourceType sourceType, boolean enabled); - - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled; - virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0; - abstract enableDualStreamMode( + public abstract int enableDualStreamMode(Constants.VideoSourceType sourceType, boolean enabled); + - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled; + virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0; + abstract enableDualStreamMode( enabled: boolean, sourceType?: VideoSourceType, streamConfig?: SimulcastStreamConfig ): number; - public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled); - abstract enableDualStreamMode( + public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled); + abstract enableDualStreamMode( enabled: boolean, sourceType?: VideoSourceType, streamConfig?: SimulcastStreamConfig ): number; - Future<void> enableDualStreamMode(bool enabled); -

    + Future<void> enableDualStreamMode(bool enabled); +

    Details -
    +
    Deprecated:
    -
    This method is deprecated as of v4.2.0. Use instead.
    +
    This method is deprecated as of v4.2.0. Use instead.
    -
    -

    You can call this method to enable or disable the dual-stream mode on the publisher side. Dual streams are a pairing of a high-quality video stream and a low-quality video stream:

      -
    • High-quality video stream: High bitrate, high resolution.
    • -
    • Low-quality video stream: Low bitrate, low resolution.
    • -

    -

    After you enable dual-stream mode, you can call to choose to receive either the high-quality video stream or the low-quality video stream on the subscriber side.

    +
    +

    You can call this method to enable or disable the dual-stream mode on the + publisher side. Dual streams are a pairing of a high-quality video stream and a + low-quality video stream:

      +
    • High-quality video stream: High bitrate, high resolution.
    • +
    • Low-quality video stream: Low bitrate, low resolution.
    • +

    +

    After you enable dual-stream mode, you can call to choose to receive either the high-quality + video stream or the low-quality video stream on the subscriber side.

    -
      -
    • This method is applicable to all types of streams from the sender, including but not limited to video streams collected from cameras, screen sharing streams, and custom-collected video streams.
    • -
    • If you need to enable dual video streams in a multi-channel scenario, you can call the method.
    • -
    • You can call this method either before or after joining a channel.
    • +
        +
      • This method is applicable to all types of streams from the sender, including + but not limited to video streams collected from cameras, screen sharing + streams, and custom-collected video streams.
      • +
      • If you need to enable dual video streams in a multi-channel scenario, you + can call the method.
      • +
      • You can call this method either before or after joining a channel.
    Parameters - - sourceType - -

    The type of the video source. See .

    -
    -
    - - enabled - -

    Whether to enable dual-stream mode:

      -
    • : Enable dual-stream mode.
    • -
    • : Disable dual-stream mode.
    • -

    -
    -
    -
    + + sourceType + +

    The type of the video source. See .

    +
    +
    + + enabled + +

    Whether to enable dual-stream mode:

      +
    • : Enable dual-stream + mode.
    • +
    • : Disable dual-stream + mode.
    • +
    +

    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode3.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode3.dita index 2b609a67bcf..5267f5b1cb6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode3.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enabledualstreammode3.dita @@ -2,7 +2,8 @@ <ph keyref="enableDualStreamMode3"/> - Sets the dual-stream mode on the sender side and the low-quality video stream. + Sets the dual-stream mode on the sender side and the + low-quality video stream. @@ -13,51 +14,66 @@

    - public abstract int enableDualStreamMode(boolean enabled, SimulcastStreamConfig streamConfig); - - (int)enableDualStreamMode:(BOOL)enabled + public abstract int enableDualStreamMode(boolean enabled, SimulcastStreamConfig streamConfig); + - (int)enableDualStreamMode:(BOOL)enabled streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig; - virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int enableDualStreamMode(bool enabled, const SimulcastStreamConfig& streamConfig) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableDualStreamMode(bool enabled, const FSimulcastStreamConfig& streamConfig); - abstract enableDualStreamMode( + abstract enableDualStreamMode( enabled: boolean, streamConfig?: SimulcastStreamConfig ): number; - public abstract int EnableDualStreamMode(bool enabled, SimulcastStreamConfig streamConfig); - abstract enableDualStreamMode( + public abstract int EnableDualStreamMode(bool enabled, SimulcastStreamConfig streamConfig); + abstract enableDualStreamMode( enabled: boolean, streamConfig?: SimulcastStreamConfig ): number; - Future<void> enableDualStreamMode( + Future<void> enableDualStreamMode( {required bool enabled, SimulcastStreamConfig? streamConfig}); -

    +

    -
    +
    Parameters - - enabled - -

    Whether to enable dual-stream mode:

      -
    • : Enable dual-stream mode.
    • -
    • : (Default) Disable dual-stream mode.
    • -

    -
    -
    - - streamConfig - -

    The configuration of the low-quality video stream. See .When setting mode to , setting streamConfig will not take effect.

    -
    -
    -
    + + enabled + +

    Whether to enable dual-stream mode:

      +
    • : Enable dual-stream + mode.
    • +
    • : (Default) Disable + dual-stream mode.
    • +
    +

    +
    +
    + + streamConfig + +

    The configuration of the low-quality video stream. See .When setting + mode to , setting + streamConfig will not take + effect.

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableechocancellationexternal.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableechocancellationexternal.dita index 256c3fc2e58..dfa1839f7d6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableechocancellationexternal.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableechocancellationexternal.dita @@ -1,63 +1,79 @@ - <ph keyref="enableEchoCancellationExternal" /> - Enables or disables the custom echo cancellation. + <ph keyref="enableEchoCancellationExternal"/> + Enables or disables the custom echo + cancellation. - +

    - public abstract int enableEchoCancellationExternal(boolean enabled, int audioSourceDelay); - - (int)enableEchoCancellationExternal:(BOOL)enabled + public abstract int enableEchoCancellationExternal(boolean enabled, int audioSourceDelay); + - (int)enableEchoCancellationExternal:(BOOL)enabled audioSourceDelay:(NSInteger)audioSourceDelay; - virtual int enableEchoCancellationExternal(bool enabled, int audioSourceDelay) = 0; - abstract enableEchoCancellationExternal( + virtual int enableEchoCancellationExternal(bool enabled, int audioSourceDelay) = 0; + abstract enableEchoCancellationExternal( enabled: boolean, audioSourceDelay: number ): number; - public abstract int EnableEchoCancellationExternal(bool enabled, int audioSourceDelay); - abstract enableEchoCancellationExternal( + public abstract int EnableEchoCancellationExternal(bool enabled, int audioSourceDelay); + abstract enableEchoCancellationExternal( enabled: boolean, audioSourceDelay: number ): number; - Future<void> enableEchoCancellationExternal( + Future<void> enableEchoCancellationExternal( {required bool enabled, required int audioSourceDelay}); -

    +

    Details -

    After calling this method, you can push external audio frames to the custom audio module for echo cancellation.

    - Before calling this method, ensure it is called before joining a channel and is called.
    +

    After calling this method, you can push external audio frames to the custom audio + module for echo cancellation.

    + Before calling this method, ensure it is called before joining a + channel and is called. +
    Parameters - - enabled - Set whether to enable custom echo cancellation:
      -
    • : Enable echo cancellation.
    • -
    • : Disable echo cancellation.
    • -
    -
    - - audioSourceDelay - Sets the time (in milliseconds) between pushing audio frames and publishing audio frames. The value range is [0, 30].
      -
    • To call , ensure this parameter is set to 0.
    • -
    • To call or process the audio frame captured by the sound card, ensure that this parameter is an integer multiple of 10.
    • -
    -
    -
    + + enabled + Set whether to enable custom echo cancellation:
      +
    • : Enable echo cancellation.
    • +
    • : Disable echo + cancellation.
    • +
    +
    +
    + + audioSourceDelay + Sets the time (in milliseconds) between pushing audio frames and publishing + audio frames. The value range is [0, 30].
      +
    • To call , ensure this + parameter is set to 0.
    • +
    • To call or process the audio + frame captured by the sound card, ensure that this parameter is an + integer multiple of 10.
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableencryption.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableencryption.dita index b85f7a3623f..38613293b34 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableencryption.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableencryption.dita @@ -1,62 +1,87 @@ - <ph keyref="enableEncryption" /> - Enables or disables the built-in encryption. + + <ph keyref="enableEncryption"/> + + Enables or disables the built-in + encryption. - +

    - public abstract int enableEncryption(boolean enabled, EncryptionConfig config); - - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config; - virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableEncryption(boolean enabled, EncryptionConfig config); + - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config; + virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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( + 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}); -

    +

    - Details -

    In scenarios requiring high security, Agora recommends calling this method to enable the built-in encryption before joining a channel.

    -

    All users in the same channel must use the same encryption mode and encryption key. After the user leaves the channel, the SDK automatically disables the built-in encryption. To enable the built-in encryption, call this method before the user joins the channel again.

    - If you enable the built-in encryption, you cannot use the Media Push function.
    + Details +

    In scenarios requiring high security, Agora recommends calling this + method to enable the built-in encryption before joining a channel.

    +

    All users in the same channel must use the same encryption mode and + encryption key. After the user leaves the channel, the SDK automatically + disables the built-in encryption. To enable the built-in encryption, call this + method before the user joins the channel again.

    + If you enable the built-in encryption, you cannot use the + Media Push function. +
    Parameters - - enabled - -

    Whether to enable built-in encryption:

      -
    • : Enable the built-in encryption.
    • -
    • : (Default) Disable the built-in encryption.
    • -

    -
    -
    - - config - Built-in encryption configurations. See . - -
    + + enabled + +

    Whether to enable built-in encryption:

      +
    • : Enable the built-in + encryption.
    • +
    • : (Default) Disable the built-in + encryption.
    • +
    +

    +
    +
    + + config + Built-in encryption configurations. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when + fails, the exception is thrown. You need to + catch the exception and handle it accordingly. See for details and resolution + suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure.
        -
      • -2: An invalid parameter is used. Set the parameter with a valid value.
      • -
      • -4: The built-in encryption mode is incorrect or the SDK fails to load the external encryption library. Check the enumeration or reload the external encryption library.
      • -
      • -7: The SDK is not initialized. Initialize the instance before calling this method.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
      +
    • -2: An invalid parameter is used. Set the parameter with a valid + value.
    • +
    • -4: The built-in encryption mode is incorrect or the SDK fails to + load the external encryption library. Check the enumeration or + reload the external encryption library.
    • +
    • -7: The SDK is not initialized. Initialize the instance before calling this + method.
    • +
    +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableextension.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableextension.dita index 11fa58cc046..2b158171ce2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableextension.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableextension.dita @@ -1,91 +1,104 @@ - <ph keyref="enableExtension" /> + <ph keyref="enableExtension"/> Enables or disables extensions. - +

    - public abstract int enableExtension( + public abstract int enableExtension( String provider, String extension, boolean enable, Constants.MediaSourceType sourceType); - - (int)enableExtensionWithVendor:(NSString * __nonnull)provider + - (int)enableExtensionWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension enabled:(BOOL)enabled sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableExtension(withVendor:extension:enabled:sourceType:)); - virtual int enableExtension(const char* provider, const char* extension, bool enable=true, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + 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|RtcEngineProxy") int EnableExtension(FString provider, FString extension, bool enable = true, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE); - abstract enableExtension( + abstract enableExtension( provider: string, extension: string, enable?: boolean, type?: MediaSourceType ): number; - public abstract int EnableExtension(string provider, string extension, bool enable = true, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); - abstract enableExtension( + public abstract int EnableExtension(string provider, string extension, bool enable = true, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); + abstract enableExtension( provider: string, extension: string, enable?: boolean, type?: MediaSourceType ): number; - Future<void> enableExtension( + Future<void> enableExtension( {required String provider, required String extension, bool enable = true, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

    Details -

    To call this method, call it immediately after initializing the object.

    +

    To call this method, call it immediately after initializing the object.

      -
    • If you want to enable multiple extensions, you need to call this method multiple times.
    • -
    • The data processing order of different extensions in the SDK is determined by the order in which the extensions are enabled. That is, the extension that is enabled first will process the data first.
    • -
    +
  • If you want to enable multiple extensions, you need to call this method + multiple times.
  • +
  • The data processing order of different extensions in the SDK is determined + by the order in which the extensions are enabled. That is, the extension + that is enabled first will process the data first.
  • + + +
    Parameters - - - - - - - - - - enable - enabled - -

    Whether to enable the extension:

      -
    • : Enable the extension.
    • -
    • : Disable the extension.
    • -

    -
    -
    - - type - sourceType - Source type of the extension. See . - -
    + + + + + + + + + + enable + enabled + +

    Whether to enable the extension:

      +
    • : Enable the extension.
    • +
    • : Disable the + extension.
    • +

    +
    +
    + + type + sourceType + Source type of the extension. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure.
        -
      • -3: The extension library is not loaded. Agora recommends that you check the storage location or the name of the dynamic library.
      • -
      -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
      +
    • -3: The extension library is not loaded. Agora recommends that you check + the storage location or the name of the dynamic library.
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita index 0312229f77f..7ab88cd0cd5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablefacedetection.dita @@ -1,58 +1,72 @@ - <ph keyref="enableFaceDetection" /> - Enables or disables face detection for the local user. + <ph keyref="enableFaceDetection"/> + Enables or disables face detection for the local + user. - +

    - public abstract int enableFaceDetection(boolean enabled); - - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:)); - virtual int enableFaceDetection(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableFaceDetection(boolean enabled); + - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:)); + virtual int enableFaceDetection(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + public abstract int EnableFaceDetection(bool enabled); + abstract enableFaceDetection(enabled: boolean): number; + abstract enableFaceDetection(enabled: boolean): number; + Future<void> enableFaceDetection(bool enabled); +

    Details

    You can call this method either before or after joining a channel.

    - This method is for Android and iOS only. -

    Once face detection is enabled, the SDK triggers the callback to report the face information of the local user, which includes the following:

      -
    • The width and height of the local video.
    • -
    • The position of the human face in the local view.
    • -
    • The distance between the human face and the screen.
    • -

    -

    This method needs to be called after the camera is started (for example, by calling or ).

    + This method is for Android + and iOS only. +

    Once face detection is enabled, the SDK triggers the callback to report the face information of the + local user, which includes the following:

      +
    • The width and height of the local video.
    • +
    • The position of the human face in the local view.
    • +
    • The distance between the human face and the screen.
    • +
    +

    +

    This method needs to be called after the camera is started (for example, by calling + or ).

    Parameters - - enable - enabled - Whether to enable face detection for the local user:
      -
    • : Enable face detection.
    • -
    • : (Default) Disable face detection.
    • -
    -
    -
    + + enable + enabled + Whether to enable face detection for the local user:
      +
    • : Enable face detection.
    • +
    • : (Default) Disable face + detection.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablefishcorrection.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablefishcorrection.dita index cc663615d0b..cbcfcf7d266 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablefishcorrection.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablefishcorrection.dita @@ -2,36 +2,37 @@ enableFishCorrection - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita index dabc9fae4c1..a02f7c7099b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring.dita @@ -13,18 +13,18 @@

    - public abstract int enableInEarMonitoring(boolean enabled); - - (int)enableInEarMonitoring:(BOOL)enabled; - - - public abstract int EnableInEarMonitoring(bool enabled); - - -

    + public abstract int enableInEarMonitoring(boolean enabled); + - (int)enableInEarMonitoring:(BOOL)enabled; + + + public abstract int EnableInEarMonitoring(bool enabled); + + +

    Details -
    +
    Since
    v4.0.1
    @@ -32,28 +32,39 @@

    This method enables or disables in-ear monitoring.

    -
      -
    • This method applies to Android and iOS only.
    • -
    • Users must use earphones (wired or Bluetooth) to hear the in-ear monitoring effect.
    • -
    • You can call this method either before or after joining a channel.
    • -
    +
      +
    • This method applies to Android and iOS only.
    • +
    • Users must use earphones (wired or Bluetooth) to hear the in-ear monitoring + effect.
    • +
    • You can call this method either before or after joining a channel.
    • +
    + +
    Parameters - - enabled - Enables in-ear monitoring.
      -
    • : Enables in-ear monitoring.
    • -
    • : (Default) Disables in-ear monitoring.
    • -
    -
    -
    + + enabled + Enables in-ear monitoring.
      +
    • : Enables in-ear + monitoring.
    • +
    • : (Default) Disables in-ear + monitoring.
    • +
    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
      • - 8: Make sure the current audio routing is Bluetooth or headset.
      -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • - 8: Make sure the current audio routing is Bluetooth or headset.
    • +
    +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita index 465721187a8..67d9eb78a3e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableinearmonitoring2.dita @@ -13,63 +13,95 @@

    - public abstract int enableInEarMonitoring(boolean enabled, int includeAudioFilters); - - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters; - virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableInEarMonitoring(boolean enabled, int includeAudioFilters); + - (int)enableInEarMonitoring:(BOOL)enabled includeAudioFilters:(AgoraEarMonitoringFilterType)includeAudioFilters; + virtual int enableInEarMonitoring(bool enabled, int includeAudioFilters) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableInEarMonitoring(bool enabled, int includeAudioFilters); - abstract enableInEarMonitoring( + abstract enableInEarMonitoring( enabled: boolean, includeAudioFilters: EarMonitoringFilterType ): number; - public abstract int EnableInEarMonitoring(bool enabled, int includeAudioFilters); - abstract enableInEarMonitoring( + public abstract int EnableInEarMonitoring(bool enabled, int includeAudioFilters); + abstract enableInEarMonitoring( enabled: boolean, includeAudioFilters: EarMonitoringFilterType ): number; - Future<void> enableInEarMonitoring( + Future<void> enableInEarMonitoring( {required bool enabled, required EarMonitoringFilterType includeAudioFilters}); -

    +

    Details

    This method enables or disables in-ear monitoring.

    -
      -
    • Users must use earphones (wired or Bluetooth) to hear the in-ear monitoring effect.
    • -
    • You can call this method either before or after joining a channel.
    • -
    +
      +
    • Users must use earphones (wired or Bluetooth) to hear the in-ear monitoring + effect.
    • +
    • You can call this method either before or after joining a channel.
    • +
    +
    Parameters - - enabled - Enables or disables in-ear monitoring.
      -
    • : Enables in-ear monitoring.
    • -
    • : (Default) Disables in-ear monitoring.
    • -
    -
    - - includeAudioFilters - The audio filter types of in-ear monitoring. See . - The audio filter types of in-ear monitoring:
      -
    • (1 << 0): No audio filter added to in-ear monitoring.
    • -
    • (1 << 1): Add vocal effects audio filter to in-ear monitoring. If you implement functions such as voice beautifier and audio effect, users can hear the voice after adding these effects. This enumerator supports combination using the bitwise OR operator (|).
    • -
    • (1 << 2): Add noise suppression audio filter to in-ear monitoring. This enumerator supports combination using the bitwise OR operator (|).
    • -
    • (1 <<15): Reuse the audio filter that has been processed on the sending end for in-ear monitoring. This enumerator reduces CPU usage while increasing in-ear monitoring latency, which is suitable for latency-tolerant scenarios requiring low CPU consumption. This enumerator is only supported for standalone use. Once selected, other audio filter configurations will be automatically disabled.
    • -
    - This parameter only takes effect when enabled is set as . + + enabled + Enables or disables in-ear monitoring.
      +
    • : Enables in-ear + monitoring.
    • +
    • : (Default) Disables in-ear + monitoring.
    • +
    +
    + + includeAudioFilters + The audio filter + types of in-ear monitoring. See . + The audio filter types of in-ear monitoring:
      +
    • (1 << 0): No audio + filter added to in-ear monitoring.
    • +
    • (1 + << 1): Add vocal effects audio filter to in-ear monitoring. If + you implement functions such as voice beautifier and audio effect, + users can hear the voice after adding these effects. This enumerator + supports combination using the bitwise OR operator (|).
    • +
    • (1 << + 2): Add noise suppression audio filter to in-ear monitoring. This + enumerator supports combination using the bitwise OR operator + (|).
    • +
    • (1 + <<15): Reuse the audio filter that has been processed on the + sending end for in-ear monitoring. This enumerator reduces CPU usage + while increasing in-ear monitoring latency, which is suitable for + latency-tolerant scenarios requiring low CPU consumption. This + enumerator is only supported for standalone use. Once selected, + other audio filter configurations will be automatically + disabled.
    • +
    + This parameter only takes effect when + enabled is set as .
    -
    -
    + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
      • - 8: Make sure the current audio routing is Bluetooth or headset.
      -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • - 8: Make sure the current audio routing is Bluetooth or headset.
    • +
    +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita index 06bc15c3ac2..09081713844 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableinstantmediarendering.dita @@ -2,7 +2,8 @@ <ph keyref="enableInstantMediaRendering"/> - Enables audio and video frame instant rendering. + Enables audio and video frame instant + rendering. @@ -13,42 +14,57 @@

    - public abstract int enableInstantMediaRendering(); - - (int)enableInstantMediaRendering NS_SWIFT_NAME(enableInstantMediaRendering()); - virtual int enableInstantMediaRendering() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableInstantMediaRendering(); + - (int)enableInstantMediaRendering NS_SWIFT_NAME(enableInstantMediaRendering()); + virtual int enableInstantMediaRendering() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableInstantMediaRendering(); - abstract enableInstantMediaRendering(): number; - public abstract int EnableInstantMediaRendering(); - abstract enableInstantMediaRendering(): number; - Future<void> enableInstantMediaRendering();

    + abstract enableInstantMediaRendering(): number; + public abstract int EnableInstantMediaRendering(); + abstract enableInstantMediaRendering(): number; + Future<void> enableInstantMediaRendering(); +

    Details
    - -
    Since
    -
    v4.1.1
    -
    + +
    Since
    +
    v4.1.1
    +
    -

    After successfully calling this method, the SDK enables the instant frame rendering mode, which can speed up the first frame rendering speed after the user joins the channel. -

      -
    • Once the instant rendering function is enabled, it can only be canceled by calling the method to destroy the object.
    • -
    • In this mode, the SDK uses Agora's custom encryption algorithm to shorten the time required to establish transmission links, and the security is reduced compared to the standard DTLS (Datagram Transport Layer Security). If the application scenario requires higher security standards, Agora recommends that you do not use this method.
    • -
    +

    After successfully calling this method, the SDK enables the instant frame rendering + mode, which can speed up the first frame rendering speed after the user joins the + channel. +

      +
    • Once the instant rendering function is enabled, it can only be canceled + by calling the method to destroy the object.
    • +
    • In this mode, the SDK uses Agora's custom encryption algorithm to + shorten the time required to establish transmission links, and the + security is reduced compared to the standard DTLS (Datagram Transport + Layer Security). If the application scenario requires higher security + standards, Agora recommends that you do not use this method.
    • +

    Applicable scenarios -

    Agora recommends that you enable this mode for the audience in a live streaming scenario.

    +

    Agora recommends that you enable this mode for the audience in a live streaming + scenario.

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -7: The method is called before is initialized.
      • +
      • 0: Success.
      • +
      • < 0: Failure. See for details + and resolution suggestions.
          +
        • -7: The method is called before is + initialized.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablelastmiletest.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablelastmiletest.dita index d9b36965bfa..2ab2cbe4fa3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablelastmiletest.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablelastmiletest.dita @@ -1,8 +1,11 @@ - <ph keyref="enableLastmileTest"/> - Enables the network connection quality test. + + <ph keyref="enableLastmileTest"/> + + Enables the network connection quality + test. @@ -13,34 +16,54 @@

    - - - virtual int enableLastmileTest() = 0; - - public abstract int EnableLastmileTest(); - - -

    + + + virtual int enableLastmileTest() = 0; + + public abstract int EnableLastmileTest(); + + +

    Details -

    This method tests the quality of the users' network connections. By default, this function is disabled. This method applies to the following scenarios:

      -
    • Before a user joins a channel, call this method to check the uplink network quality.
    • -
    • Before an audience switches to a host, call this method to check the uplink network quality.
    • -

    -

    Regardless of the scenario, enabling this method consumes extra network traffic and affects the call quality. After receiving the callback, call to stop the test, and then join the channel or switch to the host.

    +

    This method tests the quality of the users' network connections. By default, this + function is disabled. This method applies to the following scenarios:

      +
    • Before a user joins a channel, call this method to check the uplink network + quality.
    • +
    • Before an audience switches to a host, call this method to check the uplink + network quality.
    • +
    +

    +

    Regardless of the scenario, enabling this method consumes extra network traffic and + affects the call quality. After receiving the + callback, call to stop the test, and then join + the channel or switch to the host.

    -
      -
    • Do not use this method together with .
    • -
    • Do not call any other methods before receiving the callback. Otherwise, the callback may be interrupted by other methods, and hence may not be triggered.
    • -
    • A host should not call this method after joining a channel (when in a call).
    • -
    • If you call this method to test the last mile network quality, the SDK consumes the bandwidth of a video stream, whose bitrate corresponds to the bitrate you set in . After joining a channel, whether you have called or not, the SDK automatically stops consuming the bandwidth.
    • -
    +
      +
    • Do not use this method together with .
    • +
    • Do not call any other methods before receiving the callback. Otherwise, the callback may be + interrupted by other methods, and hence may not be triggered.
    • +
    • A host should not call this method after joining a channel (when in a + call).
    • +
    • If you call this method to test the last mile network quality, the SDK + consumes the bandwidth of a video stream, whose bitrate corresponds to the + bitrate you set in . After + joining a channel, whether you have called or not, the SDK automatically stops + consuming the bandwidth.
    • +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita index 2554355d28d..12e77783fb6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalaudio.dita @@ -1,62 +1,90 @@ - <ph keyref="enableLocalAudio" /> - Enables or disables the local audio capture. + <ph keyref="enableLocalAudio"/> + Enables or disables the local audio + capture. - +

    - public abstract int enableLocalAudio(boolean enabled); - - (int)enableLocalAudio:(BOOL)enabled; - virtual int enableLocalAudio(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableLocalAudio(boolean enabled); + - (int)enableLocalAudio:(BOOL)enabled; + virtual int enableLocalAudio(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract enableLocalAudio(enabled: boolean): number; + public abstract int EnableLocalAudio(bool enabled); + abstract enableLocalAudio(enabled: boolean): number; + Future<void> enableLocalAudio(bool enabled); +

    Details -

    The audio function is enabled by default when users joining a channel. This method disables or re-enables the local audio function to stop or restart local audio capturing.

    -

    This method does not affect receiving the remote audio streams, and () is applicable to scenarios where the user wants to receive remote audio streams without sending any audio stream to other users in the channel.

    -

    Once the local audio function is disabled or re-enabled, the SDK triggers the callback, which reports (0) or (1). -

      -
    • The difference between this method and are as follow:
        -
      • : Disables or re-enables the local audio capturing and processing. If you disable or re-enable local audio capturing using the method, the local user might hear a pause in the remote audio playback.
      • -
      • : Sends or stops sending the local audio streams.
      • -
    • -
    • You can call this method either before or after joining a channel. Calling it before joining a channel only sets the device state, and it takes effect immediately after you join the channel.
    • -

    +

    The audio function is enabled by default when users joining a channel. This method + disables or re-enables the local audio function to stop or restart local audio + capturing.

    +

    This method does not affect receiving the remote audio streams, and () is applicable + to scenarios where the user wants to receive remote audio streams without sending + any audio stream to other users in the channel.

    +

    Once the local audio function is disabled or re-enabled, the SDK triggers the callback, which reports (0) or (1). +

      +
    • The difference between this method and are as follow:
        +
      • : Disables or re-enables the + local audio capturing and processing. If you disable or + re-enable local audio capturing using the method, the local user might + hear a pause in the remote audio playback.
      • +
      • : Sends or stops sending + the local audio streams.
      • +
      +
    • +
    • You can call this method either before or after joining a channel. + Calling it before joining a channel only sets the device state, and it + takes effect immediately after you join the channel.
    • +

    Parameters - - enabled - -

    -

      -
    • : (Default) Re-enable the local audio function, that is, to start the local audio capturing device (for example, the microphone).
    • -
    • : Disable the local audio function, that is, to stop local audio capturing.
    • -

    -
    -
    -
    + + enabled + +

    +

      +
    • : (Default) Re-enable the + local audio function, that is, to start the local audio + capturing device (for example, the microphone).
    • +
    • : Disable the local audio + function, that is, to stop local audio capturing.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita index a00f7f0f8ff..76db4aa5116 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablelocalvideo.dita @@ -1,59 +1,86 @@ - <ph keyref="enableLocalVideo" /> - Enables/Disables the local video capture. + <ph keyref="enableLocalVideo"/> + Enables/Disables the local video + capture. - +

    - public abstract int enableLocalVideo(boolean enabled); - - (int)enableLocalVideo:(BOOL)enabled; - virtual int enableLocalVideo(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableLocalVideo(boolean enabled); + - (int)enableLocalVideo:(BOOL)enabled; + virtual int enableLocalVideo(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract enableLocalVideo(enabled: boolean): number; + public abstract int EnableLocalVideo(bool enabled); + abstract enableLocalVideo(enabled: boolean): number; + Future<void> enableLocalVideo(bool enabled); +

    Details -

    This method disables or re-enables the local video capture, and does not affect receiving the remote video stream.

    -

    After calling , the local video capture is enabled by default.

    -

    If you call () to disable local video capture within the channel, it also simultaneously stops publishing the video stream within the channel. If you want to restart video catpure, you can call () and then call to set the options parameter to publish the locally captured video stream in the channel.

    -

    After the local video capturer is successfully disabled or re-enabled, the SDK triggers the callback on the remote client.

    +

    This method disables or re-enables the local video capture, and does not + affect receiving the remote video stream.

    +

    After calling , the local video capture is enabled by + default.

    +

    If you call () + to disable local video capture within the channel, it also simultaneously stops + publishing the video stream within the channel. If you want to restart video + catpure, you can call () and then call to set the + options parameter to publish the locally captured video + stream in the channel.

    +

    After the local video capturer is successfully disabled or re-enabled, the SDK + triggers the callback on the remote + client.

    -
      -
    • You can call this method either before or after joining a channel.
    • -
    • This method enables the internal engine and is valid after leaving the channel.
    • -
    +
      +
    • You can call this method either before or after joining a channel.
    • +
    • This method enables the internal engine and is valid after leaving the + channel.
    • +
    + +
    Parameters - - enabled - -

    Whether to enable the local video capture.

    -
      -
    • : (Default) Enable the local video capture.
    • -
    • : Disable the local video capture. Once the local video is disabled, the remote users cannot receive the video stream of the local user, while the local user can still receive the video streams of remote users. When set to , this method does not require a local camera.
    • -
    -
    -
    + + enabled + +

    Whether to enable the local video capture.

    +
      +
    • : (Default) Enable the local + video capture.
    • +
    • : Disable the local video + capture. Once the local video is disabled, the remote users cannot + receive the video stream of the local user, while the local user can + still receive the video streams of remote users. When set to + , this method does not + require a local camera.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita index 90786f65e05..9134bd5fd10 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableloopbackrecording.dita @@ -13,61 +13,89 @@

    - - - (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|RtcEngineProxy") + + - (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|RtcEngineProxy") int EnableLoopbackRecording(bool enabled, FString deviceName); - abstract enableLoopbackRecording( + abstract enableLoopbackRecording( enabled: boolean, deviceName?: string ): number; - public abstract int EnableLoopbackRecording(bool enabled, string deviceName = ""); - abstract enableLoopbackRecording( + public abstract int EnableLoopbackRecording(bool enabled, string deviceName = ""); + abstract enableLoopbackRecording( enabled: boolean, deviceName?: string ): number; - Future<void> enableLoopbackRecording( + Future<void> enableLoopbackRecording( {required bool enabled, String? deviceName}); -

    +

    Details -

    If you enable loopback audio capturing, the output of the sound card is mixed into the audio stream sent to the other end.

    +

    If you enable loopback audio capturing, the output of the sound card is mixed into + the audio stream sent to the other end.

    -
      -
    • This method applies to the macOS and Windows only.
    • -
    • macOS does not support loopback audio capture of the default sound card. If you need to use this function, use a virtual sound card and pass its name to the deviceName parameter. Agora recommends using AgoraALD as the virtual sound card for audio capturing.
    • -
    • You can call this method either before or after joining a channel.
    • -
    • If you call the method to disable the audio module, audio capturing will be disabled as well. If you need to enable audio capturing, call the method to enable the audio module and then call the method.
    • -
    +
      +
    • This method applies to the macOS and + Windows only.
    • +
    • macOS does not support + loopback audio capture of the default sound card. If you need to use this + function, use a virtual sound card and pass its name to the + deviceName parameter. Agora recommends using + AgoraALD as the virtual sound card for audio capturing.
    • +
    • You can call this method either before or after joining a channel.
    • +
    • If you call the method to disable the audio + module, audio capturing will be disabled as well. If you need to enable + audio capturing, call the method to enable the + audio module and then call the + method.
    • +
    + +
    Parameters - - enabled - Sets whether to enable loopback audio capturing.
      -
    • : Enable loopback audio capturing.
    • -
    • : (Default) Disable loopback audio capturing.
    • -
    -
    - - deviceName - The device name of the virtual sound card. The default value is set to NULL, which means using AgoraALD for loopback audio capturing. - The device name of the sound card. The default is set to NULL, which means the SDK uses the sound card of your device for loopback audio capturing. - -
      -
    • macOS: The device name of the virtual sound card. The default value is set to NULL, which means using AgoraALD for loopback audio capturing.
    • -
    • Windows: The device name of the sound card. The default is set to NULL, which means the SDK uses the sound card of your device for loopback audio capturing.
    • -
    -
    -
    + + enabled + Sets whether to enable loopback audio capturing.
      +
    • : Enable loopback audio + capturing.
    • +
    • : (Default) Disable loopback + audio capturing.
    • +
    +
    + + deviceName + The device name of the virtual sound card. The default value is + set to NULL, which means using AgoraALD for loopback audio capturing. + The device name of the sound card. The default is set to NULL, + which means the SDK uses the sound card of your device for loopback audio + capturing. + +
      +
    • macOS: The device name of the virtual sound card. The default value + is set to NULL, which means using AgoraALD for loopback audio + capturing.
    • +
    • Windows: The device name of the sound card. The default is set to + NULL, which means the SDK uses the sound card of your device for + loopback audio capturing.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablemainqueuedispatch.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablemainqueuedispatch.dita index 81537e94260..587d155ea16 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablemainqueuedispatch.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablemainqueuedispatch.dita @@ -2,7 +2,8 @@ <ph keyref="enableMainQueueDispatch"/> - Enables or disables dispatching delegate methods to the main queue. + Enables or disables dispatching delegate methods to the + main queue. @@ -13,16 +14,16 @@

    - - - (int)enableMainQueueDispatch:(BOOL)enabled; - - removeAllListeners?<EventType extends keyof IMediaEngineEvent>( + + - (int)enableMainQueueDispatch:(BOOL)enabled; + + removeAllListeners?<EventType extends keyof IMediaEngineEvent>( eventType?: EventType ): void; - - - -

    + + + +

    @@ -30,11 +31,12 @@

    Parameters - - - - -
    + + + + + +
    Returns
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita index 0410d849152..33f65badea0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablemulticamera.dita @@ -2,7 +2,8 @@ <ph keyref="enableMultiCamera"/> - Enables or disables multi-camera capture. + Enables or disables multi-camera + capture. @@ -13,80 +14,101 @@

    - - - (int)enableMultiCamera:(BOOL)enabled config:(AgoraCameraCapturerConfiguration* _Nullable)config NS_SWIFT_NAME(enableMultiCamera(_:config:)); - #if defined(__APPLE__) && TARGET_OS_IOS + + - (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|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableMultiCamera(bool enabled, const FCameraCapturerConfiguration& config); - abstract enableMultiCamera( + abstract enableMultiCamera( enabled: boolean, config: CameraCapturerConfiguration ): number; - public abstract int EnableMultiCamera(bool enabled, CameraCapturerConfiguration config); - abstract enableMultiCamera( + public abstract int EnableMultiCamera(bool enabled, CameraCapturerConfiguration config); + abstract enableMultiCamera( enabled: boolean, config: CameraCapturerConfiguration ): number; - Future<void> enableMultiCamera( + Future<void> enableMultiCamera( {required bool enabled, required CameraCapturerConfiguration config}); -

    +

    Details
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    In scenarios where there are existing cameras to capture video, Agora recommends that you use the following steps to capture and publish video with multiple cameras:

      -
    1. Call this method to enable multi-channel camera capture.
    2. -
    3. Call to start the local video preview.
    4. -
    5. Call , and set sourceType to start video capture with the second camera.
    6. -
    7. Call , and set publishSecondaryCameraTrack to to publish the video stream captured by the second camera in the channel.
    8. -

    +

    In scenarios where there are existing cameras to capture video, Agora recommends that + you use the following steps to capture and publish video with multiple cameras:

      +
    1. Call this method to enable multi-channel camera capture.
    2. +
    3. Call to start the local video preview.
    4. +
    5. Call , and set + sourceType to start video capture with the second + camera.
    6. +
    7. Call , and set + publishSecondaryCameraTrack to to publish the video stream captured by the + second camera in the channel.
    8. +

    If you want to disable multi-channel camera capture, use the following steps:

      -
    1. Call .
    2. -
    3. Call this method with enabled set to .
    4. -

    +
  • Call .
  • +
  • Call this method with enabled set to .
  • +

    -

    You can call this method before and after to enable multi-camera capture:

      -
    • If it is enabled before , the local video preview shows the image captured by the two cameras at the same time.
    • -
    • If it is enabled after , the SDK stops the current camera capture first, and then enables the primary camera and the second camera. The local video preview appears black for a short time, and then automatically returns to normal.
    • -

    +

    You can call this method before and after to + enable multi-camera capture:

      +
    • If it is enabled before , the local + video preview shows the image captured by the two cameras at the same + time.
    • +
    • If it is enabled after , the SDK stops + the current camera capture first, and then enables the primary camera + and the second camera. The local video preview appears black for a short + time, and then automatically returns to normal.
    • +

    This method applies to iOS only.

    When using this function, ensure that the system version is 13.0 or later.

    The minimum iOS device types that support multi-camera capture are as follows:

      -
    • iPhone XR
    • -
    • iPhone XS
    • -
    • iPhone XS Max
    • -
    • iPad Pro 3rd generation and later
    • -

    +
  • iPhone XR
  • +
  • iPhone XS
  • +
  • iPhone XS Max
  • +
  • iPad Pro 3rd generation and later
  • +

    Parameters - - enabled - Whether to enable multi-camera video capture mode:
      -
    • : Enable multi-camera capture mode; the SDK uses multiple cameras to capture video.
    • -
    • : Disable multi-camera capture mode; the SDK uses a single camera to capture video.
    • -
    -
    - - config - Capture configuration for the second camera. See . - -
    + + enabled + Whether to enable multi-camera video capture mode:
      +
    • : Enable multi-camera capture + mode; the SDK uses multiple cameras to capture video.
    • +
    • : Disable multi-camera capture + mode; the SDK uses a single camera to capture video.
    • +
    +
    + + config + Capture configuration for the second camera. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableplugin.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableplugin.dita index 9128972c0b2..65d3aca77cb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableplugin.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableplugin.dita @@ -1,47 +1,50 @@ - <ph keyref="enablePlugin" /> - Enable or disable the specified plug-in. + <ph keyref="enablePlugin"/> + Enable or disable the specified + plug-in. - +

    - - - - - - - -

    + + + + + + + +

    Parameters - - - - - - enabled - Whether to enable the plug-in:
      -
    • : Enable the plug-in.
    • -
    • : Disable the plug-in.
    • -
    -
    -
    + + + + + + enabled + Whether to enable the plug-in:
      +
    • : Enable the plug-in.
    • +
    • : Disable the plug-in.
    • +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enableremotesuperresolution.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enableremotesuperresolution.dita index 3af1d88dcfd..1a5b1ac64d5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enableremotesuperresolution.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enableremotesuperresolution.dita @@ -1,94 +1,135 @@ - <ph keyref="enableRemoteSuperResolution" /> - Enables/Disables the super resolution algorithm for a remote user's video stream. + <ph keyref="enableRemoteSuperResolution"/> + Enables/Disables the super resolution algorithm for a + remote user's video stream. - +

    - public abstract int enableRemoteSuperResolution(int uid, boolean enable); - - (int)enableRemoteSuperResolution:(NSUInteger)uid enable:(BOOL)enable; - virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0; - abstract enableRemoteSuperResolution(userId: number, enable: boolean): number; - public abstract int EnableRemoteSuperResolution(uint userId, bool enable); - abstract enableRemoteSuperResolution(userId: number, enable: boolean): number; - Future<void> enableRemoteSuperResolution( + public abstract int enableRemoteSuperResolution(int uid, boolean enable); + - (int)enableRemoteSuperResolution:(NSUInteger)uid enable:(BOOL)enable; + virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0; + abstract enableRemoteSuperResolution(userId: number, enable: boolean): number; + public abstract int EnableRemoteSuperResolution(uint userId, bool enable); + abstract enableRemoteSuperResolution(userId: number, enable: boolean): number; + Future<void> enableRemoteSuperResolution( {required int userId, required bool enable}); -

    +

    Details -

    This function can effectively improve the resolution of the remote video picture seen by the local user, that is, the width and height (pixels) of the video received by the specified remote user are enlarged to 2 times original size.

    -

    After calling this method, you can confirm whether super resolution is successfully enabled through the remote video stream statistics () in the callback:

      -
    • If the parameter superResolutionType >0: Super resolution is enabled.
    • -
    • If the parameter superResolutionType =0: Super resolution is not enabled.
    +

    This function can effectively improve the resolution of the remote video picture seen + by the local user, that is, the width and height (pixels) of the video received by + the specified remote user are enlarged to 2 times original size.

    +

    After calling this method, you can confirm whether super resolution is successfully + enabled through the remote video stream statistics () in the callback:

      +
    • If the parameter superResolutionType >0: Super + resolution is enabled.
    • +
    • If the parameter superResolutionType =0: Super + resolution is not enabled.
    • +

    -

    The super resolution feature requires extra system resources. To balance the visual experience and system consumption, this feature can only be enabled for a single remote user. If the local user uses super resolution on Android, the original resolution of the remote user's video cannot exceed 640 × 360 pixels; if the local user uses super resolution on iOS, the original resolution of the remote user's video cannot exceed 640 × 480 pixels.

    -

    The super resolution feature requires extra system resources. To balance the visual experience and system consumption, this feature can only be enabled for a single remote user. If the local user uses super resolution on Android, the original resolution of the remote user's video cannot exceed 640 × 360640 × 480 pixels.

    -

    The super resolution feature requires extra system resources. To balance the visual experience and system consumption, this feature can only be enabled for a single remote user. If the local user uses super resolution on Android, the original resolution of the remote user's video cannot exceed 640 × 360 pixels; if the local user uses super resolution on iOS, the original resolution of the remote user's video cannot exceed 640 × 480 pixels.

    +

    The super resolution feature requires + extra system resources. To balance the visual experience and system consumption, + this feature can only be enabled for a single remote user. If the local user + uses super resolution on Android, the original resolution of the remote user's + video cannot exceed 640 × 360 pixels; if the local user uses super resolution on + iOS, the original resolution of the remote user's video cannot exceed 640 × 480 + pixels.

    +

    The super resolution feature requires extra system resources. + To balance the visual experience and system consumption, this feature can only + be enabled for a single remote user. If the local user uses super resolution on + Android, the original resolution of the remote user's video cannot exceed 640 × 360640 × 480 pixels.

    +

    The super resolution feature requires extra system resources. To + balance the visual experience and system consumption, this feature can only be + enabled for a single remote user. If the local user uses super resolution on + Android, the original resolution of the remote user's video cannot exceed 640 × + 360 pixels; if the local user uses super resolution on iOS, the original + resolution of the remote user's video cannot exceed 640 × 480 pixels.

    -
      -
    • This method applies to Android and iOS only.
    • -
    • This method relies on the super resolution dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • -
    • This method has certain requirements on devices. Agora recommends you use the following devices or higher:
        -
      • Android:
          -
        • VIVO: V1821A, NEX S, 1914A, 1916A, 1962A, 1824BA, X60, X60 Pro
        • -
        • OPPO: PCCM00, Find X3
        • -
        • OnePlus: A6000
        • -
        • Xiaomi: Mi 8, Mi 9, Mi 10, Mi 11, MIX3, Redmi K20 Pro
        • -
        • SAMSUNG: SM-G9600, SM-G9650, SM-N9600, SM-G9708, SM-G960U, SM-G9750, S20, S21
        • -
        • HUAWEI: SEA-AL00, ELE-AL00, VOG-AL00, YAL-AL10, HMA-AL00, EVR-AN00, nova 4, nova 5 Pro, nova 6 5G, nova 7 5G, Mate 30, Mate 30 Pro, Mate 40, Mate 40 Pro, P40, P40 Pro, Huawei M6, MatePad 10.8
        • -
      • -
      • iOS:
          -
        • iPhone XR
        • -
        • iPhone XS
        • -
        • iPhone XS Max
        • -
        • iPhone 11
        • -
        • iPhone 11 Pro
        • -
        • iPhone 11 Pro Max
        • -
        • iPhone 12
        • -
        • iPhone 12 mini
        • -
        • iPhone 12 Pro
        • -
        • iPhone 12 Pro Max
        • -
        • iPhone 12 SE (2nd generation)
        • -
        • iPad Pro 11-inch (3rd generation)
        • -
        • iPad Pro 12.9-inch (3rd generation)
        • -
        • iPad Air 3 (3rd generation)
        • -
        • iPad Air 3 (4th generation)
        • -
      • -
    • -
    +
      +
    • This method applies to Android and + iOS only.
    • +
    • This method relies on the super resolution dynamic library . If the dynamic library is + deleted, the function cannot be enabled normally.
    • +
    • This method has certain requirements on devices. Agora recommends you use + the following devices or higher:
        +
      • Android:
          +
        • VIVO: V1821A, NEX S, 1914A, 1916A, 1962A, 1824BA, X60, X60 + Pro
        • +
        • OPPO: PCCM00, Find X3
        • +
        • OnePlus: A6000
        • +
        • Xiaomi: Mi 8, Mi 9, Mi 10, Mi 11, MIX3, Redmi K20 Pro
        • +
        • SAMSUNG: SM-G9600, SM-G9650, SM-N9600, SM-G9708, SM-G960U, + SM-G9750, S20, S21
        • +
        • HUAWEI: SEA-AL00, ELE-AL00, VOG-AL00, YAL-AL10, HMA-AL00, + EVR-AN00, nova 4, nova 5 Pro, nova 6 5G, nova 7 5G, Mate 30, + Mate 30 Pro, Mate 40, Mate 40 Pro, P40, P40 Pro, Huawei M6, + MatePad 10.8
        • +
      • +
      • iOS:
          +
        • iPhone XR
        • +
        • iPhone XS
        • +
        • iPhone XS Max
        • +
        • iPhone 11
        • +
        • iPhone 11 Pro
        • +
        • iPhone 11 Pro Max
        • +
        • iPhone 12
        • +
        • iPhone 12 mini
        • +
        • iPhone 12 Pro
        • +
        • iPhone 12 Pro Max
        • +
        • iPhone 12 SE (2nd generation)
        • +
        • iPad Pro 11-inch (3rd generation)
        • +
        • iPad Pro 12.9-inch (3rd generation)
        • +
        • iPad Air 3 (3rd generation)
        • +
        • iPad Air 3 (4th generation)
        • +
      • +
    • +
    + +
    Parameters - - userId - uid - The user ID of the remote user. - - - enable - Whether to enable super resolution for the remote user’s video:
      -
    • :Enable super resolution.
    • -
    • : Disable super resolution.
    • -
    -
    -
    + + userId + uid + The user ID of the remote user. + + + enable + Whether to enable super resolution for the remote user’s video:
      +
    • :Enable super resolution.
    • +
    • : Disable super + resolution.
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablesoundpositionindication.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablesoundpositionindication.dita index c2e21930eaa..dcd0e417550 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablesoundpositionindication.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablesoundpositionindication.dita @@ -1,50 +1,60 @@ - <ph keyref="enableSoundPositionIndication" /> - Enables or disables stereo panning for remote users. + <ph keyref="enableSoundPositionIndication"/> + Enables or disables stereo panning for remote + users. - +

    - public abstract int enableSoundPositionIndication(boolean enabled); - - (int)enableSoundPositionIndication:(BOOL)enabled; - virtual int enableSoundPositionIndication(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableSoundPositionIndication(boolean enabled); + - (int)enableSoundPositionIndication:(BOOL)enabled; + virtual int enableSoundPositionIndication(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract enableSoundPositionIndication(enabled: boolean): number; + public abstract int EnableSoundPositionIndication(bool enabled); + abstract enableSoundPositionIndication(enabled: boolean): number; + Future<void> enableSoundPositionIndication(bool enabled); +

    Details -

    Ensure that you call this method before joining a channel to enable stereo panning for remote users so that the local user can track the position of a remote user by calling .

    +

    Ensure that you call this method before joining a channel to enable stereo panning + for remote users so that the local user can track the position of a remote user by + calling .

    Parameters - - enabled - Whether to enable stereo panning for remote users:
      -
    • : Enable stereo panning.
    • -
    • : Disable stereo panning.
    • -
    -
    -
    + + enabled + Whether to enable stereo panning for remote users:
      +
    • : Enable stereo panning.
    • +
    • : Disable stereo panning.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita index 7a39469d6c6..8a4c4c42b51 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablespatialaudio.dita @@ -1,55 +1,68 @@ - <ph keyref="enableSpatialAudio" /> - Enables or disables the spatial audio effect. + <ph keyref="enableSpatialAudio"/> + Enables or disables the spatial audio + effect. - +

    - public abstract int enableSpatialAudio(boolean enabled); - - (int)enableSpatialAudio:(BOOL)enabled; - virtual int enableSpatialAudio(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableSpatialAudio(boolean enabled); + - (int)enableSpatialAudio:(BOOL)enabled; + virtual int enableSpatialAudio(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract enableSpatialAudio(enabled: boolean): number; + public abstract int EnableSpatialAudio(bool enabled); + abstract enableSpatialAudio(enabled: boolean): number; + Future<void> enableSpatialAudio(bool enabled); +

    Details -

    After enabling the spatial audio effect, you can call to set the spatial audio effect parameters of the remote user.

    +

    After enabling the spatial audio effect, you can call to set the spatial audio effect + parameters of the remote user.

    • You can call this method either before or after joining a channel.
    • -
    • This method relies on the spatial audio dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • +
    • This method relies on the spatial audio dynamic library . If the dynamic library is deleted, + the function cannot be enabled normally.
    Parameters - - enabled - Whether to enable the spatial audio effect:
      -
    • : Enable the spatial audio effect.
    • -
    • : Disable the spatial audio effect.
    • -
    -
    -
    + + enabled + Whether to enable the spatial audio effect:
      +
    • : Enable the spatial audio + effect.
    • +
    • : Disable the spatial audio + effect.
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablevideo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablevideo.dita index 80175e55f71..f23f5985627 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablevideo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablevideo.dita @@ -1,62 +1,80 @@ - <ph keyref="enableVideo" /> + <ph keyref="enableVideo"/> Enables the video module. - +

    - public abstract int enableVideo(); - - (int)enableVideo; - virtual int enableVideo() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableVideo(); + - (int)enableVideo; + virtual int enableVideo() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableVideo(); - abstract enableVideo(): number; - public abstract int EnableVideo(); - abstract enableVideo(): number; - Future<void> enableVideo(); -

    + abstract enableVideo(): number; + public abstract int EnableVideo(); + abstract enableVideo(): number; + Future<void> enableVideo(); +

    -
    -

    The video module is disabled by default, call this method to enable it. If you need to disable the video module later, you need to call .

    +
    +

    The video module is disabled by default, call this method to enable it. If you need + to disable the video module later, you need to call .

    Call timing

    This method can be called either before joining a channel or while in the channel:

      -
    • If called before joining a channel, it enables the video module.
    • -
    • If called during an audio-only call, the audio call automatically switches to a video call.
    • +
    • If called before joining a channel, it enables the video module.
    • +
    • If called during an audio-only call, the audio call automatically switches + to a video call.

    -
    +
    Restrictions -
      -
    • This method enables the internal engine and is valid after leaving the channel.
    • -
    • Calling this method will reset the entire engine, resulting in a slow response time. Instead of calling this method, you can independently control a specific video module based on your actual needs using the following methods:
        -
      • : Whether to enable the camera to create the local video stream.
      • -
      • : Whether to publish the local video stream.
      • -
      • : Whether to subscribe to and play the remote video stream.
      • -
      • : Whether to subscribe to and play all remote video streams.
      • +
          +
        • This method enables the internal engine and is valid after leaving the + channel.
        • +
        • Calling this method will reset the entire engine, resulting in a slow response + time. Instead of calling this method, you can independently control a specific + video module based on your actual needs using the following methods:
            +
          • : Whether to enable the camera to + create the local video stream.
          • +
          • : Whether to publish the local + video stream.
          • +
          • : Whether to subscribe to and play + the remote video stream.
          • +
          • : Whether to subscribe to and + play all remote video streams.
        • -
        • A successful call of this method resets , , and . Proceed it with caution.
        • -
        +
      • A successful call of this method resets , + , and . Proceed it with caution.
      • +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita index 95afdbdecad..064198e4c5f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablevideoimagesource.dita @@ -1,64 +1,77 @@ - <ph keyref="enableVideoImageSource" /> - Sets whether to replace the current video feeds with images when publishing video streams. + <ph keyref="enableVideoImageSource"/> + Sets whether to replace the current video feeds with + images when publishing video streams. - +

    - public abstract int enableVideoImageSource(boolean enabled, ImageTrackOptions options); - - (int) enableVideoImageSource:(BOOL)enable + public abstract int enableVideoImageSource(boolean enabled, ImageTrackOptions options); + - (int) enableVideoImageSource:(BOOL)enable options:(AgoraImageTrackOptions *_Nullable)options; - virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int enableVideoImageSource(bool enable, const ImageTrackOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableVideoImageSource(bool enable, const FImageTrackOptions& options); - abstract enableVideoImageSource( + abstract enableVideoImageSource( enable: boolean, options: ImageTrackOptions ): number; - public abstract int EnableVideoImageSource(bool enable, ImageTrackOptions options); - abstract enableVideoImageSource( + public abstract int EnableVideoImageSource(bool enable, ImageTrackOptions options); + abstract enableVideoImageSource( enable: boolean, options: ImageTrackOptions ): number; - Future<void> enableVideoImageSource( + Future<void> enableVideoImageSource( {required bool enable, required ImageTrackOptions options}); -

    +

    Details - Agora recommends that you call this method after joining a channel. -

    When publishing video streams, you can call this method to replace the current video feeds with custom images.

    -

    Once you enable this function, you can select images to replace the video feeds through the parameter. If you disable this function, the remote users see the video feeds that you publish.

    + Agora recommends that you call this method after joining a + channel. +

    When publishing video streams, you can call this method to replace the current video + feeds with custom images.

    +

    Once you enable this function, you can select images to replace the video feeds + through the parameter. If you disable this + function, the remote users see the video feeds that you publish.

    Parameters - - enable - Whether to replace the current video feeds with custom images:
      -
    • : Replace the current video feeds with custom images.
    • -
    • : (Default) Do not replace the current video feeds with custom images.
    • -
    -
    + + enable + Whether to replace the current video feeds with custom images:
      +
    • : Replace the current video + feeds with custom images.
    • +
    • : (Default) Do not replace the + current video feeds with custom images.
    • +
    +
    options - Image configurations. See . + Image configurations. See . -
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita index d94e87eff82..a1207aaf26c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground.dita @@ -2,7 +2,8 @@ <ph keyref="enableVirtualBackground"/> - Enables/Disables the virtual background. + Enables/Disables the virtual + background. @@ -13,98 +14,139 @@

    - public abstract int enableVirtualBackground( + 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; + - (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|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableVirtualBackground(bool enabled, FVirtualBackgroundSource backgroundSource, FSegmentationProperty segproperty, EMEDIA_SOURCE_TYPE type); - abstract enableVirtualBackground( + abstract enableVirtualBackground( enabled: boolean, backgroundSource: VirtualBackgroundSource, segproperty: SegmentationProperty, type?: MediaSourceType ): number; - public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract enableVirtualBackground( + public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); + abstract enableVirtualBackground( enabled: boolean, backgroundSource: VirtualBackgroundSource, segproperty: SegmentationProperty, type?: MediaSourceType ): number; - Future<void> enableVirtualBackground( + Future<void> enableVirtualBackground( {required bool enabled, required VirtualBackgroundSource backgroundSource, required SegmentationProperty segproperty, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    Details -

    The virtual background feature enables the local user to replace their original background with a static image, dynamic video, blurred background, or portrait-background segmentation to achieve picture-in-picture effect. Once the virtual background feature is enabled, all users in the channel can see the custom background.

    -

    Call this method after calling or .

    +

    The virtual background feature enables the local user to replace their original + background with a static image, dynamic video, blurred background, or + portrait-background segmentation to achieve picture-in-picture effect. Once the + virtual background feature is enabled, all users in the channel can see the custom + background.

    +

    Call this method after calling or .

    -
      -
    • This feature has high requirements on device performance. When calling this method, the SDK automatically checks the capabilities of the current device. Agora recommends you use virtual background on devices with the following processors:
        -
      • Snapdragon 700 series 750G and later
      • -
      • Snapdragon 800 series 835 and later
      • -
      • Dimensity 700 series 720 and later
      • -
      • Kirin 800 series 810 and later
      • -
      • Kirin 900 series 980 and later
      • -
      • Devices with an i5 CPU and better
      • -
      • Devices with an A9 chip and better, as follows:
          -
        • iPhone 6S and later
        • -
        • iPad Air 3rd generation and later
        • -
        • iPad 5th generation and later
        • -
        • iPad Pro 1st generation and later
        • -
        • iPad mini 5th generation and later
        • -
      • -
    • -
    • Agora recommends that you use this feature in scenarios that meet the following conditions:
        -
      • A high-definition camera device is used, and the environment is uniformly lit.
      • -
      • There are few objects in the captured video. Portraits are half-length and unobstructed. Ensure that the background is a solid color that is different from the color of the user's clothing.
      • -
    • -
    • This method relies on the virtual background dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • -
    +
      +
    • This feature has high requirements on device performance. When calling this + method, the SDK automatically checks the capabilities of the current device. + Agora recommends you use virtual background on devices with the following processors:
        +
      • Snapdragon 700 + series 750G and later
      • +
      • Snapdragon 800 + series 835 and later
      • +
      • Dimensity 700 + series 720 and later
      • +
      • Kirin 800 series + 810 and later
      • +
      • Kirin 900 series + 980 and later
      • +
      • Devices with an i5 CPU + and better
      • +
      • Devices with an A9 + chip and better, as follows:
          +
        • iPhone 6S and later
        • +
        • iPad Air 3rd generation and later
        • +
        • iPad 5th generation and later
        • +
        • iPad Pro 1st generation and later
        • +
        • iPad mini 5th generation and later
        • +
      • +
    • +
    • Agora recommends that you use this feature in scenarios that meet the + following conditions:
        +
      • A high-definition camera device is used, and the environment is + uniformly lit.
      • +
      • There are few objects in the captured video. Portraits are + half-length and unobstructed. Ensure that the background is a solid + color that is different from the color of the user's clothing.
      • +
    • +
    • This method relies on the virtual background dynamic library . If the dynamic library is deleted, + the function cannot be enabled normally.
    • +
    +
    Parameters - - enabled - enable - Whether to enable virtual background:
      -
    • : Enable virtual background.
    • -
    • : Disable virtual background.
    • -
    -
    - - backgroundSource - backData - The custom background. See . To adapt the resolution of the custom background image to that of the video captured by the SDK, the SDK scales and crops the custom background image while ensuring that the content of the custom background image is not distorted. - - - segproperty - segData - Processing properties for background images. See . - - - type - The type of the video source. See .In this method, this parameter supports only the following two settings:
      -
    • The default value is .
    • -
    • If you want to use the second camera to capture video, set this parameter to .
    • -
    -
    -
    + + enabled + enable + Whether to enable virtual background:
      +
    • : Enable virtual + background.
    • +
    • : Disable virtual + background.
    • +
    +
    + + backgroundSource + backData + The custom background. See . To + adapt the resolution of the custom background image to that of the video + captured by the SDK, the SDK scales and crops the custom background image + while ensuring that the content of the custom background image is not + distorted. + + + segproperty + segData + Processing properties for background images. See . + + + type + The type of the video source. See .In this method, this parameter supports only the + following two settings:
      +
    • The default value is .
    • +
    • If you want to use the second camera to capture video, set this + parameter to .
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -4: The device capabilities do not meet the requirements for the virtual background feature. Agora recommends you try it on devices with higher performance.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -4: The device capabilities do not meet the requirements for the virtual + background feature. Agora recommends you try it on devices with higher + performance.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita index bd24773d35e..09595980789 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablevirtualbackground2.dita @@ -2,7 +2,8 @@ <ph keyref="enableVirtualBackground2"/> - Enables virtual background and specify the media source, or disables virtual background. + Enables virtual background and specify the media + source, or disables virtual background. @@ -13,57 +14,74 @@

    - public abstract int enableVirtualBackground(boolean enabled, + public abstract int enableVirtualBackground(boolean enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, Constants.MediaSourceType sourceType); - - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:sourceType:)); - - - - - - -

    + - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(enableVirtualBackground(_:backData:segData:sourceType:)); + + + + + + +

    Details -

    The virtual background feature enables the local user to replace their original background with a static image, dynamic video, blurred background, or portrait-background segmentation to achieve picture-in-picture effect. Once the virtual background feature is enabled, all users in the channel can see the custom background.

    -

    Both this method and enable/disable virtual background, but this method allows you to specify the media source to which the virtual background is applied.

    -

    Call this method after calling or .

    +

    The virtual background feature enables the local user to replace their original + background with a static image, dynamic video, blurred background, or + portrait-background segmentation to achieve picture-in-picture effect. Once the + virtual background feature is enabled, all users in the channel can see the custom + background.

    +

    Both this method and enable/disable virtual + background, but this method allows you to specify the media source to which the + virtual background is applied.

    +

    Call this method after calling or .

    Parameters - - - - - - - - - - - - - - - - - - sourceType - The media source type to which the effect is applied. See . - -
    + + + + + + + + + + + + + + + + + + sourceType + The media source type to which the effect is applied. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -4: The device capabilities do not meet the requirements for the virtual background feature. Agora recommends you try it on devices with higher performance.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -4: The device capabilities do not meet the requirements for the virtual + background feature. Agora recommends you try it on devices with higher + performance.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita index 92320c3c94a..63cc90f7538 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablewebsdkinteroperability.dita @@ -1,57 +1,69 @@ - <ph keyref="enableWebSdkInteroperability" /> - Enables interoperability with the Agora Web SDK (applicable only in the live streaming scenarios). + <ph keyref="enableWebSdkInteroperability"/> + Enables interoperability with the Agora Web SDK + (applicable only in the live streaming scenarios). - +

    - public abstract int enableWebSdkInteroperability(boolean enabled); - - (int)enableWebSdkInteroperability:(BOOL)enabled; - virtual int enableWebSdkInteroperability(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int enableWebSdkInteroperability(boolean enabled); + - (int)enableWebSdkInteroperability:(BOOL)enabled; + virtual int enableWebSdkInteroperability(bool enabled) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract enableWebSdkInteroperability(enabled: boolean): number; + public abstract int EnableWebSdkInteroperability(bool enabled); + abstract enableWebSdkInteroperability(enabled: boolean): number; + Future<void> enableWebSdkInteroperability(bool enabled); +

    Details
    - -
    Deprecated:
    -
    The SDK automatically enables interoperability with the Web SDK, so you no longer need to call this method.
    -
    + +
    Deprecated:
    +
    The SDK automatically enables interoperability with the Web SDK, so you no + longer need to call this method.
    +
    -

    You can call this method to enable or disable interoperability with the Agora Web SDK. If a channel has Web SDK users, ensure that you call this method, or the video of the Native user will be a black screen for the Web user.

    -

    This method is only applicable in live streaming scenarios, and interoperability is enabled by default in communication scenarios.

    +

    You can call this method to enable or disable interoperability with the Agora Web + SDK. If a channel has Web SDK users, ensure that you call this method, or the video + of the Native user will be a black screen for the Web user.

    +

    This method is only applicable in live streaming scenarios, and interoperability is + enabled by default in communication scenarios.

    Parameters - - enabled - Whether to enable interoperability:
      -
    • : Enable interoperability.
    • -
    • : (Default) Disable interoperability.
    • -
    -
    -
    + + enabled + Whether to enable interoperability:
      +
    • : Enable interoperability.
    • +
    • : (Default) Disable + interoperability.
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enablewirelessaccelerate.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enablewirelessaccelerate.dita index cfe7dd86ef2..99b20371c99 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enablewirelessaccelerate.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enablewirelessaccelerate.dita @@ -1,53 +1,78 @@ - <ph keyref="enableWirelessAccelerate" /> - Enables or disables Wi-Fi acceleration. + <ph keyref="enableWirelessAccelerate"/> + Enables or disables Wi-Fi + acceleration. - +

    - - - virtual int enableWirelessAccelerate(bool enabled) = 0; - - public abstract int EnableWirelessAccelerate(bool enabled); - - -

    + + + virtual int enableWirelessAccelerate(bool enabled) = 0; + + public abstract int EnableWirelessAccelerate(bool enabled); + + +

    Details -

    Since this version, the SDK enables Wi-Fi acceleration by default. This function will only take effect when the SDK finds a Wi-Fi router with an integrated acceleration plug-in, allowing the router to reasonably allocate Wi-Fi spectrum resources to reduce packet loss rate and delay, thereby reducing audio and video freezes.

    -

    When the router provides acceleration services, the SDK will periodically trigger a callback to report the Wi-Fi connection optimization data, and trigger a callback when the Wi-Fi connection quality is poor to report the reason for the poor Wi-Fi connection quality and improve Wi-Fi Action suggestions for the connection.

    +

    Since this version, the SDK enables Wi-Fi acceleration by default. This function will + only take effect when the SDK finds a Wi-Fi router with an integrated acceleration + plug-in, allowing the router to reasonably allocate Wi-Fi spectrum resources to + reduce packet loss rate and delay, thereby reducing audio and video freezes.

    +

    When the router provides acceleration services, the SDK will periodically trigger a + callback to report the Wi-Fi connection + optimization data, and trigger a callback when the + Wi-Fi connection quality is poor to report the reason for the poor Wi-Fi connection + quality and improve Wi-Fi Action suggestions for the connection.

    -
      -
    • Wi-Fi acceleration is disabled by default. It must be used in conjunction with a router with an integrated acceleration plug-in. For details, see Which Wi-Fi routers support the acceleration function. If the Wi-Fi router does not support acceleration, system performance will not suffer.
    • -
    • After the acceleration function takes effect, the router's app will display the acceleration effect and the name of the accelerated app. If you don't want to display the name of the accelerated app in the router's app, please call enableWirelessAccelerate(false) to turn off acceleration.
    • -
    • In addition to audio and video streams, the Wi-Fi acceleration function provided by Agora can also be applied to other third-party service streams, such as private signaling, courseware, and RTMP protocols. For other requirements, contact sales-us@agora.io.
    • -
    +
      +
    • Wi-Fi acceleration is disabled by default. It must be used in conjunction + with a router with an integrated acceleration plug-in. For details, see + Which Wi-Fi routers support the + acceleration function. If the Wi-Fi router does not support + acceleration, system performance will not suffer.
    • +
    • After the acceleration function takes effect, the router's app will display + the acceleration effect and the name of the accelerated app. If you don't + want to display the name of the accelerated app in the router's app, please + call enableWirelessAccelerate(false) to turn off + acceleration.
    • +
    • In addition to audio and video streams, the Wi-Fi acceleration function + provided by Agora can also be applied to other third-party service streams, + such as private signaling, courseware, and RTMP protocols. For other + requirements, contact sales-us@agora.io.
    • +
    + +
    Parameters - - enabled - Set whether to enable Wi-Fi acceleration:
      -
    • : Enable custom echo cancellation.
    • -
    • : Disable custom echo cancellation.
    • -
    -
    -
    + + enabled + Set whether to enable Wi-Fi acceleration:
      +
    • : Enable custom echo + cancellation.
    • +
    • : Disable custom echo + cancellation.
    • +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enumeratedevices.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enumeratedevices.dita index 38a9a99df98..9162e61f96b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enumeratedevices.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enumeratedevices.dita @@ -1,44 +1,50 @@ - <ph keyref="enumerateDevices" /> - Enumerates all the audio and video devices in the system. + <ph keyref="enumerateDevices"/> + Enumerates all the audio and video devices in the + system. - +

    - - - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type; - - - - - -

    + + - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type; + + + + + +

    Details -

    This method returns an NSArray object that includes all audio and video devices in the system. Apps can enumerate devices with the NSArray object.

    - Do not call this method in the main thread.
    +

    This method returns an NSArray object that includes all audio and video devices in + the system. Apps can enumerate devices with the + NSArray object.

    + Do not call this method in the main thread. +
    Parameters - - type - -

    - - -

    + + type + +

    + + + +

    Returns -

    An NSArray object that includes all audio and video devices if the method succeeds.

    +

    An NSArray object that includes all audio and + video devices if the method succeeds.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enumeratedisplays.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enumeratedisplays.dita index bfa545f2a3a..ac132cd4b96 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enumeratedisplays.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enumeratedisplays.dita @@ -1,30 +1,31 @@ - <ph keyref="enumerateDisplays" /> - Lists information about all screens in the system. + <ph keyref="enumerateDisplays"/> + Lists information about all screens in the + system. - +

    - - - - - - - -

    + + + + + + + +

    Returns

    Screen information for screen sharing.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_enumeratewindows.dita b/en-US/dita/RTC-NG/API/api_irtcengine_enumeratewindows.dita index f1cd234bdf0..0ecbda3bbde 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_enumeratewindows.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_enumeratewindows.dita @@ -1,30 +1,31 @@ - <ph keyref="enumerateWindows" /> - Enumerates the information of all the cpp in the system. + <ph keyref="enumerateWindows"/> + Enumerates the information of all the cpp in the + system. - +

    - - - - - - - -

    + + + + + + + +

    Returns

    The information of the window for screen-sharing.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcaudioplaybackdevicemanager.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcaudioplaybackdevicemanager.dita index c2bed88a4a1..5a75eced078 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcaudioplaybackdevicemanager.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcaudioplaybackdevicemanager.dita @@ -1,28 +1,30 @@ - <ph keyref="getAgoraRtcAudioPlaybackDeviceManager" /> - Gets the object. + <ph keyref="getAgoraRtcAudioPlaybackDeviceManager"/> + Gets the + object. - +

    - - - - - public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); - - -

    + + + + + public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); + + +

    - ReturnsA object.
    + ReturnsA + object.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcaudiorecordingdevicemanager.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcaudiorecordingdevicemanager.dita index 74ed558f5be..5f52473a0f6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcaudiorecordingdevicemanager.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcaudiorecordingdevicemanager.dita @@ -1,28 +1,30 @@ - <ph keyref="getAgoraRtcAudioRecordingDeviceManager" /> - Gets the object. + <ph keyref="getAgoraRtcAudioRecordingDeviceManager"/> + Gets the + object. - +

    - - - - - public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); - - -

    + + + + + public abstract IAgoraRtcAudioPlaybackDeviceManager GetAgoraRtcAudioPlaybackDeviceManager(); + + +

    - ReturnsA object.
    + ReturnsA + object.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcmediaplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcmediaplayer.dita index 2c106ce0a69..bbeb599a8aa 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcmediaplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcmediaplayer.dita @@ -1,28 +1,29 @@ - <ph keyref="getAgoraRtcMediaPlayer" /> - Gets the object. + <ph keyref="getAgoraRtcMediaPlayer"/> + Gets the + object. - +

    - - - - - public abstract IAgoraRtcMediaPlayer GetAgoraRtcMediaPlayer(); - - -

    + + + + + public abstract IAgoraRtcMediaPlayer GetAgoraRtcMediaPlayer(); + + +

    - ReturnsA object.
    + ReturnsA object.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcvideodevicemanager.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcvideodevicemanager.dita index 37c230af7df..92691c9a4a0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcvideodevicemanager.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getagorartcvideodevicemanager.dita @@ -1,28 +1,29 @@ - <ph keyref="getAgoraRtcVideoDeviceManager" /> - Gets the object to manage video devices. + <ph keyref="getAgoraRtcVideoDeviceManager"/> + Gets the object to + manage video devices. - +

    - - - - - public abstract IVideoDeviceManager GetVideoDeviceManager(); - - -

    + + + + + public abstract IVideoDeviceManager GetVideoDeviceManager(); + + +

    - ReturnsA object.
    + ReturnsA object.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita index d140b7d950a..f9b8a5b242a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiodeviceinfo.dita @@ -1,62 +1,71 @@ - <ph keyref="getAudioDeviceInfo" /> + <ph keyref="getAudioDeviceInfo"/> Gets the audio device information. - +

    - public abstract DeviceInfo getAudioDeviceInfo(); - - virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract DeviceInfo getAudioDeviceInfo(); + + virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetAudioDeviceInfo(FDeviceInfo& deviceInfo); - abstract getAudioDeviceInfo(): DeviceInfo; - public abstract int GetAudioDeviceInfo(ref DeviceInfoMobile deviceInfo); - abstract getAudioDeviceInfo(): DeviceInfo; - Future<DeviceInfo> getAudioDeviceInfo(); -

    + abstract getAudioDeviceInfo(): DeviceInfo; + public abstract int GetAudioDeviceInfo(ref DeviceInfoMobile deviceInfo); + abstract getAudioDeviceInfo(): DeviceInfo; + Future<DeviceInfo> getAudioDeviceInfo(); +

    Details -

    After calling this method, you can get whether the audio device supports ultra-low-latency capture and playback.

    +

    After calling this method, you can get whether the audio device supports + ultra-low-latency capture and playback.

    -
      -
    • This method is for Android only.
    • -
    • You can call this method either before or after joining a channel.
    • -
    +
      +
    • This method is for Android only.
    • +
    • You can call this method either before or after joining a channel.
    • +
    +
    Parameters - - deviceInfo - Input and output parameter. A object that identifies the audio device information.
      -
    • Input value: A object.
    • -
    • Output value: A object containing audio device information.
    • -
    -
    - - deviceInfo - Audio frame information. See . - -
    + + deviceInfo + Input and output parameter. A object that + identifies the audio device information.
      +
    • Input value: A object.
    • +
    • Output value: A object containing + audio device information.
    • +
    +
    +
    + + deviceInfo + Audio frame information. See . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    -

    The object that identifies the audio device information.

      -
    • Not null: Success.
    • -
    • Null: Failure. See for details and resolution suggestions.
    • +

      The object that + identifies the audio device information.

        +
      • Not null: Success.
      • +
      • Null: Failure. See for + details and resolution suggestions.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiodevicemanager.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiodevicemanager.dita index bf052b0a66c..74121745de9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiodevicemanager.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiodevicemanager.dita @@ -1,30 +1,31 @@ - <ph keyref="getAudioDeviceManager" /> - Gets the object to manage audio devices. + <ph keyref="getAudioDeviceManager"/> + Gets the object to + manage audio devices. - +

    - - - - abstract getAudioDeviceManager(): IAudioDeviceManager; - public abstract IAudioDeviceManager GetAudioDeviceManager(); - - AudioDeviceManager getAudioDeviceManager(); -

    + + + + abstract getAudioDeviceManager(): IAudioDeviceManager; + public abstract IAudioDeviceManager GetAudioDeviceManager(); + + AudioDeviceManager getAudioDeviceManager(); +

    Returns -

    One object.

    +

    One object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudioeffectmanager.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudioeffectmanager.dita index ee672c90cb8..27e1aeb7353 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudioeffectmanager.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudioeffectmanager.dita @@ -1,30 +1,31 @@ - <ph keyref="getAudioEffectManager" /> - Gets the class to manage the audio effect files. + <ph keyref="getAudioEffectManager"/> + Gets the class to + manage the audio effect files. - +

    - public abstract IAudioEffectManager getAudioEffectManager(); - - - - - - -

    + public abstract IAudioEffectManager getAudioEffectManager(); + + + + + + +

    Returns -

    +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiofileinfo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiofileinfo.dita index 4428ab44d3c..340d6ee6016 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiofileinfo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiofileinfo.dita @@ -1,48 +1,56 @@ - <ph keyref="getAudioFileInfo" /> - Gets the information of the specified audio file. + <ph keyref="getAudioFileInfo"/> + Gets the information of the specified audio + file. - +

    - - - - - public abstract int GetAudioFileInfo(string filePath); - - -

    + + + + + public abstract int GetAudioFileInfo(string filePath); + + +

    Details -

    After successfully calling this method, the SDK triggers the callback to report the duration of the specified audio file and other information. You can call this method multiple times to get information about multiple audio files.

    +

    After successfully calling this method, the SDK triggers the callback to report the duration of the + specified audio file and other information. You can call this method multiple times + to get information about multiple audio files.

    -
      -
    • Call this method after joining a channel.
    • -
    • -
    +
      +
    • Call this method after joining a channel.
    • +
    • +
    + +
    Parameters - - - - -
    + + + + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita index d900a2dbad9..d9a1345b7cb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingcurrentposition.dita @@ -1,42 +1,54 @@ - <ph keyref="getAudioMixingCurrentPosition" /> - Retrieves the playback position (ms) of the music file. + <ph keyref="getAudioMixingCurrentPosition"/> + Retrieves the playback position (ms) of the music + file. - +

    - public abstract int getAudioMixingCurrentPosition(); - - (int)getAudioMixingCurrentPosition; - virtual int getAudioMixingCurrentPosition() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int getAudioMixingCurrentPosition(); + - (int)getAudioMixingCurrentPosition; + virtual int getAudioMixingCurrentPosition() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetAudioMixingCurrentPosition(); - abstract getAudioMixingCurrentPosition(): number; - public abstract int GetAudioMixingCurrentPosition(); - abstract getAudioMixingCurrentPosition(): number; - Future<int> getAudioMixingCurrentPosition(); -

    + abstract getAudioMixingCurrentPosition(): number; + public abstract int GetAudioMixingCurrentPosition(); + abstract getAudioMixingCurrentPosition(): number; + Future<int> getAudioMixingCurrentPosition(); +

    Details

    Retrieves the playback position (ms) of the audio.

    -
      -
    • You need to call this method after calling and receiving the () callback.
    • -
    • If you need to call multiple times, ensure that the time interval between calling this method is more than 500 ms.
    • -
    +
      +
    • You need to call this method after calling and receiving + the () + callback.
    • +
    • If you need to call + multiple times, ensure that the time interval between calling this method is + more than 500 ms.
    • +
    +
    Returns
      -
    • ≥ 0: The current playback position (ms) of the audio mixing, if this method call succeeds. 0 represents that the current music file does not start playing.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • ≥ 0: The current playback position (ms) of the audio mixing, if this method call + succeeds. 0 represents that the current music file does not start playing.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita index 96457eb2ccc..c12f98c3a60 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingduration.dita @@ -1,40 +1,46 @@ - <ph keyref="getAudioMixingDuration" /> - Retrieves the duration (ms) of the music file. + <ph keyref="getAudioMixingDuration"/> + Retrieves the duration (ms) of the music + file. - +

    - public abstract int getAudioMixingDuration(); - - (int)getAudioMixingDuration; - virtual int getAudioMixingDuration() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int getAudioMixingDuration(); + - (int)getAudioMixingDuration; + virtual int getAudioMixingDuration() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetAudioMixingDuration(); - abstract getAudioMixingDuration(): number; - public abstract int GetAudioMixingDuration(); - abstract getAudioMixingDuration(): number; - Future<int> getAudioMixingDuration(); -

    + abstract getAudioMixingDuration(): number; + public abstract int GetAudioMixingDuration(); + abstract getAudioMixingDuration(): number; + Future<int> getAudioMixingDuration(); +

    Details

    Retrieves the total duration (ms) of the audio.

    -

    You need to call this method after calling and receiving the () callback.

    -
    +

    You need to call this method after calling and + receiving the () callback.

    + +
    Returns
      -
    • ≥ 0: The audio mixing duration, if this method call succeeds.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • ≥ 0: The audio mixing duration, if this method call succeeds.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita index 498ba976fe3..81c4b09238c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingplayoutvolume.dita @@ -1,40 +1,47 @@ - <ph keyref="getAudioMixingPlayoutVolume" /> - Retrieves the audio mixing volume for local playback. + <ph keyref="getAudioMixingPlayoutVolume"/> + Retrieves the audio mixing volume for local + playback. - +

    - public abstract int getAudioMixingPlayoutVolume(); - - (int)getAudioMixingPlayoutVolume; - virtual int getAudioMixingPlayoutVolume() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int getAudioMixingPlayoutVolume(); + - (int)getAudioMixingPlayoutVolume; + virtual int getAudioMixingPlayoutVolume() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetAudioMixingPlayoutVolume(); - abstract getAudioMixingPlayoutVolume(): number; - public abstract int GetAudioMixingPlayoutVolume(); - abstract getAudioMixingPlayoutVolume(): number; - Future<int> getAudioMixingPlayoutVolume(); -

    + abstract getAudioMixingPlayoutVolume(): number; + public abstract int GetAudioMixingPlayoutVolume(); + abstract getAudioMixingPlayoutVolume(): number; + Future<int> getAudioMixingPlayoutVolume(); +

    Details

    This method helps troubleshoot audio volume‑related issues.

    -

    You need to call this method after calling and receiving the () callback.

    -
    +

    You need to call this method after calling and + receiving the () callback.

    + +
    Returns
      -
    • ≥ 0: The audio mixing volume, if this method call succeeds. The value range is [0,100].
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • ≥ 0: The audio mixing volume, if this method call succeeds. The value range is + [0,100].
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita index 772db21ca94..62cee54ed73 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiomixingpublishvolume.dita @@ -1,38 +1,46 @@ - <ph keyref="getAudioMixingPublishVolume" /> - Retrieves the audio mixing volume for publishing. + <ph keyref="getAudioMixingPublishVolume"/> + Retrieves the audio mixing volume for + publishing. - +

    - public abstract int getAudioMixingPublishVolume(); - - (int)getAudioMixingPublishVolume; - virtual int getAudioMixingPublishVolume() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int getAudioMixingPublishVolume(); + - (int)getAudioMixingPublishVolume; + virtual int getAudioMixingPublishVolume() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetAudioMixingPublishVolume(); - abstract getAudioMixingPublishVolume(): number; - public abstract int GetAudioMixingPublishVolume(); - abstract getAudioMixingPublishVolume(): number; - Future<int> getAudioMixingPublishVolume(); -

    + abstract getAudioMixingPublishVolume(): number; + public abstract int GetAudioMixingPublishVolume(); + abstract getAudioMixingPublishVolume(): number; + Future<int> getAudioMixingPublishVolume(); +

    Details

    This method helps troubleshoot audio volume‑related issues.

    - You need to call this method after calling and receiving the () callback.
    + You need to call this method after calling and receiving the () callback. +
    Returns
      -
    • ≥ 0: The audio mixing volume, if this method call succeeds. The value range is [0,100].
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • ≥ 0: The audio mixing volume, if this method call succeeds. The value range is + [0,100].
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudioplaybackdevices.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudioplaybackdevices.dita index 36d9c224bad..9cd300628ff 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudioplaybackdevices.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudioplaybackdevices.dita @@ -1,30 +1,31 @@ - <ph keyref="enumeratePlaybackDevices" /> - Retrieves the audio playback device associated with the device ID. + <ph keyref="enumeratePlaybackDevices"/> + Retrieves the audio playback device associated with the + device ID. - +

    - - - - - - - -

    + + + + + + + +

    Returns -

    An array of the audio playback devices. See .

    +

    An array of the audio playback devices. See .

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiorecordingdevices.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiorecordingdevices.dita index 2509b48bc0d..de682bcbe2e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiorecordingdevices.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiorecordingdevices.dita @@ -1,30 +1,30 @@ - <ph keyref="enumerateRecordingDevices" /> + <ph keyref="enumerateRecordingDevices"/> Retrieves the audio recording device. - +

    - - - - - - - -

    + + + + + + + +

    Returns -

    An array of the audio recording devices. See .

    +

    An array of the audio recording devices. See .

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita index 1bb3244dba7..db70d718094 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getaudiotrackcount.dita @@ -1,40 +1,48 @@ - <ph keyref="getAudioTrackCount" /> - Gets the index of audio tracks of the current music file. + <ph keyref="getAudioTrackCount"/> + Gets the index of audio tracks of the current music + file. - +

    - public abstract int getAudioTrackCount(); - - (int)getAudioTrackCount; - virtual int getAudioTrackCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int getAudioTrackCount(); + - (int)getAudioTrackCount; + virtual int getAudioTrackCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetAudioTrackCount(); - abstract getAudioTrackCount(): number; - public abstract int GetAudioTrackCount(); - abstract getAudioTrackCount(): number; - Future<int> getAudioTrackCount(); -

    + abstract getAudioTrackCount(): number; + public abstract int GetAudioTrackCount(); + abstract getAudioTrackCount(): number; + Future<int> getAudioTrackCount(); +

    Details -
      -
    • You need to call this method after calling and receiving the () callback.
    • -
    +
      +
    • You need to call this method after calling and receiving the () + callback.
    • +
    + +
    Returns
      -
    • The SDK returns the index of the audio tracks if the method call succeeds.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • The SDK returns the index of the audio tracks if the method call succeeds.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getbuffertype.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getbuffertype.dita index 761ba037f2b..51f70ef99d1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getbuffertype.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getbuffertype.dita @@ -1,34 +1,39 @@ - <ph keyref="getBufferType" /> + <ph keyref="getBufferType"/> Gets the video frame type. - +

    - - - virtual agora::media::ExternalVideoFrame::VIDEO_PIXEL_FORMAT getBufferType() = 0; - - - - -

    + + + virtual agora::media::ExternalVideoFrame::VIDEO_PIXEL_FORMAT getBufferType() = 0; + + + + +

    Details -

    Before you initialize the custom video source, the SDK triggers this callback to query the video frame type. You must specify the video frame type in the return value and then pass it to the SDK.

    - Ensure that the video frame type that you specify in this callback is the same as that in the method.
    +

    Before you initialize the custom video source, the SDK triggers this callback to + query the video frame type. You must specify the video frame type in the return + value and then pass it to the SDK.

    + Ensure that the video frame type that you specify in this + callback is the same as that in the + method. +
    Returns -

    +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getcallid.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getcallid.dita index 45a04c33212..f1dd62f45d7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getcallid.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getcallid.dita @@ -1,33 +1,37 @@ - <ph keyref="getCallId" /> + <ph keyref="getCallId"/> Retrieves the call ID. - +

    - public abstract String getCallId(); - - (NSString * _Nullable)getCallId; - virtual int getCallId(agora::util::AString& callId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract String getCallId(); + - (NSString * _Nullable)getCallId; + virtual int getCallId(agora::util::AString& callId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetCallId(FString& callId); - abstract getCallId(): string; - public abstract int GetCallId(ref string callId); - abstract getCallId(): string; - Future<String> getCallId(); -

    + abstract getCallId(): string; + public abstract int GetCallId(ref string callId); + abstract getCallId(): string; + Future<String> getCallId(); +

    Details -

    When a user joins a channel on a client, a callId is generated to identify the call from the client. You can call this method to get the callId parameter, and pass it in when calling methods such as and .

    - Call this method after joining a channel.
    +

    When a user joins a channel on a client, a callId is + generated to identify the call from the client. You can call this method to get the + callId parameter, and pass it in when calling methods such + as and .

    + Call this method after joining a channel. +
    Parameters @@ -42,11 +46,13 @@

    The current call ID.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    • The current call ID, if the method succeeds.
    • An empty string, if the method call fails.
    • -
    + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita index a2813ab2cde..574f0029a0d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getcameramaxzoomfactor.dita @@ -1,39 +1,42 @@ - <ph keyref="getCameraMaxZoomFactor" /> - Gets the maximum zoom ratio supported by the camera. + <ph keyref="getCameraMaxZoomFactor"/> + Gets the maximum zoom ratio supported by the + camera. - +

    - public abstract float getCameraMaxZoomFactor(); - - (CGFloat)cameraMaxZoomFactor; - virtual float getCameraMaxZoomFactor() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract float getCameraMaxZoomFactor(); + - (CGFloat)cameraMaxZoomFactor; + virtual float getCameraMaxZoomFactor() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") float GetCameraMaxZoomFactor(); - abstract getCameraMaxZoomFactor(): number; - public abstract float GetCameraMaxZoomFactor(); - abstract getCameraMaxZoomFactor(): number; - Future<double> getCameraMaxZoomFactor(); -

    + abstract getCameraMaxZoomFactor(): number; + public abstract float GetCameraMaxZoomFactor(); + abstract getCameraMaxZoomFactor(): number; + Future<double> getCameraMaxZoomFactor(); +

    Details -
      -
    • This method is for Android and iOS only.
    • -
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • +
    +
    Returns

    The maximum zoom factor.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita index 01dec0a5777..1f857921ead 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getconnectionstate.dita @@ -1,28 +1,31 @@ - <ph keyref="getConnectionState" /> - Gets the current connection state of the SDK. + + <ph keyref="getConnectionState"/> + + Gets the current connection state of the + SDK. - +

    - public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionState(); - - (AgoraConnectionState)getConnectionState; - virtual CONNECTION_STATE_TYPE getConnectionState() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionState(); + - (AgoraConnectionState)getConnectionState; + virtual CONNECTION_STATE_TYPE getConnectionState() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") ECONNECTION_STATE_TYPE GetConnectionState(); - abstract getConnectionState(): ConnectionStateType; - public abstract CONNECTION_STATE_TYPE GetConnectionState(); - abstract getConnectionState(): ConnectionStateType; - Future<ConnectionStateType> getConnectionState(); -

    + abstract getConnectionState(): ConnectionStateType; + public abstract CONNECTION_STATE_TYPE GetConnectionState(); + abstract getConnectionState(): ConnectionStateType; + Future<ConnectionStateType> getConnectionState(); +

    Details @@ -30,7 +33,7 @@
    Returns -

    +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita index 9832c9a832f..c9e74a4af7f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getcurrentmonotonictimeinms.dita @@ -2,7 +2,8 @@ <ph keyref="getCurrentMonotonicTimeInMs"/> - Gets the current Monotonic Time of the SDK. + Gets the current Monotonic Time of the + SDK. @@ -13,32 +14,42 @@

    - public abstract long getCurrentMonotonicTimeInMs(); - - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs()); - virtual int64_t getCurrentMonotonicTimeInMs() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract long getCurrentMonotonicTimeInMs(); + - (int64_t)getCurrentMonotonicTimeInMs NS_SWIFT_NAME(getCurrentMonotonicTimeInMs()); + virtual int64_t getCurrentMonotonicTimeInMs() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int64 GetCurrentMonotonicTimeInMs(); - abstract getCurrentMonotonicTimeInMs(): number; - public abstract long GetCurrentMonotonicTimeInMs(); - abstract getCurrentMonotonicTimeInMs(): number; - Future<int> getCurrentMonotonicTimeInMs();

    + abstract getCurrentMonotonicTimeInMs(): number; + public abstract long GetCurrentMonotonicTimeInMs(); + abstract getCurrentMonotonicTimeInMs(): number; + Future<int> getCurrentMonotonicTimeInMs(); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    Monotonic Time refers to a monotonically increasing time series whose value increases over time. The unit is milliseconds.

    -

    In custom video capture and custom audio capture scenarios, in order to ensure audio and video synchronization, Agora recommends that you call this method to obtain the current Monotonic Time of the SDK, and then pass this value into the timestamp parameter in the captured video frame () and audio frame ().

    +

    Monotonic Time refers to a monotonically increasing time series whose value increases + over time. The unit is milliseconds.

    +

    In custom video capture and custom audio capture scenarios, in order to ensure audio + and video synchronization, Agora recommends that you call this method to obtain the + current Monotonic Time of the SDK, and then pass this value into the timestamp + parameter in the captured video frame () and audio frame + ().

    Returns
      -
    • ≥0: The method call is successful, and returns the current Monotonic Time of the SDK (in milliseconds).
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • ≥0: The method call is + successful, and returns the current Monotonic Time of the SDK (in + milliseconds).
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getdeviceinfo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getdeviceinfo.dita index 6f5650039ae..b11f545e0fb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getdeviceinfo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getdeviceinfo.dita @@ -1,46 +1,52 @@ - <ph keyref="getDeviceInfo" /> - Retrieves the name of the current device. + <ph keyref="getDeviceInfo"/> + Retrieves the name of the current + device. - +

    - - - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type; - - - - - -

    + + - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type; + + + + + +

    Details -

    This method retrieves the current audio and video capturing device based on your settings in the type parameter.

    +

    This method retrieves the current audio and video capturing device based on your + settings in the type parameter.

    Parameters - - type - -

    The device type, which includes the audio capturing, audio playback, video capturing, or video playback device. See .

    -
    -
    -
    + + type + +

    The device type, which includes the audio capturing, audio + playback, video capturing, or video playback device. See .

    +
    +
    + +
    Returns
      -
    • Returns when the method succeeds.
    • -
    • Returns nil when the method fails.
    • -
    +
  • Returns when the method succeeds.
  • +
  • Returns nil when the method fails.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getdevicevolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getdevicevolume.dita index 565ca9e5f12..3b4e28b91ac 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getdevicevolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getdevicevolume.dita @@ -1,42 +1,45 @@ - <ph keyref="getDeviceVolume" /> - Retrieves the volume of the current device. + <ph keyref="getDeviceVolume"/> + Retrieves the volume of the current + device. - +

    - - - (int)getDeviceVolume:(AgoraMediaDeviceType)type; - - - - - -

    + + - (int)getDeviceVolume:(AgoraMediaDeviceType)type; + + + + + +

    Parameters - - type - -

    - - -

    + + type + +

    + + + +

    Returns
      -
    • Returns the volume of the current device, if the method succeeds.
    • -
    • < 0: Failure.
    • -
    +
  • Returns the volume of the current device, if the method succeeds.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita b/en-US/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita index a6cc9198d85..059fccdd30b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_geteffectcurrentposition.dita @@ -1,46 +1,52 @@ - <ph keyref="getEffectCurrentPosition" /> - Retrieves the playback position of the audio effect file. + <ph keyref="getEffectCurrentPosition"/> + Retrieves the playback position of the audio effect + file. - +

    - public int getEffectCurrentPosition(int soundId); - - (int)getEffectCurrentPosition:(int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:)); - - (int)getEffectCurrentPosition:(int)soundId; - virtual int getEffectCurrentPosition(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public int getEffectCurrentPosition(int soundId); + - (int)getEffectCurrentPosition:(int)soundId NS_SWIFT_NAME(getEffectCurrentPosition(_:)); + - (int)getEffectCurrentPosition:(int)soundId; + virtual int getEffectCurrentPosition(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract getEffectCurrentPosition(soundId: number): number; + public abstract int GetEffectCurrentPosition(int soundId); + abstract getEffectCurrentPosition(soundId: number): number; + Future<int> getEffectCurrentPosition(int soundId); +

    Details - Call this method after .
    + Call this method after . +
    Parameters - - soundId - - -
    + + soundId + + + +
    Returns
      -
    • The playback position (ms) of the specified audio effect file, if the method call succeeds.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • The playback position (ms) of the specified audio effect file, if the method + call succeeds.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_geteffectduration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_geteffectduration.dita index 6eec90c7cbf..3c95e4f336b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_geteffectduration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_geteffectduration.dita @@ -1,45 +1,51 @@ - <ph keyref="getEffectDuration" /> - Retrieves the duration of the audio effect file. + <ph keyref="getEffectDuration"/> + Retrieves the duration of the audio effect + file. - +

    - 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|RtcEngineProxy") + 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|RtcEngineProxy") int GetEffectDuration(FString filePath); - abstract getEffectDuration(filePath: string): number; - public abstract int GetEffectDuration(string filePath); - abstract getEffectDuration(filePath: string): number; - Future<int> getEffectDuration(String filePath); -

    + abstract getEffectDuration(filePath: string): number; + public abstract int GetEffectDuration(string filePath); + abstract getEffectDuration(filePath: string): number; + Future<int> getEffectDuration(String filePath); +

    Details - Call this method after joining a channel.
    + Call this method after joining a channel. +
    Parameters - - - - -
    + + + + + +
    Returns
      -
    • The total duration (ms) of the specified audio effect file, if the method call succeeds.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • The total duration (ms) of the specified audio effect file, if the method call + succeeds.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_geteffectsvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_geteffectsvolume.dita index f0f4a70acab..d792b3b8d62 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_geteffectsvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_geteffectsvolume.dita @@ -1,38 +1,43 @@ - <ph keyref="getEffectsVolume" /> - Retrieves the volume of the audio effects. + <ph keyref="getEffectsVolume"/> + Retrieves the volume of the audio + effects. - +

    - public double getEffectsVolume(); - - (int)getEffectsVolume; - virtual int getEffectsVolume() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public double getEffectsVolume(); + - (int)getEffectsVolume; + virtual int getEffectsVolume() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetEffectsVolume(); - abstract getEffectsVolume(): number; - public abstract int GetEffectsVolume(); - abstract getEffectsVolume(): number; - Future<int> getEffectsVolume(); -

    + abstract getEffectsVolume(): number; + public abstract int GetEffectsVolume(); + abstract getEffectsVolume(): number; + Future<int> getEffectsVolume(); +

    Details -

    The volume is an integer ranging from 0 to 100. The default value is 100, which means the original volume.

    - Call this method after .
    +

    The volume is an integer ranging from 0 to 100. The default value is 100, which means + the original volume.

    + Call this method after . +
    Returns
      -
    • Volume of the audio effects, if this method call succeeds.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • Volume of the audio effects, if this method call succeeds.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita b/en-US/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita index ebd78fefbbb..b759d104fba 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_geterrordescription.dita @@ -1,41 +1,42 @@ - <ph keyref="getErrorDescription" /> + <ph keyref="getErrorDescription"/> Gets the warning or error description. - +

    - public static String getErrorDescription(int error) - + (NSString* _Nonnull)getErrorDescription: (NSInteger)error; - virtual const char* getErrorDescription(int code) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public static String getErrorDescription(int error) + + (NSString* _Nonnull)getErrorDescription: (NSInteger)error; + virtual const char* getErrorDescription(int code) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract getErrorDescription(code: number): string; + public abstract string GetErrorDescription(int code); + abstract getErrorDescription(code: number): string; + Future<String> getErrorDescription(int code); +

    Parameters - - code - error - The error code or warning code reported by the SDK. - -
    + + code + error + The error code or warning code reported by the SDK. + + +
    Returns

    The specific error or warning description.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita index 4770eb88b7e..056d5083e59 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getextensionproperty.dita @@ -1,60 +1,64 @@ - <ph keyref="getExtensionProperty" /> - Gets detailed information on the extensions. + <ph keyref="getExtensionProperty"/> + Gets detailed information on the + extensions. - +

    - public abstract String getExtensionProperty(String provider, String extension, String key); + public abstract String getExtensionProperty(String provider, String extension, String key); - - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider + - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension key:(NSString * __nonnull)key; - - - - -

    + + + + + +

    Details -

    +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    Returns
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • < 0: Failure. See for details + and resolution suggestions.
  • +
    • The extension information, if the method call succeeds.
    • An empty string, if the method call fails.
    • -
    +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita index 0430fd24808..a8faa08e9e3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getextensionproperty2.dita @@ -2,7 +2,8 @@ <ph keyref="getExtensionProperty2"/> - Gets detailed information on the extensions. + Gets detailed information on the + extensions. @@ -13,42 +14,42 @@

    - public abstract String getExtensionProperty( + public abstract String getExtensionProperty( String provider, String extension, String key, Constants.MediaSourceType sourceType); - - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider + - (NSString * _Nullable)getExtensionPropertyWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension key:(NSString * __nonnull)key sourceType:(AgoraMediaSourceType)sourceType; - virtual int getExtensionProperty( + virtual int getExtensionProperty( const char* provider, const char* extension, const char* key, char* value, int buf_len, agora::media::MEDIA_SOURCE_TYPE type = agora::media::UNKNOWN_MEDIA_SOURCE) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetExtensionProperty(FString provider, FString extension, FString key, FString value, int buf_len, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE); - abstract getExtensionProperty( + abstract getExtensionProperty( provider: string, extension: string, key: string, bufLen: number, type?: MediaSourceType ): string; - public abstract int GetExtensionProperty(string provider, string extension, string key, ref string value, int buf_len, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); - abstract getExtensionProperty( + public abstract int GetExtensionProperty(string provider, string extension, string key, ref string value, int buf_len, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); + abstract getExtensionProperty( provider: string, extension: string, key: string, bufLen: number, type?: MediaSourceType ): string; - Future<String> getExtensionProperty( + Future<String> getExtensionProperty( {required String provider, required String extension, required String key, required int bufLen, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

    Details @@ -57,45 +58,53 @@
    Parameters - - provider - An output parameter. The name of the extension provider. - The name of the extension provider. - - - extension - An output parameter. The name of the extension. - The name of the extension. - - - key - An output parameter. The key of the extension. - The key of the extension. - - - value - An output parameter. The value of the extension key. - - - sourceType - type - Source type of the extension. See . - - - buf_len - bufLen - Maximum length of the JSON string indicating the extension property. The maximum value is 512 bytes. - -
    + + provider + An output parameter. The name of the + extension provider. + The name of the extension + provider. + + + extension + An output parameter. The name of the + extension. + The name of the extension. + + + key + An output parameter. The key of the + extension. + The key of the extension. + + + value + An output parameter. The value of the extension key. + + + sourceType + type + Source type of the extension. See . + + + buf_len + bufLen + Maximum length of the JSON string indicating the extension property. The + maximum value is 512 bytes. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
      -
    • The extension information, if the method call succeeds.
    • -
    • An empty string, if the method call fails.
    • -
    +
  • The extension information, if the method call succeeds.
  • +
  • An empty string, if the method call fails.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getlocalspatialaudioengine.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getlocalspatialaudioengine.dita index 49b05e13a6a..dada837e834 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getlocalspatialaudioengine.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getlocalspatialaudioengine.dita @@ -1,34 +1,36 @@ - <ph keyref="getLocalSpatialAudioEngine" /> - Gets one object. + <ph keyref="getLocalSpatialAudioEngine"/> + Gets one + object. - +

    - - - - abstract getLocalSpatialAudioEngine(): ILocalSpatialAudioEngine; - public abstract ILocalSpatialAudioEngine GetLocalSpatialAudioEngine(); - abstract getLocalSpatialAudioEngine(): ILocalSpatialAudioEngine; - LocalSpatialAudioEngine getLocalSpatialAudioEngine(); -

    + + + + abstract getLocalSpatialAudioEngine(): ILocalSpatialAudioEngine; + public abstract ILocalSpatialAudioEngine GetLocalSpatialAudioEngine(); + abstract getLocalSpatialAudioEngine(): ILocalSpatialAudioEngine; + LocalSpatialAudioEngine getLocalSpatialAudioEngine(); +

    -
    +
    Details - Make sure the is initialized before you call this method. + Make sure the is initialized before you + call this method.
    -
    +
    Returns -

    One object.

    +

    One object.

    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getloopbackrecordingvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getloopbackrecordingvolume.dita index b36530f65d4..ef80a76ebc2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getloopbackrecordingvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getloopbackrecordingvolume.dita @@ -1,41 +1,42 @@ - <ph keyref="getLoopbackRecordingVolume" /> - + <ph keyref="getLoopbackRecordingVolume"/> + - +

    - - - virtual int getLoopbackRecordingVolume() = 0; - - - - Future<int> getLoopbackRecordingVolume(); -

    + + + virtual int getLoopbackRecordingVolume() = 0; + + + + Future<int> getLoopbackRecordingVolume(); +

    Details -

    +

    Parameters - - - - -
    + + + + + +
    Returns
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getmediaengine.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getmediaengine.dita index 1afcbd354bc..12130c52ed0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getmediaengine.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getmediaengine.dita @@ -1,33 +1,36 @@ - <ph keyref="getMediaEngine" /> - Gets one object. + <ph keyref="getMediaEngine"/> + Gets one + object. - +

    - - - - abstract getMediaEngine(): IMediaEngine; - - abstract getMediaEngine(): IMediaEngine; - MediaEngine getMediaEngine(); -

    + + + + abstract getMediaEngine(): IMediaEngine; + + abstract getMediaEngine(): IMediaEngine; + MediaEngine getMediaEngine(); +

    Details - Make sure the is initialized before you call this method.
    + Make sure the is initialized before you + call this method. +
    Returns -

    One object.

    +

    One object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getmediarecorder.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getmediarecorder.dita index 530ede0cc8e..38e4ad5e8f8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getmediarecorder.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getmediarecorder.dita @@ -2,7 +2,9 @@ <ph keyref="getMediaRecorder"/> - Gets an object. Creates one instance. + Gets + an object. Creates one + instance. @@ -13,26 +15,29 @@

    - public static synchronized AgoraMediaRecorder getMediaRecorder(RtcEngine engine) - + (instancetype _Nonnull)sharedMediaRecorderWithRtcEngine:(AgoraRtcEngineKit* _Nonnull)engine; - - abstract getMediaRecorder(): IMediaRecorder; - public abstract IMediaRecorder GetMediaRecorder(); - abstract getMediaRecorder(): IMediaRecorder; - MediaRecorder getMediaRecorder(); -

    + public static synchronized AgoraMediaRecorder getMediaRecorder(RtcEngine engine) + + (instancetype _Nonnull)sharedMediaRecorderWithRtcEngine:(AgoraRtcEngineKit* _Nonnull)engine; + + abstract getMediaRecorder(): IMediaRecorder; + public abstract IMediaRecorder GetMediaRecorder(); + abstract getMediaRecorder(): IMediaRecorder; + MediaRecorder getMediaRecorder(); +

    Details - Make sure that is initialized before you call this method.
    + Make sure that is initialized before you + call this method. +
    Parameters - - engine - One object. - -
    + + engine + One object. + + +
    Returns

    One object.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getmusiccontentcenter.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getmusiccontentcenter.dita index 515582819b4..3b0b6925c82 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getmusiccontentcenter.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getmusiccontentcenter.dita @@ -1,30 +1,31 @@ - <ph keyref="getMusicContentCenter" /> - Gets . + <ph keyref="getMusicContentCenter"/> + Gets . - +

    - - - - abstract getMusicContentCenter(): IMusicContentCenter; - public abstract IMusicContentCenter GetMusicContentCenter(); - abstract getMusicContentCenter(): IMusicContentCenter; - MusicContentCenter getMusicContentCenter() -

    + + + + abstract getMusicContentCenter(): IMusicContentCenter; + public abstract IMusicContentCenter GetMusicContentCenter(); + abstract getMusicContentCenter(): IMusicContentCenter; + MusicContentCenter getMusicContentCenter() +

    Returns -

    One object.

    +

    One object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita index 8e68a001bfa..a8e10470899 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getnativehandle.dita @@ -13,33 +13,36 @@

    - public abstract long getNativeHandle(); - - (void* _Nullable)getNativeHandle; - - abstract getNativeHandle(): number; - public abstract int GetNativeHandler(ref IntPtr nativeHandler); - abstract getNativeHandle(): number; - Future<int> getNativeHandle(); -

    + public abstract long getNativeHandle(); + - (void* _Nullable)getNativeHandle; + + abstract getNativeHandle(): number; + public abstract int GetNativeHandler(ref IntPtr nativeHandler); + abstract getNativeHandle(): number; + Future<int> getNativeHandle(); +

    Details -

    This method retrieves the C++ handle of the SDK, which is used for registering the audio and video frame observer.

    +

    This method retrieves the C++ handle of the SDK, which is used for registering the + audio and video frame observer.

    Parameters - - nativeHandler - Output parameter, the native handle of the SDK. - + + nativeHandler + Output parameter, the native handle of the SDK. + +
    Returns

    The native handle of the SDK.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita index dd300e9bffe..dee38dd3f03 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getnetworktype.dita @@ -2,7 +2,8 @@ <ph keyref="getNetworkType"/> - Gets the type of the local network connection. + Gets the type of the local network + connection. @@ -13,42 +14,47 @@

    - public abstract int getNetworkType(); - - (int) getNetworkType; - virtual int getNetworkType() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int getNetworkType(); + - (int) getNetworkType; + virtual int getNetworkType() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetNetworkType(); - abstract getNetworkType(): number; - public abstract int GetNetworkType(); - abstract getNetworkType(): number; - Future<int> getNetworkType(); -

    + abstract getNetworkType(): number; + public abstract int GetNetworkType(); + abstract getNetworkType(): number; + Future<int> getNetworkType(); +

    Details
    - -
    Since
    -
    v4.0.1
    -
    + +
    Since
    +
    v4.0.1
    +

    You can use this method to get the type of network in use at any stage.

    - You can call this method either before or after joining a channel.
    + You can call this method either before or after joining a + channel. +
    Returns
      -
    • ≥ 0: The method call is successful, and the local network connection type is returned.
        -
      • 0: The SDK disconnects from the network.
      • -
      • 1: The network type is LAN.
      • -
      • 2: The network type is Wi-Fi (including hotspots).
      • -
      • 3: The network type is mobile 2G.
      • -
      • 4: The network type is mobile 3G.
      • -
      • 5: The network type is mobile 4G.
      • -
      • 6: The network type is mobile 5G.
      • -
    • -
    • < 0: The method call failed with an error code.
        -
      • -1: The network type is unknown.
      • -
    • -
    +
  • ≥ 0: The method call is successful, and the local network connection type is returned.
      +
    • 0: The SDK disconnects from the network.
    • +
    • 1: The network type is LAN.
    • +
    • 2: The network type is Wi-Fi (including hotspots).
    • +
    • 3: The network type is mobile 2G.
    • +
    • 4: The network type is mobile 3G.
    • +
    • 5: The network type is mobile 4G.
    • +
    • 6: The network type is mobile 5G.
    • +
    +
  • +
  • < 0: The method call failed with an error code.
      +
    • -1: The network type is unknown.
    • +
    +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita index 60bbb2494c9..20175ceac18 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getntpwalltimeinms.dita @@ -2,7 +2,8 @@ <ph keyref="getNtpWallTimeInMs"/> - Gets the current NTP (Network Time Protocol) time. + Gets the current NTP (Network Time Protocol) + time. @@ -13,26 +14,29 @@

    - public abstract long getNtpWallTimeInMs(); - - (uint64_t)getNtpWallTimeInMs; - virtual uint64_t getNtpWallTimeInMs() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract long getNtpWallTimeInMs(); + - (uint64_t)getNtpWallTimeInMs; + virtual uint64_t getNtpWallTimeInMs() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") FString GetNtpWallTimeInMs(); - abstract getNtpWallTimeInMs(): number; - public abstract UInt64 GetNtpWallTimeInMs(); - abstract getNtpWallTimeInMs(): number; - Future<int> getNtpWallTimeInMs(); -

    + abstract getNtpWallTimeInMs(): number; + public abstract UInt64 GetNtpWallTimeInMs(); + abstract getNtpWallTimeInMs(): number; + Future<int> getNtpWallTimeInMs(); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    In the real-time chorus scenario, especially when the downlink connections are inconsistent due to network issues among multiple receiving ends, you can call this method to obtain the current NTP time as the reference time, in order to align the lyrics and music of multiple receiving ends and achieve chorus synchronization.

    +

    In the real-time chorus scenario, especially when the downlink connections are + inconsistent due to network issues among multiple receiving ends, you can call this + method to obtain the current NTP time as the reference time, in order to align the + lyrics and music of multiple receiving ends and achieve chorus synchronization.

    Returns diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getpluginparameter.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getpluginparameter.dita index 7dc8a386400..0a336590983 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getpluginparameter.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getpluginparameter.dita @@ -1,46 +1,50 @@ - <ph keyref="getPluginParameter" /> - Gets the parameter of a specified plugin. + <ph keyref="getPluginParameter"/> + Gets the parameter of a specified + plugin. - +

    - - - - - - - -

    + + + + + + + +

    Details -

    If you want to pass the JSON string to the C++ layer when using the plugin, you need to call and to get and set the plugin parameters.

    +

    If you want to pass the JSON string to the C++ layer when using the plugin, you need + to call and to get and set the plugin parameters.

    Parameters - - - - - - key - The key. - -
    + + + + + + key + The key. + + +
    Returns

    The value corresponding to the key.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getplugins.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getplugins.dita index 482198cefa5..0e29bf4eb4c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getplugins.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getplugins.dita @@ -1,34 +1,35 @@ - <ph keyref="getPlugins" /> + <ph keyref="getPlugins"/> Gets the plugins. - +

    - - - - - - - -

    + + + + + + + +

    Details -

    After calling , you can call this method to get registered plugins.

    +

    After calling , you can call this method to get + registered plugins.

    Returns -

    An array of the objects.

    +

    An array of the objects.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getrtcengineeventhandler.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getrtcengineeventhandler.dita index 9c6fb51f5b8..d362765bcb0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getrtcengineeventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getrtcengineeventhandler.dita @@ -1,12 +1,13 @@ - <ph keyref="getRtcEngineEventHandler" /> - Gets the object. + <ph keyref="getRtcEngineEventHandler"/> + Gets the + object. - + @@ -18,14 +19,16 @@ public abstract RtcEngineEventHandler GetRtcEngineEventHandler(); - + +
    Details -

    After you obtain the object, you can register the callbacks for .

    +

    After you obtain the object, you can register + the callbacks for .

    Returns -

    object.

    +

    object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita index 8c549f7f183..52ad1934c44 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getscreencapturesources.dita @@ -1,69 +1,96 @@ - <ph keyref="getScreenCaptureSources" /> - Gets a list of shareable screens and windows. + <ph keyref="getScreenCaptureSources"/> + Gets a list of shareable screens and + windows. - +

    - - - (NSArray<AgoraScreenCaptureSourceInfo*>* _Nullable)getScreenCaptureSourcesWithThumbSize:(NSSize)thumbSize iconSize:(NSSize)iconSize includeScreen:(BOOL)includeScreen; + + - (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|RtcEngineProxy") + virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") UIScreenCaptureSourceList* GetScreenCaptureSources(FSIZE thumbSize, FSIZE iconSize, bool includeScreen); - abstract getScreenCaptureSources( + abstract getScreenCaptureSources( thumbSize: Size, iconSize: Size, includeScreen: boolean ): ScreenCaptureSourceInfo[]; - public abstract ScreenCaptureSourceInfo[] GetScreenCaptureSources(SIZE thumbSize, SIZE iconSize, bool includeScreen); - abstract getScreenCaptureSources( + public abstract ScreenCaptureSourceInfo[] GetScreenCaptureSources(SIZE thumbSize, SIZE iconSize, bool includeScreen); + abstract getScreenCaptureSources( thumbSize: Size, iconSize: Size, includeScreen: boolean ): ScreenCaptureSourceInfo[]; - Future<List<ScreenCaptureSourceInfo>> getScreenCaptureSources( + Future<List<ScreenCaptureSourceInfo>> getScreenCaptureSources( {required Size thumbSize, required Size iconSize, required bool includeScreen}); -

    +

    Details -

    You can call this method before sharing a screen or window to get a list of shareable screens and windows, which enables a user to use thumbnails in the list to easily choose a particular screen or window to share. This list also contains important information such as window ID and screen ID, with which you can call or to start the sharing.

    - This method applies to macOS and Windows only. -
    +

    You can call this method before sharing a screen or window to get a list of shareable + screens and windows, which enables a user to use thumbnails in the list to easily + choose a particular screen or window to share. This list also contains important + information such as window ID and screen ID, with which you can call or to start the sharing.

    + This method applies to macOS and + Windows only. +
    Parameters - - thumbSize - The target size of the screen or window thumbnail (the width and height are in pixels). See . The SDK scales the original image to make the length of the longest side of the image the same as that of the target size without distorting the original image. For example, if the original image is 400 × 300 and thumbSize is 100 × 100, the actual size of the thumbnail is 100 × 75. If the target size is larger than the original size, the thumbnail is the original image and the SDK does not scale it. - - - iconSize - The target size of the icon corresponding to the application program (the width and height are in pixels). See . The SDK scales the original image to make the length of the longest side of the image the same as that of the target size without distorting the original image. For example, if the original image is 400 × 300 and iconSize is 100 × 100, the actual size of the icon is 100 × 75. If the target size is larger than the original size, the icon is the original image and the SDK does not scale it. - - - includeScreen - Whether the SDK returns the screen information in addition to the window information:
      -
    • : The SDK returns screen and window information.
    • -
    • : The SDK returns window information only.
    • -
    -
    -
    + + thumbSize + The target size of the screen or window thumbnail (the width and height + are in pixels). See . The SDK scales the original image to + make the length of the longest side of the image the same as that of the + target size without distorting the original image. For example, if the + original image is 400 × 300 and thumbSize is 100 × 100, the actual size + of the thumbnail is 100 × 75. If the target size is + larger than the original size, the thumbnail is the original image and + the SDK does not scale it. + + + iconSize + The target size of the icon corresponding to the application program + (the width and height are in pixels). See + . The SDK scales the original + image to make the length of the longest side of the image the same as + that of the target size without distorting the original image. For + example, if the original image is 400 × 300 and iconSize is 100 × 100, + the actual size of the icon is 100 × 75. If the + target size is larger than the original size, the icon is the original + image and the SDK does not scale it. + + + includeScreen + Whether the SDK returns the screen information in addition to the window information:
      +
    • : The SDK returns screen and + window information.
    • +
    • : The SDK returns window + information only.
    • +
    +
    + +
    Returns -

    -

    The array.

    +

    +

    The + array.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getscreensharehelper.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getscreensharehelper.dita index 7f7a13fcef1..bb3e7958b77 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getscreensharehelper.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getscreensharehelper.dita @@ -1,38 +1,39 @@ - <ph keyref="getScreenShareHelper" /> + <ph keyref="getScreenShareHelper"/> Gets a child process object. - +

    - - - - - - - -

    + + + + + + + +

    Parameters - - appGroup - The app group. - -
    + + appGroup + The app group. + + +
    Returns

    A child process object, which can be used for screen sharing.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getscreensinfo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getscreensinfo.dita index 2d68b1dd89d..f97575c8c57 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getscreensinfo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getscreensinfo.dita @@ -1,34 +1,38 @@ - <ph keyref="getScreensInfo" /> + <ph keyref="getScreensInfo"/> Gets the screen information. - +

    - - - - - - - -

    + + + + + + + +

    Details -

    You need to call this method to get the screen information before sharing the screen by a display ID (macOS) or ScreenRect (Windows).

    - This method gets the information of multiple screens.
    +

    You need to call this method to get the screen information before sharing the screen + by a display ID (macOS) or ScreenRect (Windows).

    + This method gets the information of multiple screens. +
    Returns -

    An object that contains the screen information. The screen information on macOS and Windows is different. You can ignore the details and directly use the returned objects for screen sharing.

    +

    An object that contains the screen information. The screen information on macOS and + Windows is different. You can ignore the details and directly use the returned + objects for screen sharing.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita index 9fa78b7c7ee..ed51cb37092 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getuserinfobyuid.dita @@ -1,70 +1,81 @@ - <ph keyref="getUserInfoByUid" /> - Gets the user information by passing in the user ID. + <ph keyref="getUserInfoByUid"/> + Gets the user information by passing in the user + ID. - +

    - public abstract int getUserInfoByUid(int uid, UserInfo userInfo); - - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error; - virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int getUserInfoByUid(int uid, UserInfo userInfo); + - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error; + virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract getUserInfoByUid(uid: number): UserInfo; + public abstract int GetUserInfoByUid(uint uid, ref UserInfo userInfo); + abstract getUserInfoByUid(uid: number): UserInfo; + Future<UserInfo> getUserInfoByUid(int uid); +

    Details -

    After a remote user joins the channel, the SDK gets the user ID and account of the remote user, caches them in a mapping table object, and triggers the callback on the local client. After receiving the callback, you can call this method to get the user account of the remote user from the object by passing in the user ID.

    +

    After a remote user joins the channel, the SDK gets the user ID + and account of the remote user, caches them in a mapping table object, and triggers + the callback on the local client. After receiving + the callback, you can call this method to get the user account of the remote user + from the object by passing in the user ID.

    Parameters - - uid - The user ID. - - - userInfo - Input and output parameter. The object that identifies the user information.
      -
    • Input: A object.
    • -
    • Output: A object that contains the user account and user ID of the user.
    • -
    -
    -
    - - channelId -

    - - - localUserAccount - The user account of the local user. - - - error - Error code. - -

    + + uid + The user ID. + + + userInfo + Input and output parameter. The object that + identifies the user information.
      +
    • Input: A object.
    • +
    • Output: A object that contains the user + account and user ID of the user.
    • +
    +
    +
    + + channelId +

    + + + localUserAccount + The user account of the local user. + + + error + Error code. + + +

    Returns
      -
    • A pointer to the instance, if the method call succeeds.
    • -
    • If the call fails, returns .
    • +
    • A pointer to the instance, if the method call + succeeds.
    • +
    • If the call fails, returns .
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita index 60b5b5efe2b..03d587bebc3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getuserinfobyuseraccount.dita @@ -1,28 +1,29 @@ - <ph keyref="getUserInfoByUserAccount" /> - Gets the user information by passing in the user account. + <ph keyref="getUserInfoByUserAccount"/> + Gets the user information by passing in the user + account. - +

    - - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error; - public abstract int getUserInfoByUserAccount(String userAccount, UserInfo userInfo); - virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error; + public abstract int getUserInfoByUserAccount(String userAccount, UserInfo userInfo); + virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int GetUserInfoByUserAccount(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); -

    + abstract getUserInfoByUserAccount(userAccount: string): UserInfo; + public abstract int GetUserInfoByUserAccount(string userAccount, ref UserInfo userInfo); + abstract getUserInfoByUserAccount(userAccount: string): UserInfo; + Future<UserInfo> getUserInfoByUserAccount(String userAccount); +

    Details @@ -31,27 +32,29 @@
    Parameters - - userAccount - The user account. - - - - - - - channelId -

    - - - localUserAccount - The user account of the local user. - - - - - -

    + + userAccount + The user account. + + + + + + + channelId +

    + + + localUserAccount + The user account of the local user. + + + + + + +

    </section> diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getversion.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getversion.dita index 9b596bc6da3..412cd27c090 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getversion.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getversion.dita @@ -13,26 +13,27 @@ <refbody> <section id="prototype"> <p outputclass="codeblock"> - <codeblock props="android" outputclass="language-java">public static String getSdkVersion()</codeblock> - <codeblock props="ios mac" outputclass="language-objectivec">+ (NSString * _Nonnull)getSdkVersion;</codeblock> - <codeblock props="cpp unreal" outputclass="language-cpp">virtual const char* getVersion(int* build) = 0;</codeblock> - <codeblock props="bp" outputclass="language-cpp">UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + <codeblock props="android" outputclass="language-java">public static String getSdkVersion()</codeblock> + <codeblock props="ios mac" outputclass="language-objectivec">+ (NSString * _Nonnull)getSdkVersion;</codeblock> + <codeblock props="cpp unreal" outputclass="language-cpp">virtual const char* getVersion(int* build) = 0;</codeblock> + <codeblock props="bp" outputclass="language-cpp">UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") FString GetVersion(int build);</codeblock> - <codeblock props="electron" outputclass="language-typescript">abstract getVersion(): SDKBuildInfo;</codeblock> - <codeblock props="unity cs" outputclass="language-csharp">public abstract string GetVersion(ref int build);</codeblock> - <codeblock props="rn" outputclass="language-typescript">abstract getVersion(): SDKBuildInfo;</codeblock> - <codeblock props="flutter" outputclass="language-dart">Future<SDKBuildInfo> getVersion();</codeblock> - <codeblock props="reserve" outputclass="language-cpp"></codeblock></p> + <codeblock props="electron" outputclass="language-typescript">abstract getVersion(): SDKBuildInfo;</codeblock> + <codeblock props="unity cs" outputclass="language-csharp">public abstract string GetVersion(ref int build);</codeblock> + <codeblock props="rn" outputclass="language-typescript">abstract getVersion(): SDKBuildInfo;</codeblock> + <codeblock props="flutter" outputclass="language-dart">Future<SDKBuildInfo> getVersion();</codeblock> + <codeblock props="reserve" outputclass="language-cpp"/></p> </section> <section id="parameters"> <title>Parameters - - build - The SDK build index. - -
    -
    + + build + The SDK build index. + + +
    +
    Returns

    The SDK version number. The format is a string.

    One object.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getvideocapturetype.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getvideocapturetype.dita index f62fc4b7b37..fe895bc047f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getvideocapturetype.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getvideocapturetype.dita @@ -1,32 +1,38 @@ - <ph keyref="getVideoCaptureType" /> - Sets the capture type of the custom video source. + <ph keyref="getVideoCaptureType"/> + Sets the capture type of the custom video + source. - - - + + + -
    + +

    - - - virtual VIDEO_CAPTURE_TYPE getVideoCaptureType() = 0; - - - - -

    + + + virtual VIDEO_CAPTURE_TYPE getVideoCaptureType() = 0; + + + + +

    Details - -

    Before you initialize the custom video source, the SDK triggers this callback to query the capture type of the video source. You must specify the capture type in the return value and then pass it to the SDK. The SDK enables the corresponding video processing algorithm according to the capture type after receiving the video frame.

    +

    Before you initialize the custom video source, the SDK triggers this callback to + query the capture type of the video source. You must specify the capture type in the + return value and then pass it to the SDK. The SDK enables the corresponding video + processing algorithm according to the capture type after receiving the video + frame.

    Returns -

    -
    - \ No newline at end of file +

    +
    +
    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getvideocontenthint.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getvideocontenthint.dita index 1e57c234c87..e0308294184 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getvideocontenthint.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getvideocontenthint.dita @@ -1,33 +1,39 @@ - <ph keyref="getVideoContentHint" /> - Gets the content hint for the custom video source. + <ph keyref="getVideoContentHint"/> + Gets the content hint for the custom video + source. - - - + + + -
    + +

    - - - virtual VideoContentHint getVideoContentHint() = 0; - - - - -

    + + + virtual VideoContentHint getVideoContentHint() = 0; + + + + +

    Details - -

    If you specify the custom video source as a screen-sharing video, the SDK triggers this callback to query the content hint of the video source before you initialize the video source. You must specify the content hint in the return value and then pass it to the SDK. The SDK enables the corresponding video processing algorithm according to the content hint after receiving the video frame.

    +

    If you specify the custom video source as a screen-sharing video, the SDK triggers + this callback to query the content hint of the video source before you initialize + the video source. You must specify the content hint in the return value and then + pass it to the SDK. The SDK enables the corresponding video processing algorithm + according to the content hint after receiving the video frame.

    - Returns -

    -
    - \ No newline at end of file + Returns +

    +
    +
    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getvideodevicemanager.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getvideodevicemanager.dita index f8c8ef5ddbb..eb6da3d2de6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getvideodevicemanager.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getvideodevicemanager.dita @@ -1,29 +1,30 @@ - <ph keyref="getVideoDeviceManager" /> - Gets the object to manage video devices. + <ph keyref="getVideoDeviceManager"/> + Gets the object to + manage video devices. - +

    - - - - abstract getVideoDeviceManager(): IVideoDeviceManager; - public abstract IVideoDeviceManager GetVideoDeviceManager(); - - VideoDeviceManager getVideoDeviceManager(); -

    + + + + abstract getVideoDeviceManager(): IVideoDeviceManager; + public abstract IVideoDeviceManager GetVideoDeviceManager(); + + VideoDeviceManager getVideoDeviceManager(); +

    Returns -

    One object.

    +

    One object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getvideodevices.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getvideodevices.dita index d412f30c61f..52f74d38998 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getvideodevices.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getvideodevices.dita @@ -1,30 +1,30 @@ - <ph keyref="enumerateVideoDevices" /> + <ph keyref="enumerateVideoDevices"/> Gets the list of video devices. - +

    - - - - - - - -

    + + + + + + + +

    Returns -

    An array of the video devices. See .

    +

    An array of the video devices. See .

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getvideosourcetype.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getvideosourcetype.dita index 99e9d2c6232..187992ebb04 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getvideosourcetype.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getvideosourcetype.dita @@ -1,36 +1,37 @@ - <ph keyref="getVideoSourceType" /> + <ph keyref="getVideoSourceType"/> Gets the video frame type. - +

    - - - - - - - int getVideoSourceType() { + + + + + + + int getVideoSourceType() { return canvas.uid! == 0 ? VideoSourceType.videoSourceCamera.value() : VideoSourceType.videoSourceRemote.value(); } -

    +

    Returns
    • The type of the video source, if the method call succeeds.
    • < 0: Failure.
    • -
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita index aa05fe0cef1..123d13b83bd 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getvolumeofeffect.dita @@ -1,42 +1,48 @@ - <ph keyref="getVolumeOfEffect" /> - Gets the volume of a specified audio effect file. + <ph keyref="getVolumeOfEffect"/> + Gets the volume of a specified audio effect + file. - +

    - public abstract int getVolumeOfEffect(int soundId); - - (int)getVolumeOfEffect:(int)soundId; - virtual int getVolumeOfEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int getVolumeOfEffect(int soundId); + - (int)getVolumeOfEffect:(int)soundId; + virtual int getVolumeOfEffect(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract getVolumeOfEffect(soundId: number): number; + public abstract int GetVolumeOfEffect(int soundId); + abstract getVolumeOfEffect(soundId: number): number; + Future<int> getVolumeOfEffect(int soundId); +

    Parameters - - soundId - The ID of the audio effect file. - -
    + + soundId + The ID of the audio effect file. + + +
    Returns
      -
    • ≥ 0: Returns the volume of the specified audio effect, if the method call is successful. The value ranges between 0 and 100. 100 represents the original volume.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • ≥ 0: Returns the volume of the specified audio effect, if the method call is + successful. The value ranges between 0 and 100. 100 represents the original + volume.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_getwindowsinfo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_getwindowsinfo.dita index 3f4b370f9ff..04d048ae78c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_getwindowsinfo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_getwindowsinfo.dita @@ -1,34 +1,36 @@ - <ph keyref="getWindowsInfo" /> + <ph keyref="getWindowsInfo"/> Gets the window information. - +

    - - - - - - - -

    + + + + + + + +

    Details -

    Before sharing a window through a window ID that specifies the window, you need to call this method to get the window information.

    - This method gets the information of multiple windows.
    +

    Before sharing a window through a window ID that specifies the window, you need to + call this method to get the window information.

    + This method gets the information of multiple windows. +
    Returns -

    The WindowInfo array: .

    +

    The WindowInfo array: .

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_initialize.dita b/en-US/dita/RTC-NG/API/api_irtcengine_initialize.dita index 9d9400d9388..97919243041 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_initialize.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_initialize.dita @@ -2,7 +2,9 @@ <ph keyref="initialize"/> - Creates and initializes . Initializes . + Creates and initializes . Initializes . @@ -13,58 +15,83 @@

    - public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} + public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} - + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config + + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; - virtual int initialize(const RtcEngineContext& context) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int initialize(const RtcEngineContext& context) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int Initialize(const FRtcEngineContext& context); - abstract initialize(context: RtcEngineContext): number; - public abstract int Initialize(RtcEngineContext context); - abstract initialize(context: RtcEngineContext): number; - Future<void> initialize(RtcEngineContext context); -

    + abstract initialize(context: RtcEngineContext): number; + public abstract int Initialize(RtcEngineContext context); + abstract initialize(context: RtcEngineContext): number; + Future<void> initialize(RtcEngineContext context); +

    Details -

    All called methods provided by the class are executed asynchronously. Agora recommends calling these methods in the same thread.

    +

    All called methods provided by the + class are executed asynchronously. Agora + recommends calling these methods in the same thread.

    -
      -
    • Before calling other APIs, you must call and to create and initialize the object.
    • -
    • Before calling other APIs, you must call this method to create the object.
    • -
    • You can create the instance either by calling this method or by calling . The difference between and this method is that this method supports more configurations when creating the instance, for example, specifying the region for connection and setting the log files.
    • -
    • The SDK supports creating only one instance for an app.
    • -
    +
      +
    • Before calling other APIs, you must + call and to create and initialize the object.
    • +
    • Before calling other APIs, you must call this + method to create the object.
    • +
    • You can create the + instance either by calling this method or by calling . The difference between and this method is + that this method supports more configurations when creating the instance, for example, specifying the region for + connection and setting the log files.
    • +
    • The SDK supports creating only one instance + for an app.
    • +
    + +
    Parameters - - context - config - -

    Configurations for the instance. See .

    -
    -
    - - delegate - - -
    + + context + config + +

    Configurations for the instance. See .

    +
    +
    + + delegate + + + +
    - <ph keyref="return-section-title" props="apple cpp framework"/><ph props="android">Returns/Exceptions</ph> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    + <ph keyref="return-section-title" props="apple cpp framework"/><ph + props="android">Returns/Exceptions</ph> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • The instance, if the method call succeeds.
    • -
    • 0: Success.
    • -
    • The method call fails and an exception is thrown, you need to catch the exception and handle it. See for details and resolution suggestions.
    • -
    • < 0: Failure.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -7: The SDK is not initialized.
      • -
      • -22: The resource request failed. The SDK fails to allocate resources because your app consumes too much system resource or the system resources are insufficient.
      • -
      • -101: The App ID is invalid.
      • -
    • +
    • The instance, if the method + call succeeds.
    • +
    • 0: Success.
    • +
    • The method call fails and an exception is thrown, you need to + catch the exception and handle it. See for details and resolution + suggestions.
    • +
    • < 0: Failure.
        +
      • -1: A general error occurs (no specified reason).
      • +
      • -2: The parameter is invalid.
      • +
      • -7: The SDK is not initialized.
      • +
      • -22: The resource request failed. The SDK fails to allocate resources + because your app consumes too much system resource or the system + resources are insufficient.
      • +
      • -101: The App ID is invalid.
      • +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita index 8e9c1e9d488..b36e37c6423 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_iscameraautoexposurefacemodesupported.dita @@ -1,43 +1,49 @@ - <ph keyref="isCameraAutoExposureFaceModeSupported" /> - Checks whether the device supports auto exposure. + <ph keyref="isCameraAutoExposureFaceModeSupported"/> + Checks whether the device supports auto + exposure. - +

    - - - (BOOL)isCameraAutoExposureFaceModeSupported; - virtual bool isCameraAutoExposureFaceModeSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + - (BOOL)isCameraAutoExposureFaceModeSupported; + virtual bool isCameraAutoExposureFaceModeSupported() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") bool IsCameraAutoExposureFaceModeSupported(); - abstract isCameraAutoExposureFaceModeSupported(): boolean; - public abstract bool IsCameraAutoExposureFaceModeSupported(); - abstract isCameraAutoExposureFaceModeSupported(): boolean; - Future<bool> isCameraAutoExposureFaceModeSupported(); -

    + abstract isCameraAutoExposureFaceModeSupported(): boolean; + public abstract bool IsCameraAutoExposureFaceModeSupported(); + abstract isCameraAutoExposureFaceModeSupported(): boolean; + Future<bool> isCameraAutoExposureFaceModeSupported(); +

    Details

    - -

      -
    • This method applies to iOS only.
    • -
    • -

    + +
      +
    • This method applies to iOS + only.
    • +
    • +
    +
    +

    Returns
      -
    • : The device supports auto exposure.
    • -
    • : The device does not support auto exposure.
    • -
    +
  • : The device supports auto exposure.
  • +
  • : The device does not support auto + exposure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita index 68bc3cac16c..078445c92e5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_iscameraautofocusfacemodesupported.dita @@ -1,41 +1,47 @@ - <ph keyref="isCameraAutoFocusFaceModeSupported" /> - Checks whether the device supports the face auto-focus function. + <ph keyref="isCameraAutoFocusFaceModeSupported"/> + Checks whether the device supports the face auto-focus + function. - +

    - public abstract boolean isCameraAutoFocusFaceModeSupported(); - - (BOOL)isCameraAutoFocusFaceModeSupported; - virtual bool isCameraAutoFocusFaceModeSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract boolean isCameraAutoFocusFaceModeSupported(); + - (BOOL)isCameraAutoFocusFaceModeSupported; + virtual bool isCameraAutoFocusFaceModeSupported() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") bool IsCameraAutoFocusFaceModeSupported(); - abstract isCameraAutoFocusFaceModeSupported(): boolean; - public abstract bool IsCameraAutoFocusFaceModeSupported(); - abstract isCameraAutoFocusFaceModeSupported(): boolean; - Future<bool> isCameraAutoFocusFaceModeSupported(); -

    + abstract isCameraAutoFocusFaceModeSupported(): boolean; + public abstract bool IsCameraAutoFocusFaceModeSupported(); + abstract isCameraAutoFocusFaceModeSupported(): boolean; + Future<bool> isCameraAutoFocusFaceModeSupported(); +

    Details -
      -
    • This method is for Android and iOS only.
    • -
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • +
    +
    Returns
      -
    • : The device supports the face auto-focus function.
    • -
    • : The device does not support the face auto-focus function.
    • -
    +
  • : The device supports the face auto-focus + function.
  • +
  • : The device does not support the face + auto-focus function.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_iscameracenterstagesupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_iscameracenterstagesupported.dita index 73ca82084d8..eab4362ee83 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_iscameracenterstagesupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_iscameracenterstagesupported.dita @@ -2,7 +2,8 @@ <ph keyref="isCameraCenterStageSupported"/> - Check if the camera supports portrait center stage. + Check if the camera supports portrait center + stage. @@ -13,31 +14,38 @@

    - - - (BOOL)isCameraCenterStageSupported NS_SWIFT_NAME(isCameraCenterStageSupported()); - virtual bool isCameraCenterStageSupported() = 0; - - abstract isCameraCenterStageSupported(): boolean; - public abstract bool IsCameraCenterStageSupported(); - abstract isCameraCenterStageSupported(): boolean; - Future<bool> isCameraCenterStageSupported();

    + + - (BOOL)isCameraCenterStageSupported NS_SWIFT_NAME(isCameraCenterStageSupported()); + virtual bool isCameraCenterStageSupported() = 0; + + abstract isCameraCenterStageSupported(): boolean; + public abstract bool IsCameraCenterStageSupported(); + abstract isCameraCenterStageSupported(): boolean; + Future<bool> isCameraCenterStageSupported(); +

    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +
    - This method is for iOS and macOS only. + This method is for iOS and + macOS only. This method applies to iOS only. This method applies to macOS only. -

    Before calling to enable portrait center stage, it is recommended to call this method to check if the current device supports the feature.

    +

    Before calling to enable portrait center + stage, it is recommended to call this method to check if the current device supports + the feature.

    Call timing -

    This method must be called after the camera is successfully enabled, that is, after the SDK triggers the callback and returns the local video state as (1).

    -
    +

    This method must be called after the camera is successfully enabled, that is, after + the SDK triggers the callback and returns + the local video state as + (1).

    +
    Restrictions

    None.

    @@ -45,8 +53,11 @@
    <ph keyref="return-section-title"/>
      -
    • : The current camera supports the portrait center stage.
    • -
    • : The current camera supports the portrait center stage.
    • -
    - +
  • : The current camera supports the portrait + center stage.
  • +
  • : The current camera supports the portrait + center stage.
  • + +
    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita index e135ef09fa7..e8aa09c720e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_iscameraexposurepositionsupported.dita @@ -1,41 +1,46 @@ - <ph keyref="isCameraExposurePositionSupported" /> - Checks whether the device supports manual exposure. + <ph keyref="isCameraExposurePositionSupported"/> + Checks whether the device supports manual + exposure. - +

    - public abstract boolean isCameraExposurePositionSupported(); - - (BOOL)isCameraExposurePositionSupported; - virtual bool isCameraExposurePositionSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract boolean isCameraExposurePositionSupported(); + - (BOOL)isCameraExposurePositionSupported; + virtual bool isCameraExposurePositionSupported() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") bool IsCameraExposurePositionSupported(); - abstract isCameraExposurePositionSupported(): boolean; - public abstract bool IsCameraExposurePositionSupported(); - abstract isCameraExposurePositionSupported(): boolean; - Future<bool> isCameraExposurePositionSupported(); -

    + abstract isCameraExposurePositionSupported(): boolean; + public abstract bool IsCameraExposurePositionSupported(); + abstract isCameraExposurePositionSupported(): boolean; + Future<bool> isCameraExposurePositionSupported(); +

    Details -
      -
    • This method is for Android and iOS only.
    • -
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • +
    +
    Returns
      -
    • : The device supports manual exposure.
    • -
    • : The device does not support manual exposure.
    • -
    +
  • : The device supports manual exposure.
  • +
  • : The device does not support manual + exposure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita index 94a86c6ebbd..575418756ce 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_iscameraexposuresupported.dita @@ -1,49 +1,60 @@ - <ph keyref="isCameraExposureSupported" /> - Queries whether the current camera supports adjusting exposure value. + <ph keyref="isCameraExposureSupported"/> + Queries whether the current camera supports adjusting + exposure value. - +

    - public abstract boolean isCameraExposureSupported(); - - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported()); - virtual bool isCameraExposureSupported() = 0; - - public abstract bool IsCameraExposureSupported(); - abstract isCameraExposureSupported(): boolean; - Future<bool> isCameraExposureSupported(); -

    -
    + public abstract boolean isCameraExposureSupported(); + - (BOOL)isCameraExposureSupported NS_SWIFT_NAME(isCameraExposureSupported()); + virtual bool isCameraExposureSupported() = 0; + + public abstract bool IsCameraExposureSupported(); + abstract isCameraExposureSupported(): boolean; + Future<bool> isCameraExposureSupported(); +

    +
    Details
    - -
    Since
    -
    v4.2.2
    -
    + +
    Since
    +
    v4.2.2
    +
    -
      -
    • This method is for Android and iOS only.
    • -
    • This method must be called after the camera is successfully enabled, that is, after the SDK triggers the callback and returns the local video state as (1).
    • -
    • Before calling , Agora recoomends that you call this method to query whether the current camera supports adjusting the exposure value.
    • -
    • By calling this method, you adjust the exposure value of the currently active camera, that is, the camera specified when calling .
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • This method must be called after the camera is successfully + enabled, that is, after the SDK triggers the callback and returns the local video + state as (1).
    • +
    • Before calling , Agora recoomends + that you call this method to query whether the current camera supports + adjusting the exposure value.
    • +
    • By calling this method, you adjust the exposure value of the currently + active camera, that is, the camera specified when calling .
    • +
    Returns
      -
    • : Success.
    • -
    • : Failure. See for details and resolution suggestions.
    • +
    • : Success.
    • +
    • : Failure. See for details and resolution + suggestions.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita index 4360efcbb0f..584eaf68eb1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_iscamerafacedetectsupported.dita @@ -1,40 +1,45 @@ - <ph keyref="isCameraFaceDetectSupported" /> - Checks whether the device camera supports face detection. + <ph keyref="isCameraFaceDetectSupported"/> + Checks whether the device camera supports face + detection. - +

    - public abstract boolean isCameraFaceDetectSupported(); - - virtual bool isCameraFaceDetectSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract boolean isCameraFaceDetectSupported(); + + virtual bool isCameraFaceDetectSupported() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") bool IsCameraFaceDetectSupported(); - abstract isCameraFaceDetectSupported(): boolean; - public abstract bool IsCameraFaceDetectSupported(); - abstract isCameraFaceDetectSupported(): boolean; - Future<bool> isCameraFaceDetectSupported(); -

    + abstract isCameraFaceDetectSupported(): boolean; + public abstract bool IsCameraFaceDetectSupported(); + abstract isCameraFaceDetectSupported(): boolean; + Future<bool> isCameraFaceDetectSupported(); +

      -
    • This method is for Android and iOS only.
    • -
    • -
    -
    +
  • This method is for Android and iOS only.
  • +
  • + +
  • +
    Returns
      -
    • : The device camera supports face detection.
    • -
    • : The device camera does not support face detection.
    • -
    +
  • : The device camera supports face + detection.
  • +
  • : The device camera does not support face + detection.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_iscamerafocussupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_iscamerafocussupported.dita index bf1bb5f4afe..f9ea28b13ee 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_iscamerafocussupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_iscamerafocussupported.dita @@ -1,41 +1,47 @@ - <ph keyref="isCameraFocusSupported" /> - Check whether the device supports the manual focus function. + <ph keyref="isCameraFocusSupported"/> + Check whether the device supports the manual focus + function. - +

    - public abstract boolean isCameraFocusSupported(); - - (BOOL)isCameraFocusPositionInPreviewSupported; - virtual bool isCameraFocusSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract boolean isCameraFocusSupported(); + - (BOOL)isCameraFocusPositionInPreviewSupported; + virtual bool isCameraFocusSupported() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") bool IsCameraFocusSupported(); - abstract isCameraFocusSupported(): boolean; - public abstract bool IsCameraFocusSupported(); - abstract isCameraFocusSupported(): boolean; - Future<bool> isCameraFocusSupported(); -

    + abstract isCameraFocusSupported(): boolean; + public abstract bool IsCameraFocusSupported(); + abstract isCameraFocusSupported(): boolean; + Future<bool> isCameraFocusSupported(); +

    Details -
      -
    • This method is for Android and iOS only.
    • -
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • +
    +
    Returns
      -
    • : The device supports the manual focus function.
    • -
    • : The device does not support the manual focus function.
    • -
    +
  • : The device supports the manual focus + function.
  • +
  • : The device does not support the manual + focus function.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_iscameratorchsupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_iscameratorchsupported.dita index 4885c2ed7fa..5a858c34a14 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_iscameratorchsupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_iscameratorchsupported.dita @@ -1,43 +1,55 @@ - <ph keyref="isCameraTorchSupported" /> - Checks whether the device supports camera flash. + <ph keyref="isCameraTorchSupported"/> + Checks whether the device supports camera + flash. - +

    - public abstract boolean isCameraTorchSupported(); - - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported()); - virtual bool isCameraTorchSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract boolean isCameraTorchSupported(); + - (BOOL)isCameraTorchSupported NS_SWIFT_NAME(isCameraTorchSupported()); + virtual bool isCameraTorchSupported() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") bool IsCameraTorchSupported(); - abstract isCameraTorchSupported(): boolean; - public abstract bool IsCameraTorchSupported(); - abstract isCameraTorchSupported(): boolean; - Future<bool> isCameraTorchSupported(); -

    -
    + abstract isCameraTorchSupported(): boolean; + public abstract bool IsCameraTorchSupported(); + abstract isCameraTorchSupported(): boolean; + Future<bool> isCameraTorchSupported(); +

    +
    Details -
      -
    • This method is for Android and iOS only.
    • -
    • -
    • The app enables the front camera by default. If your front camera does not support flash, this method returns . If you want to check whether the rear camera supports the flash function, call before this method.
    • -
    • On iPads with system version 15, even if returns , you might fail to successfully enable the flash by calling due to system issues.
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • +
    • The app enables the front camera by default. If your front camera does not + support flash, this method returns . If you want to + check whether the rear camera supports the flash function, call before this method.
    • +
    • On iPads with system version + 15, even if returns , you might fail to successfully enable the + flash by calling due to system + issues.
    • +
    +
    Returns
      -
    • : The device supports camera flash.
    • -
    • : The device does not support camera flash.
    • -
    +
  • : The device supports camera flash.
  • +
  • : The device does not support camera + flash.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita index 55ffda67e20..d8fb4f2395d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_iscamerazoomsupported.dita @@ -1,41 +1,46 @@ - <ph keyref="isCameraZoomSupported" /> - Checks whether the device supports camera zoom. + <ph keyref="isCameraZoomSupported"/> + Checks whether the device supports camera + zoom. - +

    - public abstract boolean isCameraZoomSupported(); - - (BOOL)isCameraZoomSupported; - virtual bool isCameraZoomSupported() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract boolean isCameraZoomSupported(); + - (BOOL)isCameraZoomSupported; + virtual bool isCameraZoomSupported() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") bool IsCameraZoomSupported(); - abstract isCameraZoomSupported(): boolean; - public abstract bool IsCameraZoomSupported(); - abstract isCameraZoomSupported(): boolean; - Future<bool> isCameraZoomSupported(); -

    + abstract isCameraZoomSupported(): boolean; + public abstract bool IsCameraZoomSupported(); + abstract isCameraZoomSupported(): boolean; + Future<bool> isCameraZoomSupported(); +

    Details -
      -
    • This method is for Android and iOS only.
    • -
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • +
    +
    Returns
      -
    • : The device supports camera zoom.
    • -
    • : The device does not support camera zoom.
    • -
    +
  • : The device supports camera zoom.
  • +
  • : The device does not support camera + zoom.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita b/en-US/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita index 7e1cb8789ee..29cca3b1507 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_isfeatureavailableondevice.dita @@ -2,7 +2,8 @@ <ph keyref="isFeatureAvailableOnDevice"/> - Checks whether the device supports the specified advanced feature. + Checks whether the device supports the specified + advanced feature. @@ -13,46 +14,59 @@

    - public abstract boolean isFeatureAvailableOnDevice(int type); - - (BOOL)isFeatureAvailableOnDevice:(AgoraFeatureType)type; - virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0; - public abstract bool IsFeatureAvailableOnDevice(FeatureType type); - abstract isFeatureAvailableOnDevice(type: FeatureType): boolean; - Future<bool> isFeatureAvailableOnDevice(FeatureType type);

    + public abstract boolean isFeatureAvailableOnDevice(int type); + - (BOOL)isFeatureAvailableOnDevice:(AgoraFeatureType)type; + virtual bool isFeatureAvailableOnDevice(FeatureType type) = 0; + public abstract bool IsFeatureAvailableOnDevice(FeatureType type); + abstract isFeatureAvailableOnDevice(type: FeatureType): boolean; + Future<bool> isFeatureAvailableOnDevice(FeatureType type); +

    Details
    - -
    Since
    -
    v4.2.3
    -
    + +
    Since
    +
    v4.2.3
    +
    -

    Checks whether the capabilities of the current device meet the requirements for advanced features such as virtual background and image enhancement.

    +

    Checks whether the capabilities of the current device meet the requirements for + advanced features such as virtual background and image enhancement.

    Applicable scenarios -

    Before using advanced features, you can check whether the current device supports these features based on the call result. This helps to avoid performance degradation or unavailable features when enabling advanced features on low-end devices. Based on the return value of this method, you can decide whether to display or enable the corresponding feature button, or notify the user when the device's capabilities are insufficient.

    +

    Before using advanced features, you can check whether the current device supports + these features based on the call result. This helps to avoid performance degradation + or unavailable features when enabling advanced features on low-end devices. Based on + the return value of this method, you can decide whether to display or enable the + corresponding feature button, or notify the user when the device's capabilities are + insufficient.

    Parameters - - type - The type of the advanced feature, see . - -

    The type of the advanced feature.

      -
    • (1): Virutual background.
    • -
    • (2): Image enhancement.
    • -

    -
    -
    -
    + + type + The type of the advanced feature, see . + +

    The type of the advanced feature.

      +
    • (1): Virutual + background.
    • +
    • (2): Image enhancement.
    • +

    +
    +
    + +
    Returns
      -
    • : The current device supports the specified feature.
    • -
    • : The current device does not support the specified feature.
    • -
    +
  • : The current device supports the specified + feature.
  • +
  • : The current device does not support the + specified feature.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita b/en-US/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita index 31cda8a824c..c18a87f3c1b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_isspeakerphoneenabled.dita @@ -1,40 +1,46 @@ - <ph keyref="isSpeakerphoneEnabled" /> - Checks whether the speakerphone is enabled. + <ph keyref="isSpeakerphoneEnabled"/> + Checks whether the speakerphone is + enabled. - +

    - public abstract boolean isSpeakerphoneEnabled(); - - (BOOL)isSpeakerphoneEnabled; - virtual bool isSpeakerphoneEnabled() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract boolean isSpeakerphoneEnabled(); + - (BOOL)isSpeakerphoneEnabled; + virtual bool isSpeakerphoneEnabled() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") bool IsSpeakerphoneEnabled(); - abstract isSpeakerphoneEnabled(): boolean; - public abstract bool IsSpeakerphoneEnabled(); - abstract isSpeakerphoneEnabled(): boolean; - Future<bool> isSpeakerphoneEnabled(); -

    + abstract isSpeakerphoneEnabled(): boolean; + public abstract bool IsSpeakerphoneEnabled(); + abstract isSpeakerphoneEnabled(): boolean; + Future<bool> isSpeakerphoneEnabled(); +

    -
      -
    • This method is for Android and iOS only.
    • -
    • You can call this method either before or after joining a channel.
    • -
    +
      +
    • This method is for Android and iOS only.
    • +
    • You can call this method either before or after joining a channel.
    • +
    +
    Returns
      -
    • : The speakerphone is enabled, and the audio plays from the speakerphone.
    • -
    • : The speakerphone is not enabled, and the audio plays from devices other than the speakerphone. For example, the headset or earpiece.
    • -
    +
  • : The speakerphone is enabled, and the audio + plays from the speakerphone.
  • +
  • : The speakerphone is not enabled, and the + audio plays from devices other than the speakerphone. For example, the headset + or earpiece.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_istextureencodesupported.dita b/en-US/dita/RTC-NG/API/api_irtcengine_istextureencodesupported.dita index f8be24cef20..fed3e09f8ed 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_istextureencodesupported.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_istextureencodesupported.dita @@ -1,32 +1,35 @@ - <ph keyref="isTextureEncodeSupported" /> - Check whether the video supports the Texture encoding. + <ph keyref="isTextureEncodeSupported"/> + Check whether the video supports the Texture + encoding. - +

    - public abstract boolean isTextureEncodeSupported(); - - - - - - -

    + public abstract boolean isTextureEncodeSupported(); + + + + + + +

    Returns
      -
    • : Supports the Texture encoding.
    • -
    • : Does not support the Texture encoding.
    • -
    +
  • : Supports the Texture encoding.
  • +
  • : Does not support the Texture + encoding.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita index b6ea3ba99d4..5932eac3ea8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel.dita @@ -1,79 +1,96 @@ - <ph keyref="joinChannel1" /> + <ph keyref="joinChannel1"/> Joins a channel. - +

    - public abstract int joinChannel( + public abstract int joinChannel( String token, String channelId, String optionalInfo, int uid); - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId info:(NSString * _Nullable)info uid:(NSUInteger)uid joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannel(const char* token, const char* channelId, const char* info, + virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0; - abstract joinChannel( + abstract joinChannel( token: string, channelId: string, info: string, uid: number ): number; - public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0); - abstract joinChannel( + public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0); + abstract joinChannel( token: string, channelId: string, info: string, uid: number ): number; - Future<void> joinChannel( + Future<void> joinChannel( {required String token, required String channelId, required String info, required int uid}); -

    +

    Details -

    -

    -

    -

    • Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.
    • -
    • If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours.
    +

    +

    +

    +

      +
    • Once a user joins the channel, the user subscribes to the audio and video + streams of all the other users in the channel by default, giving rise to + usage and billing calculation. To stop subscribing to a specified stream or + all remote streams, call the corresponding mute + methods.
    • +
    • If you choose the Testing Mode (using an App ID for authentication) for your + project and call this method to join a channel, you will automatically exit + the channel after 24 hours.
    • +
    +
    Parameters - - - - - - - - - - info - optionalInfo - (Optional) Reserved for future use. - - - uid - The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit unsigned integer. The value range is 1 to 232-1. If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and returns it in the callback. Your application must record and maintain the returned user ID, because the SDK does not do so. - - - - - -
    -
    + + + + + + + + + + info + optionalInfo + (Optional) Reserved for future use. + + + uid + The user ID. This parameter is used to identify the user in the channel for + real-time audio and video interaction. You need to set and manage user IDs + yourself, and ensure that each user ID in the same channel is unique. This + parameter is a 32-bit unsigned integer. The value range is 1 to + 232-1. If the user ID is not assigned (or set to 0), the SDK + assigns a random user ID and returns it in the callback. Your application must record + and maintain the returned user ID, because the SDK does not do so. + + + + + + +
    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita index 6ea08d44d72..25a973acab0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannel2.dita @@ -1,112 +1,182 @@ - <ph keyref="joinChannel2" /> + <ph keyref="joinChannel2"/> Joins a channel with media options. - +

    - public abstract int joinChannel( + public abstract int joinChannel( String token, String channelId, int uid, ChannelMediaOptions options); - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId uid:(NSUInteger)uid mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannel(const char* token, const char* channelId, uid_t uid, + virtual int joinChannel(const char* token, const char* channelId, uid_t uid, const ChannelMediaOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int JoinChannel(FString token, FString channelId, int64 uid, const FChannelMediaOptions& options); - abstract joinChannel( + abstract joinChannel( token: string, channelId: string, uid: number, options: ChannelMediaOptions ): number; - public abstract int JoinChannel(string token, string channelId, uint uid, + public abstract int JoinChannel(string token, string channelId, uint uid, ChannelMediaOptions options); - abstract joinChannel( + abstract joinChannel( token: string, channelId: string, uid: number, options: ChannelMediaOptions ): number; - Future<void> joinChannel( + Future<void> joinChannel( {required String token, required String channelId, required int uid, required ChannelMediaOptions options}); -

    +

    Details -

    This method enables users to join a channel. Users in the same channel can talk to each other, and multiple users in the same channel can start a group chat. Users with different App IDs cannot call each other.

    +

    This method enables users to join a channel. Users in the same channel can + talk to each other, and multiple users in the same channel can start a group chat. + Users with different App IDs cannot call each other.

    A successful call of this method triggers the following callbacks:

      -
    • The local client: The and callbacks.
    • -
    • The remote client: , if the user joining the channel is in the Communication profile or is a host in the Live-broadcasting profile.
    • -

    -

    When the connection between the client and Agora's server is interrupted due to poor network conditions, the SDK tries reconnecting to the server. When the local client successfully rejoins the channel, the SDK triggers the callback on the local client.

    -

    Compared to , this method adds the options parameter to configure whether to automatically subscribe to all remote audio and video streams in the channel when the user joins the channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    +
  • The local client: The and callbacks.
  • +
  • The remote client: , if the user joining the + channel is in the Communication profile or is a host in the + Live-broadcasting profile.
  • +

    +

    When the connection between the client and Agora's server is interrupted + due to poor network conditions, the SDK tries reconnecting to the server. When the + local client successfully rejoins the channel, the SDK triggers the callback on the local client.

    +

    Compared to , this method + adds the options parameter to configure whether to + automatically subscribe to all remote audio and video streams in the channel when + the user joins the channel. By default, the user subscribes to the audio and video + streams of all the other users in the channel, giving rise to usage and billings. To + unsubscribe, set the options parameter or call the + mute methods accordingly.

    -
      -
    • This method allows users to join only one channel at a time.
    • -
    • Ensure that the app ID you use to generate the token is the same app ID that you pass in the method; otherwise, you may fail to join the channel by token.
    • -
    • If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours.
    • -
    +
      +
    • This method allows users to join only one channel at a time.
    • +
    • Ensure that the app ID you use to generate the token is the same app ID that + you pass in the method; otherwise, you may fail + to join the channel by token.
    • +
    • If you choose the Testing Mode (using an App ID for authentication) for your + project and call this method to join a channel, you will automatically exit + the channel after 24 hours.
    • +
    + +
    Parameters - - token - The token generated on your server for authentication. See .If you need to join different channels at the same time or switch between channels, Agora recommends using a wildcard token so that you don't need to apply for a new token every time joining a channel. See . - - - channelId - -

    The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):

      -
    • All lowercase English letters: a to z.
    • -
    • All uppercase English letters: A to Z.
    • -
    • All numeric characters: 0 to 9.
    • -
    • Space
    • -
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
    • -

    -
    -
    - - uid - The user ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit unsigned integer. The value range is 1 to 232-1. If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and returns it in the callback. Your app must record and maintain the returned user ID, because the SDK does not do so. - - - options - mediaOptions - The channel media options. See . - - - joinSuccessBlock - Occurs when a user joins a channel. joinSuccessBlock takes higher priority than . When both are implemented, does not take effect. Agora recommends setting joinSuccessBlock as nil to use . - -
    + + token + The token generated on your server for authentication. See .If you need to join different + channels at the same time or switch between channels, Agora recommends + using a wildcard token so that you don't need to apply for a new token + every time joining a channel. See . + + + channelId + +

    The channel name. This parameter signifies the + channel in which users engage in real-time audio and video interaction. + Under the premise of the same App ID, users who fill in the same channel + ID enter the same channel for audio and video interaction. The string + length must be less than 64 bytes. Supported characters (89 characters + in total):

      +
    • All lowercase English letters: a to z.
    • +
    • All uppercase English letters: A to Z.
    • +
    • All numeric characters: 0 to 9.
    • +
    • Space
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", + "|", "~", ","
    • +

    +
    +
    + + uid + The user ID. This parameter is used to identify the user in the channel for + real-time audio and video interaction. You need to set and manage user IDs + yourself, and ensure that each user ID in the same channel is unique. This + parameter is a 32-bit unsigned integer. The value range is 1 to + 232-1. If the user ID is not assigned (or set to 0), the SDK + assigns a random user ID and returns it in the callback. Your app must record and + maintain the returned user ID, because the SDK does not do so. + + + options + mediaOptions + The channel media options. See . + + + joinSuccessBlock + Occurs when a user joins a channel. joinSuccessBlock takes + higher priority than . When both are + implemented, does not take effect. + Agora recommends setting joinSuccessBlock as + nil to use . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The parameter is invalid. For example, the token is invalid, the uid parameter is not set to an integer, or the value of a member in is invalid. You need to pass in a valid parameter and join the channel again.
      • -
      • -3: Failes to initialize the object. You need to reinitialize the object.
      • -
      • -7: The object has not been initialized. You need to initialize the object before calling this method.
      • -
      • -8: The internal state of the object is wrong. The typical cause is that you call this method to join the channel without calling to stop the test after calling to start a call loop test. You need to call before calling this method.
      • -
      • -17: The request to join the channel is rejected. The typical cause is that the user is in the channel. Agora recommends that you use the callback to determine whether the user exists in the channel. Do not call this method to join the channel unless you receive the (1) state.
      • -
      • -102: The channel name is invalid. You need to pass in a valid channelname in channelId to rejoin the channel.
      • -
      • -121: The user ID is invalid. You need to pass in a valid user ID in uid to rejoin the channel.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: The parameter is invalid. For example, the token is invalid, the + uid parameter is not set to an integer, or the + value of a member in is invalid. + You need to pass in a valid parameter and join the channel again.
    • +
    • -3: Failes to initialize the object. You + need to reinitialize the object.
    • +
    • -7: The object has not been initialized. + You need to initialize the object before + calling this method.
    • +
    • -8: The internal state of the object is + wrong. The typical cause is that you call this method to join the + channel without calling to stop the test + after calling to start a call loop test. + You need to call before calling this + method.
    • +
    • -17: The request to join the channel is rejected. The typical cause is + that the user is in the channel. Agora recommends that you use the callback to determine whether + the user exists in the channel. Do not call this method to join the + channel unless you receive the (1) state.
    • +
    • -102: The channel name is invalid. You need to pass in a valid + channelname in channelId to rejoin the + channel.
    • +
    • -121: The user ID is invalid. You need to pass in a valid user ID in + uid to rejoin the channel.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita index fa63936a763..3433786653c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount.dita @@ -1,91 +1,121 @@ - <ph keyref="joinChannelWithUserAccount1" /> - Joins a channel with a User Account and Token. + <ph keyref="joinChannelWithUserAccount1"/> + Joins a channel with a User Account and + Token. - +

    - public abstract int joinChannelWithUserAccount( + public abstract int joinChannelWithUserAccount( String token, String channelName, String userAccount); - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId userAccount:(NSString * _Nonnull)userAccount joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannelWithUserAccount(const char* token, + virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0; - abstract joinChannelWithUserAccount( + abstract joinChannelWithUserAccount( token: string, channelId: string, userAccount: string, options?: ChannelMediaOptions ): number; - public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount); - abstract joinChannelWithUserAccount( + public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount); + abstract joinChannelWithUserAccount( token: string, channelId: string, userAccount: string, options?: ChannelMediaOptions ): number; - Future<void> joinChannelWithUserAccount( + Future<void> joinChannelWithUserAccount( {required String token, required String channelId, required String userAccount, ChannelMediaOptions? options}); -

    +

    Details -

    This method allows a user to join the channel with the user account and a token. After the user successfully joins the channel, the SDK triggers the following callbacks:

      -
    • The local client: , and callbacks.
    • -
    • The remote client: and callbacks, if the user joining the channel is in the communication profile or is a host in the live streaming profile.
    • -

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    -
    • To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    • -
    • If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours.
    +

    This method allows a user to join the channel with the user account and a token. + After the user successfully joins the channel, the SDK triggers the following callbacks:

      +
    • The local client: , and callbacks.
    • +
    • The remote client: and callbacks, if the user joining the channel + is in the communication profile or is a host in the live streaming + profile.
    • +

    +

    Once a user joins the channel, the user subscribes to the audio and video streams of + all the other users in the channel by default, giving rise to usage and billing + calculation. To stop subscribing to a specified stream or all remote streams, call + the corresponding mute methods.

    +
      +
    • To ensure smooth communication, use the same parameter type to identify the + user. For example, if a user joins the channel with a user ID, then ensure + all the other users use the user ID too. The same applies to the user + account. If a user joins the channel with the Agora Web SDK, ensure that the + ID of the user is set to the same parameter type.
    • +
    • If you choose the Testing Mode (using an App ID for authentication) for your + project and call this method to join a channel, you will automatically exit + the channel after 24 hours.
    • +
    +
    Parameters - - - - - - channelName - channelId - -

    - - - - - - - - - - + + + + + + channelName + channelId + +

    + + + + + + + + + +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The parameter is invalid.
      • -
      • -3: The initialization of the SDK fails. You can try to initialize the SDK again.
      • -
      • -5: The request is rejected.
      • -
      • -17: The request to join the channel is rejected. Since the SDK only supports users to join one channel at a time; this error code will be returned when the user who has joined the channel calls the join channel method in the class again with a valid channel name.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: The parameter is invalid.
    • +
    • -3: The initialization of the SDK fails. You can try to initialize the + SDK again.
    • +
    • -5: The request is rejected.
    • +
    • -17: The request to join the channel is rejected. Since the SDK only + supports users to join one channel at a + time; this error code will be returned when the user who has joined the + channel calls the join channel method in + the class again with a valid channel + name.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita index 4aa7bfeb212..d962a0e16dd 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccount2.dita @@ -1,12 +1,14 @@ - <ph keyref="joinChannelWithUserAccount2" /> - Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel. + <ph keyref="joinChannelWithUserAccount2"/> + Joins the channel with a user account, and configures + whether to automatically subscribe to audio or video streams after joining the + channel. - + @@ -24,7 +26,7 @@ const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0;
    - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int JoinChannelWithUserAccount(FString token, FString channelId, FString userAccount, const FChannelMediaOptions& options); abstract joinChannelWithUserAccount( token: string, @@ -48,48 +50,72 @@
    Details -

    This method allows a user to join the channel with the user account. After the user successfully joins the channel, the SDK triggers the following callbacks:

      -
    • The local client: , and callbacks.
    • -
    • The remote client: The callback, if the user is in the COMMUNICATION profile, and the callback if the user is a host in the LIVE_BROADCASTING profile.
    • -

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    -

    Compared to , this method adds the options parameter to configure whether to automatically subscribe to all remote audio and video streams in the channel when the user joins the channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

    -
    +

    This method allows a user to join the channel with the user account. After + the user successfully joins the channel, the SDK triggers the following callbacks:

      +
    • The local client: , and callbacks.
    • +
    • The remote client: The callback, if the user + is in the COMMUNICATION profile, and the + callback if the user is a host in the LIVE_BROADCASTING profile.
    • +

    +

    Once a user joins the channel, the user subscribes to the audio and video + streams of all the other users in the channel by default, giving rise to usage and + billing calculation. To stop subscribing to a specified stream or all remote + streams, call the corresponding mute methods.

    +

    Compared to , this method adds the + options parameter to configure whether to automatically + subscribe to all remote audio and video streams in the channel when the user joins + the channel. By default, the user subscribes to the audio and video streams of all + the other users in the channel, giving rise to usage and billings. To unsubscribe, + set the options parameter or call the mute + methods accordingly.

    + +
    Parameters - - - - - - channelName - channelId - -

    - - - - userAccount - -

    The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as . Supported characters are as follows(89 in total):

      -
    • The 26 lowercase English letters: a to z.
    • -
    • The 26 uppercase English letters: A to Z.
    • -
    • All numeric characters: 0 to 9.
    • -
    • Space
    • -
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
    • -

    -
    -
    - - - - - - - - -
    + + + + + + channelName + channelId + +

    + + + + userAccount + +

    The user account. This parameter is used to identify the user in the + channel for real-time audio and video engagement. You need to set and + manage user accounts yourself and ensure that each user account in the + same channel is unique. The maximum length of this parameter is 255 + bytes. Ensure that you set this parameter and do not set it as . Supported characters are as follows(89 in total):

      +
    • The 26 lowercase English letters: a to z.
    • +
    • The 26 uppercase English letters: A to Z.
    • +
    • All numeric characters: 0 to 9.
    • +
    • Space
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", + "|", "~", ","
    • +

    +
    +
    + + + + + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita index 13faf6c10e5..4822314388a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_joinchannelwithuseraccountex.dita @@ -1,100 +1,124 @@ - <ph keyref="joinChannelWithUserAccountEx" /> - Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel. + <ph keyref="joinChannelWithUserAccountEx"/> + Joins the channel with a user account, and configures + whether to automatically subscribe to audio or video streams after joining the + channel. - +

    - public abstract int joinChannelWithUserAccountEx(String token, String channelId, + public abstract int joinChannelWithUserAccountEx(String token, String channelId, String userAccount, ChannelMediaOptions options, IRtcEngineEventHandler eventHandler); - - (int)joinChannelExByToken:(NSString* _Nullable)token + - (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, + virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options, IRtcEngineEventHandler* eventHandler) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int JoinChannelWithUserAccountEx(FString token, FString channelId, FString userAccount, const FChannelMediaOptions& options, UIRtcEngineEventHandler* eventHandler); - abstract joinChannelWithUserAccountEx( + abstract joinChannelWithUserAccountEx( token: string, channelId: string, userAccount: string, options: ChannelMediaOptions ): number; - public int JoinChannelWithUserAccountEx(string token, string channelId, + public int JoinChannelWithUserAccountEx(string token, string channelId, string userAccount, ChannelMediaOptions options) - abstract joinChannelWithUserAccountEx( + abstract joinChannelWithUserAccountEx( token: string, channelId: string, userAccount: string, options: ChannelMediaOptions ): number; - Future<void> joinChannelWithUserAccountEx( + Future<void> joinChannelWithUserAccountEx( {required String token, required String channelId, required String userAccount, required ChannelMediaOptions options}); -

    +

    Details -

    -

    This method allows a user to join the channel with the user account. After the user successfully joins the channel, the SDK triggers the following callbacks:

      -
    • The local client: , and callbacks.
    • -
    • The remote client: The callback, if the user is in the COMMUNICATION profile, and the callback if the user is a host in the LIVE_BROADCASTING profile.
    • -

    -

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    - - To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    +

    +

    This method allows a user to join the channel with the + user account. After the user successfully joins the channel, the SDK triggers the + following callbacks:

      +
    • The local client: , and callbacks.
    • +
    • The remote client: The callback, if the user + is in the COMMUNICATION profile, and the + callback if the user is a host in the LIVE_BROADCASTING profile.
    • +

    +

    +

    Once a user joins the channel, the user subscribes to + the audio and video streams of all the other users in the channel by default, giving + rise to usage and billing calculation. To stop subscribing to a specified stream or + all remote streams, call the corresponding mute methods.

    + + To ensure smooth communication, use + the same parameter type to identify the user. For example, if a user joins the + channel with a user ID, then ensure all the other users use the user ID too. The + same applies to the user account. If a user joins the channel with the Agora Web + SDK, ensure that the ID of the user is set to the same parameter type. +
    Parameters - - - - - - channelId - -

    - - - - - - - - options - mediaOptions - - - - - - - - - - -

    + + + + + + channelId + +

    + + + + + + + + options + mediaOptions + + + + + + + + + + + +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + + - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_leavechannel.dita b/en-US/dita/RTC-NG/API/api_irtcengine_leavechannel.dita index db351fa957c..d23d01f39be 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_leavechannel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_leavechannel.dita @@ -13,49 +13,71 @@

    - public abstract int leaveChannel(); - - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock; - virtual int leaveChannel() = 0; - abstract leaveChannel(options?: LeaveChannelOptions): number; - public abstract int LeaveChannel(); - abstract leaveChannel(options?: LeaveChannelOptions): number; - Future<void> leaveChannel({LeaveChannelOptions? options}); -

    + public abstract int leaveChannel(); + - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock; + virtual int leaveChannel() = 0; + abstract leaveChannel(options?: LeaveChannelOptions): number; + public abstract int LeaveChannel(); + abstract leaveChannel(options?: LeaveChannelOptions): number; + Future<void> leaveChannel({LeaveChannelOptions? options}); +

    Details

    This method releases all resources related to the session.

    -

    This method call is asynchronous. When this method returns, it does not necessarily mean that the user has left the channel.

    -

    Calling this method does not necessarily mean that the user has left the channel.

    -

    After joining the channel, you must call this method or to end the call, otherwise, the next call cannot be started.

    -

    If you successfully call this method and leave the channel, the following callbacks are triggered:

      -
    • The local client: .
    • -
    • The remote client: , if the user joining the channel is in the Communication profile, or is a host in the Live-broadcasting profile.
    • -

    +

    This method call is asynchronous. + When this method returns, it does not necessarily mean that the user has left the + channel.

    +

    Calling this method does not necessarily mean that the user has left the + channel.

    +

    After joining the channel, you must call this method or to end the call, otherwise, the next call cannot be + started.

    +

    If you successfully call this method and leave the channel, the following callbacks + are triggered:

      +
    • The local client: .
    • +
    • The remote client: , if the user joining the + channel is in the Communication profile, or is a host in the + Live-broadcasting profile.
    • +

    -
      -
    • If you call immediately after calling this method, the SDK does not trigger the callback.
    • -
    • If you have called to join multiple channels, calling this method will leave the channels when calling and at the same time.
    • -
    • If you call this method during a Media Push, the SDK automatically calls the method.
    • -
    +
      +
    • If you call immediately after calling this method, + the SDK does not trigger the + callback.
    • +
    • If you have called to join multiple channels, + calling this method will leave the channels when calling and at the + same time.
    • +
    • If you call this method during a Media Push, the SDK + automatically calls the method.
    • +
    +
    +
    Parameters - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -7: The SDK is not initialized.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -1: A general error occurs (no specified reason).
    • +
    • -2: The parameter is invalid.
    • +
    • -7: The SDK is not initialized.
    • +
  • + + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita index 627800c0df9..fa843339df8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_leavechannel2.dita @@ -2,7 +2,8 @@ <ph keyref="leaveChannel2"/> - Sets channel options and leaves the channel. + Sets channel options and leaves the + channel. @@ -13,45 +14,67 @@

    - public abstract int leaveChannel(LeaveChannelOptions options); - - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options + public abstract int leaveChannel(LeaveChannelOptions options); + - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options leaveChannelBlock:(void (^ _Nullable)(AgoraChannelStats * _Nonnull))leaveChannelBlock; - virtual int leaveChannel(const LeaveChannelOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int leaveChannel(const LeaveChannelOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int LeaveChannel(const FLeaveChannelOptions& options); - abstract leaveChannel(options?: LeaveChannelOptions): number; - public abstract int LeaveChannel(LeaveChannelOptions options); - abstract leaveChannel(options?: LeaveChannelOptions): number; - Future<void> leaveChannel({LeaveChannelOptions? options}); -

    + abstract leaveChannel(options?: LeaveChannelOptions): number; + public abstract int LeaveChannel(LeaveChannelOptions options); + abstract leaveChannel(options?: LeaveChannelOptions): number; + Future<void> leaveChannel({LeaveChannelOptions? options}); +

    Details -

    This method will release all resources related to the session, leave the channel, that is, hang up or exit the call. This method can be called whether or not a call is currently in progress.

    -

    After joining the channel, you must call this method or to end the call, otherwise, the next call cannot be started.

    -

    This method call is asynchronous. When this method returns, it does not necessarily mean that the user has left the channel. After actually leaving the channel, the local user triggers the callback; after the user in the communication scenario and the host in the live streaming scenario leave the channel, the remote user triggers the callback.

    -

    Calling this method does not necessarily mean that the user has left the channel. After actually leaving the channel, the local user triggers the callback; after the user in the communication scenario and the host in the live streaming scenario leave the channel, the remote user triggers the callback.

    -
    +

    This method will release all resources related to the session, leave the channel, + that is, hang up or exit the call. This method can be called whether or not a call + is currently in progress.

    +

    After joining the channel, you must call this method or to end the call, otherwise, + the next call cannot be started.

    +

    This method call is asynchronous. + When this method returns, it does not necessarily mean that the user has left the + channel. After actually leaving the channel, the local user triggers the callback; after the user in the communication scenario + and the host in the live streaming scenario leave the channel, the remote user + triggers the callback.

    +

    Calling this method does not necessarily mean that the user has left the + channel. After actually leaving the channel, the local user triggers the callback; after the user in the communication scenario + and the host in the live streaming scenario leave the channel, the remote user + triggers the callback.

    + +
    Parameters - - options - The options for leaving the channel. See . - - - leaveChannelBlock - -

    This callback indicates that a user leaves a channel, and provides the statistics of the call in .

    -
    -
    -
    + + options + The options for leaving the channel. See . + + + leaveChannelBlock + +

    This callback indicates that a user leaves a channel, and provides the + statistics of the call in .

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita b/en-US/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita index ab6bf231c34..36a4651e2bf 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_loadextensionprovider.dita @@ -13,53 +13,63 @@

    - - - virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + + virtual int loadExtensionProvider(const char* path, bool unload_after_use = false) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int LoadExtensionProvider(FString path, bool unload_after_use); - abstract loadExtensionProvider( + abstract loadExtensionProvider( path: string, unloadAfterUse?: boolean ): number; - public abstract int LoadExtensionProvider(string path, bool unload_after_use = false); - abstract loadExtensionProvider( + public abstract int LoadExtensionProvider(string path, bool unload_after_use = false); + abstract loadExtensionProvider( path: string, unloadAfterUse?: boolean ): number; - Future<void> loadExtensionProvider( + Future<void> loadExtensionProvider( {required String path, bool unloadAfterUse = false}); -

    +

    Details - (For Windows and Android only) + (For Windows and Android + only) This method is for Android only. This method applies to Windows only.
    Parameters - - path - The extension library path and name. For example: /library/libagora_segmentation_extension.dll. - - - unload_after_use - unloadAfterUse - Whether to uninstall the current extension when you no longer using it:
      -
    • : Uninstall the extension when the is destroyed.
    • -
    • : (Rcommended) Do not uninstall the extension until the process terminates.
    • -
    -
    -
    -
    + + path + The extension library path and name. For example: + /library/libagora_segmentation_extension.dll. + + + unload_after_use + unloadAfterUse + Whether to uninstall the current extension when you no longer using it:
      +
    • : Uninstall the extension when + the is destroyed.
    • +
    • : (Rcommended) Do not uninstall + the extension until the process terminates.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita b/en-US/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita index 9f5430a4cb8..8452431e260 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_muteallremoteaudiostreams.dita @@ -2,7 +2,8 @@ <ph keyref="muteAllRemoteAudioStreams"/> - Stops or resumes subscribing to the audio streams of all remote users. + Stops or resumes subscribing to the audio streams of + all remote users. @@ -13,51 +14,68 @@

    - public abstract int muteAllRemoteAudioStreams(boolean muted); - - (int)muteAllRemoteAudioStreams:(BOOL)mute; - virtual int muteAllRemoteAudioStreams(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteAllRemoteAudioStreams(boolean muted); + - (int)muteAllRemoteAudioStreams:(BOOL)mute; + virtual int muteAllRemoteAudioStreams(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract muteAllRemoteAudioStreams(mute: boolean): number; + public abstract int MuteAllRemoteAudioStreams(bool mute); + abstract muteAllRemoteAudioStreams(mute: boolean): number; + Future<void> muteAllRemoteAudioStreams(bool mute); +

    -

    After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including all subsequent users.

    +

    After successfully calling this method, the local user stops or resumes + subscribing to the audio streams of all remote users, including all subsequent + users.

    -

    By default, the SDK subscribes to the audio streams of all remote users when joining a channel. To modify this behavior, you can set autoSubscribeAudio to when calling to join the channel, which will cancel the subscription to the audio streams of all users upon joining the channel.

    +

    By default, the SDK subscribes to the audio streams of all remote users when + joining a channel. To modify this behavior, you can set + autoSubscribeAudio to when calling to join the channel, + which will cancel the subscription to the audio streams of all users upon + joining the channel.

    Call timing

    Call this method after joining a channel.

    -
    +
    Restrictions -

    If you call this method and then call or , the latest call will prevail.

    +

    If you call this method and then call or , the latest call will prevail.

    Parameters - - muted - mute - -

    Whether to stop subscribing to the audio streams of all remote users:

      -
    • : Stops subscribing to the audio streams of all remote users.
    • -
    • : (Default) Subscribes to the audio streams of all remote users by default.
    • -

    -
    -
    -
    + + muted + mute + +

    Whether to stop subscribing to the audio streams of all remote users:

      +
    • : Stops subscribing to the + audio streams of all remote users.
    • +
    • : (Default) Subscribes to + the audio streams of all remote users by default.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita b/en-US/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita index afea03f9c04..9ff03b0a83c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_muteallremotevideostreams.dita @@ -1,64 +1,84 @@ - <ph keyref="muteAllRemoteVideoStreams" /> - Stops or resumes subscribing to the video streams of all remote users. + <ph keyref="muteAllRemoteVideoStreams"/> + Stops or resumes subscribing to the video streams of + all remote users. - +

    - public abstract int muteAllRemoteVideoStreams(boolean muted); - - (int)muteAllRemoteVideoStreams:(BOOL)mute; - virtual int muteAllRemoteVideoStreams(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteAllRemoteVideoStreams(boolean muted); + - (int)muteAllRemoteVideoStreams:(BOOL)mute; + virtual int muteAllRemoteVideoStreams(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract muteAllRemoteVideoStreams(mute: boolean): number; + public abstract int MuteAllRemoteVideoStreams(bool mute); + abstract muteAllRemoteVideoStreams(mute: boolean): number; + Future<void> muteAllRemoteVideoStreams(bool mute); +

    -

    After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including all subsequent users.

    +

    After successfully calling this method, the local user stops or resumes + subscribing to the audio streams of all remote users, including all subsequent + users.

    -

    By default, the SDK subscribes to the video streams of all remote users when joining a channel. To modify this behavior, you can set autoSubscribeVideo to when calling to join the channel, which will cancel the subscription to the video streams of all users upon joining the channel.

    +

    By default, the SDK subscribes to the video streams of all remote users when + joining a channel. To modify this behavior, you can set + autoSubscribeVideo to when calling to join the channel, + which will cancel the subscription to the video streams of all users upon + joining the channel.

    Call timing

    Call this method after joining a channel.

    - If you call () after leaving the channel, you will not subscribe to any user's video stream the next time you join the channel. -
    + If you call () after leaving the channel, you will + not subscribe to any user's video stream the next time you join the channel. +
    Restrictions -

    If you call this method and then call or , the latest call will prevail.

    +

    If you call this method and then call or , the latest call will prevail.

    Parameters - - muted - mute - -

    Whether to stop subscribing to the video streams of all remote users.

      -
    • : Stop subscribing to the video streams of all remote users.
    • -
    • : (Default) Subscribe to the audio streams of all remote users by default.
    • -

    -
    -
    -
    + + muted + mute + +

    Whether to stop subscribing to the video streams of all remote users.

      +
    • : Stop subscribing to the + video streams of all remote users.
    • +
    • : (Default) Subscribe to + the audio streams of all remote users by default.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita b/en-US/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita index 741bb42a030..f8b58c599fc 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_mutelocalaudiostream.dita @@ -2,7 +2,8 @@ <ph keyref="muteLocalAudioStream"/> - Stops or resumes publishing the local audio stream. + Stops or resumes publishing the local audio + stream. @@ -13,52 +14,65 @@

    - public abstract int muteLocalAudioStream(boolean muted); - - (int)muteLocalAudioStream:(BOOL)mute; - virtual int muteLocalAudioStream(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteLocalAudioStream(boolean muted); + - (int)muteLocalAudioStream:(BOOL)mute; + virtual int muteLocalAudioStream(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract muteLocalAudioStream(mute: boolean): number; + public abstract int MuteLocalAudioStream(bool mute); + abstract muteLocalAudioStream(mute: boolean): number; + Future<void> muteLocalAudioStream(bool mute); +

    -

    This method is used to control whether to publish the locally captured audio stream. If you call this method to stop publishing locally captured audio streams, the audio capturing device will still work and won't be affected.

    +

    This method is used to control whether to publish the locally captured audio stream. + If you call this method to stop publishing locally captured audio streams, the audio + capturing device will still work and won't be affected.

    Call timing

    It can be called either before or after joining the channel.

    -
    +
    Restrictions

    None.

    Parameters - - muted - mute - -

    Whether to stop publishing the local audio stream:

      -
    • : Stops publishing the local audio stream.
    • -
    • : (Default) Resumes publishing the local audio stream.
    • -

    -
    -
    -
    + + muted + mute + +

    Whether to stop publishing the local audio stream:

      +
    • : Stops publishing the local + audio stream.
    • +
    • : (Default) Resumes + publishing the local audio stream.
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita b/en-US/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita index eba2dacfecc..981a284eb62 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_mutelocalvideostream.dita @@ -1,8 +1,10 @@ - <ph keyref="muteLocalVideoStream"/> - Stops or resumes publishing the local video stream. + <ph keyref="muteLocalVideoStream"/> + + Stops or resumes publishing the local video + stream. @@ -13,53 +15,69 @@

    - public abstract int muteLocalVideoStream(boolean muted); - - (int)muteLocalVideoStream:(BOOL)mute; - virtual int muteLocalVideoStream(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteLocalVideoStream(boolean muted); + - (int)muteLocalVideoStream:(BOOL)mute; + virtual int muteLocalVideoStream(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteLocalVideoStream(bool mute); - abstract muteLocalVideoStream(mute: boolean): number; - public abstract int MuteLocalVideoStream(bool mute); - abstract muteLocalVideoStream(mute: boolean): number; - Future<void> muteLocalVideoStream(bool mute); -

    + abstract muteLocalVideoStream(mute: boolean): number; + public abstract int MuteLocalVideoStream(bool mute); + abstract muteLocalVideoStream(mute: boolean): number; + Future<void> muteLocalVideoStream(bool mute); +

    -

    This method is used to control whether to publish the locally captured video stream. If you call this method to stop publishing locally captured video streams, the video capturing device will still work and won't be affected.

    -

    Compared to (), which can also cancel the publishing of local video stream by turning off the local video stream capture, this method responds faster.

    -
    +

    This method is used to control whether to publish the locally captured video stream. + If you call this method to stop publishing locally captured video streams, the video + capturing device will still work and won't be affected.

    +

    Compared to (), + which can also cancel the publishing of local video stream by turning off the local + video stream capture, this method responds faster.

    +
    Call timing

    It can be called either before or after joining the channel.

    -
    +
    Restrictions

    None.

    Parameters - - muted - mute - -

    Whether to stop publishing the local video stream.

      -
    • : Stop publishing the local video stream.
    • -
    • : (Default) Publish the local video stream.
    • -

    -
    -
    -
    + + muted + mute + +

    Whether to stop publishing the local video stream.

      +
    • : Stop publishing the local + video stream.
    • +
    • : (Default) Publish the + local video stream.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_muterecordingsignal.dita b/en-US/dita/RTC-NG/API/api_irtcengine_muterecordingsignal.dita index cb661241184..b5717378bbd 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_muterecordingsignal.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_muterecordingsignal.dita @@ -1,50 +1,61 @@ - <ph keyref="muteRecordingSignal" /> + <ph keyref="muteRecordingSignal"/> Whether to mute the recording signal. - +

    - public abstract int muteRecordingSignal(boolean muted); - -(int)muteRecordingSignal:(BOOL)muted; - virtual int muteRecordingSignal(bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteRecordingSignal(boolean muted); + -(int)muteRecordingSignal:(BOOL)muted; + virtual int muteRecordingSignal(bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract muteRecordingSignal(mute: boolean): number; + public abstract int MuteRecordingSignal(bool mute); + abstract muteRecordingSignal(mute: boolean): number; + Future<void> muteRecordingSignal(bool mute); +

    Parameters - - muted - mute - -
      -
    • : The media file is muted.
    • -
    • : (Default) Do not mute the recording signal.
    • -
    - If you have already called to adjust the volume, then when you call this method and set it to , the SDK will record the current volume and mute it. To restore the previous volume, call this method again and set it to . -
    -
    -
    + + muted + mute + +
      +
    • : The media file is muted.
    • +
    • : (Default) Do not mute the + recording signal.
    • +
    + If you have already called to adjust the volume, then when you call this method and set it to + , the SDK will record the + current volume and mute it. To restore the previous volume, call this + method again and set it to . +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita b/en-US/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita index b7ed449368d..5ec34485db2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_muteremoteaudiostream.dita @@ -2,7 +2,8 @@ <ph keyref="muteRemoteAudioStream"/> - Stops or resumes subscribing to the audio stream of a specified user. + Stops or resumes subscribing to the audio stream of a + specified user. @@ -13,56 +14,64 @@

    - public abstract int muteRemoteAudioStream(int uid, boolean muted); - - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; + public abstract int muteRemoteAudioStream(int uid, boolean muted); + - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; + virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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}); -

    -
    -
    + 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}); +

    +
    Call timing

    Call this method after joining a channel.

    -
    +
    Restrictions

    None.

    Parameters - - uid - The user ID of the specified user. - - - muted - mute - -

    Whether to subscribe to the specified remote user's audio stream.

      -
    • : Stop subscribing to the audio stream of the specified user.
    • -
    • : (Default) Subscribe to the audio stream of the specified user.
    • -

    -
    -
    -
    + + uid + The user ID of the specified user. + + + muted + mute + +

    Whether to subscribe to the specified remote user's audio stream.

      +
    • : Stop subscribing to the + audio stream of the specified user.
    • +
    • : (Default) Subscribe to + the audio stream of the specified user.
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita b/en-US/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita index 6b7391d84c0..380814536f4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_muteremotevideostream.dita @@ -1,69 +1,78 @@ - <ph keyref="muteRemoteVideoStream" /> - Stops or resumes subscribing to the video stream of a specified user. + <ph keyref="muteRemoteVideoStream"/> + Stops or resumes subscribing to the video stream of a + specified user. - +

    - public abstract int muteRemoteVideoStream(int userId, boolean muted); - - (int)muteRemoteVideoStream:(NSUInteger)uid + public abstract int muteRemoteVideoStream(int userId, boolean muted); + - (int)muteRemoteVideoStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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}); -

    -
    -
    + 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}); +

    +
    Call timing

    Call this method after joining a channel.

    -
    +
    Restrictions

    None.

    Parameters - - userId - uid - The user ID of the specified user. - - - muted - mute - -

    Whether to subscribe to the specified remote user's video stream.

      -
    • : Stop subscribing to the video streams of the specified user.
    • -
    • : (Default) Subscribe to the video stream of the specified user.
    • -

    -
    -
    -
    + + userId + uid + The user ID of the specified user. + + + muted + mute + +

    Whether to subscribe to the specified remote user's video stream.

      +
    • : Stop subscribing to the + video streams of the specified user.
    • +
    • : (Default) Subscribe to + the video stream of the specified user.
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita index bf961955244..1b5abfcbbc6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pauseallchannelmediarelay.dita @@ -1,39 +1,49 @@ - <ph keyref="pauseAllChannelMediaRelay" /> - Pauses the media stream relay to all target channels. + <ph keyref="pauseAllChannelMediaRelay"/> + Pauses the media stream relay to all target + channels. - +

    - public abstract int pauseAllChannelMediaRelay(); - - (int)pauseAllChannelMediaRelay; - virtual int pauseAllChannelMediaRelay() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int pauseAllChannelMediaRelay(); + - (int)pauseAllChannelMediaRelay; + virtual int pauseAllChannelMediaRelay() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PauseAllChannelMediaRelay(); - abstract pauseAllChannelMediaRelay(): number; - public abstract int PauseAllChannelMediaRelay(); - abstract pauseAllChannelMediaRelay(): number; - Future<void> pauseAllChannelMediaRelay(); -

    + abstract pauseAllChannelMediaRelay(): number; + public abstract int PauseAllChannelMediaRelay(); + abstract pauseAllChannelMediaRelay(): number; + Future<void> pauseAllChannelMediaRelay(); +

    Details -

    After the cross-channel media stream relay starts, you can call this method to pause relaying media streams to all target channels; after the pause, if you want to resume the relay, call .

    - Call this method after .
    +

    After the cross-channel media stream relay starts, you can call this method to pause + relaying media streams to all target channels; after the pause, if you want to + resume the relay, call .

    + Call this method after . +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pausealleffects.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pausealleffects.dita index 011ddc45241..d1c87c19d24 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pausealleffects.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pausealleffects.dita @@ -1,37 +1,42 @@ - <ph keyref="pauseAllEffects" /> + <ph keyref="pauseAllEffects"/> Pauses all audio effects. - +

    - public abstract int pauseAllEffects(); + public abstract int pauseAllEffects(); - - (int)pauseAllEffects; + - (int)pauseAllEffects; - virtual int pauseAllEffects() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int pauseAllEffects() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PauseAllEffects(); - abstract pauseAllEffects(): number; - public abstract int PauseAllEffects(); - abstract pauseAllEffects(): number; - Future<void> pauseAllEffects(); -

    + abstract pauseAllEffects(): number; + public abstract int PauseAllEffects(); + abstract pauseAllEffects(): number; + Future<void> pauseAllEffects(); +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pauseaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pauseaudio.dita index bcaa2083b6b..2fcee7c0970 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pauseaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pauseaudio.dita @@ -2,33 +2,35 @@ pauseAudio - + - +
    - - - - - - - There are no corresponding names available
    + + + + + + + There are no corresponding names available +
    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita index 7adf02f770d..cdef057ca2d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pauseaudiomixing.dita @@ -1,28 +1,29 @@ - <ph keyref="pauseAudioMixing" /> - Pauses playing and mixing the music file. + <ph keyref="pauseAudioMixing"/> + Pauses playing and mixing the music + file. - +

    - public abstract int pauseAudioMixing(); - - (int)pauseAudioMixing; - virtual int pauseAudioMixing() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int pauseAudioMixing(); + - (int)pauseAudioMixing; + virtual int pauseAudioMixing() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PauseAudioMixing(); - abstract pauseAudioMixing(): number; - public abstract int PauseAudioMixing(); - abstract pauseAudioMixing(): number; - Future<void> pauseAudioMixing(); -

    + abstract pauseAudioMixing(): number; + public abstract int PauseAudioMixing(); + abstract pauseAudioMixing(): number; + Future<void> pauseAudioMixing(); +

    Details @@ -30,10 +31,15 @@
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pauseeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pauseeffect.dita index 46ec74e0ebf..2a5aec24647 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pauseeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pauseeffect.dita @@ -1,43 +1,49 @@ - <ph keyref="pauseEffect" /> + <ph keyref="pauseEffect"/> Pauses a specified audio effect file. - +

    - public abstract int pauseEffect(int soundId); - - (int)pauseEffect:(int)soundId; - virtual int pauseEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int pauseEffect(int soundId); + - (int)pauseEffect:(int)soundId; + virtual int pauseEffect(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract pauseEffect(soundId: number): number; + public abstract int PauseEffect(int soundId); + abstract pauseEffect(soundId: number): number; + Future<void> pauseEffect(int soundId); +

    Parameters - - soundId - - -
    + + soundId + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_playalleffects.dita b/en-US/dita/RTC-NG/API/api_irtcengine_playalleffects.dita index 696f7e1b52e..bdddf51e229 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_playalleffects.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_playalleffects.dita @@ -1,97 +1,115 @@ - <ph keyref="playAllEffects" /> + <ph keyref="playAllEffects"/> Plays all audio effect files. - +

    - - - virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + + virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PlayAllEffects(int loopCount, float pitch, float pan, int gain, bool publish); - abstract playAllEffects( + abstract playAllEffects( loopCount: number, pitch: number, pan: number, gain: number, publish?: boolean ): number; - public abstract int PlayAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false); - abstract playAllEffects( + public abstract int PlayAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false); + abstract playAllEffects( loopCount: number, pitch: number, pan: number, gain: number, publish?: boolean ): number; - Future<void> playAllEffects( + Future<void> playAllEffects( {required int loopCount, required double pitch, required double pan, required int gain, bool publish = false}); -

    +

    Details -

    After calling multiple times to preload multiple audio effects into the memory, you can call this method to play all the specified audio effects for all users in the channel.

    +

    After calling multiple times to preload multiple audio + effects into the memory, you can call this method to play all the specified audio + effects for all users in the channel.

    Parameters - - loopCount - The number of times the audio effect loops:
      -
    • -1: Play the audio effect files in an indefinite loop until you call or .
    • -
    • 0: Play the audio effect once.
    • -
    • 1: Play the audio effect twice.
    • -
    -
    - - pitch - -

    The pitch of the audio effect. The value ranges between 0.5 and 2.0. The default value is 1.0 (original pitch). The lower the value, the lower the pitch.

    -
    -
    + + loopCount + The number of times the audio effect loops:
      +
    • -1: Play the audio effect files in an indefinite loop until you call + or .
    • +
    • 0: Play the audio effect once.
    • +
    • 1: Play the audio effect twice.
    • +
    +
    + + pitch + +

    The pitch of the audio effect. The value ranges between 0.5 and 2.0. The + default value is 1.0 (original pitch). The lower the value, the lower + the pitch.

    +
    +
    - - pan - The spatial position of the audio effect. The value ranges between -1.0 and 1.0:
      -
    • -1.0: The audio effect shows on the left.
    • -
    • 0: The audio effect shows ahead.
    • -
    • 1.0: The audio effect shows on the right.
    • -
    -
    - - gain - -

    The volume of the audio effect. The value range is [0, 100]. The default value is 100 (original volume). The smaller the value, the lower the volume.

    -
    -
    - - publish - Whether to publish the audio effect to the remote users:
      -
    • : Publish the audio effect to the remote users. Both the local user and remote users can hear the audio effect.
    • -
    • : (Default) Do not publish the audio effect to the remote users. Only the local user can hear the audio effect.
    • -
    -
    -
    + + pan + The spatial position of the audio effect. The value ranges between -1.0 and 1.0:
      +
    • -1.0: The audio effect shows on the left.
    • +
    • 0: The audio effect shows ahead.
    • +
    • 1.0: The audio effect shows on the right.
    • +
    +
    +
    + + gain + +

    The volume of the audio effect. The value range is [0, 100]. The default + value is 100 (original volume). The smaller the value, the lower the + volume.

    +
    +
    + + publish + Whether to publish the audio effect to the remote users:
      +
    • : Publish the audio effect to + the remote users. Both the local user and remote users can hear the + audio effect.
    • +
    • : (Default) Do not publish the + audio effect to the remote users. Only the local user can hear the + audio effect.
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_playeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_playeffect.dita index 95807658d11..3989bd82c19 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_playeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_playeffect.dita @@ -2,7 +2,8 @@ <ph keyref="playEffect1"/> - Plays the specified local or online audio effect file. + Plays the specified local or online audio effect + file. @@ -13,25 +14,25 @@

    - public int playEffect(int soundId, + public int playEffect(int soundId, String filePath, int loop, double pitch, double pan, double gain); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch pan:(double)pan gain:(NSInteger)gain; - - - - - -

    + + + + + +

    Details @@ -41,33 +42,34 @@
    Parameters - - - - - - filePath - -

    - - - - - - - - - - - - - - - - - - -

    + + + + + + filePath + +

    + + + + + + + + + + + + + + + + + + + +

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_playeffect2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_playeffect2.dita index b023a86cf8c..3199e888e5c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_playeffect2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_playeffect2.dita @@ -1,22 +1,23 @@ - <ph keyref="playEffect2" /> - Plays the specified local or online audio effect file. + <ph keyref="playEffect2"/> + Plays the specified local or online audio effect + file. - +

    - public abstract int playEffect(int soundId, String filePath, int loopCount, double pitch, + public abstract int playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch @@ -24,79 +25,115 @@ gain:(NSInteger)gain publish:(BOOL)publish; - virtual int playEffect(int soundId, + virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; - - public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0); - -

    + + public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0); + + +

    Details - -

    To play multiple audio effect files at the same time, call this method multiple times with different soundId and filePath. To achieve the optimal user experience, Agora recommends that do not playing more than three audio files at the same time. After the playback of an audio effect file completes, the SDK triggers the callback.Supported audio formats include MP3, AAC, M4A, MP4, WAV, and 3GP. See Supported Audio Formats.

    + +

    To play multiple audio effect files at the same time, call this + method multiple times with different soundId and + filePath. To achieve the optimal user experience, Agora + recommends that do not playing more than three audio files at the same time. After + the playback of an audio effect file completes, the SDK triggers the callback.Supported audio + formats include MP3, AAC, M4A, MP4, WAV, and 3GP. See Supported Audio Formats.

    Parameters - - soundId - The audio effect ID. The ID of each audio effect file is unique.If you have preloaded an audio effect into memory by calling , ensure that the value of this parameter is the same as that of soundId in . - - - filePath - -

    Agora supports URL addresses, absolute paths, or file paths that start with /assets/. For example, .

    -

    The absolute path or URL address (including the suffixes of the filename) of the audio effect file. You might encounter permission issues if you use an absolute path to access a local file, so Agora recommends using a URI address instead. For example, .

    - If you have preloaded an audio effect into memory by calling , ensure that the value of this parameter is the same as that of filePath in .
    -
    - - loopCount - -

    The number of times the audio effect loops.

      -
    • ≥ 0: The number of playback times. For example, 1 means looping one time, which means playing the audio effect two times in total.
    • -
    • -1: Play the audio file in an infinite loop.
    • -

    -
    -
    - - pitch - The pitch of the audio effect. The value range is 0.5 to 2.0. The default value is 1.0, which means the original pitch. The lower the value, the lower the pitch. - - - pan - -

    The spatial position of the audio effect. The value ranges between -1.0 and 1.0:

      -
    • -1.0: The audio effect is heard on the left of the user.
    • -
    • 0.0: The audio effect is heard in front of the user.
    • -
    • 1.0: The audio effect is heard on the right of the user.
    • -

    -
    -
    - - gain - The volume of the audio effect. The value range is 0.0 to 100.0. The default value is 100.0, which means the original volume. The smaller the value, the lower the volume. - - - publish - -

    Whether to publish the audio effect to the remote users.

      -
    • : Publish the audio effect to the remote users. Both the local user and remote users can hear the audio effect.
    • -
    • : Do not publish the audio effect to the remote users. Only the local user can hear the audio effect.
    • -

    -
    -
    -
    + + soundId + The audio effect ID. The ID of each audio effect file is unique.If you have preloaded an audio effect into memory by + calling , ensure that the value of this + parameter is the same as that of soundId in + . + + + filePath + +

    Agora supports URL addresses, absolute paths, or + file paths that start with /assets/. For example, + .

    +

    The absolute path or URL address (including the suffixes + of the filename) of the audio effect file. You might encounter + permission issues if you use an absolute path to access a local file, so + Agora recommends using a URI address instead. For example, .

    + If you have preloaded an audio effect into memory by + calling , ensure that the value of this + parameter is the same as that of filePath in + . +
    +
    + + loopCount + +

    The number of times the audio effect loops.

      +
    • ≥ 0: The number of playback times. For example, 1 means looping + one time, which means playing the audio effect two times in + total.
    • +
    • -1: Play the audio file in an infinite loop.
    • +

    +
    +
    + + pitch + The pitch of the audio effect. The value range is 0.5 to 2.0. The default + value is 1.0, which means the original pitch. The lower the value, the lower + the pitch. + + + pan + +

    The spatial position of the audio effect. The value ranges between -1.0 + and 1.0:

      +
    • -1.0: The audio effect is heard on the left of the user.
    • +
    • 0.0: The audio effect is heard in front of the user.
    • +
    • 1.0: The audio effect is heard on the right of the user.
    • +

    +
    +
    + + gain + The volume of the audio effect. The value range is 0.0 to 100.0. The default + value is 100.0, which means the original volume. The smaller the value, the + lower the volume. + + + publish + +

    Whether to publish the audio effect to the remote users.

      +
    • : Publish the audio effect + to the remote users. Both the local user and remote users can + hear the audio effect.
    • +
    • : Do not publish the audio + effect to the remote users. Only the local user can hear the + audio effect.
    • +

    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_playeffect3.dita b/en-US/dita/RTC-NG/API/api_irtcengine_playeffect3.dita index 83159f3cf78..dd2ccd84040 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_playeffect3.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_playeffect3.dita @@ -1,22 +1,23 @@ - <ph keyref="playEffect3" /> - Plays the specified local or online audio effect file. + <ph keyref="playEffect3"/> + Plays the specified local or online audio effect + file. - +

    - public int playEffect(int soundId, String filePath, int loopCount, double pitch, + public int playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish, int startPos); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch @@ -25,7 +26,7 @@ publish:(BOOL)publish startPos:(int)startPos; - virtual int playEffect(int soundId, + virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, @@ -33,9 +34,9 @@ int gain, bool publish, int startPos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PlayEffect(int soundId, FString filePath, int loopCount, float pitch, float pan, int gain, bool publish, int startPos); - abstract playEffect( + abstract playEffect( soundId: number, filePath: string, loopCount: number, @@ -45,8 +46,8 @@ publish?: boolean, startPos?: number ): number; - public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0); - abstract playEffect( + public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0); + abstract playEffect( soundId: number, filePath: string, loopCount: number, @@ -56,7 +57,7 @@ publish?: boolean, startPos?: number ): number; - Future<void> playEffect( + Future<void> playEffect( {required int soundId, required String filePath, required int loopCount, @@ -65,76 +66,116 @@ required int gain, bool publish = false, int startPos = 0}); -

    +

    Details - If you use this method to play an online audio effect file, Agora recommends that you cache the online audio effect file to your local device, call to preload the cached audio effect file into memory, and then call this method to play the audio effect. Otherwise, you might encounter playback failures or no sound during playback due to loading timeouts or failures. -

    To play multiple audio effect files at the same time, call this method multiple times with different soundId and filePath. To achieve the optimal user experience, Agora recommends that do not playing more than three audio files at the same time. After the playback of an audio effect file completes, the SDK triggers the callback.

    -

    + If you use this method to play an online audio effect + file, Agora recommends that you cache the online audio effect file to your local + device, call to preload the cached audio effect file + into memory, and then call this method to play the audio effect. Otherwise, you + might encounter playback failures or no sound during playback due to loading + timeouts or failures. +

    To play multiple audio effect files at the same time, call this + method multiple times with different soundId and + filePath. To achieve the optimal user experience, Agora + recommends that do not playing more than three audio files at the same time. After + the playback of an audio effect file completes, the SDK triggers the callback.

    +

    Parameters - - soundId - The audio effect ID. The ID of each audio effect file is unique.If you have preloaded an audio effect into memory by calling , ensure that the value of this parameter is the same as that of soundId in . - - - filePath - -

    The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example, . Supported audio formats include MP3, AAC, M4A, MP4, WAV, and 3GP. See supported audio formats.

    - If you have preloaded an audio effect into memory by calling , ensure that the value of this parameter is the same as that of filePath in .
    -
    - - loopCount - -

    The number of times the audio effect loops.

      -
    • ≥ 0: The number of playback times. For example, 1 means looping one time, which means playing the audio effect two times in total.
    • -
    • -1: Play the audio file in an infinite loop.
    • -

    -
    -
    - - pitch - The pitch of the audio effect. The value range is 0.5 to 2.0. The default value is 1.0, which means the original pitch. The lower the value, the lower the pitch. - - - pan - -

    The spatial position of the audio effect. The value ranges between -1.0 and 1.0:

      -
    • -1.0: The audio effect is heard on the left of the user.
    • -
    • 0.0: The audio effect is heard in front of the user.
    • -
    • 1.0: The audio effect is heard on the right of the user.
    • -

    -
    -
    - - gain - The volume of the audio effect. The value range is 0.0 to 100.0. The default value is 100.0, which means the original volume. The smaller the value, the lower the volume. - - - publish - -

    Whether to publish the audio effect to the remote users:

      -
    • : Publish the audio effect to the remote users. Both the local user and remote users can hear the audio effect.
    • -
    • : Do not publish the audio effect to the remote users. Only the local user can hear the audio effect.
    • -

    -
    -
    - - startPos - -

    The playback position (ms) of the audio effect file.

    -
    -
    -
    + + soundId + The audio effect ID. The ID of each audio effect file is unique.If you have preloaded an audio effect into memory by + calling , ensure that the value of this + parameter is the same as that of soundId in + . + + + + filePath + +

    The absolute path or URL address (including the suffixes of + the filename) of the audio effect file. For example, . Supported audio formats + include MP3, AAC, M4A, MP4, WAV, and 3GP. See supported audio formats.

    + If you have preloaded an audio effect into memory by + calling , ensure that the value of this + parameter is the same as that of filePath in + . +
    +
    + + loopCount + +

    The number of times the audio effect loops.

      +
    • ≥ 0: The number of playback times. For example, 1 means looping + one time, which means playing the audio effect two times in + total.
    • +
    • -1: Play the audio file in an infinite loop.
    • +

    +
    +
    + + pitch + The pitch of the audio effect. The value range is 0.5 to 2.0. The default + value is 1.0, which means the original pitch. The lower the value, the lower + the pitch. + + + pan + +

    The spatial position of the audio effect. The value ranges between -1.0 + and 1.0:

      +
    • -1.0: The audio effect is heard on the left of the user.
    • +
    • 0.0: The audio effect is heard in front of the user.
    • +
    • 1.0: The audio effect is heard on the right of the user.
    • +

    +
    +
    + + gain + The volume of the audio effect. The value range is 0.0 to 100.0. The default + value is 100.0, which means the original volume. The smaller the value, the + lower the volume. + + + publish + +

    Whether to publish the audio effect to the remote users:

      +
    • : Publish the audio effect + to the remote users. Both the local user and remote users can + hear the audio effect.
    • +
    • : Do not publish the audio + effect to the remote users. Only the local user can hear the + audio effect.
    • +

    +
    +
    + + startPos + +

    The playback position (ms) of the audio effect file.

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita b/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita index cda1377d25e..21f476f1c15 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel.dita @@ -2,7 +2,10 @@ <ph keyref="preloadChannel"/> - Preloads a channel with token, channelIdchannelName, and uidoptionalUid. + Preloads a channel with token, + channelIdchannelName, and uidoptionalUid. @@ -13,75 +16,123 @@

    - public abstract int preloadChannel(String token, String channelName, int optionalUid); - - (int)preloadChannelByToken:(NSString * _Nullable)token + 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; - abstract preloadChannel( + virtual int preloadChannel(const char* token, const char* channelId, uid_t uid) = 0; + abstract preloadChannel( token: string, channelId: string, uid: number ): number; - public abstract int PreloadChannel(string token, string channelId, uint uid); - abstract preloadChannel( + public abstract int PreloadChannel(string token, string channelId, uint uid); + abstract preloadChannel( token: string, channelId: string, uid: number ): number; - Future<void> preloadChannel( - {required String token, required String channelId, required int uid});

    + Future<void> preloadChannel( + {required String token, required String channelId, required int uid}); +

    Details
    - -
    Since
    -
    v4.2.2
    -
    + +
    Since
    +
    v4.2.2
    +
    -

    When audience members need to switch between different channels frequently, calling the method can help shortening the time of joining a channel, thus reducing the time it takes for audience members to hear and see the host. As it may take a while for the SDK to preload a channel, Agora recommends that you call this method as soon as possible after obtaining the channel name and user ID to join a channel.

    -
    • When calling this method, ensure you set the user role as audience and do not set the audio scenario as , otherwise, this method does not take effect.
    • -
    • You also need to make sure that the channel name, user ID and token passed in for preloading are the same as the values passed in when joinning the channel, otherwise, this method does not take effect.
    • -
    • One instance supports preloading 20 channels at most. When exceeding this limit, the latest 20 preloaded channels take effect.
    • -
    • Failing to preload a channel does not mean that you can't join a channel, nor will it increase the time of joining a channel.
    -

    If you join a preloaded channel, leave it and want to rejoin the same channel, you do not need to call this method unless the token for preloading the channel expires.

    +

    When audience members need to switch between different channels + frequently, calling the method can help shortening the time of joining a channel, + thus reducing the time it takes for audience members to hear and see the host. As it + may take a while for the SDK to preload a channel, Agora recommends that you call + this method as soon as possible after obtaining the channel name and user ID to join + a channel.

    +
      +
    • When calling this method, ensure you set the user role as + audience and do not set the audio scenario as , otherwise, this method does not take + effect.
    • +
    • You also need to make sure that the channel name, user ID and token passed + in for preloading are the same as the values passed in when joinning the + channel, otherwise, this method does not take effect.
    • +
    • One instance supports preloading 20 + channels at most. When exceeding this limit, the latest 20 preloaded + channels take effect.
    • +
    • Failing to preload a channel does not mean that you can't join a + channel, nor will it increase the time of joining a channel.
    • +
    +

    If you join a preloaded channel, leave it and want to rejoin the same + channel, you do not need to call this method unless the token for preloading the + channel expires.

    Parameters - - token - The token generated on your server for authentication. See .

    When the token for preloading channels expires, you can update the token based on the number of channels you preload.

    • When preloading one channel, calling this method to pass in the new token.
    • -
    • When preloading more than one channels:
      • If you use a wildcard token for all preloaded channels, call to update the token.When generating a wildcard token, ensure the user ID is not set as 0. See .
      • -
      • If you use different tokens to preload different channels, call this method to pass in your user ID, channel name and the new token.

    -
    -
    - - channelId - channelName -

    The channel name that you want to preload. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):

      -
    • All lowercase English letters: a to z.
    • -
    • All uppercase English letters: A to Z.
    • -
    • All numeric characters: 0 to 9.
    • -
    • Space
    • -
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
    • -

    -
    - - - - -
    + + token + The token generated on your server for authentication. See .

    When the token for preloading channels + expires, you can update the token based on the number of channels you preload.

      +
    • When preloading one channel, calling this method to pass in the + new token.
    • +
    • When preloading more than one channels:
        +
      • If you use a wildcard token for all preloaded channels, + call to + update the token.When + generating a wildcard token, ensure the user ID is + not set as 0. See .
      • +
      • If you use different tokens to preload different + channels, call this method to pass in your user ID, + channel name and the new token.
      • +
    • +

    +
    +
    + + channelId + channelName +

    The channel name that you want to preload. This parameter signifies the + channel in which users engage in real-time audio and video interaction. + Under the premise of the same App ID, users who fill in the same channel + ID enter the same channel for audio and video interaction. The string + length must be less than 64 bytes. Supported characters (89 characters + in total):

      +
    • All lowercase English letters: a to z.
    • +
    • All uppercase English letters: A to Z.
    • +
    • All numeric characters: 0 to 9.
    • +
    • Space
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", + "|", "~", ","
    • +

    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -7: The object has not been initialized. You need to initialize the object before calling this method.
      • -
      • -102: The channel name is invalid. You need to pass in a valid channel name and join the channel again.
      • -
    • -
    -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -7: The object has not been initialized. + You need to initialize the object before + calling this method.
    • +
    • -102: The channel name is invalid. You need to pass in a valid channel + name and join the channel again.
    • +
  • + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel2.dita index 64f20394298..88be6bd03e0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_preloadchannel2.dita @@ -2,7 +2,9 @@ <ph keyref="preloadChannel2"/> - Preloads a channel with token, channelIdchannelName, and userAccount. + Preloads a channel with token, + channelIdchannelName, and userAccount. @@ -13,70 +15,85 @@

    - public abstract int preloadChannel(String token, String channelName, String userAccount); - - (int)preloadChannelByToken:(NSString * _Nullable)token + public abstract int preloadChannel(String token, String channelName, String userAccount); + - (int)preloadChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId userAccount:(NSString * _Nonnull)uid NS_SWIFT_NAME(preloadChannel(byToken:channelId:userAccount:)); - virtual int preloadChannel(const char* token, const char* channelId, const char* userAccount) = 0; - abstract preloadChannelWithUserAccount( + virtual int preloadChannel(const char* token, const char* channelId, const char* userAccount) = 0; + abstract preloadChannelWithUserAccount( token: string, channelId: string, userAccount: string ): number; - public abstract int PreloadChannel(string token, string channelId, string userAccount); - abstract preloadChannelWithUserAccount( + public abstract int PreloadChannel(string token, string channelId, string userAccount); + abstract preloadChannelWithUserAccount( token: string, channelId: string, userAccount: string ): number; - Future<void> preloadChannelWithUserAccount( + Future<void> preloadChannelWithUserAccount( {required String token, required String channelId, - required String userAccount});

    + required String userAccount}); +

    Details
    - -
    Since
    -
    v4.2.2
    -
    + +
    Since
    +
    v4.2.2
    +
    -

    +

    -

    • -
    • You also need to make sure that the User Account, channel ID and token passed in for preloading are the same as the values passed in when joining the channel, otherwise, this method does not take effect.
    • -
    • -
    -

    +
      +
    • +
    • You also need to make sure that the User Account, channel ID and token + passed in for preloading are the same as the values passed in when joining + the channel, otherwise, this method does not take effect.
    • +
    • +
    • +
    +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The parameter is invalid. For example, the User Account is empty. You need to pass in a valid parameter and join the channel again.
      • -
      • -7: The object has not been initialized. You need to initialize the object before calling this method.
      • -
      • -102: The channel name is invalid. You need to pass in a valid channel name and join the channel again.
      • -
    • -
    -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: The parameter is invalid. For example, the User Account is empty. + You need to pass in a valid parameter and join the channel again.
    • +
    • -7: The object has not been initialized. + You need to initialize the object before + calling this method.
    • +
    • -102: The channel name is invalid. You need to pass in a valid channel + name and join the channel again.
    • +
  • + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita index 43423572a72..6244a59fe12 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_preloadeffect.dita @@ -1,75 +1,104 @@ - <ph keyref="preloadEffect" /> - Preloads a specified audio effect file into the memory. + <ph keyref="preloadEffect"/> + Preloads a specified audio effect file into the + memory. - +

    - public int preloadEffect(int soundId, String filePath); + public int preloadEffect(int soundId, String filePath); - - (int)preloadEffect:(int)soundId + - (int)preloadEffect:(int)soundId filePath:(NSString* _Nonnull)filePath; - virtual int preloadEffect(int soundId, const char* filePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int preloadEffect(int soundId, const char* filePath) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PreloadEffect(int soundId, FString filePath, int startPos); - abstract preloadEffect( + abstract preloadEffect( soundId: number, filePath: string, startPos?: number ): number; - public abstract int PreloadEffect(int soundId, string filePath, int startPos = 0); - abstract preloadEffect( + public abstract int PreloadEffect(int soundId, string filePath, int startPos = 0); + abstract preloadEffect( soundId: number, filePath: string, startPos?: number ): number; - Future<void> preloadEffect( + Future<void> preloadEffect( {required int soundId, required String filePath, int startPos = 0}); -

    +

    Details -

    To ensure smooth communication, It is recommended that you limit the size of the audio effect file. You can call this method to preload the audio effect before calling .

    +

    To ensure smooth communication, It is recommended that you limit the size of the + audio effect file. You can call this method to preload the audio effect before + calling .

    -

    For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.

    -
    +

    For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK + support.

    + +
    Parameters - - soundId - The audio effect ID. The ID of each audio effect file is unique. - - - filePath - File path:
      -
    • Android: The file path, which needs to be accurate to the file name and suffix. Agora supports URL addresses, absolute paths, or file paths that start with /assets/. You might encounter permission issues if you use an absolute path to access a local file, so Agora recommends using a URI address instead. For example: content://com.android.providers.media.documents/document/audio%3A14441
    • -
    • Windows: The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example: C:\music\audio.mp4.
    • -
    • iOS or macOS: The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example: /var/mobile/Containers/Data/audio.mp4.
    • -
    • iOS: The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example: /var/mobile/Containers/Data/audio.mp4.
    • -
    • macOS: The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example: /var/mobile/Containers/Data/audio.mp4.
    • -
    -
    - - startPos - The playback position (ms) of the audio effect file. - -
    + + soundId + The audio effect ID. The ID of each audio effect file is + unique. + + + filePath + File path:
      +
    • Android: The file + path, which needs to be accurate to the file name and suffix. Agora + supports URL addresses, absolute paths, or file paths that start + with /assets/. You might encounter permission + issues if you use an absolute path to access a local file, so Agora + recommends using a URI address instead. For example: + content://com.android.providers.media.documents/document/audio%3A14441
    • +
    • Windows: The + absolute path or URL address (including the suffixes of the + filename) of the audio effect file. For example: + C:\music\audio.mp4.
    • +
    • iOS or macOS: The absolute path or URL + address (including the suffixes of the filename) of the audio effect + file. For example: + /var/mobile/Containers/Data/audio.mp4.
    • +
    • iOS: The absolute path or URL address (including the + suffixes of the filename) of the audio effect file. For example: + /var/mobile/Containers/Data/audio.mp4.
    • +
    • macOS: The absolute path or URL address (including + the suffixes of the filename) of the audio effect file. For example: + /var/mobile/Containers/Data/audio.mp4.
    • +
    +
    + + startPos + The playback position (ms) of the audio effect file. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pullaudioframe2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pullaudioframe2.dita index 3e7f39907c5..fca5774a8f7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pullaudioframe2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pullaudioframe2.dita @@ -1,56 +1,75 @@ - <ph keyref="pullAudioFrame2" /> + <ph keyref="pullAudioFrame2"/> Pulls the remote audio data. - +

    - public abstract int pullPlaybackAudioFrame(ByteBuffer data, int lengthInByte); - - - - - - -

    + public abstract int pullPlaybackAudioFrame(ByteBuffer data, int lengthInByte); + + + + + + +

    Details -

    Before calling this method, call the (enabled: ) method to notify the app to enable and set the external audio sink.

    -

    After a successful method call, the app pulls the decoded and mixed audio data for playback.

    +

    Before calling this method, call the (enabled: ) method to + notify the app to enable and set the external audio sink.

    +

    After a successful method call, the app pulls the decoded and mixed audio data for + playback.

    -
      -
    • Call this method after joining a channel.
    • -
    • The difference between this method and the callback is as follows:
        -
      • : The SDK sends the audio data to the app through this callback. Any delay in processing the audio frames may result in audio jitter.
      • -
      • : The app pulls the remote audio data. After setting the audio data parameters, the SDK adjusts the frame buffer and avoids problems caused by jitter in the external audio playback.
      • -
    • -
    +
      +
    • Call this method after joining a channel.
    • +
    • The difference between this method and the callback is as follows:
        +
      • : The SDK sends the audio + data to the app through this callback. Any delay in processing the + audio frames may result in audio jitter.
      • +
      • : The app pulls the remote audio + data. After setting the audio data parameters, the SDK adjusts the + frame buffer and avoids problems caused by jitter in the external + audio playback.
      • +
    • +
    + +
    Parameters - - data - The remote audio data to be pulled. The data type is ByteBuffer. - - - lengthInByte - The length (in bytes) of the remote audio data. The value of this parameter is related to the audio duration,and the values of the sampleRate and channels parameters that you set in . lengthInByte = sampleRate/1000 × 2 × channels × audio duration (ms). - -
    + + data + The remote audio data to be pulled. The data type is + ByteBuffer. + + + lengthInByte + The length (in bytes) of the remote audio data. The value of this parameter + is related to the audio duration,and the values of the + sampleRate and channels + parameters that you set in . + lengthInByte = sampleRate/1000 + × 2 × channels × audio duration (ms). + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pullplaybackaudioframesamplebufferbylengthinbyte.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pullplaybackaudioframesamplebufferbylengthinbyte.dita index 4a74bc02920..64629961fdc 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pullplaybackaudioframesamplebufferbylengthinbyte.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pullplaybackaudioframesamplebufferbylengthinbyte.dita @@ -1,30 +1,32 @@ - <ph keyref="pullPlaybackAudioFrameSampleBufferByLengthInByte" /> - Pulls remote audio data in the SampleBuffer format. + <ph keyref="pullPlaybackAudioFrameSampleBufferByLengthInByte"/> + Pulls remote audio data in the SampleBuffer + format. - +

    - - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte; -

    + - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte; +

    -
    +
    Parameters - - - - -
    -
    + + + + + +
    +
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushaudioframe2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushaudioframe2.dita index 34520cc18ab..7cfaca37e2d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushaudioframe2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushaudioframe2.dita @@ -2,7 +2,8 @@ <ph keyref="pushAudioFrame2"/> - Pushes the external audio frame to the SDK. + Pushes the external audio frame to the + SDK. @@ -13,69 +14,85 @@

    - public abstract int pushExternalAudioFrame(byte[] data, long timestamp, int sampleRate, + public abstract int pushExternalAudioFrame(byte[] data, long timestamp, int sampleRate, int channels, Constants.BytesPerSample bytesPerSample, int trackId); - - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data + - (int)pushExternalAudioFrameRawData:(void* _Nonnull)data samples:(NSInteger)samples sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels trackId:(NSInteger)trackId timestamp:(NSTimeInterval)timestamp NS_SWIFT_NAME(pushExternalAudioFrameRawData(_:samples:sampleRate:channels:trackId:timestamp:)); - - - - - -

    + + + + + +

    Details -

    Before calling this method to push external audio data, perform the following steps:

      -
    1. Call to create a custom audio track and get the audio track ID.
    2. -
    3. Call to join the channel. In , set publishCustomAduioTrackId to the audio track ID that you want to publish, and set publishCustomAudioTrack to .
    4. -

    -
    +

    Before calling this method to push external audio data, perform the following steps:

      +
    1. Call to create a custom audio + track and get the audio track ID.
    2. +
    3. Call to join the channel. In , set + publishCustomAduioTrackId to the audio track ID + that you want to publish, and set + publishCustomAudioTrack to .
    4. +

    + +
    Parameters - - data - The external audio data. - - - samples - The number of samples. - - - timestamp - The timestamp (ms) of the external audio frame. This parameter is required. You can use it to restore the order of the captured audio frames, or synchronize audio and video frames in video-related scenarios (including scenarios where external video sources are used). - - - sampleRate - The sample rate (Hz) of the external audio source, which can be set as 8000, 16000, 32000, 44100, or 48000. - - - channels - The number of audio channels of the external audio sink:
      -
    • 1: Mono.
    • -
    • 2: Stereo.
    • -
    -
    - - bytesPerSample - The number of bytes per sample. For PCM, this parameter is generally set to 16 bits (2 bytes). - - - trackId - The audio track ID. Set this parameter to the custom audio track ID returned in . - -
    + + data + The external audio data. + + + samples + The number of samples. + + + timestamp + The timestamp (ms) of the external audio frame. This parameter is required. + You can use it to restore the order of the captured audio frames, or + synchronize audio and video frames in video-related scenarios (including + scenarios where external video sources are used). + + + sampleRate + The sample rate (Hz) of the external audio source, which can be set as 8000, + 16000, 32000, 44100, or 48000. + + + channels + The number of audio channels of the external audio sink:
      +
    • 1: Mono.
    • +
    • 2: Stereo.
    • +
    +
    + + bytesPerSample + The number of bytes per sample. For PCM, this parameter is generally set to + 16 bits (2 bytes). + + + trackId + The audio track ID. Set this parameter to the custom audio track ID returned + in . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe.dita index 1c6834178ab..48ac3cf449d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe.dita @@ -1,53 +1,68 @@ - <ph keyref="pushCaptureAudioFrame1" /> - Pushes external audio frames. The frames will not be processed by the echo cancellation module of the SDK. + <ph keyref="pushCaptureAudioFrame1"/> + Pushes external audio frames. The frames will not be + processed by the echo cancellation module of the SDK. - +

    - public abstract int pushCaptureAudioFrame(byte[] data, int lengthInByte); - - (int)pushCaptureAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; - virtual int pushCaptureAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - abstract pushCaptureAudioFrame(frame: AudioFrame): number; - - abstract pushCaptureAudioFrame(frame: AudioFrame): number; - Future<void> pushCaptureAudioFrame(AudioFrame frame); -

    + public abstract int pushCaptureAudioFrame(byte[] data, int lengthInByte); + - (int)pushCaptureAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; + virtual int pushCaptureAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + abstract pushCaptureAudioFrame(frame: AudioFrame): number; + + abstract pushCaptureAudioFrame(frame: AudioFrame): number; + Future<void> pushCaptureAudioFrame(AudioFrame frame); +

    Details -

    The local user can call to publish local audio streams. Note that the audio streams will not be processed by the echo cancellation module of the SDK. To ensure the local user will not hear an echo, the remote users need to call and in sequence to send the audio streams captured together with the streams received to the echo cancellation module.

    - Call this method after calling and .
    +

    The local user can call to publish local + audio streams. Note that the audio streams will not be processed by the echo + cancellation module of the SDK. To ensure the local user will not hear an echo, the + remote users need to call and in sequence to send the audio streams captured + together with the streams received to the echo cancellation module.

    + Call this method after calling and . +
    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe2.dita index f0a9f57fe48..208cb1740f3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushcaptureaudioframe2.dita @@ -1,47 +1,48 @@ - <ph keyref="pushCaptureAudioFrame2" /> - + <ph keyref="pushCaptureAudioFrame2"/> + - +

    - public abstract int pushCaptureAudioFrame(ByteBuffer data, int lengthInByte); - - - - - - -

    + public abstract int pushCaptureAudioFrame(ByteBuffer data, int lengthInByte); + + + + + + +

    Details
    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +
    -

    +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushdirectcdnstreamingcustomvideoframe.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushdirectcdnstreamingcustomvideoframe.dita index f9ced05b0eb..5dd629fdca4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushdirectcdnstreamingcustomvideoframe.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushdirectcdnstreamingcustomvideoframe.dita @@ -1,40 +1,47 @@ - <ph keyref="pushDirectCdnStreamingCustomVideoFrame" /> - Pushes an external video stream to the SDK. + <ph keyref="pushDirectCdnStreamingCustomVideoFrame"/> + Pushes an external video stream to the + SDK. - +

    - public abstract int pushDirectCdnStreamingCustomVideoFrame(VideoFrame frame); - - (int)pushDirectCdnStreamingCustomVideoFrame:(AgoraVideoFrame * _Nonnull)frame; - virtual int pushDirectCdnStreamingCustomVideoFrame(media::base::ExternalVideoFrame* frame) = 0; - - public abstract int PushDirectCdnStreamingCustomVideoFrame(ExternalVideoFrame frame); - - -

    + public abstract int pushDirectCdnStreamingCustomVideoFrame(VideoFrame frame); + - (int)pushDirectCdnStreamingCustomVideoFrame:(AgoraVideoFrame * _Nonnull)frame; + virtual int pushDirectCdnStreamingCustomVideoFrame(media::base::ExternalVideoFrame* frame) = 0; + + public abstract int PushDirectCdnStreamingCustomVideoFrame(ExternalVideoFrame frame); + + +

    Parameters - - frame - The external video data. For details, see videoFrame. - -
    + + frame + The external video data. For details, see videoFrame. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer.dita index e379ee102fb..458d57ad5c1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer.dita @@ -2,7 +2,8 @@ <ph keyref="pushExternalAudioFrameSampleBuffer1"/> - Pushes external CMSampleBuffer audio frames. + Pushes external CMSampleBuffer audio + frames. @@ -13,31 +14,34 @@

    - - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; -

    + - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; +

    Details
    - -
    Deprecated:
    -
    This method is deprecated as of v4.3.1. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated as of v4.3.1. Use instead.
    +
    Parameters - - sampleBuffer - The sample buffer. - -
    + + sampleBuffer + The sample buffer. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer2.dita index e6588c5fc6d..fe02804277e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushexternalaudioframesamplebuffer2.dita @@ -2,7 +2,8 @@ <ph keyref="pushExternalAudioFrameSampleBuffer2"/> - Pushes the external CMSampleBuffer audio frames to the channel through a custom audio track. + Pushes the external CMSampleBuffer audio frames to the + channel through a custom audio track. @@ -13,51 +14,54 @@

    - - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer + - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels trackId:(NSInteger)trackId NS_SWIFT_NAME(pushExternalAudioFrameSampleBuffer(_:sampleRate:channels:trackId:)); - - - - -

    + + + + +

    Details
    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +
    Parameters - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe.dita index bcc099d1ad2..175847aeb7d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe.dita @@ -1,54 +1,71 @@ - <ph keyref="pushReverseAudioFrame1" /> - Pushes an external audio frame, which is processed by a custom echo cancellation module. + <ph keyref="pushReverseAudioFrame1"/> + Pushes an external audio frame, which is processed by a + custom echo cancellation module. - +

    - public abstract int pushReverseAudioFrame(byte[] data, int lengthInByte); - - (int)pushReverseAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; - virtual int pushReverseAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - abstract pushReverseAudioFrame(frame: AudioFrame): number; - - abstract pushReverseAudioFrame(frame: AudioFrame): number; - Future<void> pushReverseAudioFrame(AudioFrame frame); -

    + public abstract int pushReverseAudioFrame(byte[] data, int lengthInByte); + - (int)pushReverseAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame; + virtual int pushReverseAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + abstract pushReverseAudioFrame(frame: AudioFrame): number; + + abstract pushReverseAudioFrame(frame: AudioFrame): number; + Future<void> pushReverseAudioFrame(AudioFrame frame); +

    Details -

    To ensure the local user will not hear an echo, after the local user call , the remote users need to call and in sequence to send the audio streams captured, together with the streams received to the echo cancellation module.

    - Before calling this method, you need to set publishCustomAudioTrackAec in as and set publishCustomAudioTrack as .
    +

    To ensure the local user will not hear an echo, after the local user call , the remote users need to call and in + sequence to send the audio streams captured, together with the streams received to + the echo cancellation module.

    + Before calling this method, you need to set + publishCustomAudioTrackAec in as and set + publishCustomAudioTrack as . +
    Parameters - - frame - audioFrame - The external audio frame. See . - - - data - The remote audio data to be pulled. The data type is byte[]. - - - - - -
    + + frame + audioFrame + The external audio frame. See . + + + data + The remote audio data to be pulled. The data type is + byte[]. + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe2.dita index 9655cf56269..caf958a1d8f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushreverseaudioframe2.dita @@ -1,47 +1,48 @@ - <ph keyref="pushReverseAudioFrame2" /> - + <ph keyref="pushReverseAudioFrame2"/> + - +

    - public abstract int pushReverseAudioFrame(ByteBuffer data, int lengthInByte); - - - - - - -

    + public abstract int pushReverseAudioFrame(ByteBuffer data, int lengthInByte); + + + + + + +

    Details
    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +
    -

    +

    Parameters - - - - -
    + + + + + +
    - + <title/> </section> </refbody> -</reference> \ No newline at end of file +</reference> diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe2.dita index b4b4d47ce98..55eb67a6dd7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe2.dita @@ -2,7 +2,8 @@ <!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd"> <reference id="api_irtcengine_pushvideoframe2"> <title><ph keyref="pushVideoFrame2"/> - Pushes the external raw video frame to the SDK. + Pushes the external raw video frame to the + SDK. @@ -13,39 +14,50 @@

    - public abstract boolean pushExternalVideoFrame(AgoraVideoFrame frame); - - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:)) - - - - - -

    + public abstract boolean pushExternalVideoFrame(AgoraVideoFrame frame); + - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame NS_SWIFT_NAME(pushExternalVideoFrame(_:)) + + + + + +

    Details
    Deprecated:
    -
    If you need to push video frames in I422 format, you need to use this method; otherwise, use .
    +
    If you need to push video frames in I422 format, you need to use this + method; otherwise, use .
    -

    After calling the method and setting the enabled parameter to , and the encodedFrame parameter to , you can use this method to push the raw external video frame to the SDK.

    -

    You can push the video frame either by calling this method or by calling . The difference is that this method does not support video data in Texture format.

    +

    After calling the method and + setting the enabled parameter to , and the encodedFrame parameter to , you can use this method to push the raw external + video frame to the SDK.

    +

    You can push the video frame either by calling this method or by + calling . The difference is that this method does + not support video data in Texture format.

    Parameters - - - - -
    + + + + + +
    Returns
    • : Success.
    • -
    • : Failure. See for details and resolution suggestions.
    • -
    +
  • : Failure. See for details and resolution + suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita index 91015aaccfc..ab95e28fbb1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe3.dita @@ -2,7 +2,8 @@ <ph keyref="pushVideoFrame3"/> - Pushes the external raw video frame to the SDK through video tracks. + Pushes the external raw video frame to the SDK through + video tracks. @@ -13,38 +14,44 @@

    - public abstract int pushExternalVideoFrameById(VideoFrame frame, int videoTrackId); - - - - - - -

    + public abstract int pushExternalVideoFrameById(VideoFrame frame, int videoTrackId); + + + + + + +

    Details

    -

    You can push the video frame either by calling this method or by calling . The difference is that this method supports video data in the texture format.

    +

    You can push the video frame either by calling this method or by calling . The difference is that this method supports video + data in the texture format.

    Parameters - - frame - Video frame to be pushed. See . - - - - - -
    + + frame + Video frame to be pushed. See . + + + + + + +
    Returns
      -
    • 0: Pushes the external encoded video frame to the SDK successfully.
    • -
    • < 0: Fails to push external encoded video frames to the SDK. See for details and resolution suggestions.
    • -
    +
  • 0: Pushes the external encoded video frame to the SDK successfully.
  • +
  • < 0: Fails to push external encoded video frames to the SDK. See for details and resolution + suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita index 4a2d5bd987f..8009c43cbce 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframe4.dita @@ -2,7 +2,8 @@ <ph keyref="pushVideoFrame4"/> - Pushes the external raw video frame to the SDK. + Pushes the external raw video frame to the + SDK. @@ -13,33 +14,39 @@

    - public abstract boolean pushExternalVideoFrame(VideoFrame frame); - - - - - - -

    + public abstract boolean pushExternalVideoFrame(VideoFrame frame); + + + + + + +

    Details

    -

    You can push the video frame either by calling this method or by calling . The difference is that this method supports video data in the texture format.

    +

    You can push the video frame either by calling this method or by calling . The difference is that this method supports video + data in the texture format.

    Parameters - - - - -
    + + + + + +
    Returns
      -
    • : Success.
    • -
    • : Failure. See for details and resolution suggestions.
    • -
    +
  • : Success.
  • +
  • : Failure. See for details and resolution + suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframeex2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframeex2.dita index d8c15a58049..7df3431681c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframeex2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_pushvideoframeex2.dita @@ -2,47 +2,53 @@ <ph keyref="pushVideoFrameEx2"/> - Pushes the external raw video frame to the SDK. + Pushes the external raw video frame to the + SDK. - +

    - public abstract int pushExternalVideoFrameEx(VideoFrame frame, RtcConnection connection); - - - - - -

    + public abstract int pushExternalVideoFrameEx(VideoFrame frame, RtcConnection connection); + + + + + + +

    Details -

    -

    You can push the video frame either by calling this method or by calling . The difference is that the method supports video data in texture format.

    +

    +

    You can push the video frame either by calling this method or by calling . The difference is that the method supports video data in texture format.

    Parameters - - - - - - - - -
    + + + + + + + + + +
    Returns
      -
    • 0: Pushes the external encoded video frame to the SDK successfully.
    • -
    • < 0: Fails to push the external encoded video frame to the SDK.
    • -
    +
  • 0: Pushes the external encoded video frame to the SDK successfully.
  • +
  • < 0: Fails to push the external encoded video frame to the SDK.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita b/en-US/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita index c3cbcc7b369..c6d60b67b37 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_querycamerafocallengthcapability.dita @@ -1,72 +1,105 @@ - <ph keyref="queryCameraFocalLengthCapability" /> - Queries the focal length capability supported by the camera. + <ph keyref="queryCameraFocalLengthCapability"/> + Queries the focal length capability supported by the + camera. - +

    - public AgoraFocalLengthInfo[] queryCameraFocalLengthCapability(); - - (NSArray<AgoraFocalLengthInfo *>* __nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability()); - virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0; - - - public abstract int QueryCameraFocalLengthCapability(ref FocalLengthInfo[] focalLengthInfos, ref int size); - abstract queryCameraFocalLengthCapability(): { + public AgoraFocalLengthInfo[] queryCameraFocalLengthCapability(); + - (NSArray<AgoraFocalLengthInfo *>* __nullable)queryCameraFocalLengthCapability NS_SWIFT_NAME(queryCameraFocalLengthCapability()); + virtual int queryCameraFocalLengthCapability(agora::rtc::FocalLengthInfo* focalLengthInfos, int& size) = 0; + + + public abstract int QueryCameraFocalLengthCapability(ref FocalLengthInfo[] focalLengthInfos, ref int size); + abstract queryCameraFocalLengthCapability(): { focalLengthInfos: FocalLengthInfo[]; size: number; }; - Future<List<FocalLengthInfo>> queryCameraFocalLengthCapability(); -

    + Future<List<FocalLengthInfo>> queryCameraFocalLengthCapability(); +

    Details
    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +
    -

    If you want to enable the wide-angle or ultra-wide-angle mode for camera capture, it is recommended to start by calling this method to check whether the device supports the required focal length capability. Then, adjust the camera's focal length configuration based on the query result by calling , ensuring the best camera capture performance.

    - For the specific implementation of querying camera focal length capabilities through this method, refer to the provided . - This method is for Android and iOS only.
    +

    If you want to enable the wide-angle or ultra-wide-angle mode for camera capture, it + is recommended to start by calling this method to check whether the device supports + the required focal length capability. Then, adjust the camera's focal length + configuration based on the query result by calling , ensuring the best camera capture + performance.

    + For the specific implementation of querying + camera focal length capabilities through this method, refer to the provided . + This method is for Android + and iOS only. +
    Parameters - - focalLengthInfos - Input and output parameter. The pointer to an array of objects:
      -
    • Input value: The pointer to an array of objects, used to store focal length information.
    • -
    • Output value: After the method is executed, output the queried focal length information.
    -
    - An output parameter. After the method is executed, output an array of objects containing camera focal length information. -
    - - size - Input and output parameter. The number of focal length information items:
      -
    • Input value: Specifies the maximum number of focal length information items that focalLengthInfos can hold. Ensure this value is not less than 8, meaning focalLengthInfos has space for at least 8 focal length information items.
    • -
    • Output value: After the method is executed, output the number of focal length information items retrieved.
    -
    - An output parameter. After the method is executed, output the number of focal length information items retrieved. -
    -
    + + focalLengthInfos + Input and output parameter. The pointer to an array of objects:
      +
    • Input value: The pointer to an array of objects, used to store focal length + information.
    • +
    • Output value: After the method is executed, output the queried focal + length information.
    • +
    +
    + An output parameter. After the method is executed, output an + array of objects containing camera focal + length information. +
    + + size + Input and output parameter. The number of focal length + information items:
      +
    • Input value: Specifies the maximum number of focal length + information items that focalLengthInfos can + hold. Ensure this value is not less than 8, meaning + focalLengthInfos has space for at least 8 + focal length information items.
    • +
    • Output value: After the method is executed, output the number of + focal length information items retrieved.
    • +
    +
    + An output parameter. After the method is executed, output the + number of focal length information items retrieved. +
    + +
    <ph keyref="return-section-title"/> -

    Returns an array of objects, which contain the camera's orientation and focal length type.

    +

    Returns an array of + objects, which contain the camera's orientation and focal length type.

    Returns an object containing the following properties:

      -
    • focalLengthInfos: An array of objects, which contain the camera's orientation and focal length type.
    • -
    • size: The number of focal length information items retrieved.
    +
  • focalLengthInfos: An array of objects, which contain the camera's + orientation and focal length type.
  • +
  • size: The number of focal length information items + retrieved.
  • +

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita b/en-US/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita index 401d5cdb606..ce7ca9c163e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_querycodeccapability.dita @@ -2,7 +2,8 @@ <ph keyref="queryCodecCapability"/> - Queries the video codec capabilities of the SDK. + Queries the video codec capabilities of the + SDK. @@ -13,64 +14,83 @@

    - public abstract CodecCapInfo[] queryCodecCapability(); - - (NSArray <AgoraVideoCodecCapInfo *> *__nullable)queryCodecCapability; - virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0; + public abstract CodecCapInfo[] queryCodecCapability(); + - (NSArray <AgoraVideoCodecCapInfo *> *__nullable)queryCodecCapability; + virtual int queryCodecCapability(CodecCapInfo* codecInfo, int& size) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int QueryCodecCapability(TArray<FCodecCapInfo> codecInfo); - 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);

    + 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); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +

    Parameters - - codecInfo - -

    Input and output parameter. An array representing the video codec capabilities of the SDK. See .

    + + codecInfo + +

    Input and output parameter. An array representing the video codec + capabilities of the SDK. See .

      -
    • Input value: One defined by the user when executing this method, representing the video codec capability to be queried.
    • -
    • Output value: The after the method is executed, representing the actual video codec capabilities of the SDK.
    • +
    • Input value: One defined by the user + when executing this method, representing the video codec capability + to be queried.
    • +
    • Output value: The after the method + is executed, representing the actual video codec capabilities of the + SDK.
    -
    - - size - Input and output parameter, represent the size of the array.
      -
    • Input value: Size of the defined by the user when executing the method.
    • -
    • Output value: Size of the output after this method is executed.
    • -
    - The size of . -
    -
    + + + size + Input and output parameter, represent the + size of the array.
      +
    • Input value: Size of the defined by + the user when executing the method.
    • +
    • Output value: Size of the output + after this method is executed.
    • +
    +
    + The size of . +
    + +
    Returns
      -
    • If the call is successful, an object containing the following attributes is returned:
        -
      • codecInfo: The array, indicating the video codec capabillity of the device.
      • -
      • size: The size of the array.
    • -
    • If the call timeouts, please modify the call logic and do not invoke the method in the main thread.
    • +
    • If the call is successful, an object containing the following attributes is returned:
        +
      • codecInfo: The array, + indicating the video codec capabillity of the device.
      • +
      • size: The size of the + array.
      • +
    • +
    • If the call timeouts, please modify the call logic and do not invoke the method + in the main thread.
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
      -
    • One array indicating the video encoding capability of the device, if the method call succeeds.
    • -
    • If the call timeouts, please modify the call logic and do not invoke the method in the main thread.
    • -
    +
  • One array indicating the video encoding capability + of the device, if the method call succeeds.
  • +
  • If the call timeouts, please modify the call logic and do not invoke the method + in the main thread.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita b/en-US/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita index 8be14006f16..c261c18bbbe 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_querydevicescore.dita @@ -13,35 +13,47 @@

    - public abstract int queryDeviceScore(); - - (int)queryDeviceScore NS_SWIFT_NAME(queryDeviceScore()); - virtual int queryDeviceScore() = 0; - - abstract queryDeviceScore(): number; - public abstract int QueryDeviceScore(); - abstract queryDeviceScore(): number; - Future<int> queryDeviceScore();

    + public abstract int queryDeviceScore(); + - (int)queryDeviceScore NS_SWIFT_NAME(queryDeviceScore()); + virtual int queryDeviceScore() = 0; + + abstract queryDeviceScore(): number; + public abstract int QueryDeviceScore(); + abstract queryDeviceScore(): number; + Future<int> queryDeviceScore(); +

    Details
    - -
    Since
    -
    v4.3.0
    -
    + +
    Since
    +
    v4.3.0
    +

    Applicable scenarios -

    In high-definition or ultra-high-definition video scenarios, you can first call this method to query the device's score. If the returned score is low (for example, below 60), you need to lower the video resolution to avoid affecting the video experience. The minimum device score required for different business scenarios is varied. For specific score recommendations, please .

    +

    In high-definition or ultra-high-definition video scenarios, you can first call this + method to query the device's score. If the returned score is low (for example, below + 60), you need to lower the video resolution to avoid affecting the video experience. + The minimum device score required for different business scenarios is varied. For + specific score recommendations, please .

    <ph keyref="return-section-title"/> -

    When the method call succeeds, it returns a value in the range of [0,100], indicating the current device's score. The larger the value, the stronger the device capability. Most devices are rated between 60 and 100. When the method call fails, the exception is thrown; and you need to catch the exception and handle it accordingly.

    +

    When the method call succeeds, it returns a value in the range of + [0,100], indicating the current device's score. The larger the value, the stronger + the device capability. Most devices are rated between 60 and 100. When the method + call fails, the exception is thrown; and you need + to catch the exception and handle it accordingly.

      -
    • >0: The method call succeeeds, the value is the current device's score, the range is [0,100], the larger the value, the stronger the device capability. Most devices are rated between 60 and 100.
    • +
    • >0: The method call succeeeds, the value is the + current device's score, the range is [0,100], the larger the value, the stronger + the device capability. Most devices are rated between 60 and 100.
    • < 0: Failure.
    • -
    -
    + + + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_queryinterface.dita b/en-US/dita/RTC-NG/API/api_irtcengine_queryinterface.dita index 5b90c194332..7c04509ad20 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_queryinterface.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_queryinterface.dita @@ -2,7 +2,8 @@ <ph keyref="queryInterface"/> - Gets the pointer to the specified interface. + Gets the pointer to the specified + interface. @@ -13,34 +14,37 @@

    - - - virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + + virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") UObject* QueryInterface(EINTERFACE_ID_TYPE iid); - - - - -

    + + + + +

    Parameters - - iid - The ID of the interface. See . - - - inter - An output parameter. The pointer to the specified interface. - -
    + + iid + The ID of the interface. See . + + + inter + An output parameter. The pointer to the specified interface. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita b/en-US/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita index 45dab8373ae..958f0ebd4c9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_queryscreencapturecapability.dita @@ -2,7 +2,8 @@ <ph keyref="queryScreenCaptureCapability"/> - Queries the highest frame rate supported by the device during screen sharing. + Queries the highest frame rate supported by the device + during screen sharing. @@ -13,43 +14,59 @@

    - public abstract int queryScreenCaptureCapability(); - - (AgoraScreenCaptureFrameRateCapability)queryScreenCaptureCapability NS_SWIFT_NAME(queryScreenCaptureCapability()); - #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) + 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|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int QueryScreenCaptureCapability(); - - public abstract int QueryScreenCaptureCapability(); - abstract queryScreenCaptureCapability(): number; - Future<int> queryScreenCaptureCapability();

    + + public abstract int QueryScreenCaptureCapability(); + abstract queryScreenCaptureCapability(): number; + Future<int> queryScreenCaptureCapability(); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +

    Applicable scenarios

    This method is for Android and iOS only.

    -

    To ensure optimal screen sharing performance, particularly in enabling high frame rates like 60 fps, Agora recommends you to query the device's maximum supported frame rate using this method beforehand. This way, if the device cannot support such a high frame rate, you can adjust the screen sharing stream accordingly to avoid any negative impact on the sharing quality. If the device does not support high frame rate, you can reduce the frame rate of the screen sharing stream appropriately when sharing the screen to ensure that the sharing effect meets your expectation.

    +

    To ensure optimal screen sharing performance, particularly in enabling high frame + rates like 60 fps, Agora recommends you to query the device's maximum supported + frame rate using this method beforehand. This way, if the device cannot support such + a high frame rate, you can adjust the screen sharing stream accordingly to avoid any + negative impact on the sharing quality. If the device does not support high frame + rate, you can reduce the frame rate of the screen sharing stream appropriately when + sharing the screen to ensure that the sharing effect meets your expectation.

    <ph keyref="return-section-title"/> -
    • The highest frame rate supported by the device, if the method is called successfully. See .
    • -
    • If the call fails, returns .
    -
      -
    • The highest frame rate supported by the device, if the method is called successfully. See .
        -
      • 0: The device supports the frame rate of up to 15 fps.
      • -
      • 1: The device supports the frame rate of up to 30 fps.
      • -
      • 2: The device supports the frame rate of up to 60 fps.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    +
      +
    • The highest frame rate supported by the device, if the method is called + successfully. See .
    • +
    • If the call fails, returns .
    • +
    +
      +
    • The highest frame rate supported by the device, if the method is called + successfully. See .
        +
      • 0: The device supports the frame rate of up to 15 fps.
      • +
      • 1: The device supports the frame rate of up to 30 fps.
      • +
      • 2: The device supports the frame rate of up to 60 fps.
      • +
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    • +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_rate.dita b/en-US/dita/RTC-NG/API/api_irtcengine_rate.dita index 705bbfe7218..e36bce4af31 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_rate.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_rate.dita @@ -1,64 +1,76 @@ - <ph keyref="rate" /> - Allows a user to rate a call after the call ends. + <ph keyref="rate"/> + Allows a user to rate a call after the call + ends. - +

    - public abstract int rate(String callId, int rating, String description); - - (int)rate:(NSString * _Nonnull)callId + 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, + virtual int rate(const char* callId, int rating, const char* description) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int Rate(FString callId, int rating, FString description); - abstract rate(callId: string, rating: number, description: string): number; - public abstract int Rate(string callId, int rating, string description); - abstract rate(callId: string, rating: number, description: string): number; - Future<void> rate( + abstract rate(callId: string, rating: number, description: string): number; + public abstract int Rate(string callId, int rating, string description); + abstract rate(callId: string, rating: number, description: string): number; + Future<void> rate( {required String callId, required int rating, required String description}); -

    +

    Details - Ensure that you call this method after leaving a channel.
    + Ensure that you call this method after leaving a channel. +
    Parameters - - callId - The current call ID. You can get the call ID by calling . - - - rating - The rating of the call. The value is between 1 (the lowest score) and 5 (the highest score). If you set a value out of this range, the SDK returns the -2 (ERR_INVALID_ARGUMENT) error. - - - description - (Optional) A description of the call. The string length should be less than 800 bytes. - -
    + + callId + The current call ID. You can get the call ID by calling . + + + rating + The rating of the call. The value is between 1 (the lowest score) and 5 (the + highest score). If you set a value out of this range, the SDK returns the -2 + (ERR_INVALID_ARGUMENT) error. + + + description + (Optional) A description of + the call. The string length should be less than 800 bytes. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2 (ERR_INVALID_ARGUMENT).
      • -
      • -3 (ERR_NOT_READY).
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2 (ERR_INVALID_ARGUMENT).
    • +
    • -3 (ERR_NOT_READY).
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registeraudioencodedframeobserver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registeraudioencodedframeobserver.dita index b467d579579..f6766feea9a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registeraudioencodedframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registeraudioencodedframeobserver.dita @@ -1,70 +1,83 @@ - <ph keyref="registerAudioEncodedFrameObserver" /> + <ph keyref="registerAudioEncodedFrameObserver"/> Registers an encoded audio observer. - +

    - public abstract int registerAudioEncodedFrameObserver( + public abstract int registerAudioEncodedFrameObserver( AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); - - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nonnull)delegate + - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nonnull)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull) config; - virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterAudioEncodedFrameObserver(const FAudioEncodedFrameObserverConfig& config, UIAudioEncodedFrameObserver* observer); - abstract registerAudioEncodedFrameObserver( + abstract registerAudioEncodedFrameObserver( config: AudioEncodedFrameObserverConfig, observer: IAudioEncodedFrameObserver ): number; - public abstract int RegisterAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); - abstract registerAudioEncodedFrameObserver( + public abstract int RegisterAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); + abstract registerAudioEncodedFrameObserver( config: AudioEncodedFrameObserverConfig, observer: IAudioEncodedFrameObserver ): number; - void registerAudioEncodedFrameObserver( + void registerAudioEncodedFrameObserver( {required AudioEncodedFrameObserverConfig config, required AudioEncodedFrameObserver observer}); -

    +

    Details

    - -

      -
    • Call this method after joining a channel.
    • -
    • You can call this method or to set the recording type and quality of audio files, but Agora does not recommend using this method and at the same time. Only the method called later will take effect.
    • -

    + +
      +
    • Call this method after joining a channel.
    • +
    • You can call this method or to set + the recording type and quality of audio files, but Agora does not + recommend using this method and + at the same time. Only the method called later will take effect.
    • +
    +
    +

    Parameters - - config - Observer settings for the encoded audio. See . - + + config + Observer settings for the encoded audio. See . + - - observer - delegate - The encoded audio observer. See . - -
    + + observer + delegate + The encoded audio observer. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    -

    One object.

    +

    One + object.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registeraudiospectrumobserver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registeraudiospectrumobserver.dita index c3158a437c5..f5f52c9291d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registeraudiospectrumobserver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registeraudiospectrumobserver.dita @@ -1,56 +1,67 @@ - <ph keyref="registerAudioSpectrumObserver" /> + <ph keyref="registerAudioSpectrumObserver"/> Register an audio spectrum observer. - +

    - public abstract int registerAudioSpectrumObserver(IAudioSpectrumObserver observer); - - (int)registerAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable )delegate; - virtual int registerAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0; + 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") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterAudioSpectrumObserver(UIAudioSpectrumObserver* observer); - abstract registerAudioSpectrumObserver( + abstract registerAudioSpectrumObserver( observer: IAudioSpectrumObserver ): number; - public abstract int RegisterAudioSpectrumObserver(IAudioSpectrumObserver observer); - abstract registerAudioSpectrumObserver( + public abstract int RegisterAudioSpectrumObserver(IAudioSpectrumObserver observer); + abstract registerAudioSpectrumObserver( observer: IAudioSpectrumObserver ): number; - void registerAudioSpectrumObserver(AudioSpectrumObserver observer); -

    + void registerAudioSpectrumObserver(AudioSpectrumObserver observer); +

    Details -

    After successfully registering the audio spectrum observer and calling - to enable the audio spectrum monitoring, the SDK reports the callback that you implement in the class according to the time interval you set.

    - You can call this method either before or after joining a channel.
    +

    After successfully registering the audio spectrum observer and calling to enable the audio spectrum monitoring, + the SDK reports the callback that you implement in the class according to the time interval you + set.

    + You can call this method either before or + after joining a channel. +
    Parameters - - observer - delegate - -

    The audio spectrum observer. See .

    -
    -
    -
    + + observer + delegate + +

    The audio spectrum observer. See .

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.

    One object.

    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registereventhandler.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registereventhandler.dita index 0deaa15b319..7ecefbb7209 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registereventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registereventhandler.dita @@ -2,33 +2,35 @@ registerEventHandler - + - +
    - - - - - - - There are no corresponding names available
    + + + + + + + There are no corresponding names available +
    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registerextension.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registerextension.dita index 03fe276c829..b650b8ecbd5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registerextension.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registerextension.dita @@ -13,72 +13,84 @@

    - public abstract int registerExtension( + public abstract int registerExtension( String provider, String extension, Constants.MediaSourceType sourceType); - - (int)registerExtensionWithVendor:(NSString * __nonnull)provider + - (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, + 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|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterExtension(FString provider, FString extension, EMEDIA_SOURCE_TYPE type); - abstract registerExtension( + abstract registerExtension( provider: string, extension: string, type?: MediaSourceType ): number; - public abstract int RegisterExtension(string provider, string extension, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); - abstract registerExtension( + public abstract int RegisterExtension(string provider, string extension, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); + abstract registerExtension( provider: string, extension: string, type?: MediaSourceType ): number; - Future<void> registerExtension( + Future<void> registerExtension( {required String provider, required String extension, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

    Details
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    After the extension is loaded, you can call this method to register the extension.

    +

    After the extension is loaded, you can call this method to register the + extension.

      -
    • Before calling this method, you need to call to load the extension first.
    • -
    • Before calling this method, you need to link the extension dynamic library (.xcframework) to your project in Xcode.
    • -
    • Before calling this method, you need to call to load the extension first.
    • -
    • For extensions external to the SDK (such as those from Extensions Marketplace and SDK Extensions), you need to call this method before calling .
    • -
    +
  • Before calling this method, you need to call to load the extension first.
  • +
  • Before calling this method, you need to link the extension + dynamic library (.xcframework) to your project in Xcode.
  • +
  • Before calling this method, you need to call to load the extension first.
  • +
  • For extensions external to the SDK (such as those from Extensions + Marketplace and SDK Extensions), you need to call this method before calling + .
  • +
    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita index 8acf08e4f93..fd2ecec18e4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registerlocaluseraccount.dita @@ -1,72 +1,104 @@ - <ph keyref="registerLocalUserAccount" /> + <ph keyref="registerLocalUserAccount"/> Registers a user account. - +

    - public abstract int registerLocalUserAccount(String appId, String userAccount); - - (int)registerLocalUserAccountWithAppID:(NSString * _Nonnull)appID userAccount:(NSString * _Nonnull)userAccount; - virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int registerLocalUserAccount(String appId, String userAccount); + - (int)registerLocalUserAccountWithAppID:(NSString * _Nonnull)appID userAccount:(NSString * _Nonnull)userAccount; + virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterLocalUserAccount(FString appId, 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( + 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}); -

    +

    Details -

    Once registered, the user account can be used to identify the local user when the user joins the channel. After the registration is successful, the user account can identify the identity of the local user, and the user can use it to join the channel.

    -

    After the user successfully registers a user account, the SDK triggers the callback on the local client, reporting the user ID and account of the local user.

    -

    This method is optional. To join a channel with a user account, you can choose either of the following ways:

      -
    • Call to create a user account, and then call to join the channel.
    • -
    • Call the method to join the channel.
    • -

    -

    The difference between the two ways is that the time elapsed between calling the method and joining the channel is shorter than directly calling .

    +

    Once registered, the user account can be used to identify the local user when the + user joins the channel. After the registration is successful, the user account can + identify the identity of the local user, and the user can use it to join the + channel.

    +

    After the user successfully registers a user account, the SDK triggers the callback on the local client, reporting the + user ID and account of the local user.

    +

    This method is optional. To join a channel with a user account, you can choose either + of the following ways:

      +
    • Call to create a user account, + and then call to join the + channel.
    • +
    • Call the method to join the + channel.
    • +

    +

    The difference between the two ways is that the time elapsed between calling the + method and joining the channel is + shorter than directly calling .

    -
      -
    • Ensure that you set the userAccount parameter; otherwise, this method does not take effect.
    • -
    • Ensure that the userAccount is unique in the channel.
    • -
    • To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    • -
    +
      +
    • Ensure that you set the userAccount parameter; + otherwise, this method does not take effect.
    • +
    • Ensure that the userAccount is unique in the + channel.
    • +
    • To ensure smooth communication, use the same parameter type to identify the + user. For example, if a user joins the channel with a user ID, then ensure + all the other users use the user ID too. The same applies to the user + account. If a user joins the channel with the Agora Web SDK, ensure that the + ID of the user is set to the same parameter type.
    • +
    + +
    Parameters - - appId - appID - The App ID of your project on Agora Console. - - - userAccount - -

    The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as . Supported characters are as follow(89 in total):

      -
    • The 26 lowercase English letters: a to z.
    • -
    • The 26 uppercase English letters: A to Z.
    • -
    • All numeric characters: 0 to 9.
    • -
    • Space
    • -
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
    • -

    -
    -
    -
    + + appId + appID + The App ID of your project on Agora Console. + + + userAccount + +

    The user account. This parameter is used to identify the user in the + channel for real-time audio and video engagement. You need to set and + manage user accounts yourself and ensure that each user account in the + same channel is unique. The maximum length of this parameter is 255 + bytes. Ensure that you set this parameter and do not set it as . Supported characters are as follow(89 in total):

      +
    • The 26 lowercase English letters: a to z.
    • +
    • The 26 uppercase English letters: A to Z.
    • +
    • All numeric characters: 0 to 9.
    • +
    • Space
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", + "|", "~", ","
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita index ba7ce0975df..67645de809a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registermediametadataobserver.dita @@ -1,63 +1,75 @@ - <ph keyref="registerMediaMetadataObserver" /> + <ph keyref="registerMediaMetadataObserver"/> Registers the metadata observer. - +

    - public abstract int registerMediaMetadataObserver(IMetadataObserver observer, int type); - - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type; - virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; + public abstract int registerMediaMetadataObserver(IMetadataObserver observer, int type); + - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type; + virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterMediaMetadataObserver(UIMetadataObserver* observer, FENUMWRAP_METADATA_TYPE type); - abstract registerMediaMetadataObserver( + abstract registerMediaMetadataObserver( observer: IMetadataObserver, type: MetadataType ): number; - public abstract int RegisterMediaMetadataObserver(IMetadataObserver observer, METADATA_TYPE type); - abstract registerMediaMetadataObserver( + public abstract int RegisterMediaMetadataObserver(IMetadataObserver observer, METADATA_TYPE type); + abstract registerMediaMetadataObserver( observer: IMetadataObserver, type: MetadataType ): number; - void registerMediaMetadataObserver( + void registerMediaMetadataObserver( {required MetadataObserver observer, required MetadataType type}); -

    +

    Details -

    You need to implement the class and specify the metadata type in this method. This method enables you to add synchronized metadata in the video stream for more diversified - live interactive streaming, such as sending shopping links, digital coupons, and online quizzes.

    -

    A successful call of this method triggers the callback.

    - Call this method before .
    +

    You need to implement the class and specify the + metadata type in this method. This method enables you to add synchronized metadata + in the video stream for more diversified live interactive streaming, such as sending + shopping links, digital coupons, and online quizzes.

    +

    A successful call of this method triggers the callback.

    + Call this method before . +
    Parameters - - observer - The metadata observer. See . - - - type - -

    The metadata type. The SDK currently only supports . See .

    -
    -
    -
    + + observer + The metadata observer. See . + + + type + +

    The metadata type. The SDK currently only supports . See .

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita index 31744cd1061..611aad46b01 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registerpacketobserver.dita @@ -13,40 +13,51 @@

    - - - virtual int registerPacketObserver(IPacketObserver* observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + + virtual int registerPacketObserver(IPacketObserver* observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RegisterPacketObserver(UIPacketObserver* observer); - - public abstract int RegisterPacketObserver(IPacketObserver observer); - - -

    + + public abstract int RegisterPacketObserver(IPacketObserver observer); + + +

    Details -

    Call this method registers a packet observer. When the Agora SDK triggers callbacks registered by for voice or video packet transmission, you can call this method to process the packets, such as encryption and decryption.

    +

    Call this method registers a packet observer. When the Agora SDK triggers callbacks registered by for voice or video packet + transmission, you can call this method to process the packets, such as encryption + and decryption.

    -
      -
    • The size of the packet sent to the network after processing should not exceed 1200 bytes, otherwise, the SDK may fail to send the packet.
    • -
    • Ensure that both receivers and senders call this method; otherwise, you may meet undefined behaviors such as no voice and black screen.
    • -
    • When you use the Media Push or recording functions, Agora doesn't recommend calling this method.
    • -
    • Call this method before joining a channel.
    • -
    +
      +
    • The size of the packet sent to the network after processing should not + exceed 1200 bytes, otherwise, the SDK may fail to send the packet.
    • +
    • Ensure that both receivers and senders call this method; otherwise, you may + meet undefined behaviors such as no voice and black screen.
    • +
    • When you use the Media Push or recording functions, Agora doesn't recommend + calling this method.
    • +
    • Call this method before joining a channel.
    • +
    + +
    Parameters - - observer - . - -
    + + observer + . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_registerplugin.dita b/en-US/dita/RTC-NG/API/api_irtcengine_registerplugin.dita index 6506ec44eaa..08e9307fd78 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_registerplugin.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_registerplugin.dita @@ -1,48 +1,59 @@ - <ph keyref="registerPlugin" /> + <ph keyref="registerPlugin"/> Registers the plugin. - +

    - - - - - - - -

    + + + + + + + +

    Details -

    After registering the plugin, you can use the functionality of the plugin in the SDK. For example, if you want to use the FaceUnity plugin, you can first integrate the plugin file into the SDK in the project project file, and then call this method to register the plugin.

    +

    After registering the plugin, you can use the functionality of the plugin + in the SDK. For example, if you want to use the FaceUnity plugin, you can first + integrate the plugin file into the SDK in the project project file, and then call + this method to register the plugin.

    Agora provides the following approaches for using the plugin:

      -
    • Call and use the enable, disable, setParameter, and getParameter methods in to enable or disable the plugin, set plugin parameters, and get plugin parameters.
    • -
    • Call , , and to enable or disable the plugin, set plugin parameters, and get plugin parameters.
    • -

    +
  • Call and use the enable, + disable, setParameter, and + getParameter methods in to + enable or disable the plugin, set plugin parameters, and get plugin + parameters.
  • +
  • Call , , and + to enable or disable the plugin, set + plugin parameters, and get plugin parameters.
  • +

    Parameters - - pluginInfo - Plugin information. See . - -
    + + pluginInfo + Plugin information. See . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_release.dita b/en-US/dita/RTC-NG/API/api_irtcengine_release.dita index 879d1882498..f1d24b2c800 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_release.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_release.dita @@ -2,7 +2,8 @@ <ph keyref="release"/> - Releases the instance. + Releases the + instance. @@ -13,7 +14,7 @@

    - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.doDestroy(); @@ -21,36 +22,57 @@ System.gc(); } - + (void)destroy; - virtual void release(bool sync = false) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + (void)destroy; + virtual void release(bool sync = false) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") void Release(bool sync); - abstract release(sync?: boolean): void; - public abstract void Dispose(bool sync = false); - abstract release(sync?: boolean): void; - Future<void> release({bool sync = false}); -

    + abstract release(sync?: boolean): void; + public abstract void Dispose(bool sync = false); + abstract release(sync?: boolean): void; + Future<void> release({bool sync = false}); +

    Details -

    This method releases all resources used by the Agora SDK. Use this method for apps in which users occasionally make voice or video calls. When users do not make calls, you can free up resources for other operations.

    -

    After a successful method call, you can no longer use any method or callback in the SDK anymore. If you want to use the real-time communication functions again, you must call and to create a new instance.

    -

    After a successful method call, you can no longer use any method or callback in the SDK anymore. If you want to use the real-time communication functions again, you must call to create a new instance.

    +

    This method releases all resources used by the Agora SDK. Use this method for apps in + which users occasionally make voice or video calls. When users do not make calls, + you can free up resources for other operations.

    +

    After a successful method call, you + can no longer use any method or callback in the SDK anymore. If you want to use the + real-time communication functions again, you must call and to create a new + instance.

    +

    After a successful method call, you can no longer use any + method or callback in the SDK anymore. If you want to use the real-time + communication functions again, you must call to create a + new instance.

      -
    • This method can be called synchronously. You need to wait for the resource of to be released before performing other operations (for example, create a new object). Therefore, Agora recommends calling this method in the child thread to avoid blocking the main thread.
    • -
    • Besides, Agora does not recommend you calling in any callback of the SDK. Otherwise, the SDK cannot release the resources until the callbacks return results, which may result in a deadlock.
    +
  • This method can be called synchronously. You need to wait for the resource + of to be released before performing other + operations (for example, create a new + object). Therefore, Agora recommends calling this method in the child thread + to avoid blocking the main thread.
  • +
  • Besides, Agora does not recommend you calling in + any callback of the SDK. Otherwise, the SDK cannot release the resources + until the callbacks return results, which may result in a deadlock.
  • + +
    Parameters - - sync - -

    Whether the method is called synchronously:

    -
      -
    • : Synchronous call.
    • -
    • : Asynchronous call. Currently this method only supports synchronous calls. Do not set this parameter to this value.
    • -
    -
    -
    + + sync + +

    Whether the method is called synchronously:

    +
      +
    • : Synchronous call.
    • +
    • : Asynchronous call. Currently + this method only supports synchronous calls. Do not set this + parameter to this value.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_removealllisteners.dita b/en-US/dita/RTC-NG/API/api_irtcengine_removealllisteners.dita index ca090de781f..fde2211764d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_removealllisteners.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_removealllisteners.dita @@ -1,41 +1,43 @@ - <ph keyref="removeAllListeners" /> - Removes all listeners for the specified event. + <ph keyref="removeAllListeners"/> + Removes all listeners for the specified + event. - +

    - - - - removeAllListeners?<EventType extends keyof IMediaEngineEvent>( + + + + removeAllListeners?<EventType extends keyof IMediaEngineEvent>( eventType?: EventType ): void; - - removeAllListeners?<EventType extends keyof IMediaEngineEvent>( + + removeAllListeners?<EventType extends keyof IMediaEngineEvent>( eventType?: EventType ): void; -

    +

    Details -

    +

    Parameters - - - - -
    + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_removeeventhandler.dita b/en-US/dita/RTC-NG/API/api_irtcengine_removeeventhandler.dita index 5981c724e16..a275da7c070 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_removeeventhandler.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_removeeventhandler.dita @@ -1,26 +1,27 @@ - <ph keyref="removeEventHandler" /> - Removes the object. + <ph keyref="removeEventHandler"/> + Removes the + object. - +

    - - - - - public abstract void RemoveEventHandler(); - - -

    + + + + + public abstract void RemoveEventHandler(); + + +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_removehandler.dita b/en-US/dita/RTC-NG/API/api_irtcengine_removehandler.dita index f1a26578ffe..0a4964ca443 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_removehandler.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_removehandler.dita @@ -1,54 +1,67 @@ - <ph keyref="removeHandler" /> - Removes the specified IRtcEngineEventHandler instance. Removes the specified callback events. + <ph keyref="removeHandler"/> + Removes the specified + IRtcEngineEventHandler instance. Removes the specified + callback events. - +

    - public void removeHandler(IRtcEngineEventHandler handler) { + public void removeHandler(IRtcEngineEventHandler handler) { mInstance.removeHandler(handler); } - - - abstract unregisterEventHandler(eventHandler: IRtcEngineEventHandler): boolean; - - abstract unregisterEventHandler( + + + abstract unregisterEventHandler(eventHandler: IRtcEngineEventHandler): boolean; + + abstract unregisterEventHandler( eventHandler: IRtcEngineEventHandler ): boolean; - void unregisterEventHandler(RtcEngineEventHandler eventHandler); -

    + void unregisterEventHandler(RtcEngineEventHandler eventHandler); +

    Details -

    This method removes the specified callback handler. For callback events that you want to listen for only once, call this method to remove the relevant callback handler after you have received them.

    +

    This method removes the specified callback handler. For callback + events that you want to listen for only once, call this method to remove the + relevant callback handler after you have received them.

    You can call this method too remove all added callback events.

    Parameters - - handler - The callback handler to be deleted. See . - - - eventHandler - Callback events to be removed. See . - -
    + + handler + The callback handler to be deleted. See . + + + eventHandler + Callback events to be removed. See . + + +
    - <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    -
      -
    • : Success.
    • -
    • : Failure. See for details and resolution suggestions.
    • -
    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

    +
      +
    • : Success.
    • +
    • : Failure. See for details and resolution + suggestions.
    • +
    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_removeinjectstreamurl.dita b/en-US/dita/RTC-NG/API/api_irtcengine_removeinjectstreamurl.dita index 355e152f600..cb60c8741b4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_removeinjectstreamurl.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_removeinjectstreamurl.dita @@ -1,46 +1,54 @@ - <ph keyref="removeInjectStreamUrl" /> - Removes the voice or video stream URL address from the live streaming. + <ph keyref="removeInjectStreamUrl"/> + Removes the voice or video stream URL address from the + live streaming. - +

    - public abstract int removeInjectStreamUrl(String url); - - (int)removeInjectStreamUrl:(NSString * _Nonnull)url; - virtual int removeInjectStreamUrl(const char* url) = 0; - abstract removeInjectStreamUrl(url: string): number; - public abstract int RemoveInjectStreamUrl(string url); - - Future<void> removeInjectStreamUrl(String url); -

    + public abstract int removeInjectStreamUrl(String url); + - (int)removeInjectStreamUrl:(NSString * _Nonnull)url; + virtual int removeInjectStreamUrl(const char* url) = 0; + abstract removeInjectStreamUrl(url: string): number; + public abstract int RemoveInjectStreamUrl(string url); + + Future<void> removeInjectStreamUrl(String url); +

    Details - -

    After a successful method, the SDK triggers the callback with the uid of 666.

    + +

    After a successful method, the SDK triggers the + callback with the uid of 666.

    Parameters - - url - The URL address of the injected stream to be removed. - -
    + + url + The URL address of the injected stream to be removed. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_removelistener.dita b/en-US/dita/RTC-NG/API/api_irtcengine_removelistener.dita index 2beee6422f4..8a80e6dfabe 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_removelistener.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_removelistener.dita @@ -1,52 +1,58 @@ - <ph keyref="removeListener" /> - Removes the specified listener. + <ph keyref="removeListener"/> + Removes the specified + listener. - +

    - - - - removeListener?<EventType extends keyof IRtcEngineEvent>( + + + + removeListener?<EventType extends keyof IRtcEngineEvent>( eventType: EventType, listener: IRtcEngineEvent[EventType] ): void; - - removeListener?<EventType extends keyof IRtcEngineEvent>( + + removeListener?<EventType extends keyof IRtcEngineEvent>( eventType: EventType, listener: IRtcEngineEvent[EventType] ): void; -

    +

    Details -

    For listened events, if you no longer need to receive the callback message, you can call this method to remove the corresponding listener.

    +

    For listened events, if you no longer need to receive the callback message, you can + call this method to remove the corresponding listener.

    Parameters - - - - - - listener - The callback function for eventType. Must pass in the same function object in . Take removing the listener for as an example: // Create an onJoinChannelSuccess object + + + + + + listener + The callback function for eventType. Must pass in the + same function object in . Take removing the + listener for as an example: + // Create an onJoinChannelSuccess object const onJoinChannelSuccess = (connection: RtcConnection, elapsed: number) => {}; // Add one onJoinChannelSuccess listener engine.addListener('onJoinChannelSuccess', onJoinChannelSuccess); // Remove the onJoinChannelSuccess listener engine.removeListener('onJoinChannelSuccess', onJoinChannelSuccess); - -
    + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_removepublishstreamurl.dita b/en-US/dita/RTC-NG/API/api_irtcengine_removepublishstreamurl.dita index 5ab55753e8a..6943e2bac31 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_removepublishstreamurl.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_removepublishstreamurl.dita @@ -1,57 +1,75 @@ - <ph keyref="removePublishStreamUrl" /> - Removes an RTMP or RTMPS stream from the CDN. + <ph keyref="removePublishStreamUrl"/> + Removes an RTMP or RTMPS stream from the + CDN. - +

    - public abstract int removePublishStreamUrl(String url); - - (int)removePublishStreamUrl:(NSString * _Nonnull)url; - virtual int removePublishStreamUrl(const char *url) = 0; - abstract removePublishStreamUrl(url: string): number; - public abstract int RemovePublishStreamUrl(string url); - abstract removePublishStreamUrl(url: string): number; - Future<void> removePublishStreamUrl(String url); -

    + public abstract int removePublishStreamUrl(String url); + - (int)removePublishStreamUrl:(NSString * _Nonnull)url; + virtual int removePublishStreamUrl(const char *url) = 0; + abstract removePublishStreamUrl(url: string): number; + public abstract int RemovePublishStreamUrl(string url); + abstract removePublishStreamUrl(url: string): number; + Future<void> removePublishStreamUrl(String url); +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use instead.
    +
    -

    After a successful method call, the SDK triggers on the local client to report the result of deleting the URL.

    +

    After a successful method call, the SDK triggers on the local client to report the result + of deleting the URL.

    -
      -
    • Before calling this method, make sure that the media push function has been enabled. For details, see the prerequisites in Media Push.
    • -
    • This method takes effect only when you are a host in live interactive streaming.
    • -
    • Call this method after joining a channel.
    • -
    • This method removes only one media push URL each time it is called. To remove multiple URLs, call this method multiple times.
    • -
    +
      +
    • Before calling this method, make sure that the media push function has been + enabled. For details, see the prerequisites in Media + Push.
    • +
    • This method takes effect only when you are a host in live interactive + streaming.
    • +
    • Call this method after joining a channel.
    • +
    • This method removes only one media push URL each time it is called. To + remove multiple URLs, call this method multiple times.
    • +
    + +
    Parameters - - url - The media push URL in the RTMP or RTMPS format. The maximum length of this parameter is 1024 bytes. The media push URL must not contain special characters, such as Chinese characters. - -
    + + url + The media push URL in the RTMP or RTMPS format. The maximum length of this + parameter is 1024 bytes. The media push URL must not contain special + characters, such as Chinese characters. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_renewtoken.dita b/en-US/dita/RTC-NG/API/api_irtcengine_renewtoken.dita index df48f1f082c..c43c7021a31 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_renewtoken.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_renewtoken.dita @@ -1,51 +1,65 @@ - <ph keyref="renewToken" /> + <ph keyref="renewToken"/> Renews the token. - +

    - public abstract int renewToken(String token); - - (int)renewToken:(NSString * _Nonnull)token; - virtual int renewToken(const char* token) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int renewToken(String token); + - (int)renewToken:(NSString * _Nonnull)token; + virtual int renewToken(const char* token) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int RenewToken(FString token); - abstract renewToken(token: string): number; - public abstract int RenewToken(string token); - abstract renewToken(token: string): number; - Future<void> renewToken(String token); -

    + abstract renewToken(token: string): number; + public abstract int RenewToken(string token); + abstract renewToken(token: string): number; + Future<void> renewToken(String token); +

    - DetailsYou can call this method to pass a new token to the SDK. A token expires after a certain period of time. In the following two cases, the app should call this method to pass in a new token. Failure to do so will result in the SDK disconnecting from the server.
      -
    • The SDK triggers the callback.
    • -
    • The callback reports (9).
    • -
    + DetailsYou can call this method to pass a new token to the SDK. A token + expires after a certain period of time. In the following two cases, the app should call + this method to pass in a new token. Failure to do so will result in the SDK + disconnecting from the server.
      +
    • The SDK triggers the callback.
    • +
    • The callback reports (9).
    • +
    +
    Parameters - - token - The new token. - -
    + + token + The new token. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The parameter is invalid. For example, the token is invalid. You need to fill in a valid parameter.
      • -
      • -7: The object has not been initialized. You need to initialize the object before calling this method.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: The parameter is invalid. For example, the token is invalid. You + need to fill in a valid parameter.
    • +
    • -7: The object has not been initialized. + You need to initialize the object before + calling this method.
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita b/en-US/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita index f866afcf908..5d1bc5e0889 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_resumeallchannelmediarelay.dita @@ -1,39 +1,48 @@ - <ph keyref="resumeAllChannelMediaRelay" /> - Resumes the media stream relay to all target channels. + <ph keyref="resumeAllChannelMediaRelay"/> + Resumes the media stream relay to all target + channels. - +

    - public abstract int resumeAllChannelMediaRelay(); - - (int)resumeAllChannelMediaRelay; - virtual int resumeAllChannelMediaRelay() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int resumeAllChannelMediaRelay(); + - (int)resumeAllChannelMediaRelay; + virtual int resumeAllChannelMediaRelay() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ResumeAllChannelMediaRelay(); - abstract resumeAllChannelMediaRelay(): number; - public abstract int ResumeAllChannelMediaRelay(); - abstract resumeAllChannelMediaRelay(): number; - Future<void> resumeAllChannelMediaRelay(); -

    + abstract resumeAllChannelMediaRelay(): number; + public abstract int ResumeAllChannelMediaRelay(); + abstract resumeAllChannelMediaRelay(): number; + Future<void> resumeAllChannelMediaRelay(); +

    Details -

    After calling the method, you can call this method to resume relaying media streams to all destination channels.

    - Call this method after .
    +

    After calling the method, you can call + this method to resume relaying media streams to all destination channels.

    + Call this method after . +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_resumealleffects.dita b/en-US/dita/RTC-NG/API/api_irtcengine_resumealleffects.dita index 2e139c95aab..e74651d3fb9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_resumealleffects.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_resumealleffects.dita @@ -1,37 +1,43 @@ - <ph keyref="resumeAllEffects" /> - Resumes playing all audio effect files. + <ph keyref="resumeAllEffects"/> + Resumes playing all audio effect + files. - +

    - public abstract int resumeAllEffects(); + public abstract int resumeAllEffects(); - - (int)resumeAllEffects; + - (int)resumeAllEffects; - virtual int resumeAllEffects() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int resumeAllEffects() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ResumeAllEffects(); - abstract resumeAllEffects(): number; - public abstract int ResumeAllEffects(); - abstract resumeAllEffects(): number; - Future<void> resumeAllEffects(); -

    + abstract resumeAllEffects(): number; + public abstract int ResumeAllEffects(); + abstract resumeAllEffects(): number; + Future<void> resumeAllEffects(); +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_resumeaudio.dita b/en-US/dita/RTC-NG/API/api_irtcengine_resumeaudio.dita index 6302dd72c5d..13931ebd15d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_resumeaudio.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_resumeaudio.dita @@ -1,37 +1,38 @@ - <ph keyref="resumeAudio" /> - + <ph keyref="resumeAudio"/> + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita b/en-US/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita index 6c615ae89f6..c9b67746920 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_resumeaudiomixing.dita @@ -1,39 +1,46 @@ - <ph keyref="resumeAudioMixing" /> - Resumes playing and mixing the music file. + <ph keyref="resumeAudioMixing"/> + Resumes playing and mixing the music + file. - +

    - public abstract int resumeAudioMixing(); - - (int)resumeAudioMixing; - virtual int resumeAudioMixing() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int resumeAudioMixing(); + - (int)resumeAudioMixing; + virtual int resumeAudioMixing() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ResumeAudioMixing(); - abstract resumeAudioMixing(): number; - public abstract int ResumeAudioMixing(); - abstract resumeAudioMixing(): number; - Future<void> resumeAudioMixing(); -

    + abstract resumeAudioMixing(): number; + public abstract int ResumeAudioMixing(); + abstract resumeAudioMixing(): number; + Future<void> resumeAudioMixing(); +

    Details -

    This method resumes playing and mixing the music file. Call this method when you are in a channel.

    +

    This method resumes playing and mixing the music file. Call this method when you are + in a channel.

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita index ca6aa343cb2..a0b15c489d9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_resumeeffect.dita @@ -1,45 +1,52 @@ - <ph keyref="resumeEffect" /> - Resumes playing a specified audio effect. + <ph keyref="resumeEffect"/> + Resumes playing a specified audio + effect. - +

    - public abstract int resumeEffect(int soundId); + public abstract int resumeEffect(int soundId); - - (int)resumeEffect:(int)soundId; + - (int)resumeEffect:(int)soundId; - virtual int resumeEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int resumeEffect(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract resumeEffect(soundId: number): number; + public abstract int ResumeEffect(int soundId); + abstract resumeEffect(soundId: number): number; + Future<void> resumeEffect(int soundId); +

    Parameters - - soundId - - -
    + + soundId + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita index 644f17abacc..d7d52e3404d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_selectaudiotrack.dita @@ -2,7 +2,8 @@ <ph keyref="selectAudioTrack"/> - Selects the audio track used during playback. + Selects the audio track used during + playback. @@ -13,40 +14,55 @@

    - public abstract int selectAudioTrack(int audioIndex); - - (int)selectAudioTrack:(NSInteger)index; - virtual int selectAudioTrack(int index) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int selectAudioTrack(int audioIndex); + - (int)selectAudioTrack:(NSInteger)index; + virtual int selectAudioTrack(int index) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract selectAudioTrack(index: number): number; + public abstract int SelectAudioTrack(int index); + abstract selectAudioTrack(index: number): number; + Future<void> selectAudioTrack(int index); +

    Details -

    After getting the track index of the audio file, you can call this method to specify any track to play. For example, if different tracks of a multi-track file store songs in different languages, you can call this method to set the playback language.

    +

    After getting the track index of the audio file, you can call this method to specify + any track to play. For example, if different tracks of a multi-track file store + songs in different languages, you can call this method to set the playback + language.

    -
      -
    • For the supported formats of audio files, see .
    • -
    • You need to call this method after calling and receiving the () callback.
    • -
    +
      +
    • For the supported formats of audio files, see .
    • +
    • You need to call this method after calling and receiving the () callback.
    • +
    + +
    Parameters - - index - audioIndex - The audio track you want to specify. The value range is [0, ()]. - -
    + + index + audioIndex + The audio track you want to specify. The value range is [0, ()]. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita b/en-US/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita index 3974a588100..0a3b2d5fc71 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_sendcustomreportmessage.dita @@ -1,58 +1,63 @@ - <ph keyref="sendCustomReportMessage" /> + <ph keyref="sendCustomReportMessage"/> Reports customized messages. - +

    - public abstract int sendCustomReportMessage( + public abstract int sendCustomReportMessage( String id, String category, String event, String label, int value); - - (int)sendCustomReportMessage:(NSString * _Nullable)messageId + - (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, + virtual int sendCustomReportMessage(const char *id, const char* category, const char* event, const char* label, int value) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SendCustomReportMessage(FString id, FString category, FString event, FString label, int value); - abstract sendCustomReportMessage( + abstract sendCustomReportMessage( id: string, category: string, event: string, label: string, value: number ): number; - public abstract int SendCustomReportMessage(string id, string category, string @event, string label, int value); - abstract sendCustomReportMessage( + public abstract int SendCustomReportMessage(string id, string category, string @event, string label, int value); + abstract sendCustomReportMessage( id: string, category: string, event: string, label: string, value: number ): number; - Future<void> sendCustomReportMessage( + Future<void> sendCustomReportMessage( {required String id, required String category, required String event, required String label, required int value}); -

    +

    Details -

    Agora supports reporting and analyzing customized messages. This function is in the beta stage with a free trial. The ability provided in its beta test version is reporting a maximum of 10 message pieces within 6 seconds, with each message piece not exceeding 256 bytes and each string not exceeding 100 bytes. To try out this function, contact and discuss the format of customized messages with us.

    +

    Agora supports reporting and analyzing customized messages. This function + is in the beta stage with a free trial. The ability provided in its beta test + version is reporting a maximum of 10 message pieces within 6 seconds, with each + message piece not exceeding 256 bytes and each string not exceeding 100 bytes. To + try out this function, contact and discuss the format + of customized messages with us.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_sendmetadata.dita b/en-US/dita/RTC-NG/API/api_irtcengine_sendmetadata.dita index e7e164b8caf..6db3456212b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_sendmetadata.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_sendmetadata.dita @@ -1,52 +1,62 @@ - <ph keyref="sendMetaData" /> + <ph keyref="sendMetaData"/> Sends media metadata. - +

    - - - - abstract sendMetaData(metadata: Metadata, sourceType: VideoSourceType): number; - public abstract int SendMetadata(Metadata metadata, VIDEO_SOURCE_TYPE source_type); - abstract sendMetaData(metadata: Metadata, sourceType: VideoSourceType): number; - Future<void> sendMetaData( + + + + abstract sendMetaData(metadata: Metadata, sourceType: VideoSourceType): number; + public abstract int SendMetadata(Metadata metadata, VIDEO_SOURCE_TYPE source_type); + abstract sendMetaData(metadata: Metadata, sourceType: VideoSourceType): number; + Future<void> sendMetaData( {required Metadata metadata, required VideoSourceType sourceType}); -

    +

    Details -

    After a successful method call of , the SDK triggers the callback, and then you can call this method to send media metadata.

    -

    If the metadata is sent successfully, the SDK triggers the callback on the receiver.

    +

    After a successful method call of , the SDK triggers the callback, and then you can call this method to + send media metadata.

    +

    If the metadata is sent successfully, the SDK triggers the callback on the receiver.

    Parameters - - metadata - Media metadata. See . - - - sourceType - source_type - The type of the video source. See . - -
    + + metadata + Media metadata. See . + + + sourceType + source_type + The type of the video source. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita b/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita index 63e769b1d4b..18c87d6d68d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_sendstreammessage.dita @@ -1,73 +1,87 @@ - <ph keyref="sendStreamMessage" /> + <ph keyref="sendStreamMessage"/> Sends data stream messages. - +

    - public abstract int sendStreamMessage(int streamId, byte[] message); - - (int)sendStreamMessage:(NSInteger)streamId + public abstract int sendStreamMessage(int streamId, byte[] message); + - (int)sendStreamMessage:(NSInteger)streamId data:(NSData * _Nonnull)data; - virtual int sendStreamMessage(int streamId, + virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SendStreamMessage(int streamId, FString data); - abstract sendStreamMessage(streamId: number, data: Uint8Array, length: number): number; - public abstract int SendStreamMessage(int streamId, byte[] data, uint length); - abstract sendStreamMessage( + abstract sendStreamMessage(streamId: number, data: Uint8Array, length: number): number; + public abstract int SendStreamMessage(int streamId, byte[] data, uint length); + abstract sendStreamMessage( streamId: number, data: Uint8Array, length: number ): number; - Future<void> sendStreamMessage( + Future<void> sendStreamMessage( {required int streamId, required Uint8List data, required int length}); -

    +

    Details -

    Sends data stream messages to all users in a channel. The SDK has the following restrictions on this method:

      -
    • Up to 30 packets can be sent per second in a channel with each packet having a maximum size of 1 KB.
    • -
    • Each client can send up to 6 KB of data per second.
    • -
    • Each user can have up to five data streams simultaneously.
    • -

    -

    A successful method call triggers the callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the callback on the remote client.

    +

    Sends data stream messages to all users in a channel. The SDK has the + following restrictions on this method:

      +
    • Up to 30 packets can be sent per second in a channel with each packet having + a maximum size of 1 KB.
    • +
    • Each client can send up to 6 KB of data per second.
    • +
    • Each user can have up to five data streams simultaneously.
    • +

    +

    A successful method call triggers the callback on + the remote client, from which the remote user gets the stream message. A failed + method call triggers the callback on the + remote client.

    -
      -
    • Ensure that you call to create a data channel before calling this method.
    • -
    • In live streaming scenarios, this method only applies to hosts.
    • -
    +
      +
    • Ensure that you call to create a data + channel before calling this method.
    • +
    • In live streaming scenarios, this method only applies to hosts.
    • +
    +
    Parameters - - streamId - The data stream ID. You can get the data stream ID by calling . - - - message - data - The message to be sent. - - - length - The length of the data. - -
    + + streamId + The data stream ID. You can get the data stream ID by calling . + + + message + data + The message to be sent. + + + length + The length of the data. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaddonlogfile.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaddonlogfile.dita index a1712d05653..c8bc1de11b9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaddonlogfile.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaddonlogfile.dita @@ -1,33 +1,35 @@ - <ph keyref="setAddonLogFile" /> + <ph keyref="setAddonLogFile"/> Sets log file for the Electron layer of the SDK. - +

    - - - - - - - -

    + + + + + + + +

    Parameters filePath - The full path to the log file for the Electron layer of the SDK. Ensure that the directory for the log files exists and is writable. You can use this parameter to rename the log files. + The full path to the log file for the Electron layer of the SDK. Ensure that + the directory for the log files exists and is writable. You can use this + parameter to rename the log files.
    @@ -39,4 +41,4 @@
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita index 9b792f41d67..290c646cda3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setadvancedaudiooptions.dita @@ -1,47 +1,56 @@ - <ph keyref="setAdvancedAudioOptions" /> + <ph keyref="setAdvancedAudioOptions"/> Sets audio advanced options. - +

    - public abstract int SetAdvancedAudioOptions(AdvancedAudioOptions options); - - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options; - virtual int setAdvancedAudioOptions(media::base::AdvancedAudioOptions &options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int SetAdvancedAudioOptions(AdvancedAudioOptions options); + - (int)setAdvancedAudioOptions:(AgoraAdvancedAudioOptions * _Nonnull)options; + virtual int setAdvancedAudioOptions(media::base::AdvancedAudioOptions &options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setAdvancedAudioOptions(options: AdvancedAudioOptions): number; + public abstract int SetAdvancedAudioOptions(AdvancedAudioOptions options); + abstract setAdvancedAudioOptions(options: AdvancedAudioOptions): number; + Future<void> setAdvancedAudioOptions(AdvancedAudioOptions options); +

    Details -

    If you have advanced audio processing requirements, such as capturing and sending stereo audio, you can call this method to set advanced audio options.

    - Call this method after calling , and .
    +

    If you have advanced audio processing requirements, such as capturing and sending + stereo audio, you can call this method to set advanced audio options.

    + Call this method after calling , + and . +
    Parameters - - options - The advanced options for audio. See . - -
    + + options + The advanced options for audio. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setainsmode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setainsmode.dita index 2bd71b10cd0..4a326b0ff7f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setainsmode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setainsmode.dita @@ -2,7 +2,8 @@ <ph keyref="setAINSMode"/> - Sets whether to enable the AI ​​noise suppression function and set the noise suppression mode. + Sets whether to enable the AI ​​noise suppression + function and set the noise suppression mode. @@ -13,67 +14,104 @@

    - 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|RtcEngineProxy") + 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|RtcEngineProxy") 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( - {required bool enabled, required AudioAinsMode 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( + {required bool enabled, required AudioAinsMode mode}); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    You can call this method to enable AI noise suppression function. Once enabled, the SDK automatically detects and reduces stationary and non-stationary noise from your audio on the premise of ensuring the quality of human voice. Stationary noise refers to noise signal with constant average statistical properties and negligibly small fluctuations of level within the period of observation. Common sources of stationary noises are:

    • Television;
    • -
    • Air conditioner;
    • -
    • Machinery, etc.
    Non-stationary noise refers to noise signal with huge fluctuations of level within the period of observation; common sources of non-stationary noises are:
    • Thunder;
    • -
    • Explosion;
    • -
    • Cracking, etc.

    +

    You can call this method to enable AI noise suppression function. Once enabled, the + SDK automatically detects and reduces stationary and non-stationary noise from your + audio on the premise of ensuring the quality of human voice. Stationary noise refers + to noise signal with constant average statistical properties and negligibly small + fluctuations of level within the period of observation. Common sources of stationary + noises are:

      +
    • Television;
    • +
    • Air conditioner;
    • +
    • Machinery, etc.
    • +
    Non-stationary noise refers to noise signal with huge fluctuations of level + within the period of observation; common sources of non-stationary noises are:
      +
    • Thunder;
    • +
    • Explosion;
    • +
    • Cracking, etc.
    • +

    -
    • This method relies on the AI noise suppression dynamic library . If the dynamic library is deleted, the function cannot be enabled.
    • -
    • This method relies on the AI noise suppression dynamic library. If the dynamic library is deleted, the function cannot be enabled. For the name of the AI ​​noise suppression dynamic library, see .
    • -
    • Agora does not recommend enabling this function on devices running Android 6.0 and below.
    +
      +
    • This method relies on the AI noise suppression dynamic + library . If the dynamic + library is deleted, the function cannot be enabled.
    • +
    • This method relies on the AI noise suppression dynamic library. + If the dynamic library is deleted, the function cannot be enabled. For the + name of the AI ​​noise suppression dynamic library, see .
    • +
    • Agora does not recommend + enabling this function on devices running Android 6.0 and below.
    • +
    Applicable scenarios -

    In scenarios such as co-streaming, online education and video meeting, this function can detect and reduce background noises to improve experience.

    +

    In scenarios such as co-streaming, online education and video meeting, this function + can detect and reduce background noises to improve experience.

    Parameters - - enabled - Whether to enable the AI noise suppression function:
      -
    • : Enable the AI noise suppression.
    • -
    • : (Default) Disable the AI noise suppression.
    • -
    -
    - - mode - -

    The AI noise suppression modes. See .

    -

    The AI noise suppression modes:

      -
    • 0: (Default) Balance mode. This mode allows for a balanced performance on noice suppression and time delay.
    • -
    • 1: Aggressive mode. In scenarios where high performance on noise suppression is required, such as live streaming outdoor events, this mode reduces nosies more dramatically, but sometimes may affect the original character of the audio.
    • -
    • 2: Aggressive mode with low latency. The noise suppression delay of this mode is about only half of that of the balance and aggressive modes. It is suitable for scenarios that have high requirements on noise suppression with low latency, such as sing together online in real time.
    • -

    -
    -
    -
    + + enabled + Whether to enable the AI noise suppression function:
      +
    • : Enable the AI noise + suppression.
    • +
    • : (Default) Disable the AI + noise suppression.
    • +
    +
    + + mode + +

    The AI noise suppression modes. See .

    +

    The AI noise suppression modes:

      +
    • 0: (Default) Balance mode. This mode allows for a balanced + performance on noice suppression and time delay.
    • +
    • 1: Aggressive mode. In scenarios where high performance on noise + suppression is required, such as live streaming outdoor events, + this mode reduces nosies more dramatically, but sometimes may + affect the original character of the audio.
    • +
    • 2: Aggressive mode with low latency. The noise suppression delay + of this mode is about only half of that of the balance and + aggressive modes. It is suitable for scenarios that have high + requirements on noise suppression with low latency, such as sing + together online in real time.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectparameters.dita index 3a7d391886c..e88ab6b6297 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectparameters.dita @@ -1,112 +1,157 @@ - <ph keyref="setAudioEffectParameters" /> - Sets parameters for SDK preset audio effects. + <ph keyref="setAudioEffectParameters"/> + Sets parameters for SDK preset audio + effects. - +

    - public abstract int setAudioEffectParameters(int preset, int param1, int param2); - - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2; - virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioEffectParameters(int preset, int param1, int param2); + - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2; + virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAudioEffectParameters(FENUMWRAP_AUDIO_EFFECT_PRESET preset, int param1, int param2); - abstract setAudioEffectParameters(preset: AudioEffectPreset, param1: number, param2: number): number; - public abstract int SetAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2); - abstract setAudioEffectParameters( + abstract setAudioEffectParameters(preset: AudioEffectPreset, param1: number, param2: number): number; + public abstract int SetAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2); + abstract setAudioEffectParameters( preset: AudioEffectPreset, param1: number, param2: number ): number; - Future<void> setAudioEffectParameters( + Future<void> setAudioEffectParameters( {required AudioEffectPreset preset, required int param1, required int param2}); -

    +

    Details -

    Call this method to set the following parameters for the local user who sends an audio stream:

      -
    • 3D voice effect: Sets the cycle period of the 3D voice effect.
    • -
    • Pitch correction effect: Sets the basic mode and tonic pitch of the pitch correction effect. Different songs have different modes and tonic pitches. Agora recommends bounding this method with interface elements to enable users to adjust the pitch correction interactively.
    • -

    +

    Call this method to set the following parameters for the local user who sends an + audio stream:

      +
    • 3D voice effect: Sets the cycle period of the 3D voice effect.
    • +
    • Pitch correction effect: Sets the basic mode and tonic pitch of the pitch + correction effect. Different songs have different modes and tonic pitches. + Agora recommends bounding this method with interface elements to enable + users to adjust the pitch correction interactively.
    • +
    +

    After setting the audio parameters, all users in the channel can hear the effect.

    -

      -
    • You can call this method either before or after joining a channel.
    • -
    • -
    • This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
    • -
    • After calling , Agora does not recommend you to call the following methods, otherwise the effect set by will be overwritten:
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    +
      +
    • You can call this method either before or after joining a channel.
    • +
    • +
    • This method has the best effect on human voice processing, and Agora does + not recommend calling this method to process audio data containing + music.
    • +
    • After calling , Agora does not + recommend you to call the following methods, otherwise the effect set by + will be overwritten:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    + +
    Parameters - - preset - The options for SDK preset audio effects:
      -
    • , 3D voice effect:
        -
      • You need to set the profile parameter in to (3) or (5) before setting this enumerator; otherwise, the enumerator setting does not take effect.
      • -
      • If the 3D voice effect is enabled, users need to use stereo audio playback devices to hear the anticipated voice effect.
      • -
    • -
    • , Pitch correction effect:
    • -
    -
    - - param1 - -
      -
    • If you set preset to , param1 sets the cycle period of the 3D voice effect. The value range is [1,60] and the unit is seconds. The default value is 10, indicating that the voice moves around you every 10 seconds.
    • -
    • If you set preset to , param1 indicates the basic mode of the pitch correction effect:
        -
      • 1: (Default) Natural major scale.
      • -
      • 2: Natural minor scale.
      • -
      • 3: Japanese pentatonic scale.
      • -
    • -
    -
    - - param2 - -
      -
    • If you set preset to , you need to set param2 to 0.
    • -
    • If you set preset to , param2 indicates the tonic pitch of the pitch correction effect:
        -
      • 1: A
      • -
      • 2: A#
      • -
      • 3: B
      • -
      • 4: (Default) C
      • -
      • 5: C#
      • -
      • 6: D
      • -
      • 7: D#
      • -
      • 8: E
      • -
      • 9: F
      • -
      • 10: F#
      • -
      • 11: G
      • -
      • 12: G#
      • -
    • -
    -
    -
    + + preset + The options for SDK preset audio effects:
      +
    • , 3D voice effect:
        +
      • You need to set the profile parameter + in to (3) or (5) + before setting this enumerator; otherwise, the enumerator + setting does not take effect.
      • +
      • If the 3D voice effect is enabled, users need to use stereo + audio playback devices to hear the anticipated voice + effect.
      • +
      +
    • +
    • , Pitch correction effect:
    • +
    +
    +
    + + param1 + +
      +
    • If you set preset to , param1 + sets the cycle period of the 3D voice effect. The value range is + [1,60] and the unit is seconds. The default value is 10, indicating + that the voice moves around you every 10 seconds.
    • +
    • If you set preset to , param1 + indicates the basic mode of the pitch correction effect:
        +
      • 1: (Default) Natural major scale.
      • +
      • 2: Natural minor scale.
      • +
      • 3: Japanese pentatonic scale.
      • +
      +
    • +
    +
    +
    + + param2 + +
      +
    • If you set preset to , you need to set + param2 to 0.
    • +
    • If you set preset to , param2 + indicates the tonic pitch of the pitch correction effect:
        +
      • 1: A
      • +
      • 2: A#
      • +
      • 3: B
      • +
      • 4: (Default) C
      • +
      • 5: C#
      • +
      • 6: D
      • +
      • 7: D#
      • +
      • 8: E
      • +
      • 9: F
      • +
      • 10: F#
      • +
      • 11: G
      • +
      • 12: G#
      • +
      +
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita index 6188268cca1..1a2b20026c5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioeffectpreset.dita @@ -1,89 +1,174 @@ - <ph keyref="setAudioEffectPreset" /> + <ph keyref="setAudioEffectPreset"/> Sets an SDK preset audio effect. - +

    - public abstract int setAudioEffectPreset(int preset); - - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset; - virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioEffectPreset(int preset); + - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset; + virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setAudioEffectPreset(preset: AudioEffectPreset): number; + public abstract int SetAudioEffectPreset(AUDIO_EFFECT_PRESET preset); + abstract setAudioEffectPreset(preset: AudioEffectPreset): number; + Future<void> setAudioEffectPreset(AudioEffectPreset preset); +

    Details -

    Call this method to set an SDK preset audio effect for the local user who sends an audio stream. This audio effect does not change the gender characteristics of the original voice. After setting an audio effect, all users in the channel can hear the effect.

    -

    You can set different audio effects for different scenarios. See .

    +

    Call this method to set an SDK preset audio effect for the local user who sends an + audio stream. This audio effect does not change the gender characteristics of the + original voice. After setting an audio effect, all users in the channel can hear the + effect.

    +

    You can set different audio effects for different + scenarios. See .

    -

      -
    • You can call this method either before or after joining a channel.
    • -
    • -
    • If you call and set enumerators except for or , do not call ; otherwise, is overridden.
    • -
    • After calling , Agora does not recommend you to call the following methods, otherwise the effect set by will be overwritten:
        -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    • This method relies on the voice beautifier dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • -
    +
      +
    • You can call this method either before or after joining a channel.
    • +
    • +
    • If you call and set enumerators + except for or , do not call ; otherwise, is overridden.
    • +
    • After calling , Agora does not + recommend you to call the following methods, otherwise the effect set by + will be overwritten:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • This method relies on the voice beautifier dynamic library . If the dynamic library is deleted, + the function cannot be enabled normally.
    • +
    + +
    Parameters - - preset - The options for SDK preset audio effects. See . - Preset audio effects.
      -
    • : Turn off audio effects and use the original voice.
    • -
    • : The reverberation style typical of a KTV venue.
    • -
    • : The reverberation style typical of a concert hall.
    • -
    • : The reverberation style typical of a recording studio.
    • -
    • : The reverberation style typical of the vintage phonograph.
    • -
    • : A virtual stereo effect that renders monophonic audio as stereo audio. Before using this preset, set the profile parameter of to (4) or (5) ; otherwise, the preset setting is invalid.
    • -
    • : A more spatial audio effect.
    • -
    • : A more ethereal audio effect.
    • -
    • : Virtual surround sound, that is, the SDK generates a simulated surround sound field on the basis of stereo channels, thereby creating a surround sound effect.If the virtual surround sound is enabled, users need to use stereo audio playback devices to hear the anticipated audio effect.
    • -
    • : A chorus audio effect. Agora recommends using this effect in chorus scenarios to enhance the sense of depth and dimension in the vocals.
    • -
    • : A 3D voice effect that makes the voice appear to be moving around the user. The default cycle period is 10 seconds. After setting this effect, you can call to modify the movement period.
        -
      • Before using this preset, set the profile parameter of to (3) or (5); otherwise, the preset setting is invalid.
      • -
      • If the 3D voice effect is enabled, users need to use stereo audio playback devices to hear the anticipated voice effect.
      • -
    • -
    • : The reverberation style typical of an uncle's voice. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
    • -
    • : The voice of an old man. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
    • -
    • : The voice of a boy. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
    • -
    • : The voice of a young woman. Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
    • -
    • : The voice of a girl. Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
    • -
    • : The voice of Pig King, a character in Journey to the West who has a voice like a growling bear.
    • -
    • : The voice of the Hulk.
    • -
    • : The reverberation style typical of R&B music. Before using this preset, set the profile parameter of to (4) or (5) ; otherwise, the preset setting is invalid.
    • -
    • : The reverberation style typical of popular music. Before using this preset, set the profile parameter of to (4) or (5) ; otherwise, the preset setting is invalid.
    • -
    • : A pitch correction effect that corrects the user's pitch based on the pitch of the natural C major scale. After setting this voice effect, you can call to adjust the basic mode of tuning and the pitch of the main tone.
    • -
    -
    -
    + + preset + The options for + SDK preset audio effects. See . + Preset audio effects.
      +
    • : Turn off audio effects and use the + original voice.
    • +
    • : The reverberation style typical + of a KTV venue.
    • +
    • : The reverberation style + typical of a concert hall.
    • +
    • : The reverberation style + typical of a recording studio.
    • +
    • : The reverberation style + typical of the vintage phonograph.
    • +
    • : A virtual stereo + effect that renders monophonic audio as stereo audio. Before using + this preset, set the profile parameter of to (4) or (5) ; + otherwise, the preset setting is invalid.
    • +
    • : A more spatial audio + effect.
    • +
    • : A more ethereal audio + effect.
    • +
    • : Virtual + surround sound, that is, the SDK generates a simulated surround + sound field on the basis of stereo channels, thereby creating a + surround sound effect.If the virtual + surround sound is enabled, users need to use stereo audio + playback devices to hear the anticipated audio + effect.
    • +
    • : A chorus audio effect. Agora + recommends using this effect in chorus scenarios to enhance the + sense of depth and dimension in the vocals.
    • +
    • : A 3D voice effect that makes + the voice appear to be moving around the user. The default cycle + period is 10 seconds. After setting this effect, you can call to modify the movement period.
        +
      • Before using this preset, set the + profile parameter of to (3) or (5); + otherwise, the preset setting is invalid.
      • +
      • If the 3D voice effect is enabled, users need to use stereo + audio playback devices to hear the anticipated voice + effect.
      • +
    • +
    • : The reverberation style + typical of an uncle's voice. Agora recommends using this preset to + process a male-sounding voice; otherwise, you may not hear the + anticipated voice effect.
    • +
    • : The voice of an old man. + Agora recommends using this preset to process a male-sounding voice; + otherwise, you may not hear the anticipated voice effect.
    • +
    • : The voice of a boy. Agora + recommends using this preset to process a male-sounding voice; + otherwise, you may not hear the anticipated voice effect.
    • +
    • : The voice of a young + woman. Agora recommends using this preset to process a + female-sounding voice; otherwise, you may not hear the anticipated + voice effect.
    • +
    • : The voice of a girl. Agora + recommends using this preset to process a female-sounding voice; + otherwise, you may not hear the anticipated voice effect.
    • +
    • : The voice of Pig King, + a character in Journey to the West who has a voice like a growling + bear.
    • +
    • : The voice of the + Hulk.
    • +
    • : The reverberation style + typical of R&B music. Before using this preset, set the + profile parameter of to (4) or (5) ; + otherwise, the preset setting is invalid.
    • +
    • : The reverberation style + typical of popular music. Before using this preset, set the + profile parameter of to (4) or (5) ; + otherwise, the preset setting is invalid.
    • +
    • : A pitch correction effect that + corrects the user's pitch based on the pitch of the natural C major + scale. After setting this voice effect, you can call to adjust the basic mode of + tuning and the pitch of the main tone.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita index cd56592feec..ef885e21470 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingdualmonomode.dita @@ -1,51 +1,68 @@ - <ph keyref="setAudioMixingDualMonoMode" /> - Sets the channel mode of the current audio file. + <ph keyref="setAudioMixingDualMonoMode"/> + Sets the channel mode of the current audio + file. - +

    - public abstract int setAudioMixingDualMonoMode(Constants.AudioMixingDualMonoMode mode); - - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode; - virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioMixingDualMonoMode(Constants.AudioMixingDualMonoMode mode); + - (int)setAudioMixingDualMonoMode:(AgoraAudioMixingDualMonoMode)mode; + virtual int setAudioMixingDualMonoMode(media::AUDIO_MIXING_DUAL_MONO_MODE mode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + 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); +

    Details -

    In a stereo music file, the left and right channels can store different audio data. According to your needs, you can set the channel mode to original mode, left channel mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the singing voice. If you only need to listen to the accompaniment, call this method to set the channel mode of the music file to left channel mode; if you need to listen to the accompaniment and the singing voice at the same time, call this method to set the channel mode to mixed channel mode.

    +

    In a stereo music file, the left and right channels can store different audio data. + According to your needs, you can set the channel mode to original mode, left channel + mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, + the left channel of the music file stores the musical accompaniment, and the right + channel stores the singing voice. If you only need to listen to the accompaniment, + call this method to set the channel mode of the music file to left channel mode; if + you need to listen to the accompaniment and the singing voice at the same time, call + this method to set the channel mode to mixed channel mode.

    -
      -
    • You need to call this method after calling and receiving the () callback.
    • -
    • This method only applies to stereo audio files.
    • -
    +
      +
    • You need to call this method after calling and receiving the () callback.
    • +
    • This method only applies to stereo audio files.
    • +
    +
    Parameters - - mode - The channel mode. See . - -
    + + mode + The channel mode. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingpitch.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingpitch.dita index e18e7d31ada..92f7c742edf 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingpitch.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingpitch.dita @@ -1,47 +1,63 @@ - <ph keyref="setAudioMixingPitch" /> - Sets the pitch of the local music file. + <ph keyref="setAudioMixingPitch"/> + Sets the pitch of the local music + file. - +

    - public abstract int setAudioMixingPitch(int pitch); - - (int)setAudioMixingPitch:(NSInteger)pitch; - virtual int setAudioMixingPitch(int pitch) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioMixingPitch(int pitch); + - (int)setAudioMixingPitch:(NSInteger)pitch; + virtual int setAudioMixingPitch(int pitch) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setAudioMixingPitch(pitch: number): number; + public abstract int SetAudioMixingPitch(int pitch); + abstract setAudioMixingPitch(pitch: number): number; + Future<void> setAudioMixingPitch(int pitch); +

    Details -

    When a local music file is mixed with a local human voice, call this method to set the pitch of the local music file only.

    - You need to call this method after calling and receiving the () callback.
    +

    When a local music file is mixed with a local human voice, call this method to set + the pitch of the local music file only.

    + You need to call this method after calling and receiving the () callback. +
    Parameters - - pitch - Sets the pitch of the local music file by the chromatic scale. The default value is 0, which means keeping the original pitch. The value ranges from -12 to 12, and the pitch value between consecutive values is a chromatic value. The greater the absolute value of this parameter, the higher or lower the pitch of the local music file. - -
    + + pitch + Sets the pitch of the local music file by the chromatic scale. The default + value is 0, which means keeping the original pitch. The value ranges from + -12 to 12, and the pitch value between consecutive values is a chromatic + value. The greater the absolute value of this parameter, the higher or lower + the pitch of the local music file. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita index cdf6f523cc3..1eef27ea009 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingplaybackspeed.dita @@ -2,7 +2,8 @@ <ph keyref="setAudioMixingPlaybackSpeed"/> - Sets the playback speed of the current audio file. + Sets the playback speed of the current audio + file. @@ -13,43 +14,52 @@

    - public abstract int setAudioMixingPlaybackSpeed(int speed); - - (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:)); - virtual int setAudioMixingPlaybackSpeed(int speed) = 0; - - abstract setAudioMixingPlaybackSpeed(speed: number): number; - public abstract int SetAudioMixingPlaybackSpeed(int speed); - abstract setAudioMixingPlaybackSpeed(speed: number): number; - Future<void> setAudioMixingPlaybackSpeed(int speed);

    + public abstract int setAudioMixingPlaybackSpeed(int speed); + - (int)setAudioMixingPlaybackSpeed:(NSInteger)speed NS_SWIFT_NAME(setAudioMixingPlaybackSpeed(_:)); + virtual int setAudioMixingPlaybackSpeed(int speed) = 0; + + abstract setAudioMixingPlaybackSpeed(speed: number): number; + public abstract int SetAudioMixingPlaybackSpeed(int speed); + abstract setAudioMixingPlaybackSpeed(speed: number): number; + Future<void> setAudioMixingPlaybackSpeed(int speed); +

    Details
    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +
    -

    Ensure you call this method after calling receiving the callback reporting the state as .

    +

    Ensure you call this method after calling + receiving the callback reporting the + state as .

    Parameters - - speed - The playback speed. Agora recommends that you set this to a value between 50 and 400, defined as follows:
      -
    • 50: Half the original speed.
    • -
    • 100: The original speed.
    • -
    • 400: 4 times the original speed.
    • -
    -
    -
    + + speed + The playback speed. Agora recommends that you set this to a value between 50 + and 400, defined as follows:
      +
    • 50: Half the original speed.
    • +
    • 100: The original speed.
    • +
    • 400: 4 times the original speed.
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    -
    +
  • < 0: Failure. See for details + and resolution suggestions.
  • + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita index 289e4360ea6..c3657753060 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiomixingposition.dita @@ -1,47 +1,58 @@ - <ph keyref="setAudioMixingPosition" /> + <ph keyref="setAudioMixingPosition"/> Sets the audio mixing position. - +

    - public abstract int setAudioMixingPosition(int pos); - - (int)setAudioMixingPosition:(NSInteger)pos; - virtual int setAudioMixingPosition(int pos /*in ms*/) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioMixingPosition(int pos); + - (int)setAudioMixingPosition:(NSInteger)pos; + virtual int setAudioMixingPosition(int pos /*in ms*/) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setAudioMixingPosition(pos: number): number; + public abstract int SetAudioMixingPosition(int pos); + abstract setAudioMixingPosition(pos: number): number; + Future<void> setAudioMixingPosition(int pos); +

    Details -

    Call this method to set the playback position of the music file to a different starting position (the default plays from the beginning).

    - You need to call this method after calling and receiving the () callback.
    +

    Call this method to set the playback position of the music file to a different + starting position (the default plays from the beginning).

    + You need to call this method after calling and receiving the () callback. +
    Parameters - - pos - Integer. The playback position (ms). - -
    + + pos + Integer. The playback position (ms). + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita index 40338a85cdd..3a314351739 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile.dita @@ -1,80 +1,113 @@ - <ph keyref="setAudioProfile" /> - Sets the audio profile and audio scenario. + <ph keyref="setAudioProfile"/> + Sets the audio profile and audio + scenario. - +

    - public abstract int setAudioProfile(int profile, int scenario); - - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario; - virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioProfile(int profile, int scenario); + - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario; + virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAudioProfile(EAUDIO_PROFILE_TYPE profile = EAUDIO_PROFILE_TYPE::AUDIO_PROFILE_DEFAULT, EAUDIO_SCENARIO_TYPE scenario = EAUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_DEFAULT); - abstract setAudioProfile( + abstract setAudioProfile( profile: AudioProfileType, scenario?: AudioScenarioType ): number; - public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario); - abstract setAudioProfile( + public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario); + abstract setAudioProfile( profile: AudioProfileType, scenario?: AudioScenarioType ): number; - Future<void> setAudioProfile( + Future<void> setAudioProfile( {required AudioProfileType profile, AudioScenarioType scenario = AudioScenarioType.audioScenarioDefault}); -

    +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. If you need to set the audio profile, use ; if you need to set the audio scenario, use .
    -
    + +
    Deprecated:
    +
    This method is deprecated. If you need to set the audio profile, use ; if you need to set the audio scenario, use + .
    +
    -
      -
    • You can call this method either before or after joining a channel.
    • -
    • Due to iOS system restrictions, some audio routes cannot be recognized in call volume mode. Therefore, if you need to use an external sound card, it is recommended to set the audio scenario to (3). In this scenario, the SDK will switch to media volume to avoid this issue.
    • -
    • In scenarios requiring high-quality audio, such as online music tutoring, Agora recommends you set profile as (4)and scenario as (3).
    • -
    +
      +
    • You can call this method either before or after joining a channel.
    • +
    • Due to iOS system restrictions, some audio routes cannot be + recognized in call volume mode. Therefore, if you need to use an external + sound card, it is recommended to set the audio scenario to (3). In this scenario, the SDK + will switch to media volume to avoid this issue.
    • +
    • In scenarios requiring high-quality audio, such as online music tutoring, + Agora recommends you set profile as (4)and + scenario as (3).
    • +
    + +
    Parameters - - profile - -

    The audio profile, including the sampling rate, bitrate, encoding mode, and the number of channels. See .

      -
    • (0): The default value.
        -
      • -
    • -
    • (1): A sampling rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
    • -
    • (2): A sampling rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
    • -
    • (3): A sampling rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps.
    • -
    • (4): A sampling rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 Kbps.
    • -
    • (5): A sampling rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps.
    • -

    -
    -
    - - scenario - - -
    + + profile + +

    The audio profile, including the sampling rate, bitrate, + encoding mode, and the number of channels. See .

      +
    • (0): The default value.
        +
      • +
    • +
    • (1): A sampling rate + of 32 kHz, audio encoding, mono, and a bitrate of up to 18 + Kbps.
    • +
    • (2): A sampling rate + of 48 kHz, music encoding, mono, and a bitrate of up to 64 + Kbps.
    • +
    • (3): A + sampling rate of 48 kHz, music encoding, stereo, and a bitrate + of up to 80 Kbps.
    • +
    • (4): A sampling + rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 + Kbps.
    • +
    • (5): A + sampling rate of 48 kHz, music encoding, stereo, and a bitrate + of up to 128 Kbps.
    • +

    +
    +
    + + scenario + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita index 4a559ef43a9..25a7344cea0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioprofile2.dita @@ -1,49 +1,62 @@ - <ph keyref="setAudioProfile2" /> - Sets the audio parameters and application scenarios. + <ph keyref="setAudioProfile2"/> + Sets the audio parameters and application + scenarios. - +

    - public synchronized int setAudioProfile(int profile) - - (int)setAudioProfile:(AgoraAudioProfile)profile; - virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0; - abstract setAudioProfile(profile: AudioProfileType, scenario?: AudioScenarioType): number; - public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile); - -

    + public synchronized int setAudioProfile(int profile) + - (int)setAudioProfile:(AgoraAudioProfile)profile; + virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0; + abstract setAudioProfile(profile: AudioProfileType, scenario?: AudioScenarioType): number; + public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile); + + +

    Details -
      -
    • You can call this method either before or after joining a channel.
    • -
    • In scenarios requiring high-quality audio, such as online music tutoring, Agora recommends you set profile as (4).
    • -
    • If you need to set the audio scenario, you can either call , or and set the mAudioScenarioaudioScenario in .
    • -
    +
      +
    • You can call this method either before or after joining a channel.
    • +
    • In scenarios requiring high-quality audio, such as online music tutoring, + Agora recommends you set profile as (4).
    • +
    • If you need to set the audio scenario, you can either call , or and set the + mAudioScenarioaudioScenario + in .
    • +
    + +
    Parameters - - profile - -

    - - -

    + + profile + +

    + + + +

    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita index e8cb0892f97..0e1fc0988bc 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudioscenario.dita @@ -1,58 +1,77 @@ - <ph keyref="setAudioScenario" /> + <ph keyref="setAudioScenario"/> Sets audio scenarios. - +

    - public abstract int setAudioScenario(int scenario); - - (int)setAudioScenario:(AgoraAudioScenario)scenario; - virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAudioScenario(int scenario); + - (int)setAudioScenario:(AgoraAudioScenario)scenario; + virtual int setAudioScenario(AUDIO_SCENARIO_TYPE scenario) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAudioScenario(EAUDIO_SCENARIO_TYPE scenario = EAUDIO_SCENARIO_TYPE::AUDIO_SCENARIO_DEFAULT); - abstract setAudioScenario(scenario: AudioScenarioType): number; - public abstract int SetAudioScenario(AUDIO_SCENARIO_TYPE scenario); - abstract setAudioScenario(scenario: AudioScenarioType): number; - Future<void> setAudioScenario(AudioScenarioType scenario); -

    + abstract setAudioScenario(scenario: AudioScenarioType): number; + public abstract int SetAudioScenario(AUDIO_SCENARIO_TYPE scenario); + abstract setAudioScenario(scenario: AudioScenarioType): number; + Future<void> setAudioScenario(AudioScenarioType scenario); +

    Details -
      -
    • You can call this method either before or after joining a channel.
    • -
    • -
    -
    +
      +
    • You can call this method either before or after joining a channel.
    • +
    • +
    + +
    Parameters - - scenario - The audio scenarios. Under different audio scenarios, the device uses different volume types. See .
      -
    • (0): (Default) Automatic scenario, where the SDK chooses the appropriate audio quality according to the user role and audio route.
    • -
    • (3): High-quality audio scenario, where users mainly play music.
    • -
    • (5): Chatroom scenario, where users need to frequently switch the user role or mute and unmute the microphone. In this scenario, audience members receive a pop-up window to request permission of using microphones.
    • -
    • (7): Real-time chorus scenario, where users have good network conditions and require ultra-low latency.
    • -
    • (8): Meeting scenario that mainly involves the human voice.
    • -
    -
    -
    -
    + + scenario + The audio scenarios. Under different audio scenarios, + the device uses different volume types. See .
      +
    • (0): (Default) Automatic + scenario, where the SDK chooses the appropriate audio quality + according to the user role and audio route.
    • +
    • (3): High-quality audio + scenario, where users mainly play music.
    • +
    • (5): Chatroom scenario, where + users need to frequently switch the user role or mute and unmute the + microphone. In this scenario, audience members receive a pop-up + window to request permission of using microphones.
    • +
    • (7): Real-time chorus scenario, + where users have good network conditions and require ultra-low + latency.
    • +
    • (8): Meeting scenario that + mainly involves the human voice.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita index e16b7a061cf..bfbb984423e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setaudiosessionoperationrestriction.dita @@ -1,55 +1,71 @@ - <ph keyref="setAudioSessionOperationRestriction" /> - Sets the operational permission of the SDK on the audio session. + <ph keyref="setAudioSessionOperationRestriction"/> + Sets the operational permission of the SDK on the audio + session. - +

    - - - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:)); - virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + - (void)setAudioSessionOperationRestriction:(AgoraAudioSessionOperationRestriction)restriction NS_SWIFT_NAME(setAudioSessionOperationRestriction(_:)); + virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAudioSessionOperationRestriction(EAUDIO_SESSION_OPERATION_RESTRICTION restriction); - abstract setAudioSessionOperationRestriction(restriction: AudioSessionOperationRestriction): number; - public abstract int SetAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction); - abstract setAudioSessionOperationRestriction( + abstract setAudioSessionOperationRestriction(restriction: AudioSessionOperationRestriction): number; + public abstract int SetAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction); + abstract setAudioSessionOperationRestriction( restriction: AudioSessionOperationRestriction ): number; - Future<void> setAudioSessionOperationRestriction( + Future<void> setAudioSessionOperationRestriction( AudioSessionOperationRestriction restriction); -

    +

    Details -

    The SDK and the app can both configure the audio session by default. If you need to only use the app to configure the audio session, this method restricts the operational permission of the SDK on the audio session.

    -

    You can call this method either before or after joining a channel. Once you call this method to restrict the operational permission of the SDK on the audio session, the restriction takes effect when the SDK needs to change the audio session.

    +

    The SDK and the app can both configure the audio session by default. If you need to + only use the app to configure the audio session, this method restricts the + operational permission of the SDK on the audio session.

    +

    You can call this method either before or after joining a channel. Once you call this + method to restrict the operational permission of the SDK on the audio session, the + restriction takes effect when the SDK needs to change the audio session.

    -
      -
    • This method is only available for iOS platforms.
    • -
    • This method does not restrict the operational permission of the app on the audio session.
    • -
    +
      +
    • This method is only available for + iOS platforms.
    • +
    • This method does not restrict the operational permission of the app on the + audio session.
    • +
    +
    Parameters - - restriction - The operational permission of the SDK on the audio session. See . This parameter is in bit mask format, and each bit corresponds to a permission. - -
    + + restriction + The operational permission of the SDK on the audio session. See . This parameter is in bit + mask format, and each bit corresponds to a permission. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setavsyncsource.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setavsyncsource.dita index 7288689c105..2a592a41d72 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setavsyncsource.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setavsyncsource.dita @@ -1,51 +1,70 @@ - <ph keyref="setAVSyncSource" /> - Sets the pitch of the local music file. + + <ph keyref="setAVSyncSource"/> + + Sets the pitch of the local music + file. - +

    - public abstract int setAVSyncSource(String channelId, int uid); - - (int) setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid; - virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setAVSyncSource(String channelId, int uid); + - (int) setAVSyncSource:(NSString* _Nonnull)channelId uid:(NSUInteger)uid; + virtual int setAVSyncSource(const char* channelId, uid_t uid) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetAVSyncSource(FString channelId, int64 uid); - abstract setAVSyncSource(channelId: string, uid: number): number; - public abstract int SetAVSyncSource(string channelId, uint uid); - abstract setAVSyncSource(channelId: string, uid: number): number; - Future<void> setAVSyncSource({required String channelId, required int uid}); -

    + abstract setAVSyncSource(channelId: string, uid: number): number; + public abstract int SetAVSyncSource(string channelId, uint uid); + abstract setAVSyncSource(channelId: string, uid: number): number; + Future<void> setAVSyncSource({required String channelId, required int uid}); +

    Details -

    The same user may use two devices to send audio and video streams respectively. In order to ensure the time synchronization of the audio and video heard and seen by the receiver, you can call this method on the video sender and pass in the user ID and channel name of the audio sender. The SDK automatically adjusts the sent video stream based on the timestamp of the sent audio stream to ensure that even when the uplink network conditions of the two senders are inconsistent (such as using Wi-Fi and 4G networks respectively), the received audio and video are time-synchronized.

    - Agora recommends that you call this method before joining a channel.
    +

    The same user may use two devices to send audio and video streams respectively. In + order to ensure the time synchronization of the audio and video heard and seen by + the receiver, you can call this method on the video sender and pass in the user ID + and channel name of the audio sender. The SDK automatically adjusts the sent video + stream based on the timestamp of the sent audio stream to ensure that even when the + uplink network conditions of the two senders are inconsistent (such as using Wi-Fi + and 4G networks respectively), the received audio and video are + time-synchronized.

    + Agora recommends that you call this method before joining a + channel. +
    Parameters - - channelId - The channel name that identifies the channel where the audio sender is located. - - - uid - The user ID of the audio sender. - -
    + + channelId + The channel name that identifies the channel where the audio sender is + located. + + + uid + The user ID of the audio sender. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita index 4fefb38a963..3d23f3d313f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions.dita @@ -1,84 +1,102 @@ - <ph keyref="setBeautyEffectOptions" /> + <ph keyref="setBeautyEffectOptions"/> Sets the image enhancement options. - +

    - public abstract int setBeautyEffectOptions(boolean enabled, BeautyOptions options); - - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)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|RtcEngineProxy") + public abstract int setBeautyEffectOptions(boolean enabled, BeautyOptions options); + - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)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|RtcEngineProxy") int SetBeautyEffectOptions(bool enabled, const FBeautyOptions& options, EMEDIA_SOURCE_TYPE type); - abstract setBeautyEffectOptions( + abstract setBeautyEffectOptions( enabled: boolean, options: BeautyOptions, type?: MediaSourceType ): number; - public abstract int SetBeautyEffectOptions(bool enabled, BeautyOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setBeautyEffectOptions( + public abstract int SetBeautyEffectOptions(bool enabled, BeautyOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); + abstract setBeautyEffectOptions( enabled: boolean, options: BeautyOptions, type?: MediaSourceType ): number; - Future<void> setBeautyEffectOptions( + Future<void> setBeautyEffectOptions( {required bool enabled, required BeautyOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    Details

    Enables or disables image enhancement, and sets the options.

      -
    • Call this method after calling or .
    • +
    • Call this method after calling or .
    • This method only applies to Android 5.0 or later.
    • -
    • This method relies on the image enhancement dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • -
    • This feature has high requirements on device performance. When calling this method, the SDK automatically checks the capabilities of the current device.
    • +
    • This method relies on the image enhancement dynamic library . If the dynamic library is deleted, + the function cannot be enabled normally.
    • +
    • This feature has high requirements on device performance. When calling this + method, the SDK automatically checks the capabilities of the current + device.
    -
    + +
    Parameters - - enabled - enable - Whether to enable the image enhancement function:
      -
    • : Enable the image enhancement function.
    • -
    • : (Default) Disable the image enhancement function.
    • -
    -
    - - options - The image enhancement options. See . - - - - - -
    + + enabled + enable + Whether to enable the image enhancement function:
      +
    • : Enable the image enhancement + function.
    • +
    • : (Default) Disable the image + enhancement function.
    • +
    +
    + + options + The image enhancement options. See . + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -4: The current device does not support this feature. Possible reasons include:
          -
        • The current device capabilities do not meet the requirements for image enhancement. Agora recommends you replace it with a high-performance device.
        • -
        • The current device version is lower than Android 5.0 and does not support this feature. Agora recommends you replace the device or upgrade the operating system.
        • -
        -
      • -
      -
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
        +
      • -4: The current device does not support this feature. Possible reasons include:
          +
        • The current device capabilities do not meet the requirements for + image enhancement. Agora recommends you replace it with a + high-performance device.
        • +
        • The current device version + is lower than Android 5.0 and does not support this feature. + Agora recommends you replace the device or upgrade the operating + system.
        • +
        +
      • +
      +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions2.dita index b5513b1bfb8..8d749a8ded7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setbeautyeffectoptions2.dita @@ -1,69 +1,81 @@ - <ph keyref="setBeautyEffectOptions2" /> - Sets the image enhancement options and specifies the media source. + <ph keyref="setBeautyEffectOptions2"/> + Sets the image enhancement options and specifies the + media source. - +

    - public abstract int setBeautyEffectOptions( + public abstract int setBeautyEffectOptions( boolean enabled, BeautyOptions options, Constants.MediaSourceType sourceType); - - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setBeautyEffectOptions(_:options:sourceType:)); - - - - - - -

    + - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setBeautyEffectOptions(_:options:sourceType:)); + + + + + + +

    Details

    Enables or disables image enhancement, and sets the options.

    -

    Both this method and set image enhancement options, but this method allows you to specify the media source to which the image enhancement is applied.

    +

    Both this method and set image enhancement + options, but this method allows you to specify the media source to which the image + enhancement is applied.

    Parameters - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -4: The current device does not support this feature. Possible reasons include:
          -
        • The current device capabilities do not meet the requirements for image enhancement. Agora recommends you replace it with a high-performance device.
        • -
        • The current device version is lower than Android 5.0 and does not support this feature. Agora recommends you replace the device or upgrade the operating system.
        • -
        -
      • -
      -
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
        +
      • -4: The current device does not support this feature. Possible reasons include:
          +
        • The current device capabilities do not meet the requirements for + image enhancement. Agora recommends you replace it with a + high-performance device.
        • +
        • The current device version + is lower than Android 5.0 and does not support this feature. + Agora recommends you replace the device or upgrade the operating + system.
        • +
        +
      • +
      +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita index 370574af9d9..025ccf9b3d2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautoexposurefacemodeenabled.dita @@ -1,38 +1,41 @@ - <ph keyref="setCameraAutoExposureFaceModeEnabled" /> + <ph keyref="setCameraAutoExposureFaceModeEnabled"/> Sets whether to enable auto exposure. - +

    - - - virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0; + + + virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setCameraAutoExposureFaceModeEnabled(enabled: boolean): number; + public abstract int SetCameraAutoExposureFaceModeEnabled(bool enabled); + abstract setCameraAutoExposureFaceModeEnabled(enabled: boolean): number; + Future<void> setCameraAutoExposureFaceModeEnabled(bool enabled); +

    Details

    - -

      -
    • This method applies to iOS only.
    • -
    • -

    + +
      +
    • This method applies to iOS + only.
    • +
    • +
    +
    +

    Parameters @@ -41,18 +44,25 @@ enabled

    Whether to enable auto exposure:

      -
    • : Enable auto exposure.
    • -
    • : Disable auto exposure.
    • -

    +
  • : Enable auto exposure.
  • +
  • : Disable auto + exposure.
  • +

    -
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita index 09660310b1a..895a109155f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraautofocusfacemodeenabled.dita @@ -1,64 +1,80 @@ - <ph keyref="setCameraAutoFocusFaceModeEnabled" /> - Enables the camera auto-face focus function. + <ph keyref="setCameraAutoFocusFaceModeEnabled"/> + Enables the camera auto-face focus + function. - +

    - public abstract int setCameraAutoFocusFaceModeEnabled(boolean enabled); - - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable; - virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0; + public abstract int setCameraAutoFocusFaceModeEnabled(boolean enabled); + - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable; + virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetCameraAutoFocusFaceModeEnabled(bool enabled); - abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number; - public abstract int SetCameraAutoFocusFaceModeEnabled(bool enabled); - abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number; - Future<void> setCameraAutoFocusFaceModeEnabled(bool enabled); -

    + abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number; + public abstract int SetCameraAutoFocusFaceModeEnabled(bool enabled); + abstract setCameraAutoFocusFaceModeEnabled(enabled: boolean): number; + Future<void> setCameraAutoFocusFaceModeEnabled(bool enabled); +

    Details -

    The SDK disables face autofocus by default. To set face autofocus, call this method.

    -

    The SDK enables face autofocus by default. To set face autofocus, call this method.

    -

    By default, the SDK disables face autofocus on Android and enables face autofocus on iOS. To set face autofocus, call this method.

    +

    The SDK disables face autofocus by default. To set face autofocus, + call this method.

    +

    The SDK enables face autofocus by default. To set face autofocus, call + this method.

    +

    By default, the SDK disables face autofocus on Android and enables + face autofocus on iOS. To set face autofocus, call this method.

    -
      -
    • This method is for Android and iOS only.
    • -
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • +
    +
    Parameters - - enabled - enable - -

    Whether to enable face autofocus:

      -
    • : Enable the camera auto-face focus function.
    • -
    • : Disable face autofocus.
    • -

    -
    -
    -
    + + enabled + enable + +

    Whether to enable face autofocus:

      +
    • : Enable the camera + auto-face focus function.
    • +
    • : Disable face + autofocus.
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
      -
    • : Success.
    • -
    • : Failure. See for details and resolution suggestions.
    • -
    +
  • : Success.
  • +
  • : Failure. See for details and resolution + suggestions.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita index e75784146dc..4daf8779a24 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameracapturerconfiguration.dita @@ -1,57 +1,77 @@ - <ph keyref="setCameraCapturerConfiguration" /> + <ph keyref="setCameraCapturerConfiguration"/> Sets the camera capture configuration. - +

    - public abstract int setCameraCapturerConfiguration(CameraCapturerConfiguration config); - - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config; - virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setCameraCapturerConfiguration(CameraCapturerConfiguration config); + - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config; + virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetCameraCapturerConfiguration(const FCameraCapturerConfiguration& config); - abstract setCameraCapturerConfiguration( + abstract setCameraCapturerConfiguration( config: CameraCapturerConfiguration ): number; - public abstract int SetCameraCapturerConfiguration(CameraCapturerConfiguration config); - abstract setCameraCapturerConfiguration( + public abstract int SetCameraCapturerConfiguration(CameraCapturerConfiguration config); + abstract setCameraCapturerConfiguration( config: CameraCapturerConfiguration ): number; - Future<void> setCameraCapturerConfiguration( + Future<void> setCameraCapturerConfiguration( CameraCapturerConfiguration config); -

    +

    Details -
      -
    • This method is for Android and iOS only.
    • -
    • Call this method before enabling local camera capture, such as before calling and .
    • -
    • To adjust the camera focal length configuration, It is recommended to call first to check the device's focal length capabilities, and then configure based on the query results.
    • -
    • Due to limitations on some Android devices, even if you set the focal length type according to the results returned in , the settings may not take effect.
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • Call this method before enabling local camera capture, such as before + calling and .
    • +
    • To adjust the camera + focal length configuration, It is recommended to call first to check the device's + focal length capabilities, and then configure based on the query + results.
    • +
    • Due to limitations on some + Android devices, even if you set the focal length type according to the + results returned in , + the settings may not take effect.
    • +
    +
    Parameters - - config - The camera capture configuration. See .In this method, you do not need to set the deviceId parameter. - -
    + + config + The camera capture configuration. See .In this method, you do not need + to set the deviceId parameter. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameradeviceorientation.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameradeviceorientation.dita index 2bc27377b51..7fd9d0dc626 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameradeviceorientation.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameradeviceorientation.dita @@ -1,65 +1,79 @@ - <ph keyref="setCameraDeviceOrientation" /> - Sets the rotation angle of the captured video. + <ph keyref="setCameraDeviceOrientation"/> + Sets the rotation angle of the captured + video. - +

    - - - virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0; + + + virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetCameraDeviceOrientation(EVIDEO_SOURCE_TYPE type, FENUMWRAP_VIDEO_ORIENTATION orientation); - abstract setCameraDeviceOrientation( + abstract setCameraDeviceOrientation( type: VideoSourceType, orientation: VideoOrientation ): number; - public abstract int SetCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation); - abstract setCameraDeviceOrientation( + public abstract int SetCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation); + abstract setCameraDeviceOrientation( type: VideoSourceType, orientation: VideoOrientation ): number; - Future<void> setCameraDeviceOrientation( + Future<void> setCameraDeviceOrientation( {required VideoSourceType type, required VideoOrientation orientation}); -

    -
    +

    +
    Details
      -
    • This method applies to Windows only.
    • -
    • You must call this method after . The setting result will take effect after the camera is successfully turned on, that is, after the SDK triggers the callback and returns the local video state as (1).
    • -
    • When the video capture device does not have the gravity sensing function, you can call this method to manually adjust the rotation angle of the captured video.
    • -
    +
  • This method applies to Windows + only.
  • +
  • You must call this method after . The setting + result will take effect after the camera is successfully turned on, that is, + after the SDK triggers the + callback and returns the local video state as (1).
  • +
  • When the video capture device does not have the gravity sensing function, + you can call this method to manually adjust the rotation angle of the + captured video.
  • +
    Parameters - - type - The video source type. See . - + + type + The video source type. See . + - - orientation - The clockwise rotation angle. See . - -
    + + orientation + The clockwise rotation angle. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita index 81740739432..506344255c4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraexposurefactor.dita @@ -1,66 +1,90 @@ - <ph keyref="setCameraExposureFactor" /> + <ph keyref="setCameraExposureFactor"/> Sets the camera exposure value. - +

    - public abstract int setCameraExposureFactor(int factor); - + public abstract int setCameraExposureFactor(int factor); + - (CGFloat)setCameraExposureFactor:(CGFloat)exposureFactor NS_SWIFT_NAME(setCameraExposureFactor(_:)); - virtual int setCameraExposureFactor(float factor) = 0; - - public abstract int SetCameraExposureFactor(float factor); - abstract setCameraExposureFactor(factor: number): number; - Future<void> setCameraExposureFactor(double factor); -

    -
    + virtual int setCameraExposureFactor(float factor) = 0; + + public abstract int SetCameraExposureFactor(float factor); + abstract setCameraExposureFactor(factor: number): number; + Future<void> setCameraExposureFactor(double factor); +

    +
    Details
    - -
    Since
    -
    v4.2.2
    -
    + +
    Since
    +
    v4.2.2
    +
    -

    Insufficient or excessive lighting in the shooting environment can affect the image quality of video capture. To achieve optimal video quality, you can use this method to adjust the camera's exposure value.

    +

    Insufficient or excessive lighting in the shooting environment can affect the image + quality of video capture. To achieve optimal video quality, you can use this method + to adjust the camera's exposure value.

    -
      -
    • This method is for Android and iOS only.
    • -
    • You must call this method after . The setting result will take effect after the camera is successfully turned on, that is, after the SDK triggers the callback and returns the local video state as (1).
    • -
    • Before calling this method, Agora recommends calling to check whether the current camera supports adjusting the exposure value.
    • -
    • By calling this method, you adjust the exposure value of the currently active camera, that is, the camera specified when calling .
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • You must call this method after . + The setting result will take effect after the camera is successfully turned + on, that is, after the SDK triggers the callback and returns the local video + state as (1).
    • +
    • Before calling this method, Agora recommends calling to check whether the current camera + supports adjusting the exposure value.
    • +
    • By calling this method, you adjust the exposure value of the currently + active camera, that is, the camera specified when calling .
    • +
    Parameters - - exposureFactor - factor - -

    The camera exposure value. The default value is 0, which means using the default exposure of the camera. The larger the value, the greater the exposure. When the video image is overexposed, you can reduce the exposure value; when the video image is underexposed and the dark details are lost, you can increase the exposure value. If the exposure value you specified is beyond the range supported by the device, the SDK will automatically adjust it to the actual supported range of the device.

    -

    The value range is [-20, 20].

    -

    The value range is [-8.0, 8.0].

    -

    On Android, the value range is [-20.0, 20.0]. On iOS, the value range is [-8.0, 8.0].

    -
    -
    -
    + + exposureFactor + factor + +

    The camera exposure value. The default value is 0, which means using the + default exposure of the camera. The larger the value, the greater the + exposure. When the video image is overexposed, you can reduce the + exposure value; when the video image is underexposed and the dark + details are lost, you can increase the exposure value. If the exposure + value you specified is beyond the range supported by the device, the SDK + will automatically adjust it to the actual supported range of the + device.

    +

    The value range is [-20, 20].

    +

    The value range is [-8.0, 8.0].

    +

    On Android, the value range is + [-20.0, 20.0]. On iOS, the value range is [-8.0, 8.0].

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.

    Without practical meaning.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita index 22bca17a57f..9407d0a294d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameraexposureposition.dita @@ -1,67 +1,77 @@ - <ph keyref="setCameraExposurePosition" /> + <ph keyref="setCameraExposurePosition"/> Sets the camera exposure position. - +

    - public abstract int setCameraExposurePosition(float positionXinView, float positionYinView); - - (BOOL)setCameraExposurePosition:(CGPoint)positionInView; - virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0; + public abstract int setCameraExposurePosition(float positionXinView, float positionYinView); + - (BOOL)setCameraExposurePosition:(CGPoint)positionInView; + virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetCameraExposurePosition(float positionXinView, float positionYinView); - abstract setCameraExposurePosition( + abstract setCameraExposurePosition( positionXinView: number, positionYinView: number ): number; - public abstract int SetCameraExposurePosition(float positionXinView, float positionYinView); - abstract setCameraExposurePosition( + public abstract int SetCameraExposurePosition(float positionXinView, float positionYinView); + abstract setCameraExposurePosition( positionXinView: number, positionYinView: number ): number; - Future<void> setCameraExposurePosition( + Future<void> setCameraExposurePosition( {required double positionXinView, required double positionYinView}); -

    +

    Details -
    • This method is for Android and iOS only.
    • -
    • -
    • After a successful method call, the SDK triggers the callback.
    +
      +
    • This method is for Android and iOS + only.
    • +
    • +
    • After a successful method call, the SDK triggers the callback.
    • +
    -
    +
    Parameters - - positionXinView - The horizontal coordinate of the touchpoint in the view. - - - positionYinView - The vertical coordinate of the touchpoint in the view. - - - positionInView - The horizontal coordinate of the touchpoint in the view. - -
    + + positionXinView + The horizontal coordinate of the touchpoint in the view. + + + positionYinView + The vertical coordinate of the touchpoint in the view. + + + positionInView + The horizontal coordinate of the touchpoint in the view. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita index fe05552bef4..c60a1a042bb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcamerafocuspositioninpreview.dita @@ -1,67 +1,75 @@ - <ph keyref="setCameraFocusPositionInPreview" /> + <ph keyref="setCameraFocusPositionInPreview"/> Sets the camera manual focus position. - +

    - public abstract int setCameraFocusPositionInPreview(float positionX, float positionY); - - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position; - virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0; + public abstract int setCameraFocusPositionInPreview(float positionX, float positionY); + - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position; + virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetCameraFocusPositionInPreview(float positionX, float positionY); - abstract setCameraFocusPositionInPreview( + abstract setCameraFocusPositionInPreview( positionX: number, positionY: number ): number; - public abstract int SetCameraFocusPositionInPreview(float positionX, float positionY); - abstract setCameraFocusPositionInPreview( + public abstract int SetCameraFocusPositionInPreview(float positionX, float positionY); + abstract setCameraFocusPositionInPreview( positionX: number, positionY: number ): number; - Future<void> setCameraFocusPositionInPreview( + Future<void> setCameraFocusPositionInPreview( {required double positionX, required double positionY}); -

    +

    Details
      -
    • This method is for Android and iOS only.
    • -
    • -
    • After a successful method call, the SDK triggers the callback.
    • -
    -
    +
  • This method is for Android and iOS + only.
  • +
  • +
  • After a successful method call, the SDK triggers the callback.
  • + +
    Parameters - - positionX - The horizontal coordinate of the touchpoint in the view. - - - positionY - The vertical coordinate of the touchpoint in the view. - - - position - The coordinate of the touchpoint in the view. - -
    + + positionX + The horizontal coordinate of the touchpoint in the view. + + + positionY + The vertical coordinate of the touchpoint in the view. + + + position + The coordinate of the touchpoint in the view. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita index 91b9bd08bf4..994847f4df2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcamerastabilizationmode.dita @@ -13,40 +13,52 @@

    - - - (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:)); - virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0; - - - public abstract int SetCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode); - abstract setCameraStabilizationMode(mode: CameraStabilizationMode): number; - Future<void> setCameraStabilizationMode(CameraStabilizationMode mode);

    + + - (int) setCameraStabilizationMode:(AgoraCameraStabilizationMode)mode NS_SWIFT_NAME(setCameraStabilizationMode(_:)); + virtual int setCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode) = 0; + + + public abstract int SetCameraStabilizationMode(CAMERA_STABILIZATION_MODE mode); + abstract setCameraStabilizationMode(mode: CameraStabilizationMode): number; + Future<void> setCameraStabilizationMode(CameraStabilizationMode mode); +

    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +

    This method applies to iOS only.

    -

    The camera stabilization mode is off by default. You need to call this method to turn it on and set the appropriate stabilization mode.

    +

    The camera stabilization mode is off by default. You need to call this method to turn + it on and set the appropriate stabilization mode.

    Applicable scenarios -

    When shooting on the move, in low light conditions, or with mobile devices, you can set the camera stabilization mode to reduce the impact of camera shake and get a more stable, clear picture.

    +

    When shooting on the move, in low light conditions, or with mobile devices, you can + set the camera stabilization mode to reduce the impact of camera shake and get a + more stable, clear picture.

    Call timing -

    This method must be called after the camera is successfully enabled, that is, after the SDK triggers the callback and returns the local video state as (1).

    -
    +

    This method must be called after the camera is successfully enabled, that is, after + the SDK triggers the callback and returns + the local video state as + (1).

    +
    Restrictions
      -
    • Camera stabilization only works for scenarios with a video resolution greater than 1280 x 720.
    • -
    • After enabling camera stabilization, the higher the camera stabilization level, the smaller the camera's field of view and the greater the camera's latency. To improve user experience, it is recommended that you set the mode parameter to .
    • +
    • Camera stabilization only works for scenarios with a video resolution greater + than 1280 x 720.
    • +
    • After enabling camera stabilization, the higher the camera stabilization level, + the smaller the camera's field of view and the greater the camera's latency. To + improve user experience, it is recommended that you set the + mode parameter to .
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    -
    +
  • < 0: Failure. See for details + and resolution suggestions.
  • + + + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita index d24630159a7..9042c4f58ad 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcameratorchon.dita @@ -1,56 +1,65 @@ - <ph keyref="setCameraTorchOn" /> + <ph keyref="setCameraTorchOn"/> Enables the camera flash. - +

    - public abstract int setCameraTorchOn(boolean isOn); - - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:)); - virtual int setCameraTorchOn(bool isOn) = 0; + public abstract int setCameraTorchOn(boolean isOn); + - (BOOL)setCameraTorchOn:(BOOL)isOn NS_SWIFT_NAME(setCameraTorchOn(_:)); + virtual int setCameraTorchOn(bool isOn) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setCameraTorchOn(isOn: boolean): number; + public abstract int SetCameraTorchOn(bool isOn); + abstract setCameraTorchOn(isOn: boolean): number; + Future<void> setCameraTorchOn(bool isOn); +

    Details -
      -
    • This method is for Android and iOS only.
    • -
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • +
    +
    Parameters - - isOn - -

    Whether to turn on the camera flash:

      -
    • : Turn on the flash.
    • -
    • : (Default) Turn off the flash.
    • -

    -
    -
    -
    + + isOn + +

    Whether to turn on the camera flash:

      +
    • : Turn on the flash.
    • +
    • : (Default) Turn off the + flash.
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita index f901990726d..758c4f9ad72 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcamerazoomfactor.dita @@ -1,53 +1,72 @@ - <ph keyref="setCameraZoomFactor" /> + <ph keyref="setCameraZoomFactor"/> Sets the camera zoom factor. - +

    - public abstract int setCameraZoomFactor(float factor); - - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor; - virtual int setCameraZoomFactor(float factor) = 0; + public abstract int setCameraZoomFactor(float factor); + - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor; + virtual int setCameraZoomFactor(float factor) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setCameraZoomFactor(factor: number): number; + public abstract int SetCameraZoomFactor(float factor); + abstract setCameraZoomFactor(factor: number): number; + Future<void> setCameraZoomFactor(double factor); +

    Details -

    For iOS devices equipped with multi-lens rear cameras, such as those featuring dual-camera (wide-angle and ultra-wide-angle) or triple-camera (wide-angle, ultra-wide-angle, and telephoto), you can call first to set the cameraFocalLengthType as (0) (standard lens). Then, adjust the camera zoom factor to a value less than 1.0. This configuration allows you to capture video with an ultra-wide-angle perspective.

    +

    For iOS devices equipped with multi-lens + rear cameras, such as those featuring dual-camera (wide-angle and ultra-wide-angle) + or triple-camera (wide-angle, ultra-wide-angle, and telephoto), you can call first to set the + cameraFocalLengthType as (0) (standard lens). Then, adjust the + camera zoom factor to a value less than 1.0. This configuration allows you to + capture video with an ultra-wide-angle perspective.

    -
      -
    • This method is for Android and iOS only.
    • -
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • +
    +
    Parameters - - factor - zoomFactor - The camera zoom factor. For devices that do not support ultra-wide-angle, the value ranges from 1.0 to the maximum zoom factor; for devices that support ultra-wide-angle, the value ranges from 0.5 to the maximum zoom factor. You can get the maximum zoom factor supported by the device by calling the method. - -
    + + factor + zoomFactor + The camera zoom factor. For devices that do not support ultra-wide-angle, + the value ranges from 1.0 to the maximum zoom factor; for devices that + support ultra-wide-angle, the value ranges from 0.5 to the maximum zoom + factor. You can get the maximum zoom factor supported by the device by + calling the method. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • The camera zoom factor value, if successful.
    • -
    • < 0: if the method if failed.
    • -
    +
  • The camera zoom + factor value, if successful.
  • +
  • < 0: if the method if failed.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita index 158e10e567c..4e1fe98fb65 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setchannelprofile.dita @@ -1,74 +1,106 @@ - <ph keyref="setChannelProfile" /> + <ph keyref="setChannelProfile"/> Sets the channel profile. - +

    - public abstract int setChannelProfile(int profile); - - (int)setChannelProfile:(AgoraChannelProfile)profile; - virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setChannelProfile(int profile); + - (int)setChannelProfile:(AgoraChannelProfile)profile; + virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setChannelProfile(profile: ChannelProfileType): number; + public abstract int SetChannelProfile(CHANNEL_PROFILE_TYPE profile); + abstract setChannelProfile(profile: ChannelProfileType): number; + Future<void> setChannelProfile(ChannelProfileType profile); +

    Details -

    After initializing the SDK, the default channel profile is the live streaming profile. You can call this method to set the channel profile. The Agora SDK differentiates channel profiles and applies optimization algorithms accordingly. For example, it prioritizes smoothness and low latency for a video call and prioritizes video quality for interactive live video streaming.

    +

    After initializing the SDK, the default channel profile is the live streaming + profile. You can call this method to set the channel profile. The Agora SDK + differentiates channel profiles and applies optimization algorithms accordingly. For + example, it prioritizes smoothness and low latency for a video call and prioritizes + video quality for interactive live video streaming.

    -
      -
    • To ensure the quality of real-time communication, Agora recommends that all users in a channel use the same channel profile.
    • -
    • This method must be called and set before , and cannot be set again after joining the channel.
    • -
    • The default audio route and video encoding bitrate are different in different channel profiles. See and .
    • -
    • The default video encoding bitrate are different in different channel profiles. See .
    • -
    +
      +
    • To ensure the quality of real-time communication, Agora recommends that all + users in a channel use the same channel profile.
    • +
    • This method must be called and set before , + and cannot be set again after joining the channel.
    • +
    • The default audio route and video + encoding bitrate are different in different channel profiles. See and .
    • +
    • The default video encoding bitrate are different in + different channel profiles. See .
    • +
    + +
    Parameters - - profile - -

    The channel profile. See .

    -

    The channel profile.

      -
    • (0): Communication. Agora recommends using the live streaming profile for a better audio and video experience.
    • -
    • (1): (Default) Live streaming.
    • -
    • (2): Gaming.
      - -
      Deprecated:
      -
      Use instead.
      -
      -
    • -
    • (3): Interaction. The scenario is optimized for latency. Use this profile if the use case requires frequent interactions between users.
      - -
      Deprecated:
      -
      Use instead.
      -
      -
    • -

    -
    -
    -
    + + profile + +

    The channel + profile. See .

    +

    The channel profile.

      +
    • (0): Communication. + Agora recommends using the live streaming profile for a better + audio and video experience.
    • +
    • (1): (Default) + Live streaming.
    • +
    • (2): Gaming.
      + +
      Deprecated:
      +
      Use + instead.
      +
      +
      +
    • +
    • (3): Interaction. The + scenario is optimized for latency. Use this profile if the use + case requires frequent interactions between users.
      + +
      Deprecated:
      +
      Use + instead.
      +
      +
      +
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0(ERR_OK): Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The parameter is invalid.
      • -
      • -7: The SDK is not initialized.
      • -
    • -
    +
  • 0(ERR_OK): Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: The parameter is invalid.
    • +
    • -7: The SDK is not initialized.
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole.dita index 634ef94e76f..d2d89fec3c6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole.dita @@ -1,67 +1,80 @@ - <ph keyref="setClientRole1" /> + <ph keyref="setClientRole1"/> Sets the client role. - +

    - public abstract int setClientRole(int role); - - (int)setClientRole:(AgoraClientRole)role; - virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; - abstract setClientRole( + public abstract int setClientRole(int role); + - (int)setClientRole:(AgoraClientRole)role; + virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; + abstract setClientRole( role: ClientRoleType, options?: ClientRoleOptions ): number; - public abstract int SetClientRole(CLIENT_ROLE_TYPE role); - abstract setClientRole( + public abstract int SetClientRole(CLIENT_ROLE_TYPE role); + abstract setClientRole( role: ClientRoleType, options?: ClientRoleOptions ): number; -

    +

    Details -

    In the interactive live streaming profile, the SDK sets the user role as audience by default. You can call this method to set the user role as host.

    +

    In the interactive live streaming profile, the SDK sets the user role as + audience by default. You can call this method to set the user role as host.

    You can call this method either before or after joining a channel.

    -

    If you call this method to switch the user role after joining a channel, the SDK automatically does the following:

      -
    • Calls and to change the publishing state.
    • -
    • Triggers on the local client.
    • -
    • Triggers or on the remote client.
    • +

      If you call this method to switch the user role after joining a channel, the SDK + automatically does the following:

        +
      • Calls and to change the publishing state.
      • +
      • Triggers on the local client.
      • +
      • Triggers or on + the remote client.

    Parameters - - role - -

    The user role. See .

    -

    The user role:

      -
    • (1): Host.
    • -
    • (2): Audience.
    • -

    - If you set the user role as an audience member, you cannot publish audio and video streams in the channel. If you want to publish media streams in a channel during live streaming, ensure you set the user role as broadcaster. -
    -
    -
    + + role + +

    The user role. See + .

    +

    The user role:

      +
    • (1): Host.
    • +
    • (2): Audience.
    • +
    +

    + If you set the user role as an audience member, you cannot + publish audio and video streams in the channel. If you want to publish + media streams in a channel during live streaming, ensure you set the + user role as broadcaster. +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -7: The SDK is not initialized.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -1: A general error occurs (no specified reason).
    • +
    • -2: The parameter is invalid.
    • +
    • -7: The SDK is not initialized.
    • +
    +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita index d108f97d63d..03091b47b52 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setclientrole2.dita @@ -1,78 +1,109 @@ - <ph keyref="setClientRole2" /> - Sets the user role and level in an interactive live streaming channel. + <ph keyref="setClientRole2"/> + Sets the user role and level in an interactive live + streaming channel. - +

    - public abstract int setClientRole(int role, ClientRoleOptions options); - - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options; - virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setClientRole(int role, ClientRoleOptions options); + - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options; + virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetClientRole(ECLIENT_ROLE_TYPE clientroletype, FClientRoleOptions& options); - abstract setClientRole( + abstract setClientRole( role: ClientRoleType, options?: ClientRoleOptions ): number; - public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); - abstract setClientRole( + public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); + abstract setClientRole( role: ClientRoleType, options?: ClientRoleOptions ): number; - Future<void> setClientRole( + Future<void> setClientRole( {required ClientRoleType role, ClientRoleOptions? options}); -

    +

    Details -

    In the interactive live streaming profile, the SDK sets the user role as audience by default. You can call this method to set the user role as host.

    +

    In the interactive live streaming profile, the SDK sets the user role as audience by + default. You can call this method to set the user role as host.

    You can call this method either before or after joining a channel.

    -

    If you call this method to set the user's role as the host before joining the channel and set the local video property through the method, the local video preview is automatically enabled when the user joins the channel.

    -

    If you call this method to switch the user role after joining a channel, the SDK automatically does the following:

      -
    • Calls and to change the publishing state.
    • -
    • Triggers on the local client.
    • -
    • Triggers or on the remote client.
    • -

    -

    The difference between this method and is that this method can set the user level in addition to the user role.

      -
    • The user role (role) determines the permissions that the SDK grants to a user, such as permission to send local streams, receive remote streams, and push streams to a CDN address.
    • -
    • The user level (level) determines the level of services that a user can enjoy within the permissions of the user's role. For example, an audience member can choose to receive remote streams with low latency or ultra-low latency. User level affects the pricing of services.
    • -

    - This method applies to the interactive live streaming profile (the profile parameter of is set as ) only.
    +

    If you call this method to set + the user's role as the host before joining the channel and set the local video + property through the method, the local video + preview is automatically enabled when the user joins the channel.

    +

    If you call this method to switch the user role after joining a channel, the SDK + automatically does the following:

      +
    • Calls and to change the publishing state.
    • +
    • Triggers on the local client.
    • +
    • Triggers or on + the remote client.
    • +

    +

    The difference between this method and is that this method can set the user level in addition + to the user role.

      +
    • The user role (role) determines the permissions that + the SDK grants to a user, such as permission to send local streams, receive + remote streams, and push streams to a CDN address.
    • +
    • The user level (level) determines the + level of services that a user can enjoy within the + permissions of the user's role. For example, an audience member can choose + to receive remote streams with low latency or ultra-low latency. User + level affects the pricing of services.
    • +

    + This method applies to the interactive live streaming profile + (the profile parameter of is + set as ) only. +
    Parameters - - role - clientRoleType - The user role in the interactive live streaming. See .
      -
    • (1): Host. A host can both send and receive streams.
    • -
    • (2): (Default) Audience. An audience member can only receive streams.
    • -
    -
    - - options - The detailed options of a user, including the user level. See . - -
    + + role + clientRoleType + The user role in the interactive live streaming. See .
      +
    • (1): Host. A host can both + send and receive streams.
    • +
    • (2): (Default) Audience. An + audience member can only receive streams.
    • +
    +
    +
    + + options + The detailed options of a user, including the user level. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -5: The request is rejected.
      • -
      • -7: The SDK is not initialized.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -1: A general error occurs (no specified reason).
    • +
    • -2: The parameter is invalid.
    • +
    • -5: The request is rejected.
    • +
    • -7: The SDK is not initialized.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita index ff55acaaf45..16e7e4b5224 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcloudproxy.dita @@ -1,66 +1,98 @@ - <ph keyref="setCloudProxy" /> + + <ph keyref="setCloudProxy"/> + Sets up cloud proxy service. - +

    - public abstract int setCloudProxy(int proxyType); - - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:)); - virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setCloudProxy(int proxyType); + - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:)); + virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setCloudProxy(proxyType: CloudProxyType): number; + public abstract int SetCloudProxy(CLOUD_PROXY_TYPE proxyType); + abstract setCloudProxy(proxyType: CloudProxyType): number; + Future<void> setCloudProxy(CloudProxyType proxyType); +

    Details -

    When users' network access is restricted by a firewall, configure the firewall to allow specific IP addresses and ports provided by Agora; then, call this method to enable the cloud proxyType and set the cloud proxy type with the proxyType parameter.

    -

    After successfully connecting to the cloud proxy, the SDK triggers the (, ) callback.

    -

    To disable the cloud proxy that has been set, call the ().

    -

    To change the cloud proxy type that has been set, call the () first, and then call the to set the proxyType you want.

    +

    When users' network access is restricted by a firewall, configure the firewall to + allow specific IP addresses and ports provided by Agora; then, call this method to + enable the cloud proxyType and set the cloud proxy type with + the proxyType parameter.

    +

    After successfully connecting to the cloud proxy, the SDK triggers the (, + ) callback.

    +

    To disable the cloud proxy that has been set, call the ().

    +

    To change the cloud proxy type that has been set, call the () first, and + then call the to set the + proxyType you want.

    -
      -
    • Agora recommends that you call this method after joining a channel.
    • -
    • When a user is behind a firewall and uses the Force UDP cloud proxy, the services for Media Push and cohosting across channels are not available.
    • -
    • When you use the Force TCP cloud proxy, note that an error would occur when calling the method to play online music files in the HTTP protocol. The services for Media Push and cohosting across channels use the cloud proxy with the TCP protocol.
    • -
    +
      +
    • Agora recommends that you call this method after joining a channel.
    • +
    • When a user is behind a firewall and uses the Force UDP cloud proxy, the + services for Media Push and cohosting across channels are not + available.
    • +
    • When you use the Force TCP cloud proxy, note that an error would occur when + calling the method to play online music + files in the HTTP protocol. The services for Media Push and cohosting across + channels use the cloud proxy with the TCP protocol.
    • +
    Parameters - - proxyType - -

    The type of the cloud proxy. See .

    -

    The type of the cloud proxy.

      -
    • (0): The automatic mode. The SDK has this mode enabled by default. In this mode, the SDK attempts a direct connection to SD-RTN™ and automatically switches to TCP/TLS 443 if the attempt fails.
    • -
    • (1): The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP.
    • -
    • (2): The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TCP/TLS 443.
    • -

    -

    This parameter is mandatory. The SDK reports an error if you do not pass in a value.

    -
    -
    -
    + + proxyType + +

    The type of + the cloud proxy. See .

    +

    The type of the cloud proxy.

      +
    • (0): The automatic mode. The SDK has + this mode enabled by default. In this mode, the SDK attempts a + direct connection to SD-RTN™ and automatically switches to + TCP/TLS 443 if the attempt fails.
    • +
    • (1): The cloud proxy for the UDP + protocol, that is, the Force UDP cloud proxy mode. In this mode, + the SDK always transmits data over UDP.
    • +
    • (2): The cloud proxy for the TCP + (encryption) protocol, that is, the Force TCP cloud proxy mode. + In this mode, the SDK always transmits data over TCP/TLS + 443.
    • +

    +

    This parameter is mandatory. The SDK reports an error if you do not pass + in a value.

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The parameter is invalid.
      • -
      • -7: The SDK is not initialized.
      • -
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for + details and resolution suggestions.
        +
      • -2: The parameter is invalid.
      • +
      • -7: The SDK is not initialized.
      • +
      +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita index b1ef621f54a..d994fa08fde 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions.dita @@ -1,82 +1,108 @@ - <ph keyref="setColorEnhanceOptions" /> + + <ph keyref="setColorEnhanceOptions"/> + Sets color enhancement. - +

    - public abstract int setColorEnhanceOptions(boolean enabled, ColorEnhanceOptions options); + 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|RtcEngineProxy") + virtual int setColorEnhanceOptions(bool enabled, const ColorEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetColorEnhanceOptions(bool enabled, const FColorEnhanceOptions& options, EMEDIA_SOURCE_TYPE type); - abstract setColorEnhanceOptions( + abstract setColorEnhanceOptions( enabled: boolean, options: ColorEnhanceOptions, type?: MediaSourceType ): number; - public abstract int SetColorEnhanceOptions(bool enabled, ColorEnhanceOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setColorEnhanceOptions( + public abstract int SetColorEnhanceOptions(bool enabled, ColorEnhanceOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); + abstract setColorEnhanceOptions( enabled: boolean, options: ColorEnhanceOptions, type?: MediaSourceType ): number; - Future<void> setColorEnhanceOptions( + Future<void> setColorEnhanceOptions( {required bool enabled, required ColorEnhanceOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    Details -

    The video images captured by the camera can have color distortion. The color enhancement feature intelligently adjusts video characteristics such as saturation and contrast to enhance the video color richness and color reproduction, making the video more vivid.

    -

    You can call this method to enable the color enhancement feature and set the options of the color enhancement effect.

    +

    The video images captured by the camera can have color distortion. The color + enhancement feature intelligently adjusts video characteristics such as saturation + and contrast to enhance the video color richness and color reproduction, making the + video more vivid.

    +

    You can call this method to enable the color enhancement feature and set the options + of the color enhancement effect.

    -
      -
    • Call this method after calling .
    • -
    • The color enhancement feature has certain performance requirements on devices. With color enhancement turned on, Agora recommends that you change the color enhancement level to one that consumes less performance or turn off color enhancement if your device is experiencing severe heat problems.
    • -
    • Both this method and can enable color enhancement:
        -
      • When you use the SDK to capture video, Agora recommends this method (this method only works for video captured by the SDK).
      • -
      • When you use an external video source to implement custom video capture, or send an external video source to the SDK, Agora recommends using .
      • -
    • -
    • This method relies on the image enhancement dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • -
    +
      +
    • Call this method after calling .
    • +
    • The color enhancement feature has certain performance requirements on + devices. With color enhancement turned on, Agora recommends that you change + the color enhancement level to one that consumes less performance or turn + off color enhancement if your device is experiencing severe heat + problems.
    • +
    • Both this method and can enable color enhancement:
        +
      • When you use the SDK to capture video, Agora recommends this method + (this method only works for video captured by the SDK).
      • +
      • When you use an external video source to implement custom video + capture, or send an external video source to the SDK, Agora + recommends using .
      • +
    • +
    • This method relies on the image enhancement dynamic library . If the dynamic library is deleted, + the function cannot be enabled normally.
    • +
    + +
    Parameters - - enabled - enable - Whether to enable color enhancement:
      -
    • Enable color enhancement.
    • -
    • : (Default) Disable color enhancement.
    • -
    -
    - - options - The color enhancement options. See . - - - - - -
    + + enabled + enable + Whether to enable color enhancement:
      +
    • Enable color enhancement.
    • +
    • : (Default) Disable color + enhancement.
    • +
    +
    + + options + The color enhancement options. See . + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions2.dita index deed3f38f98..cf191ad46ec 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcolorenhanceoptions2.dita @@ -1,61 +1,76 @@ - <ph keyref="setColorEnhanceOptions2" /> - Sets color enhance options and specifies the media source. + + <ph keyref="setColorEnhanceOptions2"/> + + Sets color enhance options and specifies the media + source. - +

    - public abstract int setColorEnhanceOptions( + public abstract int setColorEnhanceOptions( boolean enabled, ColorEnhanceOptions options, Constants.MediaSourceType sourceType); - - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setColorEnhanceOptions(_:options:sourceType:)); - - - - - - -

    + - (int)setColorEnhanceOptions:(BOOL)enable options:(AgoraColorEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setColorEnhanceOptions(_:options:sourceType:)); + + + + + + +

    Details -

    The video images captured by the camera can have color distortion. The color enhancement feature intelligently adjusts video characteristics such as saturation and contrast to enhance the video color richness and color reproduction, making the video more vivid.

    -

    Both this method and set color enhancement options, but this method allows you to specify the media source to which the color enhance options are applied.

    +

    The video images captured by the camera can have color distortion. The color + enhancement feature intelligently adjusts video characteristics such as saturation + and contrast to enhance the video color richness and color reproduction, making the + video more vivid.

    +

    Both this method and set color enhancement + options, but this method allows you to specify the media source to which the color + enhance options are applied.

    Parameters - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setcontentinspect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setcontentinspect.dita index a76b208b47a..2f97461f2dc 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setcontentinspect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setcontentinspect.dita @@ -2,36 +2,38 @@ setContentInspec - + - +

    - - - - - - - - There are no corresponding names available

    + + + + + + + + There are no corresponding names available +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita index c2b8e7e755f..13d1fc3cb4c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultaudioroutetospeakerphone.dita @@ -6,65 +6,85 @@ - +

    - public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeaker); - - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker; - virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0; + public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeaker); + - (int)setDefaultAudioRouteToSpeakerphone:(BOOL)defaultToSpeaker; + virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); - abstract setDefaultAudioRouteToSpeakerphone( + abstract setDefaultAudioRouteToSpeakerphone( defaultToSpeaker: boolean ): number; - public abstract int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); - abstract setDefaultAudioRouteToSpeakerphone( + public abstract int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); + abstract setDefaultAudioRouteToSpeakerphone( defaultToSpeaker: boolean ): number; - Future<void> setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); -

    + Future<void> setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); +

    Details -
      -
    • This method applies to Android and iOS only.
    • -
    • Ensure that you call this method before joining a channel. If you need to change the audio route after joining a channel, call .
    • -
    +
      +
    • This method applies to Android and iOS + only.
    • +
    • Ensure that you call this method before joining a channel. If you need to + change the audio route after joining a channel, call .
    • +
    -

    Most mobile phones have two audio routes: an earpiece at the top, and a speakerphone at the bottom. The earpiece plays at a lower volume, and the speakerphone at a higher volume. When setting the default audio route, you determine whether audio playback comes through the earpiece or speakerphone when no external audio device is connected.

    -

    In different scenarios, the default audio routing of the system is also different. See the following:

      -
    • Voice call: Earpiece.
    • -
    • Audio broadcast: Speakerphone.
    • -
    • Video call: Speakerphone.
    • -
    • Video broadcast: Speakerphone.
    • -

    -

    You can call this method to change the default audio route. After a successful method call, the SDK triggers the callback.

    +

    Most mobile phones have two audio routes: an earpiece at the top, and a speakerphone + at the bottom. The earpiece plays at a lower volume, and the speakerphone at a + higher volume. When setting the default audio route, you determine whether audio + playback comes through the earpiece or speakerphone when no external audio device is + connected.

    +

    In different scenarios, the default audio routing of the system is also different. + See the following:

      +
    • Voice call: Earpiece.
    • +
    • Audio broadcast: Speakerphone.
    • +
    • Video call: Speakerphone.
    • +
    • Video broadcast: Speakerphone.
    • +

    +

    You can call this method to change the default audio route. After a successful method + call, the SDK triggers the callback.

    -

    The system audio route changes when an external audio device, such as a headphone or a Bluetooth audio device, is connected. See Audio Route for detailed change principles.

    -
    +

    The system audio route changes when an external audio device, such as a headphone + or a Bluetooth audio device, is connected. See Audio Route for detailed change principles.

    + +
    Parameters - - defaultToSpeaker - Whether to set the speakerphone as the default audio route:
      -
    • : Set the speakerphone as the default audio route.
    • -
    • : Set the earpiece as the default audio route.
    • -
    -
    -
    + + defaultToSpeaker + Whether to set the speakerphone as the default audio route:
      +
    • : Set the speakerphone as the + default audio route.
    • +
    • : Set the earpiece as the + default audio route.
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremoteaudiostreams.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremoteaudiostreams.dita index c303fb75e31..18db71fe8f7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremoteaudiostreams.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremoteaudiostreams.dita @@ -1,62 +1,82 @@ - <ph keyref="setDefaultMuteAllRemoteAudioStreams" /> - Stops or resumes subscribing to the audio streams of all remote users by default. + <ph keyref="setDefaultMuteAllRemoteAudioStreams"/> + Stops or resumes subscribing to the audio streams of + all remote users by default. - +

    - public abstract int setDefaultMuteAllRemoteAudioStreams(boolean muted); - - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute; - virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; - abstract setDefaultMuteAllRemoteAudioStreams(mute: boolean): number; - public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); - abstract setDefaultMuteAllRemoteAudioStreams(mute: boolean): number; - Future<void> setDefaultMuteAllRemoteAudioStreams(bool mute); -

    + public abstract int setDefaultMuteAllRemoteAudioStreams(boolean muted); + - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute; + virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; + abstract setDefaultMuteAllRemoteAudioStreams(mute: boolean): number; + public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); + abstract setDefaultMuteAllRemoteAudioStreams(mute: boolean): number; + Future<void> setDefaultMuteAllRemoteAudioStreams(bool mute); +

    Details
    - -
    Deprecated:
    -
    This method is deprecated, use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated, use + instead.
    +
    -

    Call this method after joining a channel. After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all subsequent users.

    +

    Call this method after joining a channel. After successfully calling + this method, the local user stops or resumes subscribing to the audio streams of all + subsequent users.

    -

    If you need to resume subscribing to the audio streams of remote users in the channel after calling this method, do the following:

      -
    • To resume subscribing to the audio stream of a specified user, call (), and specify the user ID.
    • -
    • To resume subscribing to the audio streams of multiple remote users, call () multiple times.
    • -

    -
    +

    If you need to resume subscribing to the audio streams of remote users in the + channel after calling this method, do the following:

      +
    • To resume subscribing to the audio stream of a specified user, call + (), and specify the user ID.
    • +
    • To resume subscribing to the audio streams of multiple remote users, + call () multiple times.
    • +
    +

    + +
    Parameters - - muted - mute - -

    Whether to stop subscribing to the audio streams of all remote users by default.

      -
    • : Stop subscribing to the audio streams of all remote users by default.
    • -
    • : (Default) Subscribe to the audio streams of all remote users by default.
    • -

    -
    -
    -
    + + muted + mute + +

    Whether to stop subscribing to the audio streams of all remote users by default.

      +
    • : Stop subscribing to the + audio streams of all remote users by default.
    • +
    • : (Default) Subscribe to + the audio streams of all remote users by default.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremotevideostreams.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremotevideostreams.dita index de8fbe13906..adbc1f8cc27 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremotevideostreams.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdefaultmuteallremotevideostreams.dita @@ -1,56 +1,76 @@ - <ph keyref="setDefaultMuteAllRemoteVideoStreams" /> - Stops or resumes subscribing to the video streams of all remote users by default. + <ph keyref="setDefaultMuteAllRemoteVideoStreams"/> + Stops or resumes subscribing to the video streams of + all remote users by default. - +

    - public abstract int setDefaultMuteAllRemoteVideoStreams(boolean muted); - - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute; - virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; - abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number; - public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); - abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number; - Future<void> setDefaultMuteAllRemoteVideoStreams(bool mute); -

    + public abstract int setDefaultMuteAllRemoteVideoStreams(boolean muted); + - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute; + virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; + abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number; + public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); + abstract setDefaultMuteAllRemoteVideoStreams(mute: boolean): number; + Future<void> setDefaultMuteAllRemoteVideoStreams(bool mute); +

    Details -

    Call this method after joining a channel. After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all subsequent users.

    +

    Call this method after joining a channel. After successfully calling + this method, the local user stops or resumes subscribing to the audio streams of all + subsequent users.

    -

    If you need to resume subscribing to the audio streams of remote users in the channel after calling this method, do the following:

      -
    • To resume subscribing to the audio stream of a specified user, call (), and specify the user ID.
    • -
    • To resume subscribing to the audio streams of multiple remote users, call () multiple times.
    • -

    -
    +

    If you need to resume subscribing to the audio streams of remote users in the + channel after calling this method, do the following:

      +
    • To resume subscribing to the audio stream of a specified user, call + (), and specify the user ID.
    • +
    • To resume subscribing to the audio streams of multiple remote users, + call () multiple times.
    • +
    +

    + +
    Parameters - - muted - mute - -

    Whether to stop subscribing to the audio streams of all remote users by default.

      -
    • : Stop subscribing to the audio streams of all remote users by default.
    • -
    • : (Default) Resume subscribing to the audio streams of all remote users by default.
    • -

    -
    -
    -
    + + muted + mute + +

    Whether to stop subscribing to the audio streams of all remote users by default.

      +
    • : Stop subscribing to the + audio streams of all remote users by default.
    • +
    • : (Default) Resume + subscribing to the audio streams of all remote users by + default.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setdevicevolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setdevicevolume.dita index c693be3cd33..faeed464af4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdevicevolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdevicevolume.dita @@ -1,50 +1,54 @@ - <ph keyref="setDeviceVolume" /> - Sets the volume of the specified device. + <ph keyref="setDeviceVolume"/> + Sets the volume of the specified + device. - +

    - - - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume; - - - - - -

    + + - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume; + + + + + +

    Details

    Sets the volume of audio or video capture or playback devices.

    - Call this method after joining a channel.
    + Call this method after joining a channel. +
    Parameters - - type - -

    - - - - volume - The volume of the specified device. The value range is [0,255]. - -

    + + type + +

    + + + + volume + The volume of the specified device. The value range is [0,255]. + + +

    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingaudioconfiguration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingaudioconfiguration.dita index eaf481e6dbc..94d69b65544 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingaudioconfiguration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingaudioconfiguration.dita @@ -1,53 +1,64 @@ - <ph keyref="setDirectCdnStreamingAudioConfiguration" /> - Sets the audio profile of the audio streams directly pushed to the CDN by the host. + <ph keyref="setDirectCdnStreamingAudioConfiguration"/> + Sets the audio profile of the audio streams directly + pushed to the CDN by the host. - +

    - public abstract int setDirectCdnStreamingAudioConfiguration(int profile); - - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile; - virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setDirectCdnStreamingAudioConfiguration(int profile); + - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile; + virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetDirectCdnStreamingAudioConfiguration(EAUDIO_PROFILE_TYPE profile); - abstract setDirectCdnStreamingAudioConfiguration( + abstract setDirectCdnStreamingAudioConfiguration( profile: AudioProfileType ): number; - public abstract int SetDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile); - abstract setDirectCdnStreamingAudioConfiguration( + public abstract int SetDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile); + abstract setDirectCdnStreamingAudioConfiguration( profile: AudioProfileType ): number; - Future<void> setDirectCdnStreamingAudioConfiguration( + Future<void> setDirectCdnStreamingAudioConfiguration( AudioProfileType profile); -

    +

    -

    When you set the publishMicrophoneTrack or publishCustomAudioTrack in the as to capture audios, you can call this method to set the audio profile.

    +

    When you set the publishMicrophoneTrack or + publishCustomAudioTrack in the as to capture audios, you can call this method to set the audio + profile.

    Parameters - - profile - -

    - - -

    + + profile + +

    + + + +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingvideoconfiguration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingvideoconfiguration.dita index 22025f1c1f9..53573dbdfba 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingvideoconfiguration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdirectcdnstreamingvideoconfiguration.dita @@ -2,7 +2,8 @@ <ph keyref="setDirectCdnStreamingVideoConfiguration"/> - Sets the video profile of the media streams directly pushed to the CDN by the host. + Sets the video profile of the media streams directly + pushed to the CDN by the host. @@ -13,43 +14,62 @@

    - public abstract int setDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); - - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; - virtual + public abstract int setDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); + - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; + virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetDirectCdnStreamingVideoConfiguration(const FVideoEncoderConfiguration& config); - abstract setDirectCdnStreamingVideoConfiguration( + abstract setDirectCdnStreamingVideoConfiguration( config: VideoEncoderConfiguration ): number; - public abstract int SetDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); - abstract setDirectCdnStreamingVideoConfiguration( + public abstract int SetDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); + abstract setDirectCdnStreamingVideoConfiguration( config: VideoEncoderConfiguration ): number; - Future<void> setDirectCdnStreamingVideoConfiguration( + Future<void> setDirectCdnStreamingVideoConfiguration( VideoEncoderConfiguration config); -

    +

    Details -

    This method only affects video streams captured by cameras or screens, or from custom video capture sources. That is, when you set publishCameraTrack or publishCustomVideoTrack in as to capture videos, you can call this method to set the video profiles.

    -

    If your local camera does not support the video resolution you set,the SDK automatically adjusts the video resolution to a value that is closest to your settings for capture, encoding or streaming, with the same aspect ratio as the resolution you set. You can get the actual resolution of the video streams through the callback.

    +

    This method only affects video streams captured by cameras or screens, or from + custom video capture sources. That is, when you set + publishCameraTrack or + publishCustomVideoTrack in as to capture videos, you can call this method to set the video + profiles.

    +

    If your local camera does not support the video resolution you set,the SDK + automatically adjusts the video resolution to a value that is closest to your + settings for capture, encoding or streaming, with the same aspect ratio as the + resolution you set. You can get the actual resolution of the video streams through + the callback.

    Parameters - - config - Video profile. See .During CDN live streaming, Agora only supports setting as or . - -
    + + config + Video profile. See .During + CDN live streaming, Agora only supports setting as or . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita index ee283025f4e..3699e1ed3e1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdualstreammode.dita @@ -2,7 +2,8 @@ <ph keyref="setDualStreamMode"/> - Sets the dual-stream mode on the sender side. + Sets the dual-stream mode on the sender + side. @@ -13,44 +14,69 @@

    - public abstract int setDualStreamMode(Constants.SimulcastStreamMode mode); - - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode; - virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0; - - public abstract int SetDualStreamMode(SIMULCAST_STREAM_MODE mode); - - -

    + public abstract int setDualStreamMode(Constants.SimulcastStreamMode mode); + - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode; + virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode) = 0; + + public abstract int SetDualStreamMode(SIMULCAST_STREAM_MODE mode); + + +

    - Details
    - -
    Since
    -
    v4.0.1
    -
    + Details +
    + +
    Since
    +
    v4.0.1
    +
    -

    The SDK defaults to enabling low-quality video stream adaptive mode () on the sender side, which means the sender does not actively send low-quality video stream. The receiving end with the role of the host can initiate a low-quality video stream request by calling , and upon receiving the request, the sending end automatically starts sending low-quality stream.

      -
    • If you want to modify this behavior, you can call this method and set mode to (never send low-quality video streams) or (always send low-quality video streams).
    • -
    • If you want to restore the default behavior after making changes, you can call this method again with mode set to .

    - The difference and connection between this method and is as follows:
      -
    • When calling this method and setting mode to , it has the same effect as ().
    • -
    • When calling this method and setting mode to , it has the same effect as ().
    • -
    • Both methods can be called before and after joining a channel. If both methods are used, the settings in the method called later takes precedence.
    • +

      The SDK defaults to enabling low-quality video stream adaptive mode + () on the sender side, which means the + sender does not actively send low-quality video stream. The receiving end with the + role of the host can initiate a low-quality video stream request by calling + , and upon receiving the request, the + sending end automatically starts sending low-quality stream.

        +
      • If you want to modify this behavior, you can call this method and set + mode to (never send low-quality video streams) or (always send low-quality video + streams).
      • +
      • If you want to restore the default behavior after making changes, you can + call this method again with mode set to .
      • +

      + The difference and connection between this method and is as follows:
        +
      • When calling this method and setting mode to , it has the same effect as ().
      • +
      • When calling this method and setting mode to , it has the same effect as ().
      • +
      • Both methods can be called before and after joining a channel. If both + methods are used, the settings in the method called later takes + precedence.
    Parameters - - mode - The mode in which the video stream is sent. See . - -
    + + mode + The mode in which the video stream is sent. See . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita index e56f3ccbb07..434bf13b1c0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setdualstreammode2.dita @@ -2,7 +2,8 @@ <ph keyref="setDualStreamMode2"/> - Sets dual-stream mode configuration on the sender side. + Sets dual-stream mode configuration on the sender + side. @@ -13,61 +14,81 @@

    - public abstract int setDualStreamMode( + public abstract int setDualStreamMode( Constants.SimulcastStreamMode mode, SimulcastStreamConfig streamConfig); - - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode + - (int)setDualStreamMode:(AgoraSimulcastStreamMode)mode streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig; - virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, + virtual int setDualStreamMode(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetDualStreamMode(FENUMWRAP_SIMULCAST_STREAM_MODE mode, const FSimulcastStreamConfig& streamConfig); - abstract setDualStreamMode( + abstract setDualStreamMode( mode: SimulcastStreamMode, streamConfig?: SimulcastStreamConfig ): number; - public abstract int SetDualStreamMode(SIMULCAST_STREAM_MODE mode, SimulcastStreamConfig streamConfig); - abstract setDualStreamMode( + public abstract int SetDualStreamMode(SIMULCAST_STREAM_MODE mode, SimulcastStreamConfig streamConfig); + abstract setDualStreamMode( mode: SimulcastStreamMode, streamConfig?: SimulcastStreamConfig ): number; - Future<void> setDualStreamMode( + Future<void> setDualStreamMode( {required SimulcastStreamMode mode, SimulcastStreamConfig? streamConfig}); -

    +

    Details
    - -
    Since
    -
    v4.0.1
    -
    + +
    Since
    +
    v4.0.1
    +

    -

    The difference between this method and is that this method can also configure the low-quality video stream, and the SDK sends the stream according to the configuration in streamConfig.

    - The difference and connection between this method and is as follows:
      -
    • When calling this method and setting mode to , it has the same effect as calling and setting enabled to .
    • -
    • When calling this method and setting mode to , it has the same effect as calling and setting enabled to .
    • -
    • Both methods can be called before and after joining a channel. If both methods are used, the settings in the method called later takes precedence.
    • +

      The difference between this method and is that this method can also configure the + low-quality video stream, and the SDK sends the stream according to the + configuration in streamConfig.

      + The difference and connection between this method and is as follows:
        +
      • When calling this method and setting mode to , it has the same effect as calling + and setting + enabled to .
      • +
      • When calling this method and setting mode to , it has the same effect as calling + and setting + enabled to .
      • +
      • Both methods can be called before and after joining a channel. If both + methods are used, the settings in the method called later takes + precedence.
    Parameters - - - - - - - - -
    + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita index 48477ac978a..dabd65076cb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setearmonitoringaudioframeparameters.dita @@ -2,7 +2,8 @@ <ph keyref="setEarMonitoringAudioFrameParameters"/> - Sets the format of the in-ear monitoring raw audio data. + Sets the format of the in-ear monitoring raw audio + data. @@ -13,79 +14,107 @@

    - public abstract int setEarMonitoringAudioFrameParameters( + public abstract int setEarMonitoringAudioFrameParameters( int sampleRate, int channel, int mode, int samplesPerCall); - - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + - (int)setEarMonitoringAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall; - virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, + virtual int setEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetEarMonitoringAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setEarMonitoringAudioFrameParameters( + abstract setEarMonitoringAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - public abstract int SetEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setEarMonitoringAudioFrameParameters( + public abstract int SetEarMonitoringAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); + abstract setEarMonitoringAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - Future<void> setEarMonitoringAudioFrameParameters( + Future<void> setEarMonitoringAudioFrameParameters( {required int sampleRate, required int channel, required RawAudioFrameOpModeType mode, required int samplesPerCall}); -

    +

    Details -

    This method is used to set the in-ear monitoring audio data format reported by the callback.

    +

    This method is used to set the in-ear monitoring audio data format reported by the + callback.

    -
      -
    • Before calling this method, you need to call , and set includeAudioFilters to or .
    • -
    • The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method.Sample interval (sec) = samplePerCall/(sampleRate × channel). Ensure that the sample interval ≥ 0.01 (s). The SDK triggers the callback according to the sampling interval.
    • -
    +
      +
    • Before calling this method, you need to call , and set + includeAudioFilters to or .
    • +
    • The SDK calculates the sampling interval based on the + samplesPerCall, sampleRate and + channel parameters set in this + method.Sample interval (sec) = + samplePerCall/(sampleRate + × channel). Ensure that the + sample interval ≥ 0.01 (s). The SDK triggers the callback according to the + sampling interval.
    • +
    +
    Parameters - - sampleRate - The sample rate of the audio data reported in the callback, which can be set as 8,000, 16,000, 32,000, 44,100, or 48,000 Hz. - - - channel - -

    The number of audio channels reported in the callback.

      -
    • 1: Mono.
    • -
    • 2: Stereo.
    • -

    -
    -
    - - mode - -

    The use mode of the audio frame. See .

    -

    - - - - samplesPerCall - The number of data samples reported in the callback, such as 1,024 for the Media Push. - -

    + + sampleRate + The sample rate of the audio data reported in the callback, which can be set as + 8,000, 16,000, 32,000, 44,100, or 48,000 Hz. + + + channel + +

    The number of audio channels reported in the callback.

      +
    • 1: Mono.
    • +
    • 2: Stereo.
    • +

    +
    +
    + + mode + +

    The use mode + of the audio frame. See .

    +

    + + + + samplesPerCall + The number of data samples reported in the callback, such as 1,024 for the + Media Push. + + +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_seteffectposition.dita b/en-US/dita/RTC-NG/API/api_irtcengine_seteffectposition.dita index 164bddabebb..86f55cbd7a9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_seteffectposition.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_seteffectposition.dita @@ -1,51 +1,60 @@ - <ph keyref="setEffectPosition" /> - Sets the playback position of an audio effect file. + <ph keyref="setEffectPosition"/> + Sets the playback position of an audio effect + file. - +

    - public abstract int setEffectPosition(int soundId, int 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|RtcEngineProxy") + public abstract int setEffectPosition(int soundId, int 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|RtcEngineProxy") 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}); -

    + 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}); +

    Details -

    After a successful setting, the local audio effect file starts playing at the specified position.

    - Call this method after playEffect.
    +

    After a successful setting, the local audio effect file starts playing at the + specified position.

    + Call this method after playEffect. +
    Parameters - - soundId - - - - pos - The playback position (ms) of the audio effect file. - -
    + + soundId + + + + pos + The playback position (ms) of the audio effect file. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita index 8dd0c27c640..23822417f1c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_seteffectsvolume.dita @@ -1,48 +1,56 @@ - <ph keyref="setEffectsVolume" /> + <ph keyref="setEffectsVolume"/> Sets the volume of the audio effects. - +

    - public abstract int setEffectsVolume(double volume); + public abstract int setEffectsVolume(double volume); - - (int)setEffectsVolume:(NSInteger)volume; + - (int)setEffectsVolume:(NSInteger)volume; - virtual int setEffectsVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setEffectsVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetEffectsVolume(int volume); - abstract setEffectsVolume(volume: number): number; - public abstract int SetEffectsVolume(int volume); - abstract setEffectsVolume(volume: number): number; - Future<void> setEffectsVolume(int volume); -

    + abstract setEffectsVolume(volume: number): number; + public abstract int SetEffectsVolume(int volume); + abstract setEffectsVolume(volume: number): number; + Future<void> setEffectsVolume(int volume); +

    Details - Call this method after .
    + Call this method after . +
    Parameters - - volume - The playback volume. The value range is [0, 100]. The default value is 100, which represents the original volume. - -
    + + volume + The playback volume. The value range is [0, 100]. The default value is 100, + which represents the original volume. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita index 0da33e6a87d..5a43fadd00d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setenablespeakerphone.dita @@ -1,58 +1,80 @@ - <ph keyref="setEnableSpeakerphone" /> - Enables/Disables the audio route to the speakerphone. + <ph keyref="setEnableSpeakerphone"/> + Enables/Disables the audio route to the + speakerphone. - +

    - public abstract int setEnableSpeakerphone(boolean enabled); - - (int)setEnableSpeakerphone:(BOOL)enableSpeaker; - virtual int setEnableSpeakerphone(bool speakerOn) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setEnableSpeakerphone(boolean enabled); + - (int)setEnableSpeakerphone:(BOOL)enableSpeaker; + virtual int setEnableSpeakerphone(bool speakerOn) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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);

    + abstract setEnableSpeakerphone(speakerOn: boolean): number; + public abstract int SetEnableSpeakerphone(bool speakerOn); + abstract setEnableSpeakerphone(speakerOn: boolean): number; + Future<void> setEnableSpeakerphone(bool speakerOn);

    +
    Details -

    If the default audio route of the SDK (see Set the Audio Route) or the setting in cannot meet your requirements, you can call to switch the current audio route. After a successful method call, the SDK triggers the callback.

    -

    This method only sets the audio route in the current channel and does not influence the default audio route. If the user leaves the current channel and joins another channel, the default audio route is used.

    +

    If the default audio route of the SDK (see + Set the Audio Route) or the + setting in cannot meet your + requirements, you can call to switch the + current audio route. After a successful method call, the SDK triggers the callback.

    +

    This method only sets the audio route in the current channel and does not influence + the default audio route. If the user leaves the current channel and joins another + channel, the default audio route is used.

    -
      -
    • This method applies to Android and iOS only.
    • -
    • Call this method after joining a channel.
    • -
    • If the user uses an external audio playback device such as a Bluetooth or wired headset, this method does not take effect, and the SDK plays audio through the external device. When the user uses multiple external devices, the SDK plays audio through the last connected device.
    • -
    +
      +
    • This method applies to Android and + iOS only.
    • +
    • Call this method after joining a channel.
    • +
    • If the user uses an external audio playback device such as a Bluetooth or + wired headset, this method does not take effect, and the SDK plays audio + through the external device. When the user uses multiple external devices, + the SDK plays audio through the last connected device.
    • +
    +
    Parameters - - enabled - enableSpeaker - speakerOn - -

    Sets whether to enable the speakerphone or earpiece:

      -
    • : Enable device state monitoring. The audio route is the speakerphone.
    • -
    • : Disable device state monitoring. The audio route is the earpiece.
    • -

    -
    -
    -
    + + enabled + enableSpeaker + speakerOn + +

    Sets whether to enable the speakerphone or earpiece:

      +
    • : Enable device state + monitoring. The audio route is the speakerphone.
    • +
    • : Disable device state + monitoring. The audio route is the earpiece.
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setencryptionmode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setencryptionmode.dita index acca60d44f6..2372685c56e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setencryptionmode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setencryptionmode.dita @@ -1,63 +1,84 @@ - <ph keyref="setEncryptionMode" /> + <ph keyref="setEncryptionMode"/> Sets the built-in encryption mode. - +

    - public abstract int setEncryptionMode(String encryptionMode); - - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode; - virtual int setEncryptionMode(const char* encryptionMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setEncryptionMode(String encryptionMode); + - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode; + virtual int setEncryptionMode(const char* encryptionMode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetEncryptionMode(FString encryptionMode); - abstract setEncryptionMode(encryptionMode: string): number; - public abstract int SetEncryptionMode(string encryptionMode); - abstract setEncryptionMode(encryptionMode: string): number; - Future<void> setEncryptionMode(String encryptionMode); -

    + abstract setEncryptionMode(encryptionMode: string): number; + public abstract int SetEncryptionMode(string encryptionMode); + abstract setEncryptionMode(encryptionMode: string): number; + Future<void> setEncryptionMode(String encryptionMode); +

    Details
    - -
    Deprecated:
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    Use instead.
    +
    -

    The SDK supports built-in encryption schemes, AES-128-GCM is supported by default. Call this method to use other encryption modes. All users in the same channel must use the same encryption mode and secret. Refer to the information related to the AES encryption algorithm on the differences between the encryption modes.

    - Before calling this method, please call to enable the built-in encryption function.
    +

    The SDK supports built-in encryption schemes, AES-128-GCM is supported by + default. Call this method to use other encryption modes. All users in the same + channel must use the same encryption mode and secret. Refer to + the information related to the AES encryption algorithm on the differences between + the encryption modes.

    + Before calling this method, please call to enable the built-in encryption + function. +
    Parameters - - encryptionMode - -

    The following encryption modes:

      -
    • "aes-128-xts": 128-bit AES encryption, XTS mode.
    • -
    • "aes-128-ecb": 128-bit AES encryption, ECB mode.
    • -
    • "aes-256-xts": 256-bit AES encryption, XTS mode.
    • -
    • "sm4-128-ecb": 128-bit SM4 encryption, ECB mode.
    • -
    • "aes-128-gcm": 128-bit AES encryption, GCM mode.
    • -
    • "aes-256-gcm": 256-bit AES encryption, GCM mode.
    • -
    • "": When this parameter is set as null, the encryption mode is set as "aes-128-gcm" by default.
    • -

    -
    -
    -
    + + encryptionMode + +

    The following encryption modes:

      +
    • "aes-128-xts": 128-bit AES encryption, XTS + mode.
    • +
    • "aes-128-ecb": 128-bit AES encryption, ECB + mode.
    • +
    • "aes-256-xts": 256-bit AES encryption, XTS + mode.
    • +
    • "sm4-128-ecb": 128-bit SM4 encryption, ECB + mode.
    • +
    • "aes-128-gcm": 128-bit AES encryption, GCM + mode.
    • +
    • "aes-256-gcm": 256-bit AES encryption, GCM + mode.
    • +
    • "": When this parameter is set as null, the encryption mode is + set as "aes-128-gcm" by default.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setencryptionsecret.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setencryptionsecret.dita index 008fc65ad64..a7681bc3d86 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setencryptionsecret.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setencryptionsecret.dita @@ -1,57 +1,74 @@ - <ph keyref="setEncryptionSecret" /> - Enables built-in encryption with an encryption password before users join a channel. + <ph keyref="setEncryptionSecret"/> + Enables built-in encryption with an encryption password + before users join a channel. - +

    - public abstract int setEncryptionSecret(String secret); - - (int)setEncryptionSecret:(NSString * _Nullable)secret; - virtual int setEncryptionSecret(const char* secret) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setEncryptionSecret(String secret); + - (int)setEncryptionSecret:(NSString * _Nullable)secret; + virtual int setEncryptionSecret(const char* secret) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetEncryptionSecret(FString secret); - abstract setEncryptionSecret(secret: string): number; - public abstract int SetEncryptionSecret(string secret); - abstract setEncryptionSecret(secret: string): number; - Future<void> setEncryptionSecret(String secret); -

    + abstract setEncryptionSecret(secret: string): number; + public abstract int SetEncryptionSecret(string secret); + abstract setEncryptionSecret(secret: string): number; + Future<void> setEncryptionSecret(String secret); +

    Details
    - -
    Deprecated:
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    Use instead.
    +
    -

    Before joining the channel, you need to call this method to set the secret parameter to enable the built-in encryption. All users in the same channel should use the same secret. The secret is automatically cleared once a user leaves the channel. If you do not specify the secret or secret is set as null, the built-in encryption is disabled.

    +

    Before joining the channel, you need to call this method to set the + secret parameter to enable the built-in encryption. All + users in the same channel should use the same secret. The + secret is automatically cleared once a user leaves the + channel. If you do not specify the secret or + secret is set as null, the built-in encryption is + disabled.

    -
      -
    • Do not use this method for Media Push.
    • -
    • For optimal transmission, ensure that the encrypted data size does not exceed the original data size + 16 bytes. 16 bytes is the maximum padding size for AES encryption.
    • -
    +
      +
    • Do not use this method for Media Push.
    • +
    • For optimal transmission, ensure that the encrypted data size does not + exceed the original data size + 16 bytes. 16 bytes is the maximum padding + size for AES encryption.
    • +
    + +
    Parameters - - secret - The encryption password. - -
    + + secret + The encryption password. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita index ed04d421750..060914cb52f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproperty.dita @@ -1,86 +1,93 @@ - <ph keyref="setExtensionProperty" /> + <ph keyref="setExtensionProperty"/> Sets the properties of the extension. - +

    - public abstract int setExtensionProperty( + 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; + - (int)setExtensionPropertyWithVendor:(NSString * __nonnull)provider extension:(NSString * __nonnull)extension key:(NSString * __nonnull)key value:(NSString * __nonnull)value; - virtual int setExtensionProperty( + 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|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetExtensionProperty(FString provider, FString extension, FString key, FString value, EMEDIA_SOURCE_TYPE type = EMEDIA_SOURCE_TYPE::UNKNOWN_MEDIA_SOURCE); - abstract setExtensionProperty( + abstract setExtensionProperty( provider: string, extension: string, key: string, value: string, type?: MediaSourceType ): number; - public abstract int SetExtensionProperty(string provider, string extension, string key, string value, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); - abstract setExtensionProperty( + public abstract int SetExtensionProperty(string provider, string extension, string key, string value, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.UNKNOWN_MEDIA_SOURCE); + abstract setExtensionProperty( provider: string, extension: string, key: string, value: string, type?: MediaSourceType ): number; - Future<void> setExtensionProperty( + Future<void> setExtensionProperty( {required String provider, required String extension, required String key, required String value, MediaSourceType type = MediaSourceType.unknownMediaSource}); -

    +

    Details -

    After enabling the extension, you can call this method to set the properties of the extension.

    +

    After enabling the extension, you can call this method to set the properties of the + extension.

    Parameters - - provider - The name of the extension provider. - - - extension - The name of the extension. - - - key - The key of the extension. - - - value - The value of the extension key. - - - - - -
    + + provider + The name of the extension provider. + + + extension + The name of the extension. + + + key + The key of the extension. + + + value + The value of the extension key. + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita index 90b5f2b9e27..cf09328869b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setextensionproviderproperty.dita @@ -1,72 +1,84 @@ - <ph keyref="setExtensionProviderProperty" /> - Sets the properties of the extension provider. + <ph keyref="setExtensionProviderProperty"/> + Sets the properties of the extension + provider. - +

    - public abstract int setExtensionProviderProperty(String provider, String key, String value); + public abstract int setExtensionProviderProperty(String provider, String key, String value); - - (int) setExtensionProviderPropertyWithVendor:(NSString * __nonnull)provider key:(NSString * __nonnull)key value:(NSString * __nonnull)value; + - (int) setExtensionProviderPropertyWithVendor:(NSString * __nonnull)provider key:(NSString * __nonnull)key value:(NSString * __nonnull)value; - virtual int setExtensionProviderProperty( + virtual int setExtensionProviderProperty( const char* provider, const char* key, const char* value) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetExtensionProviderProperty(FString provider, FString key, FString value); - abstract setExtensionProviderProperty( + abstract setExtensionProviderProperty( provider: string, key: string, value: string ): number; - public abstract int SetExtensionProviderProperty(string provider, string key, string value); - abstract setExtensionProviderProperty( + public abstract int SetExtensionProviderProperty(string provider, string key, string value); + abstract setExtensionProviderProperty( provider: string, key: string, value: string ): number; - Future<void> setExtensionProviderProperty( + Future<void> setExtensionProviderProperty( {required String provider, required String key, required String value}); -

    +

    Details -

    You can call this method to set the attributes of the extension provider and initialize the relevant parameters according to the type of the provider.

    +

    You can call this method to set the attributes of the extension provider and + initialize the relevant parameters according to the type of the provider.

    - -

    Call this method after , and before enabling the audio (/) or the video (/).

    -

    + +

    Call this method after , and before enabling + the audio (/) + or the video (/).

    +
    +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource.dita index 84282ec5fbc..f001d4e7bad 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource.dita @@ -1,63 +1,71 @@ - <ph keyref="setExternalAudioSource" /> + <ph keyref="setExternalAudioSource"/> Sets the external audio source. - +

    - public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels); - - (int)setExternalAudioSource:(BOOL)enabled + public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels); + - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels; - - - public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels); - - -

    + + + public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels); + + +

    Details -

    Call this method before calling and .

    +

    Call this method before calling and .

    Parameters - - enabled - -
      -
    • : Enable the external audio source.
    • -
    • : (Default) Disable the external audio source.
    • -
    -
    - - sampleRate - The sample rate (Hz) of the external audio source, which can be set as 8000, 16000, 32000, 44100, or 48000. - - - channels - -

    The number of audio channels of the external audio source:

      -
    • 1: Mono.
    • -
    • 2: Stereo.
    • -

    -
    -
    -
    + + enabled + +
      +
    • : Enable the external audio + source.
    • +
    • : (Default) Disable the + external audio source.
    • +
    +
    +
    + + sampleRate + The sample rate (Hz) of the external audio source, which can be set as 8000, + 16000, 32000, 44100, or 48000. + + + channels + +

    The number of audio channels of the external audio source:

      +
    • 1: Mono.
    • +
    • 2: Stereo.
    • +

    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource2.dita index d4742a5af53..02a81870f6f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosource2.dita @@ -2,87 +2,108 @@ <ph keyref="setExternalAudioSource2"/> - Sets the external audio source parameters. + Sets the external audio source + parameters. - +

    - public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels, + public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels, int sourceNumber, boolean localPlayback, boolean publish); - - (int)setExternalAudioSource:(BOOL)enabled + - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels sourceNumber:(NSInteger)sourceNumber localPlayback:(BOOL)localPlayback publish:(BOOL)publish; - virtual int setExternalAudioSource(bool enabled, + virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels, int sourceNumber, bool localPlayback = false, bool publish = true) = 0; - - public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels, int sourceNumber, bool localPlayback = false, bool publish = true); - -

    + + public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels, int sourceNumber, bool localPlayback = false, bool publish = true); + + +

    Details - Call this method before joining a channel.
    + Call this method before joining a channel. +
    Parameters - - enabled - -

    Whether to enable the external audio source:

      -
    • : Enable the external audio source.
    • -
    • : (Default) Disable the external audio source.
    • -

    -
    -
    - - sampleRate - The sample rate (Hz) of the external audio source, which can be set as 8000, 16000, 32000, 44100, or 48000. - - - channels - The number of channels of the external audio source, which can be set as 1 (Mono) or 2 (Stereo). - - - sourceNumber - The number of external audio sources. The value of this parameter should be larger than 0. If there are multiple external audio sources, the SDK will mix the audio. The SDK creates a corresponding number of custom audio tracks based on this parameter value and names the audio tracks starting from 0. In , you can set publishCustomAudioSourceId to the ID of the audio track you want to publish. - - - localPlayback - -

    Whether to play the external audio source:

      -
    • : Play the external audio source.
    • -
    • : (Default) Do not play the external source.
    • -

    -
    -
    - - publish - -

    Whether to publish audio to the remote users:

      -
    • : (Default) Publish audio to the remote users.
    • -
    • : Do not publish audio to the remote users
    • -

    -
    -
    -
    + + enabled + +

    Whether to enable the external audio source:

      +
    • : Enable the external audio + source.
    • +
    • : (Default) Disable the + external audio source.
    • +

    +
    +
    + + sampleRate + The sample rate (Hz) of the external audio source, which can be set as + 8000, 16000, 32000, + 44100, or 48000. + + + channels + The number of channels of the external audio source, which can be set as + 1 (Mono) or 2 (Stereo). + + + sourceNumber + The number of external audio sources. The value of this parameter should + be larger than 0. If there are multiple external + audio sources, the SDK will mix the audio. The SDK creates a + corresponding number of custom audio tracks based on this parameter + value and names the audio tracks starting from 0. In , you can set + publishCustomAudioSourceId to the ID of the + audio track you want to publish. + + + localPlayback + +

    Whether to play the external audio source:

      +
    • : Play the external audio + source.
    • +
    • : (Default) Do not play the + external source.
    • +

    +
    +
    + + publish + +

    Whether to publish audio to the remote users:

      +
    • : (Default) Publish audio to + the remote users.
    • +
    • : Do not publish audio to + the remote users
    • +

    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosourcevolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosourcevolume.dita index a420b8b61c8..8d25c7ddf99 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosourcevolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setexternalaudiosourcevolume.dita @@ -2,7 +2,8 @@ <ph keyref="setExternalAudioSourceVolume"/> - Sets the volume of the external audio frame in the specified position. + Sets the volume of the external audio frame in the + specified position. @@ -13,41 +14,54 @@

    - - - - - public abstract int SetExternalAudioSourceVolume(int sourcePos, int volume); - - -

    + + + + + public abstract int SetExternalAudioSourceVolume(int sourcePos, int volume); + + +

    Details -

    You can call this method multiple times to set the volume of external audio frames in different positions. The volume setting takes effect for all external audio frames that are pushed to the specified position.Call this method after joining a channel.

    +

    You can call this method multiple times to set the volume of external audio frames in + different positions. The volume setting takes effect for all external audio frames + that are pushed to the specified position.Call this method after joining a + channel.

    Parameters - - sourcePos - The push position of the external audio frame. See . - The push position of the external audio frame.
      -
    • 0: The position before local playback. If you need to play the external audio frame on the local client, set this position.
    • -
    • 1: The position after audio capture and before audio pre-processing. If you need the audio module of the SDK to process the external audio frame, set this position.
    • -
    • 2: The position after audio pre-processing and before audio encoding. If you do not need the audio module of the SDK to process the external audio frame, set this position.
    • -
    -
    - - volume - The volume of the external audio frame. The value range is [0, 100]. The default value is 100, which represents the original volume. - -
    + + sourcePos + The push position of the external audio frame. See + . + The push position of the external audio frame.
      +
    • 0: The position before local playback. If you need to play the + external audio frame on the local client, set this position.
    • +
    • 1: The position after audio capture and before audio pre-processing. + If you need the audio module of the SDK to process the external + audio frame, set this position.
    • +
    • 2: The position after audio pre-processing and before audio + encoding. If you do not need the audio module of the SDK to process + the external audio frame, set this position.
    • +
    +
    + + volume + The volume of the external audio frame. The value range is [0, 100]. The + default value is 100, which represents the original volume. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita index 3c294d19df8..a8efdb29fad 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqparameters.dita @@ -2,7 +2,8 @@ <ph keyref="setHeadphoneEQParameters"/> - Sets the low- and high-frequency parameters of the headphone equalizer. + Sets the low- and high-frequency parameters of the + headphone equalizer. @@ -13,48 +14,57 @@

    - public abstract int setHeadphoneEQParameters(int lowGain, int highGain); - - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain; - virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setHeadphoneEQParameters(int lowGain, int highGain); + - (int)setHeadphoneEQParameters:(int)lowGain highGain:(int)highGain; + virtual int setHeadphoneEQParameters(int lowGain, int highGain) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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( + 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( {required int lowGain, required int highGain}); -

    +

    Details
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    In a spatial audio effect scenario, if the preset headphone equalization effect is not achieved after calling the method, you can further adjust the headphone equalization effect by calling this method.

    +

    In a spatial audio effect scenario, if the preset headphone equalization effect is + not achieved after calling the method, you can + further adjust the headphone equalization effect by calling this method.

    Parameters - - lowGain - The low-frequency parameters of the headphone equalizer. The value range is [-10,10]. The larger the value, the deeper the sound. - - - highGain - The high-frequency parameters of the headphone equalizer. The value range is [-10,10]. The larger the value, the sharper the sound. - -
    + + lowGain + The low-frequency parameters of the headphone equalizer. The value range is + [-10,10]. The larger the value, the deeper the sound. + + + highGain + The high-frequency parameters of the headphone equalizer. The value range is + [-10,10]. The larger the value, the sharper the sound. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure.
        -
      • -1: A general error occurs (no specified reason).
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
      +
    • -1: A general error occurs (no specified reason).
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita index 6adb6d21293..33220c93311 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setheadphoneeqpreset.dita @@ -2,7 +2,8 @@ <ph keyref="setHeadphoneEQPreset"/> - Sets the preset headphone equalization effect. + Sets the preset headphone equalization + effect. @@ -13,43 +14,54 @@

    - public abstract int setHeadphoneEQPreset(int preset); - - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset; - virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setHeadphoneEQPreset(int preset); + - (int)setHeadphoneEQPreset:(AgoraHeadphoneEQPreset)preset; + virtual int setHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setHeadphoneEQPreset(preset: HeadphoneEqualizerPreset): number; + public abstract int SetHeadphoneEQPreset(HEADPHONE_EQUALIZER_PRESET preset); + abstract setHeadphoneEQPreset(preset: HeadphoneEqualizerPreset): number; + Future<void> setHeadphoneEQPreset(HeadphoneEqualizerPreset preset); +

    Details
    - -
    Since
    -
    v4.0.1
    -
    + +
    Since
    +
    v4.0.1
    +
    -

    This method is mainly used in spatial audio effect scenarios. You can select the preset headphone equalizer to listen to the audio to achieve the expected audio experience.

    - If the headphones you use already have a good equalization effect, you may not get a significant improvement when you call this method, and could even diminish the experience.
    +

    This method is mainly used in spatial audio effect scenarios. You can select the + preset headphone equalizer to listen to the audio to achieve the expected audio + experience.

    + If the headphones you use already have a good equalization effect, you + may not get a significant improvement when you call this method, and could even + diminish the experience. +
    Parameters - - preset - The preset headphone equalization effect. See . - -
    + + preset + The preset headphone equalization effect. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure.
        -
      • -1: A general error occurs (no specified reason).
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
      +
    • -1: A general error occurs (no specified reason).
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_sethighqualityaudioparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_sethighqualityaudioparameters.dita index 4b3e5f72349..360d11f8e85 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_sethighqualityaudioparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_sethighqualityaudioparameters.dita @@ -1,74 +1,84 @@ - <ph keyref="setHighQualityAudioParameters" /> + <ph keyref="setHighQualityAudioParameters"/> Sets audio high quality options. - +

    - - - virtual int setHighQualityAudioParameters(bool fullband, + + + virtual int setHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate) = 0; - - public abstract int SetHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate); - - -

    + + public abstract int SetHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate); + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Agora does not recommend using this method. If you want to set the audio high-quality options, use the method instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Agora does not recommend using this method. If + you want to set the audio high-quality options, use the method instead.
    +
    Parameters - - fullband - -

    Whether to enable full-band codec (48-kHz sample rate). Not compatible with SDK versions before v1.7.4.

    -
      -
    • : Enable full-band codec.
    • -
    • : Disable full-band codec.
    • -
    -
    - - stereo - -

    Whether to enable stereo codec. Not compatible with SDK versions before v1.7.4.

    -
      -
    • : Enable stereo codec.
    • -
    • : Disable stereo codec.
    • -
    -
    - - fullBitrate - -

    High bitrate mode. Recommended in voice-only mode.

    -
      -
    • : Enable high-bitrate mode.
    • -
    • : Disable high-bitrate mode.
    • -
    -
    -
    + + fullband + +

    Whether to enable full-band codec (48-kHz sample rate). Not compatible + with SDK versions before v1.7.4.

    +
      +
    • : Enable full-band codec.
    • +
    • : Disable full-band codec.
    • +
    +
    +
    + + stereo + +

    Whether to enable stereo codec. Not compatible with SDK versions before + v1.7.4.

    +
      +
    • : Enable stereo codec.
    • +
    • : Disable stereo codec.
    • +
    +
    +
    + + fullBitrate + +

    High bitrate mode. Recommended in voice-only mode.

    +
      +
    • : Enable high-bitrate mode.
    • +
    • : Disable high-bitrate + mode.
    • +
    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita index 71fe991fe14..dd6a77a81c9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setinearmonitoringvolume.dita @@ -1,56 +1,65 @@ - <ph keyref="setInEarMonitoringVolume" /> + <ph keyref="setInEarMonitoringVolume"/> Sets the volume of the in-ear monitor. - +

    - public abstract int setInEarMonitoringVolume(int volume); - - (int)setInEarMonitoringVolume:(NSInteger)volume; - virtual int setInEarMonitoringVolume(int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setInEarMonitoringVolume(int volume); + - (int)setInEarMonitoringVolume:(NSInteger)volume; + virtual int setInEarMonitoringVolume(int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetInEarMonitoringVolume(int volume); - abstract setInEarMonitoringVolume(volume: number): number; - public abstract int SetInEarMonitoringVolume(int volume); - abstract setInEarMonitoringVolume(volume: number): number; - Future<void> setInEarMonitoringVolume(int volume); -

    + abstract setInEarMonitoringVolume(volume: number): number; + public abstract int SetInEarMonitoringVolume(int volume); + abstract setInEarMonitoringVolume(volume: number): number; + Future<void> setInEarMonitoringVolume(int volume); +

    Details -
      -
    • You can call this method either before or after joining a channel.
    • -
    +
      +
    • You can call this method either before or after joining a channel.
    • +
    + +
    Parameters - - volume - The volume of the in-ear monitor. The value range is [0,400].
      -
    • 0: Mute.
    • -
    • 100: (Default) The original volume.
    • -
    • 400: Four times the original volume.
    • -
    -
    -
    -
    + + volume + The volume of the in-ear monitor. The value range is [0,400].
      +
    • 0: Mute.
    • +
    • 100: (Default) The original volume.
    • +
    • 400: Four times the original volume.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: Invalid parameter settings, such as in-ear monitoring volume exceeding the valid range (< 0 or > 400).
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: Invalid parameter settings, such as in-ear monitoring volume + exceeding the valid range (< 0 or > 400).
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlivetranscoding.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlivetranscoding.dita index db1f6c4fe0d..857221c1cb2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlivetranscoding.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlivetranscoding.dita @@ -1,59 +1,76 @@ - <ph keyref="setLiveTranscoding" /> - Sets the transcoding configurations for media push. + <ph keyref="setLiveTranscoding"/> + Sets the transcoding configurations for media + push. - +

    - public abstract int setLiveTranscoding(LiveTranscoding transcoding); - - (int)setLiveTranscoding:(AgoraLiveTranscoding *_Nullable)transcoding; - virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; - abstract setLiveTranscoding(transcoding: LiveTranscoding): number; - public abstract int SetLiveTranscoding(LiveTranscoding transcoding); - abstract setLiveTranscoding(transcoding: LiveTranscoding): number; - Future<void> setLiveTranscoding(LiveTranscoding transcoding); -

    + public abstract int setLiveTranscoding(LiveTranscoding transcoding); + - (int)setLiveTranscoding:(AgoraLiveTranscoding *_Nullable)transcoding; + virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; + abstract setLiveTranscoding(transcoding: LiveTranscoding): number; + public abstract int SetLiveTranscoding(LiveTranscoding transcoding); + abstract setLiveTranscoding(transcoding: LiveTranscoding): number; + Future<void> setLiveTranscoding(LiveTranscoding transcoding); +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use or instead according to your needs.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use or instead according to your + needs.
    +
    -

    This method sets the video layout and audio settings for media push. The SDK triggers the callback when you call this method to update the transcoding settings.

    +

    This method sets the video layout and audio settings for media push. The SDK triggers + the callback when you call this method to + update the transcoding settings.

    -
      -
    • This method takes effect only when you are a host in live interactive streaming.
    • -
    • Ensure that the Media Push function is enabled.
    • -
    • If you call this method to set the transcoding configuration for the first time, the SDK does not trigger the callback.
    • -
    • Call this method after joining a channel.
    • -
    +
      +
    • This method takes effect only when you are a host in live interactive + streaming.
    • +
    • Ensure that the Media Push function is enabled.
    • +
    • If you call this method to set the transcoding configuration for the first + time, the SDK does not trigger the + callback.
    • +
    • Call this method after joining a channel.
    • +
    + +
    Parameters - - transcoding - -

    The transcoding configurations for the media push. See .

    -
    -
    -
    + + transcoding + +

    The transcoding configurations for the media push. See .

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita index d4573849cea..f8446af632a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalaccesspoint.dita @@ -1,51 +1,65 @@ - <ph keyref="setLocalAccessPoint" /> - Configures the connection with the access module of the Agora network private media server. + <ph keyref="setLocalAccessPoint"/> + Configures the connection with the access module of the + Agora network private media server. - +

    - public abstract int setLocalAccessPoint(LocalAccessPointConfiguration config); - - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:)); - virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLocalAccessPoint(LocalAccessPointConfiguration config); + - (int)setLocalAccessPoint:(AgoraLocalAccessPointConfiguration* _Nonnull)config NS_SWIFT_NAME(setLocalAccessPoint(withConfig:)); + virtual int setLocalAccessPoint(const LocalAccessPointConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLocalAccessPoint(const FLocalAccessPointConfiguration& config); - abstract setLocalAccessPoint(config: LocalAccessPointConfiguration): number; - public abstract int SetLocalAccessPoint(LocalAccessPointConfiguration config); - abstract setLocalAccessPoint(config: LocalAccessPointConfiguration): number; - Future<void> setLocalAccessPoint(LocalAccessPointConfiguration config); -

    + abstract setLocalAccessPoint(config: LocalAccessPointConfiguration): number; + public abstract int SetLocalAccessPoint(LocalAccessPointConfiguration config); + abstract setLocalAccessPoint(config: LocalAccessPointConfiguration): number; + Future<void> setLocalAccessPoint(LocalAccessPointConfiguration config); +

    Details -

    After successfully deploying the Agora private media server and integrating the RTC SDK on the intranet terminal, you can call this method to specify the Local Access Point and assign the access module to the SDK.

    +

    After successfully deploying the Agora private media server and integrating the RTC + SDK on the intranet terminal, you can call this method to specify the Local Access + Point and assign the access module to the SDK.

    -
      -
    • This method takes effect only after the Agora hybrid cloud solution is deployed. You can contact to get to know more about the Agora hybrid cloud solution.
    • -
    • Ensure that you call this method before joining a channel.
    • -
    +
      +
    • This method takes effect only after the Agora hybrid cloud solution is + deployed. You can contact to get to know more + about the Agora hybrid cloud solution.
    • +
    • Ensure that you call this method before joining a channel.
    • +
    + +
    Parameters - - config - The configurations of the Local Access Point. See . - -
    + + config + The configurations of the Local Access Point. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalpublishfallbackoption.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalpublishfallbackoption.dita index 5274e2cab39..2e7253ae595 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalpublishfallbackoption.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalpublishfallbackoption.dita @@ -1,53 +1,77 @@ - <ph keyref="setLocalPublishFallbackOption" /> - Sets the fallback option for the published video stream based on the network conditions. + <ph keyref="setLocalPublishFallbackOption"/> + Sets the fallback option for the published video stream + based on the network conditions. - +

    - public abstract int setLocalPublishFallbackOption(int option); - - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option; - virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; - - public abstract int SetLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option); - - Future<void> setLocalPublishFallbackOption(StreamFallbackOptions option); -

    + public abstract int setLocalPublishFallbackOption(int option); + - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option; + virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; + + public abstract int SetLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option); + + Future<void> setLocalPublishFallbackOption(StreamFallbackOptions option); +

    Details -

    An unstable network affects the audio and video quality in a video call or interactive live video streaming. If option is set as (2), the SDK disables the upstream video but enables audio only when the network conditions deteriorate and cannot support both video and audio. The SDK monitors the network quality and restores the video stream when the network conditions improve. When the published video stream falls back to audio-only or when the audio-only stream switches back to the video, the SDK triggers the callback.

    +

    An unstable network affects the audio and video quality in a video call or + interactive live video streaming. If option is set as (2), the SDK disables the upstream + video but enables audio only when the network conditions deteriorate and cannot + support both video and audio. The SDK monitors the network quality and restores the + video stream when the network conditions improve. When the published video stream + falls back to audio-only or when the audio-only stream switches back to the video, + the SDK triggers the callback.

    -
      -
    • In stream push scenarios, set the local push fallback to (2) may result n some delay for remote CDN users to hear the sound. In this case, Agora recommends that you do not enable this option.
    • -
    • Ensure that you call this method before joining a channel.
    • -
    +
      +
    • In stream push scenarios, set the local push fallback to (2) may result n some delay + for remote CDN users to hear the sound. In this case, Agora recommends that + you do not enable this option.
    • +
    • Ensure that you call this method before joining a channel.
    • +
    + +
    Parameters - - option - The stream fallback option. See . - The stream fallback option.
      -
    • (0):(默认)上行网络较弱时,不对音视频流作回退处理。
    • -
    • (2): The published video stream falls back to audio only when the uplink network condition is poor.
    • -
    -
    -
    + + option + The stream fallback option. + See . + The stream fallback option.
      +
    • (0):(默认)上行网络较弱时,不对音视频流作回退处理。
    • +
    • (2): The + published video stream falls back to audio only when the uplink + network condition is poor.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita index 6361e6a558f..2c31a606350 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode.dita @@ -1,68 +1,79 @@ - <ph keyref="setLocalRenderMode1" /> + <ph keyref="setLocalRenderMode1"/> Sets the local video display mode. - +

    - public abstract int setLocalRenderMode(int renderMode); - - (int)setLocalRenderMode:(NSUInteger)uid + public abstract int setLocalRenderMode(int renderMode); + - (int)setLocalRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode) mode; - virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; - abstract setLocalRenderMode( + virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; + abstract setLocalRenderMode( renderMode: RenderModeType, mirrorMode?: VideoMirrorModeType ): number; - public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode); - abstract setLocalRenderMode( + public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode); + abstract setLocalRenderMode( renderMode: RenderModeType, mirrorMode?: VideoMirrorModeType ): number; - Future<void> setLocalRenderMode2(RenderModeType renderMode); -

    + Future<void> setLocalRenderMode2(RenderModeType renderMode); +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use + instead.
    +
    -

    Call this method to set the local video display mode. This method can be called multiple times during a call to change the display mode.

    +

    Call this method to set the local video display mode. This method can be called + multiple times during a call to change the display mode.

    Parameters - - renderMode - mode - -

    The local video display mode. See .

    -

    The local video display mode.

      -
    • -

    -
    -
    - - uid - The user ID. - -
    + + renderMode + mode + +

    The local video display + mode. See .

    +

    The local video display mode.

      +
    • +
    +

    +
    +
    + + uid + The user ID. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita index 9ce9a3287fb..43362de558a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalrendermode2.dita @@ -1,82 +1,122 @@ - <ph keyref="setLocalRenderMode2" /> - Updates the display mode of the local video view. + <ph keyref="setLocalRenderMode2"/> + Updates the display mode of the local video + view. - +

    - public abstract int setLocalRenderMode(int renderMode, int mirrorMode); - - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode + public abstract int setLocalRenderMode(int renderMode, int mirrorMode); + - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode mirror:(AgoraVideoMirrorMode)mirror; - virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLocalRenderMode(ERENDER_MODE_TYPE renderMode, EVIDEO_MIRROR_MODE_TYPE mirrorMode = EVIDEO_MIRROR_MODE_TYPE::VIDEO_MIRROR_MODE_AUTO); - abstract setLocalRenderMode( + abstract setLocalRenderMode( renderMode: RenderModeType, mirrorMode?: VideoMirrorModeType ): number; - public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); - abstract setLocalRenderMode( + public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); + abstract setLocalRenderMode( renderMode: RenderModeType, mirrorMode?: VideoMirrorModeType ): number; - Future<void> setLocalRenderMode( + Future<void> setLocalRenderMode( {required RenderModeType renderMode, VideoMirrorModeType mirrorMode = VideoMirrorModeType.videoMirrorModeAuto}); -

    +

    Details -

    After initializing the local video view, you can call this method to update its rendering and mirror modes. It affects only the video view that the local user sees, not the published local video stream.

    +

    After initializing the local video view, you can call this method to update its + rendering and mirror modes. It affects only the video view that the local user sees, + not the published local video stream.

    -
      -
    • Ensure that you have called the method to initialize the local video view before calling this method.
    • -
    • During a call, you can call this method as many times as necessary to update the display mode of the local video view.
    • -
    • This method only takes effect on the primary camera (). In scenarios involving custom video capture or the use of alternative video sources, you need to use instead of this method.
    • -
    +
      +
    • Ensure that you have + called the method to initialize the local + video view before calling this method.
    • +
    • During a call, you can call this method as many times as necessary to update + the display mode of the local video view.
    • +
    • This method only takes + effect on the primary camera (). In scenarios involving custom video capture or the use of + alternative video sources, you need to use + instead of this method.
    • +
    + +
    Parameters - - renderMode - mode - -

    The local video display mode. See .

    -

    The local video display mode.

      -
    • (1): Hidden mode. Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents.
    • -
    • (2): Fit mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio are filled with black.
    • -
    • (3): This mode is deprecated.
    • -

    -
    -
    - - mirrorMode - mirror - -

    The mirror mode of the local video view. See .This parameter is only effective when rendering custom videos. If you want to mirror the video view, set the scaleX of the GameObject attached to the video view as -1 or +1.

    -

    For the local user:

      -
    • (0): The SDK determines whether to enable the mirror mode. If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
    • -
    • (1): Enable the mirroring mode of the local view.
    • -
    • (2): Disable the mirroring mode of the local view.
    • -

    - If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
    -
    -
    + + renderMode + mode + +

    The local + video display mode. See .

    +

    The local video display mode.

      +
    • (1): Hidden mode. Uniformly + scale the video until it fills the visible boundaries (cropped). + One dimension of the video may have clipped contents.
    • +
    • (2): Fit mode. Uniformly scale the + video until one of its dimension fits the boundary (zoomed to + fit). Areas that are not filled due to the disparity in the + aspect ratio are filled with black.
    • +
    • (3): This mode is + deprecated.
    • +
    +

    +
    +
    + + mirrorMode + mirror + +

    The mirror + mode of the local video view. See .This parameter is only + effective when rendering custom videos. If you want to mirror the + video view, set the scaleX of the GameObject attached to the video + view as -1 or +1.

    +

    For the local user:

      +
    • (0): The SDK determines + whether to enable the mirror mode. If you use a front camera, + the SDK enables the mirror mode by default; if you use a rear + camera, the SDK disables the mirror mode by default.
    • +
    • (1): Enable the + mirroring mode of the local view.
    • +
    • (2): Disable the + mirroring mode of the local view.
    • +
    +

    + If you use a front camera, the SDK enables the mirror + mode by default; if you use a rear camera, the SDK disables the mirror + mode by default. +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita index 73cd36e7d08..9637cd1ac2d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideomirrormode.dita @@ -1,61 +1,70 @@ - <ph keyref="setLocalVideoMirrorMode" /> + <ph keyref="setLocalVideoMirrorMode"/> Sets the local video mirror mode. - +

    - public abstract int setLocalVideoMirrorMode(int mode); - - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode; - virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLocalVideoMirrorMode(int mode); + - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode; + virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setLocalVideoMirrorMode(mirrorMode: VideoMirrorModeType): number; + public abstract int SetLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode); + abstract setLocalVideoMirrorMode(mirrorMode: VideoMirrorModeType): number; + Future<void> setLocalVideoMirrorMode(VideoMirrorModeType mirrorMode); +

    Details
    - -
    Deprecated:
    -
    This method is deprecated.
    -
    Use or instead.
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated.
    +
    Use or instead.
    +
    Use instead.
    +
    Parameters - - mode - mirrorMode - -

    The local video mirror mode. See .

    -

    -

      -
    • -

    -
    -
    -
    + + mode + mirrorMode + +

    The local + video mirror mode. See .

    +

    +

      +
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideorenderer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideorenderer.dita index 08c9d652172..124a99443c7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideorenderer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvideorenderer.dita @@ -2,46 +2,47 @@ setlocalvideorenderer - + - +

    - - - - - - - -

    + + + + + + + +

    Details
    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +
    -

    +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicechanger.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicechanger.dita index 0a0677a2520..cf055ff4ad1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicechanger.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicechanger.dita @@ -13,78 +13,123 @@

    - public abstract int setLocalVoiceChanger(int voiceChanger); - - (int) setLocalVoiceChanger:(AgoraAudioVoiceChanger)voiceChanger; - virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0; - - public abstract int SetLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger); - - -

    + public abstract int setLocalVoiceChanger(int voiceChanger); + - (int) setLocalVoiceChanger:(AgoraAudioVoiceChanger)voiceChanger; + virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0; + + public abstract int SetLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger); + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated, please use the following method instead:
      -
    • : Audio effects.
    • -
    • : Voice beautifier effects.
    • -
    • : Voice conversion effects.
    • -
    -
    + +
    Deprecated:
    +
    This method is deprecated, please use the following method instead:
      +
    • : Audio effects.
    • +
    • : Voice beautifier + effects.
    • +
    • : Voice conversion + effects.
    • +
    +
    +
    -

    This method can be used to set the local voice effect for users in a COMMUNICATION channel or hosts in a LIVE_BROADCASTING channel. After successfully calling this method, all users in the channel can hear the voice with reverberation.

      -
    • VOICE_CHANGER_XXX: Changes the local voice to an old man, a little boy, or the Hulk. Applies to the voice talk scenario.
    • -
    • VOICE_BEAUTY_XXX: Beautifies the local voice by making it sound more vigorous, resounding, or adding spacial resonance. Applies to the voice talk and singing scenario.
    • -
    • GENERAL_VOICE_BEAUTY_XXX: Adds gender-based beautification effect to the local voice. Applies to the voice talk scenario. For a male voice: Adds magnetism to the voice. For a male voice: Adds magnetism to the voice. For a female voice: Adds freshness or vitality to the voice.
    • -

    +

    This method can be used to set the local voice effect for users in a COMMUNICATION + channel or hosts in a LIVE_BROADCASTING channel. After successfully calling this + method, all users in the channel can hear the voice with reverberation.

      +
    • VOICE_CHANGER_XXX: Changes the local voice to an old man, a + little boy, or the Hulk. Applies to the voice talk scenario.
    • +
    • VOICE_BEAUTY_XXX: Beautifies the local voice by making it + sound more vigorous, resounding, or adding spacial resonance. Applies to the + voice talk and singing scenario.
    • +
    • GENERAL_VOICE_BEAUTY_XXX: Adds gender-based beautification + effect to the local voice. Applies to the voice talk scenario. For a male + voice: Adds magnetism to the voice. For a male voice: Adds magnetism to the + voice. For a female voice: Adds freshness or vitality to the voice.
    • +
    +

    -
      -
    • To achieve better voice effect quality, Agora recommends setting the profile parameter in as (4) or (5).
    • -
    • This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music and a human voice.
    • -
    • You can call this method either before or after joining a channel.
    • -
    +
      +
    • To achieve better voice effect quality, Agora recommends setting the + profile parameter in as (4) or (5).
    • +
    • This method has the best effect on human voice processing, and Agora does + not recommend calling this method to process audio data containing music and + a human voice.
    • +
    • You can call this method either before or after joining a channel.
    • +
    + +
    Parameters - - voiceChanger - -

    The local voice changer option. The default value is , which means the original voice. See . The gender-based beatification effect works best only when assigned a proper gender. Use for male and use and for female. Otherwise, voice distortion might occur.

    -

    The local voice changer option:

      -
    • : -(Default) Turn off the local voice changer, that is, to use the original voice.
    • -
    • : The voice of an old man.
    • -
    • : The voice of a little boy.
    • -
    • : The voice of a little girl.
    • -
    • : The voice of Zhu Bajie, a character in Journey to the West who has a voice like that of a growling bear.
    • -
    • : The ethereal voice.
    • -
    • : The voice of Hulk.
    • -
    • : A more vigorous voice.
    • -
    • : A deeper voice.
    • -
    • : A mellower voice.
    • -
    • : Falsetto.
    • -
    • : A fuller voice.
    • -
    • : A clearer voice.
    • -
    • : A more resounding voice.
    • -
    • : A more ringing voice.
    • -
    • : A more spatially resonant voice.
    • -
    • : -(For male only) A more magnetic voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. Do not use it when the speaker is a female; otherwise, voice distortion occurs.
    • -
    • : -(For female only) A fresher voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. Do not use it when the speaker is a male; otherwise, voice distortion occurs.
    • -
    • : -(For female only) A more vital voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. Do not use it when the speaker is a male; otherwise, voice distortion occurs.
    • -

    -
    -
    -
    + + voiceChanger + +

    The local voice changer + option. The default value is , + which means the original voice. See . The gender-based beatification effect works best only when assigned + a proper gender. Use for male and use + and for female. + Otherwise, voice distortion might occur.

    +

    The local voice changer option:

      +
    • : (Default) Turn off the local + voice changer, that is, to use the original voice.
    • +
    • : The voice of an old + man.
    • +
    • : The voice of a little + boy.
    • +
    • : The voice of a little + girl.
    • +
    • : The voice of Zhu Bajie, a + character in Journey to the West who has a voice like that of a + growling bear.
    • +
    • : The ethereal voice.
    • +
    • : The voice of Hulk.
    • +
    • : A more vigorous + voice.
    • +
    • : A deeper voice.
    • +
    • : A mellower voice.
    • +
    • : Falsetto.
    • +
    • : A fuller voice.
    • +
    • : A clearer voice.
    • +
    • : A more resounding + voice.
    • +
    • : A more ringing voice.
    • +
    • : A more spatially resonant + voice.
    • +
    • : (For male + only) A more magnetic voice. Do not use it when the speaker is a + male; otherwise, voice distortion occurs. Do not use it when the + speaker is a female; otherwise, voice distortion occurs.
    • +
    • : (For female + only) A fresher voice. Do not use it when the speaker is a male; + otherwise, voice distortion occurs. Do not use it when the + speaker is a male; otherwise, voice distortion occurs.
    • +
    • : (For female + only) A more vital voice. Do not use it when the speaker is a + male; otherwise, voice distortion occurs. Do not use it when the + speaker is a male; otherwise, voice distortion occurs.
    • +
    +

    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita index 620cf8b4581..c9914d1b3af 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceequalization.dita @@ -1,61 +1,74 @@ - <ph keyref="setLocalVoiceEqualization" /> - Sets the local voice equalization effect. + <ph keyref="setLocalVoiceEqualization"/> + Sets the local voice equalization + effect. - +

    - public abstract int setLocalVoiceEqualization( + public abstract int setLocalVoiceEqualization( Constants.AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency + - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain; - virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLocalVoiceEqualization(EAUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - abstract setLocalVoiceEqualization( + abstract setLocalVoiceEqualization( bandFrequency: AudioEqualizationBandFrequency, bandGain: number ): number; - public abstract int SetLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - abstract setLocalVoiceEqualization( + public abstract int SetLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); + abstract setLocalVoiceEqualization( bandFrequency: AudioEqualizationBandFrequency, bandGain: number ): number; - Future<void> setLocalVoiceEqualization( + Future<void> setLocalVoiceEqualization( {required AudioEqualizationBandFrequency bandFrequency, required int bandGain}); -

    +

    Details - You can call this method either before or after joining a channel.
    + You can call this method either before or after joining a + channel. +
    Parameters - - bandFrequency - The band frequency. The value ranges between 0 and 9; representing the respective 10-band center frequencies of the voice effects, including 31, 62, 125, 250, 500, 1k, 2k, 4k, 8k, and 16k Hz. See . - - - bandGain - gain - The gain of each band in dB. The value ranges between -15 and 15. The default value is 0. - -
    + + bandFrequency + The band frequency. The value ranges between 0 and 9; representing the + respective 10-band center frequencies of the voice effects, including 31, + 62, 125, 250, 500, 1k, 2k, 4k, 8k, and 16k Hz. See . + + + bandGain + gain + The gain of each band in dB. The value ranges between -15 and 15. The + default value is 0. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita index 6b51e2f8020..ed96d8467ab 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoiceformant.dita @@ -2,7 +2,8 @@ <ph keyref="setLocalVoiceFormant"/> - Set the formant ratio to change the timbre of human voice. + Set the formant ratio to change the timbre of human + voice. @@ -13,42 +14,57 @@

    - 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|RtcEngineProxy") + - (int)setLocalVoiceFormant:(double)formantRatio; + virtual int setLocalVoiceFormant(double formantRatio) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLocalVoiceFormant(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);

    + abstract setLocalVoiceFormant(formantRatio: number): number; + public abstract int SetLocalVoiceFormant(double formantRatio); + abstract setLocalVoiceFormant(formantRatio: number): number; + Future<void> setLocalVoiceFormant(double formantRatio); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    Formant ratio affects the timbre of voice. The smaller the value, the deeper the sound will be, and the larger, the sharper.

    -

    You can call this method to set the formant ratio of local audio to change the timbre of human voice. After you set the formant ratio, all users in the channel can hear the changed voice. If you want to change the timbre and pitch of voice at the same time, Agora recommends using this method together with .You can call this method either before or after joining a channel.

    +

    Formant ratio affects the timbre of voice. The smaller the value, the deeper the + sound will be, and the larger, the sharper.

    +

    You can call this method to set the formant ratio of local audio to change the timbre + of human voice. After you set the formant ratio, all users in the channel can hear + the changed voice. If you want to change the timbre and pitch of voice at the same + time, Agora recommends using this method together with .You can call this method + either before or after joining a channel.

    Parameters - - formantRatio - The formant ratio. The value range is [-1.0, 1.0]. The default value is 0.0, which means do not change the timbre of the voice.Agora recommends setting this value within the range of [-0.4, 0.6]. Otherwise, the voice may be seriously distorted. - -
    + + formantRatio + The formant ratio. The value range is [-1.0, 1.0]. The default value is 0.0, + which means do not change the timbre of the voice.Agora + recommends setting this value within the range of [-0.4, 0.6]. + Otherwise, the voice may be seriously distorted. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita index 58f268cec94..a844c0c91d9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicepitch.dita @@ -1,46 +1,56 @@ - <ph keyref="setLocalVoicePitch" /> - Changes the voice pitch of the local speaker. + <ph keyref="setLocalVoicePitch"/> + Changes the voice pitch of the local + speaker. - +

    - public abstract int setLocalVoicePitch(double pitch); - - (int)setLocalVoicePitch:(double)pitch; - virtual int setLocalVoicePitch(double pitch) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLocalVoicePitch(double pitch); + - (int)setLocalVoicePitch:(double)pitch; + virtual int setLocalVoicePitch(double pitch) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setLocalVoicePitch(pitch: number): number; + public abstract int SetLocalVoicePitch(double pitch); + abstract setLocalVoicePitch(pitch: number): number; + Future<void> setLocalVoicePitch(double pitch); +

    Details - You can call this method either before or after joining a channel.
    + You can call this method either before or after joining a + channel. +
    Parameters - - pitch - The local voice pitch. The value range is [0.5,2.0]. The lower the value, the lower the pitch. The default value is 1.0 (no change to the pitch). - -
    + + pitch + The local voice pitch. The value range is [0.5,2.0]. The lower the value, + the lower the pitch. The default value is 1.0 (no change to the pitch). + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita index aa7e4f0d524..2ca968c2e62 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverb.dita @@ -1,59 +1,69 @@ - <ph keyref="setLocalVoiceReverb" /> + <ph keyref="setLocalVoiceReverb"/> Sets the local voice reverberation. - +

    - public abstract int setLocalVoiceReverb(Constants.AUDIO_REVERB_TYPE reverbKey, int value); - - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value; - virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLocalVoiceReverb(Constants.AUDIO_REVERB_TYPE reverbKey, int value); + - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value; + virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLocalVoiceReverb(EAUDIO_REVERB_TYPE reverbKey, int value); - abstract setLocalVoiceReverb( + abstract setLocalVoiceReverb( reverbKey: AudioReverbType, value: number ): number; - public abstract int SetLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value); - abstract setLocalVoiceReverb( + public abstract int SetLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value); + abstract setLocalVoiceReverb( reverbKey: AudioReverbType, value: number ): number; - Future<void> setLocalVoiceReverb( + Future<void> setLocalVoiceReverb( {required AudioReverbType reverbKey, required int value}); -

    +

    Details -

    The SDK provides an easier-to-use method, , to directly implement preset reverb effects for such as pop, R&B, and KTV.

    - You can call this method either before or after joining a channel.
    +

    The SDK provides an easier-to-use method, , to + directly implement preset reverb effects for such as pop, R&B, and KTV.

    + You can call this method either before or after joining a + channel. +
    Parameters - - reverbKey - reverbType - The reverberation key. Agora provides five reverberation keys, see . - - - value - The value of the reverberation key. - -
    + + reverbKey + reverbType + The reverberation key. Agora provides five reverberation keys, see . + + + value + The value of the reverberation key. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverbpreset.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverbpreset.dita index e382efa8cfc..81cca844c8c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverbpreset.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlocalvoicereverbpreset.dita @@ -2,7 +2,8 @@ <ph keyref="setLocalVoiceReverbPreset"/> - Sets the local voice reverberation option, including the virtual stereo. + Sets the local voice reverberation option, including + the virtual stereo. @@ -13,61 +14,92 @@

    - public abstract int setLocalVoiceReverbPreset(int reverbPreset); - - (int) setLocalVoiceReverbPreset:(AgoraAudioReverbPreset)reverbPreset; - virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0; - - public abstract int SetLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset); - - -

    + public abstract int setLocalVoiceReverbPreset(int reverbPreset); + - (int) setLocalVoiceReverbPreset:(AgoraAudioReverbPreset)reverbPreset; + virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0; + + public abstract int SetLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset); + + +

    Details - -
    - -
    Deprecated:
    -
    Use or instead.
    -
    -
    -

    This method sets the local voice reverberation for users in a COMMUNICATION channel or hosts in a live boradcasting channel. After successfully calling this method, all users in the channel can hear the voice with reverberation.

    - -
      -
    • When using the enumeration value prefixed with AUDIO_REVERB_FX, ensure that you set the profile parameter in to (4) or (5) before calling this method. Otherwise, the method setting is invalid.
    • -
    • When calling the method, Agora recommends setting the profile parameter in as (5).
    • -
    • This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music and a human voice.
    • -
    • You can call this method either before or after joining a channel.
    • -
    -
    +
    + +
    Deprecated:
    +
    Use or instead.
    +
    +
    +

    This method sets the local voice reverberation for users in a COMMUNICATION channel + or hosts in a live boradcasting channel. After successfully calling this method, all + users in the channel can hear the voice with reverberation.

    + +
      +
    • When using the enumeration value prefixed with + AUDIO_REVERB_FX, ensure that you set the + profile parameter in to (4) or (5) before calling + this method. Otherwise, the method setting is invalid.
    • +
    • When calling the method, Agora recommends setting the + profile parameter in as (5).
    • +
    • This method has the best effect on human voice processing, and Agora does + not recommend calling this method to process audio data containing music and + a human voice.
    • +
    • You can call this method either before or after joining a channel.
    • +
    +
    Parameters - - - reverbPreset - preset -

    The local voice reverberation option. The default value is , which means the original voice. See . To achieve better voice effects, Agora recommends the enumeration whose name begins with AUDIO_REVERB_FX.

    -

    The local voice reverberation option. To achieve better voice effects, Agora recommends the enumeration whose name begins with AUDIO_REVERB_FX.

      -
    • : (Default) Turn off local voice reverberation, that is, to use the original voice.
    • -
    • : The reverberation style typical of a KTV venue (enhanced).
    • -
    • : The reverberation style typical of a concert hall (enhanced).
    • -
    • : The reverberation style typical of an uncle's voice.
    • -
    • : The reverberation style typical of a little sister's voice.
    • -
    • : The reverberation style typical of a recording studio (enhanced).
    • -
    • : The reverberation style typical of popular music (enhanced).
    • -
    • : The reverberation style typical of R&B music (enhanced).
    • -
    • : The reverberation style typical of the vintage phonograph.
    • + + + reverbPreset + preset +

      The local voice + reverberation option. The default value is , which means the original voice. See + . To achieve better voice + effects, Agora recommends the enumeration whose name begins with + AUDIO_REVERB_FX.

      +

      The local voice reverberation option. To achieve better + voice effects, Agora recommends the enumeration whose name begins with + AUDIO_REVERB_FX.

        +
      • : (Default) Turn off local voice + reverberation, that is, to use the original voice.
      • +
      • : The reverberation style + typical of a KTV venue (enhanced).
      • +
      • : The reverberation + style typical of a concert hall (enhanced).
      • +
      • : The reverberation style + typical of an uncle's voice.
      • +
      • : The reverberation style + typical of a little sister's voice.
      • +
      • : The reverberation style + typical of a recording studio (enhanced).
      • +
      • : The reverberation style + typical of popular music (enhanced).
      • +
      • : The reverberation style + typical of R&B music (enhanced).
      • +
      • : The reverberation + style typical of the vintage phonograph.

      -
      -
      -
      + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita index e157a389749..d19434ecec0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfile.dita @@ -1,55 +1,67 @@ - <ph keyref="setLogFile" /> + <ph keyref="setLogFile"/> Sets the log file. - +

    - public abstract int setLogFile(String filePath); - - (int)setLogFile:(NSString * _Nonnull)filePath; - virtual int setLogFile(const char* filePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLogFile(String filePath); + - (int)setLogFile:(NSString * _Nonnull)filePath; + virtual int setLogFile(const char* filePath) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLogFile(FString filePath); - abstract setLogFile(filePath: string): number; - public abstract int SetLogFile(string filePath); - abstract setLogFile(filePath: string): number; - Future<void> setLogFile(String filePath); -

    + abstract setLogFile(filePath: string): number; + public abstract int SetLogFile(string filePath); + abstract setLogFile(filePath: string): number; + Future<void> setLogFile(String filePath); +

    Details
    - -
    Deprecated:
    -
    Use the mLogConfig parameter in method instead.
    -
    + +
    Deprecated:
    +
    Use the mLogConfig parameter in + method instead.
    +
    -

    Specifies an SDK output log file. The log file records all log data for the SDK’s operation. Ensure that the directory for the log file exists and is writable.

    +

    Specifies an SDK output log file. The log file records all log data for the SDK’s + operation. Ensure that the directory for the log file exists and is writable.

    -

    Ensure that you call immediately after calling the method, or the output log may not be complete.

    -
    +

    Ensure that you call immediately after calling the + method, or the output log may not be + complete.

    + +
    Parameters - - filePath - The complete path of the log files. These log files are encoded in UTF-8. - -
    + + filePath + The complete path of the log files. These log files are encoded in + UTF-8. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilesize.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilesize.dita index 53b6b25ffd2..1126220ce90 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilesize.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilesize.dita @@ -1,69 +1,95 @@ - <ph keyref="setLogFileSize" /> + <ph keyref="setLogFileSize"/> Sets the log file size. - +

    - public abstract int setLogFileSize(long fileSizeInKBytes); - - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes; - virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLogFileSize(long fileSizeInKBytes); + - (int)setLogFileSize:(NSUInteger)fileSizeInKBytes; + virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLogFileSize(int fileSizeInKBytes); - abstract setLogFileSize(fileSizeInKBytes: number): number; - public abstract int SetLogFileSize(uint fileSizeInKBytes); - abstract setLogFileSize(fileSizeInKBytes: number): number; - Future<void> setLogFileSize(int fileSizeInKBytes); -

    + abstract setLogFileSize(fileSizeInKBytes: number): number; + public abstract int SetLogFileSize(uint fileSizeInKBytes); + abstract setLogFileSize(fileSizeInKBytes: number): number; + Future<void> setLogFileSize(int fileSizeInKBytes); +

    Details
    - -
    Deprecated:
    -
    Use the logConfig parameter in instead.
    -
    + +
    Deprecated:
    +
    Use the logConfig parameter in + instead.
    +
    -

    By default, the SDK generates five SDK log files and five API call log files with the following rules:

    +

    By default, the SDK generates five SDK log files and five API call log files with the + following rules:

      -
    • The SDK log files are: agorasdk.log, agorasdk.1.log, agorasdk.2.log, agorasdk.3.log, and agorasdk.4.log.
    • -
    • The API call log files are: agoraapi.log, agoraapi.1.log, agoraapi.2.log, agoraapi.3.log, and agoraapi.4.log.
    • -
    • The default size of each SDK log file and API log file is 2,048 KB. These log files are encoded in UTF-8.
    • -
    • The SDK writes the latest logs in agorasdk.log or agoraapi.log.
    • -
    • When agorasdk.log is full, the SDK processes the log files in the following order:
        -
      1. Delete the agorasdk.4.log file (if any).
      2. -
      3. Rename agorasdk.3.log to agorasdk.4.log.
      4. -
      5. Rename agorasdk.2.log to agorasdk.3.log.
      6. -
      7. Rename agorasdk.1.log to agorasdk.2.log.
      8. -
      9. Create a new agorasdk.log file.
      10. -
    • -
    • The overwrite rules for the agoraapi.log file are the same as for agorasdk.log.
    • +
    • The SDK log files are: agorasdk.log, + agorasdk.1.log, agorasdk.2.log, + agorasdk.3.log, and agorasdk.4.log.
    • +
    • The API call log files are: agoraapi.log, + agoraapi.1.log, agoraapi.2.log, + agoraapi.3.log, and agoraapi.4.log.
    • +
    • The default size of each SDK log file and API log file is 2,048 KB. These log + files are encoded in UTF-8.
    • +
    • The SDK writes the latest logs in agorasdk.log or + agoraapi.log.
    • +
    • When agorasdk.log is full, the SDK processes the log files in + the following order:
        +
      1. Delete the agorasdk.4.log file (if any).
      2. +
      3. Rename agorasdk.3.log to + agorasdk.4.log.
      4. +
      5. Rename agorasdk.2.log to + agorasdk.3.log.
      6. +
      7. Rename agorasdk.1.log to + agorasdk.2.log.
      8. +
      9. Create a new agorasdk.log file.
      10. +
    • +
    • The overwrite rules for the agoraapi.log file are the same as + for agorasdk.log.
    -

    This method is used to set the size of the agorasdk.log file only and does not effect the agoraapi.log file.

    -
    +

    This method is used to set the size of the agorasdk.log file + only and does not effect the agoraapi.log file.

    + +
    Parameters - - fileSizeInKBytes - The size (KB) of an agorasdk.log file. The value range is [128,20480]. The default value is 2,048 KB. If you set fileSizeInKByte smaller than 128 KB, the SDK automatically adjusts it to 128 KB; if you set fileSizeInKByte greater than 20,480 KB, the SDK automatically adjusts it to 20,480 KB. - -
    + + fileSizeInKBytes + The size (KB) of an agorasdk.log file. The value range is + [128,20480]. The default value is 2,048 KB. If you set + fileSizeInKByte smaller than 128 KB, the SDK + automatically adjusts it to 128 KB; if you set + fileSizeInKByte greater than 20,480 KB, the SDK + automatically adjusts it to 20,480 KB. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita index 92eee63be9b..ff35296e499 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlogfilter.dita @@ -1,63 +1,95 @@ - <ph keyref="setLogFilter" /> + <ph keyref="setLogFilter"/> Sets the log output level of the SDK. - +

    - public abstract int setLogFilter(int filter); - - (int)setLogFilter:(NSUInteger)filter; - virtual int setLogFilter(unsigned int filter) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setLogFilter(int filter); + - (int)setLogFilter:(NSUInteger)filter; + virtual int setLogFilter(unsigned int filter) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLogFilter(int filter); - abstract setLogFilter(filter: LogFilterType): number; - public abstract int SetLogFilter(uint filter); - abstract setLogFilter(filter: LogFilterType): number; - Future<void> setLogFilter(LogFilterType filter); -

    + abstract setLogFilter(filter: LogFilterType): number; + public abstract int SetLogFilter(uint filter); + abstract setLogFilter(filter: LogFilterType): number; + Future<void> setLogFilter(LogFilterType filter); +

    Details
    - -
    Deprecated:
    -
    Use logConfig in instead.
    -
    + +
    Deprecated:
    +
    Use logConfig in + instead.
    +
    -

    This method sets the output log level of the SDK. You can use one or a combination of the log filter levels. The log level follows the sequence of , , , , , and . Choose a level to see the logs preceding that level.

    -

    If, for example, you set the log level to , you see the logs within levels , and .

    +

    This method sets the output log level of + the SDK. You can use one or a combination of the log filter levels. The log level + follows the sequence of , , , , , and . Choose a level to see the logs preceding that + level.

    +

    If, for example, you set the log level + to , you see the logs within levels , and + .

    Parameters - - filter - -

    The output log level of the SDK. See .

      -
    • (0): Do not output any log information.
    • -
    • (0x080f): Output all log information. Set your log filter as DEBUG if you want to get the most complete log file.
    • -
    • (0x0f): Output , , , and level log information. Agora recommends that you set the log level to this level.
    • -
    • (0x0e): Output , and level log information.
    • -
    • (0x0c): Output and level log information.
    • -
    • (0x08): Output level log information.
    • -

    -
    -
    -
    + + filter + +

    The output log level of the SDK. See .

      +
    • (0): Do not output any log + information.
    • +
    • (0x080f): Output all log + information. Set your log filter as DEBUG if you want to get the + most complete log file.
    • +
    • (0x0f): Output , , , and level log information. Agora + recommends that you set the log level to this level.
    • +
    • (0x0e): Output , and level log information.
    • +
    • (0x0c): Output and level log information.
    • +
    • (0x08): Output level log information.
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita index e6930595ba6..8a6b6b54628 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setloglevel.dita @@ -1,54 +1,61 @@ - <ph keyref="setLogLevel" /> + <ph keyref="setLogLevel"/> Sets the output log level of the SDK. - +

    - public abstract int setLogLevel(int level); - - (int)setLogLevel:(AgoraLogLevel)level; - virtual int setLogLevel(commons::LOG_LEVEL level) = 0; + public abstract int setLogLevel(int level); + - (int)setLogLevel:(AgoraLogLevel)level; + virtual int setLogLevel(commons::LOG_LEVEL level) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLogLevel(ELOG_LEVEL level); - abstract setLogLevel(level: LogLevel): number; - public abstract int SetLogLevel(LOG_LEVEL level); - abstract setLogLevel(level: LogLevel): number; - Future<void> setLogLevel(LogLevel level); -

    + abstract setLogLevel(level: LogLevel): number; + public abstract int SetLogLevel(LOG_LEVEL level); + abstract setLogLevel(level: LogLevel): number; + Future<void> setLogLevel(LogLevel level); +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead to set the log output level.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use instead to + set the log output level.
    +

    Choose a level to see the logs preceding that level.

    Parameters - - level - The log level: . - -
    + + level + The log level: . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita index a02abb6ed1e..3b8a4899dbb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions.dita @@ -1,82 +1,110 @@ - <ph keyref="setLowlightEnhanceOptions" /> + + <ph keyref="setLowlightEnhanceOptions"/> + Sets low-light enhancement. - +

    - public abstract int setLowlightEnhanceOptions(boolean enabled, LowLightEnhanceOptions options); + 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|RtcEngineProxy") + virtual int setLowlightEnhanceOptions(bool enabled, const LowlightEnhanceOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetLowlightEnhanceOptions(bool enabled, const FLowlightEnhanceOptions& options, EMEDIA_SOURCE_TYPE type); - abstract setLowlightEnhanceOptions( + abstract setLowlightEnhanceOptions( enabled: boolean, options: LowlightEnhanceOptions, type?: MediaSourceType ): number; - public abstract int SetLowlightEnhanceOptions(bool enabled, LowlightEnhanceOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setLowlightEnhanceOptions( + public abstract int SetLowlightEnhanceOptions(bool enabled, LowlightEnhanceOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); + abstract setLowlightEnhanceOptions( enabled: boolean, options: LowlightEnhanceOptions, type?: MediaSourceType ): number; - Future<void> setLowlightEnhanceOptions( + Future<void> setLowlightEnhanceOptions( {required bool enabled, required LowlightEnhanceOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    Details -

    The low-light enhancement feature can adaptively adjust the brightness value of the video captured in situations with low or uneven lighting, such as backlit, cloudy, or dark scenes. It restores or highlights the image details and improves the overall visual effect of the video.

    -

    You can call this method to enable the color enhancement feature and set the options of the color enhancement effect.

    +

    The low-light enhancement feature can adaptively adjust the brightness value of the + video captured in situations with low or uneven lighting, such as backlit, cloudy, + or dark scenes. It restores or highlights the image details and improves the overall + visual effect of the video.

    +

    You can call this method to enable the color enhancement feature and set the options + of the color enhancement effect.

    -
      -
    • Call this method after calling .
    • -
    • Dark light enhancement has certain requirements for equipment performance. The low-light enhancement feature has certain performance requirements on devices. If your device overheats after you enable low-light enhancement, Agora recommends modifying the low-light enhancement options to a less performance-consuming level or disabling low-light enhancement entirely.
    • -
    • Both this method and can turn on low-light enhancement:
        -
      • When you use the SDK to capture video, Agora recommends this method (this method only works for video captured by the SDK).
      • -
      • When you use an external video source to implement custom video capture, or send an external video source to the SDK, Agora recommends using .
      • -
    • -
    • This method relies on the image enhancement dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • -
    +
      +
    • Call this method after calling .
    • +
    • Dark light enhancement has certain requirements for equipment performance. + The low-light enhancement feature has certain performance requirements on + devices. If your device overheats after you enable low-light enhancement, + Agora recommends modifying the low-light enhancement options to a less + performance-consuming level or disabling low-light enhancement + entirely.
    • +
    • Both this method and can turn on + low-light enhancement:
        +
      • When you use the SDK to capture video, Agora recommends this method + (this method only works for video captured by the SDK).
      • +
      • When you use an external video source to implement custom video + capture, or send an external video source to the SDK, Agora + recommends using .
      • +
    • +
    • This method relies on the image enhancement dynamic library . If the dynamic library is deleted, + the function cannot be enabled normally.
    • +
    + +
    Parameters - - enabled - enable - Whether to enable low-light enhancement:
      -
    • : Enable low-light enhancement.
    • -
    • : (Default) Disable low-light enhancement.
    • -
    -
    - - options - The low-light enhancement options. See . - + + enabled + enable + Whether to enable low-light enhancement:
      +
    • : Enable low-light + enhancement.
    • +
    • : (Default) Disable low-light + enhancement.
    • +
    +
    + + options + The low-light enhancement options. See . + type The type of the video source. See . -
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita index e5eaef27e46..a50bf1d6d2f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setlowlightenhanceoptions2.dita @@ -1,61 +1,75 @@ - <ph keyref="setLowlightEnhanceOptions2" /> - Sets low light enhance options and specifies the media source. + + <ph keyref="setLowlightEnhanceOptions2"/> + + Sets low light enhance options and specifies the media + source. - +

    - public abstract int setLowlightEnhanceOptions( + public abstract int setLowlightEnhanceOptions( boolean enabled, LowLightEnhanceOptions options, Constants.MediaSourceType sourceType); - - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:sourceType:)); - - - - - - -

    + - (int)setLowlightEnhanceOptions:(BOOL)enable options:(AgoraLowlightEnhanceOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setLowlightEnhanceOptions(_:options:sourceType:)); + + + + + + +

    Details -

    The low-light enhancement feature can adaptively adjust the brightness value of the video captured in situations with low or uneven lighting, such as backlit, cloudy, or dark scenes. It restores or highlights the image details and improves the overall visual effect of the video.

    -

    This method and both set low light enhance options, but this method allows you to specify the media source to which the low light enhance options are applied.

    +

    The low-light enhancement feature can adaptively adjust the brightness value of the + video captured in situations with low or uneven lighting, such as backlit, cloudy, + or dark scenes. It restores or highlights the image details and improves the overall + visual effect of the video.

    +

    This method and both set low light enhance + options, but this method allows you to specify the media source to which the low + light enhance options are applied.

    Parameters - - - - - - - - - - type - The type of the video source. See . - - - - - -
    + + + + + + + + + + type + The type of the video source. See . + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setmaxmetadatasize.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setmaxmetadatasize.dita index 51f23dbf4a3..39d47050c8d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setmaxmetadatasize.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setmaxmetadatasize.dita @@ -1,45 +1,53 @@ - <ph keyref="setMaxMetadataSize" /> - Sets the maximum size of the media metadata. + <ph keyref="setMaxMetadataSize"/> + Sets the maximum size of the media + metadata. - +

    - - - - abstract setMaxMetadataSize(size: number): number; - public abstract int SetMaxMetadataSize(int size); - abstract setMaxMetadataSize(size: number): number; - Future<void> setMaxMetadataSize(int size); -

    + + + + abstract setMaxMetadataSize(size: number): number; + public abstract int SetMaxMetadataSize(int size); + abstract setMaxMetadataSize(size: number): number; + Future<void> setMaxMetadataSize(int size); +

    Details -

    After calling , you can call this method to set the maximum size of the media metadata.

    +

    After calling , you can call this + method to set the maximum size of the media metadata.

    Parameters - - size - The maximum size of media metadata. - -
    + + size + The maximum size of media metadata. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setmediametadatadatasource.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setmediametadatadatasource.dita index b24cb06530c..924da363370 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setmediametadatadatasource.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setmediametadatadatasource.dita @@ -1,12 +1,12 @@ - <ph keyref="setMediaMetadataDataSource" /> + <ph keyref="setMediaMetadataDataSource"/> Sets the data source of the metadata. - + @@ -18,31 +18,39 @@ - + +
    Details -

    You need to implement the protocol in this method and specify the data format of the metadata. After a successful method call, the SDK triggers the callback.

    -

    This method can be used with to add synchronized metadata in the video stream for more diversified live interactions, such as sending shopping links, digital coupons, and online quizzes.

    +

    You need to implement the protocol in + this method and specify the data format of the metadata. After a successful method + call, the SDK triggers the callback.

    +

    This method can be used with to add + synchronized metadata in the video stream for more diversified live interactions, + such as sending shopping links, digital coupons, and online quizzes.

    - Call this method before joining a channel.

    + Call this method before joining a channel. +

    Parameters - - metadataDataSource - The protocol. - - - - - -
    + + metadataDataSource + The protocol. + + + + + + +
    Returns
      -
    • : Success.
    • -
    • : Failure.
    • -
    +
  • : Success.
  • +
  • : Failure.
  • + + -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita index b4217bc6972..a65945c99ae 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setmixedaudioframeparameters.dita @@ -1,77 +1,93 @@ - <ph keyref="setMixedAudioFrameParameters" /> - Sets the audio data format reported by . + <ph keyref="setMixedAudioFrameParameters"/> + Sets the audio data format reported by . - +

    - public abstract int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); - - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + public abstract int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); + - (int)setMixedAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel samplesPerCall:(NSInteger)samplesPerCall; - virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); - abstract setMixedAudioFrameParameters( + abstract setMixedAudioFrameParameters( sampleRate: number, channel: number, samplesPerCall: number ): number; - public abstract int SetMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); - abstract setMixedAudioFrameParameters( + public abstract int SetMixedAudioFrameParameters(int sampleRate, int channel, int samplesPerCall); + abstract setMixedAudioFrameParameters( sampleRate: number, channel: number, samplesPerCall: number ): number; - Future<void> setMixedAudioFrameParameters( + Future<void> setMixedAudioFrameParameters( {required int sampleRate, required int channel, required int samplesPerCall}); -

    +

    Parameters - - sampleRate - -

    The sample rate (Hz) of the audio data, which can be set as 8000, 16000, 32000, 44100, or 48000.

    -
    -
    + + sampleRate + +

    The sample rate (Hz) of the audio data, which can be set as + 8000, 16000, + 32000, 44100, or + 48000.

    +
    +
    - - channel - -

    The number of channels of the audio data, which can be set as 1(Mono) or 2(Stereo).

    -
    -
    + + channel + +

    The number of channels of the audio data, which can be set as + 1(Mono) or 2(Stereo).

    +
    +
    - - samplesPerCall - -

    Sets the number of samples. In Media Push scenarios, set it as 1024.

    -
    -
    + + samplesPerCall + +

    Sets the number of samples. In Media Push scenarios, set it as + 1024.

    +
    +
    -

    The SDK triggers the callback according to the sample interval. Sampleinterval (sec) = samplePerCall/(sampleRate × channel) Ensure that the value of sample interval more than or equal to 0.01.

    -
    +

    The SDK triggers the callback according to + the sample interval. Sampleinterval (sec) = + samplePerCall/(sampleRate × + channel) Ensure that the value of sample interval more than + or equal to 0.01.

    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setparameters.dita index ed457d35684..96c3f1323ae 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setparameters.dita @@ -2,7 +2,8 @@ <ph keyref="setParameters"/> - Provides technical preview functionalities or special customizations by configuring the SDK with JSON options. + Provides technical preview functionalities or special + customizations by configuring the SDK with JSON options. @@ -13,48 +14,56 @@

    - public abstract int setParameters(String parameters); - - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:)); - virtual int setParameters(const char* parameters) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setParameters(String parameters); + - (int)setParameters:(NSString * _Nonnull)options NS_SWIFT_NAME(setParameters(_:)); + virtual int setParameters(const char* parameters) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetParameters(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);

    + abstract setParameters(parameters: string): number; + public abstract int SetParameters(string key, object value); + abstract setParameters(parameters: string): number; + Future<void> setParameters(String parameters); +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    Contact to get the JSON configuration method.

    +

    Contact to get the JSON configuration method.

    Parameters - - parameters - options - Pointer to the set parameters in a JSON string. - - - key - The key of the option. - - - value - The value of the key. - -
    + + parameters + options + Pointer to the set parameters in a JSON string. + + + key + The key of the option. + + + value + The value of the key. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita index 60cb085931f..b96c034eb6e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframebeforemixingparameters.dita @@ -1,61 +1,72 @@ - <ph keyref="setPlaybackAudioFrameBeforeMixingParameters" /> - Sets the audio data format reported by . + <ph keyref="setPlaybackAudioFrameBeforeMixingParameters"/> + Sets the audio data format reported by . - +

    - public abstract int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate + public abstract int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); + - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel; - virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - abstract setPlaybackAudioFrameBeforeMixingParameters( + abstract setPlaybackAudioFrameBeforeMixingParameters( sampleRate: number, channel: number ): number; - public abstract int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - abstract setPlaybackAudioFrameBeforeMixingParameters( + public abstract int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); + abstract setPlaybackAudioFrameBeforeMixingParameters( sampleRate: number, channel: number ): number; - Future<void> setPlaybackAudioFrameBeforeMixingParameters( + Future<void> setPlaybackAudioFrameBeforeMixingParameters( {required int sampleRate, required int channel}); -

    +

    Parameters - - sampleRate - -

    The sample rate (Hz) of the audio data, which can be set as 8000, 16000, 32000, 44100, or 48000.

    -
    -
    + + sampleRate + +

    The sample rate (Hz) of the audio data, which can be set as + 8000, 16000, + 32000, 44100, or + 48000.

    +
    +
    - - channel - -

    The number of channels of the audio data, which can be set as 1(Mono) or 2(Stereo).

    -
    -
    -
    + + channel + +

    The number of channels of the audio data, which can be set as + 1(Mono) or 2(Stereo).

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita index 8d7afab2014..fcbd8d80314 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setplaybackaudioframeparameters.dita @@ -1,93 +1,117 @@ - <ph keyref="setPlaybackAudioFrameParameters" /> - Sets the audio data format for playback. + <ph keyref="setPlaybackAudioFrameParameters"/> + Sets the audio data format for + playback. - +

    - public abstract int setPlaybackAudioFrameParameters( + public abstract int setPlaybackAudioFrameParameters( int sampleRate, int channel, int mode, int samplesPerCall); - - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall; - virtual int setPlaybackAudioFrameParameters(int sampleRate, + virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetPlaybackAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setPlaybackAudioFrameParameters( + abstract setPlaybackAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - public abstract int SetPlaybackAudioFrameParameters(int sampleRate, int channel, + public abstract int SetPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setPlaybackAudioFrameParameters( + abstract setPlaybackAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - Future<void> setPlaybackAudioFrameParameters( + Future<void> setPlaybackAudioFrameParameters( {required int sampleRate, required int channel, required RawAudioFrameOpModeType mode, required int samplesPerCall}); -

    +

    Details -

    Sets the data format for the callback.

    +

    Sets the data format for the callback.

    -
      -
    • Ensure that you call this method before joining a channel.
    • -
    • The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method.Sample interval (sec) = samplePerCall/(sampleRate × channel). Ensure that the sample interval ≥ 0.01 (s). The SDK triggers the callback according to the sampling interval.
    • -
    +
      +
    • Ensure that you call this method before joining a channel.
    • +
    • The SDK calculates the sampling interval based on the + samplesPerCall, sampleRate and + channel parameters set in this + method.Sample interval (sec) = + samplePerCall/(sampleRate + × channel). Ensure that the + sample interval ≥ 0.01 (s). The SDK triggers the callback according to the sampling + interval.
    • +
    + +
    Parameters - - sampleRate - The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. - - - channel - -

    The number of channels returned in the callback:

      -
    • 1: Mono.
    • -
    • 2: Stereo.
    • -

    -
    -
    - - mode - -

    The use mode of the audio frame. See .

    -

    - - - - samplesPerCall - The number of data samples returned in the callback, such as 1024 for the Media Push. - -

    + + sampleRate + The sample rate returned in the + callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. + + + channel + +

    The number of channels returned in the callback:

      +
    • 1: Mono.
    • +
    • 2: Stereo.
    • +

    +
    +
    + + mode + +

    The use mode + of the audio frame. See .

    +

    + + + + samplesPerCall + The number of data samples returned in the callback, such as 1024 for the Media + Push. + + +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setpluginparameter.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setpluginparameter.dita index a5c101627bc..5681b5ba9b7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setpluginparameter.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setpluginparameter.dita @@ -1,37 +1,38 @@ - <ph keyref="setPluginParameter" /> + <ph keyref="setPluginParameter"/> Sets the parameter of a specified plugin. - +

    - - - - - - - -

    + + + + + + + +

    Details -

    After getting the value using , you can call this method to pass a JSON string containing a key and a value to the C++ layer.

    +

    After getting the value using , you can call this + method to pass a JSON string containing a key and a value to the C++ layer.

    Parameters - - + + parameter @@ -47,4 +48,4 @@
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita index fe13e1d36db..e874d726fa9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setrecordingaudioframeparameters.dita @@ -1,101 +1,130 @@ - <ph keyref="setRecordingAudioFrameParameters" /> - Sets the format of the captured raw audio data. + <ph keyref="setRecordingAudioFrameParameters"/> + Sets the format of the captured raw audio + data. - +

    - public abstract int setRecordingAudioFrameParameters( + public abstract int setRecordingAudioFrameParameters( int sampleRate, int channel, int mode, int samplesPerCall); - - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall; - virtual int setRecordingAudioFrameParameters(int sampleRate, + virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRecordingAudioFrameParameters(int sampleRate, int channel, ERAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setRecordingAudioFrameParameters( + abstract setRecordingAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - public abstract int SetRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - abstract setRecordingAudioFrameParameters( + public abstract int SetRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); + abstract setRecordingAudioFrameParameters( sampleRate: number, channel: number, mode: RawAudioFrameOpModeType, samplesPerCall: number ): number; - Future<void> setRecordingAudioFrameParameters( + Future<void> setRecordingAudioFrameParameters( {required int sampleRate, required int channel, required RawAudioFrameOpModeType mode, required int samplesPerCall}); -

    +

    Details -

    Sets the audio format for the callback.

    +

    Sets the audio format for the callback.

    -
      -
    • Ensure that you call this method before joining a channel.
    • -
    • The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method.Sample interval (sec) = samplePerCall/(sampleRate × channel). Ensure that the sample interval ≥ 0.01 (s). The SDK triggers the callback according to the sampling interval.
    • -
    +
      +
    • Ensure that you call this method before joining a channel.
    • +
    • The SDK calculates the sampling interval based on the + samplesPerCall, sampleRate and + channel parameters set in this + method.Sample interval (sec) = + samplePerCall/(sampleRate + × channel). Ensure that the + sample interval ≥ 0.01 (s). The SDK triggers the + callback according to the + sampling interval.
    • +
    + +
    Parameters - - sampleRate - The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. - The sample rate returned in the SDK, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. - - - channel - -

    The number of channels returned in the callback:

      -
    • 1: Mono.
    • -
    • 2: Stereo.
    • -

    -
    - -

    The number of channels returned by the SDK. You can set the value as 1 or 2:

      -
    • 1: Mono.
    • -
    • 2: Stereo.
    • -

    -
    -
    - - mode - -

    The use mode of the audio frame. See .

    -

    - - The use mode of the returned data from the SDK. See . - - - samplesPerCall - The number of data samples returned in the callback, such as 1024 for the Media Push. - The number of data samples returned in the SDK, such as 1024 for the Media Push. - -

    + + sampleRate + The sample rate returned in the + callback, which can be set as + 8000, 16000, 32000, 44100, or 48000 Hz. + The sample rate returned in the SDK, which can be set as + 8000, 16000, 32000, 44100, or 48000 Hz. + + + channel + +

    The number of channels returned in the callback:

      +
    • 1: Mono.
    • +
    • 2: Stereo.
    • +

    +
    + +

    The number of channels returned by the SDK. You can set the value as 1 or 2:

      +
    • 1: Mono.
    • +
    • 2: Stereo.
    • +

    +
    +
    + + mode + +

    The use mode + of the audio frame. See .

    +

    + + The use mode of the returned data from the SDK. See . + + + samplesPerCall + The number of data samples + returned in the callback, such as + 1024 for the Media Push. + The number of data samples returned in the SDK, such as + 1024 for the Media Push. + + +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita index 9eeb12cd7f3..3b6d0f406b6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotedefaultvideostreamtype.dita @@ -1,58 +1,73 @@ - <ph keyref="setRemoteDefaultVideoStreamType" /> - Sets the default video stream type to subscribe to. + <ph keyref="setRemoteDefaultVideoStreamType"/> + Sets the default video stream type to subscribe + to. - +

    - public abstract int setRemoteDefaultVideoStreamType(int streamType); - - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType; - virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setRemoteDefaultVideoStreamType(int streamType); + - (int)setRemoteDefaultVideoStreamType:(AgoraVideoStreamType)streamType; + virtual int setRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteDefaultVideoStreamType(EVIDEO_STREAM_TYPE streamType); - abstract setRemoteDefaultVideoStreamType(streamType: VideoStreamType): number; - public abstract int SetRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType); - abstract setRemoteDefaultVideoStreamType(streamType: VideoStreamType): number; - Future<void> setRemoteDefaultVideoStreamType(VideoStreamType streamType); -

    + abstract setRemoteDefaultVideoStreamType(streamType: VideoStreamType): number; + public abstract int SetRemoteDefaultVideoStreamType(VIDEO_STREAM_TYPE streamType); + abstract setRemoteDefaultVideoStreamType(streamType: VideoStreamType): number; + Future<void> setRemoteDefaultVideoStreamType(VideoStreamType streamType); +

    Details

    -

      -
    • Call this method before joining a channel. The SDK does not support changing the default subscribed video stream type after joining a channel.
    • -
    • If you call both this method and , the setting of takes effect.
    • -
    +
      +
    • Call this method before joining a channel. The SDK does not support changing + the default subscribed video stream type after joining a channel.
    • +
    • If you call both this method and , + the setting of takes + effect.
    • +
    +
    Parameters - - streamType - -

    The default video-stream type. See .

    -

    The default video-stream type:

      -
    • (0): High-quality stream, that is, a high-resolution and high-bitrate video stream.
    • -
    • (1): Low-quality stream, that is, a low-resolution and low-bitrate video stream.
    • -

    -
    -
    -
    + + streamType + +

    The default video-stream type. See .

    +

    The default video-stream type:

      +
    • (0): High-quality stream, that + is, a high-resolution and high-bitrate video stream.
    • +
    • (1): Low-quality stream, that is, + a low-resolution and low-bitrate video stream.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode.dita index 83adb60e54e..fcb8bf38340 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode.dita @@ -2,7 +2,8 @@ <ph keyref="setRemoteRenderMode1"/> - Sets the video display mode of a specified remote user. + Sets the video display mode of a specified remote + user. @@ -13,49 +14,61 @@

    - public abstract int setRemoteRenderMode(int userId, int renderMode); - - (int)setRemoteRenderMode:(NSUInteger)uid + public abstract int setRemoteRenderMode(int userId, int renderMode); + - (int)setRemoteRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode) mode; - virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode) = 0; - - public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode); - - -

    + virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode) = 0; + + public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode); + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use + instead.
    +
    -

    Call this method to set the video display mode of a specified remote user. This method can be called multiple times during a call to change the display mode.

    +

    Call this method to set the video display mode of a specified remote user. This + method can be called multiple times during a call to change the display mode.

    Parameters - - userId - The user ID of the remote user. - - - renderMode - -

    The rendering mode of the remote user view. For details, see .

    -

    The rendering mode of the remote user view.

      -
    • (1): Hidden mode. Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents.
    • -
    • (2): Fit mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio are filled with black.
    • -

    -
    -
    -
    + + userId + The user ID of the remote user. + + + renderMode + +

    The rendering mode of the remote + user view. For details, see .

    +

    The rendering mode of the remote user view.

      +
    • (1): Hidden mode. Uniformly + scale the video until it fills the visible boundaries (cropped). + One dimension of the video may have clipped contents.
    • +
    • (2): Fit mode. Uniformly scale the + video until one of its dimension fits the boundary (zoomed to + fit). Areas that are not filled due to the disparity in the + aspect ratio are filled with black.
    • +
    +

    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita index 69606e40337..f2cdbdbddb8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremoterendermode2.dita @@ -1,85 +1,107 @@ - <ph keyref="setRemoteRenderMode2" /> - Updates the display mode of the video view of a remote user. + <ph keyref="setRemoteRenderMode2"/> + Updates the display mode of the video view of a remote + user. - +

    - public abstract int setRemoteRenderMode(int userId, int renderMode, int mirrorMode); - - (int)setRemoteRenderMode:(NSUInteger)uid + public abstract int setRemoteRenderMode(int userId, int renderMode, int mirrorMode); + - (int)setRemoteRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode)mode mirror:(AgoraVideoMirrorMode)mirror; - virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteRenderMode(int64 uid, ERENDER_MODE_TYPE renderMode, EVIDEO_MIRROR_MODE_TYPE mirrorMode); - abstract setRemoteRenderMode( + abstract setRemoteRenderMode( uid: number, renderMode: RenderModeType, mirrorMode: VideoMirrorModeType ): number; - public abstract int SetRemoteRenderMode(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); - abstract setRemoteRenderMode( + public abstract int SetRemoteRenderMode(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); + abstract setRemoteRenderMode( uid: number, renderMode: RenderModeType, mirrorMode: VideoMirrorModeType ): number; - Future<void> setRemoteRenderMode( + Future<void> setRemoteRenderMode( {required int uid, required RenderModeType renderMode, required VideoMirrorModeType mirrorMode}); -

    +

    Details -

    After initializing the video view of a remote user, you can call this method to update its rendering and mirror modes. This method affects only the video view that the local user sees.

    +

    After initializing the video view of a remote user, you can call this method to + update its rendering and mirror modes. This method affects only the video view that + the local user sees.

    -
      -
    • Call this method after initializing the remote view by calling the method.
    • -
    • During a call, you can call this method as many times as necessary to update the display mode of the video view of a remote user.
    • -
    +
      +
    • Call this method after + initializing the remote view by calling the method.
    • +
    • During a call, you can call this method as many times as necessary to update + the display mode of the video view of a remote user.
    • +
    + +
    Parameters - - userId - uid - The user ID of the remote user. - - - renderMode - mode - -

    The rendering mode of the remote user view. For details, see .

    -

    The rendering mode of the remote user view.

      -
    • -

    -
    -
    - - mirrorMode - mirror - -

    The mirror mode of the remote user view. See .

    -

    The mirror mode of the remote user view.

      -
    • -

    -
    -
    -
    + + userId + uid + The user ID of the remote user. + + + renderMode + mode + +

    The rendering + mode of the remote user view. For details, see .

    +

    The rendering mode of the remote user view.

      +
    • +
    +

    +
    +
    + + mirrorMode + mirror + +

    The mirror + mode of the remote user view. See .

    +

    The mirror mode of the remote user view.

      +
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita index 2ceaa77651d..0393591d41c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotesubscribefallbackoption.dita @@ -1,54 +1,82 @@ - <ph keyref="setRemoteSubscribeFallbackOption" /> - Sets the fallback option for the subscribed video stream based on the network conditions. - - - - - - - - -
    -

    - public abstract int setRemoteSubscribeFallbackOption(int option); - - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option; - virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; - abstract setRemoteSubscribeFallbackOption( + + <ph keyref="setRemoteSubscribeFallbackOption"/> + + Sets the fallback option for the subscribed video stream + based on the network conditions. + + + + + + + + +

    +

    + public abstract int setRemoteSubscribeFallbackOption(int option); + - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option; + virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; + abstract setRemoteSubscribeFallbackOption( option: StreamFallbackOptions ): number; - public abstract int SetRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option); - abstract setRemoteSubscribeFallbackOption( + public abstract int SetRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option); + abstract setRemoteSubscribeFallbackOption( option: StreamFallbackOptions ): number; - Future<void> setRemoteSubscribeFallbackOption(StreamFallbackOptions option); -

    -
    -
    - Details -

    An unstable network affects the audio and video quality in a video call or interactive live video streaming. If option is set as or , the SDK automatically switches the video from a high-quality stream to a low-quality stream or disables the video when the downlink network conditions cannot support both audio and video to guarantee the quality of the audio. Meanwhile, the SDK continuously monitors network quality and resumes subscribing to audio and video streams when the network quality improves.

    -

    When the subscribed video stream falls back to an audio-only stream, or recovers from an audio-only stream to an audio-video stream, the SDK triggers the callback.

    - Ensure that you call this method before joining a channel.
    -
    - Parameters - - - option - Fallback options for the subscribed stream. See .
      -
    • (0): No fallback processing is performed on audio and video streams, and the quality of the audio and video streams cannot be guaranteed.
    • -
    • (1): (Default) Under poor downlink network conditions, the remote video stream, to which you subscribe, falls back to the low-quality (low resolution and low bitrate) video stream.
    • -
    • (2): When the network conditions are poor, try to receive the low-quality video stream first. If the video cannot be displayed due to extremely poor network environment, then fall back to receiving audio-only stream.
    • -
    -
    -
    -
    - <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    -
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    - - \ No newline at end of file + Future<void> setRemoteSubscribeFallbackOption(StreamFallbackOptions option); +

    +
    +
    + Details +

    An unstable network affects the audio and video quality in a video call or interactive live + video streaming. If option is set as or , the SDK automatically switches the video + from a high-quality stream to a low-quality stream or disables the video when the downlink + network conditions cannot support both audio and video to guarantee the quality of the + audio. Meanwhile, the SDK continuously monitors network quality and resumes subscribing to + audio and video streams when the network quality improves.

    +

    When the subscribed video stream falls back to an audio-only stream, or recovers from an + audio-only stream to an audio-video stream, the SDK triggers the callback.

    + Ensure that you call this method before joining a channel. +
    +
    + Parameters + + + option + Fallback options for the subscribed stream. See .
      +
    • (0): No fallback processing is + performed on audio and video streams, and the quality of the audio and video streams + cannot be guaranteed.
    • +
    • (1): (Default) Under poor + downlink network conditions, the remote video stream, to which you subscribe, falls + back to the low-quality (low resolution and low bitrate) video stream.
    • +
    • (2): When the network conditions + are poor, try to receive the low-quality video stream first. If the video cannot be + displayed due to extremely poor network environment, then fall back to receiving + audio-only stream.
    • +
    +
    +
    +
    +
    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, the + exception is thrown. You need to catch the exception + and handle it accordingly. See for details + and resolution suggestions.

    +
      +
    • 0: Success.
    • +
    • < 0: Failure. See for details and + resolution suggestions.
    • +
    +
    +
    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita index 24edea0bf43..e4a5667489f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserpriority.dita @@ -1,7 +1,9 @@ - <ph keyref="setRemoteUserPriority"/> + + <ph keyref="setRemoteUserPriority"/> + Prioritizes a remote user's stream. @@ -13,44 +15,55 @@

    - public abstract int setRemoteUserPriority(int uid, int userPriority); - - virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; - - public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); - -

    + public abstract int setRemoteUserPriority(int uid, int userPriority); + + virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; + + public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); + +

    - Details -

    Prioritizes a remote user's stream. The SDK ensures the high-priority user gets the best possible stream quality. The SDK ensures the high-priority user gets the best possible stream quality.

    + Details +

    Prioritizes a remote user's stream. The SDK ensures the high-priority user gets + the best possible stream quality. The SDK ensures the high-priority user gets + the best possible stream quality.

    -
      -
    • The SDK supports setting only one user as high priority.
    • -
    • Ensure that you call this method before joining a channel.
    • -
    +
      +
    • The SDK supports setting only one user as high priority.
    • +
    • Ensure that you call this method before joining a channel.
    • +
    + +
    Parameters - - uid - The user ID of the remote user. - - - userPriority - -

    The priority of the remote user. See .

      -
    • : The user's priority is high.
    • -
    • : (Default) The user's priority is normal.
    • -

    -
    -
    -
    + + uid + The user ID of the remote user. + + + userPriority + +

    The priority of the remote user. See .

      +
    • : The user's priority is + high.
    • +
    • : (Default) The user's + priority is normal.
    • +

    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserspatialaudioparams.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserspatialaudioparams.dita index b103389b3d9..dde5d1733dd 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserspatialaudioparams.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremoteuserspatialaudioparams.dita @@ -1,60 +1,69 @@ - <ph keyref="setRemoteUserSpatialAudioParams" /> - Sets the spatial audio effect parameters of the remote user. + <ph keyref="setRemoteUserSpatialAudioParams"/> + Sets the spatial audio effect parameters of the remote + user. - +

    - public abstract int setRemoteUserSpatialAudioParams(int uid, SpatialAudioParams params); - - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid + public abstract int setRemoteUserSpatialAudioParams(int uid, SpatialAudioParams params); + - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid params:(AgoraSpatialAudioParams* _Nonnull)params; - virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteUserSpatialAudioParams(int64 uid, const FSpatialAudioParams& params); - abstract setRemoteUserSpatialAudioParams( + abstract setRemoteUserSpatialAudioParams( uid: number, params: SpatialAudioParams ): number; - public abstract int SetRemoteUserSpatialAudioParams(uint uid, SpatialAudioParams param); - abstract setRemoteUserSpatialAudioParams( + public abstract int SetRemoteUserSpatialAudioParams(uint uid, SpatialAudioParams param); + abstract setRemoteUserSpatialAudioParams( uid: number, params: SpatialAudioParams ): number; - Future<void> setRemoteUserSpatialAudioParams( + Future<void> setRemoteUserSpatialAudioParams( {required int uid, required SpatialAudioParams params}); -

    +

    Details -

    Call this method after . After successfully setting the spatial audio effect parameters of the remote user, the local user can hear the remote user with a sense of space.

    +

    Call this method after . After successfully + setting the spatial audio effect parameters of the remote user, the local user can + hear the remote user with a sense of space.

    Parameters - - - - - - params - param - The spatial audio parameters. See . - -
    + + + + + + params + param + The spatial audio parameters. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideorenderer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideorenderer.dita index a26b12ddf20..e7f6a1243f5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideorenderer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideorenderer.dita @@ -2,46 +2,47 @@ setremotevideorenderer - + - +

    - - - - - - - -

    + + + + + + + +

    Details
    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +
    -

    +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita index 7586ae89c2f..6b9b42a826c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideostreamtype.dita @@ -1,70 +1,102 @@ - <ph keyref="setRemoteVideoStreamType" /> - Sets the video stream type to subscribe to. + + <ph keyref="setRemoteVideoStreamType"/> + + Sets the video stream type to subscribe + to. - +

    - public abstract int setRemoteVideoStreamType(int uid, int streamType); - - (int)setRemoteVideoStream:(NSUInteger)uid + public abstract int setRemoteVideoStreamType(int uid, int streamType); + - (int)setRemoteVideoStream:(NSUInteger)uid type:(AgoraVideoStreamType)streamType; - virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVideoStreamType(int64 uid, EVIDEO_STREAM_TYPE streamType); - abstract setRemoteVideoStreamType( + abstract setRemoteVideoStreamType( uid: number, streamType: VideoStreamType ): number; - public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType); - abstract setRemoteVideoStreamType( + public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType); + abstract setRemoteVideoStreamType( uid: number, streamType: VideoStreamType ): number; - Future<void> setRemoteVideoStreamType( + Future<void> setRemoteVideoStreamType( {required int uid, required VideoStreamType streamType}); -

    +

    - Details -

    The SDK defaults to enabling low-quality video stream adaptive mode () on the sending end, which means the sender does not actively send low-quality video stream. The receiver with the role of the host can initiate a low-quality video stream request by calling this method, and upon receiving the request, the sending end automatically starts sending the low-quality video stream.

    -

    The SDK will dynamically adjust the size of the corresponding video stream based on the size of the video window to save bandwidth and computing resources. The default aspect ratio of the low-quality video stream is the same as that of the high-quality video stream. According to the current aspect ratio of the high-quality video stream, the system will automatically allocate the resolution, frame rate, and bitrate of the low-quality video stream.

    + Details +

    The SDK defaults to enabling low-quality video stream adaptive mode + () on the sending end, which means + the sender does not actively send low-quality video stream. The receiver with + the role of the host can initiate a low-quality video stream request by + calling this method, and upon receiving the request, the sending end + automatically starts sending the low-quality video stream.

    +

    The SDK will dynamically adjust the size of the corresponding video + stream based on the size of the video window to save bandwidth and computing + resources. The default aspect ratio of the low-quality video stream is the same + as that of the high-quality video stream. According to the current aspect ratio + of the high-quality video stream, the system will automatically allocate the + resolution, frame rate, and bitrate of the low-quality video stream.

      -
    • You can call this method either before or after joining a channel.
    • -
    • If the publisher has already called and set mode to (never send low-quality video stream), calling this method will not take effect, you should call again on the sending end and adjust the settings.
    • -
    • Calling this method on the receiving end of the audience role will not take effect.
    • -
    • If you call both and , the settings in take effect.
    +
  • You can call this method either before or after joining a channel.
  • +
  • If the publisher has already called + and set mode to (never send low-quality video + stream), calling this method will not take effect, you should call + again on the sending end + and adjust the settings.
  • +
  • Calling this method on the receiving end of the audience role + will not take effect.
  • +
  • If you call both and , the settings in + take effect.
  • + +
    Parameters - - uid - The user ID. - - - streamType - -

    The video stream type, see .

    -

    The video stream type:

      -
    • 0: High-quality video stream.
    • -
    • 1: Low-quality video stream.
    • -

    -
    -
    -
    + + uid + The user ID. + + + streamType + +

    The video stream type, see .

    +

    The video stream type:

      +
    • 0: High-quality video stream.
    • +
    • 1: Low-quality video stream.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when + fails, the exception is thrown. You need to + catch the exception and handle it accordingly. See for details and resolution + suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita index 13cb8320e91..e36b8d57513 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevideosubscriptionoptions.dita @@ -2,7 +2,8 @@ <ph keyref="setRemoteVideoSubscriptionOptions"/> - Options for subscribing to remote video streams. + Options for subscribing to remote video + streams. @@ -13,58 +14,92 @@

    - public abstract int setRemoteVideoSubscriptionOptions(int uid, VideoSubscriptionOptions options); - - (int)setRemoteVideoSubscriptionOptions:(NSUInteger)uid + 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|RtcEngineProxy") + virtual int setRemoteVideoSubscriptionOptions(uid_t uid, const VideoSubscriptionOptions &options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVideoSubscriptionOptions(int64 uid, const FVideoSubscriptionOptions& options); - abstract setRemoteVideoSubscriptionOptions( + abstract setRemoteVideoSubscriptionOptions( uid: number, options: VideoSubscriptionOptions ): number; - public abstract int SetRemoteVideoSubscriptionOptions(uint uid, VideoSubscriptionOptions options); - abstract setRemoteVideoSubscriptionOptions( + public abstract int SetRemoteVideoSubscriptionOptions(uint uid, VideoSubscriptionOptions options); + abstract setRemoteVideoSubscriptionOptions( uid: number, options: VideoSubscriptionOptions ): number; - Future<void> setRemoteVideoSubscriptionOptions( + Future<void> setRemoteVideoSubscriptionOptions( {required int uid, required VideoSubscriptionOptions options}); -

    +

    Details -

    When a remote user has enabled dual-stream mode, you can call this method to choose the option for subscribing to the video streams sent by the remote user.

    +

    When a remote user has enabled dual-stream mode, you can call this method to choose + the option for subscribing to the video streams sent by the remote user.

    -

      -
    • If you only register one object, the SDK subscribes to the raw video data and encoded video data by default (the effect is equivalent to setting encodedFrameOnly to ).
    • -
    • If you only register one object, the SDK only subscribes to the encoded video data by default (the effect is equivalent to setting encodedFrameOnly to ).
    • -
    • If you register one object and one object successively, the SDK subscribes to the encoded video data by default (the effect is equivalent to setting encodedFrameOnly to ).
    • -
    • If you call this method first with the options parameter set, and then register one or object, you need to call this method again and set the options parameter as described in the above two items to get the desired results.
    • -

    +
      +
    • If you only register one object, the + SDK subscribes to the raw video data and encoded video data by default (the + effect is equivalent to setting encodedFrameOnly to + ).
    • +
    • If you only register one object, + the SDK only subscribes to the encoded video data by default (the effect is + equivalent to setting encodedFrameOnly to ).
    • +
    • If you register one object and one + object successively, the + SDK subscribes to the encoded video data by default (the effect is + equivalent to setting encodedFrameOnly to ).
    • +
    • If you call this method first with the options + parameter set, and then register one + or object, you need to call + this method again and set the options parameter as + described in the above two items to get the desired results.
    • +
    +

    Agora recommends the following steps:
      -
    1. Set autoSubscribeVideo to when calling to join a channel.
    2. -
    3. Call this method after receiving the callback to set the subscription options for the specified remote user's video stream.
    4. -
    5. Call the method to resume subscribing to the video stream of the specified remote user. If you set encodedFrameOnly to in the previous step, the SDK triggers the callback locally to report the received encoded video frame information.
    6. -
    +
  • Set autoSubscribeVideo to when calling to join a + channel.
  • +
  • Call this method after receiving the callback + to set the subscription options for the specified remote user's video + stream.
  • +
  • Call the method to resume subscribing + to the video stream of the specified remote user. If you set + encodedFrameOnly to in the previous step, the SDK triggers the callback locally to report the + received encoded video frame information.
  • + + +
    Parameters - - uid - The user ID of the remote user. - - - options - The video subscription options. See . - -
    + + uid + The user ID of the remote user. + + + options + The video subscription options. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevoice3dposition.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevoice3dposition.dita index 375aa9fd90f..e7f644d8d52 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevoice3dposition.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevoice3dposition.dita @@ -1,39 +1,47 @@ - <ph keyref="setRemoteVoice3DPosition" /> - Sets the 3D position of the remote user's voice. + <ph keyref="setRemoteVoice3DPosition"/> + Sets the 3D position of the remote user's + voice. - +

    - public abstract int setRemoteVoice3DPosition( + public abstract int setRemoteVoice3DPosition( int uid, double azimuth, double elevation, double distance); - - (int)setRemoteVoice3DPosition:(NSUInteger)uid + - (int)setRemoteVoice3DPosition:(NSUInteger)uid azimuth:(double)azimuth elevation:(double)elevation distance:(double)distance; - virtual int setRemoteVoice3DPosition(uid_t uid, double azimuth, double elevation, double distance) = 0; - - - - There are no corresponding names available -

    + virtual int setRemoteVoice3DPosition(uid_t uid, double azimuth, double elevation, double distance) = 0; + + + + There are no corresponding names available +

    Details -

    By setting the horizontal angle, vertical angle, and distance of the remote user's voice, the voice of the remote user can sound directional.

    -

    This method applies to massive multiplayer online games, such as Battle Royale games.

    -

    The difference between this method and is that this method sets a 3D position for the voice, whereas sets a 2D position that is the position on restricted to the horizontal plane for the voice.

    +

    By setting the horizontal angle, vertical angle, and distance of the remote user's + voice, the voice of the remote user can sound directional.

    +

    This method applies to massive multiplayer online games, such as Battle Royale + games.

    +

    The difference between this method and is + that this method sets a 3D position for the voice, whereas sets a 2D position that is the position on + restricted to the horizontal plane for the voice.

      -
    • For this method to work, enable stereo panning for remote users by calling the method before joining a channel.
    • +
    • For this method to work, enable stereo panning for remote users by calling + the method before joining a + channel.
    • For the best voice positioning, Agora recommends using a wired headset.
    • Call this method after joining a channel.
    @@ -47,23 +55,33 @@ azimuth - The horizontal angle. The value range is [0,360], and the unit is degrees, where the following occurs:
      -
    • 0: (default) 0 degrees, which means directly to the front on the horizontal plane.
    • -
    • 90: 90 degrees, which means the left side on the horizontal plane.
    • -
    • 180: 180 degrees, which means the right side on the horizontal plane.
    • + The horizontal angle. The value range is [0,360], and the unit is degrees, + where the following occurs:
        +
      • 0: (default) 0 degrees, which means directly to the front on the + horizontal plane.
      • +
      • 90: 90 degrees, which means the left side on the horizontal + plane.
      • +
      • 180: 180 degrees, which means the right side on the horizontal + plane.
      elevation - The vertical angle. The value range is [-90,90], and the unit is degrees, where the following occurs:
        -
      • 0: (default) 0 degrees, which means that the horizontal plane is not rotated.
      • -
      • -90: -90 degrees, which means that the horizontal plane is rotated 90 degrees downwards.
      • -
      • 90: 90 degrees, which means that the horizontal plane is rotated 90 degrees upwards.
      • + The vertical angle. The value range is [-90,90], and the unit is degrees, + where the following occurs:
          +
        • 0: (default) 0 degrees, which means that the horizontal plane is not + rotated.
        • +
        • -90: -90 degrees, which means that the horizontal plane is rotated + 90 degrees downwards.
        • +
        • 90: 90 degrees, which means that the horizontal plane is rotated 90 + degrees upwards.
        distance - The distance of the sound source. The value cannot be less than 0.5, and the unit is meters. Setting the distance too far results in low voice volume, so Agora recommends restricting the setting range to [0.5,50]. + The distance of the sound source. The value cannot be less than 0.5, and the + unit is meters. Setting the distance too far results in low voice volume, so + Agora recommends restricting the setting range to [0.5,50].
    @@ -75,4 +93,4 @@
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita index 4cb19d3e6b0..d0be287d27d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setremotevoiceposition.dita @@ -1,74 +1,92 @@ - <ph keyref="setRemoteVoicePosition" /> - Sets the 2D position (the position on the horizontal plane) of the remote user's voice. + <ph keyref="setRemoteVoicePosition"/> + Sets the 2D position (the position on the horizontal + plane) of the remote user's voice. - +

    - public abstract int setRemoteVoicePosition(int uid, double pan, double gain); - - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain; - virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setRemoteVoicePosition(int uid, double pan, double gain); + - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain; + virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVoicePosition(int64 uid, float pan, float gain); - abstract setRemoteVoicePosition( + abstract setRemoteVoicePosition( uid: number, pan: number, gain: number ): number; - public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); - abstract setRemoteVoicePosition( + public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); + abstract setRemoteVoicePosition( uid: number, pan: number, gain: number ): number; - Future<void> setRemoteVoicePosition( + Future<void> setRemoteVoicePosition( {required int uid, required double pan, required double gain}); -

    +

    Details -

    This method sets the 2D position and volume of a remote user, so that the local user can easily hear and identify the remote user's position.

    -

    When the local user calls this method to set the voice position of a remote user, the voice difference between the left and right channels allows the local user to track the real-time position of the remote user, creating a sense of space. This method applies to massive multiplayer online games, such as Battle Royale games.

    +

    This method sets the 2D position and volume of a remote user, so that the local user + can easily hear and identify the remote user's position.

    +

    When the local user calls this method to set the voice position of a remote user, the + voice difference between the left and right channels allows the local user to track + the real-time position of the remote user, creating a sense of space. This method + applies to massive multiplayer online games, such as Battle Royale games.

    -
      -
    • For this method to work, enable stereo panning for remote users by calling the method before joining a channel.
    • -
    • For the best voice positioning, Agora recommends using a wired headset.
    • -
    • Call this method after joining a channel.
    • -
    +
      +
    • For this method to work, enable stereo panning for remote users by calling + the method before joining a + channel.
    • +
    • For the best voice positioning, Agora recommends using a wired headset.
    • +
    • Call this method after joining a channel.
    • +
    + +
    Parameters - - uid - The user ID of the remote user. - - - pan - The voice position of the remote user. The value ranges from -1.0 to 1.0:
      -
    • 0.0: (Default) The remote voice comes from the front.
    • -
    • -1.0: The remote voice comes from the left.
    • -
    • 1.0: The remote voice comes from the right.
    • -
    -
    - - gain - The volume of the remote user. The value ranges from 0.0 to 100.0. The default value is 100.0 (the original volume of the remote user). The smaller the value, the lower the volume. - -
    + + uid + The user ID of the remote user. + + + pan + The voice position of the remote user. The value ranges from -1.0 to 1.0:
      +
    • 0.0: (Default) The remote voice comes from the front.
    • +
    • -1.0: The remote voice comes from the left.
    • +
    • 1.0: The remote voice comes from the right.
    • +
    +
    +
    + + gain + The volume of the remote user. The value ranges from 0.0 to 100.0. The + default value is 100.0 (the original volume of the remote user). The smaller + the value, the lower the volume. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setrendermode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setrendermode.dita index bf1aa97196c..a60539a17a2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setrendermode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setrendermode.dita @@ -1,34 +1,35 @@ - <ph keyref="setRenderMode" /> + <ph keyref="setRenderMode"/> Sets the rendering mode. - +

    - - - - - - - -

    + + + + + + + +

    Parameters - - mode - The rendering mode. See . - -
    + + mode + The rendering mode. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita index 091a819bb15..ee6508ffa41 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setrouteincommunicationmode.dita @@ -2,7 +2,8 @@ <ph keyref="setRouteInCommunicationMode"/> - Selects the audio playback route in communication audio mode. + Selects the audio playback route in communication audio + mode. @@ -13,46 +14,61 @@

    - public abstract int setRouteInCommunicationMode(int route); - - virtual int setRouteInCommunicationMode(int route) = 0; - - public abstract int SetRouteInCommunicationMode(int route); - abstract setRouteInCommunicationMode(route: number): number; - Future<void> setRouteInCommunicationMode(int route);

    + public abstract int setRouteInCommunicationMode(int route); + + virtual int setRouteInCommunicationMode(int route) = 0; + + public abstract int SetRouteInCommunicationMode(int route); + abstract setRouteInCommunicationMode(route: number): number; + Future<void> setRouteInCommunicationMode(int route); +

    Details
    - -
    Since
    -
    v4.2.2
    -
    + +
    Since
    +
    v4.2.2
    +
    -

    This method is used to switch the audio route from Bluetooth headphones to earpiece, wired headphones or speakers in communication audio mode (). After the method is called successfully, the SDK will trigger the callback to report the modified route.

    - Using this method and the method at the same time may cause conflicts. Agora recommends that you use the method alone. -
    • This method is for Android only.
    • Using this method and the method at the same time may cause conflicts. Agora recommends that you use the method alone.
    +

    This method is used to switch the audio route from Bluetooth headphones to earpiece, + wired headphones or speakers in communication audio mode (). After the method is called successfully, + the SDK will trigger the callback to report + the modified route.

    + Using this method and the method at the same time may cause conflicts. + Agora recommends that you use the + method alone. +
      +
    • This method is for Android only.
    • +
    • Using this method and the method at + the same time may cause conflicts. Agora recommends that you use the method alone.
    • +
    Parameters - - route - The audio playback route you want to use:
      -
    • -1: The default audio route.
    • -
    • 0: Headphones with microphone.
    • -
    • 1: Handset.
    • -
    • 2: Headphones without microphone.
    • -
    • 3: Device's built-in speaker.
    • -
    • 4: (Not supported yet) External speakers.
    • -
    • 5: Bluetooth headphones.
    • -
    • 6: USB device.
    • -
    -
    -
    -
    + + route + The audio playback route you want to use:
      +
    • -1: The default audio route.
    • +
    • 0: Headphones with microphone.
    • +
    • 1: Handset.
    • +
    • 2: Headphones without microphone.
    • +
    • 3: Device's built-in speaker.
    • +
    • 4: (Not supported yet) External speakers.
    • +
    • 5: Bluetooth headphones.
    • +
    • 6: USB device.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    Without practical meaning.

    -
    +

    Without practical meaning.

    + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita index 3e1eff8e014..86e08b210d6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setscreencapturecontenthint.dita @@ -1,50 +1,64 @@ - <ph keyref="setScreenCaptureContentHint" /> - Sets the content hint for screen sharing. + <ph keyref="setScreenCaptureContentHint"/> + Sets the content hint for screen + sharing. - +

    - - - virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0; + + + virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setScreenCaptureContentHint(contentHint: VideoContentHint): number; + public abstract int SetScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint); + abstract setScreenCaptureContentHint(contentHint: VideoContentHint): number; + Future<void> setScreenCaptureContentHint(VideoContentHint contentHint); +

    Details -

    A content hint suggests the type of the content being shared, so that the SDK applies different optimization algorithms to different types of content. If you don't call this method, the default content hint is .

    - You can call this method either before or after you start screen sharing. +

    A content hint suggests the type of the content being shared, so that the + SDK applies different optimization algorithms to different types of content. If you + don't call this method, the default content hint is .

    + You can call this method either before or after you + start screen sharing.
    Parameters - - - contentHint - The content hint for screen sharing. See . - - + + + contentHint + The content hint for screen sharing. See . + +
    - <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    -
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
      -
    • -
    -
    -
    \ No newline at end of file + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

    +
      +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
        +
      • +
      +
    • +
    + + + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setscreencaptureorientation.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setscreencaptureorientation.dita index cbc1f465402..c8fb7c70f2b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setscreencaptureorientation.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setscreencaptureorientation.dita @@ -2,33 +2,35 @@ setScreenCaptureOrientation - + - +
    - - - - - - - There are no corresponding names available
    + + + + + + + There are no corresponding names available +
    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita index 7ffc4e07150..035cf168cf4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setscreencapturescenario.dita @@ -1,52 +1,61 @@ - <ph keyref="setScreenCaptureScenario" /> + <ph keyref="setScreenCaptureScenario"/> Sets the screen sharing scenario. - +

    - public abstract int setScreenCaptureScenario(Constants.ScreenScenarioType screenScenario); - - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType + public abstract int setScreenCaptureScenario(Constants.ScreenScenarioType screenScenario); + - (int)setScreenCaptureScenario:(AgoraScreenScenarioType)scenarioType NS_SWIFT_NAME(setScreenCaptureScenario(_:)); - virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0; + virtual int setScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setScreenCaptureScenario(screenScenario: ScreenScenarioType): number; + public abstract int SetScreenCaptureScenario(SCREEN_SCENARIO_TYPE screenScenario); + abstract setScreenCaptureScenario(screenScenario: ScreenScenarioType): number; + Future<void> setScreenCaptureScenario(ScreenScenarioType screenScenario); +

    Details -

    When you start screen sharing or window sharing, you can call this method to set the screen sharing scenario. The SDK adjusts the video quality and experience of the sharing according to the scenario.

    - Agora recommends that you call this method before joining a channel. +

    When you start screen sharing or window sharing, you can call this method to set the + screen sharing scenario. The SDK adjusts the video quality and experience of the + sharing according to the scenario.

    + Agora recommends that you call this method before joining a channel.
    Parameters - - scenarioType - screenScenario - The screen sharing scenario. See . - -
    + + scenarioType + screenScenario + The screen sharing scenario. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita index 7abd30fa3d5..d0913c0ef75 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioallowlist.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeAudioAllowlist"/> - Sets the allowlist of subscriptions for audio streams. + Sets the allowlist of subscriptions for audio + streams. @@ -13,56 +14,74 @@

    - public abstract int setSubscribeAudioAllowlist(int[] uidList); - - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; - virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeAudioAllowlist(int[] uidList); + - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; + virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeAudioAllowlist(TArray<int64> uidList, int uidNumber); - abstract setSubscribeAudioAllowlist( + abstract setSubscribeAudioAllowlist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeAudioAllowlist(uint[] uidList, int uidNumber); - abstract setSubscribeAudioAllowlist( + public abstract int SetSubscribeAudioAllowlist(uint[] uidList, int uidNumber); + abstract setSubscribeAudioAllowlist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeAudioAllowlist( + Future<void> setSubscribeAudioAllowlist( {required List<int> uidList, required int uidNumber}); -

    +

    Details -

    You can call this method to specify the audio streams of a user that you want to subscribe to.

    +

    You can call this method to specify the audio streams of a user that you want to + subscribe to.

    -
      -
    • -
    • The allowlist is not affected by the setting in , and autoSubscribeAudio in .
    • -
    • Once the allowlist of subscriptions is set, it is effective even if you leave the current channel and rejoin the channel.
    • -
    • -
    +
      +
    • +
    • The allowlist is not affected by the setting in , and + autoSubscribeAudio in .
    • +
    • Once the allowlist of subscriptions is set, it is effective even + if you leave the current channel and rejoin the channel.
    • +
    • +
    + +
    Parameters - - uidList - allowlist - -

    The user ID list of users that you want to subscribe to.

    -

    If you want to specify the audio streams of a user for subscription, add the user ID in this list. If you want to remove a user from the allowlist, you need to call the method to update the user ID list; this means you only add the uid of users that you want to subscribe to in the new user ID list.

    -
    -
    - - uidNumber - The number of users in the user ID list. - -
    + + uidList + allowlist + +

    The user ID list of users that you want to subscribe to.

    +

    If you want to specify the audio streams of a user for subscription, add + the user ID in this list. If you want to remove a user from the + allowlist, you need to call the method to update the user ID + list; this means you only add the uid of users that + you want to subscribe to in the new user ID list.

    +
    +
    + + uidNumber + The number of users in the user ID list. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblacklist.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblacklist.dita index 27ae1d3df3c..926f386b8f4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblacklist.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblacklist.dita @@ -1,65 +1,84 @@ - <ph keyref="setSubscribeAudioBlacklist" /> - Set the blocklist of subscriptions for audio streams. + <ph keyref="setSubscribeAudioBlacklist"/> + Set the blocklist of subscriptions for audio + streams. - +

    - public abstract int setSubscribeAudioBlacklist(int[] uidList); - - (int)setSubscribeAudioBlacklist:(NSArray <NSNumber *> *_Nonnull)blacklist; - virtual int setSubscribeAudioBlacklist(uid_t* uidList, int uidNumber) = 0; - - abstract setSubscribeAudioBlacklist( + public abstract int setSubscribeAudioBlacklist(int[] uidList); + - (int)setSubscribeAudioBlacklist:(NSArray <NSNumber *> *_Nonnull)blacklist; + virtual int setSubscribeAudioBlacklist(uid_t* uidList, int uidNumber) = 0; + + abstract setSubscribeAudioBlacklist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeAudioBlacklist(uint[] uidList, int uidNumber); - abstract setSubscribeAudioBlacklist( + public abstract int SetSubscribeAudioBlacklist(uint[] uidList, int uidNumber); + abstract setSubscribeAudioBlacklist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeAudioBlacklist( - {required List<int> uidList, required int uidNumber});

    + Future<void> setSubscribeAudioBlacklist( + {required List<int> uidList, required int uidNumber}); +

    Details -

    You can call this method to specify the audio streams of a user that you do not want to subscribe to.

    +

    You can call this method to specify the audio streams of a user that you do not want + to subscribe to.

    -
      -
    • You can call this method either before or after joining a channel.
    • -
    • The blocklist is not affected by the setting in , and autoSubscribeAudio in .
    • -
    • Once the blocklist of subscriptions is set, it is effective even if you leave the current channel and rejoin the channel.
    • -
    • If a user is added in the allowlist and blocklist at the same time, only the blocklist takes effect.
    • -
    +
      +
    • You can call this method either before or after joining a + channel.
    • +
    • The blocklist is not affected by the setting in , and + autoSubscribeAudio in .
    • +
    • Once the blocklist of subscriptions is set, it is effective even + if you leave the current channel and rejoin the channel.
    • +
    • If a user is added in the allowlist and blocklist at the same + time, only the blocklist takes effect.
    • +
    + +
    Parameters - - uidList - blacklist - -

    The user ID list of users that you do not want to subscribe to.

    -

    If you want to specify the audio streams of a user that you do not want to subscribe to, add the user ID in this list. If you want to remove a user from the blocklist, you need to call the method to update the user ID list; this means you only add the uid of users that you do not want to subscribe to in the new user ID list.

    -
    -
    - - uidNumber - The number of users in the user ID list. - -
    + + uidList + blacklist + +

    The user ID list of users that you do not want to subscribe to.

    +

    If you want to specify the audio streams of a user that you do not want + to subscribe to, add the user ID in this list. If you want to remove a + user from the blocklist, you need to call the method to update the user ID + list; this means you only add the uid of users that + you do not want to subscribe to in the new user ID list.

    +
    +
    + + uidNumber + The number of users in the user ID list. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblocklist.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblocklist.dita index 7315fa9d8af..bdde83e4e6d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblocklist.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudioblocklist.dita @@ -1,68 +1,90 @@ - <ph keyref="setSubscribeAudioBlocklist" /> - Set the blocklist of subscriptions for audio streams. + <ph keyref="setSubscribeAudioBlocklist"/> + Set the blocklist of subscriptions for audio + streams. - +

    - public abstract int setSubscribeAudioBlocklist(int[] uidList); - - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist; - virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeAudioBlocklist(int[] uidList); + - (int)setSubscribeAudioBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist; + virtual int setSubscribeAudioBlocklist(uid_t* uidList, int uidNumber) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeAudioBlocklist(TArray<int64> uidList, int uidNumber); - abstract setSubscribeAudioBlocklist( + abstract setSubscribeAudioBlocklist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeAudioBlocklist(uint[] uidList, int uidNumber); - abstract setSubscribeAudioBlocklist( + public abstract int SetSubscribeAudioBlocklist(uint[] uidList, int uidNumber); + abstract setSubscribeAudioBlocklist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeAudioBlocklist( + Future<void> setSubscribeAudioBlocklist( {required List<int> uidList, required int uidNumber}); -

    +

    Details -

    You can call this method to specify the audio streams of a user that you do not want to subscribe to.

    +

    You can call this method to specify the audio streams of a user that you do not want + to subscribe to.

    -
      -
    • You can call this method either before or after joining a channel.
    • -
    • The blocklist is not affected by the setting in ,, and autoSubscribeAudio in .
    • -
    • Once the blocklist of subscriptions is set, it is effective even if you leave the current channel and rejoin the channel.
    • -
    • If a user is added in the allowlist and blocklist at the same time, only the blocklist takes effect.
    • -
    +
      +
    • You can call this method either before or after joining a + channel.
    • +
    • The blocklist is not affected by the setting in ,, and + autoSubscribeAudio in .
    • +
    • Once the blocklist of subscriptions is set, it is effective even + if you leave the current channel and rejoin the channel.
    • +
    • If a user is added in the allowlist and blocklist at the same + time, only the blocklist takes effect.
    • +
    + +
    Parameters - - uidList - blocklist - -

    The user ID list of users that you do not want to subscribe to.

    -

    If you want to specify the audio streams of a user that you do not want to subscribe to, add the user ID in this list. If you want to remove a user from the blocklist, you need to call the method to update the user ID list; this means you only add the uid of users that you do not want to subscribe to in the new user ID list.

    -
    -
    - - uidNumber - The number of users in the user ID list. - -
    + + uidList + blocklist + +

    The user ID list of users that you do not want to subscribe to.

    +

    If you want to specify the audio streams of a user that you do not want + to subscribe to, add the user ID in this list. If you want to remove a + user from the blocklist, you need to call the method to update the user ID + list; this means you only add the uid of users that + you do not want to subscribe to in the new user ID list.

    +
    +
    + + uidNumber + The number of users in the user ID list. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudiowhitelist.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudiowhitelist.dita index dcaea1b709c..829b384fac8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudiowhitelist.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribeaudiowhitelist.dita @@ -1,67 +1,84 @@ - <ph keyref="setSubscribeAudioAllowlist" /> - Sets the allowlist of subscriptions for audio streams. + <ph keyref="setSubscribeAudioAllowlist"/> + Sets the allowlist of subscriptions for audio + streams. - +

    - public abstract int setSubscribeAudioAllowlist(int[] uidList); - - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; - virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0; - abstract setSubscribeAudioAllowlist( + public abstract int setSubscribeAudioAllowlist(int[] uidList); + - (int)setSubscribeAudioAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; + virtual int setSubscribeAudioAllowlist(uid_t* uidList, int uidNumber) = 0; + abstract setSubscribeAudioAllowlist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeAudioAllowlist(uint[] uidList, int uidNumber); - abstract setSubscribeAudioAllowlist( + public abstract int SetSubscribeAudioAllowlist(uint[] uidList, int uidNumber); + abstract setSubscribeAudioAllowlist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeAudioAllowlist( + Future<void> setSubscribeAudioAllowlist( {required List<int> uidList, required int uidNumber}); -

    +

    Details -

    You can call this method to specify the audio streams of a user that you want to subscribe to.

    +

    You can call this method to specify the audio streams of a user that you want to + subscribe to.

    -
      -
    • -
    • The allowlist is not affected by the setting in , and autoSubscribeAudio in .
    • -
    • Once the allowlist of subscriptions is set, it is effective even if you leave the current channel and rejoin the channel.
    • -
    • -
    +
      +
    • +
    • The allowlist is not affected by the setting in , and + autoSubscribeAudio in .
    • +
    • Once the allowlist of subscriptions is set, it is effective even + if you leave the current channel and rejoin the channel.
    • +
    • +
    + +
    Parameters - - uidList - allowlist - -

    The user ID list of users that you want to subscribe to.

    -

    If you want to specify the audio streams of a user for subscription, add the user ID in this list. If you want to remove a user from the allowlist, you need to call the method to update the user ID list; this means you only add the uid of users that you want to subscribe to in the new user ID list.

    -
    -
    - - uidNumber - The number of users in the user ID list. - -
    + + uidList + allowlist + +

    The user ID list of users that you want to subscribe to.

    +

    If you want to specify the audio streams of a user for subscription, add + the user ID in this list. If you want to remove a user from the + allowlist, you need to call the method to update the user ID + list; this means you only add the uid of users that + you want to subscribe to in the new user ID list.

    +
    +
    + + uidNumber + The number of users in the user ID list. + + +
    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita index 2273041b202..78013c3da91 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoallowlist.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeVideoAllowlist"/> - Set the allowlist of subscriptions for video streams. + Set the allowlist of subscriptions for video + streams. @@ -13,55 +14,73 @@

    - public abstract int setSubscribeVideoAllowlist(int[] uidList); - - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; - virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeVideoAllowlist(int[] uidList); + - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; + virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeVideoAllowlist(TArray<int64> uidList, int uidNumber); - abstract setSubscribeVideoAllowlist( + abstract setSubscribeVideoAllowlist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeVideoAllowlist(uint[] uidList, int uidNumber); - abstract setSubscribeVideoAllowlist( + public abstract int SetSubscribeVideoAllowlist(uint[] uidList, int uidNumber); + abstract setSubscribeVideoAllowlist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeVideoAllowlist( + Future<void> setSubscribeVideoAllowlist( {required List<int> uidList, required int uidNumber}); -

    +

    Details -

    You can call this method to specify the video streams of a user that you want to subscribe to.

    +

    You can call this method to specify the video streams of a user that you want to + subscribe to.

    -
      -
    • -
    • The allowlist is not affected by the setting in , and autoSubscribeAudio in .
    • -
    • -
    • -
    +
      +
    • +
    • The allowlist is not affected by the setting in , and + autoSubscribeAudio in .
    • +
    • +
    • +
    + +
    Parameters - - uidList - -

    The user ID list of users that you want to subscribe to.

    -

    If you want to specify the video streams of a user for subscription, add the user ID of that user in this list. If you want to remove a user from the allowlist, you need to call the method to update the user ID list; this means you only add the uid of users that you want to subscribe to in the new user ID list.

    -
    -
    - - - - -
    + + uidList + +

    The user ID list of users that you want to subscribe to.

    +

    If you want to specify the video streams of a user for subscription, add + the user ID of that user in this list. If you want to remove a user from + the allowlist, you need to call the method to update the user ID + list; this means you only add the uid of users that + you want to subscribe to in the new user ID list.

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblacklist.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblacklist.dita index d8e82b67096..7b7ac0d3ade 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblacklist.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblacklist.dita @@ -1,66 +1,82 @@ - <ph keyref="setSubscribeVideoBlacklist" /> - Set the bocklist of subscriptions for video streams. + <ph keyref="setSubscribeVideoBlacklist"/> + Set the bocklist of subscriptions for video + streams. - +

    - public abstract int setSubscribeVideoBlacklist(int[] uidList); - - (int)setSubscribeVideoBlacklist:(NSArray <NSNumber *> *_Nonnull)blacklist; - virtual int setSubscribeVideoBlacklist(uid_t* uidList, int uidNumber) = 0; - - abstract setSubscribeVideoBlacklist( + public abstract int setSubscribeVideoBlacklist(int[] uidList); + - (int)setSubscribeVideoBlacklist:(NSArray <NSNumber *> *_Nonnull)blacklist; + virtual int setSubscribeVideoBlacklist(uid_t* uidList, int uidNumber) = 0; + + abstract setSubscribeVideoBlacklist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeVideoBlacklist(uint[] uidList, int uidNumber); - abstract setSubscribeVideoBlacklist( + public abstract int SetSubscribeVideoBlacklist(uint[] uidList, int uidNumber); + abstract setSubscribeVideoBlacklist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeVideoBlacklist( - {required List<int> uidList, required int uidNumber});

    + Future<void> setSubscribeVideoBlacklist( + {required List<int> uidList, required int uidNumber}); +

    Details -

    You can call this method to specify the video streams of a user that you do not want to subscribe to.

    +

    You can call this method to specify the video streams of a user that you do not want + to subscribe to.

    -
      -
    • -
    • The blocklist is not affected by the setting in , and autoSubscribeAudio in .
    • -
    • -
    • -
    +
      +
    • +
    • The blocklist is not affected by the setting in , and + autoSubscribeAudio in .
    • +
    • +
    • +
    + +
    Parameters - - uidList - blacklist - -

    The user ID list of users that you do not want to subscribe to.

    -

    If you want to specify the video streams of a user that you do not want to subscribe to, add the user ID of that user in this list. If you want to remove a user from the blocklist, you need to call the method to update the user ID list; this means you only add the uid of users that you do not want to subscribe to in the new user ID list.

    -
    -
    - - - - -
    + + uidList + blacklist + +

    The user ID list of users that you do not want to subscribe to.

    +

    If you want to specify the video streams of a user that you do not want + to subscribe to, add the user ID of that user in this list. If you want + to remove a user from the blocklist, you need to call the method to update the user ID + list; this means you only add the uid of users that + you do not want to subscribe to in the new user ID list.

    +
    +
    + + + + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblocklist.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblocklist.dita index 09ae17a1d97..6ef8c569ea4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblocklist.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideoblocklist.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeVideoBlocklist"/> - Set the blocklist of subscriptions for video streams. + Set the blocklist of subscriptions for video + streams. @@ -13,56 +14,74 @@

    - public abstract int setSubscribeVideoBlocklist(int[] uidList); - - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist; - virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeVideoBlocklist(int[] uidList); + - (int)setSubscribeVideoBlocklist:(NSArray <NSNumber *> *_Nonnull)blocklist; + virtual int setSubscribeVideoBlocklist(uid_t* uidList, int uidNumber) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeVideoBlocklist(TArray<int64> uidList, int uidNumber); - abstract setSubscribeVideoBlocklist( + abstract setSubscribeVideoBlocklist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeVideoBlocklist(uint[] uidList, int uidNumber); - abstract setSubscribeVideoBlocklist( + public abstract int SetSubscribeVideoBlocklist(uint[] uidList, int uidNumber); + abstract setSubscribeVideoBlocklist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeVideoBlocklist( + Future<void> setSubscribeVideoBlocklist( {required List<int> uidList, required int uidNumber}); -

    +

    Details -

    You can call this method to specify the video streams of a user that you do not want to subscribe to.

    +

    You can call this method to specify the video streams of a user that you do not want + to subscribe to.

    -
      -
    • -
    • The blocklist is not affected by the setting in , and autoSubscribeAudio in .
    • -
    • -
    • -
    +
      +
    • +
    • The blocklist is not affected by the setting in , and + autoSubscribeAudio in .
    • +
    • +
    • +
    + +
    Parameters - - uidList - blocklist - -

    The user ID list of users that you do not want to subscribe to.

    -

    If you want to specify the video streams of a user that you do not want to subscribe to, add the user ID of that user in this list. If you want to remove a user from the blocklist, you need to call the method to update the user ID list; this means you only add the uid of users that you do not want to subscribe to in the new user ID list.

    -
    -
    - - - - -
    + + uidList + blocklist + +

    The user ID list of users that you do not want to subscribe to.

    +

    If you want to specify the video streams of a user that you do not want + to subscribe to, add the user ID of that user in this list. If you want + to remove a user from the blocklist, you need to call the method to update the user ID + list; this means you only add the uid of users that + you do not want to subscribe to in the new user ID list.

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideowhitelist.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideowhitelist.dita index 6ca54fe4015..0fa78d18df2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideowhitelist.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setsubscribevideowhitelist.dita @@ -1,66 +1,83 @@ - <ph keyref="setSubscribeVideoAllowlist" /> - Set the allowlist of subscriptions for video streams. + <ph keyref="setSubscribeVideoAllowlist"/> + Set the allowlist of subscriptions for video + streams. - +

    - public abstract int setSubscribeVideoAllowlist(int[] uidList); - - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; - virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0; - abstract setSubscribeVideoAllowlist( + public abstract int setSubscribeVideoAllowlist(int[] uidList); + - (int)setSubscribeVideoAllowlist:(NSArray <NSNumber *> *_Nonnull)allowlist; + virtual int setSubscribeVideoAllowlist(uid_t* uidList, int uidNumber) = 0; + abstract setSubscribeVideoAllowlist( uidList: number[], uidNumber: number ): number; - public abstract int SetSubscribeVideoAllowlist(uint[] uidList, int uidNumber); - abstract setSubscribeVideoAllowlist( + public abstract int SetSubscribeVideoAllowlist(uint[] uidList, int uidNumber); + abstract setSubscribeVideoAllowlist( uidList: number[], uidNumber: number ): number; - Future<void> setSubscribeVideoAllowlist( + Future<void> setSubscribeVideoAllowlist( {required List<int> uidList, required int uidNumber}); -

    +

    Details -

    You can call this method to specify the video streams of a user that you want to subscribe to.

    +

    You can call this method to specify the video streams of a user that you want to + subscribe to.

    -
      -
    • -
    • The allowlist is not affected by the setting in , and autoSubscribeAudio in .
    • -
    • -
    • -
    +
      +
    • +
    • The allowlist is not affected by the setting in , and + autoSubscribeAudio in .
    • +
    • +
    • +
    + +
    Parameters - - uidList - -

    The user ID list of users that you want to subscribe to.

    -

    If you want to specify the video streams of a user for subscription, add the user ID of that user in this list. If you want to remove a user from the allowlist, you need to call the method to update the user ID list; this means you only add the uid of users that you want to subscribe to in the new user ID list.

    -
    -
    - - - - -
    + + uidList + +

    The user ID list of users that you want to subscribe to.

    +

    If you want to specify the video streams of a user for subscription, add + the user ID of that user in this list. If you want to remove a user from + the allowlist, you need to call the method to update the user ID + list; this means you only add the uid of users that + you want to subscribe to in the new user ID list.

    +
    +
    + + + + + +
    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita index b5b4195e0fc..0288456a057 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setuplocalvideo.dita @@ -1,56 +1,87 @@ - <ph keyref="setupLocalVideo" /> + <ph keyref="setupLocalVideo"/> Initializes the local video view. - +

    - public abstract int setupLocalVideo(VideoCanvas local); - - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local; - virtual int setupLocalVideo(const VideoCanvas& canvas) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setupLocalVideo(VideoCanvas local); + - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local; + virtual int setupLocalVideo(const VideoCanvas& canvas) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setupLocalVideo(canvas: VideoCanvas): number; + public abstract int SetupLocalVideo(VideoCanvas canvas); + abstract setupLocalVideo(canvas: VideoCanvas): number; + Future<void> setupLocalVideo(VideoCanvas canvas); +

    Details -

    This method initializes the video view of a local stream on the local device. It affects only the video view that the local user sees, not the published local video stream. Call this method to bind the local video stream to a video view (view) and to set the rendering and mirror modes of the video view.

    -

    After initialization, call this method to set the local video and then join the channel. The local video still binds to the view after you leave the channel. To unbind the local video from the view, set the view parameter as .

    -

    In real-time interactive scenarios, if you need to simultaneously view multiple preview frames in the local video preview, and each frame is at a different observation position along the video link, you can repeatedly call this method to set different views and set different observation positions for each view. For example, by setting the video source to the camera and then configuring two views with position setting to and , you can simultaneously preview the raw, unprocessed video frame and the video frame that has undergone preprocessing (image enhancement effects, virtual background, watermark) in the local video preview.

    +

    This method initializes the video view of a local stream on the local device. It + affects only the video view that the local user sees, not the published local video + stream. Call this method to bind the local video stream to a video view + (view) and to set the rendering and mirror modes of the + video view.

    +

    After initialization, call this method to set the local video and then join the + channel. The local video still binds to the view after you leave the channel. To + unbind the local video from the view, set the view parameter as + .

    +

    In real-time interactive scenarios, if you need to simultaneously view multiple + preview frames in the local video preview, and each frame is at a different + observation position along the video link, you can repeatedly call this method to + set different views and set different observation positions for + each view. For example, by setting the video source to the + camera and then configuring two views with + position setting to and , you can simultaneously preview the raw, unprocessed video frame and the video + frame that has undergone preprocessing (image enhancement effects, virtual + background, watermark) in the local video preview.

    -
      -
    • If you need to implement native window rendering, use this method; if you only need to render video images in your Unity project, use the methods in the class instead.
    • -
    • You can call this method either before or after joining a channel.
    • -
    • To update the rendering or mirror mode of the local video view during a call, use the method.
    • -
    • If you want to stop rendering the view, set view to and then call this method again to stop rendering and clear the rendering cache.
    • -
    +
      +
    • If you need to implement native window rendering, use this + method; if you only need to render video images in your Unity project, use + the methods in the class instead.
    • +
    • You can call this method either before or after joining a channel.
    • +
    • To update the rendering or + mirror mode of the local video view during a call, use the method.
    • +
    • If you want to stop rendering the view, set view + to and then call this method again to stop + rendering and clear the rendering cache.
    • +
    + +
    Parameters - - canvas - local - The local video view and settings. See . - -
    + + canvas + local + The local video view and settings. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita index ecbc6a98104..fecf63d76fb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setupremotevideo.dita @@ -2,7 +2,8 @@ <ph keyref="setupRemoteVideo"/> - Initializes the video view of a remote user. + Initializes the video view of a remote + user. @@ -13,48 +14,76 @@

    - public abstract int setupRemoteVideo(VideoCanvas remote); - - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote; - virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setupRemoteVideo(VideoCanvas remote); + - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote; + virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetupRemoteVideo(const FVideoCanvas& canvas); - abstract setupRemoteVideo(canvas: VideoCanvas): number; - public abstract int SetupRemoteVideo(VideoCanvas canvas); - abstract setupRemoteVideo(canvas: VideoCanvas): number; - Future<void> setupRemoteVideo(VideoCanvas canvas); -

    + abstract setupRemoteVideo(canvas: VideoCanvas): number; + public abstract int SetupRemoteVideo(VideoCanvas canvas); + abstract setupRemoteVideo(canvas: VideoCanvas): number; + Future<void> setupRemoteVideo(VideoCanvas canvas); +

    Details -

    This method initializes the video view of a remote stream on the local device. It affects only the video view that the local user sees. Call this method to bind the remote video stream to a video view and to set the rendering and mirror modes of the video view.

    -

    You need to specify the ID of the remote user in this method. If the remote user ID is unknown to the application, set it after the app receives the callback.

    -

    To unbind the remote user from the view, set the view parameter to NULL.

    +

    This method initializes the video view of a remote stream on the local device. It + affects only the video view that the local user sees. Call this method to bind the + remote video stream to a video view and to set the rendering and mirror modes of the + video view.

    +

    You need to specify the ID of the remote user in this method. If the remote user ID + is unknown to the application, set it after the app receives the callback.

    +

    To unbind the remote user from the view, set the view parameter + to NULL.

    Once the remote user leaves the channel, the SDK unbinds the remote user.

    -

    In the scenarios of custom layout for mixed videos on the mobile end, you can call this method and set a separate view for rendering each sub-video stream of the mixed video stream.

    +

    In the scenarios of custom layout for mixed + videos on the mobile end, you can call this method and set a separate + view for rendering each sub-video stream of the mixed video + stream.

    -
      -
    • If you need to implement native window rendering, use this method; if you only need to render video images in your Unity project, use the methods in the class instead.
    • -
    • To update the rendering or mirror mode of the remote video view during a call, use the method.
    • -
    • If you use the Agora recording function, the recording client joins the channel as a placeholder client, triggering the callback. Do not bind the placeholder client to the app view because the placeholder client does not send any video streams. If your app does not recognize the placeholder client, bind the remote user to the view when the SDK triggers the callback.
    • -
    • If you want to stop rendering the view, set view to and then call this method again to stop rendering and clear the rendering cache.
    • -
    +
      +
    • If you need to implement native window rendering, use this + method; if you only need to render video images in your Unity project, use + the methods in the class instead.
    • +
    • To update the rendering or + mirror mode of the remote video view during a call, use the method.
    • +
    • If you use the Agora recording function, the recording client joins the + channel as a placeholder client, triggering the callback. Do not bind the placeholder client to the app view because the + placeholder client does not send any video streams. If your app does not + recognize the placeholder client, bind the remote user to the view when the + SDK triggers the callback.
    • +
    • If you want to stop rendering the view, set view + to and then call this method again to stop + rendering and clear the rendering cache.
    • +
    + +
    Parameters - - canvas - remote - -

    The remote video view and settings. See .

    -
    -
    -
    + + canvas + remote + +

    The remote video view and settings. See .

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita index dd53c90a86d..00877c37ab7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions.dita @@ -1,7 +1,9 @@ - <ph keyref="setVideoDenoiserOptions"/> + + <ph keyref="setVideoDenoiserOptions"/> + Sets video noise reduction. @@ -13,70 +15,97 @@

    - public abstract int setVideoDenoiserOptions(boolean enabled, VideoDenoiserOptions options); + 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|RtcEngineProxy") + virtual int setVideoDenoiserOptions(bool enabled, const VideoDenoiserOptions& options, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetVideoDenoiserOptions(bool enabled, const FVideoDenoiserOptions& options, EMEDIA_SOURCE_TYPE type); - abstract setVideoDenoiserOptions( + abstract setVideoDenoiserOptions( enabled: boolean, options: VideoDenoiserOptions, type?: MediaSourceType ): number; - public abstract int SetVideoDenoiserOptions(bool enabled, VideoDenoiserOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); - abstract setVideoDenoiserOptions( + public abstract int SetVideoDenoiserOptions(bool enabled, VideoDenoiserOptions options, MEDIA_SOURCE_TYPE type = MEDIA_SOURCE_TYPE.PRIMARY_CAMERA_SOURCE); + abstract setVideoDenoiserOptions( enabled: boolean, options: VideoDenoiserOptions, type?: MediaSourceType ): number; - Future<void> setVideoDenoiserOptions( + Future<void> setVideoDenoiserOptions( {required bool enabled, required VideoDenoiserOptions options, MediaSourceType type = MediaSourceType.primaryCameraSource}); -

    +

    Details -

    Underlit environments and low-end video capture devices can cause video images to contain significant noise, which affects video quality. In real-time interactive scenarios, video noise also consumes bitstream resources and reduces encoding efficiency during encoding.

    -

    You can call this method to enable the video noise reduction feature and set the options of the video noise reduction effect.

    +

    Underlit environments and low-end video capture devices can cause video images to + contain significant noise, which affects video quality. In real-time interactive + scenarios, video noise also consumes bitstream resources and reduces encoding + efficiency during encoding.

    +

    You can call this method to enable the video noise reduction feature and set the + options of the video noise reduction effect.

    -
      -
    • Call this method after calling .
    • -
    • Video noise reduction has certain requirements for equipment performance. If your device overheats after you enable video noise reduction, Agora recommends modifying the video noise reduction options to a less performance-consuming level or disabling video noise reduction entirely.
    • -
    • Both this method and can turn on video noise reduction function:
        -
      • When you use the SDK to capture video, Agora recommends this method (this method only works for video captured by the SDK).
      • -
      • When you use an external video source to implement custom video capture, or send an external video source to the SDK, Agora recommends using .
      • -
    • -
    • This method relies on the image enhancement dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • -
    +
      +
    • Call this method after calling .
    • +
    • Video noise reduction has certain requirements for equipment performance. If + your device overheats after you enable video noise reduction, Agora + recommends modifying the video noise reduction options to a less + performance-consuming level or disabling video noise reduction + entirely.
    • +
    • Both this method and can turn on video + noise reduction function:
        +
      • When you use the SDK to capture video, Agora recommends this method + (this method only works for video captured by the SDK).
      • +
      • When you use an external video source to implement custom video + capture, or send an external video source to the SDK, Agora + recommends using .
      • +
    • +
    • This method relies on the image enhancement dynamic library . If the dynamic library is deleted, + the function cannot be enabled normally.
    • +
    + +
    Parameters - - enabled - enable - Whether to enable video noise reduction:
      -
    • : Enable video noise reduction.
    • -
    • : (Default) Disable video noise reduction.
    • -
    -
    - - options - The video noise reduction options. See . - - - - - -
    + + enabled + enable + Whether to enable video noise reduction:
      +
    • : Enable video noise + reduction.
    • +
    • : (Default) Disable video noise + reduction.
    • +
    +
    +
    + + options + The video noise reduction options. See . + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita index ecccaa8bc41..4ff5e628964 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideodenoiseroptions2.dita @@ -1,8 +1,12 @@ - <ph keyref="setVideoDenoiserOptions2"/> - Sets video noise reduction and specifies the media source. + + <ph keyref="setVideoDenoiserOptions2"/> + + + Sets video noise reduction and specifies the media + source. @@ -13,49 +17,61 @@

    - public abstract int setVideoDenoiserOptions( + public abstract int setVideoDenoiserOptions( boolean enabled, VideoDenoiserOptions options, Constants.MediaSourceType sourceType); - - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:sourceType:)); - - - - - - -

    + - (int)setVideoDenoiserOptions:(BOOL)enable options:(AgoraVideoDenoiserOptions* _Nullable)options sourceType:(AgoraMediaSourceType)sourceType NS_SWIFT_NAME(setVideoDenoiserOptions(_:options:sourceType:)); + + + + + + +

    Details -

    Underlit environments and low-end video capture devices can cause video images to contain significant noise, which affects video quality. In real-time interactive scenarios, video noise also consumes bitstream resources and reduces encoding efficiency during encoding.

    -

    Both this method and set video noise reduction, but this method allows you to specify the media source to which the noise reduction is applied.

    +

    Underlit environments and low-end video capture devices can cause video images to + contain significant noise, which affects video quality. In real-time interactive + scenarios, video noise also consumes bitstream resources and reduces encoding + efficiency during encoding.

    +

    Both this method and set video noise + reduction, but this method allows you to specify the media source to which the noise + reduction is applied.

    Parameters - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita index 88154d2bb87..6e1b371f7a6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoencoderconfiguration.dita @@ -13,46 +13,73 @@

    - public abstract int setVideoEncoderConfiguration(VideoEncoderConfiguration config); - - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; - virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setVideoEncoderConfiguration(VideoEncoderConfiguration config); + - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; + virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetVideoEncoderConfiguration(const FVideoEncoderConfiguration& config); - abstract setVideoEncoderConfiguration( + abstract setVideoEncoderConfiguration( config: VideoEncoderConfiguration ): number; - public abstract int SetVideoEncoderConfiguration(VideoEncoderConfiguration config); - abstract setVideoEncoderConfiguration( + public abstract int SetVideoEncoderConfiguration(VideoEncoderConfiguration config); + abstract setVideoEncoderConfiguration( config: VideoEncoderConfiguration ): number; - Future<void> setVideoEncoderConfiguration(VideoEncoderConfiguration config); -

    + Future<void> setVideoEncoderConfiguration(VideoEncoderConfiguration config); +

    Details -

    Sets the encoder configuration for the local video. Each configuration profile corresponds to a set of video parameters, including the resolution, frame rate, and bitrate.

    -

    The config specified in this method is the maximum value under ideal network conditions. If the video engine cannot render the video using the specified config due to unreliable network conditions, the parameters further down the list are considered until a successful configuration is found.

    +

    Sets the encoder configuration for the local video. Each configuration + profile corresponds to a set of video parameters, including the resolution, frame + rate, and bitrate.

    +

    The config specified in this method is the maximum value under + ideal network conditions. If the video engine cannot render the video using the + specified config due to unreliable network conditions, the + parameters further down the list are considered until a successful configuration is + found.

    -
      -
    • You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before to reduce the time to render the first video frame.
    • -
    • Both this method and the method support setting the mirroring effect. Agora recommends that you only choose one method to set it up. Using both methods at the same time causes the mirroring effect to overlap, which causes the mirroring settings to fail.
    • -
    - You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before to reduce the time to render the first video frame. - Call this method before joining a channel. Agora recommends calling this method before to reduce the time to render the first video frame.
    +
      +
    • You can call this method either before or after joining a channel. If the + user does not need to reset the video encoding properties after joining the + channel, Agora recommends calling this method before to reduce the time to render the first video + frame.
    • +
    • Both this method and the method support + setting the mirroring effect. Agora recommends that you only choose one + method to set it up. Using both methods at the same time causes the + mirroring effect to overlap, which causes the mirroring settings to + fail.
    • +
    + You can call this method either + before or after joining a channel. If the user does not need to reset the video + encoding properties after joining the channel, Agora recommends calling this method + before to reduce the time to render the first video + frame. + Call this method before joining a channel. Agora + recommends calling this method before to reduce the + time to render the first video frame. +
    Parameters - - config - Video profile. See . - -
    + + config + Video profile. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoprofile.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoprofile.dita index bd6091ec096..d4c66862d86 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoprofile.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoprofile.dita @@ -13,50 +13,64 @@

    - public abstract int setVideoProfile(int profile, boolean swapWidthAndHeight); - - (int)setVideoProfile:(AgoraVideoProfile)profile + public abstract int setVideoProfile(int profile, boolean swapWidthAndHeight); + - (int)setVideoProfile:(AgoraVideoProfile)profile swapWidthAndHeight:(BOOL)swapWidthAndHeight - virtual int setVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight) = 0; - - public abstract int SetVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight = false); - - -

    + virtual int setVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight) = 0; + + public abstract int SetVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight = false); + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use + instead.
    +
    -

    This method sets the video encoder configuration. You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before to reduce the time to render the first video frame.

    +

    This method sets the video encoder configuration. You can call this method either + before or after joining a channel. If the user does not need to reset the video + encoding properties after joining the channel, Agora recommends calling this method + before to reduce the time to render the first video + frame.

    Parameters - - profile - -

    Video profile. See .

    -
    -
    - - swapWidthAndHeight - -

    The SDK outputs video with a fixed width and height according to the video profile (profile) you selected. This parameter sets whether to swap width and height of the video:

    -
      -
    • : Swap the width and height.
    • -
    • : (Default) Do not swap the width and height.
    • -
    -
    -
    + + profile + +

    Video profile. See .

    +
    +
    + + swapWidthAndHeight + +

    The SDK outputs video with a fixed width and height according to the + video profile (profile) you selected. This + parameter sets whether to swap width and height of the video:

    +
      +
    • : Swap the width and + height.
    • +
    • : (Default) Do not swap the + width and height.
    • +
    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoprofile2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoprofile2.dita index 8c6589e63aa..12a70191586 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoprofile2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoprofile2.dita @@ -1,62 +1,77 @@ - <ph keyref="setVideoProfile2" /> + <ph keyref="setVideoProfile2"/> Sets the video encoder configuration. - +

    - public abstract int setVideoProfile(int width, int height, int frameRate, int bitrate); - - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate; - - - - - -

    + public abstract int setVideoProfile(int width, int height, int frameRate, int bitrate); + - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate; + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use + instead.
    +
    -

    This method sets the video encoder configuration. You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before to reduce the time to render the first video frame.

    +

    This method sets the video encoder configuration. You can call this method either + before or after joining a channel. If the user does not need to reset the video + encoding properties after joining the channel, Agora recommends calling this method + before to reduce the time to render the first video + frame.

    Parameters - - width - The width of the video. The maximum value of width × height is 1280 × 720. - - - height - The height of the video. The maximum value of width × height is 1280 × 720. - - - frameRate - The frame rate of the video. The highest value is 30. You can set the parameter as 5, 10, 15, 24, and 30. - - - bitrate - The bitrate of the video. You need to manually work out the bitrate according to the width, height, and frame rate. With the same width and height, the bitrate varies with the frame rate:
      -
    • If the frame rate is 5 fps, divide the recommended bitrate by 2.
    • -
    • If the frame rate is 15 fps, use the recommended bitrate.
    • -
    • If the frame rate is 30 fps, multiply the recommended bitrate by 1.5.
    • -
    • Calculate the bitrate according to the ratio if you choose other frame rates.
    • -
    • If you set a bitrate beyond the proper range, the SDK automatically adjusts the bitrate to a value within the proper range.
    • -
    -
    -
    + + width + The width of the video. The maximum value of width × height is 1280 × + 720. + + + height + The height of the video. The maximum value of width × height is 1280 × + 720. + + + frameRate + The frame rate of the video. The highest value is 30. You can set the + parameter as 5, 10, 15, 24, and 30. + + + bitrate + The bitrate of the video. You need to manually work out the bitrate + according to the width, height, and frame rate. With the same width and + height, the bitrate varies with the frame rate:
      +
    • If the frame rate is 5 fps, divide the recommended bitrate by + 2.
    • +
    • If the frame rate is 15 fps, use the recommended bitrate.
    • +
    • If the frame rate is 30 fps, multiply the recommended bitrate by + 1.5.
    • +
    • Calculate the bitrate according to the ratio if you choose other + frame rates.
    • +
    • If you set a bitrate beyond the proper range, the SDK automatically + adjusts the bitrate to a value within the proper range.
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoqualityparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoqualityparameters.dita index 8808ff26dd1..69524088a7e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoqualityparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoqualityparameters.dita @@ -1,54 +1,62 @@ - <ph keyref="setVideoQualityParameters" /> - Sets the preferences for high-quality video. (LIVE_BROADCASTING only). + <ph keyref="setVideoQualityParameters"/> + Sets the preferences for high-quality video. + (LIVE_BROADCASTING only). - +

    - public abstract int setVideoQualityParameters(boolean preferFrameRateOverImageQuality); - - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality; - virtual int setVideoQualityParameters(bool preferFrameRateOverImageQuality) = 0; - - public abstract int SetVideoQualityParameters(bool preferFrameRateOverImageQuality); - - -

    + public abstract int setVideoQualityParameters(boolean preferFrameRateOverImageQuality); + - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality; + virtual int setVideoQualityParameters(bool preferFrameRateOverImageQuality) = 0; + + public abstract int SetVideoQualityParameters(bool preferFrameRateOverImageQuality); + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Agora recommends using the degradationPreference parameter in the class to set the video quality preference.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Agora recommends using the + degradationPreference parameter in the class to set the video quality + preference.
    +
    Parameters - - preferFrameRateOverImageQuality - -

    Whether to prioritize smoothness or image quality.

      -
    • : Prioritizes smoothness.
    • -
    • : (Default) Prioritizes the image quality.
    • -

    -
    -
    -
    + + preferFrameRateOverImageQuality + +

    Whether to prioritize smoothness or image quality.

      +
    • : Prioritizes + smoothness.
    • +
    • : (Default) Prioritizes the + image quality.
    • +

    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideorenderdimension.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideorenderdimension.dita index 6918ecb2969..545f1efd167 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideorenderdimension.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideorenderdimension.dita @@ -1,54 +1,62 @@ - <ph keyref="setVideoRenderDimension" /> - Sets the rendering resolution of the local video in the JavaScript layer. + <ph keyref="setVideoRenderDimension"/> + Sets the rendering resolution of the local video in the + JavaScript layer. - +

    - - - - - - - -

    + + + + + + + +

    Details -

    The Agora SDK automatically controls the video rendering in the JavaScript layer. If the display resolution is too low, you can call this method to adjust the resolution.

    +

    The Agora SDK automatically controls the video rendering in the JavaScript layer. If + the display resolution is too low, you can call this method to adjust the + resolution.

    -
      -
    • This method affects only the local display.
    • -
    • To ensure the video quality, adjust the video resolution accordingly when you set the frame rate. See .
    • -
    +
      +
    • This method affects only the local display.
    • +
    • To ensure the video quality, adjust the video resolution accordingly when + you set the frame rate. See .
    • +
    + +
    Parameters - - user - The user of the video. See . - - - width - Width (pixel) of the video frame. The default value is 360. - - - height - Height (pixel) of the video frame. The default value is 640. - - - channelId - The ID of the channel in which the video is rendered. Set this parameter in multi-channel scenarios only. - -
    + + user + The user of the video. See . + + + width + Width (pixel) of the video frame. The default value is 360. + + + height + Height (pixel) of the video frame. The default value is 640. + + + channelId + The ID of the channel in which the video is rendered. Set this parameter in + multi-channel scenarios only. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideorenderfps.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideorenderfps.dita index cdab2af4015..cdce2dec86e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideorenderfps.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideorenderfps.dita @@ -1,42 +1,50 @@ - <ph keyref="setVideoRenderFPS" /> - Sets the rendering frame rate of the local video in the JavaScript layer. + <ph keyref="setVideoRenderFPS"/> + Sets the rendering frame rate of the local video in the + JavaScript layer. - +

    - - - - - - - -

    + + + + + + + +

    Details -

    The Agora SDK automatically controls the video rendering in the JavaScript layer. If the display frame rate is too low, you can call this method to adjust the frame rate.

    +

    The Agora SDK automatically controls the video rendering in the JavaScript layer. If + the display frame rate is too low, you can call this method to adjust the frame + rate.

    -
      -
    • This method affects only the local display.
    • -
    • To ensure the video quality, adjust the frame rate accordingly when you set the resolution. See .
    • -
    +
      +
    • This method affects only the local display.
    • +
    • To ensure the video quality, adjust the frame rate accordingly when you set + the resolution. See .
    • +
    + +
    Parameters - - fps - The rendering frame rate (fps) of the local video. The maximum value is 30 fps. - -
    + + fps + The rendering frame rate (fps) of the local video. The maximum value is 30 + fps. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita index cb869104d8d..b37563ccdcb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideoscenario.dita @@ -13,79 +13,126 @@

    - public abstract int setVideoScenario(Constants.VideoScenario scenarioType); - - (int)setVideoScenario:(AgoraApplicationScenarioType)scenarioType NS_SWIFT_NAME(setVideoScenario(_:)); - virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setVideoScenario(Constants.VideoScenario scenarioType); + - (int)setVideoScenario:(AgoraApplicationScenarioType)scenarioType NS_SWIFT_NAME(setVideoScenario(_:)); + virtual int setVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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);

    + abstract setVideoScenario(scenarioType: VideoApplicationScenarioType): number; + public abstract int SetVideoScenario(VIDEO_APPLICATION_SCENARIO_TYPE scenarioType); + abstract setVideoScenario(scenarioType: VideoApplicationScenarioType): number; + Future<void> setVideoScenario(VideoApplicationScenarioType scenarioType); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    After successfully calling this method, the SDK will automatically enable the best practice strategies and adjust key performance metrics based on the specified scenario, to optimize the video experience.

    +

    After successfully calling this method, the SDK will automatically enable the best + practice strategies and adjust key performance metrics based on the specified + scenario, to optimize the video experience.

    Ensure that you call this method before joining a channel.
    Parameters - - scenarioType - The type of video application scenario. See .

    If set to (1), the SDK automatically enables the following strategies:

      -
    • In meeting scenarios where low-quality video streams are required to have a high bitrate, the SDK automatically enables multiple technologies used to deal with network congestions, to enhance the performance of the low-quality streams and to ensure the smooth reception by subscribers.
    • -
    • The SDK monitors the number of subscribers to the high-quality video stream in real time and dynamically adjusts its configuration based on the number of subscribers.
        -
      • If nobody subscribers to the high-quality stream, the SDK automatically reduces its bitrate and frame rate to save upstream bandwidth.
      • -
      • If someone subscribes to the high-quality stream, the SDK resets the high-quality stream to the configuration used in the most recent calling of . If no configuration has been set by the user previously, the following values are used:
          -
        • Resolution: (Windows and macOS) 1280 × 720; (Android and iOS) 960 × 540
        • -
        • Frame rate: 15 fps
        • -
        • Bitrate: (Windows and macOS) 1600 Kbps; (Android and iOS) 1000 Kbps
        • -
        -
          -
        • Resolution: 960 × 540
        • -
        • Frame rate: 15 fps
        • -
        • Bitrate: 1000 Kbps
        • -
        -
          -
        • Resolution: 1280 × 720
        • -
        • Frame rate: 15 fps
        • -
        • Bitrate: 1600 Kbps
        • -
        -
      -
    • -
    • The SDK monitors the number of subscribers to the low-quality video stream in real time and dynamically enables or disables it based on the number of subscribers.If the user has called to set that never send low-quality video stream (), the dynamic adjustment of the low-quality stream in meeting scenarios will not take effect.
        -
      • If nobody subscribes to the low-quality stream, the SDK automatically disables it to save upstream bandwidth.
      • -
      • If someone subscribes to the low-quality stream, the SDK enables the low-quality stream and resets it to the configuration used in the most recent calling of . If no configuration has been set by the user previously, the following values are used:
          -
        • Resolution: 480 × 272
        • -
        • Frame rate: 15 fps
        • -
        • Bitrate: 500 Kbps
        • -
        -
      -
    • -
    -

    -
    -
    + + scenarioType + The type of video application scenario. See .

    If set to + (1), the SDK + automatically enables the following strategies:

      +
    • In meeting scenarios where low-quality video streams are + required to have a high bitrate, the SDK automatically enables + multiple technologies used to deal with network congestions, to + enhance the performance of the low-quality streams and to ensure + the smooth reception by subscribers.
    • +
    • The SDK monitors the number of subscribers to the high-quality + video stream in real time and dynamically adjusts its + configuration based on the number of subscribers.
        +
      • If nobody subscribers to the high-quality stream, the + SDK automatically reduces its bitrate and frame rate to + save upstream bandwidth.
      • +
      • If someone subscribes to the high-quality stream, the + SDK resets the high-quality stream to the configuration + used in the most recent calling of . If no + configuration has been set by the user previously, the + following values are used:
          +
        • Resolution: (Windows and macOS) 1280 × 720; + (Android and iOS) 960 × 540
        • +
        • Frame rate: 15 fps
        • +
        • Bitrate: (Windows and macOS) 1600 Kbps; (Android + and iOS) 1000 Kbps
        • +
        +
          +
        • Resolution: 960 × 540
        • +
        • Frame rate: 15 fps
        • +
        • Bitrate: 1000 Kbps
        • +
        +
          +
        • Resolution: 1280 × 720
        • +
        • Frame rate: 15 fps
        • +
        • Bitrate: 1600 Kbps
        • +
        +
      • +
      +
    • +
    • The SDK monitors the number of subscribers to the low-quality + video stream in real time and dynamically enables or disables it + based on the number of subscribers.If the user has called + to set that never + send low-quality video stream (), the dynamic + adjustment of the low-quality stream in meeting scenarios + will not take effect.
        +
      • If nobody subscribes to the low-quality stream, the SDK + automatically disables it to save upstream + bandwidth.
      • +
      • If someone subscribes to the low-quality stream, the SDK + enables the low-quality stream and resets it to the + configuration + used in the most recent calling of . If no configuration + has been set by the user previously, the following + values are used:
          +
        • Resolution: 480 × 272
        • +
        • Frame rate: 15 fps
        • +
        • Bitrate: 500 Kbps
        • +
        +
      • +
      +
    • +
    +

    +
    +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -4: Video application scenarios are not supported. Possible reasons include that you use the Voice SDK instead of the Video SDK.
      • -
      • -7: The object has not been initialized. You need to initialize the object before calling this method.
      • -
      -
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
        +
      • -1: A general error occurs (no specified reason).
      • +
      • -4: Video application scenarios are not supported. Possible reasons + include that you use the Voice SDK instead of the Video SDK.
      • +
      • -7: The object has not been initialized. + You need to initialize the object before + calling this method.
      • +
      +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvideosource.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvideosource.dita index 30b0b53106e..7c93d6effc6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvideosource.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvideosource.dita @@ -1,45 +1,53 @@ - <ph keyref="setVideoSource" /> + <ph keyref="setVideoSource"/> Sets a custom video source. - - - + + + -
    + +

    - - - virtual bool setVideoSource(IVideoSource *source) = 0; - - - - -

    + + + virtual bool setVideoSource(IVideoSource *source) = 0; + + + + +

    Details - -

    During real-time communication, the Agora SDK enables the default video input device, that is, the built-in camera to capture video. If you need a custom video source, implement the class first, and call this method to add the custom video source to the SDK.

    - You can call this method either before or after joining a channel. +

    During real-time communication, the Agora SDK enables the default video input device, + that is, the built-in camera to capture video. If you need a custom video source, + implement the class first, and call this method to add + the custom video source to the SDK.

    + You can call this method either before or after joining a + channel.
    Parameters - - - source - The custom video source. For details, see . - - + + + source + The custom video source. For details, see . + +
    - Returns -
      -
    • : The custom video source is added to the SDK.
    • -
    • : The custom video source is not added to the SDK.
    • -
    -
    - \ No newline at end of file + Returns +
      +
    • : The custom video source is added to the + SDK.
    • +
    • : The custom video source is not added to + the SDK.
    • +
    +
    +
    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setview.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setview.dita index 1134113688c..077c0a42750 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setview.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setview.dita @@ -1,34 +1,36 @@ - <ph keyref="setView" /> + <ph keyref="setView"/> Configures the video renderer. - +

    - - - - - - - -

    + + + + + + + +

    Parameters - - renderConfig - Configurations for the video renderer. See . - -
    + + renderConfig + Configurations for the video renderer. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita index 58bd18a0823..bd9ec828434 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierparameters.dita @@ -1,86 +1,110 @@ - <ph keyref="setVoiceBeautifierParameters" /> - Sets parameters for the preset voice beautifier effects. + <ph keyref="setVoiceBeautifierParameters"/> + Sets parameters for the preset voice beautifier + effects. - +

    - public abstract int setVoiceBeautifierParameters(int preset, int param1, int param2); - - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2; - virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setVoiceBeautifierParameters(int preset, int param1, int param2); + - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2; + virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); - abstract setVoiceBeautifierParameters( + abstract setVoiceBeautifierParameters(preset: VoiceBeautifierPreset, param1: number, param2: number): number; + public abstract int SetVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2); + abstract setVoiceBeautifierParameters( preset: VoiceBeautifierPreset, param1: number, param2: number ): number; - Future<void> setVoiceBeautifierParameters( + Future<void> setVoiceBeautifierParameters( {required VoiceBeautifierPreset preset, required int param1, required int param2}); -

    +

    Details -

    Call this method to set a gender characteristic and a reverberation effect for the singing beautifier effect. This method sets parameters for the local user who sends an audio stream. After setting the audio parameters, all users in the channel can hear the effect.

    +

    Call this method to set a gender characteristic and a reverberation effect for the + singing beautifier effect. This method sets parameters for the local user who sends + an audio stream. After setting the audio parameters, all users in the channel can + hear the effect.

    -

      -
    • You can call this method either before or after joining a channel.
    • -
    • -
    • This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
    • -
    • After calling , Agora does not recommend calling the following methods, otherwise the effect set by will be overwritten:
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    +
      +
    • You can call this method either before or after joining a channel.
    • +
    • +
    • This method has the best effect on human voice processing, and Agora does + not recommend calling this method to process audio data containing + music.
    • +
    • After calling , Agora does + not recommend calling the following methods, otherwise the effect set by + will be overwritten:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    + +
    Parameters - - preset - The option for the preset audio effect:
      -
    • SINGING_BEAUTIFIER: The singing beautifier effect.
    • -
    -
    - - param1 - The gender characteristics options for the singing voice:
      -
    • 1: A male-sounding voice.
    • -
    • 2: A female-sounding voice.
    • -
    -
    - - param2 - The reverberation effect options for the singing voice:
      -
    • 1: The reverberation effect sounds like singing in a small room.
    • -
    • 2: The reverberation effect sounds like singing in a large room.
    • -
    • 3: The reverberation effect sounds like singing in a hall.
    • -
    -
    -
    + + preset + The option for the preset audio effect:
      +
    • SINGING_BEAUTIFIER: The singing beautifier + effect.
    • +
    +
    +
    + + param1 + The gender characteristics options for the singing voice:
      +
    • 1: A male-sounding voice.
    • +
    • 2: A female-sounding voice.
    • +
    +
    +
    + + param2 + The reverberation effect options for the singing voice:
      +
    • 1: The reverberation effect sounds like singing in + a small room.
    • +
    • 2: The reverberation effect sounds like singing in + a large room.
    • +
    • 3: The reverberation effect sounds like singing in + a hall.
    • +
    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita index 2e5bb9fcc6e..4cdd4e16501 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvoicebeautifierpreset.dita @@ -1,91 +1,159 @@ - <ph keyref="setVoiceBeautifierPreset" /> + <ph keyref="setVoiceBeautifierPreset"/> Sets a preset voice beautifier effect. - +

    - public abstract int setVoiceBeautifierPreset(int preset); - - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset; - virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setVoiceBeautifierPreset(int preset); + - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset; + virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract setVoiceBeautifierPreset(preset: VoiceBeautifierPreset): number; + public abstract int SetVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset); + abstract setVoiceBeautifierPreset(preset: VoiceBeautifierPreset): number; + Future<void> setVoiceBeautifierPreset(VoiceBeautifierPreset preset); +

    Details -

    Call this method to set a preset voice beautifier effect for the local user who sends an audio stream. After setting a voice beautifier effect, all users in the channel can hear the effect. You can set different voice beautifier effects for different scenarios. For the applicable scenarios of each voice beautifier effect, refer to Set the Voice Effect.

    -

    To achieve better vocal effects, it is recommended that you call the following APIs before calling this method:

      -
    • Call to set the audio scenario to high-quality audio scenario, namely (3).
    • -
    • Call to set the profile parameter to (4) or (5).
    • -
    +

    Call this method to set a preset voice beautifier effect for the local user who sends + an audio stream. After setting a voice beautifier effect, all users in the channel + can hear the effect. You can set different voice beautifier effects for different + scenarios. For the applicable scenarios of each voice + beautifier effect, refer to Set the Voice Effect.

    +

    To achieve better vocal effects, it is recommended that you call the + following APIs before calling this method:

      +
    • Call to set the audio scenario to + high-quality audio scenario, namely (3).
    • +
    • Call to set the + profile parameter to (4) or (5).
    • +

    -
      -
    • You can call this method either before or after joining a channel.
    • -
    • Do not set the profile parameter in to (1) or (6), or the method does not take effect.
    • -
    • This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
    • -
    • After calling , Agora does not recommend calling the following methods, otherwise the effect set by will be overwritten:
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    • This method relies on the voice beautifier dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • -
    +
      +
    • You can call this method either before or after joining a channel.
    • +
    • Do not set the profile parameter in + to + (1) or (6), or the method does not take + effect.
    • +
    • This method has the best effect on human voice processing, and Agora does + not recommend calling this method to process audio data containing + music.
    • +
    • After calling , Agora does not + recommend calling the following methods, otherwise the effect set by + will be overwritten:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • This method relies on the voice beautifier dynamic library . If the dynamic library is deleted, + the function cannot be enabled normally.
    • +
    + +
    Parameters - - preset - -

    The preset voice beautifier effect options: .

    -

    The preset voice beautifier effect options.

      -
    • : Turn off voice beautifier effects and use the original voice.
    • -
    • : A more magnetic voice (Male only).
    • -
    • : A fresher voice (Female only).
    • -
    • : A more vital voice (Female only).
    • -
    • : The singing beautifier effect.
        -
      • If you call (), you can beautify a male-sounding voice and add a reverberation effect that sounds like singing in a small room. Agora recommends using this enumerator to process a male-sounding voice; otherwise, you might experience vocal distortion.
      • -
      • If you call (, param1, param2), you can beautify a male- or female-sounding voice and add a reverberation effect.
      • -
    • -
    • : A more rigorous vice.
    • -
    • : A deep voice.
    • -
    • : A mellower voice.
    • -
    • : Falsetto.
    • -
    • : A fuller voice.
    • -
    • : A clearer voice.
    • -
    • : A resounding voice.
    • -
    • : A more ringing voice.
    • -
    • : Ultra-high quality voice, which makes the audio clearer and restores more details.
        -
      • To achieve better audio effect quality, Agora recommends that you call and set the profile to (4) or (5) and scenario to (3) before calling this method.
      • -
      • If you have an audio capturing device that can already restore audio details to a high degree, Agora recommends that you do not enable ultra-high quality; otherwise, the SDK may over-restore audio details, and you may not hear the anticipated voice effect.
      • -
    • -

    -
    -
    -
    + + preset + +

    The preset + voice beautifier effect options: .

    +

    The preset voice beautifier effect options.

      +
    • : Turn off voice beautifier + effects and use the original voice.
    • +
    • : A more magnetic voice + (Male only).
    • +
    • : A fresher voice (Female + only).
    • +
    • : A more vital voice + (Female only).
    • +
    • : The singing beautifier effect.
        +
      • If you call (), you can + beautify a male-sounding voice and add a reverberation + effect that sounds like singing in a small room. Agora + recommends using this enumerator to process a + male-sounding voice; otherwise, you might experience + vocal distortion.
      • +
      • If you call (, param1, + param2), you can beautify a male- or female-sounding + voice and add a reverberation effect.
      • +
      +
    • +
    • : A more rigorous + vice.
    • +
    • : A deep voice.
    • +
    • : A mellower + voice.
    • +
    • : Falsetto.
    • +
    • : A fuller voice.
    • +
    • : A clearer + voice.
    • +
    • : A resounding + voice.
    • +
    • : A more ringing + voice.
    • +
    • : Ultra-high quality + voice, which makes the audio clearer and restores more details.
        +
      • To achieve better audio effect quality, Agora recommends + that you call and set + the profile to (4) or + (5) and scenario to (3) before + calling this method.
      • +
      • If you have an audio capturing device that can already + restore audio details to a high degree, Agora recommends + that you do not enable ultra-high quality; otherwise, + the SDK may over-restore audio details, and you may not + hear the anticipated voice effect.
      • +
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionparameters.dita index 90695731dca..e3d4161aad8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionparameters.dita @@ -2,36 +2,37 @@ setVoiceConversionParameters - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita index 711bed04449..a448df69ec2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvoiceconversionpreset.dita @@ -13,62 +13,93 @@

    - public abstract int setVoiceConversionPreset(int preset); - - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset; - virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setVoiceConversionPreset(int preset); + - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset; + virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetVoiceConversionPreset(FENUMWRAP_VOICE_CONVERSION_PRESET preset); - abstract setVoiceConversionPreset(preset: VoiceConversionPreset): number; - public abstract int SetVoiceConversionPreset(VOICE_CONVERSION_PRESET preset); - abstract setVoiceConversionPreset(preset: VoiceConversionPreset): number; - Future<void> setVoiceConversionPreset(VoiceConversionPreset preset); -

    + abstract setVoiceConversionPreset(preset: VoiceConversionPreset): number; + public abstract int SetVoiceConversionPreset(VOICE_CONVERSION_PRESET preset); + abstract setVoiceConversionPreset(preset: VoiceConversionPreset): number; + Future<void> setVoiceConversionPreset(VoiceConversionPreset preset); +

    Details -

    Call this method to set a preset voice beautifier effect for the local user who sends an audio stream. After setting an audio effect, all users in the channel can hear the effect. You can set different voice beautifier effects for different scenarios.

    -

    The applicable scenarios for each voice-changing effect can be referred to .

    +

    Call this method to set a preset voice beautifier effect for the local user who + sends an audio stream. After setting an audio effect, all users in the channel + can hear the effect. You can set different voice beautifier effects for + different scenarios.

    +

    The applicable scenarios for each voice-changing effect + can be referred to .

    -

      -
    • You can call this method either before or after joining a channel.
    • -
    • -
    • This method has the best effect on human voice processing, and Agora does not recommend calling this method to process audio data containing music.
    • -
    • After calling , Agora does not recommend you to call the following methods, otherwise the effect set by will be overwritten:
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    • This method relies on the voice beautifier dynamic library . If the dynamic library is deleted, the function cannot be enabled normally.
    • -
    +
      +
    • You can call this method either before or after joining a channel.
    • +
    • +
    • This method has the best effect on human voice processing, and Agora does + not recommend calling this method to process audio data containing + music.
    • +
    • After calling , Agora does not + recommend you to call the following methods, otherwise the effect set by + will be overwritten:
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • This method relies on the voice beautifier dynamic library . If the dynamic library is deleted, + the function cannot be enabled normally.
    • +
    + +
    Parameters - - preset - -

    The options for the preset voice beautifier effects: .

    -

    The options for SDK preset voice conversion effects.

      -
    • : Turn off voice conversion effects and use the original voice.
    • -
    • : A gender-neutral voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice.
    • -
    • : A sweet voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice.
    • -
    • : A steady voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice.
    • -
    • : A deep voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice.
    • -

    -
    -
    -
    + + preset + +

    The options + for the preset voice beautifier effects: .

    +

    The options for SDK preset voice conversion effects.

      +
    • : Turn off voice conversion + effects and use the original voice.
    • +
    • : A gender-neutral voice. To + avoid audio distortion, ensure that you use this enumerator to + process a female-sounding voice.
    • +
    • : A sweet voice. To avoid + audio distortion, ensure that you use this enumerator to process + a female-sounding voice.
    • +
    • : A steady voice. To avoid + audio distortion, ensure that you use this enumerator to process + a male-sounding voice.
    • +
    • : A deep voice. To avoid audio + distortion, ensure that you use this enumerator to process a + male-sounding voice.
    • +
    +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita index 03576436d0c..7c3017b09b5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_setvolumeofeffect.dita @@ -1,50 +1,58 @@ - <ph keyref="setVolumeOfEffect" /> - Sets the volume of a specified audio effect. + <ph keyref="setVolumeOfEffect"/> + Sets the volume of a specified audio + effect. - +

    - public abstract int setVolumeOfEffect(int soundId, double volume); + public abstract int setVolumeOfEffect(int soundId, double volume); - - (int)setVolumeOfEffect:(int)soundId + - (int)setVolumeOfEffect:(int)soundId withVolume:(int)volume; - virtual int setVolumeOfEffect(int soundId, int volume) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setVolumeOfEffect(int soundId, int volume) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetVolumeOfEffect(int soundId, int volume); - abstract setVolumeOfEffect(soundId: number, volume: number): number; - public abstract int SetVolumeOfEffect(int soundId, int volume); - abstract setVolumeOfEffect(soundId: number, volume: number): number; - Future<void> setVolumeOfEffect({required int soundId, required int volume}); -

    + 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}); +

    Parameters - - soundId - The ID of the audio effect. The ID of each audio effect file is unique. - - - volume - The playback volume. The value range is [0, 100]. The default value is 100, which represents the original volume. - -
    + + soundId + The ID of the audio effect. The ID of each audio effect file is unique. + + + volume + The playback volume. The value range is [0, 100]. The default value is 100, + which represents the original volume. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startaudioframedump.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startaudioframedump.dita index 3e5bfeab4fa..e44b24fa96c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startaudioframedump.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startaudioframedump.dita @@ -1,39 +1,40 @@ - <ph keyref="startAudioFrameDump" /> - + <ph keyref="startAudioFrameDump"/> + - +

    - - - virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location, + + + virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location, const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0; - - - - -

    + + + + +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita index a4758c10ac6..9922ef4de2b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing.dita @@ -1,95 +1,126 @@ - <ph keyref="startAudioMixing" /> + <ph keyref="startAudioMixing"/> Starts playing the music file. - +

    - public abstract int startAudioMixing(String filePath, boolean loopback, int cycle); - - (int)startAudioMixing:(NSString * _Nonnull)filePath + public abstract int startAudioMixing(String filePath, boolean loopback, int cycle); + - (int)startAudioMixing:(NSString * _Nonnull)filePath loopback:(BOOL)loopback cycle:(NSInteger)cycle NS_SWIFT_NAME(startAudioMixing(_:loopback:cycle:)); - virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0; - abstract startAudioMixing(filePath: string, loopback: boolean, cycle: number, startPos?: number): number; - public abstract int StartAudioMixing(string filePath, bool loopback, int cycle); - abstract startAudioMixing( + virtual int startAudioMixing(const char* filePath, bool loopback, int cycle) = 0; + abstract startAudioMixing(filePath: string, loopback: boolean, cycle: number, startPos?: number): number; + public abstract int StartAudioMixing(string filePath, bool loopback, int cycle); + abstract startAudioMixing( filePath: string, loopback: boolean, cycle: number, startPos?: number ): number; - Future<void> startAudioMixing( + Future<void> startAudioMixing( {required String filePath, required bool loopback, required int cycle, int startPos = 0}); -

    +

    Details
    - -
    Deprecated:
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    Use instead.
    +
    -

    This method mixes the specified local or online audio file with the audio from the microphone, or replaces the microphone's audio with the specified local or remote audio file. A successful method call triggers the () callback. When the audio mixing file playback finishes, the SDK triggers the () callback on the local client.

    +

    This method mixes the specified local or online audio file + with the audio from the microphone, or replaces the microphone's audio with the + specified local or remote audio file. A successful method call triggers the () callback. When the audio mixing file + playback finishes, the SDK triggers the () callback on the local + client.

    -
      -
    • You can call this method either before or after joining a channel. If you need to call multiple times, ensure that the time interval between calling this method is more than 500 ms.
    • -
    • If the local music file does not exist, the SDK does not support the file format, or the the SDK cannot access the music file URL, the SDK reports 701.
    • -
    • On Android, there are following considerations:
        -
      • To use this method, ensure that the Android device is v4.2 or later, and the API version is v16 or later.
      • -
      • If you need to play an online music file, Agora does not recommend using the redirected URL address. Some Android devices may fail to open a redirected URL address.
      • -
      • If you call this method on an emulator, ensure that the music file is in the /sdcard/ directory and the format is MP3.
      • -
    • -
    +
      +
    • You can call this method either before or after joining a channel. If you + need to call multiple times, ensure + that the time interval between calling this method is more than 500 ms.
    • +
    • If the local music file does not exist, the SDK does not support the file + format, or the the SDK cannot access the music file URL, the SDK reports + 701.
    • +
    • On Android, + there are following considerations:
        +
      • To use this method, ensure that the Android device is v4.2 or later, + and the API version is v16 or later.
      • +
      • If you need to play an online music file, Agora does not recommend + using the redirected URL address. Some Android devices may fail to + open a redirected URL address.
      • +
      • If you call this method on an emulator, ensure that the music file + is in the /sdcard/ directory and the format is + MP3.
      • +
    • +
    + +
    Parameters - - - - - - filePath - -

    - - - - loopback - -

    Whether to only play music files on the local client:

      -
    • : Only play music files on the local client so that only the local user can hear the music.
    • -
    • : Publish music files to remote clients so that both the local user and remote users can hear the music.
    • -

    -
    -
    - - cycle - -

    The number of times the music file plays.

      -
    • ≥ 0: The number of playback times. For example, 0 means that the SDK does not play the music file while 1 means that the SDK plays once.
    • -
    • -1: Play the audio file in an infinite loop.
    • -

    -
    -
    -
    + + + + + + filePath + +

    + + + + loopback + +

    Whether to only play music files on the local client:

      +
    • : Only play music files on + the local client so that only the local user can hear the + music.
    • +
    • : Publish music files to + remote clients so that both the local user and remote users can + hear the music.
    • +

    +
    +
    + + cycle + +

    The number of times the music file plays.

      +
    • ≥ 0: The number of playback times. For example, 0 means that the + SDK does not play the music file while 1 means that the SDK + plays once.
    • +
    • -1: Play the audio file in an infinite loop.
    • +

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita index ebad6cc2262..081e022673d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiomixing2.dita @@ -1,104 +1,137 @@ - <ph keyref="startAudioMixing2" /> + <ph keyref="startAudioMixing2"/> Starts playing the music file. - +

    - public abstract int startAudioMixing(String filePath, boolean loopback, int cycle, int startPos); - - (int)startAudioMixing:(NSString* _Nonnull)filePath loopback:(BOOL)loopback cycle:(NSInteger)cycle startPos:(NSInteger)startPos; - virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startAudioMixing(String filePath, boolean loopback, int cycle, int startPos); + - (int)startAudioMixing:(NSString* _Nonnull)filePath loopback:(BOOL)loopback cycle:(NSInteger)cycle startPos:(NSInteger)startPos; + virtual int startAudioMixing(const char* filePath, bool loopback, int cycle, int startPos) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartAudioMixing(FString filePath, bool loopback, int cycle, int startPos = 0); - abstract startAudioMixing( + abstract startAudioMixing( filePath: string, loopback: boolean, cycle: number, startPos?: number ): number; - public abstract int StartAudioMixing(string filePath, bool loopback, int cycle, int startPos); - abstract startAudioMixing( + public abstract int StartAudioMixing(string filePath, bool loopback, int cycle, int startPos); + abstract startAudioMixing( filePath: string, loopback: boolean, cycle: number, startPos?: number ): number; - Future<void> startAudioMixing( + Future<void> startAudioMixing( {required String filePath, required bool loopback, required int cycle, int startPos = 0}); -

    +

    Details -

    This method mixes the specified local or online audio file with the audio from the microphone, or replaces the microphone's audio with the specified local or remote audio file. A successful method call triggers the () callback. When the audio mixing file playback finishes, the SDK triggers the () callback on the local client.

    -

    This method supports playing URI files starting with content://.

    +

    This method mixes the specified local or online audio file + with the audio from the microphone, or replaces the microphone's audio with the + specified local or remote audio file. A successful method call triggers the () callback. When the audio + mixing file playback finishes, the SDK triggers the () callback on the local + client.

    +

    This method supports playing URI files starting with + content://.

    -
      -
    • You can call this method either before or after joining a channel. If you need to call multiple times, ensure that the time interval between calling this method is more than 500 ms.
    • -
    • If the local music file does not exist, the SDK does not support the file format, or the the SDK cannot access the music file URL, the SDK reports 701.
    • -
    • For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
    • -
    • -
    • On Android, there are following considerations:
        -
      • To use this method, ensure that the Android device is v4.2 or later, and the API version is v16 or later.
      • -
      • If you need to play an online music file, Agora does not recommend using the redirected URL address. Some Android devices may fail to open a redirected URL address.
      • -
      • If you call this method on an emulator, ensure that the music file is in the /sdcard/ directory and the format is MP3.
      • -
    • -
    +
      +
    • You can call this method either before or after joining a channel. If you + need to call multiple times, ensure + that the time interval between calling this method is more than 500 ms.
    • +
    • If the local music file does not exist, the SDK does not support the file + format, or the the SDK cannot access the music file URL, the SDK reports + 701.
    • +
    • For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK + support.
    • +
    • +
    • On Android, there are following considerations:
        +
      • To use this method, ensure that the Android device is v4.2 or later, + and the API version is v16 or later.
      • +
      • If you need to play an online music file, Agora does not recommend + using the redirected URL address. Some Android devices may fail to + open a redirected URL address.
      • +
      • If you call this method on an emulator, ensure that the music file + is in the /sdcard/ directory and the format is + MP3.
      • +
    • +
    + +
    Parameters - - - - - - loopback - -

    Whether to only play music files on the local client:

      -
    • : Only play music files on the local client so that only the local user can hear the music.
    • -
    • : Publish music files to remote clients so that both the local user and remote users can hear the music.
    • -

    -
    -
    - - cycle - -

    The number of times the music file plays.

      -
    • ≥ 0: The number of playback times. For example, 0 means that the SDK does not play the music file while 1 means that the SDK plays once.
    • -
    • -1: Play the audio file in an infinite loop.
    • -

    -
    -
    - - startPos - The playback position (ms) of the music file. - -
    + + + + + + loopback + +

    Whether to only play music files on the local client:

      +
    • : Only play music files on + the local client so that only the local user can hear the + music.
    • +
    • : Publish music files to + remote clients so that both the local user and remote users can + hear the music.
    • +

    +
    +
    + + cycle + +

    The number of times the music file plays.

      +
    • ≥ 0: The number of playback times. For example, 0 means that the + SDK does not play the music file while 1 means that the SDK + plays once.
    • +
    • -1: Play the audio file in an infinite loop.
    • +

    +
    +
    + + startPos + The playback position (ms) of the music file. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -3: The SDK is not ready.
          -
        • The audio module is disabled.
        • -
        • The program is not complete.
        • -
        • The initialization of fails. Reinitialize the .
        • -
      • -
      -
    • +
    • 0: Success.
    • +
    • < 0: Failure.
        +
      • -1: A general error occurs (no specified reason).
      • +
      • -2: The parameter is invalid.
      • +
      • -3: The SDK is not ready.
          +
        • The audio module is disabled.
        • +
        • The program is not complete.
        • +
        • The initialization of fails. + Reinitialize the .
        • +
      • +
      +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita index 59309328e29..01f0b39fa52 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording.dita @@ -13,46 +13,61 @@

    - public abstract int startAudioRecording(String filePath, int quality); - - (int)startAudioRecording:(NSString * _Nonnull)filePath + public abstract int startAudioRecording(String filePath, int quality); + - (int)startAudioRecording:(NSString * _Nonnull)filePath quality:(AgoraAudioRecordingQuality)quality; - virtual int startAudioRecording(const char* filePath, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; - - public abstract int StartAudioRecording(string filePath, AUDIO_RECORDING_QUALITY_TYPE quality); - - -

    + virtual int startAudioRecording(const char* filePath, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; + + public abstract int StartAudioRecording(string filePath, AUDIO_RECORDING_QUALITY_TYPE quality); + + +

    Details - The sample rate of recording is 32 kHz by default and cannot be modified. -

    The Agora SDK allows recording during a call. This method records the audio of all the users in the channel and generates an audio recording file. Supported formats of the recording file are as follows:

      -
    • .wav: Large file size with high fidelity.
    • -
    • .aac: Small file size with low fidelity.
    • -

    -

    Ensure that the directory for the recording file exists and is writable. This method should be called after the method. The recording automatically stops when you call the method.

    + The sample rate of recording is 32 kHz by default and cannot be + modified. +

    The Agora SDK allows recording during a call. This method records the audio of all + the users in the channel and generates an audio recording file. Supported formats of + the recording file are as follows:

      +
    • .wav: Large file size with high fidelity.
    • +
    • .aac: Small file size with low fidelity.
    • +
    +

    +

    Ensure that the directory for the recording file exists and is writable. This method + should be called after the method. The recording + automatically stops when you call the method.

    Parameters - - - - - - quality - Audio recording quality. See .
      -
    • 0: Low quality. The sample rate is 32 kHz, and the file size is around 1.2 MB after 10 minutes of recording.
    • -
    • 1: Medium quality. The sample rate is 32 kHz, and the file size is around 2 MB after 10 minutes of recording.
    • -
    • 2: High quality. The sample rate is 32 kHz, and the file size is around 3.75 MB after 10 minutes of recording.
    • -
    -
    -
    + + + + + + quality + Audio recording quality. See + .
      +
    • 0: Low quality. The sample rate is 32 kHz, and the file size is + around 1.2 MB after 10 minutes of recording.
    • +
    • 1: Medium quality. The sample rate is 32 kHz, and the file size is + around 2 MB after 10 minutes of recording.
    • +
    • 2: High quality. The sample rate is 32 kHz, and the file size is + around 3.75 MB after 10 minutes of recording.
    • +
    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording2.dita index 58cbfb765db..103d8a9a9ed 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording2.dita @@ -2,7 +2,8 @@ <ph keyref="startAudioRecording2"/> - Starts audio recording on the client and sets the sample rate of recording. + Starts audio recording on the client and sets the + sample rate of recording. @@ -13,57 +14,72 @@

    - - - virtual int startAudioRecording(const char* filePath, + + + virtual int startAudioRecording(const char* filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; - - public abstract int StartAudioRecording(string filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality); - - -

    + + public abstract int StartAudioRecording(string filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality); + + +

    Details -

    The Agora SDK allows recording during a call. After successfully calling this method, you can record the audio of all the users in the channel and get an audio recording file. Supported formats of the recording file are as follows:

      -
    • .wav: Large file size with high fidelity.
    • -
    • .aac: Small file size with low fidelity.
    • -

    +

    The Agora SDK allows recording during a call. After successfully calling this method, + you can record the audio of all the users in the channel and get an audio recording + file. Supported formats of the recording file are as follows:

      +
    • .wav: Large file size with high fidelity.
    • +
    • .aac: Small file size with low fidelity.
    • +
    +

    -
      -
    • Ensure that the directory you use to save the recording file exists and is writable.
    • -
    • This method should be called after the method. The recording automatically stops when you call the method.
    • -
    • For better recording effects, set quality to or when sampleRate is 44.1 kHz or 48 kHz.
    • -
    +
      +
    • Ensure that the directory you use to save the recording file exists and is + writable.
    • +
    • This method should be called after the + method. The recording automatically stops when you call the method.
    • +
    • For better recording effects, set quality to or when + sampleRate is 44.1 kHz or 48 kHz.
    • +
    + +
    Parameters - - - - - - sampleRate - -

    The sample rate (kHz) of the recording file. Supported values are as follows:

      -
    • 16000
    • -
    • (Default) 32000
    • -
    • 44100
    • -
    • 48000
    • -

    -
    -
    - - quality - Recording quality. See . - -
    + + + + + + sampleRate + +

    The sample rate (kHz) of the recording file. Supported values are as follows:

      +
    • 16000
    • +
    • (Default) 32000
    • +
    • 44100
    • +
    • 48000
    • +
    +

    +
    +
    + + quality + Recording quality. See . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording3.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording3.dita index 02d98a7a911..dba9416d80b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording3.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startaudiorecording3.dita @@ -1,51 +1,67 @@ - <ph keyref="startAudioRecording3" /> - Starts audio recording on the client and sets recording configurations. + <ph keyref="startAudioRecording3"/> + Starts audio recording on the client and sets recording + configurations. - +

    - public abstract int startAudioRecording(AudioFileRecordingConfig config); - - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config; - virtual int startAudioRecording(const AudioFileRecordingConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startAudioRecording(AudioFileRecordingConfig config); + - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration * _Nonnull)config; + virtual int startAudioRecording(const AudioFileRecordingConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartAudioRecording(const FAudioRecordingConfiguration& config); - abstract startAudioRecording(config: AudioRecordingConfiguration): number; - public abstract int StartAudioRecording(AudioRecordingConfiguration config); - abstract startAudioRecording(config: AudioRecordingConfiguration): number; - Future<void> startAudioRecording(AudioRecordingConfiguration config); -

    + abstract startAudioRecording(config: AudioRecordingConfiguration): number; + public abstract int StartAudioRecording(AudioRecordingConfiguration config); + abstract startAudioRecording(config: AudioRecordingConfiguration): number; + Future<void> startAudioRecording(AudioRecordingConfiguration config); +

    Details -

    The Agora SDK allows recording during a call. After successfully calling this method, you can record the audio of users in the channel and get an audio recording file. Supported formats of the recording file are as follows:

      -
    • WAV: High-fidelity files with typically larger file sizes. For example, if the sample rate is 32,000 Hz, the file size for 10-minute recording is approximately 73 MB.
    • -
    • AAC: Low-fidelity files with typically smaller file sizes. For example, if the sample rate is 32,000 Hz and the recording quality is , the file size for 10-minute recording is approximately 2 MB.
    • -

    +

    The Agora SDK allows recording during a call. After successfully calling this method, + you can record the audio of users in the channel and get an audio recording file. + Supported formats of the recording file are as follows:

      +
    • WAV: High-fidelity files with typically larger file sizes. For example, if + the sample rate is 32,000 Hz, the file size for 10-minute recording is + approximately 73 MB.
    • +
    • AAC: Low-fidelity files with typically smaller file sizes. For example, if + the sample rate is 32,000 Hz and the recording quality is , the file size for 10-minute + recording is approximately 2 MB.
    • +

    Once the user leaves the channel, the recording automatically stops.

    - Call this method after joining a channel.
    + Call this method after joining a channel. +
    Parameters - - config - Recording configurations. See . - -
    + + config + Recording configurations. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita index 0bb75abab24..aa2505cf928 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startcameracapture.dita @@ -13,66 +13,88 @@

    - public abstract int startCameraCapture( + public abstract int startCameraCapture( Constants.VideoSourceType sourceType, CameraCapturerConfiguration config); - - (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|RtcEngineProxy") + - (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|RtcEngineProxy") int StartCameraCapture(EVIDEO_SOURCE_TYPE sourceType, const FCameraCapturerConfiguration& config); - abstract startCameraCapture( + abstract startCameraCapture( sourceType: VideoSourceType, config: CameraCapturerConfiguration ): number; - public abstract int StartCameraCapture(VIDEO_SOURCE_TYPE sourceType, CameraCapturerConfiguration config); - abstract startCameraCapture( + public abstract int StartCameraCapture(VIDEO_SOURCE_TYPE sourceType, CameraCapturerConfiguration config); + abstract startCameraCapture( sourceType: VideoSourceType, config: CameraCapturerConfiguration ): number; - Future<void> startCameraCapture( + Future<void> startCameraCapture( {required VideoSourceType sourceType, required CameraCapturerConfiguration config}); -

    +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    You can call this method to start capturing video from one or more cameras by specifying sourceType.

    - On the iOS platform, if you want to enable multi-camera capture, you need to call and set enabled to before calling this method. +

    You can call this method to start capturing video from one or more cameras by + specifying sourceType.

    + On the iOS platform, if you want to + enable multi-camera capture, you need to call and + set enabled to before + calling this method.
    Parameters - - sourceType - -

    The type of the video source. See .

    -
      -
    • On iOS devices, you can capture video from up to 2 cameras, provided the device has multiple cameras or supports external cameras.
    • -
    • On Android devices, you can capture video from up to 4 cameras, provided the device has multiple cameras or supports external cameras.
    • -
    • On the desktop platforms, you can capture video from up to 4 cameras.
    • -
    -
    -
    + + sourceType + +

    The type of the video source. See .

    +
      +
    • On iOS devices, you + can capture video from up to 2 cameras, provided the device has + multiple cameras or supports external cameras.
    • +
    • On Android + devices, you can capture video from up to 4 cameras, provided + the device has multiple cameras or supports external + cameras.
    • +
    • On the + desktop platforms, you can capture video from up to 4 + cameras.
    • +
    +
    +
    - - config - -

    The configuration of the video capture. See .

    - On the iOS platform, this parameter has no practical function. Use the config parameter in instead to set the video capture configuration.
    -
    -
    + + config + +

    The configuration of the video capture. See .

    + On the iOS platform, this + parameter has no practical function. Use the config + parameter in instead to set the video + capture configuration. +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startchannelmediarelay.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startchannelmediarelay.dita index 6d3d5b88888..02c9e62e8e4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startchannelmediarelay.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startchannelmediarelay.dita @@ -2,7 +2,9 @@ <ph keyref="startChannelMediaRelay"/> - Starts relaying media streams across channels. This method can be used to implement scenarios such as co-host across channels. + Starts relaying media streams across channels. This + method can be used to implement scenarios such as co-host across + channels. @@ -13,64 +15,91 @@

    - public abstract int startChannelMediaRelay( + public abstract int startChannelMediaRelay( ChannelMediaRelayConfiguration channelMediaRelayConfiguration); - - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; - virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; + virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartChannelMediaRelay(const FChannelMediaRelayConfiguration& configuration) __deprecated; - abstract startChannelMediaRelay( + abstract startChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - abstract startChannelMediaRelay( + public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + abstract startChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - Future<void> startChannelMediaRelay( + Future<void> startChannelMediaRelay( ChannelMediaRelayConfiguration configuration); -

    +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use instead.
    +
    -

    After a successful method call, the SDK triggers the and callbacks, and these callbacks return the state and events of the media stream relay.

      -
    • If the callback returns (2) and (0), and the callback returns (4), it means that the SDK starts relaying media streams between the source channel and the target channel.
    • -
    • If the callback returns (3), an exception occurs during the media stream relay.
    • -

    +

    After a successful method call, the SDK triggers the and callbacks, and these callbacks return the + state and events of the media stream relay.

      +
    • If the callback returns + (2) and (0), and the callback returns (4), it means that + the SDK starts relaying media streams between the source channel and the + target channel.
    • +
    • If the callback returns + (3), an exception occurs during + the media stream relay.
    • +
    +

    -
      -
    • Call this method after joining the channel.
    • -
    • This method takes effect only when you are a host in a live streaming channel.
    • -
    • After a successful method call, if you want to call this method again, ensure that you call the method to quit the current relay.
    • -
    • The relaying media streams across channels function needs to be enabled by contacting .
    • -
    • Agora does not support string user accounts in this API.
    • -
    +
      +
    • Call this method after joining the channel.
    • +
    • This method takes effect only when you are a host in a live streaming + channel.
    • +
    • After a successful method call, if you want to call this method again, + ensure that you call the method to + quit the current relay.
    • +
    • The relaying media streams across channels function needs to be enabled by + contacting .
    • +
    • Agora does not support string user accounts in this API.
    • +
    + +
    Parameters - - channelMediaRelayConfiguration - config - configuration - The configuration of the media stream relay. See . - -
    + + channelMediaRelayConfiguration + config + configuration + The configuration of the media stream relay. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -7: The method call was rejected. It may be because the SDK has not been initialized successfully, or the user role is not a host.
      • -
      • -8: Internal state error. Probably because the user is not a broadcaster.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
      +
    • -1: A general error occurs (no specified reason).
    • +
    • -2: The parameter is invalid.
    • +
    • -7: The method call was rejected. It may be because the SDK has not been + initialized successfully, or the user role is not a host.
    • +
    • -8: Internal state error. Probably because the user is not a + broadcaster.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startdirectcdnstreaming.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startdirectcdnstreaming.dita index 078b756ef81..38c7be03c0c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startdirectcdnstreaming.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startdirectcdnstreaming.dita @@ -1,77 +1,120 @@ - <ph keyref="startDirectCdnStreaming" /> - Starts pushing media streams to the CDN directly. + <ph keyref="startDirectCdnStreaming"/> + Starts pushing media streams to the CDN + directly. - + -
    -

    - public abstract int startDirectCdnStreaming(IDirectCdnStreamingEventHandler eventHandler, + +

    +

    + public abstract int startDirectCdnStreaming(IDirectCdnStreamingEventHandler eventHandler, String publishUrl, DirectCdnStreamingMediaOptions options); - - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate publishUrl:(NSString * _Nonnull)publishUrl mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options; - virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler, + - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate publishUrl:(NSString * _Nonnull)publishUrl mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options; + virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler, const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartDirectCdnStreaming(UIDirectCdnStreamingEventHandler* eventHandler, FString publishUrl, FDirectCdnStreamingMediaOptions& options); - abstract startDirectCdnStreaming( + abstract startDirectCdnStreaming( eventHandler: IDirectCdnStreamingEventHandler, publishUrl: string, options: DirectCdnStreamingMediaOptions ): number; - public abstract int StartDirectCdnStreaming(string publishUrl, DirectCdnStreamingMediaOptions options); - abstract startDirectCdnStreaming( + public abstract int StartDirectCdnStreaming(string publishUrl, DirectCdnStreamingMediaOptions options); + abstract startDirectCdnStreaming( eventHandler: IDirectCdnStreamingEventHandler, publishUrl: string, options: DirectCdnStreamingMediaOptions ): number; - Future<void> startDirectCdnStreaming( + Future<void> startDirectCdnStreaming( {required DirectCdnStreamingEventHandler eventHandler, required String publishUrl, required DirectCdnStreamingMediaOptions options}); -

    +

    Details

    Aogra does not support pushing media streams to one URL repeatedly.

    Media options

    -

    Agora does not support setting the value of publishCameraTrack and publishCustomVideoTrack as , or the value of publishMicrophoneTrack and publishCustomAudioTrack as at the same time. When choosing media setting options (), you can refer to the following examples:

    -

    If you want to push audio and video streams published by the host to the CDN, the media setting options should be set as follows:

    +

    Agora does not support setting the value of publishCameraTrack + and publishCustomVideoTrack as , or the value of publishMicrophoneTrack and + publishCustomAudioTrack as at the same time. When choosing media setting options (), you can refer to the following + examples:

    +

    If you want to push audio and video streams published by the host to the CDN, the + media setting options should be set as follows:

      -
    • publishCustomAudioTrack is set as and call the method
    • -
    • publishCustomAudioTrack is set as and call the or method
    • -
    • publishCustomVideoTrack is set as and call the method
    • -
    • publishCameraTrack is set as (the default value)
    • -
    • publishMicrophoneTrack is set as (the default value)
    • +
    • publishCustomAudioTrack is set as and call the + method
    • +
    • publishCustomAudioTrack is set as + and call the or method
    • +
    • publishCustomVideoTrack is set as and call the method
    • +
    • publishCameraTrack is set as (the default value)
    • +
    • publishMicrophoneTrack is set as (the default value)
    -

    As of v4.2.0, Agora SDK supports audio-only live streaming. You can set publishCustomAudioTrack or publishMicrophoneTrack in as and call to push audio streams. As of v4.2.0, Agora SDK supports audio-only live streaming. You can set publishCustomAudioTrack or publishMicrophoneTrack in as and call or to push audio streams.Agora only supports pushing one audio and video streams or one audio streams to CDN.

    +

    As of v4.2.0, Agora + SDK supports audio-only live streaming. You can set + publishCustomAudioTrack or + publishMicrophoneTrack in as and call + to push audio streams. As of v4.2.0, Agora SDK supports + audio-only live streaming. You can set + publishCustomAudioTrack or + publishMicrophoneTrack in as and call or + to push audio streams.Agora only + supports pushing one audio and video streams or one audio streams to + CDN.

    Parameters - - eventHandler - delegate - See and . - - - publishUrl - The CDN live streaming URL. - - - options - The media setting options for the host. See . - -
    + + eventHandler + delegate + See and . + + + publishUrl + The CDN live streaming URL. + + + options + The media setting options for the host. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startechotest.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startechotest.dita index 644c175cfe0..93db128c920 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startechotest.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startechotest.dita @@ -1,55 +1,69 @@ - <ph keyref="startEchoTest1" /> + + <ph keyref="startEchoTest1"/> + Starts an audio call test. - +

    - public abstract int startEchoTest(); - - (int)startEchoTest:(void(^ _Nullable) + public abstract int startEchoTest(); + - (int)startEchoTest:(void(^ _Nullable) (NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock; - virtual int startEchoTest() = 0; - abstract startEchoTest(intervalInSeconds?: number): number; - public abstract int StartEchoTest(); - -

    + virtual int startEchoTest() = 0; + abstract startEchoTest(intervalInSeconds?: number): number; + public abstract int StartEchoTest(); + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated, use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated, use instead.
    +
    -

    This method starts an audio call test to determine whether the audio devices (for example, headset and speaker) and the network connection are working properly. To conduct the test, the user speaks, and the recording is played back within 10 seconds. If the user can hear the recording within the interval, the audio devices and network connection are working properly.

    +

    This method starts an audio call test to determine whether the audio devices (for + example, headset and speaker) and the network connection are working properly. To + conduct the test, the user speaks, and the recording is played back within 10 + seconds. If the user can hear the recording within the interval, the audio devices + and network connection are working properly.

    -
      -
    • Call this method before joining a channel.
    • -
    • After calling , you must call to end the test. Otherwise, the app cannot perform the next echo test, and you cannot join the channel.
    • -
    • In the live streaming channels, only a host can call this method.
    • -
    +
      +
    • Call this method before joining a channel.
    • +
    • After calling , you must call to end the test. Otherwise, the app cannot + perform the next echo test, and you cannot join the channel.
    • +
    • In the live streaming channels, only a host can call this method.
    • +
    + +
    Parameters - - successBlock - The SDK triggers the successBlock callback if this method call is successful. - -
    + + successBlock + The SDK triggers the successBlock callback if this method call is + successful. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startechotest2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startechotest2.dita index 43c3d1c3418..f437a41b8d2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startechotest2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startechotest2.dita @@ -1,63 +1,83 @@ - <ph keyref="startEchoTest2" /> + + <ph keyref="startEchoTest2"/> + Starts an audio call test. - +

    - public abstract int startEchoTest(int intervalInSeconds); - - (int)startEchoTestWithInterval:(NSInteger)interval + public abstract int startEchoTest(int intervalInSeconds); + - (int)startEchoTestWithInterval:(NSInteger)interval successBlock:(void(^ _Nullable) (NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock; - virtual int startEchoTest(int intervalInSeconds) = 0; - abstract startEchoTest(intervalInSeconds?: number): number; - public abstract int StartEchoTest(int intervalInSeconds); - abstract startEchoTest(intervalInSeconds?: number): number; - Future<void> startEchoTest({int intervalInSeconds = 10}); -

    + virtual int startEchoTest(int intervalInSeconds) = 0; + abstract startEchoTest(intervalInSeconds?: number): number; + public abstract int StartEchoTest(int intervalInSeconds); + abstract startEchoTest(intervalInSeconds?: number): number; + Future<void> startEchoTest({int intervalInSeconds = 10}); +

    Details
    - -
    Deprecated:
    -
    This method is deprecated as of v4.0.1. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated as of v4.0.1. Use + instead.
    +
    -

    This method starts an audio call test to determine whether the audio devices (for example, headset and speaker) and the network connection are working properly. To conduct the test, let the user speak for a while, and the recording is played back within the set interval. If the user can hear the recording within the interval, the audio devices and network connection are working properly.

    +

    This method starts an audio call test to determine whether the audio devices (for + example, headset and speaker) and the network connection are working properly. To + conduct the test, let the user speak for a while, and the recording is played back + within the set interval. If the user can hear the recording within the interval, the + audio devices and network connection are working properly.

    -
      -
    • Call this method before joining a channel.
    • -
    • After calling , you must call to end the test. Otherwise, the app cannot perform the next echo test, and you cannot join the channel.
    • -
    • In the live streaming channels, only a host can call this method.
    • -
    +
      +
    • Call this method before joining a channel.
    • +
    • After calling , you must call to end the test. Otherwise, the app cannot + perform the next echo test, and you cannot join the channel.
    • +
    • In the live streaming channels, only a host can call this method.
    • +
    + +
    Parameters - - intervalInSeconds - interval - The time interval (s) between when you speak and when the recording plays back. The value range is [2, 10]. - - - successBlock - The SDK triggers the successBlock callback if this method call is successful. - -
    + + intervalInSeconds + interval + The time interval (s) between when you speak and when the recording plays + back. The value range is [2, 10]. + + + successBlock + The SDK triggers the successBlock callback if this method call is + successful. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startechotest3.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startechotest3.dita index fe79a874324..969a0acd02b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startechotest3.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startechotest3.dita @@ -13,40 +13,57 @@

    - public abstract int startEchoTest(EchoTestConfiguration config); - - (int)startEchoTestWithConfig:(AgoraEchoTestConfiguration* _Nonnull)config; - virtual int startEchoTest(const EchoTestConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startEchoTest(EchoTestConfiguration config); + - (int)startEchoTestWithConfig:(AgoraEchoTestConfiguration* _Nonnull)config; + virtual int startEchoTest(const EchoTestConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartEchoTest(const FEchoTestConfiguration& config); - abstract startEchoTest(config: EchoTestConfiguration): number; - public abstract int StartEchoTest(EchoTestConfiguration config); - abstract startEchoTest(config: EchoTestConfiguration): number; - Future<void> startEchoTest(EchoTestConfiguration config); -

    + abstract startEchoTest(config: EchoTestConfiguration): number; + public abstract int StartEchoTest(EchoTestConfiguration config); + abstract startEchoTest(config: EchoTestConfiguration): number; + Future<void> startEchoTest(EchoTestConfiguration config); +

    Details -

    To test whether the user's local sending and receiving streams are normal, you can call this method to perform an audio and video call loop test, which tests whether the audio and video devices and the user's upstream and downstream networks are working properly.

    -

    After starting the test, the user needs to make a sound or face the camera. The audio or video is output after about two seconds. If the audio playback is normal, the audio device and the user's upstream and downstream networks are working properly; if the video playback is normal, the video device and the user's upstream and downstream networks are working properly. -

      -
    • You can call this method either before or after joining a channel. When calling in a channel, make sure that no audio or video stream is being published.
    • -
    • After calling this method, call to end the test; otherwise, the user cannot perform the next audio and video call loop test and cannot join the channel.
    • -
    • In live streaming scenarios, this method only applies to hosts.
    • -

    +

    To test whether the user's local sending and receiving streams are normal, you can + call this method to perform an audio and video call loop test, which tests whether + the audio and video devices and the user's upstream and downstream networks are + working properly.

    +

    After starting the test, the user needs to make a sound or face the camera. The audio + or video is output after about two seconds. If the audio playback is normal, the + audio device and the user's upstream and downstream networks are working properly; + if the video playback is normal, the video device and the user's upstream and + downstream networks are working properly. +

      +
    • You can call this method either before or after joining a channel. When + calling in a channel, make sure that no audio or video stream is being + published.
    • +
    • After calling this method, call to end the + test; otherwise, the user cannot perform the next audio and video call + loop test and cannot join the channel.
    • +
    • In live streaming scenarios, this method only applies to hosts.
    • +
    +

    Parameters - - config - The configuration of the audio and video call loop test. See . - -
    + + config + The configuration of the audio and video call loop test. See . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita index c797eb732ca..fbf1eb5cc6c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startlastmileprobetest.dita @@ -1,59 +1,80 @@ - <ph keyref="startLastmileProbeTest" /> - Starts the last mile network probe test. + + <ph keyref="startLastmileProbeTest"/> + + Starts the last mile network probe + test. - +

    - public abstract int startLastmileProbeTest(LastmileProbeConfig config); - - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config; - virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startLastmileProbeTest(LastmileProbeConfig config); + - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config; + virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract startLastmileProbeTest(config: LastmileProbeConfig): number; + public abstract int StartLastmileProbeTest(LastmileProbeConfig config); + abstract startLastmileProbeTest(config: LastmileProbeConfig): number; + Future<void> startLastmileProbeTest(LastmileProbeConfig config); +

    Details -

    This method starts the last-mile network probe test before joining a channel to get the uplink and downlink last mile network statistics, including the bandwidth, packet loss, jitter, and round-trip time (RTT).

    +

    This method starts the last-mile network probe test before joining a channel to get + the uplink and downlink last mile network statistics, including the bandwidth, + packet loss, jitter, and round-trip time (RTT).

    Once this method is enabled, the SDK returns the following callbacks:

      -
    • : The SDK triggers this callback within two seconds depending on the network conditions. This callback rates the network conditions and is more closely linked to the user experience.
    • -
    • : The SDK triggers this callback within 30 seconds depending on the network conditions. This callback returns the real-time statistics of the network conditions and is more objective.
    • +
    • : The SDK triggers this callback within + two seconds depending on the network conditions. This callback rates the + network conditions and is more closely linked to the user experience.
    • +
    • : The SDK triggers this callback + within 30 seconds depending on the network conditions. This callback returns + the real-time statistics of the network conditions and is more + objective.

    -

    This method must be called before joining the channel, and is used to judge and predict whether the current uplink network quality is good enough.

    +

    This method must be called before joining the channel, and is used to judge and + predict whether the current uplink network quality is good enough.

      -
    • Do not call other methods before receiving the and callbacks. Otherwise, the callbacks may be interrupted.
    • -
    • A host should not call this method after joining a channel (when in a call).
    • +
    • Do not call other methods before receiving the and callbacks. Otherwise, the callbacks may be interrupted.
    • +
    • A host should not call this method after joining a channel (when in a + call).
    Parameters - - config - The configurations of the last-mile network probe test. See . - -
    + + config + The configurations of the last-mile network probe test. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita index 5fc97f6d9bd..01aa669598d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startlocalvideotranscoder.dita @@ -1,86 +1,137 @@ - <ph keyref="startLocalVideoTranscoder" /> + <ph keyref="startLocalVideoTranscoder"/> Starts the local video mixing. - +

    - public abstract int startLocalVideoTranscoder(LocalTranscoderConfiguration config); - - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalVideoTranscoder(_:)); - virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0; + public abstract int startLocalVideoTranscoder(LocalTranscoderConfiguration config); + - (int)startLocalVideoTranscoder:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(startLocalVideoTranscoder(_:)); + virtual int startLocalVideoTranscoder(const LocalTranscoderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartLocalVideoTranscoder(const FLocalTranscoderConfiguration& config); - abstract startLocalVideoTranscoder( + abstract startLocalVideoTranscoder( config: LocalTranscoderConfiguration ): number; - public abstract int StartLocalVideoTranscoder(LocalTranscoderConfiguration config); - abstract startLocalVideoTranscoder( + public abstract int StartLocalVideoTranscoder(LocalTranscoderConfiguration config); + abstract startLocalVideoTranscoder( config: LocalTranscoderConfiguration ): number; - Future<void> startLocalVideoTranscoder(LocalTranscoderConfiguration config); -

    + Future<void> startLocalVideoTranscoder(LocalTranscoderConfiguration config); +

    -

    After calling this method, you can merge multiple video streams into one video stream locally. For example, you can merge the video streams captured by the camera, screen sharing, media player, remote video, video files, images, etc. into one video stream, and then publish the mixed video stream to the channel.

    +

    After calling this method, you can merge multiple video streams into one video stream + locally. For example, you can merge the video streams captured by the camera, screen + sharing, media player, remote video, video files, images, etc. into one video + stream, and then publish the mixed video stream to the channel.

    - Applicable scenarios -

    You can enable the local video mixing function in scenarios such as remote conferences, live streaming, and online education, which allows users to view and manage multiple videos more conveniently, and supports portrait-in-picture effect and other functions.

    -

    The following is a typical use case for implementing the portrait-in-picture effect:

      -
    1. Call , and set the custom background image to , that is, separate the portrait and the background in the video captured by the camera.
    2. -
    3. Call to start capturing the screen sharing video stream.
    4. -
    5. Call this method and set the video source for capturing portraits as one of the video sources participating in the local video mixing, picture-in-picture of the portrait can be achived in the mixed video.
    6. + Applicable scenarios +

      You can enable the local video mixing function in scenarios such as remote + conferences, live streaming, and online education, which allows users to view and + manage multiple videos more conveniently, and supports portrait-in-picture effect + and other functions.

      +

      The following is a typical use case for implementing the portrait-in-picture effect:

        +
      1. Call , and set the custom background + image to , that is, separate the portrait + and the background in the video captured by the camera.
      2. +
      3. Call to start capturing the screen sharing + video stream.
      4. +
      5. Call this method and set the video source for capturing portraits as one of + the video sources participating in the local video mixing, + picture-in-picture of the portrait can be achived in the mixed video.

    Call timing
      -
    • If you need to mix the locally collected video streams, you need to call this method after or .
    • -
    • If you want to publish the mixed video stream to the channel, you need to set publishTranscodedVideoTrack in to when calling or .
    • +
    • If you need to mix the locally collected video streams, you need to call this + method after or .
    • +
    • If you want to publish the mixed video stream to the channel, you need to set + publishTranscodedVideoTrack in to when + calling or .
    Restrictions
      -
    • Local video mixing requires more CPU resources. Therefore, Agora recommends enabling this function on devices with higher performance.
    • -
    • If you need to mix locally captured video streams, the SDK supports the following capture combinations:
        -
      • On the Windows platform, it supports up to 4 video streams captured by cameras + 4 screen sharing streams.
      • -
      • On the macOS platform, it supports up to 4 video streams captured by cameras + 1 screen sharing stream.
      • -
      • On Android and iOS platforms, it supports video streams captured by up to 2 cameras (the device itself needs to support dual cameras or supports external cameras) + 1 screen sharing stream.
      • -
      • On the Android platform, it supports up to 2 video streams captured by cameras (the device itself needs to support dual cameras or support external cameras) + 1 screen sharing stream.
      • -
      • On the iOS platform, it supports up to 2 video streams captured by cameras (the device itself needs to support dual cameras or support external cameras) + 1 screen sharing stream.
    • -
    • When configuring the local video mixing, it is necessary to ensure that the layer number of the video stream capturing the portrait is greater than the layer number of the screen sharing stream. Otherwise, the portrait will be covered by the screen sharing and will not be displayed in the final mixed video stream.
    • +
    • Local video mixing requires more CPU resources. Therefore, Agora recommends + enabling this function on devices with higher performance.
    • +
    • If you need to mix locally captured video streams, the SDK supports the + following capture combinations:
        +
      • On the Windows platform, + it supports up to 4 video streams captured by cameras + 4 screen sharing + streams.
      • +
      • On the macOS platform, + it supports up to 4 video streams captured by cameras + 1 screen sharing + stream.
      • +
      • On Android and iOS platforms, it + supports video streams captured by up to 2 cameras (the device itself + needs to support dual cameras or supports external cameras) + 1 screen + sharing stream.
      • +
      • On the Android platform, it supports up to 2 video + streams captured by cameras (the device itself needs to support dual + cameras or support external cameras) + 1 screen sharing stream.
      • +
      • On the iOS platform, it supports up to 2 video streams + captured by cameras (the device itself needs to support dual cameras or + support external cameras) + 1 screen sharing stream.
      • +
    • +
    • When configuring the local video mixing, it is necessary to ensure that the + layer number of the video stream capturing the portrait is greater than the + layer number of the screen sharing stream. Otherwise, the portrait will be + covered by the screen sharing and will not be displayed in the final mixed video + stream.
    Parameters - - config - Configuration of the local video mixing, see .
      -
    • The maximum resolution of each video stream participating in the local video mixing is 4096 × 2160. If this limit is exceeded, video mixing does not take effect.
    • -
    • The maximum resolution of the mixed video stream is 4096 × 2160.
    -
    -
    + + config + Configuration of the local video mixing, see .
      +
    • The maximum resolution of each video stream participating in the + local video mixing is 4096 × 2160. If this limit is exceeded, + video mixing does not take effect.
    • +
    • The maximum resolution of the mixed video stream is 4096 × + 2160.
    • +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startmediarenderingtracing.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startmediarenderingtracing.dita index d1d915f7afd..a8366c0d3d1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startmediarenderingtracing.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startmediarenderingtracing.dita @@ -2,7 +2,8 @@ <ph keyref="startMediaRenderingTracing"/> - Enables tracing the video frame rendering process. + Enables tracing the video frame rendering + process. @@ -13,42 +14,64 @@

    - public abstract int startMediaRenderingTracing(); - - (int)startMediaRenderingTracing NS_SWIFT_NAME(startMediaRenderingTracing()); - virtual int startMediaRenderingTracing() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startMediaRenderingTracing(); + - (int)startMediaRenderingTracing NS_SWIFT_NAME(startMediaRenderingTracing()); + virtual int startMediaRenderingTracing() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartMediaRenderingTracing(); - abstract startMediaRenderingTracing(): number; - public abstract int StartMediaRenderingTracing(); - abstract startMediaRenderingTracing(): number; - Future<void> startMediaRenderingTracing();

    + abstract startMediaRenderingTracing(): number; + public abstract int StartMediaRenderingTracing(); + abstract startMediaRenderingTracing(): number; + Future<void> startMediaRenderingTracing(); +

    Details
    - -
    Since
    -
    v4.1.1
    -
    + +
    Since
    +
    v4.1.1
    +
    -

    The SDK starts tracing the rendering status of the video frames in the channel from the moment this method is successfully called and reports information about the event through the callback.

    +

    The SDK starts tracing the rendering status of the video frames in the + channel from the moment this method is successfully called and reports information + about the event through the + callback.

    -
      -
    • By default, the SDK starts tracing the video rendering event automatically when the local user successfully joins the channel. You can call this method at an appropriate time according to the actual application scenario to customize the tracing process.
    • -
    • After the local user leaves the current channel, the SDK automatically resets the time point to the next time when the user successfully joins the channel.
    • -
    +
      +
    • By default, the SDK starts tracing the video rendering event automatically + when the local user successfully joins the channel. You can call this method + at an appropriate time according to the actual application scenario to + customize the tracing process.
    • +
    • After the local user leaves the current channel, the SDK automatically + resets the time point to the next time when the user successfully joins the + channel.
    • +
    + +
    Applicable scenarios -

    Agora recommends that you use this method in conjunction with the UI settings (such as buttons and sliders) in your app to improve the user experience. For example, call this method when the user clicks the Join Channel button, and then get the indicators in the video frame rendering process through the callback, so as to optimize the indicators accordingly.

    +

    Agora recommends that you use this method in conjunction with the UI settings (such + as buttons and sliders) in your app to improve the user experience. For example, + call this method when the user clicks the Join Channel button, and then get + the indicators in the video frame rendering process through the callback, so as to optimize the + indicators accordingly.

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -7: The method is called before is initialized.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -7: The method is called before is + initialized.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startorupdatechannelmediarelay.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startorupdatechannelmediarelay.dita index f3cdf5e7eff..6098d37a921 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startorupdatechannelmediarelay.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startorupdatechannelmediarelay.dita @@ -2,7 +2,8 @@ <ph keyref="startOrUpdateChannelMediaRelay"/> - Starts relaying media streams across channels or updates channels for media relay. + Starts relaying media streams across channels or + updates channels for media relay. @@ -13,63 +14,89 @@

    - public abstract int startOrUpdateChannelMediaRelay( + public abstract int startOrUpdateChannelMediaRelay( ChannelMediaRelayConfiguration channelMediaRelayConfiguration); - - (int)startOrUpdateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(startOrUpdateChannelMediaRelay(_:)); - virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startOrUpdateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config NS_SWIFT_NAME(startOrUpdateChannelMediaRelay(_:)); + virtual int startOrUpdateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartOrUpdateChannelMediaRelay(const FChannelMediaRelayConfiguration& configuration); - abstract startOrUpdateChannelMediaRelay( + abstract startOrUpdateChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - public abstract int StartOrUpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - abstract startOrUpdateChannelMediaRelay( + public abstract int StartOrUpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + abstract startOrUpdateChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - Future<void> startOrUpdateChannelMediaRelay( + Future<void> startOrUpdateChannelMediaRelay( ChannelMediaRelayConfiguration configuration); -

    +

    Details
    - -
    Since
    -
    v4.2.0
    -
    -

    The first successful call to this method starts relaying media streams from the source channel to the destination channels. To relay the media stream to other channels, or exit one of the current media relays, you can call this method again to update the destination channels. This feature supports relaying media streams to a maximum of six destination channels.

    -

    After a successful method call, the SDK triggers the callback, and this callback returns the state of the media stream relay. Common states are as follows:

      -
    • If the callback returns (2) and (0), it means that the SDK starts relaying media streams from the source channel to the destination channel.
    • -
    • If the callback returns (3), an exception occurs during the media stream relay.
    • -

    + +
    Since
    +
    v4.2.0
    +
    + +

    The first successful call to this method starts relaying media streams from the + source channel to the destination channels. To relay the media stream to other + channels, or exit one of the current media relays, you can call this method again to + update the destination channels. This feature supports relaying media streams to a + maximum of six destination channels.

    +

    After a successful method call, the SDK triggers the callback, and this callback returns + the state of the media stream relay. Common states are as follows:

      +
    • If the callback returns + (2) and (0), it means that the SDK starts relaying media + streams from the source channel to the destination channel.
    • +
    • If the callback returns + (3), an exception occurs during + the media stream relay.
    • +
    +

    -
      -
    • Call this method after joining the channel.
    • -
    • This method takes effect only when you are a host in a live streaming channel.
    • -
    • The relaying media streams across channels function needs to be enabled by contacting .
    • -
    • Agora does not support string user accounts in this API.
    • -
    +
      +
    • Call this method after joining the channel.
    • +
    • This method takes effect only when you are a host in a live streaming + channel.
    • +
    • The relaying media streams across channels function needs to be enabled by + contacting .
    • +
    • Agora does not support string user accounts in this API.
    • +
    + +
    Parameters - - channelMediaRelayConfiguration - config - configuration - The configuration of the media stream relay. See . - -
    + + channelMediaRelayConfiguration + config + configuration + The configuration of the media stream relay. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -7: The method call was rejected. It may be because the SDK has not been initialized successfully, or the user role is not a host.
      • -
      • -8: Internal state error. Probably because the user is not a broadcaster.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -1: A general error occurs (no specified reason).
    • +
    • -2: The parameter is invalid.
    • +
    • -7: The method call was rejected. It may be because the SDK has not been + initialized successfully, or the user role is not a host.
    • +
    • -8: Internal state error. Probably because the user is not a + broadcaster.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startpreview.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startpreview.dita index 01e6f1d93e7..4fef27e713e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startpreview.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startpreview.dita @@ -1,44 +1,59 @@ - <ph keyref="startPreview" /> + <ph keyref="startPreview"/> Enables the local video preview. - +

    - public abstract int startPreview(); - - (int)startPreview; - virtual int startPreview() = 0; - abstract startPreviewWithoutSourceType(): number; - public abstract int StartPreview(); - abstract startPreviewWithoutSourceType(): number; - Future<void> startPreviewWithoutSourceType();

    + public abstract int startPreview(); + - (int)startPreview; + virtual int startPreview() = 0; + abstract startPreviewWithoutSourceType(): number; + public abstract int StartPreview(); + abstract startPreviewWithoutSourceType(): number; + Future<void> startPreviewWithoutSourceType(); +

    Details -

    You can call this method to enable local video preview. Call this method after the following:

      -
    • Call to initialize the local preview.
    • -
    • Call to enable the video module.
    • -

    +

    You can call this method to enable local video preview. Call this method + after the following:

      +
    • Call to initialize the local preview.
    • +
    • Call to enable the video module.
    • +

    -
      -
    • The local preview enables the mirror mode by default.
    • -
    • After the local video preview is enabled, if you call to exit the channel, the local preview remains until you call to disable it.
    • -
    • After the local video preview is enabled, if you call to exit the channel, the local preview remains until you call to disable it.
    • -
    +
      +
    • The local preview enables the mirror mode by default.
    • +
    • After the local video preview is enabled, if you + call to exit the channel, the local preview + remains until you call to disable it.
    • +
    • After the local video preview is enabled, if + you call to exit the channel, the local + preview remains until you call to disable + it.
    • +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startpreview2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startpreview2.dita index 43fa40a7621..81cb6562435 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startpreview2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startpreview2.dita @@ -1,30 +1,31 @@ - <ph keyref="startPreview2" /> - Enables the local video preview and specifies the video source for the preview. + <ph keyref="startPreview2"/> + Enables the local video preview and specifies the video + source for the preview. - +

    - public abstract int startPreview(Constants.VideoSourceType sourceType); + public abstract int startPreview(Constants.VideoSourceType sourceType); - - (int)startPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(startPreview(_:)); - virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(startPreview(_:)); + virtual int startPreview(VIDEO_SOURCE_TYPE sourceType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartPreview(EVIDEO_SOURCE_TYPE sourceType = EVIDEO_SOURCE_TYPE::VIDEO_SOURCE_CAMERA_PRIMARY); - abstract startPreview(sourceType?: VideoSourceType): number; - public abstract int StartPreview(VIDEO_SOURCE_TYPE sourceType); - abstract startPreview(sourceType?: VideoSourceType): number; - Future<void> startPreview( + abstract startPreview(sourceType?: VideoSourceType): number; + public abstract int StartPreview(VIDEO_SOURCE_TYPE sourceType); + abstract startPreview(sourceType?: VideoSourceType): number; + Future<void> startPreview( {VideoSourceType sourceType = VideoSourceType.videoSourceCameraPrimary}); -

    +

    Details @@ -33,28 +34,40 @@
    Since
    v4.2.2
    - -

    + +

    -

      -
    • The local preview enables the mirror mode by default.
    • -
    • After the local video preview is enabled, if you call to exit the channel, the local preview remains until you call to disable it.
    • -
    • The video source type set in this method needs to be consistent with the video source type of you set in .
    • -
    +
      +
    • The local preview enables the mirror mode by default.
    • +
    • After the local video preview is enabled, if you call to exit the channel, the local preview remains + until you call to disable it.
    • +
    • The video source type set + in this method needs to be consistent with the video source type of you set in .
    • +
    + +
    Parameters - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startprimarycameracapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startprimarycameracapture.dita index 8f19b160adb..2389d57f126 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startprimarycameracapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startprimarycameracapture.dita @@ -1,48 +1,54 @@ - <ph keyref="startPrimaryCameraCapture" /> - Starts video capture with a primary camera. + <ph keyref="startPrimaryCameraCapture"/> + Starts video capture with a primary + camera. - +

    - - - virtual int startPrimaryCameraCapture(const CameraCapturerConfiguration& config) = 0; + + + virtual int startPrimaryCameraCapture(const CameraCapturerConfiguration& config) = 0; - abstract startPrimaryCameraCapture( + abstract startPrimaryCameraCapture( config: CameraCapturerConfiguration ): number; - public abstract int StartPrimaryCameraCapture(CameraCapturerConfiguration config); - abstract startPrimaryCameraCapture( + public abstract int StartPrimaryCameraCapture(CameraCapturerConfiguration config); + abstract startPrimaryCameraCapture( config: CameraCapturerConfiguration ): number; - Future<void> startPrimaryCameraCapture(CameraCapturerConfiguration config); -

    + Future<void> startPrimaryCameraCapture(CameraCapturerConfiguration config); +

    Parameters - - config - -

    The configuration of the video capture. See .

    -
    -
    -
    + + config + +

    The configuration of the video capture. See .

    +
    +
    + +
    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; you need to catch the + exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startprimarycustomaudiotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startprimarycustomaudiotrack.dita index c46fe18422d..c472c0701df 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startprimarycustomaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startprimarycustomaudiotrack.dita @@ -2,36 +2,37 @@ startPrimaryCustomAudioTrack - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startprimaryscreencapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startprimaryscreencapture.dita index 9a083cfb713..86da29465bf 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startprimaryscreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startprimaryscreencapture.dita @@ -1,50 +1,55 @@ - <ph keyref="startPrimaryScreenCapture" /> + <ph keyref="startPrimaryScreenCapture"/> Starts sharing the primary screen. - +

    - - - virtual int startPrimaryScreenCapture(const ScreenCaptureConfiguration& config) = 0; + + + virtual int startPrimaryScreenCapture(const ScreenCaptureConfiguration& config) = 0; - abstract startPrimaryScreenCapture( + abstract startPrimaryScreenCapture( config: ScreenCaptureConfiguration ): number; - public abstract int StartPrimaryScreenCapture(ScreenCaptureConfiguration config); - abstract startPrimaryScreenCapture( + public abstract int StartPrimaryScreenCapture(ScreenCaptureConfiguration config); + abstract startPrimaryScreenCapture( config: ScreenCaptureConfiguration ): number; - Future<void> startPrimaryScreenCapture(ScreenCaptureConfiguration config); -

    + Future<void> startPrimaryScreenCapture(ScreenCaptureConfiguration config); +

    Parameters - - config - -

    The configuration of the captured screen. See .

    -
    -
    -
    + + config + +

    The configuration of the captured screen. See .

    +
    +
    + +
    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; you need to catch the + exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startrecording.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startrecording.dita index 9ba064266ec..745c4842405 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startrecording.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startrecording.dita @@ -1,53 +1,73 @@ - <ph keyref="startRecording" /> - Starts recording the local audio and video. + <ph keyref="startRecording"/> + Starts recording the local audio and + video. - +

    - - - virtual int startRecording(const MediaRecorderConfiguration& config) = 0; - abstract startRecording(config: MediaRecorderConfiguration): number; - public abstract int StartRecording(MediaRecorderConfiguration config); - abstract startRecording(config: MediaRecorderConfiguration): number; - -

    + + + virtual int startRecording(const MediaRecorderConfiguration& config) = 0; + abstract startRecording(config: MediaRecorderConfiguration): number; + public abstract int StartRecording(MediaRecorderConfiguration config); + abstract startRecording(config: MediaRecorderConfiguration): number; + +

    Details -

    After successfully getting the object, you can all this method to enable the recoridng of the local audio and video.

    -

    This method can record the audio captured by the local microphone and encoded in AAC format and the video captured by the local camera and encoded by the SDK. The SDK can generate a recording file only when it detects the recordable audio and video streams; when there are no audio and video streams to be recorded or the audio and video streams are interrupted for more than five seconds, the SDK stops recording and triggers the (, ) callback.

    - Call this method after joining a channel.
    +

    After successfully getting the object, you can all this method to enable the + recoridng of the local audio and video.

    +

    This method can record the audio captured by the local microphone and encoded in AAC + format and the video captured by the local camera and encoded by the SDK. The SDK + can generate a recording file only when it detects the recordable audio and video + streams; when there are no audio and video streams to be recorded or the audio and + video streams are interrupted for more than five seconds, the SDK stops recording + and triggers the (, ) + callback.

    + Call this method after joining a channel. +
    Parameters - - config - The recording configuration. See . - -
    + + config + The recording configuration. See . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
        -
      • -2 (ERR_INVALID_ARGUMENT): The parameter is invalid. Ensure the following:
          -
        • The specified path of the recording file exists and is writable.
        • -
        • The specified format of the recording file is supported.
        • -
        • The maximum recording duration is correctly set.
        • +
        • 0: Success.
        • +
        • < 0: Failure.
            +
          • -2 (ERR_INVALID_ARGUMENT): The parameter is invalid. Ensure the following:
              +
            • The specified path of the recording file exists and is + writable.
            • +
            • The specified format of the recording file is supported.
            • +
            • The maximum recording duration is correctly set.
            • +
          • +
          • -4(ERR_NOT_SUPPORTED): does not support the + request due to one of the following reasons: The recording is ongoing or + the recording stops because an error occurs.
          • +
          • -7(ERR_NOT_INITIALIZED): This method is called before the initialization + of . Ensure + that you have called before + calling this method.
        • -
        • -4(ERR_NOT_SUPPORTED): does not support the request due to one of the following reasons: The recording is ongoing or the recording stops because an error occurs.
        • -
        • -7(ERR_NOT_INITIALIZED): This method is called before the initialization of . Ensure that you have called before calling this method.
        • -
      • -
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita index 7c73fd9be2e..b16924d7da1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startrhythmplayer.dita @@ -13,64 +13,98 @@

    - public abstract int startRhythmPlayer( + public abstract int startRhythmPlayer( String sound1, String sound2, AgoraRhythmPlayerConfig config); - - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config; - virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config; + virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRhythmPlayer(FString sound1, FString sound2, const FAgoraRhythmPlayerConfig& config); - abstract startRhythmPlayer( + abstract startRhythmPlayer( sound1: string, sound2: string, config: AgoraRhythmPlayerConfig ): number; - public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config); - abstract startRhythmPlayer( + public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config); + abstract startRhythmPlayer( sound1: string, sound2: string, config: AgoraRhythmPlayerConfig ): number; - Future<void> startRhythmPlayer( + Future<void> startRhythmPlayer( {required String sound1, required String sound2, required AgoraRhythmPlayerConfig config}); -

    +

    Details -

    In music education, physical education and other scenarios, teachers usually need to use a metronome so that students can practice with the correct beat. The meter is composed of a downbeat and upbeats. The first beat of each measure is called a downbeat, and the rest are called upbeats.

    -

    In this method, you need to set the file path of the upbeat and downbeat, the number of beats per measure, the beat speed, and whether to send the sound of the metronome to remote users.

    -

    After successfully calling this method, the SDK triggers the callback locally to report the status of the virtual metronome.

    +

    In music education, physical education and other scenarios, teachers usually need to + use a metronome so that students can practice with the correct beat. The meter is + composed of a downbeat and upbeats. The first beat of each measure is called a + downbeat, and the rest are called upbeats.

    +

    In this method, you need to set the file path of the upbeat and downbeat, the number + of beats per measure, the beat speed, and whether to send the sound of the metronome + to remote users.

    +

    After successfully calling this method, the SDK triggers the callback locally to report the status of + the virtual metronome.

    -
      -
    • This method is for Android and iOS only.
    • -
    • After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in . For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
    • -
    • By default, the sound of the virtual metronome is published in the channel. If you do not want the sound to be heard by the remote users, you can set publishRhythmPlayerTrack in as .
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • After enabling the virtual metronome, the SDK plays the specified audio + effect file from the beginning, and controls the playback duration of each + file according to beatsPerMinute you set in . For example, if you set + beatsPerMinute as 60, the SDK + plays one beat every second. If the file duration exceeds the beat duration, + the SDK only plays the audio within the beat duration.
    • +
    • By default, the sound of the virtual metronome is published in the channel. + If you do not want the sound to be heard by the remote users, you can set + publishRhythmPlayerTrack in as .
    • +
    +
    Parameters - - sound1 - The absolute path or URL address (including the filename extensions) of the file for the downbeat. For example, . For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support. - - - sound2 - The absolute path or URL address (including the filename extensions) of the file for the upbeats. For example, . For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support. - - - config - The metronome configuration. See . - -
    + + sound1 + The absolute path or URL address (including the filename extensions) of the + file for the downbeat. For example, . For the audio file formats supported by this method, see + What formats of audio files does the Agora + RTC SDK support. + + + sound2 + The absolute path or URL address (including the filename extensions) of the + file for the upbeats. For example, . For the audio file formats supported by this method, see + What formats of audio files does the Agora + RTC SDK support. + + + config + The metronome configuration. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure.
        -
      • -22: Cannot find audio effect files. Please set the correct paths for sound1 and sound2.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
      +
    • -22: Cannot find audio effect files. Please set the correct paths for + sound1 and sound2.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita index 5dd7d7186c3..3877e6c7676 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithouttranscoding.dita @@ -1,8 +1,11 @@ - <ph keyref="startRtmpStreamWithoutTranscoding"/> - Starts pushing media streams to a CDN without transcoding. + + <ph keyref="startRtmpStreamWithoutTranscoding"/> + + Starts pushing media streams to a CDN without + transcoding. @@ -13,31 +16,38 @@

    - public abstract int startRtmpStreamWithoutTranscoding(String url); - - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url; - virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startRtmpStreamWithoutTranscoding(String url); + - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url; + virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRtmpStreamWithoutTranscoding(FString url); - abstract startRtmpStreamWithoutTranscoding(url: string): number; - public abstract int StartRtmpStreamWithoutTranscoding(string url); - abstract startRtmpStreamWithoutTranscoding(url: string): number; - Future<void> startRtmpStreamWithoutTranscoding(String url); -

    + abstract startRtmpStreamWithoutTranscoding(url: string): number; + public abstract int StartRtmpStreamWithoutTranscoding(string url); + abstract startRtmpStreamWithoutTranscoding(url: string): number; + Future<void> startRtmpStreamWithoutTranscoding(String url); +

    Details -

    Agora recommends that you use the server-side Media Push function. For details, see Use RESTful API.

    -

    You can call this method to push an audio or video stream to the specified CDN address. This method can push media streams to only one CDN address at a time, so if you need to push streams to multiple addresses, call this method multiple times.

    -

    After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

    -
    +

    Agora recommends that you use the server-side Media Push function. For details, see + Use RESTful API.

    +

    You can call this method to push an audio or video stream to the specified CDN + address. This method can push media streams to only one CDN address at a time, so if + you need to push streams to multiple addresses, call this method multiple times.

    +

    After you call this method, the SDK triggers the callback on the local client to report + the state of the streaming.

    + +
    Parameters - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita index 57b838100bc..c0f80db4b75 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startrtmpstreamwithtranscoding.dita @@ -1,8 +1,11 @@ - <ph keyref="startRtmpStreamWithTranscoding"/> - Starts Media Push and sets the transcoding configuration. + + <ph keyref="startRtmpStreamWithTranscoding"/> + + Starts Media Push and sets the transcoding + configuration. @@ -13,60 +16,84 @@

    - public abstract int startRtmpStreamWithTranscoding(String url, LiveTranscoding transcoding); - - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding; - virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startRtmpStreamWithTranscoding(String url, LiveTranscoding transcoding); + - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding; + virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRtmpStreamWithTranscoding(FString url, FLiveTranscoding& transcoding); - abstract startRtmpStreamWithTranscoding( + abstract startRtmpStreamWithTranscoding( url: string, transcoding: LiveTranscoding ): number; - public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); - abstract startRtmpStreamWithTranscoding( + public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); + abstract startRtmpStreamWithTranscoding( url: string, transcoding: LiveTranscoding ): number; - Future<void> startRtmpStreamWithTranscoding( + Future<void> startRtmpStreamWithTranscoding( {required String url, required LiveTranscoding transcoding}); -

    +

    Details -

    Agora recommends that you use the server-side Media Push function. For details, see Use RESTful API.

    -

    You can call this method to push a live audio-and-video stream to the specified CDN address and set the transcoding configuration. This method can push media streams to only one CDN address at a time, so if you need to push streams to multiple addresses, call this method multiple times.

    -

    Under one Agora project, the maximum number of concurrent tasks to push media streams is 200 by default. If you need a higher quota, contact .

    -

    After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

    +

    Agora recommends that you use the server-side Media Push function. For details, see + Use RESTful API.

    +

    You can call this method to push a live audio-and-video stream to the specified CDN + address and set the transcoding configuration. This method can push media streams to + only one CDN address at a time, so if you need to push streams to multiple + addresses, call this method multiple times.

    +

    Under one Agora project, the maximum number of concurrent tasks to push media streams + is 200 by default. If you need a higher quota, contact .

    +

    After you call this method, the SDK triggers the callback on the local client to report + the state of the streaming.

    -
      -
    • Call this method after joining a channel.
    • -
    • Only hosts in the LIVE_BROADCASTING profile can call this method.
    • -
    • If you want to retry pushing streams after a failed push, make sure to call first, then call this method to retry pushing streams; otherwise, the SDK returns the same error code as the last failed push.
    • -
    +
      +
    • Call this method after joining a channel.
    • +
    • Only hosts in the LIVE_BROADCASTING profile can call this method.
    • +
    • If you want to retry pushing streams after a failed push, make sure to call + first, then call this method to retry + pushing streams; otherwise, the SDK returns the same error code as the last + failed push.
    • +
    + +
    Parameters - - url - The address of Media Push. The format is RTMP or RTMPS. The character length cannot exceed 1024 bytes. Special characters such as Chinese characters are not supported. - - - transcoding - -

    The transcoding configuration for Media Push. See .

    -
    -
    -
    + + url + The address of Media Push. The format is RTMP or RTMPS. The character length + cannot exceed 1024 bytes. Special characters such as Chinese characters are + not supported. + + + transcoding + +

    The transcoding configuration for Media Push. See .

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The URL or configuration of transcoding is invalid; check your URL and transcoding configurations.
      • -
      • -7: The SDK is not initialized before calling this method.
      • -
      • -19: The Media Push URL is already in use; use another URL instead.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: The URL or configuration of transcoding is invalid; check your URL + and transcoding configurations.
    • +
    • -7: The SDK is not initialized before calling this method.
    • +
    • -19: The Media Push URL is already in use; use another URL instead.
    • +
    +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita index 58e424e6e3d..2d0de23fd8a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture.dita @@ -13,62 +13,118 @@

    - public abstract int startScreenCapture(ScreenCaptureParameters screenCaptureParameters); + public abstract int startScreenCapture(ScreenCaptureParameters screenCaptureParameters); - - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:)); - #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) + - (int)startScreenCapture:(AgoraScreenCaptureParameters2* _Nullable)parameters NS_SWIFT_NAME(startScreenCapture(_:)); + #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) virtual int startScreenCapture(const ScreenCaptureParameters2& captureParams) = 0; #endif - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartScreenCapture(const FScreenCaptureParameters2& captureParams); - abstract startScreenCapture(captureParams: ScreenCaptureParameters2): number; - public abstract int StartScreenCapture(ScreenCaptureParameters2 captureParams); - abstract startScreenCapture(captureParams: ScreenCaptureParameters2): number; - Future<void> startScreenCapture(ScreenCaptureParameters2 captureParams); -

    + abstract startScreenCapture(captureParams: ScreenCaptureParameters2): number; + public abstract int StartScreenCapture(ScreenCaptureParameters2 captureParams); + abstract startScreenCapture(captureParams: ScreenCaptureParameters2): number; + Future<void> startScreenCapture(ScreenCaptureParameters2 captureParams); +

    Details -

    There are two options for enabling screen sharing. You can choose the one that best suits your specific scenario:

      -
    • Call this method before joining a channel, then call to join channel and set publishScreenCaptureVideo to to start screen sharing.
    • -
    • Call this method after joining a channel, then call and set publishScreenCaptureVideo to to start screen sharing.
    • -

    -

    When the state of the screen sharing extension process changes, the SDK triggers the callback accordingly. When the type of sourceType is , the state parameter indicates the state of the screen sharing.

    +

    There are two + options for enabling screen sharing. You can choose the one that best suits your + specific scenario:

      +
    • Call this method before joining a channel, then call to join channel and set + publishScreenCaptureVideo to to start screen sharing.
    • +
    • Call this method after joining a channel, then call and set + publishScreenCaptureVideo to to start screen sharing.
    • +

    +

    When the state of the screen sharing extension process changes, the SDK + triggers the callback accordingly. When + the type of sourceType is , the state parameter indicates the state of the screen + sharing.

    -
      -
    • This method applies to Android and iOS only.
    • -
    • On the iOS platform, screen sharing is only available on iOS 12.0 and later.
    • -
    • The billing for the screen sharing stream is based on the dimensions in . When you do not pass in a value, Agora bills you at 1280 × 720; when you pass a value in, Agora bills you at that value. For billing details, see .
    • -
    • If you are using the custom audio source instead of the SDK to capture audio, Agora recommends you add the keep-alive processing logic to your application to avoid screen sharing stopping when the application goes to the background.
    • -
    • This feature requires high-performance device, and Agora recommends that you use it on iPhone X and later models.
    • -
    • This method relies on the iOS screen sharing dynamic library AgoraReplayKitExtension.xcframework. If the dynamic library is deleted, screen sharing cannot be enabled normally.
    • -
    • On the Android platform, if the user has not granted the app screen capture permission, the SDK reports the (2) callback.
    • -
    • On Android 9 and later, to avoid the application being killed by the system after going to the background, Agora recommends you add the foreground service android.permission.FOREGROUND_SERVICE to the /app/Manifests/AndroidManifest.xml file.
    • -
    • Due to performance limitations, screen sharing is not supported on Android TV.
    • -
    • Due to system limitations, if you are using Huawei phones, do not adjust the video encoding resolution of the screen sharing stream during the screen sharing, or you could experience crashes.
    • -
    • Due to system limitations, some Xiaomi devices do not support capturing system audio during screen sharing.
    • -
    • To avoid system audio capture failure when screen sharing, Agora recommends that you set the audio application scenario to by using the method before joining the channel.
    • -
    +
      +
    • This method applies to Android and + iOS only.
    • +
    • On the iOS platform, screen + sharing is only available on iOS 12.0 and later.
    • +
    • The billing for the screen + sharing stream is based on the dimensions in . When you do not pass in a value, Agora + bills you at 1280 × 720; when you pass a value in, Agora bills you at that + value. For billing details, see .
    • +
    • If you are using the custom + audio source instead of the SDK to capture audio, Agora recommends you add + the keep-alive processing logic to your application to avoid screen sharing + stopping when the application goes to the background.
    • +
    • This feature requires + high-performance device, and Agora recommends that you use it on iPhone X + and later models.
    • +
    • This method relies on the iOS + screen sharing dynamic library + AgoraReplayKitExtension.xcframework. If the dynamic + library is deleted, screen sharing cannot be enabled normally.
    • +
    • On the Android platform, + if the user has not granted the app screen capture permission, the SDK + reports the (2) + callback.
    • +
    • On Android 9 and later, to + avoid the application being killed by the system after going to the + background, Agora recommends you add the foreground service + android.permission.FOREGROUND_SERVICE to the + /app/Manifests/AndroidManifest.xml file.
    • +
    • Due to performance + limitations, screen sharing is not supported on Android TV.
    • +
    • Due to system limitations, + if you are using Huawei phones, do not adjust the video encoding resolution + of the screen sharing stream during the screen sharing, or you could + experience crashes.
    • +
    • Due to system limitations, + some Xiaomi devices do not support capturing system audio during screen + sharing.
    • +
    • To avoid system audio + capture failure when screen sharing, Agora recommends that you set the audio + application scenario to by + using the method before joining the + channel.
    • +
    +
    Parameters - - parameters - screenCaptureParameters - captureParams - The screen sharing encoding parameters. The default video dimension is 1920 x 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. See . - -
    + + parameters + screenCaptureParameters + captureParams + The screen sharing encoding parameters. The default video dimension is 1920 + x 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2 (iOS platform): Empty parameter.
      • -
      • -2 (Android platform): The system version is too low. Ensure that the Android API level is not lower than 21.
      • -
      • -3 (Android platform): Unable to capture system audio. Ensure that the Android API level is not lower than 29.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2 (iOS platform): Empty parameter.
    • +
    • -2 (Android platform): The system version + is too low. Ensure that the Android API level is not lower than 21.
    • +
    • -3 (Android platform): Unable to capture + system audio. Ensure that the Android API level is not lower than + 29.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita index eccbcb0ba52..89865aa14b3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapture2.dita @@ -1,75 +1,104 @@ - <ph keyref="startScreenCapture2" /> + <ph keyref="startScreenCapture2"/> Starts screen capture. - +

    - - + + - (int)startScreenCapture:(AgoraVideoSourceType)sourceType config:(AgoraScreenCaptureConfiguration * _Nullable)config NS_SWIFT_NAME(startScreenCapture(_:config:)); - virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int startScreenCapture(VIDEO_SOURCE_TYPE sourceType, const ScreenCaptureConfiguration& config) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartScreenCaptureBySourceType(EVIDEO_SOURCE_TYPE sourceType, const FScreenCaptureConfiguration& config); - abstract startScreenCaptureBySourceType( + abstract startScreenCaptureBySourceType( sourceType: VideoSourceType, config: ScreenCaptureConfiguration ): number; - public abstract int StartScreenCapture(VIDEO_SOURCE_TYPE sourceType, ScreenCaptureConfiguration config); - - Future<void> startScreenCaptureBySourceType( + public abstract int StartScreenCapture(VIDEO_SOURCE_TYPE sourceType, ScreenCaptureConfiguration config); + + Future<void> startScreenCaptureBySourceType( {required VideoSourceType sourceType, required ScreenCaptureConfiguration config}); -

    +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    This method, as well as and , can all be used to enable screen capture, with the following differences: This method, as well as , , and , can all be used to start screen capture, with the following differences:

      -
    • only applies to Android and iOS, whereas this method only applies to Windows and iOS.
    • -
    • and only support capturing video from a single screen or window. By calling this method and specifying the sourceType parameter, you can capture multiple video streams used for local video mixing or multi-channel publishing.
    • +

      This method, as well as and , can all be used to enable screen + capture, with the following differences: This method, as well as , , and , can all be used to start + screen capture, with the following differences:

        +
      • + only applies to Android and iOS, whereas this method only applies to Windows + and iOS.
      • +
      • and only support capturing video + from a single screen or window. By calling this method and specifying the + sourceType parameter, you can capture multiple + video streams used for local video mixing or multi-channel publishing.

        -
      • This method applies to the macOS and Windows only.
      • -
      • If you call this method to start screen capture, Agora recommends that you call to stop the capture and avoid using .
      +
    • This method applies to the macOS and + Windows only.
    • +
    • If you call this method to start screen capture, Agora recommends that you + call to stop the capture and avoid using + .
    • +
    Parameters - - sourceType - -

    The type of the video source. See .

    -
      -
    • Windows supports up to four screen capture video streams.
    • -
    • macOS supports only one screen capture video stream. You can only set this parameter to (2).
    -
    -
    - - config - The configuration of the captured screen. See . - -
    + + sourceType + +

    The type of the video source. See .

    +
      +
    • Windows supports + up to four screen capture video streams.
    • +
    • macOS supports + only one screen capture video stream. You can only set this + parameter to (2).
    • +
    +
    +
    + + config + The configuration of the captured screen. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita index dbd89d025a9..725ab9043b5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebydisplayid.dita @@ -1,86 +1,120 @@ - <ph keyref="startScreenCaptureByDisplayId" /> - Captures the screen by specifying the display ID. + <ph keyref="startScreenCaptureByDisplayId"/> + Captures the screen by specifying the display + ID. - +

    - - - (int)startScreenCaptureByDisplayId:(UInt32)displayId + + - (int)startScreenCaptureByDisplayId:(UInt32)displayId regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - - virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect, + + virtual int startScreenCaptureByDisplayId(uint32_t displayId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartScreenCaptureByDisplayId(int displayId, const FRectangle& regionRect, const FScreenCaptureParameters& captureParams); - abstract startScreenCaptureByDisplayId( + abstract startScreenCaptureByDisplayId( displayId: number, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, ScreenCaptureParameters captureParams); - abstract startScreenCaptureByDisplayId( + public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, ScreenCaptureParameters captureParams); + abstract startScreenCaptureByDisplayId( displayId: number, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - Future<void> startScreenCaptureByDisplayId( + Future<void> startScreenCaptureByDisplayId( {required int displayId, required Rectangle regionRect, required ScreenCaptureParameters captureParams}); -

    +

    Details

    This method shares a screen or part of the screen.

    -

    There are two ways to start screen sharing, you can choose one according to your needs:

      -
    • Call this method before joining a channel, and then call to join a channel and set publishScreenTrack or publishSecondaryScreenTrack to to start screen sharing.
    • -
    • Call this method after joining a channel, and then call and set publishScreenTrack or publishSecondaryScreenTrack to to start screen sharing.
    • +

      There are two ways to start screen sharing, you can choose one + according to your needs:

        +
      • Call this method before joining a channel, and then call to join a channel and set + publishScreenTrack or + publishSecondaryScreenTrack to to start screen sharing.
      • +
      • Call this method after joining a channel, and then call and set + publishScreenTrack or + publishSecondaryScreenTrack to to start screen sharing.

      - This method is for Windows and macOS only. + This method is for Windows + and macOS only.
    Parameters - - displayId - The display ID of the screen to be shared.For the Windows platform, if you need to simultaneously share two screens (main screen and secondary screen), you can set displayId to -1 when calling this method. - - - - regionRect - (Optional) Sets the relative location of the region to the screen. Pass in nil to share the entire screen. See . It consists of the following parameters:
      -
    • x: The horizontal offset from the top-left corner.
    • -
    • y: The vertical offset from the top-left corner.
    • -
    • width: The width of the region.
    • -
    • height: The height of the region.
    • -
    - If the specified region overruns the screen, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen. -
    - - captureParams - Screen sharing configurations. The default video dimension is 1920 x 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. See . - -
    + + displayId + The display ID of the screen to be shared.For the Windows platform, + if you need to simultaneously share two screens (main screen and + secondary screen), you can set displayId to + -1 when calling this method. + + + + regionRect + (Optional) Sets the relative location of the region to the screen. Pass + in nil to share the entire screen. See . + It consists of the following parameters:
      +
    • x: The horizontal offset from the top-left corner.
    • +
    • y: The vertical offset from the top-left corner.
    • +
    • width: The width of the region.
    • +
    • height: The height of the region.
    • +
    + If the specified region overruns the screen, the SDK shares only the region + within it; if you set width or height as 0, the SDK shares the whole + screen. +
    + + captureParams + Screen sharing configurations. The default video dimension is 1920 x 1080, + that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The parameter is invalid.
      • -
      • -8: The screen sharing state is invalid. Probably because you have shared other screens or windows. Try calling to stop the current sharing and start sharing the screen again.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: The parameter is invalid.
    • +
    • -8: The screen sharing state is invalid. Probably because you have + shared other screens or windows. Try calling to stop the current sharing and start + sharing the screen again.
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita index 9530714725c..f122e1c15cd 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebyscreenrect.dita @@ -1,78 +1,99 @@ - <ph keyref="startScreenCaptureByScreenRect" /> - Captures the whole or part of a screen by specifying the screen rect. + <ph keyref="startScreenCaptureByScreenRect"/> + Captures the whole or part of a screen by specifying + the screen rect. - +

    - - - virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect, + + + virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartScreenCaptureByScreenRect(const FRectangle& screenRect, const FRectangle& regionRect, const FScreenCaptureParameters& captureParams) __deprecated; - abstract startScreenCaptureByScreenRect( + abstract startScreenCaptureByScreenRect( screenRect: Rectangle, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - public abstract int StartScreenCaptureByScreenRect(Rectangle screenRect, Rectangle regionRect, + public abstract int StartScreenCaptureByScreenRect(Rectangle screenRect, Rectangle regionRect, ScreenCaptureParameters captureParams); - abstract startScreenCaptureByScreenRect( + abstract startScreenCaptureByScreenRect( screenRect: Rectangle, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - Future<void> startScreenCaptureByScreenRect( + Future<void> startScreenCaptureByScreenRect( {required Rectangle screenRect, required Rectangle regionRect, required ScreenCaptureParameters captureParams}); -

    +

    Details
    Deprecated:
    -
    This method is deprecated. Use instead. Agora strongly recommends using if you need to start screen sharing on a device connected to another display.
    +
    This method is deprecated. Use instead. Agora strongly recommends using if you need to start screen + sharing on a device connected to another display.
    -
    -

    This method shares a screen or part of the screen. You need to specify the area of the screen to be shared.

    -

    - This method applies to Windows only. + +

    This method shares a screen or part of the screen. You need to specify the + area of the screen to be shared.

    +

    + This + method applies to Windows only.

    Parameters - - - screenRect - Sets the relative location of the screen to the virtual screen. - - - regionRect - (Optional) Sets the relative location of the region to the screen. If you do not set this parameter, the SDK shares the whole screen. See . If the specified region overruns the screen, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen. - - - captureParams - The screen sharing encoding parameters. The default video resolution is 1920 × 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. See . - - + + + screenRect + Sets the relative location of the screen to the virtual screen. + + + regionRect + (Optional) Sets the relative + location of the region to the screen. If you do not set this parameter, the + SDK shares the whole screen. See . If the + specified region overruns the screen, the SDK shares only the region within + it; if you set width or height as 0, the SDK shares the whole screen. + + + captureParams + The screen sharing encoding parameters. The default video resolution is 1920 + × 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges. See . + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
      -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita index f9fe8d2a990..98442771a08 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startscreencapturebywindowid.dita @@ -1,208 +1,241 @@ - <ph keyref="startScreenCaptureByWindowId" /> - Captures the whole or part of a window by specifying the window ID. + <ph keyref="startScreenCaptureByWindowId"/> + Captures the whole or part of a window by specifying + the window ID. - +

    - - - (int)startScreenCaptureByWindowId:(UInt32)windowId + + - (int)startScreenCaptureByWindowId:(UInt32)windowId regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - virtual int startScreenCaptureByWindowId(view_t windowId, + virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartScreenCaptureByWindowId(int64 windowId, const FRectangle& regionRect, const FScreenCaptureParameters& captureParams); - abstract startScreenCaptureByWindowId( + abstract startScreenCaptureByWindowId( windowId: any, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - public abstract int StartScreenCaptureByWindowId(view_t windowId, Rectangle regionRect, ScreenCaptureParameters captureParams); - abstract startScreenCaptureByWindowId( + public abstract int StartScreenCaptureByWindowId(view_t windowId, Rectangle regionRect, ScreenCaptureParameters captureParams); + abstract startScreenCaptureByWindowId( windowId: any, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number; - Future<void> startScreenCaptureByWindowId( + Future<void> startScreenCaptureByWindowId( {required int windowId, required Rectangle regionRect, required ScreenCaptureParameters captureParams}); -

    +

    Details -

    This method captures a window or part of the window. You need to specify the ID of the window to be captured.

    -

    +

    This method captures a window or part of the window. You need to specify + the ID of the window to be captured.

    +

    -

    • This method applies to the macOS and Windows only.
    • -
    • The window sharing feature of the Agora SDK relies on WGC (Windows Graphics Capture) or GDI (Graphics Device Interface) capture, and WGC cannot be set to disable mouse capture on systems earlier than Windows 10 2004. Therefore, captureMouseCursor(false) might not work when you start window sharing on a device with a system earlier than Windows 10 2004. See .
    -

    This method supports window sharing of UWP (Universal Windows Platform) applications. Agora tests the mainstream UWP applications by using the lastest SDK, see details as follows:

    -

    - - - - - - - - System version - Software - Compatible versions - Support - - - - - win10 - Chrome - 76.0.3809.100 - No - - - Office Word - 18.1903.1152.0 - Yes - - - Office Excel - No - - - Office PPT - Yes - - - WPS Word - 11.1.0.9145 - Yes - - - WPS Excel - - - WPS PPT - - - Media Player (comes with the system) - All - Yes - - - win8 - Chrome - All - Yes - - - Office Word - All - Yes - - - Office Excel - - - Office PPT - - - WPS Word - 11.1.0.9098 - Yes - - - WPS Excel - - - WPS PPT - - - Media Player (comes with the system) - All - Yes - - - win7 - Chrome - 73.0.3683.103 - No - - - Office Word - All - Yes - - - Office Excel - - - Office PPT - - - WPS Word - 11.1.0.9098 - No - - - WPS Excel - - - WPS PPT - 11.1.0.9098 - Yes - - - Media Player (comes with the system) - All - No - - - -

    +
      +
    • This method applies to the macOS and + Windows only.
    • +
    • The window sharing feature of the Agora SDK relies on WGC (Windows Graphics + Capture) or GDI (Graphics Device Interface) capture, and WGC cannot be set + to disable mouse capture on systems earlier than Windows 10 2004. Therefore, + captureMouseCursor(false) might not work when you start + window sharing on a device with a system earlier than Windows 10 2004. See + .
    • +
    +

    This method supports window sharing + of UWP (Universal Windows Platform) applications. Agora tests the mainstream UWP + applications by using the lastest SDK, see details as follows:

    +

    + + + + + + + + + System version + Software + Compatible versions + Support + + + + + win10 + Chrome + 76.0.3809.100 + No + + + Office Word + 18.1903.1152.0 + Yes + + + Office Excel + No + + + Office PPT + Yes + + + WPS Word + 11.1.0.9145 + Yes + + + WPS Excel + + + WPS PPT + + + Media Player (comes with the system) + All + Yes + + + win8 + Chrome + All + Yes + + + Office Word + All + Yes + + + Office Excel + + + Office PPT + + + WPS Word + 11.1.0.9098 + Yes + + + WPS Excel + + + WPS PPT + + + Media Player (comes with the system) + All + Yes + + + win7 + Chrome + 73.0.3683.103 + No + + + Office Word + All + Yes + + + Office Excel + + + Office PPT + + + WPS Word + 11.1.0.9098 + No + + + WPS Excel + + + WPS PPT + 11.1.0.9098 + Yes + + + Media Player (comes with the system) + All + No + + + +
    +

    Parameters - - windowId - The ID of the window to be shared. - - - regionRect - (Optional) Sets the relative location of the region to the screen. If you do not set this parameter, the SDK shares the whole screen. See . If the specified region overruns the window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole window. - - - regionRect - -

    (Optional) The relative location of the region to the window. If you do not set this parameter, the SDK shares the whole window. It consists of the following parameters:

      -
    • x: The horizontal offset from the top-left corner.
    • -
    • y: The vertical offset from the top-left corner.
    • -
    • width: The width of the region.
    • -
    • height: The height of the region.
    • -

    -

    If the specified region overruns the window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole window.

    -
    -
    - - captureParams - Screen sharing configurations. The default video resolution is 1920 × 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. See . - -
    + + windowId + The ID of the window to be shared. + + + regionRect + (Optional) Sets the relative location of the region to the screen. If you do + not set this parameter, the SDK shares the whole screen. See . If the specified region overruns the window, the + SDK shares only the region within it; if you set width or height as 0, the + SDK shares the whole window. + + + regionRect + +

    (Optional) The relative location of the region to the window. If you do + not set this parameter, the SDK shares the whole window. It consists of + the following parameters:

      +
    • x: The horizontal offset from the top-left corner.
    • +
    • y: The vertical offset from the top-left corner.
    • +
    • width: The width of the region.
    • +
    • height: The height of the region.
    • +

    +

    If the specified region overruns the window, the SDK shares only the + region within it; if you set width or height as 0, the SDK shares the + whole window.

    +
    +
    + + captureParams + Screen sharing configurations. The default video resolution is 1920 × 1080, + that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startsecondarycameracapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startsecondarycameracapture.dita index 3472039e39a..c38e764cb21 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startsecondarycameracapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startsecondarycameracapture.dita @@ -1,54 +1,66 @@ - <ph keyref="startSecondaryCameraCapture" /> - Starts video capture with a secondary camera. + <ph keyref="startSecondaryCameraCapture"/> + Starts video capture with a secondary + camera. - +

    - - - (int)startSecondaryCameraCapture NS_SWIFT_NAME(startSecondaryCameraCapture()); - virtual int startSecondaryCameraCapture(const CameraCapturerConfiguration& config) = 0; + + - (int)startSecondaryCameraCapture NS_SWIFT_NAME(startSecondaryCameraCapture()); + virtual int startSecondaryCameraCapture(const CameraCapturerConfiguration& config) = 0; - abstract startSecondaryCameraCapture( + abstract startSecondaryCameraCapture( config: CameraCapturerConfiguration ): number; - public abstract int StartSecondaryCameraCapture(CameraCapturerConfiguration config); - abstract startSecondaryCameraCapture( + public abstract int StartSecondaryCameraCapture(CameraCapturerConfiguration config); + abstract startSecondaryCameraCapture( config: CameraCapturerConfiguration ): number; - Future<void> startSecondaryCameraCapture(CameraCapturerConfiguration config); -

    + Future<void> startSecondaryCameraCapture(CameraCapturerConfiguration config); +

    Details -

    Before calling this method on the iOS platform, you need to call and set enabled to .

    +

    Before calling this method on the iOS platform, you need to call and set enabled to .

    Parameters - - config - -

    The configuration of the video capture. See .

    - On the iOS platform, this parameter has no practical function. Use the config parameter in to set the video capture configuration.
    -
    -
    + + config + +

    The configuration of the video capture. See .

    + On the iOS platform, this parameter has + no practical function. Use the config parameter in + to set the video capture + configuration. +
    +
    + +
    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; you need to catch the + exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startsecondarycustomaudiotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startsecondarycustomaudiotrack.dita index 9aeb3710ac8..e529057c86f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startsecondarycustomaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startsecondarycustomaudiotrack.dita @@ -2,40 +2,41 @@ startSecondaryCustomAudioTrack - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    Details -

    +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_startsecondaryscreencapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_startsecondaryscreencapture.dita index 23f62881006..baf5842cc21 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_startsecondaryscreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_startsecondaryscreencapture.dita @@ -1,50 +1,55 @@ - <ph keyref="startSecondaryScreenCapture" /> + <ph keyref="startSecondaryScreenCapture"/> Starts sharing a secondary screen. - +

    - - - virtual int startSecondaryScreenCapture(const ScreenCaptureConfiguration& config) = 0; + + + virtual int startSecondaryScreenCapture(const ScreenCaptureConfiguration& config) = 0; - abstract startSecondaryScreenCapture( + abstract startSecondaryScreenCapture( config: ScreenCaptureConfiguration ): number; - public abstract int StartSecondaryScreenCapture(ScreenCaptureConfiguration config); - abstract startSecondaryScreenCapture( + public abstract int StartSecondaryScreenCapture(ScreenCaptureConfiguration config); + abstract startSecondaryScreenCapture( config: ScreenCaptureConfiguration ): number; - Future<void> startSecondaryScreenCapture(ScreenCaptureConfiguration config); -

    + Future<void> startSecondaryScreenCapture(ScreenCaptureConfiguration config); +

    Parameters - - config - -

    The configuration of the captured screen. See .

    -
    -
    -
    + + config + +

    The configuration of the captured screen. See .

    +
    +
    + +
    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; you need to catch the + exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_statechanged.dita b/en-US/dita/RTC-NG/API/api_irtcengine_statechanged.dita index b46888d7699..4fd1d013fd3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_statechanged.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_statechanged.dita @@ -13,46 +13,48 @@

    - - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine device:(NSString* _Nonnull)deviceId + + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine device:(NSString* _Nonnull)deviceId type:(AgoraMediaDeviceType)deviceType stateChanged:(NSInteger)state; - - - - - -

    + + + + + +

    - Details
    + Details +
    Parameters - - engine - One object. - - - deviceId - The device ID. - - - deviceType - -

    - - - - state - -

    Media device states:

      -
    • 0: The device is connected but not in use.
    • -
    • 1: The device is in use.
    • -
    • 8: The devive is disconnected.
    • -

    -
    -
    -
    + + engine + One object. + + + deviceId + The device ID. + + + deviceType + +

    + + + + state + +

    Media device states:

      +
    • 0: The device is connected but not in use.
    • +
    • 1: The device is in use.
    • +
    • 8: The devive is disconnected.
    • +

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita index 5f5355df516..f075fe09c4e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopalleffects.dita @@ -1,37 +1,42 @@ - <ph keyref="stopAllEffects" /> + <ph keyref="stopAllEffects"/> Stops playing all audio effects. - +

    - public abstract int stopAllEffects(); + public abstract int stopAllEffects(); - - (int)stopAllEffects; + - (int)stopAllEffects; - virtual int stopAllEffects() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int stopAllEffects() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopAllEffects(); - abstract stopAllEffects(): number; - public abstract int StopAllEffects(); - abstract stopAllEffects(): number; - Future<void> stopAllEffects(); -

    + abstract stopAllEffects(): number; + public abstract int StopAllEffects(); + abstract stopAllEffects(): number; + Future<void> stopAllEffects(); +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopaudioframedump.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopaudioframedump.dita index b6638f8ea78..bee815f29ab 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopaudioframedump.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopaudioframedump.dita @@ -1,39 +1,40 @@ - <ph keyref="stopAudioFrameDump" /> - + <ph keyref="stopAudioFrameDump"/> + - +

    - - - virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0; + + + virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0; - - - - -

    + + + + +

    -
    +
    Parameters - - - - -
    + + + + + +
    Returns
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita index 3bc60550e64..fb1ecdda9ce 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopaudiomixing.dita @@ -1,28 +1,29 @@ - <ph keyref="stopAudioMixing" /> - Stops playing and mixing the music file. + <ph keyref="stopAudioMixing"/> + Stops playing and mixing the music + file. - +

    - public abstract int stopAudioMixing(); - - (int)stopAudioMixing; - virtual int stopAudioMixing() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopAudioMixing(); + - (int)stopAudioMixing; + virtual int stopAudioMixing() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopAudioMixing(); - abstract stopAudioMixing(): number; - public abstract int StopAudioMixing(); - abstract stopAudioMixing(): number; - Future<void> stopAudioMixing(); -

    + abstract stopAudioMixing(): number; + public abstract int StopAudioMixing(); + abstract stopAudioMixing(): number; + Future<void> stopAudioMixing(); +

    Details @@ -30,10 +31,15 @@
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita index 7ca0be377c3..4a629d381ca 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopaudiorecording.dita @@ -1,35 +1,41 @@ - <ph keyref="stopAudioRecording" /> - Stops the audio recording on the client. + <ph keyref="stopAudioRecording"/> + Stops the audio recording on the + client. - +

    - public abstract int stopAudioRecording(); - - (int)stopAudioRecording; - virtual int stopAudioRecording() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopAudioRecording(); + - (int)stopAudioRecording; + virtual int stopAudioRecording() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopAudioRecording(); - abstract stopAudioRecording(): number; - public abstract int StopAudioRecording(); - abstract stopAudioRecording(): number; - Future<void> stopAudioRecording(); -

    + abstract stopAudioRecording(): number; + public abstract int StopAudioRecording(); + abstract stopAudioRecording(): number; + Future<void> stopAudioRecording(); +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopcameracapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopcameracapture.dita index e29ccf2afa8..8b3806bfa0e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopcameracapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopcameracapture.dita @@ -1,56 +1,67 @@ - <ph keyref="stopCameraCapture" /> + <ph keyref="stopCameraCapture"/> Stops camera capture. - +

    - public abstract int stopCameraCapture(Constants.VideoSourceType sourceType); - - (int)stopCameraCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:)); - virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopCameraCapture(Constants.VideoSourceType sourceType); + - (int)stopCameraCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopCameraCapture(_:)); + virtual int stopCameraCapture(VIDEO_SOURCE_TYPE sourceType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract stopCameraCapture(sourceType: VideoSourceType): number; + public abstract int StopCameraCapture(VIDEO_SOURCE_TYPE sourceType); + abstract stopCameraCapture(sourceType: VideoSourceType): number; + Future<void> stopCameraCapture(VideoSourceType sourceType); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    After calling to start capturing video through one or more cameras, you can call this method and set the sourceType parameter to stop the capture from the specified cameras.

    - On the iOS platform, if you want to disable multi-camera capture, you need to call after calling this method and set enabled to . - If you are using the local video mixing function, calling this method can cause the local video mixing to be interrupted. +

    After calling to start capturing video through + one or more cameras, you can call this method and set the + sourceType parameter to stop the capture from the specified + cameras.

    + On the iOS platform, if you want to + disable multi-camera capture, you need to call + after calling this method and set enabled to . + If you are using the local video mixing function, calling this + method can cause the local video mixing to be interrupted.
    Parameters - - sourceType - The type of the video source. See . - + + sourceType + The type of the video source. See . +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopchannelmediarelay.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopchannelmediarelay.dita index 6387e748305..e085f648b7c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopchannelmediarelay.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopchannelmediarelay.dita @@ -1,39 +1,54 @@ - <ph keyref="stopChannelMediaRelay" /> - Stops the media stream relay. Once the relay stops, the host quits all the target channels. + <ph keyref="stopChannelMediaRelay"/> + Stops the media stream relay. Once the relay stops, the + host quits all the target channels. - +

    - public abstract int stopChannelMediaRelay(); - - (int)stopChannelMediaRelay; - virtual int stopChannelMediaRelay() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopChannelMediaRelay(); + - (int)stopChannelMediaRelay; + virtual int stopChannelMediaRelay() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopChannelMediaRelay(); - abstract stopChannelMediaRelay(): number; - public abstract int StopChannelMediaRelay(); - abstract stopChannelMediaRelay(): number; - Future<void> stopChannelMediaRelay(); -

    + abstract stopChannelMediaRelay(): number; + public abstract int StopChannelMediaRelay(); + abstract stopChannelMediaRelay(): number; + Future<void> stopChannelMediaRelay(); +

    Details -

    After a successful method call, the SDK triggers the callback. If the callback reports (0) and (0), the host successfully stops the relay.

    - If the method call fails, the SDK triggers the callback with the (2) or (8) status code. You can call the method to leave the channel, and the media stream relay automatically stops.
    +

    After a successful method call, the SDK triggers the callback. If the callback reports + (0) and (0), + the host successfully stops the relay.

    + If the method call fails, the SDK triggers the callback with the (2) or (8) status code. You can call the + method to leave the channel, and the media stream + relay automatically stops. +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopdirectcdnstreaming.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopdirectcdnstreaming.dita index 880a5ca3905..4df37187755 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopdirectcdnstreaming.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopdirectcdnstreaming.dita @@ -1,12 +1,13 @@ - <ph keyref="stopDirectCdnStreaming" /> - Stops pushing media streams to the CDN directly. + <ph keyref="stopDirectCdnStreaming"/> + Stops pushing media streams to the CDN + directly. - + @@ -15,18 +16,24 @@ public abstract int stopDirectCdnStreaming(); - (int)stopDirectCdnStreaming; virtual int stopDirectCdnStreaming() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopDirectCdnStreaming(); abstract stopDirectCdnStreaming(): number; public abstract int StopDirectCdnStreaming(); abstract stopDirectCdnStreaming(): number; - Future<void> stopDirectCdnStreaming(); + Future<void> stopDirectCdnStreaming(); +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + + -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopechotest.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopechotest.dita index f37510ff358..b18ac652981 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopechotest.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopechotest.dita @@ -1,38 +1,46 @@ - <ph keyref="stopEchoTest" /> + + <ph keyref="stopEchoTest"/> + Stops the audio call test. - +

    - public abstract int stopEchoTest(); - - (int)stopEchoTest; - virtual int stopEchoTest() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopEchoTest(); + - (int)stopEchoTest; + virtual int stopEchoTest() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopEchoTest(); - abstract stopEchoTest(): number; - public abstract int StopEchoTest(); - abstract stopEchoTest(): number; - Future<void> stopEchoTest(); -

    + abstract stopEchoTest(): number; + public abstract int StopEchoTest(); + abstract stopEchoTest(): number; + Future<void> stopEchoTest(); +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • - < 0: Failure. See for details and resolution suggestions.
        -
      • -5(ERR_REFUSED): Failed to stop the echo test. The echo test may not be running.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
      +
    • -5(ERR_REFUSED): Failed to stop the echo test. The echo test may not be + running.
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopeffect.dita index 825551a8285..31d888a0c0f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopeffect.dita @@ -1,45 +1,52 @@ - <ph keyref="stopEffect" /> - Stops playing a specified audio effect. + <ph keyref="stopEffect"/> + Stops playing a specified audio + effect. - +

    - public abstract int stopEffect(int soundId); + public abstract int stopEffect(int soundId); - - (int)stopEffect:(int)soundId; + - (int)stopEffect:(int)soundId; - virtual int stopEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int stopEffect(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract stopEffect(soundId: number): number; + public abstract int StopEffect(int soundId); + abstract stopEffect(soundId: number): number; + Future<void> stopEffect(int soundId); +

    Parameters - - soundId - The ID of the audio effect. Each audio effect has a unique ID. - -
    + + soundId + The ID of the audio effect. Each audio effect has a unique ID. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita index ddca53ce4b0..86c32b3f719 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stoplastmileprobetest.dita @@ -1,35 +1,43 @@ - <ph keyref="stopLastmileProbeTest" /> - Stops the last mile network probe test. + + <ph keyref="stopLastmileProbeTest"/> + + Stops the last mile network probe + test. - +

    - public abstract int stopLastmileProbeTest(); - - (int)stopLastmileProbeTest; - virtual int stopLastmileProbeTest() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopLastmileProbeTest(); + - (int)stopLastmileProbeTest; + virtual int stopLastmileProbeTest() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopLastmileProbeTest(); - abstract stopLastmileProbeTest(): number; - public abstract int StopLastmileProbeTest(); - abstract stopLastmileProbeTest(): number; - Future<void> stopLastmileProbeTest(); -

    + abstract stopLastmileProbeTest(): number; + public abstract int StopLastmileProbeTest(); + abstract stopLastmileProbeTest(): number; + Future<void> stopLastmileProbeTest(); +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita index 90f308c23a7..2e69ea27d84 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stoplocalvideotranscoder.dita @@ -1,40 +1,46 @@ - <ph keyref="stopLocalVideoTranscoder" /> + <ph keyref="stopLocalVideoTranscoder"/> Stops the local video mixing. - +

    - public abstract int stopLocalVideoTranscoder(); - - (int)stopLocalVideoTranscoder NS_SWIFT_NAME(stopLocalVideoTranscoder()); - virtual int stopLocalVideoTranscoder() = 0; + public abstract int stopLocalVideoTranscoder(); + - (int)stopLocalVideoTranscoder NS_SWIFT_NAME(stopLocalVideoTranscoder()); + virtual int stopLocalVideoTranscoder() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopLocalVideoTranscoder(); - abstract stopLocalVideoTranscoder(): number; - public abstract int StopLocalVideoTranscoder(); - abstract stopLocalVideoTranscoder(): number; - Future<void> stopLocalVideoTranscoder(); -

    + abstract stopLocalVideoTranscoder(): number; + public abstract int StopLocalVideoTranscoder(); + abstract stopLocalVideoTranscoder(): number; + Future<void> stopLocalVideoTranscoder(); +

    Details -

    After calling , call this method if you want to stop the local video mixing.

    +

    After calling , call this method if you + want to stop the local video mixing.

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview.dita index aa7a0b41115..4eaaffbfa0f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview.dita @@ -1,36 +1,41 @@ - <ph keyref="stopPreview" /> + <ph keyref="stopPreview"/> Stops the local video preview. - +

    - public abstract int stopPreview(); - - (int)stopPreview; - virtual int stopPreview() = 0; - abstract stopPreview(sourceType?: VideoSourceType): number; - public abstract int StopPreview(); - abstract stopPreview(sourceType?: VideoSourceType): number; -

    + public abstract int stopPreview(); + - (int)stopPreview; + virtual int stopPreview() = 0; + abstract stopPreview(sourceType?: VideoSourceType): number; + public abstract int StopPreview(); + abstract stopPreview(sourceType?: VideoSourceType): number; + +

    Details -

    After calling to start the preview, if you want to close the local video preview, call this method.

    - Call this method before joining a channel or after leaving a channel. +

    After calling to start the preview, if you want to + close the local video preview, call this method.

    + Call this method before joining a channel or after leaving a + channel.
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita index 16ecadc3831..8311ac35af3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stoppreview2.dita @@ -1,57 +1,64 @@ - <ph keyref="stopPreview2" /> + <ph keyref="stopPreview2"/> Stops the local video preview. - +

    - public abstract int stopPreview(Constants.VideoSourceType sourceType); + public abstract int stopPreview(Constants.VideoSourceType sourceType); - - (int)stopPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopPreview(_:)); - virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)stopPreview: (AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopPreview(_:)); + virtual int stopPreview(VIDEO_SOURCE_TYPE sourceType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopPreview(EVIDEO_SOURCE_TYPE sourceType = EVIDEO_SOURCE_TYPE::VIDEO_SOURCE_CAMERA_PRIMARY); - abstract stopPreview(sourceType?: VideoSourceType): number; - public abstract int StopPreview(VIDEO_SOURCE_TYPE sourceType); - abstract stopPreview(sourceType?: VideoSourceType): number; - Future<void> stopPreview( + abstract stopPreview(sourceType?: VideoSourceType): number; + public abstract int StopPreview(VIDEO_SOURCE_TYPE sourceType); + abstract stopPreview(sourceType?: VideoSourceType): number; + Future<void> stopPreview( {VideoSourceType sourceType = VideoSourceType.videoSourceCameraPrimary}); -

    +

    -
    +
    Details
    Since
    v4.2.2
    -
    -

    After calling to start the preview, if you want to close the local video preview, call this method.

    - Call this method before joining a channel or after leaving a channel. -
    -
    + +

    After calling to start the preview, if you want to + close the local video preview, call this method.

    + Call this method before joining a channel or after leaving a + channel. +
    +
    Parameters - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • < 0: Failure. See for details + and resolution suggestions.
  • +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopprimarycameracapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopprimarycameracapture.dita index 5a32cc398cb..ce681da8043 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopprimarycameracapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopprimarycameracapture.dita @@ -1,40 +1,45 @@ - <ph keyref="stopPrimaryCameraCapture" /> - Stops capturing video through the first camera. + <ph keyref="stopPrimaryCameraCapture"/> + Stops capturing video through the first + camera. - +

    - - - virtual int stopPrimaryCameraCapture() = 0; - abstract stopPrimaryCameraCapture(): number; - public abstract int StopPrimaryCameraCapture(); - abstract stopPrimaryCameraCapture(): number; - Future<void> stopPrimaryCameraCapture(); -

    + + + virtual int stopPrimaryCameraCapture() = 0; + abstract stopPrimaryCameraCapture(): number; + public abstract int StopPrimaryCameraCapture(); + abstract stopPrimaryCameraCapture(): number; + Future<void> stopPrimaryCameraCapture(); +

    Details -

    You can call this method to stop capturing video through the first camera after calling .

    +

    You can call this method to stop capturing video through the first camera after + calling .

    -

    If you are using the local video mixing function, calling this method can cause the local video mixing to be interrupted.

    +

    If you are using the local video mixing function, calling this method can cause + the local video mixing to be interrupted.

    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; you need to catch the + exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopprimarycustomaudiotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopprimarycustomaudiotrack.dita index cb730129c0e..f2f068aefef 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopprimarycustomaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopprimarycustomaudiotrack.dita @@ -2,36 +2,37 @@ stopPrimaryCustomAudioTrack - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopprimaryscreencapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopprimaryscreencapture.dita index d317bcad4d4..e5bdc905ddb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopprimaryscreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopprimaryscreencapture.dita @@ -1,38 +1,42 @@ - <ph keyref="stopPrimaryScreenCapture" /> + <ph keyref="stopPrimaryScreenCapture"/> Stops sharing the first screen. - +

    - - - virtual int stopPrimaryScreenCapture() = 0; + + + virtual int stopPrimaryScreenCapture() = 0; - abstract stopPrimaryScreenCapture(): number; - public abstract int StopPrimaryScreenCapture(); - abstract stopPrimaryScreenCapture(): number; - Future<void> stopPrimaryScreenCapture(); -

    + abstract stopPrimaryScreenCapture(): number; + public abstract int StopPrimaryScreenCapture(); + abstract stopPrimaryScreenCapture(): number; + Future<void> stopPrimaryScreenCapture(); +

    Details -

    After calling , you can call this method to stop sharing the first screen.

    +

    After calling , you can call this method to + stop sharing the first screen.

    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; you need to catch the + exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita index 55e6c14e102..f7de01d72c8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stoprhythmplayer.dita @@ -1,39 +1,47 @@ - <ph keyref="stopRhythmPlayer" /> + <ph keyref="stopRhythmPlayer"/> Disables the virtual metronome. - +

    - public abstract int stopRhythmPlayer(); - - (int)stopRhythmPlayer; - virtual int stopRhythmPlayer() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopRhythmPlayer(); + - (int)stopRhythmPlayer; + virtual int stopRhythmPlayer() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopRhythmPlayer(); - abstract stopRhythmPlayer(): number; - public abstract int StopRhythmPlayer(); - abstract stopRhythmPlayer(): number; - Future<void> stopRhythmPlayer(); -

    + abstract stopRhythmPlayer(): number; + public abstract int StopRhythmPlayer(); + abstract stopRhythmPlayer(): number; + Future<void> stopRhythmPlayer(); +

    Details -

    After calling , you can call this method to disable the virtual metronome.

    - This method is for Android and iOS only.
    +

    After calling , you can call this method to disable + the virtual metronome.

    + This method is for Android + and iOS only. +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita index fe4cd7a07d9..ec341ee7c66 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stoprtmpstream.dita @@ -1,7 +1,9 @@ - <ph keyref="stopRtmpStream"/> + + <ph keyref="stopRtmpStream"/> + Stops pushing media streams to a CDN. @@ -13,37 +15,49 @@

    - public abstract int stopRtmpStream(String url); - - (int)stopRtmpStream:(NSString* _Nonnull)url; - virtual int stopRtmpStream(const char* url) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopRtmpStream(String url); + - (int)stopRtmpStream:(NSString* _Nonnull)url; + virtual int stopRtmpStream(const char* url) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopRtmpStream(FString url); - abstract stopRtmpStream(url: string): number; - public abstract int StopRtmpStream(string url); - abstract stopRtmpStream(url: string): number; - Future<void> stopRtmpStream(String url); -

    + abstract stopRtmpStream(url: string): number; + public abstract int StopRtmpStream(string url); + abstract stopRtmpStream(url: string): number; + Future<void> stopRtmpStream(String url); +

    Details -

    Agora recommends that you use the server-side Media Push function. For details, see Use RESTful API.

    -

    You can call this method to stop the live stream on the specified CDN address. This method can stop pushing media streams to only one CDN address at a time, so if you need to stop pushing streams to multiple addresses, call this method multiple times.

    -

    After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

    +

    Agora recommends that you use the server-side Media Push function. For details, see + Use RESTful API.

    +

    You can call this method to stop the live stream on the specified CDN address. This + method can stop pushing media streams to only one CDN address at a time, so if you + need to stop pushing streams to multiple addresses, call this method multiple + times.

    +

    After you call this method, the SDK triggers the callback on the local client to report + the state of the streaming.

    Parameters - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita index 950481ffc2c..447bd81b4ac 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture.dita @@ -1,42 +1,49 @@ - <ph keyref="stopScreenCapture" /> + <ph keyref="stopScreenCapture"/> Stops screen capture. - +

    - public abstract int stopScreenCapture(); - - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture()); + public abstract int stopScreenCapture(); + - (int)stopScreenCapture NS_SWIFT_NAME(stopScreenCapture()); - #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__) + #if defined(_WIN32) || defined(__APPLE__) || defined(__ANDROID__) virtual int stopScreenCapture() = 0; #endif - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopScreenCapture(); - abstract stopScreenCapture(): number; - public abstract int StopScreenCapture(); - abstract stopScreenCapture(): number; - Future<void> stopScreenCapture(); -

    + abstract stopScreenCapture(): number; + public abstract int StopScreenCapture(); + abstract stopScreenCapture(): number; + Future<void> stopScreenCapture(); +

    Details -

    After calling or to start screen capture, call this method to stop screen capture.

    +

    After calling or to start screen capture, call this + method to stop screen capture.

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita index bd0f877e1aa..e852cc47d02 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopscreencapture2.dita @@ -1,57 +1,76 @@ - <ph keyref="stopScreenCapture2" /> + <ph keyref="stopScreenCapture2"/> Stops screen capture. - +

    - - - (int)stopScreenCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopScreenCapture(_:)); - virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + - (int)stopScreenCapture:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(stopScreenCapture(_:)); + virtual int stopScreenCapture(VIDEO_SOURCE_TYPE sourceType) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopScreenCaptureBySourceType(EVIDEO_SOURCE_TYPE sourceType); - abstract stopScreenCaptureBySourceType(sourceType: VideoSourceType): number; - public abstract int StopScreenCapture(VIDEO_SOURCE_TYPE sourceType); - - Future<void> stopScreenCaptureBySourceType(VideoSourceType sourceType); -

    + abstract stopScreenCaptureBySourceType(sourceType: VideoSourceType): number; + public abstract int StopScreenCapture(VIDEO_SOURCE_TYPE sourceType); + + Future<void> stopScreenCaptureBySourceType(VideoSourceType sourceType); +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    After calling to start capturing video from one or more screens, you can call this method and set the sourceType parameter to stop capturing from the specified screens.

    +

    After calling to start capturing video from one + or more screens, you can call this method and set the sourceType + parameter to stop capturing from the specified screens.

      -
    • This method applies to the macOS and Windows only.
    • -
    • If you call , , or to start screen capure, Agora recommends that you call instead to stop the capture.
    • -
    • If you call or to start screen capture, Agora recommends that you call to stop the capture and do not use this one.
    +
  • This method applies to the macOS and + Windows only.
  • +
  • If you call , , or to start screen capure, Agora + recommends that you call instead to stop + the capture.
  • +
  • If you call or to start screen capture, Agora + recommends that you call to stop the + capture and do not use this one.
  • +
    Parameters - - sourceType - The type of the video source. See . - + + sourceType + The type of the video source. See . + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondarycameracapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondarycameracapture.dita index 9d3c51e04d3..c3201dd4d42 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondarycameracapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondarycameracapture.dita @@ -1,39 +1,47 @@ - <ph keyref="stopSecondaryCameraCapture" /> - Stops capturing video through the second camera. + <ph keyref="stopSecondaryCameraCapture"/> + Stops capturing video through the second + camera. - +

    - - - (int)stopSecondaryCameraCapture NS_SWIFT_NAME(stopSecondaryCameraCapture()); - virtual int stopSecondaryCameraCapture() = 0; + + - (int)stopSecondaryCameraCapture NS_SWIFT_NAME(stopSecondaryCameraCapture()); + virtual int stopSecondaryCameraCapture() = 0; - abstract stopSecondaryCameraCapture(): number; - public abstract int StopSecondaryCameraCapture(); - abstract stopSecondaryCameraCapture(): number; - Future<void> stopSecondaryCameraCapture(); -

    + abstract stopSecondaryCameraCapture(): number; + public abstract int StopSecondaryCameraCapture(); + abstract stopSecondaryCameraCapture(): number; + Future<void> stopSecondaryCameraCapture(); +

    Details -

    You can call this method to stop capturing video through the second camera after calling the .

    -

    On the iOS platform, if you want to disable multi-camera capture, you need to call after calling this method and set enabled to .

    +

    You can call this method to stop + capturing video through the second camera after calling the .

    +

    On the iOS platform, if you want to disable multi-camera + capture, you need to call after calling this + method and set enabled to .

    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; you need to catch the + exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondarycustomaudiotrack.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondarycustomaudiotrack.dita index 5f00fcc7f8c..ad1f82b8158 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondarycustomaudiotrack.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondarycustomaudiotrack.dita @@ -2,36 +2,37 @@ stopSecondaryCustomAudioTrack - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondaryscreencapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondaryscreencapture.dita index 9947429389c..d301f2b632a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondaryscreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_stopsecondaryscreencapture.dita @@ -1,38 +1,42 @@ - <ph keyref="stopSecondaryScreenCapture" /> + <ph keyref="stopSecondaryScreenCapture"/> Stops sharing the second screen. - +

    - - - virtual int stopSecondaryScreenCapture() = 0; + + + virtual int stopSecondaryScreenCapture() = 0; - abstract stopSecondaryScreenCapture(): number; - public abstract int StopSecondaryScreenCapture(); - abstract stopSecondaryScreenCapture(): number; - Future<void> stopSecondaryScreenCapture(); -

    + abstract stopSecondaryScreenCapture(): number; + public abstract int StopSecondaryScreenCapture(); + abstract stopSecondaryScreenCapture(): number; + Future<void> stopSecondaryScreenCapture(); +

    Details -

    After calling , you can call this method to stop sharing the secondary screen.

    +

    After calling , you can call this method + to stop sharing the secondary screen.

    - <ph keyref="return-section-title" /> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; you need to catch the exception and handle it accordingly.

    + <ph keyref="return-section-title"/> +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; you need to catch the + exception and handle it accordingly.

      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera.dita b/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera.dita index 1930bfe090c..2f8899435c0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera.dita @@ -1,45 +1,65 @@ - <ph keyref="switchCamera" /> - Switches between front and rear cameras. + <ph keyref="switchCamera"/> + Switches between front and rear + cameras. - +

    - public abstract int switchCamera(); - - (int)switchCamera; - virtual int switchCamera() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int switchCamera(); + - (int)switchCamera; + virtual int switchCamera() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SwitchCamera(); - abstract switchCamera(): number; - public abstract int SwitchCamera(); - abstract switchCamera(): number; - Future<void> switchCamera(); -

    + abstract switchCamera(): number; + public abstract int SwitchCamera(); + abstract switchCamera(): number; + Future<void> switchCamera(); +

    Details -

    You can call this method to dynamically switch cameras based on the actual camera availability during the app's runtime, without having to restart the video stream or reconfigure the video source.

    +

    You can call this method to dynamically switch cameras based on the actual + camera availability during the app's runtime, without having to restart the video + stream or reconfigure the video source.

    -
    • This method is for Android and iOS only.
    • -
    • This method must be called after the camera is successfully enabled, that is, after the SDK triggers the callback and returns the local video state as (1).
    • -
    • This method only switches the camera for the video stream captured by the first camera, that is, the video source set to (0) when calling .
    • -
    • This method and are both used to switch cameras. The difference is that switches to a specific camera by specifying the camera ID, while this method switches the direction of the camera (front or rear).
    • -
    +
      +
    • This method is for Android and iOS + only.
    • +
    • This method must be called after the camera is successfully + enabled, that is, after the SDK triggers the callback and returns the local video + state as (1).
    • +
    • This method only switches the camera for the video stream + captured by the first camera, that is, the video source set to (0) when + calling .
    • +
    • This method and are both used + to switch cameras. The difference is that + switches to a specific camera by specifying the camera ID, while this method + switches the direction of the camera (front or rear).
    • +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita index 772b0bb7936..50c4509b6e3 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_switchcamera2.dita @@ -1,59 +1,69 @@ - <ph keyref="switchCamera2" /> + <ph keyref="switchCamera2"/> Switches cameras by camera ID. - +

    - public abstract int switchCamera(String cameraId); - - - - - - - -

    + public abstract int switchCamera(String cameraId); + + + + + + + +

    Details
    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +

    -

      -
    • -
    • -
    • This method and both are used to switch cameras. The difference is that switches the camera direction (front or rear), while this method switches to a specific camera by specifying the camera ID.
    • -
    +
      +
    • +
    • +
    • This method and both are used to switch + cameras. The difference is that switches + the camera direction (front or rear), while this method switches to a + specific camera by specifying the camera ID.
    • +
    Parameters - - cameraId - The camera ID. You can get the camera ID through the Android native system API, see and for details. - + + cameraId + The camera ID. You can get the camera ID through the Android native system + API, see and for + details. +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_switchchannel.dita b/en-US/dita/RTC-NG/API/api_irtcengine_switchchannel.dita index 780889e3a67..282594aa328 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_switchchannel.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_switchchannel.dita @@ -13,59 +13,84 @@

    - public abstract int switchChannel(String token, String channelName); - -(int)switchChannel:(NSString* _Nonnull)token channelName:(NSString* _Nonnull)channelName; - virtual int switchChannel(const char* token, const char* channel) = 0; - - - - -

    + public abstract int switchChannel(String token, String channelName); + -(int)switchChannel:(NSString* _Nonnull)token channelName:(NSString* _Nonnull)channelName; + virtual int switchChannel(const char* token, const char* channel) = 0; + + + + +

    Details -

    This method allows the audience of an interactive live streaming channel to switch to a different channel.

    -

    After the user successfully switches to another channel, the and callbacks are triggered to indicate that the user has left the original channel and joined a new one.

    -

    Once the user switches to another channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    +

    This method allows the audience of an interactive live streaming channel to switch to + a different channel.

    +

    After the user successfully switches to another channel, the and callbacks + are triggered to indicate that the user has left the original channel and joined a + new one.

    +

    Once the user switches to another channel, the user subscribes to the audio and video + streams of all the other users in the channel by default, giving rise to usage and + billing calculation. To stop subscribing to a specified stream or all remote + streams, call the corresponding mute methods.

    Parameters - - token - -

    The token generated at your server.

      -
    • In scenarios with low security requirements, token is optional and can be set as .
    • -
    • In scenarios with high security requirements, set the value to the token generated from your server. If you enable the App Certificate, you must use a token to join the channel.
    • -
    - Ensure that the App ID used for creating the token is the same App ID used by the method for initializing the RTC engine.

    -
    -
    - - channelNamechannel - -

    The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):

      -
    • All lowercase English letters: a to z.
    • -
    • All uppercase English letters: A to Z.
    • -
    • All numeric characters: 0 to 9.
    • -
    • Space
    • -
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
    • -

    -
    -
    -
    + + token + +

    The token generated at your server.

      +
    • In scenarios with low security requirements, token is optional + and can be set as .
    • +
    • In scenarios with high security requirements, set the value to + the token generated from your server. If you enable the App + Certificate, you must use a token to join the channel.
    • +
    + Ensure that the App ID used for creating the + token is the same App ID used by the + method for initializing the RTC engine. +

    +
    +
    + + channelNamechannel + +

    The channel name. This parameter signifies the channel in which users + engage in real-time audio and video interaction. Under the premise of + the same App ID, users who fill in the same channel ID enter the same + channel for audio and video interaction. The string length must be less + than 64 bytes. Supported characters (89 characters in total):

      +
    • All lowercase English letters: a to z.
    • +
    • All uppercase English letters: A to Z.
    • +
    • All numeric characters: 0 to 9.
    • +
    • Space
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", + "|", "~", ","
    • +

    +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -5: The request is rejected. This is probably because the user is not an audience member.
      • -
      • -7: The SDK is not initialized.
      • -
      • -102: The channel name is invalid. Use a valid channel name.
      • -
      • -113: The user is not in the channel.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -1: A general error occurs (no specified reason).
    • +
    • -2: The parameter is invalid.
    • +
    • -5: The request is rejected. This is probably because the user is not an + audience member.
    • +
    • -7: The SDK is not initialized.
    • +
    • -102: The channel name is invalid. Use a valid channel name.
    • +
    • -113: The user is not in the channel.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_switchchannel2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_switchchannel2.dita index 627503f720e..6acbb6c8554 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_switchchannel2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_switchchannel2.dita @@ -2,7 +2,9 @@ <ph keyref="switchChannel2"/> - Switches to a different channel, and configures whether to automatically subscribe to audio or video streams in the target channel. + Switches to a different channel, and configures whether + to automatically subscribe to audio or video streams in the target + channel. @@ -13,66 +15,92 @@

    - - - virtual int switchChannel(const char* token, + + + virtual int switchChannel(const char* token, const char* channelId, const ChannelMediaOptions& options) = 0; - - public abstract int SwitchChannel(string token, string channelId, ChannelMediaOptions options); - - -

    + + public abstract int SwitchChannel(string token, string channelId, ChannelMediaOptions options); + + +

    Details -

    This method allows the audience of an interactive live streaming channel to switch to a different channel.

    -

    After the user successfully switches to another channel, the and callbacks are triggered to indicate that the user has left the original channel and joined a new one.

    -

    Once the user switches to another channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    +

    This method allows the audience of an interactive live streaming channel to switch to + a different channel.

    +

    After the user successfully switches to another channel, the and callbacks + are triggered to indicate that the user has left the original channel and joined a + new one.

    +

    Once the user switches to another channel, the user subscribes to the audio and video + streams of all the other users in the channel by default, giving rise to usage and + billing calculation. To stop subscribing to a specified stream or all remote + streams, call the corresponding mute methods.

    Parameters - - token - -

    The token generated at your server.

      -
    • In scenarios with low security requirements, token is optional and can be set as .
    • -
    • In scenarios with high security requirements, set the value to the token generated from your server. If you enable the App Certificate, you must use a token to join the channel.
    • -
    - Ensure that the App ID, channel name, and user name used for creating the token are the same ones as those used by the method for initializing the RTC engine.

    -
    -
    - - channelId - channelName - -

    The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channelId enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters (89 characters in total):

      -
    • All lowercase English letters: a to z.
    • -
    • All uppercase English letters: A to Z.
    • -
    • All numeric characters: 0 to 9.
    • -
    • Space
    • -
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
    • -

    -
    -
    - - options - The channel media options. See . - -
    + + token + +

    The token generated at your server.

      +
    • In scenarios with low security requirements, token is optional + and can be set as .
    • +
    • In scenarios with high security requirements, set the value to + the token generated from your server. If you enable the App + Certificate, you must use a token to join the channel.
    • +
    + Ensure that the App ID, channel name, and user + name used for creating the token are the same ones as those used by + the method for initializing the RTC + engine. +

    +
    +
    + + channelId + channelName + +

    The channel name. This parameter signifies the channel in which users + engage in real-time audio and video interaction. Under the premise of + the same App ID, users who fill in the same channelId + enter the same channel for audio and video interaction. + The string length must be less than 64 bytes. Supported characters (89 + characters in total):

      +
    • All lowercase English letters: a to z.
    • +
    • All uppercase English letters: A to Z.
    • +
    • All numeric characters: 0 to 9.
    • +
    • Space
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", + "|", "~", ","
    • +

    +
    +
    + + options + The channel media options. See . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -5: The request is rejected. This is probably because the user is not an audience member.
      • -
      • -7: The SDK is not initialized.
      • -
      • -102: The channel name is invalid. Use a valid channel name.
      • -
      • -113: The user is not in the channel.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -1: A general error occurs (no specified reason).
    • +
    • -2: The parameter is invalid.
    • +
    • -5: The request is rejected. This is probably because the user is not an + audience member.
    • +
    • -7: The SDK is not initialized.
    • +
    • -102: The channel name is invalid. Use a valid channel name.
    • +
    • -113: The user is not in the channel.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_takescreenshot.dita b/en-US/dita/RTC-NG/API/api_irtcengine_takescreenshot.dita index 8d758dd1e6a..11de4750d30 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_takescreenshot.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_takescreenshot.dita @@ -1,40 +1,43 @@ - <ph keyref="takeScreenshot" /> - Takes a screenshot while video is playing. + <ph keyref="takeScreenshot"/> + Takes a screenshot while video is + playing. - +

    - - - virtual int takeScreenshot(const char* filename) = 0; - - - - -

    + + + virtual int takeScreenshot(const char* filename) = 0; + + + + +

    Parameters - - filename - The filename of the screenshot file. - -
    + + filename + The filename of the screenshot file. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita b/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita index 63d87c4d468..b536d425ebd 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_takesnapshot.dita @@ -1,65 +1,88 @@ - <ph keyref="takeSnapshot" /> + <ph keyref="takeSnapshot"/> Takes a snapshot of a video stream. - +

    - public abstract int takeSnapshot(int uid, String filePath); - - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; - virtual int takeSnapshot(uid_t uid, const char* filePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int takeSnapshot(int uid, String filePath); + - (NSInteger)takeSnapshot:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; + virtual int takeSnapshot(uid_t uid, const char* filePath) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int TakeSnapshot(int64 uid, FString filePath); - abstract takeSnapshot(uid: number, filePath: string): number; - public abstract int TakeSnapshot(uint uid, string filePath); - abstract takeSnapshot(uid: number, filePath: string): number; - Future<void> takeSnapshot({required int uid, required String filePath}); -

    + abstract takeSnapshot(uid: number, filePath: string): number; + public abstract int TakeSnapshot(uint uid, string filePath); + abstract takeSnapshot(uid: number, filePath: string): number; + Future<void> takeSnapshot({required int uid, required String filePath}); +

    Details -

    This method takes a snapshot of a video stream from the specified user, generates a JPG image, and saves it to the specified path.

    -

    The method is asynchronous, and the SDK has not taken the snapshot when the method call returns. After a successful method call, the SDK triggers the callback to report whether the snapshot is successfully taken, as well as the details for that snapshot.

    -

    The SDK has not taken the snapshot when the method call returns. After a successful method call, the SDK triggers the callback to report whether the snapshot is successfully taken, as well as the details for that snapshot.

    +

    This method takes a snapshot of a video stream from the specified user, + generates a JPG image, and saves it to the specified path.

    +

    The method is + asynchronous, and the SDK has not taken the snapshot when the method call returns. + After a successful method call, the SDK triggers the callback to report whether the snapshot is successfully taken, as well as the + details for that snapshot.

    +

    The SDK has not taken the snapshot when the method call returns. After a + successful method call, the SDK triggers the + callback to report whether the snapshot is successfully taken, as well as the + details for that snapshot.

    -
      -
    • Call this method after joining a channel.
    • -
    • When used for local video snapshots, this method takes a snapshot for the video streams specified in .
    • -
    • If the user's video has been preprocessed, for example, watermarked or beautified, the resulting snapshot includes the pre-processing effect.
    • -
    +
      +
    • Call this method after joining a channel.
    • +
    • When used for local video snapshots, this method takes a snapshot for the + video streams specified in .
    • +
    • If the user's video has been preprocessed, for example, watermarked or + beautified, the resulting snapshot includes the pre-processing effect.
    • +
    +
    Parameters - - uid - The user ID. Set uid as 0 if you want to take a snapshot of the local user's video. - - - filePath - -

    The local path (including filename extensions) of the snapshot. For example:

      -
    • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
    • -
    • iOS: /App Sandbox/Library/Caches/example.jpg
    • -
    • macOS: ~/Library/Logs/example.jpg
    • -
    • Android: /storage/emulated/0/Android/data/<package name>/files/example.jpg
    • -
    Ensure that the path you specify exists and is writable.

    -
    -
    -
    + + uid + The user ID. Set uid as 0 if you want to take a snapshot of the local user's + video. + + + filePath + +

    The local path (including filename extensions) of the snapshot. For example:

      +
    • Windows: + C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
    • +
    • iOS: /App + Sandbox/Library/Caches/example.jpg
    • +
    • macOS: + ~/Library/Logs/example.jpg
    • +
    • Android: + /storage/emulated/0/Android/data/<package + name>/files/example.jpg
    • +
    Ensure that the path you specify exists and is writable.

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita index 7bf49c39e04..ca9e250dc2d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unloadalleffects.dita @@ -1,36 +1,42 @@ - <ph keyref="unloadAllEffects" /> - Releases a specified preloaded audio effect from the memory. + <ph keyref="unloadAllEffects"/> + Releases a specified preloaded audio effect from the + memory. - +

    - - - virtual int unloadAllEffects() = 0; + + + virtual int unloadAllEffects() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UnloadAllEffects(); - abstract unloadAllEffects(): number; - public abstract int UnloadAllEffects(); - abstract unloadAllEffects(): number; - Future<void> unloadAllEffects(); -

    + abstract unloadAllEffects(): number; + public abstract int UnloadAllEffects(); + abstract unloadAllEffects(): number; + Future<void> unloadAllEffects(); +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita index c8493f14153..77329fdd262 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unloadeffect.dita @@ -1,45 +1,52 @@ - <ph keyref="unloadEffect" /> - Releases a specified preloaded audio effect from the memory. + <ph keyref="unloadEffect"/> + Releases a specified preloaded audio effect from the + memory. - +

    - public abstract int unloadEffect(int soundId); + public abstract int unloadEffect(int soundId); - - (int)unloadEffect:(int)soundId; + - (int)unloadEffect:(int)soundId; - virtual int unloadEffect(int soundId) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int unloadEffect(int soundId) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UnloadEffect(int soundId); - abstract unloadEffect(soundId: number): number; - public abstract int UnloadEffect(int soundId); - abstract unloadEffect(soundId: number): number; - Future<void> unloadEffect(int soundId); -

    + abstract unloadEffect(soundId: number): number; + public abstract int UnloadEffect(int soundId); + abstract unloadEffect(soundId: number): number; + Future<void> unloadEffect(int soundId); +

    Parameters - - soundId - The ID of the audio effect. Each audio effect has a unique ID. - -
    + + soundId + The ID of the audio effect. Each audio effect has a unique ID. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudioencodedframeobserver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudioencodedframeobserver.dita index 80dab47eac8..1e1db9d876f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudioencodedframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudioencodedframeobserver.dita @@ -2,7 +2,8 @@ <ph keyref="unregisterAudioEncodedFrameObserver"/> - Unregisters the encoded audio frame observer. + Unregisters the encoded audio frame + observer. @@ -13,36 +14,41 @@

    - - - - abstract unregisterAudioEncodedFrameObserver( + + + + abstract unregisterAudioEncodedFrameObserver( observer: IAudioEncodedFrameObserver ): number; - public abstract int UnRegisterAudioEncodedFrameObserver(); - abstract unregisterAudioEncodedFrameObserver( + public abstract int UnRegisterAudioEncodedFrameObserver(); + abstract unregisterAudioEncodedFrameObserver( observer: IAudioEncodedFrameObserver ): number; - void unregisterAudioEncodedFrameObserver(AudioEncodedFrameObserver observer); -

    + void unregisterAudioEncodedFrameObserver(AudioEncodedFrameObserver observer); +

    Parameters - - observer - The encoded audio observer. See . - + + observer + The encoded audio observer. See . +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudioframeobserver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudioframeobserver.dita index 95c114264b0..f6b7063a666 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudioframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudioframeobserver.dita @@ -13,21 +13,25 @@

    - - - - - public abstract int UnRegisterAudioFrameObserver(); - - -

    + + + + + public abstract int UnRegisterAudioFrameObserver(); + + +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita index 29f5b5a77ea..348b3e17dec 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unregisteraudiospectrumobserver.dita @@ -1,52 +1,63 @@ - <ph keyref="unregisterAudioSpectrumObserver" /> - Unregisters the audio spectrum observer. + <ph keyref="unregisterAudioSpectrumObserver"/> + Unregisters the audio spectrum + observer. - +

    - public abstract int unRegisterAudioSpectrumObserver(IAudioSpectrumObserver observer); - - (int) unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate; - virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int unRegisterAudioSpectrumObserver(IAudioSpectrumObserver observer); + - (int) unregisterAudioSpectrumDelegate:(id<AgoraAudioSpectrumDelegate> _Nullable)delegate; + virtual int unregisterAudioSpectrumObserver(agora::media::IAudioSpectrumObserver * observer) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UnregisterAudioSpectrumObserver(UIAudioSpectrumObserver* observer); - abstract unregisterAudioSpectrumObserver( + abstract unregisterAudioSpectrumObserver( observer: IAudioSpectrumObserver ): number; - public abstract int UnregisterAudioSpectrumObserver(); - abstract unregisterAudioSpectrumObserver( + public abstract int UnregisterAudioSpectrumObserver(); + abstract unregisterAudioSpectrumObserver( observer: IAudioSpectrumObserver ): number; - void unregisterAudioSpectrumObserver(AudioSpectrumObserver observer); -

    + void unregisterAudioSpectrumObserver(AudioSpectrumObserver observer); +

    Details -

    After calling , if you want to disable audio spectrum monitoring, you can call this method.

    - You can call this method either before or after joining a channel.
    +

    After calling , if you want to disable + audio spectrum monitoring, you can call this method.

    + You can call this method either before or + after joining a channel. +
    Parameters - - observer - delegate - The audio spectrum observer. See . - -
    + + observer + delegate + The audio spectrum observer. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita index a4ee651900e..0e1c3684eeb 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unregistermediametadataobserver.dita @@ -1,56 +1,61 @@ - <ph keyref="unregisterMediaMetadataObserver" /> - Unregisters the specified metadata observer. + <ph keyref="unregisterMediaMetadataObserver"/> + Unregisters the specified metadata + observer. - +

    - public abstract int unregisterMediaMetadataObserver(IMetadataObserver observer, int type); - - virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int unregisterMediaMetadataObserver(IMetadataObserver observer, int type); + + 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( + abstract unregisterMediaMetadataObserver( observer: IMetadataObserver, type: MetadataType ): number; - public abstract int UnregisterMediaMetadataObserver(); - abstract unregisterMediaMetadataObserver( + public abstract int UnregisterMediaMetadataObserver(); + abstract unregisterMediaMetadataObserver( observer: IMetadataObserver, type: MetadataType ): number; - void unregisterMediaMetadataObserver( + void unregisterMediaMetadataObserver( {required MetadataObserver observer, required MetadataType type}); -

    +

    Parameters observer - The metadata observer. See . + The metadata observer. See . - - + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unregisterplugin.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unregisterplugin.dita index b7d46a939ec..56a99ce028f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unregisterplugin.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unregisterplugin.dita @@ -1,44 +1,48 @@ - <ph keyref="unregisterPlugin" /> + <ph keyref="unregisterPlugin"/> Unregisters a specified plugin. - +

    - - - - - - - -

    + + + + + + + +

    Details -

    After calling to register the plugin, you can call this method to unregister the plugin.

    +

    After calling to register the plugin, you can call + this method to unregister the plugin.

    Parameters - - pluginId - The ID that identifies the plugin. You can get it from . - -
    + + pluginId + The ID that identifies the plugin. You can get it from . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unregistervideoencodedimagereceiver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unregistervideoencodedimagereceiver.dita index f6716b86d40..4e2a321de5b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unregistervideoencodedimagereceiver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unregistervideoencodedimagereceiver.dita @@ -1,25 +1,27 @@ - <ph keyref="UnregisterVideoEncodedImageReceiver" /> - Unregisters a receiver object for the encoded video image. + <ph keyref="UnregisterVideoEncodedImageReceiver"/> + Unregisters a receiver object for the encoded video + image. - +

    - - - - - public abstract void UnRegisterVideoEncodedImageReceiver(); - - -

    -
    -
    \ No newline at end of file + + + + + public abstract void UnRegisterVideoEncodedImageReceiver(); + + +

    + + + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_unregistervideoframeobserver.dita b/en-US/dita/RTC-NG/API/api_irtcengine_unregistervideoframeobserver.dita index 2d5023a02bd..5eb8f83bd8a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_unregistervideoframeobserver.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_unregistervideoframeobserver.dita @@ -1,32 +1,33 @@ - <ph keyref="unregisterVideoFrameObserver" /> + <ph keyref="unregisterVideoFrameObserver"/> Unregisters the video frame observer. - +

    - - - - - public abstract void UnRegisterVideoFrameObserver(); - - -

    + + + + + public abstract void UnRegisterVideoFrameObserver(); + + +

    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita index 61b912da370..429d2d14581 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatechannelmediaoptions.dita @@ -1,48 +1,66 @@ - <ph keyref="updateChannelMediaOptions" /> - Updates the channel media options after joining the channel. + <ph keyref="updateChannelMediaOptions"/> + Updates the channel media options after joining the + channel. - +

    - public abstract int updateChannelMediaOptions(ChannelMediaOptions options); - - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions; - virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int updateChannelMediaOptions(ChannelMediaOptions options); + - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions; + virtual int updateChannelMediaOptions(const ChannelMediaOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract updateChannelMediaOptions(options: ChannelMediaOptions): number; + public abstract int UpdateChannelMediaOptions(ChannelMediaOptions options); + abstract updateChannelMediaOptions(options: ChannelMediaOptions): number; + Future<void> updateChannelMediaOptions(ChannelMediaOptions options); +

    Parameters - - options - mediaOptions - The channel media options. See . - -
    + + options + mediaOptions + The channel media options. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The value of a member in the structure is invalid. For example, the token or the user ID is invalid. You need to fill in a valid parameter.
      • -
      • -7: The object has not been initialized. You need to initialize the object before calling this method.
      • -
      • -8: The internal state of the object is wrong. The possible reason is that the user is not in the channel. Agora recommends that you use the callback to determine whether the user exists in the channel. If you receive the (1) or (5) state, the user is not in the channel. You need to call to join a channel before calling this method.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: The value of a member in the + structure is invalid. For example, the token or the user ID is invalid. + You need to fill in a valid parameter.
    • +
    • -7: The object has not been initialized. + You need to initialize the object before + calling this method.
    • +
    • -8: The internal state of the object is + wrong. The possible reason is that the user is not in the channel. Agora + recommends that you use the + callback to determine whether the user exists in the channel. If you + receive the (1) or + (5) state, the user is + not in the channel. You need to call to + join a channel before calling this method.
    • +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatechannelmediarelay.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatechannelmediarelay.dita index f166788d6e9..ece54e610f0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatechannelmediarelay.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatechannelmediarelay.dita @@ -1,62 +1,79 @@ - <ph keyref="updateChannelMediaRelay" /> - Updates the channels for media stream relay. + <ph keyref="updateChannelMediaRelay"/> + Updates the channels for media stream + relay. - +

    - public abstract int updateChannelMediaRelay( + public abstract int updateChannelMediaRelay( ChannelMediaRelayConfiguration channelMediaRelayConfiguration); - - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; - virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; + virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateChannelMediaRelay(const FChannelMediaRelayConfiguration& configuration) __deprecated; - abstract updateChannelMediaRelay( + abstract updateChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - abstract updateChannelMediaRelay( + public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + abstract updateChannelMediaRelay( configuration: ChannelMediaRelayConfiguration ): number; - Future<void> updateChannelMediaRelay( + Future<void> updateChannelMediaRelay( ChannelMediaRelayConfiguration configuration); -

    +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use instead.
    +
    -

    After the media relay starts, if you want to relay the media stream to more channels, or leave the current relay channel, you can call this method.

    -

    After a successful method call, the SDK triggers the callback with the (7) state code.

    - Call the method after successfully calling the method and receiving (, ); otherwise, the method call fails.
    +

    After the media relay starts, if you want to relay the media stream to more + channels, or leave the current relay channel, you can call this method.

    +

    After a successful method call, the SDK triggers the callback with the (7) state code.

    + Call the method after successfully calling the method and receiving (, ); + otherwise, the method call fails. +
    Parameters - - channelMediaRelayConfiguration - config - configuration - The configuration of the media stream relay. See . - -
    + + channelMediaRelayConfiguration + config + configuration + The configuration of the media stream relay. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatedirectcdnstreamingmediaoptions.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatedirectcdnstreamingmediaoptions.dita index bb9511378c9..2814d05a8cc 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatedirectcdnstreamingmediaoptions.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatedirectcdnstreamingmediaoptions.dita @@ -2,36 +2,37 @@ updateDirectCdnStreamingMediaOptions - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita index 9c6a0ebb800..b0b3c3a182b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatelocaltranscoderconfiguration.dita @@ -1,54 +1,67 @@ - <ph keyref="updateLocalTranscoderConfiguration" /> - Updates the local video mixing configuration. + <ph keyref="updateLocalTranscoderConfiguration"/> + Updates the local video mixing + configuration. - +

    - public abstract int updateLocalTranscoderConfiguration(LocalTranscoderConfiguration config); - - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalTranscoderConfiguration(_:)); - virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0; + public abstract int updateLocalTranscoderConfiguration(LocalTranscoderConfiguration config); + - (int)updateLocalTranscoderConfiguration:(AgoraLocalTranscoderConfiguration* _Nonnull)config NS_SWIFT_NAME(updateLocalTranscoderConfiguration(_:)); + virtual int updateLocalTranscoderConfiguration(const LocalTranscoderConfiguration& config) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateLocalTranscoderConfiguration(const FLocalTranscoderConfiguration& config); - abstract updateLocalTranscoderConfiguration( + abstract updateLocalTranscoderConfiguration( config: LocalTranscoderConfiguration ): number; - public abstract int UpdateLocalTranscoderConfiguration(LocalTranscoderConfiguration config); - abstract updateLocalTranscoderConfiguration( + public abstract int UpdateLocalTranscoderConfiguration(LocalTranscoderConfiguration config); + abstract updateLocalTranscoderConfiguration( config: LocalTranscoderConfiguration ): number; - Future<void> updateLocalTranscoderConfiguration( + Future<void> updateLocalTranscoderConfiguration( LocalTranscoderConfiguration config); -

    +

    Details -

    After calling , call this method if you want to update the local video mixing configuration.

    - If you want to update the video source type used for local video mixing, such as adding a second camera or screen to capture video, you need to call this method after or . +

    After calling , call this method if you + want to update the local video mixing configuration.

    + If you want to update the video source type used for local video mixing, such as + adding a second camera or screen to capture video, you need to call this method + after or .
    Parameters - - config - Configuration of the local video mixing, see . - -
    + + config + Configuration of the local video mixing, see . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita index fc1a930ccf0..de9f756079d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatepreloadchanneltoken.dita @@ -2,7 +2,8 @@ <ph keyref="updatePreloadChannelToken"/> - Updates the wildcard token for preloading channels. + Updates the wildcard token for preloading + channels. @@ -13,45 +14,59 @@

    - public abstract int updatePreloadChannelToken(String token); - - (int)updatePreloadChannelToken:(NSString * _Nonnull)token NS_SWIFT_NAME(updatePreloadChannelToken(_:)); - virtual int updatePreloadChannelToken(const char* token) = 0; - abstract updatePreloadChannelToken(token: string): number; - public abstract int UpdatePreloadChannelToken(string token); - abstract updatePreloadChannelToken(token: string): number; - Future<void> updatePreloadChannelToken(String token);

    + public abstract int updatePreloadChannelToken(String token); + - (int)updatePreloadChannelToken:(NSString * _Nonnull)token NS_SWIFT_NAME(updatePreloadChannelToken(_:)); + virtual int updatePreloadChannelToken(const char* token) = 0; + abstract updatePreloadChannelToken(token: string): number; + public abstract int UpdatePreloadChannelToken(string token); + abstract updatePreloadChannelToken(token: string): number; + Future<void> updatePreloadChannelToken(String token); +

    Details
    - -
    Since
    -
    v4.2.2
    -
    + +
    Since
    +
    v4.2.2
    +
    -

    You need to maintain the life cycle of the wildcard token by yourself. When the token expires, you need to generate a new wildcard token and then call this method to pass in the new token.

    +

    You need to maintain the life cycle of the wildcard token by yourself. When the token + expires, you need to generate a new wildcard token and then call this method to pass + in the new token.

    Applicable scenarios -

    In scenarios involving multiple channels, such as switching between different channels, using a wildcard token means users do not need to apply for a new token every time joinning a new channel, which can save users time for switching channels and reduce the pressure on your token server.

    +

    In scenarios involving multiple channels, such as switching between different + channels, using a wildcard token means users do not need to apply for a new token + every time joinning a new channel, which can save users time for switching channels + and reduce the pressure on your token server.

    Parameters - - token - The new token. - -
    + + token + The new token. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: The parameter is invalid. For example, the token is invalid. You need to pass in a valid parameter and join the channel again.
      • -
      • -7: The object has not been initialized. You need to initialize the object before calling this method.
      • -
    • +
    • < 0: Failure. See for details + and resolution suggestions.
        +
      • -2: The parameter is invalid. For example, the token is invalid. You + need to pass in a valid parameter and join the channel again.
      • +
      • -7: The object has not been initialized. + You need to initialize the object before + calling this method.
      • +
    -
    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatertmptranscoding.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatertmptranscoding.dita index 4a321870acd..6aa908da40c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatertmptranscoding.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatertmptranscoding.dita @@ -1,7 +1,9 @@ - <ph keyref="updateRtmpTranscoding"/> + + <ph keyref="updateRtmpTranscoding"/> + Updates the transcoding configuration. @@ -13,36 +15,46 @@

    - public abstract int updateRtmpTranscoding(LiveTranscoding transcoding); - - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding; - virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int updateRtmpTranscoding(LiveTranscoding transcoding); + - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding; + virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateRtmpTranscoding(FLiveTranscoding& transcoding); - abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; - public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); - abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; - Future<void> updateRtmpTranscoding(LiveTranscoding transcoding); -

    + abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; + public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); + abstract updateRtmpTranscoding(transcoding: LiveTranscoding): number; + Future<void> updateRtmpTranscoding(LiveTranscoding transcoding); +

    Details -

    Agora recommends that you use the server-side Media Push function. For details, see Use RESTful API.

    -

    After you start pushing media streams to CDN with transcoding, you can dynamically update the transcoding configuration according to the scenario. The SDK triggers the callback after the transcoding configuration is updated.

    +

    Agora recommends that you use the server-side Media Push function. For details, see + Use RESTful API.

    +

    After you start pushing media streams to CDN with transcoding, you can dynamically + update the transcoding configuration according to the scenario. The SDK triggers the + callback after the transcoding + configuration is updated.

    Parameters - - - - -
    -
    + + + + + +
    +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita index dc77fda7d42..67526eac17e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencapture.dita @@ -1,60 +1,77 @@ - <ph keyref="updateScreenCapture" /> - Updates the screen capturing parameters. + <ph keyref="updateScreenCapture"/> + Updates the screen capturing + parameters. - +

    - - - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nonnull)parameters NS_SWIFT_NAME(updateScreenCapture(_:)); - virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0; + + - (int)updateScreenCapture:(AgoraScreenCaptureParameters2* _Nonnull)parameters NS_SWIFT_NAME(updateScreenCapture(_:)); + virtual int updateScreenCapture(const ScreenCaptureParameters2& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") 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); -

    + abstract updateScreenCapture(captureParams: ScreenCaptureParameters2): number; + public abstract int UpdateScreenCapture(ScreenCaptureParameters2 captureParams); + abstract updateScreenCapture(captureParams: ScreenCaptureParameters2): number; + Future<void> updateScreenCapture(ScreenCaptureParameters2 captureParams); +

    Details -

    If the system audio is not captured when screen sharing is enabled, and then you want to update the parameter configuration and publish the system audio, you can refer to the following steps:

      -
    1. Call this method, and set captureAudio to .
    2. -
    3. Call , and set publishScreenCaptureAudio to to publish the audio captured by the screen.
    4. +

      If the system audio is not captured when screen sharing is enabled, and then you want + to update the parameter configuration and publish the system audio, you can refer to + the following steps:

        +
      1. Call this method, and set captureAudio to .
      2. +
      3. Call , and set + publishScreenCaptureAudio to to publish the audio captured by the + screen.

        -
      • This method applies to Android and iOS only.
      • -
      • On the iOS platform, screen sharing is only available on iOS 12.0 and later.
      • +
      • This method applies to Android and + iOS only.
      • +
      • On the iOS platform, screen + sharing is only available on iOS 12.0 and later.
    Parameters - - parameters - captureParams - The screen sharing encoding parameters. The default video resolution is 1920 × 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. See . - -
    + + parameters + captureParams + The screen sharing encoding parameters. The default video resolution is 1920 + × 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure.
        -
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
      +
    • +
    +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita index ebdee033f25..7240dadb165 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureparameters.dita @@ -1,60 +1,76 @@ - <ph keyref="updateScreenCaptureParameters" /> - Updates the screen capturing parameters. + <ph keyref="updateScreenCaptureParameters"/> + Updates the screen capturing + parameters. - +

    - public abstract int updateScreenCaptureParameters( + public abstract int updateScreenCaptureParameters( ScreenCaptureParameters screenCaptureParameters); - - - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams; - virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams; + virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateScreenCaptureParameters(const FScreenCaptureParameters& captureParams); - abstract updateScreenCaptureParameters( + abstract updateScreenCaptureParameters( captureParams: ScreenCaptureParameters ): number; - public abstract int UpdateScreenCaptureParameters(ScreenCaptureParameters captureParams); - abstract updateScreenCaptureParameters( + public abstract int UpdateScreenCaptureParameters(ScreenCaptureParameters captureParams); + abstract updateScreenCaptureParameters( captureParams: ScreenCaptureParameters ): number; - Future<void> updateScreenCaptureParameters( + Future<void> updateScreenCaptureParameters( ScreenCaptureParameters captureParams); -

    +

    Details -
      -
    • This method is for Windows and macOS only.
    • -
    • Call this method after starting screen sharing or window sharing.
    • -
    +
      +
    • This method is for Windows and macOS + only.
    • +
    • Call this method after starting screen sharing or window sharing.
    • +
    + +
    Parameters - - screenCaptureParameters - captureParams - The screen sharing encoding parameters. The default video resolution is 1920 × 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. See . - -
    + + screenCaptureParameters + captureParams + The screen sharing encoding parameters. The default video resolution is 1920 + × 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges. See . + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion.dita index d4927fda8a1..2904001f5f9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion.dita @@ -1,60 +1,78 @@ - <ph keyref="updateScreenCaptureRegion1" /> + <ph keyref="updateScreenCaptureRegion1"/> Updates the screen capturing region. - +

    - - - virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + + + virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateScreenCaptureRegion(const FRectangle& regionRect); - abstract updateScreenCaptureRegion(regionRect: Rectangle): number; - public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); - abstract updateScreenCaptureRegion(regionRect: Rectangle): number; - Future<void> updateScreenCaptureRegion(Rectangle regionRect); -

    + abstract updateScreenCaptureRegion(regionRect: Rectangle): number; + public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); + abstract updateScreenCaptureRegion(regionRect: Rectangle): number; + Future<void> updateScreenCaptureRegion(Rectangle regionRect); +

    Details - Call this method after starting screen sharing or window sharing. + Call this method after starting screen sharing or window + sharing.
    Parameters - - regionRect - The relative location of the screen-share area to the screen or window. If you do not set this parameter, the SDK shares the whole screen or window. See . If the specified region overruns the screen or window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen or window. - - - rect - -

    (Optional) The relative location of the region to the window. If you do not set this parameter, the SDK shares the whole window. It consists of the following parameters:

      -
    • x: The horizontal offset from the top-left corner.
    • -
    • y: The vertical offset from the top-left corner.
    • -
    • width: The width of the region.
    • -
    • height: The height of the region.
    • -

    -

    If the specified region overruns the window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole window.

    -
    -
    -
    + + regionRect + The relative location of the screen-share area to the screen or window. If + you do not set this parameter, the SDK shares the whole screen or window. + See . If the specified region overruns the screen + or window, the SDK shares only the region within it; if you set width or + height as 0, the SDK shares the whole screen or window. + + + rect + +

    (Optional) The relative location of the region to the window. If you do + not set this parameter, the SDK shares the whole window. It consists of + the following parameters:

      +
    • x: The horizontal offset from the top-left corner.
    • +
    • y: The vertical offset from the top-left corner.
    • +
    • width: The width of the region.
    • +
    • height: The height of the region.
    • +

    +

    If the specified region overruns the window, the SDK shares only the + region within it; if you set width or height as 0, the SDK shares the + whole window.

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
      -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita index 73ecbf9ab9e..10e2f95793e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_updatescreencaptureregion2.dita @@ -13,30 +13,41 @@

    - - - (int)updateScreenCaptureRegion:(CGRect)rect; - virtual int updateScreenCaptureRegion(const Rect* rect) = 0; - abstract updateScreenCaptureRegion(regionRect: Rectangle): number; - public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); - - Future<void> updateScreenCaptureRegion(Rectangle regionRect); -

    + + - (int)updateScreenCaptureRegion:(CGRect)rect; + virtual int updateScreenCaptureRegion(const Rect* rect) = 0; + abstract updateScreenCaptureRegion(regionRect: Rectangle): number; + public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); + + Future<void> updateScreenCaptureRegion(Rectangle regionRect); +

    Parameters - - rect - regionRect - The relative location of the region to the screen or window. If you do not set this parameter, the SDK shares the whole screen. See . If the specified region overruns the screen or window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen or window. - -
    + + rect + regionRect + The relative location of the region to the screen or window. If you do not + set this parameter, the SDK shares the whole screen. See . If the specified + region overruns the screen or window, the SDK shares only the region within + it; if you set width or height as 0, the SDK shares the whole screen or + window. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengine_uploadlogfile.dita b/en-US/dita/RTC-NG/API/api_irtcengine_uploadlogfile.dita index c9a3f62abb1..382dc8e93b7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengine_uploadlogfile.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengine_uploadlogfile.dita @@ -1,58 +1,80 @@ - <ph keyref="uploadLogFile" /> + <ph keyref="uploadLogFile"/> Uploads all SDK log files. - +

    - - - virtual int uploadLogFile(agora::util::AString& requestId) = 0; - - public abstract string UploadLogFile(); - - Future<void> uploadLogFile(String requestId); -

    + + + virtual int uploadLogFile(agora::util::AString& requestId) = 0; + + public abstract string UploadLogFile(); + + Future<void> uploadLogFile(String requestId); +

    Details -

    Uploads all SDK log files from the client to the Agora server. After calling this method successfully, the SDK triggers the callback to report whether the log file is successfully uploaded to the Agora server.

    +

    Uploads all SDK log files from the client to the Agora server. After calling this + method successfully, the SDK triggers the + callback to report whether the log file is successfully uploaded to the Agora + server.

    - Do not call this method more than once per minute; otherwise, the SDK reports ERR_TOO_OFTEN(12).

    + Do not call this method more than once per minute; otherwise, + the SDK reports ERR_TOO_OFTEN(12).

    - This method cannot be called more than once per minute; otherwise, the SDK returns .

    -

    For easier debugging, Agora recommends that you bind the uploadLogFile method to the UI element of your app, to instruct the user to upload a log file when a quality issue occurs.

    + This method cannot be called more than once per minute; + otherwise, the SDK returns .

    +

    For easier debugging, Agora recommends that you bind the + uploadLogFile method to the UI element of your app, to + instruct the user to upload a log file when a quality issue occurs.

    Parameters - - requestId - -

    The request ID. The request ID is the same as the requestId in the callback. You can use the requestId to match a specific upload with a callback.

    -
    -
    -
    + + requestId + +

    The request ID. The request ID is the same as the + requestId in the callback. You can use the + requestId to match a specific upload with a + callback.

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -12(ERR_TOO_OFTEN): The call frequency exceeds the limit.
      • -
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
        +
      • -12(ERR_TOO_OFTEN): The call frequency exceeds the + limit.
      • +
      -
    • The method call succeeds: Return the request ID. The request ID is the same as the requestId in the callback. You can use the requestId to match a specific upload with a callback.
    • -
    • The method callI fails: Returns . Probably because the method call frequency exceeds the limit.
    • -
    +
  • The method call succeeds: Return the request ID. The request ID is the same as + the requestId in the + callback. You can use the requestId to match a specific + upload with a callback.
  • +
  • The method callI fails: Returns . Probably because the method + call frequency exceeds the limit.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_addpublishstreamurlex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_addpublishstreamurlex.dita index de70618aea0..fa972d93aa5 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_addpublishstreamurlex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_addpublishstreamurlex.dita @@ -1,73 +1,92 @@ - <ph keyref="addPublishStreamUrlEx" /> - Publishes the local stream to a specified CDN live streaming URL. + <ph keyref="addPublishStreamUrlEx"/> + Publishes the local stream to a specified CDN live + streaming URL. - +

    - public abstract int addPublishStreamUrlEx( + public abstract int addPublishStreamUrlEx( String url, boolean transcodingEnabled, RtcConnection connection); - - (int)addPublishStreamUrlEx:(NSString * _Nonnull)url + - (int)addPublishStreamUrlEx:(NSString * _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int addPublishStreamUrlEx(const char* url, bool transcodingEnabled, const RtcConnection& connection) = 0; - public abstract int AddPublishStreamUrlEx(string url, bool transcodingEnabled, RtcConnection connection); - abstract addPublishStreamUrlEx(url: string, transcodingEnabled: boolean, connection: RtcConnection): number; - abstract addPublishStreamUrlEx( + virtual int addPublishStreamUrlEx(const char* url, bool transcodingEnabled, const RtcConnection& connection) = 0; + public abstract int AddPublishStreamUrlEx(string url, bool transcodingEnabled, RtcConnection connection); + abstract addPublishStreamUrlEx(url: string, transcodingEnabled: boolean, connection: RtcConnection): number; + abstract addPublishStreamUrlEx( url: string, transcodingEnabled: boolean, connection: RtcConnection ): number; - Future<void> addPublishStreamUrlEx( + Future<void> addPublishStreamUrlEx( {required String url, required bool transcodingEnabled, - required RtcConnection connection}); -

    + required RtcConnection connection}); +

    Details -

    After calling this method, you can push media streams in RTMP or RTMPS protocol to the CDN according to . The SDK triggers the callback on the local client to report the state of adding a local stream to the CDN.

    +

    After calling this method, you can push media streams in RTMP or RTMPS protocol to + the CDN according to . The SDK triggers the callback on the local client to report + the state of adding a local stream to the CDN.

    -
      -
    • Call this method after joining a channel.
    • -
    • Ensure that the Media Push function is enabled.
    • -
    • This method takes effect only when you are a host in live interactive streaming.
    • -
    • This method adds only one streaming URL to the CDN each time it is called. To push multiple URLs, call this method multiple times.
    • -
    • In one instance, you can only push one upstream media stream to the CDN (such as the video stream captured by the camera or the video stream for screen sharing selected by ).
    • -
    +
      +
    • Call this method after joining a channel.
    • +
    • Ensure that the Media Push function is enabled.
    • +
    • This method takes effect only when you are a host in live interactive + streaming.
    • +
    • This method adds only one streaming URL to the CDN each time it is called. + To push multiple URLs, call this method multiple times.
    • +
    • In one instance, you can only push one + upstream media stream to the CDN (such as the video stream captured by the + camera or the video stream for screen sharing selected by ).
    • +
    + +
    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -2: Invalid parameter, usually an empty URL or a string with a length of 0.
      • -
      • -7: The engine is not initialized when streaming.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -2: Invalid parameter, usually an empty URL or a string with a length of + 0.
    • +
    • -7: The engine is not initialized when streaming.
    • +
    +
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_addvideowatermarkex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_addvideowatermarkex.dita index a1ffc0b0633..3cc2815bf64 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_addvideowatermarkex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_addvideowatermarkex.dita @@ -1,83 +1,111 @@ - <ph keyref="addVideoWatermarkEx" /> - Adds a watermark image to the local video. + <ph keyref="addVideoWatermarkEx"/> + Adds a watermark image to the local + video. - +

    - public abstract int addVideoWatermarkEx( + public abstract int addVideoWatermarkEx( String watermarkUrl, WatermarkOptions options, RtcConnection connection); - - (int)addVideoWatermarkEx:(NSURL* _Nonnull)url + - (int)addVideoWatermarkEx:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int addVideoWatermarkEx(const char* watermarkUrl, + virtual int addVideoWatermarkEx(const char* watermarkUrl, const WatermarkOptions& options, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int AddVideoWatermarkEx(FString watermarkUrl, const FWatermarkOptions& options, const FRtcConnection& connection); - abstract addVideoWatermarkEx( + abstract addVideoWatermarkEx( watermarkUrl: string, options: WatermarkOptions, connection: RtcConnection ): number; - public abstract int AddVideoWatermarkEx(string watermarkUrl, WatermarkOptions options, RtcConnection connection); - abstract addVideoWatermarkEx( + public abstract int AddVideoWatermarkEx(string watermarkUrl, WatermarkOptions options, RtcConnection connection); + abstract addVideoWatermarkEx( watermarkUrl: string, options: WatermarkOptions, connection: RtcConnection ): number; - Future<void> addVideoWatermarkEx( + Future<void> addVideoWatermarkEx( {required String watermarkUrl, required WatermarkOptions options, required RtcConnection connection}); -

    +

    Details -

    -

    The watermark coordinates are dependent on the settings in the method:

      -
    • If the orientation mode of the encoding video () is fixed landscape mode or the adaptive landscape mode, the watermark uses the landscape orientation.
    • -
    • If the orientation mode of the encoding video () is fixed portrait mode or the adaptive portrait mode, the watermark uses the portrait orientation.
    • -
    • When setting the watermark position, the region must be less than the dimensions set in the method; otherwise, the watermark image will be cropped.
    • -

    +

    +

    The watermark coordinates are dependent on the settings in the method:

      +
    • If the orientation mode of the encoding video () is fixed landscape mode or the adaptive + landscape mode, the watermark uses the landscape orientation.
    • +
    • If the orientation mode of the encoding video () is fixed portrait mode or the adaptive + portrait mode, the watermark uses the portrait orientation.
    • +
    • When setting the watermark position, the region must be less than the + dimensions set in the + method; otherwise, the watermark image will be cropped.
    • +
    +

    -
      -
    • Ensure that you have called before calling this method.
    • -
    • This method supports adding a watermark image in the PNG file format only. Supported pixel formats of the PNG image are RGBA, RGB, Palette, Gray, and Alpha_gray.
    • -
    • If the dimensions of the PNG image differ from your settings in this method, the image will be cropped or zoomed to conform to your settings.
    • -
    • If you have enabled the local video preview by calling the method, you can use the visibleInPreview member to set whether or not the watermark is visible in the preview.
    • -
    • If you have enabled the mirror mode for the local video, the watermark on the local video is also mirrored. To avoid mirroring the watermark, Agora recommends that you do not use the mirror and watermark functions for the local video at the same time. You can implement the watermark function in your application layer.
    • -
    +
      +
    • Ensure that you have called before calling this + method.
    • +
    • This method supports adding a watermark image in the PNG file format only. + Supported pixel formats of the PNG image are RGBA, RGB, Palette, Gray, and + Alpha_gray.
    • +
    • If the dimensions of the PNG image differ from your settings in this method, + the image will be cropped or zoomed to conform to your settings.
    • +
    • If you have enabled the local video preview by calling the method, you can use the + visibleInPreview member to set whether or not the + watermark is visible in the preview.
    • +
    • If you have enabled the mirror mode for the local video, the watermark on + the local video is also mirrored. To avoid mirroring the watermark, Agora + recommends that you do not use the mirror and watermark functions for the + local video at the same time. You can implement the watermark function in + your application layer.
    • +
    + +
    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_adjustrecordingsignalvolumeex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_adjustrecordingsignalvolumeex.dita index 6fcf55ce86a..4b00c02cdf7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_adjustrecordingsignalvolumeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_adjustrecordingsignalvolumeex.dita @@ -1,63 +1,68 @@ - <ph keyref="adjustRecordingSignalVolumeEx" /> + <ph keyref="adjustRecordingSignalVolumeEx"/> Adjusts the capturing signal volume. - +

    - public abstract int adjustRecordingSignalVolumeEx(int volume, RtcConnection connection); - - (int)adjustRecordingSignalVolumeEx:(NSInteger)volume + public abstract int adjustRecordingSignalVolumeEx(int volume, RtcConnection connection); + - (int)adjustRecordingSignalVolumeEx:(NSInteger)volume connection:(AgoraRtcConnection* _Nonnull)connection; - virtual int adjustRecordingSignalVolumeEx(int volume, const RtcConnection& connection) = 0; - - - -

    + virtual int adjustRecordingSignalVolumeEx(int volume, const RtcConnection& connection) = 0; + + + + +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    Call this method after joining a channel.
    Applicable scenarios -

    +

    Parameters - - volume - Integer only. The value range is [0,400].
      -
    • : Mute the media file.If you only need to mute the audio signal, Agora recommends that you use instead.
    • -
    • 100:(默认) 原始音量。
    • -
    • 400: Four times the original volume (amplifying the audio signals by four times).
    -
    - - connection - The connection information. See . - + + volume + Integer only. The value range is [0,400].
      +
    • : Mute the media file.If you only need to mute the + audio signal, Agora recommends that you use instead.
    • +
    • 100:(默认) 原始音量。
    • +
    • 400: Four times the original volume (amplifying the audio signals by + four times).
    • +
    +
    + + connection + The connection information. See . +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita index af5788eeb91..8dbc4562536 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_adjustuserplaybacksignalvolumeex.dita @@ -2,7 +2,8 @@ <ph keyref="adjustUserPlaybackSignalVolumeEx"/> - Adjusts the playback signal volume of a specified remote user. + Adjusts the playback signal volume of a specified + remote user. @@ -13,67 +14,78 @@

    - public abstract int adjustUserPlaybackSignalVolumeEx( + public abstract int adjustUserPlaybackSignalVolumeEx( int uid, int volume, RtcConnection connection); - - (int)adjustUserPlaybackSignalVolumeEx:(NSUInteger)uid + - (int)adjustUserPlaybackSignalVolumeEx:(NSUInteger)uid volume:(NSInteger)volume connection:(AgoraRtcConnection* _Nonnull)connection; - virtual int adjustUserPlaybackSignalVolumeEx(unsigned int uid, int volume, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int adjustUserPlaybackSignalVolumeEx(unsigned int uid, int volume, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int AdjustUserPlaybackSignalVolumeEx(int64 uid, int volume, const FRtcConnection& connection); - abstract adjustUserPlaybackSignalVolumeEx( + abstract adjustUserPlaybackSignalVolumeEx( uid: number, volume: number, connection: RtcConnection ): number; - public abstract int AdjustUserPlaybackSignalVolumeEx(uint uid, int volume, RtcConnection connection); - abstract adjustUserPlaybackSignalVolumeEx( + public abstract int AdjustUserPlaybackSignalVolumeEx(uint uid, int volume, RtcConnection connection); + abstract adjustUserPlaybackSignalVolumeEx( uid: number, volume: number, connection: RtcConnection ): number; - Future<void> adjustUserPlaybackSignalVolumeEx( + Future<void> adjustUserPlaybackSignalVolumeEx( {required int uid, required int volume, required RtcConnection connection}); -

    +

    Details
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    You can call this method to adjust the playback volume of a specified remote user. To adjust the playback volume of different remote users, call the method as many times, once for each remote user.

    +

    You can call this method to adjust the playback volume of a specified remote user. To + adjust the playback volume of different remote users, call the method as many times, + once for each remote user.

    -
      -
    • Call this method after joining a channel.
    • -
    • The playback volume here refers to the mixed volume of a specified remote user.
    • -
    +
      +
    • Call this method after joining a channel.
    • +
    • The playback volume here refers to the mixed volume of a specified remote + user.
    • +
    + +
    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_clearvideowatermarkex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_clearvideowatermarkex.dita index b6c8dd04689..f1b2f359d40 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_clearvideowatermarkex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_clearvideowatermarkex.dita @@ -1,43 +1,50 @@ - <ph keyref="clearVideoWatermarkEx" /> - Removes the watermark image from the video stream. + <ph keyref="clearVideoWatermarkEx"/> + Removes the watermark image from the video + stream. - +

    - public abstract int clearVideoWatermarkEx(RtcConnection connection); - - (int)clearVideoWatermarkEx:(AgoraRtcConnection * _Nonnull)connection; - virtual int clearVideoWatermarkEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int clearVideoWatermarkEx(RtcConnection connection); + - (int)clearVideoWatermarkEx:(AgoraRtcConnection * _Nonnull)connection; + virtual int clearVideoWatermarkEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ClearVideoWatermarkEx(const FRtcConnection& connection); - abstract clearVideoWatermarkEx(connection: RtcConnection): number; - public abstract int ClearVideoWatermarkEx(RtcConnection connection); - abstract clearVideoWatermarkEx(connection: RtcConnection): number; - Future<void> clearVideoWatermarkEx(RtcConnection connection); -

    + abstract clearVideoWatermarkEx(connection: RtcConnection): number; + public abstract int ClearVideoWatermarkEx(RtcConnection connection); + abstract clearVideoWatermarkEx(connection: RtcConnection): number; + Future<void> clearVideoWatermarkEx(RtcConnection connection); +

    Parameters - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita index f6268503186..8c0362bb2d9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex.dita @@ -1,84 +1,108 @@ - <ph keyref="createDataStreamEx1" /> + <ph keyref="createDataStreamEx1"/> Creates a data stream. - +

    - public abstract int createDataStreamEx( + public abstract int createDataStreamEx( boolean reliable, boolean ordered, RtcConnection connection); - - (int)createDataStreamEx:(NSInteger * _Nonnull)streamId + - (int)createDataStreamEx:(NSInteger * _Nonnull)streamId reliable:(BOOL)reliable ordered:(BOOL)ordered connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(createDataStreamEx(_:reliable:ordered:connection:)); - virtual int createDataStreamEx(int* streamId, bool reliable, bool ordered, const RtcConnection& connection) = 0; - abstract createDataStreamEx( + virtual int createDataStreamEx(int* streamId, bool reliable, bool ordered, const RtcConnection& connection) = 0; + abstract createDataStreamEx( config: DataStreamConfig, connection: RtcConnection ): number; - public abstract int CreateDataStreamEx(ref int streamId, bool reliable, bool ordered, RtcConnection connection); - -

    + public abstract int CreateDataStreamEx(ref int streamId, bool reliable, bool ordered, RtcConnection connection); + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use + instead.
    +
    -

    You can call this method to create a data stream and improve the reliability and ordering of data transmission.

    +

    You can call this method to create a data stream and improve the + reliability and ordering of data transmission.

    -
      -
    • Ensure that you set the same value for reliable and ordered.
    • -
    • Each user can create up to five data streams during the lifecycle of .
    • -
    • The data channel allows a data delay of up to 5 seconds. If the receiver does not receive the data stream within 5 seconds, the data channel reports an error.
    • -
    +
      +
    • Ensure that you set the same value for reliable and + ordered.
    • +
    • Each user can create up to five data streams during the lifecycle of .
    • +
    • The data channel allows a data delay of up to 5 seconds. If the receiver + does not receive the data stream within 5 seconds, the data channel reports + an error.
    • +
    + +
    Parameters - - - - - - reliable - -

    Sets whether the recipients are guaranteed to receive the data stream from the sender within five seconds:

      -
    • : The recipients receive the data stream from the sender within five seconds. If the recipient does not receive the data stream within five seconds, an error is reported to the application.
    • -
    • : There is no guarantee that the recipients receive the data stream from the sender within five seconds. The SDK does not report errors if reception is delayed or data is lost.
    • -

    -
    -
    - - ordered - -

    Sets whether the recipients receive the data stream in the sent order:

      -
    • : The recipients receive the data stream in the sent order.
    • -
    • : There is no guarantee that the recipients receive the data stream in the sent order.
    • -

    -
    -
    - - - - -
    + + + + + + reliable + +

    Sets whether the recipients are guaranteed to receive the data stream + from the sender within five seconds:

      +
    • : The recipients receive the + data stream from the sender within five seconds. If the + recipient does not receive the data stream within five seconds, + an error is reported to the application.
    • +
    • : There is no guarantee + that the recipients receive the data stream from the sender + within five seconds. The SDK does not report errors if reception + is delayed or data is lost.
    • +

    +
    +
    + + ordered + +

    Sets whether the recipients receive the data stream in the sent order:

      +
    • : The recipients receive the + data stream in the sent order.
    • +
    • : There is no guarantee + that the recipients receive the data stream in the sent + order.
    • +

    +
    +
    + + + + + +
    Returns
      -
    • Returns the stream ID, if the method call is successful.
    • -
    • 0: The data stream is successfully created.
    • -
    • < 0: Fails to create the data stream.
    • -
    +
  • Returns the stream ID, if the method call is + successful.
  • +
  • 0: The data stream is successfully created.
  • +
  • < 0: Fails to create the data stream.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita index 28c0941f2e8..f4e3eab782e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_createdatastreamex2.dita @@ -1,66 +1,76 @@ - <ph keyref="createDataStreamEx2" /> + <ph keyref="createDataStreamEx2"/> Creates a data stream. - +

    - public abstract int createDataStreamEx(DataStreamConfig config, RtcConnection connection); + public abstract int createDataStreamEx(DataStreamConfig config, RtcConnection connection); - - (int)createDataStreamEx:(NSInteger * _Nonnull)streamId + - (int)createDataStreamEx:(NSInteger * _Nonnull)streamId config:(AgoraDataStreamConfig * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(createDataStreamEx(_:config:connection:)); - virtual int createDataStreamEx(int* streamId, DataStreamConfig& config, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int createDataStreamEx(int* streamId, DataStreamConfig& config, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int CreateDataStreamEx(int& streamId, const FDataStreamConfig& config, const FRtcConnection& connection); - abstract createDataStreamEx( + abstract createDataStreamEx( config: DataStreamConfig, connection: RtcConnection ): number; - public abstract int CreateDataStreamEx(ref int streamId, DataStreamConfig config, RtcConnection connection); - abstract createDataStreamEx( + public abstract int CreateDataStreamEx(ref int streamId, DataStreamConfig config, RtcConnection connection); + abstract createDataStreamEx( config: DataStreamConfig, connection: RtcConnection ): number; - Future<int> createDataStreamEx( + Future<int> createDataStreamEx( {required DataStreamConfig config, required RtcConnection connection}); -

    +

    Details -

    Creates a data stream. Each user can create up to five data streams in a single channel.

    -

    Compared with , this method does not support data reliability. If a data packet is not received five seconds after it was sent, the SDK directly discards the data.

    +

    Creates a data stream. Each user can create up to five data streams in a + single channel.

    +

    Compared with , this method does not support data reliability. + If a data packet is not received five seconds after it was sent, the SDK directly + discards the data.

    Parameters - - - - - - config - The configurations for the data stream. See . - - - - - -
    + + + + + + config + The configurations for the data stream. See . + + + + + + +
    Returns
      -
    • 0: The data stream is successfully created.
    • -
    • ID of the created data stream, if the method call succeeds.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: The data stream is successfully created.
  • +
  • ID of the created data stream, if + the method call succeeds.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita index d8eae2016f1..6ded87cce7f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_enableaudiovolumeindicationex.dita @@ -2,7 +2,8 @@ <ph keyref="enableAudioVolumeIndicationEx"/> - + @@ -13,65 +14,75 @@

    - public abstract int enableAudioVolumeIndicationEx( + public abstract int enableAudioVolumeIndicationEx( int interval, int smooth, boolean reportVad, RtcConnection connection); - - (int)enableAudioVolumeIndicationEx:(NSInteger)interval + - (int)enableAudioVolumeIndicationEx:(NSInteger)interval smooth:(NSInteger)smooth reportVad:(BOOL)reportVad connection:(AgoraRtcConnection* _Nonnull)connection NS_SWIFT_NAME(enableAudioVolumeIndicationEx(_:smooth:reportVad:connection:)); - virtual int enableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int enableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, const FRtcConnection& connection); - abstract enableAudioVolumeIndicationEx( + abstract enableAudioVolumeIndicationEx( interval: number, smooth: number, reportVad: boolean, connection: RtcConnection ): number; - public abstract int EnableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, RtcConnection connection); - abstract enableAudioVolumeIndicationEx( + public abstract int EnableAudioVolumeIndicationEx(int interval, int smooth, bool reportVad, RtcConnection connection); + abstract enableAudioVolumeIndicationEx( interval: number, smooth: number, reportVad: boolean, connection: RtcConnection ): number; - Future<void> enableAudioVolumeIndicationEx( + Future<void> enableAudioVolumeIndicationEx( {required int interval, required int smooth, required bool reportVad, required RtcConnection connection}); -

    +

    Details -

    This method enables the SDK to regularly report the volume information to the app of the local user who sends a stream and remote users (three users at most) whose instantaneous volumes are the highest. Once you call this method and users send streams in the channel, the SDK triggers the callback at the time interval set in this method.

    +

    This method enables the SDK to regularly report the volume information to the app of + the local user who sends a stream and remote users (three users at most) whose + instantaneous volumes are the highest. Once you call this method and users send + streams in the channel, the SDK triggers the callback at the time interval set in this method.

    Parameters - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita index 8e0a45233d9..f1b2f506f75 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_enablecontentinspectex.dita @@ -2,7 +2,8 @@ <ph keyref="enableContentInspectEx"/> - Enables or disables video screenshot and upload. + Enables or disables video screenshot and + upload. @@ -13,54 +14,66 @@

    - public abstract int enableContentInspectEx( + public abstract int enableContentInspectEx( boolean enabled, ContentInspectConfig config, RtcConnection connection); - - (int)enableContentInspectEx:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(enableContentInspectEx(_:config:connection:)); - virtual int enableContentInspectEx(bool enabled, const media::ContentInspectConfig &config, const RtcConnection& connection) = 0; - public abstract int EnableContentInspectEx(bool enabled, ContentInspectConfig config, RtcConnection connection); - abstract enableContentInspectEx( + - (int)enableContentInspectEx:(BOOL)enabled config:(AgoraContentInspectConfig* _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(enableContentInspectEx(_:config:connection:)); + virtual int enableContentInspectEx(bool enabled, const media::ContentInspectConfig &config, const RtcConnection& connection) = 0; + public abstract int EnableContentInspectEx(bool enabled, ContentInspectConfig config, RtcConnection connection); + abstract enableContentInspectEx( enabled: boolean, config: ContentInspectConfig, connection: RtcConnection ): number; - Future<void> enableContentInspectEx( + Future<void> enableContentInspectEx( {required bool enabled, required ContentInspectConfig config, - required RtcConnection connection});

    + required RtcConnection connection}); +

    Details
    - -
    Since
    -
    v4.2.3
    -
    + +
    Since
    +
    v4.2.3
    +
    -

    This method can take screenshots for multiple video streams and upload them. When video screenshot and upload function is enabled, the SDK takes screenshots and uploads videos sent by local users based on the type and frequency of the module you set in . After video screenshot and upload, the Agora server sends the callback notification to your app server in HTTPS requests and sends all screenshots to the third-party cloud storage service.

    - Before calling this method, ensure that you have contacted to activate the video screenshot upload service. +

    This method can take screenshots for multiple video streams and upload them. When + video screenshot and upload function is enabled, the SDK takes screenshots and + uploads videos sent by local users based on the type and frequency of the module you + set in . After video screenshot and upload, the + Agora server sends the callback notification to your app server in HTTPS requests + and sends all screenshots to the third-party cloud storage service.

    + Before calling this method, ensure that you have contacted to activate the video screenshot upload service.
    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    -
    +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_enabledualstreammodeex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_enabledualstreammodeex.dita index 3050c76fb45..0418f0a0033 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_enabledualstreammodeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_enabledualstreammodeex.dita @@ -2,7 +2,8 @@ <ph keyref="enableDualStreamModeEx"/> - Enables or disables dual-stream mode on the sender side. + Enables or disables dual-stream mode on the sender + side. @@ -13,71 +14,80 @@

    - public abstract int enableDualStreamModeEx( + public abstract int enableDualStreamModeEx( boolean enabled, SimulcastStreamConfig streamConfig, RtcConnection connection); - - (int)enableDualStreamModeEx:(BOOL)enabled + - (int)enableDualStreamModeEx:(BOOL)enabled streamConfig:(AgoraSimulcastStreamConfig*)streamConfig connection:(AgoraRtcConnection* _Nonnull)connection; - virtual int enableDualStreamModeEx(bool enabled, const SimulcastStreamConfig& streamConfig, + virtual int enableDualStreamModeEx(bool enabled, const SimulcastStreamConfig& streamConfig, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableDualStreamModeEx(bool enabled, const FSimulcastStreamConfig& streamConfig, const FRtcConnection& connection); - abstract enableDualStreamModeEx( + abstract enableDualStreamModeEx( enabled: boolean, streamConfig: SimulcastStreamConfig, connection: RtcConnection ): number; - public abstract int EnableDualStreamModeEx(bool enabled, SimulcastStreamConfig streamConfig, RtcConnection connection); - abstract enableDualStreamModeEx( + public abstract int EnableDualStreamModeEx(bool enabled, SimulcastStreamConfig streamConfig, RtcConnection connection); + abstract enableDualStreamModeEx( enabled: boolean, streamConfig: SimulcastStreamConfig, connection: RtcConnection ): number; - Future<void> enableDualStreamModeEx( + Future<void> enableDualStreamModeEx( {required bool enabled, required SimulcastStreamConfig streamConfig, required RtcConnection connection}); -

    +

    Details
    - -
    Since
    -
    v4.0.1
    -
    + +
    Since
    +
    v4.0.1
    +
    Deprecated:
    -
    This method is deprecated as of v4.2.0. Use instead.
    +
    This method is deprecated as of v4.2.0. Use instead.
    -
    +

    - This method is applicable to all types of streams from the sender, including but not limited to video streams collected from cameras, screen sharing streams, and custom-collected video streams.

    + This method is applicable to all types of streams from the sender, + including but not limited to video streams collected from cameras, screen sharing + streams, and custom-collected video streams.
    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita index de819edfc06..0439b16c957 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_enableencryptionex.dita @@ -2,7 +2,8 @@ <ph keyref="enableEncryptionEx"/> - Enables or disables the built-in encryption. + Enables or disables the built-in + encryption. @@ -13,60 +14,66 @@

    - public abstract int enableEncryptionEx( + public abstract int enableEncryptionEx( boolean enabled, EncryptionConfig config, RtcConnection connection); - - (int)enableEncryptionEx:(bool)enabled encryptionConfig:(AgoraEncryptionConfig *_Nonnull)config connection:(AgoraRtcConnection* _Nonnull)connection NS_SWIFT_NAME(enableEncryptionEx(_:encryptionConfig:connection:)); - virtual int enableEncryptionEx(const RtcConnection& connection, bool enabled, const EncryptionConfig& config) = 0; - - abstract enableEncryptionEx( + - (int)enableEncryptionEx:(bool)enabled encryptionConfig:(AgoraEncryptionConfig *_Nonnull)config connection:(AgoraRtcConnection* _Nonnull)connection NS_SWIFT_NAME(enableEncryptionEx(_:encryptionConfig:connection:)); + virtual int enableEncryptionEx(const RtcConnection& connection, bool enabled, const EncryptionConfig& config) = 0; + + abstract enableEncryptionEx( connection: RtcConnection, enabled: boolean, config: EncryptionConfig ): number; - public abstract int EnableEncryptionEx(RtcConnection connection, bool enabled, EncryptionConfig config); - abstract enableEncryptionEx( + public abstract int EnableEncryptionEx(RtcConnection connection, bool enabled, EncryptionConfig config); + abstract enableEncryptionEx( connection: RtcConnection, enabled: boolean, config: EncryptionConfig ): number; - Future<void> enableEncryptionEx( + Future<void> enableEncryptionEx( {required RtcConnection connection, required bool enabled, - required EncryptionConfig config});

    + required EncryptionConfig config}); +

    Details
    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +
    -

    -

    +

    +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly.

    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    -
    +
  • < 0: Failure. See for details + and resolution suggestions.
  • + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_enableloopbackrecordingex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_enableloopbackrecordingex.dita index 0b57749351c..750f4bf1f11 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_enableloopbackrecordingex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_enableloopbackrecordingex.dita @@ -13,64 +13,78 @@

    - - - (int)enableLoopbackRecordingEx:(BOOL)enabled + + - (int)enableLoopbackRecordingEx:(BOOL)enabled deviceName:(NSString* _Nullable)deviceName connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(enableLoopbackRecordingEx(_:deviceName:connection:)); - virtual int enableLoopbackRecordingEx(const RtcConnection& connection, bool enabled, const char* deviceName = NULL) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int enableLoopbackRecordingEx(const RtcConnection& connection, bool enabled, const char* deviceName = NULL) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int EnableLoopbackRecordingEx(const FRtcConnection& connection, bool enabled, FString deviceName); - abstract enableLoopbackRecordingEx( + abstract enableLoopbackRecordingEx( connection: RtcConnection, enabled: boolean, deviceName?: string ): number; - public abstract int EnableLoopbackRecordingEx(RtcConnection connection, bool enabled, string deviceName); - abstract enableLoopbackRecordingEx( + public abstract int EnableLoopbackRecordingEx(RtcConnection connection, bool enabled, string deviceName); + abstract enableLoopbackRecordingEx( connection: RtcConnection, enabled: boolean, deviceName?: string ): number; - Future<void> enableLoopbackRecordingEx( + Future<void> enableLoopbackRecordingEx( {required RtcConnection connection, required bool enabled, String? deviceName}); -

    +

    Details -

    If you enable loopback audio capturing, the output of the sound card is mixed into the audio stream sent to the other end.

    +

    If you enable loopback audio capturing, the output of the sound card is mixed into + the audio stream sent to the other end.

    -
      -
    • This method applies to the macOS and Windows only.
    • -
    • macOS does not support loopback audio capture of the default sound card. If you need to use this function, use a virtual sound card and pass its name to the deviceName parameter. Agora recommends using AgoraALD as the virtual sound card for audio capturing.
    • -
    • This method only supports using one sound card for audio capturing.
    • -
    +
      +
    • This method applies to the macOS and + Windows only.
    • +
    • macOS does not support loopback + audio capture of the default sound card. If you need to use this function, + use a virtual sound card and pass its name to the + deviceName parameter. Agora recommends using + AgoraALD as the virtual sound card for audio capturing.
    • +
    • This method only supports using one sound card for audio capturing.
    • +
    Parameters - - - - - - enabled - Sets whether to enable loopback audio capture:
      -
    • : Enable loopback audio capturing.
    • -
    • : (Default) Disable loopback audio capturing.
    • -
    -
    - - - - -
    + + + + + + enabled + Sets whether to enable loopback audio capture:
      +
    • : Enable loopback audio + capturing.
    • +
    • : (Default) Disable loopback + audio capturing.
    • +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita index 5e8dfaa1034..72b5b1ac577 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita @@ -1,8 +1,9 @@ - <ph keyref="getCallIdEx" /> - Gets the call ID with the connection ID. + <ph keyref="getCallIdEx"/> + Gets the call ID with the connection + ID. @@ -13,22 +14,23 @@

    - public abstract String getCallIdEx(RtcConnection connection); - - (NSString * _Nullable)getCallIdEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(getCallIdEx(_:)); - virtual int getCallIdEx(agora::util::AString& callId, const RtcConnection& connection) = 0; - - abstract getCallIdEx(connection: RtcConnection): string; - public abstract int GetCallIdEx(ref string callId, RtcConnection connection); - abstract getCallIdEx(connection: RtcConnection): string; - Future<String> getCallIdEx(RtcConnection connection);

    + public abstract String getCallIdEx(RtcConnection connection); + - (NSString * _Nullable)getCallIdEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(getCallIdEx(_:)); + virtual int getCallIdEx(agora::util::AString& callId, const RtcConnection& connection) = 0; + + abstract getCallIdEx(connection: RtcConnection): string; + public abstract int GetCallIdEx(ref string callId, RtcConnection connection); + abstract getCallIdEx(connection: RtcConnection): string; + Future<String> getCallIdEx(RtcConnection connection); +

    Details
    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +

    @@ -36,15 +38,16 @@

    Parameters - - - - - - - - -
    + + + + + + + + + +
    - + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita index 6ef74ce0191..588ee47b1b1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_getconnectionstateex.dita @@ -1,30 +1,33 @@ - <ph keyref="getConnectionStateEx" /> - Gets the current connection state of the SDK. + + <ph keyref="getConnectionStateEx"/> + + Gets the current connection state of the + SDK. - +

    - public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionStateEx( + public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionStateEx( RtcConnection connection); - - (AgoraConnectionState)getConnectionStateEx:(AgoraRtcConnection * _Nonnull)connection; - virtual CONNECTION_STATE_TYPE getConnectionStateEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (AgoraConnectionState)getConnectionStateEx:(AgoraRtcConnection * _Nonnull)connection; + virtual CONNECTION_STATE_TYPE getConnectionStateEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") ECONNECTION_STATE_TYPE GetConnectionStateEx(const FRtcConnection& connection); - abstract getConnectionStateEx(connection: RtcConnection): ConnectionStateType; - public abstract CONNECTION_STATE_TYPE GetConnectionStateEx(RtcConnection connection); - abstract getConnectionStateEx(connection: RtcConnection): ConnectionStateType; - Future<ConnectionStateType> getConnectionStateEx(RtcConnection connection); -

    + abstract getConnectionStateEx(connection: RtcConnection): ConnectionStateType; + public abstract CONNECTION_STATE_TYPE GetConnectionStateEx(RtcConnection connection); + abstract getConnectionStateEx(connection: RtcConnection): ConnectionStateType; + Future<ConnectionStateType> getConnectionStateEx(RtcConnection connection); +

    Details @@ -33,14 +36,15 @@
    Parameters - - - - -
    + + + + + +
    Returns -

    +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuidex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuidex.dita index 0d51bd6b2fd..416c2077d63 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuidex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuidex.dita @@ -1,68 +1,73 @@ - <ph keyref="getUserInfoByUidEx" /> - Gets the user information by passing in the user ID. + <ph keyref="getUserInfoByUidEx"/> + Gets the user information by passing in the user + ID. - +

    - public abstract UserInfo getUserInfoByUid(int uid, String channelId, String localUserAccount); - - (int)getUserInfoWithUserId:(NSUInteger)uid + public abstract UserInfo getUserInfoByUid(int uid, String channelId, String localUserAccount); + - (int)getUserInfoWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo *_Nullable* _Nullable)userInfo channelId:(NSString* _Nonnull)channelId localUserAccount:(NSString* _Nonnull)localUserAccount; - - - - - -

    + + + + + +

    Details -

    +

    Parameters - - uid - The user ID. - - - userInfo - The object that identifies the user information.
      -
    • Input value: A object.
    • -
    • Output: A object that contains the user account and user ID of the user.
    • -
    -
    - - channelId - -

    - - - - localUserAccount - The user account of the local user. - -

    + + uid + The user ID. + + + userInfo + The object that identifies the user + information.
      +
    • Input value: A object.
    • +
    • Output: A object that contains the user + account and user ID of the user.
    • +
    +
    + + channelId + +

    + + + + localUserAccount + The user account of the local user. + + +

    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
      -
    • A object, if the method call succeeds.
    • -
    • , if the method call fails.
    • -
    +
  • A object, if the method call succeeds.
  • +
  • , if the method call fails.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuseraccountex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuseraccountex.dita index 0ec5aeed4f9..bb07fe7539d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuseraccountex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_getuserinfobyuseraccountex.dita @@ -1,56 +1,58 @@ - <ph keyref="getUserInfoByUserAccountEx" /> - Gets the user information by passing in the user account. + <ph keyref="getUserInfoByUserAccountEx"/> + Gets the user information by passing in the user + account. - +

    - public abstract UserInfo getUserInfoByUserAccount(String userAccount, String channelId, String localUserAccount); - - (int)getUserInfoWithUserAccount:(NSString * _Nonnull)userAccount + public abstract UserInfo getUserInfoByUserAccount(String userAccount, String channelId, String localUserAccount); + - (int)getUserInfoWithUserAccount:(NSString * _Nonnull)userAccount userInfo:(AgoraUserInfo *_Nullable* _Nullable)userInfo channelId:(NSString* _Nonnull)channelId localUserAccount:(NSString* _Nonnull)localUserAccount; - - - - - -

    + + + + + +

    Details -

    +

    Parameters - - userAccount - The user account. - - - - - - - - - - - - - -
    + + userAccount + The user account. + + + + + + + + + + + + + + +
    - + <title/> </section> </refbody> -</reference> \ No newline at end of file +</reference> diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita index 5587e5e226b..e0664102d7b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelex.dita @@ -2,7 +2,8 @@ <!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd"> <reference id="api_irtcengineex_joinchannelex"> <title><ph keyref="joinChannelEx"/> - Joins a channel with the connection ID. + Joins a channel with the connection + ID. @@ -13,71 +14,85 @@

    - public abstract int joinChannelEx(String token, RtcConnection connection, + public abstract int joinChannelEx(String token, RtcConnection connection, ChannelMediaOptions options, IRtcEngineEventHandler eventHandler); - - (int)joinChannelExByToken:(NSString* _Nullable)token + - (int)joinChannelExByToken:(NSString* _Nullable)token connection:(AgoraRtcConnection * _Nonnull)connection delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate mediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions joinSuccess:(void(^ _Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannelEx(const char* token, const RtcConnection& connection, + virtual int joinChannelEx(const char* token, const RtcConnection& connection, const ChannelMediaOptions& options, IRtcEngineEventHandler* eventHandler) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int JoinChannelEx(FString token, const FRtcConnection& connection, const FChannelMediaOptions& options, UIRtcEngineEventHandler* eventHandler); - abstract joinChannelEx( + abstract joinChannelEx( token: string, connection: RtcConnection, options: ChannelMediaOptions ): number; - public abstract int JoinChannelEx(string token, RtcConnection connection, ChannelMediaOptions options); - abstract joinChannelEx( + public abstract int JoinChannelEx(string token, RtcConnection connection, ChannelMediaOptions options); + abstract joinChannelEx( token: string, connection: RtcConnection, options: ChannelMediaOptions ): number; - Future<void> joinChannelEx( + Future<void> joinChannelEx( {required String token, required RtcConnection connection, required ChannelMediaOptions options}); -

    +

    Details

    You can call this method multiple times to join more than one channel.

    -
      -
    • If you are already in a channel, you cannot rejoin it with the same user ID.
    • -
    • If you want to join the same channel from different devices, ensure that the user IDs are different for all devices.
    • -
    • Ensure that the App ID you use to generate the token is the same as the App ID used when creating the instance.
    • -
    • If you choose the Testing Mode (using an App ID for authentication) for your project and call this method to join a channel, you will automatically exit the channel after 24 hours.
    • -
    • In a multi-camera capture scenario, you need to call the method after calling this method to set the sourceType to , to ensure that the second camera captures normally.
    • -
    +
      +
    • If you are already in a channel, you cannot rejoin it with the same user + ID.
    • +
    • If you want to join the same channel from different devices, ensure that the + user IDs are different for all devices.
    • +
    • Ensure that the App ID you use to generate the token is the same as the App + ID used when creating the instance.
    • +
    • If you choose the Testing Mode (using an App ID for authentication) for your + project and call this method to join a channel, you will automatically exit + the channel after 24 hours.
    • +
    • In a multi-camera capture scenario, you need to call + the method after calling this method to set + the sourceType to , to ensure that the second + camera captures normally.
    • +
    + +
    Parameters - - - - - - connection - The connection information. See . - - - - - - - eventHandler - delegate - The callback class of .See . - - - - - -
    + + + + + + connection + The connection information. See . + + + + + + + eventHandler + delegate + The callback class of .See . + + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelwithuseraccountex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelwithuseraccountex.dita index aba14cdb80e..2da544bb29b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelwithuseraccountex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_joinchannelwithuseraccountex.dita @@ -1,108 +1,135 @@ - <ph keyref="joinChannelWithUserAccountEx" /> - Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel. + <ph keyref="joinChannelWithUserAccountEx"/> + Joins the channel with a user account, and configures + whether to automatically subscribe to audio or video streams after joining the + channel. - +

    - public abstract int joinChannelWithUserAccountEx(String token, String channelId, + public abstract int joinChannelWithUserAccountEx(String token, String channelId, String userAccount, ChannelMediaOptions options, IRtcEngineEventHandler eventHandler); - - (int)joinChannelExByToken:(NSString* _Nullable)token + - (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, + virtual int joinChannelWithUserAccountEx(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options, IRtcEngineEventHandler* eventHandler) = 0; - abstract joinChannelWithUserAccountEx( + abstract joinChannelWithUserAccountEx( token: string, channelId: string, userAccount: string, options: ChannelMediaOptions ): number; - public int JoinChannelWithUserAccountEx(string token, string channelId, + public int JoinChannelWithUserAccountEx(string token, string channelId, string userAccount, ChannelMediaOptions options) - abstract joinChannelWithUserAccountEx( + abstract joinChannelWithUserAccountEx( token: string, channelId: string, userAccount: string, options: ChannelMediaOptions ): number; - Future<void> joinChannelWithUserAccountEx( + Future<void> joinChannelWithUserAccountEx( {required String token, required String channelId, required String userAccount, - required ChannelMediaOptions options});

    + required ChannelMediaOptions options}); +

    Details -

    -

    This method allows a user to join the channel with the user account. After the user successfully joins the channel, the SDK triggers the following callbacks:

      -
    • The local client: , and callbacks.
    • -
    • The remote client: The callback if the user is in the COMMUNICATION profile, and the callback if the user is a host in the LIVE_BROADCASTING profile.
    • -

    -

    -

    Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

    - - To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
    +

    +

    This method allows a user to join the channel with the + user account. After the user successfully joins the channel, the SDK triggers the + following callbacks:

      +
    • The local client: , and callbacks.
    • +
    • The remote client: The callback if the user is + in the COMMUNICATION profile, and the + callback if the user is a host in the LIVE_BROADCASTING profile.
    • +

    +

    +

    Once a user joins the channel, the user subscribes to + the audio and video streams of all the other users in the channel by default, giving + rise to usage and billing calculation. To stop subscribing to a specified stream or + all remote streams, call the corresponding mute methods.

    + + To ensure smooth communication, use + the same parameter type to identify the user. For example, if a user joins the + channel with a user ID, then ensure all the other users use the user ID too. The + same applies to the user account. If a user joins the channel with the Agora Web + SDK, ensure that the ID of the user is set to the same parameter type. +
    Parameter - - - - - - channelId - -

    - - - - - - - - userAccount - -

    The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as . Supported characters are (89 in total):

      -
    • The 26 lowercase English letters: a to z.
    • -
    • The 26 uppercase English letters: A to Z.
    • -
    • All numeric characters: 0 to 9.
    • -
    • Space
    • -
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "= ", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
    • -

    -
    -
    - - options - mediaOptions - - - - - - - - - - -
    + + + + + + channelId + +

    + + + + + + + + userAccount + +

    The user account. This parameter is used to identify the user in the + channel for real-time audio and video engagement. You need to set and + manage user accounts yourself and ensure that each user account in the + same channel is unique. The maximum length of this parameter is 255 + bytes. Ensure that you set this parameter and do not set it as . Supported characters are (89 in total):

      +
    • The 26 lowercase English letters: a to z.
    • +
    • The 26 uppercase English letters: A to Z.
    • +
    • All numeric characters: 0 to 9.
    • +
    • Space
    • +
    • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "= ", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", + "|", "~", ","
    • +

    +
    +
    + + options + mediaOptions + + + + + + + + + + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita index e5b8860e02b..a9c08856eba 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_leavechannelex.dita @@ -13,49 +13,69 @@

    - public abstract int leaveChannelEx(RtcConnection connection); - - (int)leaveChannelEx:(AgoraRtcConnection * _Nonnull)connection + public abstract int leaveChannelEx(RtcConnection connection); + - (int)leaveChannelEx:(AgoraRtcConnection * _Nonnull)connection leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats* _Nonnull stat))leaveChannelBlock NS_SWIFT_NAME(leaveChannelEx(_:leaveChannelBlock:)); - virtual int leaveChannelEx(const RtcConnection& connection) = 0; - abstract leaveChannelEx( + virtual int leaveChannelEx(const RtcConnection& connection) = 0; + abstract leaveChannelEx( connection: RtcConnection, options?: LeaveChannelOptions ): number; - public abstract int LeaveChannelEx(RtcConnection connection); - - -

    + public abstract int LeaveChannelEx(RtcConnection connection); + + +

    Details -

    This method lets the user leave the channel, for example, by hanging up or exiting the call.

    -

    After calling to join the channel, this method must be called to end the call before starting the next call.

    -

    This method can be called whether or not a call is currently in progress. This method releases all resources related to the session.

    -

    This method call is asynchronous. When this method returns, it does not necessarily mean that the user has left the channel. After you leave the channel, the SDK triggers the callback.

    -

    Calling this method does not necessarily mean that the user has left the channel. After you leave the channel, the SDK triggers the callback.

    -

    After actually leaving the channel, the local user triggers the callback; after the user in the communication scenario and the host in the live streaming scenario leave the channel, the remote user triggers the callback.

    +

    This method lets the user leave the channel, for example, by hanging up or exiting + the call.

    +

    After calling to join the channel, this method must be + called to end the call before starting the next call.

    +

    This method can be called whether or not a call is currently in progress. This method + releases all resources related to the session.

    +

    This method call is asynchronous. + When this method returns, it does not necessarily mean that the user has left the + channel. After you leave the channel, the SDK triggers the callback.

    +

    Calling this method does not necessarily mean that the user has left the + channel. After you leave the channel, the SDK triggers the callback.

    +

    After actually leaving the channel, the local user triggers the callback; after the user in the communication scenario + and the host in the live streaming scenario leave the channel, the remote user + triggers the callback.

    -
      -
    • If you call immediately after calling this method, the SDK does not trigger the callback.
    • -
    • If you want to leave the channels that you joined by calling and , call the method.
    • -
    +
      +
    • If you call immediately after calling this method, + the SDK does not trigger the + callback.
    • +
    • If you want to leave the channels that you joined by calling and , call the + method.
    • +
    + +
    Parameters - - - - - - - - -
    + + + + + + + + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita index b2d2a6d9cc8..7234a1bd870 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_leavechannelex2.dita @@ -2,7 +2,8 @@ <ph keyref="leaveChannelEx2"/> - Sets channel options and leaves the channel. + Sets channel options and leaves the + channel. @@ -13,69 +14,96 @@

    - public abstract int leaveChannelEx(RtcConnection connection, LeaveChannelOptions options); - - (int)leaveChannelEx:(AgoraRtcConnection * _Nonnull)connection + public abstract int leaveChannelEx(RtcConnection connection, LeaveChannelOptions options); + - (int)leaveChannelEx:(AgoraRtcConnection * _Nonnull)connection options:(AgoraLeaveChannelOptions * _Nonnull)options leaveChannelBlock:(void(^ _Nullable)(AgoraChannelStats* _Nonnull stat))leaveChannelBlock; - virtual int leaveChannelEx(const RtcConnection& connection, const LeaveChannelOptions& options) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int leaveChannelEx(const RtcConnection& connection, const LeaveChannelOptions& options) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int LeaveChannelEx(const FRtcConnection& connection, const FLeaveChannelOptions& options); - abstract leaveChannelEx( + abstract leaveChannelEx( connection: RtcConnection, options?: LeaveChannelOptions ): number; - public abstract int LeaveChannelEx(RtcConnection connection, LeaveChannelOptions options); - abstract leaveChannelEx( + public abstract int LeaveChannelEx(RtcConnection connection, LeaveChannelOptions options); + abstract leaveChannelEx( connection: RtcConnection, options?: LeaveChannelOptions ): number; - Future<void> leaveChannelEx( + Future<void> leaveChannelEx( {required RtcConnection connection, LeaveChannelOptions? options}); -

    +

    Details -

    This method lets the user leave the channel, for example, by hanging up or exiting the call.

    -

    After calling to join the channel, this method must be called to end the call before starting the next call.

    -

    This method can be called whether or not a call is currently in progress. This method releases all resources related to the session.

    -

    This method call is asynchronous. When this method returns, it does not necessarily mean that the user has left the channel. After you leave the channel, the SDK triggers the callback.

    -

    Calling this method does not necessarily mean that the user has left the channel. After you leave the channel, the SDK triggers the callback.

    -

    After actually leaving the channel, the local user triggers the callback; after the user in the communication scenario and the host in the live streaming scenario leave the channel, the remote user triggers the callback.

    +

    This method lets the user leave the channel, for example, by hanging up or exiting + the call.

    +

    After calling to join the channel, this method must be + called to end the call before starting the next call.

    +

    This method can be called whether or not a call is currently in progress. This method + releases all resources related to the session.

    +

    This method call is asynchronous. + When this method returns, it does not necessarily mean that the user has left the + channel. After you leave the channel, the SDK triggers the callback.

    +

    Calling this method does not necessarily mean that the user has left the + channel. After you leave the channel, the SDK triggers the callback.

    +

    After actually leaving the channel, the local user triggers the callback; after the user in the communication scenario + and the host in the live streaming scenario leave the channel, the remote user + triggers the callback.

    -
      -
    • If you call immediately after calling this method, the SDK does not trigger the callback.
    • -
    • If you want to leave the channels that you joined by calling and , call the method.
    • -
    +
      +
    • If you call immediately after calling this method, + the SDK does not trigger the + callback.
    • +
    • If you want to leave the channels that you joined by calling and , call the + method.
    • +
    + +
    Parameters - - - - - - options - -
    - -
    Since
    -
    v4.1.0
    -
    -
    -

    The options for leaving the channel. See .

    - This parameter only supports the stopMicrophoneRecording member in the settings; setting other members does not take effect.
    -
    - - - - -
    + + + + + + options + +
    + +
    Since
    +
    v4.1.0
    +
    +
    +

    The options for leaving the channel. See .

    + This parameter only supports the + stopMicrophoneRecording member in the settings; setting other members does + not take effect.
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita index ca5ac7431c2..501f2224ce4 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_muteallremoteaudiostreamsex.dita @@ -2,7 +2,8 @@ <ph keyref="muteAllRemoteAudioStreamsEx"/> - Stops or resumes subscribing to the audio streams of all remote users. + Stops or resumes subscribing to the audio streams of + all remote users. @@ -13,58 +14,76 @@

    - public abstract int muteAllRemoteAudioStreamsEx(boolean muted, RtcConnection connection); - - (int)muteAllRemoteAudioStreamsEx:(BOOL)mute + public abstract int muteAllRemoteAudioStreamsEx(boolean muted, RtcConnection connection); + - (int)muteAllRemoteAudioStreamsEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteAllRemoteAudioStreamsEx(_:connection:)); - virtual int muteAllRemoteAudioStreamsEx(bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int muteAllRemoteAudioStreamsEx(bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteAllRemoteAudioStreamsEx(bool mute, const FRtcConnection& connection); - abstract muteAllRemoteAudioStreamsEx( + abstract muteAllRemoteAudioStreamsEx( mute: boolean, connection: RtcConnection ): number; - public abstract int MuteAllRemoteAudioStreamsEx(bool mute, RtcConnection connection); - abstract muteAllRemoteAudioStreamsEx( + public abstract int MuteAllRemoteAudioStreamsEx(bool mute, RtcConnection connection); + abstract muteAllRemoteAudioStreamsEx( mute: boolean, connection: RtcConnection ): number; - Future<void> muteAllRemoteAudioStreamsEx( + Future<void> muteAllRemoteAudioStreamsEx( {required bool mute, required RtcConnection connection}); -

    +

    Details -

    After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including the ones join the channel subsequent to this call.

    +

    After successfully calling this method, the local user stops or resumes + subscribing to the audio streams of all remote users, including the ones join the + channel subsequent to this call.

    -
      -
    • Call this method after joining a channel.
    • -
    • If you do not want to subscribe the audio streams of remote users before joining a channel, you can set autoSubscribeAudio as when calling .
    • -
    • See recommended settings in Set the Subscribing State.
    • -
    +
      +
    • Call this method after joining a channel.
    • +
    • If you do not want to subscribe the audio streams of remote users before + joining a channel, you can set autoSubscribeAudio as + when calling .
    • +
    • See recommended settings in Set the Subscribing + State.
    • +
    + +
    Parameters - - muted - mute - -

    Whether to stop subscribing to the audio streams of all remote users:

      -
    • : Stops subscribing to the audio streams of all remote users.
    • -
    • : (Default) Subscribes to the audio streams of all remote users by default.
    • -

    -
    -
    - - - - -
    + + muted + mute + +

    Whether to stop subscribing to the audio streams of all remote users:

      +
    • : Stops subscribing to the + audio streams of all remote users.
    • +
    • : (Default) Subscribes to + the audio streams of all remote users by default.
    • +
    +

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita index c33aae75927..a4011bc7f26 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_muteallremotevideostreamsex.dita @@ -2,7 +2,8 @@ <ph keyref="muteAllRemoteVideoStreamsEx"/> - Stops or resumes subscribing to the video streams of all remote users. + Stops or resumes subscribing to the video streams of + all remote users. @@ -13,31 +14,32 @@

    - public abstract int muteAllRemoteVideoStreamsEx(boolean muted, RtcConnection connection); - - (int)muteAllRemoteVideoStreamsEx:(BOOL)mute + public abstract int muteAllRemoteVideoStreamsEx(boolean muted, RtcConnection connection); + - (int)muteAllRemoteVideoStreamsEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteAllRemoteVideoStreamsEx(_:connection:)); - virtual int muteAllRemoteVideoStreamsEx(bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int muteAllRemoteVideoStreamsEx(bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteAllRemoteVideoStreamsEx(bool mute, const FRtcConnection& connection); - abstract muteAllRemoteVideoStreamsEx( + abstract muteAllRemoteVideoStreamsEx( mute: boolean, connection: RtcConnection ): number; - public abstract int MuteAllRemoteVideoStreamsEx(bool mute, RtcConnection connection); - abstract muteAllRemoteVideoStreamsEx( + public abstract int MuteAllRemoteVideoStreamsEx(bool mute, RtcConnection connection); + abstract muteAllRemoteVideoStreamsEx( mute: boolean, connection: RtcConnection ): number; - Future<void> muteAllRemoteVideoStreamsEx( - {required bool mute, required RtcConnection connection});

    + Future<void> muteAllRemoteVideoStreamsEx( + {required bool mute, required RtcConnection connection}); +

    Details
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +

    @@ -52,13 +54,18 @@ - + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita index dd41ed58cb7..934eef26f75 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_mutelocalaudiostreamex.dita @@ -2,7 +2,8 @@ <ph keyref="muteLocalAudioStreamEx"/> - Stops or resumes publishing the local audio stream. + Stops or resumes publishing the local audio + stream. @@ -13,52 +14,63 @@

    - public abstract int muteLocalAudioStreamEx(boolean muted, RtcConnection connection); - - (int)muteLocalAudioStreamEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteLocalAudioStreamEx(_:connection:)); - virtual int muteLocalAudioStreamEx(bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteLocalAudioStreamEx(boolean muted, RtcConnection connection); + - (int)muteLocalAudioStreamEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteLocalAudioStreamEx(_:connection:)); + virtual int muteLocalAudioStreamEx(bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteLocalAudioStreamEx(bool mute, const FRtcConnection& connection); - abstract muteLocalAudioStreamEx( + abstract muteLocalAudioStreamEx( mute: boolean, connection: RtcConnection ): number; - public abstract int MuteLocalAudioStreamEx(bool mute, RtcConnection connection); - abstract muteLocalAudioStreamEx( + public abstract int MuteLocalAudioStreamEx(bool mute, RtcConnection connection); + abstract muteLocalAudioStreamEx( mute: boolean, connection: RtcConnection ): number; - Future<void> muteLocalAudioStreamEx( + Future<void> muteLocalAudioStreamEx( {required bool mute, required RtcConnection connection}); -

    +

    Details - This method does not affect any ongoing audio recording, because it does not disable the audio capture device. -

    A successful call of this method triggers the and callbacks on the remote client.

    + This method does not affect any ongoing audio recording, because + it does not disable the audio capture device. +

    A successful call of this method triggers the and + callbacks on the remote + client.

    Parameters - - muted - mute - -

    Whether to stop publishing the local audio stream:

      -
    • : Stops publishing the local audio stream.
    • -
    • : (Default) Resumes publishing the local audio stream.
    • -

    -
    -
    - - - - -
    + + muted + mute + +

    Whether to stop publishing the local audio stream:

      +
    • : Stops publishing the local + audio stream.
    • +
    • : (Default) Resumes + publishing the local audio stream.
    • +

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita index 721b11903f6..11a49045ff0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_mutelocalvideostreamex.dita @@ -2,7 +2,8 @@ <ph keyref="muteLocalVideoStreamEx"/> - Stops or resumes publishing the local video stream. + Stops or resumes publishing the local video + stream. @@ -13,55 +14,64 @@

    - public abstract int muteLocalVideoStreamEx(boolean muted, RtcConnection connection); - - (int)muteLocalVideoStreamEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteLocalVideoStreamEx(_:connection:)); - virtual int muteLocalVideoStreamEx(bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int muteLocalVideoStreamEx(boolean muted, RtcConnection connection); + - (int)muteLocalVideoStreamEx:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(muteLocalVideoStreamEx(_:connection:)); + virtual int muteLocalVideoStreamEx(bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteLocalVideoStreamEx(bool mute, const FRtcConnection& connection); - abstract muteLocalVideoStreamEx( + abstract muteLocalVideoStreamEx( mute: boolean, connection: RtcConnection ): number; - public abstract int MuteLocalVideoStreamEx(bool mute, RtcConnection connection); - abstract muteLocalVideoStreamEx( + public abstract int MuteLocalVideoStreamEx(bool mute, RtcConnection connection); + abstract muteLocalVideoStreamEx( mute: boolean, connection: RtcConnection ): number; - Future<void> muteLocalVideoStreamEx( - {required bool mute, required RtcConnection connection});

    + Future<void> muteLocalVideoStreamEx( + {required bool mute, required RtcConnection connection}); +

    Details
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    A successful call of this method triggers the callback on the remote client.

    +

    A successful call of this method triggers the + callback on the remote client.

    -
      -
    • This method does not affect any ongoing video recording, because it does not disable the camera.
    • -
    +
      +
    • This method does not affect any ongoing video recording, because it does not + disable the camera.
    • +
    +
    Parameters - - - + + + -
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_muterecordingsignalex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_muterecordingsignalex.dita index d8b437887ea..78be6a20d5b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_muterecordingsignalex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_muterecordingsignalex.dita @@ -1,63 +1,69 @@ - <ph keyref="muteRecordingSignalEx" /> + <ph keyref="muteRecordingSignalEx"/> Whether to mute the recording signal. - +

    - public abstract int muteRecordingSignalEx(boolean muted, RtcConnection connection); - - (int)muteRecordingSignalEx:(BOOL)mute + public abstract int muteRecordingSignalEx(boolean muted, RtcConnection connection); + - (int)muteRecordingSignalEx:(BOOL)mute connection:(AgoraRtcConnection* _Nonnull)connection; - virtual int muteRecordingSignalEx(bool mute, const RtcConnection& connection) = 0; - - - -

    + virtual int muteRecordingSignalEx(bool mute, const RtcConnection& connection) = 0; + + + + +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    Call this method after joining a channel.
    Applicable scenarios -

    +

    Parameters - - muted - mute - Whether to mute the recording signal.
      -
    • : Mute the recording signal.
    • -
    • : (Default) Do not mute the recording signal.If you call to adjust the recording signal previously, set
    -
    - - connection - The connection information. See . - + + muted + mute + Whether to mute the recording signal.
      +
    • : Mute the recording + signal.
    • +
    • : (Default) Do not mute the + recording signal.If you call to adjust the + recording signal previously, set
    • +
    +
    + + connection + The connection information. See . +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita index c2e70771156..ebfd8f75ab0 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_muteremoteaudiostreamex.dita @@ -1,72 +1,84 @@ - <ph keyref="muteRemoteAudioStreamEx" /> - Stops or resumes receiving the audio stream of a specified user. + <ph keyref="muteRemoteAudioStreamEx"/> + Stops or resumes receiving the audio stream of a + specified user. - +

    - public abstract int muteRemoteAudioStreamEx(int uid, boolean muted, RtcConnection connection); - - (int)muteRemoteAudioStreamEx:(NSUInteger)uid + public abstract int muteRemoteAudioStreamEx(int uid, boolean muted, RtcConnection connection); + - (int)muteRemoteAudioStreamEx:(NSUInteger)uid mute:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int muteRemoteAudioStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int muteRemoteAudioStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteRemoteAudioStreamEx(int64 uid, bool mute, const FRtcConnection& connection); - abstract muteRemoteAudioStreamEx( + abstract muteRemoteAudioStreamEx( uid: number, mute: boolean, connection: RtcConnection ): number; - public abstract int MuteRemoteAudioStreamEx(uint uid, bool mute, RtcConnection connection); - abstract muteRemoteAudioStreamEx( + public abstract int MuteRemoteAudioStreamEx(uint uid, bool mute, RtcConnection connection); + abstract muteRemoteAudioStreamEx( uid: number, mute: boolean, connection: RtcConnection ): number; - Future<void> muteRemoteAudioStreamEx( + Future<void> muteRemoteAudioStreamEx( {required int uid, required bool mute, required RtcConnection connection}); -

    +

    - DetailsThis method is used to stops or resumes receiving the audio stream of a specified user. You can call this method before or after joining a channel. If a user leaves a channel, the settings in this method become invalid.
    + DetailsThis method is used to stops or resumes receiving the audio stream + of a specified user. You can call this method before or after joining a channel. If a + user leaves a channel, the settings in this method become invalid.
    Parameters - - uid - The ID of the specified user. - - - mute - muted - -

    Whether to stop receiving the audio stream of the specified user:

    -
      -
    • : Stop receiving the audio stream of the specified user.
    • -
    • : (Default) Resume receiving the audio stream of the specified user.
    • -
    -
    - - - - -
    + + uid + The ID of the specified user. + + + mute + muted + +

    Whether to stop receiving the audio stream of the specified user:

    +
      +
    • : Stop receiving the audio + stream of the specified user.
    • +
    • : (Default) Resume receiving + the audio stream of the specified user.
    • +
    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita index 2030517cf7e..dccc61bec7f 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_muteremotevideostreamex.dita @@ -1,76 +1,87 @@ - <ph keyref="muteRemoteVideoStreamEx" /> - Stops or resumes receiving the video stream of a specified user. + <ph keyref="muteRemoteVideoStreamEx"/> + Stops or resumes receiving the video stream of a + specified user. - +

    - public abstract int muteRemoteVideoStreamEx(int uid, boolean muted, RtcConnection connection); - - (int)muteRemoteVideoStreamEx:(NSUInteger)uid + public abstract int muteRemoteVideoStreamEx(int uid, boolean muted, RtcConnection connection); + - (int)muteRemoteVideoStreamEx:(NSUInteger)uid mute:(BOOL)mute connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int muteRemoteVideoStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int muteRemoteVideoStreamEx(uid_t uid, bool mute, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int MuteRemoteVideoStreamEx(int64 uid, bool mute, const FRtcConnection& connection); - abstract muteRemoteVideoStreamEx( + abstract muteRemoteVideoStreamEx( uid: number, mute: boolean, connection: RtcConnection ): number; - public abstract int MuteRemoteVideoStreamEx(uint uid, bool mute, RtcConnection connection); - abstract muteRemoteVideoStreamEx( + public abstract int MuteRemoteVideoStreamEx(uint uid, bool mute, RtcConnection connection); + abstract muteRemoteVideoStreamEx( uid: number, mute: boolean, connection: RtcConnection ): number; - Future<void> muteRemoteVideoStreamEx( + Future<void> muteRemoteVideoStreamEx( {required int uid, required bool mute, required RtcConnection connection}); -

    +

    Details -

    This method is used to stop or resume receiving the video stream of a specified user. You can call this method before or after joining a channel. If a user leaves a channel, the settings in this method become invalid.

    +

    This method is used to stop or resume receiving the video stream of a specified user. + You can call this method before or after joining a channel. If a user leaves a + channel, the settings in this method become invalid.

    Parameters - - uid - -

    The user ID of the remote user.

    -
    -
    - - mute - muted - -

    Whether to stop receiving the video stream of the specified user:

      -
    • : Stop receiving the video stream of the specified user.
    • -
    • : (Default) Resume receiving the video stream of the specified user.
    • -

    -
    -
    - - - - -
    + + uid + +

    The user ID of the remote user.

    +
    +
    + + mute + muted + +

    Whether to stop receiving the video stream of the specified user:

      +
    • : Stop receiving the video + stream of the specified user.
    • +
    • : (Default) Resume + receiving the video stream of the specified user.
    • +

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_pauseallchannelmediarelayex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_pauseallchannelmediarelayex.dita index 47a33d76927..eef402d0f70 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_pauseallchannelmediarelayex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_pauseallchannelmediarelayex.dita @@ -2,7 +2,8 @@ <ph keyref="pauseAllChannelMediaRelayEx"/> - Pauses the media stream relay to all target channels. + Pauses the media stream relay to all target + channels. @@ -13,35 +14,45 @@

    - public abstract int pauseAllChannelMediaRelayEx(RtcConnection connection); - - (int)pauseAllChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(pauseAllChannelMediaRelayEx(_:)); - virtual int pauseAllChannelMediaRelayEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int pauseAllChannelMediaRelayEx(RtcConnection connection); + - (int)pauseAllChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(pauseAllChannelMediaRelayEx(_:)); + virtual int pauseAllChannelMediaRelayEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int PauseAllChannelMediaRelayEx(const FRtcConnection& connection); - abstract pauseAllChannelMediaRelayEx(connection: RtcConnection): number; - public abstract int PauseAllChannelMediaRelayEx(RtcConnection connection); - abstract pauseAllChannelMediaRelayEx(connection: RtcConnection): number; - Future<void> pauseAllChannelMediaRelayEx(RtcConnection connection); -

    + abstract pauseAllChannelMediaRelayEx(connection: RtcConnection): number; + public abstract int PauseAllChannelMediaRelayEx(RtcConnection connection); + abstract pauseAllChannelMediaRelayEx(connection: RtcConnection): number; + Future<void> pauseAllChannelMediaRelayEx(RtcConnection connection); +

    Details -

    After the cross-channel media stream relay starts, you can call this method to pause relaying media streams to all target channels; after the pause, if you want to resume the relay, call .

    - Call this method after .
    +

    After the cross-channel media stream relay starts, you can call this method to pause + relaying media streams to all target channels; after the pause, if you want to + resume the relay, call .

    + Call this method after . +
    Parameters - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_pushaudioframeex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_pushaudioframeex.dita index 4562639051d..701b7493ea6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_pushaudioframeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_pushaudioframeex.dita @@ -1,47 +1,49 @@ - <ph keyref="pushAudioFrameEx" /> + <ph keyref="pushAudioFrameEx"/> Pushes the external audio frame. - +

    - - - (int)pushExternalAudioFrameExNSData:(NSData * _Nonnull)data + + - (int)pushExternalAudioFrameExNSData:(NSData * _Nonnull)data sourceId:(NSInteger)sourceId timestamp:(NSTimeInterval)timestamp; - - - - - -

    + + + + + +

    Parameters - - sourceId - The ID of external audio source. - - - timestamp - The timestamp (ms) of the external audio frame. - -
    + + sourceId + The ID of external audio source. + + + timestamp + The timestamp (ms) of the external audio frame. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_pushencodedvideoimageex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_pushencodedvideoimageex.dita index ebbce294896..7e3e5c8aa10 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_pushencodedvideoimageex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_pushencodedvideoimageex.dita @@ -1,58 +1,62 @@ - <ph keyref="pushEncodedVideoImageEx" /> - Pushes the external encoded video frame to the SDK. + <ph keyref="pushEncodedVideoImageEx"/> + Pushes the external encoded video frame to the + SDK. - +

    - public abstract int pushExternalEncodedVideoFrameEx( + public abstract int pushExternalEncodedVideoFrameEx( ByteBuffer data, EncodedVideoFrameInfo frameInfo, int videoTrackId); - - virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, + + virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, const agora::rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo, unsigned int videoTrackId = 0) = 0; - - public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo, RtcConnection connection); - -

    + + public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo, RtcConnection connection); + + +

    Details -

    +

    Parameters - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + +
    Returns
      -
    • 0: Pushes the external encoded video frame to the SDK successfully.
    • -
    • < 0: Fails to push external encoded video frames to the SDK.
    • -
    +
  • 0: Pushes the external encoded video frame to the SDK successfully.
  • +
  • < 0: Fails to push external encoded video frames to the SDK.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_pushvideoframeex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_pushvideoframeex.dita index ec5ed7a0db4..de2ba594c97 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_pushvideoframeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_pushvideoframeex.dita @@ -1,59 +1,69 @@ - <ph keyref="pushVideoFrameEx" /> - Pushes the external raw video frame to the SDK. + <ph keyref="pushVideoFrameEx"/> + Pushes the external raw video frame to the + SDK. - +

    - public abstract boolean pushExternalVideoFrame(AgoraVideoFrame frame); - - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame; - - - - - -

    + public abstract boolean pushExternalVideoFrame(AgoraVideoFrame frame); + - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame; + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated, please use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated, please use + instead.
    +
    -

    -

    You can push the video frame either by calling this method or by calling . The difference is that the method does not support video data in texture format.

    +

    +

    You can push the video frame either by calling this method or by + calling . The difference is that the method does not support video data in texture + format.

    Parameters - - - - - - videoTrackId - The video track ID returned by calling the method. The default value is 0. - -
    + + + + + + videoTrackId + The video track ID returned by calling the method. The default value is 0. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
      -
    • : Pushes the external raw video frame to the SDK successfully.
    • -
    • : Fails to push external raw video frame to the SDK.
    • -
    +
  • : Pushes the external raw video frame to the + SDK successfully.
  • +
  • : Fails to push external raw video frame to + the SDK.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_pushvideoframeex2.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_pushvideoframeex2.dita index 2537249346e..188576b521a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_pushvideoframeex2.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_pushvideoframeex2.dita @@ -1,49 +1,54 @@ - <ph keyref="pushVideoFrameEx2" /> - Pushes the external raw video frame to the SDK. + <ph keyref="pushVideoFrameEx2"/> + Pushes the external raw video frame to the + SDK. - +

    - public abstract int pushExternalVideoFrameEx(VideoFrame frame, int videoTrackId); - - - - - - -

    + public abstract int pushExternalVideoFrameEx(VideoFrame frame, int videoTrackId); + + + + + + +

    Details -

    -

    You can push the video frame either by calling this method or by calling . The difference is that the method supports video data in Texture format.

    +

    +

    You can push the video frame either by calling this method or by calling . The difference is that the method supports video data in Texture format.

    Parameters - - - - - - - - -
    + + + + + + + + + +
    Returns
      -
    • 0: Pushes the external encoded video frame to the SDK successfully.
    • -
    • < 0: Fails to push the external encoded video frame to the SDK.
    • -
    +
  • 0: Pushes the external encoded video frame to the SDK successfully.
  • +
  • < 0: Fails to push the external encoded video frame to the SDK.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_resumeallchannelmediarelayex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_resumeallchannelmediarelayex.dita index 6bee04203e0..93e5bf06ccf 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_resumeallchannelmediarelayex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_resumeallchannelmediarelayex.dita @@ -2,7 +2,8 @@ <ph keyref="resumeAllChannelMediaRelayEx"/> - Resumes the media stream relay to all target channels. + Resumes the media stream relay to all target + channels. @@ -13,36 +14,44 @@

    - public abstract int resumeAllChannelMediaRelayEx(RtcConnection connection); - - (int)resumeAllChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(resumeAllChannelMediaRelayEx(_:)); - virtual int resumeAllChannelMediaRelayEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int resumeAllChannelMediaRelayEx(RtcConnection connection); + - (int)resumeAllChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(resumeAllChannelMediaRelayEx(_:)); + virtual int resumeAllChannelMediaRelayEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int ResumeAllChannelMediaRelayEx(const FRtcConnection& connection); - abstract resumeAllChannelMediaRelayEx(connection: RtcConnection): number; - public abstract int ResumeAllChannelMediaRelayEx(RtcConnection connection); - abstract resumeAllChannelMediaRelayEx(connection: RtcConnection): number; - Future<void> resumeAllChannelMediaRelayEx(RtcConnection connection); -

    + abstract resumeAllChannelMediaRelayEx(connection: RtcConnection): number; + public abstract int ResumeAllChannelMediaRelayEx(RtcConnection connection); + abstract resumeAllChannelMediaRelayEx(connection: RtcConnection): number; + Future<void> resumeAllChannelMediaRelayEx(RtcConnection connection); +

    Details -

    After calling the method, you can call this method to resume relaying media streams to all destination channels.

    - Call this method after . +

    After calling the method, you can call + this method to resume relaying media streams to all destination channels.

    + Call this method after .
    Parameters - - - - + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_sendcustomreportmessageex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_sendcustomreportmessageex.dita index 286d5bbc99d..c5c8be20e4b 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_sendcustomreportmessageex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_sendcustomreportmessageex.dita @@ -1,31 +1,32 @@ - <ph keyref="sendCustomReportMessageEx" /> - Agora supports reporting and analyzing customized messages. + <ph keyref="sendCustomReportMessageEx"/> + Agora supports reporting and analyzing customized + messages. - +

    - public abstract int sendCustomReportMessageEx( + public abstract int sendCustomReportMessageEx( String id, String category, String event, String label, int value, RtcConnection connection); - - (int)sendCustomReportMessageEx:(NSString * _Nullable)messageId + - (int)sendCustomReportMessageEx:(NSString * _Nullable)messageId category:(NSString * _Nullable)category event:(NSString * _Nullable)event label:(NSString * _Nullable)label value:(NSInteger)value connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int sendCustomReportMessageEx(const char* id, const char* category, const char* event, const char* label, + virtual int sendCustomReportMessageEx(const char* id, const char* category, const char* event, const char* label, int value, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SendCustomReportMessageEx(FString id, FString category, FString event, FString label, int value, const FRtcConnection& connection); - abstract sendCustomReportMessageEx( + abstract sendCustomReportMessageEx( id: string, category: string, event: string, @@ -33,8 +34,8 @@ value: number, connection: RtcConnection ): number; - public abstract int SendCustomReportMessageEx(string id, string category, string @event, string label, int value, RtcConnection connection); - abstract sendCustomReportMessageEx( + public abstract int SendCustomReportMessageEx(string id, string category, string @event, string label, int value, RtcConnection connection); + abstract sendCustomReportMessageEx( id: string, category: string, event: string, @@ -42,18 +43,18 @@ value: number, connection: RtcConnection ): number; - Future<void> sendCustomReportMessageEx( + Future<void> sendCustomReportMessageEx( {required String id, required String category, required String event, required String label, required int value, required RtcConnection connection}); -

    +

    Details -

    +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita index f754b491d5f..c2f4f1a9513 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_sendstreammessageex.dita @@ -1,79 +1,95 @@ - <ph keyref="sendStreamMessageEx" /> + <ph keyref="sendStreamMessageEx"/> Sends data stream messages. - +

    - public abstract int sendStreamMessageEx(int streamId, byte[] message, RtcConnection connection); - - virtual int sendStreamMessageEx(int streamId, const char* data, size_t length, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int sendStreamMessageEx(int streamId, byte[] message, RtcConnection connection); + + virtual int sendStreamMessageEx(int streamId, const char* data, size_t length, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SendStreamMessageEx(int streamId, FString data, const FRtcConnection& connection); - abstract sendStreamMessageEx(streamId: number, data: Uint8Array, length: number, connection: RtcConnection): number; - public abstract int SendStreamMessageEx(int streamId, byte[] data, uint length, RtcConnection connection); - abstract sendStreamMessageEx( + abstract sendStreamMessageEx(streamId: number, data: Uint8Array, length: number, connection: RtcConnection): number; + public abstract int SendStreamMessageEx(int streamId, byte[] data, uint length, RtcConnection connection); + abstract sendStreamMessageEx( streamId: number, data: Uint8Array, length: number, connection: RtcConnection ): number; - Future<void> sendStreamMessageEx( + Future<void> sendStreamMessageEx( {required int streamId, required Uint8List data, required int length, required RtcConnection connection}); -

    +

    Details -

    After calling , you can call this method to send data stream messages to all users in the channel.

    +

    After calling , you can call this method to send + data stream messages to all users in the channel.

    The SDK has the following restrictions on this method:

      -
    • Up to 60 packets can be sent per second in a channel with each packet having a maximum size of 1 KB.
    • -
    • Each client can send up to 30 KB of data per second.
    • -
    • Each user can have up to five data streams simultaneously.
    • -

    -

    A successful method call triggers the callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the callback on the remote client.

    +
  • Up to 60 packets can be sent per second in a channel with each packet having + a maximum size of 1 KB.
  • +
  • Each client can send up to 30 KB of data per second.
  • +
  • Each user can have up to five data streams simultaneously.
  • +

    +

    A successful method call triggers the callback on + the remote client, from which the remote user gets the stream message. A failed + method call triggers the callback on the + remote client.

    -
      -
    • Ensure that you call to create a data channel before calling this method.
    • -
    • This method applies only to the COMMUNICATION profile or to the hosts in the LIVE_BROADCASTING profile. If an audience in the LIVE_BROADCASTING profile calls this method, the audience may be switched to a host.
    • -
    +
      +
    • Ensure that you call to create a + data channel before calling this method.
    • +
    • This method applies only to the COMMUNICATION profile or to the hosts in the + LIVE_BROADCASTING profile. If an audience in the LIVE_BROADCASTING profile + calls this method, the audience may be switched to a host.
    • +
    +
    Parameters - - streamId - The data stream ID. You can get the data stream ID by calling . - - - message - data - The message to be sent. - - + + streamId + The data stream ID. You can get the data stream ID by calling . + + + message + data + The message to be sent. + + length The length of the data. - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita index 8b7a28beaa3..5dd322d80f1 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setdualstreammodeex.dita @@ -2,7 +2,8 @@ <ph keyref="setDualStreamModeEx"/> - Sets the dual-stream mode on the sender side. + Sets the dual-stream mode on the sender + side. @@ -13,71 +14,100 @@

    - public abstract int setDualStreamModeEx(Constants.SimulcastStreamMode mode, + public abstract int setDualStreamModeEx(Constants.SimulcastStreamMode mode, SimulcastStreamConfig streamConfig, RtcConnection connection); - - (int)setDualStreamModeEx:(AgoraSimulcastStreamMode)mode + - (int)setDualStreamModeEx:(AgoraSimulcastStreamMode)mode streamConfig:(AgoraSimulcastStreamConfig*)streamConfig connection:(AgoraRtcConnection* _Nonnull)connection; - virtual int setDualStreamModeEx(SIMULCAST_STREAM_MODE mode, + virtual int setDualStreamModeEx(SIMULCAST_STREAM_MODE mode, const SimulcastStreamConfig& streamConfig, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetDualStreamModeEx(FENUMWRAP_SIMULCAST_STREAM_MODE mode, const FSimulcastStreamConfig& streamConfig, const FRtcConnection& connection); - abstract setDualStreamModeEx( + abstract setDualStreamModeEx( mode: SimulcastStreamMode, streamConfig: SimulcastStreamConfig, connection: RtcConnection ): number; - public abstract int SetDualStreamModeEx(SIMULCAST_STREAM_MODE mode, SimulcastStreamConfig streamConfig, RtcConnection connection); - abstract setDualStreamModeEx( + public abstract int SetDualStreamModeEx(SIMULCAST_STREAM_MODE mode, SimulcastStreamConfig streamConfig, RtcConnection connection); + abstract setDualStreamModeEx( mode: SimulcastStreamMode, streamConfig: SimulcastStreamConfig, connection: RtcConnection ): number; - Future<void> setDualStreamModeEx( + Future<void> setDualStreamModeEx( {required SimulcastStreamMode mode, required SimulcastStreamConfig streamConfig, required RtcConnection connection}); -

    +

    Details
    - -
    Since
    -
    v4.0.1
    -
    + +
    Since
    +
    v4.0.1
    +
    -

    The SDK defaults to enabling low-quality video stream adaptive mode () on the sending end, which means the sender does not actively send low-quality video stream. The receiver with the role of the host can initiate a low-quality video stream request by calling , and upon receiving the request, the sending end automatically starts sending the low-quality video stream.

      -
    • If you want to modify this behavior, you can call this method and set mode to (never send low-quality video streams) or (always send low-quality video streams).
    • -
    • If you want to restore the default behavior after making changes, you can call this method again with mode set to .

    - The difference and connection between this method and is as follows:
      -
    • When calling this method and setting mode to , it has the same effect as ().
    • -
    • When calling this method and setting mode to , it has the same effect as ().
    • -
    • Both methods can be called before and after joining a channel. If both methods are used, the settings in the method called later takes precedence.
    -
    +

    The SDK defaults to enabling low-quality video stream adaptive mode + () on the sending end, which means the + sender does not actively send low-quality video stream. The receiver with the role + of the host can initiate a low-quality video stream request by calling , and upon receiving the request, the + sending end automatically starts sending the low-quality video stream.

      +
    • If you want to modify this behavior, you can call this method and set + mode to (never send low-quality video streams) or (always send low-quality video + streams).
    • +
    • If you want to restore the default behavior after making changes, you can + call this method again with mode set to .
    • +

    + The difference and connection between this method and is as follows:
      +
    • When calling this method and setting mode to , it has the same effect as ().
    • +
    • When calling this method and setting mode to , it has the same effect as ().
    • +
    • Both methods can be called before and after joining a channel. If both + methods are used, the settings in the method called later takes + precedence.
    • +
    +
    +
    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita index 694906cba07..7338bdf1078 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setremoterendermodeex.dita @@ -1,92 +1,116 @@ - <ph keyref="setRemoteRenderModeEx" /> - Sets the video display mode of a specified remote user. + <ph keyref="setRemoteRenderModeEx"/> + Sets the video display mode of a specified remote + user. - +

    - public abstract int setRemoteRenderModeEx( + public abstract int setRemoteRenderModeEx( int uid, int renderMode, int mirrorMode, RtcConnection connection); - - (int)setRemoteRenderModeEx:(NSUInteger)uid + - (int)setRemoteRenderModeEx:(NSUInteger)uid mode:(AgoraVideoRenderMode)mode mirror:(AgoraVideoMirrorMode)mirror connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setRemoteRenderModeEx(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, + virtual int setRemoteRenderModeEx(uid_t uid, media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteRenderModeEx(int64 uid, ERENDER_MODE_TYPE renderMode, EVIDEO_MIRROR_MODE_TYPE mirrorMode, const FRtcConnection& connection); - abstract setRemoteRenderModeEx( + abstract setRemoteRenderModeEx( uid: number, renderMode: RenderModeType, mirrorMode: VideoMirrorModeType, connection: RtcConnection ): number; - public abstract int SetRemoteRenderModeEx(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode, RtcConnection connection); - abstract setRemoteRenderModeEx( + public abstract int SetRemoteRenderModeEx(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode, RtcConnection connection); + abstract setRemoteRenderModeEx( uid: number, renderMode: RenderModeType, mirrorMode: VideoMirrorModeType, connection: RtcConnection ): number; - Future<void> setRemoteRenderModeEx( + Future<void> setRemoteRenderModeEx( {required int uid, required RenderModeType renderMode, required VideoMirrorModeType mirrorMode, - required RtcConnection connection});

    + required RtcConnection connection}); +

    Details -

    After initializing the video view of a remote user, you can call this method to update its rendering and mirror modes. This method affects only the video view that the local user sees. -

      -
    • Call this method after initializing the remote view by calling the method.
    • -
    • Call this method after rendering the or component corresponding to the remote user ID.
    • -
    • During a call, you can call this method as many times as necessary to update the display mode of the video view of a remote user.
    • -

    +

    After initializing the video view of a remote user, you can call this method to + update its rendering and mirror modes. This method affects only the video view that + the local user sees. +

      +
    • Call this method after + initializing the remote view by calling the method.
    • +
    • Call this method after rendering the or + component corresponding to the remote user ID.
    • +
    • During a call, you can call this method as many times as necessary to + update the display mode of the video view of a remote user.
    • +
    +

    Parameters - - uid - The user ID of the remote user. - - - renderMode - -

    The video display mode of the remote user. See .

    -

    The video display mode of the remote user:

      -
    • -

    -
    -
    - - mirrorMode - -

    The mirror mode of the remote user view. See .

    -

    The mirror mode of the remote user view:

      -
    • -

    -
    -
    - - - - -
    + + uid + The user ID of the remote user. + + + renderMode + +

    The video + display mode of the remote user. See .

    +

    The video display mode of the remote user:

      +
    • +
    +

    +
    +
    + + mirrorMode + +

    The mirror + mode of the remote user view. See .

    +

    The mirror mode of the remote user view:

      +
    • +
    +

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita index 08359a36b0a..bf8888b8031 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevideostreamtypeex.dita @@ -1,8 +1,11 @@ - <ph keyref="setRemoteVideoStreamTypeEx"/> - Sets the video stream type to subscribe to. + + <ph keyref="setRemoteVideoStreamTypeEx"/> + + Sets the video stream type to subscribe + to. @@ -13,60 +16,74 @@

    - public abstract int setRemoteVideoStreamTypeEx(int uid, int streamType, RtcConnection connection); - - (int)setRemoteVideoStreamEx:(NSUInteger)uid + public abstract int setRemoteVideoStreamTypeEx(int uid, int streamType, RtcConnection connection); + - (int)setRemoteVideoStreamEx:(NSUInteger)uid type:(AgoraVideoStreamType)streamType connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(setRemoteVideoStreamEx(_:type:connection:)); - virtual int setRemoteVideoStreamTypeEx(uid_t uid, VIDEO_STREAM_TYPE streamType, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteVideoStreamTypeEx(uid_t uid, VIDEO_STREAM_TYPE streamType, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVideoStreamTypeEx(int64 uid, EVIDEO_STREAM_TYPE streamType, const FRtcConnection& connection); - abstract setRemoteVideoStreamTypeEx( + abstract setRemoteVideoStreamTypeEx( uid: number, streamType: VideoStreamType, connection: RtcConnection ): number; - public abstract int SetRemoteVideoStreamTypeEx(uint uid, VIDEO_STREAM_TYPE streamType, RtcConnection connection); - abstract setRemoteVideoStreamTypeEx( + public abstract int SetRemoteVideoStreamTypeEx(uint uid, VIDEO_STREAM_TYPE streamType, RtcConnection connection); + abstract setRemoteVideoStreamTypeEx( uid: number, streamType: VideoStreamType, connection: RtcConnection ): number; - Future<void> setRemoteVideoStreamTypeEx( + Future<void> setRemoteVideoStreamTypeEx( {required int uid, required VideoStreamType streamType, required RtcConnection connection}); -

    +

    - Details + Details

      -
    • If the publisher has already called and set mode to (never send low-quality video stream), calling this method will not take effect, you should call again on the sending end and adjust the settings.
    • -
    • Calling this method on the receiving end of the audience role will not take effect.
    +
  • If the publisher has already called and set mode to (never send low-quality video + stream), calling this method will not take effect, you should call + again on the sending end + and adjust the settings.
  • +
  • Calling this method on the receiving end of the audience role + will not take effect.
  • +
    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when + fails, the exception is thrown. You need to + catch the exception and handle it accordingly. See for details and resolution + suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for + details and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevideosubscriptionoptionsex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevideosubscriptionoptionsex.dita index 229ae71886a..7a0b0830bb8 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevideosubscriptionoptionsex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevideosubscriptionoptionsex.dita @@ -2,7 +2,8 @@ <ph keyref="setRemoteVideoSubscriptionOptionsEx"/> - Options for subscribing to remote video streams. + Options for subscribing to remote video + streams. @@ -13,51 +14,53 @@

    - public abstract int setRemoteVideoSubscriptionOptionsEx( + public abstract int setRemoteVideoSubscriptionOptionsEx( int uid, VideoSubscriptionOptions options, RtcConnection rtcConnection); - - (int)setRemoteVideoSubscriptionOptionsEx:(NSUInteger)uid + - (int)setRemoteVideoSubscriptionOptionsEx:(NSUInteger)uid options:(AgoraVideoSubscriptionOptions* _Nonnull)options connection:(AgoraRtcConnection* _Nonnull)connection NS_SWIFT_NAME(setRemoteVideoSubscriptionOptionsEx(_:options:connection:)); - virtual int setRemoteVideoSubscriptionOptionsEx(uid_t uid, const VideoSubscriptionOptions& options, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteVideoSubscriptionOptionsEx(uid_t uid, const VideoSubscriptionOptions& options, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVideoSubscriptionOptionsEx(int64 uid, const FVideoSubscriptionOptions& options, const FRtcConnection& connection); - abstract setRemoteVideoSubscriptionOptionsEx( + abstract setRemoteVideoSubscriptionOptionsEx( uid: number, options: VideoSubscriptionOptions, connection: RtcConnection ): number; - public abstract int SetRemoteVideoSubscriptionOptionsEx(uint uid, VideoSubscriptionOptions options, RtcConnection connection); - abstract setRemoteVideoSubscriptionOptionsEx( + public abstract int SetRemoteVideoSubscriptionOptionsEx(uint uid, VideoSubscriptionOptions options, RtcConnection connection); + abstract setRemoteVideoSubscriptionOptionsEx( uid: number, options: VideoSubscriptionOptions, connection: RtcConnection ): number; - Future<void> setRemoteVideoSubscriptionOptionsEx( + Future<void> setRemoteVideoSubscriptionOptionsEx( {required int uid, required VideoSubscriptionOptions options, required RtcConnection connection}); -

    +

    Details -

    When a remote user has enabled dual-stream mode, you can call this method to choose the option for subscribing to the video streams sent by the remote user.

    +

    When a remote user has enabled dual-stream mode, you can call this method to choose + the option for subscribing to the video streams sent by the remote user.

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevoice3dpositionex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevoice3dpositionex.dita index daea921efbb..80e8329df82 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevoice3dpositionex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevoice3dpositionex.dita @@ -1,40 +1,48 @@ - <ph keyref="setRemoteVoice3DPositionEx" /> - Sets the 3D position of the remote user's voice. + <ph keyref="setRemoteVoice3DPositionEx"/> + Sets the 3D position of the remote user's + voice. - +

    - public abstract int setRemoteVoice3DPositionEx( + public abstract int setRemoteVoice3DPositionEx( int uid, double azimuth, double elevation, double distance, RtcConnection connection); - - (int)setRemoteVoice3DPositionEx:(NSUInteger)uid + - (int)setRemoteVoice3DPositionEx:(NSUInteger)uid azimuth:(double)azimuth elevation:(double)elevation distance:(double)distance connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setRemoteVoice3DPositionEx(uid_t uid, double azimuth, double elevation, double distance, const RtcConnection& connection) = 0; - - - - There are no corresponding names available -

    + virtual int setRemoteVoice3DPositionEx(uid_t uid, double azimuth, double elevation, double distance, const RtcConnection& connection) = 0; + + + + There are no corresponding names available +

    Details -

    By setting the horizontal angle, vertical angle, and distance of the remote user's voice, the voice of the remote user can sound directional.

    -

    This method applies to massive multiplayer online games, such as Battle Royale games.

    -

    The difference between this method and is that this method sets a 3D position for the voice, whereas sets a 2D position that is the position on restricted to the horizontal plane for the voice.

    +

    By setting the horizontal angle, vertical angle, and distance of the remote user's + voice, the voice of the remote user can sound directional.

    +

    This method applies to massive multiplayer online games, such as Battle Royale + games.

    +

    The difference between this method and is + that this method sets a 3D position for the voice, whereas sets a 2D position that is the position on + restricted to the horizontal plane for the voice.

      -
    • For this method to work, enable stereo panning for remote users by calling the method before joining a channel.
    • +
    • For this method to work, enable stereo panning for remote users by calling + the method before joining a + channel.
    • For the best voice positioning, Agora recommends using a wired headset.
    • Call this method after joining a channel.
    @@ -43,24 +51,24 @@
    Parameters - - + + - - + + - - + + - - + + - - + +
    @@ -72,4 +80,4 @@
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevoicepositionex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevoicepositionex.dita index 02d32509f99..adc46c82e94 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevoicepositionex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setremotevoicepositionex.dita @@ -1,86 +1,100 @@ - <ph keyref="setRemoteVoicePositionEx" /> - Sets the 2D position (the position on the horizontal plane) of the remote user's voice. + <ph keyref="setRemoteVoicePositionEx"/> + Sets the 2D position (the position on the horizontal + plane) of the remote user's voice. - +

    - public abstract int setRemoteVoicePositionEx( + public abstract int setRemoteVoicePositionEx( int uid, double pan, double gain, RtcConnection connection); - - (int)setRemoteVoicePosition:(NSUInteger)uid + - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setRemoteVoicePositionEx(uid_t uid, double pan, double gain, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setRemoteVoicePositionEx(uid_t uid, double pan, double gain, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetRemoteVoicePositionEx(int64 uid, float pan, float gain, const FRtcConnection& connection); - abstract setRemoteVoicePositionEx( + abstract setRemoteVoicePositionEx( uid: number, pan: number, gain: number, connection: RtcConnection ): number; - public abstract int SetRemoteVoicePositionEx(uint uid, double pan, double gain, RtcConnection connection); - abstract setRemoteVoicePositionEx( + public abstract int SetRemoteVoicePositionEx(uint uid, double pan, double gain, RtcConnection connection); + abstract setRemoteVoicePositionEx( uid: number, pan: number, gain: number, connection: RtcConnection ): number; - Future<void> setRemoteVoicePositionEx( + Future<void> setRemoteVoicePositionEx( {required int uid, required double pan, required double gain, required RtcConnection connection}); -

    +

    Details

    This method sets the voice position and volume of a remote user.

    -

    When the local user calls this method to set the voice position of a remote user, the voice difference between the left and right channels allows the local user to track the real-time position of the remote user, creating a sense of space. This method applies to massive multiplayer online games, such as Battle Royale games.

    +

    When the local user calls this method to set the voice position of a remote user, the + voice difference between the left and right channels allows the local user to track + the real-time position of the remote user, creating a sense of space. This method + applies to massive multiplayer online games, such as Battle Royale games.

    -
      -
    • For the best voice positioning, Agora recommends using a wired headset.
    • -
    • Call this method after joining a channel.
    • -
    +
      +
    • For the best voice positioning, Agora recommends using a wired headset.
    • +
    • Call this method after joining a channel.
    • +
    + +
    Parameters - - uid - The user ID of the remote user. - - - pan - The voice position of the remote user. The value ranges from -1.0 to 1.0:
      -
    • -1.0: The remote voice comes from the left.
    • -
    • 0.0: (Default) The remote voice comes from the front.
    • -
    • 1.0: The remote voice comes from the right.
    • -
    -
    - - gain - The volume of the remote user. The value ranges from 0.0 to 100.0. The default value is 100.0 (the original volume of the remote user). The smaller the value, the lower the volume. - - - - - -
    + + uid + The user ID of the remote user. + + + pan + The voice position of the remote user. The value ranges from -1.0 to 1.0:
      +
    • -1.0: The remote voice comes from the left.
    • +
    • 0.0: (Default) The remote voice comes from the front.
    • +
    • 1.0: The remote voice comes from the right.
    • +
    +
    + + gain + The volume of the remote user. The value ranges from 0.0 to 100.0. The + default value is 100.0 (the original volume of the remote user). The smaller + the value, the lower the volume. + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioallowlistex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioallowlistex.dita index e975222fc0b..be47ddc2b25 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioallowlistex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioallowlistex.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeAudioAllowlistEx"/> - + @@ -13,51 +14,57 @@

    - public abstract int setSubscribeAudioAllowlistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeAudioAllowlistEx:(NSArray <NSNumber *> *_Nonnull)allowlist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeAudioAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeAudioAllowlistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeAudioAllowlistEx:(NSArray <NSNumber *> *_Nonnull)allowlist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeAudioAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeAudioAllowlistEx(TArray<int64> uidList, int uidNumber, const FRtcConnection& connection); - abstract setSubscribeAudioAllowlistEx( + abstract setSubscribeAudioAllowlistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int GetCacheDir(out string path, int length); - abstract setSubscribeAudioAllowlistEx( + public abstract int GetCacheDir(out string path, int length); + abstract setSubscribeAudioAllowlistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeAudioAllowlistEx( + Future<void> setSubscribeAudioAllowlistEx( {required List<int> uidList, required int uidNumber, required RtcConnection connection}); -

    +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblacklistex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblacklistex.dita index 224a7ba1822..1453012924a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblacklistex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblacklistex.dita @@ -1,63 +1,67 @@ - <ph keyref="setSubscribeAudioBlacklistEx" /> - + <ph keyref="setSubscribeAudioBlacklistEx"/> + - +

    - public abstract int setSubscribeAudioBlacklistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeAudioBlacklistEx:(NSArray <NSNumber *> *_Nonnull)blacklist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeAudioBlacklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - - abstract setSubscribeAudioBlacklistEx( + public abstract int setSubscribeAudioBlacklistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeAudioBlacklistEx:(NSArray <NSNumber *> *_Nonnull)blacklist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeAudioBlacklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + + abstract setSubscribeAudioBlacklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int SetSubscribeAudioBlacklistEx(uint[] uidList, int uidNumber, RtcConnection connection); - abstract setSubscribeAudioBlacklistEx( + public abstract int SetSubscribeAudioBlacklistEx(uint[] uidList, int uidNumber, RtcConnection connection); + abstract setSubscribeAudioBlacklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeAudioBlacklistEx( + Future<void> setSubscribeAudioBlacklistEx( {required List<int> uidList, required int uidNumber, - required RtcConnection connection});

    + required RtcConnection connection}); +

    -

    +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblocklistex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblocklistex.dita index 6f3a33e9174..c5419c532c2 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblocklistex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudioblocklistex.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeAudioBlocklistEx"/> - + @@ -13,27 +14,27 @@

    - public abstract int setSubscribeAudioBlocklistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeAudioBlocklistEx:(NSArray <NSNumber *> *_Nonnull)blocklist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeAudioBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeAudioBlocklistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeAudioBlocklistEx:(NSArray <NSNumber *> *_Nonnull)blocklist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeAudioBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeAudioBlocklistEx(TArray<int64> uidList, int uidNumber, const FRtcConnection& connection); - abstract setSubscribeAudioBlocklistEx( + abstract setSubscribeAudioBlocklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int SetSubscribeAudioBlocklistEx(uint[] uidList, int uidNumber, RtcConnection connection); - abstract setSubscribeAudioBlocklistEx( + public abstract int SetSubscribeAudioBlocklistEx(uint[] uidList, int uidNumber, RtcConnection connection); + abstract setSubscribeAudioBlocklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeAudioBlocklistEx( + Future<void> setSubscribeAudioBlocklistEx( {required List<int> uidList, required int uidNumber, required RtcConnection connection}); -

    +

    @@ -41,25 +42,31 @@

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudiowhitelistex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudiowhitelistex.dita index f3918c52d36..9e24b9fe525 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudiowhitelistex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribeaudiowhitelistex.dita @@ -1,61 +1,65 @@ - <ph keyref="setSubscribeAudioWhitelistEx" /> - + <ph keyref="setSubscribeAudioWhitelistEx"/> + - +

    - public abstract int setSubscribeAudioWhitelistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeAudioWhitelistEx:(NSArray <NSNumber *> *_Nonnull)whitelist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeAudioWhitelistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - - abstract setSubscribeAudioWhitelistEx( + public abstract int setSubscribeAudioWhitelistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeAudioWhitelistEx:(NSArray <NSNumber *> *_Nonnull)whitelist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeAudioWhitelistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + + abstract setSubscribeAudioWhitelistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int GetCacheDir(out string path, int length); - abstract setSubscribeAudioWhitelistEx( + public abstract int GetCacheDir(out string path, int length); + abstract setSubscribeAudioWhitelistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeAudioWhitelistEx( + Future<void> setSubscribeAudioWhitelistEx( {required List<int> uidList, required int uidNumber, - required RtcConnection connection});

    + required RtcConnection connection}); +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoallowlistex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoallowlistex.dita index a2614404a61..a2afed09b8e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoallowlistex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoallowlistex.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeVideoAllowlistEx"/> - + @@ -13,51 +14,57 @@

    - public abstract int setSubscribeVideoAllowlistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeVideoAllowlistEx:(NSArray <NSNumber *> *_Nonnull)allowlist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeVideoAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeVideoAllowlistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeVideoAllowlistEx:(NSArray <NSNumber *> *_Nonnull)allowlist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeVideoAllowlistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeVideoAllowlistEx(TArray<int64> uidList, int uidNumber, const FRtcConnection& connection); - abstract setSubscribeVideoAllowlistEx( + abstract setSubscribeVideoAllowlistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int SetSubscribeVideoAllowlistEx(uint[] uidList, int uidNumber, RtcConnection connection); - abstract setSubscribeVideoAllowlistEx( + public abstract int SetSubscribeVideoAllowlistEx(uint[] uidList, int uidNumber, RtcConnection connection); + abstract setSubscribeVideoAllowlistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeVideoAllowlistEx( + Future<void> setSubscribeVideoAllowlistEx( {required List<int> uidList, required int uidNumber, required RtcConnection connection}); -

    +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblacklistex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblacklistex.dita index c2037f34454..7d53b3ef32a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblacklistex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblacklistex.dita @@ -1,61 +1,65 @@ - <ph keyref="setSubscribeVideoBlacklistEx" /> - + <ph keyref="setSubscribeVideoBlacklistEx"/> + - +

    - public abstract int setSubscribeVideoBlacklistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeVideoBlacklistEx:(NSArray <NSNumber *> *_Nonnull)blacklist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeVideoBlacklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - - abstract setSubscribeVideoBlacklistEx( + public abstract int setSubscribeVideoBlacklistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeVideoBlacklistEx:(NSArray <NSNumber *> *_Nonnull)blacklist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeVideoBlacklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + + abstract setSubscribeVideoBlacklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int SetSubscribeVideoBlacklistEx(uint[] uidList, int uidNumber, RtcConnection connection); - abstract setSubscribeVideoBlacklistEx( + public abstract int SetSubscribeVideoBlacklistEx(uint[] uidList, int uidNumber, RtcConnection connection); + abstract setSubscribeVideoBlacklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeVideoBlacklistEx( + Future<void> setSubscribeVideoBlacklistEx( {required List<int> uidList, required int uidNumber, - required RtcConnection connection});

    + required RtcConnection connection}); +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblocklistex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblocklistex.dita index 8d59a00877b..6db81de7d85 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblocklistex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideoblocklistex.dita @@ -2,7 +2,8 @@ <ph keyref="setSubscribeVideoBlocklistEx"/> - + @@ -13,51 +14,57 @@

    - public abstract int setSubscribeVideoBlocklistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeVideoBlocklistEx:(NSArray <NSNumber *> *_Nonnull)blocklist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeVideoBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int setSubscribeVideoBlocklistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeVideoBlocklistEx:(NSArray <NSNumber *> *_Nonnull)blocklist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeVideoBlocklistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetSubscribeVideoBlocklistEx(TArray<int64> uidList, int uidNumber, const FRtcConnection& connection); - abstract setSubscribeVideoBlocklistEx( + abstract setSubscribeVideoBlocklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int SetSubscribeVideoBlocklistEx(uint[] uidList, int uidNumber, RtcConnection connection); - abstract setSubscribeVideoBlocklistEx( + public abstract int SetSubscribeVideoBlocklistEx(uint[] uidList, int uidNumber, RtcConnection connection); + abstract setSubscribeVideoBlocklistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeVideoBlocklistEx( + Future<void> setSubscribeVideoBlocklistEx( {required List<int> uidList, required int uidNumber, required RtcConnection connection}); -

    +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideowhitelistex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideowhitelistex.dita index 0cbe10db633..62eed33b539 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideowhitelistex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setsubscribevideowhitelistex.dita @@ -1,61 +1,65 @@ - <ph keyref="setSubscribeVideoWhitelistEx" /> - + <ph keyref="setSubscribeVideoWhitelistEx"/> + - +

    - public abstract int setSubscribeVideoWhitelistEx(int[] uidList, RtcConnection connection); - - (int)setSubscribeVideoWhitelistEx:(NSArray <NSNumber *> *_Nonnull)whitelist connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setSubscribeVideoWhitelistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; - - abstract setSubscribeVideoWhitelistEx( + public abstract int setSubscribeVideoWhitelistEx(int[] uidList, RtcConnection connection); + - (int)setSubscribeVideoWhitelistEx:(NSArray <NSNumber *> *_Nonnull)whitelist connection:(AgoraRtcConnection * _Nonnull)connection; + virtual int setSubscribeVideoWhitelistEx(uid_t* uidList, int uidNumber, const RtcConnection& connection) = 0; + + abstract setSubscribeVideoWhitelistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - public abstract int SetSubscribeVideoWhitelistEx(uint[] uidList, int uidNumber, RtcConnection connection); - abstract setSubscribeVideoWhitelistEx( + public abstract int SetSubscribeVideoWhitelistEx(uint[] uidList, int uidNumber, RtcConnection connection); + abstract setSubscribeVideoWhitelistEx( uidList: number[], uidNumber: number, connection: RtcConnection ): number; - Future<void> setSubscribeVideoWhitelistEx( + Future<void> setSubscribeVideoWhitelistEx( {required List<int> uidList, required int uidNumber, - required RtcConnection connection});

    + required RtcConnection connection}); +

    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • +
    • 0: Success.
    • +
    • < 0: Failure.
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita index 698190829c1..b7e12106e14 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setupremotevideoex.dita @@ -1,68 +1,87 @@ - <ph keyref="setupRemoteVideoEx" /> - Initializes the video view of a remote user. + <ph keyref="setupRemoteVideoEx"/> + Initializes the video view of a remote + user. - +

    - public abstract int setupRemoteVideoEx(VideoCanvas remote, RtcConnection connection); - - (int)setupRemoteVideoEx:(AgoraRtcVideoCanvas* _Nonnull)remote + public abstract int setupRemoteVideoEx(VideoCanvas remote, RtcConnection connection); + - (int)setupRemoteVideoEx:(AgoraRtcVideoCanvas* _Nonnull)remote connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setupRemoteVideoEx(const VideoCanvas& canvas, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setupRemoteVideoEx(const VideoCanvas& canvas, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetupRemoteVideoEx(const FVideoCanvas& canvas, const FRtcConnection& connection); - abstract setupRemoteVideoEx( + abstract setupRemoteVideoEx( canvas: VideoCanvas, connection: RtcConnection ): number; - public abstract int SetupRemoteVideoEx(VideoCanvas canvas, RtcConnection connection); - abstract setupRemoteVideoEx( + public abstract int SetupRemoteVideoEx(VideoCanvas canvas, RtcConnection connection); + abstract setupRemoteVideoEx( canvas: VideoCanvas, connection: RtcConnection ): number; - Future<void> setupRemoteVideoEx( + Future<void> setupRemoteVideoEx( {required VideoCanvas canvas, required RtcConnection connection}); -

    +

    Details -

    This method initializes the video view of a remote stream on the local device. It affects only the video view that the local user sees. Call this method to bind the remote video stream to a video view and to set the rendering and mirror modes of the video view.

    -

    The application specifies the uid of the remote video in the method before the remote user joins the channel.

    -

    If the remote uid is unknown to the application, set it after the application receives the callback. If the Video Recording function is enabled, the Video Recording Service joins the channel as a dummy client, causing other clients to also receive the onUserJoined callback. Do not bind the dummy client to the application view because the dummy client does not send any video streams.

    -

    To unbind the remote user from the view, set the view parameter to NULL.

    +

    This method initializes the video view of a remote stream on the local device. It + affects only the video view that the local user sees. Call this method to bind the + remote video stream to a video view and to set the rendering and mirror modes of the + video view.

    +

    The application specifies the uid of the remote video in the method before the remote user joins the channel.

    +

    If the remote uid is unknown to the application, set it after the application + receives the callback. If the Video Recording function + is enabled, the Video Recording Service joins the channel as a dummy client, causing + other clients to also receive the onUserJoined callback. Do not + bind the dummy client to the application view because the dummy client does not send + any video streams.

    +

    To unbind the remote user from the view, set the view parameter + to NULL.

    Once the remote user leaves the channel, the SDK unbinds the remote user.

    -

    To update the rendering or mirror mode of the remote video view during a call, use the method.

    -
    +

    To update the rendering or mirror mode of the remote video view during a call, + use the method.

    + +
    Parameters - - remote - canvas - -

    The remote video view settings. See .

    -
    -
    - - - - -
    + + remote + canvas + +

    The remote video view settings. See .

    +
    +
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita index ae87bda4985..a1af982d80a 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_setvideoencoderconfigurationex.dita @@ -1,62 +1,74 @@ - <ph keyref="setVideoEncoderConfigurationEx" /> + <ph keyref="setVideoEncoderConfigurationEx"/> Sets the video encoder configuration. - +

    - public abstract int setVideoEncoderConfigurationEx( + public abstract int setVideoEncoderConfigurationEx( VideoEncoderConfiguration config, RtcConnection connection); - - (int)setVideoEncoderConfigurationEx:(AgoraVideoEncoderConfiguration* _Nonnull)config + - (int)setVideoEncoderConfigurationEx:(AgoraVideoEncoderConfiguration* _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setVideoEncoderConfigurationEx(const VideoEncoderConfiguration& config, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int setVideoEncoderConfigurationEx(const VideoEncoderConfiguration& config, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int SetVideoEncoderConfigurationEx(const FVideoEncoderConfiguration& config, const FRtcConnection& connection); - abstract setVideoEncoderConfigurationEx( + abstract setVideoEncoderConfigurationEx( config: VideoEncoderConfiguration, connection: RtcConnection ): number; - public abstract int SetVideoEncoderConfigurationEx(VideoEncoderConfiguration config, RtcConnection connection); - abstract setVideoEncoderConfigurationEx( + public abstract int SetVideoEncoderConfigurationEx(VideoEncoderConfiguration config, RtcConnection connection); + abstract setVideoEncoderConfigurationEx( config: VideoEncoderConfiguration, connection: RtcConnection ): number; - Future<void> setVideoEncoderConfigurationEx( + Future<void> setVideoEncoderConfigurationEx( {required VideoEncoderConfiguration config, required RtcConnection connection}); -

    +

    Details -

    Sets the encoder configuration for the local video. Each configuration profile corresponds to a set of video parameters, including the resolution, frame rate, and bitrate.

    -

    The config specified in this method is the maximum value under ideal network conditions. If the video engine cannot render the video using the specified config due to unreliable network conditions, the parameters further down the list are considered until a successful configuration is found.

    +

    Sets the encoder configuration for the local video. Each configuration + profile corresponds to a set of video parameters, including the resolution, frame + rate, and bitrate.

    +

    The config specified in this method is the maximum value under + ideal network conditions. If the video engine cannot render the video using the + specified config due to unreliable network conditions, the + parameters further down the list are considered until a successful configuration is + found.

    Parameters - - config - Video profile. See . - - - - - -
    + + config + Video profile. See . + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_startchannelmediarelayex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_startchannelmediarelayex.dita index 59f162f5dc7..0a4d60c6c20 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_startchannelmediarelayex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_startchannelmediarelayex.dita @@ -2,7 +2,9 @@ <ph keyref="startChannelMediaRelayEx"/> - Starts relaying media streams across channels. This method can be used to implement scenarios such as co-host across channels. + Starts relaying media streams across channels. This + method can be used to implement scenarios such as co-host across + channels. @@ -13,71 +15,98 @@

    - public abstract int startChannelMediaRelayEx( + public abstract int startChannelMediaRelayEx( ChannelMediaRelayConfiguration channelMediaRelayConfiguration, RtcConnection connection); - - (int)startChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startChannelMediaRelayEx(_:connection:)); - virtual int startChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startChannelMediaRelayEx(_:connection:)); + virtual int startChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartChannelMediaRelayEx(const FChannelMediaRelayConfiguration& configuration, const FRtcConnection& connection); - abstract startChannelMediaRelayEx( + abstract startChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - public abstract int StartChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); - abstract startChannelMediaRelayEx( + public abstract int StartChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); + abstract startChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - Future<void> startChannelMediaRelayEx( + Future<void> startChannelMediaRelayEx( {required ChannelMediaRelayConfiguration configuration, required RtcConnection connection}); -

    +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use instead.
    +
    -

    After a successful method call, the SDK triggers the and callbacks, and these callbacks return the state and events of the media stream relay.

      -
    • If the callback returns (2) and (0), and the callback returns (4), it means that the SDK starts relaying media streams between the source channel and the target channel.
    • -
    • If the callback returns (3), an exception occurs during the media stream relay.
    • -

    +

    After a successful method call, the SDK triggers the and callbacks, and these callbacks return the + state and events of the media stream relay.

      +
    • If the callback returns + (2) and (0), and the callback returns (4), it means that + the SDK starts relaying media streams between the source channel and the + target channel.
    • +
    • If the callback returns + (3), an exception occurs during + the media stream relay.
    • +
    +

    -
      -
    • Call this method after joining the channel.
    • -
    • This method takes effect only when you are a host in a live streaming channel.
    • -
    • After a successful method call, if you want to call this method again, ensure that you call the method to quit the current relay.
    • -
    • The relaying media streams across channels function needs to be enabled by contacting .
    • -
    • Agora does not support string user accounts in this API.
    • -
    +
      +
    • Call this method after joining the channel.
    • +
    • This method takes effect only when you are a host in a live streaming + channel.
    • +
    • After a successful method call, if you want to call this method again, + ensure that you call the method to + quit the current relay.
    • +
    • The relaying media streams across channels function needs to be enabled by + contacting .
    • +
    • Agora does not support string user accounts in this API.
    • +
    + +
    Parameters - - channelMediaRelayConfiguration - config - configuration - The configuration of the media stream relay. See . - - - - - -
    + + channelMediaRelayConfiguration + config + configuration + The configuration of the media stream relay. See . + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -7: The method call was rejected. It may be because the SDK has not been initialized successfully, or the user role is not a host.
      • -
      • -8: Internal state error. Probably because the user is not a broadcaster.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
      +
    • -1: A general error occurs (no specified reason).
    • +
    • -2: The parameter is invalid.
    • +
    • -7: The method call was rejected. It may be because the SDK has not been + initialized successfully, or the user role is not a host.
    • +
    • -8: Internal state error. Probably because the user is not a + broadcaster.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_startmediarenderingtracingex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_startmediarenderingtracingex.dita index 70749252872..07eb3db6c40 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_startmediarenderingtracingex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_startmediarenderingtracingex.dita @@ -2,7 +2,8 @@ <ph keyref="startMediaRenderingTracingEx"/> - Enables tracing the video frame rendering process. + Enables tracing the video frame rendering + process. @@ -13,45 +14,49 @@

    - public abstract int startMediaRenderingTracingEx(RtcConnection connection); - - (int)startMediaRenderingTracingEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startMediaRenderingTracingEx(_:)); - virtual int startMediaRenderingTracingEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int startMediaRenderingTracingEx(RtcConnection connection); + - (int)startMediaRenderingTracingEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startMediaRenderingTracingEx(_:)); + virtual int startMediaRenderingTracingEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartMediaRenderingTracingEx(const FRtcConnection& connection); - abstract startMediaRenderingTracingEx(connection: RtcConnection): number; - public abstract int StartMediaRenderingTracingEx(RtcConnection connection); - abstract startMediaRenderingTracingEx(connection: RtcConnection): number; - Future<void> startMediaRenderingTracingEx(RtcConnection connection);

    + abstract startMediaRenderingTracingEx(connection: RtcConnection): number; + public abstract int StartMediaRenderingTracingEx(RtcConnection connection); + abstract startMediaRenderingTracingEx(connection: RtcConnection): number; + Future<void> startMediaRenderingTracingEx(RtcConnection connection); +

    Details
    - -
    Since
    -
    v4.1.1
    -
    + +
    Since
    +
    v4.1.1
    +

    - -

    -
    +
    Parameters - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita index 22a47649246..bf15ae03c3c 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_startorupdatechannelmediarelayex.dita @@ -2,7 +2,8 @@ <ph keyref="startOrUpdateChannelMediaRelayEx"/> - Starts relaying media streams across channels or updates channels for media relay. + Starts relaying media streams across channels or + updates channels for media relay. @@ -13,70 +14,96 @@

    - public abstract int startOrUpdateChannelMediaRelayEx( + public abstract int startOrUpdateChannelMediaRelayEx( ChannelMediaRelayConfiguration channelMediaRelayConfiguration, RtcConnection connection); - - (int)startOrUpdateChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startOrUpdateChannelMediaRelayEx(_:connection:)); - virtual int startOrUpdateChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)startOrUpdateChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startOrUpdateChannelMediaRelayEx(_:connection:)); + virtual int startOrUpdateChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartOrUpdateChannelMediaRelayEx(const FChannelMediaRelayConfiguration& configuration, const FRtcConnection& connection); - abstract startOrUpdateChannelMediaRelayEx( + abstract startOrUpdateChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - public abstract int StartOrUpdateChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); - abstract startOrUpdateChannelMediaRelayEx( + public abstract int StartOrUpdateChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); + abstract startOrUpdateChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - Future<void> startOrUpdateChannelMediaRelayEx( + Future<void> startOrUpdateChannelMediaRelayEx( {required ChannelMediaRelayConfiguration configuration, required RtcConnection connection}); -

    +

    Details
    - -
    Since
    -
    v4.2.0
    -
    -

    The first successful call to this method starts relaying media streams from the source channel to the destination channels. To relay the media stream to other channels, or exit one of the current media relays, you can call this method again to update the destination channels. This feature supports relaying media streams to a maximum of six destination channels.

    -

    After a successful method call, the SDK triggers the callback, and this callback returns the state of the media stream relay. Common states are as follows:

      -
    • If the callback returns (2) and (0), it means that the SDK starts relaying media streams from the source channel to the destination channel.
    • -
    • If the callback returns (3), an exception occurs during the media stream relay.
    • -

    + +
    Since
    +
    v4.2.0
    +
    + +

    The first successful call to this method starts relaying media streams from the + source channel to the destination channels. To relay the media stream to other + channels, or exit one of the current media relays, you can call this method again to + update the destination channels. This feature supports relaying media streams to a + maximum of six destination channels.

    +

    After a successful method call, the SDK triggers the callback, and this callback returns + the state of the media stream relay. Common states are as follows:

      +
    • If the callback returns + (2) and (0), it means that the SDK starts relaying media + streams from the source channel to the destination channel.
    • +
    • If the callback returns + (3), an exception occurs during + the media stream relay.
    • +
    +

    -
      -
    • Call this method after joining the channel.
    • -
    • This method takes effect only when you are a host in a live streaming channel.
    • -
    • The relaying media streams across channels function needs to be enabled by contacting .
    • -
    • Agora does not support string user accounts in this API.
    • -
    +
      +
    • Call this method after joining the channel.
    • +
    • This method takes effect only when you are a host in a live streaming + channel.
    • +
    • The relaying media streams across channels function needs to be enabled by + contacting .
    • +
    • Agora does not support string user accounts in this API.
    • +
    + +
    Parameters - - channelMediaRelayConfiguration - config - configuration - The configuration of the media stream relay. See . - - - - - -
    + + channelMediaRelayConfiguration + config + configuration + The configuration of the media stream relay. See . + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
        -
      • -1: A general error occurs (no specified reason).
      • -
      • -2: The parameter is invalid.
      • -
      • -7: The method call was rejected. It may be because the SDK has not been initialized successfully, or the user role is not a host.
      • -
      • -8: Internal state error. Probably because the user is not a broadcaster.
      • -
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
      +
    • -1: A general error occurs (no specified reason).
    • +
    • -2: The parameter is invalid.
    • +
    • -7: The method call was rejected. It may be because the SDK has not been + initialized successfully, or the user role is not a host.
    • +
    • -8: Internal state error. Probably because the user is not a + broadcaster.
    • +
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithouttranscodingex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithouttranscodingex.dita index 26ce901e45f..25021b63df9 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithouttranscodingex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithouttranscodingex.dita @@ -2,7 +2,8 @@ <ph keyref="startRtmpStreamWithoutTranscodingEx"/> - Starts pushing media streams to a CDN without transcoding. + Starts pushing media streams to a CDN without + transcoding. @@ -13,48 +14,56 @@

    - public abstract int startRtmpStreamWithoutTranscodingEx(String url, RtcConnection connection); - - (int)startRtmpStreamWithoutTranscodingEx:(NSString* _Nonnull)url + public abstract int startRtmpStreamWithoutTranscodingEx(String url, RtcConnection connection); + - (int)startRtmpStreamWithoutTranscodingEx:(NSString* _Nonnull)url connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startRtmpStreamWithoutTranscodingEx(_:connection:)); - virtual int startRtmpStreamWithoutTranscodingEx(const char* url, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int startRtmpStreamWithoutTranscodingEx(const char* url, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRtmpStreamWithoutTranscodingEx(FString url, const FRtcConnection& connection); - abstract startRtmpStreamWithoutTranscodingEx( + abstract startRtmpStreamWithoutTranscodingEx( url: string, connection: RtcConnection ): number; - public abstract int StartRtmpStreamWithoutTranscodingEx(string url, RtcConnection connection); - abstract startRtmpStreamWithoutTranscodingEx( + public abstract int StartRtmpStreamWithoutTranscodingEx(string url, RtcConnection connection); + abstract startRtmpStreamWithoutTranscodingEx( url: string, connection: RtcConnection ): number; - Future<void> startRtmpStreamWithoutTranscodingEx( - {required String url, required RtcConnection connection});

    + Future<void> startRtmpStreamWithoutTranscodingEx( + {required String url, required RtcConnection connection}); +

    Details
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    Agora recommends that you use the server-side Media Push function. For details, see Use RESTful API.

    -

    You can call this method to push an audio or video stream to the specified CDN address. This method can push media streams to only one CDN address at a time, so if you need to push streams to multiple addresses, call this method multiple times.

    -

    After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

    -
    +

    Agora recommends that you use the server-side Media Push function. For details, see + Use RESTful API.

    +

    You can call this method to push an audio or video stream to the specified CDN + address. This method can push media streams to only one CDN address at a time, so if + you need to push streams to multiple addresses, call this method multiple times.

    +

    After you call this method, the SDK triggers the callback on the local client to report + the state of the streaming.

    + +
    Parameters - - - - - - - - -
    + + + + + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithtranscodingex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithtranscodingex.dita index 96a627ea446..1423f16f369 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithtranscodingex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_startrtmpstreamwithtranscodingex.dita @@ -2,7 +2,8 @@ <ph keyref="startRtmpStreamWithTranscodingEx"/> - Starts Media Push and sets the transcoding configuration. + Starts Media Push and sets the transcoding + configuration. @@ -13,64 +14,79 @@

    - public abstract int startRtmpStreamWithTranscodingEx( + public abstract int startRtmpStreamWithTranscodingEx( String url, LiveTranscoding transcoding, RtcConnection connection); - - (int)startRtmpStreamWithTranscodingEx:(NSString* _Nonnull)url + - (int)startRtmpStreamWithTranscodingEx:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(startRtmpStreamWithTranscodingEx(_:transcoding:connection:)); - virtual int startRtmpStreamWithTranscodingEx(const char* url, const LiveTranscoding& transcoding, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int startRtmpStreamWithTranscodingEx(const char* url, const LiveTranscoding& transcoding, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StartRtmpStreamWithTranscodingEx(FString url, const FLiveTranscoding& transcoding, const FRtcConnection& connection); - abstract startRtmpStreamWithTranscodingEx( + abstract startRtmpStreamWithTranscodingEx( url: string, transcoding: LiveTranscoding, connection: RtcConnection ): number; - public abstract int StartRtmpStreamWithTranscodingEx(string url, LiveTranscoding transcoding, RtcConnection connection); - abstract startRtmpStreamWithTranscodingEx( + public abstract int StartRtmpStreamWithTranscodingEx(string url, LiveTranscoding transcoding, RtcConnection connection); + abstract startRtmpStreamWithTranscodingEx( url: string, transcoding: LiveTranscoding, connection: RtcConnection ): number; - Future<void> startRtmpStreamWithTranscodingEx( + Future<void> startRtmpStreamWithTranscodingEx( {required String url, required LiveTranscoding transcoding, - required RtcConnection connection});

    + required RtcConnection connection}); +

    Details
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    Agora recommends that you use the server-side Media Push function. For details, see Use RESTful API.

    -

    You can call this method to push a live audio-and-video stream to the specified CDN address and set the transcoding configuration. This method can push media streams to only one CDN address at a time, so if you need to push streams to multiple addresses, call this method multiple times.

    -

    After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

    +

    Agora recommends that you use the server-side Media Push function. For details, see + Use RESTful API.

    +

    You can call this method to push a live audio-and-video stream to the specified CDN + address and set the transcoding configuration. This method can push media streams to + only one CDN address at a time, so if you need to push streams to multiple + addresses, call this method multiple times.

    +

    After you call this method, the SDK triggers the callback on the local client to report + the state of the streaming.

    -
      -
    • Ensure that you enable the Media Push service before using this function. For details, see the prerequisites in Media Push.
    • -
    • Call this method after joining a channel.
    • -
    • Only hosts in the LIVE_BROADCASTING profile can call this method.
    • -
    • If you want to retry pushing streams after a failed push, make sure to call first, then call this method to retry pushing streams; otherwise, the SDK returns the same error code as the last failed push.
    • -
    +
      +
    • Ensure that you enable the Media Push service before using this function. + For details, see the prerequisites in Media Push.
    • +
    • Call this method after joining a channel.
    • +
    • Only hosts in the LIVE_BROADCASTING profile can call this method.
    • +
    • If you want to retry pushing streams after a failed push, make sure to call + first, then call this method to retry + pushing streams; otherwise, the SDK returns the same error code as the last + failed push.
    • +
    + +
    Parameters - - - - - - - - - - - - -
    -
    + + + + + + + + + + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_stopchannelmediarelayex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_stopchannelmediarelayex.dita index 558b24ce541..c669dee93d6 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_stopchannelmediarelayex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_stopchannelmediarelayex.dita @@ -2,7 +2,8 @@ <ph keyref="stopChannelMediaRelayEx"/> - Stops the media stream relay. Once the relay stops, the host quits all the target channels. + Stops the media stream relay. Once the relay stops, the + host quits all the target channels. @@ -13,22 +14,23 @@

    - public abstract int stopChannelMediaRelayEx(RtcConnection connection); - - (int)stopChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(stopChannelMediaRelayEx(_:)); - virtual int stopChannelMediaRelayEx(const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int stopChannelMediaRelayEx(RtcConnection connection); + - (int)stopChannelMediaRelayEx:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(stopChannelMediaRelayEx(_:)); + virtual int stopChannelMediaRelayEx(const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopChannelMediaRelayEx(const FRtcConnection& connection); - abstract stopChannelMediaRelayEx(connection: RtcConnection): number; - public abstract int StopChannelMediaRelayEx(RtcConnection connection); - abstract stopChannelMediaRelayEx(connection: RtcConnection): number; - Future<void> stopChannelMediaRelayEx(RtcConnection connection);

    + abstract stopChannelMediaRelayEx(connection: RtcConnection): number; + public abstract int StopChannelMediaRelayEx(RtcConnection connection); + abstract stopChannelMediaRelayEx(connection: RtcConnection): number; + Future<void> stopChannelMediaRelayEx(RtcConnection connection); +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +

    @@ -43,10 +45,15 @@
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_stoprtmpstreamex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_stoprtmpstreamex.dita index bd7a2c00ae6..af9be28a4a7 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_stoprtmpstreamex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_stoprtmpstreamex.dita @@ -1,7 +1,9 @@ - <ph keyref="stopRtmpStreamEx"/> + + <ph keyref="stopRtmpStreamEx"/> + Stops pushing media streams to a CDN. @@ -13,39 +15,51 @@

    - public abstract int stopRtmpStreamEx(String url, RtcConnection connection); - - (int)stopRtmpStreamEx:(NSString* _Nonnull)url + public abstract int stopRtmpStreamEx(String url, RtcConnection connection); + - (int)stopRtmpStreamEx:(NSString* _Nonnull)url connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(stopRtmpStreamEx(_:connection:)); - virtual int stopRtmpStreamEx(const char* url, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int stopRtmpStreamEx(const char* url, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int StopRtmpStreamEx(FString url, const FRtcConnection& connection); - abstract stopRtmpStreamEx(url: string, connection: RtcConnection): number; - public abstract int StopRtmpStreamEx(string url, RtcConnection connection); - abstract stopRtmpStreamEx(url: string, connection: RtcConnection): number; - Future<void> stopRtmpStreamEx( + abstract stopRtmpStreamEx(url: string, connection: RtcConnection): number; + public abstract int StopRtmpStreamEx(string url, RtcConnection connection); + abstract stopRtmpStreamEx(url: string, connection: RtcConnection): number; + Future<void> stopRtmpStreamEx( {required String url, required RtcConnection connection}); -

    +

    Details -

    Agora recommends that you use the server-side Media Push function. For details, see Use RESTful API.

    -

    You can call this method to stop the live stream on the specified CDN address. This method can stop pushing media streams to only one CDN address at a time, so if you need to stop pushing streams to multiple addresses, call this method multiple times.

    -

    After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

    +

    Agora recommends that you use the server-side Media Push function. For details, see + Use RESTful API.

    +

    You can call this method to stop the live stream on the specified CDN address. This + method can stop pushing media streams to only one CDN address at a time, so if you + need to stop pushing streams to multiple addresses, call this method multiple + times.

    +

    After you call this method, the SDK triggers the callback on the local client to report + the state of the streaming.

    Parameters - - - - -
    + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita index 7668db04791..53621e9800e 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_takesnapshotex.dita @@ -13,61 +13,73 @@

    - public abstract int takeSnapshotEx(RtcConnection connection, int uid, String filePath); - - (NSInteger)takeSnapshotEx:(AgoraRtcConnection * _Nonnull)connection uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; - virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const char* filePath) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + public abstract int takeSnapshotEx(RtcConnection connection, int uid, String filePath); + - (NSInteger)takeSnapshotEx:(AgoraRtcConnection * _Nonnull)connection uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; + virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const char* filePath) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int TakeSnapshotEx(const FRtcConnection& connection, int64 uid, FString filePath); - abstract takeSnapshotEx( + abstract takeSnapshotEx( connection: RtcConnection, uid: number, filePath: string ): number; - public abstract int TakeSnapshotEx(RtcConnection connection, uint uid, string filePath); - abstract takeSnapshotEx( + public abstract int TakeSnapshotEx(RtcConnection connection, uint uid, string filePath); + abstract takeSnapshotEx( connection: RtcConnection, uid: number, filePath: string ): number; - Future<void> takeSnapshotEx( + Future<void> takeSnapshotEx( {required RtcConnection connection, required int uid, required String filePath}); -

    +

    Details

    -

    The SDK has not taken the snapshot when the method call returns. After a successful method call, the SDK triggers the callback to report whether the snapshot is successfully taken, as well as the details for that snapshot.

    +

    The SDK has not taken the snapshot when the method call returns. After a + successful method call, the SDK triggers the + callback to report whether the snapshot is successfully taken, as well as the + details for that snapshot.

    -
      -
    • Call this method after the method.
    • -
    • When used for local video snapshots, this method takes a snapshot for the video streams specified in .
    • -
    • If the user's video has been preprocessed, for example, watermarked or beautified, the resulting snapshot includes the pre-processing effect.
    • -
    +
      +
    • Call this method after the method.
    • +
    • When used for local video snapshots, this method takes a snapshot for the + video streams specified in .
    • +
    • If the user's video has been preprocessed, for example, watermarked or + beautified, the resulting snapshot includes the pre-processing effect.
    • +
    +
    Parameters - - - - - - - - - - - - -
    + + + + + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_updatechannelmediaoptionsex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_updatechannelmediaoptionsex.dita index bdc4989c929..a9801eede25 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_updatechannelmediaoptionsex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_updatechannelmediaoptionsex.dita @@ -1,51 +1,53 @@ - <ph keyref="updateChannelMediaOptionsEx" /> - Updates the channel media options after joining the channel. + <ph keyref="updateChannelMediaOptionsEx"/> + Updates the channel media options after joining the + channel. - +

    - public abstract int updateChannelMediaOptionsEx( + public abstract int updateChannelMediaOptionsEx( ChannelMediaOptions options, RtcConnection connection); - - (int)updateChannelExWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions + - (int)updateChannelExWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int updateChannelMediaOptionsEx(const ChannelMediaOptions& options, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int updateChannelMediaOptionsEx(const ChannelMediaOptions& options, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateChannelMediaOptionsEx(const FChannelMediaOptions& options, const FRtcConnection& connection); - abstract updateChannelMediaOptionsEx( + abstract updateChannelMediaOptionsEx( options: ChannelMediaOptions, connection: RtcConnection ): number; - public abstract int UpdateChannelMediaOptionsEx(ChannelMediaOptions options, RtcConnection connection); - abstract updateChannelMediaOptionsEx( + public abstract int UpdateChannelMediaOptionsEx(ChannelMediaOptions options, RtcConnection connection); + abstract updateChannelMediaOptionsEx( options: ChannelMediaOptions, connection: RtcConnection ): number; - Future<void> updateChannelMediaOptionsEx( + Future<void> updateChannelMediaOptionsEx( {required ChannelMediaOptions options, required RtcConnection connection}); -

    +

    Parameters - - options - The channel media options. See . - - - - - -
    -
    + + options + The channel media options. See . + + + + + + +
    +
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_updatechannelmediarelayex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_updatechannelmediarelayex.dita index abca842e70c..8b7ed512c8d 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_updatechannelmediarelayex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_updatechannelmediarelayex.dita @@ -2,7 +2,8 @@ <ph keyref="updateChannelMediaRelayEx"/> - Updates the channels for media stream relay. + Updates the channels for media stream + relay. @@ -13,57 +14,73 @@

    - public abstract int updateChannelMediaRelayEx( + public abstract int updateChannelMediaRelayEx( ChannelMediaRelayConfiguration channelMediaRelayConfiguration, RtcConnection connection); - - (int)updateChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(updateChannelMediaRelayEx(_:connection:)); - virtual int updateChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + - (int)updateChannelMediaRelayEx:(AgoraChannelMediaRelayConfiguration * _Nonnull)config connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(updateChannelMediaRelayEx(_:connection:)); + virtual int updateChannelMediaRelayEx(const ChannelMediaRelayConfiguration& configuration, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateChannelMediaRelayEx(const FChannelMediaRelayConfiguration& configuration, const FRtcConnection& connection); - abstract updateChannelMediaRelayEx( + abstract updateChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - public abstract int UpdateChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); - abstract updateChannelMediaRelayEx( + public abstract int UpdateChannelMediaRelayEx(ChannelMediaRelayConfiguration configuration, RtcConnection connection); + abstract updateChannelMediaRelayEx( configuration: ChannelMediaRelayConfiguration, connection: RtcConnection ): number; - Future<void> updateChannelMediaRelayEx( + Future<void> updateChannelMediaRelayEx( {required ChannelMediaRelayConfiguration configuration, required RtcConnection connection}); -

    +

    Details
    - -
    Deprecated:
    -
    This method is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This method is deprecated. Use instead.
    +
    -

    After the media relay starts, if you want to relay the media stream to more channels, or leave the current relay channel, you can call this method.

    -

    After a successful method call, the SDK triggers the callback with the (7) state code.

    - Call the method after successfully calling the method and receiving (, ); otherwise, the method call fails.
    +

    After the media relay starts, if you want to relay the media stream to more + channels, or leave the current relay channel, you can call this method.

    +

    After a successful method call, the SDK triggers the callback with the (7) state code.

    + Call the method after successfully calling the method and receiving (, ); + otherwise, the method call fails. +
    Parameters - - channelMediaRelayConfiguration - config - configuration - The configuration of the media stream relay. See . - - - - - -
    + + channelMediaRelayConfiguration + config + configuration + The configuration of the media stream relay. See . + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown; and you need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown; and you need to catch + the exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineex_updatertmptranscodingex.dita b/en-US/dita/RTC-NG/API/api_irtcengineex_updatertmptranscodingex.dita index c47927c09cb..3bead5ecf02 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineex_updatertmptranscodingex.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineex_updatertmptranscodingex.dita @@ -1,7 +1,9 @@ - <ph keyref="updateRtmpTranscodingEx"/> + + <ph keyref="updateRtmpTranscodingEx"/> + Updates the transcoding configuration. @@ -13,50 +15,60 @@

    - public abstract int updateRtmpTranscodingEx( + public abstract int updateRtmpTranscodingEx( LiveTranscoding transcoding, RtcConnection connection); - - (int)updateRtmpTranscodingEx:(AgoraLiveTranscoding* _Nullable)transcoding + - (int)updateRtmpTranscodingEx:(AgoraLiveTranscoding* _Nullable)transcoding connection:(AgoraRtcConnection * _Nonnull)connection NS_SWIFT_NAME(updateRtmpTranscodingEx(_:connection:)); - virtual int updateRtmpTranscodingEx(const LiveTranscoding& transcoding, const RtcConnection& connection) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") + virtual int updateRtmpTranscodingEx(const LiveTranscoding& transcoding, const RtcConnection& connection) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|RtcEngineProxy") int UpdateRtmpTranscodingEx(const FLiveTranscoding& transcoding, const FRtcConnection& connection); - abstract updateRtmpTranscodingEx( + abstract updateRtmpTranscodingEx( transcoding: LiveTranscoding, connection: RtcConnection ): number; - public abstract int UpdateRtmpTranscodingEx(LiveTranscoding transcoding, RtcConnection connection); - abstract updateRtmpTranscodingEx( + public abstract int UpdateRtmpTranscodingEx(LiveTranscoding transcoding, RtcConnection connection); + abstract updateRtmpTranscodingEx( transcoding: LiveTranscoding, connection: RtcConnection ): number; - Future<void> updateRtmpTranscodingEx( + Future<void> updateRtmpTranscodingEx( {required LiveTranscoding transcoding, required RtcConnection connection}); -

    +

    Details -

    Agora recommends that you use the server-side Media Push function. For details, see Use RESTful API.

    -

    After you start pushing media streams to CDN with transcoding, you can dynamically update the transcoding configuration according to the scenario. The SDK triggers the callback after the transcoding configuration is updated.

    +

    Agora recommends that you use the server-side Media Push function. For details, see + Use RESTful API.

    +

    After you start pushing media streams to CDN with transcoding, you can dynamically + update the transcoding configuration according to the scenario. The SDK triggers the + callback after the transcoding + configuration is updated.

    Parameters - - - - - - - - -
    + + + + + + + + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_irtcengineext_getassetabsolutepath.dita b/en-US/dita/RTC-NG/API/api_irtcengineext_getassetabsolutepath.dita index e1837349f84..d72d5cdd088 100644 --- a/en-US/dita/RTC-NG/API/api_irtcengineext_getassetabsolutepath.dita +++ b/en-US/dita/RTC-NG/API/api_irtcengineext_getassetabsolutepath.dita @@ -1,37 +1,40 @@ - <ph keyref="getAssetAbsolutePath" /> - Obtain the actual absolute path of the Asset through the relative path of the Asset. + <ph keyref="getAssetAbsolutePath"/> + Obtain the actual absolute path of the Asset through + the relative path of the Asset. - +

    - - - - - - Future<String?> getAssetAbsolutePath(String assetPath) -

    + + + + + + Future<String?> getAssetAbsolutePath(String assetPath) +

    Parameters - - assetPath - The flutter -> assets field configured in the pubspec.yaml file. - -
    + + assetPath + The flutter -> assets field configured + in the pubspec.yaml file. + + +
    Returns

    The actual path of the Asset.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_getcount.dita b/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_getcount.dita index 0588e887552..a3f3026c069 100644 --- a/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_getcount.dita +++ b/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_getcount.dita @@ -2,7 +2,8 @@ <ph keyref="getCount_IScreenCaptureSourceList"/> - Gets the number of shareable windows and screens. + Gets the number of shareable windows and + screens. @@ -13,21 +14,21 @@

    - - - virtual unsigned int getCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") + + + virtual unsigned int getCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") int64 GetCount(); - - - - -

    + + + + +

    Details - This method applies to macOS and Windows only. -
    + This method applies to macOS and Windows only. +
    Returns

    The number of shareable windows and screens.

    diff --git a/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_getsourceinfo.dita b/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_getsourceinfo.dita index 1a0e8c26e06..65aa7338cff 100644 --- a/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_getsourceinfo.dita +++ b/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_getsourceinfo.dita @@ -2,7 +2,8 @@ <ph keyref="getSourceInfo_IScreenCaptureSourceList"/> - Gets information about the specified shareable window or screen. + Gets information about the specified shareable window + or screen. @@ -13,32 +14,38 @@

    - - - virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") + + + virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") FScreenCaptureSourceInfo GetSourceInfo(int64 index); - - - - -

    + + + + +

    Details -

    After you get , you can pass in the index value of the specified shareable window or screen to get information about that window or screen from .

    - This method applies to macOS and Windows only. +

    After you get , you can pass in the index + value of the specified shareable window or screen to get information about that + window or screen from .

    + This method applies to macOS and Windows only.
    Parameters - - index - The index of the specified shareable window or screen. The value range is [0, ()). - -
    + + index + The index of the specified shareable window or screen. The value range is + [0, ()). + + +
    Returns -
    + +
    diff --git a/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita b/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita index aa550ab5fb2..11a86fcaea7 100644 --- a/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita +++ b/en-US/dita/RTC-NG/API/api_iscreencapturesourcelist_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IScreenCaptureSourceList"/> - Releases . + Releases . @@ -13,21 +14,23 @@

    - - - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") + + + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|ScreenCaptureSourceList") void Release(); - - - - -

    + + + + +

    Details -

    After you get the list of shareable windows and screens, to avoid memory leaks, call this method to release instead of deleting directly.

    - This method applies to macOS and Windows only. +

    After you get the list of shareable windows and screens, to avoid memory leaks, call + this method to release instead of + deleting directly.

    + This method applies to macOS and Windows only.
    diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicecollection_getcount.dita b/en-US/dita/RTC-NG/API/api_ivideodevicecollection_getcount.dita index 84ae2ee927c..8e29ff89270 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicecollection_getcount.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicecollection_getcount.dita @@ -2,7 +2,8 @@ <ph keyref="getCount_IVideoDeviceCollection"/> - Gets the total number of the indexed video devices in the system. + Gets the total number of the indexed video devices in + the system. @@ -13,16 +14,16 @@

    - - - virtual int getCount() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") + + + virtual int getCount() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") int GetCount(); - - - - -

    + + + + +

    Returns diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicecollection_getdevice.dita b/en-US/dita/RTC-NG/API/api_ivideodevicecollection_getdevice.dita index e972973c62e..1fcd4cc715e 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicecollection_getdevice.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicecollection_getdevice.dita @@ -1,54 +1,62 @@ - <ph keyref="getDevice_IVideoDeviceCollection" /> - Gets a specified piece of information about an indexed video device. + <ph keyref="getDevice_IVideoDeviceCollection"/> + Gets a specified piece of information about an indexed + video device. - +

    - - - virtual int getDevice(int index, + + + virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") int GetDevice(int index, FString& deviceNameUTF8, FString& deviceIdUTF8); - abstract getDevice(): string; - public abstract string GetDevice(); - - Future<String> getDevice(); -

    + abstract getDevice(): string; + public abstract string GetDevice(); + + Future<String> getDevice(); +

    Parameters - - index - The index value of the video device. The value of this parameter must be less than the value returned in . - - - deviceName - The device name. The maximum length is . - - - deviceId - The device ID of the video device. The maximum length is . - -
    + + index + The index value of the video device. The value of this parameter must be + less than the value returned in . + + + deviceName + The device name. The maximum length is . + + + deviceId + The device ID of the video device. The maximum length is . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.
    -

    The information of the video capturing device.

    +

    The information of the video capturing + device.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicecollection_release.dita b/en-US/dita/RTC-NG/API/api_ivideodevicecollection_release.dita index 901cbbdacc5..b0deb28f127 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicecollection_release.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicecollection_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IVideoDeviceCollection"/> - Releases all the resources occupied by the object. + Releases all the resources occupied by the object. @@ -13,16 +14,16 @@

    - - - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") + + + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") void Release(); - - - - -

    + + + + +

    diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicecollection_setdevice.dita b/en-US/dita/RTC-NG/API/api_ivideodevicecollection_setdevice.dita index 8b02dbdeb1d..df32f681e3c 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicecollection_setdevice.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicecollection_setdevice.dita @@ -1,49 +1,59 @@ - <ph keyref="setDevice_IVideoDeviceCollection" /> + <ph keyref="setDevice_IVideoDeviceCollection"/> Specifies a device with the device ID. - +

    - - - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId; - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") + + - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId; + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceCollection") int SetDevice(FString& deviceIdUTF8); - - public abstract int SetDevice(string deviceIdUTF8); - - Future<void> setDevice(String deviceIdUTF8); -

    + + public abstract int SetDevice(string deviceIdUTF8); + + Future<void> setDevice(String deviceIdUTF8); +

    Parameters - - type - -

    - - - - deviceId - The device ID. The maximum length is . You can get the Device ID by calling . Connecting or disconnecting the audio device does not change the value of deviceId. - -

    + + type + +

    + + + + deviceId + The device ID. The maximum length is . You can + get the Device ID by calling . + Connecting or disconnecting the audio device does not change the value + of deviceId. + + +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita index 2761e9bc146..8a01447fb0d 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_enumeratevideodevices.dita @@ -1,40 +1,48 @@ - <ph keyref="enumerateVideoDevices" /> + <ph keyref="enumerateVideoDevices"/> Enumerates the video devices. - +

    - - - virtual IVideoDeviceCollection* enumerateVideoDevices() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + + + virtual IVideoDeviceCollection* enumerateVideoDevices() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") UIVideoDeviceCollection* EnumerateVideoDevices(); - abstract enumerateVideoDevices(): VideoDeviceInfo[]; - public abstract DeviceInfo[] EnumerateVideoDevices(); - abstract enumerateVideoDevices(): VideoDeviceInfo[]; - List<VideoDeviceInfo> enumerateVideoDevices(); -

    + abstract enumerateVideoDevices(): VideoDeviceInfo[]; + public abstract DeviceInfo[] EnumerateVideoDevices(); + abstract enumerateVideoDevices(): VideoDeviceInfo[]; + List<VideoDeviceInfo> enumerateVideoDevices(); +

    Details - This method is for Windows and macOS only. -

    This method returns an object including all video devices in the system. With the object, the application can enumerate video devices. The application must call the method to release the returned object after using it.

    + This method is for Windows + and macOS only. +

    This method returns an + object including all video devices in the system. With the object, the application can enumerate video + devices. The application must call the method to release the returned object after using it.

    Returns
      -
    • Success: One object including all video devices in the system.
    • -
    • Success: A array including all video devices in the system.
    • -
    • Failure: An empty array.
    • -
    +
  • Success: One + object including all video devices in the system.
  • +
  • Success: A + array including all video devices in the system.
  • +
  • Failure: An empty array.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_getcapability.dita b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_getcapability.dita index 3ed0d167671..b96dd886fae 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_getcapability.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_getcapability.dita @@ -1,63 +1,76 @@ - <ph keyref="getCapability" /> - Gets the detailed video frame information of the video capture device in the specified video format. + <ph keyref="getCapability"/> + Gets the detailed video frame information of the video + capture device in the specified video format. - +

    - - - virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0; + + + virtual int getCapability(const char* deviceIdUTF8, const uint32_t deviceCapabilityNumber, VideoFormat& capability) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") int GetCapability(FString deviceIdUTF8, int deviceCapabilityNumber, FVideoFormat& capability); - abstract getCapability( + abstract getCapability( deviceIdUTF8: string, deviceCapabilityNumber: number ): VideoFormat; - public abstract int GetCapability(string deviceIdUTF8, uint deviceCapabilityNumber, out VideoFormat capability); - abstract getCapability( + public abstract int GetCapability(string deviceIdUTF8, uint deviceCapabilityNumber, out VideoFormat capability); + abstract getCapability( deviceIdUTF8: string, deviceCapabilityNumber: number ): VideoFormat; - Future<VideoFormat> getCapability( + Future<VideoFormat> getCapability( {required String deviceIdUTF8, required int deviceCapabilityNumber}); -

    +

    Details - This method is for Windows and macOS only. -

    After calling to get the number of video formats supported by the video capture device, you can call this method to get the specific video frame information supported by the specified index number.

    + This method is for Windows + and macOS only. +

    After calling to get the number of video + formats supported by the video capture device, you can call this method to get the + specific video frame information supported by the specified index number.

    Parameters - - - - - - deviceCapabilityNumber - The index number of the video format. If the return value of is i, the value range of this parameter is [0,i). - - - capability - An output parameter. Indicates the specific information of the specified video format, including width (px), height (px), and frame rate (fps). See . - -
    + + + + + + deviceCapabilityNumber + The index number of the video format. If the return value of is i, the value range of this parameter + is [0,i). + + + capability + An output parameter. Indicates the specific information of the specified + video format, including width (px), height (px), and frame rate (fps). See + . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    -

    The specific information of the specified video format, including width (px), height (px), and frame rate (fps). See .

    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +

    The specific information of the specified video format, + including width (px), height (px), and frame rate (fps). See .

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_getdevice.dita b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_getdevice.dita index 8a085ad1520..06cf14eb855 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_getdevice.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_getdevice.dita @@ -1,46 +1,51 @@ - <ph keyref="getDevice_IVideoDeviceManager" /> - Retrieves the current video capture device. + <ph keyref="getDevice_IVideoDeviceManager"/> + Retrieves the current video capture + device. - +

    - - - virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + + + virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") int GetDevice(FString& deviceIdUTF8); - abstract getDevice(): string; - public abstract int GetDevice(ref string deviceIdUTF8); - abstract getDevice(): string; - Future<String> getDevice(); -

    + abstract getDevice(): string; + public abstract int GetDevice(ref string deviceIdUTF8); + abstract getDevice(): string; + Future<String> getDevice(); +

    Details - This method is for Windows and macOS only. + This method is for Windows + and macOS only.
    Parameters - - deviceIdUTF8 - An output parameter. The device ID. The maximum length is . - -
    + + deviceIdUTF8 + An output parameter. The device ID. The + maximum length is . + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • +
    • 0: Success.
    • +
    • < 0: Failure. See for details + and resolution suggestions.

    The video capture device.

    diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita index dae2a08d100..42dd3f8560d 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_numberofcapabilities.dita @@ -1,50 +1,63 @@ - <ph keyref="numberOfCapabilities" /> - Gets the number of video formats supported by the specified video capture device. + <ph keyref="numberOfCapabilities"/> + Gets the number of video formats supported by the + specified video capture device. - +

    - - - virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0; + + + virtual int numberOfCapabilities(const char* deviceIdUTF8) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") int NumberOfCapabilities(FString deviceIdUTF8); - abstract numberOfCapabilities(deviceIdUTF8: string): number; - public abstract int NumberOfCapabilities(string deviceIdUTF8); - abstract numberOfCapabilities(deviceIdUTF8: string): number; - Future<void> numberOfCapabilities(String deviceIdUTF8); -

    + abstract numberOfCapabilities(deviceIdUTF8: string): number; + public abstract int NumberOfCapabilities(string deviceIdUTF8); + abstract numberOfCapabilities(deviceIdUTF8: string): number; + Future<void> numberOfCapabilities(String deviceIdUTF8); +

    Details - This method is for Windows and macOS only. -

    Video capture devices may support multiple video formats, and each format supports different combinations of video frame width, video frame height, and frame rate.

    -

    You can call this method to get how many video formats the specified video capture device can support, and then call to get the specific video frame information in the specified video format.

    + This method is for Windows + and macOS only. +

    Video capture devices may support multiple video formats, and each format supports + different combinations of video frame width, video frame height, and frame rate.

    +

    You can call this method to get how many video formats the specified video capture + device can support, and then call to get the specific + video frame information in the specified video format.

    Parameters - - deviceIdUTF8 - The ID of the video capture device. - -
    + + deviceIdUTF8 + The ID of the video capture device. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • > 0: Success. Returns the number of video formats supported by this device. For example: If the specified camera supports 10 different video formats, the return value is 10.
    • -
    • ≤ 0: Failure. See for details and resolution suggestions.
    • -
    +
  • > 0: Success. Returns the number of + video formats supported by this device. For example: If the specified camera + supports 10 different video formats, the return value is 10.
  • +
  • ≤ 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_release.dita b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_release.dita index 9fed4b75375..f70f5a94622 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_release.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_release.dita @@ -2,7 +2,8 @@ <ph keyref="release_IVideoDeviceManager"/> - Releases all the resources occupied by the object. + Releases all the resources occupied by the object. @@ -13,20 +14,21 @@

    - - - virtual void release() = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + + + virtual void release() = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") void Release(); - abstract release(): void; - - abstract release(): void; - Future<void> release(); -

    + abstract release(): void; + + abstract release(): void; + Future<void> release(); +

    Details - This method is for Windows and macOS only. + This method is for Windows + and macOS only.
    diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_setdevice.dita b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_setdevice.dita index 6fd09e3132e..06134b0d18c 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_setdevice.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_setdevice.dita @@ -2,7 +2,8 @@ <ph keyref="setDevice_IVideoDeviceManager"/> - Specifies the video capture device with the device ID. + Specifies the video capture device with the device + ID. @@ -13,39 +14,51 @@

    - - - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") + + + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + UFUNCTION(BlueprintCallable, Category = "Agora|IVideoDeviceManager") int SetDevice(FString deviceIdUTF8); - abstract setDevice(deviceIdUTF8: string): number; - public abstract int SetDevice(string deviceIdUTF8); - abstract setDevice(deviceIdUTF8: string): number; - Future<void> setDevice(String deviceIdUTF8); -

    + abstract setDevice(deviceIdUTF8: string): number; + public abstract int SetDevice(string deviceIdUTF8); + abstract setDevice(deviceIdUTF8: string): number; + Future<void> setDevice(String deviceIdUTF8); +

    Details -
    • Plugging or unplugging a device does not change its device ID.
    • -
    • This method is for Windows and macOS only.
    +
      +
    • Plugging or unplugging a device does not change its device ID.
    • +
    • This method is for Windows and macOS + only.
    • +
    +
    Parameters - - deviceId - deviceIdUTF8 - -

    The device ID. You can get the device ID by calling .

    -

    The maximum length is .

    -
    -
    -
    + + deviceId + deviceIdUTF8 + +

    The device ID. You can get the device ID by calling .

    +

    The maximum length is .

    +
    +
    + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_startdevicetest.dita b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_startdevicetest.dita index 04e98b6b6d2..b3c94f56bd7 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_startdevicetest.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_startdevicetest.dita @@ -1,45 +1,54 @@ - <ph keyref="startDeviceTest" /> + <ph keyref="startDeviceTest"/> Starts the video capture device test. - +

    - - - virtual int startDeviceTest(view_t hwnd) = 0; - abstract startDeviceTest(hwnd: any): number; - public abstract int StartDeviceTest(view_t hwnd); - abstract startDeviceTest(hwnd: any): number; - Future<void> startDeviceTest(int hwnd); -

    + + + virtual int startDeviceTest(view_t hwnd) = 0; + abstract startDeviceTest(hwnd: any): number; + public abstract int StartDeviceTest(view_t hwnd); + abstract startDeviceTest(hwnd: any): number; + Future<void> startDeviceTest(int hwnd); +

    Details -

    This method tests whether the video-capture device is working properly. Before calling this method, ensure that you have already called the method, and the window handle (hwnd) parameter is valid.

    +

    This method tests whether the video-capture device is working properly. Before + calling this method, ensure that you have already called the method, and the window handle (hwnd) parameter is + valid.

    Parameters - - hwnd - The window handle of the view. - -
    + + hwnd + The window handle of the view. + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_stopdevicetest.dita b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_stopdevicetest.dita index e5c4cf695c7..4fec5ccbfbb 100644 --- a/en-US/dita/RTC-NG/API/api_ivideodevicemanager_stopdevicetest.dita +++ b/en-US/dita/RTC-NG/API/api_ivideodevicemanager_stopdevicetest.dita @@ -1,33 +1,38 @@ - <ph keyref="stopDeviceTest" /> + <ph keyref="stopDeviceTest"/> Stops the video capture device test. - +

    - - - virtual int stopDeviceTest() = 0; - abstract stopDeviceTest(): number; - public abstract int StopDeviceTest(); - abstract stopDeviceTest(): number; - Future<void> stopDeviceTest(); -

    + + + virtual int stopDeviceTest() = 0; + abstract stopDeviceTest(): number; + public abstract int StopDeviceTest(); + abstract stopDeviceTest(): number; + Future<void> stopDeviceTest(); +

    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ivideosink_getbuffertype.dita b/en-US/dita/RTC-NG/API/api_ivideosink_getbuffertype.dita index 190d2ab200f..ab79a87c9c5 100644 --- a/en-US/dita/RTC-NG/API/api_ivideosink_getbuffertype.dita +++ b/en-US/dita/RTC-NG/API/api_ivideosink_getbuffertype.dita @@ -2,46 +2,47 @@ ivideosink_getbuffertype - + - +

    - - - - - - - -

    + + + + + + + +

    Details
    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +
    -

    +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_ivideosink_getpixelformat.dita b/en-US/dita/RTC-NG/API/api_ivideosink_getpixelformat.dita index 69fae2b0edc..ed749c61ff4 100644 --- a/en-US/dita/RTC-NG/API/api_ivideosink_getpixelformat.dita +++ b/en-US/dita/RTC-NG/API/api_ivideosink_getpixelformat.dita @@ -2,46 +2,47 @@ ivideosink_getpixelformat - + - +

    - - - - - - - -

    + + + + + + + +

    Details
    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +
    -

    +

    Parameters - - - - -
    + + + + + +
    Returns
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_addbackgroundimage.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_addbackgroundimage.dita index 9d793ca1a3c..31b2fbcb778 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_addbackgroundimage.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_addbackgroundimage.dita @@ -1,44 +1,47 @@ - <ph keyref="addBackgroundImage" /> + <ph keyref="addBackgroundImage"/> Adds a background image. - +

    - public void addBackgroundImage(AgoraImage backgroundImage) { + public void addBackgroundImage(AgoraImage backgroundImage) { if (backgroundImageList == null) { backgroundImageList = new ArrayList<AgoraImage>(); } backgroundImageList.add(backgroundImage); } - - - - - - -

    + + + + + + +

    Details -

    This method only supports adding one background image at a time. If you need to add more than one background images, call this method multiple times.

    +

    This method only supports adding one background image at a time. If you need to add + more than one background images, call this method multiple times.

    The total number of watermarks and background images can range from 0 to 10.

    Parameters - - backgroundImage - The number of background images on the live video. Watermark images must be in the PNG format. See . - -
    + + backgroundImage + The number of background images on the live video. Watermark images must be + in the PNG format. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_adduser.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_adduser.dita index 01a1782a6ed..7c397c41d45 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_adduser.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_adduser.dita @@ -1,44 +1,47 @@ - <ph keyref="addUser" /> - Adds a user for video mixing during the CDN live streaming. + <ph keyref="addUser"/> + Adds a user for video mixing during the CDN live + streaming. - +

    - public int addUser(TranscodingUser user) { + public int addUser(TranscodingUser user) { if (user == null || user.uid == 0) { return -Constants.ERR_INVALID_ARGUMENT; } - + - (int)addUser:(AgoraLiveTranscodingUser* _Nonnull)user; - - - - - -

    + + + + + +

    Parameters - - user - The transcoding user. See for details. - -
    + + user + The transcoding user. See for details. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_addwatermark.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_addwatermark.dita index e94d6b04c8c..181907a72b5 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_addwatermark.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_addwatermark.dita @@ -1,44 +1,47 @@ - <ph keyref="addWatermark" /> + <ph keyref="addWatermark"/> Adds a watermark. - +

    - public void addWatermark(AgoraImage watermark) { + public void addWatermark(AgoraImage watermark) { if (watermarkList == null) { watermarkList = new ArrayList<AgoraImage>(); } watermarkList.add(watermark); } - - - - - - -

    + + + + + + +

    Details -

    This method only supports adding one watermark every time. If you need to add more than one watermark, call this method multiple times.

    +

    This method only supports adding one watermark every time. If you need to add more + than one watermark, call this method multiple times.

    The total number of watermarks and background images can range from 0 to 10.

    Parameters - - watermark - The watermark on the live video. Watermark images must be in the PNG format. See . - -
    + + watermark + The watermark on the live video. Watermark images must be in the PNG format. + See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_defaulttranscoding.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_defaulttranscoding.dita index 1af7d0a6c0d..3a1d9ae254f 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_defaulttranscoding.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_defaulttranscoding.dita @@ -1,30 +1,30 @@ - <ph keyref="defaultTranscoding" /> + <ph keyref="defaultTranscoding"/> Creates a default transcoding object. - +

    - - + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding; - - - - - -

    + + + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding; + + + + + +

    Returns -

    The default object.

    +

    The default object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_getadvancedfeatures.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_getadvancedfeatures.dita index ba40217f417..9bd38e0bf64 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_getadvancedfeatures.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_getadvancedfeatures.dita @@ -1,36 +1,41 @@ - <ph keyref="getAdvancedFeatures" /> - Gets the status of the advanced features of streaming with transcoding. + <ph keyref="getAdvancedFeatures"/> + Gets the status of the advanced features of streaming + with transcoding. - +

    - public Map<String, Boolean> getAdvancedFeatures() { + public Map<String, Boolean> getAdvancedFeatures() { return advancedFeatures; } - - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures; - - - - - -

    + - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures; + + + + + +

    Details -

    If you want to enable the advanced features of streaming with transcoding, contact .

    +

    If you want to enable the advanced features of streaming with transcoding, contact + .

    Returns -

    The feature name and whether the feature is enabled. See . The advanced feature names, including LBHQ (high-quality video with a lower bitrate) and VEO (optimized video encoder), and whether the feature is enabled.

    +

    The feature name and whether the feature is enabled. See . The advanced + feature names, including LBHQ (high-quality video with a lower bitrate) and VEO + (optimized video encoder), and whether the feature is enabled.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_getbackgroundcolor.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_getbackgroundcolor.dita index 22b1edf920d..cfb97f1f02d 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_getbackgroundcolor.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_getbackgroundcolor.dita @@ -1,32 +1,32 @@ - <ph keyref="getBackgroundColor" /> + <ph keyref="getBackgroundColor"/> Gets the background color in hex. - +

    - public int getBackgroundColor() { + public int getBackgroundColor() { return this.backgroundColor; } - - - - - - -

    + + + + + + +

    Returns

    The background color to set in RGB hex value.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_getbackgroundimagelist.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_getbackgroundimagelist.dita index ebbf098e2ec..7fcf587864e 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_getbackgroundimagelist.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_getbackgroundimagelist.dita @@ -1,32 +1,32 @@ - <ph keyref="getBackgroundImageList" /> + <ph keyref="getBackgroundImageList"/> Gets the list of background images. - +

    - public ArrayList<AgoraImage> getBackgroundImageList() { + public ArrayList<AgoraImage> getBackgroundImageList() { return backgroundImageList; } - - - - - - -

    + + + + + + +

    Returns -

    The list of background images. See for details.

    +

    The list of background images. See for details.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_getblue.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_getblue.dita index 5981a1d8ca7..1a9e8f5ffa8 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_getblue.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_getblue.dita @@ -1,37 +1,38 @@ - <ph keyref="getBlue" /> - Gets the background color's blue component. + <ph keyref="getBlue"/> + Gets the background color's blue + component. - +

    - @Deprecated + @Deprecated public int getBlue() { return backgroundColor & 0x0ff; } - - - - - - -

    + + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated.
    -
    + +
    Deprecated:
    +
    This method is deprecated.
    +
    @@ -39,4 +40,4 @@ public int getBlue() {

    Background color's blue component.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_getgreen.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_getgreen.dita index 05867394a1f..feba7d49dd1 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_getgreen.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_getgreen.dita @@ -1,37 +1,38 @@ - <ph keyref="getGreen" /> - Gets the background color's green component. + <ph keyref="getGreen"/> + Gets the background color's green + component. - +

    - @Deprecated + @Deprecated public int getGreen() { return (backgroundColor >> 8) & 0x0ff; } - - - - - - -

    + + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated.
    -
    + +
    Deprecated:
    +
    This method is deprecated.
    +
    @@ -39,4 +40,4 @@ public int getGreen() {

    Background color's green component.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_getred.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_getred.dita index 8fd040efac3..08160e96cab 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_getred.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_getred.dita @@ -1,37 +1,38 @@ - <ph keyref="getRed" /> - Gets the background color's red component. + <ph keyref="getRed"/> + Gets the background color's red + component. - +

    - @Deprecated + @Deprecated public int getRed() { return (backgroundColor >> 16) & 0x0ff; } - - - - - - -

    + + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated.
    -
    + +
    Deprecated:
    +
    This method is deprecated.
    +
    @@ -39,4 +40,4 @@ public int getRed() {

    Background color's red component.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_getusercount.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_getusercount.dita index 7b5fd1a6074..a6faeed6bc1 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_getusercount.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_getusercount.dita @@ -1,32 +1,33 @@ - <ph keyref="getUserCount" /> - Gets the number of users transcoded in the CDN live streaming. + <ph keyref="getUserCount"/> + Gets the number of users transcoded in the CDN live + streaming. - +

    - public int getUserCount() { + public int getUserCount() { return transcodingUsers.size(); } - - - - - - -

    + + + + + + +

    Returns

    The number of users transcoded in the CDN live streaming.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_getusers.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_getusers.dita index c8dcd9f9e07..942a152e5a7 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_getusers.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_getusers.dita @@ -1,37 +1,39 @@ - <ph keyref="getUsers" /> - Gets the user list in the CDN live streaming. + <ph keyref="getUsers"/> + Gets the user list in the CDN live + streaming. - +

    - public final ArrayList<TranscodingUser> getUsers() { + public final ArrayList<TranscodingUser> getUsers() { Collection<TranscodingUser> values = transcodingUsers.values(); return new ArrayList<>(values); } - - - - - - -

    + + + + + + +

    Details -

    This method retrieves all users in the CDN live streaming. The user list returned by this method is read-only and should not be modified.

    +

    This method retrieves all users in the CDN live streaming. The user list returned by + this method is read-only and should not be modified.

    Returns -

    The user list. See for details.

    +

    The user list. See for details.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_getwatermarklist.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_getwatermarklist.dita index 9ccf5fc3774..62a978022e6 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_getwatermarklist.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_getwatermarklist.dita @@ -1,32 +1,32 @@ - <ph keyref="getWatermarkList" /> + <ph keyref="getWatermarkList"/> Gets the watermark list. - +

    - public ArrayList<AgoraImage> getWatermarkList() { + public ArrayList<AgoraImage> getWatermarkList() { return watermarkList; } - - - - - - -

    + + + + + + +

    Returns -

    The watermark list. See for details.

    +

    The watermark list. See for details.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_removebackgroundimage.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_removebackgroundimage.dita index a964ce46c7b..3eb925898a5 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_removebackgroundimage.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_removebackgroundimage.dita @@ -1,50 +1,54 @@ - <ph keyref="removeBackgroundImage" /> - Removes a background image from the background image list. + <ph keyref="removeBackgroundImage"/> + Removes a background image from the background image + list. - +

    - public boolean removeBackgroundImage(AgoraImage backgroundImage) { + public boolean removeBackgroundImage(AgoraImage backgroundImage) { if (backgroundImageList == null) { return false; } return backgroundImageList.remove(backgroundImage); } - - - - - - -

    + + + + + + +

    Details -

    This method only supports removing one background image every time. If you need to remove more than one background image, call this method multiple times.

    +

    This method only supports removing one background image every time. If you need to + remove more than one background image, call this method multiple times.

    Parameters - - - - -
    + + + + + +
    Returns

    Whether the background image is removed:

      -
    • : The background image is removed.
    • -
    • : The background image is not removed.
    • -
    +
  • : The background image is removed.
  • +
  • : The background image is not removed.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_removeuser.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_removeuser.dita index 057ad87aa71..4a9f8de8c2e 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_removeuser.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_removeuser.dita @@ -1,19 +1,20 @@ - <ph keyref="removeUser" /> - Removes a user from video mixing during the CDN live streaming. + <ph keyref="removeUser"/> + Removes a user from video mixing during the CDN live + streaming. - +

    - public int removeUser(int uid) { + public int removeUser(int uid) { if (!transcodingUsers.containsKey(uid)) return -Constants.ERR_INVALID_ARGUMENT; @@ -21,27 +22,29 @@ userCount = transcodingUsers.size(); return Constants.ERR_OK; } - - (int)removeUser:(NSUInteger)uid; - - - - - -

    + - (int)removeUser:(NSUInteger)uid; + + + + + +

    Parameters - - uid - The ID of the user to be removed. - -
    + + uid + The ID of the user to be removed. + + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_removewatermark.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_removewatermark.dita index 15cfe844dc3..943c18fef31 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_removewatermark.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_removewatermark.dita @@ -1,50 +1,53 @@ - <ph keyref="removeWatermark" /> - Removes a watermark from the watermark list. + <ph keyref="removeWatermark"/> + Removes a watermark from the watermark + list. - +

    - public boolean removeWatermark(AgoraImage watermark) { + public boolean removeWatermark(AgoraImage watermark) { if (watermarkList == null) { return false; } return watermarkList.remove(watermark); } - - - - - - -

    + + + + + + +

    Details -

    This method only supports removing one watermark every time. If you need to removing more than one watermark, call this method multiple times.

    +

    This method only supports removing one watermark every time. If you need to removing + more than one watermark, call this method multiple times.

    Parameters - - - - -
    + + + + + +
    Returns

    Whether the watermark is removed.

      -
    • : The watermark is removed.
    • -
    • : The watermark is not removed.
    • -

    +
  • : The watermark is removed.
  • +
  • : The watermark is not removed.
  • +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita index 14281a52529..45637f2bb07 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_setadvancedfeatures.dita @@ -1,47 +1,54 @@ - <ph keyref="setAdvancedFeatures" /> - Sets whether to enable the advanced features of streaming with transcoding. + <ph keyref="setAdvancedFeatures"/> + Sets whether to enable the advanced features of + streaming with transcoding. - +

    - public void setAdvancedFeatures(String featureName, Boolean opened) { + public void setAdvancedFeatures(String featureName, Boolean opened) { advancedFeatures.put(featureName, opened); } - - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened; - - - - - -

    + - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened; + + + + + +

    Details -

    If you want to enable the advanced features of streaming with transcoding, contact .

    +

    If you want to enable the advanced features of streaming with transcoding, contact + .

    Parameters - - featureName - The feature names, including LBHQ (high-quality video with a lower bitrate) and VEO (optimized video encoder). - - - opened - Whether to enable the advanced features of streaming with transcoding:
      -
    • : Enable the advanced features.
    • -
    • : (Default) Do not enable the advanced features.
    • -
    -
    -
    + + featureName + The feature names, including LBHQ (high-quality video with a lower bitrate) + and VEO (optimized video encoder). + + + opened + Whether to enable the advanced features of streaming with transcoding:
      +
    • : Enable the advanced + features.
    • +
    • : (Default) Do not enable the + advanced features.
    • +
    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor.dita index 19fd1af22e1..82d895a2031 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor.dita @@ -1,36 +1,40 @@ - <ph keyref="setBackgroundColor" /> - Sets the background color of the CDN live stream. + <ph keyref="setBackgroundColor"/> + Sets the background color of the CDN live + stream. - +

    - public void setBackgroundColor(int color) { + public void setBackgroundColor(int color) { this.backgroundColor = color; } - - - - - - -

    + + + + + + +

    Parameters - - color - Sets the background color of the CDN live stream in the format of RGB hex. Do not include # in the value. For example, 0xFFB6C1 is light pink. The default value is 0x000000 (black). - -
    + + color + Sets the background color of the CDN live stream in the format of RGB hex. + Do not include # in the value. For example, 0xFFB6C1 is light pink. The + default value is 0x000000 (black). + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor2.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor2.dita index b6fa353f13a..b8d5025157b 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor2.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_setbackgroundcolor2.dita @@ -1,44 +1,46 @@ - <ph keyref="setBackgroundColor2" /> - Sets the background color in RGB format. + <ph keyref="setBackgroundColor2"/> + Sets the background color in RGB + format. - +

    - public void setBackgroundColor(int red, int green, int blue) { + public void setBackgroundColor(int red, int green, int blue) { this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } - - - - - - -

    + + + + + + +

    Parameters - - red - Red component. - - - green - Green component. - - - blue - Blue component. - -
    + + red + Red component. + + + green + Green component. + + + blue + Blue component. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_setblue.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_setblue.dita index 7d898f75639..e4742fe13cf 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_setblue.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_setblue.dita @@ -1,48 +1,50 @@ - <ph keyref="setBlue" /> - Sets the background color's blue component. + <ph keyref="setBlue"/> + Sets the background color's blue + component. - +

    - @Deprecated + @Deprecated public void setBlue(int blue) { int red = getRed(); int green = getGreen(); this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } - - - - - - -

    + + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated.
    -
    + +
    Deprecated:
    +
    This method is deprecated.
    +
    Parameters - - blue - Background color's blue component. - -
    + + blue + Background color's blue component. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_setgreen.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_setgreen.dita index 10e497a3406..1f9d7af8b3f 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_setgreen.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_setgreen.dita @@ -1,48 +1,50 @@ - <ph keyref="setGreen" /> - Sets the background color's green component. + <ph keyref="setGreen"/> + Sets the background color's green + component. - +

    - @Deprecated + @Deprecated public void setGreen(int green) { int red = getRed(); int blue = getBlue(); this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } - - - - - - -

    + + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated.
    -
    + +
    Deprecated:
    +
    This method is deprecated.
    +
    Parameters - - green - Background color's green component. - -
    + + green + Background color's green component. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_setred.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_setred.dita index c20167cb0d4..acbb6118a20 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_setred.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_setred.dita @@ -1,48 +1,50 @@ - <ph keyref="setRed" /> - Sets the background color's red component. + <ph keyref="setRed"/> + Sets the background color's red + component. - +

    - @Deprecated + @Deprecated public void setRed(int red) { int green = getGreen(); int blue = getBlue(); this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } - - - - - - -

    + + + + + + +

    Details
    - -
    Deprecated:
    -
    This method is deprecated.
    -
    + +
    Deprecated:
    +
    This method is deprecated.
    +
    Parameters - - red - Background color's red component. - -
    + + red + Background color's red component. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_setusers.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_setusers.dita index 48814b57b32..3d111064f33 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_setusers.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_setusers.dita @@ -1,19 +1,20 @@ - <ph keyref="setUsers" /> - Sets the users in batches in the CDN live streaming. + <ph keyref="setUsers"/> + Sets the users in batches in the CDN live + streaming. - +

    - public void setUsers(ArrayList<TranscodingUser> users) { + public void setUsers(ArrayList<TranscodingUser> users) { transcodingUsers.clear(); if (users != null) { for (TranscodingUser user : users) { @@ -22,25 +23,28 @@ } userCount = transcodingUsers.size(); } - - - - - - -

    + + + + + + +

    Details -

    This method sets all users involved in the CDN live stream. This method replaces the old user data with the new TranscodingUser data.

    +

    This method sets all users involved in the CDN live stream. This method + replaces the old user data with the new TranscodingUser data.

    Parameters - - users - All users involved in the CDN live streaming. See for details. - -
    + + users + All users involved in the CDN live streaming. See for details. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_livetranscoding_setusers2.dita b/en-US/dita/RTC-NG/API/api_livetranscoding_setusers2.dita index 5351f5f9a4b..3b4049699c3 100644 --- a/en-US/dita/RTC-NG/API/api_livetranscoding_setusers2.dita +++ b/en-US/dita/RTC-NG/API/api_livetranscoding_setusers2.dita @@ -1,19 +1,20 @@ - <ph keyref="setUsers2" /> - Sets the users in batches in the CDN live streaming. + <ph keyref="setUsers2"/> + Sets the users in batches in the CDN live + streaming. - +

    - public void setUsers(Map<Integer, TranscodingUser> users) { + public void setUsers(Map<Integer, TranscodingUser> users) { transcodingUsers.clear(); if (users != null) { transcodingUsers.putAll(users); @@ -21,25 +22,26 @@ userCount = transcodingUsers.size(); } - - - - - - -

    + + + + + + +

    Details -

    +

    Parameters - - - - -
    + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_mediaplayercontroller_initialize.dita b/en-US/dita/RTC-NG/API/api_mediaplayercontroller_initialize.dita index abd5a6afcf7..0df71807645 100644 --- a/en-US/dita/RTC-NG/API/api_mediaplayercontroller_initialize.dita +++ b/en-US/dita/RTC-NG/API/api_mediaplayercontroller_initialize.dita @@ -1,37 +1,40 @@ - <ph keyref="initialize_MediaPlayerController" /> - Creates a . + <ph keyref="initialize_MediaPlayerController"/> + Creates a . - +

    - - - - - - - Future<void> initialize(); -

    + + + + + + + Future<void> initialize(); +

    Details

      -
    • Make sure the is initialized before you call this method.
    • -
    • Make sure to call this method before calling other APIs in .
    • +
    • Make sure the is initialized before you + call this method.
    • +
    • Make sure to call this method before calling other APIs in .

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_monitordevicechange.dita b/en-US/dita/RTC-NG/API/api_monitordevicechange.dita index 03471fd30b1..a84ee996ad0 100644 --- a/en-US/dita/RTC-NG/API/api_monitordevicechange.dita +++ b/en-US/dita/RTC-NG/API/api_monitordevicechange.dita @@ -2,7 +2,8 @@ <ph keyref="monitorDeviceChange"/> - Monitors the change of the device state. + Monitors the change of the device + state. @@ -13,31 +14,36 @@

    - - - (void)monitorDeviceChange:(BOOL)enabled; - virtual int enableLoopbackRecording(bool enabled) = 0; - - - - -

    + + - (void)monitorDeviceChange:(BOOL)enabled; + virtual int enableLoopbackRecording(bool enabled) = 0; + + + + +

    Details -

    This method can monitor the plugging and swapping of external audio or video devices, for example, an external camera.

    +

    This method can monitor the plugging and swapping of external audio or video devices, + for example, an external camera.

    -

    This method is for macOS only.

    -
    +

    This method is for macOS only.

    + +
    Parameters - - enabled - Whether to monitor the change of the device state:
      -
    • : Enable device state monitoring.
    • -
    • : Disable device state monitoring.
    • -
    -
    -
    + + enabled + Whether to monitor the change of the device state:
      +
    • : Enable device state + monitoring.
    • +
    • : Disable device state + monitoring.
    • +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/api_musicchartcollection_getcount.dita b/en-US/dita/RTC-NG/API/api_musicchartcollection_getcount.dita index 571e6c49a24..b3ee6d3094d 100644 --- a/en-US/dita/RTC-NG/API/api_musicchartcollection_getcount.dita +++ b/en-US/dita/RTC-NG/API/api_musicchartcollection_getcount.dita @@ -1,34 +1,34 @@ - <ph keyref="getCount_MusicChartCollection" /> + <ph keyref="getCount_MusicChartCollection"/> 获取本次请求的音乐榜单数量。 - +

    - - - virtual int getCount() = 0; - abstract getCount(): number; - - abstract getCount(): number; - Future<int> getCount(); -

    + + + virtual int getCount() = 0; + abstract getCount(): number; + + abstract getCount(): number; + Future<int> getCount(); +

    Details
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    @@ -36,4 +36,4 @@

    本次请求的音乐榜单数量。

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_musiccollection_getcount.dita b/en-US/dita/RTC-NG/API/api_musiccollection_getcount.dita index 3a16e81a388..d9e10ec3df7 100644 --- a/en-US/dita/RTC-NG/API/api_musiccollection_getcount.dita +++ b/en-US/dita/RTC-NG/API/api_musiccollection_getcount.dita @@ -1,33 +1,34 @@ - <ph keyref="getCount_MusicCollection" /> + <ph keyref="getCount_MusicCollection"/> 获取本次请求的音乐数量。 - +

    - - - virtual int getCount() = 0; - abstract getCount(): number; - - abstract getCount(): number; - int getCount(); -

    + + + virtual int getCount() = 0; + abstract getCount(): number; + + abstract getCount(): number; + int getCount(); +

    - Details
    - -
    Since
    -
    v4.1.0
    -
    + Details +
    + +
    Since
    +
    v4.1.0
    +
    @@ -35,4 +36,4 @@

    本次请求的音乐数量。

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_musiccollection_getmusic.dita b/en-US/dita/RTC-NG/API/api_musiccollection_getmusic.dita index 4351c270547..523a13b8210 100644 --- a/en-US/dita/RTC-NG/API/api_musiccollection_getmusic.dita +++ b/en-US/dita/RTC-NG/API/api_musiccollection_getmusic.dita @@ -1,33 +1,34 @@ - <ph keyref="getMusic_MusicCollection" /> + <ph keyref="getMusic_MusicCollection"/> 获取当前页面列表中音乐资源的详细信息。 - +

    - - - virtual Music* getMusic(int32_t index) = 0; - abstract getMusic(index: number): Music; - - abstract getMusic(index: number): Music; - Music getMusic(int index); -

    + + + virtual Music* getMusic(int32_t index) = 0; + abstract getMusic(index: number): Music; + + abstract getMusic(index: number): Music; + Music getMusic(int index); +

    - Details
    - -
    Since
    -
    v4.1.0
    -
    + Details +
    + +
    Since
    +
    v4.1.0
    +
    @@ -35,13 +36,13 @@ index - 数组的索引。 + 数组的索引。
    Returns -

    一个 实例。

    +

    一个 实例。

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_musiccollection_getpagesize.dita b/en-US/dita/RTC-NG/API/api_musiccollection_getpagesize.dita index d92de823b96..5a0caabaded 100644 --- a/en-US/dita/RTC-NG/API/api_musiccollection_getpagesize.dita +++ b/en-US/dita/RTC-NG/API/api_musiccollection_getpagesize.dita @@ -1,33 +1,34 @@ - <ph keyref="getPageSize_MusicCollection" /> + <ph keyref="getPageSize_MusicCollection"/> 获取 SDK 实际返回的音乐资源数量。 - +

    - - - virtual int getPageSize() = 0; - virtual int getPageSize() = 0; - - virtual int getPageSize() = 0; - int getPageSize(); -

    + + + virtual int getPageSize() = 0; + virtual int getPageSize() = 0; + + virtual int getPageSize() = 0; + int getPageSize(); +

    - Details
    - -
    Since
    -
    v4.1.0
    -
    + Details +
    + +
    Since
    +
    v4.1.0
    +
    @@ -35,4 +36,4 @@

    SDK 实际返回的音乐资源数量。

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_musiccollection_gettotal.dita b/en-US/dita/RTC-NG/API/api_musiccollection_gettotal.dita index a0c27cb73ab..f9304438863 100644 --- a/en-US/dita/RTC-NG/API/api_musiccollection_gettotal.dita +++ b/en-US/dita/RTC-NG/API/api_musiccollection_gettotal.dita @@ -1,39 +1,41 @@ - <ph keyref="getTotal_MusicCollection" /> - The total number of music assets in the collection. + <ph keyref="getTotal_MusicCollection"/> + The total number of music assets in the + collection. - +

    - - - virtual int getTotal() = 0; - abstract getTotal(): number; - - abstract getTotal(): number; - int getTotal(); -

    + + + virtual int getTotal() = 0; + abstract getTotal(): number; + + abstract getTotal(): number; + int getTotal(); +

    - Details
    - -
    Since
    -
    v4.1.0
    -
    + Details +
    + +
    Since
    +
    v4.1.0
    +
    -

    +

    Returns

    The total number of music assets in the collection.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_rtc_local_view_surfaceview.dita b/en-US/dita/RTC-NG/API/api_rtc_local_view_surfaceview.dita index a7c157b3197..c0f53560918 100644 --- a/en-US/dita/RTC-NG/API/api_rtc_local_view_surfaceview.dita +++ b/en-US/dita/RTC-NG/API/api_rtc_local_view_surfaceview.dita @@ -1,72 +1,74 @@ - <ph keyref="LocalViewSurfaceViewConstructor" /> - Constructor for the SurfaceView class for rendering local video. + <ph keyref="LocalViewSurfaceViewConstructor"/> + Constructor for the SurfaceView class for rendering + local video. - +

    - - - - - - - -

    + + + + + + + +

    Parameters - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_rtc_local_view_surfaceview_screen.dita b/en-US/dita/RTC-NG/API/api_rtc_local_view_surfaceview_screen.dita index b8b61fa925c..3ba08d79938 100644 --- a/en-US/dita/RTC-NG/API/api_rtc_local_view_surfaceview_screen.dita +++ b/en-US/dita/RTC-NG/API/api_rtc_local_view_surfaceview_screen.dita @@ -1,50 +1,52 @@ - <ph keyref="LocalViewSurfaceViewScreenConstructor" /> - The construction method of the SurfaceView class for rendering local screen shared video. + <ph keyref="LocalViewSurfaceViewScreenConstructor"/> + The construction method of the SurfaceView class for + rendering local screen shared video. - +

    - - - - - - - -

    + + + + + + + +

    Parameters - - - - - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_rtc_local_view_textureview_screen.dita b/en-US/dita/RTC-NG/API/api_rtc_local_view_textureview_screen.dita index 5786574aafe..10b02a366ef 100644 --- a/en-US/dita/RTC-NG/API/api_rtc_local_view_textureview_screen.dita +++ b/en-US/dita/RTC-NG/API/api_rtc_local_view_textureview_screen.dita @@ -1,54 +1,56 @@ - <ph keyref="LocalViewTextureViewScreenConstructor" /> - The constructor of the TextureView class for rendering local screen-sharing video. + <ph keyref="LocalViewTextureViewScreenConstructor"/> + The constructor of the TextureView class for rendering + local screen-sharing video. - +

    - - - - - - - -

    + + + + + + + +

    Parameters - - - - - - - - - - - - - - - - - - - - - - - - -
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_rtc_remote_view_surfaceview.dita b/en-US/dita/RTC-NG/API/api_rtc_remote_view_surfaceview.dita index ecb327a9c91..a9df8fdded6 100644 --- a/en-US/dita/RTC-NG/API/api_rtc_remote_view_surfaceview.dita +++ b/en-US/dita/RTC-NG/API/api_rtc_remote_view_surfaceview.dita @@ -1,72 +1,74 @@ - <ph keyref="RemoteViewSurfaceViewConstructor" /> - THe constructor for the SurfaceView class for rendering local video. + <ph keyref="RemoteViewSurfaceViewConstructor"/> + THe constructor for the SurfaceView class for rendering + local video. - +

    - - - - - - - -

    + + + + + + + +

    Parameters - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_rtc_render_view_rtcsurfaceview.dita b/en-US/dita/RTC-NG/API/api_rtc_render_view_rtcsurfaceview.dita index 052212d8748..784d143e19e 100644 --- a/en-US/dita/RTC-NG/API/api_rtc_render_view_rtcsurfaceview.dita +++ b/en-US/dita/RTC-NG/API/api_rtc_render_view_rtcsurfaceview.dita @@ -1,72 +1,80 @@ - <ph keyref="RtcSurfaceViewConstructor" /> - The constructor of the RtcSurfaceView class. + <ph keyref="RtcSurfaceViewConstructor"/> + The constructor of the RtcSurfaceView + class. - +

    - - - - - - - -

    + + + + + + + +

    Parameters - - key - Specifiers of Widget, Element, and SemanticsNode. See the description of the key object in the official Flutter documentation. - - - uid - The user ID. - - - channelId - -

    - - - - renderMode - The rendering mode of the video. See . - - - mirrorMode - The mirror mode of the view. See . - - - zOrderOnTop - Whether to place the current screen on another layer of the current window.This method is for Android only. - - - zOrderMediaOverlay - Whether to place the surface layer of the SurfaceView view on top of another SurfaceView in the window (but still below the window).This method is for Android only. - - - onPlatformViewCreated - This event is triggered when a platform view is created. - - - gestureRecognizers - The Gesture object. - - - subProcess - Whether to create a subprocess. - -

    + + key + Specifiers of Widget, Element, and + SemanticsNode. See the description of the key object + in the official Flutter documentation. + + + uid + The user ID. + + + channelId + +

    + + + + renderMode + The rendering mode of the video. See . + + + mirrorMode + The mirror mode of the view. See . + + + zOrderOnTop + Whether to place the current screen on another layer of the current + window.This method is for Android only. + + + zOrderMediaOverlay + Whether to place the surface layer of the SurfaceView view on top of another + SurfaceView in the window (but still below the window).This method is for Android only. + + + onPlatformViewCreated + This event is triggered when a platform view is created. + + + gestureRecognizers + The Gesture object. + + + subProcess + Whether to create a subprocess. + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_rtc_render_view_rtctextureview.dita b/en-US/dita/RTC-NG/API/api_rtc_render_view_rtctextureview.dita index af939bd026f..1b42bbf6388 100644 --- a/en-US/dita/RTC-NG/API/api_rtc_render_view_rtctextureview.dita +++ b/en-US/dita/RTC-NG/API/api_rtc_render_view_rtctextureview.dita @@ -1,68 +1,70 @@ - <ph keyref="RtcTextureViewConstructor" /> - The constructor of the RtcTextureView class. + <ph keyref="RtcTextureViewConstructor"/> + The constructor of the RtcTextureView + class. - +

    - - - - - - - -

    + + + + + + + +

    Parameters - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to use FlutterTexture to render video. - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to use FlutterTexture to render video. + + + + + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_rtcengineext_getassetabsolutepath.dita b/en-US/dita/RTC-NG/API/api_rtcengineext_getassetabsolutepath.dita index 0e49d18f889..3a6b87bd74d 100644 --- a/en-US/dita/RTC-NG/API/api_rtcengineext_getassetabsolutepath.dita +++ b/en-US/dita/RTC-NG/API/api_rtcengineext_getassetabsolutepath.dita @@ -1,37 +1,40 @@ - <ph keyref="getAssetAbsolutePath" /> - Obtains the actual absolute path of the Asset through the relative path of the Asset. + <ph keyref="getAssetAbsolutePath"/> + Obtains the actual absolute path of the Asset through + the relative path of the Asset. - +

    - - - - - - Future<String?> getAssetAbsolutePath(String assetPath) -

    + + + + + + Future<String?> getAssetAbsolutePath(String assetPath) +

    Parameters - - assetPath - The flutter -> assets field configured in the pubspec.yaml file. - -
    + + assetPath + The flutter -> assets field configured in the pubspec.yaml + file. + + +
    Returns

    The actual path of the Asset.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_setexternalaudiosink.dita b/en-US/dita/RTC-NG/API/api_setexternalaudiosink.dita index 7c589b63240..927e627fa6f 100644 --- a/en-US/dita/RTC-NG/API/api_setexternalaudiosink.dita +++ b/en-US/dita/RTC-NG/API/api_setexternalaudiosink.dita @@ -13,45 +13,59 @@

    - public abstract int setExternalAudioSink(int sampleRate, int channels); - - (void)enableExternalAudioSink:(NSUInteger)sampleRate + public abstract int setExternalAudioSink(int sampleRate, int channels); + - (void)enableExternalAudioSink:(NSUInteger)sampleRate channels:(NSUInteger)channels; - virtual int setExternalAudioSink(int sampleRate, int channels) = 0; - - public abstract int SetExternalAudioSink(int sampleRate, int channels); - -

    + virtual int setExternalAudioSink(int sampleRate, int channels) = 0; + + public abstract int SetExternalAudioSink(int sampleRate, int channels); + + +

    Details -

    This method applies to scenarios where you want to use external audio data for playback. After setting enableAudioDevicemEnableAudioDevice to in , you can call to set the external audio sink. After the setting is successful, you can call to pull the remote audio data. The app can process the remote audio and play it with the audio effects that you want.

    +

    This method applies to scenarios where you want to use external audio data for + playback. After setting enableAudioDevicemEnableAudioDevice + to in , you can + call to set the external audio sink. After the + setting is successful, you can call to pull the + remote audio data. The app can process the remote audio and play it with the audio + effects that you want.

    -
      -
    • Ensure that you call this method before joining a channel.
    • -
    • Once you enable the external audio sink, the app does not retrieve any audio data from the callback.
    • -
    +
      +
    • Ensure that you call this method before joining a channel.
    • +
    • Once you enable the external audio sink, the app does not retrieve any audio + data from the callback.
    • +
    + +
    Parameters - - sampleRate - -

    The sample rate (Hz) of the external audio sink, which can be set as 16000, 32000, 44100, or 48000.

    -
    -
    - - channels - The number of audio channels of the external audio sink:
      -
    • 1: Mono.
    • -
    • 2: Stereo.
    • -
    -
    -
    + + sampleRate + +

    The sample rate (Hz) of the external audio sink, which can be set as + 16000, 32000, 44100, or 48000.

    +
    +
    + + channels + The number of audio channels of the external audio sink:
      +
    • 1: Mono.
    • +
    • 2: Stereo.
    • +
    +
    + +
    Returns
      -
    • 0: Success.
    • -
    • < 0: Failure.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/api_videosurface_setenable.dita b/en-US/dita/RTC-NG/API/api_videosurface_setenable.dita index 7887e08b299..95c6420b4f5 100644 --- a/en-US/dita/RTC-NG/API/api_videosurface_setenable.dita +++ b/en-US/dita/RTC-NG/API/api_videosurface_setenable.dita @@ -1,41 +1,47 @@ - <ph keyref="setEnable" /> - Sets whether to enable the video rendering. + <ph keyref="setEnable"/> + Sets whether to enable the video + rendering. - +

    - - - - - public void SetEnable(bool enable) + + + + + public void SetEnable(bool enable) { Enable = enable; } - -

    + + +

    Parameters - - enable - Whether to enable the video rendering:

    -

      -
    • : (Default) Enable the video rendering.
    • -
    • : Disable the video rendering.
    • -

    -
    -
    -
    + + enable + Whether to enable the video rendering:

    +

      +
    • : (Default) Enable the video + rendering.
    • +
    • : Disable the video + rendering.
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/api_videosurface_setforuser.dita b/en-US/dita/RTC-NG/API/api_videosurface_setforuser.dita index 5c013464f2c..6e8ebb494c6 100644 --- a/en-US/dita/RTC-NG/API/api_videosurface_setforuser.dita +++ b/en-US/dita/RTC-NG/API/api_videosurface_setforuser.dita @@ -1,54 +1,59 @@ - <ph keyref="setForUser" /> - Sets the local or remote video display. + <ph keyref="setForUser"/> + Sets the local or remote video + display. - +

    - - - - - public void SetForUser(uint uid = 0, string channelId = "", + + + + + public void SetForUser(uint uid = 0, string channelId = "", VIDEO_SOURCE_TYPE source_type = VIDEO_SOURCE_TYPE.VIDEO_SOURCE_CAMERA_PRIMARY) { Uid = uid; ChannelId = channelId; SourceType = source_type; } - -

    + + +

    Details -
      -
    • Ensure that you call this method in the main thread.
    • -
    • Ensure that you call this method before binding VideoSurface.cs.
    • -
    +
      +
    • Ensure that you call this method in the main thread.
    • +
    • Ensure that you call this method before binding VideoSurface.cs.
    • +
    +
    Parameters - - uid - The ID of remote users, obtained through . The default value is 0, which means you can see the local video. - - - channelId - The ID of the channel. - - - source_type - The type of the video source. See . - -
    + + uid + The ID of remote users, obtained through . The + default value is 0, which means you can see the local video. + + + channelId + The ID of the channel. + + + source_type + The type of the video source. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_airplayconnected.dita b/en-US/dita/RTC-NG/API/callback_airplayconnected.dita index 5c055f6a8ce..1b26ff2437f 100644 --- a/en-US/dita/RTC-NG/API/callback_airplayconnected.dita +++ b/en-US/dita/RTC-NG/API/callback_airplayconnected.dita @@ -2,7 +2,8 @@ <ph keyref="airplayConnected"/> - Occurs when the audio route switches to Apple AirPlay (iOS and macOS only). + Occurs when the audio route switches to Apple AirPlay + (iOS and macOS only). @@ -13,14 +14,14 @@

    - - - - - - - -

    + + + + + + + +

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onmixedaudioencodedframe.dita b/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onmixedaudioencodedframe.dita index 9ea0d4d7cff..ab24be3d4c9 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onmixedaudioencodedframe.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onmixedaudioencodedframe.dita @@ -2,7 +2,8 @@ <ph keyref="onMixedAudioEncodedFrame"/> - Gets the mixed and encoded audio data of the local and all remote users. + Gets the mixed and encoded audio data of the local and + all remote users. @@ -13,32 +14,35 @@

    - public abstract void onMixedAudioEncodedFrame( + public abstract void onMixedAudioEncodedFrame( ByteBuffer buffer, int samplesPerChannel, int channels, int samplesPerSec, int codecType); - - (void)onMixedEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; - virtual void onMixedAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnMixedAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); - onMixedAudioEncodedFrame?( + - (void)onMixedEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; + virtual void onMixedAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnMixedAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); + onMixedAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - public virtual void OnMixedAudioEncodedFrame(IntPtr frameBufferPtr, int length, + public virtual void OnMixedAudioEncodedFrame(IntPtr frameBufferPtr, int length, EncodedAudioFrameInfo audioEncodedFrameInfo) { } - onMixedAudioEncodedFrame?( + onMixedAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - final void Function(Uint8List frameBuffer, int length, + final void Function(Uint8List frameBuffer, int length, EncodedAudioFrameInfo audioEncodedFrameInfo)? onMixedAudioEncodedFrame; -

    +

    -

    After calling and setting the audio profile as , you can get the mixed and encoded audio data of the local and all remote users through this callback.

    +

    After calling and setting the + audio profile as , you can + get the mixed and encoded audio data of the local and all remote users through this + callback.

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onplaybackaudioencodedframe.dita b/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onplaybackaudioencodedframe.dita index f4449abae8d..86e02b8f0aa 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onplaybackaudioencodedframe.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onplaybackaudioencodedframe.dita @@ -2,7 +2,8 @@ <ph keyref="onPlaybackAudioEncodedFrame"/> - Gets the encoded audio data of all remote users. + Gets the encoded audio data of all remote + users. @@ -13,33 +14,35 @@

    - public abstract void onPlaybackAudioEncodedFrame( + public abstract void onPlaybackAudioEncodedFrame( ByteBuffer buffer, int samplesPerChannel, int channels, int samplesPerSec, int codecType); - - (void)onPlaybackEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; - virtual void onPlaybackAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlaybackAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); - onPlaybackAudioEncodedFrame?( + - (void)onPlaybackEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; + virtual void onPlaybackAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlaybackAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); + onPlaybackAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - public virtual void OnPlaybackAudioEncodedFrame(IntPtr frameBufferPtr, int length, + public virtual void OnPlaybackAudioEncodedFrame(IntPtr frameBufferPtr, int length, EncodedAudioFrameInfo audioEncodedFrameInfo) { } - onPlaybackAudioEncodedFrame?( + onPlaybackAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - final void Function(Uint8List frameBuffer, int length, + final void Function(Uint8List frameBuffer, int length, EncodedAudioFrameInfo audioEncodedFrameInfo)? onPlaybackAudioEncodedFrame; -

    +

    -

    After calling and setting the encoded audio as , you can get encoded audio data of all remote users through this callback.

    +

    After calling and setting the + encoded audio as , you + can get encoded audio data of all remote users through this callback.

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onrecordaudioencodedframe.dita b/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onrecordaudioencodedframe.dita index a907158f123..372c97fd494 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onrecordaudioencodedframe.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioencodedframeobserver_onrecordaudioencodedframe.dita @@ -2,7 +2,8 @@ <ph keyref="onRecordAudioEncodedFrame"/> - Gets the encoded audio data of the local user. + Gets the encoded audio data of the local + user. @@ -13,75 +14,80 @@

    - public abstract void onRecordAudioEncodedFrame( + public abstract void onRecordAudioEncodedFrame( ByteBuffer buffer, int samplesPerChannel, int channels, int samplesPerSec, int codecType); - - (void)onRecordEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; + - (void)onRecordEncodedAudioFrame:(NSData* _Nonnull)frameData info:(AgoraEncodedAudioFrameInfo* _Nonnull) info; - virtual void onRecordAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRecordAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); - onRecordAudioEncodedFrame?( + virtual void onRecordAudioEncodedFrame(const uint8_t* frameBuffer, int length, const EncodedAudioFrameInfo& audioEncodedFrameInfo) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRecordAudioEncodedFrame, const TArray<int64>, frameBuffer, int, length, const FEncodedAudioFrameInfo&, audioEncodedFrameInfo); + onRecordAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - public virtual void OnRecordAudioEncodedFrame(IntPtr frameBufferPtr, int length, + public virtual void OnRecordAudioEncodedFrame(IntPtr frameBufferPtr, int length, EncodedAudioFrameInfo audioEncodedFrameInfo) { } - onRecordAudioEncodedFrame?( + onRecordAudioEncodedFrame?( frameBuffer: Uint8Array, length: number, audioEncodedFrameInfo: EncodedAudioFrameInfo ): void; - final void Function(Uint8List frameBuffer, int length, + final void Function(Uint8List frameBuffer, int length, EncodedAudioFrameInfo audioEncodedFrameInfo)? onRecordAudioEncodedFrame; -

    +

    -

    After calling and setting the encoded audio as , you can get the encoded audio data of the local user from this callback.

    +

    After calling and setting the + encoded audio as , you + can get the encoded audio data of the local user from this callback.

    Parameters - - buffer - frameData - frameBuffer - frameBufferPtr - The audio buffer. - - - length - The data length (byte). - - - audioEncodedFrameInfo - info - Audio information after encoding. See . - - - - - - - - - - - - - - - codecType - Audio encoding type:
      -
    • (1): OPUS.
    • -
    • (8): LC-AAC.
    • -
    • (9): HE-AAC.
    • -
    • (11): HE-AAC v2.
    • -
    -
    -
    + + buffer + frameData + frameBuffer + frameBufferPtr + The audio buffer. + + + length + The data length (byte). + + + audioEncodedFrameInfo + info + Audio information after encoding. See . + + + + + + + + + + + + + + + codecType + Audio encoding type:
      +
    • (1): OPUS.
    • +
    • (8): LC-AAC.
    • +
    • (9): HE-AAC.
    • +
    • (11): HE-AAC v2.
    • +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita index d286c48bd93..8f85fb8948f 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita @@ -2,7 +2,8 @@ <ph keyref="isMultipleChannelFrameWanted_IAudioFrameObserver"/> - Determines whether to receive audio data from multiple channels. + Determines whether to receive audio data from multiple + channels. @@ -13,31 +14,49 @@

    - - - virtual bool isMultipleChannelFrameWanted() { return false; } - - public virtual bool IsMultipleChannelFrameWanted() + + + virtual bool isMultipleChannelFrameWanted() { return false; } + + public virtual bool IsMultipleChannelFrameWanted() { return true; } - - -

    + + +

    -

    After you register the audio frame observer, the SDK triggers this callback every time it captures an audio frame.

    -

    In the multi-channel scenario, if you want to get audio data from multiple channels, set the return value of this callback as . After that, the SDK triggers the callback to send you the before-mixing audio frame from various channels. You can also get the channel ID of each audio frame.

    +

    After you register the audio frame observer, the SDK triggers this callback every + time it captures an audio frame.

    +

    In the multi-channel scenario, if you want to get audio data from multiple channels, + set the return value of this callback as . After + that, the SDK triggers the + callback to send you the before-mixing audio frame from various channels. You can + also get the channel ID of each audio frame.

    -
      -
    • Once you set the return value of this callback as , the SDK triggers only the callback to send the audio data. and is not to be triggered. In the multi-channel scenario, Agora recommends setting the return value as .
    • -
    • If you set the return value of this callback as , the SDK triggers only the callback to send the audio data.
    • -
    +
      +
    • Once you set the return value of this callback as , the SDK triggers only the callback to send the audio + data. and is not to be + triggered. In the multi-channel scenario, Agora recommends setting the + return value as .
    • +
    • If you set the return value of this callback as , the SDK triggers only the callback to send the audio + data.
    • +
    + +
    Returns
      -
    • : Receive audio data from multiple channels.
    • -
    • : Do not receive audio data from multiple channels.
    • -
    +
  • : Receive audio data from multiple + channels.
  • +
  • : Do not receive audio data from multiple + channels.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onframe.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onframe.dita index edf5d1cc3be..d1a707706af 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onframe.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onframe.dita @@ -2,7 +2,8 @@ <ph keyref="onFrame_IAudioFrameObserver"/> - Occurs each time the player receives an audio frame. + Occurs each time the player receives an audio + frame. @@ -13,42 +14,48 @@

    - AudioFrame onFrame(AudioFrame frame); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + AudioFrame onFrame(AudioFrame frame); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveAudioFrame:(CMSampleBufferRef _Nonnull)audioFrame; - virtual void onFrame(AudioPcmFrame* frame) = 0; - - public virtual bool OnFrame(AudioPcmFrame videoFrame) + virtual void onFrame(AudioPcmFrame* frame) = 0; + + public virtual bool OnFrame(AudioPcmFrame videoFrame) { return true; } - - -

    + + +

    -

    After registering the audio frame observer, the callback occurs every time the player receives an audio frame, reporting the detailed information of the audio frame.

    +

    After registering the audio frame observer, the callback occurs every time the player + receives an audio frame, reporting the detailed information of the audio frame.

    <ph keyref="callback-section-title"/> - - audioFrame - Audio frame information (CMSampleBufferRef). - - - frame - videoFrame - The audio frame information. See . See . - - - playerKit - See . - -
    + + audioFrame + Audio frame information (CMSampleBufferRef). + + + frame + videoFrame + The audio frame information. See . See . + + + playerKit + See . + + +
    Returns -

    Passes in the audio data after setting the mode parameter in for handling audio data.

    +

    Passes in the audio data after setting the mode + parameter in for handling + audio data.

    Reserved for future use.

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita index 4305f639cb3..b00213e6b4d 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita @@ -2,7 +2,8 @@ <ph keyref="onPlaybackAudioFrameBeforeMixing"/> - Retrieves the audio frame before mixing of subscribed remote users. + Retrieves the audio frame before mixing of subscribed + remote users. @@ -13,88 +14,92 @@

    - public abstract boolean onPlaybackAudioFrameBeforeMixing(int userId, int type, + public abstract boolean onPlaybackAudioFrameBeforeMixing(int userId, int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onPlaybackAudioFrameBeforeMixing:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(onPlaybackAudioFrame(beforeMixing:channelId:uid:)); - virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, rtc::uid_t uid, AudioFrame& audioFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlaybackAudioFrameBeforeMixing, const FString, channelId, int64, uid, const FAudioFrame&, audioFrame); - onPlaybackAudioFrameBeforeMixing?( + - (BOOL)onPlaybackAudioFrameBeforeMixing:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId uid:(NSUInteger)uid NS_SWIFT_NAME(onPlaybackAudioFrame(beforeMixing:channelId:uid:)); + virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, rtc::uid_t uid, AudioFrame& audioFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlaybackAudioFrameBeforeMixing, const FString, channelId, int64, uid, const FAudioFrame&, audioFrame); + onPlaybackAudioFrameBeforeMixing?( channelId: string, uid: number, audioFrame: AudioFrame ): void; - public virtual bool OnPlaybackAudioFrameBeforeMixing(string channel_id, + public virtual bool OnPlaybackAudioFrameBeforeMixing(string channel_id, uint uid, AudioFrame audio_frame) { return false; } - onPlaybackAudioFrameBeforeMixing?( + onPlaybackAudioFrameBeforeMixing?( channelId: string, uid: number, audioFrame: AudioFrame ): void; - final void Function(String channelId, int uid, AudioFrame audioFrame)? + final void Function(String channelId, int uid, AudioFrame audioFrame)? onPlaybackAudioFrameBeforeMixing; -

    +

    - Due to framework limitations, this callback does not support sending processed audio data back to the SDK.
    + Due to framework limitations, this callback does not support + sending processed audio data back to the SDK. +
    Parameters - - channelId - channel_id - The channel ID. - - - uid - userId - The ID of subscribed remote users. - - - audioFrame - frame - audio_Frame - The raw audio data. See . - + + channelId + channel_id + The channel ID. + + + uid + userId + The ID of subscribed remote users. + + + audioFrame + frame + audio_Frame + The raw audio data. See . + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing2.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing2.dita index 26ffda744d8..278e5c4b534 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing2.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing2.dita @@ -2,7 +2,8 @@ <ph keyref="onPlaybackAudioFrameBeforeMixing2"/> - Retrieves the audio frame of a specified user before mixing. + Retrieves the audio frame of a specified user before + mixing. @@ -13,39 +14,43 @@

    - - - - - public virtual bool OnPlaybackAudioFrameBeforeMixing(string channel_id, + + + + + public virtual bool OnPlaybackAudioFrameBeforeMixing(string channel_id, string uid, AudioFrame audio_frame) { return false; } - - -

    + + +

    -

    After you successfully register the audio frame observer, if you set the return value of as , the SDK triggers this callback each time it receives an audio frame from any of the channels.

    +

    After you successfully register the audio frame observer, if you set the return value + of as , the SDK triggers this callback each time it + receives an audio frame from any of the channels.

    Parameters - - channel_id - The channel name that the audio frame came from. - - - uid - The ID of the user sending the audio frame. - - - audio_Frame - The raw audio data. See . - -
    + + channel_id + The channel name that the audio frame came from. + + + uid + The ID of the user sending the audio frame. + + + audio_Frame + The raw audio data. See . + + +
    Returns

    Reserved for future use.

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita index 11f77e816a3..51f895c00ca 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita @@ -2,7 +2,8 @@ <ph keyref="onPlaybackAudioFrameBeforeMixingEx"/> - Gets the playback audio frame before mixing from multiple channels. + Gets the playback audio frame before mixing from + multiple channels. @@ -13,40 +14,45 @@

    - - - virtual bool onPlaybackAudioFrameBeforeMixingEx(const char *channelId, + + + virtual bool onPlaybackAudioFrameBeforeMixingEx(const char *channelId, unsigned int uid, AudioFrame& audioFrame) { return true; } - - public virtual bool OnPlaybackAudioFrameBeforeMixingEx(string channelId, + + public virtual bool OnPlaybackAudioFrameBeforeMixingEx(string channelId, uint uid, AudioFrame audioFrame) { return false; } - -

    + + +

    -

    After you successfully register the audio frame observer, if you set the return value of as , the SDK triggers this callback each time it receives an audio frame from multiple channels.

    +

    After you successfully register the audio frame observer, if you set the return value + of as , the SDK triggers this callback each time it + receives an audio frame from multiple channels.

    Parameters - - channelId - The channel name that the audio frame came from. - - - uid - The ID of the user sending the audio frame. - - - audioFrame - The raw audio data. See . - -
    + + channelId + The channel name that the audio frame came from. + + + uid + The ID of the user sending the audio frame. + + + audioFrame + The raw audio data. See . + + +
    Returns

    Reserved for future use.

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getearmonitoringaudioparams.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getearmonitoringaudioparams.dita index ade89265c51..2777688665c 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getearmonitoringaudioparams.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getearmonitoringaudioparams.dita @@ -2,7 +2,8 @@ <ph keyref="getEarMonitoringAudioParams"/> - Sets the audio format for the callback. + Sets the audio format for the callback. @@ -13,30 +14,39 @@

    - public abstract AudioParams getEarMonitoringAudioParams(); - + public abstract AudioParams getEarMonitoringAudioParams(); + - (AgoraAudioParams* _Nonnull)getEarMonitoringAudioParams NS_SWIFT_NAME(getEarMonitoringAudioParams()); - virtual AudioParams getEarMonitoringAudioParams() = 0; - - public virtual AudioParams GetEarMonitoringAudioParams() + virtual AudioParams getEarMonitoringAudioParams() = 0; + + public virtual AudioParams GetEarMonitoringAudioParams() { return new AudioParams(); } - - -

    + + +

    - -
    Since
    -
    v4.0.1
    -
    + +
    Since
    +
    v4.0.1
    +
    -

    You need to register the callback when calling the method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.

    +

    You need to register the callback when calling the method. After you successfully register + the audio observer, the SDK triggers this callback, and you can set the audio format + in the return value of this callback.

    -

    The SDK triggers the callback with the calculated sampling interval you set in the return value. The calculation formula is Sample interval (sec) = samplePerCall/(sampleRate × channel).

    -

    Ensure that the sample interval ≥ 0.01 (s).

    +

    The SDK triggers the callback with + the calculated sampling interval you set in the + return value. The calculation formula is + Sample interval + (sec) = + samplePerCall/(sampleRate × + channel).

    +

    Ensure that the sample interval ≥ 0.01 (s).

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getmixedaudioparams.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getmixedaudioparams.dita index e083362f148..5edff22d0ef 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getmixedaudioparams.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getmixedaudioparams.dita @@ -2,7 +2,8 @@ <ph keyref="getMixedAudioParams"/> - Sets the audio format for the callback. + Sets the audio format for the callback. @@ -13,25 +14,33 @@

    - public abstract AudioParams getMixedAudioParams(); - - (AgoraAudioParams* _Nonnull)getMixedAudioParams NS_SWIFT_NAME(getMixedAudioParams()); - virtual AudioParams getMixedAudioParams() = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMixedAudioParams); - - public virtual AudioParams GetMixedAudioParams() + public abstract AudioParams getMixedAudioParams(); + - (AgoraAudioParams* _Nonnull)getMixedAudioParams NS_SWIFT_NAME(getMixedAudioParams()); + virtual AudioParams getMixedAudioParams() = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMixedAudioParams); + + public virtual AudioParams GetMixedAudioParams() { return new AudioParams(); } - - -

    + + +

    -

    You need to register the callback when calling the method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.

    +

    You need to register the callback when calling the method. After you successfully register + the audio observer, the SDK triggers this callback, and you can set the audio format + in the return value of this callback.

    -

    The SDK triggers the callback with the calculated sampling interval you set in the return value. The calculation formula is Sample interval (sec) = samplePerCall/(sampleRate × channel).

    -

    Ensure that the sample interval ≥ 0.01 (s).

    -
    +

    The SDK triggers the callback with the + calculated sampling interval you set in the + return value. The calculation formula is Sample interval (sec) + = samplePerCall/(sampleRate × + channel).

    +

    Ensure that the sample interval ≥ 0.01 (s).

    + +
    Returns

    The mixed captured and playback audio data. See .

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getobservedaudioframeposition.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getobservedaudioframeposition.dita index d521c43d25f..9f6acb13de4 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getobservedaudioframeposition.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getobservedaudioframeposition.dita @@ -2,7 +2,8 @@ <ph keyref="getObservedAudioFramePosition"/> - Sets the frame position for the video observer. + Sets the frame position for the video + observer. @@ -13,36 +14,52 @@

    - - (AgoraAudioFramePosition)getObservedAudioFramePosition NS_SWIFT_NAME(getObservedAudioFramePosition()); - - (AgoraAudioFramePosition)getObservedAudioFramePosition NS_SWIFT_NAME(getObservedAudioFramePosition()); - virtual int getObservedAudioFramePosition() = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetObservedAudioFramePosition); - - public virtual int GetObservedAudioFramePosition() - - -

    + - (AgoraAudioFramePosition)getObservedAudioFramePosition NS_SWIFT_NAME(getObservedAudioFramePosition()); + - (AgoraAudioFramePosition)getObservedAudioFramePosition NS_SWIFT_NAME(getObservedAudioFramePosition()); + virtual int getObservedAudioFramePosition() = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetObservedAudioFramePosition); + + public virtual int GetObservedAudioFramePosition() + + +

    -

    After successfully registering the audio data observer, the SDK uses this callback for each specific audio frame processing node to determine whether to trigger the following callbacks:

      -
    • -
    • -
    • -
    • -
    • -

    -

    You can set one or more positions you need to observe by modifying the return value of based on your scenario requirements:

    -

    When the annotation observes multiple locations, the | (or operator) is required. To conserve system resources, you can reduce the number of frame positions that you want to observe.

    +

    After successfully registering the audio data observer, the SDK uses this callback + for each specific audio frame processing node to determine whether to trigger the + following callbacks:

      +
    • +
    • +
    • +
    • +
    • +

    +

    You can set one or more positions you need to observe by modifying the return value + of based on your scenario + requirements:

    +

    When the annotation observes multiple locations, the | (or operator) is required. To + conserve system resources, you can reduce the number of frame positions that you + want to observe.

    Returns

    Returns a bitmask that sets the observation position, with the following values:

      -
    • (0x0001): This position can observe the playback audio mixed by all remote users, corresponding to the callback.
    • -
    • (0x0002): This position can observe the collected local user's audio, corresponding to the callback.
    • -
    • (0x0004): This position can observe the playback audio mixed by the loacl user and all remote users, corresponding to the callback.
    • -
    • (0x0008): This position can observe the audio of a single remote user before mixing, corresponding to the callback.
    • -
    • (0x0010): This position can observe the in-ear monitoring audio of the local user, corresponding to the callback.
    • -

    +
  • (0x0001): This position can + observe the playback audio mixed by all remote users, corresponding to the + callback.
  • +
  • (0x0002): This position can + observe the collected local user's audio, corresponding to the callback.
  • +
  • (0x0004): This position can observe + the playback audio mixed by the loacl user and all remote users, + corresponding to the callback.
  • +
  • (0x0008): This position can + observe the audio of a single remote user before mixing, corresponding to + the callback.
  • +
  • (0x0010): This position + can observe the in-ear monitoring audio of the local user, corresponding to + the callback.
  • +

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getplaybackaudioparams.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getplaybackaudioparams.dita index d646c96405c..503fa97c07e 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getplaybackaudioparams.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getplaybackaudioparams.dita @@ -2,7 +2,8 @@ <ph keyref="getPlaybackAudioParams"/> - Sets the audio format for the callback. + Sets the audio format for the callback. @@ -13,25 +14,33 @@

    - public abstract AudioParams getMixedAudioParams(); - - (AgoraAudioParams* _Nonnull)getPlaybackAudioParams NS_SWIFT_NAME(getPlaybackAudioParams()); - virtual AudioParams getPlaybackAudioParams() = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetPlaybackAudioParams); - - public virtual AudioParams GetPlaybackAudioParams() + public abstract AudioParams getMixedAudioParams(); + - (AgoraAudioParams* _Nonnull)getPlaybackAudioParams NS_SWIFT_NAME(getPlaybackAudioParams()); + virtual AudioParams getPlaybackAudioParams() = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetPlaybackAudioParams); + + public virtual AudioParams GetPlaybackAudioParams() { return new AudioParams(); } - - -

    + + +

    -

    You need to register the callback when calling the method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.

    +

    You need to register the callback when calling the method. After you successfully register + the audio observer, the SDK triggers this callback, and you can set the audio format + in the return value of this callback.

    -

    The SDK triggers the callback with the calculated sampling interval you set in the return value. The calculation formula is Sample interval (sec) = samplePerCall/(sampleRate × channel).

    -

    Ensure that the sample interval ≥ 0.01 (s).

    -
    +

    The SDK triggers the callback with the + calculated sampling interval you set in the + return value. The calculation formula is Sample interval (sec) + = samplePerCall/(sampleRate × + channel).

    +

    Ensure that the sample interval ≥ 0.01 (s).

    + +
    Returns

    The audio data for playback, see .

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getrecordaudioparams.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getrecordaudioparams.dita index 25def1d8f47..c92c799cfb3 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getrecordaudioparams.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_getrecordaudioparams.dita @@ -2,7 +2,8 @@ <ph keyref="getRecordAudioParams"/> - Sets the audio format for the callback. + Sets the audio format for the callback. @@ -13,25 +14,33 @@

    - public abstract AudioParams getRecordAudioParams(); - - (AgoraAudioParams* _Nonnull)getRecordAudioParams NS_SWIFT_NAME(getRecordAudioParams()); - virtual AudioParams getRecordAudioParams() = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetRecordAudioParams); - - public virtual AudioParams GetRecordAudioParams() + public abstract AudioParams getRecordAudioParams(); + - (AgoraAudioParams* _Nonnull)getRecordAudioParams NS_SWIFT_NAME(getRecordAudioParams()); + virtual AudioParams getRecordAudioParams() = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetRecordAudioParams); + + public virtual AudioParams GetRecordAudioParams() { return new AudioParams(); } - - -

    + + +

    -

    You need to register the callback when calling the method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.

    +

    You need to register the callback when calling the method. After you successfully register + the audio observer, the SDK triggers this callback, and you can set the audio format + in the return value of this callback.

    -

    The SDK triggers the callback with the calculated sampling interval you set in the return value. The calculation formula is Sample interval (sec) = samplePerCall/(sampleRate × channel).

    -

    Ensure that the sample interval ≥ 0.01 (s).

    -
    +

    The SDK triggers the callback with the + calculated sampling interval you set in the + return value. The calculation formula is Sample interval (sec) + = samplePerCall/(sampleRate × + channel).

    +

    Ensure that the sample interval ≥ 0.01 (s).

    + +
    Returns

    The captured audio data, see .

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onearmonitoringaudioframe.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onearmonitoringaudioframe.dita index 9235d9149b4..0eb74c74898 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onearmonitoringaudioframe.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onearmonitoringaudioframe.dita @@ -2,7 +2,8 @@ <ph keyref="onEarMonitoringAudioFrame"/> - Gets the in-ear monitoring audio frame. + Gets the in-ear monitoring audio + frame. @@ -13,81 +14,121 @@

    - public abstract boolean onEarMonitoringAudioFrame(int type, int samplesPerChannel, + public abstract boolean onEarMonitoringAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onEarMonitoringAudioFrame:(AgoraAudioFrame* _Nonnull)frame; + - (BOOL)onEarMonitoringAudioFrame:(AgoraAudioFrame* _Nonnull)frame; - virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) = 0; - onEarMonitoringAudioFrame?(audioFrame: AudioFrame): void; - public virtual bool OnEarMonitoringAudioFrame(AudioFrame audioFrame) + virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) = 0; + onEarMonitoringAudioFrame?(audioFrame: AudioFrame): void; + public virtual bool OnEarMonitoringAudioFrame(AudioFrame audioFrame) { return true; } - onEarMonitoringAudioFrame?(audioFrame: AudioFrame): void; - final void Function(AudioFrame audioFrame)? onEarMonitoringAudioFrame; -

    + onEarMonitoringAudioFrame?(audioFrame: AudioFrame): void; + final void Function(AudioFrame audioFrame)? onEarMonitoringAudioFrame; +

    -

    In order to ensure that the obtained in-ear audio data meets the expectations, Agora recommends that you choose one of the following two methods to set the in-ear monitoring-ear audio data format:

      -
    • Method 1: After calling to set the audio data format and to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the callback according to the sampling interval.
    • -
    • Method 2: After calling to register the audio frame observer object, set the audio data format in the return value of the callback. The SDK then calculates the sampling interval according to the return value of the callback, and triggers the callback according to the sampling interval.
    • -

    -

    In order to ensure that the obtained in-ear audio data meets the expectations, Agora recommends that you set the in-ear monitoring-ear audio data format as follows: After calling to set the audio data format and to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the callback according to the sampling interval.

    +

    In order to ensure that the obtained in-ear audio data + meets the expectations, Agora recommends that you choose one of the following two + methods to set the in-ear monitoring-ear audio data format:

      +
    • Method 1: After calling to set the audio data format and to register the audio frame + observer object, the SDK calculates the sampling interval according to the + parameters set in the methods, and triggers the callback according to the sampling + interval.
    • +
    • Method 2: After calling to + register the audio frame observer object, set the audio data format in the + return value of the callback. + The SDK then calculates the sampling interval according to the return value + of the callback, and triggers + the callback according to the + sampling interval.
    • +
    +

    +

    In order to ensure that the obtained in-ear audio data + meets the expectations, Agora recommends that you set the in-ear monitoring-ear + audio data format as follows: After calling to set the audio data format and + to register the audio frame observer + object, the SDK calculates the sampling interval according to the parameters set in + the methods, and triggers the callback + according to the sampling interval.

      -
    • The priority of method 1 is higher than that of method 2. If method 1 is used to set the audio data format, the setting of method 2 is invalid.
    • -
    • Due to framework limitations, this callback does not support sending processed audio data back to the SDK.
    -

    In order to ensure that the obtained in-ear audio data meets the expectations, Agora recommends that you set the in-ear monitoring-ear audio data format as follows: After calling to set the audio data format and to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the callback according to the sampling interval.

    +
  • The priority of method 1 is higher than that of + method 2. If method 1 is used to set the audio data format, the setting of + method 2 is invalid.
  • +
  • Due to framework limitations, this callback does + not support sending processed audio data back to the SDK.
  • + +

    In order to ensure that the obtained in-ear audio data meets the + expectations, Agora recommends that you set the in-ear monitoring-ear audio data + format as follows: After calling to set the audio data format and to + register the audio frame observer object, the SDK calculates the sampling interval + according to the parameters set in the methods, and triggers the callback according to the sampling + interval.

    Parameters - - audioFrame - frame - The raw audio data. See . - + + audioFrame + frame + The raw audio data. See . + - - type - The audio frame type. - - - samplesPerChannel - The number of samples per channel in the audio frame. - - - bytesPerSample - The number of bytes per audio sample. For example, each PCM audio sample usually takes up 16 bits (2 bytes). - - - channels - -

    The number of channels.

      -
    • 1: Mono.
    • -
    • 2: Stereo. If the channel uses stereo, the data is interleaved.
    • -

    -
    -
    - - samplesPerSec - Recording sample rate (Hz). - - - buffer - The audio buffer. The buffer size = samplesPerChannel x channels x bytesPerSample. - - - renderTimeMs - The timestamp (ms) of the external audio frame. You can use this parameter for the following purpose: Synchronize audio and video frames in video or audio related scenarios, including where external video sources are used. - - - avsync_type - Reserved for future use. - -
    + + type + The audio frame type. + + + samplesPerChannel + The number of samples per channel in the audio frame. + + + bytesPerSample + The number of bytes per audio sample. For example, each PCM audio sample + usually takes up 16 bits (2 bytes). + + + channels + +

    The number of channels.

      +
    • 1: Mono.
    • +
    • 2: Stereo. If the channel uses stereo, the data is + interleaved.
    • +

    +
    +
    + + samplesPerSec + Recording sample rate (Hz). + + + buffer + The audio buffer. The buffer size = samplesPerChannel x channels x + bytesPerSample. + + + renderTimeMs + The timestamp (ms) of the external audio frame. You can use this parameter + for the following purpose: Synchronize audio and video frames in video or + audio related scenarios, including where external video sources are + used. + + + avsync_type + Reserved for future use. + + +
    Returns

    Without practical meaning.

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onmixedaudioframe.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onmixedaudioframe.dita index a3d4f293555..04a75d5b0cf 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onmixedaudioframe.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onmixedaudioframe.dita @@ -2,7 +2,8 @@ <ph keyref="onMixedAudioFrame"/> - Retrieves the mixed captured and playback audio frame. + Retrieves the mixed captured and playback audio + frame. @@ -13,87 +14,124 @@

    - public abstract boolean onMixedAudioFrame(int type, int samplesPerChannel, int bytesPerSample, + public abstract boolean onMixedAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onMixedAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onMixedAudioFrame(_:channelId:)); - virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMixedAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); - onMixedAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - public virtual bool OnMixedAudioFrame(string channelId, AudioFrame audio_frame) + - (BOOL)onMixedAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onMixedAudioFrame(_:channelId:)); + virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMixedAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); + onMixedAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + public virtual bool OnMixedAudioFrame(string channelId, AudioFrame audio_frame) { return true; } - onMixedAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - final void Function(String channelId, AudioFrame audioFrame)? + onMixedAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + final void Function(String channelId, AudioFrame audioFrame)? onMixedAudioFrame; -

    +

    -

    To ensure that the data format of mixed captured and playback audio frame meets the expectations, Agora recommends that you choose one of the following two ways to set the data format:

      -
    • Method 1: After calling to set the audio data format and to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the callback according to the sampling interval.
    • -
    • Method 2: After calling to register the audio frame observer object, set the audio data format in the return value of the callback. The SDK then calculates the sampling interval according to the return value of the callback, and triggers the callback according to the sampling interval.
    • -

    -

    To ensure that the data format of mixed captured and playback audio frame meets the expectations, Agora recommends that you set the data format as follows: After calling to set the audio data format and to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the callback according to the sampling interval.

    +

    To ensure that the data format of mixed captured and + playback audio frame meets the expectations, Agora recommends that you choose one of + the following two ways to set the data format:

      +
    • Method 1: After calling to set + the audio data format and to + register the audio frame observer object, the SDK calculates the sampling + interval according to the parameters set in the methods, and triggers the + callback according to the sampling + interval.
    • +
    • Method 2: After calling to + register the audio frame observer object, set the audio data format in the + return value of the callback. + The SDK then calculates the sampling interval according to the return value + of the callback, and triggers the + callback according to the sampling + interval.
    • +
    +

    +

    To ensure that the data format of mixed captured and + playback audio frame meets the expectations, Agora recommends that you set the data + format as follows: After calling to + set the audio data format and to + register the audio frame observer object, the SDK calculates the sampling interval + according to the parameters set in the methods, and triggers the callback according to the sampling interval.

    -
      -
    • The priority of method 1 is higher than that of method 2. If method 1 is used to set the audio data format, the setting of method 2 is invalid.
    • -
    • Due to framework limitations, this callback does not support sending processed audio data back to the SDK.
    • -
    -

    To ensure that the data format of mixed captured and playback audio frame meets the expectations, Agora recommends that you set the data format as follows: After calling to set the audio data format and to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the callback according to the sampling interval.

    +
      +
    • The priority of method 1 is higher than that of + method 2. If method 1 is used to set the audio data format, the setting of + method 2 is invalid.
    • +
    • Due to framework limitations, this callback does + not support sending processed audio data back to the SDK.
    • +
    +

    To ensure that the data format of mixed captured and playback audio + frame meets the expectations, Agora recommends that you set the data format as + follows: After calling to set the + audio data format and to register the + audio frame observer object, the SDK calculates the sampling interval according to + the parameters set in the methods, and triggers the callback according to the sampling + interval.

    Parameters - - audioFrame - audio_Frame - frame - The raw audio data. See . - - - channelId - The channel ID. - + + audioFrame + audio_Frame + frame + The raw audio data. See . + + + channelId + The channel ID. + - - type - The audio frame type. - - - samplesPerChannel - The number of samples per channel in the audio frame. - - - bytesPerSample - The number of bytes per audio sample. For example, each PCM audio sample usually takes up 16 bits (2 bytes). - - - channels - -

    The number of channels.

      -
    • 1: Mono.
    • -
    • 2: Stereo. If the channel uses stereo, the data is interleaved.
    • -

    -
    -
    - - samplesPerSec - Recording sample rate (Hz). - - - buffer - The audio buffer. The buffer size = samplesPerChannel x channels x bytesPerSample. - - - renderTimeMs - The timestamp (ms) of the external audio frame. You can use this parameter for the following purpose: Synchronize audio and video frames in video or audio related scenarios, including where external video sources are used. - - - avsync_type - Reserved for future use. - -
    + + type + The audio frame type. + + + samplesPerChannel + The number of samples per channel in the audio frame. + + + bytesPerSample + The number of bytes per audio sample. For example, each PCM audio sample + usually takes up 16 bits (2 bytes). + + + channels + +

    The number of channels.

      +
    • 1: Mono.
    • +
    • 2: Stereo. If the channel uses stereo, the data is + interleaved.
    • +

    +
    +
    + + samplesPerSec + Recording sample rate (Hz). + + + buffer + The audio buffer. The buffer size = samplesPerChannel x channels x + bytesPerSample. + + + renderTimeMs + The timestamp (ms) of the external audio frame. You can use this parameter + for the following purpose: Synchronize audio and video frames in video or + audio related scenarios, including where external video sources are + used. + + + avsync_type + Reserved for future use. + + +
    Returns

    Without practical meaning.

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onplaybackaudioframe.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onplaybackaudioframe.dita index bdd72064ffd..3736abb8d48 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onplaybackaudioframe.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onplaybackaudioframe.dita @@ -13,35 +13,66 @@

    - public abstract boolean onPlaybackAudioFrame(int type, int samplesPerChannel, int bytesPerSample, + public abstract boolean onPlaybackAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onPlaybackAudioFrame:(AgoraAudioFrame* _Nonnull)frame; - virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlaybackAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); - onPlaybackAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - public virtual bool OnPlaybackAudioFrame(string channelId, AudioFrame audio_frame) + - (BOOL)onPlaybackAudioFrame:(AgoraAudioFrame* _Nonnull)frame; + virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlaybackAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); + onPlaybackAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + public virtual bool OnPlaybackAudioFrame(string channelId, AudioFrame audio_frame) { return true; } - onPlaybackAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - final void Function(String channelId, AudioFrame audioFrame)? + onPlaybackAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + final void Function(String channelId, AudioFrame audioFrame)? onPlaybackAudioFrame; -

    +

    -

    To ensure that the data format of audio frame for playback is as expected, Agora recommends that you choose one of the following two methods to set the audio data format:

      -
    • Method 1: After calling to set the audio data format and to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the callback according to the sampling interval.
    • -
    • Method 2: After calling to register the audio frame observer object, set the audio data format in the return value of the callback. The SDK then calculates the sampling interval according to the return value of the callback, and triggers the callback according to the sampling interval.
    • -

    -

    To ensure that the data format of audio frame for playback is as expected, Agora recommends that you set the audio data format as follows: After calling to set the audio data format and to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the callback according to the sampling interval.

    +

    To ensure that the data format of audio frame for + playback is as expected, Agora recommends that you choose one of the following two + methods to set the audio data format:

      +
    • Method 1: After calling to + set the audio data format and to + register the audio frame observer object, the SDK calculates the sampling + interval according to the parameters set in the methods, and triggers the + callback according to the + sampling interval.
    • +
    • Method 2: After calling to + register the audio frame observer object, set the audio data format in the + return value of the callback. + The SDK then calculates the sampling interval according to the return value + of the callback, and triggers the + callback according to the + sampling interval.
    • +
    +

    +

    To ensure that the data format of audio frame for + playback is as expected, Agora recommends that you set the audio data format as + follows: After calling to set the + audio data format and to register the + audio frame observer object, the SDK calculates the sampling interval according to + the parameters set in the methods, and triggers the callback according to the sampling interval.

    -
      -
    • The priority of method 1 is higher than that of method 2. If method 1 is used to set the audio data format, the setting of method 2 is invalid.
    • -
    • Due to framework limitations, this callback does not support sending processed audio data back to the SDK.
    • -
    -

    To ensure that the data format of audio frame for playback is as expected, Agora recommends that you set the audio data format as follows: After calling to set the audio data format and to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the callback according to the sampling interval.

    +
      +
    • The priority of method 1 is higher than that of + method 2. If method 1 is used to set the audio data format, the setting of + method 2 is invalid.
    • +
    • Due to framework limitations, this callback does + not support sending processed audio data back to the SDK.
    • +
    +

    To ensure that the data format of audio frame for playback is as + expected, Agora recommends that you set the audio data format as follows: After + calling to set the audio data + format and to register the audio frame + observer object, the SDK calculates the sampling interval according to the + parameters set in the methods, and triggers the callback according to the sampling + interval.

    -
    +
    diff --git a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onrecordaudioframe.dita b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onrecordaudioframe.dita index 6e7cc2b011f..c8bfb69a53d 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onrecordaudioframe.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudioframeobserverbase_onrecordaudioframe.dita @@ -13,90 +13,125 @@

    - public abstract boolean onRecordAudioFrame(String channelId, int type, int samplesPerChannel, + public abstract boolean onRecordAudioFrame(String channelId, int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onRecordAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onRecordAudioFrame(_:channelId:)); - virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRecordAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); - onRecordAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - public virtual bool OnRecordAudioFrame(string channelId, AudioFrame audioFrame) + - (BOOL)onRecordAudioFrame:(AgoraAudioFrame* _Nonnull)frame channelId:(NSString * _Nonnull)channelId NS_SWIFT_NAME(onRecordAudioFrame(_:channelId:)); + virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRecordAudioFrame, const FString, channelId, const FAudioFrame&, audioFrame); + onRecordAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + public virtual bool OnRecordAudioFrame(string channelId, AudioFrame audioFrame) { return true; } - onRecordAudioFrame?(channelId: string, audioFrame: AudioFrame): void; - final void Function(String channelId, AudioFrame audioFrame)? + onRecordAudioFrame?(channelId: string, audioFrame: AudioFrame): void; + final void Function(String channelId, AudioFrame audioFrame)? onRecordAudioFrame; -

    +

    -

    To ensure that the format of the cpatured audio frame is as expected, you can choose one of the following two methods to set the audio data format:

      -
    • Method 1: After calling to set the audio data format and to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the callback according to the sampling interval.
    • -
    • Method 2: After calling to register the audio frame observer object, set the audio data format in the return value of the callback. The SDK then calculates the sampling interval according to the return value of the callback, and triggers the callback according to the sampling interval.
    • -

    -

    To ensure that the data format of captured audio frame is as expected, Agora recommends that you set the audio data format as follows: After calling to set the audio data format, call to register the audio observer object, the SDK will calculate the sampling interval according to the parameters set in this method, and triggers the callback according to the sampling interval.

    +

    To ensure that the format of the cpatured audio frame is + as expected, you can choose one of the following two methods to set the audio data format:

      +
    • Method 1: After calling to + set the audio data format and to + register the audio frame observer object, the SDK calculates the sampling + interval according to the parameters set in the methods, and triggers the + callback according to the + sampling interval.
    • +
    • Method 2: After calling to + register the audio frame observer object, set the audio data format in the + return value of the callback. + The SDK then calculates the sampling interval according to the return value + of the callback, and triggers the + callback according to the + sampling interval.
    • +
    +

    +

    To ensure that the data format of captured audio frame is + as expected, Agora recommends that you set the audio data format as follows: After + calling to set the audio data + format, call to register the audio + observer object, the SDK will calculate the sampling interval according to the + parameters set in this method, and triggers the callback according to the sampling interval.

    -
      -
    • The priority of method 1 is higher than that of method 2. If method 1 is used to set the audio data format, the setting of method 2 is invalid.
    • -
    • Due to framework limitations, this callback does not support sending processed audio data back to the SDK.
    • -
    -

    To ensure that the data format of captured audio frame is as expected, Agora recommends that you set the audio data format as follows: After calling to set the audio data format, call to register the audio observer object, the SDK will calculate the sampling interval according to the parameters set in this method, and triggers the callback according to the sampling interval.

    +
      +
    • The priority of method 1 is higher than that of + method 2. If method 1 is used to set the audio data format, the setting of + method 2 is invalid.
    • +
    • Due to framework limitations, this callback does + not support sending processed audio data back to the SDK.
    • +
    +

    To ensure that the data format of captured audio frame is as expected, + Agora recommends that you set the audio data format as follows: After calling to set the audio data format, call + to register the audio observer + object, the SDK will calculate the sampling interval according to the parameters set + in this method, and triggers the callback + according to the sampling interval.

    Parameters - - audioFrame - frame - The raw audio data. See . - - - channelId - The channel ID. - + + audioFrame + frame + The raw audio data. See . + + + channelId + The channel ID. + - - channelId - The channel ID. - - - type - The audio frame type. - - - samplesPerChannel - The number of samples per channel in the audio frame. - - - bytesPerSample - The number of bytes per audio sample. For example, each PCM audio sample usually takes up 16 bits (2 bytes). - - - channels - -

    The number of channels.

      -
    • 1: Mono.
    • -
    • 2: Stereo. If the channel uses stereo, the data is interleaved.
    • -

    -
    -
    - - samplesPerSec - Recording sample rate (Hz). - - - buffer - The audio buffer. The buffer size = samplesPerChannel x channels x bytesPerSample. - - - renderTimeMs - The timestamp (ms) of the external audio frame. You can use this parameter for the following purpose: Synchronize audio and video frames in video or audio related scenarios, including where external video sources are used. - - - avsync_type - Reserved for future use. - -
    + + channelId + The channel ID. + + + type + The audio frame type. + + + samplesPerChannel + The number of samples per channel in the audio frame. + + + bytesPerSample + The number of bytes per audio sample. For example, each PCM audio sample + usually takes up 16 bits (2 bytes). + + + channels + +

    The number of channels.

      +
    • 1: Mono.
    • +
    • 2: Stereo. If the channel uses stereo, the data is + interleaved.
    • +

    +
    +
    + + samplesPerSec + Recording sample rate (Hz). + + + buffer + The audio buffer. The buffer size = samplesPerChannel x channels x + bytesPerSample. + + + renderTimeMs + The timestamp (ms) of the external audio frame. You can use this parameter + for the following purpose: Synchronize audio and video frames in video or + audio related scenarios, including where external video sources are + used. + + + avsync_type + Reserved for future use. + + +
    Returns

    Without practical meaning.

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita b/en-US/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita index 87d64db5bd9..5d7b498f845 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudiopcmframesink_onframe.dita @@ -2,7 +2,8 @@ <ph keyref="onFrame_IAudioPcmFrameSink"/> - Occurs each time the player receives an audio frame. + Occurs each time the player receives an audio + frame. @@ -13,40 +14,46 @@

    - AudioFrame onFrame(AudioFrame frame); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + AudioFrame onFrame(AudioFrame frame); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveAudioFrame:(AgoraAudioFrame* _Nonnull)audioFrame NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceiveAudioFrame:)); - virtual void onFrame(agora::media::base::AudioPcmFrame* frame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFrame, const FAudioPcmFrame&, pcmFrame); - onFrame?(frame: AudioPcmFrame): void; - public virtual bool OnFrame(AudioPcmFrame frame) + virtual void onFrame(agora::media::base::AudioPcmFrame* frame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFrame, const FAudioPcmFrame&, pcmFrame); + onFrame?(frame: AudioPcmFrame): void; + public virtual bool OnFrame(AudioPcmFrame frame) { return true; } - onFrame?(frame: AudioPcmFrame): void; - final void Function(AudioPcmFrame frame)? onFrame; -

    + onFrame?(frame: AudioPcmFrame): void; + final void Function(AudioPcmFrame frame)? onFrame; +

    -

    After registering the audio frame observer, the callback occurs every time the player receives an audio frame, reporting the detailed information of the audio frame.

    +

    After registering the audio frame observer, the callback occurs every time the player + receives an audio frame, reporting the detailed information of the audio frame.

    <ph keyref="callback-section-title"/> - - frame - audioFrame - The audio frame information. See . See . - - - playerKit - See . - -
    + + frame + audioFrame + The audio frame information. See . See . + + + playerKit + See . + + +
    Returns - -

    Passes in the audio data after setting the mode parameter in for handling audio data.

    +

    Passes in the audio data after setting the mode + parameter in for handling + audio data.

    Without practical meaning.

    diff --git a/en-US/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita b/en-US/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita index 260f04e5ef6..f6ea261090a 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudiospectrumobserver_onlocalaudiospectrum.dita @@ -1,51 +1,63 @@ - <ph keyref="onLocalAudioSpectrum" /> - Gets the statistics of a local audio spectrum. + <ph keyref="onLocalAudioSpectrum"/> + Gets the statistics of a local audio + spectrum. - +

    - boolean onLocalAudioSpectrum(AudioSpectrumInfo data); + boolean onLocalAudioSpectrum(AudioSpectrumInfo data); - - (BOOL)onLocalAudioSpectrum:(NSArray<NSNumber *> * _Nullable)audioSpectrumData; - virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLocalAudioSpectrum, const FAudioSpectrumData&, data); - onLocalAudioSpectrum?(data: AudioSpectrumData): void; - public virtual bool OnLocalAudioSpectrum(AudioSpectrumData data) + - (BOOL)onLocalAudioSpectrum:(NSArray<NSNumber *> * _Nullable)audioSpectrumData; + virtual bool onLocalAudioSpectrum(const AudioSpectrumData& data) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLocalAudioSpectrum, const FAudioSpectrumData&, data); + onLocalAudioSpectrum?(data: AudioSpectrumData): void; + public virtual bool OnLocalAudioSpectrum(AudioSpectrumData data) { return true; } - onLocalAudioSpectrum?(data: AudioSpectrumData): void; - final void Function(AudioSpectrumData data)? onLocalAudioSpectrum; -

    + onLocalAudioSpectrum?(data: AudioSpectrumData): void; + final void Function(AudioSpectrumData data)? onLocalAudioSpectrum; +

    -

    After successfully calling to implement the callback in and calling to enable audio spectrum monitoring, the SDK will trigger the callback as the time interval you set to report the received remote audio data spectrum.

    +

    After successfully calling to + implement the callback in and calling to enable audio spectrum monitoring, the + SDK will trigger the callback as the time interval you set to report the received + remote audio data spectrum.

    Parameters - - data - audioSpectrumData - The audio spectrum data of the local user. See . - The audio spectrum data of the local user. Agora divides the audio frequency into 256 frequency domains, and reports the energy value of each frequency domain through this parameter. The value range of each energy type is [-300, 1] and the unit is dBFS. - -
    + + data + audioSpectrumData + The audio + spectrum data of the local user. See . + The audio spectrum data of the local user. Agora divides the + audio frequency into 256 frequency domains, and reports the energy value of + each frequency domain through this parameter. The value range of each energy + type is [-300, 1] and the unit is dBFS. + + +
    Returns

    Whether the spectrum data is received:

      -
    • : Spectrum data is received.
    • -
    • : No spectrum data is received.
    • -

    +
  • : Spectrum data is received.
  • +
  • : No spectrum data is received.
  • +

    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita b/en-US/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita index 204dba35da4..492111b664f 100644 --- a/en-US/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita +++ b/en-US/dita/RTC-NG/API/callback_iaudiospectrumobserver_onremoteaudiospectrum.dita @@ -1,64 +1,73 @@ - <ph keyref="onRemoteAudioSpectrum" /> + <ph keyref="onRemoteAudioSpectrum"/> Gets the remote audio spectrum. - +

    - boolean onRemoteAudioSpectrum(UserAudioSpectrumInfo[] userAudioSpectrumInfos, int spectrumNumber); + boolean onRemoteAudioSpectrum(UserAudioSpectrumInfo[] userAudioSpectrumInfos, int spectrumNumber); - - (BOOL)onRemoteAudioSpectrum:(NSArray<AgoraAudioSpectrumInfo *> * _Nullable)AudioSpectrumInfo; + - (BOOL)onRemoteAudioSpectrum:(NSArray<AgoraAudioSpectrumInfo *> * _Nullable)AudioSpectrumInfo; - virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRemoteAudioSpectrum, const TArray<FUserAudioSpectrumInfo>, spectrums, int, spectrumNumber); - onRemoteAudioSpectrum?( + virtual bool onRemoteAudioSpectrum(const UserAudioSpectrumInfo * spectrums, unsigned int spectrumNumber) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRemoteAudioSpectrum, const TArray<FUserAudioSpectrumInfo>, spectrums, int, spectrumNumber); + onRemoteAudioSpectrum?( spectrums: UserAudioSpectrumInfo[], spectrumNumber: number ): void; - public virtual bool OnRemoteAudioSpectrum(UserAudioSpectrumInfo[] spectrums, uint spectrumNumber) + public virtual bool OnRemoteAudioSpectrum(UserAudioSpectrumInfo[] spectrums, uint spectrumNumber) { return true; } - onRemoteAudioSpectrum?( + onRemoteAudioSpectrum?( spectrums: UserAudioSpectrumInfo[], spectrumNumber: number ): void; - final void Function( + final void Function( List<UserAudioSpectrumInfo> spectrums, int spectrumNumber)? onRemoteAudioSpectrum; -

    +

    -

    After successfully calling to implement the callback in the and calling to enable audio spectrum monitoring, the SDK will trigger the callback as the time interval you set to report the received remote audio data spectrum.

    +

    After successfully calling to + implement the callback in the and calling to enable audio spectrum monitoring, the + SDK will trigger the callback as the time interval you set to report the received + remote audio data spectrum.

    Parameters - - userAudioSpectrumInfos - AudioSpectrumInfo - spectrums - The audio spectrum information of the remote user, see . The number of arrays is the number of remote users monitored by the SDK. If the array is null, it means that no audio spectrum of remote users is detected. - - - spectrumNumber - The number of remote users. - -
    + + userAudioSpectrumInfos + AudioSpectrumInfo + spectrums + The audio spectrum information of the remote user, see . The number of arrays is the number of + remote users monitored by the SDK. If the array is null, it means that no + audio spectrum of remote users is detected. + + + spectrumNumber + The number of remote users. + + +
    Returns

    Whether the spectrum data is received:

      -
    • : Spectrum data is received.
    • -
    • : No spectrum data is received.
    • -

    +
  • : Spectrum data is received.
  • +
  • : No spectrum data is received.
  • +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita b/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita index 6c2259310d3..d8e43071662 100644 --- a/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita +++ b/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita @@ -1,55 +1,78 @@ - <ph keyref="onConnectionStateChange" /> - Occurs when the connection state between the SDK and the Agora Spatial Audio Server changes. + <ph keyref="onConnectionStateChange"/> + Occurs when the connection state between the SDK and + the Agora Spatial Audio Server changes. - +

    - public void onConnectionStateChange(int state, int reason); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine connectionDidChangedToState:(AgoraSaeConnectionState)state withReason:(AgoraSaeConnectionChangedReason)reason; - virtual void onConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} - - public virtual void OnConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} - -

    + public void onConnectionStateChange(int state, int reason); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine connectionDidChangedToState:(AgoraSaeConnectionState)state withReason:(AgoraSaeConnectionChangedReason)reason; + virtual void onConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} + + public virtual void OnConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} + + +

    -
    When the connection state between the SDK and the Agora Spatial Audio Server changes, the SDK triggers this callback to inform the user of the current connection state and the reason for the change.
    +
    When the connection state between the SDK and the Agora Spatial + Audio Server changes, the SDK triggers this callback to inform the user of the current + connection state and the reason for the change.
    Parameters - - engine - . - - - state - The connection state between the SDK and the Agora Spatial Audio Server. See .
      -
    • (0): The SDK is connecting to the Agora Spatial Audio Server.
    • -
    • (1): Connected. The spatial audio effect settings such as only take effect in this state.
    • -
    • (2): The connection is disconnected.
    • -
    • (3): The SDK keeps reconnecting to the Agora Spatial Audio Server.
    • -
    • (4): The connection has been reestablished.
    • -
    -
    - - reason - Occurs when the connection state between the SDK and the Agora Spatial Audio Server changes. See .
      -
    • (0): No error.
    • -
    • (1): The SDK is establishing a connection.
    • -
    • (2): The SDK failed to create the room.
    • -
    • (3): The connection between the SDK and the RTM system is interrupted.
    • -
    • (4): The user is kicked out by the RTM system.
    • -
    • (5): The SDK has not received a message from the Agora Spatial Audio Server for more than 15 seconds.
    • -
    -
    -
    + + engine + . + + + state + The connection state between the SDK and the Agora Spatial Audio Server. + See .
      +
    • (0): The SDK is + connecting to the Agora Spatial Audio Server.
    • +
    • (1): Connected. The + spatial audio effect settings such as only take effect in this + state.
    • +
    • (2): The connection + is disconnected.
    • +
    • (3): The SDK keeps + reconnecting to the Agora Spatial Audio Server.
    • +
    • (4): The connection + has been reestablished.
    • +
    +
    + + reason + Occurs when the connection state between the SDK and the Agora Spatial + Audio Server changes. See .
      +
    • (0): No error.
    • +
    • (1): The SDK is + establishing a connection.
    • +
    • (2): The SDK + failed to create the room.
    • +
    • (3): The + connection between the SDK and the RTM system is interrupted.
    • +
    • (4): The user is + kicked out by the RTM system.
    • +
    • (5): The SDK has not + received a message from the Agora Spatial Audio Server for more than + 15 seconds.
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita b/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita index 607341a0631..d0bf23ca1b5 100644 --- a/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita +++ b/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita @@ -2,7 +2,8 @@ <ph keyref="onTeammateJoined"/> - Occurs when the user joins the current team. + Occurs when the user joins the current + team. @@ -13,28 +14,31 @@

    - public void onTeammateJoined(int uid); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateJoined:(NSUInteger)uid; - virtual void onTeammateJoined(uid_t uid) {} - - public virtual void OnTeammateJoined(uint uid) {} - -

    + public void onTeammateJoined(int uid); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateJoined:(NSUInteger)uid; + virtual void onTeammateJoined(uid_t uid) {} + + public virtual void OnTeammateJoined(uint uid) {} + + +

    -

    When a remote user with the same team ID calls to enter the current room, the local user receives this callback.

    +

    When a remote user with the same team ID calls to enter + the current room, the local user receives this callback.

    Parameters - - - - - - uid - The user ID of the remote user who joins the current team. - -
    + + + + + + uid + The user ID of the remote user who joins the current team. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita b/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita index 1b4cdc8da0f..485eb7856a9 100644 --- a/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita +++ b/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita @@ -2,7 +2,8 @@ <ph keyref="onTeammateLeft"/> - Occurs when the user leaves the current team. + Occurs when the user leaves the current + team. @@ -13,28 +14,31 @@

    - public void onTeammateLeft(int uid); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateLeft:(NSUInteger)uid; - virtual void onTeammateLeft(uid_t uid) {} - - public virtual void OnTeammateLeft(uint uid) {} - -

    + public void onTeammateLeft(int uid); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateLeft:(NSUInteger)uid; + virtual void onTeammateLeft(uid_t uid) {} + + public virtual void OnTeammateLeft(uint uid) {} + + +

    -

    When a remote user in the current team calls to leave the current room, the local user receives this callback.

    +

    When a remote user in the current team calls to leave the + current room, the local user receives this callback.

    Parameters - - - - - - uid - The user ID of the remote user who leaves the current team. - -
    + + + + + + uid + The user ID of the remote user who leaves the current team. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita b/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita index 95e64cf46cd..f93f3fb6b6c 100644 --- a/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita +++ b/en-US/dita/RTC-NG/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita @@ -13,25 +13,30 @@

    - public void onTokenWillExpire(); - - (void)csaEngineTokenWillExpire:(AgoraCloudSpatialAudioKit* _Nonnull)engine; - virtual void onTokenWillExpire() {} - onTokenWillExpire?(): void; - public virtual void OnTokenWillExpire() {} - -

    + public void onTokenWillExpire(); + - (void)csaEngineTokenWillExpire:(AgoraCloudSpatialAudioKit* _Nonnull)engine; + virtual void onTokenWillExpire() {} + onTokenWillExpire?(): void; + public virtual void OnTokenWillExpire() {} + + +

    -

    Once the RTM token expires, the SDK triggers this callback to notify the app to renew the RTM token.

    -

    When you receive this callback, you need to generate a new token on your server and call to pass the new token to the SDK.

    +

    Once the RTM token expires, the SDK triggers this callback to notify the app to renew + the RTM token.

    +

    When you receive this callback, you need to generate a new token on your server and + call to pass the new token to + the SDK.

    Parameters - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita b/en-US/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita index b18cb096932..de2a93609e1 100644 --- a/en-US/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstatechanged.dita @@ -1,64 +1,70 @@ - <ph keyref="onDirectCdnStreamingStateChanged" /> - Occurs when the CDN streaming state changes. + <ph keyref="onDirectCdnStreamingStateChanged"/> + Occurs when the CDN streaming state + changes. - +

    - void onDirectCdnStreamingStateChanged( + void onDirectCdnStreamingStateChanged( DirectCdnStreamingState state, DirectCdnStreamingReason reason, String message); - - (void)onDirectCdnStreamingStateChanged:(AgoraDirectCdnStreamingState)state + - (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) { + virtual void onDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, const char* message) { (void)state; (void)reason; (void)message; }; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnDirectCdnStreamingStateChanged, EDIRECT_CDN_STREAMING_STATE, state, EDIRECT_CDN_STREAMING_REASON, error, FString, message); - onDirectCdnStreamingStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnDirectCdnStreamingStateChanged, EDIRECT_CDN_STREAMING_STATE, state, EDIRECT_CDN_STREAMING_REASON, error, FString, message); + onDirectCdnStreamingStateChanged?( state: DirectCdnStreamingState, reason: DirectCdnStreamingReason, message: string ): void; - public virtual void OnDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, string message) - onDirectCdnStreamingStateChanged?( + public virtual void OnDirectCdnStreamingStateChanged(DIRECT_CDN_STREAMING_STATE state, DIRECT_CDN_STREAMING_REASON reason, string message) + onDirectCdnStreamingStateChanged?( state: DirectCdnStreamingState, reason: DirectCdnStreamingReason, message: string ): void; - final void Function( + final void Function( DirectCdnStreamingState state, DirectCdnStreamingReason reason, String message)? onDirectCdnStreamingStateChanged; -

    +

    -

    When the host directly pushes streams to the CDN, if the streaming state changes, the SDK triggers this callback to report the changed streaming state, error codes, and other information. You can troubleshoot issues by referring to this callback.

    +

    When the host directly pushes streams to the CDN, if the streaming state changes, the + SDK triggers this callback to report the changed streaming state, error codes, and + other information. You can troubleshoot issues by referring to this callback.

    Parameters - - state - The current CDN streaming state. See . - - - reason - Reasons for changes in the status of CDN streaming. See . - - - message - The information about the changed streaming state. - -
    + + state + The current CDN streaming state. See . + + + reason + Reasons for changes in the status of CDN streaming. See . + + + message + The information about the changed streaming state. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita b/en-US/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita index 679966b67b5..5e8cc57fb84 100644 --- a/en-US/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita +++ b/en-US/dita/RTC-NG/API/callback_idirectcdnstreamingeventhandler_ondirectcdnstreamingstats.dita @@ -1,40 +1,43 @@ - <ph keyref="onDirectCdnStreamingStats" /> + <ph keyref="onDirectCdnStreamingStats"/> Reports the CDN streaming statistics. - +

    - void onDirectCdnStreamingStats(DirectCdnStreamingStats stats); - - (void)onDirectCdnStreamingStats:(AgoraDirectCdnStreamStats *_Nonnull)stats; - virtual void onDirectCdnStreamingStats(const DirectCdnStreamStats& stats) { + 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; -

    + 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; +

    -

    When the host directly pushes media streams to the CDN, the SDK triggers this callback every one second.

    +

    When the host directly pushes media streams to the CDN, the SDK triggers this + callback every one second.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - stats - The statistics of the current CDN streaming. See . - -
    + + stats + The statistics of the current CDN streaming. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_ifaceinfoobserver_onfaceinfo.dita b/en-US/dita/RTC-NG/API/callback_ifaceinfoobserver_onfaceinfo.dita index a351af0416a..5bea686ce26 100644 --- a/en-US/dita/RTC-NG/API/callback_ifaceinfoobserver_onfaceinfo.dita +++ b/en-US/dita/RTC-NG/API/callback_ifaceinfoobserver_onfaceinfo.dita @@ -1,8 +1,9 @@ - <ph keyref="onFaceInfo" /> - Occurs when the facial information processed by speech driven extension is received. + <ph keyref="onFaceInfo"/> + Occurs when the facial information processed by speech + driven extension is received. @@ -13,75 +14,94 @@

    - boolean onFaceInfo(String outFaceInfo); - - (BOOL)onFaceInfo:(NSString* _Nonnull)outFaceInfo NS_SWIFT_NAME(onFaceInfo(_:)); - virtual bool onFaceInfo(const char* outFaceInfo) = 0; - - - onFaceInfo?(outFaceInfo: string): void; - public virtual bool OnFaceInfo(string outFaceInfo) + boolean onFaceInfo(String outFaceInfo); + - (BOOL)onFaceInfo:(NSString* _Nonnull)outFaceInfo NS_SWIFT_NAME(onFaceInfo(_:)); + virtual bool onFaceInfo(const char* outFaceInfo) = 0; + + + onFaceInfo?(outFaceInfo: string): void; + public virtual bool OnFaceInfo(string outFaceInfo) { return true; } - onFaceInfo?(outFaceInfo: string): void; - final void Function(String outFaceInfo)? onFaceInfo;

    + onFaceInfo?(outFaceInfo: string): void; + final void Function(String outFaceInfo)? onFaceInfo; +

    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +

    Parameters - - outFaceInfo - Output parameter, the JSON string of the facial information processed by the voice driver plugin, including the following fields:
      -
    • faces: Object sequence. The collection of facial information, with each face corresponding to an object.
    • -
    • blendshapes: Object. The collection of face capture coefficients, named according to ARkit standards, with each key-value pair representing a blendshape coefficient. The blendshape coefficient is a floating point number with a range of [0.0, 1.0].
    • -
    • rotation: Object sequence. The rotation of the head, which includes the following three key-value pairs, with values as floating point numbers ranging from -180.0 to 180.0:
        -
      • pitch: Head pitch angle. A positve value means looking down, while a negative value means looking up.
      • -
      • yaw: Head yaw angle. A positve value means turning left, while a negative value means turning right.
      • -
      • roll: Head roll angle. A positve value means tilting to the right, while a negative value means tilting to the left.
      • + + outFaceInfo + Output parameter, the JSON string of the facial information processed by the + voice driver plugin, including the following fields:
          +
        • faces: Object sequence. The collection of facial information, with + each face corresponding to an object.
        • +
        • blendshapes: Object. The collection of face capture coefficients, + named according to ARkit standards, with each key-value pair + representing a blendshape coefficient. The blendshape coefficient is + a floating point number with a range of [0.0, 1.0].
        • +
        • rotation: Object sequence. The rotation of the head, which includes + the following three key-value pairs, with values as floating point + numbers ranging from -180.0 to 180.0:
            +
          • pitch: Head pitch angle. A positve value means looking down, + while a negative value means looking up.
          • +
          • yaw: Head yaw angle. A positve value means turning left, + while a negative value means turning right.
          • +
          • roll: Head roll angle. A positve value means tilting to the + right, while a negative value means tilting to the + left.
          • +
          +
        • +
        • timestamp: String. The timestamp of the output result, in + milliseconds.
        - -
      • timestamp: String. The timestamp of the output result, in milliseconds.
      • -
      -

      Here is an example of JSON: -

      -{ - "faces":[{ - "blendshapes":{ - "eyeBlinkLeft":0.9, "eyeLookDownLeft":0.0, "eyeLookInLeft":0.0, "eyeLookOutLeft":0.0, "eyeLookUpLeft":0.0, - "eyeSquintLeft":0.0, "eyeWideLeft":0.0, "eyeBlinkRight":0.0, "eyeLookDownRight":0.0, "eyeLookInRight":0.0, - "eyeLookOutRight":0.0, "eyeLookUpRight":0.0, "eyeSquintRight":0.0, "eyeWideRight":0.0, "jawForward":0.0, - "jawLeft":0.0, "jawRight":0.0, "jawOpen":0.0, "mouthClose":0.0, "mouthFunnel":0.0, "mouthPucker":0.0, - "mouthLeft":0.0, "mouthRight":0.0, "mouthSmileLeft":0.0, "mouthSmileRight":0.0, "mouthFrownLeft":0.0, - "mouthFrownRight":0.0, "mouthDimpleLeft":0.0, "mouthDimpleRight":0.0, "mouthStretchLeft":0.0, "mouthStretchRight":0.0, - "mouthRollLower":0.0, "mouthRollUpper":0.0, "mouthShrugLower":0.0, "mouthShrugUpper":0.0, "mouthPressLeft":0.0, - "mouthPressRight":0.0, "mouthLowerDownLeft":0.0, "mouthLowerDownRight":0.0, "mouthUpperUpLeft":0.0, "mouthUpperUpRight":0.0, - "browDownLeft":0.0, "browDownRight":0.0, "browInnerUp":0.0, "browOuterUpLeft":0.0, "browOuterUpRight":0.0, - "cheekPuff":0.0, "cheekSquintLeft":0.0, "cheekSquintRight":0.0, "noseSneerLeft":0.0, "noseSneerRight":0.0, - "tongueOut":0.0 - }, - "rotation":{"pitch":30.0, "yaw":25.5, "roll":-15.5}, - - }], - "timestamp":"654879876546" -}
      -

      - - -
    +

    Here is an example of JSON: +

    { "faces":[{ "blendshapes":{ + "eyeBlinkLeft":0.9, "eyeLookDownLeft":0.0, "eyeLookInLeft":0.0, + "eyeLookOutLeft":0.0, "eyeLookUpLeft":0.0, "eyeSquintLeft":0.0, + "eyeWideLeft":0.0, "eyeBlinkRight":0.0, "eyeLookDownRight":0.0, + "eyeLookInRight":0.0, "eyeLookOutRight":0.0, + "eyeLookUpRight":0.0, "eyeSquintRight":0.0, "eyeWideRight":0.0, + "jawForward":0.0, "jawLeft":0.0, "jawRight":0.0, "jawOpen":0.0, + "mouthClose":0.0, "mouthFunnel":0.0, "mouthPucker":0.0, + "mouthLeft":0.0, "mouthRight":0.0, "mouthSmileLeft":0.0, + "mouthSmileRight":0.0, "mouthFrownLeft":0.0, + "mouthFrownRight":0.0, "mouthDimpleLeft":0.0, + "mouthDimpleRight":0.0, "mouthStretchLeft":0.0, + "mouthStretchRight":0.0, "mouthRollLower":0.0, + "mouthRollUpper":0.0, "mouthShrugLower":0.0, + "mouthShrugUpper":0.0, "mouthPressLeft":0.0, + "mouthPressRight":0.0, "mouthLowerDownLeft":0.0, + "mouthLowerDownRight":0.0, "mouthUpperUpLeft":0.0, + "mouthUpperUpRight":0.0, "browDownLeft":0.0, + "browDownRight":0.0, "browInnerUp":0.0, "browOuterUpLeft":0.0, + "browOuterUpRight":0.0, "cheekPuff":0.0, "cheekSquintLeft":0.0, + "cheekSquintRight":0.0, "noseSneerLeft":0.0, + "noseSneerRight":0.0, "tongueOut":0.0 }, + "rotation":{"pitch":30.0, "yaw":25.5, "roll":-15.5}, }], + "timestamp":"654879876546" }
    +

    + + + +
    Returns
      -
    • : Facial information JSON parsing successful.
    • -
    • : Facial information JSON parsing failed.
    • +
    • : Facial information JSON parsing + successful.
    • +
    • : Facial information JSON parsing + failed.
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayeraudioframeobserver_onframe.dita b/en-US/dita/RTC-NG/API/callback_imediaplayeraudioframeobserver_onframe.dita index 8ec05f54ab7..c393ffaae35 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayeraudioframeobserver_onframe.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayeraudioframeobserver_onframe.dita @@ -1,47 +1,49 @@ - <ph keyref="onFrame_IMediaPlayerAudioFrameObserver" /> - Occurs each time the player receives an audio frame. + <ph keyref="onFrame_IMediaPlayerAudioFrameObserver"/> + Occurs each time the player receives an audio + frame. - +

    - - - - onFrame?(frame: AudioPcmFrame): void; - public virtual bool OnFrame(AudioPcmFrame frame) + + + + onFrame?(frame: AudioPcmFrame): void; + public virtual bool OnFrame(AudioPcmFrame frame) { return true; } - onFrame?(frame: AudioPcmFrame): void; - final void Function(AudioPcmFrame frame)? onFrame; -

    + onFrame?(frame: AudioPcmFrame): void; + final void Function(AudioPcmFrame frame)? onFrame; +

    -

    After registering the audio frame observer, the callback occurs every time the player receives an audio frame, reporting the detailed information of the audio frame.

    +

    After registering the audio frame observer, the callback occurs every time the player + receives an audio frame, reporting the detailed information of the audio frame.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - frame - -

    Audio frame information. See .

    -
    -
    + + frame + +

    Audio frame information. See .

    +
    +
    Returns -

    Without practical meaning.

    +

    Without practical meaning.

    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onreaddata.dita b/en-US/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onreaddata.dita index 83b4e24ce6e..333d207c02a 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onreaddata.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onreaddata.dita @@ -1,58 +1,67 @@ - <ph keyref="onReadData" /> - Occurs when the SDK reads the media resource data. + <ph keyref="onReadData"/> + Occurs when the SDK reads the media resource + data. - +

    - int onReadData(ByteBuffer buffer, int bufferSize); + int onReadData(ByteBuffer buffer, int bufferSize); - typedef int(^AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, unsigned char * _Nullable buffer, int bufferSize); + typedef int(^AgoraRtcMediaPlayerCustomSourceOnReadCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, unsigned char * _Nullable buffer, int bufferSize); - virtual int onReadData(unsigned char *buffer, int bufferSize) = 0; + virtual int onReadData(unsigned char *buffer, int bufferSize) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnReadData, TArray<int64>, buffer, int, bufferSize); - - public virtual int OnReadData(IntPtr bufferPtr, int bufferSize) + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnReadData, TArray<int64>, buffer, int, bufferSize); + + public virtual int OnReadData(IntPtr bufferPtr, int bufferSize) { return 0; - } - -

    + } + + +

    -

    When you call the method to open a media resource, the SDK triggers this callback and request you to pass in the buffer of the media resource data.

    +

    When you call the method to open a media + resource, the SDK triggers this callback and request you to pass in the buffer of + the media resource data.

    Parameters - - playerKit - Media player protocol. See . - - - buffer - bufferPtr - An input parameter. Data buffer (bytes). Write the bufferSize data reported by the SDK into this parameter. - - - bufferSize - The length of the data buffer (bytes). - -
    + + playerKit + Media player protocol. See . + + + buffer + bufferPtr + An input parameter. Data buffer (bytes). Write the + bufferSize data reported by the SDK into this + parameter. + + + bufferSize + The length of the data buffer (bytes). + + +
    Returns
      -
    • If the data is read successfully, pass in the length of the data (bytes) you actually read in the return value.
    • -
    • If reading the data fails, pass in 0 in the return value.
    • -
    +
  • If the data is read successfully, pass in the length of the data (bytes) you + actually read in the return value.
  • +
  • If reading the data fails, pass in 0 in the return value.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onseek.dita b/en-US/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onseek.dita index 7f283cb988d..f1027a811d3 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onseek.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayercustomdataprovider_onseek.dita @@ -1,63 +1,81 @@ - <ph keyref="onSeek" /> - Occurs when the SDK seeks the media resource data. + <ph keyref="onSeek"/> + Occurs when the SDK seeks the media resource + data. - +

    - long onSeek(long offset, int whence); + long onSeek(long offset, int whence); - typedef long long(^AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, long long offset, int whence); + typedef long long(^AgoraRtcMediaPlayerCustomSourceOnSeekCallback)(id<AgoraRtcMediaPlayerProtocol> _Nonnull playerKit, long long offset, int whence); - virtual int64_t onSeek(int64_t offset, int whence) = 0; + virtual int64_t onSeek(int64_t offset, int whence) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnSeek, int64, offset, int, whence); - - public virtual Int64 OnSeek(Int64 offset, int whence) + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnSeek, int64, offset, int, whence); + + public virtual Int64 OnSeek(Int64 offset, int whence) { return 0; } - -

    + + +

    -

    When you call the or method to open a custom media resource, the SDK triggers this callback to request the specified location in the media resource.

    +

    When you call the or + method to open a custom media resource, the SDK triggers this callback to request + the specified location in the media resource.

    Parameters - - playerKit - Media player protocol. See . - - - offset - An input parameter. The offset of the target position relative to the starting point, in bytes. The value can be positive or negative. - - - whence - An input parameter. The starting point. You can set it as one of the following values:
      -
    • 0: The starting point is the head of the data, and the actual data offset after seeking is offset.
    • -
    • 1: The starting point is the current position, and the actual data offset after seeking is the current position plus offset.
    • -
    • 2: The starting point is the end of the data, and the actual data offset after seeking is the whole data length plus offset.
    • -
    • 65536: Do not perform position seeking, return the file size. Agora recommends that you use this parameter value when playing pure audio files such as MP3 and WAV.
    • -
    -
    -
    + + playerKit + Media player protocol. See . + + + offset + An input parameter. The offset of the target position relative to the + starting point, in bytes. The value can be positive or negative. + + + whence + An input parameter. The starting point. You can set it as one of the + following values:
      +
    • 0: The starting point is the head of the data, and the actual data + offset after seeking is offset.
    • +
    • 1: The starting point is the current position, and the actual data + offset after seeking is the current position plus + offset.
    • +
    • 2: The starting point is the end of the data, and the actual data + offset after seeking is the whole data length plus + offset.
    • +
    • 65536: Do not perform position seeking, return the file size. Agora + recommends that you use this parameter value when playing pure audio + files such as MP3 and WAV.
    • +
    +
    + +
    Returns
      -
    • When whence is 65536, the media file size is returned.
    • -
    • When whence is 0, 1, or 2, the actual data offset after the seeking is returned.
    • -
    • -1: Seeking failed.
    • -
    +
  • When whence is 65536, the media file + size is returned.
  • +
  • When whence is 0, + 1, or 2, the actual data offset + after the seeking is returned.
  • +
  • -1: Seeking failed.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onagoracdntokenwillexpire.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onagoracdntokenwillexpire.dita index 0a6eee0b64b..bb1d2308fc6 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onagoracdntokenwillexpire.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onagoracdntokenwillexpire.dita @@ -2,7 +2,8 @@ <ph keyref="onAgoraCDNTokenWillExpire"/> - Occurs when the token is about to expire. + Occurs when the token is about to + expire. @@ -13,20 +14,27 @@

    - void onAgoraCDNTokenWillExpire(); + void onAgoraCDNTokenWillExpire(); - - (void)onAgoraCDNTokenWillExpire; + - (void)onAgoraCDNTokenWillExpire; - virtual void onAgoraCDNTokenWillExpire() = 0; + virtual void onAgoraCDNTokenWillExpire() = 0; - onAgoraCDNTokenWillExpire?(): void; - public virtual void OnAgoraCDNTokenWillExpire() {} - onAgoraCDNTokenWillExpire?(): void; - final void Function()? onAgoraCDNTokenWillExpire; -

    + onAgoraCDNTokenWillExpire?(): void; + public virtual void OnAgoraCDNTokenWillExpire() {} + onAgoraCDNTokenWillExpire?(): void; + final void Function()? onAgoraCDNTokenWillExpire; +

    -

    If the ts is about to expire when you call the method to switch the CDN route for playing the media resource, the SDK triggers this callback to remind you to renew the authentication information. You need to call the method to pass in the updated authentication information to update the authentication information of the media resource URL. After updating the authentication information, you need to call to complete the route switching.

    +

    If the ts is about to expire when you call the method to switch the CDN route for playing + the media resource, the SDK triggers this callback to remind you to renew the + authentication information. You need to call the method to pass in the updated authentication + information to update the authentication information of the media resource URL. + After updating the authentication information, you need to call to complete the route switching.

    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita index 8d6a00eda79..0fd3d4fd6f6 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onaudiovolumeindication.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioVolumeIndication"/> - Reports the volume of the media player. + Reports the volume of the media + player. @@ -13,28 +14,30 @@

    - void onAudioVolumeIndication(int volume); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + void onAudioVolumeIndication(int volume); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit volumeIndicationDidReceive:(NSInteger)volume; - virtual void onAudioVolumeIndication(int volume) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioVolumeIndicationSource, int, volume); - onAudioVolumeIndication?(volume: number): void; - public virtual void OnAudioVolumeIndication(int volume) {} - onAudioVolumeIndication?(volume: number): void; - final void Function(int volume)? onAudioVolumeIndication; -

    + virtual void onAudioVolumeIndication(int volume) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioVolumeIndicationSource, int, volume); + onAudioVolumeIndication?(volume: number): void; + public virtual void OnAudioVolumeIndication(int volume) {} + onAudioVolumeIndication?(volume: number): void; + final void Function(int volume)? onAudioVolumeIndication; +

    -

    The SDK triggers this callback every 200 milliseconds to report the current volume of the media player.

    +

    The SDK triggers this callback every 200 milliseconds to report the current volume of + the media player.

    Parameters - - volume - The volume of the media player. The value ranges from 0 to 255. - -
    + + volume + The volume of the media player. The value ranges from 0 to 255. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_oncompleted.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_oncompleted.dita index e68bee6d233..f9c58b06418 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_oncompleted.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_oncompleted.dita @@ -2,7 +2,8 @@ <ph keyref="onCompleted"/> - Occurs when the media file is played once. + Occurs when the media file is played + once. @@ -13,15 +14,15 @@

    - void onCompleted(); + void onCompleted(); - - virtual void onCompleted() = 0; - onCompleted?(): void; - public virtual void OnCompleted() { } - onCompleted?(): void; - final void Function()? onCompleted; -

    + + virtual void onCompleted() = 0; + onCompleted?(): void; + public virtual void OnCompleted() { } + onCompleted?(): void; + final void Function()? onCompleted; +

    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita index 1e9c7aac839..5c16abab175 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onmetadata.dita @@ -1,53 +1,57 @@ - <ph keyref="onMetaData" /> - Occurs when the media metadata is received. + <ph keyref="onMetaData"/> + Occurs when the media metadata is + received. - +

    - void onMetaData(Constants.MediaPlayerMetadataType type, byte[] data); + void onMetaData(Constants.MediaPlayerMetadataType type, byte[] data); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveData:(NSString *_Nullable)data length:(NSInteger)length; - virtual void onMetaData(const void* data, int length) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMetaDataSource, int64, data, int, length); - onMetaData?(data: Uint8Array, length: number): void; - public virtual void OnMetaData(byte[] data, int length) { } - onMetaData?(data: Uint8Array, length: number): void; - final void Function(Uint8List data, int length)? onMetaData; -

    + virtual void onMetaData(const void* data, int length) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnMetaDataSource, int64, data, int, length); + onMetaData?(data: Uint8Array, length: number): void; + public virtual void OnMetaData(byte[] data, int length) { } + onMetaData?(data: Uint8Array, length: number): void; + final void Function(Uint8List data, int length)? onMetaData; +

    -

    The callback occurs when the player receives the media metadata and reports the detailed information of the media metadata.

    +

    The callback occurs when the player receives the media metadata and reports the + detailed information of the media metadata.

    Parameters - - - - - - type - The type of media metadata. See . - - - data - The detailed data of the media metadata. - - - length - The data length (bytes). - -
    + + + + + + type + The type of media metadata. See . + + + data + The detailed data of the media metadata. + + + length + The data length (bytes). + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita index aa96af51dbc..8f9eb930b9e 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplaybufferupdated.dita @@ -1,8 +1,11 @@ - <ph keyref="onPlayBufferUpdated"/> - Reports the playback duration that the buffered data can support. + + <ph keyref="onPlayBufferUpdated"/> + + Reports the playback duration that the buffered data + can support. @@ -13,36 +16,43 @@

    - void onPlayBufferUpdated(long playCachedBuffer); + void onPlayBufferUpdated(long playCachedBuffer); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didPlayBufferUpdated:(NSInteger)playCachedBuffer NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didPlayBufferUpdated:)); - virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0; + virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayBufferUpdated, int64, playCachedBuffer); - onPlayBufferUpdated?(playCachedBuffer: number): void; - public virtual void OnPlayBufferUpdated(Int64 playCachedBuffer) { } - onPlayBufferUpdated?(playCachedBuffer: number): void; - final void Function(int playCachedBuffer)? onPlayBufferUpdated; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayBufferUpdated, int64, playCachedBuffer); + onPlayBufferUpdated?(playCachedBuffer: number): void; + public virtual void OnPlayBufferUpdated(Int64 playCachedBuffer) { } + onPlayBufferUpdated?(playCachedBuffer: number): void; + final void Function(int playCachedBuffer)? onPlayBufferUpdated; +

    -

    When playing online media resources, the SDK triggers this callback every two seconds to report the playback duration that the currently buffered data can support.

      -
    • When the playback duration supported by the buffered data is less than the threshold (0 by default), the SDK returns .
    • -
    • When the playback duration supported by the buffered data is greater than the threshold (0 by default), the SDK returns .
    • -

    +

    When playing online media resources, the SDK triggers this callback every two seconds + to report the playback duration that the currently buffered data can support.

      +
    • When the playback duration supported by the buffered data is less than the + threshold (0 by default), the SDK returns .
    • +
    • When the playback duration supported by the buffered data is greater than + the threshold (0 by default), the SDK returns .
    • +
    +

    Parameters - - - - - - playCachedBuffer - The playback duration (ms) that the buffered data can support. - -
    + + + + + + playCachedBuffer + The playback duration (ms) that the buffered data can support. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita index 01636abfe41..894638424b4 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayercachestats.dita @@ -2,7 +2,8 @@ <ph keyref="onPlayerCacheStats"/> - Reports the statistics of the media file being cached. + Reports the statistics of the media file being + cached. @@ -13,41 +14,47 @@

    - void onPlayerCacheStats(CacheStatistics stats); - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit cacheStats:(AgoraMediaPlayerCacheStatistics *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:cacheStats:)); - virtual void onPlayerCacheStats(const media::base::CacheStatistics& stats) { + void onPlayerCacheStats(CacheStatistics stats); + (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit cacheStats:(AgoraMediaPlayerCacheStatistics *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:cacheStats:)); + virtual void onPlayerCacheStats(const media::base::CacheStatistics& stats) { (void)stats; } - - onPlayerCacheStats?(stats: CacheStatistics): void; - public virtual void OnPlayerCacheStats(CacheStatistics stats) + + onPlayerCacheStats?(stats: CacheStatistics): void; + public virtual void OnPlayerCacheStats(CacheStatistics stats) { } - onPlayerCacheStats?(stats: CacheStatistics): void; - final void Function(CacheStatistics stats)? onPlayerCacheStats;

    + onPlayerCacheStats?(stats: CacheStatistics): void; + final void Function(CacheStatistics stats)? onPlayerCacheStats; +

    Details
    - -
    Since
    -
    v4.3.0
    -
    + +
    Since
    +
    v4.3.0
    +
    -

    After you call the method and set enableCache as , the SDK triggers this callback once per second to report the statistics of the media file being cached.

    +

    After you call the method and set + enableCache as , the + SDK triggers this callback once per second to report the statistics of the media + file being cached.

    Parameters - - stats - info - The statistics of the media file being cached. See . - - - - - -
    -
    + + stats + info + The statistics of the media file being cached. See . + + + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita index ad96ec36812..5c7dfd1bc98 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerevent.dita @@ -1,68 +1,72 @@ - <ph keyref="onPlayerEvent" /> + <ph keyref="onPlayerEvent"/> Reports the player events. - +

    - void onPlayerEvent(Constants.MediaPlayerEvent eventCode, long elapsedTime, String message); + void onPlayerEvent(Constants.MediaPlayerEvent eventCode, long elapsedTime, String message); - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didOccurEvent:(AgoraMediaPlayerEvent)eventCode elapsedTime:(NSInteger)elapsedTime message:(NSString *_Nullable)message; - virtual void onPlayerEvent(media::base::MEDIA_PLAYER_EVENT eventCode, int64_t elapsedTime, const char* message) = 0; + virtual void onPlayerEvent(media::base::MEDIA_PLAYER_EVENT eventCode, int64_t elapsedTime, const char* message) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlayerEvent, EMEDIA_PLAYER_EVENT, eventCode, int64, elapsedTime, const FString, message); - onPlayerEvent?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnPlayerEvent, EMEDIA_PLAYER_EVENT, eventCode, int64, elapsedTime, const FString, message); + onPlayerEvent?( eventCode: MediaPlayerEvent, elapsedTime: number, message: string ): void; - public virtual void OnPlayerEvent(MEDIA_PLAYER_EVENT eventCode, Int64 elapsedTime, string message) { } - onPlayerEvent?( + public virtual void OnPlayerEvent(MEDIA_PLAYER_EVENT eventCode, Int64 elapsedTime, string message) { } + onPlayerEvent?( eventCode: MediaPlayerEvent, elapsedTime: number, message: string ): void; - final void Function( + final void Function( MediaPlayerEvent eventCode, int elapsedTime, String message)? onPlayerEvent; -

    +

      -
    • After calling the method, the SDK triggers the callback to report the results of the seek operation.
    • -
    • After calling the method, the SDK triggers the callback to report that the audio track changes.
    • -
    +
  • After calling the method, the SDK triggers the callback to + report the results of the seek operation.
  • +
  • After calling the method, the SDK + triggers the callback to report that the audio track changes.
  • + +
    Parameters - - playerKit - See . - - - eventCode - The player events. See . - - - elapsedTime - The time (ms) when the event occurs. - - - message - Information about the event. - -
    + + playerKit + See . + + + eventCode + The player events. See . + + + elapsedTime + The time (ms) when the event occurs. + + + message + Information about the event. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita index b62988d9e3a..372838e866a 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerinfoupdated.dita @@ -1,45 +1,49 @@ - <ph keyref="onPlayerInfoUpdated" /> - Occurs when information related to the media player changes. + <ph keyref="onPlayerInfoUpdated"/> + Occurs when information related to the media player + changes. - +

    - void onPlayerInfoUpdated(PlayerUpdatedInfo info); + void onPlayerInfoUpdated(PlayerUpdatedInfo info); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit infoUpdated:(AgoraMediaPlayerUpdatedInfo *_Nonnull)info; + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit infoUpdated:(AgoraMediaPlayerUpdatedInfo *_Nonnull)info; - virtual void onPlayerInfoUpdated(const media::base::PlayerUpdatedInfo& info) = 0; + virtual void onPlayerInfoUpdated(const media::base::PlayerUpdatedInfo& info) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayerInfoUpdated, const FPlayerUpdatedInfo&, info); - onPlayerInfoUpdated?(info: PlayerUpdatedInfo): void; - public virtual void OnPlayerInfoUpdated(PlayerUpdatedInfo info) { } - onPlayerInfoUpdated?(info: PlayerUpdatedInfo): void; - final void Function(PlayerUpdatedInfo info)? onPlayerInfoUpdated; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPlayerInfoUpdated, const FPlayerUpdatedInfo&, info); + onPlayerInfoUpdated?(info: PlayerUpdatedInfo): void; + public virtual void OnPlayerInfoUpdated(PlayerUpdatedInfo info) { } + onPlayerInfoUpdated?(info: PlayerUpdatedInfo): void; + final void Function(PlayerUpdatedInfo info)? onPlayerInfoUpdated; +

    -

    When the information about the media player changes, the SDK triggers this callback. You can use this callback for troubleshooting.

    +

    When the information about the media player changes, the SDK triggers this callback. + You can use this callback for troubleshooting.

    Parameters - - - - - - info - Information related to the media player. See . - -
    + + + + + + info + Information related to the media player. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita index dbda8fa14c0..f1c21c1275b 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayerplaybackstats.dita @@ -2,7 +2,8 @@ <ph keyref="onPlayerPlaybackStats"/> - The statistics of the media file being played. + The statistics of the media file being + played. @@ -13,41 +14,45 @@

    - void onPlayerPlaybackStats(PlayerPlaybackStats stats); - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playbackStats:(AgoraMediaPlayerPlaybackStats *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:playbackStats:)); - virtual void onPlayerPlaybackStats(const media::base::PlayerPlaybackStats& stats) { + void onPlayerPlaybackStats(PlayerPlaybackStats stats); + (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playbackStats:(AgoraMediaPlayerPlaybackStats *_Nonnull)info NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:playbackStats:)); + virtual void onPlayerPlaybackStats(const media::base::PlayerPlaybackStats& stats) { (void)stats; } - - onPlayerPlaybackStats?(stats: PlayerPlaybackStats): void; - public virtual void OnPlayerPlaybackStats(PlayerPlaybackStats stats) + + onPlayerPlaybackStats?(stats: PlayerPlaybackStats): void; + public virtual void OnPlayerPlaybackStats(PlayerPlaybackStats stats) { } - onPlayerPlaybackStats?(stats: PlayerPlaybackStats): void; - final void Function(PlayerPlaybackStats stats)? onPlayerPlaybackStats;

    + onPlayerPlaybackStats?(stats: PlayerPlaybackStats): void; + final void Function(PlayerPlaybackStats stats)? onPlayerPlaybackStats; +

    Details
    - -
    Since
    -
    v4.3.0
    -
    + +
    Since
    +
    v4.3.0
    +
    -

    The SDK triggers this callback once per second to report the statistics of the media file being played.

    +

    The SDK triggers this callback once per second to report the statistics of the media + file being played.

    Parameters - - stats - info - The statistics of the media file. See . - - - playerKit - The instance. - -
    -
    + + stats + info + The statistics of the media file. See . + + + playerKit + The instance. + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita index 0eeb0cccd39..fd84370820b 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersourcestatechanged.dita @@ -1,57 +1,60 @@ - <ph keyref="onPlayerSourceStateChanged" /> + <ph keyref="onPlayerSourceStateChanged"/> Reports the changes of playback state. - +

    - void onPlayerStateChanged(Constants.MediaPlayerState state, Constants.MediaPlayerReason reason); + void onPlayerStateChanged(Constants.MediaPlayerState state, Constants.MediaPlayerReason reason); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didChangedToState:(AgoraMediaPlayerState)state reason:(AgoraMediaPlayerReason)reason NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didChangedTo:reason:)); - virtual void onPlayerSourceStateChanged(media::base::MEDIA_PLAYER_STATE state, + virtual void onPlayerSourceStateChanged(media::base::MEDIA_PLAYER_STATE state, media::base::MEDIA_PLAYER_REASON reason) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlayerSourceStateChanged, EMEDIA_PLAYER_STATE, state, FENUMWRAP_MEDIA_PLAYER_ERROR, ec); - onPlayerSourceStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlayerSourceStateChanged, EMEDIA_PLAYER_STATE, state, FENUMWRAP_MEDIA_PLAYER_ERROR, ec); + onPlayerSourceStateChanged?( state: MediaPlayerState, reason: MediaPlayerReason ): void; - public virtual void OnPlayerSourceStateChanged(MEDIA_PLAYER_STATE state, MEDIA_PLAYER_REASON reason) - onPlayerSourceStateChanged?( + public virtual void OnPlayerSourceStateChanged(MEDIA_PLAYER_STATE state, MEDIA_PLAYER_REASON reason) + onPlayerSourceStateChanged?( state: MediaPlayerState, reason: MediaPlayerReason ): void; - final void Function(MediaPlayerState state, MediaPlayerReason reason)? + final void Function(MediaPlayerState state, MediaPlayerReason reason)? onPlayerSourceStateChanged; -

    +

    -

    When the state of the media player changes, the SDK triggers this callback to report the current playback state.

    +

    When the state of the media player changes, the SDK triggers this callback to report + the current playback state.

    Parameters - - - - - - state - The playback state. See . - - - reason - The reason for the changes in the media player status. See . - -
    + + + + + + state + The playback state. See . + + + reason + The reason for the changes in the media player status. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita index 36961daa5d1..b562b8ec28b 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onplayersrcinfochanged.dita @@ -1,46 +1,50 @@ - <ph keyref="onPlayerSrcInfoChanged" /> - Occurs when the video bitrate of the media resource changes. + <ph keyref="onPlayerSrcInfoChanged"/> + Occurs when the video bitrate of the media resource + changes. - +

    - void onPlayerSrcInfoChanged(SrcInfo from, SrcInfo to); + void onPlayerSrcInfoChanged(SrcInfo from, SrcInfo to); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playerSrcInfoDidChange:(AgoraMediaPlayerSrcInfo *_Nonnull)to from:(AgoraMediaPlayerSrcInfo *_Nonnull)from; + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit playerSrcInfoDidChange:(AgoraMediaPlayerSrcInfo *_Nonnull)to from:(AgoraMediaPlayerSrcInfo *_Nonnull)from; - virtual void onPlayerSrcInfoChanged(const media::base::SrcInfo& from, const media::base::SrcInfo& to) = 0; + virtual void onPlayerSrcInfoChanged(const media::base::SrcInfo& from, const media::base::SrcInfo& to) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlayerSrcInfoChanged, const FSrcInfo&, from, const FSrcInfo&, to); - onPlayerSrcInfoChanged?(from: SrcInfo, to: SrcInfo): void; - public virtual void OnPlayerSrcInfoChanged(SrcInfo from, SrcInfo to) {} - onPlayerSrcInfoChanged?(from: SrcInfo, to: SrcInfo): void; - final void Function(SrcInfo from, SrcInfo to)? onPlayerSrcInfoChanged; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPlayerSrcInfoChanged, const FSrcInfo&, from, const FSrcInfo&, to); + onPlayerSrcInfoChanged?(from: SrcInfo, to: SrcInfo): void; + public virtual void OnPlayerSrcInfoChanged(SrcInfo from, SrcInfo to) {} + onPlayerSrcInfoChanged?(from: SrcInfo, to: SrcInfo): void; + final void Function(SrcInfo from, SrcInfo to)? onPlayerSrcInfoChanged; +

    Parameters - - - - - - from - Information about the video bitrate of the media resource being played. See . - - - to - Information about the changed video bitrate of media resource being played. See . - -
    + + + + + + from + Information about the video bitrate of the media resource being played. See + . + + + to + Information about the changed video bitrate of media resource being played. + See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita index 326cff44ded..88864f9b116 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpositionchanged.dita @@ -1,49 +1,52 @@ - <ph keyref="onPositionChanged" /> - Reports the playback progress of the media file. + <ph keyref="onPositionChanged"/> + Reports the playback progress of the media + file. - +

    - void onPositionChanged(long positionMs, long timestampMs); - - (void)AgoraMediaPlayer:(AgoraMediaPlayer *_Nonnull)playerKit + void onPositionChanged(long positionMs, long timestampMs); + - (void)AgoraMediaPlayer:(AgoraMediaPlayer *_Nonnull)playerKit didChangedToPosition:(NSInteger)positionMs atTimestamp:(NSTimeInterval)timestampMs NS_SWIFT_NAME(AgoraMediaPlayer(_:didChangedToPosition:atTimestamp:)); - virtual void onPositionChanged(int64_t positionMs, int64_t timestampMs) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPositionChanged, int64, position_ms); - onPositionChanged?(positionMs: number): void; - public virtual void OnPositionChanged(Int64 position_ms) { } - onPositionChanged?(positionMs: number): void; - final void Function(int position)? onPositionChanged; -

    + virtual void onPositionChanged(int64_t positionMs, int64_t timestampMs) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPositionChanged, int64, position_ms); + onPositionChanged?(positionMs: number): void; + public virtual void OnPositionChanged(Int64 position_ms) { } + onPositionChanged?(positionMs: number): void; + final void Function(int position)? onPositionChanged; +

    -

    When playing media files, the SDK triggers this callback every two second to report current playback progress.

    +

    When playing media files, the SDK triggers this callback every two second to report + current playback progress.

    Parameters - - - - - - positionMs - position_ms - The playback position (ms) of media files. - - - timeStampMs - The NTP timestamp (ms) of the current playback progress. - -
    + + + + + + positionMs + position_ms + The playback position (ms) of media files. + + + timeStampMs + The NTP timestamp (ms) of the current playback progress. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita index f51d9b5889d..8f04bd74ddf 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayersourceobserver_onpreloadevent.dita @@ -1,48 +1,51 @@ - <ph keyref="onPreloadEvent" /> - Reports the events of preloaded media resources. + <ph keyref="onPreloadEvent"/> + Reports the events of preloaded media + resources. - +

    - void onPreloadEvent(String src, Constants.MediaPlayerPreloadEvent event); + void onPreloadEvent(String src, Constants.MediaPlayerPreloadEvent event); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didPreloadEvent:(AgoraMediaPlayerPreloadEvent)event; - virtual void onPreloadEvent(const char* src, media::base::PLAYER_PRELOAD_EVENT event) = 0; + virtual void onPreloadEvent(const char* src, media::base::PLAYER_PRELOAD_EVENT event) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPreloadEvent, const FString, src, EPLAYER_PRELOAD_EVENT, event); - onPreloadEvent?(src: string, event: PlayerPreloadEvent): void; - public virtual void OnPreloadEvent(string src, PLAYER_PRELOAD_EVENT @event) { } - onPreloadEvent?(src: string, event: PlayerPreloadEvent): void; - final void Function(String src, PlayerPreloadEvent event)? onPreloadEvent; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPreloadEvent, const FString, src, EPLAYER_PRELOAD_EVENT, event); + onPreloadEvent?(src: string, event: PlayerPreloadEvent): void; + public virtual void OnPreloadEvent(string src, PLAYER_PRELOAD_EVENT @event) { } + onPreloadEvent?(src: string, event: PlayerPreloadEvent): void; + final void Function(String src, PlayerPreloadEvent event)? onPreloadEvent; +

    Parameters - - - - - + + + + + src The URL of the media resource. - - event - @event - Events that occur when media resources are preloaded. See . - -
    + + event + @event + Events that occur when media resources are preloaded. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediaplayervideoframeobserver_onframe.dita b/en-US/dita/RTC-NG/API/callback_imediaplayervideoframeobserver_onframe.dita index 586ac4cda61..525c9a36bc1 100644 --- a/en-US/dita/RTC-NG/API/callback_imediaplayervideoframeobserver_onframe.dita +++ b/en-US/dita/RTC-NG/API/callback_imediaplayervideoframeobserver_onframe.dita @@ -2,7 +2,8 @@ <ph keyref="onFrame_IMediaPlayerVideoFrameObserver"/> - Occurs each time the player receives a video frame. + Occurs each time the player receives a video + frame. @@ -13,25 +14,27 @@

    - - - - onFrame?(frame: VideoFrame): void; - - onFrame?(frame: VideoFrame): void; - final void Function(VideoFrame frame)? onFrame; -

    + + + + onFrame?(frame: VideoFrame): void; + + onFrame?(frame: VideoFrame): void; + final void Function(VideoFrame frame)? onFrame; +

    -

    After registering the video frame observer, the callback occurs every time the player receives a video frame, reporting the detailed information of the video frame.

    +

    After registering the video frame observer, the callback occurs every time the player + receives a video frame, reporting the detailed information of the video frame.

    Parameters - - frame - Video frame information. See . - -
    + + frame + Video frame information. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderinfoupdated.dita b/en-US/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderinfoupdated.dita index 414a46b5e70..033546d636c 100644 --- a/en-US/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderinfoupdated.dita +++ b/en-US/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderinfoupdated.dita @@ -1,59 +1,66 @@ - <ph keyref="onRecorderInfoUpdated" /> - Occurs when the recording information is updated. + <ph keyref="onRecorderInfoUpdated"/> + Occurs when the recording information is + updated. - +

    - void onRecorderInfoUpdated(String channelId, int uid, RecorderInfo info); - - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder informationDidUpdated:(NSString * _Nonnull)channelId uid:(NSUInteger)uid info:(AgoraMediaRecorderInfo* _Nonnull)info; - virtual void onRecorderInfoUpdated(const char* channelId, rtc::uid_t uid, const RecorderInfo& info) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRecorderInfoUpdated, FString, channelId, int64, uid, const FRecorderInfo&, info); - onRecorderInfoUpdated?( + void onRecorderInfoUpdated(String channelId, int uid, RecorderInfo info); + - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder informationDidUpdated:(NSString * _Nonnull)channelId uid:(NSUInteger)uid info:(AgoraMediaRecorderInfo* _Nonnull)info; + virtual void onRecorderInfoUpdated(const char* channelId, rtc::uid_t uid, const RecorderInfo& info) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRecorderInfoUpdated, FString, channelId, int64, uid, const FRecorderInfo&, info); + onRecorderInfoUpdated?( channelId: string, uid: number, info: RecorderInfo ): void; - public virtual void OnRecorderInfoUpdated(string channelId, uint uid, RecorderInfo info) {} - onRecorderInfoUpdated?( + public virtual void OnRecorderInfoUpdated(string channelId, uint uid, RecorderInfo info) {} + onRecorderInfoUpdated?( channelId: string, uid: number, info: RecorderInfo ): void; - final void Function(String channelId, int uid, RecorderInfo info)? + final void Function(String channelId, int uid, RecorderInfo info)? onRecorderInfoUpdated; -

    +

    -

    After you successfully enable the audio and video recording, the SDK periodically triggers this callback based on the value of recorderInfoUpdateInterval set in . This callback reports the file name, duration, and size of the current recording file.

    +

    After you successfully enable the audio and video recording, the SDK periodically + triggers this callback based on the value of + recorderInfoUpdateInterval set in . This callback reports the file name, + duration, and size of the current recording file.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - + + + + - - + + - info - The information about the file that is recorded. See . - + info + The information about the file that is recorded. See . + recorder - One object. + One object. -
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderstatechanged.dita b/en-US/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderstatechanged.dita index 681d0011398..42f94d4cd7f 100644 --- a/en-US/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_imediarecorderobserver_onrecorderstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onRecorderStateChanged"/> - Occurs when the recording state changes. + Occurs when the recording state + changes. @@ -13,65 +14,79 @@

    - void onRecorderStateChanged(String channelId, int uid, int state, int reason); - - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder stateDidChanged:(NSString * _Nonnull)channelId uid:(NSUInteger)uid state:(AgoraMediaRecorderState)state reason:(AgoraMediaRecorderReasonCode)reason; - virtual void onRecorderStateChanged(const char* channelId, rtc::uid_t uid, RecorderState state, RecorderReasonCode reason) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRecorderStateChanged, FString, channelId, int64, uid, FENUMWRAP_RecorderState, state, ERecorderErrorCode, error); - onRecorderStateChanged?( + void onRecorderStateChanged(String channelId, int uid, int state, int reason); + - (void)mediaRecorder:(AgoraMediaRecorder* _Nonnull)recorder stateDidChanged:(NSString * _Nonnull)channelId uid:(NSUInteger)uid state:(AgoraMediaRecorderState)state reason:(AgoraMediaRecorderReasonCode)reason; + virtual void onRecorderStateChanged(const char* channelId, rtc::uid_t uid, RecorderState state, RecorderReasonCode reason) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRecorderStateChanged, FString, channelId, int64, uid, FENUMWRAP_RecorderState, state, ERecorderErrorCode, error); + onRecorderStateChanged?( channelId: string, uid: number, state: RecorderState, reason: RecorderReasonCode ): void; - public virtual void OnRecorderStateChanged(string channelId, uint uid, RecorderState state, RecorderReasonCode reason) - onRecorderStateChanged?( + public virtual void OnRecorderStateChanged(string channelId, uint uid, RecorderState state, RecorderReasonCode reason) + onRecorderStateChanged?( channelId: string, uid: number, state: RecorderState, reason: RecorderReasonCode ): void; - final void Function(String channelId, int uid, RecorderState state, + final void Function(String channelId, int uid, RecorderState state, RecorderReasonCode reason)? onRecorderStateChanged; -

    +

    -

    When the recording state changes, the SDK triggers this callback to report the current recording state and the reason for the change.

    +

    When the recording state changes, the SDK triggers this callback to report the + current recording state and the reason for the change.

    <ph keyref="callback-section-title"/> - - recorder - One object. - - - channelId - The channel name. - - - uid - The user ID. - - - state - The current recording state. See . - The current recording state:
      -
    • (-1): An error occurs during the recording.
    • -
    • (2): The audio and video recording starts.
    • -
    • (3): The audio and video recording stops.
    • -
    -
    - - error - The reason for the state change. See . - The reason for the state change.
      -
    • (0): No error.
    • -
    • (1): The SDK fails to write the recorded data to a file.
    • -
    • (2): The SDK does not detect any audio and video streams, or audio and video streams are interrupted for more than five seconds during recording.
    • -
    • (3): The recording duration exceeds the upper limit.
    • -
    • (4): The configurations of recording change.
    • -
    -
    -
    + + recorder + One object. + + + channelId + The channel name. + + + uid + The user ID. + + + state + The current + recording state. See . + The current recording state:
      +
    • (-1): An error occurs during the + recording.
    • +
    • (2): The audio and video + recording starts.
    • +
    • (3): The audio and video recording + stops.
    • +
    +
    +
    + + error + The reason for the + state change. See . + The reason for the state change.
      +
    • (0): No error.
    • +
    • (1): The SDK fails to + write the recorded data to a file.
    • +
    • (2): The SDK does not detect + any audio and video streams, or audio and video streams are + interrupted for more than five seconds during recording.
    • +
    • (3): The recording + duration exceeds the upper limit.
    • +
    • (4): The configurations + of recording change.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imetadataobserver_getmaxmetadatasize.dita b/en-US/dita/RTC-NG/API/callback_imetadataobserver_getmaxmetadatasize.dita index 1138aa6ce89..39ebff5332e 100644 --- a/en-US/dita/RTC-NG/API/callback_imetadataobserver_getmaxmetadatasize.dita +++ b/en-US/dita/RTC-NG/API/callback_imetadataobserver_getmaxmetadatasize.dita @@ -1,36 +1,42 @@ - <ph keyref="getMaxMetadataSize" /> - Occurs when the SDK requests the maximum size of the metadata. + <ph keyref="getMaxMetadataSize"/> + Occurs when the SDK requests the maximum size of the + metadata. - +

    - public abstract int getMaxMetadataSize(); - - (NSInteger)metadataMaxSize; - virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMaxMetadataSize); - - public virtual int GetMaxMetadataSize() + public abstract int getMaxMetadataSize(); + - (NSInteger)metadataMaxSize; + virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; } + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMaxMetadataSize); + + public virtual int GetMaxMetadataSize() { return 0; } - -

    + + +

    -

    After successfully complete the registration by calling , the SDK triggers this callback once every video frame is sent. You need to specify the maximum size of the metadata in the return value of this callback.

    +

    After successfully complete the registration by calling , the SDK triggers this callback once + every video frame is sent. You need to specify the maximum size of the metadata in + the return value of this callback.

    Returns -

    The maximum size of the buffer of the metadata that you want to use. The highest value is 1024 bytes. Ensure that you set the return value.

    +

    The maximum size of the buffer of the metadata that you want to + use. The highest value is 1024 bytes. Ensure that you set the return value.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_imetadataobserver_onmetadatareceived.dita b/en-US/dita/RTC-NG/API/callback_imetadataobserver_onmetadatareceived.dita index c4ef12f0c99..d5e5583e928 100644 --- a/en-US/dita/RTC-NG/API/callback_imetadataobserver_onmetadatareceived.dita +++ b/en-US/dita/RTC-NG/API/callback_imetadataobserver_onmetadatareceived.dita @@ -1,53 +1,55 @@ - <ph keyref="onMetadataReceived" /> - Occurs when the local user receives the metadata. + <ph keyref="onMetadataReceived"/> + Occurs when the local user receives the + metadata. - +

    - public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs); - - (void)receiveMetadata:(NSData * _Nonnull)data + public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs); + - (void)receiveMetadata:(NSData * _Nonnull)data fromUser:(NSInteger)uid atTimestamp:(NSTimeInterval)timestamp; - 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) + 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) { } - onMetadataReceived?(metadata: Metadata): void; - final void Function(Metadata metadata)? onMetadataReceived; -

    + onMetadataReceived?(metadata: Metadata): void; + final void Function(Metadata metadata)? onMetadataReceived; +

    Parameters - - buffer - data - The data received. - - - uid - The user ID. - - - timeStampMs - timestamp - The timestamp. - - - metadata - The metadata received. See . - -
    + + buffer + data + The data received. + + + uid + The user ID. + + + timeStampMs + timestamp + The timestamp. + + + metadata + The metadata received. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita b/en-US/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita index 9e7540001ac..2e9058990b0 100644 --- a/en-US/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita +++ b/en-US/dita/RTC-NG/API/callback_imetadataobserver_onreadytosendmetadata.dita @@ -2,7 +2,8 @@ <ph keyref="onReadyToSendMetadata"/> - Occurs when the SDK is ready to send metadata. + Occurs when the SDK is ready to send + metadata. @@ -13,55 +14,65 @@

    - public abstract byte[] onReadyToSendMetadata(long timeStampMs, int sourceType); - - (NSData * _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp + public abstract byte[] onReadyToSendMetadata(long timeStampMs, int sourceType); + - (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) + 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; } - - -

    + + +

    This callback is triggered when the SDK is ready to send metadata.

    -

    After receiving this callback, you can call to send the media metadata.

    - Ensure that the size of the metadata does not exceed the value set in the callback.
    +

    After receiving this callback, you can call to send the media metadata.

    + Ensure that the size of the + metadata does not exceed the value set in the + callback. +
    Parameters - - timeStampMs - timestamp - The timestamp. - - - sourceType - source_type - Video data type. See . - - - metadata - The metadata that the user wants to send. See . - -
    + + timeStampMs + timestamp + The timestamp. + + + sourceType + source_type + Video data type. See . + + + metadata + The metadata that the user wants to send. See . + + +
    Returns
      -
    • : Send the video frame.
    • -
    • : Do not send the video frame.
    • +
    • : Send the video frame.
    • +
    • : Do not send the video frame.
    -

    The metadata that you want to send in the format of NSData, which includes the following parameters:

      -
    • uid: The ID of the remote user who sends the metadata.
    • -
    • size: The size of the metadata.
    • -
    • buffer: The metadata data.
    • -
    • timeStampMs: The NTP timestamp (ms) when the metadata is sent.
    • -

    -

    The metadata that you want to send in the format of byte. Ensure that you set the return value.

    +

    The metadata that you want to send in the format of NSData, which + includes the following parameters:

      +
    • uid: The ID of the remote user who sends the metadata.
    • +
    • size: The size of the metadata.
    • +
    • buffer: The metadata data.
    • +
    • timeStampMs: The NTP timestamp (ms) when the metadata is + sent.
    • +
    +

    +

    The metadata that you want to send in the format of byte. Ensure that + you set the return value.

    diff --git a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita index 6f9de9d395f..bd6cb8d9406 100644 --- a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita +++ b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onlyricresult.dita @@ -13,54 +13,56 @@

    - void onLyricResult(String requestId, long songCode, String lyricUrl, int reason); - - (void)onLyricResult:(NSString*)requestId songCode:(NSInteger)songCode lyricUrl:(NSString* _Nullable)lyricUrl reason:(AgoraMusicContentCenterStateReason)reason; - virtual void onLyricResult(const char* requestId, int64_t songCode, const char* lyricUrl, MusicContentCenterStateReason reason) = 0; - onLyricResult?( + void onLyricResult(String requestId, long songCode, String lyricUrl, int reason); + - (void)onLyricResult:(NSString*)requestId songCode:(NSInteger)songCode lyricUrl:(NSString* _Nullable)lyricUrl reason:(AgoraMusicContentCenterStateReason)reason; + virtual void onLyricResult(const char* requestId, int64_t songCode, const char* lyricUrl, MusicContentCenterStateReason reason) = 0; + onLyricResult?( requestId: string, songCode: number, lyricUrl: string, reason: MusicContentCenterStateReason ): void; - public abstract void OnLyricResult(string requestId, long songCode, string lyricUrl, MusicContentCenterStateReason reason); - onLyricResult?( + public abstract void OnLyricResult(string requestId, long songCode, string lyricUrl, MusicContentCenterStateReason reason); + onLyricResult?( requestId: string, songCode: number, lyricUrl: string, reason: MusicContentCenterStateReason ): void; - final void Function(String requestId, int songCode, String lyricUrl, + final void Function(String requestId, int songCode, String lyricUrl, MusicContentCenterStateReason reason)? onLyricResult; -

    +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    When you call the method to get the download URL for lyrics, the SDK triggers this callback.

    +

    When you call the method to get the download URL for lyrics, + the SDK triggers this callback.

    Parameters - - - - - - - - + + + + + + + + - lyricUrl - The download URL for lyrics. - - - - - -
    + lyricUrl + The download URL for lyrics. + + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita index db4c4df8406..b556dd88a4c 100644 --- a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita +++ b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusicchartsresult.dita @@ -13,65 +13,78 @@

    - void onMusicChartsResult(String requestId, MusicChartInfo[] list, int reason); - - (void)onMusicChartsResult:(NSString *)requestId result:(NSArray<AgoraMusicChartInfo*> *)result reason:(AgoraMusicContentCenterStateReason)reason; - virtual void onMusicChartsResult(const char* requestId, agora_refptr<MusicChartCollection> result, MusicContentCenterStateReason reason) = 0; - onMusicChartsResult?( + void onMusicChartsResult(String requestId, MusicChartInfo[] list, int reason); + - (void)onMusicChartsResult:(NSString *)requestId result:(NSArray<AgoraMusicChartInfo*> *)result reason:(AgoraMusicContentCenterStateReason)reason; + virtual void onMusicChartsResult(const char* requestId, agora_refptr<MusicChartCollection> result, MusicContentCenterStateReason reason) = 0; + onMusicChartsResult?( requestId: string, result: MusicChartInfo[], reason: MusicContentCenterStateReason ): void; - public abstract void OnMusicChartsResult(string requestId, MusicChartInfo[] result, MusicContentCenterStateReason reason); - onMusicChartsResult?( + public abstract void OnMusicChartsResult(string requestId, MusicChartInfo[] result, MusicContentCenterStateReason reason); + onMusicChartsResult?( requestId: string, result: MusicChartInfo[], reason: MusicContentCenterStateReason ): void; - final void Function(String requestId, List<MusicChartInfo> result, + final void Function(String requestId, List<MusicChartInfo> result, MusicContentCenterStateReason reason)? onMusicChartsResult; -

    +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +

    当你调用 方法获取全部音乐榜单之后,SDK 会触发该回调。

    Parameters - - requestId - The request ID. 本次请求的唯一标识。 - - - reason - -

    音乐内容中心的请求状态码,详见

    -

    The status codes of requests to music content center.

      -
    • (0):请求成功。
    • -
    • (1):一般错误,无明确归因。
    • -
    • (2):网关异常。 Possible reasons include the following:
        -
      • 当前使用的 Token 已过期。 请重新生成 Token。
      • -
      • The token is invalid. 请确保你使用的是 RTM Token。
      • -
      • Network error. 请检查你的网络。
      • -
    • -
    • (3):权限错误或音乐资源不存在。 请确保你的项目已开通声网音乐内容中心权限,请
    • -
    • (4):内部数据解析错误。 请
    • -
    • (5):音乐资源加载时出错。 请
    • -
    • (6):音乐资源解密时出错。 请
    • -
    • (7):HTTP 内部出现错误。 请稍后重新请求。
    • -

    -
    -
    - - list - result - 当前可播放的音乐榜单列表。 See . - -
    + + requestId + The request ID. 本次请求的唯一标识。 + + + reason + +

    音乐内容中心的请求状态码,详见

    +

    The status codes of requests to music content center.

      +
    • (0):请求成功。
    • +
    • (1):一般错误,无明确归因。
    • +
    • (2):网关异常。 + Possible reasons include the following:
        +
      • 当前使用的 Token 已过期。 请重新生成 Token。
      • +
      • The token is invalid. 请确保你使用的是 RTM Token。
      • +
      • Network error. 请检查你的网络。
      • +
    • +
    • (3):权限错误或音乐资源不存在。 请确保你的项目已开通声网音乐内容中心权限,请
    • +
    • (4):内部数据解析错误。 请
    • +
    • (5):音乐资源加载时出错。 请
    • +
    • (6):音乐资源解密时出错。 请
    • +
    • (7):HTTP 内部出现错误。 请稍后重新请求。
    • +
    +

    +
    +
    + + list + result + 当前可播放的音乐榜单列表。 + See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita index 06157451223..88ca9a00e8b 100644 --- a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita +++ b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onmusiccollectionresult.dita @@ -2,7 +2,8 @@ <ph keyref="onMusicCollectionResult"/> - Reports the details of music collection. + Reports the details of music + collection. @@ -13,62 +14,66 @@

    - void onMusicCollectionResult( + void onMusicCollectionResult( String requestId, int page, int pageSize, int total, Music[] list, int reason); - - (void)onMusicCollectionResult:(NSString *)requestId result:(AgoraMusicCollection *)result reason:(AgoraMusicContentCenterStateReason)reason; - virtual void onMusicCollectionResult(const char* requestId, agora_refptr<MusicCollection> result, MusicContentCenterStateReason reason) = 0; - onMusicCollectionResult?( + - (void)onMusicCollectionResult:(NSString *)requestId result:(AgoraMusicCollection *)result reason:(AgoraMusicContentCenterStateReason)reason; + virtual void onMusicCollectionResult(const char* requestId, agora_refptr<MusicCollection> result, MusicContentCenterStateReason reason) = 0; + onMusicCollectionResult?( requestId: string, result: MusicCollection, reason: MusicContentCenterStateReason ): void; - public abstract void OnMusicCollectionResult(string requestId, MusicCollection result, MusicContentCenterStateReason reason); - onMusicCollectionResult?( + public abstract void OnMusicCollectionResult(string requestId, MusicCollection result, MusicContentCenterStateReason reason); + onMusicCollectionResult?( requestId: string, result: MusicCollection, reason: MusicContentCenterStateReason ): void; - final void Function(String requestId, MusicCollection result, + final void Function(String requestId, MusicCollection result, MusicContentCenterStateReason reason)? onMusicCollectionResult; -

    +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    当你调 方法来获取指定榜单的音乐资源列表或调用 来搜索音乐资源时,SDK 会触发此回调报告榜单中音乐资源列表的详细信息。

    +

    当你调 方法来获取指定榜单的音乐资源列表或调用 来搜索音乐资源时,SDK 会触发此回调报告榜单中音乐资源列表的详细信息。

    Parameters - - - - - - - - - - page - 当前页面编号,默认从 1 开始。 - - - pageSize - The number of music displayed on each page. The maximum value is 50. - - - total - The total number of music assets in the collection. - - - list - result - The details of musci assets in the collection. See . - -
    + + + + + + + + + + page + 当前页面编号,默认从 1 开始。 + + + pageSize + The number of music displayed on each page. The maximum value is 50. + + + total + The total number of music assets in the collection. + + + list + result + The details of musci assets in the + collection. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita index 29cb67ffad0..3c9d81d9eba 100644 --- a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita +++ b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onpreloadevent.dita @@ -2,7 +2,8 @@ <ph keyref="onPreLoadEvent_IMusicContentCenterEventHandler"/> - Reports the events of preloading music assets. + Reports the events of preloading music + assets. @@ -13,11 +14,11 @@

    - void onPreLoadEvent( + void onPreLoadEvent( String requestId, long songCode, int percent, String lyricUrl, int state, int reason); - - (void)onPreLoadEvent:(NSString*)requestId songCode:(NSInteger)songCode percent:(NSInteger)percent lyricUrl:(NSString * _Nullable)lyricUrl state:(AgoraMusicContentCenterPreloadState)state reason:(AgoraMusicContentCenterStateReason)reason; - virtual void onPreLoadEvent(const char* requestId, int64_t songCode, int percent, const char* lyricUrl, PreloadState state, MusicContentCenterStateReason reason) = 0; - onPreLoadEvent?( + - (void)onPreLoadEvent:(NSString*)requestId songCode:(NSInteger)songCode percent:(NSInteger)percent lyricUrl:(NSString * _Nullable)lyricUrl state:(AgoraMusicContentCenterPreloadState)state reason:(AgoraMusicContentCenterStateReason)reason; + virtual void onPreLoadEvent(const char* requestId, int64_t songCode, int percent, const char* lyricUrl, PreloadState state, MusicContentCenterStateReason reason) = 0; + onPreLoadEvent?( requestId: string, songCode: number, percent: number, @@ -25,8 +26,8 @@ status: PreloadState, reason: MusicContentCenterStateReason ): void; - public abstract void OnPreLoadEvent(string requestId, long songCode, int percent, string lyricUrl, PreloadState state, MusicContentCenterStateReason reason); - onPreLoadEvent?( + public abstract void OnPreLoadEvent(string requestId, long songCode, int percent, string lyricUrl, PreloadState state, MusicContentCenterStateReason reason); + onPreLoadEvent?( requestId: string, songCode: number, percent: number, @@ -34,58 +35,63 @@ status: PreloadState, reason: MusicContentCenterStateReason ): void; - final void Function( + final void Function( String requestId, int songCode, int percent, String lyricUrl, PreloadState state, MusicContentCenterStateReason reason)? onPreLoadEvent; -

    +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    -

    When you call the method to preload music assets, the SDK will trigger this callback.

    +

    When you call the method to preload music assets, the SDK + will trigger this callback.

    Parameters - - - - + + + + - songCode - The code of the music, which is an unique identifier of the music. - - - percent - The current loading progress of the music asset. The value range is [0, 100]. - - - lyricUrl - The download URL for lyrics. - - - state - -

    The loading status of the current music asset. See .

    -

    The loading statuses of the current music asset contain the following:

      -
    • 0: The preload of music assets is complete.
    • -
    • 1: The preload of music assets fails.
    • -
    • 2: The music assets are preloading.
    • -

    -
    -
    - - - - -
    + songCode + The code of the music, which is an unique identifier of the music. + + + percent + The current loading progress of the music asset. The value range is [0, + 100]. + + + lyricUrl + The download URL for lyrics. + + + state + +

    The loading status of the current music + asset. See .

    +

    The loading statuses of the current music asset contain + the following:

      +
    • 0: The preload of music assets is complete.
    • +
    • 1: The preload of music assets fails.
    • +
    • 2: The music assets are preloading.
    • +

    +
    +
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita index 88c9901105e..837bd98c112 100644 --- a/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita +++ b/en-US/dita/RTC-NG/API/callback_imusiccontentcentereventhandler_onsongsimpleinforesult.dita @@ -13,59 +13,61 @@

    - void onSongSimpleInfoResult(String requestId, long songCode, String simpleInfo, int reason); - - (void)onSongSimpleInfoResult:(NSString*)requestId songCode:(NSInteger)songCode simpleInfo:(NSString* _Nullable)simpleInfo reason:(AgoraMusicContentCenterStateReason)reason; - virtual void onSongSimpleInfoResult(const char* requestId, int64_t songCode, const char* simpleInfo, MusicContentCenterStateReason reason) = 0; - onSongSimpleInfoResult?( + void onSongSimpleInfoResult(String requestId, long songCode, String simpleInfo, int reason); + - (void)onSongSimpleInfoResult:(NSString*)requestId songCode:(NSInteger)songCode simpleInfo:(NSString* _Nullable)simpleInfo reason:(AgoraMusicContentCenterStateReason)reason; + virtual void onSongSimpleInfoResult(const char* requestId, int64_t songCode, const char* simpleInfo, MusicContentCenterStateReason reason) = 0; + onSongSimpleInfoResult?( requestId: string, songCode: number, simpleInfo: string, reason: MusicContentCenterStateReason ): void; - public abstract void OnSongSimpleInfoResult(string requestId, long songCode, string simpleInfo, MusicContentCenterStateReason reason); - onSongSimpleInfoResult?( + public abstract void OnSongSimpleInfoResult(string requestId, long songCode, string simpleInfo, MusicContentCenterStateReason reason); + onSongSimpleInfoResult?( requestId: string, songCode: number, simpleInfo: string, reason: MusicContentCenterStateReason ): void; - final void Function(String requestId, int songCode, String simpleInfo, - MusicContentCenterStateReason reason)? onSongSimpleInfoResult;

    + final void Function(String requestId, int songCode, String simpleInfo, + MusicContentCenterStateReason reason)? onSongSimpleInfoResult; +

    Details
    - -
    Since
    -
    v4.2.2
    -
    + +
    Since
    +
    v4.2.2
    +

    当你调用 获取某一音乐资源的详细信息后,SDK 会触发该回调。

    Parameters - - - - - - songCode - The code of the music, which is an unique identifier of the music. - - - simpleInfo - 音乐资源的相关信息,包含下列内容: -
    • 副歌片段的开始和结束的时间(ms)
    • -
    • 副歌片段的歌词下载地址
    • -
    • 副歌片段时长(ms)
    • -
    • 歌曲名称
    • -
    • 歌手名
    -
    - - - - + + + + + + songCode + The code of the music, which is an unique identifier of the music. + + + simpleInfo + 音乐资源的相关信息,包含下列内容:
      +
    • 副歌片段的开始和结束的时间(ms)
    • +
    • 副歌片段的歌词下载地址
    • +
    • 副歌片段时长(ms)
    • +
    • 歌曲名称
    • +
    • 歌手名
    • +
    +
    + + + +
    -
    + diff --git a/en-US/dita/RTC-NG/API/callback_ipacketobserver_onreceiveaudiopacket.dita b/en-US/dita/RTC-NG/API/callback_ipacketobserver_onreceiveaudiopacket.dita index 62b41292050..ac87a970e06 100644 --- a/en-US/dita/RTC-NG/API/callback_ipacketobserver_onreceiveaudiopacket.dita +++ b/en-US/dita/RTC-NG/API/callback_ipacketobserver_onreceiveaudiopacket.dita @@ -1,40 +1,45 @@ - <ph keyref="onReceiveAudioPacket" /> - Occurs when the local user receives an audio packet. + <ph keyref="onReceiveAudioPacket"/> + Occurs when the local user receives an audio + packet. - +

    - - - virtual bool onReceiveAudioPacket(Packet& packet) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnReceiveAudioPacket, const FPacket&, packet); - - - -

    + + + virtual bool onReceiveAudioPacket(Packet& packet) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnReceiveAudioPacket, const FPacket&, packet); + + + + +

    Parameters - - packet - The received audio packet, see . - -
    + + packet + The received audio packet, see . + + +
    Returns
      -
    • : The audio packet is received successfully.
    • -
    • : The audio packet is discarded.
    • -
    +
  • : The audio packet is received + successfully.
  • +
  • : The audio packet is discarded.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_ipacketobserver_onreceivevideopacket.dita b/en-US/dita/RTC-NG/API/callback_ipacketobserver_onreceivevideopacket.dita index dec7b5645fb..c91a0088898 100644 --- a/en-US/dita/RTC-NG/API/callback_ipacketobserver_onreceivevideopacket.dita +++ b/en-US/dita/RTC-NG/API/callback_ipacketobserver_onreceivevideopacket.dita @@ -1,40 +1,45 @@ - <ph keyref="onReceiveVideoPacket" /> - Occurs when the local user receives a video packet. + <ph keyref="onReceiveVideoPacket"/> + Occurs when the local user receives a video + packet. - +

    - - - virtual bool onReceiveVideoPacket(Packet& packet) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnReceiveVideoPacket, const FPacket&, packet); - - - -

    + + + virtual bool onReceiveVideoPacket(Packet& packet) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnReceiveVideoPacket, const FPacket&, packet); + + + + +

    Parameters - - packet - The received video packet, see . - -
    + + packet + The received video packet, see . + + +
    Returns
      -
    • : The video packet is received successfully.
    • -
    • : The video packet is discarded.
    • -
    +
  • : The video packet is received + successfully.
  • +
  • : The video packet is discarded.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_ipacketobserver_onsendaudiopacket.dita b/en-US/dita/RTC-NG/API/callback_ipacketobserver_onsendaudiopacket.dita index 206adccc7c9..2d5c1eff09c 100644 --- a/en-US/dita/RTC-NG/API/callback_ipacketobserver_onsendaudiopacket.dita +++ b/en-US/dita/RTC-NG/API/callback_ipacketobserver_onsendaudiopacket.dita @@ -1,40 +1,45 @@ - <ph keyref="onSendAudioPacket" /> - Occurs when the local user sends an audio packet. + <ph keyref="onSendAudioPacket"/> + Occurs when the local user sends an audio + packet. - +

    - - - virtual bool onSendAudioPacket(Packet& packet) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSendAudioPacket, const FPacket&, packet); - - - -

    + + + virtual bool onSendAudioPacket(Packet& packet) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSendAudioPacket, const FPacket&, packet); + + + + +

    Parameters - - packet - The sent audio packet, see . - -
    + + packet + The sent audio packet, see . + + +
    Returns
      -
    • : The audio packet is sent successfully.
    • -
    • : The audio packet is discarded.
    • -
    +
  • : The audio packet is sent + successfully.
  • +
  • : The audio packet is discarded.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_ipacketobserver_onsendvideopacket.dita b/en-US/dita/RTC-NG/API/callback_ipacketobserver_onsendvideopacket.dita index 910311e8aaf..69ffbc1b131 100644 --- a/en-US/dita/RTC-NG/API/callback_ipacketobserver_onsendvideopacket.dita +++ b/en-US/dita/RTC-NG/API/callback_ipacketobserver_onsendvideopacket.dita @@ -1,40 +1,45 @@ - <ph keyref="onSendVideoPacket" /> - Occurs when the local user sends a video packet. + <ph keyref="onSendVideoPacket"/> + Occurs when the local user sends a video + packet. - +

    - - - virtual bool onSendVideoPacket(Packet& packet) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSendVideoPacket, const FPacket&, packet); - - - -

    + + + virtual bool onSendVideoPacket(Packet& packet) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnSendVideoPacket, const FPacket&, packet); + + + + +

    Parameters - - packet - The sent video packet, see . - -
    + + packet + The sent video packet, see . + + +
    Returns
      -
    • : The video packet is sent successfully.
    • -
    • : The video packet is discarded.
    • -
    +
  • : The video packet is sent + successfully.
  • +
  • : The video packet is discarded.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita index ec5b044680f..0673d05a5ff 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onactivespeaker.dita @@ -1,53 +1,64 @@ - <ph keyref="onActiveSpeaker" /> - Occurs when the most active remote speaker is detected. + <ph keyref="onActiveSpeaker"/> + Occurs when the most active remote speaker is + detected. - +

    - public void onActiveSpeaker(int uid) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid; - virtual void onActiveSpeaker(uid_t userId) { (void)userId; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnActiveSpeaker, int64, userId); - 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; -

    + public void onActiveSpeaker(int uid) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid; + virtual void onActiveSpeaker(uid_t userId) { (void)userId; } + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnActiveSpeaker, int64, userId); + 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; +

    -

    After a successful call of , the SDK continuously detects which remote user has the loudest volume. During the current period, the remote user whose volume is detected as the loudest for the most times, is the most active user.

    -

    When the number of users is no less than two and an active remote speaker exists, the SDK triggers this callback and reports the uid of the most active remote speaker.

      -
    • If the most active remote speaker is always the same user, the SDK triggers the callback only once.
    • -
    • If the most active remote speaker changes to another user, the SDK triggers this callback again and reports the uid of the new active remote speaker.
    • -

    -

    +

    After a successful call of , the SDK + continuously detects which remote user has the loudest volume. During the current + period, the remote user whose volume is detected as the loudest for the most times, + is the most active user.

    +

    When the number of users is no less than two and an active remote speaker exists, the + SDK triggers this callback and reports the uid of the most + active remote speaker.

      +
    • If the most active remote speaker is always the same user, the SDK triggers + the callback only once.
    • +
    • If the most active remote speaker changes to another user, the SDK triggers + this callback again and reports the uid of the new + active remote speaker.
    • +
    +

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - - - - - userId - uid - speakerUid - The user ID of the most active speaker. - -
    + + + + + + + + + + userId + uid + speakerUid + The user ID of the most active speaker. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onapicallexecuted.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onapicallexecuted.dita index 52864c59c21..384c387ded6 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onapicallexecuted.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onapicallexecuted.dita @@ -2,7 +2,8 @@ <ph keyref="onApiCallExecuted"/> - Occurs when a method is executed by the SDK. + Occurs when a method is executed by the + SDK. @@ -13,54 +14,61 @@

    - public void onApiCallExecuted(int error, String api, String result) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onApiCallExecuted(int error, String api, String result) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didApiCallExecute:(NSInteger)error api:(NSString * _Nonnull)api result:(NSString * _Nonnull)result; - virtual void onApiCallExecuted(int err, + virtual void onApiCallExecuted(int err, const char* api, const char* result) { (void)err; (void)api; (void)result; } - onApiCallExecuted?(err: ErrorCodeType, api: string, result: string): void; - public virtual void OnApiCallExecuted(int err, string api, string result) - onApiCallExecuted?(err: ErrorCodeType, api: string, result: string): void; - final void Function(ErrorCodeType err, String api, String result)? + onApiCallExecuted?(err: ErrorCodeType, api: string, result: string): void; + public virtual void OnApiCallExecuted(int err, string api, string result) + onApiCallExecuted?(err: ErrorCodeType, api: string, result: string): void; + final void Function(ErrorCodeType err, String api, String result)? onApiCallExecuted; -

    +

    - -
    Deprecated:
    -
    Deprecated as of v4.1.0. This method can neither accurately characterize the specific API method nor represent the execution result of the API.
    -
    Agora recommends getting the results of the API implementation through relevant channels and media callbacks. For example, after calling the method to enable the microphone, the status of the microphone is returned in the callback.
    -
    + +
    Deprecated:
    +
    Deprecated as of v4.1.0. This method can neither accurately characterize the + specific API method nor represent the execution result of the API.
    +
    Agora recommends getting the results of the API implementation through + relevant channels and media callbacks. For example, after calling the method to enable the microphone, the status + of the microphone is returned in the callback.
    +
    <ph keyref="callback-section-title"/> - - - - - - err - error - The error code returned by the SDK when the method call fails. If the SDK returns 0, then the method call is successful. - - - api - The method executed by the SDK. - - - result - The result of the method call. - -
    + + + + + + err + error + The error code returned by the SDK when the method call fails. If the SDK + returns 0, then the method call is successful. + + + api + The method executed by the SDK. + + + result + The result of the method call. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onapierror.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onapierror.dita index 009ed141b67..8f26eee19f0 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onapierror.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onapierror.dita @@ -2,7 +2,8 @@ <ph keyref="onApiError"/> - Occurs when an error occurs in Electron. + Occurs when an error occurs in + Electron. @@ -13,29 +14,35 @@

    - - - - - - - -

    + + + + + + + +

    -

    During the SDK runtime, the SDK triggers this callback when an error occurs in Electron.

    - This callback repots only errors in Electron. If you want to receive errors on the native layer, use .
    +

    During the SDK runtime, the SDK triggers this callback when an error occurs + in Electron.

    + This callback repots only errors in + Electron. If you want to receive errors on the native layer, use . +
    Parameters - - apiType - Internal engine. Ignorable. - - - msg - The error message. A typical reason is incorrect parameter setting in the API call, for example invalid value or incorrect number of parameters. - -
    + + apiType + Internal engine. Ignorable. + + + msg + The error message. A typical reason is incorrect parameter setting in the + API call, for example invalid value or incorrect number of parameters. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita index b3106ef2349..02de1d9a67e 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicestatechanged.dita @@ -1,8 +1,11 @@ - <ph keyref="onAudioDeviceStateChanged"/> - Occurs when the audio device state changes. + + <ph keyref="onAudioDeviceStateChanged"/> + + Occurs when the audio device state + changes. @@ -13,49 +16,55 @@

    - - - virtual void onAudioDeviceStateChanged(const char* deviceId, + + + virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) { (void)deviceId; (void)deviceType; (void)deviceState; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnAudioDeviceStateChanged, FString, deviceId, int, deviceType, int, deviceState); - onAudioDeviceStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnAudioDeviceStateChanged, 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?( + 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, + final void Function(String deviceId, MediaDeviceType deviceType, MediaDeviceStateType deviceState)? onAudioDeviceStateChanged; -

    +

    -

    This callback notifies the application that the system's audio device state is changed. For example, a headset is unplugged from the device.

    - This method is for Windows and macOS only.
    +

    This callback notifies the application that the system's audio device state + is changed. For example, a headset is unplugged from the device.

    + This method is for Windows and macOS + only. +
    - <ph keyref="callback-section-title"/> + + <ph keyref="callback-section-title"/> + - - deviceId - The device ID. - - - deviceType - The device type. See . - - - deviceState - The device state. See . - -
    + + deviceId + The device ID. + + + deviceType + The device type. See . + + + deviceState + The device state. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita index 23845460438..bf7c16d536b 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiodevicevolumechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioDeviceVolumeChanged"/> - Reports the volume change of the audio device or app. + Reports the volume change of the audio device or + app. @@ -13,53 +14,58 @@

    - - - virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) { + + + virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) { (void)deviceType; (void)volume; (void)muted; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnAudioDeviceVolumeChanged, FENUMWRAP_MEDIA_DEVICE_TYPE, deviceType, int, volume, bool, muted); - onAudioDeviceVolumeChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnAudioDeviceVolumeChanged, 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?( + 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)? + final void Function(MediaDeviceType deviceType, int volume, bool muted)? onAudioDeviceVolumeChanged; -

    +

    -

    Occurs when the volume on the playback device, audio capture device, or the volume of the app changes.

    - This callback is for Windows and macOS only. +

    Occurs when the volume on the playback device, audio capture device, or the volume of + the app changes.

    + This callback is for Windows and macOS + only.
    <ph keyref="callback-section-title"/> - - deviceType - The device type. See . - - - volume - The volume value. The range is [0, 255]. - - - muted - -

    Whether the audio device is muted:

      -
    • : The audio device is muted.
    • -
    • : The audio device is not muted.
    • -

    -
    -
    -
    + + deviceType + The device type. See . + + + volume + The volume value. The range is [0, 255]. + + + muted + +

    Whether the audio device is muted:

      +
    • : The audio device is + muted.
    • +
    • : The audio device is not + muted.
    • +

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita index 2e5b672ff23..3764be4ea4a 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioeffectfinished.dita @@ -1,43 +1,45 @@ - <ph keyref="onAudioEffectFinished" /> - Occurs when the playback of the local music file finishes. + <ph keyref="onAudioEffectFinished"/> + Occurs when the playback of the local music file + finishes. - +

    - public void onAudioEffectFinished(int soundId) {} - - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId; - virtual void onAudioEffectFinished(int soundId) { + public void onAudioEffectFinished(int soundId) {} + - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId; + virtual void onAudioEffectFinished(int soundId) { } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioEffectFinished, int, soundId); - onAudioEffectFinished?(soundId: number): void; - public virtual void OnAudioEffectFinished(int soundId) - onAudioEffectFinished?(soundId: number): void; - final void Function(int soundId)? onAudioEffectFinished; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioEffectFinished, int, soundId); + onAudioEffectFinished?(soundId: number): void; + public virtual void OnAudioEffectFinished(int soundId) + onAudioEffectFinished?(soundId: number): void; + final void Function(int soundId)? onAudioEffectFinished; +

    This callback occurs when the local audio effect file finishes playing.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - soundId - The ID of the audio effect. The ID of each audio effect file is unique. - -
    + + + + + + soundId + The ID of the audio effect. The ID of each audio effect file is unique. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingfinished.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingfinished.dita index 5dcf9bc8081..49090a90a13 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingfinished.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingfinished.dita @@ -1,45 +1,50 @@ - <ph keyref="onAudioMixingFinished" /> - Occurs when the playback of the local music file finishes. + <ph keyref="onAudioMixingFinished"/> + Occurs when the playback of the local music file + finishes. - +

    - public void onAudioMixingFinished() {} - - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onAudioMixingFinished() { + public void onAudioMixingFinished() {} + - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onAudioMixingFinished() { } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnAudioMixingFinished); - onAudioMixingFinished?(): void; - public virtual void OnAudioMixingFinished() - onAudioMixingFinished?(): void; - final void Function()? onAudioMixingFinished; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnAudioMixingFinished); + onAudioMixingFinished?(): void; + public virtual void OnAudioMixingFinished() + onAudioMixingFinished?(): void; + final void Function()? onAudioMixingFinished; +

    - -
    Deprecated:
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    Use instead.
    +
    -

    After you call to play a local music file, this callback occurs when the playback finishes. If the call of fails, the error code WARN_AUDIO_MIXING_OPEN_ERROR is returned.

    +

    After you call to play a local music + file, this callback occurs when the playback finishes. If the call of fails, the error code + WARN_AUDIO_MIXING_OPEN_ERROR is returned.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita index e84cdf17dad..968afcf55ae 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingpositionchanged.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioMixingPositionChanged"/> - Reports the playback progress of a music file. + Reports the playback progress of a music + file. @@ -13,39 +14,48 @@

    - public void onAudioMixingPositionChanged(long position) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingPositionChanged:(NSInteger)position NS_SWIFT_NAME(rtcEngine(_:audioMixingPositionChanged:)); - virtual void onAudioMixingPositionChanged(int64_t position) {} - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioMixingPositionChanged, int64, position); - onAudioMixingPositionChanged?(position: number): void; - public virtual void OnAudioMixingPositionChanged(long position) { } - onAudioMixingPositionChanged?(position: number): void; - final void Function(int position)? onAudioMixingPositionChanged;

    + public void onAudioMixingPositionChanged(long position) {} + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingPositionChanged:(NSInteger)position NS_SWIFT_NAME(rtcEngine(_:audioMixingPositionChanged:)); + virtual void onAudioMixingPositionChanged(int64_t position) {} + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioMixingPositionChanged, int64, position); + onAudioMixingPositionChanged?(position: number): void; + public virtual void OnAudioMixingPositionChanged(long position) { } + onAudioMixingPositionChanged?(position: number): void; + final void Function(int position)? onAudioMixingPositionChanged; +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    After you called the method to play a music file, the SDK triggers this callback every two seconds to report the playback progress.

    +

    After you called the method to play a music file, + the SDK triggers this callback every two seconds to report the playback + progress.

    Parameters - - position - The playback progress (ms). - -
    + + position + The playback progress (ms). + + +
    <ph keyref="return-section-title"/> -

    When the method call succeeds, there is no return value; when fails, the exception is thrown. You need to catch the exception and handle it accordingly. See for details and resolution suggestions.

    +

    When the method call succeeds, there is no return value; when fails, + the exception is thrown. You need to catch the + exception and handle it accordingly. See for details and resolution suggestions.

      -
    • 0: Success.
    • -
    • < 0: Failure. See for details and resolution suggestions.
    • -
    +
  • 0: Success.
  • +
  • < 0: Failure. See for details + and resolution suggestions.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita index 84fdda0674b..839e69ee373 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiomixingstatechanged.dita @@ -1,73 +1,98 @@ - <ph keyref="onAudioMixingStateChanged" /> - Occurs when the playback state of the music file changes. + <ph keyref="onAudioMixingStateChanged"/> + Occurs when the playback state of the music file + changes. - +

    - public void onAudioMixingStateChanged(int state, int reasonCode); - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingStateChanged:(AgoraAudioMixingStateType)state + public void onAudioMixingStateChanged(int state, int reasonCode); + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine audioMixingStateChanged:(AgoraAudioMixingStateType)state reasonCode:(AgoraAudioMixingReasonCode)reasonCode; - virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) { + virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) { (void)state; (void)reason; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnAudioMixingStateChanged, FENUMWRAP_AUDIO_MIXING_STATE_TYPE, state, FENUMWRAP_AUDIO_MIXING_REASON_TYPE, reason); - onAudioMixingStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnAudioMixingStateChanged, FENUMWRAP_AUDIO_MIXING_STATE_TYPE, state, FENUMWRAP_AUDIO_MIXING_REASON_TYPE, reason); + onAudioMixingStateChanged?( state: AudioMixingStateType, reason: AudioMixingReasonType ): void; - public virtual void OnAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {} - onAudioMixingStateChanged?( + public virtual void OnAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) {} + onAudioMixingStateChanged?( state: AudioMixingStateType, reason: AudioMixingReasonType ): void; - final void Function(AudioMixingStateType state, AudioMixingReasonType reason)? + final void Function(AudioMixingStateType state, AudioMixingReasonType reason)? onAudioMixingStateChanged; -

    +

    -

    This callback occurs when the playback state of the music file changes, and reports the current state and error code.

    +

    This callback occurs when the playback state of the music file changes, and reports + the current state and error code.

    Parameters - - state - The playback state of the music file. See .

    -

      -
    • (710): The music file is playing.
    • -
    • (711): The music file pauses playing.
    • -
    • (713): The music file stops playing.
    • -
    • (714): An exception occurs when playing the audio mixing file. The SDK returns the specific reason in the reasonCode parameter.
    • -
    • (715): The music file is played once.
    • -
    • (716): The music file is all played out.
    • -

    -
    -
    - - reasonCode - reason - Error code. See .

    -

      -
    • (0): No error.
    • -
    • (701): The SDK cannot open the music file.
    • -
    • (702): The SDK opens the music file too frequently.
    • -
    • (703): The music file playback is interrupted.
    • -
    • (721): The music file completes a loop playback.
    • -
    • (722): The music file starts a new loop playback.
    • -
    • (723): The music file completes all loop playback.
    • -
    • (724): The music file pauses playing by calling .
    • -

    -
    -
    -
    + + state + The playback state of the music file. See .

    +

      +
    • (710): The music file + is playing.
    • +
    • (711): The music file + pauses playing.
    • +
    • (713): The music file + stops playing.
    • +
    • (714): An exception + occurs when playing the audio mixing file. The SDK returns the + specific reason in the reasonCode + parameter.
    • +
    • (715): + The music file is played once.
    • +
    • (716): The music file is all played out.
    • +
    +

    +
    +
    + + reasonCode + reason + Error code. See .

    +

      +
    • (0): No error.
    • +
    • (701): The SDK + cannot open the music file.
    • +
    • (702): The + SDK opens the music file too frequently.
    • +
    • (703): The + music file playback is interrupted.
    • +
    • (721): The + music file completes a loop playback.
    • +
    • (722): The music file starts a new loop playback.
    • +
    • (723): The + music file completes all loop playback.
    • +
    • (724): The + music file pauses playing by calling .
    • +
    +

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita index a396176cca5..6991f0c7ed0 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiopublishstatechanged.dita @@ -1,26 +1,27 @@ - <ph keyref="onAudioPublishStateChanged" /> - Occurs when the audio publishing state changes. + <ph keyref="onAudioPublishStateChanged"/> + Occurs when the audio publishing state + changes. - +

    - public void onAudioPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, + public void onAudioPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioPublishStateChange:(NSString * _Nonnull)channelId oldState:(AgoraStreamPublishState)oldState newState:(AgoraStreamPublishState)newState elapseSinceLastState:(int)elapseSinceLastState; - virtual void onAudioPublishStateChanged(const char* channel, + virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { @@ -29,52 +30,56 @@ elapseSinceLastState:(int)elapseSinceLastState; (void)newState; (void)elapseSinceLastState; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnAudioPublishStateChanged, FString, channel, ESTREAM_PUBLISH_STATE, oldState, ESTREAM_PUBLISH_STATE, newState, int, elapseSinceLastState); - onAudioPublishStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnAudioPublishStateChanged, FString, channel, ESTREAM_PUBLISH_STATE, oldState, ESTREAM_PUBLISH_STATE, newState, int, elapseSinceLastState); + onAudioPublishStateChanged?( channel: string, oldState: StreamPublishState, newState: StreamPublishState, elapseSinceLastState: number ): void; - public virtual void OnAudioPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, + public virtual void OnAudioPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) - onAudioPublishStateChanged?( + onAudioPublishStateChanged?( channel: string, oldState: StreamPublishState, newState: StreamPublishState, elapseSinceLastState: number ): void; - final void Function( + final void Function( String channel, StreamPublishState oldState, StreamPublishState newState, int elapseSinceLastState)? onAudioPublishStateChanged; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - channel - channelId - The channel name. - - - oldState - The previous publishing state. See . - - - newState - The current publishing stat. See . - - - elapseSinceLastState - The time elapsed (ms) from the previous state to the current state. - -
    + + + + + + channel + channelId + The channel name. + + + oldState + The previous publishing state. See . + + + newState + The current publishing stat. See . + + + elapseSinceLastState + The time elapsed (ms) from the previous state to the current state. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita index 7fd5d0678fa..ec958486eaa 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioquality.dita @@ -1,87 +1,98 @@ - <ph keyref="onAudioQuality" /> - Reports the statistics of the audio stream sent by each remote user. + <ph keyref="onAudioQuality"/> + Reports the statistics of the audio stream sent by each + remote user. - +

    - 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) { + 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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnAudioQuality, int64, uid, int, quality, int, delay, int, lost); - onAudioQuality?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnAudioQuality, 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?( + 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, + final void Function(RtcConnection connection, int remoteUid, QualityType quality, int delay, int lost)? onAudioQuality; -

    +

    -

    - -
    Deprecated:
    -
    Use instead.
    -
    -
    +
    + +
    Deprecated:
    +
    Use instead.
    +
    +

    -

    The SDK triggers this callback once every two seconds to report the audio quality of each remote user who is sending an audio stream. If a channel has multiple users sending audio streams, the SDK triggers this callback as many times.

    +

    The SDK triggers this callback once every two seconds to report the audio quality of + each remote user who is sending an audio stream. If a channel has multiple users + sending audio streams, the SDK triggers this callback as many times.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - uid - remoteUid - The user ID of the remote user sending the audio stream. - - - quality - Audio quality of the user. See .
      -
    • -
    -
    - - delay - The network delay (ms) from the sender to the receiver, including the delay caused by audio sampling pre-processing, network transmission, and network jitter buffering. - - - lost - The packet loss rate (%) of the audio packet sent from the remote user to the receiver. - -
    + + + + + + connection + The connection information. See . + + + uid + remoteUid + The user ID of the remote user sending the audio stream. + + + quality + Audio quality of the user. See .
      +
    • +
    +
    +
    + + delay + The network delay (ms) from the sender to the receiver, including the delay + caused by audio sampling pre-processing, network transmission, and network + jitter buffering. + + + lost + The packet loss rate (%) of the audio packet sent from the remote user to + the receiver. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioroutingchanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioroutingchanged.dita index 7b17cfbce66..72200faea39 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioroutingchanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudioroutingchanged.dita @@ -1,68 +1,83 @@ - <ph keyref="onAudioRoutingChanged" /> - Occurs when the local audio route changes. + <ph keyref="onAudioRoutingChanged"/> + Occurs when the local audio route + changes. - +

    - public void onAudioRouteChanged(int routing) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing; - virtual void onAudioRoutingChanged(int routing) { (void)routing; } + public void onAudioRouteChanged(int routing) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing; + virtual void onAudioRoutingChanged(int routing) { (void)routing; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioRoutingChanged, int, routing); - onAudioRoutingChanged?(routing: number): void; - public virtual void OnAudioRoutingChanged(int routing) {} - onAudioRoutingChanged?(routing: number): void; - final void Function(int routing)? onAudioRoutingChanged; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnAudioRoutingChanged, int, routing); + onAudioRoutingChanged?(routing: number): void; + public virtual void OnAudioRoutingChanged(int routing) {} + onAudioRoutingChanged?(routing: number): void; + final void Function(int routing)? onAudioRoutingChanged; +

    -

    This method is for Android, iOS and macOS only.

    +

    This method is for Android, iOS and macOS only.

    -

    This callback applies to macOS only.

    -
    +

    This callback applies to macOS only.

    + +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - routing - -

    The current audio routing. See .

    -

    The current audio routing.

      -
    • (-1): The default audio route.
    • -
    • (0): The audio route is a headset with a microphone.
    • -
    • (1): The audio route is an earpiece.
    • -
    • (2): The audio route is a headset without a microphone.
    • -
    • (3): The audio route is the speaker that comes with the device.
    • -
    • (4): (For future use) The audio route is an external speaker.
    • -
    • (5): The audio route is a Bluetooth device using the HFP protocol.
    • -
    • (10): The audio route is a Bluetooth device using the A2DP protocol..
    • -

    -

    The current audio routing.

      -
    • -1: The default audio route.
    • -
    • 0: The audio route is a headset with a microphone.
    • -
    • 1: The audio route is an earpiece.
    • -
    • 2: The audio route is a headset without a microphone.
    • -
    • 3: The audio route is the speaker that comes with the device.
    • -
    • 4: The audio route is an external speaker. (For iOS and macOS only)
    • -
    • (5): The audio route is a Bluetooth headset.
    • -

    -
    -
    -
    + + + + + + routing + +

    The current audio routing. + See .

    +

    The current audio routing.

      +
    • (-1): The default audio route.
    • +
    • (0): The audio route is a headset + with a microphone.
    • +
    • (1): The audio route is an + earpiece.
    • +
    • (2): The audio route is a + headset without a microphone.
    • +
    • (3): The audio route is the + speaker that comes with the device.
    • +
    • (4): (For future use) The audio + route is an external speaker.
    • +
    • (5): The audio route is + a Bluetooth device using the HFP protocol.
    • +
    • (10): The audio route + is a Bluetooth device using the A2DP protocol..
    • +
    +

    +

    The current audio routing.

      +
    • -1: The default audio route.
    • +
    • 0: The audio route is a headset with a microphone.
    • +
    • 1: The audio route is an earpiece.
    • +
    • 2: The audio route is a headset without a microphone.
    • +
    • 3: The audio route is the speaker that comes with the + device.
    • +
    • 4: The audio route is an external speaker. (For iOS and macOS + only)
    • +
    • (5): The audio route is a Bluetooth headset.
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita index f58ab3f169f..4a2c063ddbd 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiosubscribestatechanged.dita @@ -1,27 +1,28 @@ - <ph keyref="onAudioSubscribeStateChanged" /> - Occurs when the audio subscribing state changes. + <ph keyref="onAudioSubscribeStateChanged"/> + Occurs when the audio subscribing state + changes. - +

    - public void onAudioSubscribeStateChanged( + public void onAudioSubscribeStateChanged( String channel, int uid, int oldState, int newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (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, + virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, @@ -32,93 +33,139 @@ elapseSinceLastState:(int)elapseSinceLastState; (void)newState; (void)elapseSinceLastState; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnAudioSubscribeStateChanged, FString, channel, int64, uid, ESTREAM_SUBSCRIBE_STATE, oldState, ESTREAM_SUBSCRIBE_STATE, newState, int, elapseSinceLastState); - onAudioSubscribeStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnAudioSubscribeStateChanged, FString, channel, int64, uid, ESTREAM_SUBSCRIBE_STATE, oldState, ESTREAM_SUBSCRIBE_STATE, newState, int, elapseSinceLastState); + onAudioSubscribeStateChanged?( channel: string, uid: number, oldState: StreamSubscribeState, newState: StreamSubscribeState, elapseSinceLastState: number ): void; - public virtual void OnAudioSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnAudioSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - onAudioSubscribeStateChanged?( + onAudioSubscribeStateChanged?( channel: string, uid: number, oldState: StreamSubscribeState, newState: StreamSubscribeState, elapseSinceLastState: number ): void; - final void Function( + final void Function( String channel, int uid, StreamSubscribeState oldState, StreamSubscribeState newState, int elapseSinceLastState)? onAudioSubscribeStateChanged; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - channel - channelId - The channel name. - - - uid - The user ID of the remote user. - - - oldState - The previous subscribing status. See . - The previous subscription status.
      -
    • (0): The initial subscribing state after joining the channel.
    • -
    • (1): Fails to subscribe to the remote stream. Possible reasons:
        -
      • The remote user:
          -
        • Calls () or () to stop sending local media stream.
        • -
        • Calls or to disable the local audio or video module.
        • -
        • Calls () or () to disable the local audio or video capture.
        • -
        • The role of the remote user is audience.
        • -
      • -
      • The local user calls the following methods to stop receiving the remote media stream:
          -
        • Call () or () to stop receiving the remote audio stream.
        • -
        • Call () or () to stop receiving the remote video stream.
        • -
      • -
    • -
    • (2): Subscribing.
    • -
    • (3): The remote stream is received, and the subscription is successful.
    • -
    -
    - - newState - The current subscribing status. See . - The current subscribing status.
      -
    • (0): The initial subscribing state after joining the channel.
    • -
    • (1): Fails to subscribe to the remote stream. Possible reasons:
        -
      • The remote user:
          -
        • Calls () or () to stop sending local media stream.
        • -
        • Calls or to disable the local audio or video module.
        • -
        • Calls () or () to disable the local audio or video capture.
        • -
        • The role of the remote user is audience.
        • -
      • -
      • The local user calls the following methods to stop receiving the remote media stream:
          -
        • Call () or () to stop receiving the remote audio stream.
        • -
        • Call () or () to stop receiving the remote video stream.
        • -
      • -
    • -
    • (2): Subscribing.
    • -
    • (3): The remote stream is received, and the subscription is successful.
    • -
    -
    - - elapseSinceLastState - The time elapsed (ms) from the previous state to the current state. - -
    + + + + + + channel + channelId + The channel name. + + + uid + The user ID of the remote user. + + + oldState + The previous + subscribing status. See . + The previous subscription status.
      +
    • (0): The initial subscribing state + after joining the channel.
    • +
    • (1): Fails to subscribe to the + remote stream. Possible reasons:
        +
      • The remote user:
          +
        • Calls () or () to stop sending local + media stream.
        • +
        • Calls or to disable the local audio + or video module.
        • +
        • Calls () or () + to disable the local audio or video capture.
        • +
        • The role of the remote user is audience.
        • +
      • +
      • The local user calls the following methods to stop receiving + the remote media stream:
          +
        • Call () or () to stop receiving the remote + audio stream.
        • +
        • Call () or () to stop receiving the remote + video stream.
        • +
      • +
    • +
    • (2): Subscribing.
    • +
    • (3): The remote stream is + received, and the subscription is successful.
    • +
    +
    + + newState + The current + subscribing status. See . + The current subscribing status.
      +
    • (0): The initial subscribing state + after joining the channel.
    • +
    • (1): Fails to subscribe to the + remote stream. Possible reasons:
        +
      • The remote user:
          +
        • Calls () or () to stop sending local + media stream.
        • +
        • Calls or to disable the local audio + or video module.
        • +
        • Calls () or () to disable the local + audio or video capture.
        • +
        • The role of the remote user is audience.
        • +
      • +
      • The local user calls the following methods to stop receiving + the remote media stream:
          +
        • Call () or () to stop receiving the + remote audio stream.
        • +
        • Call () or () to stop receiving the + remote video stream.
        • +
      • +
    • +
    • (2): Subscribing.
    • +
    • (3): The remote stream is + received, and the subscription is successful.
    • +
    +
    + + elapseSinceLastState + The time elapsed (ms) from the previous state to the current state. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita index d69329a1e35..a909a2b7fc5 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onaudiovolumeindication.dita @@ -1,82 +1,116 @@ - <ph keyref="onAudioVolumeIndication" /> - Reports the volume information of users. + <ph keyref="onAudioVolumeIndication"/> + Reports the volume information of + users. - +

    - public void onAudioVolumeIndication(AudioVolumeInfo[] speakers, int totalVolume) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onAudioVolumeIndication(AudioVolumeInfo[] speakers, int totalVolume) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportAudioVolumeIndicationOfSpeakers:(NSArray<AgoraRtcAudioVolumeInfo *> * _Nonnull)speakers totalVolume:(NSInteger)totalVolume; - virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, + virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber, int totalVolume) { (void)speakers; (void)speakerNumber; (void)totalVolume; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnAudioVolumeIndication, 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) {} - onAudioVolumeIndication?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnAudioVolumeIndication, 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) {} + onAudioVolumeIndication?( connection: RtcConnection, speakers: AudioVolumeInfo[], speakerNumber: number, totalVolume: number ): void; - final void Function(RtcConnection connection, List<AudioVolumeInfo> speakers, + final void Function(RtcConnection connection, List<AudioVolumeInfo> speakers, int speakerNumber, int totalVolume)? onAudioVolumeIndication; -

    +

    -

    By default, this callback is disabled. You can enable it by calling . Once this callback is enabled and users send streams in the channel, the SDK triggers the callback according to the time interval set in . The SDK triggers two independent callbacks simultaneously, which separately report the volume information of the local user who sends a stream and the remote users (up to three) whose instantaneous volume is the highest.

    +

    By default, this callback is disabled. You can enable it by calling . Once this callback is enabled and users + send streams in the channel, the SDK triggers the callback according to the time interval set + in . The SDK triggers two independent + callbacks simultaneously, which + separately report the volume information of the local user who sends a stream and + the remote users (up to three) whose instantaneous volume is the highest.

    -

    After receiving this callback, if you need to update the UI interface, ensure that the execution thread is switched to the UI thread.

    -

    Once this callback is enabled, if the local user calls the method to mute, the SDK continues to report the volume indication of the local user.

    -

    If a remote user whose volume is one of the three highest in the channel stops publishing the audio stream for 20 seconds, the callback excludes this user's information; if all remote users stop publishing audio streams for 20 seconds, the SDK stops triggering the callback for remote users.

    -
    +

    After receiving this callback, if you need to update the UI + interface, ensure that the execution thread is switched to the UI thread.

    +

    Once this callback is enabled, if the local user calls the method to mute, the SDK continues to report + the volume indication of the local user.

    +

    If a remote user whose volume is one of the three highest in the channel stops + publishing the audio stream for 20 seconds, the callback excludes this user's + information; if all remote users stop publishing audio streams for 20 seconds, + the SDK stops triggering the callback for remote users.

    + +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - speakers - The volume information of the users. See . An empty speakers array in the callback indicates that no remote user is in the channel or is sending a stream. - - - speakerNumber - -

    The total number of users.

      -
    • In the callback for the local user, if the local user is sending streams, the value of speakerNumber is 1.
    • -
    • In the callback for remote users, the value range of speakerNumber is [0,3]. If the number of remote users who send streams is greater than or equal to three, the value of speakerNumber is 3.
    • -

    -
    -
    - - totalVolume - -

    The volume of the speaker. The value range is [0,255].

      -
    • In the callback for the local user, totalVolume is the volume of the local user who sends a stream.
    • -
    • In the callback for remote users, totalVolume is the sum of the volume of all remote users (up to three) whose instantaneous volume is the highest. If the user calls , then totalVolume is the volume after audio mixing.
    • -

    -
    -
    -
    + + + + + + connection + The connection information. See . + + + speakers + The volume information of the users. See . + An empty speakers array in the callback indicates that + no remote user is in the channel or is sending a stream. + + + speakerNumber + +

    The total number of users.

      +
    • In the callback for the local user, if the local user is sending + streams, the value of speakerNumber is + 1.
    • +
    • In the callback for remote users, the value range of + speakerNumber is [0,3]. If the number + of remote users who send streams is greater than or equal to + three, the value of speakerNumber is + 3.
    • +
    +

    +
    +
    + + totalVolume + +

    The volume of the speaker. The value range is [0,255].

      +
    • In the callback for the local user, + totalVolume is the volume of the local + user who sends a stream.
    • +
    • In the callback for remote users, + totalVolume is the sum of the + volume of all remote users (up to three) whose instantaneous + volume is the highest. If + the user calls , then + totalVolume is the volume after + audio mixing.
    • +
    +

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita index 44160b194a9..6eaf267f8f6 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraexposureareachanged.dita @@ -2,7 +2,8 @@ <ph keyref="onCameraExposureAreaChanged"/> - Occurs when the camera exposure area changes. + Occurs when the camera exposure area + changes. @@ -13,56 +14,61 @@

    - public void onCameraExposureAreaChanged(Rect rect) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine cameraExposureDidChangedToRect:(CGRect)rect; - virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) { + public void onCameraExposureAreaChanged(Rect rect) {} + - (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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnCameraExposureAreaChanged, int, x, int, y, int, width, int, height); - - public virtual void OnCameraExposureAreaChanged(int x, int y, int width, int height) - onCameraExposureAreaChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnCameraExposureAreaChanged, int, x, int, y, int, width, int, height); + + public virtual void OnCameraExposureAreaChanged(int x, int y, int width, int height) + onCameraExposureAreaChanged?( x: number, y: number, width: number, height: number ): void; - final void Function(int x, int y, int width, int height)? + final void Function(int x, int y, int width, int height)? onCameraExposureAreaChanged; -

    +

    -

    The SDK triggers this callback when the local user changes the camera exposure position by calling .

    - This callback is for Android and iOS only.
    +

    The SDK triggers this callback when the local user changes the camera exposure + position by calling .

    + This callback is for + Android and iOS only. +
    <ph keyref="callback-section-title"/> - - x - The x coordinate of the changed camera exposure area. - - - y - The y coordinate of the changed camera exposure area. - - - width - The width of the changed camera exposure area. - - - height - The height of the changed exposure area. - - - - - - rect - The focus rectangle in the local preview. See . - -
    + + x + The x coordinate of the changed camera exposure area. + + + y + The y coordinate of the changed camera exposure area. + + + width + The width of the changed camera exposure area. + + + height + The height of the changed exposure area. + + + + + + + rect + The focus rectangle in the local preview. See . + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita index 68bb78ec1b8..dc47e23ca61 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncamerafocusareachanged.dita @@ -1,71 +1,78 @@ - <ph keyref="onCameraFocusAreaChanged" /> - Occurs when the camera focus area changes. + <ph keyref="onCameraFocusAreaChanged"/> + Occurs when the camera focus area + changes. - +

    - public void onCameraFocusAreaChanged(Rect rect) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine cameraFocusDidChangedToRect:(CGRect)rect; - virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) { + public void onCameraFocusAreaChanged(Rect rect) {} + - (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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnCameraFocusAreaChanged, int, x, int, y, int, width, int, height); - - public virtual void OnCameraFocusAreaChanged(int x, int y, int width, int height) - onCameraFocusAreaChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnCameraFocusAreaChanged, int, x, int, y, int, width, int, height); + + public virtual void OnCameraFocusAreaChanged(int x, int y, int width, int height) + onCameraFocusAreaChanged?( x: number, y: number, width: number, height: number ): void; - final void Function(int x, int y, int width, int height)? + final void Function(int x, int y, int width, int height)? onCameraFocusAreaChanged; -

    +

    -

    The SDK triggers this callback when the local user changes the camera focus position by calling .

    - This callback is for Android and iOS only.
    +

    The SDK triggers this callback when + the local user changes the camera focus position by calling .

    + This callback is for + Android and iOS only. +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - x - The x-coordinate of the changed camera focus area. - - - y - The y-coordinate of the changed camera focus area. - - - width - The width of the changed camera focus area. - - - height - The height of the changed camera focus area. - + + x + The x-coordinate of the changed camera focus area. + + + y + The y-coordinate of the changed camera focus area. + + + width + The width of the changed camera focus area. + + + height + The height of the changed camera focus area. + - - rect - The focus rectangle in the local preview. See . - - - - - -
    + + rect + The focus rectangle in the local preview. See . + + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita index cfd49aca24b..c4910585943 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncameraready.dita @@ -1,46 +1,50 @@ - <ph keyref="onCameraReady" /> - Occurs when the camera turns on and is ready to capture the video. + <ph keyref="onCameraReady"/> + Occurs when the camera turns on and is ready to capture + the video. - +

    - public void onCameraReady() {} - - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onCameraReady() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnCameraReady); - onCameraReady?(): void; - public virtual void OnCameraReady() - onCameraReady?(): void; - final void Function()? onCameraReady; -

    + public void onCameraReady() {} + - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onCameraReady() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnCameraReady); + onCameraReady?(): void; + public virtual void OnCameraReady() + onCameraReady?(): void; + final void Function()? onCameraReady; +

    - -
    Deprecated:
    -
    -

    Use (1) in instead.

    -
    -
    + +
    Deprecated:
    +
    +

    Use (1) in instead.

    +
    +
    -

    This callback indicates that the camera has been successfully turned on and you can start to capture video.

    +

    This callback indicates that the camera has been successfully turned on and + you can start to capture video.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelayevent.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelayevent.dita index 744096fccba..faf63a62183 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelayevent.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelayevent.dita @@ -2,7 +2,8 @@ <ph keyref="onChannelMediaRelayEvent"/> - Reports events during the media stream relay. + Reports events during the media stream + relay. @@ -13,58 +14,89 @@

    - public void onChannelMediaRelayEvent(int code) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onChannelMediaRelayEvent(int code) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didReceiveChannelMediaRelayEvent:(AgoraChannelMediaRelayEvent)event; - virtual void onChannelMediaRelayEvent(int code) { + virtual void onChannelMediaRelayEvent(int code) { (void)code; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnChannelMediaRelayEvent, int, code); - onChannelMediaRelayEvent?(code: ChannelMediaRelayEvent): void; - public virtual void OnChannelMediaRelayEvent(int code) { } - onChannelMediaRelayEvent?(code: ChannelMediaRelayEvent): void; - final void Function(ChannelMediaRelayEvent code)? onChannelMediaRelayEvent; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnChannelMediaRelayEvent, int, code); + onChannelMediaRelayEvent?(code: ChannelMediaRelayEvent): void; + public virtual void OnChannelMediaRelayEvent(int code) { } + onChannelMediaRelayEvent?(code: ChannelMediaRelayEvent): void; + final void Function(ChannelMediaRelayEvent code)? onChannelMediaRelayEvent; +

    - -
    Deprecated:
    -
    This callback is deprecated.
    -
    + +
    Deprecated:
    +
    This callback is deprecated.
    +
    <ph keyref="callback-section-title"/> - - - - - - code - event - -

    The event code of channel media relay. See .

    -

    The event code of channel media relay:

      -
    • (0): The user disconnects from the server due to a poor network connection.
    • -
    • (1): The user is connected to the server.
    • -
    • (2): The user joins the source channel.
    • -
    • (3): The user joins the target channell.
    • -
    • (4): The SDK starts relaying the media stream to the target channel.
    • -
    • (5): The server receives the video stream from the source channel.
    • -
    • (6): The server receives the audio stream from the source channel.
    • -
    • (7): The target channel is updated.
    • -
    • (9): The target channel does not change, which means that the target channel fails to be updated.
    • -
    • (10): The target channel name is .
    • -
    • (11): The video profile is sent to the server.
    • -
    • (12): The SDK successfully pauses relaying the media stream to target channels.
    • -
    • (13): The SDK fails to pause relaying the media stream to target channels.
    • -
    • (14): The SDK successfully resumes relaying the media stream to target channels.
    • -
    • (15): The SDK fails to resume relaying the media stream to target channels.
    • -

    -
    -
    -
    + + + + + + code + event + +

    The event code of + channel media relay. See .

    +

    The event code of channel media relay:

      +
    • (0): The user + disconnects from the server due to a poor network + connection.
    • +
    • (1): The user is + connected to the server.
    • +
    • (2): The + user joins the source channel.
    • +
    • (3): The + user joins the target channell.
    • +
    • (4): The + SDK starts relaying the media stream to the target channel.
    • +
    • (5): + The server receives the video stream from the source + channel.
    • +
    • (6): + The server receives the audio stream from the source + channel.
    • +
    • (7): The + target channel is updated.
    • +
    • (9): The target channel does not change, which means that the + target channel fails to be updated.
    • +
    • (10): The target channel name is .
    • +
    • (11): The video + profile is sent to the server.
    • +
    • (12): The SDK successfully pauses relaying the media stream to + target channels.
    • +
    • (13): The SDK fails to pause relaying the media stream to + target channels.
    • +
    • (14): The SDK successfully resumes relaying the media stream + to target channels.
    • +
    • (15): The SDK fails to resume relaying the media stream to + target channels.
    • +
    +

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita index af21a3bebc8..f72d2e53f80 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onchannelmediarelaystatechanged.dita @@ -1,81 +1,112 @@ - <ph keyref="onChannelMediaRelayStateChanged" /> - Occurs when the state of the media stream relay changes. + <ph keyref="onChannelMediaRelayStateChanged"/> + Occurs when the state of the media stream relay + changes. - +

    - public void onChannelMediaRelayStateChanged(int state, int code) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onChannelMediaRelayStateChanged(int state, int code) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state error:(AgoraChannelMediaRelayError)error; - virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,CHANNEL_MEDIA_RELAY_ERROR code) { + virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,CHANNEL_MEDIA_RELAY_ERROR code) { } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnChannelMediaRelayStateChanged, int, state, int, code); - onChannelMediaRelayStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnChannelMediaRelayStateChanged, int, state, int, code); + onChannelMediaRelayStateChanged?( state: ChannelMediaRelayState, code: ChannelMediaRelayError ): void; - public virtual void OnChannelMediaRelayStateChanged(int state, int code) {} - onChannelMediaRelayStateChanged?( + public virtual void OnChannelMediaRelayStateChanged(int state, int code) {} + onChannelMediaRelayStateChanged?( state: ChannelMediaRelayState, code: ChannelMediaRelayError ): void; - final void Function( + final void Function( ChannelMediaRelayState state, ChannelMediaRelayError code)? onChannelMediaRelayStateChanged; -

    +

    The SDK returns the state of the current media relay with any error message.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - state - -

    The state code. See .

    -

    The state code:

      -
    • (0): The SDK is initializing.
    • -
    • (1): The SDK tries to relay the media stream to the destination channel.
    • -
    • (2): The SDK successfully relays the media stream to the destination channel.
    • -
    • (3): An error occurs. See code for the error code.
    • -

    -
    -
    - - code - -

    The error code of the channel media relay. See .

    -

    The error code of the channel media relay.

      -
    • (0): Everything is normal.
    • -
    • (1): An error occurs in the server response.
    • -
    • (2): No server response. This error may be caused by poor network connections. If this error occurs when initiating a channel media relay, you can try again later; if this error occurs during channel media relay, you can call to leave the channel. This error can also occur if the channel media relay service is not enabled in the project. You can contact to enable the service.
    • -
    • (3): The SDK fails to access the service, probably due to limited resources of the server.
    • -
    • 4: The server fails to send the relay request.
    • -
    • 5: The server fails to accept the relay request.
    • -
    • 6: The server fails to receive the media stream.
    • -
    • 7: The server fails to send the media stream.
    • -
    • (8): The SDK disconnects from the server due to poor network connections. You can call to leave the channel.
    • -
    • (9): An internal error occurs in the server.
    • -
    • (10): The token of the source channel has expired.
    • -
    • (11): The token of the destination channel has expired.
    • -

    -
    -
    -
    + + + + + + state + +

    The state code. + See .

    +

    The state code:

      +
    • (0): The SDK is + initializing.
    • +
    • (1): The SDK tries to relay + the media stream to the destination channel.
    • +
    • (2): The SDK successfully + relays the media stream to the destination channel.
    • +
    • (3): An error occurs. See + code for the error code.
    • +
    +

    +
    +
    + + code + +

    The error code of + the channel media relay. See .

    +

    The error code of the channel media relay.

      +
    • (0): Everything is normal.
    • +
    • (1): An error + occurs in the server response.
    • +
    • (2): No server + response. This error may be caused by poor network connections. + If this error occurs when initiating a channel media relay, you + can try again later; if this error occurs during channel media + relay, you can call to leave the + channel. This error can also occur if the channel media relay + service is not enabled in the project. You can contact to enable the service.
    • +
    • (3): The SDK + fails to access the service, probably due to limited resources + of the server.
    • +
    • 4: The server fails to + send the relay request.
    • +
    • 5: The server fails + to accept the relay request.
    • +
    • 6: The + server fails to receive the media stream.
    • +
    • 7: The + server fails to send the media stream.
    • +
    • (8): The SDK + disconnects from the server due to poor network connections. You + can call to leave the + channel.
    • +
    • (9): An internal error + occurs in the server.
    • +
    • (10): The token of + the source channel has expired.
    • +
    • (11): The token of + the destination channel has expired.
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita index fbe084f2fe5..cf566f611b9 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechanged.dita @@ -2,79 +2,91 @@ <ph keyref="onClientRoleChanged"/> - Occurs when the user role switches during the interactive live streaming. + Occurs when the user role switches during the + interactive live streaming.

    - public void onClientRoleChanged(int oldRole, int newRole, ClientRoleOptions newRoleOptions) {} + public void onClientRoleChanged(int oldRole, int newRole, ClientRoleOptions newRoleOptions) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChanged:(AgoraClientRole)oldRole + - (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) { + virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, const ClientRoleOptions& newRoleOptions) { (void)oldRole; (void)newRole; (void)newRoleOptions; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnClientRoleChanged, ECLIENT_ROLE_TYPE, oldRole, ECLIENT_ROLE_TYPE, newRole, FClientRoleOptions, roleoption); - onClientRoleChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnClientRoleChanged, ECLIENT_ROLE_TYPE, oldRole, ECLIENT_ROLE_TYPE, newRole, FClientRoleOptions, roleoption); + onClientRoleChanged?( connection: RtcConnection, oldRole: ClientRoleType, newRole: ClientRoleType newRoleOptions: ClientRoleOptions ): void; - public virtual void OnClientRoleChanged(RtcConnection connection, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, ClientRoleOptions newRoleOptions) { } - onClientRoleChanged?( + public virtual void OnClientRoleChanged(RtcConnection connection, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole, ClientRoleOptions newRoleOptions) { } + onClientRoleChanged?( connection: RtcConnection, oldRole: ClientRoleType, newRole: ClientRoleType newRoleOptions: ClientRoleOptions ): void; - final void Function( + final void Function( RtcConnection connection, ClientRoleType oldRole, ClientRoleType newRole, ClientRoleOptions newRoleOptions)? onClientRoleChanged; -

    +

    -

    The SDK triggers this callback when the local user switches their user role by calling after joining the channel.

    +

    The SDK triggers this callback when the local user switches their user role by + calling after joining the channel.

    <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - oldRole - Role that the user switches from: .
      -
    • -
    -
    - - newRole - Role that the user switches to: .
      -
    • -
    -
    - - newRoleOptions - -
    - -
    Since
    -
    v4.1.0
    -
    -
    -

    Properties of the role that the user switches to. See .

    -
    -
    -
    + + + + + + connection + The connection information. See . + + + oldRole + Role that the user switches from: .
      +
    • +
    +
    +
    + + newRole + Role that the user switches to: .
      +
    • +
    +
    +
    + + newRoleOptions + +
    + +
    Since
    +
    v4.1.0
    +
    +
    +

    Properties of the role that the user switches to. See .

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita index b3708b56fb7..491692b847d 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onclientrolechangefailed.dita @@ -1,70 +1,92 @@ - <ph keyref="onClientRoleChangeFailed" /> - Occurs when the user role switching fails in the interactive live streaming. + <ph keyref="onClientRoleChangeFailed"/> + Occurs when the user role switching fails in the + interactive live streaming. - +

    - public void onClientRoleChangeFailed(int reason, int currentRole) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChangeFailed:(AgoraClientRoleChangeFailedReason)reason currentRole:(AgoraClientRole)currentRole; - virtual void onClientRoleChangeFailed(CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) { + public void onClientRoleChangeFailed(int reason, int currentRole) {} + - (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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnClientRoleChangeFailed, ECLIENT_ROLE_CHANGE_FAILED_REASON, reason, ECLIENT_ROLE_TYPE, currentRole); - onClientRoleChangeFailed?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnClientRoleChangeFailed, ECLIENT_ROLE_CHANGE_FAILED_REASON, reason, ECLIENT_ROLE_TYPE, currentRole); + onClientRoleChangeFailed?( connection: RtcConnection, reason: ClientRoleChangeFailedReason, currentRole: ClientRoleType ): void; - public virtual void OnClientRoleChangeFailed(RtcConnection connection, CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) { } - onClientRoleChangeFailed?( + public virtual void OnClientRoleChangeFailed(RtcConnection connection, CLIENT_ROLE_CHANGE_FAILED_REASON reason, CLIENT_ROLE_TYPE currentRole) { } + onClientRoleChangeFailed?( connection: RtcConnection, reason: ClientRoleChangeFailedReason, currentRole: ClientRoleType ): void; - final void Function( + final void Function( RtcConnection connection, ClientRoleChangeFailedReason reason, ClientRoleType currentRole)? onClientRoleChangeFailed; -

    -
    -
    -

    In the live broadcasting channel profile, when the local user calls to switch the user role after joining the channel but the switch fails, the SDK triggers this callback to report the reason for the failure and the current user role.

    +

    +
    +
    +

    In the live broadcasting channel profile, when the local user calls to switch the user role after joining the channel but + the switch fails, the SDK triggers this callback to report the reason for the + failure and the current user role.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - reason - The reason for a user role switch failure. See . - The possible reasons for the switch failure include the following:
      -
    • (1): The number of hosts in the channel is already at the upper limit.This enumerator is reported only when the support for 128 users is enabled. The maximum number of hosts is based on the actual number of hosts configured when you enable the 128-user feature.
    • -
    • (2): The request is rejected by the Agora server. Agora recommends you prompt the user to try to switch their user role again.
    • -
    • (3): The request is timed out. Agora recommends you prompt the user to check the network connection and try to switch their user role again.
    • -
    • (4): The SDK connection fails. You can use reason reported in the callback to troubleshoot the failure.
    • -
    -
    - - currentRole - Current user role. See . - Current user role.
      -
    • (1): Host. A host can both send and receive streams.
    • -
    • (2): Audience. An audience member can only receive streams.
    • -
    -
    - - - - -
    + + reason + The reason for a + user role switch failure. See . + The possible reasons for the switch failure include the following:
      +
    • (1): + The number of hosts in the channel is already at the upper + limit.This enumerator is reported only when + the support for 128 users is enabled. The maximum number of + hosts is based on the actual number of hosts configured when you + enable the 128-user feature.
    • +
    • (2): The + request is rejected by the Agora server. Agora recommends you prompt + the user to try to switch their user role again.
    • +
    • (3): The + request is timed out. Agora recommends you prompt the user to check + the network connection and try to switch their user role again.
    • +
    • (4): The + SDK connection fails. You can use reason + reported in the callback + to troubleshoot the failure.
    • +
    +
    + + currentRole + Current user + role. See . + Current user role.
      +
    • (1): Host. A host can both + send and receive streams.
    • +
    • (2): Audience. An audience member + can only receive streams.
    • +
    +
    + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita index e2288024492..95cbfc3dcfb 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionbanned.dita @@ -1,47 +1,49 @@ - <ph keyref="onConnectionBanned" /> - Occurs when the connection is banned by the Agora server. + <ph keyref="onConnectionBanned"/> + Occurs when the connection is banned by the Agora + server. - +

    - public void onConnectionBanned() {} - - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionBanned() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionBanned); - onConnectionBanned?(connection: RtcConnection): void; - public virtual void OnConnectionBanned(RtcConnection connection) {} - onConnectionBanned?(connection: RtcConnection): void; - final void Function(RtcConnection connection)? onConnectionBanned; -

    + public void onConnectionBanned() {} + - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionBanned() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionBanned); + onConnectionBanned?(connection: RtcConnection): void; + public virtual void OnConnectionBanned(RtcConnection connection) {} + onConnectionBanned?(connection: RtcConnection): void; + final void Function(RtcConnection connection)? onConnectionBanned; +

    - -
    Deprecated:
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    Use instead.
    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - -
    + + + + + + connection + The connection information. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectioninterrupted.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectioninterrupted.dita index 3d5318bcfd8..440fff6c1f0 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectioninterrupted.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectioninterrupted.dita @@ -1,51 +1,62 @@ - <ph keyref="onConnectionInterrupted" /> - Occurs when the connection between the SDK and the server is interrupted. + <ph keyref="onConnectionInterrupted"/> + Occurs when the connection between the SDK and the + server is interrupted. - +

    - public void onConnectionInterrupted() {} - - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionInterrupted() {} - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionInterrupted); - onConnectionInterrupted?(connection: RtcConnection): void; - public virtual void OnConnectionInterrupted(RtcConnection connection) {} - onConnectionInterrupted?(connection: RtcConnection): void; - final void Function(RtcConnection connection)? onConnectionInterrupted; -

    + public void onConnectionInterrupted() {} + - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionInterrupted() {} + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionInterrupted); + onConnectionInterrupted?(connection: RtcConnection): void; + public virtual void OnConnectionInterrupted(RtcConnection connection) {} + onConnectionInterrupted?(connection: RtcConnection): void; + final void Function(RtcConnection connection)? onConnectionInterrupted; +

    - -
    Deprecated:
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    Use instead.
    +
    -

    The SDK triggers this callback when it loses connection with the server for more than four seconds after the connection is established. After triggering this callback, the SDK tries to reconnect to the server. You can use this callback to implement pop-up reminders. The differences between this callback and are as follow:

      -
    • The SDK triggers the callback when it loses connection with the server for more than four seconds after it successfully joins the channel.
    • -
    • The SDK triggers the callback when it loses connection with the server for more than 10 seconds, whether or not it joins the channel.
    • -
    If the SDK fails to rejoin the channel 20 minutes after being disconnected from Agora's edge server, the SDK stops rejoining the channel.

    +

    The SDK triggers this callback when it loses connection with the server for more than + four seconds after the connection is established. After triggering this callback, + the SDK tries to reconnect to the server. You can use this callback to implement + pop-up reminders. The differences between this callback and are as follow:

      +
    • The SDK triggers the callback + when it loses connection with the server for more than four seconds after it + successfully joins the channel.
    • +
    • The SDK triggers the callback when it + loses connection with the server for more than 10 seconds, whether or not it + joins the channel.
    • +
    If the SDK fails to rejoin the channel 20 minutes after being disconnected from + Agora's edge server, the SDK stops rejoining the channel.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - -
    + + + + + + connection + The connection information. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionlost.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionlost.dita index 9995308aae2..756a59931bf 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionlost.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionlost.dita @@ -1,42 +1,47 @@ - <ph keyref="onConnectionLost" /> - Occurs when the SDK cannot reconnect to Agora's edge server 10 seconds after its connection to the server is interrupted. + <ph keyref="onConnectionLost"/> + Occurs when the SDK cannot reconnect to Agora's edge + server 10 seconds after its connection to the server is interrupted. - +

    - public void onConnectionLost() {} - - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionLost() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionLost); - onConnectionLost?(connection: RtcConnection): void; - public virtual void OnConnectionLost(RtcConnection connection) {} - onConnectionLost?(connection: RtcConnection): void; - final void Function(RtcConnection connection)? onConnectionLost; -

    + public void onConnectionLost() {} + - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionLost() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnConnectionLost); + onConnectionLost?(connection: RtcConnection): void; + public virtual void OnConnectionLost(RtcConnection connection) {} + onConnectionLost?(connection: RtcConnection): void; + final void Function(RtcConnection connection)? onConnectionLost; +

    -

    The SDK triggers this callback when it cannot connect to the server 10 seconds after calling the method, regardless of whether it is in the channel. If the SDK fails to rejoin the channel 20 minutes after being disconnected from Agora's edge server, the SDK stops rejoining the channel.

    +

    The SDK triggers this callback when it cannot connect to the server 10 seconds after + calling the method, regardless of whether it is in + the channel. If the SDK fails to rejoin the channel 20 minutes after being + disconnected from Agora's edge server, the SDK stops rejoining the channel.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - -
    + + + + + + connection + The connection information. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita index c17ac91499d..49ac5187f4a 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onconnectionstatechanged.dita @@ -1,101 +1,153 @@ - <ph keyref="onConnectionStateChanged" /> - Occurs when the network connection state changes. + <ph keyref="onConnectionStateChanged"/> + Occurs when the network connection state + changes. - +

    - public void onConnectionStateChanged(int state, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onConnectionStateChanged(int state, int reason) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine connectionStateChanged:(AgoraConnectionState)state reason:(AgoraConnectionChangedReason)reason; - virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { + virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { (void)state; (void)reason; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnConnectionStateChanged, ECONNECTION_STATE_TYPE, state, ECONNECTION_CHANGED_REASON_TYPE, reason); - onConnectionStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnConnectionStateChanged, ECONNECTION_STATE_TYPE, state, ECONNECTION_CHANGED_REASON_TYPE, reason); + onConnectionStateChanged?( connection: RtcConnection, state: ConnectionStateType, reason: ConnectionChangedReasonType ): void; - public virtual void OnConnectionStateChanged(RtcConnection connection, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {} - onConnectionStateChanged?( + public virtual void OnConnectionStateChanged(RtcConnection connection, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) {} + onConnectionStateChanged?( connection: RtcConnection, state: ConnectionStateType, reason: ConnectionChangedReasonType ): void; - final void Function(RtcConnection connection, ConnectionStateType state, + final void Function(RtcConnection connection, ConnectionStateType state, ConnectionChangedReasonType reason)? onConnectionStateChanged; -

    +

    -

    When the network connection state changes, the SDK triggers this callback and reports the current connection state and the reason for the change.

    +

    When the network connection state changes, the SDK triggers this callback + and reports the current connection state and the reason for the change.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - state - -

    The current connection state. See .

    -
      -
    • (1): The SDK is disconnected from Agora's edge server.
    • -
    • (2): The SDK is connecting to Agora's edge server.
    • -
    • (3): The SDK is connected to Agora's edge server.
    • -
    • (4): The SDK keeps reconnecting to the Agora edge server.
    • -
    • (5): The SDK fails to connect to Agora's edge server.
    • -
    -
    - - reason - -

    The reason for a connection state change. See .

    -

    -

      -
    • (0): The SDK is connecting to Agora's edge server.
    • -
    • (1): The SDK has joined the channel successfully.
    • -
    • (2): The connection between the SDK and Agora's edge server is interrupted.
    • -
    • (3): The network connection is blocked by the server, possibly because the user is kicked out of the channel.
    • -
    • (4): The SDK fails to join the channel.
    • -
    • (5): The SDK has left the channel.
    • -
    • (6): The connection failed because the App ID is not valid. Please rejoin the channel with a valid App ID.
    • -
    • (7): The connection failed because the channel name is invalid. Rejoin the channel with a valid channel name.
    • -
    • (8): The connection failed because the token is invalid. Possible reasons are as follows:
        -
      • The App Certificate for the project is enabled in Agora Console, but you do not use a token when joining the channel. If you enable the App Certificate, you must use a token to join the channel.
      • -
      • The uid specified when calling to join the channel is inconsistent with the uid passed in when generating the token.
      • -
    • -
    • (9): The token has expired. You need to generate a new token from your server.
    • -
    • (10): The user is banned by the server.
    • -
    • (11): The SDK tries to reconnect after setting a proxy server.
    • -
    • (12): The connection state changed because the token is renewed.
    • -
    • (13): The IP Address of the SDK client has changed, probably due to a change of the network type, IP address, or network port.
    • -
    • (14): Timeout for the keep-alive of the connection between the SDK and the Agora edge server. The SDK tries to reconnect to the server automatically.
    • -
    • (15): The SDK has rejoined the channel successfully.
    • -
    • (16): The connection between the SDK and the server is lost.
    • -
    • (17): The connection state changes due to the echo test.
    • -
    • (18): The local IP address was changed by the user.
    • -
    • (19): The user joined the same channel from different devices with the same UID.
    • -
    • (20): The number of hosts in the channel has reached the upper limit.
    • -

    -
    -
    -
    + + + + + + connection + The connection information. See . + + + state + +

    The current connection state. See .

    +
      +
    • (1): The SDK is + disconnected from Agora's edge server.
    • +
    • (2): The SDK is connecting + to Agora's edge server.
    • +
    • (3): The SDK is connected + to Agora's edge server.
    • +
    • (4): The SDK keeps + reconnecting to the Agora edge server.
    • +
    • (5): The SDK fails to connect + to Agora's edge server.
    • +
    +
    +
    + + reason + +

    The reason for + a connection state change. See .

    +

    +

      +
    • (0): The SDK is + connecting to Agora's edge server.
    • +
    • (1): The SDK has + joined the channel successfully.
    • +
    • (2): The connection + between the SDK and Agora's edge server is interrupted.
    • +
    • (3): The + network connection is blocked by the server, possibly because + the user is kicked out of the channel.
    • +
    • (4): The SDK fails + to join the channel.
    • +
    • (5): The SDK has + left the channel.
    • +
    • (6): The + connection failed because the App ID is not valid. Please rejoin + the channel with a valid App ID.
    • +
    • (7): The + connection failed because the channel name is invalid. Rejoin + the channel with a valid channel name.
    • +
    • (8): The + connection failed because the token is invalid. Possible reasons + are as follows:
        +
      • The App Certificate for the project is enabled in Agora + Console, but you do not use a token when joining the + channel. If you enable the App Certificate, you must use + a token to join the channel.
      • +
      • The uid specified when calling to join the channel is + inconsistent with the uid passed in when generating the + token.
      • +
      +
    • +
    • (9): The token + has expired. You need to generate a new token from your + server.
    • +
    • (10): The + user is banned by the server.
    • +
    • (11): The + SDK tries to reconnect after setting a proxy server.
    • +
    • (12): The + connection state changed because the token is renewed.
    • +
    • (13): + The IP Address of the SDK client has changed, probably due to a + change of the network type, IP address, or network port.
    • +
    • (14): + Timeout for the keep-alive of the connection between the SDK and + the Agora edge server. The SDK tries to reconnect to the server + automatically.
    • +
    • (15): The SDK + has rejoined the channel successfully.
    • +
    • (16): The connection + between the SDK and the server is lost.
    • +
    • (17): The connection + state changes due to the echo test.
    • +
    • (18): The local IP address was changed by the user.
    • +
    • (19): The user + joined the same channel from different devices with the same + UID.
    • +
    • (20): The + number of hosts in the channel has reached the upper limit.
    • +
    +

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncontentinspectresult.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncontentinspectresult.dita index 9f8f6247217..c43f6f79ff3 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncontentinspectresult.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oncontentinspectresult.dita @@ -1,46 +1,56 @@ - <ph keyref="onContentInspectResult" /> - Reports the result of video content moderation. + <ph keyref="onContentInspectResult"/> + Reports the result of video content + moderation. - +

    - public void onContentInspectResult(int result) {} + public void onContentInspectResult(int result) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine contentInspectResult:(AgoraContentInspectResult)result; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine contentInspectResult:(AgoraContentInspectResult)result; - virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; } - onContentInspectResult?(result: ContentInspectResult): void; - public virtual void OnContentInspectResult(CONTENT_INSPECT_RESULT result) - onContentInspectResult?(result: ContentInspectResult): void; - final void Function(ContentInspectResult result)? onContentInspectResult; -

    + virtual void onContentInspectResult(media::CONTENT_INSPECT_RESULT result) { (void)result; } + onContentInspectResult?(result: ContentInspectResult): void; + public virtual void OnContentInspectResult(CONTENT_INSPECT_RESULT result) + onContentInspectResult?(result: ContentInspectResult): void; + final void Function(ContentInspectResult result)? onContentInspectResult; +

    -

    After calling to enable the video content moderation, and setting the type parameter in to , the SDK triggers the callback and reports the result of video content moderation.

    +

    After calling to enable the video content + moderation, and setting the type parameter in to , the SDK triggers the callback and + reports the result of video content moderation.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - result - Content moderation results. See . - -

    The results of video content moderation:

      -
    • (1): The image does not contain inappropriate elements.
    • -
    • (2): The image is sexually suggestive.
    • -
    • (3): The image is pornographic.
    • -

    -
    -
    -
    + + result + Content + moderation results. See . + +

    The results of video content moderation:

      +
    • (1): The image does not + contain inappropriate elements.
    • +
    • (2): The image is sexually + suggestive.
    • +
    • (3): The image is + pornographic.
    • +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ondispose.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ondispose.dita index 071e41503ce..149d87f1d98 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ondispose.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ondispose.dita @@ -2,7 +2,8 @@ <ph keyref="onDispose"/> - Notification for disabling the custom video source. + Notification for disabling the custom video + source. @@ -13,17 +14,20 @@

    - - - virtual void onDispose() = 0; - - - - -

    + + + virtual void onDispose() = 0; + + + + +

    -

    The SDK triggers this callback to remind you to disable the custom video source device. This callback tells you that the SDK is about to release the object. Ensure that you no longer use after receiving this callback.

    +

    The SDK triggers this callback to remind you to disable the custom video source + device. This callback tells you that the SDK is about to release the object. Ensure that you no longer use after receiving this callback.

    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ondownlinknetworkinfoupdated.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ondownlinknetworkinfoupdated.dita index d833d2c1ac5..ed6c34692a6 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ondownlinknetworkinfoupdated.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ondownlinknetworkinfoupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onDownlinkNetworkInfoUpdated"/> - Occurs when the downlink network information changes. + Occurs when the downlink network information + changes. @@ -13,27 +14,30 @@

    - public void onDownlinkNetworkInfoUpdated(DownlinkNetworkInfo info) {} - - virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) { + public void onDownlinkNetworkInfoUpdated(DownlinkNetworkInfo info) {} + + virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) { (void)info; } - - - - final void Function(DownlinkNetworkInfo info)? onDownlinkNetworkInfoUpdated; -

    + + + + final void Function(DownlinkNetworkInfo info)? onDownlinkNetworkInfoUpdated; +

    -

    This callback is used for notifying the user to switch major/minor stream if needed.

    +

    This callback is used for notifying the user to switch major/minor stream if + needed.

    Parameters - - info - The downlink network information. See . - -
    + + info + The downlink network information. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita index 79c0d6fb9ef..24e40cb193b 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onencryptionerror.dita @@ -1,67 +1,79 @@ - <ph keyref="onEncryptionError" /> - Reports the built-in encryption errors. + <ph keyref="onEncryptionError"/> + Reports the built-in encryption + errors. - +

    - public void onEncryptionError(int errorType) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onEncryptionError(int errorType) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurEncryptionError:(AgoraEncryptionErrorType)errorType; - virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) { + virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) { (void)errorType; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnEncryptionError, EENCRYPTION_ERROR_TYPE, errorType); - onEncryptionError?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnEncryptionError, EENCRYPTION_ERROR_TYPE, errorType); + onEncryptionError?( connection: RtcConnection, errorType: EncryptionErrorType ): void; - public virtual void OnEncryptionError(RtcConnection connection, ENCRYPTION_ERROR_TYPE errorType) {} - onEncryptionError?( + public virtual void OnEncryptionError(RtcConnection connection, ENCRYPTION_ERROR_TYPE errorType) {} + onEncryptionError?( connection: RtcConnection, errorType: EncryptionErrorType ): void; - final void Function(RtcConnection connection, EncryptionErrorType errorType)? + final void Function(RtcConnection connection, EncryptionErrorType errorType)? onEncryptionError; -

    +

    -

    When encryption is enabled by calling , the SDK triggers this callback if an error occurs in encryption or decryption on the sender or the receiver side.

    +

    When encryption is enabled by calling , the SDK + triggers this callback if an error occurs in encryption or decryption on the sender + or the receiver side.

    Parameters - - - - - - connection - The connection information. See . - - - errorType - Details about the error type. See . - - - errorType - Error types.
      -
    • (0): Internal reasons.
    • -
    • (1): Media stream decryption error. Ensure that the receiver and the sender use the same encryption mode and key.
    • -
    • (2): Media stream encryption error.
    • -
    • (3): Data stream decryption error. Ensure that the receiver and the sender use the same encryption mode and key.
    • -
    • (4): Data stream encryption error.
    • -
    -
    -
    + + + + + + connection + The connection information. See . + + + errorType + Details about the error type. See . + + + errorType + Error types.
      +
    • (0): Internal + reasons.
    • +
    • (1): Media stream + decryption error. Ensure that the receiver and the sender use the + same encryption mode and key.
    • +
    • (2): Media stream + encryption error.
    • +
    • (3): + Data stream decryption error. Ensure that the receiver and the + sender use the same encryption mode and key.
    • +
    • (4): + Data stream encryption error.
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita index 03756296c23..d75ccb9e8cf 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onerror.dita @@ -1,137 +1,245 @@ - <ph keyref="onError" /> + <ph keyref="onError"/> Reports an error during SDK runtime. - +

    - public void onError(int err) {} + public void onError(int err) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurError:(AgoraErrorCode)errorCode; + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurError:(AgoraErrorCode)errorCode; - virtual void onError(int err, const char* msg) { + virtual void onError(int err, const char* msg) { (void)err; (void)msg; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnError, int, err, 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; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnError, int, err, 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; +

    -

    This callback indicates that an error (concerning network or media) occurs during SDK runtime. In most cases, the SDK cannot fix the issue and resume running. The SDK requires the app to take action or informs the user about the issue.

    +

    This callback indicates that an error (concerning network or media) occurs + during SDK runtime. In most cases, the SDK cannot fix the issue and resume running. + The SDK requires the app to take action or informs the user about the issue.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - errorCode - err - Error code. See . - - - msg - The error message. - - - err - Error code. - -
      -
    • (0): No error.
    • -
    • (1): General error with no classified reason. Try calling the method again.
    • -
    • (2): An invalid parameter is used. For example, the specified channel name includes illegal characters. Reset the parameter.
    • -
    • (3): The SDK is not ready. Possible reasons include the following:
        -
      • The initialization of fails. Reinitialize the .
      • -
      • No user has joined the channel when the method is called. Please check your code logic.
      • -
      • The user has not left the channel when the or method is called. Please check your code logic.
      • -
      • The audio module is disabled. The program is not complete.
      • -
    • -
    • (4): does not support the request. Possible reasons include the following:
        -
      • The method is called on devices running versions earlier than Android 5.0. Check the Android version.
      • -
      • The built-in encryption mode is incorrect, or the SDK fails to load the external encryption library. Check the encryption mode setting, or reload the external encryption library.
      • -
    • -
    • (5): The request is rejected. Possible reasons include the following:
        -
      • The initialization of fails. Reinitialize the .
      • -
      • The channel name is set as the empty string "" when joining the channel. Reset the channel name.
      • -
      • When the method is called to join multiple channels, the specified channel name is already in use. Reset the channel name.
      • -
    • -
    • (6): The buffer size is insufficient to store the returned data.
    • -
    • (7): A method is called before the initialization of . Ensure that the object is initialized before using this method.
    • -
    • (8): Invalid state.
    • -
    • (9): Permission to access is not granted. Check whether your app has access to the audio and video device.
    • -
    • (10): A timeout occurs. Some API calls require the SDK to return the execution result. This error occurs if the SDK takes too long (more than 10 seconds) to return the result.
    • -
    • (17): The request to join the channel is rejected. Possible reasons include the following:
        -
      • The user is already in the channel. Agora recommends that you use the callback to determine whether the user exists in the channel. Do not call this method to join the channel unless you receive the (1) state.
      • -
      • After calling for the call test, the user tries to join the channel without calling to end the current test. To join a channel, the call test must be ended by calling .
      • -
    • -
    • (18): Fails to leave the channel. Possible reasons include the following:
        -
      • The user has left the channel before calling the method. Stop calling this method to clear this error.
      • -
      • The user calls the method to leave the channel before joining the channel. In this case, no extra operation is needed.
      • -
    • -
    • (19): Resources are already in use.
    • -
    • (20): The request is abandoned by the SDK, possibly because the request has been sent too frequently.
    • -
    • (22): The SDK fails to allocate resources because your app uses too many system resources or system resources are insufficient.
    • -
    • (101): The App ID is invalid. Rejoin the channel with a valid App ID.
    • -
    • (102): The channel name is invalid. A possible reason is that the parameter's data type is incorrect. Rejoin the channel with a valid channel name.
    • -
    • (103): Fails to get server resources in the specified region. Try another region when initializing .
    • -
    • (109): The current token has expired. Generate a new token on the server and call to pass the token.
      - -
      Deprecated:
      -
      This enumerator is deprecated. Use (9) in the callback instead.
      -
      -
      -
    • -
    • (110): Invalid token Possible reasons are as follows:
        -
      • App Certificate is enabled in Agora Console, but the code still uses App ID for authentication. Once App Certificate is enabled for a project, you must use token-based authentication.
      • -
      • The uid used to generate the token is not the same as the uid used to join the channel.
      • -
      -
      - -
      Deprecated:
      -
      This enumerator is deprecated. Use (8) in the callback instead.
      -
      -
      -
    • -
    • (111): The network connection is interrupted. The SDK triggers this callback when it loses connection with the server for more than four seconds after the connection is established.
    • -
    • (112): The network connection is lost. Occurs when the SDK cannot reconnect to Agora's edge server 10 seconds after its connection to the server is interrupted.
    • -
    • (113): The user is not in the channel when calling the method.
    • -
    • (114): The data size exceeds 1 KB when calling the method.
    • -
    • (115): The data bitrate exceeds 6 KB/s when calling the method.
    • -
    • (116): More than five data streams are created when calling the method.
    • -
    • (117): The data stream transmission times out.
    • -
    • (119): Switching roles fails; try rejoining the channel.
    • -
    • (120): Decryption fails. The user might have entered an incorrect password to join the channel. Check the entered password, or tell the user to try rejoining the channel.
    • -
    • (121): The user ID is invalid.
    • -
    • (123): The user is banned by the server.
    • -
    • (130): The SDK does not support pushing encrypted streams to CDN. Stream encryption is enabled when the user calls the method.
    • -
    • (134): The user account is invalid, possibly because it contains invalid parameters.
    • -
    • (1001): The SDK fails to load the media engine.
    • -
    • (1005): A general error occurs (no specified reason). Check whether the audio device is already in use by another app, or try rejoining the channel.
    • -
    • (1008): An error occurs when initializing the playback device. Check whether the playback device is already in use by another app, or try rejoining the channel.
    • -
    • (1009): An error occurs when starting the playback device. Check the playback device.
    • -
    • (1010): An error occurs when stopping the playback device.
    • -
    • (1011): An error occurs when initializing the recording device. Check the recording device, or try rejoining the channel.
    • -
    • (1012): An error occurs when starting the recording device. Check the recording device.
    • -
    • (1013): An error occurs when stopping the recording device.
    • -
    • (1501): Permission to access the camera is not granted. Check whether permission to access the camera permission is granted.
    • + + + + + + errorCode + err + Error code. See . + + + msg + The error message. + + + err + Error code. + +
        +
      • (0): No error.
      • +
      • (1): General error with no classified + reason. Try calling the method again.
      • +
      • (2): An invalid parameter is + used. For example, the specified channel name includes illegal + characters. Reset the parameter.
      • +
      • (3): The SDK is not ready. Possible + reasons include the following:
          +
        • The initialization of fails. + Reinitialize the .
        • +
        • No user has joined the channel when the method is called. + Please check your code logic.
        • +
        • The user has not left the channel when the or method is + called. Please check your code logic.
        • +
        • The audio module is disabled. The program is not + complete.
        • +
      • +
      • (4): + does not support the request. Possible reasons include the following:
          +
        • The + method is called on devices running versions earlier than + Android 5.0. Check the Android version.
        • +
        • The built-in encryption mode is incorrect, or the SDK fails + to load the external encryption library. Check the + encryption mode setting, or reload the external encryption + library.
        • +
      • +
      • (5): The request is rejected. Possible + reasons include the following:
          +
        • The initialization of fails. + Reinitialize the .
        • +
        • The channel name is set as the empty string + "" when joining the channel. Reset the + channel name.
        • +
        • When the method is called to + join multiple channels, the specified channel name is + already in use. Reset the channel name.
        • +
      • +
      • (6): The buffer size is + insufficient to store the returned data.
      • +
      • (7): A method is called before the + initialization of . Ensure that the + object is initialized before + using this method.
      • +
      • (8): Invalid state.
      • +
      • (9): Permission to access is not + granted. Check whether your app has access to the audio and video + device.
      • +
      • (10): A timeout occurs. Some API calls + require the SDK to return the execution result. This error occurs if + the SDK takes too long (more than 10 seconds) to return the + result.
      • +
      • (17): The request to join + the channel is rejected. Possible reasons include the following:
          +
        • The user is already in the channel. Agora recommends that + you use the + callback to determine whether the user exists in the + channel. Do not call this method to join the channel unless + you receive the (1) state.
        • +
        • After calling for the call + test, the user tries to join the channel without calling + to end the current test. + To join a channel, the call test must be ended by calling + .
        • +
      • +
      • (18): Fails to leave the + channel. Possible reasons include the following:
          +
        • The user has left the channel before calling the method. Stop calling this + method to clear this error.
        • +
        • The user calls the method + to leave the channel before joining the channel. In this + case, no extra operation is needed.
        • +
      • +
      • (19): Resources are already in + use.
      • +
      • (20): The request is abandoned by the SDK, + possibly because the request has been sent too frequently.
      • +
      • (22): The SDK fails to allocate + resources because your app uses too many system resources or system + resources are insufficient.
      • +
      • (101): The App ID is invalid. + Rejoin the channel with a valid App ID.
      • +
      • (102): The channel name is + invalid. A possible reason is that the parameter's data type is + incorrect. Rejoin the channel with a valid channel name.
      • +
      • (103): Fails to get server + resources in the specified region. Try another region when + initializing .
      • +
      • (109): The current token has + expired. Generate a new token on the server and call to pass the token.
        + +
        Deprecated:
        +
        This enumerator is deprecated. Use (9) in + the callback + instead.
        +
        +
        +
      • +
      • (110): Invalid token Possible + reasons are as follows:
          +
        • App Certificate is enabled in Agora Console, but the code + still uses App ID for authentication. Once App Certificate + is enabled for a project, you must use token-based + authentication.
        • +
        • The uid used to generate the token is not + the same as the uid used to join the + channel.
        • +
        +
        + +
        Deprecated:
        +
        This enumerator is deprecated. Use (8) in + the callback + instead.
        +
        +
        +
      • +
      • (111): The network + connection is interrupted. The SDK triggers this callback when it + loses connection with the server for more than four seconds after + the connection is established.
      • +
      • (112): The network connection is + lost. Occurs when the SDK cannot reconnect to Agora's edge server 10 + seconds after its connection to the server is interrupted.
      • +
      • (113): The user is not in the + channel when calling the + method.
      • +
      • (114): The data size exceeds 1 KB + when calling the method.
      • +
      • (115): The data bitrate exceeds 6 + KB/s when calling the + method.
      • +
      • (116): More than five data + streams are created when calling the method.
      • +
      • (117): The data stream + transmission times out.
      • +
      • (119): Switching + roles fails; try rejoining the channel.
      • +
      • (120): Decryption fails. The + user might have entered an incorrect password to join the channel. + Check the entered password, or tell the user to try rejoining the + channel.
      • +
      • (121): The user ID is + invalid.
      • +
      • (123): The user is + banned by the server.
      • +
      • (130): + The SDK does not support pushing encrypted streams to CDN. + Stream encryption is enabled when the user + calls the method.
      • +
      • (134): The user account is + invalid, possibly because it contains invalid parameters.
      • +
      • (1001): The SDK fails to load + the media engine.
      • +
      • (1005): A general error occurs + (no specified reason). Check whether the audio device is already in + use by another app, or try rejoining the channel.
      • +
      • (1008): An error occurs when + initializing the playback device. Check whether the playback device + is already in use by another app, or try rejoining the channel.
      • +
      • (1009): An error occurs when + starting the playback device. Check the playback device.
      • +
      • (1010): An error occurs when + stopping the playback device.
      • +
      • (1011): An error occurs when + initializing the recording device. Check the recording device, or + try rejoining the channel.
      • +
      • (1012): An error occurs when + starting the recording device. Check the recording device.
      • +
      • (1013): An error occurs when + stopping the recording device.
      • +
      • (1501): Permission to + access the camera is not granted. Check whether permission to access + the camera permission is granted.
      -
      -
    + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerror.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerror.dita index bde47ba4034..d22cbc26357 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerror.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerror.dita @@ -1,71 +1,76 @@ - <ph keyref="onExtensionError" /> - Occurs when the extension runs incorrectly. + <ph keyref="onExtensionError"/> + Occurs when the extension runs + incorrectly. - +

    - void onError(String provider, String extension, int error, String message); - - (void)onExtensionError:(NSString * __nullable)provider + void onError(String provider, String extension, int error, String message); + - (void)onExtensionError:(NSString * __nullable)provider extension:(NSString * __nullable)extension error:(int)error message:(NSString * __nullable)message; - virtual void onExtensionError(const char* provider, const char* extension, int error, const char* message) { + virtual void onExtensionError(const char* provider, const char* extension, int error, const char* message) { (void)provider; (void)extension; (void)error; (void)message; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionError, FString, provider, FString, extension, int, error, FString, message); - onExtensionError?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionError, FString, provider, FString, extension, int, error, FString, message); + onExtensionError?( provider: string, extension: string, error: number, message: string ): void; - public virtual void OnExtensionError(string provider, string extension, int error, string message) { } - onExtensionError?( + public virtual void OnExtensionError(string provider, string extension, int error, string message) { } + onExtensionError?( provider: string, extension: string, error: number, message: string ): void; - final void Function( + final void Function( String provider, String extension, int error, String message)? onExtensionError; -

    +

    -

    In case of extension enabling failure or runtime errors, the extension triggers this callback and reports the error code along with the reasons.

    +

    In case of extension enabling failure or runtime errors, the extension triggers this + callback and reports the error code along with the reasons.

    Parameters - - - - - - extension - The name of the extension. - - - error - Error code. For details, see the extension documentation provided by the extension provider. - - - message - Reason. For details, see the extension documentation provided by the extension provider. - -
    + + + + + + extension + The name of the extension. + + + error + Error code. For details, see the extension documentation provided by the + extension provider. + + + message + Reason. For details, see the extension documentation provided by the + extension provider. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrored.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrored.dita index 0bfb2bad8af..59ec4126417 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrored.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionerrored.dita @@ -2,7 +2,8 @@ <ph keyref="onExtensionError"/> - Occurs when the extension runs incorrectly. + Occurs when the extension runs + incorrectly. @@ -13,55 +14,61 @@

    - void onError(String provider, String extension, int error, String message); - - (void)onExtensionError:(NSString * __nullable)provider + void onError(String provider, String extension, int error, String message); + - (void)onExtensionError:(NSString * __nullable)provider extension:(NSString * __nullable)extension error:(int)error message:(NSString * __nullable)message; - virtual void onExtensionError(const char* provider, const char* extension, int error, const char* message) { + virtual void onExtensionError(const char* provider, const char* extension, int error, const char* message) { (void)provider; (void)extension; (void)error; (void)message; } - onExtensionErrored?(provider: string, extName: string, error: number, msg: string): void; - public virtual void OnExtensionErrored(string provider, string ext_name, int error, string msg) { } - onExtensionErrored?( + onExtensionErrored?(provider: string, extName: string, error: number, msg: string): void; + public virtual void OnExtensionErrored(string provider, string ext_name, int error, string msg) { } + onExtensionErrored?( provider: string, extName: string, error: number, msg: string ): void; - final void Function(String provider, String extName, int error, String msg)? + final void Function(String provider, String extName, int error, String msg)? onExtensionErrored; -

    + +

    -

    When calling () fails or the extension runs in error, the extension triggers this callback and reports the error code and reason.

    +

    When calling () fails or the extension runs in error, the extension triggers + this callback and reports the error code and reason.

    Parameters - - - - - - extension - ext_name - extName - The name of the extension. - - - error - The error code. For details, see the extension documentation provided by the extension provider. - - - message - msg - Reason. For details, see the extension documentation provided by the extension provider. - -
    + + + + + + extension + ext_name + extName + The name of the extension. + + + error + The error code. For details, see the extension documentation provided by the + extension provider. + + + message + msg + Reason. For details, see the extension documentation provided by the + extension provider. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionevent.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionevent.dita index 16389b1fc64..d421f94cb52 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionevent.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionevent.dita @@ -1,74 +1,76 @@ - <ph keyref="onExtensionEvent" /> + <ph keyref="onExtensionEvent"/> The event callback of the extension. - +

    - void onEvent(String provider, String extension, String key, String value); - - (void)onEvent:(NSString * __nullable)provider + void onEvent(String provider, String extension, String key, String value); + - (void)onEvent:(NSString * __nullable)provider extension:(NSString * __nullable)extension key:(NSString * __nullable)key value:(NSString * __nullable)value; @end - virtual void onExtensionEvent(const char* provider, const char* extension, const char* key, const char* value) { + virtual void onExtensionEvent(const char* provider, const char* extension, const char* key, const char* value) { (void)provider; (void)extension; (void)key; (void)value; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionEvent, FString, provider, FString, extension, FString, key, FString, value); - onExtensionEvent?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnExtensionEvent, FString, provider, FString, extension, FString, key, FString, value); + onExtensionEvent?( provider: string, extension: string, key: string, value: string ): void; - public virtual void OnExtensionEvent(string provider, string extension, string key, string value) { } - onExtensionEvent?( + public virtual void OnExtensionEvent(string provider, string extension, string key, string value) { } + onExtensionEvent?( provider: string, extension: string, key: string, value: string ): void; - final void Function( + final void Function( String provider, String extName, String key, String value)? onExtensionEvent; -

    +

    -

    To listen for events while the extension is running, you need to register this callback.

    +

    To listen for events while the extension is running, you need to register this + callback.

    Parameters - - - - - - extension - extName - The name of the extension. - - - - - - - - - -
    + + + + + + extension + extName + The name of the extension. + + + + + + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstarted.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstarted.dita index 348a2e93f17..92a3b237f70 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstarted.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstarted.dita @@ -1,32 +1,32 @@ - <ph keyref="onExtensionStarted" /> + <ph keyref="onExtensionStarted"/> Occurs when the extension is enabled. - +

    - void onStarted(String provider, String extension); - - (void)onExtensionStarted:(NSString * __nullable)provider + void onStarted(String provider, String extension); + - (void)onExtensionStarted:(NSString * __nullable)provider extension:(NSString * __nullable)extension; - virtual void onExtensionStarted(const char* provider, const char* extension) { + virtual void onExtensionStarted(const char* provider, const char* extension) { (void)provider; (void)extension; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStarted, FString, provider, FString, extension); - onExtensionStarted?(provider: string, extension: string): void; - public virtual void OnExtensionStarted(string provider, string extension) { } - onExtensionStarted?(provider: string, extension: string): void; - final void Function(String provider, String extName)? onExtensionStarted; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStarted, FString, provider, FString, extension); + onExtensionStarted?(provider: string, extension: string): void; + public virtual void OnExtensionStarted(string provider, string extension) { } + onExtensionStarted?(provider: string, extension: string): void; + final void Function(String provider, String extName)? onExtensionStarted; +

    The extension triggers this callback after it is successfully enabled.

    @@ -34,15 +34,16 @@
    Parameters - - - - - - extension - extName - The name of the extension. - -
    + + + + + + extension + extName + The name of the extension. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstopped.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstopped.dita index 842f1cc8786..7c2659f0ac9 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstopped.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onextensionstopped.dita @@ -1,32 +1,32 @@ - <ph keyref="onExtensionStopped" /> + <ph keyref="onExtensionStopped"/> Occurs when the extension is disabled. - +

    - void onStopped(String provider, String extension); - - (void)onExtensionStopped:(NSString * __nullable)provider + void onStopped(String provider, String extension); + - (void)onExtensionStopped:(NSString * __nullable)provider extension:(NSString * __nullable)extension; - virtual void onExtensionStopped(const char* provider, const char* extension) { + virtual void onExtensionStopped(const char* provider, const char* extension) { (void)provider; (void)extension; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStopped, FString, provider, FString, extension); - onExtensionStopped?(provider: string, extension: string): void; - public virtual void OnExtensionStopped(string provider, string extension) { } - onExtensionStopped?(provider: string, extension: string): void; - final void Function(String provider, String extName)? onExtensionStopped; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnExtensionStopped, FString, provider, FString, extension); + onExtensionStopped?(provider: string, extension: string): void; + public virtual void OnExtensionStopped(string provider, string extension) { } + onExtensionStopped?(provider: string, extension: string): void; + final void Function(String provider, String extName)? onExtensionStopped; +

    The extension triggers this callback after it is successfully destroyed.

    @@ -34,14 +34,15 @@
    Parameters - - - - - - - - -
    + + + + + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita index 2d575d33411..211f7ee3650 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfacepositionchanged.dita @@ -1,22 +1,23 @@ - <ph keyref="onFacePositionChanged" /> - Reports the face detection result of the local user. + <ph keyref="onFacePositionChanged"/> + Reports the face detection result of the local + user. - +

    - public void onFacePositionChanged( + public void onFacePositionChanged( int imageWidth, int imageHeight, AgoraFacePositionInfo[] faceRectArr) {} - - (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, + - (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; @@ -25,83 +26,115 @@ (void) vecDistance; (void) numFaces; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnFacePositionChanged, int, imageWidth, int, imageHeight, FRectangle, vecRectangle, TArray<int>, vecDistance, int, numFaces); - onFacePositionChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnFacePositionChanged, int, imageWidth, int, imageHeight, FRectangle, vecRectangle, TArray<int>, vecDistance, int, numFaces); + onFacePositionChanged?( imageWidth: number, imageHeight: number, vecRectangle: Rectangle, vecDistance: number, numFaces: number ): void; - public virtual void OnFacePositionChanged(int imageWidth, int imageHeight, Rectangle vecRectangle, int[] vecDistance, int numFaces) {} - onFacePositionChanged?( + public virtual void OnFacePositionChanged(int imageWidth, int imageHeight, Rectangle vecRectangle, int[] vecDistance, int numFaces) {} + onFacePositionChanged?( imageWidth: number, imageHeight: number, vecRectangle: Rectangle, vecDistance: number, numFaces: number ): void; - final void Function(int imageWidth, int imageHeight, Rectangle vecRectangle, + final void Function(int imageWidth, int imageHeight, Rectangle vecRectangle, int vecDistance, int numFaces)? onFacePositionChanged; -

    +

    -

    Once you enable face detection by calling (), you can get the following information on the local user in real-time:

      -
    • The width and height of the local video.
    • -
    • The position of the human face in the local view.
    • -
    • The distance between the human face and the screen.
    • -

    -

    This value is based on the fitting calculation of the local video size and the position of the human face.

    +

    Once you enable face detection by calling (), you can get the following + information on the local user in real-time:

      +
    • The width and height of the local video.
    • +
    • The position of the human face in the local view.
    • +
    • The distance between the human face and the screen.
    • +
    +

    +

    This value is based on the fitting calculation of the local video size and the + position of the human face.

    -
      -
    • This callback is for Android and iOS only.
    • -
    • When it is detected that the face in front of the camera disappears, the callback will be triggered immediately. When no human face is detected, the frequency of this callback to be triggered wil be decreased to reduce power consumption on the local device.
    • -
    • The SDK stops triggering this callback when a human face is in close proximity to the screen.
    • -
    • On Android, the value of distance reported in this callback may be slightly different from the actual distance. Therefore, Agora does not recommend using it for accurate calculation.
    • -
    +
      +
    • This callback is for Android and iOS + only.
    • +
    • When it is detected that the face in front of the camera disappears, the + callback will be triggered immediately. When no human face is detected, the + frequency of this callback to be triggered wil be decreased to reduce power + consumption on the local device.
    • +
    • The SDK stops triggering this callback when a human face is in close + proximity to the screen.
    • +
    • On Android, the value of distance + reported in this callback may be slightly different from the actual + distance. Therefore, Agora does not recommend using + it for accurate calculation.
    • +
    + +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - imageWidth - width - The width (px) of the video image captured by the local camera. - - - imageHeight - height - The height (px) of the video image captured by the local camera. - - - faceRectArr - faces - Information of the detected face. See . The number of array reported in this callback is based on the faces detected. The length of the array can be 0, which means that no human face is detected in front of the camera. - - - vecRectangle - -

    An array of numFaces, representing the detected face information:

      -
    • x: The x-coordinate (px) of the human face in the local view. Taking the top left corner of the view as the origin, the x-coordinate represents the horizontal position of the human face relative to the origin.
    • -
    • y: The y-coordinate (px) of the human face in the local view. Taking the top left corner of the view as the origin, the y-coordinate represents the vertical position of the human face relative to the origin.
    • -
    • width: The width (px) of the human face in the captured view.
    • -
    • height: The height (px) of the human face in the captured view.
    • -

    -
    - The information of the detected human face. See . -
    - - vecDistance - An array of numFaces, representing the distance (cm) between a face and the device screen. - The distance between the human face and the device screen (cm). - - - numFaces - The number of faces detected. If the value is 0, it means that no human face is detected. - -
    + + + + + + imageWidth + width + The width (px) of the video image captured by the local camera. + + + imageHeight + height + The height (px) of the video image captured by the local camera. + + + faceRectArr + faces + Information of the detected face. See . The number of array reported + in this callback is based on the faces detected. The length of the array can + be 0, which means that no human face is detected in front of the + camera. + + + vecRectangle + +

    An array of numFaces, representing the detected face information:

      +
    • x: The x-coordinate (px) of the human face in + the local view. Taking the top left corner of the view as the + origin, the x-coordinate represents the horizontal position of + the human face relative to the origin.
    • +
    • y: The y-coordinate (px) of the human face in + the local view. Taking the top left corner of the view as the + origin, the y-coordinate represents the vertical position of the + human face relative to the origin.
    • +
    • width: The width (px) of the human face in the + captured view.
    • +
    • height: The height (px) of the human face in + the captured view.
    • +
    +

    +
    + The information of the detected human + face. See . +
    + + vecDistance + An array of numFaces, + representing the distance (cm) between a face and the device screen. + The distance between the human face and + the device screen (cm). + + + numFaces + The number of faces detected. If the value is 0, it means that no human face + is detected. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita index a313724ee33..201291ccc88 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframe.dita @@ -2,7 +2,8 @@ <ph keyref="onFirstLocalAudioFrame"/> - Occurs when the first audio frame is published. + Occurs when the first audio frame is + published. @@ -13,32 +14,34 @@

    - - - virtual void onFirstLocalAudioFrame(int elapsed) { + + + virtual void onFirstLocalAudioFrame(int elapsed) { (void)elapsed; } - - public virtual void OnFirstLocalAudioFrame(int elapsed) - - -

    + + public virtual void OnFirstLocalAudioFrame(int elapsed) + + +

    - -
    Deprecated:
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    Use instead.
    +
    <ph keyref="callback-section-title"/> - - elapsed - The time elapsed(ms) from the local client calling until the SDK triggers this callback. - -
    + + elapsed + The time elapsed(ms) from the local client calling until the SDK triggers this callback. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita index 93480cfbbf4..ee603cad9c7 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalaudioframepublished.dita @@ -1,61 +1,75 @@ - <ph keyref="onFirstLocalAudioFramePublished" /> - Occurs when the first audio frame is published. + + <ph keyref="onFirstLocalAudioFramePublished"/> + + Occurs when the first audio frame is + published. - +

    - public void onFirstLocalAudioFramePublished(int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed; - virtual void onFirstLocalAudioFramePublished(int elapsed) { + public void onFirstLocalAudioFramePublished(int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed; + virtual void onFirstLocalAudioFramePublished(int elapsed) { (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFirstLocalAudioFramePublished, int, elapsed); - onFirstLocalAudioFramePublished?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFirstLocalAudioFramePublished, int, elapsed); + onFirstLocalAudioFramePublished?( connection: RtcConnection, elapsed: number ): void; - public virtual void OnFirstLocalAudioFramePublished(RtcConnection connection, int elapsed) {} - onFirstLocalAudioFramePublished?( + public virtual void OnFirstLocalAudioFramePublished(RtcConnection connection, int elapsed) {} + onFirstLocalAudioFramePublished?( connection: RtcConnection, elapsed: number ): void; - final void Function(RtcConnection connection, int elapsed)? + final void Function(RtcConnection connection, int elapsed)? onFirstLocalAudioFramePublished; -

    +

    The SDK triggers this callback under one of the following circumstances:

      -
    • The local client enables the audio module and calls successfully.
    • -
    • The local client calls () and () in sequence.
    • -
    • The local client calls and in sequence.
    • -
    • The local client calls to successfully push the audio frame to the SDK.
    • -
    • The local client calls to successfully push the audio frame to the SDK.
    • -

    +
  • The local client enables the audio module and calls successfully.
  • +
  • The local client calls () and () in sequence.
  • +
  • The local client calls and in sequence.
  • +
  • The local client calls to successfully push the audio frame to the + SDK.
  • +
  • The local client calls to successfully push the audio frame to the + SDK.
  • + +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - elapsed - Time elapsed (ms) from the local user calling until the SDK triggers this callback. - -
    + + + + + + connection + The connection information. See . + + + elapsed + Time elapsed (ms) from the local user calling until the SDK triggers this callback. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita index c7a2b7a441b..bfcb4c2e096 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframe.dita @@ -1,82 +1,92 @@ - <ph keyref="onFirstLocalVideoFrame" /> - Occurs when the first local video frame is displayed on the local video view. + + <ph keyref="onFirstLocalVideoFrame"/> + + Occurs when the first local video frame is displayed + on the local video view. - +

    - public void onFirstLocalVideoFrame( + public void onFirstLocalVideoFrame( Constants.VideoSourceType source, int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (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) { + virtual void onFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) { (void)source; (void)width; (void)height; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstLocalVideoFrame, EVIDEO_SOURCE_TYPE, source, int, width, int, height, int, elapsed); - onFirstLocalVideoFrame?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstLocalVideoFrame, EVIDEO_SOURCE_TYPE, source, int, width, int, height, int, elapsed); + onFirstLocalVideoFrame?( source: VideoSourceType, width: number, height: number, elapsed: number ): void; - public virtual void OnFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) { } - onFirstLocalVideoFrame?( + public virtual void OnFirstLocalVideoFrame(VIDEO_SOURCE_TYPE source, int width, int height, int elapsed) { } + onFirstLocalVideoFrame?( source: VideoSourceType, width: number, height: number, elapsed: number ): void; - final void Function( + final void Function( VideoSourceType source, int width, int height, int elapsed)? onFirstLocalVideoFrame; -

    +

    -

    The SDK triggers this callback when the first local video frame is displayed on the local video view.

    +

    The SDK triggers this callback when the first local video frame is + displayed on the local video view.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - - - + + + + + + + + - size - The size of the first local video frame. - - - width - The width (px) of the first local video frame. - - - height - The height (px) of the first local video frame. - - - elapsed - Time elapsed (ms) from the local user calling until the SDK triggers this callback. If you call before calling , then this parameter is the time elapsed from calling the method until the SDK triggers this callback. - -
    + size + The size of the first local video frame. + + + width + The width (px) of the first local video frame. + + + height + The height (px) of the first local video frame. + + + elapsed + Time elapsed (ms) from the local user calling until the SDK triggers this callback. If + you call before calling , then this parameter is the time elapsed + from calling the method until the + SDK triggers this callback. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita index 172bc97384d..3d9bbf00ce6 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstlocalvideoframepublished.dita @@ -1,69 +1,79 @@ - <ph keyref="onFirstLocalVideoFramePublished" /> - Occurs when the first video frame is published. + <ph keyref="onFirstLocalVideoFramePublished"/> + Occurs when the first video frame is + published. - +

    - public void onFirstLocalVideoFramePublished(Constants.VideoSourceType source, int elapsed) {} + public void onFirstLocalVideoFramePublished(Constants.VideoSourceType source, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFramePublishedWithElapsed:(NSInteger)elapsed sourceType:(AgoraVideoSourceType)sourceType; - virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) { + virtual void onFirstLocalVideoFramePublished(VIDEO_SOURCE_TYPE source, int elapsed) { (void)source; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstLocalVideoFramePublished, EVIDEO_SOURCE_TYPE, source, int, elapsed); - onFirstLocalVideoFramePublished?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstLocalVideoFramePublished, EVIDEO_SOURCE_TYPE, source, int, elapsed); + onFirstLocalVideoFramePublished?( connection: RtcConnection, elapsed: number ): void; - public virtual void OnFirstLocalVideoFramePublished(RtcConnection connection, int elapsed) {} - onFirstLocalVideoFramePublished?( + public virtual void OnFirstLocalVideoFramePublished(RtcConnection connection, int elapsed) {} + onFirstLocalVideoFramePublished?( connection: RtcConnection, elapsed: number ): void; - final void Function(RtcConnection connection, int elapsed)? + final void Function(RtcConnection connection, int elapsed)? onFirstLocalVideoFramePublished; -

    +

    The SDK triggers this callback under one of the following circumstances:

      -
    • The local client enables the video module and calls successfully.
    • -
    • The local client calls () and () in sequence.
    • -
    • The local client calls and in sequence.
    • -
    • The local client calls to successfully push the video frame to the SDK.
    • -

    +
  • The local client enables the video module and calls successfully.
  • +
  • The local client calls () and () in sequence.
  • +
  • The local client calls and in sequence.
  • +
  • The local client calls to successfully push the video frame to the + SDK.
  • + +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - + + + + + + connection + The connection information. See . + - - + + - - elapsed - Time elapsed (ms) from the local user calling until the SDK triggers this callback. - -
    + + elapsed + Time elapsed (ms) from the local user calling until the SDK triggers this callback. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita index ccc4e17096e..93107796ca8 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudiodecoded.dita @@ -1,80 +1,90 @@ - <ph keyref="onFirstRemoteAudioDecoded" /> - Occurs when the SDK decodes the first remote audio frame for playback. + <ph keyref="onFirstRemoteAudioDecoded"/> + Occurs when the SDK decodes the first remote audio + frame for playback. - +

    - public void onFirstRemoteAudioDecoded(int uid, int elapsed) { + public void onFirstRemoteAudioDecoded(int uid, int elapsed) { } - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; - virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) { + virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) { (void)uid; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstRemoteAudioDecoded, int64, uid, int, elapsed); - onFirstRemoteAudioDecoded?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstRemoteAudioDecoded, int64, uid, int, elapsed); + onFirstRemoteAudioDecoded?( connection: RtcConnection, uid: number, elapsed: number ): void; - public virtual void OnFirstRemoteAudioDecoded(RtcConnection connection, uint uid, int elapsed) { } - onFirstRemoteAudioDecoded?( + public virtual void OnFirstRemoteAudioDecoded(RtcConnection connection, uint uid, int elapsed) { } + onFirstRemoteAudioDecoded?( connection: RtcConnection, uid: number, elapsed: number ): void; - final void Function(RtcConnection connection, int uid, int elapsed)? + final void Function(RtcConnection connection, int uid, int elapsed)? onFirstRemoteAudioDecoded; -

    +

    - -
    Deprecated:
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    Use instead.
    +

    The SDK triggers this callback under one of the following circumstances:

      -
    • The remote user joins the channel and sends the audio stream for the first time.
    • -
    • The remote user's audio is offline and then goes online to re-send audio. It means the local user cannot receive audio in 15 seconds. Reasons for such an interruption include:
        -
      • The remote user leaves channel.
      • -
      • The remote user drops offline.
      • -
      • The remote user calls to stop sending the audio stream.
      • -
      • The remote user calls to disable audio.
      • -
    • -

    +
  • The remote user joins the channel and sends the audio stream for the first + time.
  • +
  • The remote user's audio is offline and then goes online to re-send audio. It + means the local user cannot receive audio in 15 seconds. Reasons for such an + interruption include:
      +
    • The remote user leaves channel.
    • +
    • The remote user drops offline.
    • +
    • The remote user calls to stop + sending the audio stream.
    • +
    • The remote user calls to disable + audio.
    • +
    +
  • + +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - engine - One object. - - - - - - - uid - The user ID of the remote user. - - - elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. - -
    + + engine + One object. + + + + + + + uid + The user ID of the remote user. + + + elapsed + The time elapsed (ms) from the local user calling until the SDK triggers this callback. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudioframe.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudioframe.dita index dce19b12557..88d2cece0db 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudioframe.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremoteaudioframe.dita @@ -1,72 +1,74 @@ - <ph keyref="onFirstRemoteAudioFrame" /> - Occurs when the SDK receives the first audio frame from a specific remote user. + <ph keyref="onFirstRemoteAudioFrame"/> + Occurs when the SDK receives the first audio frame from + a specific remote user. - +

    - public void onFirstRemoteAudioFrame(int uid, int elapsed) { + public void onFirstRemoteAudioFrame(int uid, int elapsed) { } - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteAudioFrameOfUid: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 { + virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) AGORA_DEPRECATED_ATTRIBUTE { (void)uid; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstRemoteAudioFrame, int64, uid, int, elapsed); - onFirstRemoteAudioFrame?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnFirstRemoteAudioFrame, int64, uid, int, elapsed); + onFirstRemoteAudioFrame?( connection: RtcConnection, userId: number, elapsed: number ): void; - public virtual void OnFirstRemoteAudioFrame(RtcConnection connection, uint userId, int elapsed) { } - onFirstRemoteAudioFrame?( + public virtual void OnFirstRemoteAudioFrame(RtcConnection connection, uint userId, int elapsed) { } + onFirstRemoteAudioFrame?( connection: RtcConnection, userId: number, elapsed: number ): void; - final void Function(RtcConnection connection, int userId, int elapsed)? + final void Function(RtcConnection connection, int userId, int elapsed)? onFirstRemoteAudioFrame; -

    +

    - -
    Deprecated:
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    Use instead.
    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - engine - One object. - - - - - - - uid - userId - The user ID of the remote user. - - - elapsed - - -
    + + engine + One object. + + + + + + + uid + userId + The user ID of the remote user. + + + elapsed + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita index 5cefbdc4426..bc693ae657a 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideodecoded.dita @@ -1,22 +1,23 @@ - <ph keyref="onFirstRemoteVideoDecoded" /> - Occurs when the first remote video frame is received and decoded. + <ph keyref="onFirstRemoteVideoDecoded"/> + Occurs when the first remote video frame is received + and decoded. - +

    - public void onFirstRemoteVideoDecoded(int uid, int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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, + virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) { @@ -25,71 +26,78 @@ (void)height; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstRemoteVideoDecoded, int64, uid, int, width, int, height, int, elapsed); - onFirstRemoteVideoDecoded?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstRemoteVideoDecoded, 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?( + 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, + final void Function(RtcConnection connection, int remoteUid, int width, int height, int elapsed)? onFirstRemoteVideoDecoded; -

    +

    -

    The SDK triggers this callback under one of the following circumstances:

      -
    • The remote user joins the channel and sends the video stream.
    • -
    • The remote user stops sending the video stream and re-sends it after 15 seconds. Reasons for such an interruption include:
        -
      • The remote user leaves the channel.
      • -
      • The remote user drops offline.
      • -
      • The remote user calls to disable video.
      • -
    • -

    +

    The SDK triggers this callback under one of the following circumstances:

      +
    • The remote user joins the channel and sends the video stream.
    • +
    • The remote user stops sending the video stream and re-sends it after 15 + seconds. Reasons for such an interruption include:
        +
      • The remote user leaves the channel.
      • +
      • The remote user drops offline.
      • +
      • The remote user calls to disable + video.
      • +
      +
    • +
    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - uid - The user ID of the remote user sending the video stream. - - - - - - - size - Video dimensions. - - - connection - The connection information. See . - - - remoteUid - The user ID of the remote user sending the video stream. - - - width - The width (px) of the video stream. - - - height - The height (px) of the video stream. - - - elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. - -
    + + uid + The user ID of the remote user sending the video stream. + + + + + + + size + Video dimensions. + + + connection + The connection information. See . + + + remoteUid + The user ID of the remote user sending the video stream. + + + width + The width (px) of the video stream. + + + height + The height (px) of the video stream. + + + elapsed + The time elapsed (ms) from the local user calling until the SDK triggers this callback. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita index b3c6de240aa..10e72855e37 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onfirstremotevideoframe.dita @@ -1,80 +1,86 @@ - <ph keyref="onFirstRemoteVideoFrame" /> - Occurs when the renderer receives the first frame of the remote video. + + <ph keyref="onFirstRemoteVideoFrame"/> + + Occurs when the renderer receives the first frame of + the remote video. - +

    - public void onFirstRemoteVideoFrame(int uid, int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onFirstRemoteVideoFrame(int uid, int width, int height, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoFrameOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed; - virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) { + virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) { (void)userId; (void)width; (void)height; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstRemoteVideoFrame, int64, userId, int, width, int, height, int, elapsed); - onFirstRemoteVideoFrame?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnFirstRemoteVideoFrame, int64, userId, int, width, int, height, int, elapsed); + onFirstRemoteVideoFrame?( connection: RtcConnection, remoteUid: number, width: number, height: number, elapsed: number ): void; - public virtual void OnFirstRemoteVideoFrame(RtcConnection connection, uint remoteUid, int width, int height, int elapsed) {} - onFirstRemoteVideoFrame?( + public virtual void OnFirstRemoteVideoFrame(RtcConnection connection, uint remoteUid, int width, int height, int elapsed) {} + onFirstRemoteVideoFrame?( connection: RtcConnection, remoteUid: number, width: number, height: number, elapsed: number ): void; - final void Function(RtcConnection connection, int remoteUid, int width, + final void Function(RtcConnection connection, int remoteUid, int width, int height, int elapsed)? onFirstRemoteVideoFrame; -

    +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - uid - remoteUid - userId - The user ID of the remote user sending the video stream. - - - size - Video dimensions. - - - connection - The connection information. See . - - - width - The width (px) of the video stream. - - - height - The height (px) of the video stream. - - - elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. - -
    + + + + + + uid + remoteUid + userId + The user ID of the remote user sending the video stream. + + + size + Video dimensions. + + + connection + The connection information. See . + + + width + The width (px) of the video stream. + + + height + The height (px) of the video stream. + + + elapsed + The time elapsed (ms) from the local user calling until the SDK triggers this + callback. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oninitialize.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oninitialize.dita index 3eb45f10e5f..84a163454ab 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oninitialize.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_oninitialize.dita @@ -2,7 +2,8 @@ <ph keyref="onInitialize"/> - Notification for initializing the custom video source. + Notification for initializing the custom video + source. @@ -13,31 +14,40 @@

    - - - virtual bool onInitialize(IVideoFrameConsumer *consumer) = 0; - - - - -

    + + + virtual bool onInitialize(IVideoFrameConsumer *consumer) = 0; + + + + +

    -

    The SDK triggers this callback to remind you to initialize the custom video source. After receiving this callback, you can do some preparation, such as enabling the camera, and then use the return value to tell the SDK whether the custom video source is prepared.

    +

    The SDK triggers this callback to remind you to initialize the custom video source. + After receiving this callback, you can do some preparation, such as enabling the + camera, and then use the return value to tell the SDK whether the custom video + source is prepared.

    Parameters - - consumer - A object passed to you by the SDK. You need to reserve this object and use it to send the video frame to the SDK once the custom video source is started. - -
    + + consumer + A object passed to you by the SDK. You + need to reserve this object and use it to send the video frame to the SDK + once the custom video source is started. + + +
    Returns
      -
    • : The custom video source is initialized.
    • -
    • : The custom video source is not ready or fails to initialize. The SDK stops and reports the error.
    • -
    +
  • : The custom video source is + initialized.
  • +
  • : The custom video source is not ready or + fails to initialize. The SDK stops and reports the error.
  • + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onintrarequestreceived.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onintrarequestreceived.dita index 345cd05804e..d032c33cae2 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onintrarequestreceived.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onintrarequestreceived.dita @@ -13,14 +13,14 @@

    - - - - - - - final void Function(RtcConnection connection)? onIntraRequestReceived; -

    + + + + + + + final void Function(RtcConnection connection)? onIntraRequestReceived; +

    @@ -28,10 +28,11 @@

    <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita index aee5f03e578..148011edad3 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onjoinchannelsuccess.dita @@ -1,62 +1,65 @@ - <ph keyref="onJoinChannelSuccess" /> + <ph keyref="onJoinChannelSuccess"/> Occurs when a user joins a channel. - +

    - public void onJoinChannelSuccess(String channel, int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onJoinChannelSuccess(String channel, int uid, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger) elapsed; - virtual void onJoinChannelSuccess(const char* channel, + virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) { (void)channel; (void)uid; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnJoinChannelSuccess, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnJoinChannelSuccess, 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; -

    +

    -

    This callback notifies the application that a user joins a specified channel.

    +

    This callback notifies the application that a user joins a specified + channel.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - engine - One object. - - - channel - The channel name. - - - uid - The ID of the user who joins the channel. - - - connection - The connection information. See . - - - elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. - -
    + + engine + One object. + + + channel + The channel name. + + + uid + The ID of the user who joins the channel. + + + connection + The connection information. See . + + + elapsed + The time elapsed (ms) from the local user calling until the SDK triggers this callback. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita index 4777dc0a303..9bd0fc3a15d 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmileproberesult.dita @@ -1,45 +1,51 @@ - <ph keyref="onLastmileProbeResult" /> - Reports the last mile network probe result. + + <ph keyref="onLastmileProbeResult"/> + + Reports the last mile network probe + result. - +

    - public void onLastmileProbeResult(LastmileProbeResult result) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLastmileProbeResult(LastmileProbeResult result) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileProbeTestResult:(AgoraLastmileProbeResult * _Nonnull)result; - virtual void onLastmileProbeResult(const LastmileProbeResult& result) { + virtual void onLastmileProbeResult(const LastmileProbeResult& result) { (void)result; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLastmileProbeResult, const FLastmileProbeResult&, result); - onLastmileProbeResult?(result: LastmileProbeResult): void; - public virtual void OnLastmileProbeResult(LastmileProbeResult result) - onLastmileProbeResult?(result: LastmileProbeResult): void; - final void Function(LastmileProbeResult result)? onLastmileProbeResult; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLastmileProbeResult, const FLastmileProbeResult&, result); + onLastmileProbeResult?(result: LastmileProbeResult): void; + public virtual void OnLastmileProbeResult(LastmileProbeResult result) + onLastmileProbeResult?(result: LastmileProbeResult): void; + final void Function(LastmileProbeResult result)? onLastmileProbeResult; +

    -

    The SDK triggers this callback within 30 seconds after the app calls .

    +

    The SDK triggers this callback within 30 seconds after the app calls .

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - result - The uplink and downlink last-mile network probe test result. See . - -
    + + + + + + result + The uplink and downlink last-mile network probe test result. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita index e881401a4a6..55226c2ffc6 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlastmilequality.dita @@ -1,47 +1,57 @@ - <ph keyref="onLastmileQuality" /> - Reports the last-mile network quality of the local user. + <ph keyref="onLastmileQuality"/> + Reports the last-mile network quality of the local + user. - +

    - public void onLastmileQuality(int quality) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality; - virtual void onLastmileQuality(int quality) { + public void onLastmileQuality(int quality) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality; + virtual void onLastmileQuality(int quality) { (void)quality; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLastmileQuality, int, quality); - onLastmileQuality?(quality: QualityType): void; - public virtual void OnLastmileQuality(int quality) - onLastmileQuality?(quality: QualityType): void; - final void Function(QualityType quality)? onLastmileQuality; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLastmileQuality, int, quality); + onLastmileQuality?(quality: QualityType): void; + public virtual void OnLastmileQuality(int quality) + onLastmileQuality?(quality: QualityType): void; + final void Function(QualityType quality)? onLastmileQuality; +

    -

    This callback reports the last-mile network conditions of the local user before the user joins the channel. Last mile refers to the connection between the local device and Agora's edge server.

    -

    Before the user joins the channel, this callback is triggered by the SDK once is called and reports the last-mile network conditions of the local user.

    +

    This callback reports the last-mile network conditions of the local user before the + user joins the channel. Last mile refers to the connection between the local device + and Agora's edge server.

    +

    Before the user joins the channel, this callback is triggered by the SDK once is called and reports the last-mile network + conditions of the local user.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - quality - The last-mile network quality. See .
      -
    • -
    -
    -
    + + + + + + quality + The last-mile network quality. See .
      +
    • +
    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita index 34230006a5c..2220e720fca 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onleavechannel.dita @@ -1,49 +1,52 @@ - <ph keyref="onLeaveChannel" /> + <ph keyref="onLeaveChannel"/> Occurs when a user leaves a channel. - +

    - public void onLeaveChannel(RtcStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLeaveChannel(RtcStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLeaveChannelWithStats:(AgoraChannelStats * _Nonnull)stats; - virtual void onLeaveChannel(const RtcStats& stats) { + virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLeaveChannel, 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; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLeaveChannel, 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; +

    -

    This callback notifies the app that the user leaves the channel by calling . From this callback, the app can get information such as the call duration and statistics.

    +

    This callback notifies the app that the user leaves the channel by calling . From this callback, the app can get information such + as the call duration and statistics.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - stats - The statistics of the call. See . - -
    + + + + + + connection + The connection information. See . + + + stats + The statistics of the call. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita index e1883757fc4..59eed789b33 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostatechanged.dita @@ -1,77 +1,109 @@ - <ph keyref="onLocalAudioStateChanged" /> - Occurs when the local audio stream state changes. + + <ph keyref="onLocalAudioStateChanged"/> + + Occurs when the local audio stream state + changes. - +

    - public void onLocalAudioStateChanged(int state, int reason) {} - - (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) { + public void onLocalAudioStateChanged(int state, int reason) {} + - (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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalAudioStateChanged, ELOCAL_AUDIO_STREAM_STATE, state, ELOCAL_AUDIO_STREAM_ERROR, error); - onLocalAudioStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalAudioStateChanged, ELOCAL_AUDIO_STREAM_STATE, state, ELOCAL_AUDIO_STREAM_ERROR, error); + onLocalAudioStateChanged?( connection: RtcConnection, state: LocalAudioStreamState, reason: LocalAudioStreamReason ): void; - public virtual void OnLocalAudioStateChanged(RtcConnection connection, LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) - onLocalAudioStateChanged?( + public virtual void OnLocalAudioStateChanged(RtcConnection connection, LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_REASON reason) + onLocalAudioStateChanged?( connection: RtcConnection, state: LocalAudioStreamState, reason: LocalAudioStreamReason ): void; - final void Function(RtcConnection connection, LocalAudioStreamState state, + final void Function(RtcConnection connection, LocalAudioStreamState state, LocalAudioStreamReason reason)? onLocalAudioStateChanged; -

    +

    -

    When the state of the local audio stream changes (including the state of the audio capture and encoding), the SDK triggers this callback to report the current state. This callback indicates the state of the local audio stream, and allows you to troubleshoot issues when audio exceptions occur.

    - When the state is (3), you can view the error information in the error parameter.
    +

    When the state of the local audio stream changes (including the state of + the audio capture and encoding), the SDK triggers this callback to report the + current state. This callback indicates the state of the local audio stream, and + allows you to troubleshoot issues when audio exceptions occur.

    + When the state is (3), you can view the error + information in the error parameter. +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - state - The state of the local audio. See . - The state of the local audio.
      -
    • (0): The local video is in the initial state.
    • -
    • (1): The local video capturing device starts successfully.
    • -
    • (2): The first video frame is successfully encoded.
    • -
    • (3): Fails to start the local video.
    • -
    -
    - - reason - Reasons for local audio state changes. See . - Reasons for local audio state changes.
      -
    • (0): The local video is normal.
    • -
    • (1): No specified reason for the local audio failure. Remind your users to try to rejoin the channel.
    • -
    • (2): No permission to use the local video capturing device. Remind your users to grant permission.
    • -
    • (3): The microphone is in use. Remind your users to check whether another application occupies the microphone. Local audio capture automatically resumes after the microphone is idle for about five seconds. You can also try to rejoin the channel after the microphone is idle.
    • -
    • (4): The local video capture failed.
    • -
    • (5): The local video encoding fails.
    • -
    • (8): The local audio capture is interrupted by system calls, smart assistants, or alarm clocks. Prompt your users to end the phone call, smart assistants, or alarm clock if the local audio capture is required.
    • -
    -
    -
    + + + + + + connection + The connection information. See . + + + state + The state of the + local audio. See . + The state of the local audio.
      +
    • (0): The local video + is in the initial state.
    • +
    • (1): The local + video capturing device starts successfully.
    • +
    • (2): The first video + frame is successfully encoded.
    • +
    • (3): Fails to start + the local video.
    • +
    +
    + + reason + Reasons for local + audio state changes. See . + Reasons for local audio state changes.
      +
    • (0): The local video is + normal.
    • +
    • (1): No specified + reason for the local audio failure. Remind your users to try to + rejoin the channel.
    • +
    • (2): + No permission to use the local video capturing device. Remind your + users to grant permission.
    • +
    • (3): The + microphone is in use. Remind your users to check whether another + application occupies the microphone. Local audio capture + automatically resumes after the microphone is idle for about five + seconds. You can also try to rejoin the channel after the microphone + is idle.
    • +
    • (4): The + local video capture failed.
    • +
    • (5): The + local video encoding fails.
    • +
    • (8): The local + audio capture is interrupted by system calls, smart assistants, or + alarm clocks. Prompt your users to end the phone call, smart + assistants, or alarm clock if the local audio capture is + required.
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostats.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostats.dita index 62928577523..4152a50bb41 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostats.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalaudiostats.dita @@ -1,50 +1,52 @@ - <ph keyref="onLocalAudioStats" /> - Reports the statistics of the local audio stream. + <ph keyref="onLocalAudioStats"/> + Reports the statistics of the local audio + stream. - +

    - public void onLocalAudioStats(LocalAudioStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalAudioStats(LocalAudioStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStats:(AgoraRtcLocalAudioStats * _Nonnull)stats; - virtual void onLocalAudioStats(const LocalAudioStats& stats) { + virtual void onLocalAudioStats(const LocalAudioStats& stats) { (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLocalAudioStats, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnLocalAudioStats, 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; -

    +

    The SDK triggers this callback once every two seconds.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - stats - Local audio statistics. See . - -
    + + + + + + connection + The connection information. See . + + + stats + Local audio statistics. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalpublishfallbacktoaudioonly.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalpublishfallbacktoaudioonly.dita index 8d210a0484d..72c415f6061 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalpublishfallbacktoaudioonly.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalpublishfallbacktoaudioonly.dita @@ -1,48 +1,55 @@ - <ph keyref="onLocalPublishFallbackToAudioOnly" /> - Occurs when the published media stream falls back to an audio-only stream. + <ph keyref="onLocalPublishFallbackToAudioOnly"/> + Occurs when the published media stream falls back to an + audio-only stream. - - - + + + -
    + +

    - public void onLocalPublishFallbackToAudioOnly(boolean isFallbackOrRecover) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalPublishFallbackToAudioOnly(boolean isFallbackOrRecover) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalPublishFallbackToAudioOnly:(BOOL)isFallbackOrRecover; - virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) { + virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) { (void)isFallbackOrRecover; } - - public virtual void OnLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) - - final void Function(bool isFallbackOrRecover)? + + public virtual void OnLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) + + final void Function(bool isFallbackOrRecover)? onLocalPublishFallbackToAudioOnly; -

    +

    - -

    If you call and set option as , the SDK triggers this callback when the remote media stream falls back to audio-only mode due to poor uplink conditions, or when the remote media stream switches back to the video after the uplink network condition improves.

    - If the local stream falls back to the audio-only stream, the remote user receives the callback. +

    If you call and set + option as , the SDK triggers this callback + when the remote media stream falls back to audio-only mode due to poor uplink + conditions, or when the remote media stream switches back to the video after the + uplink network condition improves.

    + If the local stream falls back to the audio-only stream, the + remote user receives the callback.
    -
    <ph keyref="callback-section-title"/> - +
    <ph keyref="callback-section-title"/> + - - + + isFallbackOrRecover
      -
    • : The published stream falls +
    • : The published stream falls back to audio-only due to poor network conditions.
    • -
    • : The published stream switches +
    • : The published stream switches back to the video after the network conditions improve.
    @@ -50,4 +57,4 @@
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita index a94f1b36829..62336a1f7cb 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocaluserregistered.dita @@ -1,50 +1,55 @@ - <ph keyref="onLocalUserRegistered" /> - Occurs when the local user registers a user account. + <ph keyref="onLocalUserRegistered"/> + Occurs when the local user registers a user + account. - +

    - 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) { + 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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalUserRegistered, int64, uid, 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(bool isFallbackOrRecover)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalUserRegistered, int64, uid, 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(bool isFallbackOrRecover)? onLocalPublishFallbackToAudioOnly; -

    +

    -

    After the local user successfully calls to register the user account or calls to join a channel, the SDK triggers the callback and informs the local user's UID and User Account.

    +

    After the local user successfully calls to + register the user account or calls + to join a channel, the SDK triggers the callback and informs the local user's UID + and User Account.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - uid - The ID of the local user. - - - userAccount - The user account of the local user. - -
    + + + + + + uid + The ID of the local user. + + + userAccount + The user account of the local user. + +
    +
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita index cb645322751..48a732c45bb 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita @@ -1,8 +1,11 @@ - <ph keyref="onLocalVideoStateChanged"/> - Occurs when the local video stream state changes. + + <ph keyref="onLocalVideoStateChanged"/> + + Occurs when the local video stream state + changes. @@ -13,91 +16,142 @@

    - public void onLocalVideoStateChanged(Constants.VideoSourceType source, int state, int reason) {} + public void onLocalVideoStateChanged(Constants.VideoSourceType source, int state, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state reason:(AgoraLocalVideoStreamReason)reason sourceType:(AgoraVideoSourceType)sourceType NS_SWIFT_NAME(rtcEngine(_:localVideoStateChangedOf:reason:sourceType:)); + - (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) { + virtual void onLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) { (void)source; (void)state; (void)reason; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnLocalVideoStateChanged, EVIDEO_SOURCE_TYPE, source, ELOCAL_VIDEO_STREAM_STATE, state, ELOCAL_VIDEO_STREAM_ERROR, error); - onLocalVideoStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnLocalVideoStateChanged, EVIDEO_SOURCE_TYPE, source, ELOCAL_VIDEO_STREAM_STATE, state, ELOCAL_VIDEO_STREAM_ERROR, error); + onLocalVideoStateChanged?( source: VideoSourceType, state: LocalVideoStreamState, reason: LocalVideoStreamReason ): void; - public virtual void OnLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) - onLocalVideoStateChanged?( + public virtual void OnLocalVideoStateChanged(VIDEO_SOURCE_TYPE source, LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_REASON reason) + onLocalVideoStateChanged?( source: VideoSourceType, state: LocalVideoStreamState, reason: LocalVideoStreamReason ): void; - final void Function(VideoSourceType source, LocalVideoStreamState state, + final void Function(VideoSourceType source, LocalVideoStreamState state, LocalVideoStreamReason reason)? onLocalVideoStateChanged;; -

    +

    -

    When the status of the local video changes, the SDK triggers this callback to report the current local video state and the reason for the state change.

    +

    When the status of the local video changes, the SDK triggers this callback + to report the current local video state and the reason for the state change.

    Applicable scenarios -

    You can use this callback to stay updated on the state changes of the local video stream, and take corresponding measures based on the reasons for the state changes, to better manage and debug issues related to the video stream.

    +

    You can use this callback to stay updated on the state changes of the local video + stream, and take corresponding measures based on the reasons for the state changes, + to better manage and debug issues related to the video stream.

    Trigger timing -
    • The SDK triggeres this callback under the following circumstances, with the state as , and the reason as :
        -
      • The app switches to the background, and the system revokes the camera resource.
      • -
      • For Android 9 and later versions, after an app is in the background for a period, the system automatically revokes camera permissions.
      • -
      • For Android 6 and later versions, if the camera is held by a third-party app for a certain duration and then released, the SDK triggers this callback and reports the (,) callback.
      • -
      • The camera starts normally, but does not output video frames for four consecutive seconds.
    • -
    • When the camera outputs captured video frames, if the SDK detects 15 consecutive duplicate video frames, it triggers this callback, with the state as and the reason as .Note that the video frame duplication detection is only available for video frames with a resolution greater than 200 × 200, a frame rate greater than or equal to 10 fps, and a bitrate less than 20 Kbps.
    -
    +
      +
    • The SDK triggeres this callback under the following circumstances, with the + state as , and the reason as :
        +
      • The app switches to the background, and the + system revokes the camera resource.
      • +
      • For Android 9 and later + versions, after an app is in the background for a period, the system + automatically revokes camera permissions.
      • +
      • For Android 6 and later + versions, if the camera is held by a third-party app for a certain + duration and then released, the SDK triggers this callback and reports + the (,) callback.
      • +
      • The camera starts normally, but does not output video frames for four + consecutive seconds.
      • +
    • +
    • When the camera outputs captured video frames, if the SDK detects 15 consecutive + duplicate video frames, it triggers this callback, with the + state as and the + reason as .Note that the + video frame duplication detection is only available for video frames with a + resolution greater than 200 × 200, a frame rate greater than or equal to 10 + fps, and a bitrate less than 20 Kbps.
    • +
    +
    Restrictions -

    For some device models, the SDK does not trigger this callback when the state of the local video changes while the local video capturing device is in use, so you have to make your own timeout judgment.

    +

    For some device models, the SDK does not trigger this callback when the state of the + local video changes while the local video capturing device is in use, so you have to + make your own timeout judgment.

    <ph keyref="callback-section-title"/> - - - - - - sourceType - source - The type of the video source. See . - - - state - -

    The state of the local video, see .

    -

    -

      -
    • (0): The local video is in the initial state.
    • -
    • (1): The local video capturing device starts successfully.
    • -
    • (2): The first video frame is successfully encoded.
    • -
    • (3): Fails to start the local video.
    • -

    -
    -
    - - reason - -

    The reasons for changes in local video state. See .

    -

    -

      -
    • (0): The local video is normal.
    • -
    • (1): No specified reason for the local video failure.
    • -
    • (3): The local video capturing device is in use. Prompt the user to check if the camera is being used by another app, or try to rejoin the channel.
    • -
    • (4): The local video capture failed. Prompt the user to check whether the video capture device is working properly, whether the camera is used by another app, or try to rejoin the channel.
    • -
    • (5): The local video encoding fails.
    • -
    • (8): Fails to find a local video capture device. Remind the user to check whether the camera is connected to the device properly or the camera is working properly, and then to rejoin the channel.
    • -

    -
    -
    -
    + + + + + + sourceType + source + The type of the video source. See . + + + state + +

    The state of + the local video, see .

    +

    +

      +
    • (0): The local + video is in the initial state.
    • +
    • (1): The local + video capturing device starts successfully.
    • +
    • (2): The first + video frame is successfully encoded.
    • +
    • (3): Fails to + start the local video.
    • +
    +

    +
    +
    + + reason + +

    The reasons + for changes in local video state. See .

    +

    +

      +
    • (0): The local video + is normal.
    • +
    • (1): No + specified reason for the local video failure.
    • +
    • (3): The + local video capturing device is in use. Prompt the user to check + if the camera is being used by another app, or try to rejoin the + channel.
    • +
    • (4): + The local video capture failed. Prompt the user to check whether + the video capture device is working properly, whether the camera + is used by another app, or try to rejoin the channel.
    • +
    • (5): + The local video encoding fails.
    • +
    • (8): + Fails to find a local video capture device. Remind the user to + check whether the camera is connected to the device properly or + the camera is working properly, and then to rejoin the + channel.
    • +
    +

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita index c8d91d01385..7217acecafb 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostats.dita @@ -1,58 +1,62 @@ - <ph keyref="onLocalVideoStats" /> - Reports the statistics of the local video stream. + <ph keyref="onLocalVideoStats"/> + Reports the statistics of the local video + stream. - +

    - public void onLocalVideoStats(Constants.VideoSourceType source, LocalVideoStats stats) {} + public void onLocalVideoStats(Constants.VideoSourceType source, LocalVideoStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStats:(AgoraRtcLocalVideoStats * _Nonnull)stats sourceType:(AgoraVideoSourceType)sourceType; - virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) { + virtual void onLocalVideoStats(VIDEO_SOURCE_TYPE source, const LocalVideoStats& stats) { (void)source; (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalVideoStats, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalVideoStats, 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; -

    +

    -

    The SDK triggers this callback once every two seconds to report the statistics of the local video stream.

    +

    The SDK triggers this callback once every two seconds to report the + statistics of the local video stream.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - + + + + + + connection + The connection information. See . + - - + + - - stats - The statistics of the local video stream. See . - -
    + + stats + The statistics of the local video stream. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita index 363661f88b8..99d2ad84d91 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideotranscodererror.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalVideoTranscoderError"/> - Occurs when there's an error during the local video mixing. + Occurs when there's an error during the local video + mixing. @@ -13,59 +14,69 @@

    - public void onLocalVideoTranscoderError( + public void onLocalVideoTranscoderError( LocalTranscoderConfiguration.TranscodingVideoStream stream, int error) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalVideoTranscoderErrorWithStream:(AgoraTranscodingVideoStream * _Nonnull )stream + - (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){ + virtual void onLocalVideoTranscoderError(const TranscodingVideoStream& stream, VIDEO_TRANSCODER_ERROR error){ (void)stream; (void)error; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalVideoTranscoderError, const FTranscodingVideoStream&, stream, EVIDEO_TRANSCODER_ERROR, error); - onLocalVideoTranscoderError?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnLocalVideoTranscoderError, const FTranscodingVideoStream&, stream, EVIDEO_TRANSCODER_ERROR, error); + onLocalVideoTranscoderError?( stream: TranscodingVideoStream, error: VideoTranscoderError ): void; - public virtual void OnLocalVideoTranscoderError(TranscodingVideoStream stream, VIDEO_TRANSCODER_ERROR error){} - onLocalVideoTranscoderError?( + public virtual void OnLocalVideoTranscoderError(TranscodingVideoStream stream, VIDEO_TRANSCODER_ERROR error){} + onLocalVideoTranscoderError?( stream: TranscodingVideoStream, error: VideoTranscoderError ): void; - final void Function( + final void Function( TranscodingVideoStream stream, VideoTranscoderError error)? - onLocalVideoTranscoderError;

    + onLocalVideoTranscoderError; +

    Details
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    -

    When you fail to call or , the SDK triggers this callback to report the reason.

    +

    When you fail to call or , the SDK triggers this callback to + report the reason.

    Parameters - - stream - The video streams that cannot be mixed during video mixing. See . - - - error - errorCode - The reason for local video mixing error. See . - The reason for local video mixing error:
      -
    • 1: The selected video source has not started video capture. You need to create a video track for it and start video capture.
    • -
    • 2: The video source type is invalid. You need to re-specify the supported video source type.
    • -
    • 3: The image path is invalid. You need to re-specify the correct image path.
    • -
    • 4: The image format is invalid. Make sure the image format is one of PNG, JPEG, or GIF.
    • -
    • 5: The video encoding resolution after video mixing is invalid.
    • -
    • 20: Unknown internal error.
    • -
    -
    -
    -
    + + stream + The video streams that cannot be mixed during video mixing. See . + + + error + errorCode + The reason for local video mixing error. See + . + The reason for local video mixing error:
      +
    • 1: The selected video source has not started video capture. You need + to create a video track for it and start video capture.
    • +
    • 2: The video source type is invalid. You need to re-specify the + supported video source type.
    • +
    • 3: The image path is invalid. You need to re-specify the correct + image path.
    • +
    • 4: The image format is invalid. Make sure the image format is one of + PNG, JPEG, or GIF.
    • +
    • 5: The video encoding resolution after video mixing is invalid.
    • +
    • 20: Unknown internal error.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediadevicechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediadevicechanged.dita index b49a63e161e..b9eb199e274 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediadevicechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediadevicechanged.dita @@ -13,27 +13,28 @@

    - - - - - - - - final void Function(MediaDeviceType deviceType)? onMediaDeviceChanged; -

    + + + + + + + + final void Function(MediaDeviceType deviceType)? onMediaDeviceChanged; + +

    <ph keyref="callback-section-title"/> - - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediaengineloadsuccess.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediaengineloadsuccess.dita index debb3a25e00..f154a57849f 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediaengineloadsuccess.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediaengineloadsuccess.dita @@ -1,13 +1,13 @@ - <ph keyref="onMediaEngineLoadSuccess" /> + <ph keyref="onMediaEngineLoadSuccess"/> Occurs when the media engine loads. - - - + + + @@ -16,17 +16,20 @@ public void onMediaEngineLoadSuccess() {} - (void)rtcEngineMediaEngineDidLoaded:(AgoraRtcEngineKit * _Nonnull)engine; virtual void onMediaEngineLoadSuccess() - + public virtual void OnMediaEngineLoadSuccess() - + EmptyCallback? mediaEngineLoadSuccess;

    -
    <ph keyref="callback-section-title"/> - - - - -
    +
    + <ph keyref="callback-section-title"/> + + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediaenginestartcallsuccess.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediaenginestartcallsuccess.dita index 23dd33bb290..9285d2d6309 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediaenginestartcallsuccess.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmediaenginestartcallsuccess.dita @@ -1,13 +1,14 @@ - <ph keyref="onMediaEngineStartCallSuccess" /> - Occurs when the media engine call starts. + <ph keyref="onMediaEngineStartCallSuccess"/> + Occurs when the media engine call + starts. - - - + + + @@ -18,15 +19,18 @@ virtual void onMediaEngineStartCallSuccess() on(evt: EngineEvents.MEDIA_ENGINE_START_CALL_SUCCESS, cb: () => void): this; public virtual void OnMediaEngineStartCallSuccess() - + EmptyCallback? mediaEngineStartCallSuccess;

    -
    <ph keyref="callback-section-title"/> - - - - -
    +
    + <ph keyref="callback-section-title"/> + + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmicrophoneenabled.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmicrophoneenabled.dita index c460f73b6c8..820e33f6a04 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmicrophoneenabled.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onmicrophoneenabled.dita @@ -1,52 +1,58 @@ - <ph keyref="onMicrophoneEnabled" /> - Occurs when the microphone is enabled/disabled. + <ph keyref="onMicrophoneEnabled"/> + Occurs when the microphone is + enabled/disabled. - + -
    + +

    - - - virtual void onMicrophoneEnabled(bool enabled) { (void)enabled; } - - public virtual void OnMicrophoneEnabled(bool enabled) - -

    + + + virtual void onMicrophoneEnabled(bool enabled) { (void)enabled; } + + public virtual void OnMicrophoneEnabled(bool enabled) + + +

    Deprecated:
    -

    Please use the callback:

      -
    • (0).
    • -
    • (1).
    • +

      Please use the callback:

        +
      • (0).
      • +
      • (1).

    -

    The SDK triggers this callback when the local user resumes or stops capturing the local audio stream by calling the method.

    +

    The SDK triggers this callback when the local user + resumes or stops capturing the local audio stream by calling the method.

    - <ph keyref="callback-section-title"/> + <ph keyref="callback-section-title"/> enabled

    Whether the microphone is enabled/disabled:

      -
    • : The microphone is enabled.
    • -
    • : The microphone is disabled.
    • +
    • : The microphone is + enabled.
    • +
    • : The microphone is + disabled.

    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita index b1a211d0286..c41f655fee2 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworkquality.dita @@ -1,80 +1,108 @@ - <ph keyref="onNetworkQuality" /> - Reports the last mile network quality of each user in the channel. + <ph keyref="onNetworkQuality"/> + Reports the last mile network quality of each user in + the channel. - +

    - public void onNetworkQuality(int uid, int txQuality, int rxQuality) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onNetworkQuality(int uid, int txQuality, int rxQuality) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkQuality:(NSUInteger)uid txQuality:(AgoraNetworkQuality)txQuality rxQuality:(AgoraNetworkQuality)rxQuality; - virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) { + virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) { (void)uid; (void)txQuality; (void)rxQuality; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnNetworkQuality, int64, uid, int, txQuality, int, rxQuality); - onNetworkQuality?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnNetworkQuality, int64, uid, int, txQuality, int, rxQuality); + onNetworkQuality?( connection: RtcConnection, remoteUid: number, txQuality: QualityType, rxQuality: QualityType ): void; - public virtual void OnNetworkQuality(RtcConnection connection, uint remoteUid, int txQuality, int rxQuality) {} - onNetworkQuality?( + public virtual void OnNetworkQuality(RtcConnection connection, uint remoteUid, int txQuality, int rxQuality) {} + onNetworkQuality?( connection: RtcConnection, remoteUid: number, txQuality: QualityType, rxQuality: QualityType ): void; - final void Function(RtcConnection connection, int remoteUid, + final void Function(RtcConnection connection, int remoteUid, QualityType txQuality, QualityType rxQuality)? onNetworkQuality; -

    +

    -

    This callback reports the last mile network conditions of each user in the channel. Last mile refers to the connection between the local device and Agora's edge server.

    -

    The SDK triggers this callback once every two seconds. If a channel includes multiple users, the SDK triggers this callback as many times.

    - txQuality is UNKNOWNUnknown when the user is not sending a stream; rxQuality is UNKNOWNUnknown when the user is not receiving a stream.
    +

    This callback reports the last mile network conditions of each user in the + channel. Last mile refers to the connection between the local device and Agora's + edge server.

    +

    The SDK triggers this callback once every two seconds. If a channel + includes multiple users, the SDK triggers this callback as many times.

    + txQuality is UNKNOWNUnknown when the user is not sending a + stream; rxQuality is UNKNOWNUnknown when the user is not receiving + a stream. +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - uid - remoteUid - -

    The user ID. The network quality of the user with this user ID is reported. If the uid is 0, the local network quality is reported.

    -
    -
    - - txQuality - Uplink network quality rating of the user in terms of the transmission bit rate, packet loss rate, average RTT (Round-Trip Time) and jitter of the uplink network. This parameter is a quality rating helping you understand how well the current uplink network conditions can support the selected video encoder configuration. For example, a 1000 Kbps uplink network may be adequate for video frames with a resolution of 640 × 480 and a frame rate of 15 fps in the LIVE_BROADCASTING profile, but might be inadequate for resolutions higher than 1280 × 720. See .
      -
    • -
    -
    - - rxQuality - Downlink network quality rating of the user in terms of packet loss rate, average RTT, and jitter of the downlink network. See .
      -
    • -
    -
    -
    + + + + + + connection + The connection information. See . + + + uid + remoteUid + +

    The user ID. The network quality of the user with this user ID is + reported. If the uid is 0, the local network quality is reported.

    +
    +
    + + txQuality + Uplink network quality rating of the user in terms of the transmission bit + rate, packet loss rate, average RTT (Round-Trip Time) and jitter of the + uplink network. This parameter is a quality rating helping you understand + how well the current uplink network conditions can support the selected + video encoder configuration. For example, a 1000 Kbps uplink network may be + adequate for video frames with a resolution of 640 × 480 and a frame rate of + 15 fps in the LIVE_BROADCASTING profile, but might be inadequate for + resolutions higher than 1280 × 720. See .
      +
    • +
    +
    +
    + + rxQuality + Downlink network quality rating of the user in terms of packet loss rate, + average RTT, and jitter of the downlink network. See .
      +
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworktypechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworktypechanged.dita index 934c5414dca..ca75a3df662 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworktypechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onnetworktypechanged.dita @@ -1,61 +1,76 @@ - <ph keyref="onNetworkTypeChanged" /> - Occurs when the local network type changes. + <ph keyref="onNetworkTypeChanged"/> + Occurs when the local network type + changes. - +

    - public void onNetworkTypeChanged(int type) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type; - virtual void onNetworkTypeChanged(NETWORK_TYPE type) { + public void onNetworkTypeChanged(int type) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type; + virtual void onNetworkTypeChanged(NETWORK_TYPE type) { (void)type; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnNetworkTypeChanged, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnNetworkTypeChanged, 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; -

    +

    -

    This callback occurs when the connection state of the local user changes. You can get the connection state and reason for the state change in this callback. When the network connection is interrupted, this callback indicates whether the interruption is caused by a network type change or poor network conditions.

    +

    This callback occurs when the connection state of the local user changes. + You can get the connection state and reason for the state change in this callback. + When the network connection is interrupted, this callback indicates whether the + interruption is caused by a network type change or poor network conditions.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - type - -

    The type of the local network connection. See .

    -

    Network types:

      -
    • (-1): The network type is unknown.
    • -
    • (0): The SDK disconnects from the network.
    • -
    • (1): The network type is LAN.
    • -
    • (2): The network type is Wi-Fi (including hotspots).
    • -
    • (3) : The network type is mobile 2G.
    • -
    • (4): The network type is mobile 3G.
    • -
    • (5): The network type is mobile 4G.
    • -
    • (6): The network type is mobile 5G.
    • -

    -
    -
    -
    + + + + + + connection + The connection information. See . + + + type + +

    The type of + the local network connection. See .

    +

    Network types:

      +
    • (-1): The network type is + unknown.
    • +
    • (0): The SDK disconnects + from the network.
    • +
    • (1): The network type is + LAN.
    • +
    • (2): The network type is Wi-Fi + (including hotspots).
    • +
    • (3) : The network type is + mobile 2G.
    • +
    • (4): The network type is + mobile 3G.
    • +
    • (5): The network type is + mobile 4G.
    • +
    • (6): The network type is + mobile 5G.
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita index 3c73fb7fef1..6384e2987b6 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onpermissionerror.dita @@ -1,51 +1,57 @@ - <ph keyref="onPermissionError" /> - Occurs when the SDK cannot get the device permission. + <ph keyref="onPermissionError"/> + Occurs when the SDK cannot get the device + permission. - +

    - public void onPermissionError(int permission) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type; - virtual void onPermissionError(PERMISSION_TYPE permissionType) { + public void onPermissionError(int permission) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type; + virtual void onPermissionError(PERMISSION_TYPE permissionType) { (void)permissionType; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPermissionError, EPERMISSION_TYPE, permissionType); - onPermissionError?(permissionType: PermissionType): void; - public virtual void OnPermissionError(PERMISSION_TYPE permissionType) {} - onPermissionError?(permissionType: PermissionType): void; - final void Function(PermissionType permissionType)? onPermissionError; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnPermissionError, EPERMISSION_TYPE, permissionType); + onPermissionError?(permissionType: PermissionType): void; + public virtual void OnPermissionError(PERMISSION_TYPE permissionType) {} + onPermissionError?(permissionType: PermissionType): void; + final void Function(PermissionType permissionType)? onPermissionError; +

    -

    When the SDK fails to get the device permission, the SDK triggers this callback to report which device permission cannot be got.

    -
    +

    When the SDK fails to get the device permission, the SDK triggers this callback to + report which device permission cannot be got.

    +
    Parameters - - - - - - permission - type - permissionType - The type of the device permission. See . - The type of the device permission.
      -
    • (0): Permission for the audio capture device.
    • -
    • (1): Permission for the camera.
    • -
    • (2): Permission for screen sharing.
    • -
    -
    -
    + + + + + + permission + type + permissionType + The type of the + device permission. See . + The type of the device permission.
      +
    • (0): Permission for the audio capture + device.
    • +
    • (1): Permission for the camera.
    • +
    • (2): Permission for screen + sharing.
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onproxyconnected.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onproxyconnected.dita index 4a163779427..42dc0d8ba6a 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onproxyconnected.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onproxyconnected.dita @@ -1,81 +1,94 @@ - <ph keyref="onProxyConnected" /> + <ph keyref="onProxyConnected"/> Reports the proxy connection state. - +

    - public void onProxyConnected( + 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)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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnProxyConnected, FString, channel, int64, uid, EPROXY_TYPE, proxyType, FString, localProxyIp, int, elapsed); - onProxyConnected?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnProxyConnected, FString, channel, int64, uid, EPROXY_TYPE, proxyType, 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?( + 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, + final void Function(String channel, int uid, ProxyType proxyType, String localProxyIp, int elapsed)? onProxyConnected; -

    +

    -

    You can use this callback to listen for the state of the SDK connecting to a proxy. For example, when a user calls and joins a channel successfully, the SDK triggers this callback to report the user ID, the proxy type connected, and the time elapsed fromthe user calling until this callback is triggered.

    +

    You can use this callback to listen for the state of the SDK connecting to a proxy. + For example, when a user calls and joins a channel + successfully, the SDK triggers this callback to report the user ID, the proxy type + connected, and the time elapsed fromthe user calling + until this callback is triggered.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - channel - The channel name. - - - uid - The user ID. - - - proxyType - The proxy type connected. See . - The proxy type connected.
      -
    • (0): Reserved for future use.
    • -
    • (1): The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP.
    • -
    • (2): The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TCP/TLS 443.
    • -
    • (3): Reserved for future use.
    • -
    • (4): Automatic mode. In this mode, the SDK attempts a direct connection to SD-RTN™ and automatically switches to TCP/TLS 443 if the attempt fails.
    • -
    -
    - - localProxyIp - Reserved for future use. - - - elapsed - The time elapsed (ms) from the user calling until this callback is triggered. - -
    + + channel + The channel name. + + + uid + The user ID. + + + proxyType + The proxy type connected. + See . + The proxy type connected.
      +
    • (0): Reserved for future use.
    • +
    • (1): The cloud proxy for the UDP + protocol, that is, the Force UDP cloud proxy mode. In this mode, the + SDK always transmits data over UDP.
    • +
    • (2): The cloud proxy for the TCP + (encryption) protocol, that is, the Force TCP cloud proxy mode. In + this mode, the SDK always transmits data over TCP/TLS 443.
    • +
    • (3): Reserved for future use.
    • +
    • (4): Automatic mode. In + this mode, the SDK attempts a direct connection to SD-RTN™ and + automatically switches to TCP/TLS 443 if the attempt fails.
    • +
    +
    + + localProxyIp + Reserved for future use. + + + elapsed + The time elapsed (ms) from the user calling + until this callback is triggered. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita index 2d229782fec..72b9138c806 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrejoinchannelsuccess.dita @@ -1,60 +1,65 @@ - <ph keyref="onRejoinChannelSuccess" /> - Occurs when a user rejoins the channel. + <ph keyref="onRejoinChannelSuccess"/> + Occurs when a user rejoins the + channel. - +

    - public void onRejoinChannelSuccess(String channel, int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRejoinChannelSuccess(String channel, int uid, int elapsed) {} + - (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) { + virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) { (void)channel; (void)uid; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRejoinChannelSuccess, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRejoinChannelSuccess, 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; -

    +

    -

    When a user loses connection with the server because of network problems, the SDK automatically tries to reconnect and triggers this callback upon reconnection.

    +

    When a user loses connection with the server because of network problems, + the SDK automatically tries to reconnect and triggers this callback upon + reconnection.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - channel - The channel name. - - - uid - The ID of the user who rejoins the channel. - - - connection - The connection information. See . - - - elapsed - Time elapsed (ms) from the local user calling until the SDK triggers this callback. - -
    + + + + + + channel + The channel name. + + + uid + The ID of the user who rejoins the channel. + + + connection + The connection information. See . + + + elapsed + Time elapsed (ms) from the local user calling + until the SDK triggers this callback. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingbegin.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingbegin.dita index d7838406155..1a60ae2ccfd 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingbegin.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingbegin.dita @@ -2,7 +2,8 @@ <ph keyref="onRemoteAudioMixingBegin"/> - Occurs when a remote user starts audio mixing. + Occurs when a remote user starts audio + mixing. @@ -13,17 +14,18 @@

    - - - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRemoteAudioMixingBegin() - - public virtual void OnRemoteAudioMixingBegin() - - -

    + + - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRemoteAudioMixingBegin() + + public virtual void OnRemoteAudioMixingBegin() + + +

    -

    When a remote user calls to play the background music, the SDK reports this callback.

    +

    When a remote user calls to play the + background music, the SDK reports this callback.

    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingend.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingend.dita index b73d84a41a5..2a6b78ccfd3 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingend.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiomixingend.dita @@ -1,28 +1,31 @@ - <ph keyref="onRemoteAudioMixingEnd" /> - Occurs when a remote user finishes audio mixing. + <ph keyref="onRemoteAudioMixingEnd"/> + Occurs when a remote user finishes audio + mixing. - + -
    + +

    - - - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRemoteAudioMixingEnd() - - public virtual void OnRemoteAudioMixingEnd() - - -

    + + - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRemoteAudioMixingEnd() + + public virtual void OnRemoteAudioMixingEnd() + + +

    -

    The SDK triggers this callback when a remote user finishes audio mixing.

    +

    The SDK triggers this callback when a remote user finishes audio + mixing.

    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita index 5d0ac5abbec..97f0e9c3a24 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostatechanged.dita @@ -1,22 +1,25 @@ - <ph keyref="onRemoteAudioStateChanged" /> - Occurs when the remote audio state changes. + + <ph keyref="onRemoteAudioStateChanged"/> + + Occurs when the remote audio state + changes. - +

    - public void onRemoteAudioStateChanged(int uid, int state, int reason, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteAudioStateChanged(int uid, int state, int reason, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStateChangedOfUid:(NSUInteger)uid state:(AgoraAudioRemoteState)state reason:(AgoraAudioRemoteReason)reason elapsed:(NSInteger)elapsed; - virtual void onRemoteAudioStateChanged(uid_t uid, + virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) { @@ -25,78 +28,121 @@ (void)reason; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteAudioStateChanged, int64, uid, EREMOTE_AUDIO_STATE, state, EREMOTE_AUDIO_STATE_REASON, reason, int, elapsed); - onRemoteAudioStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteAudioStateChanged, int64, uid, EREMOTE_AUDIO_STATE, state, EREMOTE_AUDIO_STATE_REASON, reason, int, elapsed); + onRemoteAudioStateChanged?( connection: RtcConnection, remoteUid: number, state: RemoteAudioState, reason: RemoteAudioStateReason, elapsed: number ): void; - public virtual void OnRemoteAudioStateChanged(RtcConnection connection, uint remoteUid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {} - onRemoteAudioStateChanged?( + public virtual void OnRemoteAudioStateChanged(RtcConnection connection, uint remoteUid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {} + onRemoteAudioStateChanged?( connection: RtcConnection, remoteUid: number, state: RemoteAudioState, reason: RemoteAudioStateReason, elapsed: number ): void; - final void Function( + final void Function( RtcConnection connection, int remoteUid, RemoteAudioState state, RemoteAudioStateReason reason, int elapsed)? onRemoteAudioStateChanged; -

    +

    -

    When the audio state of a remote user (in a voice/video call channel) or host (in a live streaming channel) changes, the SDK triggers this callback to report the current state of the remote audio stream.

    - This callback does not work properly when the number of users (in the communication profile) or hosts (in the live streaming channel) in a channel exceeds 17.
    +

    When the audio state of a remote user (in a voice/video call channel) or + host (in a live streaming channel) changes, the SDK triggers this callback to + report the current state of the remote audio stream.

    + This callback does not work properly when the number + of users (in the communication profile) or hosts (in the live streaming channel) + in a channel exceeds 17. +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - uid - remoteUid - The ID of the remote user whose audio state changes. - - - state - The state of the remote audio. See . - Remote audio states.
      -
    • (0): The remote audo is in the initial state. The SDK reports this state in the case of , , or .
    • -
    • (1): The first remote audio packet is received.
    • -
    • (2): The remote audio stream is decoded and plays normally. The SDK reports this state in the case of , or .
    • -
    • (3): The remote audio is frozen. The SDK reports this state in the case of .
    • -
    • (4): The remote audio fails to start. The SDK reports this state in the case of .
    • -
    -
    - - reason - The reason of the remote audio state change. See . - Remote audio state reasons.
      -
    • (0): The SDK reports this reason when the audio state changes.
    • -
    • (1): Network congestion.
    • -
    • (2): Network recovery.
    • -
    • (3): The local user stops receiving the remote audio stream or disables the audio module.
    • -
    • (4): The local user resumes receiving the remote audio stream or enables the audio module.
    • -
    • (5): The remote user stops sending the audio stream or disables the audio module.
    • -
    • (6): The remote user resumes sending the audio stream or enables the audio module.
    • -
    • (7): The remote user leaves the channel.
    • -
    -
    - - elapsed - Time elapsed (ms) from the local user calling the method until the SDK triggers this callback. - -
    + + + + + + connection + The connection information. See . + + + uid + remoteUid + The ID of the remote user whose audio state changes. + + + state + The state of + the remote audio. See . + Remote audio states.
      +
    • (0): The remote audo + is in the initial state. The SDK reports this state in the + case of , + , + or .
    • +
    • (1): The first + remote audio packet is received.
    • +
    • (2): The remote + audio stream is decoded and plays normally. The SDK reports + this state in the case of , + + or .
    • +
    • (3): The remote audio + is frozen. The SDK reports this state in the case of + .
    • +
    • (4): The remote audio + fails to start. The SDK reports this state in the case of + .
    • +
    +
    + + reason + The reason + of the remote audio state change. See . + Remote audio state reasons.
      +
    • (0): The SDK + reports this reason when the audio state changes.
    • +
    • (1): + Network congestion.
    • +
    • (2): + Network recovery.
    • +
    • (3): The local + user stops receiving the remote audio stream or disables the + audio module.
    • +
    • (4): The + local user resumes receiving the remote audio stream or + enables the audio module.
    • +
    • (5): The + remote user stops sending the audio stream or disables the + audio module.
    • +
    • (6): The + remote user resumes sending the audio stream or enables the + audio module.
    • +
    • (7): The + remote user leaves the channel.
    • +
    +
    +
    + + elapsed + Time elapsed (ms) from the local user calling the method until the SDK triggers this + callback. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostats.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostats.dita index 8d9ad6a3a97..e201be2675e 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostats.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiostats.dita @@ -1,50 +1,55 @@ - <ph keyref="onRemoteAudioStats" /> - Reports the transport-layer statistics of each remote audio stream. + <ph keyref="onRemoteAudioStats"/> + Reports the transport-layer statistics of each remote + audio stream. - +

    - public void onRemoteAudioStats(RemoteAudioStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteAudioStats(RemoteAudioStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStats:(AgoraRtcRemoteAudioStats * _Nonnull)stats; - virtual void onRemoteAudioStats(const RemoteAudioStats& stats) { + virtual void onRemoteAudioStats(const RemoteAudioStats& stats) { (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRemoteAudioStats, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRemoteAudioStats, 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; -

    +

    -

    The SDK triggers this callback once every two seconds for each remote user who is sending audio streams. If a channel includes multiple remote users, the SDK triggers this callback as many times.

    +

    The SDK triggers this callback once every two seconds for each remote user + who is sending audio streams. If a channel includes multiple remote users, the SDK + triggers this callback as many times.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - stats - The statistics of the received remote audio streams. See . - -
    + + + + + + connection + The connection information. See . + + + stats + The statistics of the received remote audio streams. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiotransportstats.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiotransportstats.dita index fb47e09bb20..4b2db1fe92d 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiotransportstats.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremoteaudiotransportstats.dita @@ -1,25 +1,26 @@ - <ph keyref="onRemoteAudioTransportStats" /> - Reports the transport-layer statistics of each remote audio stream. + <ph keyref="onRemoteAudioTransportStats"/> + Reports the transport-layer statistics of each remote + audio stream. - +

    - public void onRemoteAudioTransportStats(int uid, int delay, int lost, int rxKBitRate) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteAudioTransportStats(int uid, int delay, int lost, int rxKBitRate) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine audioTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate; - virtual void onRemoteAudioTransportStats(uid_t uid, + virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) { @@ -28,65 +29,70 @@ (void)lost; (void)rxKBitRate; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteAudioTransportStats, int64, uid, int, delay, int, lost, int, rxKBitRate); - onRemoteAudioTransportStats?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteAudioTransportStats, int64, uid, int, delay, int, lost, int, rxKBitRate); + onRemoteAudioTransportStats?( connection: RtcConnection, remoteUid: number, delay: number, lost: number, rxKBitRate: number ): void; - public virtual void OnRemoteAudioTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {} - onRemoteAudioTransportStats?( + public virtual void OnRemoteAudioTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {} + onRemoteAudioTransportStats?( connection: RtcConnection, remoteUid: number, delay: number, lost: number, rxKBitRate: number ): void; - final void Function(RtcConnection connection, int remoteUid, int delay, + final void Function(RtcConnection connection, int remoteUid, int delay, int lost, int rxKBitRate)? onRemoteAudioTransportStats; -

    +

    -

    - -
    Deprecated:
    -
    Use instead.
    -
    -
    +
    + +
    Deprecated:
    +
    Use instead.
    +
    +

    -

    This callback reports the transport-layer statistics, such as the packet loss rate and network time delay after the local user receives an audio packet from a remote user. During a call, when the user receives the audio packet sent by the remote user, the callback is triggered every 2 seconds.

    +

    This callback reports the transport-layer statistics, such as the packet + loss rate and network time delay after the local user receives an audio packet from + a remote user. During a call, when the user receives the audio packet sent by the + remote user, the callback is triggered every 2 seconds.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - connection - The connection information. See . - - - uid - remoteUid - The ID of the remote user sending the audio streams. - - - delay - The network delay (ms) from the remote user to the receiver. - - - lost - The packet loss rate (%) of the audio packet sent from the remote user to the receiver. - - - rxKBitrate - The bitrate of the received audio (Kbps). - -
    + + + + + + connection + The connection information. See . + + + uid + remoteUid + The ID of the remote user sending the audio streams. + + + delay + The network delay (ms) from the remote user to the receiver. + + + lost + The packet loss rate (%) of the audio packet sent from the remote user to + the receiver. + + + rxKBitrate + The bitrate of the received audio (Kbps). + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotesubscribefallbacktoaudioonly.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotesubscribefallbacktoaudioonly.dita index c878ada5ca4..a890e391741 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotesubscribefallbacktoaudioonly.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotesubscribefallbacktoaudioonly.dita @@ -1,64 +1,82 @@ - <ph keyref="onRemoteSubscribeFallbackToAudioOnly" /> - Occurs when the remote media stream falls back to the audio-only stream due to poor network conditions or switches back to the video stream after the network conditions improve. + + <ph keyref="onRemoteSubscribeFallbackToAudioOnly"/> + + Occurs when the remote media stream falls back to the + audio-only stream due to poor network conditions or switches back to the video stream + after the network conditions improve. - +

    - public void onRemoteSubscribeFallbackToAudioOnly(int uid, boolean isFallbackOrRecover) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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) { + virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) { (void)uid; (void)isFallbackOrRecover; } - onRemoteSubscribeFallbackToAudioOnly?( + onRemoteSubscribeFallbackToAudioOnly?( uid: number, isFallbackOrRecover: boolean ): void; - public virtual void OnRemoteSubscribeFallbackToAudioOnly(uint uid, bool isFallbackOrRecover) - onRemoteSubscribeFallbackToAudioOnly?( + public virtual void OnRemoteSubscribeFallbackToAudioOnly(uint uid, bool isFallbackOrRecover) + onRemoteSubscribeFallbackToAudioOnly?( uid: number, isFallbackOrRecover: boolean ): void; - final void Function(int uid, bool isFallbackOrRecover)? + final void Function(int uid, bool isFallbackOrRecover)? onRemoteSubscribeFallbackToAudioOnly; -

    +

    -

    If you call and set option to , the SDK triggers this callback in the following situations:

      -
    • The downstream network condition is poor, and the subscribed video stream is downgraded to audio-only stream.
    • -
    • The downstream network condition has improved, and the subscribed stream has been restored to video stream.
    • +

      If you call and set option + to , the SDK + triggers this callback in the following situations:

        +
      • The downstream network condition is poor, and the subscribed video stream is + downgraded to audio-only stream.
      • +
      • The downstream network condition has improved, and the subscribed stream has + been restored to video stream.

      - Once the remote media stream switches to the low-quality video stream due to weak network conditions, you can monitor the stream switch between a high-quality and low-quality stream in the callback. + Once the remote media stream switches to the low-quality video + stream due to weak network conditions, you can monitor the stream switch between a + high-quality and low-quality stream in the callback.
    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - uid - The user ID of the remote user. - - - isFallbackOrRecover - -
      -
    • : The subscribed media stream falls back to audio-only due to poor network conditions.
    • -
    • : The subscribed media stream switches back to the video stream after the network conditions improve.
    • -
    -
    -
    + + + + + + uid + The user ID of the remote user. + + + isFallbackOrRecover + +
      +
    • : The subscribed media stream + falls back to audio-only due to poor network conditions.
    • +
    • : The subscribed media stream + switches back to the video stream after the network conditions + improve.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita index 5ea8254ec77..004e6fae4c6 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostatechanged.dita @@ -1,22 +1,25 @@ - <ph keyref="onRemoteVideoStateChanged" /> - Occurs when the remote video stream state changes. + + <ph keyref="onRemoteVideoStateChanged"/> + + Occurs when the remote video stream state + changes. - +

    - public void onRemoteVideoStateChanged(int uid, int state, int reason, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoStateChanged(int uid, int state, int reason, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteReason)reason elapsed:(NSInteger)elapsed; - virtual void onRemoteVideoStateChanged(uid_t uid, + virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) { @@ -25,84 +28,147 @@ (void)reason; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteVideoStateChanged, int64, uid, EREMOTE_VIDEO_STATE, state, EREMOTE_VIDEO_STATE_REASON, reason, int, elapsed); - onRemoteVideoStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteVideoStateChanged, int64, uid, EREMOTE_VIDEO_STATE, state, EREMOTE_VIDEO_STATE_REASON, reason, int, elapsed); + onRemoteVideoStateChanged?( connection: RtcConnection, remoteUid: number, state: RemoteVideoState, reason: RemoteVideoStateReason, elapsed: number ): void; - public virtual void OnRemoteVideoStateChanged(RtcConnection connection, uint remoteUid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {} - onRemoteVideoStateChanged?( + public virtual void OnRemoteVideoStateChanged(RtcConnection connection, uint remoteUid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) {} + onRemoteVideoStateChanged?( connection: RtcConnection, remoteUid: number, state: RemoteVideoState, reason: RemoteVideoStateReason, elapsed: number ): void; - final void Function( + final void Function( RtcConnection connection, int remoteUid, RemoteVideoState state, RemoteVideoStateReason reason, int elapsed)? onRemoteVideoStateChanged; -

    +

    - This callback does not work properly when the number of users (in the communication profile) or hosts (in the live streaming channel) in a channel exceeds 17.
    + This callback does not work properly when the number + of users (in the communication profile) or hosts (in the live streaming channel) + in a channel exceeds 17. +
    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - + + + + + connection The connection information. See . - - uid - remoteUid - The ID of the remote user whose video state changes. - - - state - -

    The state of the remote video. See .

    -

    The state of the remote video:

      -
    • (0): The remote video is in the initial state. This state is reported in the case of (3), (5), or (7).
    • -
    • (1): The first remote video packet is received.
    • -
    • (2): The remote video stream is decoded and plays normally. This state is reported in the case of (2), (4), (6), or (9).
    • -
    • (3): The remote video is frozen. This state is reported in the case of (1) or (8).
    • -
    • (4): The remote video fails to start. The SDK reports this state in the case of (0).
    • -

    -
    -
    - - reason - -

    The reason for the remote video state change. See .

    -

    Remote audio state reasons:

      -
    • (0): Internal reasons.
    • -
    • (1): Network congestion.
    • -
    • (2): Network recovery.
    • -
    • (3): The local user stops receiving the remote video stream or disables the video module.
    • -
    • (4): The local user resumes receiving the remote video stream or enables the video module.
    • -
    • (5): The remote user stops sending the video stream or disables the video module.
    • -
    • (6): The remote user resumes sending the video stream or enables the video module.
    • -
    • (7): The remote user leaves the channel.
    • -
    • (8): The remote media stream falls back to the audio-only stream due to poor network conditions.
    • -
    • (9): The remote media stream switches back to the video stream after the network conditions improve.
    • -
    • (13): The local video decoder does not support decoding the remote video stream.
    • -

    -
    -
    - - elapsed - Time elapsed (ms) from the local user calling the method until the SDK triggers this callback. - -
    + + uid + remoteUid + The ID of the remote user whose video state changes. + + + state + +

    The + state of the remote video. See .

    +

    The state of the remote video:

      +
    • (0): The + remote video is in the initial state. This state is + reported in the case of + (3), + (5), or (7).
    • +
    • (1): The + first remote video packet is received.
    • +
    • (2): The + remote video stream is decoded and plays normally. This + state is reported in the case of (2), + (4), (6), or (9).
    • +
    • (3): The remote + video is frozen. This state is reported in the case of + (1) or (8).
    • +
    • (4): The remote + video fails to start. The SDK reports this state in the + case of + (0).
    • +
    +

    +
    +
    + + reason + +

    The + reason for the remote video state change. See .

    +

    Remote audio state reasons:

      +
    • (0): + Internal reasons.
    • +
    • (1): Network congestion.
    • +
    • (2): Network recovery.
    • +
    • + (3): The local user stops receiving the remote video + stream or disables the video module.
    • +
    • + (4): The local user resumes receiving the remote video + stream or enables the video module.
    • +
    • + (5): The remote user stops sending the video stream or + disables the video module.
    • +
    • + (6): The remote user resumes sending the video stream + or enables the video module.
    • +
    • + (7): The remote user leaves the channel.
    • +
    • + (8): The remote media stream falls back to the + audio-only stream due to poor network conditions.
    • +
    • (9): The remote media stream switches back to the + video stream after the network conditions improve.
    • +
    • (13): The local video decoder does not support + decoding the remote video stream.
    • +
    +

    +
    +
    + + elapsed + Time elapsed (ms) from the local user calling the method until the SDK triggers this + callback. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita index b08181af022..79f41927a4d 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideostats.dita @@ -1,48 +1,59 @@ - <ph keyref="onRemoteVideoStats" /> - Reports the statistics of the video stream sent by each remote users. + + <ph keyref="onRemoteVideoStats"/> + + Reports the statistics of the video stream sent by each + remote users. - +

    - public void onRemoteVideoStats(RemoteVideoStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoStats(RemoteVideoStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStats:(AgoraRtcRemoteVideoStats * _Nonnull)stats; - virtual void onRemoteVideoStats(const RemoteVideoStats& stats) { + virtual void onRemoteVideoStats(const RemoteVideoStats& stats) { (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRemoteVideoStats, const FRemoteVideoStats&, stats); - onRemoteVideoStats?(connection: RtcConnection, stats: RemoteVideoStats): void; - public virtual void OnRemoteVideoStats(RtcConnection connection, RemoteVideoStats stats) {} - onRemoteVideoStats?(connection: RtcConnection, stats: RemoteVideoStats): void; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRemoteVideoStats, const FRemoteVideoStats&, stats); + onRemoteVideoStats?(connection: RtcConnection, stats: RemoteVideoStats): void; + public virtual void OnRemoteVideoStats(RtcConnection connection, RemoteVideoStats stats) {} + onRemoteVideoStats?(connection: RtcConnection, stats: RemoteVideoStats): void; + +

    -

    Reports the statistics of the video stream from the remote users. The SDK triggers this callback once every two seconds for each remote user. If a channel has multiple users/hosts sending video streams, the SDK triggers this callback as many times.

    +

    Reports the statistics of the video stream from the remote users. The SDK + triggers this callback once every two seconds for each remote user. If a channel has + multiple users/hosts sending video streams, the SDK triggers this callback as many + times.

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - The connection information. See . - - - stats - Statistics of the remote video stream. See . - -
    + + + + + + connection + The connection information. See . + + + stats + Statistics of the remote video stream. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideotransportstats.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideotransportstats.dita index 5903220cbe1..247c11a14d0 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideotransportstats.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onremotevideotransportstats.dita @@ -1,25 +1,28 @@ - <ph keyref="onRemoteVideoTransportStats" /> - Reports the transport-layer statistics of each remote video stream. + + <ph keyref="onRemoteVideoTransportStats"/> + + Reports the transport-layer statistics of each remote + video stream. - +

    - public void onRemoteVideoTransportStats(int uid, int delay, int lost, int rxKBitRate) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoTransportStats(int uid, int delay, int lost, int rxKBitRate) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate; - virtual void onRemoteVideoTransportStats(uid_t uid, + virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) { @@ -28,64 +31,71 @@ (void)lost; (void)rxKBitRate; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteVideoTransportStats, int64, uid, int, delay, int, lost, int, rxKBitRate); - onRemoteVideoTransportStats?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnRemoteVideoTransportStats, int64, uid, int, delay, int, lost, int, rxKBitRate); + onRemoteVideoTransportStats?( connection: RtcConnection, remoteUid: number, delay: number, lost: number, rxKBitRate: number ): void; - public virtual void OnRemoteVideoTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {} - onRemoteVideoTransportStats?( + public virtual void OnRemoteVideoTransportStats(RtcConnection connection, uint remoteUid, UInt16 delay, UInt16 lost, UInt16 rxKBitRate) {} + onRemoteVideoTransportStats?( connection: RtcConnection, remoteUid: number, delay: number, lost: number, rxKBitRate: number ): void; - final void Function(RtcConnection connection, int remoteUid, int delay, + final void Function(RtcConnection connection, int remoteUid, int delay, int lost, int rxKBitRate)? onRemoteVideoTransportStats; -

    +

    - -
    Deprecated:
    -
    This callback is deprecated. Use instead.
    -
    + +
    Deprecated:
    +
    This callback is deprecated. Use + instead.
    +
    -

    This callback reports the transport-layer statistics, such as the packet loss rate and network time delay after the local user receives a video packet from a remote user.

    -

    During a call, when the user receives the video packet sent by the remote user/host, the callback is triggered every 2 seconds.

    +

    This callback reports the transport-layer statistics, such as the packet + loss rate and network time delay after the local user receives a video packet from a + remote user.

    +

    During a call, when the user receives the video packet sent by the remote + user/host, the callback is triggered every 2 seconds.

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - The connection information. See . - - - uid - remoteUid - The ID of the remote user sending the video packets. - - - delay - The network delay (ms) from the sender to the receiver. - - - lost - The packet loss rate (%) of the video packet sent from the remote user. - - - rxKBitRate - The bitrate of the received video (Kbps). - -
    + + + + + + connection + The connection information. See . + + + uid + remoteUid + The ID of the remote user sending the video packets. + + + delay + The network delay (ms) from the sender to the receiver. + + + lost + The packet loss rate (%) of the video packet sent from the remote user. + + + rxKBitRate + The bitrate of the received video (Kbps). + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequestaudiofileinfo.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequestaudiofileinfo.dita index 95a99da3e71..6c7fd12c4ef 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequestaudiofileinfo.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequestaudiofileinfo.dita @@ -1,41 +1,45 @@ - <ph keyref="onRequestAudioFileInfo" /> - Reports the information of an audio file. + <ph keyref="onRequestAudioFileInfo"/> + Reports the information of an audio + file. - +

    - - - - - public virtual void OnRequestAudioFileInfo(AudioFileInfo info, AUDIO_FILE_INFO_ERROR error) - - -

    + + + + + public virtual void OnRequestAudioFileInfo(AudioFileInfo info, AUDIO_FILE_INFO_ERROR error) + + +

    -

    After successfully calling , the SDK triggers this callback to report the information of the audio file, such as the file path and duration.

    +

    After successfully calling , the SDK triggers this + callback to report the information of the audio file, such as the file path and + duration.

    -
    <ph keyref="callback-section-title"/> +
    <ph keyref="callback-section-title"/> info - The information of an audio file. See . + The information of an audio file. See . error - The information acquisition state. See . + The information acquisition state. See .
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita index 927a5f3bf3f..1825e32f302 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrequesttoken.dita @@ -1,44 +1,55 @@ - <ph keyref="onRequestToken" /> + + <ph keyref="onRequestToken"/> + Occurs when the token expires. - +

    - public void onRequestToken() {} - - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRequestToken() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnRequestToken); - onRequestToken?(connection: RtcConnection): void; - public virtual void OnRequestToken(RtcConnection connection) {} - onRequestToken?(connection: RtcConnection): void; - final void Function(RtcConnection connection)? onRequestToken; -

    + public void onRequestToken() {} + - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRequestToken() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnRequestToken); + onRequestToken?(connection: RtcConnection): void; + public virtual void OnRequestToken(RtcConnection connection) {} + onRequestToken?(connection: RtcConnection): void; + final void Function(RtcConnection connection)? onRequestToken; +

    -

    When the token expires during a call, the SDK triggers this callback to remind the app to renew the token.

    -

    When receiving this callback, you need to generate a new token on your token server and you can renew your token through one of the following ways:

    • Call to pass in the new token.
    • -
    • Call to leave the current channel and then pass in the new token when you call to join a channel.

    +

    When the token expires during a call, the SDK triggers this callback to + remind the app to renew the token.

    +

    When receiving this callback, you need to generate a new token on your token server + and you can renew your token through one of the following ways:

      +
    • Call to pass in the new token.
    • +
    • Call to leave the current channel and then + pass in the new token when you call to join a + channel.
    • +

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - - - -
    + + + + + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita index 8384353bad3..d6cd55e1ff4 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrhythmplayerstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onRhythmPlayerStateChanged"/> - Occurs when the state of virtual metronome changes. + Occurs when the state of virtual metronome + changes. @@ -13,58 +14,79 @@

    - public void onRhythmPlayerStateChanged(int state, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didRhythmPlayerStateChanged:(AgoraRhythmPlayerState)state + 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) { + virtual void onRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) { (void)state; (void)reason; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRhythmPlayerStateChanged, FENUMWRAP_RHYTHM_PLAYER_STATE_TYPE, state, FENUMWRAP_RHYTHM_PLAYER_ERROR_TYPE, errorCode); - onRhythmPlayerStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRhythmPlayerStateChanged, FENUMWRAP_RHYTHM_PLAYER_STATE_TYPE, state, FENUMWRAP_RHYTHM_PLAYER_ERROR_TYPE, errorCode); + onRhythmPlayerStateChanged?( state: RhythmPlayerStateType, reason: RhythmPlayerReason ): void; - public virtual void OnRhythmPlayerStateChanged(RHYTHM_PLAYER_STATE_TYPE state, RHYTHM_PLAYER_REASON reason) - onRhythmPlayerStateChanged?( + 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)? + final void Function(RhythmPlayerStateType state, RhythmPlayerReason reason)? onRhythmPlayerStateChanged; -

    +

    -

    When the state of the virtual metronome changes, the SDK triggers this callback to report the current state of the virtual metronome. This callback indicates the state of the local audio stream and enables you to troubleshoot issues when audio exceptions occur.

    - This callback is for Android and iOS only.
    +

    When the state of the virtual metronome changes, the SDK triggers this callback to + report the current state of the virtual metronome. This callback indicates the state + of the local audio stream and enables you to troubleshoot issues when audio + exceptions occur.

    + This callback is for + Android and iOS only. +
    <ph keyref="callback-section-title"/> - - state - For the current virtual metronome status, see . - - - state - The current virtual metronome state.
      -
    • (810): The virtual metronome is not enabled or is already disabled.
    • -
    • (811): Opening the beat files.
    • -
    • (812): Decoding the beat files.
    • -
    • (813): The beat files are playing.
    • -
    • (814): Failed to start virtual metronome. You can use the reported errorCode to troubleshoot the cause of the error, or you can try to start the virtual metronome again.
    • -
    -
    - - errorCode - For the error codes and error messages related to virtual metronome errors, see . - Error codes and error messages for virtual metronome errors.
      -
    • (0): The beat files are played normally without errors.
    • -
    • (1): General error with no clear cause.
    • -
    • (801): There is an error when opening the beat files.
    • -
    • (802): There is an error when playing beat files.
    • -
    • (803): The duration of the beat audio file exceeds the limit. The maximum duration is 1.2 seconds.
    • -
    -
    -
    + + state + For the current virtual metronome status, see . + + + state + The current virtual metronome state.
      +
    • (810): The virtual metronome + is not enabled or is already disabled.
    • +
    • (811): Opening the beat + files.
    • +
    • (812): Decoding the beat + files.
    • +
    • (813): The beat files are + playing.
    • +
    • (814): Failed to start + virtual metronome. You can use the reported + errorCode to troubleshoot the cause of the + error, or you can try to start the virtual metronome again.
    • +
    +
    + + errorCode + For the error codes and error messages related + to virtual metronome errors, see . + Error codes and error messages for virtual metronome errors.
      +
    • (0): The beat files are played + normally without errors.
    • +
    • (1): General error with no + clear cause.
    • +
    • (801): There is an + error when opening the beat files.
    • +
    • (802): There is an + error when playing beat files.
    • +
    • (803): + The duration of the beat audio file exceeds the limit. The maximum + duration is 1.2 seconds.
    • +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita index 1915c4b3cdd..495c99ea0a8 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtcstats.dita @@ -1,51 +1,58 @@ - <ph keyref="onRtcStats" /> - Reports the statistics of the current call. + + <ph keyref="onRtcStats"/> + + Reports the statistics of the current + call. - +

    - public void onRtcStats(RtcStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRtcStats(RtcStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportRtcStats:(AgoraChannelStats * _Nonnull)stats; - virtual void onRtcStats(const RtcStats& stats) { + virtual void onRtcStats(const RtcStats& stats) { (void)stats; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRtcStats, 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; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnRtcStats, 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; +

    -

    The SDK triggers this callback once every two seconds after the user joins the channel.

    +

    The SDK triggers this callback once every two seconds after the user joins + the channel.

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - The connection information. See . - - - stats - -

    Statistics of the RTC engine. See .

    -
    -
    -
    + + + + + + connection + The connection information. See . + + + stats + +

    Statistics of the RTC engine. See .

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita index f62e6dc1c4e..14827075f91 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingevent.dita @@ -1,50 +1,62 @@ - <ph keyref="onRtmpStreamingEvent" /> + + <ph keyref="onRtmpStreamingEvent"/> + Reports events during the Media Push. - +

    - public void onRtmpStreamingEvent(String url, int event) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode; - virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) { + public void onRtmpStreamingEvent(String url, int event) {} + - (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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRtmpStreamingEvent, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnRtmpStreamingEvent, 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 - The URL for Media Push. - - - eventCode - event - The event code of Media Push. See . - The event code of Media Push.
      -
    • (1): An error occurs when you add a background image or a watermark image in the Media Push.
    • -
    • (2): The streaming URL is already being used for Media Push. If you want to start new streaming, use a new streaming URL.
    • -
    • (3): The feature is not supported.
    • -
    • (4): Reserved.
    • -
    -
    -
    + + url + The URL for Media Push. + + + eventCode + event + The event code of + Media Push. See . + The event code of Media Push.
      +
    • (1): An error + occurs when you add a background image or a watermark image in the + Media Push.
    • +
    • (2): The + streaming URL is already being used for Media Push. If you want to + start new streaming, use a new streaming URL.
    • +
    • (3): + The feature is not supported.
    • +
    • (4): + Reserved.
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita index f5074d02daa..ab6aad0205e 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onrtmpstreamingstatechanged.dita @@ -1,8 +1,11 @@ - <ph keyref="onRtmpStreamingStateChanged" /> - Occurs when the state of Media Push changes. + + <ph keyref="onRtmpStreamingStateChanged"/> + + Occurs when the state of Media Push + changes. @@ -13,85 +16,147 @@

    - public void onRtmpStreamingStateChanged(String url, int state, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine rtmpStreamingChangedToState:(NSString * _Nonnull)url + public void onRtmpStreamingStateChanged(String url, int state, int reason) {} + - (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, + virtual void onRtmpStreamingStateChanged(const char* url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason) { (void)url; (void)state; (void)reason; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRtmpStreamingStateChanged, FString, url, ERTMP_STREAM_PUBLISH_STATE, state, ERTMP_STREAM_PUBLISH_REASON, errCode); - onRtmpStreamingStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRtmpStreamingStateChanged, FString, url, ERTMP_STREAM_PUBLISH_STATE, state, ERTMP_STREAM_PUBLISH_REASON, errCode); + onRtmpStreamingStateChanged?( url: string, state: RtmpStreamPublishState, reason: RtmpStreamPublishReason ): void; - public virtual void OnRtmpStreamingStateChanged(string url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason) - onRtmpStreamingStateChanged?( + public virtual void OnRtmpStreamingStateChanged(string url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_REASON reason) + onRtmpStreamingStateChanged?( url: string, state: RtmpStreamPublishState, reason: RtmpStreamPublishReason ): void; - final void Function(String url, RtmpStreamPublishState state, + final void Function(String url, RtmpStreamPublishState state, RtmpStreamPublishReason reason)? onRtmpStreamingStateChanged; -

    +

    -

    When the state of Media Push changes, the SDK triggers this callback and reports the URL address and the current state of the Media Push. This callback indicates the state of the Media Push. When exceptions occur, you can troubleshoot issues by referring to the detailed error descriptions in the error code parameter.

    +

    When the state of Media Push changes, the SDK triggers this callback and reports the + URL address and the current state of the Media Push. This callback indicates the + state of the Media Push. When exceptions occur, you can troubleshoot issues by + referring to the detailed error descriptions in the error code parameter.

    - <ph keyref="callback-section-title"/> + + <ph keyref="callback-section-title"/> + - - - - - - url - -

    The URL address where the state of the Media Push changes.

    -
    -
    - - state - The current state of the Media Push. See . - The current state of the Media Push:
      -
    • (0): The Media Push has not started or has ended.
    • -
    • (1): The streaming server and CDN server are being connected.
    • -
    • (2): The Media Push publishes. The SDK successfully publishes the RTMP or RTMPS streaming and returns this state.
    • -
    • (3): The Media Push is recovering. When exceptions occur to the CDN, or the Media Push is interrupted, the SDK tries to resume the Media Push and returns this state.
        -
      • If the SDK successfully resumes the streaming, (2) returns.
      • -
      • If the streaming does not resume within 60 seconds or server errors occur, (4) returns. You can also reconnect to the server by calling the / and methods.
      • -
    • -
    • (4): The Media push fails. See the errCode parameter for the detailed error information.You can also try to publish streams again.
    • -
    • (5): The SDK is disconnecting from the Agora Media Push server and CDN server. When you call to stop the Media Push normally, the SDK reports the Media Push state as and in sequence.
    • -
    -
    - - reason - Reasons for the changes in the Media Push status. See . - Reasons for the changes in the Media Push status:
      -
    • (0): The Media Push publishes successfully.
    • -
    • (1): Invalid argument used. Check the parameter setting.
    • -
    • (2): The Media Push is encrypted and cannot be published.
    • -
    • (3): Timeout for the Media Push. You can try to push the stream again.
    • -
    • (4): An error occurs in Agora streaming server. You can try to publish media streams again.
    • -
    • (5): An error occurs in the CDN server.
    • -
    • (6): A reserved parameter.
    • -
    • (7): The host publishes more than 10 URLs. You can stop publishing sreams to unnecessary URLs.
    • -
    • (8): The host manipulates other hosts' URLs. For example, the host updates or stops other hosts' streams. Check your app logic.
    • -
    • (9): Agora's server fails to find the media stream of Media Push.
    • -
    • (10): The format of the media push URL is not supported. Check whether the URL format is correct.
    • -
    • (11): The user role is not host, so the user cannot use the Media Push function. Check your application code logic.
    • -
    • (13): The or method is called to update the transcoding configuration in a scenario where there is Media Push without transcoding. Check your application code logic.
    • -
    • (14): Errors occurred in the host's network.
    • -
    • (16): Your project does not have permission to use Media Push service. Refer to Media Push to enable the Media Push permission.
    • -
    • (100): The Media Push has been stopped normally. After you call to stop the Media Push, the SDK returns this value.
    • -
    -
    -
    + + + + + + url + +

    The URL address where the state of the Media Push changes.

    +
    +
    + + state + The current state + of the Media Push. See . + The current state of the Media Push:
      +
    • (0): The Media Push has + not started or has ended.
    • +
    • (1): The + streaming server and CDN server are being connected.
    • +
    • (2): The Media Push + publishes. The SDK successfully publishes the RTMP or RTMPS + streaming and returns this state.
    • +
    • (3): The Media + Push is recovering. When exceptions occur to the CDN, or the Media + Push is interrupted, the SDK tries to resume the Media Push and + returns this state.
        +
      • If the SDK successfully resumes the streaming, (2) + returns.
      • +
      • If the streaming does not resume within 60 seconds or server + errors occur, (4) returns. You can also reconnect to the server by + calling the / + and methods.
      • +
      +
    • +
    • (4): The Media push + fails. See the errCode parameter for the detailed error + information.You can also try to publish streams again.
    • +
    • (5): The SDK + is disconnecting from the Agora Media Push server and CDN server. + When you call to stop the Media Push + normally, the SDK reports the Media Push state as and in sequence.
    • +
    +
    + + reason + Reasons for the + changes in the Media Push status. See . + Reasons for the changes in the Media Push status:
      +
    • (0): The Media Push + publishes successfully.
    • +
    • (1): + Invalid argument used. Check the parameter setting.
    • +
    • (2): The Media Push is encrypted and cannot be published.
    • +
    • (3): + Timeout for the Media Push. You can try to push the stream + again.
    • +
    • (4): + An error occurs in Agora streaming server. You can try to publish + media streams again.
    • +
    • (5): An + error occurs in the CDN server.
    • +
    • (6): A reserved + parameter.
    • +
    • (7): The host + publishes more than 10 URLs. You can stop publishing sreams to + unnecessary URLs.
    • +
    • (8): The + host manipulates other hosts' URLs. For example, the host updates or + stops other hosts' streams. Check your app logic.
    • +
    • (9): + Agora's server fails to find the media stream of Media Push.
    • +
    • (10): + The format of the media push URL is not supported. Check whether the + URL format is correct.
    • +
    • (11): The + user role is not host, so the user cannot use the Media Push + function. Check your application code logic.
    • +
    • (13): The or method is called to update the + transcoding configuration in a scenario where there is Media Push + without transcoding. Check your application code logic.
    • +
    • (14): Errors + occurred in the host's network.
    • +
    • (16): + Your project does not have permission to use Media Push service. + Refer to Media Push to enable the + Media Push permission.
    • +
    • (100): The Media Push + has been stopped normally. After you call to stop the Media Push, the SDK + returns this value.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onscreencaptureinfoupdated.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onscreencaptureinfoupdated.dita index a6f4ba9d883..870be41b685 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onscreencaptureinfoupdated.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onscreencaptureinfoupdated.dita @@ -1,8 +1,11 @@ - <ph keyref="onScreenCaptureInfoUpdated"/> - Occurs when the screen sharing information is updated. + + <ph keyref="onScreenCaptureInfoUpdated"/> + + Occurs when the screen sharing information is + updated. @@ -13,25 +16,31 @@

    - - - - - public virtual void OnScreenCaptureInfoUpdated(ScreenCaptureInfo info) - - -

    + + + + + public virtual void OnScreenCaptureInfoUpdated(ScreenCaptureInfo info) + + +

    -

    When you call or to start screen sharing and use the excludeWindowList attribute to block the specified window, the SDK triggers this callback if the window blocking fails.

    - This callback is for Windows only.
    +

    When you call or to start screen sharing and use the + excludeWindowList attribute to block the specified window, + the SDK triggers this callback if the window blocking fails.

    + This callback is for Windows only. +
    Parameters - - info -

    Screen sharing information. See .

    -
    -
    + + info +

    Screen sharing information. See .

    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita index db7416b1152..5f4f73e0415 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onsnapshottaken.dita @@ -2,7 +2,8 @@ <ph keyref="onSnapshotTaken"/> - Reports the result of taking a video snapshot. + Reports the result of taking a video + snapshot. @@ -13,9 +14,9 @@

    - public void onSnapshotTaken(int uid, String filePath, int width, int height, int errCode) {} - - (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) { + public void onSnapshotTaken(int uid, String filePath, int width, int height, int errCode) {} + - (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; @@ -23,8 +24,8 @@ (void)errCode; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnSnapshotTaken, int64, uid, FString, filePath, int, width, int, height, int, errCode); - onSnapshotTaken?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnSnapshotTaken, int64, uid, FString, filePath, int, width, int, height, int, errCode); + onSnapshotTaken?( connection: RtcConnection, uid: number, filePath: string, @@ -32,8 +33,8 @@ height: number, errCode: number ): void; - public virtual void OnSnapshotTaken(RtcConnection connection, uint uid, string filePath, int width, int height, int errCode) { } - onSnapshotTaken?( + public virtual void OnSnapshotTaken(RtcConnection connection, uint uid, string filePath, int width, int height, int errCode) { } + onSnapshotTaken?( connection: RtcConnection, uid: number, filePath: string, @@ -41,50 +42,62 @@ height: number, errCode: number ): void; - final void Function(RtcConnection connection, int uid, String filePath, - int width, int height, int errCode)? onSnapshotTaken;

    + final void Function(RtcConnection connection, int uid, String filePath, + int width, int height, int errCode)? onSnapshotTaken; +

    -

    After a successful method call, the SDK triggers this callback to report whether the snapshot is successfully taken as well as the details for the snapshot taken.

    +

    After a successful method call, the SDK triggers this + callback to report whether the snapshot is successfully taken as well as the details + for the snapshot taken.

    <ph keyref="callback-section-title"/> - - - - - - uid - The user ID. One uid of 0 indicates the local user. - - - - - - - filePath - The local path of the snapshot. - - - width - The width (px) of the snapshot. - - - height - The height (px) of the snapshot. - - - errCode - The message that confirms success or gives the reason why the snapshot is not successfully taken:
      -
    • 0: Success.
    • -
    • < 0: Failure:
        -
      • -1: The SDK fails to write data to a file or encode a JPEG image.
      • -
      • -2: The SDK does not find the video stream of the specified user within one second after the method call succeeds. The possible reasons are: local capture stops, remote end stops publishing, or video data processing is blocked.
      • -
      • -3: Calling the method too frequently.
      • -
    • -
    -
    -
    + + + + + + uid + The user ID. One uid of 0 indicates the local + user. + + + + + + + filePath + The local path of the snapshot. + + + width + The width (px) of the snapshot. + + + height + The height (px) of the snapshot. + + + errCode + The message that confirms success or gives the reason why the snapshot is + not successfully taken:
      +
    • 0: Success.
    • +
    • < 0: Failure:
        +
      • -1: The SDK fails to write data to a file or encode a JPEG + image.
      • +
      • -2: The SDK does not find the video stream of the specified + user within one second after the method call succeeds. The + possible reasons are: local capture stops, remote end stops + publishing, or video data processing is blocked.
      • +
      • -3: Calling the method too + frequently.
      • +
    • +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstart.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstart.dita index 93089fc8f92..6b83581c71a 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstart.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstart.dita @@ -1,35 +1,41 @@ - <ph keyref="onStart" /> - Notification for starting the custom video source. + <ph keyref="onStart"/> + Notification for starting the custom video + source. - - - + + + -
    + +

    - - - virtual bool onStart() = 0; - - - - -

    + + + virtual bool onStart() = 0; + + + + +

    - -

    The SDK triggers this callback to remind you to start the custom video source for capturing video. The SDK uses to receive the video frame that you capture after the video source is started. You must use the return value to tell the SDK whether the custom video source is started.

    +

    The SDK triggers this callback to remind you to start the custom video source for + capturing video. The SDK uses to receive the + video frame that you capture after the video source is started. You must use the + return value to tell the SDK whether the custom video source is started.

    - Returns -
      -
    • : The custom video source is started.
    • -
    • : The custom video source fails to start. The SDK stops and reports the error.
    • -
    -
    - \ No newline at end of file + Returns +
      +
    • : The custom video source is started.
    • +
    • : The custom video source fails to start. + The SDK stops and reports the error.
    • +
    +
    +
    +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstop.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstop.dita index a7b8a50ece8..4f5d05ef41e 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstop.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstop.dita @@ -1,28 +1,32 @@ - <ph keyref="onStop" /> - Notification for stopping capturing video. + <ph keyref="onStop"/> + Notification for stopping capturing + video. - - - + + + -
    + +

    - - - virtual void onStop() = 0; - - - - -

    + + + virtual void onStop() = 0; + + + + +

    - -

    The SDK triggers this callback to remind you to stop capturing video. This callback tells you that the SDK is about to stop using to receive the video frame that you capture.

    -
    - \ No newline at end of file +

    The SDK triggers this callback to remind you to stop capturing video. This callback + tells you that the SDK is about to stop using + to receive the video frame that you capture.

    +
    +
    +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreaminjectedstatus.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreaminjectedstatus.dita index f0a199528bb..88c0e90094e 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreaminjectedstatus.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreaminjectedstatus.dita @@ -2,7 +2,8 @@ <ph keyref="onStreamInjectedStatus"/> - Occurs when a media stream URL address is added to the interactive live streaming. + Occurs when a media stream URL address is added to the + interactive live streaming. @@ -13,56 +14,68 @@

    - public void onStreamInjectedStatus(String url, int uid, int status) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamInjectedStatus(String url, int uid, int status) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamInjectedStatusOfUrl:(NSString * _Nonnull)url uid:(NSUInteger)uid status:(AgoraInjectStreamStatus)status; - virtual void onStreamInjectedStatus(const char* url, uid_t uid, int status) { + virtual void onStreamInjectedStatus(const char* url, uid_t uid, int status) { (void)url; (void)uid; (void)status; } - - public virtual void OnStreamInjectedStatus(string url, uint uid, int status) - - -

    + + public virtual void OnStreamInjectedStatus(string url, uint uid, int status) + + +

    -
    -
    + +
    +
    <ph keyref="callback-section-title"/> - - - - - - url - The URL address of the externally injected stream. - - - uid - The user ID. - - - status - State of the externally injected stream: . - 输入的在线媒体流状态: -
      -
    • 0: The external video stream is imported successfully.
    • -
    • 1: The external video stream already exists.
    • -
    • 2: The external video stream to be imported is unauthorized.
    • -
    • 3: A timeout occurs when importing the external video stream.
    • -
    • 4: The SDK fails to import the external video stream.
    • -
    • 5: The SDK successfully stops importing the external video stream.
    • -
    • 6: The external video stream to be stopped importing is not found.
    • -
    • 7: The external video stream to be stopped importing is unauthorized.
    • -
    • 8: A timeout occurs when stopping importing the external video stream.
    • -
    • 9: The SDK fails to stop importing the external video stream.
    • -
    • 10: The external video stream is corrupted.
    • -
    -
    -
    + + + + + + url + The URL address of the externally injected stream. + + + uid + The user ID. + + + status + State of the externally + injected stream: . + 输入的在线媒体流状态:
      +
    • 0: The external + video stream is imported successfully.
    • +
    • 1: The + external video stream already exists.
    • +
    • 2: The + external video stream to be imported is unauthorized.
    • +
    • 3: A timeout + occurs when importing the external video stream.
    • +
    • 4: The SDK fails to + import the external video stream.
    • +
    • 5: The SDK + successfully stops importing the external video stream.
    • +
    • 6: The external + video stream to be stopped importing is not found.
    • +
    • 7: The external + video stream to be stopped importing is unauthorized.
    • +
    • 8: A timeout occurs + when stopping importing the external video stream.
    • +
    • 9: The SDK fails to + stop importing the external video stream.
    • +
    • 10: The external video + stream is corrupted.
    • +
    +
    +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita index 52a307962ba..3494f87fd03 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessage.dita @@ -1,34 +1,37 @@ - <ph keyref="onStreamMessage" /> - Occurs when the local user receives the data stream from the remote user. + + <ph keyref="onStreamMessage"/> + + Occurs when the local user receives the data stream + from the remote user. - +

    - public void onStreamMessage(int uid, int streamId, byte[] data) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamMessage(int uid, int streamId, byte[] data) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine receiveStreamMessageFromUid:(NSUInteger)uid streamId:(NSInteger)streamId data:(NSData * _Nonnull)data; - virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) { + virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) { (void)userId; (void)streamId; (void)data; (void)length; (void)sentTs; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnStreamMessage, int64, userId, int, streamId, FString, data, int64, length, int, sentTs); - onStreamMessage?(connection: RtcConnection, remoteUid: number, streamId: number, data: Uint8Array, length: number, sentTs: number): void; - public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, uint length, UInt64 sentTs) { } - onStreamMessage?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnStreamMessage, int64, userId, int, streamId, FString, data, int64, length, int, sentTs); + onStreamMessage?(connection: RtcConnection, remoteUid: number, streamId: number, data: Uint8Array, length: number, sentTs: number): void; + public virtual void OnStreamMessage(RtcConnection connection, uint remoteUid, int streamId, byte[] data, uint length, UInt64 sentTs) { } + onStreamMessage?( connection: RtcConnection, remoteUid: number, streamId: number, @@ -36,46 +39,50 @@ length: number, sentTs: number ): void; - final void Function(RtcConnection connection, int remoteUid, int streamId, + final void Function(RtcConnection connection, int remoteUid, int streamId, Uint8List data, int length, int sentTs)? onStreamMessage; -

    +

    -

    The SDK triggers this callback when the local user receives the stream message that the remote user sends by calling the method.

    +

    The SDK triggers this callback when the local user receives the stream message that + the remote user sends by calling the method.

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - - - - - uid - userId - remoteUid - The ID of the remote user sending the message. - - - streamId - The stream ID of the received message. - - - data - The data received. - - - length - The data length (byte). - - - sentTs - The time when the data stream is sent. - -
    + + + + + + + + + + uid + userId + remoteUid + The ID of the remote user sending the message. + + + streamId + The stream ID of the received message. + + + data + The data received. + + + length + The data length (byte). + + + sentTs + The time when the data stream is sent. + + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita index 03b4bda7932..d445765ab59 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreammessageerror.dita @@ -1,26 +1,29 @@ - <ph keyref="onStreamMessageError" /> - Occurs when the local user does not receive the data stream from the remote user. + + <ph keyref="onStreamMessageError"/> + + Occurs when the local user does not receive the data + stream from the remote user. - +

    - public void onStreamMessageError(int uid, int streamId, int error, int missed, int cached) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamMessageError(int uid, int streamId, int error, int missed, int cached) {} + - (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 userId, int streamId, int code, int missed, int cached) { + virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) { (void)userId; (void)streamId; (void)code; @@ -28,8 +31,8 @@ (void)cached; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnStreamMessageError, int64, userId, int, streamId, int, code, int, missed, int, cached); - onStreamMessageError?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnStreamMessageError, int64, userId, int, streamId, int, code, int, missed, int, cached); + onStreamMessageError?( connection: RtcConnection, remoteUid: number, streamId: number, @@ -37,8 +40,8 @@ missed: number, cached: number ): void; - public virtual void OnStreamMessageError(RtcConnection connection, uint remoteUid, int streamId, int code, int missed, int cached) {} - onStreamMessageError?( + public virtual void OnStreamMessageError(RtcConnection connection, uint remoteUid, int streamId, int code, int missed, int cached) {} + onStreamMessageError?( connection: RtcConnection, remoteUid: number, streamId: number, @@ -46,47 +49,54 @@ missed: number, cached: number ): void; - final void Function(RtcConnection connection, int remoteUid, int streamId, + final void Function(RtcConnection connection, int remoteUid, int streamId, ErrorCodeType code, int missed, int cached)? onStreamMessageError; -

    +

    -

    The SDK triggers this callback when the local user fails to receive the stream message that the remote user sends by calling the method.

    +

    The SDK triggers this callback when the local user fails to receive the stream + message that the remote user sends by calling the + method.

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - The connection information. See . - - - uid - userId - remoteUid - The ID of the remote user sending the message. - - - streamId - The stream ID of the received message. - - - code - error - The error code. See . - - - missed - The number of lost messages. - - - cached - Number of incoming cached messages when the data stream is interrupted. - -
    + + + + + + connection + The connection information. See . + + + uid + userId + remoteUid + The ID of the remote user sending the message. + + + streamId + The stream ID of the received message. + + + code + error + The error code. See . + + + missed + The number of lost messages. + + + cached + Number of incoming cached messages when the data stream is interrupted. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreampublished.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreampublished.dita index aad668c5387..f7e5838cb62 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreampublished.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreampublished.dita @@ -1,71 +1,92 @@ - <ph keyref="onStreamPublished" /> + <ph keyref="onStreamPublished"/> Occurs when the Media Push is enabled. - +

    - public void onStreamPublished(String url, int error) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamPublished(String url, int error) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamPublishedWithUrl:(NSString * _Nonnull)url errorCode:(AgoraErrorCode)errorCode; - virtual void onStreamPublished(const char *url, int error) { + virtual void onStreamPublished(const char *url, int error) { (void)url; (void)error; } - onStreamPublished?(url: string, error: ErrorCodeType): void; - public virtual void OnStreamPublished(string url, int error) - onStreamPublished?(url: string, error: ErrorCodeType): void; - final void Function(String url, ErrorCodeType error)? onStreamPublished; -

    + onStreamPublished?(url: string, error: ErrorCodeType): void; + public virtual void OnStreamPublished(string url, int error) + onStreamPublished?(url: string, error: ErrorCodeType): void; + final void Function(String url, ErrorCodeType error)? onStreamPublished; +

    - -
    Deprecated:
    -
    Use instead.
    -
    + +
    Deprecated:
    +
    Use instead.
    +

    Reports the result of publishing an RTMP or RTMPS stream.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - url - The CDN streaming URL. - - - error - errorCode - -

    Error codes of the RTMP or RTMPS streaming.

      -
    • ERR_OK (0): The publishing succeeds.
    • -
    • ERR_FAILED (1): The publishing fails.
    • -
    • ERR_INVALID_ARGUMENT (-2): Invalid argument used. If you do not call to configure before calling , the SDK reports ERR_INVALID_ARGUMENT.
    • -
    • ERR_TIMEDOUT (10): The publishing timed out.
    • -
    • ERR_ALREADY_IN_USE (19): The chosen URL address is already in use for CDN live streaming.
    • -
    • ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH (130): You cannot publish an encrypted stream.
    • -
    • ERR_PUBLISH_STREAM_CDN_ERROR (151): CDN related errors. Remove the original URL address and add a new one by calling the and methods.
    • -
    • ERR_PUBLISH_STREAM_NUM_REACH_LIMIT (152): The host manipulates more than 10 URLs. Delete the unnecessary URLs before adding new ones.
    • -
    • ERR_PUBLISH_STREAM_NOT_AUTHORIZED (153): The host manipulates other hosts' URLs. Please check your app logic.
    • -
    • ERR_PUBLISH_STREAM_INTERNAL_SERVER_ERROR (154): An error occurs in Agora's streaming server. Call the method to publish the streaming again.
    • -
    • ERR_PUBLISH_STREAM_FORMAT_NOT_SUPPORTED (156): The format of the CDN streaming URL is not supported. Check whether the URL format is correct.
    • -

    -
    -
    -
    + + + + + + url + The CDN streaming URL. + + + error + errorCode + +

    Error codes of the RTMP or RTMPS streaming.

      +
    • ERR_OK (0): The publishing succeeds.
    • +
    • ERR_FAILED (1): The publishing fails.
    • +
    • ERR_INVALID_ARGUMENT (-2): Invalid argument + used. If you do not call to + configure before calling , the SDK reports + ERR_INVALID_ARGUMENT.
    • +
    • ERR_TIMEDOUT (10): The publishing timed + out.
    • +
    • ERR_ALREADY_IN_USE (19): The chosen URL address + is already in use for CDN live streaming.
    • +
    • ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH (130): + You cannot publish an encrypted stream.
    • +
    • ERR_PUBLISH_STREAM_CDN_ERROR (151): CDN related + errors. Remove the original URL address and add a new one by + calling the and methods.
    • +
    • ERR_PUBLISH_STREAM_NUM_REACH_LIMIT (152): The + host manipulates more than 10 URLs. Delete the unnecessary URLs + before adding new ones.
    • +
    • ERR_PUBLISH_STREAM_NOT_AUTHORIZED (153): The + host manipulates other hosts' URLs. Please check your app + logic.
    • +
    • ERR_PUBLISH_STREAM_INTERNAL_SERVER_ERROR (154): + An error occurs in Agora's streaming server. Call the method to publish the + streaming again.
    • +
    • ERR_PUBLISH_STREAM_FORMAT_NOT_SUPPORTED (156): + The format of the CDN streaming URL is not supported. Check + whether the URL format is correct.
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreamunpublished.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreamunpublished.dita index 5f237c55e35..57edafc24da 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreamunpublished.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onstreamunpublished.dita @@ -13,38 +13,38 @@

    - public void onStreamUnpublished(String url) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamUnpublished(String url) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamUnpublishedWithUrl:(NSString * _Nonnull)url; - virtual void onStreamUnpublished(const char *url) { + virtual void onStreamUnpublished(const char *url) { (void)url; } - onStreamUnpublished?(url: string): void; - public virtual void OnStreamUnpublished(string url) - onStreamUnpublished?(url: string): void; - final void Function(String url)? onStreamUnpublished; -

    + onStreamUnpublished?(url: string): void; + public virtual void OnStreamUnpublished(string url) + onStreamUnpublished?(url: string): void; + final void Function(String url)? onStreamUnpublished; +

    - -
    Deprecated:
    -
    Please use instead.
    -
    + +
    Deprecated:
    +
    Please use instead.
    +
    <ph keyref="callback-section-title"/> - - - - - - - url - Removes an RTMP or RTMPS URL of the media push. - -
    + + + + + + url + Removes an RTMP or RTMPS URL of the media push. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita index 73e2b7eb709..0ee392afe9f 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontokenprivilegewillexpire.dita @@ -1,51 +1,61 @@ - <ph keyref="onTokenPrivilegeWillExpire" /> - Occurs when the token expires in 30 seconds. + + <ph keyref="onTokenPrivilegeWillExpire"/> + + Occurs when the token expires in 30 + seconds. - +

    - public void onTokenPrivilegeWillExpire(String token) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onTokenPrivilegeWillExpire(String token) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine tokenPrivilegeWillExpire:(NSString *_Nonnull)token; - virtual void onTokenPrivilegeWillExpire(const char* token) { + virtual void onTokenPrivilegeWillExpire(const char* token) { (void)token; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnTokenPrivilegeWillExpire, 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)? + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnTokenPrivilegeWillExpire, 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; -

    +

    -

    When the token is about to expire in 30 seconds, the SDK triggers this callback to remind the app to renew the token.

    -

    Upon receiving this callback, you need to generate a new token on your server, and call to pass the new token to the SDK. In scenarios involving multiple channels, you need to call to pass the new token to the SDK.

    +

    When the token is about to expire in 30 seconds, the SDK triggers this + callback to remind the app to renew the token.

    +

    Upon receiving this callback, you need to generate a new token on your server, and + call to pass the new token to the SDK. In scenarios + involving multiple channels, you need to call to pass the new token to the SDK.

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - - - - - token - The token that expires in 30 seconds. - -
    + + + + + + + + + + token + The token that expires in 30 seconds. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita index d55709e62ea..33240c4e982 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodedstreamlayoutinfo.dita @@ -2,7 +2,8 @@ <ph keyref="onTranscodedStreamLayoutInfo"/> - Occurs when the local user receives a mixed video stream carrying layout information. + Occurs when the local user receives a mixed video + stream carrying layout information. @@ -13,19 +14,19 @@

    - 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) { + 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; } - - - public virtual void OnTranscodedStreamLayoutInfo(RtcConnection connection, uint uid, int width, int height, int layoutCount, VideoLayout[] layoutlist) - onTranscodedStreamLayoutInfo?( + + + public virtual void OnTranscodedStreamLayoutInfo(RtcConnection connection, uint uid, int width, int height, int layoutCount, VideoLayout[] layoutlist) + onTranscodedStreamLayoutInfo?( connection: RtcConnection, uid: number, width: number, @@ -33,40 +34,44 @@ layoutCount: number, layoutlist: VideoLayout[] ): void; - final void Function( + final void Function( RtcConnection connection, int uid, int width, int height, int layoutCount, - List<VideoLayout> layoutlist)? onTranscodedStreamLayoutInfo;

    + List<VideoLayout> layoutlist)? onTranscodedStreamLayoutInfo; +

    Details
    - -
    Since
    -
    v4.3.0
    -
    + +
    Since
    +
    v4.3.0
    +
    -

    When the local user receives a mixed video stream sent by the video mixing server for the first time, or when there is a change in the layout information of the mixed stream, the SDK triggers this callback, reporting the layout information of each sub-video stream within the mixed video stream.

    +

    When the local user receives a mixed video stream sent by the video mixing server for + the first time, or when there is a change in the layout information of the mixed + stream, the SDK triggers this callback, reporting the layout information of each + sub-video stream within the mixed video stream.

    This callback is for Android and iOS only.
    Parameters - - - - - - - - - - uid - User ID who published this mixed video stream. - + + + + + + + + + + uid + User ID who published this mixed video stream. + width Width (px) of the mixed video stream. @@ -83,8 +88,10 @@ info videoLayoutInfo layoutlist - Layout information of a specific sub-video stream within the mixed stream. See . + Layout information of a specific sub-video stream within the mixed stream. + See . -
    -
    + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita index 3b8637d7f9f..cb6b9cb1787 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_ontranscodingupdated.dita @@ -1,38 +1,47 @@ - <ph keyref="onTranscodingUpdated" /> - Occurs when the publisher's transcoding is updated. + <ph keyref="onTranscodingUpdated"/> + Occurs when the publisher's transcoding is + updated. - +

    - public void onTranscodingUpdated() {} - - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onTranscodingUpdated() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnTranscodingUpdated); - onTranscodingUpdated?(): void; - public virtual void OnTranscodingUpdated() - onTranscodingUpdated?(): void; - final void Function()? onTranscodingUpdated; -

    + public void onTranscodingUpdated() {} + - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onTranscodingUpdated() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnTranscodingUpdated); + onTranscodingUpdated?(): void; + public virtual void OnTranscodingUpdated() + onTranscodingUpdated?(): void; + final void Function()? onTranscodingUpdated; +

    -

    When the class in the method updates, the SDK triggers the callback to report the update information.

    - If you call the method to set the class for the first time, the SDK does not trigger this callback.
    +

    When the class in the method updates, the SDK triggers the + callback to report the update + information.

    + If you call the method to set the class for the first time, the SDK does not trigger + this callback. +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita index d58773f2506..2c7be56de5c 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuplinknetworkinfoupdated.dita @@ -1,46 +1,50 @@ - <ph keyref="onUplinkNetworkInfoUpdated" /> - Occurs when the uplink network information changes. + <ph keyref="onUplinkNetworkInfoUpdated"/> + Occurs when the uplink network information + changes. - +

    - public void onUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + public void onUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine uplinkNetworkInfoUpdate:(AgoraUplinkNetworkInfo *_Nonnull)networkInfo; - virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) { + virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) { (void)info; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnUplinkNetworkInfoUpdated, const FUplinkNetworkInfo&, info); - onUplinkNetworkInfoUpdated?(info: UplinkNetworkInfo): void; - public virtual void OnUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} - onUplinkNetworkInfoUpdated?(info: UplinkNetworkInfo): void; - final void Function(UplinkNetworkInfo info)? onUplinkNetworkInfoUpdated; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnUplinkNetworkInfoUpdated, const FUplinkNetworkInfo&, info); + onUplinkNetworkInfoUpdated?(info: UplinkNetworkInfo): void; + public virtual void OnUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} + onUplinkNetworkInfoUpdated?(info: UplinkNetworkInfo): void; + final void Function(UplinkNetworkInfo info)? onUplinkNetworkInfoUpdated; +

    The SDK triggers this callback when the uplink network information changes.

    - This callback only applies to scenarios where you push externally encoded video data in H.264 format to the SDK.
    + This callback only applies to scenarios where you push externally + encoded video data in H.264 format to the SDK. +
    Parameters - - - - - - info - networkInfo - The uplink network information. See . - -
    + + + + + + info + networkInfo + The uplink network information. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuploadlogresult.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuploadlogresult.dita index 385f7dc666c..04ddf4d4dcc 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuploadlogresult.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuploadlogresult.dita @@ -1,61 +1,71 @@ - <ph keyref="onUploadLogResult" /> - Reports the result of uploading the SDK log files. + <ph keyref="onUploadLogResult"/> + Reports the result of uploading the SDK log + files. - - - + + + -
    -

    - - - virtual void onUploadLogResult(const char* requestId, + +

    +

    + + + virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) { (void)requestId; (void)success; (void)reason; } - - public virtual void OnUploadLogResult(string requestId, bool success, UPLOAD_ERROR_REASON reason) - - final void Function(RtcConnection connection, String requestId, bool success, + + public virtual void OnUploadLogResult(string requestId, bool success, UPLOAD_ERROR_REASON reason) + + final void Function(RtcConnection connection, String requestId, bool success, UploadErrorReason reason)? onUploadLogResult; -

    -
    +

    +
    - -
    - -
    Since
    -
    v3.3.0
    -
    -
    -

    After is called, the SDK triggers the callback to report the result of uploading the SDK log files. If the upload fails, refer to the reason parameter to troubleshoot.

    +
    + +
    Since
    +
    v3.3.0
    +
    +
    +

    After is called, the SDK triggers the callback to + report the result of uploading the SDK log files. If the upload fails, refer to the + reason parameter to troubleshoot.

    -
    <ph keyref="callback-section-title"/> - - - requestId - The request ID. The request ID is the same as the requestId returned in . You can use the requestId to match a specific upload with a callback. - - - success -

    Whether the log file is uploaded successfully:

      -
    • : Successfully upload the log files.
    • -
    • : Fails to upload the log files. For details, see the reason parameter.
    • -

    -
    - - reason - The reason for the upload failure. For details, see . - -
    +
    <ph keyref="callback-section-title"/> + + + requestId + The request ID. The request ID is the same as the + requestId returned in . + You can use the requestId to match a specific upload + with a callback. + + + success +

    Whether the log file is uploaded successfully:

      +
    • : Successfully upload the + log files.
    • +
    • : Fails to upload the log + files. For details, see the reason + parameter.
    • +

    +
    + + reason + The reason for the upload failure. For details, see . + +
    - + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseraccountupdated.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseraccountupdated.dita index 20e85f4a574..cfc73257b27 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseraccountupdated.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseraccountupdated.dita @@ -2,33 +2,34 @@ onUserAccountUpdated - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita index 6d41367d0af..6edd3ea162b 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablelocalvideo.dita @@ -1,79 +1,97 @@ - <ph keyref="onUserEnableLocalVideo" /> - Occurs when a specific remote user enables/disables the local video capturing function. + + <ph keyref="onUserEnableLocalVideo"/> + + Occurs when a specific remote user enables/disables the + local video capturing function. - +

    - public void onUserEnableLocalVideo(int uid, boolean enabled) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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) { + virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) { (void)uid; (void)enabled; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserEnableLocalVideo, int64, uid, bool, enabled); - onUserEnableLocalVideo?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserEnableLocalVideo, int64, uid, bool, enabled); + onUserEnableLocalVideo?( connection: RtcConnection, remoteUid: number, enabled: boolean ): void; - public virtual void OnUserEnableLocalVideo(RtcConnection connection, uint remoteUid, bool enabled) {} - onUserEnableLocalVideo?( + 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)? + final void Function(RtcConnection connection, int remoteUid, bool enabled)? onUserEnableLocalVideo; -

    +

    - -
    Deprecated:
    -
    This callback is deprecated, use the following enumerations in the callback:
      -
    • (0) and (5).
    • -
    • (2) and (6).
    • -
    -
    + +
    Deprecated:
    +
    This callback is deprecated, use the following enumerations in the callback:
      +
    • (0) and (5).
    • +
    • (2) and (6).
    • +
    +
    +
    -

    The SDK triggers this callback when the remote user resumes or stops capturing the video stream by calling the method.

    +

    The SDK triggers this callback when the remote user resumes or stops + capturing the video stream by calling the + method.

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - - - - - uid - remoteUid - The user ID of the remote user. - - - enabled - -

    Whether the specified remote user enables/disables local video capturing:

      -
    • : The video module is enabled. Other users in the channel can see the video of this remote user.
    • -
    • : The video module is disabled. Other users in the channel can no longer receive the video stream from this remote user, while this remote user can still receive the video streams from other users.
    • -

    -
    -
    -
    + + + + + + + + + + uid + remoteUid + The user ID of the remote user. + + + enabled + +

    Whether the specified remote user enables/disables local video capturing:

      +
    • : The video module is + enabled. Other users in the channel can see the video of this + remote user.
    • +
    • : The video module is + disabled. Other users in the channel can no longer receive the + video stream from this remote user, while this remote user can + still receive the video streams from other users.
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita index d5f9f204472..ca6f09b3d31 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserenablevideo.dita @@ -1,79 +1,95 @@ - <ph keyref="onUserEnableVideo" /> - Occurs when a remote user enables or disables the video module. + + <ph keyref="onUserEnableVideo"/> + + Occurs when a remote user enables or disables the video + module. - +

    - public void onUserEnableVideo(int uid, boolean enabled) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserEnableVideo(int uid, boolean enabled) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid - virtual void onUserEnableVideo(uid_t uid, bool enabled) { + virtual void onUserEnableVideo(uid_t uid, bool enabled) { (void)uid; (void)enabled; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserEnableVideo, int64, uid, bool, enabled); - onUserEnableVideo?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserEnableVideo, int64, uid, bool, enabled); + onUserEnableVideo?( connection: RtcConnection, remoteUid: number, enabled: boolean ): void; - public virtual void OnUserEnableVideo(RtcConnection connection, uint remoteUid, bool enabled) {} - onUserEnableVideo?( + 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)? + final void Function(RtcConnection connection, int remoteUid, bool enabled)? onUserEnableVideo; -

    +

    - -
    Deprecated:
    -
    Use the following parameters in the callback instead:
      -
    • (0) and (5).
    • -
    • (2) and (6).
    • -
    -
    + +
    Deprecated:
    +
    Use the following parameters in the callback instead:
      +
    • (0) and (5).
    • +
    • (2) and (6).
    • +
    +
    +
    -

    Once the video module is disabled, the user can only use a voice call. The user cannot send or receive any video.

    -

    The SDK triggers this callback when a remote user enables or disables the video module by calling the or method.

    +

    Once the video module is disabled, the user can only use a voice call. The + user cannot send or receive any video.

    +

    The SDK triggers this callback when a remote user enables or disables the video + module by calling the or + method.

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - The connection information. See . - - - uid - remoteUid - The user ID of the remote user. - - - enabled - -
      -
    • : The video module is enabled.
    • -
    • : The video module is disabled.
    • -
    -
    -
    + + + + + + connection + The connection information. See . + + + uid + remoteUid + The user ID of the remote user. + + + enabled + +
      +
    • : The video module is + enabled.
    • +
    • : The video module is + disabled.
    • +
    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita index f73767ae997..2a4250da9f0 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserinfoupdated.dita @@ -1,50 +1,59 @@ - <ph keyref="onUserInfoUpdated" /> - Occurs when the SDK gets the user ID and user account of the remote user. + + <ph keyref="onUserInfoUpdated"/> + + Occurs when the SDK gets the user ID and user account + of the remote user. - +

    - 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) { + 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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserInfoUpdated, 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; -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserInfoUpdated, 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; +

    -

    After a remote user joins the channel, the SDK gets the UID and user account of the remote user, caches them in a mapping table object, and triggers this callback on the local client.

    +

    After a remote user joins the channel, the SDK gets the UID and user account of the + remote user, caches them in a mapping table object, and triggers this callback on + the local client.

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - uid - The user ID of the remote user. - - - userInfo - info - The UserInfo object that contains the user ID and user account of the remote user. See for details. - -
    + + + + + + uid + The user ID of the remote user. + + + userInfo + info + The UserInfo object that contains the user ID and user account of the remote + user. See for details. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita index 890f075fd26..ec92f0392b3 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserjoined.dita @@ -1,65 +1,79 @@ - <ph keyref="onUserJoined" /> - Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) joins the channel. + + <ph keyref="onUserJoined"/> + + Occurs when a remote user (in the communication + profile)/ host (in the live streaming profile) joins the channel.

    - public void onUserJoined(int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserJoined(int uid, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; - virtual void onUserJoined(uid_t uid, int elapsed) { + virtual void onUserJoined(uid_t uid, int elapsed) { (void)uid; (void)elapsed; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserJoined, int64, uid, int, elapsed); - onUserJoined?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserJoined, int64, uid, int, elapsed); + onUserJoined?( connection: RtcConnection, remoteUid: number, elapsed: number ): void; - public virtual void OnUserJoined(RtcConnection connection, uint remoteUid, int elapsed) {} - onUserJoined?( + public virtual void OnUserJoined(RtcConnection connection, uint remoteUid, int elapsed) {} + onUserJoined?( connection: RtcConnection, remoteUid: number, elapsed: number ): void; - final void Function(RtcConnection connection, int remoteUid, int elapsed)? + final void Function(RtcConnection connection, int remoteUid, int elapsed)? onUserJoined; -

    +

      -
    • In a communication channel, this callback indicates that a remote user joins the channel. The SDK also triggers this callback to report the existing users in the channel when a user joins the channel.
    • -
    • In a live-broadcast channel, this callback indicates that a host joins the channel. The SDK also triggers this callback to report the existing hosts in the channel when a host joins the channel. Agora recommends limiting the number of hosts to 17.
    • +
    • In a communication channel, this callback indicates that a remote user joins the + channel. The SDK also triggers this callback to report the existing users in the + channel when a user joins the channel.
    • +
    • In a live-broadcast channel, this callback indicates that a host joins the + channel. The SDK also triggers this callback to report the existing hosts in the + channel when a host joins the channel. Agora recommends limiting the number of + hosts to 17.

    The SDK triggers this callback under one of the following circumstances:

      -
    • A remote user/host joins the channel.
    • -
    • A remote user switches the user role to the host after joining the channel.
    • -
    • A remote user/host rejoins the channel after a network interruption.
    • -

    +
  • A remote user/host joins the channel.
  • +
  • A remote user switches the user role to the host after joining the + channel.
  • +
  • A remote user/host rejoins the channel after a network interruption.
  • + +

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - The connection information. See . - - - uid - remoteUid - The ID of the user or host who joins the channel. - - - elapsed - Time delay (ms) from the local user calling until this callback is triggered. - -
    + + + + + + connection + The connection information. See . + + + uid + remoteUid + The ID of the user or host who joins the channel. + + + elapsed + Time delay (ms) from the local user calling + until this callback is triggered. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita index dfb162594d0..76012488cb6 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermuteaudio.dita @@ -1,55 +1,63 @@ - <ph keyref="onUserMuteAudio" /> - Occurs when a remote user (in the communication profile) or a host (in the live streaming profile) stops/resumes sending the audio stream. + + <ph keyref="onUserMuteAudio"/> + + Occurs when a remote user (in the communication + profile) or a host (in the live streaming profile) stops/resumes sending the audio + stream. - +

    - public void onUserMuteAudio(int uid, boolean muted) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid; - virtual void onUserMuteAudio(uid_t uid, bool muted) { + public void onUserMuteAudio(int uid, boolean muted) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid; + virtual void onUserMuteAudio(uid_t uid, bool muted) { (void)uid; (void)muted; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserMuteAudio, int64, uid, bool, muted); - onUserMuteAudio?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserMuteAudio, int64, uid, bool, muted); + onUserMuteAudio?( connection: RtcConnection, remoteUid: number, muted: boolean ): void; - public virtual void OnUserMuteAudio(RtcConnection connection, uint remoteUid, bool muted) { } - onUserMuteAudio?( + 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)? + final void Function(RtcConnection connection, int remoteUid, bool muted)? onUserMuteAudio; -

    +

    - -
    Deprecated:
    -
    Use instead.
    -
    -
    -

    The SDK triggers this callback when the remote user stops or resumes sending the audio stream by calling the method.

    - This callback does not work properly when the number of users (in the communication profile) or hosts (in the live streaming channel) in a channel exceeds 17.
    + +
    Deprecated:
    +
    Use instead.
    +
    + +

    The SDK triggers this callback when the remote user stops or resumes sending the + audio stream by calling the method.

    + This callback does not work properly when the number of users (in + the communication profile) or hosts (in the live streaming channel) in a channel + exceeds 17. +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - + + uid @@ -59,11 +67,14 @@ muted Whether the remote user's audio stream is muted:
      -
    • : User's audio stream is muted.
    • -
    • : User's audio stream is unmuted.
    • -
    +
  • : User's audio stream is + muted.
  • +
  • : User's audio stream is + unmuted.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita index cf20be85e40..24f12890bdc 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onusermutevideo.dita @@ -1,62 +1,72 @@ - <ph keyref="onUserMuteVideo" /> - Occurs when a remote user stops or resumes publishing the video stream. + <ph keyref="onUserMuteVideo"/> + Occurs when a remote user stops or resumes publishing + the video stream. - +

    - public void onUserMuteVideo(int uid, boolean muted) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid - virtual void onUserMuteVideo(uid_t uid, bool muted) { + public void onUserMuteVideo(int uid, boolean muted) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid + virtual void onUserMuteVideo(uid_t uid, bool muted) { (void)uid; (void)muted; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserMuteVideo, int64, userId, bool, muted); - onUserMuteVideo?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserMuteVideo, int64, userId, bool, muted); + onUserMuteVideo?( connection: RtcConnection, remoteUid: number, muted: boolean ): void; - public virtual void OnUserMuteVideo(RtcConnection connection, uint remoteUid, bool muted) {} - onUserMuteVideo?( + public virtual void OnUserMuteVideo(RtcConnection connection, uint remoteUid, bool muted) {} + onUserMuteVideo?( connection: RtcConnection, remoteUid: number, muted: boolean ): void; - final void Function(RtcConnection connection, int remoteUid, bool muted)? + final void Function(RtcConnection connection, int remoteUid, bool muted)? onUserMuteVideo; -

    +

    - -
    Deprecated:
    -
    You can also use the callback with the following parameters:
      -
    • (0) and (5).
    • -
    • (2) and (6).
    • -
    -
    + +
    Deprecated:
    +
    You can also use the callback + with the following parameters:
      +
    • (0) and (5).
    • +
    • (2) and (6).
    • +
    +
    +
    -

    When a remote user calls to stop or resume publishing the video stream, the SDK triggers this callback to report to the local user the state of the streams published by the remote user.

    - This callback can be inaccurate when the number of users (in the communication profile) or hosts (in the live streaming profile) in a channel exceeds 17.
    +

    When a remote user calls to stop or resume + publishing the video stream, the SDK triggers this callback to report to the local + user the state of the streams published by the remote user.

    + This callback can be inaccurate when the number of users (in the + communication profile) or hosts (in the live streaming profile) in a channel exceeds + 17. +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - + + connection - The connection information. See . + The connection information. See . uid @@ -66,11 +76,14 @@ muted Whether the remote user stops publishing the video stream:
      -
    • : The remote user stops publishing the video stream.
    • -
    • : The remote user resumes publishing the video stream.
    • -
    +
  • : The remote user stops + publishing the video stream.
  • +
  • : The remote user resumes + publishing the video stream.
  • + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseroffline.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseroffline.dita index dc88904b395..fcb9c8bb548 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseroffline.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuseroffline.dita @@ -1,75 +1,99 @@ - <ph keyref="onUserOffline" /> - Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) leaves the channel. + + <ph keyref="onUserOffline"/> + + Occurs when a remote user (in the communication + profile)/ host (in the live streaming profile) leaves the channel. - +

    - public void onUserOffline(int uid, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserOffline(int uid, int reason) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOfflineOfUid:(NSUInteger)uid reason:(AgoraUserOfflineReason)reason; - virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) { + virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) { (void)uid; (void)reason; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserOffline, int64, uid, EUSER_OFFLINE_REASON_TYPE, reason); - onUserOffline?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnUserOffline, int64, uid, EUSER_OFFLINE_REASON_TYPE, reason); + onUserOffline?( connection: RtcConnection, remoteUid: number, reason: UserOfflineReasonType ): void; - public virtual void OnUserOffline(RtcConnection connection, uint remoteUid, USER_OFFLINE_REASON_TYPE reason) {} - onUserOffline?( + public virtual void OnUserOffline(RtcConnection connection, uint remoteUid, USER_OFFLINE_REASON_TYPE reason) {} + onUserOffline?( connection: RtcConnection, remoteUid: number, reason: UserOfflineReasonType ): void; - final void Function(RtcConnection connection, int remoteUid, + final void Function(RtcConnection connection, int remoteUid, UserOfflineReasonType reason)? onUserOffline; -

    +

    There are two reasons for users to become offline:

      -
    • Leave the channel: When a user/host leaves the channel, the user/host sends a goodbye message. When this message is received, the SDK determines that the user/host leaves the channel.
    • -
    • Drop offline: When no data packet of the user or host is received for a certain period of time (20 seconds for the communication profile, and more for the live broadcast profile), the SDK assumes that the user/host drops offline. A poor network connection may lead to false detections. It's recommended to use the Agora RTM SDK for reliable offline detection.
    • -

    +
  • Leave the channel: When a user/host leaves the channel, the user/host sends + a goodbye message. When this message is received, the SDK determines that + the user/host leaves the channel.
  • +
  • Drop offline: When no data packet of the user or host is received for a + certain period of time (20 seconds for the communication profile, and more + for the live broadcast profile), the SDK assumes that the user/host drops + offline. A poor network connection may lead to false detections. It's + recommended to use the Agora RTM SDK for reliable offline detection.
  • + +

    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - connection - The connection information. See . - - - uid - remoteUid - The ID of the user who leaves the channel or goes offline. - - - reason - -

    Reasons why the user goes offline: .

    -

    Reasons why a remote user (COMMUNICATION) or a host (LIVE_BROADCASTING) goes offline:

      -
    • (0): The user has quit the call. When the user leaves the channel, the user sends a goodbye message. When this message is received, the SDK determines that the user leaves the channel.
    • -
    • (1): The SDK timed out and the user dropped offline because it has not received any data package within a certain period of time. A poor network connection may lead to false detection. It is recommended to use the Agora RTM SDK for reliable offline detection.
    • -
    • (2): The user switches the user role from a broadcaster to an audience.
    • -

    -
    -
    -
    + + + + + + connection + The connection information. See . + + + uid + remoteUid + The ID of the user who leaves the channel or goes offline. + + + reason + +

    Reasons why + the user goes offline: .

    +

    Reasons why a remote user (COMMUNICATION) or a host + (LIVE_BROADCASTING) goes offline:

      +
    • (0): The user has quit the call. + When the user leaves the channel, the user sends a goodbye + message. When this message is received, the SDK determines that + the user leaves the channel.
    • +
    • (1): The SDK timed out and + the user dropped offline because it has not received any data + package within a certain period of time. A poor network + connection may lead to false detection. It is recommended to use + the Agora RTM SDK for reliable offline detection.
    • +
    • (2): The user + switches the user role from a broadcaster to an audience.
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserstatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserstatechanged.dita index 9819cd00bff..ab63819e20c 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onuserstatechanged.dita @@ -2,33 +2,34 @@ onUserStateChanged - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita index ee984146407..2c2f7a7d702 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideodevicestatechanged.dita @@ -1,8 +1,11 @@ - <ph keyref="onVideoDeviceStateChanged"/> - Occurs when the video device state changes. + + <ph keyref="onVideoDeviceStateChanged"/> + + Occurs when the video device state + changes. @@ -13,47 +16,54 @@

    - - - (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)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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnVideoDeviceStateChanged, FString, deviceId, int, deviceType, int, deviceState); - onVideoDeviceStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnVideoDeviceStateChanged, 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?( + 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, + final void Function(String deviceId, MediaDeviceType deviceType, MediaDeviceStateType deviceState)? onVideoDeviceStateChanged; -

    +

    -

    This callback reports the change of system video devices, such as being unplugged or removed. On a Windows device with an external camera for video capturing, the video disables once the external camera is unplugged.

    - This callback is for Windows and macOS only.
    +

    This callback reports the change of system video devices, such as being + unplugged or removed. On a Windows device with an external camera for video + capturing, the video disables once the external camera is unplugged.

    + This callback is for Windows and macOS + only. +
    - <ph keyref="callback-section-title"/> + + <ph keyref="callback-section-title"/> + - - deviceId - The device ID. - - - deviceType - Media device types. See . - - - deviceState - Media device states. See . - -
    + + deviceId + The device ID. + + + deviceType + Media device types. See . + + + deviceState + Media device states. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita index 338b705aaaa..48efe2f763e 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideopublishstatechanged.dita @@ -1,28 +1,31 @@ - <ph keyref="onVideoPublishStateChanged" /> - Occurs when the video publishing state changes. + + <ph keyref="onVideoPublishStateChanged"/> + + Occurs when the video publishing state + changes. - +

    - public void onVideoPublishStateChanged(Constants.VideoSourceType source, String channel, + public void onVideoPublishStateChanged(Constants.VideoSourceType source, String channel, int oldState, int newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId + - (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) { + 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; @@ -30,61 +33,65 @@ elapseSinceLastState:(int)elapseSinceLastState; (void)elapseSinceLastState; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoPublishStateChanged, EVIDEO_SOURCE_TYPE, source, FString, channel, ESTREAM_PUBLISH_STATE, oldState, ESTREAM_PUBLISH_STATE, newState, int, elapseSinceLastState); - onVideoPublishStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoPublishStateChanged, EVIDEO_SOURCE_TYPE, source, FString, channel, ESTREAM_PUBLISH_STATE, oldState, ESTREAM_PUBLISH_STATE, newState, int, elapseSinceLastState); + onVideoPublishStateChanged?( source: VideoSourceType, channel: string, oldState: StreamPublishState, newState: StreamPublishState, elapseSinceLastState: number ): void; - public virtual void OnVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { } - onVideoPublishStateChanged?( + public virtual void OnVideoPublishStateChanged(VIDEO_SOURCE_TYPE source, string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { } + onVideoPublishStateChanged?( source: VideoSourceType, channel: string, oldState: StreamPublishState, newState: StreamPublishState, elapseSinceLastState: number ): void; - final void Function( + final void Function( VideoSourceType source, String channel, StreamPublishState oldState, StreamPublishState newState, - int elapseSinceLastState)? onVideoPublishStateChanged; -

    -
    -
    + int elapseSinceLastState)? onVideoPublishStateChanged; +

    +
    - <ph keyref="callback-section-title" /> + + <ph keyref="callback-section-title"/> + - - - - - - channel - channelId - The channel name. - - + + + + + + channel + channelId + The channel name. + + sourceType source - The type of the video source. See . + The type of the video source. See . + + + oldState + The previous publishing state. See . + + + newState + The current publishing stat. See . - oldState - The previous publishing state. See . - - - newState - The current publishing stat. See . - - - elapseSinceLastState - The time elapsed (ms) from the previous state to the current state. - -
    + elapseSinceLastState + The time elapsed (ms) from the previous state to the current state. + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita index cd96dd3ea24..7bbb1220d12 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideorenderingtracingresult.dita @@ -13,62 +13,71 @@

    - public void onVideoRenderingTracingResult(int uid, + 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)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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnVideoRenderingTracingResult, int64, uid, EMEDIA_TRACE_EVENT, currentEvent, FVideoRenderingTracingInfo, tracingInfo); - onVideoRenderingTracingResult?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnVideoRenderingTracingResult, int64, uid, EMEDIA_TRACE_EVENT, currentEvent, FVideoRenderingTracingInfo, tracingInfo); + onVideoRenderingTracingResult?( connection: RtcConnection, uid: number, currentEvent: MediaTraceEvent, tracingInfo: VideoRenderingTracingInfo ): void; - public virtual void OnVideoRenderingTracingResult(RtcConnection connection, uint uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) { } - onVideoRenderingTracingResult?( + public virtual void OnVideoRenderingTracingResult(RtcConnection connection, uint uid, MEDIA_TRACE_EVENT currentEvent, VideoRenderingTracingInfo tracingInfo) { } + onVideoRenderingTracingResult?( connection: RtcConnection, uid: number, currentEvent: MediaTraceEvent, tracingInfo: VideoRenderingTracingInfo ): void; - final void Function( + final void Function( RtcConnection connection, int uid, MediaTraceEvent currentEvent, - VideoRenderingTracingInfo tracingInfo)? onVideoRenderingTracingResult;

    + VideoRenderingTracingInfo tracingInfo)? onVideoRenderingTracingResult; +

    - -
    Since
    -
    v4.1.1
    -
    + +
    Since
    +
    v4.1.1
    +
    -

    After calling the method or joining the channel, the SDK triggers this callback to report the events of video frame rendering and the indicators during the rendering process. Developers can optimize the indicators to improve the efficiency of the first video frame rendering.

    +

    After calling the method or joining the + channel, the SDK triggers this callback to report the events of video frame + rendering and the indicators during the rendering process. Developers can optimize + the indicators to improve the efficiency of the first video frame rendering.

    <ph keyref="callback-section-title"/> - - - - - - uid - The user ID. - - - currentEvent - The current video frame rendering event. See . - - - tracingInfo - The indicators during the video frame rendering process. Developers need to reduce the value of indicators as much as possible in order to improve the efficiency of the first video frame rendering. See . - -
    + + + + + + uid + The user ID. + + + currentEvent + The current video frame rendering event. See . + + + tracingInfo + The indicators during the video frame rendering process. Developers need to + reduce the value of indicators as much as possible in order to improve the + efficiency of the first video frame rendering. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita index 8548637efa9..eb24c53cec1 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosizechanged.dita @@ -1,29 +1,32 @@ - <ph keyref="onVideoSizeChanged" /> - Occurs when the video size or rotation of a specified user changes. + + <ph keyref="onVideoSizeChanged"/> + + Occurs when the video size or rotation of a specified + user changes. - +

    - public void onVideoSizeChanged( + public void onVideoSizeChanged( Constants.VideoSourceType source, int uid, int width, int height, int rotation) {} - - (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)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; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoSizeChanged, EVIDEO_SOURCE_TYPE, sourceType, int64, uid, int, width, int, height, int, rotation); - onVideoSizeChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoSizeChanged, EVIDEO_SOURCE_TYPE, sourceType, int64, uid, int, width, int, height, int, rotation); + onVideoSizeChanged?( connection: RtcConnection, sourceType: VideoSourceType, uid: number, @@ -31,8 +34,8 @@ height: number, rotation: number ): void; - public virtual void OnVideoSizeChanged(RtcConnection connection, VIDEO_SOURCE_TYPE sourceType, uint uid, int width, int height, int rotation) { } - onVideoSizeChanged?( + public virtual void OnVideoSizeChanged(RtcConnection connection, VIDEO_SOURCE_TYPE sourceType, uint uid, int width, int height, int rotation) { } + onVideoSizeChanged?( connection: RtcConnection, sourceType: VideoSourceType, uid: number, @@ -40,48 +43,55 @@ height: number, rotation: number ): void; - final void Function(RtcConnection connection, VideoSourceType sourceType, + 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 - The connection information. See . - - - sourceType - source - The type of the video source. See . + + + - - uid - The ID of the user whose video size or rotation changes. (The uid for the local user is 0. The video is the local user's video preview). - - - size - Video dimensions. - - - width - The width (pixels) of the video stream. - - - height - The height (pixels) of the video stream. - - - rotation - The rotation information. The value range is [0,360).On the iOS platform, the parameter value is always 0. - The parameter value is always 0. - - -
    + + connection + The connection information. See . + + + sourceType + source + The type of the video source. See . + + + uid + The ID of the user whose video size or rotation changes. (The + uid for the local user is 0. The video is the local + user's video preview). + + + size + Video dimensions. + + + width + The width (pixels) of the video stream. + + + height + The height (pixels) of the video stream. + + + rotation + The rotation information. The value range is [0,360).On the iOS platform, the + parameter value is always 0. + The parameter value is always 0. + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosourceframesizechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosourceframesizechanged.dita index c2d1802695e..53e015e7b5c 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosourceframesizechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosourceframesizechanged.dita @@ -2,33 +2,34 @@ onVideoSourceFrameSizeChanged - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita index 6aa092eab05..377ad2bf1c9 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideostopped.dita @@ -1,44 +1,48 @@ - <ph keyref="onVideoStopped" /> + <ph keyref="onVideoStopped"/> Occurs when the video stops playing. - +

    - public void onVideoStopped() {} - - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onVideoStopped() - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnVideoStopped); - onVideoStopped?(): void; - public virtual void OnVideoStopped() - onVideoStopped?(): void; - final void Function()? onVideoStopped; -

    + public void onVideoStopped() {} + - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onVideoStopped() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnVideoStopped); + onVideoStopped?(): void; + public virtual void OnVideoStopped() + onVideoStopped?(): void; + final void Function()? onVideoStopped; +

    - -
    Deprecated:
    -
    Use (0) in the callback instead.
    -
    + +
    Deprecated:
    +
    Use (0) in the callback instead.
    +
    -

    The application can use this callback to change the configuration of the view (for example, displaying other pictures in the view) after the video stops playing.

    +

    The application can use this callback to change the configuration of the + view (for example, displaying other pictures in the view) + after the video stops playing.

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita index 1a77c27acd1..969f7cbea32 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvideosubscribestatechanged.dita @@ -1,27 +1,28 @@ - <ph keyref="onVideoSubscribeStateChanged" /> - Occurs when the video subscribing state changes. + <ph keyref="onVideoSubscribeStateChanged"/> + Occurs when the video subscribing state + changes. - +

    - public void onVideoSubscribeStateChanged( + public void onVideoSubscribeStateChanged( String channel, int uid, int oldState, int newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (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, + virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, @@ -32,94 +33,138 @@ (void)newState; (void)elapseSinceLastState; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoSubscribeStateChanged, FString, channel, int64, uid, ESTREAM_SUBSCRIBE_STATE, oldState, ESTREAM_SUBSCRIBE_STATE, newState, int, elapseSinceLastState); - onVideoSubscribeStateChanged?( + DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FOnVideoSubscribeStateChanged, FString, channel, int64, uid, ESTREAM_SUBSCRIBE_STATE, oldState, ESTREAM_SUBSCRIBE_STATE, newState, int, elapseSinceLastState); + onVideoSubscribeStateChanged?( channel: string, uid: number, oldState: StreamSubscribeState, newState: StreamSubscribeState, elapseSinceLastState: number ): void; - public virtual void OnVideoSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnVideoSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - onVideoSubscribeStateChanged?( + onVideoSubscribeStateChanged?( channel: string, uid: number, oldState: StreamSubscribeState, newState: StreamSubscribeState, elapseSinceLastState: number ): void; - final void Function( + final void Function( String channel, int uid, StreamSubscribeState oldState, StreamSubscribeState newState, int elapseSinceLastState)? onVideoSubscribeStateChanged; -

    -
    -
    +

    +
    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - - - channel - The channel name. - - - uid - The user ID of the remote user. - - - oldState - The previous subscribing status. See . - The previous subscription status.
      -
    • (0): The initial subscribing state after joining the channel.
    • -
    • (1): Fails to subscribe to the remote stream. Possible reasons:
        -
      • The remote user:
          -
        • Calls () or () to stop sending local media stream.
        • -
        • Calls or to disable the local audio or video module.
        • -
        • Calls () or () to disable the local audio or video capture.
        • -
        • The role of the remote user is audience.
        • -
      • -
      • The local user calls the following methods to stop receiving the remote media stream:
          -
        • Call () or () to stop receiving the remote audio stream.
        • -
        • Call () or () to stop receiving the remote video stream.
        • -
      • -
    • -
    • (2): Subscribing.
    • -
    • (3): The remote stream is received, and the subscription is successful.
    • -
    -
    - - newState - The current subscribing status. See . - The current subscribing status.
      -
    • (0): The initial subscribing state after joining the channel.
    • -
    • (1): Fails to subscribe to the remote stream. Possible reasons:
        -
      • The remote user:
          -
        • Calls () or () to stop sending local media stream.
        • -
        • Calls or to disable the local audio or video module.
        • -
        • Calls () or () to disable the local audio or video capture.
        • -
        • The role of the remote user is audience.
        • -
      • -
      • The local user calls the following methods to stop receiving the remote media stream:
          -
        • Call () or () to stop receiving the remote audio stream.
        • -
        • Call () or () to stop receiving the remote video stream.
        • -
      • -
    • -
    • (2): Subscribing.
    • -
    • (3): The remote stream is received, and the subscription is successful.
    • -
    -
    - - elapseSinceLastState - The time elapsed (ms) from the previous state to the current state. - -
    + + + + + + channel + The channel name. + + + uid + The user ID of the remote user. + + + oldState + The previous subscribing status. See . + The previous subscription status.
      +
    • (0): The initial subscribing state + after joining the channel.
    • +
    • (1): Fails to subscribe to the + remote stream. Possible reasons:
        +
      • The remote user:
          +
        • Calls () or () to stop sending local + media stream.
        • +
        • Calls or to disable the local audio + or video module.
        • +
        • Calls () or () + to disable the local audio or video capture.
        • +
        • The role of the remote user is audience.
        • +
      • +
      • The local user calls the following methods to stop receiving + the remote media stream:
          +
        • Call () or () to stop receiving the remote + audio stream.
        • +
        • Call () or () to stop receiving the remote + video stream.
        • +
      • +
    • +
    • (2): Subscribing.
    • +
    • (3): The remote stream is + received, and the subscription is successful.
    • +
    +
    + + newState + The current subscribing status. See . + The current subscribing status.
      +
    • (0): The initial subscribing state + after joining the channel.
    • +
    • (1): Fails to subscribe to the + remote stream. Possible reasons:
        +
      • The remote user:
          +
        • Calls () or () to stop sending local + media stream.
        • +
        • Calls or to disable the local audio + or video module.
        • +
        • Calls () or () + to disable the local audio or video capture.
        • +
        • The role of the remote user is audience.
        • +
      • +
      • The local user calls the following methods to stop receiving + the remote media stream:
          +
        • Call () or () to stop receiving the remote + audio stream.
        • +
        • Call () or () to stop receiving the remote + video stream.
        • +
      • +
    • +
    • (2): Subscribing.
    • +
    • (3): The remote stream is + received, and the subscription is successful.
    • +
    +
    + + elapseSinceLastState + The time elapsed (ms) from the previous state to the current state. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvirtualbackgroundsourceenabled.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvirtualbackgroundsourceenabled.dita index acd1811d4d4..ce552aad9d3 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvirtualbackgroundsourceenabled.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onvirtualbackgroundsourceenabled.dita @@ -2,45 +2,51 @@ <ph keyref="onVirtualBackgroundSourceEnabled"/> - Reports whether virtual background is successfully enabled. (Beta feature) + Reports whether virtual background is successfully + enabled. (Beta feature) - +

    - - - - - public virtual void OnVirtualBackgroundSourceEnabled(bool enabled, + + + + + public virtual void OnVirtualBackgroundSourceEnabled(bool enabled, VIRTUAL_BACKGROUND_SOURCE_STATE_REASON reason) - - There are no corresponding names available -

    + + There are no corresponding names available +

    -

    After you call , the SDK triggers this callback to report whether virtual background is successfully enabled.

    - If the background image customized in the virtual background is in the PNG or JPG format, this callback is triggered after the image is read. +

    After you call , the SDK triggers this + callback to report whether virtual background is successfully enabled.

    + If the background image customized in the virtual background is in the + PNG or JPG format, this callback is triggered after the image is read.
    -
    <ph keyref="callback-section-title"/> +
    <ph keyref="callback-section-title"/> enabled Whether virtual background is successfully enabled:
      -
    • : Virtual background is successfully enabled.
    • -
    • : Virtual background is not successfully enabled.
    • -
    +
  • : Virtual background is successfully + enabled.
  • +
  • : Virtual background is not successfully + enabled.
  • +
    reason - The reason why virtual background is not successfully enabled. See . + The reason why virtual background is not successfully enabled. See .
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onwarning.dita b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onwarning.dita index 6082008aa76..cad0121c1aa 100644 --- a/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onwarning.dita +++ b/en-US/dita/RTC-NG/API/callback_irtcengineeventhandler_onwarning.dita @@ -2,33 +2,34 @@ onWarning - + - +

    - - - - - - - There are no corresponding names available -

    + + + + + + + There are no corresponding names available +

    - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_ivideoencodedframeobserver_onencodedvideoframereceived.dita b/en-US/dita/RTC-NG/API/callback_ivideoencodedframeobserver_onencodedvideoframereceived.dita index 4c20e6b96f7..d8fa24f4eee 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoencodedframeobserver_onencodedvideoframereceived.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoencodedframeobserver_onencodedvideoframereceived.dita @@ -2,7 +2,8 @@ <ph keyref="onEncodedVideoFrameReceived"/> - Reports that the receiver has received the to-be-decoded video frame sent by the remote end. + Reports that the receiver has received the + to-be-decoded video frame sent by the remote end. @@ -13,59 +14,66 @@

    - boolean onEncodedVideoFrameReceived(ByteBuffer buffer, EncodedVideoFrameInfo info); - - (BOOL)onEncodedVideoFrameReceived:(NSData * _Nonnull )videoData length:(size_t)length info:(AgoraEncodedVideoFrameInfo * _Nonnull)videoFrameInfo NS_SWIFT_NAME(onEncodedVideoFrameReceived(_:length:info:)); - virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t* imageBuffer, size_t length, + boolean onEncodedVideoFrameReceived(ByteBuffer buffer, EncodedVideoFrameInfo info); + - (BOOL)onEncodedVideoFrameReceived:(NSData * _Nonnull )videoData length:(size_t)length info:(AgoraEncodedVideoFrameInfo * _Nonnull)videoFrameInfo NS_SWIFT_NAME(onEncodedVideoFrameReceived(_:length:info:)); + virtual bool onEncodedVideoFrameReceived(rtc::uid_t uid, const uint8_t* imageBuffer, size_t length, const rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0; - onEncodedVideoFrameReceived?( + onEncodedVideoFrameReceived?( uid: number, imageBuffer: Uint8Array, length: number, videoEncodedFrameInfo: EncodedVideoFrameInfo ): void; - public virtual bool OnEncodedVideoFrameReceived(uint uid, IntPtr imageBufferPtr, UInt64 length, EncodedVideoFrameInfo videoEncodedFrameInfo) + public virtual bool OnEncodedVideoFrameReceived(uint uid, IntPtr imageBufferPtr, UInt64 length, EncodedVideoFrameInfo videoEncodedFrameInfo) { return true; } - onEncodedVideoFrameReceived?( + onEncodedVideoFrameReceived?( uid: number, imageBuffer: Uint8Array, length: number, videoEncodedFrameInfo: EncodedVideoFrameInfo ): void; - final void Function(int uid, Uint8List imageBuffer, int length, + final void Function(int uid, Uint8List imageBuffer, int length, EncodedVideoFrameInfo videoEncodedFrameInfo)? onEncodedVideoFrameReceived; -

    +

    -

    If you call the method and set encodedFrameOnly to , the SDK triggers this callback locally to report the received encoded video frame information.

    +

    If you call the method and set + encodedFrameOnly to , + the SDK triggers this callback locally to report the received encoded video frame + information.

    Parameters - - uid - The user ID of the remote user. - - - videoData - imageBuffer - imageBufferPtr - buffer - The encoded video image buffer. - The encoded video image data. - - - length - The data length of the video image. - - - info - videoFrameInfo - videoEncodedFrameInfo - For the information of the encoded video frame, see . - -
    + + uid + The user ID of the remote user. + + + videoData + imageBuffer + imageBufferPtr + buffer + The encoded video + image buffer. + The encoded video image data. + + + length + The data length of the video image. + + + info + videoFrameInfo + videoEncodedFrameInfo + For the information of the encoded video frame, see . + + +
    Returns

    Without practical meaning.

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoencodedimagereceiver_onencodedvideoimagereceived.dita b/en-US/dita/RTC-NG/API/callback_ivideoencodedimagereceiver_onencodedvideoimagereceived.dita index 88677da4612..f7d01f790f8 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoencodedimagereceiver_onencodedvideoimagereceived.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoencodedimagereceiver_onencodedvideoimagereceived.dita @@ -2,7 +2,8 @@ <ph keyref="onEncodedVideoImageReceived"/> - Occurs each time the SDK receives an encoded video frame. + Occurs each time the SDK receives an encoded video + frame. @@ -13,39 +14,42 @@

    - boolean OnEncodedVideoImageReceived(ByteBuffer buffer, EncodedVideoFrameInfo info); - - (BOOL)onEncodedVideoFrame:(NSData * _Nonnull )videoData length:(size_t)length info:(AgoraEncodedVideoFrameInfo * _Nonnull)videoFrameInfo; + boolean OnEncodedVideoImageReceived(ByteBuffer buffer, EncodedVideoFrameInfo info); + - (BOOL)onEncodedVideoFrame:(NSData * _Nonnull )videoData length:(size_t)length info:(AgoraEncodedVideoFrameInfo * _Nonnull)videoFrameInfo; - virtual bool OnEncodedVideoImageReceived(const uint8_t* imageBuffer, size_t length, const EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0; - - public virtual bool OnEncodedVideoImageReceived(IntPtr imageBufferPtr, UInt64 length, EncodedVideoFrameInfo videoEncodedFrameInfo) + virtual bool OnEncodedVideoImageReceived(const uint8_t* imageBuffer, size_t length, const EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0; + + public virtual bool OnEncodedVideoImageReceived(IntPtr imageBufferPtr, UInt64 length, EncodedVideoFrameInfo videoEncodedFrameInfo) { return true; } - -

    + + +

    Parameters - - videoData - imageBuffer - buffer - The encoded video image buffer. - The encoded video image data. - - - length - The data length of the video image. - - - info - videoFrameInfo - videoEncodedFrameInfo - For the information of the encoded video frame, see . - -
    + + videoData + imageBuffer + buffer + The encoded video image buffer. + The encoded video image data. + + + length + The data length of the video image. + + + info + videoFrameInfo + videoEncodedFrameInfo + For the information of the encoded video frame, see . + + +
    Returns

    Reserved for future use.

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita index 80ddafa256a..c013ad16885 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getmirrorapplied.dita @@ -1,41 +1,54 @@ - <ph keyref="getMirrorApplied" /> - Occurs each time the SDK receives a video frame and prompts you whether or not to mirror the captured video. + <ph keyref="getMirrorApplied"/> + Occurs each time the SDK receives a video frame and + prompts you whether or not to mirror the captured video. - +

    - boolean getMirrorApplied(); - - (BOOL)getMirrorApplied; - virtual bool getMirrorApplied() { return false; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMirrorApplied); - - - -

    + boolean getMirrorApplied(); + - (BOOL)getMirrorApplied; + virtual bool getMirrorApplied() { return false; } + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetMirrorApplied); + + + + +

    -

    If the video data you want to obtain is a mirror image of the original video, you need to register this callback when calling . After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. You need to set whether or not to mirror the video frame in the return value of this callback.

    +

    If the video data you want to obtain is a mirror image of the original video, you + need to register this callback when calling . After you successfully register the video + frame observer, the SDK triggers this callback each time it receives a video frame. + You need to set whether or not to mirror the video frame in the return value of this + callback.

    • This function only supports video data in RGBA and YUV420.
    • -
    • Both this method and the method support setting the mirroring effect. Agora recommends that you only choose one method to set it up. Using both methods at the same time causes the mirroring effect to overlap, which causes the mirroring settings to fail.
    • +
    • Both this method and the + method support setting the mirroring effect. Agora recommends that you only + choose one method to set it up. Using both methods at the same time causes + the mirroring effect to overlap, which causes the mirroring settings to + fail.
    -
    + +
    Returns

    Sets whether or not to mirror the captured video:

      -
    • : Mirror the captured video.
    • -
    • : (Default) Do not mirror the captured video.
    • -

    +
  • : Mirror the captured video.
  • +
  • : (Default) Do not mirror the captured + video.
  • +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getobservedframeposition.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getobservedframeposition.dita index b620fc3bdb4..3e37eb5a27f 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getobservedframeposition.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getobservedframeposition.dita @@ -2,7 +2,8 @@ <ph keyref="getObservedFramePosition"/> - Sets the frame position for the video observer. + Sets the frame position for the video + observer. @@ -13,44 +14,74 @@

    - int getObservedFramePosition(); - - (unsigned int)getObservedFramePosition; - virtual uint32_t getObservedFramePosition() { + int getObservedFramePosition(); + - (unsigned int)getObservedFramePosition; + virtual uint32_t getObservedFramePosition() { return base::POSITION_POST_CAPTURER | base::POSITION_PRE_RENDERER; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetObservedFramePosition); - - public virtual VIDEO_OBSERVER_POSITION GetObservedFramePosition() + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetObservedFramePosition); + + public virtual VIDEO_OBSERVER_POSITION GetObservedFramePosition() { return VIDEO_OBSERVER_POSITION.POSITION_POST_CAPTURER | VIDEO_OBSERVER_POSITION.POSITION_PRE_RENDERER; } - - -

    + + +

    -

    After successfully registering the video data observer, the SDK uses this callback to determine whether to trigger , and callback at each specific video frame processing position, so that you can observe the locally collected video data, the video data sent by the remote end, and the video data before encoding. You can set one or more positions you need to observe by modifying the return value according to your scenario:

    +

    After successfully registering the video data observer, the SDK uses this callback to + determine whether to trigger , and + callback at each specific video frame processing position, so that you can observe + the locally collected video data, the video data sent by the remote end, and the + video data before encoding. You can set one or more positions you need to observe by + modifying the return value according to your scenario:

    -

      -
    • (1 << 0): The position after capturing the video data, which corresponds to the callback.
    • -
    • (1 << 1): The position of the received remote video data before rendering, which corresponds to the callback.
    • -
    • (1 << 2): The position before encoding the video data, which corresponds to the callback.
    • -

    +
      +
    • (1 << 0): The position after + capturing the video data, which corresponds to the callback.
    • +
    • (1 << 1): The position of the + received remote video data before rendering, which corresponds to the + callback.
    • +
    • (1 << 2): The position before + encoding the video data, which corresponds to the callback.
    • +

    -
      -
    • Use '|' (the OR operator) to observe multiple frame positions.
    • -
    • This callback observes (1 << 0) and (1 << 1) by default.
    • -
    • To conserve system resources, you can reduce the number of frame positions that you want to observe.
    • -
    • When the video processing mode is and the observation position is set to | , the does not take effect; you need to modify the video processing mode or the position of the observer.
    • -
    +
      +
    • Use '|' (the OR operator) to observe multiple frame positions.
    • +
    • This callback observes (1 << + 0) and (1 << 1) by + default.
    • +
    • To conserve system resources, you can reduce the number of frame positions + that you want to observe.
    • +
    • When the video processing mode is and the observation position is set + to | , the + does not take effect; you need to modify the video processing mode or the + position of the observer.
    • +
    + +
    Returns -

    A bit mask that controls the frame position of the video observer. See .

    +

    A bit mask that controls the frame position of + the video observer. See .

    A bit mask that controls the frame position of the video observer.

      -
    • (1 << 0): The position after capturing the video data, which corresponds to the callback.
    • -
    • (1 << 1): The position of the received remote video data before rendering, which corresponds to the callback.
    • -
    • (1 << 2): The position before encoding the video data, which corresponds to the callback.
    • -

    +
  • (1 << 0): The position after + capturing the video data, which corresponds to the callback.
  • +
  • (1 << 1): The position of the + received remote video data before rendering, which corresponds to the + callback.
  • +
  • (1 << 2): The position before + encoding the video data, which corresponds to the callback.
  • + +

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita index 9b1800e026b..5e56f99818f 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getrotationapplied.dita @@ -1,42 +1,55 @@ - <ph keyref="getRotationApplied" /> - Occurs each time the SDK receives a video frame, and prompts you whether to rotate the captured video. + <ph keyref="getRotationApplied"/> + Occurs each time the SDK receives a video frame, and + prompts you whether to rotate the captured video. - +

    - boolean getRotationApplied(); - - (BOOL)getRotationApplied; - virtual bool getRotationApplied() { return false; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetRotationApplied); - - - -

    + boolean getRotationApplied(); + - (BOOL)getRotationApplied; + virtual bool getRotationApplied() { return false; } + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetRotationApplied); + + + + +

    -

    If you want to rotate the captured video according to the rotation member in the class, ensure that you register this callback when calling . After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. You need to set whether to rotate the video frame in the return value of this callback.

    -

    If the video has been rotated according to rotation in on the capture device, you do not need to call this method to set the video rotation.

    +

    If you want to rotate the captured video according to + the rotation member in the class, ensure that you register this callback when calling . After you successfully register the video + frame observer, the SDK triggers this callback each time it receives a video frame. + You need to set whether to rotate the video frame in the return value of this + callback.

    +

    If the video has been rotated according to + rotation in on the capture + device, you do not need to call this method to set the video rotation.

      -
    • This function only applies to the scenarios where the video processing mode is .
    • +
    • This function only applies to the scenarios where the video processing mode + is .
    • This function only supports video data in RGBA and YUV420.
    -
    + +
    Returns

    Sets whether to rotate the captured video:

      -
    • : Rotate the captured video.
    • -
    • : (Default) Do not rotate the captured video.
    • -

    +
  • : Rotate the captured video.
  • +
  • : (Default) Do not rotate the captured + video.
  • +

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita index a5a1e0fd7ed..b4a46dce164 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita @@ -2,7 +2,8 @@ <ph keyref="getSmoothRenderingEnabled"/> - Sets whether to output the acquired video frame smoothly. + Sets whether to output the acquired video frame + smoothly. @@ -13,34 +14,42 @@

    - - - virtual bool getSmoothRenderingEnabled(){ return false; } - - - - -

    + + + virtual bool getSmoothRenderingEnabled(){ return false; } + + + + +

    - -
    Since
    -
    v3.0.0
    -
    + +
    Since
    +
    v3.0.0
    +
    -

    If you want the video frames acquired from to be more evenly spaced, you can register the callback by calling and set its return value as .

    +

    If you want the video frames acquired from to be + more evenly spaced, you can register the callback by calling and set its return value as .

    -
      -
    • Register this callback before joining a channel.
    • -
    • This callback applies to scenarios where the acquired video frame is self-rendered after being processed, not to scenarios where the video frame is sent back to the SDK after being processed.
    • -
    +
      +
    • Register this callback before joining a channel.
    • +
    • This callback applies to scenarios where the acquired video frame is + self-rendered after being processed, not to scenarios where the video frame + is sent back to the SDK after being processed.
    • +
    + +
    Returns

    Set whether or not to smooth the video frames:

      -
    • : Smooth the video frame.
    • -
    • : (Default) Do not smooth the video frame.
    • -

    +
  • : Smooth the video frame.
  • +
  • : (Default) Do not smooth the video + frame.
  • +

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita index ebf6dea11ec..49b54f3b918 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoformatpreference.dita @@ -2,7 +2,8 @@ <ph keyref="getVideoFormatPreference"/> - Sets the format of the raw video data output by the SDK. + Sets the format of the raw video data output by the + SDK. @@ -13,43 +14,61 @@

    - int getVideoFormatPreference(); + int getVideoFormatPreference(); - - (AgoraVideoFormat)getVideoFormatPreference; + - (AgoraVideoFormat)getVideoFormatPreference; - virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference() { return VIDEO_PIXEL_DEFAULT; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetVideoFormatPreference); - - public virtual VIDEO_OBSERVER_FRAME_TYPE GetVideoFormatPreference() + virtual VIDEO_PIXEL_FORMAT getVideoFormatPreference() { return VIDEO_PIXEL_DEFAULT; } + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetVideoFormatPreference); + + public virtual VIDEO_OBSERVER_FRAME_TYPE GetVideoFormatPreference() { return VIDEO_OBSERVER_FRAME_TYPE.FRAME_TYPE_RGBA; } - - -

    + + +

    -

    You need to register the callback when calling the method. After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. You need to set your preferred video data in the return value of this callback.

    +

    You need to register the callback when calling the method. After you successfully register + the video frame observer, the SDK triggers this callback each time it receives a + video frame. You need to set your preferred video data in the return value of this + callback.

    Returns -

    Sets the raw data format of the SDK output. See .

    -

    The default types of pixel format () for the raw video are as follows:

    • On the Android platform, the default video frame type may be I420Buffer or TextureBuffer. As of v4.2.3, the texture formats of TextureBuffer type no longer include OES format, only RGB format is available. You need to add support for I420 and RGB texture formats when processing video data.
    • -
    • The default video frame type may be I420Buffer or TextureBuffer. As of v4.2.3, the texture formats of TextureBuffer type no longer include OES format, only RGB format is available. You need to add support for I420 and RGB texture formats when processing video data.
    • -
    • On iOS and macOS platforms, the default video frame type may be I420 or CVPixelBufferRef.
    • -
    • The default video frame type may be I420 or CVPixelBufferRef.
    • -
    • On Windows platforms, the default video frame type is YUV420.

    +

    Sets the raw data format of the SDK output. See .

    +

    The default types of pixel format () for the raw + video are as follows:

      +
    • On the Android platform, the default video frame type + may be I420Buffer or TextureBuffer. As of v4.2.3, the texture formats of + TextureBuffer type no longer include OES format, only RGB format is + available. You need to add support for I420 and RGB texture formats when + processing video data.
    • +
    • The default video frame type may be I420Buffer or + TextureBuffer. As of v4.2.3, the texture formats of TextureBuffer type no + longer include OES format, only RGB format is available. You need to add + support for I420 and RGB texture formats when processing video data.
    • +
    • On iOS and macOS platforms, the default video frame + type may be I420 or CVPixelBufferRef.
    • +
    • The default video frame type may be I420 or + CVPixelBufferRef.
    • +
    • On Windows platforms, the default video frame type is + YUV420.
    • +

    -

      -
    • (0): Raw video.
    • -
    • (1): I420.
    • -
    • (2): BGRA.
    • -
    • (3): NV21.
    • -
    • (4): RGBA.
    • -
    • (8): NV12.
    • -
    • (10): TEXTURE_2D.
    • -
    • (16): I422.
    • -

    +
      +
    • (0): Raw video.
    • +
    • (1): I420.
    • +
    • (2): BGRA.
    • +
    • (3): NV21.
    • +
    • (4): RGBA.
    • +
    • (8): NV12.
    • +
    • (10): TEXTURE_2D.
    • +
    • (16): I422.
    • +

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita index 4f476765a92..250d6347a10 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita @@ -1,39 +1,45 @@ - <ph keyref="getVideoFrameProcessMode" /> - Occurs each time the SDK receives a video frame and prompts you to set the process mode of the video frame. + <ph keyref="getVideoFrameProcessMode"/> + Occurs each time the SDK receives a video frame and + prompts you to set the process mode of the video frame. - +

    - int getVideoFrameProcessMode(); - - (AgoraVideoFrameProcessMode)getVideoFrameProcessMode; - virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode() { + int getVideoFrameProcessMode(); + - (AgoraVideoFrameProcessMode)getVideoFrameProcessMode; + virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode() { return PROCESS_MODE_READ_ONLY; } - DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetVideoFrameProcessMode); - - - -

    + DECLARE_DYNAMIC_MULTICAST_DELEGATE(FGetVideoFrameProcessMode); + + + + +

    -

    After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. You need to set your preferred process mode in the return value of this callback.

    +

    After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. You need to set your preferred process + mode in the return value of this callback.

    Returns -

    See .

    +

    See .

    The process mode of the video frame:

      -
    • (0): (Default) Only reads the video frame.
    • -
    • (1): Reads and writes the video frame.
    • -

    +
  • (0): (Default) Only reads the video + frame.
  • +
  • (1): Reads and writes the video + frame.
  • +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita index e801ec6f3e1..9b95b9cc441 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_oncapturevideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onCaptureVideoFrame"/> - Occurs each time the SDK receives a video frame captured by local devices. + Occurs each time the SDK receives a video frame + captured by local devices. @@ -13,44 +14,61 @@

    - boolean onCaptureVideoFrame(int sourceType, VideoFrame videoFrame); - - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame sourceType:(AgoraVideoSourceType)sourceType; - virtual bool onCaptureVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnCaptureVideoFrame, EVIDEO_SOURCE_TYPE, sourceType, const FVideoFrame&, videoFrame); - onCaptureVideoFrame?( + boolean onCaptureVideoFrame(int sourceType, VideoFrame videoFrame); + - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame sourceType:(AgoraVideoSourceType)sourceType; + virtual bool onCaptureVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnCaptureVideoFrame, EVIDEO_SOURCE_TYPE, sourceType, const FVideoFrame&, videoFrame); + onCaptureVideoFrame?( sourceType: VideoSourceType, videoFrame: VideoFrame ): void; - public virtual bool OnCaptureVideoFrame(VIDEO_SOURCE_TYPE sourceType, VideoFrame videoFrame) - onCaptureVideoFrame?( + public virtual bool OnCaptureVideoFrame(VIDEO_SOURCE_TYPE sourceType, VideoFrame videoFrame) + onCaptureVideoFrame?( sourceType: VideoSourceType, videoFrame: VideoFrame ): void; - final void Function(VideoSourceType sourceType, VideoFrame videoFrame)? + final void Function(VideoSourceType sourceType, VideoFrame videoFrame)? onCaptureVideoFrame; -

    +

    -

    You can get raw video data collected by the local device through this callback and preprocess it as needed. Once the preprocessing is complete, you can directly modify videoFrame in this callback, and set the return value to to send the modified video data to the SDK.

    -

    If you need to send the preprocessed data to the SDK, you need to call (0) first to set the video processing mode to read and write mode.

    -

    You can get raw video data collected by the local device through this callback.

    +

    You can get raw video data collected by the local + device through this callback and preprocess it as needed. Once the preprocessing is + complete, you can directly modify videoFrame in this callback, + and set the return value to to send the + modified video data to the SDK.

    +

    If you need to send the preprocessed data to the SDK, you + need to call (0) first to + set the video processing mode to read and write mode.

    +

    You can get raw video data collected by the local device + through this callback.

    Applicable scenarios
      -
    • Preprocess the locally collected video data before it is processed by the SDK. For example, get video data through this callback and process it with filters, watermarks, cropping, rotation, etc.
    • -
    • Get information about the locally collected video data before it is processed by the SDK. For example, the original width, height, frame rate of the video frame, etc.
    +
  • Preprocess the locally collected + video data before it is processed by the SDK. For example, get video data + through this callback and process it with filters, watermarks, cropping, + rotation, etc.
  • +
  • Get information about the locally collected video data before it is processed by + the SDK. For example, the original width, height, frame rate of the video frame, + etc.
  • +
    Trigger timing -

    After the successful registration of the video data observer, each time the SDK captures a video frame.

    -
    +

    After the successful registration of the video data observer, each time the SDK + captures a video frame.

    +
    Restrictions
      -
    • The video data you get here is the raw video data, that is, video data that has not undergone preprocessing such as watermarking, cropping, and rotation.
    • -
    • If the video data type you get is RGBA, the SDK does not support processing the data of the alpha channel.
    • -
    • Due to framework limitations, this callback does not support sending processed video data back to the SDK.
    • +
    • The video data you get here is the raw video data, that is, video data that has + not undergone preprocessing such as watermarking, cropping, and rotation.
    • +
    • If the video data type you get is RGBA, the SDK does not support processing the + data of the alpha channel.
    • +
    • Due to framework limitations, this callback does not + support sending processed video data back to the SDK.
    @@ -58,34 +76,48 @@ sourceType - Video source types, including cameras, screens, or media player. See . + Video source types, including cameras, screens, or media player. See . + + + videoFrame + The video frame. See .The default value of + the video frame data format obtained through this callback is as follows:
      +
    • Android: I420 or + RGB (GLES20.GL_TEXTURE_2D)
    • +
    • iOS: I420 or + CVPixelBufferRef
    • +
    • macOS: I420 or + CVPixelBufferRef
    • +
    • Windows: + YUV420
    • +
    - - videoFrame - The video frame. See .The default value of the video frame data format obtained through this callback is as follows:
      -
    • Android: I420 or RGB (GLES20.GL_TEXTURE_2D)
    • -
    • iOS: I420 or CVPixelBufferRef
    • -
    • macOS: I420 or CVPixelBufferRef
    • -
    • Windows: YUV420
    -
    -
    + +
    Returns

    -

      -
    • When the video processing mode is :
        -
      • : Reserved for future use.
      • -
      • : Reserved for future use.
      • -
    • -
    • When the video processing mode is :
        -
      • : Sets the SDK to receive the video frame.
      • -
      • : Sets the SDK to discard the video frame.
      • -
    • -
    -
      -
    • : Sets the SDK to receive the video frame.
    • -
    • : Sets the SDK to discard the video frame.
    • -

    +
      +
    • When the video processing mode is :
        +
      • : Reserved for future use.
      • +
      • : Reserved for future use.
      • +
    • +
    • When the video processing mode is :
        +
      • : Sets the SDK to receive the + video frame.
      • +
      • : Sets the SDK to discard the + video frame.
      • +
    • +
    +
      +
    • : Sets the SDK to receive the video + frame.
    • +
    • : Sets the SDK to discard the video + frame.
    • +

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onframe.dita index 00c8124324f..4e3e70609ce 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onframe.dita @@ -2,7 +2,8 @@ <ph keyref="onFrame_IVideoFrameObserver"/> - Occurs each time the player receives a video frame. + Occurs each time the player receives a video + frame. @@ -13,48 +14,55 @@

    - void onFrame(VideoFrame frame); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + void onFrame(VideoFrame frame); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame NS_SWIFT_NAME(AgoraRtcMediaPlayer(_:didReceiveVideoFrame:)); - virtual void onFrame(const VideoFrame* frame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFrame, const FAudioPcmFrame&, pcmFrame); - - public virtual bool OnFrame(VideoFrame audioFrame, VideoFrameBufferConfig config) + virtual void onFrame(const VideoFrame* frame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFrame, const FAudioPcmFrame&, pcmFrame); + + public virtual bool OnFrame(VideoFrame audioFrame, VideoFrameBufferConfig config) { return true; } - - -

    + + +

    -

    After registering the video frame observer, the callback occurs every time the player receives a video frame, reporting the detailed information of the video frame.

    +

    After registering the video frame observer, the callback occurs every time the player + receives a video frame, reporting the detailed information of the video frame.

    <ph keyref="callback-section-title"/> - - frame - -

    The video frame information. See WebRTC VideoFrame. See .

    -
    -
    - - audioFrame - Configurations of the video frame. See . - - - config - The type and source of the video frame. See . - - - playerKit - See . - - - videoFrame - Video frame information. See . - -
    + + frame + +

    The video frame information. See WebRTC VideoFrame. + See .

    +
    +
    + + audioFrame + Configurations of the video frame. See . + + + config + The type and source of the video frame. See . + + + playerKit + See . + + + videoFrame + Video frame information. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita index c65a137542e..2e621c472a2 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onMediaPlayerVideoFrame"/> - Gets the video data of the media player. + Gets the video data of the media + player. @@ -13,39 +14,47 @@

    - boolean onMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId); - - (BOOL)onMediaPlayerVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame mediaPlayerId:(NSInteger)mediaPlayerId; - virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0; - onMediaPlayerVideoFrame?(videoFrame: VideoFrame, mediaPlayerId: number): void; - public virtual bool OnMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId) - onMediaPlayerVideoFrame?(videoFrame: VideoFrame, mediaPlayerId: number): void; - final void Function(VideoFrame videoFrame, int mediaPlayerId)? + boolean onMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId); + - (BOOL)onMediaPlayerVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame mediaPlayerId:(NSInteger)mediaPlayerId; + virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0; + onMediaPlayerVideoFrame?(videoFrame: VideoFrame, mediaPlayerId: number): void; + public virtual bool OnMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId) + onMediaPlayerVideoFrame?(videoFrame: VideoFrame, mediaPlayerId: number): void; + final void Function(VideoFrame videoFrame, int mediaPlayerId)? onMediaPlayerVideoFrame; -

    +

    -

    After you successfully register the video frame observer and calling the method, the SDK triggers this callback each time when it receives a video frame. In this callback, you can get the video data of the media player. You can then process the data according to your particular scenarios.

    -

    After pre-processing, you can send the processed video data back to the SDK through this callback.

    - Due to framework limitations, this callback does not support sending processed video data back to the SDK. +

    After you successfully register the video frame observer and calling the method, the SDK triggers this callback each time + when it receives a video frame. In this callback, you can get the video data of the + media player. You can then process the data according to your particular + scenarios.

    +

    After pre-processing, you can send the processed video data back to the + SDK through this callback.

    + Due to framework limitations, this + callback does not support sending processed video data back to the SDK. This callback only supports read-only mode.
    Parameters - - - - - - mediaPlayerId - The ID of the media player. - -
    + + + + + + mediaPlayerId + The ID of the media player. + + +
    Returns
    • : Reserved for future use.
    • -
    • : Reserved for future use.
    +
  • : Reserved for future use.
  • +
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita index 7edd18459a2..87255ca29de 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita @@ -1,12 +1,13 @@ - <ph keyref="onPreEncodeScreenVideoFrame" /> - Gets the video data captured from the screen before encoding. + <ph keyref="onPreEncodeScreenVideoFrame"/> + Gets the video data captured from the screen before + encoding. - + @@ -16,32 +17,45 @@ boolean onPreEncodeScreenVideoFrame(VideoFrame videoFrame); - (BOOL)onPreEncodeScreenVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; virtual bool onPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; - + onPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; - + onPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; final void Function(VideoFrame videoFrame)? onPreEncodeScreenVideoFrame;

    -

    After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data captured from the screen before encoding and then process the data according to your particular scenarios.

    -

    After processing, you can send the processed video data back to the SDK in this callback.

    +

    After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data captured from the screen before encoding and then process the data + according to your particular scenarios.

    +

    After processing, you can send the + processed video data back to the SDK in this callback.

      -
    • To get the video data captured from the second screen before encoding, you need to set (1 << 2) as a frame position through .
    • -
    • To get the video data captured from the second screen before encoding, you need to set (1 << 2) as a frame position through the position parameter of the method.
    • -
    • The video data that this callback gets has been preprocessed, with its content cropped and rotated, and the image enhanced.
    • -
    • This callback does not support sending processed RGBA video data back to the SDK.
    • +
    • To get the video data captured from the second + screen before encoding, you need to set (1 << 2) as a frame position + through .
    • +
    • To get the video data captured from the second screen before + encoding, you need to set (1 + << 2) as a frame position through the position + parameter of the method.
    • +
    • The video data that this callback gets has been preprocessed, with its + content cropped and rotated, and the image enhanced.
    • +
    • This callback does not support sending processed RGBA video data back to the + SDK.
    - Due to framework limitations, this callback does not support sending processed video data back to the SDK. + Due to framework limitations, this + callback does not support sending processed video data back to the SDK.
    Parameters - - + +
    @@ -50,4 +64,4 @@

    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita index 9bd4e782ed1..ad9eb40b281 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onpreencodevideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onPreEncodeVideoFrame"/> - Occurs each time the SDK receives a video frame before encoding. + Occurs each time the SDK receives a video frame before + encoding. @@ -13,32 +14,44 @@

    - boolean onPreEncodeVideoFrame(int sourceType, VideoFrame videoFrame); - - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame sourceType:(AgoraVideoSourceType)sourceType; - virtual bool onPreEncodeVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPreEncodeVideoFrame, EVIDEO_SOURCE_TYPE, sourceType, const FVideoFrame&, videoFrame); - onPreEncodeVideoFrame?( + boolean onPreEncodeVideoFrame(int sourceType, VideoFrame videoFrame); + - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame sourceType:(AgoraVideoSourceType)sourceType; + virtual bool onPreEncodeVideoFrame(agora::rtc::VIDEO_SOURCE_TYPE sourceType, VideoFrame& videoFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnPreEncodeVideoFrame, EVIDEO_SOURCE_TYPE, sourceType, const FVideoFrame&, videoFrame); + onPreEncodeVideoFrame?( sourceType: VideoSourceType, videoFrame: VideoFrame ): void; - public virtual bool OnPreEncodeVideoFrame(VIDEO_SOURCE_TYPE sourceType, VideoFrame videoFrame) - onPreEncodeVideoFrame?( + public virtual bool OnPreEncodeVideoFrame(VIDEO_SOURCE_TYPE sourceType, VideoFrame videoFrame) + onPreEncodeVideoFrame?( sourceType: VideoSourceType, videoFrame: VideoFrame ): void; - final void Function(VideoFrame videoFrame)? onPreEncodeVideoFrame; -

    + final void Function(VideoFrame videoFrame)? onPreEncodeVideoFrame; +

    -

    After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data before encoding and then process the data according to your particular scenarios.

    -

    After processing, you can send the processed video data back to the SDK in this callback.

    +

    After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data before encoding and then process the data according to your particular + scenarios.

    +

    After processing, you can send the + processed video data back to the SDK in this callback.

    -
      -
    • To get the video data captured from the second screen before encoding, you need to set (1 << 2) as a frame position through .
    • -
    • To get the video data captured from the second screen before encoding, you need to set (1 << 2) as a frame position through the position parameter of the method.
    • -
    • Due to framework limitations, this callback does not support sending processed video data back to the SDK.
    • -
    • The video data that this callback gets has been preprocessed, with its content cropped and rotated, and the image enhanced.
    • -
    +
      +
    • To get the video data captured from the second + screen before encoding, you need to set (1 << 2) as a frame position + through .
    • +
    • To get the video data captured from the second screen before + encoding, you need to set (1 + << 2) as a frame position through the position + parameter of the method.
    • +
    • Due to framework limitations, this callback does + not support sending processed video data back to the SDK.
    • +
    • The video data that this callback gets has been preprocessed, with its + content cropped and rotated, and the image enhanced.
    • +
    Parameters @@ -51,7 +64,8 @@ -
    + +
    Returns

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita index a694399b65c..40685b3b97b 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onRenderVideoFrame"/> - Occurs each time the SDK receives a video frame sent by the remote user. + Occurs each time the SDK receives a video frame sent by + the remote user. @@ -13,52 +14,63 @@

    - boolean onRenderVideoFrame(String channelId, int uid, VideoFrame videoFrame); - - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame + boolean onRenderVideoFrame(String channelId, int uid, VideoFrame videoFrame); + - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame uid:(NSUInteger)uid channelId:(NSString * _Nonnull)channelId; - virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0; - DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRenderVideoFrame, const FString, channelId, int64, remoteUid, const FVideoFrame&, videoFrame); - onRenderVideoFrame?( + virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0; + DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnRenderVideoFrame, const FString, channelId, int64, remoteUid, const FVideoFrame&, videoFrame); + onRenderVideoFrame?( channelId: string, remoteUid: number, videoFrame: VideoFrame ): void; - public virtual bool OnRenderVideoFrame(string channelId, uint remoteUid, VideoFrame videoFrame) - onRenderVideoFrame?( + public virtual bool OnRenderVideoFrame(string channelId, uint remoteUid, VideoFrame videoFrame) + onRenderVideoFrame?( channelId: string, remoteUid: number, videoFrame: VideoFrame ): void; - final void Function(String channelId, int remoteUid, VideoFrame videoFrame)? + final void Function(String channelId, int remoteUid, VideoFrame videoFrame)? onRenderVideoFrame; -

    +

    -

    After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data sent from the remote end before rendering, and then process it according to the particular scenarios.

    +

    After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data sent from the remote end before rendering, and then process it according + to the particular scenarios.

    -
      -
    • If the video data type you get is RGBA, the SDK does not support processing the data of the alpha channel.
    • -
    • Due to framework limitations, this callback does not support sending processed video data back to the SDK.
    • -
    - If you use Unity for development, Agora only supports sending video data in YUV format to SDK. Ensure that you set mode as INTPTR when you call the method to register a video frame observer.
    +
      +
    • If the video data type you get is RGBA, the SDK does not support processing + the data of the alpha channel.
    • +
    • Due to framework limitations, this callback does + not support sending processed video data back to the SDK.
    • +
    + If you use Unity for development, Agora only supports sending + video data in YUV format to SDK. Ensure that you set mode as + INTPTR when you call the method to register a video frame + observer. +
    Parameters - - uid - remoteUid - The user ID of the remote user who sends the current video frame. - - - - - - - channelId - The channel ID. - -
    + + uid + remoteUid + The user ID of the remote user who sends the current video frame. + + + + + + + channelId + The channel ID. + + +
    Returns

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframeex.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframeex.dita index bc403c45b89..5343bb19d5a 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframeex.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onrendervideoframeex.dita @@ -2,7 +2,8 @@ <ph keyref="onRenderVideoFrameEx"/> - Gets the video frame from multiple channels. + Gets the video frame from multiple + channels. @@ -13,47 +14,56 @@

    - - - virtual bool onRenderVideoFrameEx(const char *channelId, + + + virtual bool onRenderVideoFrameEx(const char *channelId, unsigned int uid, VideoFrame& videoFrame) { return true; } - - public virtual bool OnRenderVideoFrameEx(string channelId, uint uid, VideoFrame videoFrame) + + public virtual bool OnRenderVideoFrameEx(string channelId, uint uid, VideoFrame videoFrame) { return true; } - - -

    + + +

    -

    After you successfully register the video frame observer, if you set the return value of as , the SDK triggers this callback each time it receives a video frame from any of the channel.

    -

    You can process the video data retrieved from this callback according to your scenario, and send the processed data back to the SDK using the videoFrame parameter in this callback.

    - This callback does not support sending RGBA video data back to the SDK.
    +

    After you successfully register the video frame observer, if you set the return value + of as , the SDK triggers this callback each time it + receives a video frame from any of the channel.

    +

    You can process the video data retrieved from this callback according to your + scenario, and send the processed data back to the SDK using the + videoFrame parameter in this callback.

    + This callback does not support sending RGBA video data back to + the SDK. +
    Parameters - - channelId - The channel ID of this video frame. - - - uid - The ID of the user sending this video frame. - - - - - -
    + + channelId + The channel ID of this video frame. + + + uid + The ID of the user sending this video frame. + + + + + + +
    Returns -

    Whether to send this video frame to the SDK if post-processing fails:

      -
    • : Send the video frame.
    • -
    • : Do not send the video frame.
    • -

    +

    Whether to send this video frame to the SDK if post-processing fails:

      +
    • : Send the video frame.
    • +
    • : Do not send the video frame.
    • +

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita index 1a1d82b1e4d..80e7c881ca4 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onScreenCaptureVideoFrame"/> - Occurs each time the SDK receives a video frame captured by the screen. + Occurs each time the SDK receives a video frame + captured by the screen. @@ -13,24 +14,32 @@

    - boolean onScreenCaptureVideoFrame(VideoFrame videoFrame); - - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; - virtual bool onScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0; - onScreenCaptureVideoFrame?(videoFrame: VideoFrame): void; - - onScreenCaptureVideoFrame?(videoFrame: VideoFrame): void; - final void Function(VideoFrame videoFrame)? onScreenCaptureVideoFrame; -

    + boolean onScreenCaptureVideoFrame(VideoFrame videoFrame); + - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; + virtual bool onScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0; + onScreenCaptureVideoFrame?(videoFrame: VideoFrame): void; + + onScreenCaptureVideoFrame?(videoFrame: VideoFrame): void; + final void Function(VideoFrame videoFrame)? onScreenCaptureVideoFrame; +

    -

    After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data for screen sharing. You can then pre-process the data according to your scenarios.

    -

    After pre-processing, you can send the processed video data back to the SDK through this callback.

    +

    After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data for screen sharing. You can then pre-process the data according to your + scenarios.

    +

    After pre-processing, you can send the + processed video data back to the SDK through this callback.

    -
      -
    • This callback does not support sending processed RGBA video data back to the SDK.
    • -
    • The video data that this callback gets has not been pre-processed, and is not watermarked, cropped, rotated or beautified.
    • -
    - Due to framework limitations, this callback does not support sending processed video data back to the SDK. +
      +
    • This callback does not support sending processed RGBA video data back to the + SDK.
    • +
    • The video data that this callback gets has not been pre-processed, and is + not watermarked, cropped, rotated or beautified.
    • +
    + + Due to framework limitations, this + callback does not support sending processed video data back to the SDK.
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita index c132f1adcea..abca211357f 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onSecondaryPreEncodeCameraVideoFrame"/> - Gets the video data captured from the second camera before encoding. + Gets the video data captured from the second camera + before encoding. @@ -13,44 +14,58 @@

    - - - virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame& videoFrame) = 0; - onSecondaryPreEncodeCameraVideoFrame?(videoFrame: VideoFrame): void; - - onSecondaryPreEncodeCameraVideoFrame?(videoFrame: VideoFrame): void; - final void Function(VideoFrame videoFrame)? + + + virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame& videoFrame) = 0; + onSecondaryPreEncodeCameraVideoFrame?(videoFrame: VideoFrame): void; + + onSecondaryPreEncodeCameraVideoFrame?(videoFrame: VideoFrame): void; + final void Function(VideoFrame videoFrame)? onSecondaryPreEncodeCameraVideoFrame; -

    +

    -

    After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data captured from the second camera before encoding and then process the data according to your particular scenarios.

    -

    After processing, you can send the processed video data back to the SDK in this callback.

    +

    After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data captured from the second camera before encoding and then process the data + according to your particular scenarios.

    +

    After processing, you can send the + processed video data back to the SDK in this callback.

    • This callback is for Windows only.
    • -
    • You need to set (1 << 2) as a frame position through before you can use this callback to get the video data captured from the second screen and before encoding.
    • -
    • The video data that this callback gets has been preprocessed, with its content cropped and rotated, and the image enhanced.
    • -
    • This callback does not support sending processed RGBA video data back to the SDK.
    • +
    • You need to set (1 << 2) as a + frame position through before you + can use this callback to get the video data captured from the second screen + and before encoding.
    • +
    • The video data that this callback gets has been preprocessed, with its + content cropped and rotated, and the image enhanced.
    • +
    • This callback does not support sending processed RGBA video data back to the + SDK.
    - Due to framework limitations, this callback does not support sending processed video data back to the SDK. + Due to framework limitations, this + callback does not support sending processed video data back to the SDK.
    Parameters - - - - -
    + + + + + +
    Returns

    -

      -
    • : Sets the SDK to receive the video frame.
    • -
    • : Sets the SDK to discard the video frame.
    • -

    +
      +
    • : Sets the SDK to receive the video + frame.
    • +
    • : Sets the SDK to discard the video + frame.
    • +
    +

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita index bf8e5035040..4f681229a6e 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onSecondaryPreEncodeScreenVideoFrame"/> - Gets the video data captured from the second screen before encoding. + Gets the video data captured from the second screen + before encoding. @@ -13,44 +14,57 @@

    - - - virtual bool onSecondaryPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; - onSecondaryPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; - - onSecondaryPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; - final void Function(VideoFrame videoFrame)? + + + virtual bool onSecondaryPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; + onSecondaryPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; + + onSecondaryPreEncodeScreenVideoFrame?(videoFrame: VideoFrame): void; + final void Function(VideoFrame videoFrame)? onSecondaryPreEncodeScreenVideoFrame; -

    +

    -

    After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data captured from the second screen before encoding and then process the data according to your particular scenarios.

    -

    After processing, you can send the processed video data back to the SDK in this callback.

    +

    After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data captured from the second screen before encoding and then process the data + according to your particular scenarios.

    +

    After processing, you can send the + processed video data back to the SDK in this callback.

    • This callback is for Windows only.
    • -
    • You need to set (1 << 2) as a frame position by before you can get the video data captured from the second screen before encoding.
    • -
    • The video data that this callback gets has been preprocessed, with its content cropped and rotated, and the image enhanced.
    • -
    • This callback does not support sending processed RGBA video data back to the SDK.
    • +
    • You need to set (1 << 2) as a + frame position by before you can + get the video data captured from the second screen before encoding.
    • +
    • The video data that this callback gets has been preprocessed, with its + content cropped and rotated, and the image enhanced.
    • +
    • This callback does not support sending processed RGBA video data back to the + SDK.
    - Due to framework limitations, this callback does not support sending processed video data back to the SDK. + Due to framework limitations, this + callback does not support sending processed video data back to the SDK.
    Parameters - - - - -
    + + + + + +
    Returns

    -

      -
    • : Sets the SDK to receive the video frame.
    • -
    • : Sets the SDK to discard the video frame.
    • -

    +
      +
    • : Sets the SDK to receive the video + frame.
    • +
    • : Sets the SDK to discard the video + frame.
    • +
    +

    diff --git a/en-US/dita/RTC-NG/API/callback_ivideosink_ondispose.dita b/en-US/dita/RTC-NG/API/callback_ivideosink_ondispose.dita index 8c17ff9cf77..a1596b1ec7a 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideosink_ondispose.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideosink_ondispose.dita @@ -2,7 +2,8 @@ ivideosink_ondispose - + @@ -13,32 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideosink_oninitialize.dita b/en-US/dita/RTC-NG/API/callback_ivideosink_oninitialize.dita index 5310834e3e9..6af29c802e6 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideosink_oninitialize.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideosink_oninitialize.dita @@ -2,7 +2,8 @@ ivideosink_oninitialize - + @@ -13,31 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideosink_onrenderpixelbuffer.dita b/en-US/dita/RTC-NG/API/callback_ivideosink_onrenderpixelbuffer.dita index a5603adb60f..1cab9296277 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideosink_onrenderpixelbuffer.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideosink_onrenderpixelbuffer.dita @@ -2,7 +2,8 @@ ivideosink_onrenderpixelbuffer - + @@ -13,32 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideosink_onrenderrawdata.dita b/en-US/dita/RTC-NG/API/callback_ivideosink_onrenderrawdata.dita index a81a7f04cbd..9b7b6b43830 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideosink_onrenderrawdata.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideosink_onrenderrawdata.dita @@ -2,7 +2,8 @@ ivideosink_onrenderrawdata - + @@ -13,32 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideosink_onstart.dita b/en-US/dita/RTC-NG/API/callback_ivideosink_onstart.dita index c8d1d8750a1..b750233fd0f 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideosink_onstart.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideosink_onstart.dita @@ -2,7 +2,8 @@ ivideosink_onstart - + @@ -13,32 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_ivideosink_onstop.dita b/en-US/dita/RTC-NG/API/callback_ivideosink_onstop.dita index 91bc6ee41b6..c7eacb862d0 100644 --- a/en-US/dita/RTC-NG/API/callback_ivideosink_onstop.dita +++ b/en-US/dita/RTC-NG/API/callback_ivideosink_onstop.dita @@ -2,7 +2,8 @@ ivideosink_onstop - + @@ -13,31 +14,32 @@

    - - - - - - - -

    + + + + + + + +

    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +

    <ph keyref="callback-section-title"/> - - - - -
    + + + + + +
    diff --git a/en-US/dita/RTC-NG/API/callback_videosurface_ontexturesizemodify.dita b/en-US/dita/RTC-NG/API/callback_videosurface_ontexturesizemodify.dita index 87e64dfc0ff..91d88636979 100644 --- a/en-US/dita/RTC-NG/API/callback_videosurface_ontexturesizemodify.dita +++ b/en-US/dita/RTC-NG/API/callback_videosurface_ontexturesizemodify.dita @@ -2,7 +2,8 @@ <ph keyref="onTextureSizeModify"/> - This callback is triggered when the width and height of Texture are changed. + This callback is triggered when the width and height of + Texture are changed. @@ -13,13 +14,14 @@

    - - - - - public event OnTextureSizeModifyHandler OnTextureSizeModify; - -

    + + + + + public event OnTextureSizeModifyHandler OnTextureSizeModify; + + +

    When the width and height of Texture are changed, the SDK triggers this callback.

    diff --git a/en-US/dita/RTC-NG/API/class_Localaccesspointconfiguration.dita b/en-US/dita/RTC-NG/API/class_Localaccesspointconfiguration.dita index bb129280481..5437e9bbdbb 100644 --- a/en-US/dita/RTC-NG/API/class_Localaccesspointconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_Localaccesspointconfiguration.dita @@ -2,11 +2,12 @@ <ph keyref="LocalAccessPointConfiguration"/> - The configurations of the Local Access Point. + The configurations of the Local Access + Point.

    - public class LocalAccessPointConfiguration { + public class LocalAccessPointConfiguration { public static class LogUploadServerInfo { public String serverDomain = null; public String serverPath = null; @@ -65,14 +66,14 @@ public int mode = Constants.LOCAL_RPOXY_CONNECTIVITY_FIRST; public AdvancedConfigInfo advancedConfig = null; } - NS_SWIFT_NAME(AgoraLocalAccessPointConfiguration) __attribute__((visibility("default"))) @interface AgoraLocalAccessPointConfiguration : NSObject + NS_SWIFT_NAME(AgoraLocalAccessPointConfiguration) __attribute__((visibility("default"))) @interface AgoraLocalAccessPointConfiguration : NSObject @property(copy, nonatomic) NSArray* _Nullable ipList NS_SWIFT_NAME(ipList); @property(copy, nonatomic) NSArray* _Nullable domainList NS_SWIFT_NAME(domainList); @property(copy, nonatomic) NSString* _Nullable verifyDomainName NS_SWIFT_NAME(verifyDomainName); @property(assign, nonatomic) AgoraLocalProxyMode mode NS_SWIFT_NAME(mode); @property(strong, nonatomic) AdvancedConfigInfo* _Nullable advancedConfig NS_SWIFT_NAME(advancedConfig); @end - struct LocalAccessPointConfiguration { + struct LocalAccessPointConfiguration { const char** ipList; int ipListSize; const char** domainList; @@ -82,7 +83,7 @@ AdvancedConfigInfo advancedConfig; LocalAccessPointConfiguration() : ipList(NULL), ipListSize(0), domainList(NULL), domainListSize(0), verifyDomainName(NULL), mode(ConnectivityFirst) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLocalAccessPointConfiguration { GENERATED_BODY() @@ -100,7 +101,7 @@ struct FLocalAccessPointConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAccessPointConfiguration") ELOCAL_PROXY_MODE mode = ELOCAL_PROXY_MODE::ConnectivityFirst; }; - export class LocalAccessPointConfiguration { + export class LocalAccessPointConfiguration { ipList?: string[]; @@ -116,7 +117,7 @@ struct FLocalAccessPointConfiguration advancedConfig?: AdvancedConfigInfo; } - public class LocalAccessPointConfiguration + public class LocalAccessPointConfiguration { public string[] ipList { set; get; } public int ipListSize { set; get; } @@ -137,7 +138,7 @@ struct FLocalAccessPointConfiguration advancedConfig = new AdvancedConfigInfo(); } }; - export class LocalAccessPointConfiguration { + export class LocalAccessPointConfiguration { ipList?: string[]; @@ -153,7 +154,7 @@ struct FLocalAccessPointConfiguration advancedConfig?: AdvancedConfigInfo; } - class LocalAccessPointConfiguration { + class LocalAccessPointConfiguration { const LocalAccessPointConfiguration( {this.ipList, this.ipListSize, @@ -188,46 +189,67 @@ struct FLocalAccessPointConfiguration _$LocalAccessPointConfigurationFromJson(json); Map<String, dynamic> toJson() => _$LocalAccessPointConfigurationToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - ipList - The list of IP addresses for the Local Access Point. ipList and domainList must be filled in at least one. - - - ipListSize - The number of IP addresses of the Local Access Point. This value must be the same as the number of IP addresses that you specify for the ipList parameter. - - - domainList - The list of domain names for the Local Access Point. The SDK will parse the IP addresses according to the provided domain names. The parse times out after 10 seconds. ipList and domainList must be filled in at least one. If you specify an IP address and a domain name at the same time, the SDK will combine the IP address parsed from the domain name and the IP address you specify, remove duplicates, and then connect to a random IP to achieve load balancing. - - - domainListSize - The number of domain names for Local Access Point. This value must be the same as the number of domain names that you specifyfor the domainList parameter. - - - verifyDomainName - The domain name used for Intranet certificate verification. If you pass an empty value, the SDK uses the default domain name secure-edge.local for certificate verification. - - - mode - -

    The connection mode. See .

    -

    Select one of the following connection modes:

      -
    • (0): The SDK firstly tries to connect to the specified Agora private media server; if the connection attempt fails, it will connect to the Agora SD-RTN™ instead.
    • -
    • (1) The SDK only tries to connect to the specified Agora private media server.
    • -

    -
    -
    - - advancedConfig - The advanced options for the Local Access Point. See . - -
    + + ipList + The list of IP addresses for the Local Access Point. ipList and domainList + must be filled in at least one. + + + ipListSize + The number of IP addresses of the Local Access Point. This value must be the + same as the number of IP addresses that you specify for the ipList + parameter. + + + domainList + The list of domain names for the Local Access Point. The SDK will parse the + IP addresses according to the provided domain names. The parse times out + after 10 seconds. ipList and domainList must be filled in at least one. If + you specify an IP address and a domain name at the same time, the SDK will + combine the IP address parsed from the domain name and the IP address you + specify, remove duplicates, and then connect to a random IP to achieve load + balancing. + + + domainListSize + The number of domain names for Local Access Point. This value must be the + same as the number of domain names that you specifyfor the domainList + parameter. + + + verifyDomainName + The domain name used for Intranet certificate verification. If you pass an + empty value, the SDK uses the default domain name + secure-edge.local for certificate verification. + + + mode + +

    The connection + mode. See .

    +

    Select one of the following connection modes:

      +
    • (0): The SDK firstly tries to + connect to the specified Agora private media server; if the + connection attempt fails, it will connect to the Agora SD-RTN™ + instead.
    • +
    • (1) The SDK only tries to connect to the + specified Agora private media server.
    • +

    +
    +
    + + advancedConfig + The advanced options for the Local Access Point. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/class_advancedaudiooptions.dita b/en-US/dita/RTC-NG/API/class_advancedaudiooptions.dita index f5d59367d91..0b685bc071b 100644 --- a/en-US/dita/RTC-NG/API/class_advancedaudiooptions.dita +++ b/en-US/dita/RTC-NG/API/class_advancedaudiooptions.dita @@ -1,12 +1,14 @@ - <ph keyref="AdvancedAudioOptions" /> + + <ph keyref="AdvancedAudioOptions"/> + The advanced options for audio.

    - public class AdvancedAudioOptions { + public class AdvancedAudioOptions { public enum AgoraAudioProcessChannels { AGORA_AUDIO_MONO_PROCESSING(1), AGORA_AUDIO_STEREO_PROCESSING(2); @@ -28,14 +30,14 @@ audioProcessingChannels = AgoraAudioProcessChannels.AGORA_AUDIO_MONO_PROCESSING; } } - __attribute__((visibility("default"))) @interface AgoraAdvancedAudioOptions: NSObject + __attribute__((visibility("default"))) @interface AgoraAdvancedAudioOptions: NSObject @property(assign, nonatomic) AgoraAudioProcessChannels audioProcessingChannels; @end - struct AdvancedAudioOptions { + struct AdvancedAudioOptions { AUDIO_PROCESSING_CHANNELS audioProcessingChannels; AdvancedAudioOptions(): audioProcessingChannels(AUDIO_PROCESSING_MONO) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAdvancedAudioOptions { GENERATED_BODY() @@ -44,20 +46,20 @@ struct FAdvancedAudioOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvancedAudioOptions") int audioProcessingChannels; }; - export class AdvancedAudioOptions { + export class AdvancedAudioOptions { audioProcessingChannels?: number; } - public class AdvancedAudioOptions : OptionalJsonParse + public class AdvancedAudioOptions : OptionalJsonParse { public Optional<int> audioProcessingChannels = new Optional<int>(); }; - export class AdvancedAudioOptions { + export class AdvancedAudioOptions { audioProcessingChannels?: number; } - class AdvancedAudioOptions { + class AdvancedAudioOptions { const AdvancedAudioOptions({this.audioProcessingChannels}); @JsonKey(name: 'audioProcessingChannels') @@ -65,21 +67,25 @@ struct FAdvancedAudioOptions factory AdvancedAudioOptions.fromJson(Map<String, dynamic> json) => _$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 - The number of channels for audio preprocessing. See . - The number of channels for audio preprocessing.
      -
    • (1): (Default) Mono.
    • -
    • (2): Stereo.
    + + audioProcessingChannels + The number of channels for audio + preprocessing. See . + The number of channels for audio preprocessing.
      +
    • (1): (Default) Mono.
    • +
    • (2): Stereo.
    • +
    -
    -
    + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_advancedconfiginfo.dita b/en-US/dita/RTC-NG/API/class_advancedconfiginfo.dita index d60103bcec9..869fe495220 100644 --- a/en-US/dita/RTC-NG/API/class_advancedconfiginfo.dita +++ b/en-US/dita/RTC-NG/API/class_advancedconfiginfo.dita @@ -2,11 +2,12 @@ <ph keyref="AdvancedConfigInfo"/> - The advanced options for the Local Access Point. + The advanced options for the Local Access + Point.

    - public static class AdvancedConfigInfo { + public static class AdvancedConfigInfo { public LogUploadServerInfo logUploadServer = null; public AdvancedConfigInfo() { logUploadServer = new LogUploadServerInfo(); @@ -16,26 +17,26 @@ return logUploadServer; } }; - NS_SWIFT_NAME(AdvancedConfigInfo) __attribute__((visibility("default"))) @interface AdvancedConfigInfo : NSObject + NS_SWIFT_NAME(AdvancedConfigInfo) __attribute__((visibility("default"))) @interface AdvancedConfigInfo : NSObject @property(strong, nonatomic) LogUploadServerInfo* _Nullable logUploadServer; @end - struct AdvancedConfigInfo { + struct AdvancedConfigInfo { LogUploadServerInfo logUploadServer; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAdvancedConfigInfo { GENERATED_BODY() FLogUploadServerInfo logUploadServer; }; - export class AdvancedConfigInfo { + export class AdvancedConfigInfo { logUploadServer?: LogUploadServerInfo; } - - export class AdvancedConfigInfo { + + export class AdvancedConfigInfo { logUploadServer?: LogUploadServerInfo; } - class AdvancedConfigInfo { + class AdvancedConfigInfo { const AdvancedConfigInfo({this.logUploadServer}); @JsonKey(name: 'logUploadServer') @@ -45,25 +46,29 @@ struct FAdvancedConfigInfo { _$AdvancedConfigInfoFromJson(json); Map<String, dynamic> toJson() => _$AdvancedConfigInfoToJson(this); -} -

    +} +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - logUploadServer - Custom log upload server. By default, the SDK uploads logs to Agora log server. You can modify the server where logs are uploaded through this parameter. See . - -
    + + logUploadServer + Custom log upload server. By default, the SDK uploads logs to Agora log + server. You can modify the server where logs are uploaded through this + parameter. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/class_advanceoptions.dita b/en-US/dita/RTC-NG/API/class_advanceoptions.dita index 162dad39f6e..28a58b2ca96 100644 --- a/en-US/dita/RTC-NG/API/class_advanceoptions.dita +++ b/en-US/dita/RTC-NG/API/class_advanceoptions.dita @@ -6,7 +6,7 @@

    - static public class AdvanceOptions { + static public class AdvanceOptions { public ENCODING_PREFERENCE encodingPreference; public COMPRESSION_PREFERENCE compressionPreference; public AdvanceOptions( @@ -19,11 +19,11 @@ this.compressionPreference = COMPRESSION_PREFERENCE.PREFER_LOW_LATENCY; } } - __attribute__((visibility("default"))) @interface AgoraAdvancedVideoOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraAdvancedVideoOptions : NSObject @property(assign, nonatomic) AgoraCompressionPreference compressionPreference; @property(assign, nonatomic) AgoraEncodingPreference encodingPreference; @end - + ENCODING_PREFERENCE encodingPreference; COMPRESSION_PREFERENCE compressionPreference; @@ -41,7 +41,7 @@ compressionPreference == rhs.compressionPreference; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAdvanceOptions { GENERATED_BODY() @@ -52,11 +52,11 @@ struct FAdvanceOptions { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AdvanceOptions") ECOMPRESSION_PREFERENCE compressionPreference; }; - export class AdvanceOptions { + export class AdvanceOptions { encodingPreference?: EncodingPreference; compressionPreference?: CompressionPreference; } - public class AdvanceOptions + public class AdvanceOptions { public ENCODING_PREFERENCE encodingPreference { set; get; } public COMPRESSION_PREFERENCE compressionPreference { set; get; } @@ -73,11 +73,11 @@ struct FAdvanceOptions { compressionPreference = compression_preference; } } - export class AdvanceOptions { + export class AdvanceOptions { encodingPreference?: EncodingPreference; compressionPreference?: CompressionPreference; } - class AdvanceOptions { + class AdvanceOptions { const AdvanceOptions({this.encodingPreference, this.compressionPreference}); @JsonKey(name: 'encodingPreference') @@ -90,29 +90,32 @@ struct FAdvanceOptions { _$AdvanceOptionsFromJson(json); Map<String, dynamic> toJson() => _$AdvanceOptionsToJson(this); -} -

    +} +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - encodingPreference - Video encoder preference. See . - - - compressionPreference - Compression preference for video encoding. See . - -
    + + encodingPreference + Video encoder preference. See . + + + compressionPreference + Compression preference for video encoding. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/class_agorafacepositioninfo.dita b/en-US/dita/RTC-NG/API/class_agorafacepositioninfo.dita index a2154b2588c..f855ba032e1 100644 --- a/en-US/dita/RTC-NG/API/class_agorafacepositioninfo.dita +++ b/en-US/dita/RTC-NG/API/class_agorafacepositioninfo.dita @@ -1,65 +1,76 @@ - <ph keyref="AgoraFacePositionInfo" /> - The information of the detected human face. + + <ph keyref="AgoraFacePositionInfo"/> + + The information of the detected human + face.

    - public static class AgoraFacePositionInfo { + public static class AgoraFacePositionInfo { public int x; public int y; public int width; public int height; public int distance; } - NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject + NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject @property(assign, nonatomic) NSInteger x NS_SWIFT_NAME(x); @property(assign, nonatomic) NSInteger y NS_SWIFT_NAME(y); @property(assign, nonatomic) NSInteger width NS_SWIFT_NAME(width); @property(assign, nonatomic) NSInteger height NS_SWIFT_NAME(height); @property(assign, nonatomic) NSInteger distance NS_SWIFT_NAME(distance); @end - - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - x - -

    The x-coordinate (px) of the human face in the local video. The horizontal position relative to the origin, where the upper left corner of the captured video is the origin, and the x-coordinate is the upper left corner of the watermark.

    -
    -
    - - y - -

    The y-coordinate (px) of the human face in the local video. Taking the top left corner of the captured video as the origin, the y coordinate represents the relative longitudinal displacement of the top left corner of the human face to the origin.

    -
    -
    - - width - -

    The width (px) of the human face in the captured video.

    -
    -
    - - height - -

    The height (px) of the human face in the captured video.

    -
    -
    - - distance - -

    The distance between the human face and the device screen (cm).

    -
    -
    -
    + + x + +

    The x-coordinate (px) of the human face in the local video. The + horizontal position relative to the origin, where the upper left corner + of the captured video is the origin, and the x-coordinate is the upper + left corner of the watermark.

    +
    +
    + + y + +

    The y-coordinate (px) of the human face in the local video. Taking the + top left corner of the captured video as the origin, the y coordinate + represents the relative longitudinal displacement of the top left corner + of the human face to the origin.

    +
    +
    + + width + +

    The width (px) of the human face in the captured video.

    +
    +
    + + height + +

    The height (px) of the human face in the captured video.

    +
    +
    + + distance + +

    The distance between the human face and the device screen (cm).

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_agoramediametadatadatasource.dita b/en-US/dita/RTC-NG/API/class_agoramediametadatadatasource.dita index 3b578643fa6..0ea422cf18b 100644 --- a/en-US/dita/RTC-NG/API/class_agoramediametadatadatasource.dita +++ b/en-US/dita/RTC-NG/API/class_agoramediametadatadatasource.dita @@ -1,11 +1,12 @@ - <ph keyref="AgoraMediaMetadataDataSource" /> + <ph keyref="AgoraMediaMetadataDataSource"/> AgoraMediaMetadataDataSource protocol.
    -

    Implement all the callbacks in this class in the critical thread. We recommend avoiding any time-consuming operation in the critical thread.

    +

    Implement all the callbacks in this class in the critical thread. We recommend + avoiding any time-consuming operation in the critical thread.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita b/en-US/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita index 3294de7c89d..685914258e2 100644 --- a/en-US/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita +++ b/en-US/dita/RTC-NG/API/class_agorarhythmplayerconfig.dita @@ -1,12 +1,14 @@ - <ph keyref="AgoraRhythmPlayerConfig" /> + + <ph keyref="AgoraRhythmPlayerConfig"/> + The metronome configuration.

    - public class AgoraRhythmPlayerConfig { + public class AgoraRhythmPlayerConfig { public int beatsPerMeasure; public int beatsPerMinute; @@ -25,18 +27,18 @@ return beatsPerMinute; } } - __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject @property (assign, nonatomic) int beatsPerMeasure; @property (assign, nonatomic) int beatsPerMinute; @end - struct AgoraRhythmPlayerConfig { + struct AgoraRhythmPlayerConfig { int beatsPerMeasure; int beatsPerMinute; AgoraRhythmPlayerConfig() : beatsPerMeasure(4), beatsPerMinute(60) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAgoraRhythmPlayerConfig { GENERATED_BODY() @@ -46,13 +48,13 @@ struct FAgoraRhythmPlayerConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraRhythmPlayerConfig") int beatsPerMinute = 60; }; - export class AgoraRhythmPlayerConfig { + export class AgoraRhythmPlayerConfig { beatsPerMeasure?: number; beatsPerMinute?: number; } - public class AgoraRhythmPlayerConfig + public class AgoraRhythmPlayerConfig { public AgoraRhythmPlayerConfig() { @@ -62,13 +64,13 @@ struct FAgoraRhythmPlayerConfig public int beatsPerMeasure { set; get; } public int beatsPerMinute { set; get; } }; - export class AgoraRhythmPlayerConfig { + export class AgoraRhythmPlayerConfig { beatsPerMeasure?: number; beatsPerMinute?: number; } - class AgoraRhythmPlayerConfig { + class AgoraRhythmPlayerConfig { const AgoraRhythmPlayerConfig({this.beatsPerMeasure, this.beatsPerMinute}); @JsonKey(name: 'beatsPerMeasure') @@ -79,19 +81,26 @@ struct FAgoraRhythmPlayerConfig _$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 - The number of beats per measure, which ranges from 1 to 9. The default value is 4, which means that each measure contains one downbeat and three upbeats. - - - beatsPerMinute - The beat speed (beats/minute), which ranges from 60 to 360. The default value is 60, which means that the metronome plays 60 beats in one minute. - -
    + + beatsPerMeasure + The number of beats per measure, which ranges from 1 to 9. The default value + is 4, which means that each measure contains one downbeat and three + upbeats. + + + beatsPerMinute + The beat speed (beats/minute), which ranges from 60 to 360. The default + value is 60, which means that the metronome plays 60 beats in one + minute. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_agorartcdeviceinfo.dita b/en-US/dita/RTC-NG/API/class_agorartcdeviceinfo.dita index dd0ffadc826..8d31325ad4f 100644 --- a/en-US/dita/RTC-NG/API/class_agorartcdeviceinfo.dita +++ b/en-US/dita/RTC-NG/API/class_agorartcdeviceinfo.dita @@ -2,45 +2,48 @@ <ph keyref="AgoraRtcDeviceInfo"/> - The class that provides device information. + The class that provides device + information.

    - - __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject + + __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject @property (assign, nonatomic) int __deprecated index; @property(assign, nonatomic) AgoraMediaDeviceType type; @property(copy, nonatomic) NSString *_Nullable deviceId; @property(copy, nonatomic) NSString *_Nullable deviceName; @property(copy, nonatomic) NSString *_Nullable deviceTypeName; @end - - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - The device type. See . - - - deviceId - The device ID. - - - deviceName - The device name. - - - deviceTypeName - The type of audio devices, such as built-in, USB and HDMI. - -
    + + type + The device type. See . + + + deviceId + The device ID. + + + deviceName + The device name. + + + deviceTypeName + The type of audio devices, such as built-in, USB and HDMI. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_agorartcexception.dita b/en-US/dita/RTC-NG/API/class_agorartcexception.dita index 3070d8c670c..3a9656d4213 100644 --- a/en-US/dita/RTC-NG/API/class_agorartcexception.dita +++ b/en-US/dita/RTC-NG/API/class_agorartcexception.dita @@ -6,32 +6,33 @@

    - - - - - - - class AgoraRtcException implements Exception { + + + + + + + class AgoraRtcException implements Exception { AgoraRtcException({required this.code, this.message}); final int code; final String? message; @override String toString() => 'AgoraRtcException($code, $message)'; -} -

    +} +

    Parameters - - code - The error code. See . - - - message - The error message. - -
    + + code + The error code. See . + + + message + The error message. + + +
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_agoravideosurface.dita b/en-US/dita/RTC-NG/API/class_agoravideosurface.dita index ff80f6e3788..b2e5b3dbc34 100644 --- a/en-US/dita/RTC-NG/API/class_agoravideosurface.dita +++ b/en-US/dita/RTC-NG/API/class_agoravideosurface.dita @@ -1,6 +1,7 @@ - <ph keyref="AgoraVideoSurface" /> - This class contains Unity native methods related to video rendering. - \ No newline at end of file + <ph keyref="AgoraVideoSurface"/> + This class contains Unity native methods related to + video rendering. + diff --git a/en-US/dita/RTC-NG/API/class_agoravideoview.dita b/en-US/dita/RTC-NG/API/class_agoravideoview.dita index 3e8a3501edd..ffd4552df18 100644 --- a/en-US/dita/RTC-NG/API/class_agoravideoview.dita +++ b/en-US/dita/RTC-NG/API/class_agoravideoview.dita @@ -1,18 +1,19 @@ - <ph keyref="AgoraVideoView" /> - The Class for rendering local and remote video. + <ph keyref="AgoraVideoView"/> + The Class for + rendering local and remote video.

    - - - - - - - class AgoraVideoView extends StatefulWidget { + + + + + + + class AgoraVideoView extends StatefulWidget { const AgoraVideoView({ Key? key, required this.controller, @@ -24,25 +25,30 @@ @override State<AgoraVideoView> createState() => AgoraVideoViewState(); } -

    +

    -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - key - The identifier of the Widget. See the description of the key object in the official Flutter documentation. - - - controller - Controls the type of video to render:
      -
    • If you want to render video of the , see .
    • -
    • If you want to render video of the media player, see .
    • -
    -
    -
    + + key + The identifier of the Widget. See the description of the + key object in the official Flutter documentation. + + + controller + Controls the type of video to render:
      +
    • If you want to render video of the , + see .
    • +
    • If you want to render video of the media player, see .
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_agoraview.dita b/en-US/dita/RTC-NG/API/class_agoraview.dita index f709088397e..a7e3f12dd65 100644 --- a/en-US/dita/RTC-NG/API/class_agoraview.dita +++ b/en-US/dita/RTC-NG/API/class_agoraview.dita @@ -1,15 +1,16 @@ - <ph keyref="AgoraView" /> - Attributes of the Agora custom element. + <ph keyref="AgoraView"/> + Attributes of the Agora custom + element.

    - - - - interface AgoraView { + + + + interface AgoraView { "video-source-type": VideoSourceType; uid: number; "channel-id": string; @@ -17,50 +18,53 @@ "renderer-mirror": boolean; style: any; } - - -

    + + + +

    You can use this custom element as follows:

    - <agora-view video-source-type="{VideoSourceType.VideoSourceCamera}" channel-id="" uid="{0}"></agora-view> + <agora-view video-source-type="{VideoSourceType.VideoSourceCamera}" channel-id="" uid="{0}"></agora-view>

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - video-source-type - The type of the video source. See . - - - uid - The ID of the remote user. - - - channel-id - -

    - - - - renderer-content-mode - The video display mode. For details, see . - - - renderer-mirror - Whether to enable mirror mode when rendering video: - -

      -
    • : Enable mirror mode.
    • -
    • : Do not enable mirror mode.
    • -
    -
    - - style - The inline style of elements. See . - -
    + + video-source-type + The type of the video source. See . + + + uid + The ID of the remote user. + + + channel-id + +

    + + + + renderer-content-mode + The video display mode. For details, see . + + + renderer-mirror + Whether to enable mirror mode when rendering video:

      +
    • : Enable mirror mode.
    • +
    • : Do not enable mirror + mode.
    • +
    +
    + + style + The inline style of elements. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_audiodeviceinfo.dita b/en-US/dita/RTC-NG/API/class_audiodeviceinfo.dita index aedb56456e4..55382a1992e 100644 --- a/en-US/dita/RTC-NG/API/class_audiodeviceinfo.dita +++ b/en-US/dita/RTC-NG/API/class_audiodeviceinfo.dita @@ -2,25 +2,26 @@ <ph keyref="AudioDeviceInfo"/> - The class that contains the ID, name and type of the audio devices. + The class that + contains the ID, name and type of the audio devices.

    - - - - export class AudioDeviceInfo { + + + + export class AudioDeviceInfo { deviceId?: string; deviceTypeName?: string; deviceName?: string; } - - export class AudioDeviceInfo { + + export class AudioDeviceInfo { deviceId?: string; deviceTypeName?: string; deviceName?: string; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioDeviceInfo { const AudioDeviceInfo({this.deviceId, this.deviceTypeName, this.deviceName}); @@ -38,23 +39,26 @@ class AudioDeviceInfo { Map<String, dynamic> toJson() => _$AudioDeviceInfoToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - - - - - deviceTypeName - Output parameter; indicates the type of audio devices, such as built-in, USB and HDMI. - -
    + + + + + + + + + + deviceTypeName + Output parameter; indicates the type of audio devices, such as built-in, USB + and HDMI. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita b/en-US/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita index c3baebf56e3..067eec625e7 100644 --- a/en-US/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita +++ b/en-US/dita/RTC-NG/API/class_audioencodedframeobserverconfig.dita @@ -1,12 +1,15 @@ - <ph keyref="AudioEncodedFrameObserverConfig" /> - Observer settings for the encoded audio. + + <ph keyref="AudioEncodedFrameObserverConfig"/> + + Observer settings for the encoded + audio.

    - public class AudioEncodedFrameObserverConfig { + public class AudioEncodedFrameObserverConfig { public int postionType; public int encodingType; @@ -15,18 +18,18 @@ encodingType = Constants.AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM; } } - __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject @property (assign, nonatomic) AgoraAudioEncodedFrameDelegatePosition postionType; @property (assign, nonatomic) AgoraAudioEncodingType encodingType; @end - struct AudioEncodedFrameObserverConfig { + struct AudioEncodedFrameObserverConfig { AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType; AUDIO_ENCODING_TYPE encodingType; AudioEncodedFrameObserverConfig() : postionType(AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK), encodingType(AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM){} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioEncodedFrameObserverConfig { GENERATED_BODY() @@ -36,13 +39,13 @@ struct FAudioEncodedFrameObserverConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioEncodedFrameObserverConfig") FENUMWRAP_AUDIO_ENCODING_TYPE encodingType = EENUMCUSTOM_AUDIO_ENCODING_TYPE::AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM; }; - export class AudioEncodedFrameObserverConfig { + export class AudioEncodedFrameObserverConfig { postionType?: AudioEncodedFrameObserverPosition; encodingType?: AudioEncodingType; } - public class AudioEncodedFrameObserverConfig + public class AudioEncodedFrameObserverConfig { public AudioEncodedFrameObserverConfig() { @@ -59,13 +62,13 @@ struct FAudioEncodedFrameObserverConfig public AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType { set; get; } public AUDIO_ENCODING_TYPE encodingType { set; get; } } - export class AudioEncodedFrameObserverConfig { + export class AudioEncodedFrameObserverConfig { postionType?: AudioEncodedFrameObserverPosition; encodingType?: AudioEncodingType; } - class AudioEncodedFrameObserverConfig { + class AudioEncodedFrameObserverConfig { const AudioEncodedFrameObserverConfig({this.postionType, this.encodingType}); @JsonKey(name: 'postionType') @@ -81,38 +84,81 @@ 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 - -

    Audio profile. See .

    -

    Audio profile:

      -
    • (1): Only encode the audio of the local user.
    • -
    • (2): Only encode the audio of all remote users.
    • -
    • (3): Records the mixed audio of the local and all remote users.
    • -

    -
    -
    - - encodingType - -

    Audio encoding type. See .

    -

    Audio encoding type:

      -
    • : AAC encoding format, 16000 Hz sampling rate, low quality. A file with an audio duration of 10 minutes is approximately 1.2 MB after encoding.
    • -
    • : AAC encoding format, 16000 Hz sampling rate, medium quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
    • -
    • : AAC encoding format, 32000 Hz sampling rate, low quality. A file with an audio duration of 10 minutes is approximately 1.2 MB after encoding.
    • -
    • : AAC encoding format, 32000 Hz sampling rate, medium quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
    • -
    • : AAC encoding format, 32000 Hz sampling rate, high quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding.
    • -
    • : AAC encoding format, 48000 Hz sampling rate, medium quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
    • -
    • : AAC encoding format, 48000 Hz sampling rate, high quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding.
    • -
    • : OPUS encoding format, 16000 Hz sampling rate, low quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
    • -
    • : OPUS encoding format, 16000 Hz sampling rate, medium quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
    • -
    • : OPUS encoding format, 48000 Hz sampling rate, medium quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
    • -
    • : OPUS encoding format, 48000 Hz sampling rate, high quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding.
    • -

    -
    -
    -
    + + postionType + +

    Audio profile. + See .

    +

    Audio profile:

      +
    • (1): + Only encode the audio of the local user.
    • +
    • (2): Only encode the audio of all remote users.
    • +
    • (3): + Records the mixed audio of the local and all remote users.
    • +
    +

    +
    +
    + + encodingType + +

    Audio encoding + type. See .

    +

    Audio encoding type:

      +
    • : AAC encoding + format, 16000 Hz sampling rate, low quality. A file with an + audio duration of 10 minutes is approximately 1.2 MB after + encoding.
    • +
    • : AAC + encoding format, 16000 Hz sampling rate, medium quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding.
    • +
    • : AAC encoding + format, 32000 Hz sampling rate, low quality. A file with an + audio duration of 10 minutes is approximately 1.2 MB after + encoding.
    • +
    • : AAC + encoding format, 32000 Hz sampling rate, medium quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding.
    • +
    • : AAC encoding + format, 32000 Hz sampling rate, high quality. A file with an + audio duration of 10 minutes is approximately 3.5 MB after + encoding.
    • +
    • : AAC + encoding format, 48000 Hz sampling rate, medium quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding.
    • +
    • : AAC encoding + format, 48000 Hz sampling rate, high quality. A file with an + audio duration of 10 minutes is approximately 3.5 MB after + encoding.
    • +
    • : OPUS encoding + format, 16000 Hz sampling rate, low quality. A file with an + audio duration of 10 minutes is approximately 2 MB after + encoding.
    • +
    • : OPUS + encoding format, 16000 Hz sampling rate, medium quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding.
    • +
    • : OPUS + encoding format, 48000 Hz sampling rate, medium quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding.
    • +
    • : OPUS + encoding format, 48000 Hz sampling rate, high quality. A file + with an audio duration of 10 minutes is approximately 3.5 MB + after encoding.
    • +
    +

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_audioexternalsourceposition.dita b/en-US/dita/RTC-NG/API/class_audioexternalsourceposition.dita index 66dea457c47..7427e7954f7 100644 --- a/en-US/dita/RTC-NG/API/class_audioexternalsourceposition.dita +++ b/en-US/dita/RTC-NG/API/class_audioexternalsourceposition.dita @@ -1,31 +1,32 @@ - <ph keyref="AUDIO_EXTERNAL_SOURCE_POSITION" /> - The push position of the external audio frame. + <ph keyref="AUDIO_EXTERNAL_SOURCE_POSITION"/> + The push position of the external audio + frame.

    - public enum AudioExternalSourcePos { + public enum AudioExternalSourcePos { AUDIO_EXTERNAL_PLAYOUT_SOURCE(0), AUDIO_EXTERNAL_RECORD_SOURCE_PRE_PROCESS(1), AUDIO_EXTERNAL_RECORD_SOURCE_POST_PROCESS(2); } - typedef NS_ENUM(NSUInteger, AgoraAudioExternalSourcePos) { + typedef NS_ENUM(NSUInteger, AgoraAudioExternalSourcePos) { AgoraAudioExternalPlayoutSource = 0, AgoraAudioExternalRecordSourcePreProcess = 1, AgoraAudioExternalRecordSourcePostProcess = 2, }; - enum AUDIO_EXTERNAL_SOURCE_POSITION { + enum AUDIO_EXTERNAL_SOURCE_POSITION { AUDIO_EXTERNAL_PLAYOUT_SOURCE = 0, AUDIO_EXTERNAL_RECORD_SOURCE_PRE_PROCESS = 1, AUDIO_EXTERNAL_RECORD_SOURCE_POST_PROCESS = 2, }; - - - - -

    + + + + +

    @@ -34,24 +35,30 @@
    v3.5.1
    -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - 0: The position before local playback. If you need to play the external audio frame on the local client, set this position. + + 0: The position before local playback. If you need to play the external + audio frame on the local client, set this position. - - 1: The position after audio capture and before audio pre-processing. If you need the audio module of the SDK to process the external audio frame, set this position. + + 1: The position after audio capture and before audio pre-processing. If you + need the audio module of the SDK to process the external audio frame, set + this position. - - 2: The position after audio pre-processing and before audio encoding. If you do not need the audio module of the SDK to process the external audio frame, set this position. + + 2: The position after audio pre-processing and before audio encoding. If you + do not need the audio module of the SDK to process the external audio frame, + set this position.
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_audioframe.dita b/en-US/dita/RTC-NG/API/class_audioframe.dita index 7830e0ee5af..c46256a9934 100644 --- a/en-US/dita/RTC-NG/API/class_audioframe.dita +++ b/en-US/dita/RTC-NG/API/class_audioframe.dita @@ -1,12 +1,12 @@ - <ph keyref="AudioFrame" /> + <ph keyref="AudioFrame"/> Raw audio data.

    - public class AudioFrame { + public class AudioFrame { public ByteBuffer buffer; public int sampleRataHz; public int bytesPerSample; @@ -62,7 +62,7 @@ + ", timestamp=" + timestamp + '}'; } } - + __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject @property(assign, nonatomic) NSInteger samplesPerChannel; @@ -79,7 +79,7 @@ __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject @property(assign, nonatomic) NSInteger avSyncType; @end - struct AudioFrame { + struct AudioFrame { AUDIO_FRAME_TYPE type; int samplesPerChannel; agora::rtc::BYTES_PER_SAMPLE bytesPerSample; @@ -99,7 +99,7 @@ __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject avsync_type(0), }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioFrame { GENERATED_BODY() @@ -120,7 +120,7 @@ struct FAudioFrame { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioFrame") int avsync_type; }; - export class AudioFrame { + export class AudioFrame { type?: AudioFrameType; samplesPerChannel?: number; bytesPerSample?: BytesPerSample; @@ -130,7 +130,7 @@ struct FAudioFrame { renderTimeMs?: number; avsync_type?: number; } - public class AudioFrame + public class AudioFrame { public AudioFrame() { @@ -166,7 +166,7 @@ struct FAudioFrame { public long renderTimeMs { set; get; } public int avsync_type { set; get; } } - export class AudioFrame { + export class AudioFrame { type?: AudioFrameType; samplesPerChannel?: number; bytesPerSample?: BytesPerSample; @@ -176,7 +176,7 @@ struct FAudioFrame { renderTimeMs?: number; avsync_type?: number; } - class AudioFrame { + class AudioFrame { const AudioFrame( {this.type, this.samplesPerChannel, @@ -186,62 +186,76 @@ 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 - -

    The type of the audio frame. See .

    -
    -
    - - samplesPerChannel - The number of samples per channel in the audio frame. - - - bytesPerSample - The number of bytes per sample. For PCM, this parameter is generally set to 16 bits (2 bytes). - - - channelschannelNums - -

    The number of audio channels (the data are interleaved if it is stereo).

      -
    • 1: Mono.
    • -
    • 2: Stereo.
    • -

    -
    -
    - - samplesPerSec - sampleRataHz - The number of samples per channel in the audio frame. - - - buffer - RawBuffer - -

    The data buffer of the audio frame. When the audio frame uses a stereo channel, the data buffer is interleaved.

    -

    The size of the data buffer is as follows: buffer = samples × channels × bytesPerSample.

    -
    -
    - - renderTimeMs - -

    The timestamp (ms) of the external audio frame.

    -

    You can use this timestamp to restore the order of the captured audio frame, and synchronize audio and video frames in video scenarios, including scenarios where external video sources are used.

    -
    -
    - - avsyncTypeavsync_type - Reserved for future use. - - - timestamp - The timestamp (ms) of the audio frame. - -
    + + type + +

    The type of the audio frame. See .

    +
    +
    + + samplesPerChannel + The number of samples per channel in the audio frame. + + + bytesPerSample + The number of bytes per sample. For PCM, this parameter is generally set to + 16 bits (2 bytes). + + + channelschannelNums + +

    The number of audio channels (the data are interleaved if it is + stereo).

      +
    • 1: Mono.
    • +
    • 2: Stereo.
    • +
    +

    +
    +
    + + samplesPerSec + sampleRataHz + The number of samples per channel in the audio frame. + + + buffer + RawBuffer + +

    The data buffer of the audio frame. When the audio frame uses a stereo + channel, the data buffer is interleaved.

    +

    The size of the data buffer is as follows: buffer = + samples × channels × + bytesPerSample.

    +
    +
    + + renderTimeMs + +

    The timestamp (ms) of the external audio frame.

    +

    You can use this timestamp to restore the order of the captured audio + frame, and synchronize audio and video frames in video scenarios, + including scenarios where external video sources are used.

    +
    +
    + + avsyncTypeavsync_type + Reserved for future use. + + + timestamp + The timestamp (ms) of the audio frame. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_audioparams.dita b/en-US/dita/RTC-NG/API/class_audioparams.dita index 9293da4048f..a6f297bf592 100644 --- a/en-US/dita/RTC-NG/API/class_audioparams.dita +++ b/en-US/dita/RTC-NG/API/class_audioparams.dita @@ -6,7 +6,7 @@

    - public class AudioParams { + public class AudioParams { public int sampleRate = 0; public int channel = 0; public int mode = Constants.RAW_AUDIO_FRAME_OP_MODE_READ_ONLY; @@ -20,7 +20,7 @@ this.samplesPerCall = samplesPerCall; } } - __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject + __attribute__((visibility("default"))) @interface AgoraAudioParams : NSObject @property (assign, nonatomic) NSInteger sampleRate; @@ -31,7 +31,7 @@ @property (assign, nonatomic) NSInteger samplesPerCall; @end - struct AudioParams { + struct AudioParams { int sample_rate; int channels; rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE mode; @@ -39,7 +39,7 @@ AudioParams() : sample_rate(0), channels(0), mode(rtc::RAW_AUDIO_FRAME_OP_MODE_READ_ONLY), samples_per_call(0) {} AudioParams(int samplerate, int channel, rtc::RAW_AUDIO_FRAME_OP_MODE_TYPE type, int samplesPerCall) : sample_rate(samplerate), channels(channel), mode(type), samples_per_call(samplesPerCall) {} }; - export class AudioParams { + export class AudioParams { sample_rate?: number; @@ -49,7 +49,7 @@ samples_per_call?: number; } - public class AudioParams + public class AudioParams { public int sample_rate { set; get; } public int channels { set; get; } @@ -72,7 +72,7 @@ samples_per_call = samplesPerCall; } }; - export class AudioParams { + export class AudioParams { sample_rate?: number; @@ -82,7 +82,7 @@ samples_per_call?: number; } - class AudioParams { + class AudioParams { const AudioParams( {this.sampleRate, this.channels, this.mode, this.samplesPerCall}); @@ -103,61 +103,99 @@ Map<String, dynamic> toJson() => _$AudioParamsToJson(this); } -

    +

    -

    You can pass the object in the following APIs to set the audio data format for the corresponding callback:

      -
    • : Sets the audio data format for the callback.
    • -
    • : Sets the audio data format for the callback.
    • -
    • : Sets the audio data format for the callback.
    • -
    • : Sets the audio data format for the callback.
    • -

    -

    The SDK sets the audio data format in the following callbacks according to .

      -
    • -
    • -
    • -

    +

    You can pass the + object in the following APIs to set the audio data format for the corresponding callback:

      +
    • : Sets the + audio data format for the callback.
    • +
    • : Sets the audio + data format for the callback.
    • +
    • : Sets the audio + data format for the callback.
    • +
    • : Sets the + audio data format for the + callback.
    • +

    +

    The SDK sets the audio data format in the following callbacks + according to .

      +
    • +
    • +
    • +
    • +
    • +
    • +

    -
      -
    • The SDK calculates the sampling interval through the samplesPerCall, sampleRate, and channel parameters in , and triggers the , , , and callbacks according to the sampling interval.
    • -
    • Sample interval (sec) = samplePerCall/(sampleRate × channel).
    • -
    • Ensure that the sample interval ≥ 0.01 (s).
    • -
    +
      +
    • The SDK calculates the sampling interval through the + samplesPerCall, sampleRate, + and channel parameters in , and triggers the , , , + and callbacks according to the + sampling interval.
    • +
    • Sample interval (sec) = + samplePerCall/(sampleRate + × channel).
    • +
    • Ensure that the sample interval ≥ 0.01 (s).
    • +
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - sampleRate - sample_rate - The audio sample rate (Hz), which can be set as one of the following values:
      -
    • 8000.
    • -
    • (Default) 16000.
    • -
    • 32000.
    • -
    • 44100
    • -
    • 48000
    • -
    -
    - - channel - channels - The number of audio channels, which can be set as either of the following values:
      -
    • 1: (Default) Mono.
    • -
    • 2: Stereo.
    • -
    -
    - - mode - The use mode of the audio data. See . - The use mode of the audio data, which can be set as either of the following values:
      -
    • (0): Read-only mode, where users only read the original data from without any modification. For example, when users acquire the data with the Agora SDK, then start the media push.
    • -
    • (2): Read and write mode, where users read the data from , modify it, and then play it. Users read the data returned by the SDK, modify it, and then play it. For example, when users have their own audio-effect processing module and perform some voice pre-processing, such as a voice change.
    • -
    -
    - - samplesPerCall - samples_per_call - The number of samples, such as 1024 for the media push. - -
    + + sampleRate + sample_rate + The audio sample rate (Hz), which can be set as one of the following values:
      +
    • 8000.
    • +
    • (Default) 16000.
    • +
    • 32000.
    • +
    • 44100
    • +
    • 48000
    • +
    +
    + + channel + channels + The number of audio channels, which can be set as either of the following values:
      +
    • 1: (Default) Mono.
    • +
    • 2: Stereo.
    • +
    +
    + + mode + The use mode of + the audio data. See . + The use mode of the audio data, which can be set as either + of the following values:
      +
    • (0): Read-only mode, + where users only read the original + data from without any modification. + For example, when users acquire the data with the Agora SDK, + then start the media push.
    • +
    • (2): Read and write + mode, where users read the data from , modify it, and then play it. Users read the data returned by the SDK, modify + it, and then play it. For example, when users have their + own audio-effect processing module and perform some voice + pre-processing, such as a voice change.
    • +
    +
    +
    + + samplesPerCall + samples_per_call + The number of samples, such as 1024 for the media push. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_audiopcmframe.dita b/en-US/dita/RTC-NG/API/class_audiopcmframe.dita index cb65d541df4..82752020b55 100644 --- a/en-US/dita/RTC-NG/API/class_audiopcmframe.dita +++ b/en-US/dita/RTC-NG/API/class_audiopcmframe.dita @@ -1,13 +1,16 @@ - <ph keyref="AudioPcmFrame" /> - The parameters of the audio frame in PCM format. + + <ph keyref="AudioPcmFrame"/> + + The parameters of the audio frame in PCM + format.

    - - __attribute__((visibility("default"))) @interface AgoraAudioPcmFrame: NSObject + + __attribute__((visibility("default"))) @interface AgoraAudioPcmFrame: NSObject @property (assign, nonatomic) uint32_t captureTimestamp; @property (assign, nonatomic) size_t samplesPerChannel; @property (assign, nonatomic) int sampleRateHz; @@ -16,7 +19,7 @@ @property (assign, nonatomic) BytesPerSampleType bytesPerSample; @end - struct AudioPcmFrame { + struct AudioPcmFrame { OPTIONAL_ENUM_SIZE_T { kMaxDataSizeSamples = 3840, kMaxDataSizeBytes = kMaxDataSizeSamples * sizeof(int16_t), @@ -30,7 +33,7 @@ int16_t data_[kMaxDataSizeSamples]; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioPcmFrame { GENERATED_BODY() @@ -48,7 +51,7 @@ struct FAudioPcmFrame { /*3840 * sizeof(int16_t)*/ TArray<int64> data_; }; - export class AudioPcmFrame { + export class AudioPcmFrame { capture_timestamp?: number; samples_per_channel_?: number; sample_rate_hz_?: number; @@ -56,7 +59,7 @@ struct FAudioPcmFrame { bytes_per_sample?: BytesPerSample; data_?: number[]; } - + public struct AudioPcmFrame { public UInt32 capture_timestamp; public UInt64 samples_per_channel_; @@ -65,7 +68,7 @@ struct FAudioPcmFrame { public BYTES_PER_SAMPLE bytes_per_sample; public Int16[] data_; }; - export class AudioPcmFrame { + export class AudioPcmFrame { capture_timestamp?: number; samples_per_channel_?: number; sample_rate_hz_?: number; @@ -73,7 +76,7 @@ struct FAudioPcmFrame { bytes_per_sample?: BytesPerSample; data_?: number[]; } - class AudioPcmFrame { + class AudioPcmFrame { const AudioPcmFrame( {this.captureTimestamp, this.samplesPerChannel, @@ -104,51 +107,54 @@ struct FAudioPcmFrame { _$AudioPcmFrameFromJson(json); Map<String, dynamic> toJson() => _$AudioPcmFrameToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - OPTIONAL_ENUM_SIZE_T - The buffer size of the PCM audio frame. The initial value is 3840. - - - capture_timestamp - captureTimestamp - The timestamp (ms) of the audio frame. - - - samples_per_channel_ - samplesPerChannel - The number of samples per channel in the audio frame. - - - sample_rate_hz_ - sampleRateHz - Audio sample rate (Hz). - - - num_channels_ - channelNumbers - numChannels - The number of audio channels. - - - bytes_per_sample - bytesPerSample - The number of bytes per sample. - - - data_ - data - The audio frame. - - - pcmBuffer - Number of audio frames in the buffer. - -
    + + OPTIONAL_ENUM_SIZE_T + The buffer size of the PCM audio frame. The initial value is 3840. + + + capture_timestamp + captureTimestamp + The timestamp (ms) of the audio frame. + + + samples_per_channel_ + samplesPerChannel + The number of samples per channel in the audio frame. + + + sample_rate_hz_ + sampleRateHz + Audio sample rate (Hz). + + + num_channels_ + channelNumbers + numChannels + The number of audio channels. + + + bytes_per_sample + bytesPerSample + The number of bytes per sample. + + + data_ + data + The audio frame. + + + pcmBuffer + Number of audio frames in the buffer. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_audiorecordingconfiguration.dita b/en-US/dita/RTC-NG/API/class_audiorecordingconfiguration.dita index d1fa6b08a1b..ad4b8a0683e 100644 --- a/en-US/dita/RTC-NG/API/class_audiorecordingconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_audiorecordingconfiguration.dita @@ -1,12 +1,14 @@ - <ph keyref="AudioRecordingConfiguration" /> + + <ph keyref="AudioRecordingConfiguration"/> + Recording configurations.

    - public class AudioRecordingConfiguration { + public class AudioRecordingConfiguration { public String filePath; public int sampleRate; public boolean codec; @@ -22,14 +24,14 @@ recordingChannel = 1; } } - __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration: NSObject @property (copy, nonatomic) NSString * _Nullable filePath; @property (assign, nonatomic) NSUInteger sampleRate; @property (assign, nonatomic) AgoraAudioFileRecordingType fileRecordOption; @property (assign, nonatomic) AgoraAudioRecordingQuality quality; @property (assign, nonatomic) NSInteger recordingChannel; @end - struct AudioRecordingConfiguration { + struct AudioRecordingConfiguration { const char* filePath; bool encode; int sampleRate; @@ -69,7 +71,7 @@ quality(rhs.quality), recordingChannel(rhs.recordingChannel) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioRecordingConfiguration { GENERATED_BODY() @@ -87,7 +89,7 @@ struct FAudioRecordingConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioRecordingConfiguration") int recordingChannel; }; - export class AudioRecordingConfiguration { + export class AudioRecordingConfiguration { filePath?: string; @@ -101,7 +103,7 @@ struct FAudioRecordingConfiguration recordingChannel?: number; } - public class AudioRecordingConfiguration + public class AudioRecordingConfiguration { public AudioRecordingConfiguration() { @@ -141,7 +143,7 @@ struct FAudioRecordingConfiguration public AUDIO_RECORDING_QUALITY_TYPE quality { set; get; } public int recordingChannel { set; get; } }; - export class AudioRecordingConfiguration { + export class AudioRecordingConfiguration { filePath?: string; @@ -155,7 +157,7 @@ struct FAudioRecordingConfiguration recordingChannel?: number; } - class AudioRecordingConfiguration { + class AudioRecordingConfiguration { const AudioRecordingConfiguration( {this.filePath, this.encode, @@ -187,72 +189,114 @@ struct FAudioRecordingConfiguration 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 - The absolute path (including the filename extensions) of the recording file. For example: . -

    Ensure that the directory for the log files exists and is writable.

    -
    -
    - - encode - codec - Whether to encode the audio data:
      -
    • : Encode audio data in AAC.
    • -
    • : (Default) Do not encode audio data, but save the recorded audio data directly.
    • -
    -
    - - sampleRate - Recording sample rate (Hz).
      -
    • 16000
    • -
    • (Default) 32000
    • -
    • 44100
    • -
    • 48000
    • -
    - -

    If you set this parameter to 44100 or 48000, Agora recommends recording WAV files, or AAC files with quality set as or for better recording quality.

    -
    -
    - - fileRecordingType - fileRecordOption - -

    The recording content. See .

    -

    Recording content:

      -
    • (1): Only records the audio of the local user.
    • -
    • (2): Only records the audio of all remote users.
    • -
    • (3): (Default) Records the mixed audio of the local and all remote users.
    • -

    -
    -
    - - quality - -

    Recording quality. See .

    -

    Recording quality:

      -
    • (0): Low quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and a recording duration of 10 minutes is around 1.2 MB.
    • -
    • (1): (Default) Medium quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and a recording duration of 10 minutes is around 2 MB.
    • -
    • (2): High quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and a recording duration of 10 minutes is around 3.5 MB.
    • -
    • (3): Ultra high quality. The sample rate is 32 kHz, and the file size is around 7.5 MB after 10 minutes of recording.
    • -

    - -

    Note: This parameter applies to AAC files only.

    -
    -
    + + filePath + The absolute path (including the filename extensions) of the recording file. + For example: . +

    Ensure that the directory for the log files exists and is + writable.

    +
    +
    +
    + + encode + codec + Whether to encode the audio data:
      +
    • : Encode audio data in AAC.
    • +
    • : (Default) Do not encode audio + data, but save the recorded audio data directly.
    • +
    +
    + + sampleRate + Recording sample rate (Hz).
      +
    • 16000
    • +
    • (Default) 32000
    • +
    • 44100
    • +
    • 48000
    • +
    + +

    If you set this parameter to 44100 or 48000, Agora recommends + recording WAV files, or AAC files with quality + set as or for better recording + quality.

    +
    +
    + + fileRecordingType + fileRecordOption + +

    The recording + content. See .

    +

    Recording content:

      +
    • (1): Only records the + audio of the local user.
    • +
    • (2): Only records + the audio of all remote users.
    • +
    • (3): (Default) Records + the mixed audio of the local and all remote users.
    • +
    +

    +
    +
    + + quality + +

    Recording + quality. See .

    +

    Recording quality:

      +
    • (0): Low quality. For + example, the size of an AAC file with a sample rate of 32,000 Hz + and a recording duration of 10 minutes is around 1.2 MB.
    • +
    • (1): (Default) + Medium quality. For example, the size of an AAC file with a + sample rate of 32,000 Hz and a recording duration of 10 minutes + is around 2 MB.
    • +
    • (2): High quality. + For example, the size of an AAC file with a sample rate of + 32,000 Hz and a recording duration of 10 minutes is around 3.5 + MB.
    • +
    • (3): Ultra high + quality. The sample rate is 32 kHz, and the file size is around + 7.5 MB after 10 minutes of recording.
    • +
    +

    + +

    Note: This parameter applies to AAC files only.

    +
    +
    +
    recordingChannel - The audio channel of recording: The parameter supports the following values:
    • 1: (Default) Mono.
    • -
    • 2: Stereo.
    -

    The actual recorded audio channel is related to the audio channel that you capture.

      -
    • If the captured audio is mono and recordingChannel is 2, the recorded audio is the dual-channel data that is copied from mono data, not stereo.
    • -
    • If the captured audio is dual channel and recordingChannel is 1, the recorded audio is the mono data that is mixed by dual-channel data.
    The integration scheme also affects the final recorded audio channel. If you need to record in stereo, contact .

    -
    + The audio channel of recording: The parameter supports the following values:
      +
    • 1: (Default) Mono.
    • +
    • 2: Stereo.
    • +
    +

    The actual recorded audio channel is related to the + audio channel that you capture.

      +
    • If the captured audio is mono and + recordingChannel is + 2, the recorded audio is the + dual-channel data that is copied from mono data, not + stereo.
    • +
    • If the captured audio is dual channel and + recordingChannel is + 1, the recorded audio is the mono data + that is mixed by dual-channel data.
    • +
    The integration scheme also affects the final recorded + audio channel. If you need to record in stereo, contact .

    +
    -
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_audiospectrumdata.dita b/en-US/dita/RTC-NG/API/class_audiospectrumdata.dita index 90a04bc4f64..dc490d5d380 100644 --- a/en-US/dita/RTC-NG/API/class_audiospectrumdata.dita +++ b/en-US/dita/RTC-NG/API/class_audiospectrumdata.dita @@ -1,17 +1,17 @@ - <ph keyref="AudioSpectrumData" /> + <ph keyref="AudioSpectrumData"/> The audio spectrum data.

    - public class AudioSpectrumInfo { + public class AudioSpectrumInfo { private float[] audioSpectrumData; private int dataLength; } - - struct AudioSpectrumData { + + struct AudioSpectrumData { const float *audioSpectrumData; int dataLength; @@ -19,7 +19,7 @@ AudioSpectrumData(const float *data, int length) : audioSpectrumData(data), dataLength(length) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioSpectrumData { GENERATED_BODY() @@ -28,25 +28,25 @@ struct FAudioSpectrumData { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioSpectrumData") int dataLength; }; - export class AudioSpectrumData { + export class AudioSpectrumData { audioSpectrumData?: number[]; dataLength?: number; } - public struct AudioSpectrumData + public struct AudioSpectrumData { public float[] audioSpectrumData; public int dataLength; }; - export class AudioSpectrumData { + export class AudioSpectrumData { audioSpectrumData?: number[]; dataLength?: number; } -class AudioSpectrumData { + class AudioSpectrumData { const AudioSpectrumData({this.audioSpectrumData, this.dataLength}); @JsonKey(name: 'audioSpectrumData') @@ -56,22 +56,27 @@ struct FAudioSpectrumData { factory AudioSpectrumData.fromJson(Map<String, dynamic> json) => _$AudioSpectrumDataFromJson(json); Map<String, dynamic> toJson() => _$AudioSpectrumDataToJson(this); - } -

    + } +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - audioSpectrumData - -

    The audio spectrum data. Agora divides the audio frequency into 256 frequency domains, and reports the energy value of each frequency domain through this parameter. The value range of each energy type is [-300, 1] and the unit is dBFS.

    -
    -
    - - dataLength - The audio spectrum data length is 256. - -
    + + audioSpectrumData + +

    The audio spectrum data. Agora divides the audio frequency into 256 + frequency domains, and reports the energy value of each frequency domain + through this parameter. The value range of each energy type is [-300, 1] + and the unit is dBFS.

    +
    +
    + + dataLength + The audio spectrum data length is 256. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_audiotrackconfig.dita b/en-US/dita/RTC-NG/API/class_audiotrackconfig.dita index 81fcd9b23ad..113fd7f9094 100644 --- a/en-US/dita/RTC-NG/API/class_audiotrackconfig.dita +++ b/en-US/dita/RTC-NG/API/class_audiotrackconfig.dita @@ -1,12 +1,15 @@ - <ph keyref="AudioTrackConfig" /> - The configuration of custom audio tracks. - -
    -

    - public class AudioTrackConfig { + + <ph keyref="AudioTrackConfig"/> + + The configuration of custom audio + tracks. + +

    +

    + public class AudioTrackConfig { public boolean enableLocalPlayback; @@ -14,18 +17,18 @@ this.enableLocalPlayback = true; } } - NS_SWIFT_NAME(AgoraAudioTrackConfig) __attribute__((visibility("default"))) @interface AgoraAudioTrackConfig : NSObject + NS_SWIFT_NAME(AgoraAudioTrackConfig) __attribute__((visibility("default"))) @interface AgoraAudioTrackConfig : NSObject @property (assign, nonatomic) BOOL enableLocalPlayback NS_SWIFT_NAME(enableLocalPlayback); @end - struct AudioTrackConfig { + struct AudioTrackConfig { bool enableLocalPlayback; AudioTrackConfig() : enableLocalPlayback(true) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioTrackConfig { GENERATED_BODY() @@ -33,10 +36,10 @@ struct FAudioTrackConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AudioTrackConfig") bool enableLocalPlayback = true; }; - export class AudioTrackConfig { + export class AudioTrackConfig { enableLocalPlayback?: boolean; } - public class AudioTrackConfig + public class AudioTrackConfig { public bool enableLocalPlayback; @@ -51,10 +54,10 @@ struct FAudioTrackConfig } }; - export class AudioTrackConfig { + export class AudioTrackConfig { enableLocalPlayback?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class AudioTrackConfig { const AudioTrackConfig({this.enableLocalPlayback}); @@ -65,20 +68,25 @@ class AudioTrackConfig { _$AudioTrackConfigFromJson(json); Map<String, dynamic> toJson() => _$AudioTrackConfigToJson(this); -} -

    -
    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - - - enableLocalPlayback - Whether to enable the local audio-playback device:
      -
    • : (Default) Enable the local audio-playback device.
    • -
    • : Do not enable the local audio-playback device.
    • -
    -
    -
    -
    - - \ No newline at end of file +} +

    +
    +
    + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + + + enableLocalPlayback + Whether to enable the local audio-playback device:
      +
    • : (Default) Enable the local + audio-playback device.
    • +
    • : Do not enable the local + audio-playback device.
    • +
    +
    +
    +
    +
    +
    +
    diff --git a/en-US/dita/RTC-NG/API/class_audiovolumeinfo.dita b/en-US/dita/RTC-NG/API/class_audiovolumeinfo.dita index 1c840284d5b..1292a3221ce 100644 --- a/en-US/dita/RTC-NG/API/class_audiovolumeinfo.dita +++ b/en-US/dita/RTC-NG/API/class_audiovolumeinfo.dita @@ -1,31 +1,31 @@ - <ph keyref="AudioVolumeInfo" /> + <ph keyref="AudioVolumeInfo"/> The volume information of users.

    - public static class AudioVolumeInfo { + public static class AudioVolumeInfo { public int uid; public int volume; public int vad; public double voicePitch; } - __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger volume; @property(assign, nonatomic) NSUInteger vad; @property (assign, nonatomic) double voicePitch; @end - struct AudioVolumeInfo { + struct AudioVolumeInfo { uid_t uid; unsigned int volume; unsigned int vad; double voicePitch; AudioVolumeInfo() : uid(0), volume(0), vad(0), voicePitch(0.0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAudioVolumeInfo { GENERATED_BODY() @@ -39,7 +39,7 @@ struct FAudioVolumeInfo { float voicePitch; }; - public class AudioVolumeInfo + public class AudioVolumeInfo { public AudioVolumeInfo() { @@ -63,7 +63,7 @@ struct FAudioVolumeInfo { public double voicePitch { set; get; } } - export class AudioVolumeInfo { + export class AudioVolumeInfo { uid?: number; @@ -73,7 +73,7 @@ struct FAudioVolumeInfo { voicePitch?: number; } - export class AudioVolumeInfo { + export class AudioVolumeInfo { uid?: number; @@ -83,7 +83,7 @@ struct FAudioVolumeInfo { voicePitch?: number; } - class AudioVolumeInfo { + class AudioVolumeInfo { const AudioVolumeInfo({this.uid, this.volume, this.vad, this.voicePitch}); @JsonKey(name: 'uid') @@ -98,44 +98,69 @@ struct FAudioVolumeInfo { _$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 - -

    The user ID.

      -
    • In the local user's callback, uid is 0.
    • -
    • In the remote users' callback, uid is the user ID of a remote user whose instantaneous volume is the highest.
    • -

    -
    -
    - - volume - The volume of the user. The value ranges between 0 (the lowest volume) and 255 (the highest volume). If the local user enables audio capturing and calls and set it as to mute, the value of volume indicates the volume of locally captured audio signal. If the user calls , the value of volume indicates the volume after audio mixing. - - - vad - -

    Voice activity status of the local user.

      -
    • 0: The local user is not speaking.
    • -
    • 1: The local user is speaking.
    • -

    - -
      -
    • The vad parameter does not report the voice activity status of remote users. In a remote user's callback, the value of vad is always 1.
    • -
    • To use this parameter, you must set reportVad to when calling .
    • -
    -
    - - voicePitch - -

    The voice pitch of the local user. The value ranges between 0.0 and 4000.0.

    - The voicePitch parameter does not report the voice pitch of remote users. In the remote users' callback, the value of voicePitch is always 0.0. -
    -
    -
    + + uid + +

    The user ID.

      +
    • In the local user's callback, uid is + 0.
    • +
    • In the remote users' callback, uid is the + user ID of a remote user whose instantaneous volume is the + highest.
    • +

    +
    +
    + + volume + The volume of the user. The value ranges between 0 (the lowest volume) + and 255 (the highest volume). If the local user enables audio capturing + and calls and set it as + to mute, the value of + volume indicates the volume of locally captured + audio signal. If the user calls , the value of + volume indicates the volume after audio + mixing. + + + vad + +

    Voice activity status of the local user.

      +
    • 0: The local user is not speaking.
    • +
    • 1: The local user is speaking.
    • +
    +

    + +
      +
    • The vad parameter does not report the voice + activity status of remote users. In a remote user's callback, + the value of vad is always 1.
    • +
    • To use this parameter, you must set + reportVad to when calling .
    • +
    +
    +
    +
    + + voicePitch + +

    The voice pitch of the local user. The value ranges between 0.0 and + 4000.0.

    + The voicePitch parameter does + not report the voice pitch of remote users. In the remote users' + callback, the value of voicePitch is always + 0.0. +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_beautyoptions.dita b/en-US/dita/RTC-NG/API/class_beautyoptions.dita index e7b24040075..bdd588250fd 100644 --- a/en-US/dita/RTC-NG/API/class_beautyoptions.dita +++ b/en-US/dita/RTC-NG/API/class_beautyoptions.dita @@ -1,12 +1,14 @@ - <ph keyref="BeautyOptions" /> + + <ph keyref="BeautyOptions"/> + Image enhancement options.

    - public class BeautyOptions { + public class BeautyOptions { public static final int LIGHTENING_CONTRAST_LOW = 0; public static final int LIGHTENING_CONTRAST_NORMAL = 1; public static final int LIGHTENING_CONTRAST_HIGH = 2; @@ -17,7 +19,7 @@ public float rednessLevel; public float sharpnessLevel; } - __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject @property(nonatomic, assign) AgoraLighteningContrastLevel lighteningContrastLevel; @property(nonatomic, assign) float lighteningLevel; @@ -25,7 +27,7 @@ @property(nonatomic, assign) float rednessLevel; @property(nonatomic, assign) float sharpnessLevel; @end - struct BeautyOptions { + struct BeautyOptions { enum LIGHTENING_CONTRAST_LEVEL { LIGHTENING_CONTRAST_LOW = 0, LIGHTENING_CONTRAST_NORMAL = 1, @@ -47,7 +49,7 @@ BeautyOptions() : lighteningContrastLevel(LIGHTENING_CONTRAST_NORMAL), lighteningLevel(0), smoothnessLevel(0), rednessLevel(0), sharpnessLevel(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FBeautyOptions { GENERATED_BODY() @@ -63,7 +65,7 @@ struct FBeautyOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|BeautyOptions") float sharpnessLevel; }; - export class BeautyOptions { + export class BeautyOptions { lighteningContrastLevel?: LighteningContrastLevel; @@ -75,7 +77,7 @@ struct FBeautyOptions sharpnessLevel?: number; } - public class BeautyOptions + public class BeautyOptions { public BeautyOptions() { @@ -114,7 +116,7 @@ struct FBeautyOptions public float rednessLevel { set; get; } public float sharpnessLevel { set; get; } } - export class BeautyOptions { + export class BeautyOptions { lighteningContrastLevel?: LighteningContrastLevel; @@ -126,7 +128,7 @@ struct FBeautyOptions sharpnessLevel?: number; } -class BeautyOptions { + class BeautyOptions { const BeautyOptions( {this.lighteningContrastLevel, this.lighteningLevel, @@ -151,43 +153,68 @@ struct FBeautyOptions

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <title> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - lighteningContrastLevel - -

    The contrast level, used with the lighteningLevel parameter. The larger the value, the greater the contrast between light and dark. See .

      -
    • (0): Low contrast level.
    • -
    • (1): Normal contrast level.
    • -
    • (2): High contrast level.
    • -

    -
    -
    - - lighteningLevel - -

    The brightening level, in the range [0.0,1.0], where 0.0 means the original brightening. The default value is 0.70.60.0. The higher the value, the greater the degree of brightening.

    -
    -
    - - smoothnessLevel - -

    The smoothness level, in the range [0.0,1.0], where 0.0 means the original smoothness. The default value is 0.50.50.0. The greater the value, the greater the smoothness level.

    -
    -
    - - rednessLevel - -

    The redness level, in the range [0.0,1.0], where 0.0 means the original redness. The default value is 0.10.10.0. The larger the value, the greater the redness level.

    -
    -
    - - sharpnessLevel - -

    The sharpness level, in the range [0.0,1.0], where 0.0 means the original sharpness. The default value is 0.10.30.0. The larger the value, the greater the sharpness level.

    -
    -
    -
    + + lighteningContrastLevel + +

    The contrast level, used with the lighteningLevel + parameter. The larger the value, the greater the contrast between light + and dark. See .

      +
    • (0): Low contrast + level.
    • +
    • (1): Normal contrast + level.
    • +
    • (2): High contrast + level.
    • +

    +
    +
    + + lighteningLevel + +

    The brightening level, in the range [0.0,1.0], where 0.0 means the + original brightening. The default value is 0.70.60.0. The + higher the value, the greater the degree of brightening.

    +
    +
    + + smoothnessLevel + +

    The smoothness level, in the range [0.0,1.0], where 0.0 means the + original smoothness. The default value is 0.50.50.0. The + greater the value, the greater the smoothness level.

    +
    +
    + + rednessLevel + +

    The redness level, in the range [0.0,1.0], where 0.0 means the original + redness. The default value is 0.10.10.0. The + larger the value, the greater the redness level.

    +
    +
    + + sharpnessLevel + +

    The sharpness level, in the range [0.0,1.0], where 0.0 means the original + sharpness. The default value is 0.10.30.0. The + larger the value, the greater the sharpness level.

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_cachestatistics.dita b/en-US/dita/RTC-NG/API/class_cachestatistics.dita index 456f1aae574..362187f0373 100644 --- a/en-US/dita/RTC-NG/API/class_cachestatistics.dita +++ b/en-US/dita/RTC-NG/API/class_cachestatistics.dita @@ -1,12 +1,13 @@ - <ph keyref="CacheStatistics" /> - Statistics about the media files being cached. + <ph keyref="CacheStatistics"/> + Statistics about the media files being + cached.

    - public class CacheStatistics { + public class CacheStatistics { @CalledByNative public CacheStatistics() { fileSize = 0; @@ -17,17 +18,17 @@ private long cacheSize; private long downloadSize; } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerCacheStatistics : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerCacheStatistics : NSObject @property(assign, nonatomic) NSInteger fileSize; @property(assign, nonatomic) NSInteger cacheSize; @property(assign, nonatomic) NSInteger downloadSize; @end - struct CacheStatistics { + struct CacheStatistics { int64_t fileSize; int64_t cacheSize; int64_t downloadSize; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FCacheStatistics { GENERATED_BODY() UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CacheStatistics") @@ -37,7 +38,7 @@ struct FCacheStatistics { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CacheStatistics") int64 downloadSize; }; - export class CacheStatistics { + export class CacheStatistics { fileSize?: number; @@ -45,13 +46,13 @@ struct FCacheStatistics { downloadSize?: number; } - public class CacheStatistics + public class CacheStatistics { public Int64 fileSize { set; get; } public Int64 cacheSize { set; get; } public Int64 downloadSize { set; get; } }; - export class CacheStatistics { + export class CacheStatistics { fileSize?: number; @@ -59,7 +60,7 @@ struct FCacheStatistics { downloadSize?: number; } - class CacheStatistics { + class CacheStatistics { const CacheStatistics({this.fileSize, this.cacheSize, this.downloadSize}); @JsonKey(name: 'fileSize') @@ -76,22 +77,24 @@ struct FCacheStatistics { 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 - The size (bytes) of the media file being played. - - - cacheSize - The size (bytes) of the media file that you want to cache. - - - downloadSize - The size (bytes) of the media file that has been downloaded. - -
    + + fileSize + The size (bytes) of the media file being played. + + + cacheSize + The size (bytes) of the media file that you want to cache. + + + downloadSize + The size (bytes) of the media file that has been downloaded. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_cameracapturerconfiguration.dita b/en-US/dita/RTC-NG/API/class_cameracapturerconfiguration.dita index 5f511cc60a9..1785837c3ec 100644 --- a/en-US/dita/RTC-NG/API/class_cameracapturerconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_cameracapturerconfiguration.dita @@ -1,12 +1,14 @@ - <ph keyref="CameraCapturerConfiguration"/> + + <ph keyref="CameraCapturerConfiguration"/> + The camera capturer preference.

    - public class CameraCapturerConfiguration { + public class CameraCapturerConfiguration { public enum CAMERA_DIRECTION { CAMERA_REAR(0), CAMERA_FRONT(1), @@ -153,7 +155,7 @@ + ", cameraFocalLengthType=" + cameraFocalLengthType + '}'; } } - __attribute__((visibility("default"))) @interface AgoraCameraCapturerConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraCameraCapturerConfiguration: NSObject #if TARGET_OS_IOS @property (assign, nonatomic) AgoraCameraDirection cameraDirection; @property(assign, nonatomic) AgoraFocalLength cameraFocalLengthType; @@ -168,7 +170,7 @@ @property(assign, nonatomic) BOOL followEncodeDimensionRatio; @end - struct CameraCapturerConfiguration { + struct CameraCapturerConfiguration { #if defined(__ANDROID__) || (defined(__APPLE__) && TARGET_OS_IOS) Optional<CAMERA_DIRECTION> cameraDirection; @@ -184,7 +186,7 @@ VideoFormat format; CameraCapturerConfiguration() : format(VideoFormat(0, 0, 0)) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FCameraCapturerConfiguration { GENERATED_BODY() @@ -197,7 +199,7 @@ struct FCameraCapturerConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CameraCapturerConfiguration") bool followEncodeDimensionRatio = true; }; - export class CameraCapturerConfiguration { + export class CameraCapturerConfiguration { deviceId?: string; @@ -206,7 +208,7 @@ struct FCameraCapturerConfiguration followEncodeDimensionRatio?: boolean; } - public class CameraCapturerConfiguration : IOptionalJsonParse + 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>(); @@ -230,7 +232,7 @@ struct FCameraCapturerConfiguration this.format = format; } } - export class CameraCapturerConfiguration { + export class CameraCapturerConfiguration { cameraDirection?: CameraDirection; @@ -245,7 +247,7 @@ struct FCameraCapturerConfiguration followEncodeDimensionRatio?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class CameraCapturerConfiguration { const CameraCapturerConfiguration( {this.cameraDirection, @@ -277,61 +279,102 @@ class CameraCapturerConfiguration { _$CameraCapturerConfigurationFromJson(json); Map<String, dynamic> toJson() => _$CameraCapturerConfigurationToJson(this); -} -

    +}
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <title> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - cameraDirection - (Optional) The camera direction. See .This parameter is for Android and iOS only. - - - cameraId - (Optional) The camera ID. The default value is the camera ID of the front camera. You can get the camera ID through the Android native system API, see and for details.
      -
    • This parameter is for Android only.
    • -
    • This parameter and cameraDirection are mutually exclusive in specifying the camera; you can choose one based on your needs. The differences are as follows:
        -
      • Specifying the camera via cameraDirection is more straightforward. You only need to indicate the camera direction (front or rear), without specifying a specific camera ID; the SDK will retrieve and confirm the actual camera ID through Android native system APIs.
      • -
      • Specifying via cameraId allows for more precise identification of a particular camera. For devices with multiple cameras, where cameraDirection cannot recognize or access all available cameras, it is recommended to use cameraId to specify the desired camera ID directly.
      • -
    -
    -
    - - cameraFocalLengthType - (Optional) The camera focal length type. See .
      -
    • This parameter is for Android and iOS only.
    • -
    • To set the focal length type of the camera, it is only supported to specify the camera through cameraDirection, and not supported to specify it through cameraId.
    • -
    • For iOS devices equipped with multi-lens rear cameras, such as those featuring dual-camera (wide-angle and ultra-wide-angle) or triple-camera (wide-angle, ultra-wide-angle, and telephoto), you can use one of the following methods to capture video with an ultra-wide-angle perspective:
        -
      • Method one: Set this parameter to (2) (ultra-wide lens).
      • -
      • Method two: Set this parameter to (0) (standard lens), then call to set the camera's zoom factor to a value less than 1.0, with the minimum setting being 0.5.
      The difference is that the size of the ultra-wide angle in method one is not adjustable, whereas method two supports adjusting the camera's zoom factor freely.
    • -
    -
    -
    - - format - captureFormat - (Optional) The format of the video frame. See . - - - dimension - (Optional) The dimension (px) of the video frame. The default value is 960 × 540. - - - frameRate - (Optional) The frame rate (fps) of the video frame. The default value is 15. - - - deviceId - The camera ID. The maximum length is .This parameter is for Windows and macOS only. - - - followEncodeDimensionRatio - (Optional) Whether to follow the video aspect ratio set in :
      -
    • : (Default) Follow the set video aspect ratio. The SDK crops the captured video according to the set video aspect ratio and synchronously changes the local preview screen and the video frame in and .
    • -
    • : Do not follow the system default audio playback device. The SDK does not change the aspect ratio of the captured video frame.
    • -
    -
    -
    + + cameraDirection + (Optional) The camera direction. See .This parameter is for Android and + iOS only. + + + cameraId + (Optional) The camera ID. The default value is the camera ID of the front camera. You + can get the camera ID through the Android native system API, see and for details.
      +
    • This parameter is for Android only.
    • +
    • This parameter and cameraDirection are mutually exclusive + in specifying the camera; you can choose one based on your needs. The differences + are as follows:
        +
      • Specifying the camera via cameraDirection is more + straightforward. You only need to indicate the camera direction (front or + rear), without specifying a specific camera ID; the SDK will retrieve and + confirm the actual camera ID through Android native system APIs.
      • +
      • Specifying via cameraId allows for more precise + identification of a particular camera. For devices with multiple cameras, + where cameraDirection cannot recognize or access all + available cameras, it is recommended to use cameraId to + specify the desired camera ID directly.
      • +
    • +
    +
    +
    + + cameraFocalLengthType + (Optional) The camera focal length type. See .
      +
    • This parameter is for Android and iOS + only.
    • +
    • To set the focal length type of + the camera, it is only supported to specify the camera through + cameraDirection, and not supported to specify it through + cameraId.
    • +
    • For iOS devices equipped with + multi-lens rear cameras, such as those featuring dual-camera (wide-angle and + ultra-wide-angle) or triple-camera (wide-angle, ultra-wide-angle, and telephoto), + you can use one of the following methods to capture video with an ultra-wide-angle perspective:
        +
      • Method one: Set this parameter to (2) (ultra-wide lens).
      • +
      • Method two: Set this parameter to (0) (standard lens), then call to set the camera's zoom factor to a value + less than 1.0, with the minimum setting being 0.5.
      • +
      The difference is that the size of the ultra-wide angle in method one is not + adjustable, whereas method two supports adjusting the camera's zoom factor + freely.
    • +
    +
    +
    + + format + captureFormat + (Optional) The format of the video frame. See . + + + dimension + (Optional) The dimension (px) of the video frame. The default value is 960 × 540. + + + frameRate + (Optional) The frame rate (fps) of the video frame. The default value is 15. + + + deviceId + The camera ID. The maximum length is .This parameter is for Windows and macOS + only. + + + followEncodeDimensionRatio + (Optional) Whether to follow the video aspect ratio set in :
      +
    • : (Default) Follow the set video aspect ratio. + The SDK crops the captured video according to the set video aspect ratio and + synchronously changes the local preview screen and the video frame in and .
    • +
    • : Do not follow the system default audio + playback device. The SDK does not change the aspect ratio of the captured video + frame.
    • +
    +
    + + diff --git a/en-US/dita/RTC-NG/API/class_channel.dita b/en-US/dita/RTC-NG/API/class_channel.dita index fb292226bf6..e739be2ce99 100644 --- a/en-US/dita/RTC-NG/API/class_channel.dita +++ b/en-US/dita/RTC-NG/API/class_channel.dita @@ -1,25 +1,25 @@ - <ph keyref="Channel" /> + <ph keyref="Channel"/> The channel information.

    - - - - - - - -

    + + + + + + + +

    The channel information. You can set it as one of the following values:

      -
    • "".
    • -
    • A string.
    • -

    +
  • "".
  • +
  • A string.
  • +

    -
    -
    \ No newline at end of file + + diff --git a/en-US/dita/RTC-NG/API/class_channelmediainfo.dita b/en-US/dita/RTC-NG/API/class_channelmediainfo.dita index ffc03bde05e..5ed9e45fbfe 100644 --- a/en-US/dita/RTC-NG/API/class_channelmediainfo.dita +++ b/en-US/dita/RTC-NG/API/class_channelmediainfo.dita @@ -1,29 +1,31 @@ - <ph keyref="ChannelMediaInfo"/> + + <ph keyref="ChannelMediaInfo"/> + Channel media information.

    - public class ChannelMediaInfo { + public class ChannelMediaInfo { public String channelName = null; public String token = null; public int uid = 0; } - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayInfo: NSObject + __attribute__((visibility("default"))) @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 { + struct ChannelMediaInfo { const char* channelName; const char* token; uid_t uid; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FChannelMediaInfo { GENERATED_BODY() @@ -35,7 +37,7 @@ struct FChannelMediaInfo { int64 uid; }; - export class ChannelMediaInfo { + export class ChannelMediaInfo { channelName?: string; @@ -43,7 +45,7 @@ struct FChannelMediaInfo { uid?: number; } - public class ChannelMediaInfo + public class ChannelMediaInfo { public ChannelMediaInfo() { @@ -59,7 +61,7 @@ struct FChannelMediaInfo { public string token { set; get; } public uint uid { set; get; } } - export class ChannelMediaInfo { + export class ChannelMediaInfo { channelName?: string; @@ -67,7 +69,7 @@ struct FChannelMediaInfo { uid?: number; } - class ChannelMediaInfo { + class ChannelMediaInfo { const ChannelMediaInfo({this.channelName, this.token, this.uid}); @JsonKey(name: 'channelName') @@ -79,24 +81,27 @@ struct FChannelMediaInfo { factory ChannelMediaInfo.fromJson(Map<String, dynamic> json) => _$ChannelMediaInfoFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaInfoToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - channelName - The channel name. - - - token - The token that enables the user to join the channel. - - - uid - The user ID. - -
    + + channelName + The channel name. + + + token + The token that enables the user to join the channel. + + + uid + The user ID. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita b/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita index ad115a1a648..4e8bef0f623 100644 --- a/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita +++ b/en-US/dita/RTC-NG/API/class_channelmediaoptions.dita @@ -1,12 +1,14 @@ - <ph keyref="ChannelMediaOptions"/> + + <ph keyref="ChannelMediaOptions"/> + The channel media options.

    - public class ChannelMediaOptions { + public class ChannelMediaOptions { public Boolean publishCameraTrack; public Boolean publishSecondaryCameraTrack; public Boolean publishThirdCameraTrack; @@ -37,7 +39,7 @@ public Integer customVideoTrackId; public Boolean isAudioFilterable; } - __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcChannelMediaOptions : NSObject @property(assign, nonatomic) BOOL publishCameraTrack; @property(assign, nonatomic) BOOL publishSecondaryCameraTrack; @property(assign, nonatomic) BOOL publishMicrophoneTrack; @@ -79,7 +81,7 @@ @property(assign, nonatomic) BOOL isAudioFilterable; @end - struct ChannelMediaOptions { + struct ChannelMediaOptions { Optional<bool> publishCameraTrack; Optional<bool> publishSecondaryCameraTrack; Optional<bool> publishThirdCameraTrack; @@ -122,7 +124,7 @@ ChannelMediaOptions() {} ~ChannelMediaOptions() {} - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FChannelMediaOptions { GENERATED_BODY() @@ -208,7 +210,7 @@ struct FChannelMediaOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaOptions") AGORAOPTIONAL isAudioFilterable; }; - struct ChannelMediaOptions { + struct ChannelMediaOptions { Optional<bool> publishCameraTrack; Optional<bool> publishSecondaryCameraTrack; Optional<bool> publishMicrophoneTrack; @@ -247,7 +249,7 @@ struct FChannelMediaOptions ChannelMediaOptions() {} ~ChannelMediaOptions() {} - export class ChannelMediaOptions { + export class ChannelMediaOptions { publishCameraTrack?: boolean; @@ -309,7 +311,7 @@ struct FChannelMediaOptions isAudioFilterable?: boolean; } - public class ChannelMediaOptions : OptionalJsonParse + public class ChannelMediaOptions : OptionalJsonParse { public Optional<bool> publishCameraTrack = new Optional<bool>(); public Optional<bool> publishSecondaryCameraTrack = new Optional<bool>(); @@ -344,7 +346,7 @@ struct FChannelMediaOptions public Optional<bool> isAudioFilterable = new Optional<bool>(); } - export class ChannelMediaOptions { + export class ChannelMediaOptions { publishCameraTrack?: boolean; @@ -410,7 +412,7 @@ struct FChannelMediaOptions isAudioFilterable?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class ChannelMediaOptions { const ChannelMediaOptions( {this.publishCameraTrack, @@ -555,282 +557,409 @@ class ChannelMediaOptions { Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); } -

    +

    -
    Agora supports publishing multiple audio streams and one video stream at the same time and in the same . For example, publishMicrophoneTrack, publishCustomAudioTrack, and publishMediaPlayerAudioTrack can be set as at the same time, but only one of publishCameraTrack, publishScreenCaptureVideopublishScreenTrack, publishCustomVideoTrack, or publishEncodedVideoTrack can be set as .Agora recommends that you set member parameter values yourself according to your business scenario, otherwise the SDK will automatically assign values to member parameters. +
    Agora supports publishing multiple audio streams and one video + stream at the same time and in the same . For example, + publishMicrophoneTrack, + publishCustomAudioTrack, and + publishMediaPlayerAudioTrack can be set as at the same time, but only one of + publishCameraTrack, publishScreenCaptureVideopublishScreenTrack, + publishCustomVideoTrack, or + publishEncodedVideoTrack can be set as .Agora recommends that + you set member parameter values yourself according to your business scenario, + otherwise the SDK will automatically assign values to member parameters.
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - publishCameraTrack - Whether to publish the video captured by the camera:
      -
    • : Publish the video captured by the camera.
    • -
    • : Do not publish the video captured by the camera.
    • -
    -
    - - publishSecondaryCameraTrack - Whether to publish the video captured by the second camera:
      -
    • : Publish the video captured by the second camera.
    • -
    • : Do not publish the video captured by the second camera.
    • -
    -
    - - publishMicrophoneTrack - Whether to publish the audio captured by the microphone:
      -
    • : Publish the audio captured by the microphone.
    • -
    • : Do not publish the audio captured by the microphone.
    • -
    - - -
    • As of v4.0.0, the parameter name is changed from publishAudioTrack to publishMicrophoneTrack.
    • -
    • As of v6.0.0, the parameter name is changed from publishAudioTrack to publishMicrophoneTrack.
    • -
    • If you set this parameter as , SDK turns off microphone capturing.
    • -
    • If you want to publish the audio streams captured by your microphone, ensure enableAudioRecordingOrPlayout is set as .
    • -
    -
    -
    - - publishThirdCameraTrack - Whether to publish the video captured by the third camera:
      -
    • : Publish the video captured by the third camera.
    • -
    • : Do not publish the video captured by the third camera.
    • -
    - This parameter is for Android, Windows and macOS only.This parameter is for Android only.
    -
    - - publishFourthCameraTrack - Whether to publish the video captured by the fourth camera:
      -
    • : Publish the video captured by the fourth camera.
    • -
    • : Do not publish the video captured by the fourth camera.
    • -
    - This parameter is for Android, Windows and macOS only.This parameter is for Android only.
    -
    - - publishScreenTrack - -

    Whether to publish the video captured from the screen:

      -
    • : Publish the video captured from the screen.
    • -
    • : Do not publish the video captured from the screen.
    • -

    - This is for Windows and macOS only. -
    -
    - - publishScreenCaptureVideo - -

    Whether to publish the video captured from the screen:

      -
    • : Publish the video captured from the screen.
    • -
    • : Do not publish the video captured from the screen.
    • -

    - This parameter is for Android and iOS only. - As of v4.0.0, the parameter name is changed from publishScreenTrack to publishScreenCaptureVideo.
    -
    - - publishScreenCaptureAudio - -

    Whether to publish the audio captured from the screen:

      -
    • : Publish the audio captured from the screen.
    • -
    • : Publish the audio captured from the screen.
    • -

    - This parameter is for Android and iOS only. -
    -
    - - publishSecondaryScreenTrack - Whether to publish the video captured from the second screen:
      -
    • : Publish the video captured from the second screen.
    • -
    • : Do not publish the video captured from the second screen.
    • -
    -
    -
    - - publishThirdScreenTrack - Whether to publish the video captured from the third screen:
      -
    • : Publish the captured video from the third screen.
    • -
    • : Do not publish the video captured from the third screen.
    • -
    -

    - This is for Windows and macOS only.

    -
    -
    - - publishFourthScreenTrack - Whether to publish the video captured from the fourth screen:
      -
    • : Publish the captured video from the fourth screen.
    • -
    • : Do not publish the video captured from the fourth screen.
    • -
    -

    - This is for Windows and macOS only.

    -
    -
    - - publishTranscodedVideoTrack - Whether to publish the local transcoded video:
      -
    • : Publish the local transcoded video.
    • -
    • : Do not publish the local transcoded video.
    • -
    - As of v4.2.0, the parameter name is corrected from publishTrancodedVideoTrack to publishTranscodedVideoTrack. -
    -
    - - publishMixedAudioTrack - Whether to publish the mixed audio track:
      -
    • : Publish the mixed audio track.
    • -
    • : Do not publish the mixed audio track.
    • -
    -
    -
    - publishCustomAudioTrack - Whether to publish the audio captured from a custom source:
      -
    • : Publish the audio captured from the custom source.
    • -
    • : Do not publish the captured audio from a custom source.
    • -
    -
    - - publishCustomAudioTrackId - The ID of the custom audio source to publish. The default value is 0.

    If you have set sourceNumber in to a value greater than 1, the SDK creates the corresponding number of custom audio tracks and assigns an ID to each audio track, starting from 0.

    -
    -
    - - publishCustomVideoTrack - Whether to publish the video captured from a custom source:
      -
    • : Publish the video captured from the custom source.
    • -
    • : Do not publish the captured video from a custom source.
    • + publishCameraTrack + Whether to publish the video captured by the camera:
        +
      • : Publish the video captured by + the camera.
      • +
      • : Do not publish the video + captured by the camera.
      • +
      + + + publishSecondaryCameraTrack + Whether to publish the video captured by the second camera:
        +
      • : Publish the video captured by + the second camera.
      • +
      • : Do not publish the video + captured by the second camera.
      • +
      +
      + + publishMicrophoneTrack + Whether to publish the audio captured by the microphone:
        +
      • : Publish the audio captured by + the microphone.
      • +
      • : Do not publish the audio + captured by the microphone.
      • +
      + + +
        +
      • As of v4.0.0, the parameter + name is changed from publishAudioTrack to + publishMicrophoneTrack.
      • +
      • As of v6.0.0, the parameter name is changed from + publishAudioTrack to + publishMicrophoneTrack.
      • +
      • If you set this parameter as , SDK turns off microphone capturing.
      • +
      • If you want to publish the audio streams captured by your + microphone, ensure + enableAudioRecordingOrPlayout is set as + .
      • +
      +
      +
      + + publishThirdCameraTrack + Whether to publish the video captured by the third camera:
        +
      • : Publish the video captured by + the third camera.
      • +
      • : Do not publish the video + captured by the third camera.
      • +
      + This parameter is + for Android, Windows and macOS only.This parameter is for Android only.
      +
      + + publishFourthCameraTrack + Whether to publish the video captured by the fourth camera:
        +
      • : Publish the video captured by + the fourth camera.
      • +
      • : Do not publish the video + captured by the fourth camera.
      • +
      + This parameter is + for Android, Windows and macOS only.This parameter is for Android only.
      +
      + + publishScreenTrack + +

      Whether to publish the video captured from the screen:

        +
      • : Publish the video captured + from the screen.
      • +
      • : Do not publish the video + captured from the screen.
      • +

      + This is for + Windows and macOS only. +
      +
      + + publishScreenCaptureVideo + +

      Whether to publish the video captured from the screen:

        +
      • : Publish the video captured + from the screen.
      • +
      • : Do not publish the video + captured from the screen.
      • +

      + This parameter is + for Android and iOS only. + As of v4.0.0, the parameter name is + changed from publishScreenTrack to + publishScreenCaptureVideo. +
      +
      + + publishScreenCaptureAudio + +

      Whether to publish the audio captured from the screen:

        +
      • : Publish the audio captured + from the screen.
      • +
      • : Publish the audio + captured from the screen.
      • +

      + This parameter is + for Android and iOS only. +
      +
      + + publishSecondaryScreenTrack + Whether to publish the video captured from the second screen:
        +
      • : Publish the video captured + from the second screen.
      • +
      • : Do not publish the video + captured from the second screen.
      • +
      +
      +
      + + publishThirdScreenTrack + Whether to publish the video captured from the third screen:
        +
      • : Publish the captured video + from the third screen.
      • +
      • : Do not publish the video + captured from the third screen.
      • +
      +

      + This is + for Windows and macOS only.

      +
      +
      + + publishFourthScreenTrack + Whether to publish the video captured from the fourth screen:
        +
      • : Publish the captured video + from the fourth screen.
      • +
      • : Do not publish the video + captured from the fourth screen.
      • +
      +

      + This is + for Windows and macOS only.

      +
      +
      + + publishTranscodedVideoTrack + Whether to publish the local transcoded video:
        +
      • : Publish the local transcoded + video.
      • +
      • : Do not publish the local + transcoded video.
      • +
      + As of v4.2.0, the parameter name is + corrected from publishTrancodedVideoTrack to + publishTranscodedVideoTrack. +
      +
      + + publishMixedAudioTrack + Whether to publish the mixed audio track:
        +
      • : Publish the mixed audio + track.
      • +
      • : Do not publish the mixed + audio track.
      • +
      +
      +
      + + publishCustomAudioTrack + Whether to publish the audio captured from a custom source:
        +
      • : Publish the audio captured + from the custom source.
      • +
      • : Do not publish the captured + audio from a custom source.
      • +
      +
      + + publishCustomAudioTrackId + The ID of the custom audio source to publish. The default value is 0.

      If + you have set sourceNumber in to a value greater than 1, the + SDK creates the corresponding number of custom audio tracks and assigns + an ID to each audio track, starting from 0.

      +
      +
      + + publishCustomVideoTrack + Whether to publish the video captured from a custom source:
        +
      • : Publish the video captured + from the custom source.
      • +
      • : Do not publish the captured + video from a custom source.
      -
      -
      - - publishEncodedVideoTrack - Whether to publish the encoded video:
        -
      • : Publish the encoded video.
      • -
      • : Do not publish the encoded video.
      • -
      -
      - - publishMediaPlayerAudioTrack - Whether to publish the audio from the media player:
        -
      • : Publish the audio from the media player.
      • -
      • : Do not publish the audio from the media player.
      • -
      -
      - - publishMediaPlayerVideoTrack - Whether to publish the video from the media player:
        -
      • : Publish the video from the media player.
      • -
      • : Do not publish the video from the media player.
      • -
      -
      - - autoSubscribeAudio - Whether to automatically subscribe to all remote audio streams when the user joins a channel:
        -
      • : Subscribe to all remote audio streams.
      • -
      • : Do not automatically subscribe to any remote audio streams.
      • -
      -
      - - autoSubscribeVideo - Whether to automatically subscribe to all remote video streams when the user joins the channel:
        -
      • : Subscribe to all remote video streams.
      • -
      • : Do not automatically subscribe to any remote video streams.
      • -
      -
      - - enableAudioRecordingOrPlayout - Whether to enable audio capturing or playback:
        -
      • : Enable audio capturing or playback.
      • -
      • : Do not enable audio capturing or playback.
      • -
      - If you need to publish the audio streams captured by your microphone, ensure this parameter is set as .
      -
      - - publishMediaPlayerId - The ID of the media player to be published. The default value is 0. - - - clientRoleType - - - - clientRoleType - The user role. See . - - - - - - - defaultVideoStreamType - - - - channelProfile - - - - audioDelayMs - -

      Delay (in milliseconds) for sending audio frames. You can use this parameter to set the delay of the audio frames that need to be sent, to ensure audio and video synchronization.

      -

      To switch off the delay, set the value to 0.

      -
      -
      - - publishCustomAudioTrackAec - Whether to publish audio frames processed by an external echo cancellation module.
        -
      • : Publish audio frames processed by the external echo cancellation module.
      • -
      • : Do not publish to publish audio frames processed by the external echo cancellation module.
      • -
      -
      - - token - -

      (Optional) The token generated on your server for authentication. See .

      - -
        -
      • This parameter takes effect only when calling or .
      • -
      • Ensure that the App ID, channel name, and user name used for creating the token are the same as those used by the method for initializing the RTC engine, and those used by the and methods for joining the channel.
      • -
      -
      - - startPreview - Whether to automatically start the preview when joining a channel:
        -
      • : Do not automatically start the preview. Ensure that you have called the method to set the local video property; otherwise, the preview is not enabled.
      • -
      • : Do not automatically start the preview.
      • -
      -
      - - publishRhythmPlayerTrack - Whether to publish the sound of a metronome to remote users:
        -
      • : Publish processed audio frames. Both the local user and remote users can hear the metronome.
      • -
      • : Do not publish the sound of the metronome. Only the local user can hear the metronome.
      • -
      -
      - - isInteractiveAudience - Whether to enable interactive mode:
        -
      • : Enable interactive mode. Once this mode is enabled and the user role is set as audience, the user can receive remote video streams with low latency.
      • -
      • :Do not enable interactive mode. If this mode is disabled, the user receives the remote video streams in default settings.
      • -
      - -
        -
      • This parameter only applies to co-streaming scenarios. The cohosts need to call the method to join the other host's channel as an audience member, and set isInteractiveAudience to .
      • -
      • This parameter takes effect only when the user role is .
      • -
      -
      - - customVideoTrackId - The video track ID returned by calling the method. The default value is 0. - - - isAudioFilterable - Whether the audio stream being published is filtered according to the volume algorithm:
        -
      • : The audio stream is filtered. If the audio stream filter is not enabled, this setting does not takes effect.
      • -
      • : The audio stream is not filtered.
      • -
      - If you need to enable this function, contact .
      -
      -
    + + + + publishEncodedVideoTrack + Whether to publish the encoded video:
      +
    • : Publish the encoded + video.
    • +
    • : Do not publish the encoded + video.
    • +
    +
    + + publishMediaPlayerAudioTrack + Whether to publish the audio from the media player:
      +
    • : Publish the audio from the + media player.
    • +
    • : Do not publish the audio from + the media player.
    • +
    +
    + + publishMediaPlayerVideoTrack + Whether to publish the video from the media player:
      +
    • : Publish the video from the + media player.
    • +
    • : Do not publish the video from + the media player.
    • +
    +
    + + autoSubscribeAudio + Whether to automatically subscribe to all remote audio streams when the user + joins a channel:
      +
    • : Subscribe to all remote audio + streams.
    • +
    • : Do not automatically + subscribe to any remote audio streams.
    • +
    +
    + + autoSubscribeVideo + Whether to automatically subscribe to all remote video streams when the user + joins the channel:
      +
    • : Subscribe to all remote video + streams.
    • +
    • : Do not automatically + subscribe to any remote video streams.
    • +
    +
    +
    + + enableAudioRecordingOrPlayout + Whether to enable audio capturing or playback:
      +
    • : Enable audio capturing or + playback.
    • +
    • + : Do not enable audio capturing or playback.
    • +
    + If you need to publish the audio streams captured by your + microphone, ensure this parameter is set as .
    +
    + + publishMediaPlayerId + The ID of the media player to be published. The default value is 0. + + + clientRoleType + + + + clientRoleType + The user role. See . + + + + + + + defaultVideoStreamType + + + + channelProfile + + + + audioDelayMs + +

    Delay (in milliseconds) for sending audio frames. You can use this + parameter to set the delay of the audio frames that need to be sent, to + ensure audio and video synchronization.

    +

    To switch off the delay, set the value to 0.

    +
    +
    + + publishCustomAudioTrackAec + Whether to publish audio frames processed by an external echo cancellation module.
      +
    • : Publish audio frames processed + by the external echo cancellation module.
    • +
    • : Do not publish to publish + audio frames processed by the external echo cancellation + module.
    • +
    +
    +
    + + token + +

    (Optional) The token generated on your server for authentication. See + .

    + +
      +
    • This parameter takes effect only when calling or .
    • +
    • Ensure that the App ID, channel name, and user name used for + creating the token are the same as those used by the method for initializing the RTC + engine, and those used by the and + methods for joining the + channel.
    • +
    +
    + + startPreview + Whether to automatically start the preview when joining a channel:
      +
    • : Do not automatically start the + preview. Ensure that you have called the method to set the local video + property; otherwise, the preview is not enabled.
    • +
    • : Do not automatically start + the preview.
    • +
    +
    + + publishRhythmPlayerTrack + Whether to publish the sound of a metronome to remote users:
      +
    • : Publish processed audio + frames. Both the local user and remote users can hear the + metronome.
    • +
    • : Do not publish the sound of + the metronome. Only the local user can hear the metronome.
    • +
    +
    + + isInteractiveAudience + Whether to enable interactive mode:
      +
    • : Enable interactive mode. Once + this mode is enabled and the user role is set as audience, the user + can receive remote video streams with low latency.
    • +
    • :Do not enable interactive + mode. If this mode is disabled, the user receives the remote video + streams in default settings.
    • +
    + +
      +
    • This parameter only applies to co-streaming scenarios. The + cohosts need to call the method + to join the other host's channel as an audience member, and set + isInteractiveAudience to .
    • +
    • This parameter takes effect only when the user role is .
    • +
    +
    +
    +
    + + customVideoTrackId + The video track ID returned by calling the method. The default value is 0. + + + isAudioFilterable + Whether the audio stream being published is filtered according to the volume algorithm:
      +
    • : The audio stream is filtered. + If the audio stream filter is not enabled, this setting does not + takes effect.
    • +
    • : The audio stream is not + filtered.
    • +
    + If you need to enable this function, contact .
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita b/en-US/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita index cc639c145f1..956c46be26b 100644 --- a/en-US/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_channelmediarelayconfiguration.dita @@ -1,12 +1,14 @@ - <ph keyref="ChannelMediaRelayConfiguration"/> - Configuration of cross channel media relay. - -
    -

    - public class ChannelMediaRelayConfiguration { + + <ph keyref="ChannelMediaRelayConfiguration"/> + + Configuration of cross channel media relay. + +

    +

    + public class ChannelMediaRelayConfiguration { private ChannelMediaInfo srcInfo = null; private Map<String, ChannelMediaInfo> destInfos = null; @@ -36,7 +38,7 @@ } } - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos; @property (strong, nonatomic) AgoraChannelMediaRelayInfo *_Nonnull sourceInfo; @@ -44,7 +46,7 @@ - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName; - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName; @end - struct ChannelMediaRelayConfiguration { + struct ChannelMediaRelayConfiguration { ChannelMediaInfo *srcInfo; ChannelMediaInfo *destInfos; int destCount; @@ -55,7 +57,7 @@ , destCount(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FChannelMediaRelayConfiguration { GENERATED_BODY() @@ -68,7 +70,7 @@ struct FChannelMediaRelayConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ChannelMediaRelayConfiguration") int destCount; }; - export class ChannelMediaRelayConfiguration { + export class ChannelMediaRelayConfiguration { srcInfo?: ChannelMediaInfo; @@ -76,7 +78,7 @@ struct FChannelMediaRelayConfiguration destCount?: number; } - public class ChannelMediaRelayConfiguration + public class ChannelMediaRelayConfiguration { public ChannelMediaRelayConfiguration() { @@ -95,7 +97,7 @@ struct FChannelMediaRelayConfiguration public ChannelMediaInfo[] destInfos { set; get; } public int destCount { set; get; } } - export class ChannelMediaRelayConfiguration { + export class ChannelMediaRelayConfiguration { srcInfo?: ChannelMediaInfo; @@ -103,7 +105,7 @@ struct FChannelMediaRelayConfiguration destCount?: number; } - class ChannelMediaRelayConfiguration { + class ChannelMediaRelayConfiguration { const ChannelMediaRelayConfiguration( {this.srcInfo, this.destInfos, this.destCount}); @@ -116,82 +118,122 @@ struct FChannelMediaRelayConfiguration factory ChannelMediaRelayConfiguration.fromJson(Map<String, dynamic> json) => _$ChannelMediaRelayConfigurationFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaRelayConfigurationToJson(this); - } -

    -
    -
    - Method - - - setSrcChannelInfo - Sets the information of the source channel. See . - - - setDestChannelInfo - Sets the information of the target channel. See . - - - removeDestChannelInfo - Deletes the information of target channel. See . - - - getSrcChannelMediaInfo - Gets the information of the source channel. See . - - - getDestChannelMediaInfos - Gets the information of the target channel. See . - - -
    -
    - Method - - - setDestinationInfo - Sets the information of the target channel. See . - - - removeDestinationInfoForChannelName - Deletes the information of target channel. See . - - -
    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - - srcInfo - sourceInfo - -

    The information of the source channel. See . It contains the following members:

      -
    • channelName: The name of the source channel. The default value is , which means the SDK applies the name of the current channel.
    • -
    • token: The token for joining the source channel. This token is generated with the channelName and uid you set in srcInfo.
        -
      • If you have not enabled the App Certificate, set this parameter as the default value , which means the SDK applies the App ID.
      • -
      • If you have enabled the App Certificate, you must use the token generated with the channelName and uid, and the uid must be set as 0.
      • -
    • -
    • uid: The unique user ID to identify the relay stream in the source channel. Agora recommends leaving the default value of 0 unchanged.
    • -

    -
    -
    - - destInfos - destinationInfos - -

    The information of the target channel . It contains the following members:

      -
    • channelName: The name of the target channel.
    • -
    • token: The token for joining the target channel. It is generated with the channelName and uid you set in destInfos.
        -
      • If you have not enabled the App Certificate, set this parameter as the default value , which means the SDK applies the App ID.
      • -
      • If you have enabled the App Certificate, you must use the token generated with the channelName and uid.
      • -

      If the token of any target channel expires, the whole media relay stops; hence Agora recommends that you specify the same expiration time for the tokens of all the target channels.

    • -
    • uid: The unique user ID to identify the relay stream in the target channel. The value ranges from 0 to (2 32-1). To avoid user ID conflicts, this user ID must be different from any other user ID in the target channel. The default value is 0, which means the SDK generates a random user ID.
    • -

    -
    -
    - - destCount - The number of target channels. The default value is 0, and the value range is from 0 to 6. Ensure that the value of this parameter corresponds to the number of structs you define in destInfo. - -
    - + } +

    +
    +
    + Method + + + setSrcChannelInfo + Sets the information of the source channel. See . + + + setDestChannelInfo + Sets the information of the target channel. See . + + + removeDestChannelInfo + Deletes the information of target channel. See . + + + getSrcChannelMediaInfo + Gets the information of the source channel. See . + + + getDestChannelMediaInfos + Gets the information of the target channel. See . + + +
    +
    + Method + + + setDestinationInfo + Sets the information of the target channel. See . + + + removeDestinationInfoForChannelName + Deletes the information of target channel. See . + + +
    +
    + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + + + + srcInfo + sourceInfo + +

    The information of the source channel. See . It + contains the following members:

      +
    • channelName: The name of the source channel. The default + value is , which means the SDK applies the + name of the current channel.
    • +
    • token: The token for joining the + source channel. This token is generated with the channelName + and uid you set in srcInfo.
        +
      • If you have not enabled the App Certificate, set this parameter as the + default value , which means the SDK + applies the App ID.
      • +
      • If you have enabled the App Certificate, you must use the + token generated with the + channelName and uid, and the + uid must be set as 0.
      • +
      +
    • +
    • uid: The unique user ID to identify the relay stream in the + source channel. Agora recommends leaving the default value of 0 unchanged.
    • +
    +

    +
    +
    + + destInfos + destinationInfos + +

    The information of the target channel . It + contains the following members:

      +
    • channelName: The name of the target channel.
    • +
    • token: The token for joining the + target channel. It is generated with the channelName and + uid you set in destInfos.
        +
      • If you have not enabled the App Certificate, set this parameter as the + default value , which means the SDK + applies the App ID.
      • +
      • If you have enabled the App Certificate, you must use the + token generated with the + channelName and uid.
      • +
      +

      If the token of any target channel expires, the whole + media relay stops; hence Agora recommends that you specify the same expiration + time for the tokens of all the target channels.

    • +
    • uid: The unique user ID to identify the relay stream in the + target channel. The value ranges from 0 to (2 32-1). To avoid user ID + conflicts, this user ID must be different from any other user ID in the target + channel. The default value is 0, which means the SDK generates a random user + ID.
    • +
    +

    +
    +
    + + destCount + The number of target channels. The default value is 0, and the value range is from 0 + to 6. Ensure that the value of this parameter corresponds to the number of structs you define in destInfo. + +
    +
    +
    diff --git a/en-US/dita/RTC-NG/API/class_clientroleoptions.dita b/en-US/dita/RTC-NG/API/class_clientroleoptions.dita index 192256e8d0b..0b5b3a2e476 100644 --- a/en-US/dita/RTC-NG/API/class_clientroleoptions.dita +++ b/en-US/dita/RTC-NG/API/class_clientroleoptions.dita @@ -1,12 +1,14 @@ - <ph keyref="ClientRoleOptions"/> + + <ph keyref="ClientRoleOptions"/> + Setting of user role properties.

    - public class ClientRoleOptions { + public class ClientRoleOptions { public int audienceLatencyLevel; @CalledByNative @@ -14,17 +16,17 @@ return audienceLatencyLevel; } } - __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject + __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject @property (assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel; @end - struct ClientRoleOptions + struct ClientRoleOptions { AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; ClientRoleOptions() : audienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY), }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FClientRoleOptions { GENERATED_BODY() @@ -32,11 +34,11 @@ struct FClientRoleOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ClientRoleOptions") EAUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel = EAUDIENCE_LATENCY_LEVEL_TYPE::AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY; }; - export class ClientRoleOptions { + export class ClientRoleOptions { audienceLatencyLevel?: AudienceLatencyLevelType; } - public class ClientRoleOptions + public class ClientRoleOptions { public ClientRoleOptions() { @@ -45,11 +47,11 @@ struct FClientRoleOptions public AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; }; - export class ClientRoleOptions { + export class ClientRoleOptions { audienceLatencyLevel?: AudienceLatencyLevelType; } - class ClientRoleOptions { + class ClientRoleOptions { const ClientRoleOptions({this.audienceLatencyLevel}); @JsonKey(name: 'audienceLatencyLevel') @@ -57,19 +59,27 @@ struct FClientRoleOptions factory ClientRoleOptions.fromJson(Map<String, dynamic> json) => _$ClientRoleOptionsFromJson(json); Map<String, dynamic> toJson() => _$ClientRoleOptionsToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - audienceLatencyLevel - The latency level of an audience member in interactive live streaming. See .
      -
    • (1): Low latency.
    • -
    • (2): (Default) Ultra low latency.
    • -
    -
    -
    + + audienceLatencyLevel + The latency level of an audience member in interactive live streaming. + See + .
      +
    • (1): Low + latency.
    • +
    • (2): + (Default) Ultra low latency.
    • +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_climaxsegment.dita b/en-US/dita/RTC-NG/API/class_climaxsegment.dita index 3f12248bd5b..8b7853f02fa 100644 --- a/en-US/dita/RTC-NG/API/class_climaxsegment.dita +++ b/en-US/dita/RTC-NG/API/class_climaxsegment.dita @@ -6,7 +6,7 @@

    - public class ClimaxSegment { + public class ClimaxSegment { public int startTimeMs; public int endTimeMs; @@ -26,29 +26,29 @@ return endTimeMs; } } - __attribute__((visibility("default"))) @interface AgoraClimaxSegment : NSObject + __attribute__((visibility("default"))) @interface AgoraClimaxSegment : NSObject @property(nonatomic, assign) NSInteger startTimeMs; @property(nonatomic, assign) NSInteger endTimeMs; @end - struct ClimaxSegment + struct ClimaxSegment { int32_t startTimeMs; int32_t endTimeMs; }; - export class ClimaxSegment { + export class ClimaxSegment { startTimeMs?: number; endTimeMs?: number; } - public class ClimaxSegment + public class ClimaxSegment { public int startTimeMs; public int endTimeMs; }; - export class ClimaxSegment { + export class ClimaxSegment { startTimeMs?: number; endTimeMs?: number; } - class ClimaxSegment { + class ClimaxSegment { const ClimaxSegment({this.startTimeMs, this.endTimeMs}); @JsonKey(name: 'startTimeMs') @@ -61,28 +61,30 @@ _$ClimaxSegmentFromJson(json); Map<String, dynamic> toJson() => _$ClimaxSegmentToJson(this); -} -

    +} +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - startTimeMs - The time (ms) when the climax part begins. - - - endTimeMs - The time (ms) when the climax part ends. - -
    + + startTimeMs + The time (ms) when the climax part begins. + + + endTimeMs + The time (ms) when the climax part ends. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_cloudspatialaudioconfig.dita b/en-US/dita/RTC-NG/API/class_cloudspatialaudioconfig.dita index 67f4c7c5698..c56bdd604ee 100644 --- a/en-US/dita/RTC-NG/API/class_cloudspatialaudioconfig.dita +++ b/en-US/dita/RTC-NG/API/class_cloudspatialaudioconfig.dita @@ -1,12 +1,15 @@ - <ph keyref="CloudSpatialAudioConfig" /> - The configuration of . + + <ph keyref="CloudSpatialAudioConfig"/> + + The configuration of .

    - public class CloudSpatialAudioConfig { + public class CloudSpatialAudioConfig { public static class SaeDeployRegion { public final static int SAE_DEPLOY_REGION_NONE = 0; public final static int SAE_DEPLOY_REGION_CN = 0x00000001; @@ -28,25 +31,25 @@ mDeployRegion = SaeDeployRegion.SAE_DEPLOY_REGION_CN; } } - __attribute__((visibility("default"))) @interface AgoraCloudSpatialAudioConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraCloudSpatialAudioConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @property(copy, nonatomic) NSString* _Nullable appId; @property(assign, nonatomic) NSUInteger deployRegion; @end - struct CloudSpatialAudioConfig { + struct CloudSpatialAudioConfig { agora::rtc::IRtcEngine* rtcEngine; ICloudSpatialAudioEventHandler* eventHandler; const char* appId; unsigned int deployRegion; CloudSpatialAudioConfig() : rtcEngine(NULL), eventHandler(NULL), appId(NULL), deployRegion(SAE_DEPLOY_REGION_CN) {} }; - export class CloudSpatialAudioConfig { + export class CloudSpatialAudioConfig { rtcEngine?: IRtcEngine eventHandler?: ICloudSpatialAudioEventHandler appId?: string deployRegion?: number } - public class CloudSpatialAudioConfig + public class CloudSpatialAudioConfig { public CloudSpatialAudioConfig() { @@ -61,45 +64,54 @@ public string appId { set; get; } public uint deployRegion { set; get; } } - export class CloudSpatialAudioConfig { + export class CloudSpatialAudioConfig { rtcEngine?: IRtcEngine; eventHandler?: ICloudSpatialAudioEventHandler; appId?: string; deployRegion?: number; } - There are no corresponding names available -

    + There are no corresponding names available +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - rtcEngine - mRtcEngine - . - - - eventHandler - mEventHandler - The event handler for the object. See . - - - appId - mAppId - The App ID issued by Agora for your project. This parameter needs to be the same as the App ID set during the initialization of . - - - deployRegion - mDeployRegion - The region in which the Agora Spatial Audio Server to be used is located. The following regions are supported:
      -
    • : (Default) Mainland China.
    • -
    • : North America.
    • -
    • : Europe.
    • -
    • Asia, excluding Mainland China.
    • -
    -

    After specifying the region, apps using the spatial audio effect connect to the Agora Spatial Audio Server within that region.

    -
    -
    -
    + + rtcEngine + mRtcEngine + . + + + eventHandler + mEventHandler + The event handler for the + object. See . + + + appId + mAppId + The App ID issued by Agora for your project. This parameter needs to be the + same as the App ID set during the initialization of . + + + deployRegion + mDeployRegion + The region in which the Agora Spatial Audio Server to be used is located. + The following regions are supported:
      +
    • : (Default) Mainland China.
    • +
    • : North America.
    • +
    • : Europe.
    • +
    • Asia, excluding Mainland + China.
    • +
    +

    After specifying the region, apps using the spatial audio effect connect + to the Agora Spatial Audio Server within that region.

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_codeccapinfo.dita b/en-US/dita/RTC-NG/API/class_codeccapinfo.dita index 9610cf30498..9cb1b940d9a 100644 --- a/en-US/dita/RTC-NG/API/class_codeccapinfo.dita +++ b/en-US/dita/RTC-NG/API/class_codeccapinfo.dita @@ -6,7 +6,7 @@

    - public class CodecCapInfo { + public class CodecCapInfo { public int codecType; public int codecCapMask; public CodecCapLevels codecLevels; @@ -25,17 +25,17 @@ this.codecCapMask = codecCapMask; } } - __attribute__((visibility("default"))) @interface AgoraVideoCodecCapInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoCodecCapInfo : NSObject @property(assign, nonatomic) AgoraVideoCodecType codecType; @property(assign, nonatomic) NSUInteger codecCapMask; @property(strong, nonatomic) AgoraVideoCodecCapLevels *_Nonnull codecCapLevels; @end - struct CodecCapInfo { + struct CodecCapInfo { VIDEO_CODEC_TYPE codecType; int codecCapMask; CodecCapLevels codecLevels; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FCodecCapInfo { GENERATED_BODY() @@ -44,16 +44,16 @@ struct FCodecCapInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|CodecCapInfo") int codecCapMask; }; - struct CodecCapInfo { + struct CodecCapInfo { VIDEO_CODEC_TYPE codecType; int codecCapMask; }; - export class CodecCapInfo { + export class CodecCapInfo { codecType?: VideoCodecType; codecCapMask?: number; codecLevels?: CodecCapLevels; } - public class CodecCapInfo + public class CodecCapInfo { public VIDEO_CODEC_TYPE codecType; @@ -61,12 +61,12 @@ struct FCodecCapInfo { public CodecCapLevels codecLevels; }; - export class CodecCapInfo { + export class CodecCapInfo { codecType?: VideoCodecType; codecCapMask?: number; codecLevels?: CodecCapLevels; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class CodecCapInfo { const CodecCapInfo({this.codecType, this.codecCapMask, this.codecLevels}); @@ -83,47 +83,54 @@ class CodecCapInfo { _$CodecCapInfoFromJson(json); Map<String, dynamic> toJson() => _$CodecCapInfoToJson(this); -}

    +} +

    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - codecType - The video codec types. See . - -

    The video codec types:

      -
    • 1: VP8
    • -
    • 2: H.264.
    • -
    • 3: (Default) H.265.

    -
    -
    - - codecCapMask - Bit mask of the codec types in SDK. See . - -

    The bit mask of the codec type:

      -
    • (0): The device does not support encoding or decoding.
    • -
    • (1 << 0): The device supports hardware decoding.
    • -
    • (1 << 1): The device supports hardware encoding.
    • -
    • (1 << 2): The device supports software decoding.
    • -
    • (1 << 3): The device supports software ecoding.
    • -

    -
    -
    - - codecLevels - Codec capability of the SDK. See . - -
    + + codecType + The video codec + types. See . + +

    The video codec types:

      +
    • 1: VP8
    • +
    • 2: H.264.
    • +
    • 3: (Default) H.265.
    • +
    +

    +
    +
    + + codecCapMask + Bit mask of the codec + types in SDK. See . + +

    The bit mask of the codec type:

      +
    • (0): The device does not support encoding or decoding.
    • +
    • (1 << 0): The device supports hardware decoding.
    • +
    • (1 << 1): The device supports hardware encoding.
    • +
    • (1 << 2): The device supports software decoding.
    • +
    • (1 << 3): The device supports software ecoding.
    • +

    +
    +
    + + codecLevels + Codec capability of the SDK. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/class_codeccaplevels.dita b/en-US/dita/RTC-NG/API/class_codeccaplevels.dita index 2dcbb0389b0..0f9eb822b86 100644 --- a/en-US/dita/RTC-NG/API/class_codeccaplevels.dita +++ b/en-US/dita/RTC-NG/API/class_codeccaplevels.dita @@ -6,7 +6,7 @@

    - public class CodecCapLevels { + public class CodecCapLevels { public int hwDecodingLevel; public int swDecodingLevel; @@ -21,21 +21,21 @@ this.swDecodingLevel = swDecLevel; }; }; - __attribute__((visibility("default"))) @interface AgoraVideoCodecCapLevels : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoCodecCapLevels : NSObject @property(assign, nonatomic) AgoraVideoCodecCapabilityLevel hwDecodingLevel; @property(assign, nonatomic) AgoraVideoCodecCapabilityLevel swDecodingLevel; @end - struct CodecCapLevels { + struct CodecCapLevels { VIDEO_CODEC_CAPABILITY_LEVEL hwDecodingLevel; VIDEO_CODEC_CAPABILITY_LEVEL swDecodingLevel; CodecCapLevels(): hwDecodingLevel(CODEC_CAPABILITY_LEVEL_UNSPECIFIED), swDecodingLevel(CODEC_CAPABILITY_LEVEL_UNSPECIFIED) {} }; - export class CodecCapLevels { + export class CodecCapLevels { hwDecodingLevel?: VideoCodecCapabilityLevel; swDecodingLevel?: VideoCodecCapabilityLevel; } - public class CodecCapLevels + public class CodecCapLevels { public VIDEO_CODEC_CAPABILITY_LEVEL hwDecodingLevel; public VIDEO_CODEC_CAPABILITY_LEVEL swDecodingLevel; @@ -46,11 +46,11 @@ swDecodingLevel = VIDEO_CODEC_CAPABILITY_LEVEL.CODEC_CAPABILITY_LEVEL_UNSPECIFIED; } }; - export class CodecCapLevels { + export class CodecCapLevels { hwDecodingLevel?: VideoCodecCapabilityLevel; swDecodingLevel?: VideoCodecCapabilityLevel; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class CodecCapLevels { const CodecCapLevels({this.hwDecodingLevel, this.swDecodingLevel}); @@ -68,31 +68,46 @@ class CodecCapLevels {

    - -
    Since
    -
    v4.2.2
    -
    + +
    Since
    +
    v4.2.2
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - hwDecodingLevel - Hardware decoding capability level, which represents the device's ability to perform hardware decoding on videos of different quality. See . -
      -
    • (-1): Unsupported video type. Currently, only H.264 and H.265 formats are supported. If the video is in another format, this value will be returned.
    • -
    • (5): Supports encoding and decoding videos up to 1080p and 30 fps.
    • -
    • (10): Supports encoding and decoding videos up to1080p and 30 fps.
    • -
    • (20): Support encoding and decoding videos up to 1080p and 60 fps.
    • -
    • (30): Support encoding and decoding videos up to 4K and 30 fps.
    -
    + + hwDecodingLevel + Hardware decoding capability level, which represents the device's ability to + perform hardware decoding on videos of different quality. See . +
      +
    • (-1): Unsupported + video type. Currently, only H.264 and H.265 formats are supported. + If the video is in another format, this value will be returned.
    • +
    • (5): Supports + encoding and decoding videos up to 1080p and 30 fps.
    • +
    • (10): Supports + encoding and decoding videos up to1080p and 30 fps.
    • +
    • (20): Support + encoding and decoding videos up to 1080p and 60 fps.
    • +
    • (30): Support encoding + and decoding videos up to 4K and 30 fps.
    • +
    +
    swDecodingLevel - Software decoding capability level, which represents the device's ability to perform software decoding on videos of different quality. See . + Software decoding capability level, which represents the device's ability to + perform software decoding on videos of different quality. See . -
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_colorenhanceoptions.dita b/en-US/dita/RTC-NG/API/class_colorenhanceoptions.dita index 46a05fed602..86a073e8c04 100644 --- a/en-US/dita/RTC-NG/API/class_colorenhanceoptions.dita +++ b/en-US/dita/RTC-NG/API/class_colorenhanceoptions.dita @@ -1,12 +1,14 @@ - <ph keyref="ColorEnhanceOptions" /> + + <ph keyref="ColorEnhanceOptions"/> + The color enhancement options.

    - public class ColorEnhanceOptions { + public class ColorEnhanceOptions { public float strengthLevel; public float skinProtectLevel; @@ -20,18 +22,18 @@ skinProtectLevel = skinProtect; } } - __attribute__((visibility("default"))) @interface AgoraColorEnhanceOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraColorEnhanceOptions : NSObject @property(nonatomic, assign) float strengthLevel; @property(nonatomic, assign) float skinProtectLevel; @end - struct ColorEnhanceOptions { + struct ColorEnhanceOptions { float strengthLevel; float skinProtectLevel; ColorEnhanceOptions(float stength, float skinProtect) : strengthLevel(stength), skinProtectLevel(skinProtect) {} ColorEnhanceOptions() : strengthLevel(0), skinProtectLevel(1) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FColorEnhanceOptions { GENERATED_BODY() @@ -41,7 +43,7 @@ struct FColorEnhanceOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ColorEnhanceOptions") float skinProtectLevel; }; - public class ColorEnhanceOptions + public class ColorEnhanceOptions { public float strengthLevel { set; get; } public float skinProtectLevel { set; get; } @@ -58,19 +60,19 @@ struct FColorEnhanceOptions skinProtectLevel = 1; } }; - export class ColorEnhanceOptions { + export class ColorEnhanceOptions { strengthLevel?: number; skinProtectLevel?: number; } - export class ColorEnhanceOptions { + export class ColorEnhanceOptions { strengthLevel?: number; skinProtectLevel?: number; } - class ColorEnhanceOptions { + class ColorEnhanceOptions { const ColorEnhanceOptions({this.strengthLevel, this.skinProtectLevel}); @JsonKey(name: 'strengthLevel') final double? strengthLevel; @@ -81,20 +83,39 @@ struct FColorEnhanceOptions 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 - The level of color enhancement. The value range is [0.0, 1.0]. 0.0 is the default value, which means no color enhancement is applied to the video. The higher the value, the higher the level of color enhancement. The default value is 0.5. - - - skinProtectLevel -

    The level of skin tone protection. The value range is [0.0, 1.0]. 0.0 means no skin tone protection. The higher the value, the higher the level of skin tone protection. The default value is 1.0.

    -

    • When the level of color enhancement is higher, the portrait skin tone can be significantly distorted, so you need to set the level of skin tone protection.
    • When the level of skin tone protection is higher, the color enhancement effect can be slightly reduced.
    Therefore, to get the best color enhancement effect, Agora recommends that you adjust strengthLevel and skinProtectLevel to get the most appropriate values.

    -
    -
    + + strengthLevel + The level of color enhancement. The value range is [0.0, 1.0]. + 0.0 is the default value, which means no color + enhancement is applied to the video. The higher the value, the higher the + level of color enhancement. The default value is 0.5. + + + skinProtectLevel +

    The level of skin tone protection. The value range is [0.0, 1.0]. + 0.0 means no skin tone protection. The higher the + value, the higher the level of skin tone protection. The default value + is 1.0.

    +

      +
    • When the level of color enhancement is higher, the portrait skin + tone can be significantly distorted, so you need to set the + level of skin tone protection.
    • +
    • When the level of skin tone protection is higher, the color + enhancement effect can be slightly reduced.
    • +
    Therefore, to get the best color enhancement effect, Agora + recommends that you adjust strengthLevel and + skinProtectLevel to get the most appropriate + values.

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_contentinspectconfig.dita b/en-US/dita/RTC-NG/API/class_contentinspectconfig.dita index 0fa2d9323e5..64cac18b982 100644 --- a/en-US/dita/RTC-NG/API/class_contentinspectconfig.dita +++ b/en-US/dita/RTC-NG/API/class_contentinspectconfig.dita @@ -2,11 +2,12 @@ <ph keyref="ContentInspectConfig"/> - Configuration of video screenshot and upload. + Configuration of video screenshot and + upload.

    - public class ContentInspectConfig { + public class ContentInspectConfig { public final static int CONTENT_INSPECT_TYPE_INVALID = 0; public final static int CONTENT_INSPECT_TYPE_SUPERVISE = 2; public final static int CONTENT_INSPECT_TYPE_IMAGE_MODERATION = 3; @@ -34,12 +35,12 @@ moduleCount = 0; } } - __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraContentInspectConfig: NSObject @property (nonatomic, copy) NSString* _Nullable extraInfo; @property (nonatomic, copy) NSString* _Nullable serverConfig; @property(copy, nonatomic) NSArray<AgoraContentInspectModule*>* _Nullable modules; @end - struct ContentInspectConfig { + struct ContentInspectConfig { const char* extraInfo; const char* serverConfig; @@ -55,7 +56,7 @@ } ContentInspectConfig() :extraInfo(NULL), serverConfig(NULL), moduleCount(0){} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FContentInspectConfig { GENERATED_BODY() @@ -67,7 +68,7 @@ struct FContentInspectConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ContentInspectConfig") int moduleCount; }; - export class ContentInspectConfig { + export class ContentInspectConfig { extraInfo?: string; @@ -77,7 +78,7 @@ struct FContentInspectConfig moduleCount?: number; } - public class ContentInspectConfig + public class ContentInspectConfig { public string extraInfo; public string serverConfig; @@ -92,7 +93,7 @@ struct FContentInspectConfig moduleCount = 0; } }; - export class ContentInspectConfig { + export class ContentInspectConfig { extraInfo?: string; @@ -102,7 +103,7 @@ struct FContentInspectConfig moduleCount?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class ContentInspectConfig { const ContentInspectConfig( {this.extraInfo, this.serverConfig, this.modules, this.moduleCount}); @@ -124,51 +125,79 @@ class ContentInspectConfig { Map<String, dynamic> toJson() => _$ContentInspectConfigToJson(this); } -

    +

    Parameters - - CONTENT_INSPECT_TYPE_INVALID - 0: (Default) No actual function. Do not set type to this value. - - - CONTENT_INSPECT_TYPE_MODERATION - 1: Video content moderation. The SDK takes screenshots and inspect videos sent by local users, and uploads the screenshots and moderation results. - - - CONTENT_INSPECT_TYPE_SUPERVISE - 2: Video screenshot and upload via Agora self-developed extension. The SDK takes screenshots of videos sent by local users and upload them. - - - CONTENT_INSPECT_TYPE_IMAGE_MODERATION - 3: Video screenshot and upload via extensions from Agora Extensions Marketplace. SDK uses video moderation extensions from Agora Extensions Marketplace to take screenshots of the video stream in the channel and uploads them. - - - extraInfo - -

    Additional information on the video content (maximum length: 1024 Bytes).

    -

    The SDK sends the screenshots and additional information on the video content to the Agora server. Once the video screenshot and upload process is completed, the Agora server sends the additional information and the callback notification to your server.

    -

    The SDK sends the screenshots and additional information on the video content to the Agora content moderation server. Once the content moderation process is completed, the Agora content moderation server sends the additional information and the content moderation results to your server.

    -
    -
    - - serverConfig - (Optional) Server configuration related to uploading video screenshots via extensions from Agora Extensions Marketplace. This parameter only takes effect when type in is set to . If you want to use it, contact . - - - modules - -

    Functional module. See .

    -

    A maximum of 32 instances can be configured, and the value range of MAX_CONTENT_INSPECT_MODULE_COUNT is an integer in [1,32].

    - A function module can only be configured with one instance at most. Currently only the video screenshot and upload function is supported. -
    -
    - - moduleCount - The number of functional modules, that is,the number of configured instances, must be the same as the number of instances configured in modules. The maximum number is 32. - -
    + + CONTENT_INSPECT_TYPE_INVALID + 0: (Default) No actual function. Do not set type to + this value. + + + CONTENT_INSPECT_TYPE_MODERATION + 1: Video content moderation. The SDK takes screenshots and inspect videos + sent by local users, and uploads the screenshots and moderation + results. + + + CONTENT_INSPECT_TYPE_SUPERVISE + 2: Video screenshot and upload via Agora self-developed extension. The SDK + takes screenshots of videos sent by local users and upload them. + + + CONTENT_INSPECT_TYPE_IMAGE_MODERATION + 3: Video screenshot and upload via extensions from Agora Extensions + Marketplace. SDK uses video moderation extensions from Agora Extensions + Marketplace to take screenshots of the video stream in the channel and + uploads them. + + + extraInfo + +

    Additional information on the video content (maximum length: 1024 + Bytes).

    +

    The SDK sends the screenshots and additional information on the video + content to the Agora server. Once the video screenshot and upload + process is completed, the Agora server sends the additional information + and the callback notification to your server.

    +

    The SDK sends the screenshots and additional information on + the video content to the Agora content moderation server. Once the + content moderation process is completed, the Agora content moderation + server sends the additional information and the content moderation + results to your server.

    +
    +
    + + serverConfig + (Optional) Server configuration related to uploading video screenshots via + extensions from Agora Extensions Marketplace. This parameter only takes + effect when type in + is set to . If you want + to use it, contact . + + + modules + +

    Functional module. See .

    +

    A maximum of 32 instances can be + configured, and the value range of + MAX_CONTENT_INSPECT_MODULE_COUNT is an integer + in [1,32].

    + A function module can only be configured with one + instance at most. Currently only the video screenshot and upload + function is supported. +
    +
    + + moduleCount + The number of functional modules, that is,the number of configured instances, must be the same as the + number of instances configured in modules. The maximum + number is 32. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_contentinspectmodule.dita b/en-US/dita/RTC-NG/API/class_contentinspectmodule.dita index ee91418c53e..2cde77a7c28 100644 --- a/en-US/dita/RTC-NG/API/class_contentinspectmodule.dita +++ b/en-US/dita/RTC-NG/API/class_contentinspectmodule.dita @@ -2,23 +2,24 @@ <ph keyref="ContentInspectModule"/> - A structure used to configure the frequency of video screenshot and upload. + A structure + used to configure the frequency of video screenshot and upload.

    - public static class ContentInspectModule { + public static class ContentInspectModule { public int type; public int interval; public ContentInspectModule() { type = CONTENT_INSPECT_TYPE_INVALID; interval = 0; } - __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject + __attribute__((visibility("default"))) @interface AgoraContentInspectModule: NSObject @property (assign, nonatomic) AgoraContentInspectType type; @property (assign, nonatomic) NSInteger interval; @end - struct ContentInspectModule { + struct ContentInspectModule { CONTENT_INSPECT_TYPE type; unsigned int interval; ContentInspectModule() { @@ -26,7 +27,7 @@ interval = 0; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FContentInspectModule { GENERATED_BODY() @@ -35,13 +36,13 @@ struct FContentInspectModule { int64 interval = 0; }; - export class ContentInspectModule { + export class ContentInspectModule { type?: ContentInspectType; interval?: number; } - public class ContentInspectModule + public class ContentInspectModule { public CONTENT_INSPECT_TYPE type; public uint interval; @@ -52,13 +53,13 @@ struct FContentInspectModule { interval = 0; } }; - export class ContentInspectModule { + export class ContentInspectModule { type?: ContentInspectType; interval?: number; } - class ContentInspectModule { + class ContentInspectModule { const ContentInspectModule({this.type, this.interval}); @JsonKey(name: 'type') @@ -70,27 +71,47 @@ struct FContentInspectModule { Map<String, dynamic> toJson() => _$ContentInspectModuleToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - Types of functional module. See . - -

    Types of functional modules:

      -
    • (0): (Default) This module has no actual function. Do not set to this value.
    • -
    • (1): Video content moderation. SDK takes screenshots, inspects video content of the video stream in the channel, and uploads the screenshots and moderation results.
    • -
    • (2): Video screenshot and upload via Agora self-developed extension. SDK takes screenshots of the video stream in the channel and uploads them.
    • -
    • (3): Video screenshot and upload via extensions from Agora Extensions Marketplace. SDK uses video moderation extensions from Agora Extensions Marketplace to take screenshots of the video stream in the channel and uploads them.
    • -

    -
    -
    - - interval - The frequency (s) of video screenshot and upload. The value should be set as larger than 0. The default value is 0, the SDK does not take screenshots. The frequency (s) of video content moderation. The value should be set as larger than 0. If set as 0 (default), the video content is not inspected. Agora recommends that you set the value as 10; you can also adjust it according to your business needs. - -
    + + type + Types of functional + module. See . + +

    Types of functional modules:

      +
    • (0): (Default) This module + has no actual function. Do not set to this value.
    • +
    • (1): Video + content moderation. SDK takes screenshots, inspects video + content of the video stream in the channel, and uploads the + screenshots and moderation results.
    • +
    • (2): Video screenshot + and upload via Agora self-developed extension. SDK takes + screenshots of the video stream in the channel and uploads + them.
    • +
    • (3): Video + screenshot and upload via extensions from Agora Extensions + Marketplace. SDK uses video moderation extensions from Agora + Extensions Marketplace to take screenshots of the video stream + in the channel and uploads them.
    • +

    +
    +
    + + interval + The frequency (s) of video screenshot and upload. The value should be + set as larger than 0. The default value is 0, the SDK does not take + screenshots. The frequency (s) of video content + moderation. The value should be set as larger than 0. If set as 0 + (default), the video content is not inspected. Agora recommends + that you set the value as 10; you can also adjust it according to your + business needs. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_contentinspecttype.dita b/en-US/dita/RTC-NG/API/class_contentinspecttype.dita index 698c6dcf2d6..b918043e794 100644 --- a/en-US/dita/RTC-NG/API/class_contentinspecttype.dita +++ b/en-US/dita/RTC-NG/API/class_contentinspecttype.dita @@ -1,42 +1,49 @@ - <ph keyref="ContentInspectType" /> - The type of content review. + + <ph keyref="ContentInspectType"/> + + The type of content review.

    - typedef int ContentInspectType; + typedef int ContentInspectType; const ContentInspectType kContentInspectInvalid = 0; const ContentInspectType kContentInspectModeration = 1; const ContentInspectType kContentInspectSupervise = 2; - - - -

    + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - kContentInspectInvalid - 0 -: (default) This function module has no actual function. please don't -type -set to this value. - - - kContentInspectModeration - 1: Jian Huang. The SDK will take screenshots and pornography of videos sent by local users, and upload the screenshots and audit results. See Overview of Content Moderation identification. - - - - kContentInspectSupervise - 2: screenshot. The SDK will take a screenshot of the video stream and upload it. - -
    + + kContentInspectInvalid + 0 : (default) This function module has no actual function. + please don't type set to this value. + + + kContentInspectModeration + 1: Jian Huang. The SDK will take screenshots and + pornography of videos sent by local users, and upload the screenshots and + audit results. See Overview + of Content Moderation identification. + + + kContentInspectSupervise + 2: screenshot. The SDK will take a screenshot of the video + stream and upload it. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_datastreamconfig.dita b/en-US/dita/RTC-NG/API/class_datastreamconfig.dita index bfb2c2c64f2..058593cf2be 100644 --- a/en-US/dita/RTC-NG/API/class_datastreamconfig.dita +++ b/en-US/dita/RTC-NG/API/class_datastreamconfig.dita @@ -1,24 +1,25 @@ - <ph keyref="DataStreamConfig" /> - The configurations for the data stream. + <ph keyref="DataStreamConfig"/> + The configurations for the data + stream.

    - public class DataStreamConfig { + public class DataStreamConfig { public boolean syncWithAudio = false; public boolean ordered = false; } - __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject @property (assign, nonatomic) BOOL ordered; @property (assign, nonatomic) BOOL syncWithAudio; @end - struct DataStreamConfig { + struct DataStreamConfig { bool syncWithAudio; bool ordered; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FDataStreamConfig { GENERATED_BODY() @@ -28,24 +29,24 @@ struct FDataStreamConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DataStreamConfig") bool ordered; }; - export class DataStreamConfig { + export class DataStreamConfig { syncWithAudio?: boolean; ordered?: boolean; } - public class DataStreamConfig + public class DataStreamConfig { public bool syncWithAudio; public bool ordered; } - export class DataStreamConfig { + export class DataStreamConfig { syncWithAudio?: boolean; ordered?: boolean; } - class DataStreamConfig { + class DataStreamConfig { const DataStreamConfig({this.syncWithAudio, this.ordered}); @JsonKey(name: 'syncWithAudio') @@ -55,68 +56,94 @@ struct FDataStreamConfig factory DataStreamConfig.fromJson(Map<String, dynamic> json) => _$DataStreamConfigFromJson(json); Map<String, dynamic> toJson() => _$DataStreamConfigToJson(this); -} -

    +} +

    The following table shows the SDK behaviors under different parameter settings:

    - - - - - - - syncWithAudio - ordered - SDK behaviors - - - - - - - The SDK triggers the callback immediately after the receiver receives a data packet. - - - - - If the data packet delay is within the audio delay, the SDK triggers the callback when the synchronized audio packet is played out. If the data packet delay exceeds the audio delay, the SDK triggers the callback as soon as the data packet is received. - - - - - If the delay of a data packet is less than five seconds, the SDK corrects the order of the data packet. If the delay of a data packet exceeds five seconds, the SDK discards the data packet. - - - - - If the delay of the data packet is within the range of the audio delay, the SDK corrects the order of the data packet. If the delay of a data packet exceeds the audio delay, the SDK discards this data packet. - - - -
    + + + + + + + syncWithAudio + ordered + SDK behaviors + + + + + + + The SDK triggers the callback + immediately after the receiver receives a data packet. + + + + + If the data packet delay is within the audio delay, the SDK + triggers the callback when the + synchronized audio packet is played out. If the data packet delay + exceeds the audio delay, the SDK triggers the callback as soon as the data packet + is received. + + + + + If the delay of a data packet is less than five seconds, the SDK + corrects the order of the data packet. If the delay of a data packet + exceeds five seconds, the SDK discards the data packet. + + + + + If the delay of the data packet is within the range of the audio + delay, the SDK corrects the order of the data packet. If the delay + of a data packet exceeds the audio delay, the SDK discards this data + packet. + + + + +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - syncWithAudio - -

    Whether to synchronize the data packet with the published audio packet.

      -
    • : Synchronize the data packet with the audio packet. This setting is suitable for special scenarios such as lyrics synchronization.
    • -
    • : Do not synchronize the data packet with the audio packet. This setting is suitable for scenarios where data packets need to arrive at the receiving end immediately.
    • -
    When you set the data packet to synchronize with the audio, then if the data packet delay is within the audio delay, the SDK triggers the callback when the synchronized audio packet is played out.

    -
    -
    - - ordered - -

    Whether the SDK guarantees that the receiver receives the data in the sent order.

      -
    • : Guarantee that the receiver receives the data in the sent order.
    • -
    • : Do not guarantee that the receiver receives the data in the sent order.
    • -
    Do not set this parameter as if you need the receiver to receive the data packet immediately.

    -
    -
    -
    + + syncWithAudio + +

    Whether to synchronize the data packet with the published audio packet.

      +
    • : Synchronize the data + packet with the audio packet. This setting is suitable for + special scenarios such as lyrics synchronization.
    • +
    • : Do not synchronize the + data packet with the audio packet. This setting is suitable for + scenarios where data packets need to arrive at the receiving end + immediately.
    • +
    When you set the data packet to synchronize with the audio, then if + the data packet delay is within the audio delay, the SDK triggers the + callback when the synchronized + audio packet is played out.

    +
    +
    + + ordered + +

    Whether the SDK guarantees that the receiver receives the data in the + sent order.

      +
    • : Guarantee that the + receiver receives the data in the sent order.
    • +
    • : Do not guarantee that the + receiver receives the data in the sent order.
    • +
    Do not set this parameter as + if you need the receiver to receive the data packet immediately.

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_device.dita b/en-US/dita/RTC-NG/API/class_device.dita index 288fb32bac9..971a173b388 100644 --- a/en-US/dita/RTC-NG/API/class_device.dita +++ b/en-US/dita/RTC-NG/API/class_device.dita @@ -1,22 +1,23 @@ - <ph keyref="Device" /> + <ph keyref="Device"/> The device information.

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> deviceId @@ -29,4 +30,4 @@
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_deviceinfo.dita b/en-US/dita/RTC-NG/API/class_deviceinfo.dita index a5c4514b8fc..00d215051f7 100644 --- a/en-US/dita/RTC-NG/API/class_deviceinfo.dita +++ b/en-US/dita/RTC-NG/API/class_deviceinfo.dita @@ -1,12 +1,12 @@ - <ph keyref="DeviceInfo" /> + <ph keyref="DeviceInfo"/> The audio device information.

    - public class DeviceInfo { + public class DeviceInfo { public boolean isLowLatencyAudioSupported; @CalledByNative @@ -14,13 +14,13 @@ this.isLowLatencyAudioSupported = isLowLatencyAudioSupported; } } - - struct DeviceInfo { + + struct DeviceInfo { bool isLowLatencyAudioSupported; DeviceInfo() : isLowLatencyAudioSupported(false) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FDeviceInfo { GENERATED_BODY() @@ -28,19 +28,19 @@ struct FDeviceInfo UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DeviceInfo") bool isLowLatencyAudioSupported; }; - export class DeviceInfo { + export class DeviceInfo { isLowLatencyAudioSupported?: boolean; } - public class DeviceInfoMobile + public class DeviceInfoMobile { public bool isLowLatencyAudioSupported; }; - export class DeviceInfo { + export class DeviceInfo { isLowLatencyAudioSupported?: boolean; } - class DeviceInfo { + class DeviceInfo { const DeviceInfo({this.isLowLatencyAudioSupported}); @JsonKey(name: 'isLowLatencyAudioSupported') @@ -49,20 +49,26 @@ struct FDeviceInfo _$DeviceInfoFromJson(json); Map<String, dynamic> toJson() => _$DeviceInfoToJson(this); } -

    +

    - This class is for Android only.
    + This class is for + Android only. +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - isLowLatencyAudioSupported - Whether the audio device supports ultra-low-latency capture and playback:
      -
    • : The device supports ultra-low-latency capture and playback.
    • -
    • : The device does not support ultra-low-latency capture and playback.
    • -
    -
    -
    + + isLowLatencyAudioSupported + Whether the audio device supports ultra-low-latency capture and playback:
      +
    • : The device supports + ultra-low-latency capture and playback.
    • +
    • : The device does not support + ultra-low-latency capture and playback.
    • +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_directcdnstreamingmediaoptions.dita b/en-US/dita/RTC-NG/API/class_directcdnstreamingmediaoptions.dita index 6f633cb920e..63d8a8d09db 100644 --- a/en-US/dita/RTC-NG/API/class_directcdnstreamingmediaoptions.dita +++ b/en-US/dita/RTC-NG/API/class_directcdnstreamingmediaoptions.dita @@ -2,11 +2,12 @@ <ph keyref="DirectCdnStreamingMediaOptions"/> - The media setting options for the host. + The media setting options for the + host.

    - public class DirectCdnStreamingMediaOptions { + public class DirectCdnStreamingMediaOptions { public Boolean publishCameraTrack; public Boolean publishMicrophoneTrack; public Boolean publishCustomAudioTrack; @@ -20,7 +21,7 @@ publishCustomVideoTrack = false; } } - __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingMediaOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingMediaOptions : NSObject @property(assign, nonatomic) BOOL publishCameraTrack; @property(assign, nonatomic) BOOL publishMicrophoneTrack; @@ -29,7 +30,7 @@ @property(assign, nonatomic) BOOL publishMediaPlayerAudioTrack; @property(assign, nonatomic) NSInteger publishMediaPlayerId; @property(assign, nonatomic) NSInteger customVideoTrackId; - struct DirectCdnStreamingMediaOptions { + struct DirectCdnStreamingMediaOptions { Optional<bool> publishCameraTrack; Optional<bool> publishMicrophoneTrack; Optional<bool> publishCustomAudioTrack; @@ -42,7 +43,7 @@ ~DirectCdnStreamingMediaOptions() {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FDirectCdnStreamingMediaOptions { GENERATED_BODY() @@ -66,7 +67,7 @@ struct FDirectCdnStreamingMediaOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DirectCdnStreamingMediaOptions") int64 customVideoTrackId; }; -export class DirectCdnStreamingMediaOptions { + export class DirectCdnStreamingMediaOptions { publishCameraTrack?: boolean; publishMicrophoneTrack?: boolean; publishCustomAudioTrack?: boolean; @@ -85,7 +86,7 @@ struct FDirectCdnStreamingMediaOptions public Optional<int> publishMediaPlayerId = new Optional<int>(); public Optional<video_track_id_t> customVideoTrackId = new Optional<video_track_id_t>(); } -export class DirectCdnStreamingMediaOptions { + export class DirectCdnStreamingMediaOptions { publishCameraTrack?: boolean; publishMicrophoneTrack?: boolean; publishCustomAudioTrack?: boolean; @@ -94,7 +95,7 @@ struct FDirectCdnStreamingMediaOptions publishMediaPlayerId?: number; customVideoTrackId?: number; } -class DirectCdnStreamingMediaOptions { + class DirectCdnStreamingMediaOptions { const DirectCdnStreamingMediaOptions( {this.publishCameraTrack, this.publishMicrophoneTrack, @@ -130,54 +131,67 @@ struct FDirectCdnStreamingMediaOptions Map<String, dynamic> toJson() => _$DirectCdnStreamingMediaOptionsToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - publishCameraTrack - Sets whether to publish the video captured by the camera:
      -
    • : Publish the video captured by the camera.
    • -
    • : (Default) Do not publish the video captured by the camera.
    • -
    -
    - - publishMicrophoneTrack - Sets whether to publish the audio captured by the microphone:
      -
    • : Publish the audio captured by the microphone.
    • -
    • : (Default) Do not publish the audio captured by the microphone.
    • -
    -
    - - publishCustomAudioTrack - Sets whether to publish the captured audio from a custom source:
      -
    • : Publish the captured audio from a custom source.
    • -
    • : (Default) Do not publish the captured audio from the custom source.
    • -
    -
    - - publishMediaPlayerAudioTrack - Sets whether to publish the audio from the media player:
      -
    • : Publish the audio from the media player.
    • -
    • : (Default) Do not publish the audio from the media player.
    • -
    -
    - - publishCustomVideoTrack - Sets whether to publish the captured video from a custom source:
      -
    • : Publish the captured video from a custom source.
    • -
    • : (Default) Do not publish the captured video from the custom source.
    • -
    -
    - - publishMediaPlayerId - The ID of the media player to be published. The default value is 0. - - - customVideoTrackId - The video track ID returned by calling the method. The default value is 0. - -
    + + publishCameraTrack + Sets whether to publish the video captured by the camera:
      +
    • : Publish the video captured by + the camera.
    • +
    • : (Default) Do not publish the + video captured by the camera.
    • +
    +
    + + publishMicrophoneTrack + Sets whether to publish the audio captured by the microphone:
      +
    • : Publish the audio captured by + the microphone.
    • +
    • : (Default) Do not publish the + audio captured by the microphone.
    • +
    +
    + + publishCustomAudioTrack + Sets whether to publish the captured audio from a custom source:
      +
    • : Publish the captured audio + from a custom source.
    • +
    • : (Default) Do not publish the + captured audio from the custom source.
    • +
    +
    + + publishMediaPlayerAudioTrack + Sets whether to publish the audio from the media player:
      +
    • : Publish the audio from the + media player.
    • +
    • : (Default) Do not publish the + audio from the media player.
    • +
    +
    + + publishCustomVideoTrack + Sets whether to publish the captured video from a custom source:
      +
    • : Publish the captured video + from a custom source.
    • +
    • : (Default) Do not publish the + captured video from the custom source.
    • +
    +
    + + publishMediaPlayerId + The ID of the media player to be published. The default value is 0. + + + customVideoTrackId + The video track ID returned by calling the method. The default value is 0. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_directcdnstreamingstats.dita b/en-US/dita/RTC-NG/API/class_directcdnstreamingstats.dita index e7d38d5f463..7c30f2caf39 100644 --- a/en-US/dita/RTC-NG/API/class_directcdnstreamingstats.dita +++ b/en-US/dita/RTC-NG/API/class_directcdnstreamingstats.dita @@ -1,12 +1,13 @@ - <ph keyref="DirectCdnStreamingStats" /> - The statistics of the current CDN streaming. + <ph keyref="DirectCdnStreamingStats"/> + The statistics of the current CDN + streaming.

    - public class DirectCdnStreamingStats { + public class DirectCdnStreamingStats { public int videoWidth; public int videoHeight; public int fps; @@ -21,21 +22,21 @@ audioBitrate = 0; } } - __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingStats : NSObject + __attribute__((visibility("default"))) @interface AgoraDirectCdnStreamingStats : NSObject @property(assign, nonatomic) NSUInteger videoWidth; @property(assign, nonatomic) NSUInteger videoHeight; @property(assign, nonatomic) NSUInteger fps; @property(assign, nonatomic) NSUInteger videoBitrate; @property(assign, nonatomic) NSUInteger audioBitrate; @end - struct DirectCdnStreamingStats { + struct DirectCdnStreamingStats { int videoWidth; int videoHeight; int fps; int videoBitrate; int audioBitrate; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FDirectCdnStreamingStats { GENERATED_BODY() @@ -50,14 +51,14 @@ struct FDirectCdnStreamingStats { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|DirectCdnStreamingStats") int audioBitrate; }; - export class DirectCdnStreamingStats { + export class DirectCdnStreamingStats { videoWidth?: number; videoHeight?: number; fps?: number; videoBitrate?: number; audioBitrate?: number; } - public class DirectCdnStreamingStats + public class DirectCdnStreamingStats { public int videoWidth { set; get; } public int videoHeight { set; get; } @@ -65,14 +66,14 @@ struct FDirectCdnStreamingStats { public int videoBitrate { set; get; } public int audioBitrate { set; get; } }; - export class DirectCdnStreamingStats { + export class DirectCdnStreamingStats { videoWidth?: number; videoHeight?: number; fps?: number; videoBitrate?: number; audioBitrate?: number; } - class DirectCdnStreamingStats { + class DirectCdnStreamingStats { const DirectCdnStreamingStats( {this.videoWidth, this.videoHeight, @@ -99,32 +100,34 @@ struct FDirectCdnStreamingStats { _$DirectCdnStreamingStatsFromJson(json); Map<String, dynamic> toJson() => _$DirectCdnStreamingStatsToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - videoWidth - The width (px) of the video frame. - - - videoHeight - The height (px) of the video frame. - - - fps - The frame rate (fps) of the current video frame. - - - videoBitrate - The bitrate (bps) of the current video frame. - - - audioBitrate - The bitrate (bps) of the current audio frame. - -
    + + videoWidth + The width (px) of the video frame. + + + videoHeight + The height (px) of the video frame. + + + fps + The frame rate (fps) of the current video frame. + + + videoBitrate + The bitrate (bps) of the current video frame. + + + audioBitrate + The bitrate (bps) of the current audio frame. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_downlinknetworkinfo.dita b/en-US/dita/RTC-NG/API/class_downlinknetworkinfo.dita index 03d6ce06d2d..50c86680bf7 100644 --- a/en-US/dita/RTC-NG/API/class_downlinknetworkinfo.dita +++ b/en-US/dita/RTC-NG/API/class_downlinknetworkinfo.dita @@ -1,39 +1,41 @@ - <ph keyref="DownlinkNetworkInfo" /> - The uplink network information. + <ph keyref="DownlinkNetworkInfo"/> + The uplink network information.

    - public static class DownlinkNetworkInfo { + public static class DownlinkNetworkInfo { public int lastmile_buffer_delay_time_ms; public int bandwidth_estimation_bps; }; - __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraDownlinkNetworkInfo : NSObject @property(nonatomic, assign) int lastmileBufferDelayTimeMs; @property(nonatomic, assign) int bandwidthEstimationBps; @end - - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - lastmile_buffer_delay_time_ms - lastmileBufferDelayTimeMs - Network latency (ms) for Lastmile buffering. - - - bandwidth_estimation_bps - bandwidthEstimationBps - Estimated bitrate network bandwidth (bps). - -
    + + lastmile_buffer_delay_time_ms + lastmileBufferDelayTimeMs + Network latency (ms) for Lastmile buffering. + + + bandwidth_estimation_bps + bandwidthEstimationBps + Estimated bitrate network bandwidth (bps). + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_echotestconfiguration.dita b/en-US/dita/RTC-NG/API/class_echotestconfiguration.dita index eaf8b81beb9..5c4a617b6f2 100644 --- a/en-US/dita/RTC-NG/API/class_echotestconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_echotestconfiguration.dita @@ -1,12 +1,13 @@ - <ph keyref="EchoTestConfiguration" /> - The configuration of the audio and video call loop test. + <ph keyref="EchoTestConfiguration"/> + The configuration of the audio and video call loop + test.

    - public class EchoTestConfiguration { + public class EchoTestConfiguration { public SurfaceView view = null; public boolean enableAudio = true; public boolean enableVideo = true; @@ -40,7 +41,7 @@ this.channelId = null; } } - NS_SWIFT_NAME(AgoraEchoTestConfiguration) + NS_SWIFT_NAME(AgoraEchoTestConfiguration) __attribute__((visibility("default"))) @interface AgoraEchoTestConfiguration : NSObject @property(strong, nonatomic) VIEW_CLASS* _Nullable view NS_SWIFT_NAME(view); @property(assign, nonatomic) BOOL enableAudio NS_SWIFT_NAME(enableAudio); @@ -49,7 +50,7 @@ __attribute__((visibility("default"))) @interface AgoraEchoTestConfiguration : N @property(copy, nonatomic) NSString* _Nonnull channelId NS_SWIFT_NAME(channelId); @property(assign, nonatomic) NSInteger intervalInSeconds NS_SWIFT_NAME(intervalInSeconds); @end - + struct EchoTestConfiguration { view_t view; bool enableAudio; @@ -64,7 +65,7 @@ struct EchoTestConfiguration { EchoTestConfiguration() : view(OPTIONAL_NULLPTR), enableAudio(true), enableVideo(true), token(OPTIONAL_NULLPTR), channelId(OPTIONAL_NULLPTR), intervalInSeconds(2) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FEchoTestConfiguration { GENERATED_BODY() @@ -82,7 +83,7 @@ struct FEchoTestConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EchoTestConfiguration") int intervalInSeconds = 2; }; - export class EchoTestConfiguration { + export class EchoTestConfiguration { view?: any; @@ -96,7 +97,7 @@ struct FEchoTestConfiguration intervalInSeconds?: number; } - public class EchoTestConfiguration + public class EchoTestConfiguration { public view_t view; public bool enableAudio; @@ -105,7 +106,7 @@ struct FEchoTestConfiguration public string channelId; public int intervalInSeconds; }; - export class EchoTestConfiguration { + export class EchoTestConfiguration { view?: any; @@ -119,7 +120,7 @@ struct FEchoTestConfiguration intervalInSeconds?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class EchoTestConfiguration { const EchoTestConfiguration( {this.view, @@ -152,47 +153,73 @@ class EchoTestConfiguration { 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 - The view used to render the local user's video. This parameter is only applicable to scenarios testing video devices, that is, when enableVideo is . - - - enableAudio - Whether to enable the audio device for the loop test:
      -
    • : (Default) Enable the audio device. To test the audio device, set this parameter as .
    • -
    • : Disable the audio device.
    • -
    -
    - - enableVideo - Whether to enable the video device for the loop test:
      -
    • : (Default) Enable the video device. To test the video device, set this parameter as .
    • -
    • : Disable the video device.
    • -
    -
    - Whether to enable the video device for the loop test. Currently, video device loop test is not supported. Please set this parameter to . -
    - - token - The token used to secure the audio and video call loop test. If you do not enable App Certificate in Agora Console, you do not need to pass a value in this parameter; if you have enabled App Certificate in Agora Console, you must pass a token in this parameter; the uid used when you generate the token must be 0xFFFFFFFF, and the channel name used must be the channel name that identifies each audio and video call loop tested. For server-side token generation, see . - - - channelId - The channel name that identifies each audio and video call loop. To ensure proper loop test functionality, the channel name passed in to identify each loop test cannot be the same when users of the same project (App ID) perform audio and video call loop tests on different devices. - - - intervalInSeconds - Set the time interval or delay for returning the results of the audio and video loop test. The value range is [2,10], in seconds, with the default value being 2 seconds.
      -
    • For audio loop tests, the test results will be returned according to the time interval you set.
    • -
    • For video loop tests, the video will be displayed in a short time, after which the delay will gradually increase until it reaches the delay you set.
    • -
    -
    -
    -
    + + view + The view used to render the local user's video. This parameter is only + applicable to scenarios testing video devices, that is, when + enableVideo is . + + + enableAudio + Whether to enable the audio device for the loop test:
      +
    • : (Default) Enable the audio + device. To test the audio device, set this parameter as .
    • +
    • : Disable the audio + device.
    • +
    +
    + + enableVideo + Whether to enable the video device for the loop test:
      +
    • : (Default) Enable the video + device. To test the video device, set this parameter as .
    • +
    • : Disable the video + device.
    • +
    +
    + Whether to enable the video device for the loop test. + Currently, video device loop test is not supported. Please set this + parameter to . +
    + + token + The token used to secure the audio and video call loop test. If you do not + enable App Certificate in Agora Console, you do not need to pass a value in + this parameter; if you have enabled App Certificate in Agora Console, you + must pass a token in this parameter; the uid used when you + generate the token must be 0xFFFFFFFF, and the channel name used must be the + channel name that identifies each audio and video call loop tested. For + server-side token generation, see . + + + channelId + The channel name that identifies each audio and video call loop. To ensure + proper loop test functionality, the channel name passed in to identify each + loop test cannot be the same when users of the same project (App ID) perform + audio and video call loop tests on different devices. + + + intervalInSeconds + Set the time interval or delay for returning the results of the audio and + video loop test. The value range is [2,10], in seconds, with the default + value being 2 seconds.
      +
    • For audio loop tests, the test results will be returned according to + the time interval you set.
    • +
    • For video loop tests, the video will be displayed in a short time, + after which the delay will gradually increase until it reaches the + delay you set.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_encodedaudioframeinfo.dita b/en-US/dita/RTC-NG/API/class_encodedaudioframeinfo.dita index 683de8aa085..dee546f0337 100644 --- a/en-US/dita/RTC-NG/API/class_encodedaudioframeinfo.dita +++ b/en-US/dita/RTC-NG/API/class_encodedaudioframeinfo.dita @@ -1,19 +1,19 @@ - <ph keyref="EncodedAudioFrameInfo" /> + <ph keyref="EncodedAudioFrameInfo"/> Audio information after encoding.

    - - __attribute__((visibility("default"))) @interface AgoraEncodedAudioFrameInfo: NSObject + + __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; @end - struct EncodedAudioFrameInfo { + struct EncodedAudioFrameInfo { EncodedAudioFrameInfo() : codec(AUDIO_CODEC_AACLC), sampleRateHz(0), @@ -31,7 +31,7 @@ int numberOfChannels; EncodedAudioFrameAdvancedSettings advancedSettings; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FEncodedAudioFrameInfo { GENERATED_BODY() UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") @@ -47,7 +47,7 @@ struct FEncodedAudioFrameInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedAudioFrameInfo") int64 captureTimeMs; }; - export class EncodedAudioFrameInfo { + export class EncodedAudioFrameInfo { codec?: AudioCodecType; @@ -61,7 +61,7 @@ struct FEncodedAudioFrameInfo { captureTimeMs?: number; } - public class EncodedAudioFrameInfo + public class EncodedAudioFrameInfo { public EncodedAudioFrameInfo() { @@ -94,7 +94,7 @@ struct FEncodedAudioFrameInfo { public int64_t captureTimeMs; }; - export class EncodedAudioFrameInfo { + export class EncodedAudioFrameInfo { codec?: AudioCodecType; @@ -108,7 +108,7 @@ struct FEncodedAudioFrameInfo { captureTimeMs?: number; } - class EncodedAudioFrameInfo { + class EncodedAudioFrameInfo { const EncodedAudioFrameInfo( {this.codec, this.sampleRateHz, @@ -143,35 +143,38 @@ struct FEncodedAudioFrameInfo {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - codec - codecType - Audio Codec type: . - - - sampleRateHz - samplesPerSec - Audio sample rate (Hz). - - - samplesPerChannel - The number of audio samples per channel. - - - numberOfChannels - channels - The number of audio channels. - - - advancedSettings - This function is currently not supported. - - + + codec + codecType + Audio Codec type: . + + + sampleRateHz + samplesPerSec + Audio sample rate (Hz). + + + samplesPerChannel + The number of audio samples per channel. + + + numberOfChannels + channels + The number of audio channels. + + + advancedSettings + This function is currently not supported. + + captureTimeMs - The Unix timestamp (ms) for capturing the external encoded video frames. - -
    + The Unix timestamp (ms) for capturing the external encoded video + frames. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_encodedvideoframeinfo.dita b/en-US/dita/RTC-NG/API/class_encodedvideoframeinfo.dita index bbc296c492d..ace3e01484f 100644 --- a/en-US/dita/RTC-NG/API/class_encodedvideoframeinfo.dita +++ b/en-US/dita/RTC-NG/API/class_encodedvideoframeinfo.dita @@ -1,12 +1,13 @@ - <ph keyref="EncodedVideoFrameInfo" /> - Information about externally encoded video frames. + <ph keyref="EncodedVideoFrameInfo"/> + Information about externally encoded video + frames.

    - public class EncodedVideoFrameInfo { + public class EncodedVideoFrameInfo { public int codecType; public int width; public int height; @@ -106,7 +107,7 @@ } } - __attribute__((visibility("default"))) @interface AgoraEncodedVideoFrameInfo: NSObject + __attribute__((visibility("default"))) @interface AgoraEncodedVideoFrameInfo: NSObject @property (assign, nonatomic) AgoraVideoCodecType codecType; @property (assign, nonatomic) NSInteger width; @@ -120,7 +121,7 @@ @property (assign, nonatomic) AgoraVideoStreamType streamType; @end - struct EncodedVideoFrameInfo { + struct EncodedVideoFrameInfo { EncodedVideoFrameInfo() : codecType(VIDEO_CODEC_H264), width(0), @@ -162,7 +163,7 @@ streamType = rhs.streamType; return *this; } - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FEncodedVideoFrameInfo { GENERATED_BODY() @@ -189,7 +190,7 @@ struct FEncodedVideoFrameInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncodedVideoFrameInfo") EVIDEO_STREAM_TYPE streamType; }; -export class EncodedVideoFrameInfo { + export class EncodedVideoFrameInfo { codecType?: VideoCodecType; @@ -211,7 +212,7 @@ struct FEncodedVideoFrameInfo { streamType?: VideoStreamType; } - public class EncodedVideoFrameInfo + public class EncodedVideoFrameInfo { public EncodedVideoFrameInfo() { @@ -261,7 +262,7 @@ struct FEncodedVideoFrameInfo { public VIDEO_STREAM_TYPE streamType { set; get; } }; - export class EncodedVideoFrameInfo { + export class EncodedVideoFrameInfo { codecType?: VideoCodecType; @@ -283,7 +284,7 @@ struct FEncodedVideoFrameInfo { streamType?: VideoStreamType; } - class EncodedVideoFrameInfo { + class EncodedVideoFrameInfo { const EncodedVideoFrameInfo( {this.codecType, this.width, @@ -331,83 +332,101 @@ struct FEncodedVideoFrameInfo { 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 - The codec type of the local video stream. See . The default value is (2). -

    The codec type of the video:

      -
    • (1): VP8.
    • -
    • (2): H.264.
    • -
    • (3): (Default) H.265.
    • -
    - In certain scenarios, such as low resolution of the captured video stream or limited device performance, the SDK automatically adjusts to the H.264 encoding format.

    -
    - - width - Width (pixel) of the video frame. - - - height - Height (pixel) of the video frame. - - - framesPerSecond - -

    The number of video frames per second.

    -

    When this parameter is not 0, you can use it to calculate the Unix timestamp of externally encoded video frames.

    -
    -
    - - frameType - The video frame type. See . - The video frame type.
      -
    • 0: (Default) , a blank frame.
    • -
    • 3: , a key frame.
    • -
    • 4:, a Delta frame.
    • -
    • 5:, a B frame.
    • -
    • 6: , an unknown frame.
    • -
    -
    - - rotation - The rotation information of the video frame. See . - Rotation information of the video frame, as the following:
      -
    • 0: (Default) 0 degree.
    • -
    • 90: 90 degrees.
    • -
    • 180: 180 degrees.
    • -
    • 270: 270 degrees.
    • -
    -
    - - trackId - Reserved for future use. - The track ID. Used in scenarios with multiple video tracks in the channel. - - - captureTimeMs - The Unix timestamp (ms) for capturing the external encoded video frames. - + + codecType + The codec type of + the local video stream. See . The default + value is (2). +

    The codec type of the video:

      +
    • (1): VP8.
    • +
    • (2): H.264.
    • +
    • (3): (Default) H.265.
    • +
    + In certain scenarios, such as low resolution of the captured video + stream or limited device performance, the SDK automatically adjusts + to the H.264 encoding format.

    +
    + + width + Width (pixel) of the video frame. + + + height + Height (pixel) of the video frame. + + + framesPerSecond + +

    The number of video frames per second.

    +

    When this parameter is not 0, you can use it to + calculate the Unix timestamp of externally encoded video frames.

    +
    +
    + + frameType + The video frame + type. See . + The video frame type.
      +
    • 0: (Default) , a blank + frame.
    • +
    • 3: , a key frame.
    • +
    • 4:, a Delta frame.
    • +
    • 5:, a B frame.
    • +
    • 6: , an unknown frame.
    • +
    +
    + + rotation + The rotation + information of the video frame. See . + Rotation information of the video frame, as the following:
      +
    • 0: (Default) 0 degree.
    • +
    • 90: 90 degrees.
    • +
    • 180: 180 degrees.
    • +
    • 270: 270 degrees.
    • +
    +
    +
    + + trackId + Reserved for future use. + The track ID. Used in scenarios with multiple video tracks in the + channel. + + + captureTimeMs + The Unix timestamp (ms) for capturing the external encoded video + frames. + decodeTimeMs The Unix timestamp (ms) for decoding the external encoded video frames. - - - uid - The user ID to push the externally encoded video frame. - - - streamType - The type of video streams. See . - -
      -
    • (0): High-quality stream, that is, a high-resolution and high-bitrate video stream.
    • -
    • (1): Low-quality stream, that is, a low-resolution and low-bitrate video stream.
    • -
    -
    -
    + + + uid + The user ID to push the externally encoded video frame. + + + streamType + The type of video streams. See . + +
      +
    • (0): High-quality stream, that is, a + high-resolution and high-bitrate video stream.
    • +
    • (1): Low-quality stream, that is, a + low-resolution and low-bitrate video stream.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_encryptionconfig.dita b/en-US/dita/RTC-NG/API/class_encryptionconfig.dita index 80f07d3e769..7d0681a2104 100644 --- a/en-US/dita/RTC-NG/API/class_encryptionconfig.dita +++ b/en-US/dita/RTC-NG/API/class_encryptionconfig.dita @@ -1,12 +1,12 @@ - <ph keyref="EncryptionConfig" /> + <ph keyref="EncryptionConfig"/> Built-in encryption configurations.

    - public class EncryptionConfig { + public class EncryptionConfig { public EncryptionMode encryptionMode; public String encryptionKey; public final byte[] encryptionKdfSalt = new byte[32]; @@ -19,14 +19,14 @@ java.util.Arrays.fill(encryptionKdfSalt, (byte) 0); } } - __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject + __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 - struct EncryptionConfig { + struct EncryptionConfig { ENCRYPTION_MODE encryptionMode; const char* encryptionKey; uint8_t encryptionKdfSalt[32]; @@ -40,7 +40,7 @@ memset(encryptionKdfSalt, 0, sizeof(encryptionKdfSalt)); } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FEncryptionConfig { GENERATED_BODY() @@ -52,7 +52,7 @@ struct FEncryptionConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|EncryptionConfig") FString encryptionKdfSalt; }; - export class EncryptionConfig { + export class EncryptionConfig { encryptionMode?: EncryptionMode; @@ -62,14 +62,14 @@ struct FEncryptionConfig datastreamEncryptionEnabled?: boolean; } - public class EncryptionConfig + public class EncryptionConfig { public ENCRYPTION_MODE encryptionMode; public string encryptionKey; public byte[] encryptionKdfSalt; public bool datastreamEncryptionEnabled; } - export class EncryptionConfig { + export class EncryptionConfig { encryptionMode?: EncryptionMode; @@ -79,7 +79,7 @@ struct FEncryptionConfig datastreamEncryptionEnabled?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class EncryptionConfig { const EncryptionConfig( {this.encryptionMode, @@ -107,36 +107,51 @@ class EncryptionConfig {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - encryptionMode - -

    The built-in encryption mode. See . Agora recommends using or encrypted mode. These two modes support the use of salt for higher security.

    -
    -
    - - encryptionKey - -

    Encryption key in string type with unlimited length. Agora recommends using a 32-byte key.

    - If you do not set an encryption key or set it as , you cannot use the built-in encryption, and the SDK returns -2.
    -
    - - encryptionKdfSalt - -

    Salt, 32 bytes in length. Agora recommends that you use OpenSSL to generate salt on the server side. See Media Stream Encryption for details.

    -

    To add Agora built-in media stream encryption in your app, see .

    - This parameter takes effect only in or encrypted mode. In this case, ensure that this parameter is not 0. -
    -
    - - datastreamEncryptionEnabled - Whether to enable data stream encryption:
      -
    • : Enable data stream encryption.
    • -
    • : (Default) Disable data stream encryption.
    • -
    -
    -
    -
    + + encryptionMode + +

    The built-in encryption mode. See . Agora recommends + using or encrypted mode. These two modes support the use + of salt for higher security.

    +
    +
    + + encryptionKey + +

    Encryption key in string type with unlimited length. Agora recommends using a 32-byte + key.

    + If you do not set an encryption key or set it as , you cannot use the built-in encryption, and the SDK + returns -2. +
    +
    + + encryptionKdfSalt + +

    Salt, 32 bytes in length. Agora recommends that you use OpenSSL to generate salt on + the server side. See Media Stream Encryption for details.

    +

    To add Agora built-in media stream encryption in your + app, see .

    + This parameter takes effect only in or + encrypted mode. In this case, ensure that this parameter is not + 0. +
    +
    + + datastreamEncryptionEnabled + Whether to enable data stream encryption:
      +
    • : Enable data stream encryption.
    • +
    • : (Default) Disable data stream + encryption.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_externalvideoframe.dita b/en-US/dita/RTC-NG/API/class_externalvideoframe.dita index 0aa8e1e26c7..d8ad59d49dc 100644 --- a/en-US/dita/RTC-NG/API/class_externalvideoframe.dita +++ b/en-US/dita/RTC-NG/API/class_externalvideoframe.dita @@ -6,7 +6,7 @@

    - public class AgoraVideoFrame { + public class AgoraVideoFrame { public static final int FORMAT_NONE = -1; public static final int FORMAT_TEXTURE_2D = 10; public static final int FORMAT_TEXTURE_OES = 11; @@ -35,7 +35,7 @@ public int cropBottom; public int rotation; } - __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject @property(assign, nonatomic) NSInteger format; @property(assign, nonatomic) CMTime time; @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead"); @@ -49,7 +49,7 @@ @property(assign, nonatomic) int cropBottom; @property(assign, nonatomic) int rotation; @end - struct ExternalVideoFrame { + struct ExternalVideoFrame { ExternalVideoFrame() : type(VIDEO_BUFFER_RAW_DATA), format(VIDEO_PIXEL_DEFAULT), @@ -98,7 +98,7 @@ void *d3d11_texture_2d; int texture_slice_index; }; - export class ExternalVideoFrame { + export class ExternalVideoFrame { type?: VideoBufferType; format?: VideoPixelFormat; buffer?: Uint8Array; @@ -116,7 +116,7 @@ metadata_buffer?: Uint8Array; metadata_size?: number; } - public class ExternalVideoFrame + public class ExternalVideoFrame { public VIDEO_BUFFER_TYPE type; public VIDEO_PIXEL_FORMAT format; @@ -137,7 +137,7 @@ public IntPtr d3d11_texture_2d; public int texture_slice_index; }; - export class ExternalVideoFrame { + export class ExternalVideoFrame { type?: VideoBufferType; format?: VideoPixelFormat; buffer?: Uint8Array; @@ -155,7 +155,7 @@ metadata_buffer?: Uint8Array; metadata_size?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class ExternalVideoFrame { const ExternalVideoFrame( {this.type, @@ -236,185 +236,233 @@ class ExternalVideoFrame { Map<String, dynamic> toJson() => _$ExternalVideoFrameToJson(this); } -

    +

    - -
    Deprecated:
    -
    This class is deprecated.
    -
    + +
    Deprecated:
    +
    This class is deprecated.
    +
    - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - -

    The video type. See .

    -
    -
    - - format - The pixel format. See . - The format of the incoming video frame. This parameter must be specified as one of the following values:
      -
    • 1: I420
    • -
    • 2: BGRA
    • -
    • 3: NV21
    • -
    • 4: RGBA
    • -
    • 5: IMC2
    • -
    • 7: ARGB
    • -
    • 8: NV12
    • -
    • 12: iOS texture (CVPixelBufferRef)
    • -
    • 16: I422
    • -
    - The format of the video data:
      -
    • 10: TEXTURE_2D
    • -
    • 11: TEXTURE_OES, usually the data captured by the camera is in this format.
    • -
    • 1: I420
    • -
    • 3: NV21
    • -
    • 4: RGBA
    • -
    • 16: I422
    • -
    -
    - - buffer - buf - dataBuf - Video frame buffer. - This parameter only applies to video data in non-Texture format. - Raw data buffer. This parameter does not apply to iOS textures. - - - textureBuf - Buffer of iOS texture. - - - stride - Line spacing of the incoming video frame, which must be in pixels instead of bytes. For textures, it is the width of the texture.

    -

    - -
    Deprecated:
    -
    Use strideInPixels instead.
    -
    -
    - When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion. -

    -
    -
    - - strideInPixels - The line span of the frame, that is, the number of pixels between two adjacent lines of video frames. -
      -
    • The unit of this parameter is pixels, not bytes.
    • -
    • If the video is in Texture format, set this parameter to the width of Texture.
    • -
    • If the video frame format is set to 12, do not use this field.
    • -
    • When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion.
    • -
    -
    - - height - Height of the incoming video frame. - - - textureID - Texture ID of the frame. This parameter only applies to video data in Texture format. - - - syncMode - Set whether to enable the synchronization mode. After enabling, the SDK waits while Texture processing. This parameter only applies to video data in Texture format.
      -
    • : Enable sync mode.
    • -
    • : Disable sync mode.
    • -
    -
    - - transform - Additional transform of Texture frames. This parameter only applies to video data in Texture format. - - - eglContext11 - EGLContext11. This parameter only applies to video data in Texture format. - - - eglContext14 - EGLContext14. This parameter only applies to video data in Texture format. - - - eglContext - This parameter only applies to video data in Texture format.
      -
    • When using the OpenGL interface (javax.microedition.khronos.egl.*) defined by Khronos, set eglContext to this field.
    • -
    • When using the OpenGL interface (android.opengl.*) defined by Android, set eglContext to this field.
    • -
    -
    - - eglType - This parameter only applies to video data in Texture format. Texture ID of the video frame. - - - textureId - This parameter only applies to video data in Texture format. Incoming 4 × 4 transformational matrix. The typical value is a unit matrix. - - - matrix - This parameter only applies to video data in Texture format. Incoming 4 × 4 transformational matrix. The typical value is a unit matrix. - - - metadata_buffer - metadataBuffer - This parameter only applies to video data in Texture format. The MetaData buffer. The default value is NULL. - - - metadata_size - metadataSize - This parameter only applies to video data in Texture format. The MetaData size. The default value is 0. - - - d3d11_texture_2d - This parameter only applies to video data in Windows Texture format. It represents a pointer to an object of type ID3D11Texture2D, which is used by a video frame. - - - texture_slice_index - textureSliceIndex - This parameter only applies to video data in Windows Texture format. It represents an index of an ID3D11Texture2D texture object used by the video frame in the ID3D11Texture2D array. - - - cropLeft - Raw data related parameter. The number of pixels trimmed from the left. The default value is 0. - This parameter only applies to video data in non-Texture format. - This parameter only applies to raw video data. - - - cropTop - Raw data related parameter. The number of pixels trimmed from the top. The default value is 0. - This parameter only applies to video data in non-Texture format. - This parameter only applies to raw video data. - - - cropRight - Raw data related parameter. The number of pixels trimmed from the right. The default value is 0. - This parameter only applies to video data in non-Texture format. - This parameter only applies to raw video data. - - - cropBottom - Raw data related parameter. The number of pixels trimmed from the bottom. The default value is 0. - This parameter only applies to video data in non-Texture format. - This parameter only applies to raw video data. - - - rotation - Raw data related parameter. The clockwise rotation of the video frame. You can set the rotation angle as 0, 90, 180, or 270. The default value is 0. - - - timestamp - time - Timestamp (ms) of the incoming video frame. An incorrect timestamp results in frame loss or unsynchronized audio and video. - -
    + + type + +

    The video type. See .

    +
    +
    + + format + The + pixel format. See . + The format of the incoming video frame. This + parameter must be specified as one of the following values:
      +
    • 1: I420
    • +
    • 2: BGRA
    • +
    • 3: NV21
    • +
    • 4: RGBA
    • +
    • 5: IMC2
    • +
    • 7: ARGB
    • +
    • 8: NV12
    • +
    • 12: iOS texture (CVPixelBufferRef)
    • +
    • 16: I422
    • +
    +
    + The format of the video data:
      +
    • 10: TEXTURE_2D
    • +
    • 11: TEXTURE_OES, usually the data captured by the camera is in this + format.
    • +
    • 1: I420
    • +
    • 3: NV21
    • +
    • 4: RGBA
    • +
    • 16: I422
    • +
    +
    +
    + + buffer + buf + dataBuf + Video frame + buffer. + This parameter only applies to video data in non-Texture + format. + Raw data buffer. This parameter does not apply to iOS + textures. + + + textureBuf + Buffer of iOS texture. + + + stride + Line spacing of the incoming video frame, which must be in pixels instead of + bytes. For textures, it is the width of the texture.

    +

    + +
    Deprecated:
    +
    Use strideInPixels instead.
    +
    +
    + When dealing with video data, it is necessary to + process the offset between each line of pixel data based on this + parameter, otherwise it may result in image distortion. +

    +
    +
    + + strideInPixels + The line span of the frame, that is, the number of pixels between two + adjacent lines of video frames. +
      +
    • The unit of this parameter is pixels, not bytes.
    • +
    • If the video is in Texture format, set this parameter to the + width of Texture.
    • +
    • If the video frame format is set to 12, do not use this + field.
    • +
    • When dealing with video data, it is necessary to process the + offset between each line of pixel data based on this parameter, + otherwise it may result in image distortion.
    • +
    +
    +
    + + height + Height of the incoming video frame. + + + textureID + Texture ID of the frame. This parameter only applies to video data in + Texture format. + + + syncMode + Set whether to enable the synchronization mode. After enabling, the SDK + waits while Texture processing. This parameter only applies to video data in + Texture format.
      +
    • : Enable sync mode.
    • +
    • : Disable sync mode.
    • +
    +
    + + transform + Additional transform of Texture frames. This parameter only applies to video + data in Texture format. + + + eglContext11 + EGLContext11. This parameter only applies to video data in Texture + format. + + + eglContext14 + EGLContext14. This parameter only applies to video data in Texture + format. + + + eglContext + This parameter only applies to video data in Texture format.
      +
    • When using the OpenGL interface (javax.microedition.khronos.egl.*) + defined by Khronos, set eglContext to this field.
    • +
    • When using the OpenGL interface (android.opengl.*) defined by + Android, set eglContext to this field.
    • +
    +
    + + eglType + This parameter only applies to video data in Texture format. Texture ID of + the video frame. + + + textureId + This parameter only applies to video data in Texture format. Incoming 4 × 4 + transformational matrix. The typical value is a unit matrix. + + + matrix + This parameter only applies to video data in Texture format. Incoming 4 × 4 + transformational matrix. The typical value is a unit matrix. + + + metadata_buffer + metadataBuffer + This parameter only applies to video data in Texture format. The MetaData + buffer. The default value is NULL. + + + metadata_size + metadataSize + This parameter only applies to video data in Texture format. The MetaData + size. The default value is 0. + + + d3d11_texture_2d + This parameter only applies to video data in Windows Texture format. It + represents a pointer to an object of type ID3D11Texture2D, + which is used by a video frame. + + + texture_slice_index + textureSliceIndex + This parameter only applies to video data in Windows Texture format. It + represents an index of an ID3D11Texture2D texture object + used by the video frame in the ID3D11Texture2D array. + + + cropLeft + Raw data related parameter. The number of pixels trimmed from the left. The + default value is 0. + This parameter only applies to video data in non-Texture + format. + This parameter only + applies to raw video data. + + + cropTop + Raw data related parameter. The number of pixels trimmed from the top. The + default value is 0. + This parameter only applies to video data in non-Texture + format. + This parameter only + applies to raw video data. + + + cropRight + Raw data related parameter. The number of pixels trimmed from the right. The + default value is 0. + This parameter only applies to video data in non-Texture + format. + This parameter only + applies to raw video data. + + + cropBottom + Raw data related parameter. The number of pixels trimmed from the bottom. + The default value is 0. + This parameter only applies to video data in non-Texture + format. + This parameter only + applies to raw video data. + + + rotation + Raw data related parameter. The clockwise rotation of the video frame. You + can set the rotation angle as 0, 90, 180, or 270. The default value is + 0. + + + timestamp + time + Timestamp (ms) of the incoming video frame. An incorrect timestamp results + in frame loss or unsynchronized audio and video. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_focallengthinfo.dita b/en-US/dita/RTC-NG/API/class_focallengthinfo.dita index a0295f82610..23265808b1e 100644 --- a/en-US/dita/RTC-NG/API/class_focallengthinfo.dita +++ b/en-US/dita/RTC-NG/API/class_focallengthinfo.dita @@ -2,11 +2,12 @@ <ph keyref="FocalLengthInfo"/> - Focal length information supported by the camera, including the camera direction and focal length type. + Focal length information supported by the camera, + including the camera direction and focal length type.

    - public class AgoraFocalLengthInfo { + public class AgoraFocalLengthInfo { int cameraDirection; @@ -26,17 +27,17 @@ '}'; } } - __attribute__((visibility("default"))) @interface AgoraFocalLengthInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraFocalLengthInfo : NSObject @property(assign, nonatomic) int cameraDirection; @property(assign, nonatomic) AgoraFocalLength focalLengthType; @end - struct FocalLengthInfo { + struct FocalLengthInfo { int cameraDirection; CAMERA_FOCAL_LENGTH_TYPE focalLengthType; }; - - - public class FocalLengthInfo + + + public class FocalLengthInfo { public int cameraDirection; public CAMERA_FOCAL_LENGTH_TYPE focalLengthType; @@ -51,13 +52,13 @@ } } - export class FocalLengthInfo { + export class FocalLengthInfo { cameraDirection?: number; focalLengthType?: CameraFocalLengthType; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class FocalLengthInfo { const FocalLengthInfo({this.cameraDirection, this.focalLengthType}); @@ -71,29 +72,32 @@ class FocalLengthInfo { _$FocalLengthInfoFromJson(json); Map<String, dynamic> toJson() => _$FocalLengthInfoToJson(this); -}

    +} +

    - -
    Since
    -
    v4.3.1
    -
    + +
    Since
    +
    v4.3.1
    +
    - This enumeration class applies to Android and iOS only. + This enumeration class + applies to Android and iOS only.

    Parameters - - cameraDirection - The camera direction. See . - - - focalLengthType - The focal length type. See . - -
    + + cameraDirection + The camera direction. See . + + + focalLengthType + The focal length type. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/class_iagoramusiccontentcenter.dita b/en-US/dita/RTC-NG/API/class_iagoramusiccontentcenter.dita index ca162638ff3..003e48fe0c4 100644 --- a/en-US/dita/RTC-NG/API/class_iagoramusiccontentcenter.dita +++ b/en-US/dita/RTC-NG/API/class_iagoramusiccontentcenter.dita @@ -2,5 +2,6 @@ <ph keyref="IAgoraMusicContentCenter"/> - 接口类提供音乐内容中心的相关方法。 + 接口类提供音乐内容中心的相关方法。 diff --git a/en-US/dita/RTC-NG/API/class_iagoraparameter.dita b/en-US/dita/RTC-NG/API/class_iagoraparameter.dita index ccad239698a..cca12ceaf14 100644 --- a/en-US/dita/RTC-NG/API/class_iagoraparameter.dita +++ b/en-US/dita/RTC-NG/API/class_iagoraparameter.dita @@ -1,6 +1,7 @@ - <ph keyref="IAgoraParameter" /> - The interface class of Agora RTC SDK, which provides JSON configuration information of the SDK. - \ No newline at end of file + <ph keyref="IAgoraParameter"/> + The interface class of Agora RTC SDK, which provides + JSON configuration information of the SDK. + diff --git a/en-US/dita/RTC-NG/API/class_iaudiodevicecollection.dita b/en-US/dita/RTC-NG/API/class_iaudiodevicecollection.dita index ab901b5c29b..de8922046a5 100644 --- a/en-US/dita/RTC-NG/API/class_iaudiodevicecollection.dita +++ b/en-US/dita/RTC-NG/API/class_iaudiodevicecollection.dita @@ -1,6 +1,7 @@ - <ph keyref="IAudioDeviceCollection" /> - The IAudioDeviceCollection interface. You can get the information of audio devices with this interface. - \ No newline at end of file + <ph keyref="IAudioDeviceCollection"/> + The IAudioDeviceCollection interface. You can get the + information of audio devices with this interface. + diff --git a/en-US/dita/RTC-NG/API/class_iaudiodevicemanager.dita b/en-US/dita/RTC-NG/API/class_iaudiodevicemanager.dita index 0682d035092..9f965e1c71a 100644 --- a/en-US/dita/RTC-NG/API/class_iaudiodevicemanager.dita +++ b/en-US/dita/RTC-NG/API/class_iaudiodevicemanager.dita @@ -1,11 +1,13 @@ - <ph keyref="IAudioDeviceManager" /> + <ph keyref="IAudioDeviceManager"/> Audio device management methods.
    -

    provides methods for audio device testing. You can call the method to get the interface.

    +

    provides methods for + audio device testing. You can call the method to get + the interface.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_iaudioeffectmanager.dita b/en-US/dita/RTC-NG/API/class_iaudioeffectmanager.dita index aa59ed45559..e64097e1980 100644 --- a/en-US/dita/RTC-NG/API/class_iaudioeffectmanager.dita +++ b/en-US/dita/RTC-NG/API/class_iaudioeffectmanager.dita @@ -1,6 +1,7 @@ - <ph keyref="IAudioEffectManager" /> - This class provides audio management methods. - \ No newline at end of file + <ph keyref="IAudioEffectManager"/> + This class provides audio management + methods. + diff --git a/en-US/dita/RTC-NG/API/class_iaudioencodedframeobserver.dita b/en-US/dita/RTC-NG/API/class_iaudioencodedframeobserver.dita index 9718bf8f861..c1fc17e388e 100644 --- a/en-US/dita/RTC-NG/API/class_iaudioencodedframeobserver.dita +++ b/en-US/dita/RTC-NG/API/class_iaudioencodedframeobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IAudioEncodedFrameObserver" /> + <ph keyref="IAudioEncodedFrameObserver"/> The encoded audio observer. - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_iaudioframeobserver.dita b/en-US/dita/RTC-NG/API/class_iaudioframeobserver.dita index 711537cdcea..bfacb780663 100644 --- a/en-US/dita/RTC-NG/API/class_iaudioframeobserver.dita +++ b/en-US/dita/RTC-NG/API/class_iaudioframeobserver.dita @@ -1,12 +1,13 @@ - <ph keyref="IAudioFrameObserver" /> + <ph keyref="IAudioFrameObserver"/> The audio frame observer.
    -

    Inherited from .

    -

    You can call to register or unregister the audio frame observer.

    +

    Inherited from .

    +

    You can call to register or unregister + the audio frame observer.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_iaudioframeobserverbase.dita b/en-US/dita/RTC-NG/API/class_iaudioframeobserverbase.dita index 57282ac6d50..208097a934b 100644 --- a/en-US/dita/RTC-NG/API/class_iaudioframeobserverbase.dita +++ b/en-US/dita/RTC-NG/API/class_iaudioframeobserverbase.dita @@ -1,11 +1,12 @@ - <ph keyref="IAudioFrameObserverBase" /> + <ph keyref="IAudioFrameObserverBase"/> The audio frame observer.
    -

    You can call to register or unregister the audio frame observer.

    +

    You can call to register or unregister + the audio frame observer.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_iaudiopcmframesink.dita b/en-US/dita/RTC-NG/API/class_iaudiopcmframesink.dita index 42762d671d0..46ec42feb0f 100644 --- a/en-US/dita/RTC-NG/API/class_iaudiopcmframesink.dita +++ b/en-US/dita/RTC-NG/API/class_iaudiopcmframesink.dita @@ -2,11 +2,16 @@ <ph keyref="IAudioPcmFrameSink"/> - This class is used to get raw PCM audio. This protocol is used to get raw audio data. + This class is + used to get raw PCM audio. This protocol is used to get raw audio + data.
    -

    You can inherit this class and implement the callback to get raw PCM audio.

    -

    You can get raw audio data through the callback under this protocol.

    +

    You can inherit this class and + implement the callback to get raw PCM + audio.

    +

    You can get raw audio data through the callback under this protocol.

    diff --git a/en-US/dita/RTC-NG/API/class_iaudioplaybackdevicemanager.dita b/en-US/dita/RTC-NG/API/class_iaudioplaybackdevicemanager.dita index 0b78cce1e3c..224c7879f6e 100644 --- a/en-US/dita/RTC-NG/API/class_iaudioplaybackdevicemanager.dita +++ b/en-US/dita/RTC-NG/API/class_iaudioplaybackdevicemanager.dita @@ -1,6 +1,7 @@ - <ph keyref="IAudioPlaybackDeviceManager" /> - class, which manages audio playback devices. - \ No newline at end of file + <ph keyref="IAudioPlaybackDeviceManager"/> + class, + which manages audio playback devices. + diff --git a/en-US/dita/RTC-NG/API/class_iaudiorecordingdevicemanager.dita b/en-US/dita/RTC-NG/API/class_iaudiorecordingdevicemanager.dita index a14f0fc72c8..bbcdbcb8d32 100644 --- a/en-US/dita/RTC-NG/API/class_iaudiorecordingdevicemanager.dita +++ b/en-US/dita/RTC-NG/API/class_iaudiorecordingdevicemanager.dita @@ -1,6 +1,7 @@ - <ph keyref="IAudioRecordingDeviceManager" /> - Class for audio capture devices. - \ No newline at end of file + <ph keyref="IAudioRecordingDeviceManager"/> + Class for + audio capture devices. + diff --git a/en-US/dita/RTC-NG/API/class_iaudiospectrumobserver.dita b/en-US/dita/RTC-NG/API/class_iaudiospectrumobserver.dita index a4519ea70fc..45a3066a98f 100644 --- a/en-US/dita/RTC-NG/API/class_iaudiospectrumobserver.dita +++ b/en-US/dita/RTC-NG/API/class_iaudiospectrumobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IAudioSpectrumObserver" /> + <ph keyref="IAudioSpectrumObserver"/> The audio spectrum observer. - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_ibasespatialaudioengine.dita b/en-US/dita/RTC-NG/API/class_ibasespatialaudioengine.dita index 97ab79b0d9b..902ee1eae25 100644 --- a/en-US/dita/RTC-NG/API/class_ibasespatialaudioengine.dita +++ b/en-US/dita/RTC-NG/API/class_ibasespatialaudioengine.dita @@ -1,11 +1,13 @@ - <ph keyref="IBaseSpatialAudioEngine" /> - This class contains some of the APIs in the class. + <ph keyref="IBaseSpatialAudioEngine"/> + This class contains some of the APIs in the class.
    -

    The class inherits from .

    +

    The class inherits from .

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_icloudspatialaudioengine.dita b/en-US/dita/RTC-NG/API/class_icloudspatialaudioengine.dita index d0bf0fb5daf..63e898eb769 100644 --- a/en-US/dita/RTC-NG/API/class_icloudspatialaudioengine.dita +++ b/en-US/dita/RTC-NG/API/class_icloudspatialaudioengine.dita @@ -1,11 +1,15 @@ - <ph keyref="ICloudSpatialAudioEngine" /> - This class calculates user positions through the Agora Spatial Audio Server to implement the spatial audio effect. + <ph keyref="ICloudSpatialAudioEngine"/> + This class calculates user positions through the Agora + Spatial Audio Server to implement the spatial audio effect.
    -

    This class inherits from . Before calling other APIs in this class, you need to call the method to initialize this class.

    +

    This class inherits from . Before calling + other APIs in this class, you need to call the method to initialize this + class.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_icloudspatialaudioeventhandler.dita b/en-US/dita/RTC-NG/API/class_icloudspatialaudioeventhandler.dita index 488be0e003b..cf879608b2b 100644 --- a/en-US/dita/RTC-NG/API/class_icloudspatialaudioeventhandler.dita +++ b/en-US/dita/RTC-NG/API/class_icloudspatialaudioeventhandler.dita @@ -1,6 +1,7 @@ - <ph keyref="ICloudSpatialAudioEventHandler" /> - The class that sends event notifications relating to the spatial audio effect. - \ No newline at end of file + <ph keyref="ICloudSpatialAudioEventHandler"/> + The class that sends event notifications relating to + the spatial audio effect. + diff --git a/en-US/dita/RTC-NG/API/class_idirectcdnstreamingeventhandler.dita b/en-US/dita/RTC-NG/API/class_idirectcdnstreamingeventhandler.dita index 15f7bd5bec5..f98655b762e 100644 --- a/en-US/dita/RTC-NG/API/class_idirectcdnstreamingeventhandler.dita +++ b/en-US/dita/RTC-NG/API/class_idirectcdnstreamingeventhandler.dita @@ -1,6 +1,9 @@ - <ph keyref="IDirectCdnStreamingEventHandler" /> - The interface class is used by the SDK to send event notifications of CDN streaming to your app. Your app can get those notifications through methods that inherit this interface class. - \ No newline at end of file + <ph keyref="IDirectCdnStreamingEventHandler"/> + The + interface class is used by the SDK to send event notifications of CDN streaming to your + app. Your app can get those notifications through methods that inherit this interface + class. + diff --git a/en-US/dita/RTC-NG/API/class_ifaceinfoobserver.dita b/en-US/dita/RTC-NG/API/class_ifaceinfoobserver.dita index b79985e3275..87f7eb701e6 100644 --- a/en-US/dita/RTC-NG/API/class_ifaceinfoobserver.dita +++ b/en-US/dita/RTC-NG/API/class_ifaceinfoobserver.dita @@ -1,11 +1,12 @@ - <ph keyref="IFaceInfoObserver" /> + <ph keyref="IFaceInfoObserver"/> Facial information observer.
    -

    You can call to register or unregister the object.

    +

    You can call to register or unregister the + object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_ilocalspatialaudioengine.dita b/en-US/dita/RTC-NG/API/class_ilocalspatialaudioengine.dita index 2b95b3d27f3..a8a23c848d8 100644 --- a/en-US/dita/RTC-NG/API/class_ilocalspatialaudioengine.dita +++ b/en-US/dita/RTC-NG/API/class_ilocalspatialaudioengine.dita @@ -1,11 +1,16 @@ - <ph keyref="ILocalSpatialAudioEngine" /> - This class calculates user positions through the SDK to implement the spatial audio effect. + <ph keyref="ILocalSpatialAudioEngine"/> + This class calculates user positions through the SDK to + implement the spatial audio effect.
    -

    This class inherits from . Before calling other APIs in this class, you need to call the method to initialize this class.

    +

    This class inherits from . Before calling other APIs in + this class, you need to call the method to initialize this + class.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_imagetrackoptions.dita b/en-US/dita/RTC-NG/API/class_imagetrackoptions.dita index 00c9f7df7e6..1e267c17e73 100644 --- a/en-US/dita/RTC-NG/API/class_imagetrackoptions.dita +++ b/en-US/dita/RTC-NG/API/class_imagetrackoptions.dita @@ -1,12 +1,12 @@ - <ph keyref="ImageTrackOptions" /> + <ph keyref="ImageTrackOptions"/> Image configurations.

    - public class ImageTrackOptions { + public class ImageTrackOptions { public String getImageUrl() { return imageUrl; } @@ -18,15 +18,15 @@ this.fps = fps; } } - __attribute__((visibility("default"))) @interface AgoraImageTrackOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraImageTrackOptions : NSObject @property(copy, nonatomic) NSString *_Nullable imageUrl; @property(assign, nonatomic) int fps; - struct ImageTrackOptions { + struct ImageTrackOptions { const char* imageUrl; int fps; ImageTrackOptions() : imageUrl(NULL), fps(1) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FImageTrackOptions { GENERATED_BODY() @@ -36,13 +36,13 @@ struct FImageTrackOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ImageTrackOptions") int fps = 1; }; - export class ImageTrackOptions { + export class ImageTrackOptions { imageUrl?: string; fps?: number; } - public class ImageTrackOptions + public class ImageTrackOptions { public string imageUrl { set; get; } public int fps { set; get; } @@ -53,13 +53,13 @@ struct FImageTrackOptions fps = 1; } }; - export class ImageTrackOptions { + export class ImageTrackOptions { imageUrl?: string; fps?: number; } - class ImageTrackOptions { + class ImageTrackOptions { const ImageTrackOptions({this.imageUrl, this.fps}); @JsonKey(name: 'imageUrl') @@ -73,20 +73,27 @@ struct FImageTrackOptions 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 - The image URL. Supported formats of images include JPEG, JPG, PNG and GIF. This method supports adding an image from the local absolute or relative file path.On the Android platform, adding images from /assets/ is not supported. - - + + imageUrl + The image URL. Supported formats of images include JPEG, JPG, PNG and GIF. + This method supports adding an image from the local absolute or relative + file path.On the + Android platform, adding images from /assets/ is not + supported. + + fps - The frame rate of the video streams being published. The value range is [1,30]. The default value is 1. + The frame rate of the video streams being published. The value range is + [1,30]. The default value is 1. -
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_imediaengine.dita b/en-US/dita/RTC-NG/API/class_imediaengine.dita index 7c28872d0b5..66cf6cf3abb 100644 --- a/en-US/dita/RTC-NG/API/class_imediaengine.dita +++ b/en-US/dita/RTC-NG/API/class_imediaengine.dita @@ -1,6 +1,7 @@ - <ph keyref="IMediaEngine" /> - The class. - \ No newline at end of file + <ph keyref="IMediaEngine"/> + The + class. + diff --git a/en-US/dita/RTC-NG/API/class_imediaengineevent.dita b/en-US/dita/RTC-NG/API/class_imediaengineevent.dita index 921313cfdd9..c22f1a71da7 100644 --- a/en-US/dita/RTC-NG/API/class_imediaengineevent.dita +++ b/en-US/dita/RTC-NG/API/class_imediaengineevent.dita @@ -1,29 +1,35 @@ - <ph keyref="IMediaEngineEvent" /> - The interface. Used for merging the callback interfaces corresponding to the objects in . + <ph keyref="IMediaEngineEvent"/> + The interface. + Used for merging the callback interfaces corresponding to the objects in .

    - - - - export type IMediaEngineEvent = IAudioFrameObserver & + + + + export type IMediaEngineEvent = IAudioFrameObserver & IVideoFrameObserver & IVideoEncodedFrameObserver; - - export type IMediaEngineEvent = IAudioFrameObserver & + + export type IMediaEngineEvent = IAudioFrameObserver & IVideoFrameObserver & IVideoEncodedFrameObserver; -

    +

    This interface merges the following interfaces:

      -
    • -
    • -
    • -
    You can call the , , and methods to add or remove the listeners for the callback events under the interfaces mentioned above.

    +
  • +
  • +
  • + You can call the , , and methods to add or remove the + listeners for the callback events under the interfaces mentioned above. +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_imediaextensionobserver.dita b/en-US/dita/RTC-NG/API/class_imediaextensionobserver.dita index 5bbd11eaa1d..ce058305d76 100644 --- a/en-US/dita/RTC-NG/API/class_imediaextensionobserver.dita +++ b/en-US/dita/RTC-NG/API/class_imediaextensionobserver.dita @@ -1,6 +1,7 @@ - <ph keyref="IMediaExtensionObserver" /> - Extension event callback interface class. - \ No newline at end of file + <ph keyref="IMediaExtensionObserver"/> + Extension event callback interface + class. + diff --git a/en-US/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita b/en-US/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita index 30ac003dff3..949df5905a8 100644 --- a/en-US/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita +++ b/en-US/dita/RTC-NG/API/class_imediafilterextensiondelegate.dita @@ -1,29 +1,31 @@ - <ph keyref="AgoraMediaFilterExtensionDelegate" /> - Manages the media extensions. + <ph keyref="AgoraMediaFilterExtensionDelegate"/> + Manages the media extensions.

    - - @protocol AgoraMediaFilterExtensionDelegate <NSObject> + + @protocol AgoraMediaFilterExtensionDelegate <NSObject> - (NSString * __nonnull)vendor; @end - - - - - -

    + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - vendor - The name of the extension provider. - -
    + + vendor + The name of the extension provider. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_imediaplayer.dita b/en-US/dita/RTC-NG/API/class_imediaplayer.dita index 30eeda1efd2..20482d1497c 100644 --- a/en-US/dita/RTC-NG/API/class_imediaplayer.dita +++ b/en-US/dita/RTC-NG/API/class_imediaplayer.dita @@ -1,6 +1,7 @@ - <ph keyref="IMediaPlayer" /> - This class provides media player functions and supports multiple instances. - \ No newline at end of file + <ph keyref="IMediaPlayer"/> + This class provides media player functions and supports + multiple instances. + diff --git a/en-US/dita/RTC-NG/API/class_imediaplayeraudioframeobserver.dita b/en-US/dita/RTC-NG/API/class_imediaplayeraudioframeobserver.dita index 4f5b971f198..3da9d820f32 100644 --- a/en-US/dita/RTC-NG/API/class_imediaplayeraudioframeobserver.dita +++ b/en-US/dita/RTC-NG/API/class_imediaplayeraudioframeobserver.dita @@ -1,11 +1,13 @@ - <ph keyref="IMediaPlayerAudioFrameObserver" /> - The audio frame observer for the media player. + <ph keyref="IMediaPlayerAudioFrameObserver"/> + The audio frame observer for the media + player.
    -

    You can call to register or unregister the object.

    +

    You can call to register or + unregister the object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_imediaplayercachemanager.dita b/en-US/dita/RTC-NG/API/class_imediaplayercachemanager.dita index 41f267e4d73..b02e682de6b 100644 --- a/en-US/dita/RTC-NG/API/class_imediaplayercachemanager.dita +++ b/en-US/dita/RTC-NG/API/class_imediaplayercachemanager.dita @@ -1,6 +1,7 @@ - <ph keyref="IMediaPlayerCacheManager" /> - This class provides methods to manage cached media files. - \ No newline at end of file + <ph keyref="IMediaPlayerCacheManager"/> + This class provides methods to manage cached media + files. + diff --git a/en-US/dita/RTC-NG/API/class_imediaplayercustomdataprovider.dita b/en-US/dita/RTC-NG/API/class_imediaplayercustomdataprovider.dita index 0b92a9026f8..53c589cf7ed 100644 --- a/en-US/dita/RTC-NG/API/class_imediaplayercustomdataprovider.dita +++ b/en-US/dita/RTC-NG/API/class_imediaplayercustomdataprovider.dita @@ -1,6 +1,7 @@ - <ph keyref="IMediaPlayerCustomDataProvider" /> - The callback for custom media resource files. - \ No newline at end of file + <ph keyref="IMediaPlayerCustomDataProvider"/> + The callback for custom media resource + files. + diff --git a/en-US/dita/RTC-NG/API/class_imediaplayerevent.dita b/en-US/dita/RTC-NG/API/class_imediaplayerevent.dita index beed802eedc..8a20e055927 100644 --- a/en-US/dita/RTC-NG/API/class_imediaplayerevent.dita +++ b/en-US/dita/RTC-NG/API/class_imediaplayerevent.dita @@ -1,33 +1,40 @@ - <ph keyref="IMediaPlayerEvent" /> - The interface. Used for merging the callback interfaces corresponding to the objects in . + <ph keyref="IMediaPlayerEvent"/> + The interface. + Used for merging the callback interfaces corresponding to the objects in .

    - - - - export type IMediaPlayerEvent = IMediaPlayerSourceObserver & + + + + export type IMediaPlayerEvent = IMediaPlayerSourceObserver & IMediaPlayerAudioFrameObserver & IMediaPlayerVideoFrameObserver & IAudioSpectrumObserver; - - export type IMediaPlayerEvent = IMediaPlayerSourceObserver & + + export type IMediaPlayerEvent = IMediaPlayerSourceObserver & IMediaPlayerAudioFrameObserver & IMediaPlayerVideoFrameObserver & IAudioSpectrumObserver; -

    +

    This interface merges the following interfaces: -

      -
    • -
    • -
    • -
    • -
    You can call the , , and methods to add or remove the listeners for the callback events under the interfaces mentioned above.

    +
      +
    • +
    • +
    • +
    • +
    + You can call the , , and methods to add or remove the + listeners for the callback events under the interfaces mentioned above. +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_imediaplayersourceobserver.dita b/en-US/dita/RTC-NG/API/class_imediaplayersourceobserver.dita index 804c1c81ece..0165058b89a 100644 --- a/en-US/dita/RTC-NG/API/class_imediaplayersourceobserver.dita +++ b/en-US/dita/RTC-NG/API/class_imediaplayersourceobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IMediaPlayerSourceObserver" /> + <ph keyref="IMediaPlayerSourceObserver"/> Provides callbacks for media players. - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_imediaplayervideoframeobserver.dita b/en-US/dita/RTC-NG/API/class_imediaplayervideoframeobserver.dita index c9baed349e7..bdd10f3bf9f 100644 --- a/en-US/dita/RTC-NG/API/class_imediaplayervideoframeobserver.dita +++ b/en-US/dita/RTC-NG/API/class_imediaplayervideoframeobserver.dita @@ -1,11 +1,13 @@ - <ph keyref="IMediaPlayerVideoFrameObserver" /> - The video frame observer for the media player. + <ph keyref="IMediaPlayerVideoFrameObserver"/> + The video frame observer for the media + player.
    -

    You can call to register or unregister the object.

    +

    You can call to register or + unregister the object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_imediarecorder.dita b/en-US/dita/RTC-NG/API/class_imediarecorder.dita index fc67c6e525a..3cd0802d809 100644 --- a/en-US/dita/RTC-NG/API/class_imediarecorder.dita +++ b/en-US/dita/RTC-NG/API/class_imediarecorder.dita @@ -2,5 +2,6 @@ <ph keyref="IMediaRecorder"/> - This class provides APIs for local and remote recording. + This class provides APIs for local and remote + recording. diff --git a/en-US/dita/RTC-NG/API/class_imediarecorderevent.dita b/en-US/dita/RTC-NG/API/class_imediarecorderevent.dita index 566c96941ca..ccaeea06d13 100644 --- a/en-US/dita/RTC-NG/API/class_imediarecorderevent.dita +++ b/en-US/dita/RTC-NG/API/class_imediarecorderevent.dita @@ -1,21 +1,28 @@ - <ph keyref="IMediaRecorderEvent" /> - The interface. Used for merging the callback interfaces corresponding to the objects in . + <ph keyref="IMediaRecorderEvent"/> + The interface. Used + for merging the callback interfaces corresponding to the objects in .

    - - - - export type IMediaRecorderEvent = IMediaRecorderObserver; - - export type IMediaRecorderEvent = IMediaRecorderObserver; -

    + + + + export type IMediaRecorderEvent = IMediaRecorderObserver; + + export type IMediaRecorderEvent = IMediaRecorderObserver; +

    -

    This interface merges the interface. You can call the , , and methods to add or remove the listeners for the callback events under the interfaces mentioned above.

    +

    This interface merges the interface. You + can call the , , and methods to add or remove the + listeners for the callback events under the interfaces mentioned above. +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_imediarecorderobserver.dita b/en-US/dita/RTC-NG/API/class_imediarecorderobserver.dita index 51aa817087a..1362a682962 100644 --- a/en-US/dita/RTC-NG/API/class_imediarecorderobserver.dita +++ b/en-US/dita/RTC-NG/API/class_imediarecorderobserver.dita @@ -1,6 +1,7 @@ - <ph keyref="IMediaRecorderObserver" /> - Provides callback events for audio and video recording. - \ No newline at end of file + <ph keyref="IMediaRecorderObserver"/> + Provides callback events for audio and video + recording. + diff --git a/en-US/dita/RTC-NG/API/class_imetadataobserver.dita b/en-US/dita/RTC-NG/API/class_imetadataobserver.dita index e6fcfda21e4..efe49fef188 100644 --- a/en-US/dita/RTC-NG/API/class_imetadataobserver.dita +++ b/en-US/dita/RTC-NG/API/class_imetadataobserver.dita @@ -1,11 +1,12 @@ - <ph keyref="IMetadataObserver" /> + <ph keyref="IMetadataObserver"/> The metadata observer.
    -

    You can call to register or unregister the object.

    +

    You can call to register or unregister + the object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_imusiccontentcenter.dita b/en-US/dita/RTC-NG/API/class_imusiccontentcenter.dita index 5536f5728b0..13c76f48aac 100644 --- a/en-US/dita/RTC-NG/API/class_imusiccontentcenter.dita +++ b/en-US/dita/RTC-NG/API/class_imusiccontentcenter.dita @@ -1,6 +1,7 @@ - <ph keyref="IMusicContentCenter" /> - 接口类提供音乐内容中心的相关方法。 - \ No newline at end of file + <ph keyref="IMusicContentCenter"/> + 接口类提供音乐内容中心的相关方法。 + diff --git a/en-US/dita/RTC-NG/API/class_imusiccontentcentereventhandler.dita b/en-US/dita/RTC-NG/API/class_imusiccontentcentereventhandler.dita index 3fdcf547ee7..3ab64dee658 100644 --- a/en-US/dita/RTC-NG/API/class_imusiccontentcentereventhandler.dita +++ b/en-US/dita/RTC-NG/API/class_imusiccontentcentereventhandler.dita @@ -1,6 +1,7 @@ - <ph keyref="IMusicContentCenterEventHandler" /> - 接口类,用于 SDK 向客户端发送音乐内容中心事件通知。 - \ No newline at end of file + <ph keyref="IMusicContentCenterEventHandler"/> + 接口类,用于 + SDK 向客户端发送音乐内容中心事件通知。 + diff --git a/en-US/dita/RTC-NG/API/class_imusicplayer.dita b/en-US/dita/RTC-NG/API/class_imusicplayer.dita index 5d7b588234b..6a3c4117693 100644 --- a/en-US/dita/RTC-NG/API/class_imusicplayer.dita +++ b/en-US/dita/RTC-NG/API/class_imusicplayer.dita @@ -1,6 +1,7 @@ - <ph keyref="IMusicPlayer" /> - 继承自 类,提供音乐播放器的相关方法。 - \ No newline at end of file + <ph keyref="IMusicPlayer"/> + 继承自 + 类,提供音乐播放器的相关方法。 + diff --git a/en-US/dita/RTC-NG/API/class_injectstreamconfig.dita b/en-US/dita/RTC-NG/API/class_injectstreamconfig.dita index 31ad3643074..51a592ae08d 100644 --- a/en-US/dita/RTC-NG/API/class_injectstreamconfig.dita +++ b/en-US/dita/RTC-NG/API/class_injectstreamconfig.dita @@ -1,12 +1,13 @@ - <ph keyref="InjectStreamConfig" /> - Configurations of injecting an external audio or video stream. + <ph keyref="InjectStreamConfig"/> + Configurations of injecting an external audio or video + stream.

    - public class LiveInjectStreamConfig { + public class LiveInjectStreamConfig { public enum AudioSampleRateType { TYPE_32000(32000), @@ -33,7 +34,7 @@ audioChannels = 1; } } - __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject @property(assign, nonatomic) CGSize size; @property(assign, nonatomic) NSInteger videoGop; @@ -44,7 +45,7 @@ @property(assign, nonatomic) NSInteger audioChannels; + (AgoraLiveInjectStreamConfig *_Nonnull)defaultConfig; @end - struct InjectStreamConfig { + struct InjectStreamConfig { int width; int height; int videoGop; @@ -65,7 +66,7 @@ , audioChannels(1) {} }; -export class InjectStreamConfig { + export class InjectStreamConfig { width?: number height?: number videoGop?: number @@ -75,7 +76,7 @@ audioBitrate?: number audioChannels?: number } - public class InjectStreamConfig + public class InjectStreamConfig { public InjectStreamConfig() { @@ -111,8 +112,8 @@ public int audioBitrate { set; get; } public int audioChannels { set; get; } } - - class InjectStreamConfig { + + class InjectStreamConfig { const InjectStreamConfig( {this.width, this.height, @@ -142,62 +143,79 @@ factory InjectStreamConfig.fromJson(Map<String, dynamic> json) => _$InjectStreamConfigFromJson(json); Map<String, dynamic> toJson() => _$InjectStreamConfigToJson(this); - } -

    -
    + }
    +

    +
    -
    + +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - The width of the external video stream after injecting. The default value is 0, which represents the same width as the original. - - - height - The height of the external video stream after injecting. The default value is 0, which represents the same height as the original. - - - size - The size of the external video stream after injecting. - - - videoGop - The GOP (in frames) of injecting the external video stream. The default value is 30 frames. - - - videoFramerate - The frame rate (fps) of injecting the external video stream. The default rate is 15 fps. - - - videoBitrate - -

    The bitrate (Kbps) of injecting the external video stream. The default value is 400 Kbps.

    - The bitrate setting is closely linked to the video resolution. If the bitrate you set is beyond a reasonable range, the SDK sets it within a reasonable range. -
    -
    - - audioSampleRate - -

    The sampling rate (Hz) of injecting the external audio stream. The default value is 48000 Hz. See .

    - Agora recommends using the default value.
    -
    - - audioBitrate - -

    The bitrate (Kbps) of injecting the external audio stream. The default value is 48 Kbps.

    - Agora recommends using the default value.
    -
    - - audioChannels - -

    The number of channels of the external audio stream after injecting.

      -
    • 1: Mono (default)
    • -
    • 2: Stereo.
    • -

    - Agora recommends using the default value.
    -
    -
    + + width + The width of the external video stream after injecting. The default value is + 0, which represents the same width as the original. + + + height + The height of the external video stream after injecting. The default value + is 0, which represents the same height as the original. + + + size + The size of the external video stream after injecting. + + + videoGop + The GOP (in frames) of injecting the external video stream. The default + value is 30 frames. + + + videoFramerate + The frame rate (fps) of injecting the external video stream. The default + rate is 15 fps. + + + videoBitrate + +

    The bitrate (Kbps) of injecting the external video stream. The default + value is 400 Kbps.

    + The bitrate setting is closely linked to the video + resolution. If the bitrate you set is beyond a reasonable range, the SDK + sets it within a reasonable range. +
    +
    + + audioSampleRate + +

    The sampling rate (Hz) of injecting the external audio stream. The + default value is 48000 Hz. See .

    + Agora recommends using the default value. +
    +
    + + audioBitrate + +

    The bitrate (Kbps) of injecting the external audio stream. The default + value is 48 Kbps.

    + Agora recommends using the default value. +
    +
    + + audioChannels + +

    The number of channels of the external audio stream after injecting.

      +
    • 1: Mono (default)
    • +
    • 2: Stereo.
    • +
    +

    + Agora recommends using the default value. +
    +
    + + - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_intrinsicelements.dita b/en-US/dita/RTC-NG/API/class_intrinsicelements.dita index 5272961bd12..5967819fac9 100644 --- a/en-US/dita/RTC-NG/API/class_intrinsicelements.dita +++ b/en-US/dita/RTC-NG/API/class_intrinsicelements.dita @@ -1,37 +1,42 @@ - <ph keyref="IntrinsicElements" /> - The custom HTML elements defined by Agora. + <ph keyref="IntrinsicElements"/> + The custom HTML elements defined by + Agora.

    - - - - interface IntrinsicElements { + + + + interface IntrinsicElements { "agora-view": AgoraView | HTMLElement; } - - -

    + + + +

    - -
    自从
    -
    v
    -
    + +
    自从
    +
    v
    +
    -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - agora-view - The name of the custom element, which supports rendering an or HTMLElement object. - -
    + + agora-view + The name of the custom element, which supports rendering an or HTMLElement object. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_ipacketobserver.dita b/en-US/dita/RTC-NG/API/class_ipacketobserver.dita index f6acc722230..deceb5c6200 100644 --- a/en-US/dita/RTC-NG/API/class_ipacketobserver.dita +++ b/en-US/dita/RTC-NG/API/class_ipacketobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IPacketObserver" /> + <ph keyref="IPacketObserver"/> The definition of IPacketObserver. - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_irtcengine.dita b/en-US/dita/RTC-NG/API/class_irtcengine.dita index 2078dfe5818..814424627d9 100644 --- a/en-US/dita/RTC-NG/API/class_irtcengine.dita +++ b/en-US/dita/RTC-NG/API/class_irtcengine.dita @@ -1,12 +1,15 @@ - <ph keyref="IRtcEngine" /> - The basic interface of the Agora SDK that implements the core functions of real-time communication. + <ph keyref="IRtcEngine"/> + The basic interface of the Agora SDK that implements + the core functions of real-time communication.
    -

    provides the main methods that your app can call.

    -

    Before calling other APIs, you must call to create an object.

    +

    provides the main methods that your app can call.

    +

    Before calling other APIs, you must + call to create an object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_irtcengineevent.dita b/en-US/dita/RTC-NG/API/class_irtcengineevent.dita index 14c6969ba35..1416162f845 100644 --- a/en-US/dita/RTC-NG/API/class_irtcengineevent.dita +++ b/en-US/dita/RTC-NG/API/class_irtcengineevent.dita @@ -1,34 +1,40 @@ - <ph keyref="IRtcEngineEvent" /> - The interface. Used for merging the callback interfaces corresponding to the objects in . + <ph keyref="IRtcEngineEvent"/> + The interface. Used + for merging the callback interfaces corresponding to the objects in .

    - - - - export type IRtcEngineEvent = IRtcEngineEventHandler & + + + + export type IRtcEngineEvent = IRtcEngineEventHandler & IDirectCdnStreamingEventHandler & IMetadataObserver & IAudioEncodedFrameObserver & IAudioSpectrumObserver; - - export type IRtcEngineEvent = IRtcEngineEventHandler & + + export type IRtcEngineEvent = IRtcEngineEventHandler & IDirectCdnStreamingEventHandler & IMetadataObserver & IAudioEncodedFrameObserver & IAudioSpectrumObserver; -

    +

    This interface merges the following interfaces:

      -
    • -
    • -
    • -
    • -
    You can call the , , and methods to add or remove the listeners for the callback events under the interfaces mentioned above.

    +
  • +
  • +
  • +
  • + You can call the , , and methods + to add or remove the listeners for the callback events under the interfaces + mentioned above. +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_irtcengineeventhandler.dita b/en-US/dita/RTC-NG/API/class_irtcengineeventhandler.dita index d3bc16ef1ea..b05953649a1 100644 --- a/en-US/dita/RTC-NG/API/class_irtcengineeventhandler.dita +++ b/en-US/dita/RTC-NG/API/class_irtcengineeventhandler.dita @@ -1,15 +1,25 @@ - <ph keyref="IRtcEngineEventHandler" /> - The SDK uses the interface to send event notifications to your app. Your app can get those notifications through methods that inherit this interface. + <ph keyref="IRtcEngineEventHandler"/> + The SDK uses the interface to send event notifications to your app. + Your app can get those notifications through methods that inherit this + interface.
    -

    All methods in this interface have default (empty) implementation. You can choose to inherit events related to your app scenario.

    +

    All methods in this interface have default (empty) implementation. You can choose to + inherit events related to your app scenario.

    -
      -
    • In the callbacks, avoid implementing time-consuming tasks or calling APIs that may cause thread blocking (such as sendMessage). Otherwise, the SDK may not work properly.
    • -
    • The SDK no longer catches exceptions in the code logic that developers implement themselves in class. You need to handle this exception yourself, otherwise the app may crash when the exception occurs.
    • -
    +
      +
    • In the callbacks, avoid implementing time-consuming tasks or calling APIs + that may cause thread blocking (such as sendMessage). + Otherwise, the SDK may not work properly.
    • +
    • The SDK no longer catches exceptions in the code logic that developers + implement themselves in class. + You need to handle this exception yourself, otherwise the app may crash when + the exception occurs.
    • +
    + - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_irtcengineeventhandlerex.dita b/en-US/dita/RTC-NG/API/class_irtcengineeventhandlerex.dita index c44aa1a82f3..e922f966943 100644 --- a/en-US/dita/RTC-NG/API/class_irtcengineeventhandlerex.dita +++ b/en-US/dita/RTC-NG/API/class_irtcengineeventhandlerex.dita @@ -1,6 +1,8 @@ - <ph keyref="IRtcEngineEventHandlerEx" /> - Inherited from the class, used to monitor and report the events and data of the specified channel. - \ No newline at end of file + <ph keyref="IRtcEngineEventHandlerEx"/> + Inherited from the class, used to monitor and report the events and + data of the specified channel. + diff --git a/en-US/dita/RTC-NG/API/class_irtcengineex.dita b/en-US/dita/RTC-NG/API/class_irtcengineex.dita index 363396584c3..9a74f4ef8bc 100644 --- a/en-US/dita/RTC-NG/API/class_irtcengineex.dita +++ b/en-US/dita/RTC-NG/API/class_irtcengineex.dita @@ -1,11 +1,12 @@ - <ph keyref="IRtcEngineEx" /> - This interface class contains multi-channel methods. + <ph keyref="IRtcEngineEx"/> + This interface class contains multi-channel + methods.
    -

    Inherited from .

    +

    Inherited from .

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_iscreencapturesourcelist.dita b/en-US/dita/RTC-NG/API/class_iscreencapturesourcelist.dita index aeb4b693d1d..8d7245dc13a 100644 --- a/en-US/dita/RTC-NG/API/class_iscreencapturesourcelist.dita +++ b/en-US/dita/RTC-NG/API/class_iscreencapturesourcelist.dita @@ -1,8 +1,9 @@ - <ph keyref="IScreenCaptureSourceList" /> - The class. This class is returned in the method. - - - \ No newline at end of file + <ph keyref="IScreenCaptureSourceList"/> + The class. + This class is returned in the + method. + + diff --git a/en-US/dita/RTC-NG/API/class_ivideodevicecollection.dita b/en-US/dita/RTC-NG/API/class_ivideodevicecollection.dita index f29c98b0871..b2e931ff54d 100644 --- a/en-US/dita/RTC-NG/API/class_ivideodevicecollection.dita +++ b/en-US/dita/RTC-NG/API/class_ivideodevicecollection.dita @@ -1,6 +1,7 @@ - <ph keyref="IVideoDeviceCollection" /> - You can get the information of video devices with this interface. - \ No newline at end of file + <ph keyref="IVideoDeviceCollection"/> + You can get the information of video devices with this + interface. + diff --git a/en-US/dita/RTC-NG/API/class_ivideodevicemanager.dita b/en-US/dita/RTC-NG/API/class_ivideodevicemanager.dita index e77daf3927b..ee0d452eeab 100644 --- a/en-US/dita/RTC-NG/API/class_ivideodevicemanager.dita +++ b/en-US/dita/RTC-NG/API/class_ivideodevicemanager.dita @@ -1,11 +1,13 @@ - <ph keyref="IVideoDeviceManager" /> + <ph keyref="IVideoDeviceManager"/> Video device management methods.
    -

    provides methods related to video device testing. You can call the method to get the interface.

    +

    provides methods + related to video device testing. You can call the + method to get the interface.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_ivideoencodedframeobserver.dita b/en-US/dita/RTC-NG/API/class_ivideoencodedframeobserver.dita index f6368e13db5..1e61506d52d 100644 --- a/en-US/dita/RTC-NG/API/class_ivideoencodedframeobserver.dita +++ b/en-US/dita/RTC-NG/API/class_ivideoencodedframeobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IVideoEncodedFrameObserver" /> + <ph keyref="IVideoEncodedFrameObserver"/> Receives encoded video images. - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_ivideoencodedimagereceiver.dita b/en-US/dita/RTC-NG/API/class_ivideoencodedimagereceiver.dita index 1a2d74fbb81..d441a8d736f 100644 --- a/en-US/dita/RTC-NG/API/class_ivideoencodedimagereceiver.dita +++ b/en-US/dita/RTC-NG/API/class_ivideoencodedimagereceiver.dita @@ -1,6 +1,6 @@ - <ph keyref="IVideoEncodedImageReceiver" /> + <ph keyref="IVideoEncodedImageReceiver"/> Receives encoded video images. - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_ivideoframeconsumer.dita b/en-US/dita/RTC-NG/API/class_ivideoframeconsumer.dita index f06efb7e276..3e0965bdbda 100644 --- a/en-US/dita/RTC-NG/API/class_ivideoframeconsumer.dita +++ b/en-US/dita/RTC-NG/API/class_ivideoframeconsumer.dita @@ -1,6 +1,7 @@ - <ph keyref="IVideoFrameConsumer" /> - is used by the SDK to receive the video frames you capture. - \ No newline at end of file + <ph keyref="IVideoFrameConsumer"/> + is used by the + SDK to receive the video frames you capture. + diff --git a/en-US/dita/RTC-NG/API/class_ivideoframeobserver.dita b/en-US/dita/RTC-NG/API/class_ivideoframeobserver.dita index dc365f31cef..9feb34b492a 100644 --- a/en-US/dita/RTC-NG/API/class_ivideoframeobserver.dita +++ b/en-US/dita/RTC-NG/API/class_ivideoframeobserver.dita @@ -1,11 +1,12 @@ - <ph keyref="IVideoFrameObserver" /> + <ph keyref="IVideoFrameObserver"/> The IVideoFrameObserver class.
    -

    You can call to register or unregister an object.

    +

    You can call to register or unregister an + object.

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_ivideosink.dita b/en-US/dita/RTC-NG/API/class_ivideosink.dita index 932b26a0cf1..23aa21dd49d 100644 --- a/en-US/dita/RTC-NG/API/class_ivideosink.dita +++ b/en-US/dita/RTC-NG/API/class_ivideosink.dita @@ -2,27 +2,27 @@ ivideosink - +

    - - - - - - - -

    + + + + + + + +

    - -
    Since
    -
    v
    -
    + +
    Since
    +
    v
    +
    -

    +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_ivideosource.dita b/en-US/dita/RTC-NG/API/class_ivideosource.dita index b4d3ccd83e2..8ae4297eee2 100644 --- a/en-US/dita/RTC-NG/API/class_ivideosource.dita +++ b/en-US/dita/RTC-NG/API/class_ivideosource.dita @@ -1,6 +1,7 @@ - <ph keyref="IVideoSource" /> - The IVideoSource class. You can use it to customize the video source. - \ No newline at end of file + <ph keyref="IVideoSource"/> + The IVideoSource class. You can use it to customize the video source. + diff --git a/en-US/dita/RTC-NG/API/class_lastmileprobeconfig.dita b/en-US/dita/RTC-NG/API/class_lastmileprobeconfig.dita index 8ab6b076f44..a20aa4b6fe3 100644 --- a/en-US/dita/RTC-NG/API/class_lastmileprobeconfig.dita +++ b/en-US/dita/RTC-NG/API/class_lastmileprobeconfig.dita @@ -1,12 +1,13 @@ - <ph keyref="LastmileProbeConfig" /> - Configurations of the last-mile network test. + <ph keyref="LastmileProbeConfig"/> + Configurations of the last-mile network + test.

    - public class LastmileProbeConfig { + public class LastmileProbeConfig { public boolean probeUplink; public boolean probeDownlink; public int expectedUplinkBitrate; @@ -14,19 +15,19 @@ public LastmileProbeConfig() {} } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject @property (assign, nonatomic) BOOL probeUplink; @property (assign, nonatomic) BOOL probeDownlink; @property (assign, nonatomic) NSUInteger expectedUplinkBitrate; @property (assign, nonatomic) NSUInteger expectedDownlinkBitrate; @end - struct LastmileProbeConfig { + struct LastmileProbeConfig { bool probeUplink; bool probeDownlink; unsigned int expectedUplinkBitrate; unsigned int expectedDownlinkBitrate; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLastmileProbeConfig { GENERATED_BODY() @@ -40,7 +41,7 @@ struct FLastmileProbeConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") int expectedDownlinkBitrate; }; - export class LastmileProbeConfig { + export class LastmileProbeConfig { probeUplink?: boolean; @@ -69,7 +70,7 @@ struct FLastmileProbeConfig public uint expectedUplinkBitrate { set; get; } public uint expectedDownlinkBitrate { set; get; } } - export class LastmileProbeConfig { + export class LastmileProbeConfig { probeUplink?: boolean; @@ -79,7 +80,7 @@ struct FLastmileProbeConfig expectedDownlinkBitrate?: number; } - class LastmileProbeConfig { + class LastmileProbeConfig { const LastmileProbeConfig( {this.probeUplink, this.probeDownlink, @@ -98,37 +99,49 @@ struct FLastmileProbeConfig _$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 - -

    Sets whether to test the uplink network. Some users, for example, the audience members in a LIVE_BROADCASTING channel, do not need such a test.

      -
    • : Test the uplink network.
    • -
    • : Do not test the uplink network.
    • -

    -
    -
    - - probeDownlink - -

    Sets whether to test the downlink network:

      -
    • : Test the downlink network.
    • -
    • : Do not test the downlink network.
    • -

    -
    -
    - - expectedUplinkBitrate - The expected maximum uplink bitrate (bps) of the local user. The value range is [100000, 5000000]. Agora recommends referring to to set the value. - - - expectedDownlinkBitrate - The expected maximum downlink bitrate (bps) of the local user. The value range is [100000,5000000]. - -
    + + probeUplink + +

    Sets whether to test the uplink network. Some users, for example, the + audience members in a LIVE_BROADCASTING channel, do not need such a test.

      +
    • : Test the uplink + network.
    • +
    • : Do not test the uplink + network.
    • +
    +

    +
    +
    + + probeDownlink + +

    Sets whether to test the downlink network:

      +
    • : Test the downlink + network.
    • +
    • : Do not test the downlink + network.
    • +
    +

    +
    +
    + + expectedUplinkBitrate + The expected maximum uplink bitrate (bps) of the local user. The value range + is [100000, 5000000]. Agora recommends referring to to set the value. + + + expectedDownlinkBitrate + The expected maximum downlink bitrate (bps) of the local user. The value + range is [100000,5000000]. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_lastmileprobeonewayresult.dita b/en-US/dita/RTC-NG/API/class_lastmileprobeonewayresult.dita index 4b929310fe0..42f805a2207 100644 --- a/en-US/dita/RTC-NG/API/class_lastmileprobeonewayresult.dita +++ b/en-US/dita/RTC-NG/API/class_lastmileprobeonewayresult.dita @@ -1,12 +1,13 @@ - <ph keyref="LastmileProbeOneWayResult" /> - Results of the uplink or downlink last-mile network test. + <ph keyref="LastmileProbeOneWayResult"/> + Results of the uplink or downlink last-mile network + test.

    - struct LastmileProbeOneWayResult { + struct LastmileProbeOneWayResult { unsigned int packetLossRate; unsigned int jitter; unsigned int availableBandwidth; @@ -15,7 +16,7 @@ jitter(0), availableBandwidth(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLastmileProbeOneWayResult { GENERATED_BODY() @@ -25,17 +26,17 @@ struct FLastmileProbeOneWayResult { int64 availableBandwidth; }; - public static class LastmileProbeOneWayResult { + public static class LastmileProbeOneWayResult { public int packetLossRate; public int jitter; public int availableBandwidth; } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject @property (assign, nonatomic) NSUInteger packetLossRate; @property (assign, nonatomic) NSUInteger jitter; @property (assign, nonatomic) NSUInteger availableBandwidth; @end - export class LastmileProbeOneWayResult { + export class LastmileProbeOneWayResult { packetLossRate?: number; @@ -43,7 +44,7 @@ struct FLastmileProbeOneWayResult { availableBandwidth?: number; } - public class LastmileProbeOneWayResult + public class LastmileProbeOneWayResult { public LastmileProbeOneWayResult() { @@ -60,7 +61,7 @@ struct FLastmileProbeOneWayResult { public uint jitter { set; get; } public uint availableBandwidth { set; get; } } - export class LastmileProbeOneWayResult { + export class LastmileProbeOneWayResult { packetLossRate?: number; @@ -68,7 +69,7 @@ struct FLastmileProbeOneWayResult { availableBandwidth?: number; } - class LastmileProbeOneWayResult { + class LastmileProbeOneWayResult { const LastmileProbeOneWayResult( {this.packetLossRate, this.jitter, this.availableBandwidth}); @@ -86,20 +87,22 @@ struct FLastmileProbeOneWayResult {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - packetLossRate - The packet loss rate (%). - - - jitter - The network jitter (ms). - - - availableBandwidth - The estimated available bandwidth (bps). - -
    + + packetLossRate + The packet loss rate (%). + + + jitter + The network jitter (ms). + + + availableBandwidth + The estimated available bandwidth (bps). + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_lastmileproberesult.dita b/en-US/dita/RTC-NG/API/class_lastmileproberesult.dita index 1f90e6961aa..cb368ddae59 100644 --- a/en-US/dita/RTC-NG/API/class_lastmileproberesult.dita +++ b/en-US/dita/RTC-NG/API/class_lastmileproberesult.dita @@ -1,12 +1,13 @@ - <ph keyref="LastmileProbeResult" /> - Results of the uplink and downlink last-mile network tests. + <ph keyref="LastmileProbeResult"/> + Results of the uplink and downlink last-mile network + tests.

    - struct LastmileProbeResult { + struct LastmileProbeResult { LASTMILE_PROBE_RESULT_STATE state; LastmileProbeOneWayResult uplinkReport; LastmileProbeOneWayResult downlinkReport; @@ -15,7 +16,7 @@ LastmileProbeResult() : state(LASTMILE_PROBE_RESULT_UNAVAILABLE), rtt(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLastmileProbeResult { GENERATED_BODY() @@ -28,7 +29,7 @@ struct FLastmileProbeResult { int64 rtt = 0; }; - public static class LastmileProbeResult { + public static class LastmileProbeResult { public static class LastmileProbeOneWayResult { public int packetLossRate; @@ -41,14 +42,14 @@ struct FLastmileProbeResult { public LastmileProbeOneWayResult uplinkReport = new LastmileProbeOneWayResult(); public LastmileProbeOneWayResult downlinkReport = new LastmileProbeOneWayResult(); } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject @property (assign, nonatomic) AgoraLastmileProbeResultState state; @property (assign, nonatomic) NSUInteger rtt; @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull uplinkReport; @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull downlinkReport; @end - export class LastmileProbeResult { + export class LastmileProbeResult { state?: LastmileProbeResultState; @@ -58,7 +59,7 @@ struct FLastmileProbeResult { rtt?: number; } - public class LastmileProbeResult + public class LastmileProbeResult { public LastmileProbeResult() { @@ -79,7 +80,7 @@ struct FLastmileProbeResult { public LastmileProbeOneWayResult downlinkReport { set; get; } public uint rtt { set; get; } } - export class LastmileProbeResult { + export class LastmileProbeResult { state?: LastmileProbeResultState; @@ -89,7 +90,7 @@ struct FLastmileProbeResult { rtt?: number; } - class LastmileProbeResult { + class LastmileProbeResult { const LastmileProbeResult( {this.state, this.uplinkReport, this.downlinkReport, this.rtt}); @@ -109,31 +110,44 @@ struct FLastmileProbeResult {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - state - -

    The status of the last-mile network tests. See .

    -

    The status of the last-mile network tests, which includes:

      -
    • (1): The last-mile network probe test is complete.
    • -
    • (2): The last-mile network probe test is incomplete because the bandwidth estimation is not available due to limited test resources. Probably due to limited test resources.
    • -
    • (3): The last-mile network probe test is not carried out. Probably due to poor network conditions.
    • -

    -
    -
    - - uplinkReport - Results of the uplink last-mile network test. See . - - - downlinkReport - Results of the downlink last-mile network test. See . - - - rtt - The round-trip time (ms). - -
    + + state + +

    The status of + the last-mile network tests. See .

    +

    The status of the last-mile network tests, which includes:

      +
    • (1): The last-mile + network probe test is complete.
    • +
    • (2): The + last-mile network probe test is incomplete because the bandwidth + estimation is not available due to limited test resources. + Probably due to limited test resources.
    • +
    • (3): The + last-mile network probe test is not carried out. Probably due to + poor network conditions.
    • +
    +

    +
    +
    + + uplinkReport + Results of the uplink last-mile network test. See . + + + downlinkReport + Results of the downlink last-mile network test. See . + + + rtt + The round-trip time (ms). + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_leavechanneloptions.dita b/en-US/dita/RTC-NG/API/class_leavechanneloptions.dita index 739bcbd377e..d08804404dc 100644 --- a/en-US/dita/RTC-NG/API/class_leavechanneloptions.dita +++ b/en-US/dita/RTC-NG/API/class_leavechanneloptions.dita @@ -1,30 +1,30 @@ - <ph keyref="LeaveChannelOptions" /> + <ph keyref="LeaveChannelOptions"/> The options for leaving a channel.

    - public class LeaveChannelOptions { + public class LeaveChannelOptions { public boolean stopAudioMixing; public boolean stopAllEffect; public boolean stopMicrophoneRecording; } - __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject @property(nonatomic, assign) BOOL stopAudioMixing; @property(nonatomic, assign) BOOL stopAllEffect; @property(nonatomic, assign) BOOL stopMicrophoneRecording; @end - struct LeaveChannelOptions { + struct LeaveChannelOptions { bool stopAudioMixing; bool stopAllEffect; bool stopMicrophoneRecording; LeaveChannelOptions() : stopAudioMixing(true), stopAllEffect(true), stopMicrophoneRecording(true) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLeaveChannelOptions { GENERATED_BODY() @@ -36,7 +36,7 @@ struct FLeaveChannelOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LeaveChannelOptions") AGORAOPTIONAL stopMicrophoneRecording; }; - export class LeaveChannelOptions { + export class LeaveChannelOptions { stopAudioMixing?: boolean; @@ -44,7 +44,7 @@ struct FLeaveChannelOptions stopMicrophoneRecording?: boolean; } - public class LeaveChannelOptions + public class LeaveChannelOptions { public LeaveChannelOptions() { @@ -57,7 +57,7 @@ struct FLeaveChannelOptions public bool stopAllEffect { set; get; } public bool stopMicrophoneRecording { set; get; } }; - export class LeaveChannelOptions { + export class LeaveChannelOptions { stopAudioMixing?: boolean; @@ -65,7 +65,7 @@ struct FLeaveChannelOptions stopMicrophoneRecording?: boolean; } - class LeaveChannelOptions { + class LeaveChannelOptions { const LeaveChannelOptions( {this.stopAudioMixing, this.stopAllEffect, this.stopMicrophoneRecording}); @@ -79,32 +79,44 @@ struct FLeaveChannelOptions _$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 - Whether to stop playing and mixing the music file when a user leaves the channel.
      -
    • : (Default) Stop playing and mixing the music file.
    • -
    • : Do not stop playing and mixing the music file.
    • -
    -
    - - stopAllEffect - Whether to stop playing all audio effects when a user leaves the channel.
      -
    • : (Default) Stop playing all audio effects.
    • -
    • : Do not stop playing any audio effect.
    • -
    -
    - - stopMicrophoneRecording - Whether to stop microphone recording when a user leaves the channel.
      -
    • : (Default) Stop microphone recording.
    • -
    • : Do not stop microphone recording.
    • -
    -
    -
    + + stopAudioMixing + Whether to stop playing and mixing the music file when a user leaves the + channel.
      +
    • : (Default) Stop playing and + mixing the music file.
    • +
    • : Do not stop playing and + mixing the music file.
    • +
    +
    +
    + + stopAllEffect + Whether to stop playing all audio effects when a user leaves the channel.
      +
    • : (Default) Stop playing all + audio effects.
    • +
    • : Do not stop playing any audio + effect.
    • +
    +
    + + stopMicrophoneRecording + Whether to stop microphone recording when a user leaves the channel.
      +
    • : (Default) Stop microphone + recording.
    • +
    • : Do not stop microphone + recording.
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_livestreamadvancedfeature.dita b/en-US/dita/RTC-NG/API/class_livestreamadvancedfeature.dita index 64c8641925f..5d2257a7f2e 100644 --- a/en-US/dita/RTC-NG/API/class_livestreamadvancedfeature.dita +++ b/en-US/dita/RTC-NG/API/class_livestreamadvancedfeature.dita @@ -1,25 +1,26 @@ - <ph keyref="LiveStreamAdvancedFeature" /> - The configuration for advanced features of the RTMP or RTMPS streaming with transcoding. + <ph keyref="LiveStreamAdvancedFeature"/> + The configuration for advanced features of the RTMP or + RTMPS streaming with transcoding.

    - - __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject + + __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject @property(copy, nonatomic) NSString* _Nullable featureName; @property(assign, nonatomic) BOOL opened; @end - + struct LiveStreamAdvancedFeature { LiveStreamAdvancedFeature() : featureName(NULL), opened(false) {} LiveStreamAdvancedFeature(const char* feat_name, bool open) : featureName(feat_name), opened(open) {} const char* featureName; bool opened; } ; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLiveStreamAdvancedFeature { GENERATED_BODY() @@ -29,13 +30,13 @@ struct FLiveStreamAdvancedFeature { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LiveStreamAdvancedFeature") bool opened; }; - export class LiveStreamAdvancedFeature { + export class LiveStreamAdvancedFeature { featureName?: string; opened?: boolean; } - public class LiveStreamAdvancedFeature + public class LiveStreamAdvancedFeature { public LiveStreamAdvancedFeature() { @@ -51,13 +52,13 @@ struct FLiveStreamAdvancedFeature { public string featureName { set; get; } public bool opened { set; get; } }; - export class LiveStreamAdvancedFeature { + export class LiveStreamAdvancedFeature { featureName?: string; opened?: boolean; } - class LiveStreamAdvancedFeature { + class LiveStreamAdvancedFeature { const LiveStreamAdvancedFeature({this.featureName, this.opened}); @JsonKey(name: 'featureName') @@ -67,26 +68,31 @@ struct FLiveStreamAdvancedFeature { factory LiveStreamAdvancedFeature.fromJson(Map<String, dynamic> json) => _$LiveStreamAdvancedFeatureFromJson(json); Map<String, dynamic> toJson() => _$LiveStreamAdvancedFeatureToJson(this); -} -

    +} +

    -

    If you want to enable the advanced features of streaming with transcoding, contact .

    +

    If you want to enable the advanced features of streaming with transcoding, contact + .

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - featureName - The feature names, including LBHQ (high-quality video with a lower bitrate) and VEO (optimized video encoder). - - - opened - Whether to enable the advanced features of streaming with transcoding:
      -
    • : Enable the advanced features.
    • -
    • : (Default) Do not enable the advanced features.
    • -
    -
    + + featureName + The feature names, including LBHQ (high-quality video with a lower bitrate) + and VEO (optimized video encoder). + + + opened + Whether to enable the advanced features of streaming with transcoding:
      +
    • : Enable the advanced + features.
    • +
    • : (Default) Do not enable the + advanced features.
    • +
    +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_livetranscoding.dita b/en-US/dita/RTC-NG/API/class_livetranscoding.dita index 10e2aadcef7..d739d73949b 100644 --- a/en-US/dita/RTC-NG/API/class_livetranscoding.dita +++ b/en-US/dita/RTC-NG/API/class_livetranscoding.dita @@ -1,12 +1,15 @@ - <ph keyref="LiveTranscoding"/> - Transcoding configurations for Media Push. + + <ph keyref="LiveTranscoding"/> + + Transcoding configurations for Media + Push.

    - public class LiveTranscoding { + public class LiveTranscoding { public enum AudioSampleRateType { TYPE_32000(32000), TYPE_44100(44100), @@ -225,7 +228,7 @@ this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } } - __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject @property(assign, nonatomic) CGSize size; @property(assign, nonatomic) NSInteger videoBitrate; @@ -249,7 +252,7 @@ - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened; - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures; @end - struct LiveTranscoding { + struct LiveTranscoding { int width; int height; int videoBitrate; @@ -275,7 +278,7 @@ unsigned int advancedFeatureCount; LiveTranscoding() : width(360), height(640), videoBitrate(400), videoFramerate(15), lowLatency(false), videoGop(30), videoCodecProfile(VIDEO_CODEC_PROFILE_HIGH), backgroundColor(0x000000), videoCodecType(VIDEO_CODEC_H264_FOR_STREAM), userCount(0), transcodingUsers(NULL), transcodingExtraInfo(NULL), metadata(NULL), watermark(NULL), watermarkCount(0), backgroundImage(NULL), backgroundImageCount(0), audioSampleRate(AUDIO_SAMPLE_RATE_48000), audioBitrate(48), audioChannels(1), audioCodecProfile(AUDIO_CODEC_PROFILE_LC_AAC), advancedFeatures(NULL), advancedFeatureCount(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLiveTranscoding { GENERATED_BODY() @@ -327,7 +330,7 @@ struct FLiveTranscoding UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LiveTranscoding") int advancedFeatureCount = 0; }; - export class LiveTranscoding { + export class LiveTranscoding { width?: number; @@ -375,7 +378,7 @@ struct FLiveTranscoding advancedFeatureCount?: number; } - public class LiveTranscoding + public class LiveTranscoding { public LiveTranscoding() { @@ -460,7 +463,7 @@ struct FLiveTranscoding public LiveStreamAdvancedFeature[] advancedFeatures { set; get; } public uint advancedFeatureCount { set; get; } } - export class LiveTranscoding { + export class LiveTranscoding { width?: number; @@ -508,7 +511,7 @@ struct FLiveTranscoding advancedFeatureCount?: number; } - class LiveTranscoding { + class LiveTranscoding { const LiveTranscoding( {this.width, this.height, @@ -608,358 +611,426 @@ struct FLiveTranscoding Map<String, dynamic> toJson() => _$LiveTranscodingToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - -

    The width of the video in pixels. The default value is 360.

    -
      -
    • When pushing video streams to the CDN, the value range of width is [64,1920]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1920, Agora server automatically adjusts it to 1920.
    • -
    • When pushing audio streams to the CDN, set width and height as 0.
    • -
    -
    - - height - -

    The height of the video in pixels. The default value is 640.

    -
      -
    • When pushing video streams to the CDN, the value range of height is [64,1080]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1080, Agora server automatically adjusts it to 1080.
    • -
    • When pushing audio streams to the CDN, set width and height as 0.
    • -
    -
    - - size - -

    The size of the video (width and height in pixels).

    -
      -
    • When pushing video streams to the CDN, note the following:
        -
      • The value range of the width is [64,1920]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1920, Agora server automatically adjusts it to 1920.
      • -
      • The value range of the height is [64,1080]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1080, Agora server automatically adjusts it to 1080.
      • -
    • -
    • When pushing audio streams to the CDN, set the width and height as 0.
    • -
    -
    - - videoBitrate - -

    Bitrate of the output video stream for Media Push in Kbps. The default value is 400 Kbps.

    -

    Set this member according to the table. If you set a bitrate beyond the proper range, the SDK automatically adapts it to a value within the range.

    -
    -
    - - videoFrameRate - -

    Frame rate (fps) of the output video stream set for Media Push. The default value is 15. The value range is (0,30].

    - The Agora server adjusts any value over 30 to 30.
    -
    - - lowLatency - -
    - -
    Deprecated
    -
    This member is deprecated.
    -
    -
    -

    Latency mode:

    -
      -
    • : Low latency with unassured quality.
    • -
    • : (Default) High latency with assured quality.
    • -
    -
    - - videoGop - GOP (Group of Pictures) in fps of the video frames for Media Push. The default value is 30. - - - videoCodecProfile - -

    Video codec profile type for Media Push. Set it as 66, 77, or 100 (default). See for details.

    - If you set this parameter to any other value, Agora adjusts it to the default value.
    -
    - - videoCodecType - Video codec profile types for Media Push. See . - - - transcodingUsers - -

    Manages the user layout configuration in the Media Push. Agora supports a maximum of 17 transcoding users in a Media Push channel. See .

    -
    -
    - - transcodingExtraInfo - userConfigExtraInfo - -

    Reserved property. Extra user-defined information to send SEI for the H.264/H.265 video stream to the CDN live client. Maximum length: 4096 bytes. For more information on SEI, see SEI-related questions.

    -
    -
    - - backgroundColor - -

    The background color in for Media Push.

    -

    The color of the custom background image. The format is a hexadecimal integer defined by RGB, without the # sign, such as 0xFFB6C1 for light pink. The default value is 0x000000(black).

    -

    COLOR_CLASS is a general name for the type:

      -
    • iOS: UIColor
    • -
    • macOS: NSColor
    • -

    -
    -
    - - backgroundColor - -
    - -
    Deprecated
    -
    Obsolete and not recommended for use. Use instead.
    -
    -
    -
    - -

    The background color in RGB hex value. Value only. Do not include a preceeding #. For example, 0xFFB6C1 (light pink). The default value is 0x000000 (black).

    -
    -
    - - userCount - -
    - -
    Deprecated
    -
    Obsolete and not recommended for use. Use instead.
    -
    -
    -

    The number of users in the Media Push. The value range is [0,17].

    -
    -
    - - metadata - -
    - -
    Deprecated
    -
    Obsolete and not recommended for use.
    -
    -
    -

    The metadata sent to the CDN client.

    -
    -
    - - watermark - -

    The watermark on the live video. The image format needs to be PNG. See .

    -

    You can add one watermark, or add multiple watermarks using an array. This parameter is used with watermarkCount.

    -
    -
    - - backgroundImage - -

    The number of background images on the live video. The image format needs to be PNG. See .

    -

    You can add a background image or use an array to add multiple background images. This parameter is used with backgroundImageCount.

    -
    -
    - - backgroundImageArray - An array of background images on the live video. See . You can use backgroundImageArray to add one or more background images. The image format needs to be PNG. The total number of watermarks and background images on a live video must be greater than or equal to 0 and less than or equal to 10. - - - audioSampleRate - -

    The audio sampling rate (Hz) of the output media stream. See .

    -
    -
    - - audioBitrate - -

    Bitrate (Kbps) of the audio output stream for Media Push. The default value is 48, and the highest value is 128.

    -
    -
    - - audioChannels - -

    The number of audio channels for Media Push. Agora recommends choosing 1 (mono), or 2 (stereo) audio channels. Special players are required if you choose 3, 4, or 5.

    -
      -
    • 1: (Default) Mono
    • -
    • 2: Stereo.
    • -
    • 3: Three audio channels.
    • -
    • 4: Four audio channels.
    • -
    • 5: Five audio channels.
    • -
    -
    - - audioCodecProfile - Audio codec profile type for Media Push. See . - - - watermarkArray - The array of watermarks on the live video. See . You can add one or more watermarks using watermarkArray. The image format needs to be PNG. The total number of watermarks and background images on a live video must be greater than or equal to 0 and less than or equal to 10. - - - watermarkCount - The number of watermarks on the live video. The total number of watermarks and background images can range from 0 to 10. This parameter is used with watermark. - - - backgroundImageCount - The number of background images on the live video. The total number of watermarks and background images can range from 0 to 10. This parameter is used with backgroundImage. - - - advancedFeatures - Advanced features of the Media Push with transcoding. See . - - - advancedFeatureCount - The number of enabled advanced features. The default value is 0. - -
    + + width + +

    The width of the video in pixels. The default value is 360.

    +
      +
    • When pushing video streams to the CDN, the value range of width + is [64,1920]. If the value is less than 64, Agora server automatically adjusts it to + 64; if the value is greater than 1920, Agora server automatically adjusts it to + 1920.
    • +
    • When pushing audio streams to the CDN, set width and + height as 0.
    • +
    +
    +
    + + height + +

    The height of the video in pixels. The default value is 640.

    +
      +
    • When pushing video streams to the CDN, the value range of height + is [64,1080]. If the value is less than 64, Agora server automatically adjusts it to + 64; if the value is greater than 1080, Agora server automatically adjusts it to + 1080.
    • +
    • When pushing audio streams to the CDN, set width and + height as 0.
    • +
    +
    +
    + + size + +

    The size of the video (width and height in pixels).

    +
      +
    • When pushing video streams to the CDN, note the following:
        +
      • The value range of the width is [64,1920]. If the value is less than 64, Agora + server automatically adjusts it to 64; if the value is greater than 1920, Agora + server automatically adjusts it to 1920.
      • +
      • The value range of the height is [64,1080]. If the value is less than 64, + Agora server automatically adjusts it to 64; if the value is greater than 1080, + Agora server automatically adjusts it to 1080.
      • +
    • +
    • When pushing audio streams to the CDN, set the width and height as 0.
    • +
    +
    +
    + + videoBitrate + +

    Bitrate of the output video stream for Media Push in Kbps. The default value is 400 + Kbps.

    +

    Set this member according to the table. If you + set a bitrate beyond the proper range, the SDK automatically adapts it to a value + within the range.

    +
    +
    + + videoFrameRate + +

    Frame rate (fps) of the output video stream set for Media Push. The default value is + 15. The value range is (0,30].

    + The Agora server adjusts any value over 30 to 30.
    +
    + + lowLatency + +
    + +
    Deprecated
    +
    This member is deprecated.
    +
    +
    +

    Latency mode:

    +
      +
    • : Low latency with unassured quality.
    • +
    • : (Default) High latency with assured + quality.
    • +
    +
    + + videoGop + GOP (Group of Pictures) in fps of the video frames for Media Push. The default value + is 30. + + + videoCodecProfile + +

    Video codec profile type for Media Push. Set it as 66, 77, or 100 (default). See + for details.

    + If you set this parameter to any other value, Agora adjusts it to + the default value.
    +
    + + videoCodecType + Video codec profile types for Media Push. See . + + + transcodingUsers + +

    Manages the user layout configuration in the Media Push. Agora supports a maximum of + 17 transcoding users in a Media Push channel. See .

    +
    +
    + + transcodingExtraInfo + userConfigExtraInfo + +

    Reserved property. Extra user-defined information to send SEI for the H.264/H.265 + video stream to the CDN live client. Maximum length: 4096 bytes. For more information + on SEI, see SEI-related questions.

    +
    +
    + + backgroundColor + +

    The background color in for Media Push.

    +

    The color of the custom background image. The format is a hexadecimal integer defined + by RGB, without the # sign, such as 0xFFB6C1 for light pink. The default value is + 0x000000(black).

    +

    COLOR_CLASS is a general name for the type:

      +
    • iOS: UIColor
    • +
    • macOS: NSColor
    • +

    +
    +
    + + backgroundColor + +
    + +
    Deprecated
    +
    Obsolete and not recommended for use. Use + instead.
    +
    +
    +
    + +

    The background color in RGB hex value. Value only. Do not include a preceeding #. For + example, 0xFFB6C1 (light pink). The default value is 0x000000 (black).

    +
    +
    + + userCount + +
    + +
    Deprecated
    +
    Obsolete and not recommended for use. Use + instead.
    +
    +
    +

    The number of users in the Media Push. The value range is [0,17].

    +
    +
    + + metadata + +
    + +
    Deprecated
    +
    Obsolete and not recommended for use.
    +
    +
    +

    The metadata sent to the CDN client.

    +
    +
    + + watermark + +

    The watermark on the live video. The image format needs to be PNG. See .

    +

    You can add one watermark, or add multiple watermarks using an array. This parameter is used with + watermarkCount.

    +
    +
    + + backgroundImage + +

    The number of background images on the live video. The image format needs to be PNG. + See .

    +

    You can add a background image or use an array to add multiple background images. + This parameter is used with backgroundImageCount.

    +
    +
    + + backgroundImageArray + An array of background images on the live video. See . You + can use backgroundImageArray to add one or more background images. + The image format needs to be PNG. The total number of watermarks and background images + on a live video must be greater than or equal to 0 and less than or equal to 10. + + + audioSampleRate + +

    The audio sampling rate (Hz) of the output media stream. See .

    +
    +
    + + audioBitrate + +

    Bitrate (Kbps) of the audio output stream for Media Push. The default value is 48, + and the highest value is 128.

    +
    +
    + + audioChannels + +

    The number of audio channels for Media Push. Agora recommends choosing 1 (mono), or 2 + (stereo) audio channels. Special players are required if you choose 3, 4, or 5.

    +
      +
    • 1: (Default) Mono
    • +
    • 2: Stereo.
    • +
    • 3: Three audio channels.
    • +
    • 4: Four audio channels.
    • +
    • 5: Five audio channels.
    • +
    +
    +
    + + audioCodecProfile + Audio codec profile type for Media Push. See . + + + watermarkArray + The array of watermarks on the live video. See . You can add + one or more watermarks using watermarkArray. + The image format needs to be PNG. The total number of watermarks and background images + on a live video must be greater than or equal to 0 and less than or equal to 10. + + + watermarkCount + The number of watermarks on the live video. The total number of watermarks and + background images can range from 0 to 10. This parameter is used with + watermark. + + + backgroundImageCount + The number of background images on the live video. The total number of watermarks and + background images can range from 0 to 10. This parameter is used with + backgroundImage. + + + advancedFeatures + Advanced features of the Media Push with transcoding. See . + + + advancedFeatureCount + The number of enabled advanced features. The default value is 0. + + +
    Method - - addBackgroundImage - Adds a background image. See . - - - addUser - Adds a user for video mixing during the CDN live streaming. See . - - - addWatermark - Adds a watermark. See . - - - getAdvancedFeatures - Gets the status of the advanced features of streaming with transcoding. See . - - - getBackgroundColor - Gets the background color in hex. See . - - - getBackgroundImageList - Gets the list of background images. See . - - - getBlue - -
    - -
    Deprecated
    -
    Obsolete and not recommended for use.
    -
    -
    -

    Gets the background color's blue component. See .

    -
    -
    - - getGreen - -
    - -
    Deprecated
    -
    Obsolete and not recommended for use.
    -
    -
    -

    Gets the background color's green component. See .

    -
    -
    - - getRed - -
    - -
    Deprecated
    -
    Obsolete and not recommended for use.
    -
    -
    -

    Gets the background color's red component. See .

    -
    -
    - - getUserCount - Gets the number of users transcoded in the CDN live streaming. See . - - - getUsers - Gets the user list in the CDN live streaming. See . - - - getWatermarkList - Gets the watermark list. See . - - - removeBackgroundImage - Removes a background image from the background image list. See . - - - removeUser - Removes a user from video mixing during the CDN live streaming. See . - - - removeWatermark - Removes a watermark from the watermark list. See . - - - setAdvancedFeatures - Sets whether to enable the advanced features of streaming with transcoding. See . - - - setBackgroundColor [1/2] - Sets the background color of the CDN live stream in the format of RGB hex. See . - - - setBackgroundColor [2/2] - Sets the background color in RGB format. See . - - - setBlue - -
    - -
    Deprecated
    -
    Obsolete and not recommended for use.
    -
    -
    -

    Sets the background color's blue component. See .

    -
    -
    - - setGreen - -
    - -
    Deprecated
    -
    Obsolete and not recommended for use.
    -
    -
    -

    Sets the background color's green component. See .

    -
    -
    - - setRed - -
    - -
    Deprecated
    -
    Obsolete and not recommended for use.
    -
    -
    -

    Sets the background color's red component. See .

    -
    -
    - - setUsers [1/2] - Sets the users in batches in the CDN live streaming. See . - - - setUsers [2/2] - Sets the users in batches in the CDN live streaming. See . - + + addBackgroundImage + Adds a background image. See . + + + addUser + Adds a user for video mixing during the CDN live streaming. See . + + + addWatermark + Adds a watermark. See . + + + getAdvancedFeatures + Gets the status of the advanced features of streaming with transcoding. See . + + + getBackgroundColor + Gets the background color in hex. See . + + + getBackgroundImageList + Gets the list of background images. See . + + + getBlue + +
    + +
    Deprecated
    +
    Obsolete and not recommended for use.
    +
    +
    +

    Gets the background color's blue component. See .

    +
    +
    + + getGreen + +
    + +
    Deprecated
    +
    Obsolete and not recommended for use.
    +
    +
    +

    Gets the background color's green component. See .

    +
    +
    + + getRed + +
    + +
    Deprecated
    +
    Obsolete and not recommended for use.
    +
    +
    +

    Gets the background color's red component. See .

    +
    +
    + + getUserCount + Gets the number of users transcoded in the CDN live streaming. See . + + + getUsers + Gets the user list in the CDN live streaming. See . + + + getWatermarkList + Gets the watermark list. See . + + + removeBackgroundImage + Removes a background image from the background image list. See . + + + removeUser + Removes a user from video mixing during the CDN live streaming. See . + + + removeWatermark + Removes a watermark from the watermark list. See . + + + setAdvancedFeatures + Sets whether to enable the advanced features of streaming with transcoding. See . + + + setBackgroundColor [1/2] + Sets the background color of the CDN live stream in the format of RGB hex. See . + + + setBackgroundColor [2/2] + Sets the background color in RGB format. See . + + + setBlue + +
    + +
    Deprecated
    +
    Obsolete and not recommended for use.
    +
    +
    +

    Sets the background color's blue component. See .

    +
    +
    + + setGreen + +
    + +
    Deprecated
    +
    Obsolete and not recommended for use.
    +
    +
    +

    Sets the background color's green component. See .

    +
    +
    + + setRed + +
    + +
    Deprecated
    +
    Obsolete and not recommended for use.
    +
    +
    +

    Sets the background color's red component. See .

    +
    +
    + + setUsers [1/2] + Sets the users in batches in the CDN live streaming. See . + + + setUsers [2/2] + Sets the users in batches in the CDN live streaming. See . + defaultTranscoding - Applies the default transcoding settings, see . + Applies the default transcoding settings, see .
    diff --git a/en-US/dita/RTC-NG/API/class_localaudiostats.dita b/en-US/dita/RTC-NG/API/class_localaudiostats.dita index 4da552a73a3..67aeebe00fe 100644 --- a/en-US/dita/RTC-NG/API/class_localaudiostats.dita +++ b/en-US/dita/RTC-NG/API/class_localaudiostats.dita @@ -1,12 +1,12 @@ - <ph keyref="LocalAudioStats" /> + <ph keyref="LocalAudioStats"/> Local audio statistics.

    - public static class LocalAudioStats { + public static class LocalAudioStats { public int numChannels; public int sentSampleRate; public int sentBitrate; @@ -16,7 +16,7 @@ public int earMonitorDelay; public int aecEstimatedDelay; }; - __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject @property(assign, nonatomic) NSUInteger numChannels; @property(assign, nonatomic) NSUInteger sentSampleRate; @property(assign, nonatomic) NSUInteger sentBitrate; @@ -27,7 +27,7 @@ @property(assign, nonatomic) NSUInteger aecEstimatedDelay; @end - struct LocalAudioStats + struct LocalAudioStats { int numChannels; int sentSampleRate; @@ -38,7 +38,7 @@ int earMonitorDelay; int aecEstimatedDelay; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLocalAudioStats { GENERATED_BODY() @@ -55,7 +55,7 @@ struct FLocalAudioStats UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalAudioStats") int audioDeviceDelay; }; - export class LocalAudioStats { + export class LocalAudioStats { numChannels?: number; @@ -73,7 +73,7 @@ struct FLocalAudioStats aecEstimatedDelay?: number; } - public class LocalAudioStats + public class LocalAudioStats { public int numChannels; public int sentSampleRate; @@ -86,7 +86,7 @@ struct FLocalAudioStats public int aecEstimatedDelay; } - export class LocalAudioStats { + export class LocalAudioStats { numChannels?: number; @@ -104,7 +104,7 @@ struct FLocalAudioStats aecEstimatedDelay?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class LocalAudioStats { const LocalAudioStats( {this.numChannels, @@ -153,40 +153,46 @@ 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 - The number of audio channels. - - - sentSampleRate - The sampling rate (Hz) of sending the local user's audio stream. - - - sentBitrate - The average bitrate (Kbps) of sending the local user's audio stream. - - - txPacketLossRate - The packet loss rate (%) from the local client to the Agora server before applying the anti-packet loss strategies. - - - internalCodec - The internal payload codec. - - - audioDeviceDelay - The audio device module delay (ms) when playing or recording audio. - - - earMonitorDelay - The ear monitor delay (ms), which is the delay from microphone input to headphone output. - - - aecEstimatedDelay - Acoustic echo cancellation (AEC) module estimated delay (ms), which is the signal delay between when audio is played locally before being locally captured. - -
    + + numChannels + The number of audio channels. + + + sentSampleRate + The sampling rate (Hz) of sending the local user's audio stream. + + + sentBitrate + The average bitrate (Kbps) of sending the local user's audio stream. + + + txPacketLossRate + The packet loss rate (%) from the local client to the Agora server before + applying the anti-packet loss strategies. + + + internalCodec + The internal payload codec. + + + audioDeviceDelay + The audio device module delay (ms) when playing or recording audio. + + + earMonitorDelay + The ear monitor delay (ms), which is the delay from microphone input to + headphone output. + + + aecEstimatedDelay + Acoustic echo cancellation (AEC) module estimated delay (ms), which is the + signal delay between when audio is played locally before being locally + captured. + + +
    -
    \ No newline at end of file +
    diff --git a/en-US/dita/RTC-NG/API/class_localspatialaudioconfig.dita b/en-US/dita/RTC-NG/API/class_localspatialaudioconfig.dita index 180009f8dd8..4b2c24d93b6 100644 --- a/en-US/dita/RTC-NG/API/class_localspatialaudioconfig.dita +++ b/en-US/dita/RTC-NG/API/class_localspatialaudioconfig.dita @@ -1,26 +1,27 @@ - <ph keyref="LocalSpatialAudioConfig" /> - The configuration of . + <ph keyref="LocalSpatialAudioConfig"/> + The configuration of .

    - public class LocalSpatialAudioConfig { + public class LocalSpatialAudioConfig { public RtcEngine mRtcEngine; public LocalSpatialAudioConfig() { mRtcEngine = null; } } - __attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @end - struct LocalSpatialAudioConfig { + struct LocalSpatialAudioConfig { agora::rtc::IRtcEngine* rtcEngine; LocalSpatialAudioConfig() : rtcEngine(NULL) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLocalSpatialAudioConfig { GENERATED_BODY() @@ -28,10 +29,10 @@ struct FLocalSpatialAudioConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalSpatialAudioConfig") UAgoraRtcEngine* rtcEngine; }; - export class LocalSpatialAudioConfig { + export class LocalSpatialAudioConfig { rtcEngine?: IRtcEngine } - public class LocalSpatialAudioConfig + public class LocalSpatialAudioConfig { public IRtcEngine rtcEngine { set; get; } @@ -40,20 +41,22 @@ struct FLocalSpatialAudioConfig rtcEngine = null; } }; - export class LocalSpatialAudioConfig { + export class LocalSpatialAudioConfig { rtcEngine?: IRtcEngine; } - There are no corresponding names available -

    + There are no corresponding names available +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - mRtcEngine - . - -
    + + rtcEngine + mRtcEngine + . + + +
    diff --git a/en-US/dita/RTC-NG/API/class_localtranscoderconfiguration.dita b/en-US/dita/RTC-NG/API/class_localtranscoderconfiguration.dita index db13d70cd47..e3689ddbc8d 100644 --- a/en-US/dita/RTC-NG/API/class_localtranscoderconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_localtranscoderconfiguration.dita @@ -2,11 +2,12 @@ <ph keyref="LocalTranscoderConfiguration"/> - The configuration of the video mixing on the local client. + The configuration of the video mixing on the local + client.

    - public class LocalTranscoderConfiguration { + public class LocalTranscoderConfiguration { public ArrayList<TranscodingVideoStream> transcodingVideoStreams; public VideoEncoderConfiguration videoOutputConfiguration; @@ -16,14 +17,14 @@ videoOutputConfiguration = new VideoEncoderConfiguration(); } } - __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject @property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams; @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration; @end - struct LocalTranscoderConfiguration { + struct LocalTranscoderConfiguration { unsigned int streamCount; TranscodingVideoStream* videoInputStreams; VideoEncoderConfiguration videoOutputConfiguration; @@ -33,7 +34,7 @@ videoOutputConfiguration() {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLocalTranscoderConfiguration { GENERATED_BODY() @@ -47,7 +48,7 @@ struct FLocalTranscoderConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalTranscoderConfiguration") bool syncWithPrimaryCamera = true; }; - export class LocalTranscoderConfiguration { + export class LocalTranscoderConfiguration { streamCount?: number; @@ -56,13 +57,13 @@ struct FLocalTranscoderConfiguration videoOutputConfiguration?: VideoEncoderConfiguration; } - public class LocalTranscoderConfiguration + public class LocalTranscoderConfiguration { public uint streamCount; public TranscodingVideoStream[] videoInputStreams; public VideoEncoderConfiguration videoOutputConfiguration; } - export class LocalTranscoderConfiguration { + export class LocalTranscoderConfiguration { streamCount?: number; @@ -71,7 +72,7 @@ struct FLocalTranscoderConfiguration videoOutputConfiguration?: VideoEncoderConfiguration; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class LocalTranscoderConfiguration { const LocalTranscoderConfiguration( {this.streamCount, @@ -91,24 +92,31 @@ class LocalTranscoderConfiguration { _$LocalTranscoderConfigurationFromJson(json); Map<String, dynamic> toJson() => _$LocalTranscoderConfigurationToJson(this); -}

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - streamCount - The number of the video streams for the video mixing on the local client. - - - videoInputStreams - transcodingVideoStreams - The video streams for local video mixing. See . - - - videoOutputConfiguration - The encoding configuration of the mixed video stream after the local video mixing. See . - -
    + + streamCount + The number of the video streams for the video mixing on the local + client. + + + videoInputStreams + transcodingVideoStreams + The video streams for local video mixing. See . + + + videoOutputConfiguration + The encoding configuration of the mixed video stream after the local video + mixing. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/class_localvideostats.dita b/en-US/dita/RTC-NG/API/class_localvideostats.dita index 57aa1fc5b46..f150df61215 100644 --- a/en-US/dita/RTC-NG/API/class_localvideostats.dita +++ b/en-US/dita/RTC-NG/API/class_localvideostats.dita @@ -2,11 +2,12 @@ <ph keyref="LocalVideoStats"/> - The statistics of the local video stream. + The statistics of the local video + stream.

    - public static class LocalVideoStats { + public static class LocalVideoStats { public int uid; public int sentBitrate; public int sentFrameRate; @@ -30,7 +31,7 @@ public int captureBrightnessLevel; public int hwEncoderAccelerating; } - __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject @property(assign, nonatomic) NSUInteger sentBitrate; @property(assign, nonatomic) NSUInteger sentFrameRate; @property(assign, nonatomic) NSUInteger uid; @@ -56,7 +57,7 @@ @property(assign, nonatomic) NSInteger txPacketLossRate; @property(assign, nonatomic) AgoraCaptureBrightnessLevelType captureBrightnessLevel NS_SWIFT_NAME(captureBrightnessLevel); @end - struct LocalVideoStats + struct LocalVideoStats { uid_t uid; int sentBitrate; @@ -82,7 +83,7 @@ int hwEncoderAccelerating; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLocalVideoStats { GENERATED_BODY() @@ -132,7 +133,7 @@ struct FLocalVideoStats UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LocalVideoStats") int hwEncoderAccelerating; }; - export class LocalVideoStats { + export class LocalVideoStats { uid?: number; @@ -179,7 +180,7 @@ struct FLocalVideoStats hwEncoderAccelerating?: number; } - public class LocalVideoStats + public class LocalVideoStats { public LocalVideoStats() { @@ -208,7 +209,7 @@ struct FLocalVideoStats public CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel { set; get; } public int hwEncoderAccelerating { set; get; } }; - export class LocalVideoStats { + export class LocalVideoStats { uid?: number; @@ -255,7 +256,7 @@ struct FLocalVideoStats hwEncoderAccelerating?: number; } - class LocalVideoStats { + class LocalVideoStats { const LocalVideoStats( {this.uid, this.sentBitrate, @@ -350,133 +351,172 @@ struct FLocalVideoStats _$LocalVideoStatsFromJson(json); Map<String, dynamic> toJson() => _$LocalVideoStatsToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - The ID of the local user. - - - sentBitrate - -

    The actual bitrate (Kbps) while sending the local video stream.This value does not include the bitrate for resending the video after packet loss.

    -
    -
    - - sentFrameRate - The actual frame rate (fps) while sending the local video stream.This value does not include the frame rate for resending the video after packet loss. - - - captureFrameRate - The frame rate (fps) for capturing the local video stream. - - - captureFrameWidth - The width (px) for capturing the local video stream. - - - captureFrameHeight - The height (px) for capturing the local video stream. - - - regulatedCaptureFrameRate - The frame rate (fps) adjusted by the built-in video capture adapter (regulator) of the SDK for capturing the local video stream. The regulator adjusts the frame rate of the video captured by the camera according to the video encoding configuration. - - - regulatedCaptureFrameWidth - The width (px) adjusted by the built-in video capture adapter (regulator) of the SDK for capturing the local video stream. The regulator adjusts the height and width of the video captured by the camera according to the video encoding configuration. - - - regulatedCaptureFrameHeight - The height (px) adjusted by the built-in video capture adapter (regulator) of the SDK for capturing the local video stream. The regulator adjusts the height and width of the video captured by the camera according to the video encoding configuration. - - - encoderOutputFrameRate - The output frame rate (fps) of the local video encoder. - - - rendererOutputFrameRate - The output frame rate (fps) of the local video renderer. - - - targetBitrate - The target bitrate (Kbps) of the current encoder. This is an estimate made by the SDK based on the current network conditions. - - - targetFrameRate - The target frame rate (fps) of the current encoder. - - - qualityAdaptIndication - The quality adaptation of the local video stream in the reported interval (based on the target frame rate and target bitrate). See .

    -

      -
    • (0): The local video quality stays the same.
    • -
    • (1): The local video quality improves because the network bandwidth increases.
    • -
    • (2): The local video quality deteriorates because the network bandwidth decreases.
    • -

    -
    -
    - - encodedBitrate - -

    The bitrate (Kbps) while encoding the local video stream.This value does not include the bitrate for resending the video after packet loss.

    -
    -
    - - encodedFrameHeight - The height of the encoded video (px). - - - encodedFrameWidth - The width of the encoded video (px). - - - encodedFrameCount - The number of the sent video frames, represented by an aggregate value. - - - codecType - The codec type of the local video. See .

    -

      -
    • (1): VP8.
    • -
    • (2): H.264.
    • -
    • (3): (Default) H.265.
    • -
    - In certain scenarios, such as low resolution of the captured video stream or limited device performance, the SDK automatically adjusts to the H.264 encoding format.

    -
    -
    - - txPacketLossRate - The video packet loss rate (%) from the local client to the Agora server before applying the anti-packet loss strategies. - - - captureFrameRate - The frame rate (fps) for capturing the local video stream. - - - captureBrightnessLevel - The brightness level of the video image captured by the local camera. See . - - - captureBrightnessLevel - The brightness level of the video image captured by the local camera.
      -
    • (-1): The SDK does not detect the brightness level of the video image. Wait a few seconds to get the brightness level from captureBrightnessLevel in the next callback.
    • -
    • (0): The brightness level of the video image is normal.
    • -
    • (1): The brightness level of the video image is too bright.
    • -
    • (2): The brightness level of the video image is too dark.
    • -
    -
    - - hwEncoderAccelerating - The local video encoding acceleration type. See .
      -
    • 0: Software encoding is applied without acceleration.
    • -
    • 1: Hardware encoding is applied for acceleration.
    • -
    -
    -
    + + uid + The ID of the local user. + + + sentBitrate + +

    The actual bitrate (Kbps) while sending the local video stream.This value does not include the bitrate for + resending the video after packet loss.

    +
    +
    + + sentFrameRate + The actual frame rate (fps) while sending the local video stream.This value does not include the frame rate for + resending the video after packet loss. + + + captureFrameRate + The frame rate (fps) for capturing the local video stream. + + + captureFrameWidth + The width (px) for capturing the local video stream. + + + captureFrameHeight + The height (px) for capturing the local video stream. + + + regulatedCaptureFrameRate + The frame rate (fps) adjusted by the built-in video capture adapter + (regulator) of the SDK for capturing the local video stream. The regulator + adjusts the frame rate of the video captured by the camera according to the + video encoding configuration. + + + regulatedCaptureFrameWidth + The width (px) adjusted by the built-in video capture adapter (regulator) of + the SDK for capturing the local video stream. The regulator adjusts the + height and width of the video captured by the camera according to the video + encoding configuration. + + + regulatedCaptureFrameHeight + The height (px) adjusted by the built-in video capture adapter (regulator) + of the SDK for capturing the local video stream. The regulator adjusts the + height and width of the video captured by the camera according to the video + encoding configuration. + + + encoderOutputFrameRate + The output frame rate (fps) of the local video encoder. + + + rendererOutputFrameRate + The output frame rate (fps) of the local video renderer. + + + targetBitrate + The target bitrate (Kbps) of the current encoder. This is an estimate made + by the SDK based on the current network conditions. + + + targetFrameRate + The target frame rate (fps) of the current encoder. + + + qualityAdaptIndication + The quality adaptation of the local video stream in the reported + interval (based on the target frame rate and target bitrate). See .

    +

      +
    • (0): The local video quality stays the + same.
    • +
    • (1): The local video quality + improves because the network bandwidth increases.
    • +
    • (2): The local video quality + deteriorates because the network bandwidth decreases.
    • +
    +

    +
    +
    + + encodedBitrate + +

    The bitrate (Kbps) while encoding the local video stream.This value does not include the bitrate for + resending the video after packet loss.

    +
    +
    + + encodedFrameHeight + The height of the encoded video (px). + + + encodedFrameWidth + The width of the encoded video (px). + + + encodedFrameCount + The number of the sent video frames, represented by an aggregate value. + + + codecType + The codec type of the local video. See .

    +

      +
    • (1): VP8.
    • +
    • (2): H.264.
    • +
    • (3): (Default) H.265.
    • +
    + In certain scenarios, such as low resolution of the captured video + stream or limited device performance, the SDK automatically adjusts + to the H.264 encoding format.

    +
    +
    + + txPacketLossRate + The video packet loss rate (%) from the local client to the Agora server + before applying the anti-packet loss strategies. + + + captureFrameRate + The frame rate (fps) for capturing the local video stream. + + + captureBrightnessLevel + The brightness level of the video image captured by the local camera. See + . + + + captureBrightnessLevel + The brightness level of the video image captured by the local camera.
      +
    • (-1): The SDK does + not detect the brightness level of the video image. Wait a few + seconds to get the brightness level from + captureBrightnessLevel in the next + callback.
    • +
    • (0): The brightness + level of the video image is normal.
    • +
    • (1): The brightness + level of the video image is too bright.
    • +
    • (2): The brightness + level of the video image is too dark.
    • +
    +
    + + hwEncoderAccelerating + The local video encoding acceleration type. See .
      +
    • 0: Software encoding is applied without acceleration.
    • +
    • 1: Hardware encoding is applied for acceleration.
    • +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_logconfig.dita b/en-US/dita/RTC-NG/API/class_logconfig.dita index e97a5d0302b..b50154aae59 100644 --- a/en-US/dita/RTC-NG/API/class_logconfig.dita +++ b/en-US/dita/RTC-NG/API/class_logconfig.dita @@ -1,29 +1,29 @@ - <ph keyref="LogConfig" /> + <ph keyref="LogConfig"/> Configuration of Agora SDK log files.

    - public static class LogConfig { + public static class LogConfig { public String filePath; public int fileSizeInKB; public int level = Constants.LogLevel.getValue(Constants.LogLevel.LOG_LEVEL_INFO); } - __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject @property (copy, nonatomic) NSString * _Nullable filePath; @property (assign, nonatomic) NSInteger fileSizeInKB; @property (assign, nonatomic) AgoraLogLevel level; @end - struct LogConfig + struct LogConfig { const char* filePath; uint32_t fileSizeInKB; LOG_LEVEL level; LogConfig() : filePath(NULL), fileSizeInKB(DEFAULT_LOG_SIZE_IN_KB), level(OPTIONAL_LOG_LEVEL_SPECIFIER LOG_LEVEL_INFO) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLogConfig { GENERATED_BODY() @@ -35,7 +35,7 @@ struct FLogConfig { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LogConfig") TEnumAsByte<ELOG_LEVEL> level = ELOG_LEVEL::LOG_LEVEL_INFO; }; - export class LogConfig { + export class LogConfig { filePath?: string; @@ -43,7 +43,7 @@ struct FLogConfig { level?: LogLevel; } - public class LogConfig + public class LogConfig { public LogConfig() { @@ -62,7 +62,7 @@ struct FLogConfig { public uint fileSizeInKB { set; get; } public LOG_LEVEL level { set; get; } }; - export class LogConfig { + export class LogConfig { filePath?: string; @@ -70,7 +70,7 @@ struct FLogConfig { level?: LogLevel; } - class LogConfig { + class LogConfig { const LogConfig({this.filePath, this.fileSizeInKB, this.level}); @JsonKey(name: 'filePath') @@ -86,45 +86,74 @@ struct FLogConfig {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - filePath - -

    The complete path of the log files. Agora recommends using the default log directory. If you need to modify the default directory, ensure that the directory you specify exists and is writable.

    -

    The default log directory is:

      -
    • Android:/storage/emulated/0/Android/data/<packagename>/files/agorasdk.log.
    • -
    • iOS:App Sandbox/Library/caches/agorasdk.log.
    • -
    • macOS:
        -
      • If Sandbox is enabled: App Sandbox/Library/Logs/agorasdk.log. For example, /Users/<username>/Library/Containers/<AppBundleIdentifier>/Data/Library/Logs/agorasdk.log.
      • -
      • If Sandbox is disabled: ~/Library/Logs/agorasdk.log
      • -
    • -
    • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\agorasdk.log.
    • -

    -

    The default path is /storage/emulated/0/Android/data/<packagename>/files/agorasdk.log.

    -

    The default path is AppSandbox/Library/caches/agorasdk.log.

    -

    The default path is:

      -
    • If Sandbox is enabled: AppSandbox/Library/Logs/agorasdk.log. For example, /Users/<username>/Library/Containers/<AppBundleIdentifier>/Data/Library/Logs/agorasdk.log.
    • -
    • If Sandbox is disabled: ~/Library/Logs/agorasdk.log
    • -
    -

    -
    -
    - - fileSizeInKB - The size (KB) of an agorasdk.log file. The value range is [128,20480]. The default value is 2,048 KB. If you set fileSizeInKByte smaller than 128 KB, the SDK automatically adjusts it to 128 KB; if you set fileSizeInKByte greater than 20,480 KB, the SDK automatically adjusts it to 20,480 KB. - - -

    This method applies to the agorasdk.log file only and does not take effect for the agoraapi.log file.

    -
    -
    - - level - -

    The output level of the SDK log file. See .

    -

    For example, if you set the log level to WARN, the SDK outputs the logs within levels FATAL, ERROR, and WARN.

    -
    -
    -
    + + filePath + +

    The complete path of the log files. Agora recommends using the default + log directory. If you need to modify the default directory, ensure that + the directory you specify exists and is writable.

    +

    The default log directory is:

      +
    • Android:/storage/emulated/0/Android/data/<packagename>/files/agorasdk.log.
    • +
    • iOS:App + Sandbox/Library/caches/agorasdk.log.
    • +
    • macOS:
        +
      • If Sandbox is enabled: App + Sandbox/Library/Logs/agorasdk.log. For + example, + /Users/<username>/Library/Containers/<AppBundleIdentifier>/Data/Library/Logs/agorasdk.log.
      • +
      • If Sandbox is disabled: + ~/Library/Logs/agorasdk.log
      • +
    • +
    • Windows: + C:\Users\<user_name>\AppData\Local\Agora\<process_name>\agorasdk.log.
    • +

    +

    The default path is + /storage/emulated/0/Android/data/<packagename>/files/agorasdk.log.

    +

    The default path is + AppSandbox/Library/caches/agorasdk.log.

    +

    The default path is:

      +
    • If Sandbox is enabled: + AppSandbox/Library/Logs/agorasdk.log. + For example, + /Users/<username>/Library/Containers/<AppBundleIdentifier>/Data/Library/Logs/agorasdk.log.
    • +
    • If Sandbox is disabled: + ~/Library/Logs/agorasdk.log
    • +
    +

    +
    +
    + + fileSizeInKB + The size (KB) of an agorasdk.log file. The value range is + [128,20480]. The default value is 2,048 KB. If you set + fileSizeInKByte smaller than 128 KB, the SDK + automatically adjusts it to 128 KB; if you set + fileSizeInKByte greater than 20,480 KB, the SDK + automatically adjusts it to 20,480 KB. + + +

    This method applies to the agorasdk.log file only + and does not take effect for the agoraapi.log + file.

    +
    +
    +
    + + level + +

    The output level of the SDK log file. See .

    +

    For example, if you set the log level to WARN, the SDK outputs the logs + within levels FATAL, ERROR, and WARN.

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_loguploadserverinfo.dita b/en-US/dita/RTC-NG/API/class_loguploadserverinfo.dita index 5d43087f614..22330114480 100644 --- a/en-US/dita/RTC-NG/API/class_loguploadserverinfo.dita +++ b/en-US/dita/RTC-NG/API/class_loguploadserverinfo.dita @@ -2,11 +2,12 @@ <ph keyref="LogUploadServerInfo"/> - Configuration information of the log server. + Configuration information of the log + server.

    - public static class LogUploadServerInfo { + public static class LogUploadServerInfo { public String serverDomain = null; public String serverPath = null; @@ -27,7 +28,7 @@ serverHttps = https; } }; - __attribute__((visibility("default"))) @interface LogUploadServerInfo : NSObject + __attribute__((visibility("default"))) @interface LogUploadServerInfo : NSObject @property(copy, nonatomic) NSString* _Nullable serverDomain; @property(copy, nonatomic) NSString* _Nullable serverPath; @@ -36,7 +37,7 @@ @property(assign, nonatomic) BOOL serverHttps; @end - struct LogUploadServerInfo { + struct LogUploadServerInfo { const char* serverDomain; const char* serverPath; @@ -50,7 +51,7 @@ LogUploadServerInfo(const char* domain, const char* path, int port, bool https) : serverDomain(domain), serverPath(path), serverPort(port), serverHttps(https) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLogUploadServerInfo { GENERATED_BODY() @@ -63,20 +64,20 @@ struct FLogUploadServerInfo { bool serverHttps = true; }; - export class LogUploadServerInfo { + export class LogUploadServerInfo { serverDomain?: string; serverPath?: string; serverPort?: number; serverHttps?: boolean; } - - export class LogUploadServerInfo { + + export class LogUploadServerInfo { serverDomain?: string; serverPath?: string; serverPort?: number; serverHttps?: boolean; } - class LogUploadServerInfo { + class LogUploadServerInfo { const LogUploadServerInfo( {this.serverDomain, this.serverPath, this.serverPort, this.serverHttps}); @@ -96,40 +97,44 @@ struct FLogUploadServerInfo { _$LogUploadServerInfoFromJson(json); Map<String, dynamic> toJson() => _$LogUploadServerInfoToJson(this); -} -

    +} +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - serverDomain - The domain name of the log server. - - - serverPath - The log storage path on the server. - - - serverPort - The port of the log server. - - - serverHttps - Whether the log server uses the HTTPS protocol:
      -
    • : Use HTTPS protocol.
    • -
    • : Do not use HTTPS protocol. Uses the HTTP protocol.
    • -
    -
    -
    + + serverDomain + The domain name of the log server. + + + serverPath + The log storage path on the server. + + + serverPort + The port of the log server. + + + serverHttps + Whether the log server uses the HTTPS protocol:
      +
    • : Use HTTPS protocol.
    • +
    • : Do not use HTTPS protocol. + Uses the HTTP protocol.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_lowlightenhanceoptions.dita b/en-US/dita/RTC-NG/API/class_lowlightenhanceoptions.dita index df1a635f11e..0cacefc785a 100644 --- a/en-US/dita/RTC-NG/API/class_lowlightenhanceoptions.dita +++ b/en-US/dita/RTC-NG/API/class_lowlightenhanceoptions.dita @@ -1,12 +1,14 @@ - <ph keyref="LowlightEnhanceOptions" /> + + <ph keyref="LowlightEnhanceOptions"/> + The low-light enhancement options.

    - public class LowLightEnhanceOptions { + public class LowLightEnhanceOptions { public static final int LOW_LIGHT_ENHANCE_AUTO = 0; public static final int LOW_LIGHT_ENHANCE_MANUAL = 1; public static final int LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY = 0; @@ -24,11 +26,11 @@ lowlightEnhanceLevel = level; } } - __attribute__((visibility("default"))) @interface AgoraLowlightEnhanceOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraLowlightEnhanceOptions : NSObject @property(nonatomic, assign) AgoraLowlightEnhanceMode mode; @property(nonatomic, assign) AgoraLowlightEnhanceLevel level; @end - struct LowlightEnhanceOptions { + struct LowlightEnhanceOptions { enum LOW_LIGHT_ENHANCE_MODE { LOW_LIGHT_ENHANCE_AUTO = 0, LOW_LIGHT_ENHANCE_MANUAL = 1, @@ -47,7 +49,7 @@ LowlightEnhanceOptions() : mode(LOW_LIGHT_ENHANCE_AUTO), level(LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FLowlightEnhanceOptions { GENERATED_BODY() @@ -56,7 +58,7 @@ struct FLowlightEnhanceOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LowlightEnhanceOptions") ELOW_LIGHT_ENHANCE_LEVEL level = ELOW_LIGHT_ENHANCE_LEVEL::LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY; }; - public class LowlightEnhanceOptions + public class LowlightEnhanceOptions { public LOW_LIGHT_ENHANCE_MODE mode { set; get; } public LOW_LIGHT_ENHANCE_LEVEL level { set; get; } @@ -73,19 +75,19 @@ struct FLowlightEnhanceOptions level = LOW_LIGHT_ENHANCE_LEVEL.LOW_LIGHT_ENHANCE_LEVEL_HIGH_QUALITY; } }; - export class LowlightEnhanceOptions { + export class LowlightEnhanceOptions { mode?: LowLightEnhanceMode; level?: LowLightEnhanceLevel; } - export class LowlightEnhanceOptions { + export class LowlightEnhanceOptions { mode?: LowLightEnhanceMode; level?: LowLightEnhanceLevel; } - class LowlightEnhanceOptions { + class LowlightEnhanceOptions { const LowlightEnhanceOptions({this.mode, this.level}); @@ -99,27 +101,44 @@ struct FLowlightEnhanceOptions _$LowlightEnhanceOptionsFromJson(json); 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 - The low-light enhancement level. See .
      -
    • (0): (Default) Promotes video quality during low-light enhancement. It processes the brightness, details, and noise of the video image. The performance consumption is moderate, the processing speed is moderate, and the overall video quality is optimal.
    • -
    • (1): Promotes performance during low-light enhancement. It processes the brightness and details of the video image. The processing speed is faster.
    • -
    -
    - - mode - The low-light enhancement mode. See .
      -
    • (0): (Default) Automatic mode. The SDK automatically enables or disables the low-light enhancement feature according to the ambient light to compensate for the lighting level or prevent overexposure, as necessary.
    • -
    • (1): Manual mode. Users need to enable or disable the low-light enhancement feature manually.
    • -
    -
    -
    + + level + The low-light enhancement level. See .
      +
    • (0): (Default) Promotes video + quality during low-light enhancement. It processes the brightness, details, and + noise of the video image. The performance consumption is moderate, the processing + speed is moderate, and the overall video quality is optimal.
    • +
    • (1): Promotes performance during + low-light enhancement. It processes the brightness and details of the video image. + The processing speed is faster.
    • +
    +
    +
    + + mode + The low-light enhancement mode. See .
      +
    • (0): (Default) Automatic mode. The SDK + automatically enables or disables the low-light enhancement feature according to the + ambient light to compensate for the lighting level or prevent overexposure, as + necessary.
    • +
    • (1): Manual mode. Users need to enable or + disable the low-light enhancement feature manually.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_mediadeviceinfo.dita b/en-US/dita/RTC-NG/API/class_mediadeviceinfo.dita index 21cbb2fbc6e..86585d4eb08 100644 --- a/en-US/dita/RTC-NG/API/class_mediadeviceinfo.dita +++ b/en-US/dita/RTC-NG/API/class_mediadeviceinfo.dita @@ -1,31 +1,34 @@ - <ph keyref="MediaDeviceInfo" /> - The MediaDeviceInfo class, containing the device ID and device name. + <ph keyref="MediaDeviceInfo"/> + The MediaDeviceInfo class, containing the device ID and + device name.

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - deviceId - The device ID. - - - deviceName - The device name. - -
    + + deviceId + The device ID. + + + deviceName + The device name. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_mediaplayercontroller.dita b/en-US/dita/RTC-NG/API/class_mediaplayercontroller.dita index fe08c11d59c..d56d61e4298 100644 --- a/en-US/dita/RTC-NG/API/class_mediaplayercontroller.dita +++ b/en-US/dita/RTC-NG/API/class_mediaplayercontroller.dita @@ -1,18 +1,19 @@ - <ph keyref="MediaPlayerController" /> - The controller used to render the video for the media player. + <ph keyref="MediaPlayerController"/> + The controller used to render the + video for the media player.

    - - - - - - - abstract class MediaPlayerController + + + + + + + abstract class MediaPlayerController implements MediaPlayer, VideoViewControllerBase { factory MediaPlayerController( @@ -31,30 +32,32 @@ Future<void> initialize(); } -

    +

    -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - + + - - + + - - + + - - + + -
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_mediarecorderconfiguration.dita b/en-US/dita/RTC-NG/API/class_mediarecorderconfiguration.dita index 896ed6801d4..3e82319aadd 100644 --- a/en-US/dita/RTC-NG/API/class_mediarecorderconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_mediarecorderconfiguration.dita @@ -1,12 +1,12 @@ - <ph keyref="MediaRecorderConfiguration" /> + <ph keyref="MediaRecorderConfiguration"/> The recording configuration.

    - public static class MediaRecorderConfiguration { + public static class MediaRecorderConfiguration { public String storagePath; public int containerFormat = CONTAINER_MP4; public int streamType = STREAM_TYPE_BOTH; @@ -22,13 +22,13 @@ this.recorderInfoUpdateInterval = recorderInfoUpdateInterval; } } - __attribute__((visibility("default"))) @interface AgoraMediaRecorderConfiguration : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaRecorderConfiguration : NSObject @property(copy, nonatomic) NSString* _Nonnull storagePath; @property(assign, nonatomic) AgoraMediaRecorderContainerFormat containerFormat; @property(assign, nonatomic) AgoraMediaRecorderStreamType streamType; @property(assign, nonatomic) NSUInteger maxDurationMs; @property(assign, nonatomic) NSUInteger recorderInfoUpdateInterval; - struct MediaRecorderConfiguration { + struct MediaRecorderConfiguration { const char* storagePath; MediaRecorderContainerFormat containerFormat; MediaRecorderStreamType streamType; @@ -38,7 +38,7 @@ MediaRecorderConfiguration() : storagePath(NULL), containerFormat(FORMAT_MP4), streamType(STREAM_TYPE_BOTH), maxDurationMs(120000), recorderInfoUpdateInterval(0) {} MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FMediaRecorderConfiguration { GENERATED_BODY() @@ -54,7 +54,7 @@ struct FMediaRecorderConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaRecorderConfiguration") int recorderInfoUpdateInterval; }; - export class MediaRecorderConfiguration { + export class MediaRecorderConfiguration { storagePath?: string; @@ -66,14 +66,14 @@ struct FMediaRecorderConfiguration recorderInfoUpdateInterval?: number; } - public struct MediaRecorderConfiguration { + public struct MediaRecorderConfiguration { public string storagePath; public MediaRecorderContainerFormat containerFormat; public MediaRecorderStreamType streamType; public int maxDurationMs; public int recorderInfoUpdateInterval; }; - export class MediaRecorderConfiguration { + export class MediaRecorderConfiguration { storagePath?: string; @@ -85,7 +85,7 @@ struct FMediaRecorderConfiguration recorderInfoUpdateInterval?: number; } - class MediaRecorderConfiguration { + class MediaRecorderConfiguration { const MediaRecorderConfiguration( {this.storagePath, @@ -114,46 +114,63 @@ struct FMediaRecorderConfiguration Map<String, dynamic> toJson() => _$MediaRecorderConfigurationToJson(this); } -

    +

    -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - storagePath - The absolute path (including the filename extensions) of the recording file. For example:
      -
    • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.mp4
    • -
    • iOS: /App Sandbox/Library/Caches/example.mp4
    • -
    • macOS: ~/Library/Logs/example.mp4
    • -
    • Android: /storage/emulated/0/Android/data/<package name>/files/agorasdk.mp4
    • -
    - Ensure that the directory for the log files exists and is writable.
    -
    - - containerFormat - The format of the recording file. See . - The format of the recording file. Only is supported. - - - streamType - The recording content. See . - The recording content:
      -
    • : Only audio.
    • -
    • : Only video.
    • -
    • : (Default) Audio and video.
    • -
    -
    - - maxDurationMs - The maximum recording duration, in milliseconds. The default value is 120000. - - - recorderInfoUpdateInterval - The interval (ms) of updating the recording information. The value range is [1000,10000]. Based on the value you set in this parameter, the SDK triggers the callback to report the updated recording information. - -
    + + storagePath + The absolute path (including the filename extensions) of the recording file. + For example:
      +
    • Windows: + C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.mp4
    • +
    • iOS: /App + Sandbox/Library/Caches/example.mp4
    • +
    • macOS: + ~/Library/Logs/example.mp4
    • +
    • Android: + /storage/emulated/0/Android/data/<package + name>/files/agorasdk.mp4
    • +
    + Ensure that the directory for the log files exists + and is writable.
    +
    + + containerFormat + The format of the + recording file. See . + The format of the recording file. Only is supported. + + + streamType + The recording + content. See . + The recording content:
      +
    • : Only audio.
    • +
    • : Only video.
    • +
    • : (Default) Audio and + video.
    • +
    +
    + + maxDurationMs + The maximum recording duration, in milliseconds. The default value is + 120000. + + + recorderInfoUpdateInterval + The interval (ms) of updating the recording information. The value range is + [1000,10000]. Based on the value you set in this parameter, the SDK triggers + the callback to report the updated + recording information. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_mediasource.dita b/en-US/dita/RTC-NG/API/class_mediasource.dita index 2839c1bef40..59fc7dc7c9d 100644 --- a/en-US/dita/RTC-NG/API/class_mediasource.dita +++ b/en-US/dita/RTC-NG/API/class_mediasource.dita @@ -2,11 +2,12 @@ <ph keyref="MediaSource"/> - Information related to the media file to be played and the playback scenario configurations. + Information related to the media file to be played and + the playback scenario configurations.

    - public class MediaPlayerSource { + public class MediaPlayerSource { String url; String uri; long startPos; @@ -17,7 +18,7 @@ boolean enableMultiAudioTrack; IMediaPlayerCustomDataProvider provider; } - __attribute__((visibility("default"))) @interface AgoraMediaSource : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaSource : NSObject @property(copy, nonatomic) NSString *_Nullable url; @property(copy, nonatomic) NSString *_Nullable uri; @property(assign, nonatomic) NSUInteger startPos; @@ -30,7 +31,7 @@ @property(copy, nonatomic) AgoraRtcMediaPlayerCustomSourceOnSeekCallback _Nonnull playerOnSeekCallback; @end @end - struct MediaSource { + struct MediaSource { const char* url; const char* uri; int64_t startPos; @@ -45,7 +46,7 @@ enableMultiAudioTrack(false), provider(NULL){ } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAgoraMediaSource { GENERATED_BODY() @@ -67,7 +68,7 @@ struct FAgoraMediaSource UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|MediaSource") UIMediaPlayerCustomDataProvider* provider; }; - export class MediaSource { + export class MediaSource { url?: string; @@ -83,7 +84,7 @@ struct FAgoraMediaSource isLiveSource?: boolean; } - public class MediaSource : OptionalJsonParse + public class MediaSource : OptionalJsonParse { public string url { set; get; } public string uri { set; get; } @@ -104,7 +105,7 @@ struct FAgoraMediaSource provider = null; } } - export class MediaSource { + export class MediaSource { url?: string; @@ -120,7 +121,7 @@ struct FAgoraMediaSource isLiveSource?: boolean; } - class MediaSource { + class MediaSource { const MediaSource( {this.url, this.uri, @@ -156,105 +157,163 @@ struct FAgoraMediaSource 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 - -

    The URL of the media file to be played.

    - -

    If you open a common media resource, pass in the value to url. If you open a custom media resource, pass in the value to playerOnReadCallback and playerOnSeekCallback. Agora recommends that you do not pass in values to all these parameters in one call; otherwise, this call may fail.

    -

    If you open a common media resource, pass in the value to url. If you open a custom media resource, pass in the value to provider. Agora recommends that you do not pass in values to both parameters in one call; otherwise, this call may fail.

    -
    -
    - - uri - The URI (Uniform Resource Identifier) of the media file. - - - startPos - The starting position (ms) for playback. The default value is 0. - - - autoPlay - Whether to enable autoplay once the media file is opened:
      -
    • : (Default) Enables autoplay.
    • -
    • : Disables autoplay.
    • -
    - -

    If autoplay is disabled, you need to call the method to play a media file after it is opened.

    -
    -
    - - enableCache - Whether to cache the media file when it is being played:
      -
    • :Enables caching.
    • -
    • : (Default) Disables caching.
    • -
    - -
      -
    • Agora only supports caching on-demand audio and video streams that are not transmitted in HLS protocol.
    • -
    • If you need to enable caching, pass in a value to uri; otherwise, caching is based on the url of the media file.
    • -
    • If you enable this function, the Media Player caches part of the media file being played on your local device, and you can play the cached media file without internet connection. The statistics about the media file being cached are updated every second after the media file is played. See .
    • -
    -
    - - enableMultiAudioTrack - Whether to allow the selection of different audio tracks when playing this media file:
      -
    • : Allow to select different audio tracks.
    • -
    • : (Default) Do not allow to select different audio tracks.
    • -
    -

    If you need to set different audio tracks for local playback and publishing to the channel, you need to set this parameter to , and then call the method to select the audio track.

    -
    -
    - isAgoraSource - Whether the media resource to be opened is a live stream or on-demand video distributed through Media Broadcast service:
      -
    • : The media resource to be played is a live or on-demand video distributed through Media Broadcast service.
    • -
    • : (Default) The media resource is not a live stream or on-demand video distributed through Media Broadcast service.
    • -
    - -

    If you need to open a live stream or on-demand video distributed through Broadcast Streaming service, pass in the URL of the media resource to url, and set isAgoraSource as ; otherwise, you don't need to set the isAgoraSource parameter.

    -
    -
    - - isLiveSource - Whether the media resource to be opened is a live stream:
      -
    • : The media resource is a live stream.
    • -
    • : (Default) The media resource is not a live stream.
    • -
    -

    If the media resource you want to open is a live stream, Agora recommends that you set this parameter as so that the live stream can be loaded more quickly.

    - -

    If the media resource you open is not a live stream, but you set isLiveSource as , the media resource is not to be loaded more quickly.

    -
    -
    - + url + +

    The URL of the media file to be played.

    + +

    If you open a common media resource, pass in + the value to url. If you open a custom media + resource, pass in the value to + playerOnReadCallback and + playerOnSeekCallback. Agora recommends that + you do not pass in values to all these parameters in one call; + otherwise, this call may fail.

    +

    If you open a common media + resource, pass in the value to url. If you open + a custom media resource, pass in the value to + provider. Agora recommends that you do not + pass in values to both parameters in one call; otherwise, this call + may fail.

    +
    +
    + + uri + The URI (Uniform Resource Identifier) of the media file. + + + startPos + The starting position (ms) for playback. The default value is 0. + + + autoPlay + Whether to enable autoplay once the media file is opened:
      +
    • : (Default) Enables + autoplay.
    • +
    • : Disables autoplay.
    • +
    + +

    If autoplay is disabled, you need to call the + method to play a media file after it is opened.

    +
    +
    + + enableCache + Whether to cache the media file when it is being played:
      +
    • :Enables caching.
    • +
    • : (Default) Disables + caching.
    • +
    + +
      +
    • Agora only supports caching on-demand audio and video streams + that are not transmitted in HLS protocol.
    • +
    • If you need to enable caching, pass in a value to + uri; otherwise, caching is based on the + url of the media file.
    • +
    • If you enable this function, the Media Player caches part of the + media file being played on your local device, and you can play + the cached media file without internet connection. The + statistics about the media file being cached are updated every + second after the media file is played. See .
    • +
    +
    +
    + + enableMultiAudioTrack + Whether to allow the selection of different audio tracks when playing this + media file:
      +
    • : Allow to select different + audio tracks.
    • +
    • : (Default) Do not allow to + select different audio tracks.
    • +
    +

    If you need to set different audio tracks for local playback and + publishing to the channel, you need to set this parameter to , and then call the method to select the audio + track.

    +
    +
    + + isAgoraSource + Whether the media resource to be opened is a live stream or on-demand video + distributed through Media Broadcast service:
      +
    • : The media resource to be + played is a live or on-demand video distributed through Media + Broadcast service.
    • +
    • : (Default) The media resource + is not a live stream or on-demand video distributed through Media + Broadcast service.
    • +
    + +

    If you need to open a live stream or on-demand video distributed + through Broadcast Streaming service, pass in the URL of the media + resource to url, and set + isAgoraSource as ; otherwise, you don't need to set the + isAgoraSource parameter.

    +
    +
    + + isLiveSource + Whether the media resource to be opened is a live stream:
      +
    • : The media resource is a live + stream.
    • +
    • : (Default) The media resource + is not a live stream.
    • +
    +

    If the media resource you want to open is a live stream, Agora recommends + that you set this parameter as so + that the live stream can be loaded more quickly.

    + +

    If the media resource you open is not a live stream, but you set + isLiveSource as , the media resource is not to be loaded more + quickly.

    +
    +
    +
    + provider -

    The callback for custom media resource files. See .

    +

    The callback for custom media resource files. See .

    -

    If you open a custom media resource, pass in the value to provider. If you open a common media resource, pass in the value to url. Agora recommends that you do not pass in values to both url and provider in one call; otherwise, this call may fail.

    +

    If you open a custom media resource, pass in the value to + provider. If you open a common media + resource, pass in the value to url. Agora + recommends that you do not pass in values to both + url and provider in + one call; otherwise, this call may fail.

    - - playerOnReadCallback - -

    Occurs when the SDK reads the media resource data. See .

    - -

    - - - - playerOnSeekCallback - -

    Occurs when the SDK seeks the media resource data. See .

    - -

    - - -

    + + playerOnReadCallback + +

    Occurs when the SDK reads the media resource data. See .

    + +

    + + + + playerOnSeekCallback + +

    Occurs when the SDK seeks the media resource data. See .

    + +

    + + + + diff --git a/en-US/dita/RTC-NG/API/class_metadata.dita b/en-US/dita/RTC-NG/API/class_metadata.dita index 836596939f8..81813d3af48 100644 --- a/en-US/dita/RTC-NG/API/class_metadata.dita +++ b/en-US/dita/RTC-NG/API/class_metadata.dita @@ -1,20 +1,20 @@ - <ph keyref="Metadata" /> + <ph keyref="Metadata"/> Media metadata.

    - - - struct Metadata { + + + struct Metadata { unsigned int uid; unsigned int size; unsigned char *buffer; long long timeStampMs; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FAgoraMetadata { GENERATED_BODY() @@ -27,7 +27,7 @@ struct FAgoraMetadata UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|AgoraMetadata") int64 timeStampMs; }; - public class Metadata + public class Metadata { public uint uid; public uint size; @@ -48,7 +48,7 @@ struct FAgoraMetadata public long timeStampMs; }; - export class Metadata { + export class Metadata { uid?: number; @@ -58,7 +58,7 @@ struct FAgoraMetadata timeStampMs?: number; } - export class Metadata { + export class Metadata { uid?: number; @@ -68,7 +68,7 @@ struct FAgoraMetadata timeStampMs?: number; } - class Metadata { + class Metadata { const Metadata({this.uid, this.size, this.buffer, this.timeStampMs}); @JsonKey(name: 'uid') @@ -83,32 +83,36 @@ struct FAgoraMetadata _$MetadataFromJson(json); 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" + /> - - uid - -

    The user ID.

      -
    • For the recipient: The ID of the remote user who sent the .
    • -
    • For the sender: Ignore it.
    • -

    -
    -
    - - size - The buffer size of the sent or received . - - - buffer - The buffer address of the sent or received . - - - timeStampMs - The timestamp (ms) of . - -
    + + uid + +

    The user ID.

      +
    • For the recipient: The ID of the remote user who sent the + .
    • +
    • For the sender: Ignore it.
    • +

    +
    +
    + + size + The buffer size of the sent or received . + + + buffer + The buffer address of the sent or received . + + + timeStampMs + The timestamp (ms) of . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_music.dita b/en-US/dita/RTC-NG/API/class_music.dita index 6a407660c02..f5fd73d6681 100644 --- a/en-US/dita/RTC-NG/API/class_music.dita +++ b/en-US/dita/RTC-NG/API/class_music.dita @@ -1,12 +1,13 @@ - <ph keyref="Music" /> - The details of musci assets in the collection. + <ph keyref="Music"/> + The details of musci assets in the + collection.

    - public class Music { + public class Music { public long songCode; public String name; public String singer; @@ -86,7 +87,7 @@ return climaxSegments; } } - __attribute__((visibility("default"))) @interface AgoraMusic : NSObject + __attribute__((visibility("default"))) @interface AgoraMusic : NSObject @property(nonatomic, assign) NSInteger songCode; @property(nonatomic, assign) NSInteger type; @property(nonatomic, assign) NSInteger pitchType; @@ -98,7 +99,7 @@ @property(nonatomic, strong) NSArray<NSNumber *>* lyricList; @property(nonatomic, strong) NSArray<AgoraClimaxSegment *>* climaxSegmentList; @end - struct Music + struct Music { int64_t songCode; const char* name; @@ -114,7 +115,7 @@ ClimaxSegment* climaxSegmentList; }; - export class Music { + export class Music { songCode?: number; name?: string; singer?: string; @@ -128,7 +129,7 @@ climaxSegmentCount?: number; climaxSegmentList?: ClimaxSegment[]; } - public class Music + public class Music { public Int64 songCode; public string name; @@ -143,7 +144,7 @@ public int climaxSegmentCount; public ClimaxSegment[] climaxSegmentList; } - export class Music { + export class Music { songCode?: number; name?: string; singer?: string; @@ -157,7 +158,7 @@ climaxSegmentCount?: number; climaxSegmentList?: ClimaxSegment[]; } - class Music { + class Music { const Music( {this.songCode, this.name, @@ -212,84 +213,82 @@ Map<String, dynamic> toJson() => _$MusicToJson(this); } -

    +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - songCode - The code of the music, which is an unique identifier of the music. - - - name - 音乐资源名称。 - - - singer - 歌手名。 - - - poster - 音乐资源海报的下载地址。 - - - releaseTime - 音乐资源发布的时间。 - - - type - 音乐资源类型: -
      -
    • 1:左声道伴奏,右声道原唱的单音轨音源。
    • -
    • 2:只有伴唱的单音轨音源。
    • -
    • 3:只有原唱的单音轨音源。
    • -
    • 4:多音轨的纯音频音源。
    • -
    -
    - - pitchType - 歌曲是否支持演唱评分功能: - -
      -
    • 1:歌曲支持演唱评分功能。
    • -
    • 2:歌曲不支持演唱评分功能。
    • -
    -
    - - durationS - 音乐资源总时长 (秒)。 - - - lyricTypes - lyricList - 支持的歌词类型: -
      -
    • 0: xml.
    • -
    • 1: lrc.
    • -
    -
    - - climaxSegments - climaxSegmentList - 音乐高潮片段列表,详见 - - - lyricCount - 歌曲的歌词数量。 - - - climaxSegmentCount - 高潮片段的数量。 - -
    + + songCode + The code of the music, which is an unique identifier of the music. + + + name + 音乐资源名称。 + + + singer + 歌手名。 + + + poster + 音乐资源海报的下载地址。 + + + releaseTime + 音乐资源发布的时间。 + + + type + 音乐资源类型:
      +
    • 1:左声道伴奏,右声道原唱的单音轨音源。
    • +
    • 2:只有伴唱的单音轨音源。
    • +
    • 3:只有原唱的单音轨音源。
    • +
    • 4:多音轨的纯音频音源。
    • +
    +
    + + pitchType + 歌曲是否支持演唱评分功能:
      +
    • 1:歌曲支持演唱评分功能。
    • +
    • 2:歌曲不支持演唱评分功能。
    • +
    +
    + + durationS + 音乐资源总时长 (秒)。 + + + lyricTypes + lyricList + 支持的歌词类型:
      +
    • 0: xml.
    • +
    • 1: lrc.
    • +
    +
    + + climaxSegments + climaxSegmentList + 音乐高潮片段列表,详见 + + + lyricCount + 歌曲的歌词数量。 + + + climaxSegmentCount + 高潮片段的数量。 + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_musiccacheinfo.dita b/en-US/dita/RTC-NG/API/class_musiccacheinfo.dita index 423190cade2..79c8ea64d93 100644 --- a/en-US/dita/RTC-NG/API/class_musiccacheinfo.dita +++ b/en-US/dita/RTC-NG/API/class_musiccacheinfo.dita @@ -1,43 +1,43 @@ - <ph keyref="MusicCacheInfo" /> + <ph keyref="MusicCacheInfo"/> 缓存的音乐资源的相关信息。

    - public class MusicCacheInfo { + public class MusicCacheInfo { public long songCode; public int status; public MusicCacheInfo() {} } - __attribute__((visibility("default"))) @interface AgoraMusicCacheInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMusicCacheInfo : NSObject @property(nonatomic, assign) NSInteger songCode; @property(nonatomic, assign) AgoraMusicCacheStatusType statusType; @end - struct MusicCacheInfo { + struct MusicCacheInfo { int64_t songCode; MUSIC_CACHE_STATUS_TYPE status; MusicCacheInfo():songCode(0), status(MUSIC_CACHE_STATUS_TYPE_CACHED) {} }; - export class MusicCacheInfo { + export class MusicCacheInfo { songCode?: number; status?: MusicCacheStatusType; } - public class MusicCacheInfo + public class MusicCacheInfo { public Int64 songCode; public MUSIC_CACHE_STATUS_TYPE status; }; - export class MusicCacheInfo { + export class MusicCacheInfo { songCode?: number; status?: MusicCacheStatusType; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class MusicCacheInfo { const MusicCacheInfo({this.songCode, this.status}); @@ -51,31 +51,36 @@ class MusicCacheInfo { _$MusicCacheInfoFromJson(json); Map<String, dynamic> toJson() => _$MusicCacheInfoToJson(this); -}

    +} +

    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - status - statusType -

    音乐资源的缓存状态,详见

    -

    音乐资源的缓存状态: -

    • (0):音乐资源已缓存。
    • -
    • (1):音乐资源正在缓存。

    -
    -
    + + + + + + status + statusType +

    音乐资源的缓存状态,详见

    +

    音乐资源的缓存状态:

      +
    • (0):音乐资源已缓存。
    • +
    • (1):音乐资源正在缓存。
    • +

    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_musicchartcollection.dita b/en-US/dita/RTC-NG/API/class_musicchartcollection.dita index 37449c0594c..572c5fc9a26 100644 --- a/en-US/dita/RTC-NG/API/class_musicchartcollection.dita +++ b/en-US/dita/RTC-NG/API/class_musicchartcollection.dita @@ -1,57 +1,57 @@ - <ph keyref="MusicChartCollection" /> + <ph keyref="MusicChartCollection"/> 音乐榜单的详细信息。

    - - - class MusicChartCollection : public RefCountInterface { + + + class MusicChartCollection : public RefCountInterface { public: virtual int getCount() = 0; virtual MusicChartInfo* get(int index) = 0; protected: virtual ~MusicChartCollection() = default; }; - export abstract class MusicChartCollection { + export abstract class MusicChartCollection { abstract getCount(): number; abstract get(index: number): MusicChartInfo; } - - export abstract class MusicChartCollection { + + export abstract class MusicChartCollection { abstract getCount(): number; abstract get(index: number): MusicChartInfo; } - abstract class MusicChartCollection { + abstract class MusicChartCollection { Future&lt;int> getCount(); Future&lt;MusicChartInfo> get(int index); } -

    + +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    Method - getCount - - 获取本次请求的音乐榜单数量,详见 + getCount + 获取本次请求的音乐榜单数量,详见 GET - 获取音乐榜单的详细信息,详见 + 获取音乐榜单的详细信息,详见
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_musiccollection.dita b/en-US/dita/RTC-NG/API/class_musiccollection.dita index 45a87d244ca..a1415e9dae9 100644 --- a/en-US/dita/RTC-NG/API/class_musiccollection.dita +++ b/en-US/dita/RTC-NG/API/class_musiccollection.dita @@ -1,20 +1,21 @@ - <ph keyref="MusicCollection" /> - The details of musci assets in the collection. + <ph keyref="MusicCollection"/> + The details of musci assets in the + collection.

    - - __attribute__((visibility("default"))) @interface AgoraMusicCollection : NSObject + + __attribute__((visibility("default"))) @interface AgoraMusicCollection : NSObject @property(nonatomic, assign) NSInteger count; @property(nonatomic, assign) NSInteger total; @property(nonatomic, assign) NSInteger page; @property(nonatomic, assign) NSInteger pageSize; @property(nonatomic, strong) NSArray<AgoraMusic *>* musicList; @end - class MusicCollection : public RefCountInterface { + class MusicCollection : public RefCountInterface { public: virtual int getCount() = 0; virtual int getTotal() = 0; @@ -24,14 +25,14 @@ public: protected: virtual ~MusicCollection() = default; }; - export abstract class MusicCollection { + export abstract class MusicCollection { abstract getCount(): number; abstract getTotal(): number; abstract getPage(): number; abstract getPageSize(): number; abstract getMusic(index: number): Music; } - public class MusicCollection + public class MusicCollection { public int count; public int total; @@ -39,14 +40,14 @@ protected: public int pageSize; public Music[] music; }; - export abstract class MusicCollection { + export abstract class MusicCollection { abstract getCount(): number; abstract getTotal(): number; abstract getPage(): number; abstract getPageSize(): number; abstract getMusic(index: number): Music; } - abstract class MusicCollection { + abstract class MusicCollection { int getCount(); int getTotal(); @@ -57,66 +58,68 @@ protected: Music getMusic(int index); } -

    +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - count - 此次请求的音乐资源列表中的音乐数量。 - - - total - The total number of music assets in the collection. - - - page - 当前页面编号,默认从 1 开始。 - - - pageSize - 当前音乐资源列表的页面总数量,最大值为 50。 - - - musicList - The details of music assets on the current page. See . - + + count + 此次请求的音乐资源列表中的音乐数量。 + + + total + The total number of music assets in the collection. + + + page + 当前页面编号,默认从 1 开始。 + + + pageSize + 当前音乐资源列表的页面总数量,最大值为 50。 + + + musicList + The details of music assets on the current page. See . +
    Method - getCount - - 获取本次请求的音乐资源数量,详见 + getCount + 获取本次请求的音乐资源数量,详见 getTotal - 获取列表内音乐资源的总数量,详见 + 获取列表内音乐资源的总数量,详见 getPage - 获取音乐资源列表当前页的页码,详见 + 获取音乐资源列表当前页的页码,详见 getPageSize - 获取 SDK 实际返回的音乐资源数量,详见 + 获取 SDK 实际返回的音乐资源数量,详见 getMusic - The details of music assets on the current page. See . + The details of music assets on the current page. See .
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita b/en-US/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita index 8507fa153e4..750e5305800 100644 --- a/en-US/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_musiccontentcenterconfiguration.dita @@ -1,12 +1,13 @@ - <ph keyref="MusicContentCenterConfiguration" /> - The configurations for music content center. + <ph keyref="MusicContentCenterConfiguration"/> + The configurations for music content + center.

    - public class MusicContentCenterConfiguration { + public class MusicContentCenterConfiguration { public String appId; public String token; @@ -22,14 +23,14 @@ eventHandler = null; } } - __attribute__((visibility("default"))) @interface AgoraMusicContentCenterConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraMusicContentCenterConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @property (nonatomic, copy) NSString *appId; @property (nonatomic, copy) NSString *token; @property (nonatomic, assign) NSInteger mccUid; @property (nonatomic, assign) NSUInteger maxCacheSize; @end - struct MusicContentCenterConfiguration { + struct MusicContentCenterConfiguration { const char *appId; const char *token; int64_t mccUid; @@ -40,26 +41,26 @@ MusicContentCenterConfiguration(const char*appid,const char* token,int64_t id,IMusicContentCenterEventHandler* handler,int32_t maxSize = 10): appId(appid),token(token),mccUid(id),eventHandler(handler),maxCacheSize(maxSize){} }; - export class MusicContentCenterConfiguration { + export class MusicContentCenterConfiguration { appId?: string; token?: string; mccUid?: number; maxCacheSize?: number; } - public class MusicContentCenterConfiguration + public class MusicContentCenterConfiguration { public string appId; public string token; public UInt64 mccUid; public UInt32 maxCacheSize; } - export class MusicContentCenterConfiguration { + export class MusicContentCenterConfiguration { appId?: string; token?: string; mccUid?: number; maxCacheSize?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class MusicContentCenterConfiguration { const MusicContentCenterConfiguration( {this.appId, this.token, this.mccUid, this.maxCacheSize}); @@ -82,43 +83,49 @@ class MusicContentCenterConfiguration { Map<String, dynamic> toJson() => _$MusicContentCenterConfigurationToJson(this); } -

    +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - The instance. - - - appId - The App ID of the project that has enabled music content center. - - - token - The token used for authentication when using music content center. When your token is about to expire, you can call to pass in a new token. - - - mccUid - The ID of the user who uses music content center. This ID can be the same as the uid used when joining the RTC channel, but cannot be 0. - - - eventHandler - The event callbacks to be received. See for details. - - - maxCacheSize - 可缓存的音乐资源数量,最多不能超过 50。 - -
    + + rtcEngine + The instance. + + + appId + The App ID of the project that has enabled music content center. + + + token + The token used for authentication when using music content center. When your + token is about to expire, you can call to pass in a new token. + + + mccUid + The ID of the user who uses music content center. This ID can be the same as + the uid used when joining the RTC channel, but cannot be 0. + + + eventHandler + The event callbacks to be received. See for details. + + + maxCacheSize + 可缓存的音乐资源数量,最多不能超过 50。 + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_mvproperty.dita b/en-US/dita/RTC-NG/API/class_mvproperty.dita index 0467ddc1cd3..e83315e4def 100644 --- a/en-US/dita/RTC-NG/API/class_mvproperty.dita +++ b/en-US/dita/RTC-NG/API/class_mvproperty.dita @@ -1,12 +1,12 @@ - <ph keyref="MvProperty" /> + <ph keyref="MvProperty"/> MV 的属性。

    - public class MvProperty { + public class MvProperty { public String bandwidth; public String resolution; @@ -26,29 +26,29 @@ return resolution; } } - __attribute__((visibility("default"))) @interface AgoraMvProperty : NSObject + __attribute__((visibility("default"))) @interface AgoraMvProperty : NSObject @property (nonatomic, copy) NSString *resolution; @property (nonatomic, copy) NSString *bandwidth; @end - struct MvProperty + struct MvProperty { const char* resolution; const char* bandwidth; }; - export class MvProperty { + export class MvProperty { resolution?: string; bandwidth?: string; } - public class MvProperty + public class MvProperty { public string resolution; public string bandWidth; }; - export class MvProperty { + export class MvProperty { resolution?: string; bandwidth?: string; } - class MvProperty { + class MvProperty { const MvProperty({this.resolution, this.bandwidth}); @JsonKey(name: 'resolution') @@ -61,28 +61,30 @@ _$MvPropertyFromJson(json); Map<String, dynamic> toJson() => _$MvPropertyToJson(this); -} -

    +} +

    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - bandwidth - MV 的带宽,单位为 Kbps。 - - - resolution - MV 的分辨率。 - -
    + + bandwidth + MV 的带宽,单位为 Kbps。 + + + resolution + MV 的分辨率。 + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_packet.dita b/en-US/dita/RTC-NG/API/class_packet.dita index d996e883368..bb0d3b08bbe 100644 --- a/en-US/dita/RTC-NG/API/class_packet.dita +++ b/en-US/dita/RTC-NG/API/class_packet.dita @@ -1,18 +1,19 @@ - <ph keyref="Packet" /> - Configurations for the instance. + <ph keyref="Packet"/> + Configurations for the + instance.

    - struct Packet { + struct Packet { const unsigned char* buffer; unsigned int size; Packet() : buffer(NULL), size(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FPacket { GENERATED_BODY() @@ -21,11 +22,11 @@ struct FPacket { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|Packet") int64 size; }; - export class Packet { + export class Packet { buffer?: Uint8Array size?: number } - public class Packet + public class Packet { public Packet() { @@ -42,8 +43,8 @@ struct FPacket { public uint size { set; get; } } - - class Packet { + + class Packet { const Packet({this.buffer, this.size}); @JsonKey(name: 'buffer', ignore: true) @@ -57,19 +58,23 @@ struct FPacket {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - buffer - -

    The buffer address of the sent or received data.

    - Agora recommends setting buffer to a value larger than 2048 bytes. Otherwise, you may encounter undefined behaviors (such as crashes). -
    -
    - - size - The buffer size of the sent or received data. - -
    + + buffer + +

    The buffer address of the sent or received data.

    + Agora recommends setting buffer + to a value larger than 2048 bytes. Otherwise, you may encounter + undefined behaviors (such as crashes). +
    +
    + + size + The buffer size of the sent or received data. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_playerplaybackstats.dita b/en-US/dita/RTC-NG/API/class_playerplaybackstats.dita index 03270afa65c..2f6e670ca1e 100644 --- a/en-US/dita/RTC-NG/API/class_playerplaybackstats.dita +++ b/en-US/dita/RTC-NG/API/class_playerplaybackstats.dita @@ -2,49 +2,50 @@ <ph keyref="PlayerPlaybackStats"/> - The information of the media file being played. + The information of the media file being + played.

    - public class PlayerPlaybackStats { + public class PlayerPlaybackStats { private long videoFps; private long videoBitrateInKbps; private long audioBitrateInKbps; private long totalBitrateInKbps; } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerPlaybackStats : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerPlaybackStats : NSObject @property(assign, nonatomic) NSInteger videoFps; @property(assign, nonatomic) NSInteger videoBitrateInKbps; @property(assign, nonatomic) NSInteger audioBitrateInKbps; @property(assign, nonatomic) NSInteger totalBitrateInKbps; @end - struct PlayerPlaybackStats { + struct PlayerPlaybackStats { int videoFps; int videoBitrateInKbps; int audioBitrateInKbps; int totalBitrateInKbps; }; - - export class PlayerPlaybackStats { + + export class PlayerPlaybackStats { videoFps?: number; videoBitrateInKbps?: number; audioBitrateInKbps?: number; totalBitrateInKbps?: number; } - public class PlayerPlaybackStats + public class PlayerPlaybackStats { public int videoFps; public int videoBitrateInKbps; public int audioBitrateInKbps; public int totalBitrateInKbps; } - export class PlayerPlaybackStats { + export class PlayerPlaybackStats { videoFps?: number; videoBitrateInKbps?: number; audioBitrateInKbps?: number; totalBitrateInKbps?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class PlayerPlaybackStats { const PlayerPlaybackStats( {this.videoFps, @@ -68,35 +69,38 @@ class PlayerPlaybackStats { _$PlayerPlaybackStatsFromJson(json); Map<String, dynamic> toJson() => _$PlayerPlaybackStatsToJson(this); -}

    +} +

    - -
    Since
    -
    v4.3.0
    -
    + +
    Since
    +
    v4.3.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - videoFps - The frame rate (fps) of the video. - - - videoBitrateInKbps - The bitrate (kbps) of the video. - - - audioBitrateInKbps - The bitrate (kbps) of the audio. - - - totalBitrateInKbps - The total bitrate (kbps) of the media stream. - -
    -
    + + videoFps + The frame rate (fps) of the video. + + + videoBitrateInKbps + The bitrate (kbps) of the video. + + + audioBitrateInKbps + The bitrate (kbps) of the audio. + + + totalBitrateInKbps + The total bitrate (kbps) of the media stream. + + + +
    diff --git a/en-US/dita/RTC-NG/API/class_playerstreaminfo.dita b/en-US/dita/RTC-NG/API/class_playerstreaminfo.dita index 9ce1b2d33ca..1007badd8e1 100644 --- a/en-US/dita/RTC-NG/API/class_playerstreaminfo.dita +++ b/en-US/dita/RTC-NG/API/class_playerstreaminfo.dita @@ -1,12 +1,13 @@ - <ph keyref="PlayerStreamInfo" /> - The detailed information of the media stream. + <ph keyref="PlayerStreamInfo"/> + The detailed information of the media + stream.

    - public class MediaStreamInfo { + public class MediaStreamInfo { private int streamIndex; private int mediaStreamType; private String codecName; @@ -23,7 +24,7 @@ public MediaStreamInfo() {} } - __attribute__((visibility("default"))) @interface AgoraMediaStreamInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaStreamInfo : NSObject @property(nonatomic, assign) NSInteger streamIndex; @property(nonatomic, assign) AgoraMediaStreamType streamType; @@ -39,7 +40,7 @@ @property(nonatomic, assign) NSInteger rotation; @end - struct PlayerStreamInfo { + struct PlayerStreamInfo { int streamIndex; MEDIA_STREAM_TYPE streamType; char codecName[kMaxCharBufferLength]; @@ -66,7 +67,7 @@ duration(0) { memset(codecName, 0, sizeof(codecName)); memset(language, 0, sizeof(language)); - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FPlayerStreamInfo { GENERATED_BODY() @@ -98,7 +99,7 @@ struct FPlayerStreamInfo UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerStreamInfo") int duration; }; - export class PlayerStreamInfo { + export class PlayerStreamInfo { streamIndex?: number; @@ -126,7 +127,7 @@ struct FPlayerStreamInfo duration?: number; } - public class PlayerStreamInfo + public class PlayerStreamInfo { public int streamIndex { set; get; } public MEDIA_STREAM_TYPE streamType { set; get; } @@ -158,7 +159,7 @@ struct FPlayerStreamInfo language = ""; } }; - export class PlayerStreamInfo { + export class PlayerStreamInfo { streamIndex?: number; @@ -186,7 +187,7 @@ struct FPlayerStreamInfo duration?: number; } - class PlayerStreamInfo { + class PlayerStreamInfo { const PlayerStreamInfo( {this.streamIndex, this.streamType, @@ -235,68 +236,82 @@ struct FPlayerStreamInfo

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - streamIndex - The index of the media stream. - - - streamType - mediaStreamType - The type of the media stream. See .
      -
    • (0): The type is unknown.
    • -
    • (1): The video stream.
    • -
    • (2): The audio stream.
    • -
    • (3): The subtitle stream.
    • -
    -
    - - codecName - The codec of the media stream. - - - language - The language of the media stream. - - - videoFrameRate - This parameter only takes effect for video streams, and indicates the video frame rate (fps). - - - videoBitrate - This parameter only takes effect for video streams, and indicates the video bitrate (bps). - - - videoWidth - This parameter only takes effect for video streams, and indicates the video width (pixel). - - - videoHeight - This parameter only takes effect for video streams, and indicates the video height (pixel). - - - videoRotation - rotation - This parameter only takes effect for video streams, and indicates the video rotation angle. - - - audioSampleRate - This parameter only takes effect for audio streams, and indicates the audio sample rate (Hz). - - - audioChannels - This parameter only takes effect for audio streams, and indicates the audio channel number. - - - audioBitsPerSample - audioBytesPerSample - This parameter only takes effect for audio streams, and indicates the bit number of each audio sample. - - - duration - The total duration (ms) of the media stream. - -
    + + streamIndex + The index of the media stream. + + + streamType + mediaStreamType + The type of the media stream. See .
      +
    • (0): The type is unknown.
    • +
    • (1): The video stream.
    • +
    • (2): The audio stream.
    • +
    • (3): The subtitle stream.
    • +
    +
    +
    + + codecName + The codec of the media stream. + + + language + The language of the media stream. + + + videoFrameRate + This parameter only takes effect for video streams, and indicates the video + frame rate (fps). + + + videoBitrate + This parameter only takes effect for video streams, and indicates the video + bitrate (bps). + + + videoWidth + This parameter only takes effect for video streams, and indicates the video + width (pixel). + + + videoHeight + This parameter only takes effect for video streams, and indicates the video + height (pixel). + + + videoRotation + rotation + This parameter only takes effect for video streams, and indicates the video + rotation angle. + + + audioSampleRate + This parameter only takes effect for audio streams, and indicates the audio + sample rate (Hz). + + + audioChannels + This parameter only takes effect for audio streams, and indicates the audio + channel number. + + + audioBitsPerSample + audioBytesPerSample + This parameter only takes effect for audio streams, and indicates the bit + number of each audio sample. + + + duration + The total duration (ms) of the media stream. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_playerupdatedinfo.dita b/en-US/dita/RTC-NG/API/class_playerupdatedinfo.dita index d25c57bce05..7d92027e0c1 100644 --- a/en-US/dita/RTC-NG/API/class_playerupdatedinfo.dita +++ b/en-US/dita/RTC-NG/API/class_playerupdatedinfo.dita @@ -1,12 +1,13 @@ - <ph keyref="PlayerUpdatedInfo" /> - Information related to the media player. + <ph keyref="PlayerUpdatedInfo"/> + Information related to the media + player.

    - public class PlayerUpdatedInfo { + public class PlayerUpdatedInfo { private String deviceId; private long videoHeight; private long videoWidth; @@ -14,7 +15,7 @@ private long audioChannels; private long audioBitsPerSample; } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject @property(copy, nonatomic) NSString *_Nullable deviceId; @property(assign, nonatomic) NSInteger videoHeight; @property(assign, nonatomic) NSInteger videoWidth; @@ -22,7 +23,7 @@ @property(assign, nonatomic) NSInteger audioChannels; @property(assign, nonatomic) NSInteger audioBitsPerSample; @end - struct PlayerUpdatedInfo { + struct PlayerUpdatedInfo { const char* deviceId; int videoHeight; int videoWidth; @@ -30,7 +31,7 @@ int audioChannels; int audioBitsPerSample; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FPlayerUpdatedInfo { GENERATED_BODY() UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") @@ -46,7 +47,7 @@ struct FPlayerUpdatedInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|PlayerUpdatedInfo") FCacheStatistics cacheStatistics; }; - export class PlayerUpdatedInfo { + export class PlayerUpdatedInfo { playerId?: string; @@ -54,7 +55,7 @@ struct FPlayerUpdatedInfo { cacheStatistics?: CacheStatistics; } - public class PlayerUpdatedInfo : OptionalJsonParse + public class PlayerUpdatedInfo : OptionalJsonParse { public Optional<string> playerId = new Optional<string>(); @@ -62,7 +63,7 @@ struct FPlayerUpdatedInfo { public Optional<CacheStatistics> cacheStatistics = new Optional<CacheStatistics>(); } - export class PlayerUpdatedInfo { + export class PlayerUpdatedInfo { playerId?: string; @@ -70,7 +71,7 @@ struct FPlayerUpdatedInfo { cacheStatistics?: CacheStatistics; } - class PlayerUpdatedInfo { + class PlayerUpdatedInfo { const PlayerUpdatedInfo({this.playerId, this.deviceId}); @JsonKey(name: 'playerId') @@ -81,35 +82,37 @@ struct FPlayerUpdatedInfo { _$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 - The ID of a deivce. - - - videoHeight - Height (pixel) of the video. - - - videoWidth - Width (pixel) of the video. - - - audioSampleRate - Audio sample rate (Hz). - - - audioChannels - The number of audio channels. - - - audioBitsPerSample - The number of bits per audio sample point. - -
    + + deviceId + The ID of a deivce. + + + videoHeight + Height (pixel) of the video. + + + videoWidth + Width (pixel) of the video. + + + audioSampleRate + Audio sample rate (Hz). + + + audioChannels + The number of audio channels. + + + audioBitsPerSample + The number of bits per audio sample point. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_plugin.dita b/en-US/dita/RTC-NG/API/class_plugin.dita index 210c3017d75..1bf7e1ea93f 100644 --- a/en-US/dita/RTC-NG/API/class_plugin.dita +++ b/en-US/dita/RTC-NG/API/class_plugin.dita @@ -1,25 +1,28 @@ - <ph keyref="Plugin" /> - Interface for configuring and managing plug-ins. + <ph keyref="Plugin"/> + Interface for configuring and managing + plug-ins.

    - - - - - - - -

    + + + + + + + +

    -

    After calling to register a plugin, you can get the interface through .

    +

    After calling to register a plugin, you can get the + interface through .

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> id @@ -43,7 +46,9 @@ setParameter - Set the plugin parameters. After calling getParameter to get the value, you can call this method to pass a JSON string containing a key and a value to the C++ layer. + Set the plugin parameters. After calling getParameter to + get the value, you can call this method to pass a JSON string containing a + key and a value to the C++ layer. Parameter param @@ -53,7 +58,10 @@ getParameter - Get the plugin parameters. If you want to pass the JSON string to the C++ layer when using the plugin, you need to call this method to get the plugin parameters and then call setParameter to the parameters. + Get the plugin parameters. If you want to pass the JSON string to the C++ + layer when using the plugin, you need to call this method to get the plugin + parameters and then call setParameter to the + parameters. Parameter paramKey @@ -65,4 +73,4 @@
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_plugininfo.dita b/en-US/dita/RTC-NG/API/class_plugininfo.dita index 50ac6663623..fce8b7ad742 100644 --- a/en-US/dita/RTC-NG/API/class_plugininfo.dita +++ b/en-US/dita/RTC-NG/API/class_plugininfo.dita @@ -1,22 +1,23 @@ - <ph keyref="PluginInfo" /> + <ph keyref="PluginInfo"/> Information of the plugin.

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> pluginId @@ -36,4 +37,4 @@
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_recorderinfo.dita b/en-US/dita/RTC-NG/API/class_recorderinfo.dita index 787ca231a18..90e6572ad2b 100644 --- a/en-US/dita/RTC-NG/API/class_recorderinfo.dita +++ b/en-US/dita/RTC-NG/API/class_recorderinfo.dita @@ -1,12 +1,13 @@ - <ph keyref="RecorderInfo" /> - The information about the file that is recorded. + <ph keyref="RecorderInfo"/> + The information about the file that is + recorded.

    - public class RecorderInfo { + public class RecorderInfo { public String fileName; public int durationMs; public int fileSize; @@ -18,11 +19,11 @@ this.fileSize = fileSize; } } - __attribute__((visibility("default"))) @interface AgoraMediaRecorderInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaRecorderInfo : NSObject @property(copy, nonatomic) NSString* _Nonnull recorderFileName; @property(assign, nonatomic) NSUInteger durationMs; @property(assign, nonatomic) NSUInteger fileSize; - struct RecorderInfo { + struct RecorderInfo { const char* fileName; unsigned int durationMs; unsigned int fileSize; @@ -30,7 +31,7 @@ RecorderInfo() : fileName(NULL), durationMs(0), fileSize(0) {} RecorderInfo(const char* name, unsigned int dur, unsigned int size) : fileName(name), durationMs(dur), fileSize(size) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRecorderInfo { GENERATED_BODY() @@ -41,7 +42,7 @@ struct FRecorderInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RecorderInfo") int64 fileSize; }; - export class RecorderInfo { + export class RecorderInfo { fileName?: string; @@ -49,7 +50,7 @@ struct FRecorderInfo { fileSize?: number; } - public class RecorderInfo + public class RecorderInfo { public string fileName { set; get; } public uint durationMs { set; get; } @@ -69,7 +70,7 @@ struct FRecorderInfo { fileSize = size; } }; - export class RecorderInfo { + export class RecorderInfo { fileName?: string; @@ -77,24 +78,27 @@ struct FRecorderInfo { fileSize?: number; } -

    + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - filename - recorderFileName - The absolute path of the recording file. - - - durationMs - The recording duration (ms). - - - fileSize - The size (byte) of the recording file. - -
    + + filename + recorderFileName + The absolute path of the recording file. + + + durationMs + The recording duration (ms). + + + fileSize + The size (byte) of the recording file. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_recorderstreaminfo.dita b/en-US/dita/RTC-NG/API/class_recorderstreaminfo.dita index 235e03d36af..c3c249074ab 100644 --- a/en-US/dita/RTC-NG/API/class_recorderstreaminfo.dita +++ b/en-US/dita/RTC-NG/API/class_recorderstreaminfo.dita @@ -2,26 +2,27 @@ <ph keyref="RecorderStreamInfo"/> - The information about the media streams to be recorded. + The information about the media streams to be + recorded.

    - public class RecorderStreamInfo { + public class RecorderStreamInfo { public String channelId; public int uid; } - __attribute__((visibility("default"))) @interface AgoraRecorderStreamInfo: NSObject + __attribute__((visibility("default"))) @interface AgoraRecorderStreamInfo: NSObject @property (nonatomic, copy) NSString *_Nonnull channelId; @property (nonatomic, nonatomic) NSUInteger uid; @end - struct RecorderStreamInfo { + struct RecorderStreamInfo { const char* channelId; uid_t uid; RecorderStreamInfo() : channelId(NULL), uid(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRecorderStreamInfo { GENERATED_BODY() @@ -32,21 +33,21 @@ struct FRecorderStreamInfo { int64 uid; }; - export class RecorderStreamInfo { + export class RecorderStreamInfo { channelId?: string; uid?: number; } - public class RecorderStreamInfo + public class RecorderStreamInfo { public string channelId; public uint uid; }; - export class RecorderStreamInfo { + export class RecorderStreamInfo { channelId?: string; uid?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class RecorderStreamInfo { const RecorderStreamInfo({this.channelId, this.uid}); @@ -60,27 +61,30 @@ class RecorderStreamInfo { _$RecorderStreamInfoFromJson(json); Map<String, dynamic> toJson() => _$RecorderStreamInfoToJson(this); -}

    +} +

    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - channelId - The name of the channel in which the media streams publish. - - - uid - The ID of the user whose media streams you want to record. - -
    + + channelId + The name of the channel in which the media streams publish. + + + uid + The ID of the user whose media streams you want to record. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_rect.dita b/en-US/dita/RTC-NG/API/class_rect.dita index 4f6e3a3027b..56412c87269 100644 --- a/en-US/dita/RTC-NG/API/class_rect.dita +++ b/en-US/dita/RTC-NG/API/class_rect.dita @@ -1,14 +1,14 @@ - <ph keyref="Rect" /> + <ph keyref="Rect"/> The screen sharing region.

    - - - typedef struct Rect { + + + typedef struct Rect { int top; int left; int bottom; @@ -17,55 +17,62 @@ Rect(): top(0), left(0), bottom(0), right(0) {} Rect(int t, int l, int b, int r): top(t), left(l), bottom(b), right(r) {} } Rect; - - - - There are no corresponding names available -

    + + + + There are no corresponding names available +

    - -
    Deprecated:
    -
    This class is deprecated. Please use the method to update the shared area.
    -
    + +
    Deprecated:
    +
    This class is deprecated. Please use the method to update the shared + area.
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - top - The coordinate of the top side of the shared area on the vertical axis. - - - left - The coordinate of the left side of the shared area on the horizontal axis. - - - bottom - The coordinate of the bottom side of the shared area on the vertical axis. - - - right - The coordinate of the right side of the shared area on the horizontal axis. - - - x - The horizontal offset from the top-left corner. - - - y - The vertical offset from the top-left corner. - - - width - The width of the target area. - - - height - The height of the target area. - -
    + + top + The coordinate of the top side of the shared area on the vertical axis. + + + left + The coordinate of the left side of the shared area on the horizontal + axis. + + + bottom + The coordinate of the bottom side of the shared area on the vertical + axis. + + + right + The coordinate of the right side of the shared area on the horizontal + axis. + + + x + The horizontal offset from the top-left corner. + + + y + The vertical offset from the top-left corner. + + + width + The width of the target area. + + + height + The height of the target area. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rectangle.dita b/en-US/dita/RTC-NG/API/class_rectangle.dita index 0d2e2cb95e9..b78b372c307 100644 --- a/en-US/dita/RTC-NG/API/class_rectangle.dita +++ b/en-US/dita/RTC-NG/API/class_rectangle.dita @@ -1,12 +1,14 @@ - <ph keyref="Rectangle" /> - The location of the target area relative to the screen or window. If you do not set this parameter, the SDK selects the whole screen or window. + <ph keyref="Rectangle"/> + The location of the target area relative to the screen + or window. If you do not set this parameter, the SDK selects the whole screen or + window.

    - public static class Rectangle { + public static class Rectangle { public int x = 0; public int y = 0; public int width = 0; @@ -25,8 +27,8 @@ height = height_; } }; - - struct Rectangle { + + struct Rectangle { int x; int y; int width; @@ -35,7 +37,7 @@ Rectangle(): x(0), y(0), width(0), height(0) {} Rectangle(int xx, int yy, int ww, int hh): x(xx), y(yy), width(ww), height(hh) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRectangle { GENERATED_BODY() @@ -49,7 +51,7 @@ struct FRectangle UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|Rectangle") int height; }; - export class Rectangle { + export class Rectangle { x?: number; @@ -59,7 +61,7 @@ struct FRectangle height?: number; } - public class Rectangle + public class Rectangle { public Rectangle() { @@ -77,7 +79,7 @@ struct FRectangle public int width { set; get; } public int height { set; get; } } - export class Rectangle { + export class Rectangle { x?: number; @@ -87,7 +89,7 @@ struct FRectangle height?: number; } - class Rectangle { + class Rectangle { const Rectangle({this.x, this.y, this.width, this.height}); @JsonKey(name: 'x') @@ -105,24 +107,26 @@ struct FRectangle

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - x - The horizontal offset from the top-left corner. - - - y - The vertical offset from the top-left corner. - - - width - The width of the target area. - - - height - The height of the target area. - -
    + + x + The horizontal offset from the top-left corner. + + + y + The vertical offset from the top-left corner. + + + width + The width of the target area. + + + height + The height of the target area. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_remoteaudiostats.dita b/en-US/dita/RTC-NG/API/class_remoteaudiostats.dita index f2f5c96d57f..dbefd970898 100644 --- a/en-US/dita/RTC-NG/API/class_remoteaudiostats.dita +++ b/en-US/dita/RTC-NG/API/class_remoteaudiostats.dita @@ -1,12 +1,12 @@ - <ph keyref="RemoteAudioStats" /> + <ph keyref="RemoteAudioStats"/> Audio statistics of the remote user.

    - public static class RemoteAudioStats { + public static class RemoteAudioStats { public int uid; public int quality; public int networkTransportDelay; @@ -24,7 +24,7 @@ public int qualityChangedReason; public int e2eDelay; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger quality; @property(assign, nonatomic) NSUInteger networkTransportDelay; @@ -42,7 +42,7 @@ @property(assign, nonatomic) AgoraExperiencePoorReason qualityChangedReason; @property(assign, nonatomic) NSInteger e2eDelay; @end - struct RemoteAudioStats + struct RemoteAudioStats { uid_t uid; int quality; @@ -79,7 +79,7 @@ qualityChangedReason(0) e2eDelay(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRemoteAudioStats { GENERATED_BODY() @@ -115,7 +115,7 @@ struct FRemoteAudioStats UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RemoteAudioStats") int qualityChangedReason; }; - export class RemoteAudioStats { + export class RemoteAudioStats { uid?: number; @@ -149,7 +149,7 @@ struct FRemoteAudioStats e2eDelay?: number; } - public class RemoteAudioStats + public class RemoteAudioStats { public RemoteAudioStats() { @@ -208,7 +208,7 @@ struct FRemoteAudioStats public int qoeQuality { set; get; } public int qualityChangedReason { set; get; } }; - export class RemoteAudioStats { + export class RemoteAudioStats { uid?: number; @@ -242,7 +242,7 @@ struct FRemoteAudioStats e2eDelay?: number; } - + @JsonSerializable(explicitToJson: true, includeIfNull: false) class RemoteAudioStats { const RemoteAudioStats( @@ -319,136 +319,192 @@ class RemoteAudioStats {

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - The user ID of the remote user. - - - quality - -

    The quality of the audio stream sent by the user. See .

    -

    -

      -
    • (0): The quality is unknown.
    • -
    • (1): The quality is excellent.
    • -
    • (2): The network quality seems excellent, but the bitrate can be slightly lower than excellent.
    • -
    • (3): Users can feel the communication is slightly impaired.
    • -
    • (4): Users cannot communicate smoothly.
    • -
    • (5): The quality is so bad that users can barely communicate.
    • -
    • (6): The network is down, and users cannot communicate at all.
    • -

    -
    -
    - - networkTransportDelay - The network delay (ms) from the sender to the receiver. - - - jitterBufferDelay - -

    The network delay (ms) from the audio receiver to the jitter buffer.When the receiving end is an audience member and audienceLatencyLevel of is 1, this parameter does not take effect.

    -
    -
    - - audioLossRate - The frame loss rate (%) of the remote audio stream in the reported interval. - - - numChannels - The number of audio channels. - - - receivedSampleRate - The sampling rate of the received audio stream in the reported interval. - - - receivedBitrate - The average bitrate (Kbps) of the received audio stream in the reported interval. - - - totalFrozenTime - The total freeze time (ms) of the remote audio stream after the remote user joins the channel. In a session, audio freeze occurs when the audio frame loss rate reaches 4%. - - - frozenRate - The total audio freeze time as a percentage (%) of the total time when the audio is available. The audio is considered available when the remote user neither stops sending the audio stream nor disables the audio module after joining the channel. - - - totalActiveTime - -

    The total active time (ms) between the start of the audio call and the callback of the remote user.

    -

    The active time refers to the total duration of the remote user without the mute state.

    -
    -
    - - publishDuration - -

    The total duration (ms) of the remote audio stream.

    -
    -
    - - qoeQuality - -

    The Quality of Experience (QoE) of the local user when receiving a remote audio stream. See .

      -
    • (0): The QoE of the local user is good.
    • -
    • (1): The QoE of the local user is poor.
    • -

    -
    -
    - - qualityChangedReason - -

    Reasons why the QoE of the local user when receiving a remote audio stream is poor. See .

      -
    • (0): No reason, indicating a good QoE of the local user.
    • -
    • (1): The remote user's network quality is poor.
    • -
    • (2): The local user's network quality is poor.
    • -
    • (4): The local user's Wi-Fi or mobile network signal is weak.
    • -
    • (8): The local user enables both Wi-Fi and bluetooth, and their signals interfere with each other. As a result, audio transmission quality is undermined.
    • -

    -
    -
    - - mosValue - -

    The quality of the remote audio stream in the reported interval. The quality is determined by the Agora real-time audio MOS (Mean Opinion Score) measurement method. The return value range is [0, 500]. Dividing the return value by 100 gets the MOS score, which ranges from 0 to 5. The higher the score, the better the audio quality.

    -

    The subjective perception of audio quality corresponding to the Agora real-time audio MOS scores is as follows: - - MOS score - Perception of audio quality - - - Greater than 4 - Excellent. The audio sounds clear and smooth. - - - From 3.5 to 4 - Good. The audio has some perceptible impairment but still sounds clear. - - - From 3 to 3.5 - Fair. The audio freezes occasionally and requires attentive listening. - - - From 2.5 to 3 - Poor. The audio sounds choppy and requires considerable effort to understand. - - - From 2 to 2.5 - Bad. The audio has occasional noise. Consecutive audio dropouts occur, resulting in some information loss. The users can communicate only with difficulty. - - - Less than 2 - Very bad. The audio has persistent noise. Consecutive audio dropouts are frequent, resulting in severe information loss. Communication is nearly impossible. - -

    -
    -
    - - e2eDelay - End-to-end audio delay (in milliseconds), which refers to the time from when the audio is captured by the remote user to when it is played by the local user. - -
    + + uid + The user ID of the remote user. + + + quality + +

    The quality of the audio stream sent by the user. See .

    +

    +

      +
    • (0): The quality is unknown.
    • +
    • (1): The quality is + excellent.
    • +
    • (2): The network quality seems + excellent, but the bitrate can be slightly lower than + excellent.
    • +
    • (3): Users can feel the communication + is slightly impaired.
    • +
    • (4): Users cannot communicate + smoothly.
    • +
    • (5): The quality is so bad that users + can barely communicate.
    • +
    • (6): The network is down, and users + cannot communicate at all.
    • +
    +

    +
    +
    + + networkTransportDelay + The network delay (ms) from the sender to the receiver. + + + jitterBufferDelay + +

    The network delay (ms) from the audio receiver to the jitter buffer.When the receiving end is an audience member and + audienceLatencyLevel of is 1, this parameter does not take + effect.

    +
    +
    + + audioLossRate + The frame loss rate (%) of the remote audio stream in the reported + interval. + + + numChannels + The number of audio channels. + + + receivedSampleRate + The sampling rate of the received audio stream in the reported + interval. + + + receivedBitrate + The average bitrate (Kbps) of the received audio stream in the reported + interval. + + + totalFrozenTime + The total freeze time (ms) of the remote audio stream after the remote user + joins the channel. In a session, audio freeze occurs when the audio frame + loss rate reaches 4%. + + + frozenRate + The total audio freeze time as a percentage (%) of the total time when the + audio is available. The audio is considered available when the remote user + neither stops sending the audio stream nor disables the audio module after + joining the channel. + + + totalActiveTime + +

    The total active time (ms) between the start of the audio call and the + callback of the remote user.

    +

    The active time refers to the total duration of the remote user without + the mute state.

    +
    +
    + + publishDuration + +

    The total duration (ms) of the remote audio stream.

    +
    +
    + + qoeQuality + +

    The Quality of Experience (QoE) of the local user when receiving a + remote audio stream. See .

      +
    • (0): The QoE of the local + user is good.
    • +
    • (1): The QoE of the local + user is poor.
    • +

    +
    +
    + + qualityChangedReason + +

    Reasons why the QoE of the local user when receiving a remote audio + stream is poor. See .

      +
    • (0): No reason, indicating + a good QoE of the local user.
    • +
    • (1): The remote user's + network quality is poor.
    • +
    • (2): The local user's + network quality is poor.
    • +
    • (4): The local user's Wi-Fi + or mobile network signal is weak.
    • +
    • (8): The local user enables + both Wi-Fi and bluetooth, and their signals interfere with each + other. As a result, audio transmission quality is + undermined.
    • +
    +

    +
    +
    + + mosValue + +

    The quality of the remote audio stream in the reported interval. The + quality is determined by the Agora real-time audio MOS (Mean Opinion + Score) measurement method. The return value range is [0, 500]. Dividing + the return value by 100 gets the MOS score, which ranges from 0 to 5. + The higher the score, the better the audio quality.

    +

    The subjective perception of audio quality corresponding to the Agora + real-time audio MOS scores is as follows: + + MOS score + Perception of audio quality + + + Greater than 4 + Excellent. The audio sounds clear and smooth. + + + From 3.5 to 4 + Good. The audio has some perceptible impairment but + still sounds clear. + + + From 3 to 3.5 + Fair. The audio freezes occasionally and requires + attentive listening. + + + From 2.5 to 3 + Poor. The audio sounds choppy and requires considerable + effort to understand. + + + From 2 to 2.5 + Bad. The audio has occasional noise. Consecutive audio + dropouts occur, resulting in some information loss. The + users can communicate only with difficulty. + + + Less than 2 + Very bad. The audio has persistent noise. Consecutive + audio dropouts are frequent, resulting in severe information + loss. Communication is nearly impossible. + +

    +
    +
    + + e2eDelay + End-to-end audio delay (in milliseconds), which refers to the time from when + the audio is captured by the remote user to when it is played by the local + user. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_remotevideostats.dita b/en-US/dita/RTC-NG/API/class_remotevideostats.dita index e2e6800b095..184e5ec519d 100644 --- a/en-US/dita/RTC-NG/API/class_remotevideostats.dita +++ b/en-US/dita/RTC-NG/API/class_remotevideostats.dita @@ -6,7 +6,7 @@

    - public static class RemoteVideoStats { + public static class RemoteVideoStats { public int uid; public int delay; public int e2eDelay; @@ -24,7 +24,7 @@ public long totalActiveTime; public long publishDuration; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger delay __deprecated; @property(assign, nonatomic) NSUInteger e2eDelay; @@ -43,7 +43,7 @@ @property(assign, nonatomic) NSInteger publishDuration; @property(assign, nonatomic) NSInteger avSyncTimeMs; @end - struct RemoteVideoStats { + struct RemoteVideoStats { uid_t uid; int delay; int e2eDelay; @@ -61,7 +61,7 @@ int totalActiveTime; int publishDuration; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRemoteVideoStats { GENERATED_BODY() @@ -103,7 +103,7 @@ struct FRemoteVideoStats { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RemoteVideoStats") int64 rxVideoBytes; }; - export class RemoteVideoStats { + export class RemoteVideoStats { uid?: number; @@ -137,7 +137,7 @@ struct FRemoteVideoStats { publishDuration?: number; } - public class RemoteVideoStats + public class RemoteVideoStats { public uint uid; public int delay; @@ -156,7 +156,7 @@ struct FRemoteVideoStats { public int totalActiveTime; public int publishDuration; }; - export class RemoteVideoStats { + export class RemoteVideoStats { uid?: number; @@ -191,7 +191,7 @@ struct FRemoteVideoStats { publishDuration?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class RemoteVideoStats { const RemoteVideoStats( {this.uid, @@ -272,97 +272,121 @@ class RemoteVideoStats { Map<String, dynamic> toJson() => _$RemoteVideoStatsToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - The user ID of the remote user sending the video stream. - - - delay - -
    - -
    Deprecated:
    -
    In scenarios where audio and video are synchronized, you can get the video delay data from networkTransportDelay and jitterBufferDelay in .
    -
    -
    -

    The video delay (ms).

    -
    -
    - - e2eDelay - End-to-end video latency (ms). That is, the time elapsed from the video capturing on the remote user's end to the receiving and rendering of the video on the local user's end. - - - width - The width (pixels) of the video. - - - height - The height (pixels) of the video. - - - receivedBitrate - The bitrate (Kbps) of the remote video received since the last count. - - - receivedFramerate - The frame rate (Kbps) received since the last count. - - - decoderOutputFrameRate - The frame rate (fps) of decoding the remote video. - - - rendererOutputFrameRate - The frame rate (fps) of rendering the remote video. - - - frameLossRate - The packet loss rate (%) of the remote video. - - - packetLossRate - The packet loss rate (%) of the remote video after using the anti-packet-loss technology. - - - rxStreamType - The type of the video stream. See .

    -

      -
    • (0): High-quality stream, that is, a high-resolution and high-bitrate video stream.
    • -
    • (1): Low-quality stream, that is, a low-resolution and low-bitrate video stream.
    • -

    -
    -
    - - totalFrozenTime - The total freeze time (ms) of the remote video stream after the remote user joins the channel. In a video session where the frame rate is set to no less than 5 fps, video freeze occurs when the time interval between two adjacent renderable video frames is more than 500 ms. - - - frozenRate - The total video freeze time as a percentage (%) of the total time the video is available. The video is considered available as long as that the remote user neither stops sending the video stream nor disables the video module after joining the channel. - - - totalActiveTime - -

    The total active time (ms) of the video.

    -

    As long as the remote user or host neither stops sending the video stream nor disables the video module after joining the channel, the video is available.

    -
    -
    - - publishDuration - -

    The total duration (ms) of the remote video stream.

    -
    -
    - - avSyncTimeMs - The amount of time (ms) that the audio is ahead of the video.If this value is negative, the audio is lagging behind the video. - -
    + + uid + The user ID of the remote user sending the video stream. + + + delay + +
    + +
    Deprecated:
    +
    In scenarios where audio and video are synchronized, you can get + the video delay data from + networkTransportDelay and + jitterBufferDelay in .
    +
    +
    +

    The video delay (ms).

    +
    +
    + + e2eDelay + End-to-end video latency (ms). That is, the time elapsed from the video + capturing on the remote user's end to the receiving and rendering of the + video on the local user's end. + + + width + The width (pixels) of the video. + + + height + The height (pixels) of the video. + + + receivedBitrate + The bitrate (Kbps) of the remote video received since the last count. + + + receivedFramerate + The frame rate (Kbps) received since the last count. + + + decoderOutputFrameRate + The frame rate (fps) of decoding the remote video. + + + rendererOutputFrameRate + The frame rate (fps) of rendering the remote video. + + + frameLossRate + The packet loss rate (%) of the remote video. + + + packetLossRate + The packet loss rate (%) of the remote video after using the + anti-packet-loss technology. + + + rxStreamType + The type of the video stream. See .

    +

      +
    • (0): High-quality stream, that + is, a high-resolution and high-bitrate video stream.
    • +
    • (1): Low-quality stream, that is, + a low-resolution and low-bitrate video stream.
    • +
    +

    +
    +
    + + totalFrozenTime + The total freeze time (ms) of the remote video stream after the remote user + joins the channel. In a video session where the frame rate is set to no less + than 5 fps, video freeze occurs when the time interval between two adjacent + renderable video frames is more than 500 ms. + + + frozenRate + The total video freeze time as a percentage (%) of the total time the video + is available. The video is considered available as long as that the remote + user neither stops sending the video stream nor disables the video module + after joining the channel. + + + totalActiveTime + +

    The total active time (ms) of the video.

    +

    As long as the remote user or host neither stops sending the video stream + nor disables the video module after joining the channel, the video is + available.

    +
    +
    + + publishDuration + +

    The total duration (ms) of the remote video stream.

    +
    +
    + + avSyncTimeMs + The amount of time (ms) that the audio is ahead of the video.If this value is negative, the audio is lagging behind + the video. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_remotevoicepositioninfo.dita b/en-US/dita/RTC-NG/API/class_remotevoicepositioninfo.dita index 32e077297d9..caef82b1988 100644 --- a/en-US/dita/RTC-NG/API/class_remotevoicepositioninfo.dita +++ b/en-US/dita/RTC-NG/API/class_remotevoicepositioninfo.dita @@ -1,12 +1,13 @@ - <ph keyref="RemoteVoicePositionInfo" /> - The spatial position of the remote user or the media player. + <ph keyref="RemoteVoicePositionInfo"/> + The spatial position of the remote user or the media + player.

    - public class RemoteVoicePositionInfo { + public class RemoteVoicePositionInfo { public float[] position; public float[] forward; @@ -15,17 +16,17 @@ forward = new float[] {0.0f, 0.0f, 0.0f}; } } - __attribute__((visibility("default"))) @interface AgoraRemoteVoicePositionInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraRemoteVoicePositionInfo : NSObject @property(assign, nonatomic) simd_float3 position; @property(assign, nonatomic) simd_float3 forward; @end - struct RemoteVoicePositionInfo { + struct RemoteVoicePositionInfo { float position[3]; float forward[3]; RemoteVoicePositionInfo() = default; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRemoteVoicePositionInfo { GENERATED_BODY() @@ -35,13 +36,13 @@ struct FRemoteVoicePositionInfo UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RemoteVoicePositionInfo") FVector forward; }; - export class RemoteVoicePositionInfo { + export class RemoteVoicePositionInfo { position?: number[]; forward?: number[]; } - public class RemoteVoicePositionInfo + public class RemoteVoicePositionInfo { public RemoteVoicePositionInfo(float[] position, float[] forward) { @@ -51,27 +52,35 @@ struct FRemoteVoicePositionInfo public float[] position { set; get; } public float[] forward { set; get; } }; - export class RemoteVoicePositionInfo { + export class RemoteVoicePositionInfo { position?: number[]; forward?: number[]; } - There are no corresponding names available -

    + There are no corresponding names available +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - forward - The unit vector of the x axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - The unit vector of the x axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. And the front, right, and top coordinates correspond to the positive directions of Unity's Vector3 axes (z, x, and y, respectively). - -
    + + + + + + forward + The unit vector of the x axis in the + coordinate system. This parameter is an array of length 3, and the three + values represent the front, right, and top coordinates in turn. + The unit vector of the x axis in the coordinate system. This + parameter is an array of length 3, and the three values represent the front, + right, and top coordinates in turn. And the front, right, and top + coordinates correspond to the positive directions of Unity's Vector3 axes + (z, x, and y, respectively). + + +
    diff --git a/en-US/dita/RTC-NG/API/class_rendererconfig.dita b/en-US/dita/RTC-NG/API/class_rendererconfig.dita index d02f739db35..6a38a6d242a 100644 --- a/en-US/dita/RTC-NG/API/class_rendererconfig.dita +++ b/en-US/dita/RTC-NG/API/class_rendererconfig.dita @@ -1,43 +1,49 @@ - <ph keyref="RendererConfig" /> + <ph keyref="RendererConfig"/> The video renderer configuration.

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> user - The user of the video. See . + The user of the video. See . view - Dom for rendering video. Leave this parameter empty to destroy the video renderer. + Dom for rendering video. Leave this parameter empty to destroy the video + renderer. rendererOptions - Video rendering options. See . + Video rendering options. See . channelId - The ID of the channel in which the video is rendered. For details, see . You only need to set this parameter in multi-channel scenarios. + The ID of the channel in which the video is rendered. For details, see . You only need to set this parameter in multi-channel + scenarios. fps - The capture frame rate (fps) of the local video. The parameter cannot exceed 30. + The capture frame rate (fps) of the local video. The parameter cannot exceed + 30. -
    -
    \ No newline at end of file + + + diff --git a/en-US/dita/RTC-NG/API/class_rendereroptions.dita b/en-US/dita/RTC-NG/API/class_rendereroptions.dita index 07f206145a1..8b603983550 100644 --- a/en-US/dita/RTC-NG/API/class_rendereroptions.dita +++ b/en-US/dita/RTC-NG/API/class_rendereroptions.dita @@ -1,41 +1,47 @@ - <ph keyref="RendererOptions" /> + <ph keyref="RendererOptions"/> Video renderer options.

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - append - When the new video is connected to the DOM, whether to use the native appendChild method to add a child DOM:
      -
    • : Add a child DOM. The new video can be played together with the original video.
    • -
    • : (Default) Do not add a child DOM. Only play the new video.
    • -
    -
    - - contentMode - Video display modes. See . - - - mirror - Whether to enable mirror mode when rendering video:
      -
    • : Enable mirror mode.
    • -
    • : (Default) Do not enable mirror mode.
    • -
    -
    -
    + + append + When the new video is connected to the DOM, whether to use the native + appendChild method to add a child DOM:
      +
    • : Add a child DOM. The new video + can be played together with the original video.
    • +
    • : (Default) Do not add a child + DOM. Only play the new video.
    • +
    +
    + + contentMode + Video display modes. See . + + + mirror + Whether to enable mirror mode when rendering video:
      +
    • : Enable mirror mode.
    • +
    • : (Default) Do not enable + mirror mode.
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtc_local_view_surfaceview.dita b/en-US/dita/RTC-NG/API/class_rtc_local_view_surfaceview.dita index 9f638439bcb..8d5f0bb2d37 100644 --- a/en-US/dita/RTC-NG/API/class_rtc_local_view_surfaceview.dita +++ b/en-US/dita/RTC-NG/API/class_rtc_local_view_surfaceview.dita @@ -1,62 +1,64 @@ - <ph keyref="RtcLocalViewSurfaceView" /> - SurfaceView class for rendering local video. Extends from the class. + <ph keyref="RtcLocalViewSurfaceView"/> + SurfaceView class for rendering + local video. Extends from the class.

    - - - - - - - -

    + + + + + + + +

    Parameters - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtc_local_view_textureview.dita b/en-US/dita/RTC-NG/API/class_rtc_local_view_textureview.dita index 3422b0c567a..032717d6c06 100644 --- a/en-US/dita/RTC-NG/API/class_rtc_local_view_textureview.dita +++ b/en-US/dita/RTC-NG/API/class_rtc_local_view_textureview.dita @@ -1,58 +1,60 @@ - <ph keyref="RtcLocalViewTextureView" /> - TextureView class for rendering local video. Extends from the class. + <ph keyref="RtcLocalViewTextureView"/> + TextureView class for rendering + local video. Extends from the class.

    - - - - - - - -

    + + + + + + + +

    -
    +
    Parameters - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to use FlutterTexture to render video. - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to use FlutterTexture to render video. + + + + + + +

    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtc_remote_view_surfaceview.dita b/en-US/dita/RTC-NG/API/class_rtc_remote_view_surfaceview.dita index 112ecffc6ff..16d08778b37 100644 --- a/en-US/dita/RTC-NG/API/class_rtc_remote_view_surfaceview.dita +++ b/en-US/dita/RTC-NG/API/class_rtc_remote_view_surfaceview.dita @@ -1,67 +1,68 @@ - <ph keyref="RtcRemoteViewSurfaceView" /> - SurfaceView class for rendering remote video. Extends from the class. + <ph keyref="RtcRemoteViewSurfaceView"/> + SurfaceView class for rendering + remote video. Extends from the class.

    - - - - - - - -

    + + + + + + + +

    -
    +
    Parameters - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -

    +
    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtc_remote_view_textureview.dita b/en-US/dita/RTC-NG/API/class_rtc_remote_view_textureview.dita index d9f0f69b14a..4de6e098ed3 100644 --- a/en-US/dita/RTC-NG/API/class_rtc_remote_view_textureview.dita +++ b/en-US/dita/RTC-NG/API/class_rtc_remote_view_textureview.dita @@ -1,62 +1,65 @@ - <ph keyref="RtcRemoteViewTextureView" /> - TextureView class for rendering local video. Extends from the class. + <ph keyref="RtcRemoteViewTextureView"/> + TextureView class for rendering + local video. Extends from the class.

    - - - - - - - -

    + + + + + + + +

    -
    +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to use FlutterTexture to render video. - - - - - -

    + + + + + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to use FlutterTexture to render video. + + + + + + +

    - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtc_render_view_rtcsurfaceview.dita b/en-US/dita/RTC-NG/API/class_rtc_render_view_rtcsurfaceview.dita index fcfe2eb3671..5ff5961ecb2 100644 --- a/en-US/dita/RTC-NG/API/class_rtc_render_view_rtcsurfaceview.dita +++ b/en-US/dita/RTC-NG/API/class_rtc_render_view_rtcsurfaceview.dita @@ -1,69 +1,74 @@ - <ph keyref="RtcSurfaceView" /> - RTCSurfaceView class for rendering local and remote video. + <ph keyref="RtcSurfaceView"/> + RTCSurfaceView class for rendering + local and remote video.

    - - - - - - - -

    + + + + + + + +

    The corresponding classes of this class on different platforms are as follows:

      -
    • Android: SurfaceView.
    • -
    • iOS: UIView
    • - -
    • Applies to the macOS and Windows platforms only.
    • -

    +
  • Android: SurfaceView.
  • +
  • iOS: UIView
  • + +
  • Applies to the macOS and Windows platforms only.
  • +

    Parameter - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtc_render_view_rtctextureview.dita b/en-US/dita/RTC-NG/API/class_rtc_render_view_rtctextureview.dita index 8a366d28e8b..a57bc56ce25 100644 --- a/en-US/dita/RTC-NG/API/class_rtc_render_view_rtctextureview.dita +++ b/en-US/dita/RTC-NG/API/class_rtc_render_view_rtctextureview.dita @@ -1,64 +1,73 @@ - <ph keyref="RtcTextureView" /> - RtcTextureView class for rendering local and remote video. + <ph keyref="RtcTextureView"/> + RtcTextureView class for rendering + local and remote video.

    - - - - - - - -

    + + + + + + + +

    The corresponding classes of this class on different platforms are as follows:

      -
    • Android: TextureView or FlutterTexture.
    • -
    • iOS/macOS/Windows: FlutterTexture
    • - -

    +
  • Android: TextureView or FlutterTexture.
  • +
  • iOS/macOS/Windows: FlutterTexture
  • + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - channelId - -

    - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to render the video using FlutterTexture. - - - - - -

    + + + + + + channelId + +

    + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to render the video using FlutterTexture. + + + + + + +

    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtcconnection.dita b/en-US/dita/RTC-NG/API/class_rtcconnection.dita index 8f4a11b7991..66b28dff595 100644 --- a/en-US/dita/RTC-NG/API/class_rtcconnection.dita +++ b/en-US/dita/RTC-NG/API/class_rtcconnection.dita @@ -1,12 +1,12 @@ - <ph keyref="RtcConnection" /> + <ph keyref="RtcConnection"/> Contains connection information.

    - public class RtcConnection { + public class RtcConnection { public enum CONNECTION_STATE_TYPE { CONNECTION_STATE_NOT_INITIALIZED(0), CONNECTION_STATE_DISCONNECTED(1), @@ -40,12 +40,12 @@ return sb.toString(); } } - __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying> + __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying> @property (nonatomic, copy) NSString *_Nonnull channelId; @property (nonatomic, assign) NSUInteger localUid; @end - struct RtcConnection { + struct RtcConnection { const char* channelId; uid_t localUid; @@ -53,7 +53,7 @@ RtcConnection(const char* channel_id, uid_t local_uid) : channelId(channel_id), localUid(local_uid) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRtcConnection { GENERATED_BODY() @@ -63,13 +63,13 @@ struct FRtcConnection UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcConnection") int64 localUid; }; - export class RtcConnection { + export class RtcConnection { channelId?: string; localUid?: number; } - public class RtcConnection + public class RtcConnection { public RtcConnection() { @@ -84,13 +84,13 @@ struct FRtcConnection public string channelId { set; get; } public uint localUid { set; get; } }; - export class RtcConnection { + export class RtcConnection { channelId?: string; localUid?: number; } - class RtcConnection { + class RtcConnection { const RtcConnection({this.channelId, this.localUid}); @JsonKey(name: 'channelId') @@ -105,16 +105,18 @@ struct FRtcConnection

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - channelId - The channel name. - - - localUid - The ID of the local user. - -
    + + channelId + The channel name. + + + localUid + The ID of the local user. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtcdevicemanager.dita b/en-US/dita/RTC-NG/API/class_rtcdevicemanager.dita index 94b05d6f640..5c5d9e44c91 100644 --- a/en-US/dita/RTC-NG/API/class_rtcdevicemanager.dita +++ b/en-US/dita/RTC-NG/API/class_rtcdevicemanager.dita @@ -1,6 +1,7 @@ - <ph keyref="RtcDeviceManager" /> - The RTC device manager class, which manages the audio and video devices in the system. - \ No newline at end of file + <ph keyref="RtcDeviceManager"/> + The RTC device manager class, which manages the audio + and video devices in the system. + diff --git a/en-US/dita/RTC-NG/API/class_rtcengineconfig.dita b/en-US/dita/RTC-NG/API/class_rtcengineconfig.dita index 01eb20672b5..d7ac8f5a84e 100644 --- a/en-US/dita/RTC-NG/API/class_rtcengineconfig.dita +++ b/en-US/dita/RTC-NG/API/class_rtcengineconfig.dita @@ -2,11 +2,12 @@ <ph keyref="RtcEngineConfig"/> - Configurations for the instance. + Configurations for the instance.

    - public class RtcEngineConfig { + public class RtcEngineConfig { public IRtcEngineEventHandler mEventHandler; public Context mContext; public String mAppId; @@ -25,7 +26,7 @@ } } - __attribute__((visibility("default"))) @interface AgoraRtcEngineConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraRtcEngineConfig: NSObject @property (copy, nonatomic) NSString * _Nullable appId; @property (assign, nonatomic) AgoraChannelProfile channelProfile; @@ -37,7 +38,7 @@ @property (copy, nonatomic) NSArray<id<AgoraMediaFilterExtensionDelegate>>* _Nullable mediaFilterExtensions; @property (weak, nonatomic) id<AgoraMediaFilterEventDelegate> _Nullable eventDelegate; @end - struct RtcEngineContext { + struct RtcEngineContext { IRtcEngineEventHandler* eventHandler; const char* appId; void* context; @@ -56,7 +57,7 @@ logConfig(), domainLimit(false), autoRegisterAgoraExtensions(true) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRtcEngineContext { GENERATED_BODY() @@ -84,7 +85,7 @@ struct FRtcEngineContext UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcEngineContext") bool useExternalEglContext; }; - export class RtcEngineContext { + export class RtcEngineContext { appId?: string; @@ -105,7 +106,7 @@ struct FRtcEngineContext autoRegisterAgoraExtensions?: boolean; } - public class RtcEngineContext : OptionalJsonParse + public class RtcEngineContext : OptionalJsonParse { public string appId; @@ -117,7 +118,7 @@ struct FRtcEngineContext public bool domainLimit; public bool autoRegisterAgoraExtensions; }; - export class RtcEngineContext { + export class RtcEngineContext { appId?: string; @@ -138,7 +139,7 @@ struct FRtcEngineContext autoRegisterAgoraExtensions?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class RtcEngineContext { const RtcEngineContext( {this.appId, @@ -179,114 +180,158 @@ class RtcEngineContext { Map<String, dynamic> toJson() => _$RtcEngineContextToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - eventHandler - mEventHandler - The event handler for . See . - - - appId - mAppId - The App ID issued by Agora for your project. Only users in apps with the same App ID can join the same channel and communicate with each other. An App ID can only be used to create one instance. To change your App ID, call to destroy the current instance, and then create a new one. - - - context - mContext - -
      -
    • For Windows, it is the window handle of the app. Once set, this parameter enables you to connect or disconnect the video devices while they are powered.
    • -
    • For Android, it is the context of Android Activity.
    • -
    -

    The context of Android Activity.

    -
    -
    - - mNativeLibPath - -

    Specifies the storage directory for the .so files. The storage directory must be a valid and private directory of the app, which can be obtained using Context.getDir().

    -
      -
    • If you set this parameter, the SDK automatically loads the .so files in the directory you specify, so that the app dynamically loads the required .so files when it runs, thereby reducing the package size.
    • -
    • If you do not set this parameter or set it to null, the SDK loads the .so files from the default app's native unreal bpLibraryPath when compiling the app, which increases the package size compared to the previous method.
    • -
    - -
      -
    • This method is applicable when you integrate the SDK manually but not when you integrate the SDK with Maven Central or JitPack.
    • -
    • Ensure the specified directory exists; otherwise, the initialization fails.
    • -
    -
    - - channelProfile - mChannelProfile - - - - audioScenario - mAudioScenario - - - - areaCode - mAreaCode - The region for connection. This is an advanced feature and applies to scenarios that have regional restrictions. For details on supported regions, see . The area codes support bitwise operation. - After specifying the region, the app integrated with the Agora SDK connects to the Agora servers within that region. - - - logConfig - mLogConfig - -

    Sets the log file size. See .

    -

    By default, the SDK generates five SDK log files and five API call log files with the following rules:

    -
      -
    • -
    -
    - - mExtensionList - Extension libraries. - - - mExtensionObserver - eventDelegate - The instance. - - - mediaFilterExtensions - The instance. - - - mDomainLimit - domainLimit - -

    Whether to enable domain name restriction:

      -
    • : Enables the domain name restriction. This value is suitable for scenarios where IoT devices use IoT cards for network access. The SDK will only connect to servers in the domain name or IP whitelist that has been reported to the operator.
    • -
    • : (Default) Disables the domain name restriction. This value is suitable for most common scenarios.
    • -

    -
    -
    - - mAutoRegisterAgoraExtensions - autoRegisterAgoraExtensions - -

    Whether to automatically register the Agora extensions when initializing :

      -
    • : (Default) Automatically register the Agora extensions when initializing .
    • -
    • : Do not register the Agora extensions when initializing . You need to call to register the Agora extensions.
    • -

    -
    -
    -
    -
    - Method - + + eventHandler + mEventHandler + The event handler for . See + . + + + appId + mAppId + The App ID issued by Agora for your project. Only users in apps + with the same App ID can join the same channel and communicate with each + other. An App ID can only be used to create one instance. To change your App ID, call to destroy + the current instance, and then create a new + one. + + + context + mContext + +
      +
    • For Windows, it is the window handle of the app. Once set, this + parameter enables you to connect or disconnect the video devices + while they are powered.
    • +
    • For Android, it is the context of + Android Activity.
    • +
    +

    The context of Android Activity.

    +
    +
    + + mNativeLibPath + +

    Specifies the storage directory for the .so files. The + storage directory must be a valid and private directory of the app, + which can be obtained using Context.getDir().

    +
      +
    • If you set this parameter, the SDK automatically loads the + .so files in the directory you specify, so that + the app dynamically loads the required .so files + when it runs, thereby reducing the package size.
    • +
    • If you do not set this parameter or set it to null, the SDK loads + the .so files from the default app's native + unreal bpLibraryPath when compiling the app, which + increases the package size compared to the previous method.
    • +
    + +
      +
    • This method is applicable when you integrate the SDK manually + but not when you integrate the SDK with Maven Central or + JitPack.
    • +
    • Ensure the specified directory exists; otherwise, the initialization fails.
    • +
    +
    +
    + + channelProfile + mChannelProfile + + + + audioScenario + mAudioScenario + + - addExtension - Adds the extension. See . + areaCode + mAreaCode + The region for connection. This is an advanced feature and applies to + scenarios that have regional restrictions. For details on supported regions, + see . The area codes support bitwise + operation. + After specifying the region, the app integrated with the Agora SDK connects + to the Agora servers within that region. + + + logConfig + mLogConfig + +

    Sets the log file size. See .

    +

    By default, the SDK generates five SDK log files and five API call log + files with the following rules:

    +
      +
    • +
    +
    +
    + + mExtensionList + Extension libraries. -
    -
    + + mExtensionObserver + eventDelegate + The instance. + + + mediaFilterExtensions + The instance. + + + mDomainLimit + domainLimit + +

    Whether to enable domain name restriction:

      +
    • : Enables the domain name + restriction. This value is suitable for scenarios where IoT + devices use IoT cards for network access. The SDK will only + connect to servers in the domain name or IP whitelist that has + been reported to the operator.
    • +
    • : (Default) Disables the + domain name restriction. This value is suitable for most common + scenarios.
    • +

    +
    +
    + + mAutoRegisterAgoraExtensions + autoRegisterAgoraExtensions + +

    Whether to automatically register the Agora extensions when initializing + :

      +
    • : (Default) Automatically + register the Agora extensions when initializing .
    • +
    • : Do not register the Agora + extensions when initializing . You + need to call to register the + Agora extensions.
    • +

    +
    +
    + + +
    + Method + + + addExtension + Adds the extension. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/class_rtcengineext.dita b/en-US/dita/RTC-NG/API/class_rtcengineext.dita index 9b25fd575c4..279a0e7b247 100644 --- a/en-US/dita/RTC-NG/API/class_rtcengineext.dita +++ b/en-US/dita/RTC-NG/API/class_rtcengineext.dita @@ -1,7 +1,8 @@ - <ph keyref="RtcEngineExt" /> - The derived interface class from . - - \ No newline at end of file + <ph keyref="RtcEngineExt"/> + The derived interface class from . + + diff --git a/en-US/dita/RTC-NG/API/class_rtcengineextension.dita b/en-US/dita/RTC-NG/API/class_rtcengineextension.dita index facf0534194..56cf6ca1fc8 100644 --- a/en-US/dita/RTC-NG/API/class_rtcengineextension.dita +++ b/en-US/dita/RTC-NG/API/class_rtcengineextension.dita @@ -1,6 +1,6 @@ - <ph keyref="RtcEngineExtension" /> + <ph keyref="RtcEngineExtension"/> The RtcEngineExtension class. - \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtcimage.dita b/en-US/dita/RTC-NG/API/class_rtcimage.dita index dbed90720f6..7f64040d5f3 100644 --- a/en-US/dita/RTC-NG/API/class_rtcimage.dita +++ b/en-US/dita/RTC-NG/API/class_rtcimage.dita @@ -1,12 +1,12 @@ - <ph keyref="RtcImage" /> + <ph keyref="RtcImage"/> Image properties.

    - public class AgoraImage { + public class AgoraImage { public String url; public int x; public int y; @@ -35,13 +35,13 @@ this.alpha = 1.0; } } - __attribute__((visibility("default"))) @interface AgoraImage : NSObject + __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 - typedef struct RtcImage { + typedef struct RtcImage { const char* url; int x; int y; @@ -51,7 +51,7 @@ double alpha; RtcImage() : url(NULL), x(0), y(0), width(0), height(0), zOrder(0), alpha(1.0) {} - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRtcImage { GENERATED_BODY() @@ -71,7 +71,7 @@ struct FRtcImage UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcImage") float alpha; }; - public class RtcImage + public class RtcImage { public RtcImage() { @@ -102,7 +102,7 @@ struct FRtcImage public int zOrder { set; get; } public double alpha { set; get; } } - export class RtcImage { + export class RtcImage { url?: string; @@ -118,7 +118,7 @@ struct FRtcImage alpha?: number; } - export class RtcImage { + export class RtcImage { url?: string; @@ -134,7 +134,7 @@ struct FRtcImage alpha?: number; } - class RtcImage { + class RtcImage { const RtcImage( {this.url, this.x, @@ -162,49 +162,62 @@ struct FRtcImage _$RtcImageFromJson(json); Map<String, dynamic> toJson() => _$RtcImageToJson(this); } -

    +

    -

    This class sets the properties of the watermark and background images in the live video.

    +

    This class sets the properties of the watermark and background images in the live + video.

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - url - The HTTP/HTTPS URL address of the image in the live video. The maximum length of this parameter is 1024 bytes. - - - x - The x-coordinate (px) of the image on the video frame (taking the upper left corner of the video frame as the origin). - - - y - The y-coordinate (px) of the image on the video frame (taking the upper left corner of the video frame as the origin). - - - width - The width (px) of the image on the video frame. - - - height - The height (px) of the image on the video frame. - - - rect - The position and size of the image on the video frame. The data type is CGRect. - - - zOrder - The layer index of the watermark or background image. When you use the watermark array to add a watermark or multiple watermarks, you must pass a value to zOrder in the range [1,255]; otherwise, the SDK reports an error. In other cases, zOrder can optionally be passed in the range [0,255], with 0 being the default value. 0 means the bottom layer and 255 means the top layer. - - - alpha - The transparency of the watermark or background image. The range of the value is [0.0,1.0]:
      -
    • 0.0: Completely transparent.
    • -
    • 1.0: (Default) Opaque.
    • -
    -
    -
    + + url + The HTTP/HTTPS URL address of the image in the live video. The maximum + length of this parameter is 1024 bytes. + + + x + The x-coordinate (px) of the image on the video frame (taking the upper left + corner of the video frame as the origin). + + + y + The y-coordinate (px) of the image on the video frame (taking the upper left + corner of the video frame as the origin). + + + width + The width (px) of the image on the video frame. + + + height + The height (px) of the image on the video frame. + + + rect + The position and size of the image on the video frame. The data type is + CGRect. + + + zOrder + The layer index of the watermark or background image. When you use the + watermark array to add a watermark or multiple watermarks, you must pass a + value to zOrder in the range [1,255]; otherwise, the + SDK reports an error. In other cases, zOrder can + optionally be passed in the range [0,255], with 0 being the default value. 0 + means the bottom layer and 255 means the top layer. + + + alpha + The transparency of the watermark or background image. The range of the + value is [0.0,1.0]:
      +
    • 0.0: Completely transparent.
    • +
    • 1.0: (Default) Opaque.
    • +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtcrendererviewprops.dita b/en-US/dita/RTC-NG/API/class_rtcrendererviewprops.dita index 5f71b99a31a..e5d226fcea7 100644 --- a/en-US/dita/RTC-NG/API/class_rtcrendererviewprops.dita +++ b/en-US/dita/RTC-NG/API/class_rtcrendererviewprops.dita @@ -1,33 +1,36 @@ - <ph keyref="RtcRendererViewProps" /> - A common property for and . + <ph keyref="RtcRendererViewProps"/> + A common property for + and .

    - - - - - - export interface RtcRendererViewProps { + + + + + + export interface RtcRendererViewProps { canvas: VideoCanvas; connection?: RtcConnection; } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - canvas - The local video view and settings. See . - - - connection - The connection infomation. See . - -
    + + canvas + The local video view and settings. See . + + + connection + The connection infomation. See . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtcstats.dita b/en-US/dita/RTC-NG/API/class_rtcstats.dita index 323e0a21690..3b64cab5898 100644 --- a/en-US/dita/RTC-NG/API/class_rtcstats.dita +++ b/en-US/dita/RTC-NG/API/class_rtcstats.dita @@ -1,12 +1,12 @@ - <ph keyref="RtcStats" /> + <ph keyref="RtcStats"/> Statistics of a call session.

    - public static class RtcStats { + public static class RtcStats { public int totalDuration; public int txBytes; public int rxBytes; @@ -32,7 +32,7 @@ public double memoryTotalUsageRatio; public int memoryAppUsageInKbytes; } - __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject + __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject @property(assign, nonatomic) NSUInteger duration; @property(assign, nonatomic) NSUInteger txBytes; @property(assign, nonatomic) NSUInteger rxBytes; @@ -59,7 +59,7 @@ @property(assign, nonatomic) NSInteger rxPacketLossRate; @end - struct RtcStats { + struct RtcStats { unsigned int duration; unsigned int txBytes; unsigned int rxBytes; @@ -111,7 +111,7 @@ rxPacketLossRate(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FRtcStats { GENERATED_BODY() @@ -183,7 +183,7 @@ public: UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|RtcStats") int memoryAppUsageInKbytes; }; - export class RtcStats { + export class RtcStats { duration?: number; @@ -251,7 +251,7 @@ public: rxPacketLossRate?: number; } - public class RtcStats + public class RtcStats { public RtcStats() { @@ -313,7 +313,7 @@ public: public int txPacketLossRate { set; get; } public int rxPacketLossRate { set; get; } } - export class RtcStats { + export class RtcStats { duration?: number; @@ -381,7 +381,7 @@ public: rxPacketLossRate?: number; } - class RtcStats { + class RtcStats { const RtcStats( {this.duration, this.txBytes, @@ -491,127 +491,161 @@ public:

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - duration - totalDuration - Call duration of the local user in seconds, represented by an aggregate value. - - - txBytes - The number of bytes sent. - - - rxBytes - The number of bytes received. - - - txAudioBytes - The total number of audio bytes sent, represented by an aggregate value. - - - txVideoBytes - The total number of video bytes sent, represented by an aggregate value. - - - rxAudioBytes - The total number of audio bytes received, represented by an aggregate value. - - - rxVideoBytes - The total number of video bytes received, represented by an aggregate value. - - - txKBitRate - The actual bitrate (Kbps) while sending the local video stream. - - - rxKBitRate - The receiving bitrate (Kbps). - - - rxAudioKBitRate - The bitrate (Kbps) of receiving the audio. - - - txAudioKBitRate - The bitrate (Kbps) of sending the audio packet. - - - rxVideoKBitRate - The bitrate (Kbps) of receiving the video. - - - txVideoKBitRate - The bitrate (Kbps) of sending the video. - - - lastmileDelay - The client-to-server delay (milliseconds). - - - txPacketLossRate - The packet loss rate (%) from the client to the Agora server before applying the anti-packet-loss algorithm. - - - rxPacketLossRate - The packet loss rate (%) from the Agora server to the client before using the anti-packet-loss method. - - - userCount - users - The number of users in the channel. - - - cpuAppUsage - Application CPU usage (%). -
      -
    • The value of cpuAppUsage is always reported as 0 in the callback.
    • -
    • As of Android 8.1, you cannot get the CPU usage from this attribute due to system limitations.
    • -
    -
    - - cpuTotalUsage - -

    The system CPU usage (%).

    -

    For Windows, in the multi-kernel environment, this member represents the average CPU usage. The value = (100 - System Idle Progress in Task Manager)/100.

    - -
      -
    • The value of cpuTotalUsage is always reported as 0 in the callback.
    • -
    • As of Android 8.1, you cannot get the CPU usage from this attribute due to system limitations.
    • -
    -
    - - connectTimeMs - The duration (ms) between the SDK starts connecting and the connection is established. If the value reported is 0, it means invalid. - - - gatewayRtt - The round-trip time delay (ms) from the client to the local router. -

    This property is disabled on devices running iOS 14 or later, and enabled on devices running versions earlier than iOS 14 by default.

    -

    To enable this property on devices running iOS 14 or later, .

    + + duration + totalDuration + Call duration of the local user in seconds, represented by an aggregate + value. + + + txBytes + The number of bytes sent. + + + rxBytes + The number of bytes received. + + + txAudioBytes + The total number of audio bytes sent, represented by an aggregate + value. + + + txVideoBytes + The total number of video bytes sent, represented by an aggregate + value. + + + rxAudioBytes + The total number of audio bytes received, represented by an aggregate + value. + + + rxVideoBytes + The total number of video bytes received, represented by an aggregate + value. + + + txKBitRate + The actual bitrate (Kbps) while sending the local video stream. + + + rxKBitRate + The receiving bitrate (Kbps). + + + rxAudioKBitRate + The bitrate (Kbps) of receiving the audio. + + + txAudioKBitRate + The bitrate (Kbps) of sending the audio packet. + + + rxVideoKBitRate + The bitrate (Kbps) of receiving the video. + + + txVideoKBitRate + The bitrate (Kbps) of sending the video. + + + lastmileDelay + The client-to-server delay (milliseconds). + + + txPacketLossRate + The packet loss rate (%) from the client to the Agora server before applying + the anti-packet-loss algorithm. + + + rxPacketLossRate + The packet loss rate (%) from the Agora server to the client before using + the anti-packet-loss method. + + + userCount + users + The number of users in the channel. + + + cpuAppUsage + Application CPU usage (%). +
      +
    • The value of cpuAppUsage is always reported + as 0 in the callback.
    • +
    • As of Android 8.1, + you cannot get the CPU usage from this attribute due to system + limitations.
    • +
    +
    + + cpuTotalUsage + +

    The system CPU usage (%).

    +

    For Windows, in the + multi-kernel environment, this member represents the average CPU usage. + The value = (100 - System Idle Progress in Task Manager)/100.

    + +
      +
    • The value of cpuTotalUsage is always + reported as 0 in the + callback.
    • +
    • As of Android 8.1, you + cannot get the CPU usage from this attribute due to system + limitations.
    • +
    +
    +
    + + connectTimeMs + The duration (ms) between the SDK starts connecting and the connection is + established. If the value reported is 0, it means invalid. + + + gatewayRtt + The round-trip time delay (ms) from the client to the local router. +

    This property is disabled on devices running iOS 14 or later, and + enabled on devices running versions earlier than iOS 14 by default.

    +

    To enable this property on devices running iOS 14 or later, .

    - On Android, to get gatewayRtt, ensure that you add the android.permission.ACCESS_WIFI_STATE permission after </application> in the AndroidManifest.xml file in your project.
    -
    - - memoryAppUsageRatio - -

    The memory ratio occupied by the app (%).

    - This value is for reference only. Due to system limitations, you may not get this value.
    -
    - - memoryTotalUsageRatio - -

    The memory occupied by the system (%).

    - This value is for reference only. Due to system limitations, you may not get this value.
    -
    - - memoryAppUsageInKbytes - -

    The memory size occupied by the app (KB).

    - This value is for reference only. Due to system limitations, you may not get this value.
    -
    -
    + On Android, to get + gatewayRtt, ensure that you add the + android.permission.ACCESS_WIFI_STATE permission + after </application> in the + AndroidManifest.xml file in your + project. + + + memoryAppUsageRatio + +

    The memory ratio occupied by the app (%).

    + This value is for reference only. Due to system + limitations, you may not get this value. +
    +
    + + memoryTotalUsageRatio + +

    The memory occupied by the system (%).

    + This value is for reference only. Due to system + limitations, you may not get this value. +
    +
    + + memoryAppUsageInKbytes + +

    The memory size occupied by the app (KB).

    + This value is for reference only. Due to system + limitations, you may not get this value. +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtcsurfaceview.dita b/en-US/dita/RTC-NG/API/class_rtcsurfaceview.dita index 3cbbae655eb..6837b17ad03 100644 --- a/en-US/dita/RTC-NG/API/class_rtcsurfaceview.dita +++ b/en-US/dita/RTC-NG/API/class_rtcsurfaceview.dita @@ -1,20 +1,23 @@ - <ph keyref="RtcSurfaceView" /> + <ph keyref="RtcSurfaceView"/> The RtcSurfaceView class.

    This class is used for rendering.

      -
    • Android: This class corresponds to the native SurfaceView.
    • -
    • iOS: This class corresponds to the native UIView.
    • -
    -

    To ensure the rendering of the image, before calling this component, you should proceed based on whether you are joining a channel:

    -
      -
    • Not joining a channel: First call , and then call .
    • -
    • Joining a channel: First ensure capture is enabled, and then call .
    • +
    • Android: This class corresponds to the native SurfaceView.
    • +
    • iOS: This class corresponds to the native UIView.
    • +
    +

    To ensure the rendering of the image, before calling this component, you should + proceed based on whether you are joining a channel:

    +
      +
    • Not joining a channel: First call , and then call + .
    • +
    • Joining a channel: First ensure capture is enabled, and then call .
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtcsurfaceviewprops.dita b/en-US/dita/RTC-NG/API/class_rtcsurfaceviewprops.dita index 2cdea8ba9af..6bf2d3b7ed1 100644 --- a/en-US/dita/RTC-NG/API/class_rtcsurfaceviewprops.dita +++ b/en-US/dita/RTC-NG/API/class_rtcsurfaceviewprops.dita @@ -1,38 +1,47 @@ - <ph keyref="RtcSurfaceViewProps" /> + + <ph keyref="RtcSurfaceViewProps"/> + Properties of the RtcSurfaceView.

    - export interface RtcSurfaceViewProps { + export interface RtcSurfaceViewProps { zOrderOnTop?: boolean; zOrderMediaOverlay?: boolean; -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - zOrderOnTop - -

    Controls whether to place the surface of the RtcSurfaceView on top of the window:

    -
      -
    • : Place it on top of the window.
    • -
    • : Do not place it on top of another RtcSurfaceView in the window.
    • -
    -
    - - zOrderMediaOverlay - -

    Controls whether to place the surface of the RtcSurfaceView on top of another RtcSurfaceView in the window (but still behind the window):

    -
      -
    • : Place it on top of another RtcSurfaceView in the window.
    • -
    • : Do not place it on top of another RtcSurfaceView in the window.
    • -
    -
    -
    + + zOrderOnTop + +

    Controls whether to place the surface of the RtcSurfaceView on top of the window:

    +
      +
    • : Place it on top of the window.
    • +
    • : Do not place it on top of another RtcSurfaceView in the + window.
    • +
    +
    +
    + + zOrderMediaOverlay + +

    Controls whether to place the surface of the RtcSurfaceView on top of another + RtcSurfaceView in the window (but still behind the window):

    +
      +
    • : Place it on top of another RtcSurfaceView in the window.
    • +
    • : Do not place it on top of another RtcSurfaceView in the + window.
    • +
    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_rtctextureview.dita b/en-US/dita/RTC-NG/API/class_rtctextureview.dita index bd272404f2e..7c22b488888 100644 --- a/en-US/dita/RTC-NG/API/class_rtctextureview.dita +++ b/en-US/dita/RTC-NG/API/class_rtctextureview.dita @@ -1,17 +1,21 @@ - <ph keyref="RtcTextureView" /> + <ph keyref="RtcTextureView"/> The RtcTextureView class.
    -

    This class is used for rendering and corresponds to the Android native TextureView.

    +

    This class is used for rendering and corresponds to the Android native + TextureView.

    This class is only available for the Android platform. -

    To ensure the rendering of the image, before calling this component, you should proceed based on whether you are joining a channel:

    -
      -
    • Not joining a channel: First call , and then call .
    • -
    • Joining a channel: First ensure capture is enabled, and then call .
    • +

      To ensure the rendering of the image, before calling this component, you should + proceed based on whether you are joining a channel:

      +
        +
      • Not joining a channel: First call , and then call + .
      • +
      • Joining a channel: First ensure capture is enabled, and then call .
      -
    +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_screenaudioparameters.dita b/en-US/dita/RTC-NG/API/class_screenaudioparameters.dita index 08ae5199f6f..33e54496e28 100644 --- a/en-US/dita/RTC-NG/API/class_screenaudioparameters.dita +++ b/en-US/dita/RTC-NG/API/class_screenaudioparameters.dita @@ -1,12 +1,13 @@ - <ph keyref="ScreenAudioParameters" /> - The audio configuration for the shared screen stream. + <ph keyref="ScreenAudioParameters"/> + The audio configuration for the shared screen + stream.

    - public static class AudioCaptureParameters { + public static class AudioCaptureParameters { public int sampleRate = 16000; public int channels = 2; public int captureSignalVolume = 100; @@ -30,17 +31,17 @@ + captureSignalVolume + ", allowCaptureCurrentApp=" + allowCaptureCurrentApp + '}'; } } - __attribute__((visibility("default"))) @interface AgoraScreenAudioParameters : NSObject + __attribute__((visibility("default"))) @interface AgoraScreenAudioParameters : NSObject @property(assign, nonatomic) NSInteger captureSignalVolume; @end - struct ScreenAudioParameters { + struct ScreenAudioParameters { int sampleRate = 16000; int channels = 2; int captureSignalVolume = 100; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenAudioParameters { GENERATED_BODY() @@ -55,7 +56,7 @@ struct FScreenAudioParameters { int captureSignalVolume = 100; }; - export class ScreenAudioParameters { + export class ScreenAudioParameters { sampleRate?: number; @@ -63,7 +64,7 @@ struct FScreenAudioParameters { captureSignalVolume?: number; } - public class ScreenAudioParameters + public class ScreenAudioParameters { public int sampleRate { set; get; } public int channels { set; get; } @@ -76,7 +77,7 @@ struct FScreenAudioParameters { captureSignalVolume = 100; } }; - export class ScreenAudioParameters { + export class ScreenAudioParameters { sampleRate?: number; @@ -84,7 +85,7 @@ struct FScreenAudioParameters { captureSignalVolume?: number; } - class ScreenAudioParameters { + class ScreenAudioParameters { const ScreenAudioParameters( {this.sampleRate, this.channels, this.captureSignalVolume}); @@ -101,14 +102,16 @@ struct FScreenAudioParameters { _$ScreenAudioParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenAudioParametersToJson(this); -} -

    +} +

    -

    Only available where captureAudio is .

    +

    Only available where captureAudio is .

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> sampleRate @@ -116,20 +119,29 @@ struct FScreenAudioParameters { channels - The number of audio channels. The default value is 2, which means stereo. + The number of audio channels. The default value is 2, which means + stereo. + + + captureSignalVolume + The volume of the captured system audio. The value range is [0, 100]. The + default value is 100. - - captureSignalVolume - The volume of the captured system audio. The value range is [0, 100]. The default value is 100. - allowCaptureCurrentApp Whether to capture audio from the current app:
      -
    • : (Default) Caputre audio from the current app.
    • -
    • Do not capture the audio from the current app:
    • +
    • : (Default) Caputre audio from + the current app.
    • +
    • Do not capture the audio from + the current app:
    - This parameter can only set whether to capture audio from the current app and cannot control whether the captured app audio is published to the channel. You need to set it through the options parameter when calling or .
    + This parameter can only set whether to capture audio from the current + app and cannot control whether the captured app audio is published to + the channel. You need to set it through the options + parameter when calling or .
    -
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita b/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita index ffe332811bf..9cda5f01d3c 100644 --- a/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_screencaptureconfiguration.dita @@ -1,13 +1,14 @@ - <ph keyref="ScreenCaptureConfiguration" /> - The configuration of the captured screen. + <ph keyref="ScreenCaptureConfiguration"/> + The configuration of the captured + screen.

    - - #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC)) + + #if (!(TARGET_OS_IPHONE) && (TARGET_OS_MAC)) __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguration: NSObject @@ -23,7 +24,7 @@ __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguratio @end #endif - struct ScreenCaptureConfiguration { + struct ScreenCaptureConfiguration { bool isCaptureWindow; uint32_t displayId; Rectangle screenRect; @@ -33,7 +34,7 @@ __attribute__((visibility("default"))) @interface AgoraScreenCaptureConfiguratio ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenCaptureConfiguration { GENERATED_BODY() @@ -51,7 +52,7 @@ struct FScreenCaptureConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureConfiguration") FRectangle regionRect; }; - export class ScreenCaptureConfiguration { + export class ScreenCaptureConfiguration { isCaptureWindow?: boolean; @@ -65,7 +66,7 @@ struct FScreenCaptureConfiguration regionRect?: Rectangle; } - public class ScreenCaptureConfiguration + public class ScreenCaptureConfiguration { public ScreenCaptureConfiguration() { @@ -80,7 +81,7 @@ struct FScreenCaptureConfiguration public ScreenCaptureParameters parameters { set; get; } public Rectangle regionRect { set; get; } } - export class ScreenCaptureConfiguration { + export class ScreenCaptureConfiguration { isCaptureWindow?: boolean; @@ -94,7 +95,7 @@ struct FScreenCaptureConfiguration regionRect?: Rectangle; } - class ScreenCaptureConfiguration { + class ScreenCaptureConfiguration { const ScreenCaptureConfiguration( {this.isCaptureWindow, this.displayId, @@ -118,42 +119,65 @@ struct FScreenCaptureConfiguration factory ScreenCaptureConfiguration.fromJson(Map<String, dynamic> json) => _$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 - Whether to capture the window on the screen:
      -
    • : Capture the window.
    • -
    • : (Default) Capture the screen, not the window.
    • -
    -
    - - displayId - (macOS only) The display ID of the screen.This parameter takes effect only when you want to capture the screen on macOS. - The display ID of the screen. You do not need to set this parameter. - - - screenRect - (Windows only) The relative position of the shared screen to the virtual screen.This parameter takes effect only when you want to capture the screen on Windows. - - - windowId - (For Windows and macOS only) Window ID.This parameter takes effect only when you want to capture the window. - - - params - parameters - (For Windows and macOS only) The screen capture configuration. See . - - - regionRect - (For Windows and macOS only) The relative position of the shared region to the whole screen. See . If you do not set this parameter, the SDK shares the whole screen. If the region you set exceeds the boundary of the screen, only the region within in the screen is shared. If you set width or height in as 0, the whole screen is shared. - The relative position of the shared region to the whole screen. The data type is CGRect. - -
    + + isCaptureWindow + Whether to capture the window on the screen:
      +
    • : Capture the window.
    • +
    • : (Default) Capture the screen, + not the window.
    • +
    +
    + + displayId + (macOS only) + The display ID of the screen.This parameter + takes effect only when you want to capture the screen on + macOS. + The display ID of the screen. You do not need to set this + parameter. + + + screenRect + (Windows only) The + relative position of the shared screen to the virtual screen.This parameter takes effect only + when you want to capture the screen on Windows. + + + windowId + (For Windows and macOS only) + Window ID.This parameter takes effect only + when you want to capture the window. + + + params + parameters + (For Windows and macOS only) + The screen capture configuration. See . + + + regionRect + (For Windows and macOS only) + The relative position of the shared region to the whole screen. See + . If you do not set this parameter, the SDK + shares the whole screen. If the region you set exceeds the boundary of the + screen, only the region within in the screen is shared. If you set width or + height in as 0, the whole screen is + shared. + The relative position of the shared region to the whole screen. + The data type is CGRect. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_screencaptureinfo.dita b/en-US/dita/RTC-NG/API/class_screencaptureinfo.dita index 890b9a2e613..8bef4d03c4f 100644 --- a/en-US/dita/RTC-NG/API/class_screencaptureinfo.dita +++ b/en-US/dita/RTC-NG/API/class_screencaptureinfo.dita @@ -1,14 +1,16 @@ - <ph keyref="ScreenCaptureInfo" /> + + <ph keyref="ScreenCaptureInfo"/> + Screen sharing information.

    - - - public class ScreenCaptureInfo + + + public class ScreenCaptureInfo { public ScreenCaptureInfo() { @@ -23,25 +25,30 @@ public string graphicsCardType; public EXCLUDE_WINDOW_ERROR errCode; }; - - -

    + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - graphicsCardType - -

    Graphics card type, including model information for the graphics card.

    -
    -
    - - errCode - -

    Error code that blocks the window when sharing the screen. See .

    -
    -
    -
    + + graphicsCardType + +

    Graphics card type, including model information for the graphics + card.

    +
    +
    + + errCode + +

    Error code that blocks the window when sharing the screen. See .

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_screencaptureparameters.dita b/en-US/dita/RTC-NG/API/class_screencaptureparameters.dita index bcc6cb8b130..fd6f5f6ad40 100644 --- a/en-US/dita/RTC-NG/API/class_screencaptureparameters.dita +++ b/en-US/dita/RTC-NG/API/class_screencaptureparameters.dita @@ -6,8 +6,8 @@

    - - __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject + + __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject @property (assign, nonatomic) CGSize dimensions; @property (assign, nonatomic) NSInteger frameRate; @property (assign, nonatomic) NSInteger bitrate; @@ -19,7 +19,7 @@ @property(assign, nonatomic) NSUInteger highLightWidth; @end - struct ScreenCaptureParameters { + struct ScreenCaptureParameters { VideoDimensions dimensions; int frameRate; int bitrate; @@ -45,7 +45,7 @@ : dimensions(width, height), frameRate(f), bitrate(b), captureMouseCursor(cur), windowFocus(fcs), excludeWindowList(ex), excludeWindowCount(cnt), highLightWidth(0), highLightColor(0), enableHighLight(false) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenCaptureParameters { GENERATED_BODY() @@ -71,7 +71,7 @@ struct FScreenCaptureParameters UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters") bool enableHighLight = false; }; - export class ScreenCaptureParameters { + export class ScreenCaptureParameters { dimensions?: VideoDimensions; frameRate?: number; bitrate?: number; @@ -83,7 +83,7 @@ struct FScreenCaptureParameters highLightColor?: number; enableHighLight?: boolean; } - public class ScreenCaptureParameters + public class ScreenCaptureParameters { public ScreenCaptureParameters() { @@ -180,7 +180,7 @@ struct FScreenCaptureParameters public uint highLightColor { set; get; } public bool enableHighLight { set; get; } }; - export class ScreenCaptureParameters { + export class ScreenCaptureParameters { dimensions?: VideoDimensions; @@ -202,7 +202,7 @@ struct FScreenCaptureParameters enableHighLight?: boolean; } - class ScreenCaptureParameters { + class ScreenCaptureParameters { const ScreenCaptureParameters( {this.dimensions, this.frameRate, @@ -249,86 +249,153 @@ struct FScreenCaptureParameters _$ScreenCaptureParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureParametersToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - The video properties of the screen sharing stream only need to be set through , and are unrelated to . + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + The video properties of the screen + sharing stream only need to be set through , + and are unrelated to . - - dimensions - -

    The video encoding resolution of the screen sharing stream. See . The default value is 1920 × 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges.

    -

    If the screen dimensions are different from the value of this parameter, Agora applies the following strategies for encoding. Suppose dimensions is set to 1920 × 1080:

      -
    • If the value of the screen dimensions is lower than that of dimensions, for example, 1000 × 1000 pixels, the SDK uses the screen dimensions, that is, 1000 × 1000 pixels, for encoding.
    • -
    • If the value of the screen dimensions is higher than that of dimensions, for example, 2000 × 1500, the SDK uses the maximum value under dimensions with the aspect ratio of the screen dimension (4:3) for encoding, that is, 1440 × 1080.
    • + + dimensions + +

      The video encoding resolution of the screen sharing stream. See . The default value is 1920 × 1080, + that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges.

      +

      If the screen dimensions are different from the value of this parameter, + Agora applies the following strategies for encoding. Suppose + dimensions is set to 1920 × 1080:

        +
      • If the value of the screen dimensions is lower than that of + dimensions, for example, 1000 × 1000 + pixels, the SDK uses the screen dimensions, that is, 1000 × 1000 + pixels, for encoding.
      • +
      • If the value of the screen dimensions is higher than that of + dimensions, for example, 2000 × 1500, + the SDK uses the maximum value under + dimensions with the aspect ratio of the + screen dimension (4:3) for encoding, that is, 1440 × 1080.
      - When setting the encoding resolution in the scenario of sharing documents (), choose one of the following two methods:
        -
      • If you require the best image quality, it is recommended to set the encoding resolution to be the same as the capture resolution.
      • -
      • If you wish to achieve a relative balance between image quality, bandwidth, and system performance, then:
          -
        • When the capture resolution is greater than 1920 × 1080, it is recommended that the encoding resolution is not less than 1920 × 1080.
        • -
        • When the capture resolution is less than 1920 × 1080, it is recommended that the encoding resolution is not less than 1280 × 720.
        • -
      • -
      -

      -
      -
      - - frameRate - The frame rate of the shared region. The video encoding frame rate of the screen sharing stream. On Windows and macOS, this represents the video encoding frame rate (fps) of the screen sharing stream. The frame rate (fps) of the shared region. The default value is 5. Agora does not recommend setting this to a value greater than 15. - - - bitrate - The bitrate of the shared region. The video encoding bitrate of the screen sharing stream. On Windows and macOS, this represents the video encoding bitrate of the screen sharing stream. The bitrate (Kbps) of the shared region. The default value is 0 (the SDK works out a bitrate according to the dimensions of the current screen). - - - captureMouseCursor - -

      Whether to capture the mouse in screen sharing:

        -
      • : (Default) Capture the mouse.
      • -
      • : Do not capture the mouse.
      • -

      - Due to macOS system restrictions, setting this parameter to is ineffective during screen sharing (it has no impact when sharing a window). -
      -
      - - windowFocus - -

      Whether to bring the window to the front when calling the method to share it:

        -
      • : Bring the window to the front.
      • -
      • : (Default) Do not bring the window to the front.
      • -

      -
      -
      - - excludeWindowList - The ID list of the windows to be blocked. When calling to start screen sharing, you can use this parameter to block a specified window. When calling to update screen sharing configurations, you can use this parameter to dynamically block a specified window. - - - highLighted - enableHighLight - (For macOS and Windows only) Whether to place a border around the shared window or screen:
        -
      • : Place a border.
      • -
      • : (Default) Do not place a border.
      • -
      - When you share a part of a window or screen, the SDK places a border around the entire window or screen if you set this parameter to .
      -
      - - highLightColor - (For macOS and Windows only)
        -
      • On Windows platforms, the color of the border in ARGB format. The default value is 0xFF8CBF26.
      • -
      • On macOS, COLOR_CLASS refers to NSColor.
      -
      - - highLightWidth - (For macOS and Windows only) The width (px) of the border. The default value is 5, and the value range is (0, 50].This parameter only takes effect when highLighted is set to . - - - excludeWindowCount - The number of windows to be excluded.On the Windows platform, the maximum value of this parameter is 24; if this value is exceeded, excluding the window fails. - - -
    + When setting the encoding resolution in the scenario of sharing + documents (), choose one of + the following two methods:
      +
    • If you require the best image quality, it is recommended to + set the encoding resolution to be the same as the capture + resolution.
    • +
    • If you wish to achieve a relative balance between image + quality, bandwidth, and system performance, then:
        +
      • When the capture resolution is greater than 1920 × + 1080, it is recommended that the encoding resolution + is not less than 1920 × 1080.
      • +
      • When the capture resolution is less than 1920 × + 1080, it is recommended that the encoding resolution + is not less than 1280 × 720.
      • +
    • +
    +

    + + + + frameRate + The frame rate of the shared region. The video encoding frame rate of the screen sharing stream. + On Windows and macOS, this + represents the video encoding frame rate (fps) of the screen sharing + stream. The frame rate (fps) of the shared region. The default + value is 5. Agora does not recommend setting this to a value greater + than 15. + + + bitrate + The bitrate of the shared region. The video encoding bitrate of the screen sharing stream. + On Windows and macOS, this + represents the video encoding bitrate of the screen sharing stream. + The bitrate (Kbps) of the shared region. The default value is 0 + (the SDK works out a bitrate according to the dimensions of the current + screen). + + + captureMouseCursor + +

    Whether to capture the mouse in screen sharing:

      +
    • : (Default) Capture the + mouse.
    • +
    • : Do not capture the + mouse.
    • +

    + Due to macOS system + restrictions, setting this parameter to is ineffective during screen sharing (it has no impact + when sharing a window). +
    +
    + + windowFocus + +

    Whether to bring the window to the front when calling the method to share it:

      +
    • : Bring the window to the + front.
    • +
    • : (Default) Do not bring + the window to the front.
    • +

    +
    +
    + + excludeWindowList + The ID list of the windows to be blocked. When calling to start screen sharing, you + can use this parameter to block a specified window. When calling to update screen sharing + configurations, you can use this parameter to dynamically block a specified + window. + + + highLighted + enableHighLight + (For macOS and Windows only) + Whether to place a border around the shared window or + screen:
      +
    • : Place a border.
    • +
    • : (Default) Do not place a + border.
    • +
    + When you share a part of a window or screen, the SDK places a border + around the entire window or screen if you set this parameter to + .
    +
    + + highLightColor + (For macOS and Windows only)
      +
    • On Windows + platforms, the color of the border in ARGB format. The default value + is 0xFF8CBF26.
    • +
    • On macOS, + COLOR_CLASS refers to + NSColor.
    • +
    +
    + + highLightWidth + (For macOS and Windows only) + The width (px) of the border. The default value is 5, and the + value range is (0, 50].This parameter only takes effect when + highLighted is set to . + + + excludeWindowCount + The number of windows to be excluded.On the Windows platform, the + maximum value of this parameter is 24; if this value is exceeded, + excluding the window fails. + + + +
    diff --git a/en-US/dita/RTC-NG/API/class_screencaptureparameters2.dita b/en-US/dita/RTC-NG/API/class_screencaptureparameters2.dita index 1be963a6765..ab4803c3720 100644 --- a/en-US/dita/RTC-NG/API/class_screencaptureparameters2.dita +++ b/en-US/dita/RTC-NG/API/class_screencaptureparameters2.dita @@ -6,7 +6,7 @@

    - public class ScreenCaptureParameters { + public class ScreenCaptureParameters { public static class VideoCaptureParameters { public int bitrate = 0; public int framerate = 15; @@ -93,21 +93,21 @@ } } - __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters2 : NSObject + __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters2 : NSObject @property(assign, nonatomic) BOOL captureAudio; @property(strong, nonatomic) AgoraScreenAudioParameters* _Nonnull audioParams; @property(assign, nonatomic) BOOL captureVideo; @property(strong, nonatomic) AgoraScreenVideoParameters* _Nonnull videoParams; @end - struct ScreenCaptureParameters2 { + struct ScreenCaptureParameters2 { bool captureAudio = false; ScreenAudioParameters audioParams; bool captureVideo = true; ScreenVideoParameters videoParams; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenCaptureParameters2 { GENERATED_BODY() @@ -121,13 +121,13 @@ struct FScreenCaptureParameters2 UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ScreenCaptureParameters2") FScreenVideoParameters videoParams; }; - export class ScreenCaptureParameters2 { + export class ScreenCaptureParameters2 { captureAudio?: boolean; audioParams?: ScreenAudioParameters captureVideo?: boolean; videoParams?: ScreenVideoParameters; } - public class ScreenCaptureParameters2 + public class ScreenCaptureParameters2 { public bool captureAudio { set; get; } public ScreenAudioParameters audioParams { set; get; } @@ -142,14 +142,14 @@ struct FScreenCaptureParameters2 videoParams = new ScreenVideoParameters(); } }; - export class ScreenCaptureParameters2 { + export class ScreenCaptureParameters2 { captureAudio?: boolean; audioParams?: ScreenAudioParameters; captureVideo?: boolean; videoParams?: ScreenVideoParameters; } - class ScreenCaptureParameters2 { + class ScreenCaptureParameters2 { const ScreenCaptureParameters2( {this.captureAudio, @@ -173,54 +173,72 @@ struct FScreenCaptureParameters2 _$ScreenCaptureParameters2FromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureParameters2ToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - captureAudio - Determines whether to capture system audio during screen sharing:
      -
    • : Capture system audio.
    • -
    • : (Default) Do not capture system audio.
    • + + captureAudio + Determines whether to capture system audio during screen sharing:
        +
      • : Capture system audio.
      • +
      • : (Default) Do not capture system audio.
        -
      • Due to system limitations, capturing system audio is only applicable to Android API level 29 and later (that is, Android 10 and later).
      • -
      • To improve the success rate of capturing system audio during screen sharing, ensure that you have called the method and set the audio scenario to .
      -
      - +
    • Due to system limitations, + capturing system audio is only applicable to Android API level 29 and later (that + is, Android 10 and later).
    • +
    • To improve the success rate of capturing system audio during screen sharing, + ensure that you have called the method and set + the audio scenario to .
    • +
    +
    + audioParams - The audio configuration for the shared screen stream. See .This parameter only takes effect when captureAudio is . + The audio configuration for the shared screen stream. See .This parameter only takes + effect when captureAudio is . - - captureVideo - Whether to capture the screen when screen sharing:
      -
    • : (Default) Capture the screen.
    • -
    • : Do not capture the screen.
    • + + captureVideo + Whether to capture the screen when screen sharing:
        +
      • : (Default) Capture the screen.
      • +
      • : Do not capture the screen.
      - Due to system limitations, the capture screen is only applicable to Android API level 21 and above, that is, Android 5 and above.
      -
      - + Due to system limitations, the + capture screen is only applicable to Android API level 21 and above, that is, Android + 5 and above. + + videoParams - The video configuration for the shared screen stream. See .This parameter only takes effect when captureVideo is . + The video configuration for the shared screen stream. See .This parameter only takes + effect when captureVideo is . + + +
    +
    + Classes + + + + The video configuration for the shared screen stream. See . -
    -
    - Classes - - - - The video configuration for the shared screen stream. See . - - - - The audio configuration for the shared screen stream. See . - - -
    + + + The audio configuration for the shared screen stream. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/class_screencapturesourceinfo.dita b/en-US/dita/RTC-NG/API/class_screencapturesourceinfo.dita index 880308bbb89..20967415e4e 100644 --- a/en-US/dita/RTC-NG/API/class_screencapturesourceinfo.dita +++ b/en-US/dita/RTC-NG/API/class_screencapturesourceinfo.dita @@ -2,12 +2,14 @@ <ph keyref="ScreenCaptureSourceInfo"/> - The information about the specified shareable window or screen. The information is returned in . + The information about the specified shareable window or + screen. The information is returned in .

    - - __attribute__((visibility("default"))) @interface AgoraScreenCaptureSourceInfo : NSObject + + __attribute__((visibility("default"))) @interface AgoraScreenCaptureSourceInfo : NSObject @property(assign, nonatomic) AgoraScreenCaptureSourceType type; @property(assign, nonatomic) CGWindowID sourceId; @property(copy, nonatomic) NSString* _Nonnull sourceName; @@ -20,7 +22,7 @@ @end - struct ScreenCaptureSourceInfo { + struct ScreenCaptureSourceInfo { ScreenCaptureSourceType type; view_t sourceId; const char* sourceName; @@ -39,7 +41,7 @@ ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false), isOccluded(false) {} #endif }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenCaptureSourceInfo { GENERATED_BODY() @@ -62,7 +64,7 @@ struct FScreenCaptureSourceInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FScreenCaptureSourceInfo") bool isOccluded; }; - export class ScreenCaptureSourceInfo { + export class ScreenCaptureSourceInfo { type?: ScreenCaptureSourceType; @@ -86,7 +88,7 @@ struct FScreenCaptureSourceInfo { sourceDisplayId?: any; } - public class ScreenCaptureSourceInfo + public class ScreenCaptureSourceInfo { public ScreenCaptureSourceType type; public view_t sourceId; @@ -99,8 +101,8 @@ struct FScreenCaptureSourceInfo { public Rectangle position; public view_t sourceDisplayId; }; - - class ScreenCaptureSourceInfo { + + class ScreenCaptureSourceInfo { const ScreenCaptureSourceInfo( {this.type, this.sourceId, @@ -151,62 +153,82 @@ struct FScreenCaptureSourceInfo { _$ScreenCaptureSourceInfoFromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureSourceInfoToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - The type of the shared target. See . - - - sourceId - The window ID for a window or the display ID for a screen. - - - sourceName - The name of the window or screen. UTF-8 encoding. - - - thumbImage - The image content of the thumbnail. See . - - - iconImage - The image content of the icon. See . - - - processPath - The process to which the window belongs. UTF-8 encoding. - - - sourceTitle - The title of the window. UTF-8 encoding. - - - primaryMonitor - Determines whether the screen is the primary display:
      -
    • : The screen is the primary display.
    • -
    • : The screen is not the primary display.
    • -
    -
    - - position - The position of a window relative to the entire screen space (including all shareable screens). See . See . - - - minimizeWindow - (For Windows only) Whether the window is minimized:
      -
    • : The window is minimized.
    • -
    • : The window is not minimized.
    • -
    -
    - - sourceDisplayId - (For Windows only) Screen ID where the window is located. If the window is displayed across multiple screens, this parameter indicates the ID of the screen with which the window has the largest intersection area. If the window is located outside of the visible screens, the value of this member is -2. - -
    + + type + The type of the shared target. See . + + + sourceId + The window ID for a window or the display ID for a screen. + + + sourceName + The name of the window or screen. UTF-8 encoding. + + + thumbImage + The image content of the thumbnail. See . + + + iconImage + The image content of the icon. See . + + + processPath + The process to which the window belongs. UTF-8 encoding. + + + sourceTitle + The title of the window. UTF-8 encoding. + + + primaryMonitor + Determines whether the screen is the primary display:
      +
    • : The screen is the primary + display.
    • +
    • : The screen is not the primary + display.
    • +
    +
    + + position + The position of a window relative to the entire screen space (including + all shareable screens). See . See . + + + minimizeWindow + (For Windows only) Whether the window is minimized:
      +
    • : The window is minimized.
    • +
    • : The window is not + minimized.
    • +
    +
    + + sourceDisplayId + (For Windows only) Screen ID where the window is located. If the window is + displayed across multiple screens, this parameter indicates the ID of the + screen with which the window has the largest intersection area. If the + window is located outside of the visible screens, the value of this member + is -2. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_screensymbol.dita b/en-US/dita/RTC-NG/API/class_screensymbol.dita index a3652e2a9fb..bbd5c19599a 100644 --- a/en-US/dita/RTC-NG/API/class_screensymbol.dita +++ b/en-US/dita/RTC-NG/API/class_screensymbol.dita @@ -1,25 +1,26 @@ - <ph keyref="ScreenSymbol" /> + <ph keyref="ScreenSymbol"/> The screen to be shared.

    - - - - - - - -

    + + + + + + + +

    -

    The display ID (macOS) or ScreenRect that identifies the screen. You can set it as one of the following values:

      -
    • Number: The display ID for macOS.
    • -
    • : The Screen Rect for Windows.
    • -

    +

    The display ID (macOS) or ScreenRect that identifies the screen. You can set it as + one of the following values:

      +
    • Number: The display ID for macOS.
    • +
    • : The Screen Rect for Windows.
    • +

    -
    -
    \ No newline at end of file +
    + diff --git a/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita b/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita index 030efdfcf23..5e75af7a7e4 100644 --- a/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita +++ b/en-US/dita/RTC-NG/API/class_screenvideoparameters.dita @@ -2,11 +2,12 @@ <ph keyref="ScreenVideoParameters"/> - The video configuration for the shared screen stream. + The video configuration for the shared screen + stream.

    - public static class VideoCaptureParameters { + public static class VideoCaptureParameters { public int bitrate = 0; public int framerate = 15; public int width = 1280; @@ -46,7 +47,7 @@ } } - __attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject + __attribute__((visibility("default"))) @interface AgoraScreenVideoParameters : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) AgoraVideoFrameRate frameRate; @@ -55,7 +56,7 @@ @end - struct ScreenVideoParameters { + struct ScreenVideoParameters { VideoDimensions dimensions; int frameRate = 15; int bitrate; @@ -64,7 +65,7 @@ ScreenVideoParameters() : dimensions(1280, 720) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FScreenVideoParameters { GENERATED_BODY() @@ -78,7 +79,7 @@ struct FScreenVideoParameters { EVIDEO_CONTENT_HINT contentHint = EVIDEO_CONTENT_HINT::CONTENT_HINT_MOTION; }; - export class ScreenVideoParameters { + export class ScreenVideoParameters { dimensions?: VideoDimensions; @@ -88,7 +89,7 @@ struct FScreenVideoParameters { contentHint?: VideoContentHint; } - public class ScreenVideoParameters + public class ScreenVideoParameters { public VideoDimensions dimensions { set; get; } @@ -104,7 +105,7 @@ struct FScreenVideoParameters { frameRate = 15; } }; - export class ScreenVideoParameters { + export class ScreenVideoParameters { dimensions?: VideoDimensions; @@ -114,7 +115,7 @@ struct FScreenVideoParameters { contentHint?: VideoContentHint; } - class ScreenVideoParameters { + class ScreenVideoParameters { const ScreenVideoParameters( {this.dimensions, this.frameRate, this.bitrate, this.contentHint}); @@ -129,96 +130,189 @@ struct FScreenVideoParameters { factory ScreenVideoParameters.fromJson(Map<String, dynamic> json) => _$ScreenVideoParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenVideoParametersToJson(this); -} -

    +} +

    -

    Only available for scenarios where captureVideo is .

    +

    Only available for scenarios where captureVideo + is .

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - The video encoding dimension. The default value is 1280 × 720. - If the aspect ratio of dimensions is different from that of the screen, the SDK adjusts the video encoding resolution according to the following rules (take the dimensions of 1280 × 720 as an example):
      -
    • When the width and height of the screen are both lower than those of dimensions, the SDK uses the resolution of the screen for video encoding. For example, if the screen is 640 × 360, the SDK uses 640 × 360 for video encoding.
    • -
    • When either the width or height of the screen is higher than that of dimensions, the SDK uses the maximum values that do not exceed those of dimensions while maintaining the aspect ratio of the screen for video encoding. For example, if the screen is 2000 × 1500, the SDK uses 960 × 720 for video encoding.
    • -
    - -
      -
    • The billing for the screen sharing stream is based on the value of dimensions. When you do not pass in a value, Agora bills you at 1280 × 720; when you pass in a value, Agora bills you at that value. For billing details, see .
    • -
    • The value of this parameter does not indicate the orientation mode of the output video. For how to set the video orientation, see .
    • -
    • Whether the 720p resolution or above can be supported depends on the device. If the device cannot support 720p, the frame rate will be lower than the set value.
    • -
    - When setting the encoding resolution in the scenario of sharing documents (), choose one of the following two methods:
      -
    • If you require the best image quality, it is recommended to set the encoding resolution to be the same as the capture resolution.
    • -
    • If you wish to achieve a relative balance between image quality, bandwidth, and system performance, then:
        -
      • When the capture resolution is greater than 1920 × 1080, it is recommended that the encoding resolution is not less than 1920 × 1080.
      • -
      • When the capture resolution is less than 1920 × 1080, it is recommended that the encoding resolution is not less than 1280 × 720.
      • -
    • -
    + + dimensions + The video encoding dimension. The default value is 1280 × 720. + If the aspect ratio of dimensions is different from + that of the screen, the SDK adjusts the video encoding resolution according + to the following rules (take the dimensions of 1280 × + 720 as an example):
      +
    • When the width and height of the screen are both lower than those of + dimensions, the SDK uses the resolution of + the screen for video encoding. For example, if the screen is 640 × + 360, the SDK uses 640 × 360 for video encoding.
    • +
    • When either the width or height of the screen is higher than that of + dimensions, the SDK uses the maximum values + that do not exceed those of dimensions while + maintaining the aspect ratio of the screen for video encoding. For + example, if the screen is 2000 × 1500, the SDK uses 960 × 720 for + video encoding.
    • +
    + +
      +
    • The billing for the screen sharing stream is based on the value + of dimensions. When you do not pass in a + value, Agora bills you at 1280 × 720; when you pass in a value, + Agora bills you at that value. For billing details, see .
    • +
    • The value of this parameter does not indicate the orientation + mode of the output video. For how to set the video orientation, + see .
    • +
    • Whether the 720p resolution or above can be supported depends on + the device. If the device cannot support 720p, the frame rate + will be lower than the set value.
    • +
    +
    + When setting the encoding resolution in the scenario of sharing + documents (), choose one of the + following two methods:
      +
    • If you require the best image quality, it is recommended to set + the encoding resolution to be the same as the capture + resolution.
    • +
    • If you wish to achieve a relative balance between image quality, + bandwidth, and system performance, then:
        +
      • When the capture resolution is greater than 1920 × 1080, + it is recommended that the encoding resolution is not + less than 1920 × 1080.
      • +
      • When the capture resolution is less than 1920 × 1080, it + is recommended that the encoding resolution is not less + than 1280 × 720.
      • +
    • +
    -
    - - width - The width (px) of the video encoding resolution. The default value is 1280. If the aspect ratio of width to height is different from that of the screen, the SDK adjusts the video encoding resolution according to the following rules (take width × height of 1280 × 720 as an example):
      -
    • When the width and height of the screen are both lower than those of dimensions, the SDK uses the resolution of the screen for video encoding. For example, if the screen is 640 × 360, the SDK uses 640 × 360 for video encoding.
    • -
    • When either the width or height of the screen is higher than that of dimensions, the SDK uses the maximum values that do not exceed those of dimensions while maintaining the aspect ratio of the screen for video encoding. For example, if the screen is 2000 × 1500, the SDK uses 960 × 720 for video encoding.
    • -
    - -
      -
    • The billing for the screen sharing stream is based on the value of dimensions. When you do not pass in a value, Agora bills you at 1280 × 720; when you pass in a value, Agora bills you at that value. For billing details, see .
    • -
    • The value of this parameter does not indicate the orientation mode of the output video. For how to set the video orientation, see .
    • -
    • Whether the 720p resolution or above can be supported depends on the device. If the device cannot support 720p, the frame rate will be lower than the set value.
    • -
    - When setting the encoding resolution in the scenario of sharing documents (), choose one of the following two methods:
      -
    • If you require the best image quality, it is recommended to set the encoding resolution to be the same as the capture resolution.
    • -
    • If you wish to achieve a relative balance between image quality, bandwidth, and system performance, then:
        -
      • When the capture resolution is greater than 1920 × 1080, it is recommended that the encoding resolution is not less than 1920 × 1080.
      • -
      • When the capture resolution is less than 1920 × 1080, it is recommended that the encoding resolution is not less than 1280 × 720.
      • -
    • -
    +
    + + width + The width (px) of the video encoding resolution. The default value is 1280. + If the aspect ratio of width to height is different from that of the screen, + the SDK adjusts the video encoding resolution according to the following + rules (take width × height of 1280 × 720 as an example):
      +
    • When the width and height of the screen are both lower than those of + dimensions, the SDK uses the resolution of the screen for video + encoding. For example, if the screen is 640 × 360, the SDK uses 640 + × 360 for video encoding.
    • +
    • When either the width or height of the screen is higher than that of + dimensions, the SDK uses the maximum values that do not exceed those + of dimensions while maintaining the aspect ratio of the screen for + video encoding. For example, if the screen is 2000 × 1500, the SDK + uses 960 × 720 for video encoding.
    • +
    + +
      +
    • The billing for the screen sharing stream is based on the value + of dimensions. When you do not pass in a value, Agora bills you + at 1280 × 720; when you pass in a value, Agora bills you at that + value. For billing details, see .
    • +
    • The value of this parameter does not indicate the orientation + mode of the output video. For how to set the video orientation, + see .
    • +
    • Whether the 720p resolution or above can be supported depends on + the device. If the device cannot support 720p, the frame rate + will be lower than the set value.
    • +
    +
    + When setting the encoding resolution in the scenario of sharing + documents (), choose one of the + following two methods:
      +
    • If you require the best image quality, it is recommended to set + the encoding resolution to be the same as the capture + resolution.
    • +
    • If you wish to achieve a relative balance between image quality, + bandwidth, and system performance, then:
        +
      • When the capture resolution is greater than 1920 × 1080, + it is recommended that the encoding resolution is not + less than 1920 × 1080.
      • +
      • When the capture resolution is less than 1920 × 1080, it + is recommended that the encoding resolution is not less + than 1280 × 720.
      • +
    • +
    -
    - - height - The height (px) of the video encoding resolution. The default value is 720. If the aspect ratio of width to height is different from that of the screen, the SDK adjusts the video encoding resolution according to the following rules (take width × height of 1280 × 720 as an example):
      -
    • When the width and height of the screen are both lower than those of dimensions, the SDK uses the resolution of the screen for video encoding. For example, if the screen is 640 × 360, the SDK uses 640 × 360 for video encoding.
    • -
    • When either the width or height of the screen is higher than that of dimensions, the SDK uses the maximum values that do not exceed those of dimensions while maintaining the aspect ratio of the screen for video encoding. For example, if the screen is 2000 × 1500, the SDK uses 960 × 720 for video encoding.
    • -
    - -
      -
    • The billing for the screen sharing stream is based on the value of dimensions. When you do not pass in a value, Agora bills you at 1280 × 720; when you pass in a value, Agora bills you at that value. For billing details, see .
    • -
    • The value of this parameter does not indicate the orientation mode of the output video. For how to set the video orientation, see .
    • -
    • Whether the 720p resolution or above can be supported depends on the device. If the device cannot support 720p, the frame rate will be lower than the set value.
    • -
    - When setting the encoding resolution in the scenario of sharing documents (), choose one of the following two methods:
      -
    • If you require the best image quality, it is recommended to set the encoding resolution to be the same as the capture resolution.
    • -
    • If you wish to achieve a relative balance between image quality, bandwidth, and system performance, then:
        -
      • When the capture resolution is greater than 1920 × 1080, it is recommended that the encoding resolution is not less than 1920 × 1080.
      • -
      • When the capture resolution is less than 1920 × 1080, it is recommended that the encoding resolution is not less than 1280 × 720.
      • -
    • -
    +
    + + height + The height (px) of the video encoding resolution. The default value is 720. + If the aspect ratio of width to height is different from that of the screen, + the SDK adjusts the video encoding resolution according to the following + rules (take width × height of 1280 × 720 as an example):
      +
    • When the width and height of the screen are both lower than those of + dimensions, the SDK uses the resolution of the screen for video + encoding. For example, if the screen is 640 × 360, the SDK uses 640 + × 360 for video encoding.
    • +
    • When either the width or height of the screen is higher than that of + dimensions, the SDK uses the maximum values that do not exceed those + of dimensions while maintaining the aspect ratio of the screen for + video encoding. For example, if the screen is 2000 × 1500, the SDK + uses 960 × 720 for video encoding.
    • +
    + +
      +
    • The billing for the screen sharing stream is based on the value + of dimensions. When you do not pass in a value, Agora bills you + at 1280 × 720; when you pass in a value, Agora bills you at that + value. For billing details, see .
    • +
    • The value of this parameter does not indicate the orientation + mode of the output video. For how to set the video orientation, + see .
    • +
    • Whether the 720p resolution or above can be supported depends on + the device. If the device cannot support 720p, the frame rate + will be lower than the set value.
    • +
    +
    + When setting the encoding resolution in the scenario of sharing + documents (), choose one of the + following two methods:
      +
    • If you require the best image quality, it is recommended to set + the encoding resolution to be the same as the capture + resolution.
    • +
    • If you wish to achieve a relative balance between image quality, + bandwidth, and system performance, then:
        +
      • When the capture resolution is greater than 1920 × 1080, + it is recommended that the encoding resolution is not + less than 1920 × 1080.
      • +
      • When the capture resolution is less than 1920 × 1080, it + is recommended that the encoding resolution is not less + than 1280 × 720.
      • +
    • +
    -
    - - frameRate - frameRate - The video encoding frame rate (fps). The default value is 15. - - - bitrate - The video encoding bitrate (Kbps). - - - contentHint - The content hint for screen sharing. See .
      -
    • (0): (Default) No content hint.
    • -
    • (1): Motion-intensive content. Choose this option if you prefer smoothness or when you are sharing a video clip, movie, or video game.
    • -
    • (2): Motionless content. Choose this option if you prefer sharpness or when you are sharing a picture, PowerPoint slides, or texts.
    • -
    -
    -
    + + + frameRate + frameRate + The video encoding frame rate (fps). The default value is 15. + + + bitrate + The video encoding bitrate (Kbps). + + + contentHint + The content hint for screen sharing. See .
      +
    • (0): (Default) No content hint.
    • +
    • (1): Motion-intensive content. + Choose this option if you prefer smoothness or when you are sharing + a video clip, movie, or video game.
    • +
    • (2): Motionless content. Choose + this option if you prefer sharpness or when you are sharing a + picture, PowerPoint slides, or texts.
    • +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_sdkbuildinfo.dita b/en-US/dita/RTC-NG/API/class_sdkbuildinfo.dita index 429aeaeccb8..cd5b7397b27 100644 --- a/en-US/dita/RTC-NG/API/class_sdkbuildinfo.dita +++ b/en-US/dita/RTC-NG/API/class_sdkbuildinfo.dita @@ -1,24 +1,24 @@ - <ph keyref="SDKBuildInfo" /> + <ph keyref="SDKBuildInfo"/> SDK version information.

    - - - - export class SDKBuildInfo { + + + + export class SDKBuildInfo { build?: number; version?: string; } - - export class SDKBuildInfo { + + export class SDKBuildInfo { build?: number; version?: string; } - class SDKBuildInfo { + class SDKBuildInfo { const SDKBuildInfo({this.build, this.version}); @JsonKey(name: 'build') @@ -28,21 +28,24 @@ factory SDKBuildInfo.fromJson(Map<String, dynamic> json) => _$SDKBuildInfoFromJson(json); Map<String, dynamic> toJson() => _$SDKBuildInfoToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - build - SDK build index. - - - version - SDK version information. String format, such as 4.0.0. - SDK version information. String format, such as 6.0.0. - -
    + + build + SDK build index. + + + version + SDK version information. String format, such as + 4.0.0. + SDK version information. String format, such as 6.0.0. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_segmentationproperty.dita b/en-US/dita/RTC-NG/API/class_segmentationproperty.dita index 1b8c808fdff..a3a8fb9140e 100644 --- a/en-US/dita/RTC-NG/API/class_segmentationproperty.dita +++ b/en-US/dita/RTC-NG/API/class_segmentationproperty.dita @@ -1,12 +1,13 @@ - <ph keyref="SegmentationProperty" /> - Processing properties for background images. + <ph keyref="SegmentationProperty"/> + Processing properties for background + images.

    - public class SegmentationProperty { + public class SegmentationProperty { public static final int SEG_MODEL_AI = 1; public static final int SEG_MODEL_GREEN = 2; public int modelType; @@ -21,11 +22,11 @@ this.greenCapacity = 0.5f; } } - __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject + __attribute__((visibility("default"))) @interface AgoraSegmentationProperty: NSObject @property(nonatomic, assign) SegModelType modelType; @property(nonatomic, assign) float greenCapacity; @end - struct SegmentationProperty { + struct SegmentationProperty { enum SEG_MODEL_TYPE { SEG_MODEL_AI = 1, SEG_MODEL_GREEN = 2 @@ -35,7 +36,7 @@ SegmentationProperty() : modelType(SEG_MODEL_AI), greenCapacity(0.5){} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FSegmentationProperty { GENERATED_BODY() @@ -45,13 +46,13 @@ struct FSegmentationProperty UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SegmentationProperty") float greenCapacity = 0.5; }; - export class SegmentationProperty { + export class SegmentationProperty { modelType?: SegModelType; greenCapacity?: number; } - public class SegmentationProperty + public class SegmentationProperty { public SEG_MODEL_TYPE modelType { set; get; } public float greenCapacity { set; get; } @@ -62,13 +63,13 @@ struct FSegmentationProperty greenCapacity = 0.5f; } }; - export class SegmentationProperty { + export class SegmentationProperty { modelType?: SegModelType; greenCapacity?: number; } - class SegmentationProperty { + class SegmentationProperty { const SegmentationProperty({this.modelType, this.greenCapacity}); @@ -82,36 +83,54 @@ struct FSegmentationProperty _$SegmentationPropertyFromJson(json); Map<String, dynamic> toJson() => _$SegmentationPropertyToJson(this); -} -

    +} +

    -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - modelType - The type of algorithms to user for background processing. See .
      -
    • (1): (Default) Use the algorithm suitable for all scenarios.
    • -
    • (2): Use the algorithm designed specifically for scenarios with a green screen background.
    • -
    -
    - - preferVelocity - Whether to enable bilateral filtering:
      -
    • 0: Disable bilateral filtering.
    • -
    • 1: (Default) Enable bilateral filtering. This improves the virtual background effect in green screen background scenarios.
    • -
    - This parameter only takes effect when modelType is set to .
    -
    - - greenCapacity - -

    The accuracy range for recognizing background colors in the image. The value range is [0,1], and the default value is 0.5. The larger the value, the wider the range of identifiable shades of pure color. When the value of this parameter is too large, the edge of the portrait and the pure color in the portrait range are also detected. Agora recommends that you dynamically adjust the value of this parameter according to the actual effect.

    - This parameter only takes effect when modelType is set to .
    -
    -
    + + modelType + The type of algorithms to user for background processing. See .
      +
    • (1): (Default) Use the algorithm suitable + for all scenarios.
    • +
    • (2): Use the algorithm designed + specifically for scenarios with a green screen background.
    • +
    +
    + + preferVelocity + Whether to enable bilateral filtering:
      +
    • 0: Disable bilateral filtering.
    • +
    • 1: (Default) Enable bilateral filtering. This improves the virtual + background effect in green screen background scenarios.
    • +
    + This parameter only takes effect when + modelType is set to .
    +
    + + greenCapacity + +

    The accuracy range for recognizing background colors in the image. The + value range is [0,1], and the default value is 0.5. The larger the + value, the wider the range of identifiable shades of pure color. When + the value of this parameter is too large, the edge of the portrait and + the pure color in the portrait range are also detected. Agora recommends + that you dynamically adjust the value of this parameter according to the + actual effect.

    + This parameter only takes effect when + modelType is set to . +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_simulcaststreamconfig.dita b/en-US/dita/RTC-NG/API/class_simulcaststreamconfig.dita index 75d8c6e1351..ae99292203a 100644 --- a/en-US/dita/RTC-NG/API/class_simulcaststreamconfig.dita +++ b/en-US/dita/RTC-NG/API/class_simulcaststreamconfig.dita @@ -1,12 +1,13 @@ - <ph keyref="SimulcastStreamConfig" /> - The configuration of the low-quality video stream. + <ph keyref="SimulcastStreamConfig"/> + The configuration of the low-quality video + stream.

    - public class SimulcastStreamConfig { + public class SimulcastStreamConfig { public VideoEncoderConfiguration.VideoDimensions dimensions; public int bitrate; public int framerate; @@ -24,12 +25,12 @@ this.framerate = framerate; } } - __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject @property (assign, nonatomic) int bitrate; @property (assign, nonatomic) int framerate; @property (assign, nonatomic) CGSize dimensions; @end - struct SimulcastStreamConfig { + struct SimulcastStreamConfig { VideoDimensions dimensions; @@ -41,7 +42,7 @@ return dimensions == rhs.dimensions && kBitrate == rhs.kBitrate && framerate == rhs.framerate; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FSimulcastStreamConfig { GENERATED_BODY() @@ -53,23 +54,23 @@ struct FSimulcastStreamConfig UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SimulcastStreamConfig") int framerate; }; - export class SimulcastStreamConfig { + export class SimulcastStreamConfig { dimensions?: VideoDimensions; kBitrate?: number; framerate?: number; } - public class SimulcastStreamConfig + public class SimulcastStreamConfig { public VideoDimensions dimensions; public int kBitrate; public int framerate; }; - export class SimulcastStreamConfig { + export class SimulcastStreamConfig { dimensions?: VideoDimensions; kBitrate?: number; framerate?: number; } - class SimulcastStreamConfig { + class SimulcastStreamConfig { const SimulcastStreamConfig({this.dimensions, this.kBitrate, this.framerate}); @JsonKey(name: 'dimensions') @@ -85,21 +86,28 @@ struct FSimulcastStreamConfig

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - The video dimension. See . The default value is 50% of the high-quality video stream. - - - bitrate - kBitrate - Video receive bitrate (Kbps), represented by an instantaneous value. This parameter does not need to be set. The SDK automatically matches the most suitable bitrate based on the video resolution and frame rate you set. - - - frameRate - The frame rate (fps) of the local video. The default value is 5. - -
    + + dimensions + The video dimension. See . The default value is 50% of the + high-quality video stream. + + + bitrate + kBitrate + Video receive bitrate (Kbps), represented by an instantaneous value. This + parameter does not need to be set. The SDK automatically matches the most + suitable bitrate based on the video resolution and frame rate you set. + + + frameRate + The frame rate (fps) of the local video. The default value is 5. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_size.dita b/en-US/dita/RTC-NG/API/class_size.dita index 0417a159992..3cea96a174b 100644 --- a/en-US/dita/RTC-NG/API/class_size.dita +++ b/en-US/dita/RTC-NG/API/class_size.dita @@ -1,24 +1,25 @@ - <ph keyref="SIZE" /> - The target size of the thumbnail or icon. + <ph keyref="SIZE"/> + The target size of the thumbnail or + icon.

    - - - struct SIZE { + + + struct SIZE { int width; int height; SIZE() : width(0), height(0) {} SIZE(int ww, int hh) : width(ww), height(hh) {} }; - export class Size { + export class Size { width?: number height?: number } - public class SIZE + public class SIZE { public int width { set; get; } @@ -36,11 +37,11 @@ height = hh; } }; - export class Size { + export class Size { width?: number; height?: number; } - class SIZE { + class SIZE { const SIZE({this.width, this.height}); @JsonKey(name: 'width') @@ -49,24 +50,27 @@ final int? height; factory SIZE.fromJson(Map<String, dynamic> json) => _$SIZEFromJson(json); Map<String, dynamic> toJson() => _$SIZEToJson(this); -} -

    +} +

    - This method applies to macOS only.

    + This method applies to macOS only.

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - The target width (px) of the thumbnail or icon. The default value is 0. - - - height - The target height (px) of the thumbnail or icon. The default value is 0. - -
    + + width + The target width (px) of the thumbnail or icon. The default value is 0. + + + height + The target height (px) of the thumbnail or icon. The default value is + 0. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_spatialaudioparams.dita b/en-US/dita/RTC-NG/API/class_spatialaudioparams.dita index 2bec615efd7..34a6340e11a 100644 --- a/en-US/dita/RTC-NG/API/class_spatialaudioparams.dita +++ b/en-US/dita/RTC-NG/API/class_spatialaudioparams.dita @@ -6,7 +6,7 @@

    - public class SpatialAudioParams { + public class SpatialAudioParams { public Double speaker_azimuth; public Double speaker_elevation; public Double speaker_distance; @@ -48,7 +48,7 @@ return enable_doppler; } } - __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject + __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject @property(assign, nonatomic) double speaker_azimuth; @property(assign, nonatomic) double speaker_elevation; @property(assign, nonatomic) double speaker_distance; @@ -58,7 +58,7 @@ @property(assign, nonatomic) double speaker_attenuation; @property(assign, nonatomic) BOOL enable_doppler; @end - struct SpatialAudioParams { + struct SpatialAudioParams { Optional<double> speaker_azimuth; Optional<double> speaker_elevation; Optional<double> speaker_distance; @@ -68,7 +68,7 @@ Optional<double> speaker_attenuation; Optional<bool> enable_doppler; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FSpatialAudioParams { GENERATED_BODY() @@ -106,7 +106,7 @@ struct FSpatialAudioParams UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SpatialAudioParams") bool enable_doppler; }; - export class SpatialAudioParams { + export class SpatialAudioParams { speaker_azimuth?: number; @@ -124,7 +124,7 @@ struct FSpatialAudioParams enable_doppler?: boolean; } - public class SpatialAudioParams : OptionalJsonParse + public class SpatialAudioParams : OptionalJsonParse { public Optional<double> speaker_azimuth = new Optional<double>(); public Optional<double> speaker_elevation = new Optional<double>(); @@ -135,7 +135,7 @@ struct FSpatialAudioParams public Optional<double> speaker_attenuation = new Optional<double>(); public Optional<bool> enable_doppler = new Optional<bool>(); } - export class SpatialAudioParams { + export class SpatialAudioParams { speaker_azimuth?: number; @@ -153,7 +153,7 @@ struct FSpatialAudioParams enable_doppler?: boolean; } - class SpatialAudioParams { + class SpatialAudioParams { const SpatialAudioParams( {this.speakerAzimuth, this.speakerElevation, @@ -193,75 +193,113 @@ struct FSpatialAudioParams Map<String, dynamic> toJson() => _$SpatialAudioParamsToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - speaker_azimuth - The azimuth angle of the remote user or media player relative to the local user. The value range is [0,360], and the unit is degrees, The values are as follows:
      -
    • 0: (Default) 0 degrees, which means directly in front on the horizontal plane.
    • -
    • 90: 90 degrees, which means directly to the left on the horizontal plane.
    • -
    • 180: 180 degrees, which means directly behind on the horizontal plane.
    • -
    • 270: 270 degrees, which means directly to the right on the horizontal plane.
    • -
    • 360: 360 degrees, which means directly in front on the horizontal plane.
    • -
    -
    - - speaker_elevation - The elevation angle of the remote user or media player relative to the local user. The value range is [-90,90], and the unit is degrees, The values are as follows:
      -
    • 0: (Default) 0 degrees, which means that the horizontal plane is not rotated.
    • -
    • -90: -90 degrees, which means that the horizontal plane is rotated 90 degrees downwards.
    • -
    • 90: 90 degrees, which means that the horizontal plane is rotated 90 degrees upwards.
    • -
    -
    - - speaker_distance - The distance of the remote user or media player relative to the local user. The value range is [1,50], and the unit is meters. The default value is 1 meter. - - - speaker_orientation - The orientation of the remote user or media player relative to the local user. The value range is [0,180], and the unit is degrees, The values are as follows:
      -
    • 0: (Default) 0 degrees, which means that the sound source and listener face the same direction.
    • -
    • 180: 180 degrees, which means that the sound source and listener face each other.
    • -
    -
    - - enable_blur - Whether to enable audio blurring:
      -
    • : Enable audio blurring.
    • -
    • : (Default) Disable audio blurring.
    • -
    -
    - - enable_air_absorb - Whether to enable air absorption, that is, to simulate the sound attenuation effect of sound transmitting in the air; under a certain transmission distance, the attenuation speed of high-frequency sound is fast, and the attenuation speed of low-frequency sound is slow.
      -
    • : (Default) Enable air absorption. Make sure that the value of speaker_attenuation is not 0; otherwise, this setting does not take effect.
    • -
    • : Disable air absorption.
    • -
    -
    - - speaker_attenuation - The sound attenuation coefficient of the remote user or media player. The value range is [0,1]. The values are as follows:
      -
    • 0: Broadcast mode, where the volume and timbre are not attenuated with distance, and the volume and timbre heard by local users do not change regardless of distance.
    • -
    • (0,0.5): Weak attenuation mode, where the volume and timbre only have a weak attenuation during the propagation, and the sound can travel farther than that in a real environment. enable_air_absorb needs to be enabled at the same time.
    • -
    • 0.5: (Default) Simulates the attenuation of the volume in the real environment; the effect is equivalent to not setting the speaker_attenuation parameter.
    • -
    • (0.5,1]: Strong attenuation mode, where volume and timbre attenuate rapidly during the propagation. enable_air_absorb needs to be enabled at the same time.
    • -
    -
    - - enable_doppler - Whether to enable the Doppler effect: When there is a relative displacement between the sound source and the receiver of the sound source, the tone heard by the receiver changes.
      -
    • : Enable the Doppler effect.
    • -
    • : (Default) Disable the Doppler effect.
    • -
    - -
      -
    • This parameter is suitable for scenarios where the sound source is moving at high speed (for example, racing games). It is not recommended for common audio and video interactive scenarios (for example, voice chat, co-streaming, or online KTV).
    • -
    • When this parameter is enabled, Agora recommends that you set a regular period (such as 30 ms), and then call the , , and methods to continuously update the relative distance between the sound source and the receiver. The following factors can cause the Doppler effect to be unpredictable or the sound to be jittery: the period of updating the distance is too long, the updating period is irregular, or the distance information is lost due to network packet loss or delay.
    • -
    -
    -
    + + speaker_azimuth + The azimuth angle of the remote user or media player relative to the local user. The + value range is [0,360], and the unit is degrees, The values are as follows:
      +
    • 0: (Default) 0 degrees, which means directly in front on the horizontal + plane.
    • +
    • 90: 90 degrees, which means directly to the left on the horizontal plane.
    • +
    • 180: 180 degrees, which means directly behind on the horizontal plane.
    • +
    • 270: 270 degrees, which means directly to the right on the horizontal plane.
    • +
    • 360: 360 degrees, which means directly in front on the horizontal plane.
    • +
    +
    + + speaker_elevation + The elevation angle of the remote user or media player relative to the local user. The + value range is [-90,90], and the unit is degrees, The values are as follows:
      +
    • 0: (Default) 0 degrees, which means that the horizontal plane is not rotated.
    • +
    • -90: -90 degrees, which means that the horizontal plane is rotated 90 degrees + downwards.
    • +
    • 90: 90 degrees, which means that the horizontal plane is rotated 90 degrees + upwards.
    • +
    +
    + + speaker_distance + The distance of the remote user or media player relative to the local user. The value + range is [1,50], and the unit is meters. The default value is 1 meter. + + + speaker_orientation + The orientation of the remote user or media player relative to the local user. The + value range is [0,180], and the unit is degrees, The values are as follows:
      +
    • 0: (Default) 0 degrees, which means that the sound source and listener face the + same direction.
    • +
    • 180: 180 degrees, which means that the sound source and listener face each + other.
    • +
    +
    + + enable_blur + Whether to enable audio blurring:
      +
    • : Enable audio blurring.
    • +
    • : (Default) Disable audio blurring.
    • +
    +
    + + enable_air_absorb + Whether to enable air absorption, that is, to simulate the sound attenuation effect of + sound transmitting in the air; under a certain transmission distance, the attenuation + speed of high-frequency sound is fast, and the attenuation speed of low-frequency sound + is slow.
      +
    • : (Default) Enable air absorption. Make sure + that the value of speaker_attenuation is not + 0; otherwise, this setting does not take effect.
    • +
    • : Disable air absorption.
    • +
    +
    + + speaker_attenuation + The sound attenuation coefficient of the remote user or media player. The value range + is [0,1]. The values are as follows:
      +
    • 0: Broadcast mode, where the volume and timbre are not attenuated with distance, + and the volume and timbre heard by local users do not change regardless of + distance.
    • +
    • (0,0.5): Weak attenuation mode, where the volume and timbre only have a weak + attenuation during the propagation, and the sound can travel farther than that in a + real environment. enable_air_absorb needs to be enabled at the + same time.
    • +
    • 0.5: (Default) Simulates the attenuation of the volume in the real environment; + the effect is equivalent to not setting the speaker_attenuation + parameter.
    • +
    • (0.5,1]: Strong attenuation mode, where volume and timbre attenuate rapidly during + the propagation. enable_air_absorb needs to be enabled at the + same time.
    • +
    +
    + + enable_doppler + Whether to enable the Doppler effect: When there is a relative displacement between + the sound source and the receiver of the sound source, the tone heard by the receiver changes.
      +
    • : Enable the Doppler effect.
    • +
    • : (Default) Disable the Doppler effect.
    • +
    + +
      +
    • This parameter is suitable for scenarios where the sound source is moving at + high speed (for example, racing games). It is not recommended for common audio and + video interactive scenarios (for example, voice chat, co-streaming, or online + KTV).
    • +
    • When this parameter is enabled, Agora recommends that you set a regular period + (such as 30 ms), and then call the , + , and + methods to continuously update the relative distance between the sound source and + the receiver. The following factors can cause the Doppler effect to be + unpredictable or the sound to be jittery: the period of updating the distance is + too long, the updating period is irregular, or the distance information is lost + due to network packet loss or delay.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_spatialaudiozone.dita b/en-US/dita/RTC-NG/API/class_spatialaudiozone.dita index d3456cac35f..7c487b523a4 100644 --- a/en-US/dita/RTC-NG/API/class_spatialaudiozone.dita +++ b/en-US/dita/RTC-NG/API/class_spatialaudiozone.dita @@ -6,7 +6,7 @@

    - public class SpatialAudioZone { + public class SpatialAudioZone { public int zoneSetId; public float[] position; public float[] forward; @@ -64,7 +64,7 @@ return audioAttenuation; } } - __attribute__((visibility("default"))) @interface AgoraSpatialAudioZone : NSObject + __attribute__((visibility("default"))) @interface AgoraSpatialAudioZone : NSObject @property(assign, nonatomic) NSInteger zoneSetId; @property(nonatomic) simd_float3 position; @property(nonatomic) simd_float3 forward; @@ -75,7 +75,7 @@ @property(assign, nonatomic) float upLength; @property(assign, nonatomic) float audioAttenuation; @end - struct SpatialAudioZone { + struct SpatialAudioZone { int zoneSetId; float position[3]; float forward[3]; @@ -87,7 +87,7 @@ float audioAttenuation; SpatialAudioZone() = default; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FSpatialAudioZone { GENERATED_BODY() @@ -111,7 +111,7 @@ struct FSpatialAudioZone { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FSpatialAudioZone") float audioAttenuation; }; - export class SpatialAudioZone { + export class SpatialAudioZone { zoneSetId?: number; position?: number[]; forward?: number[]; @@ -122,7 +122,7 @@ struct FSpatialAudioZone { upLength?: number; audioAttenuation?: number; } - public class SpatialAudioZone + public class SpatialAudioZone { public int zoneSetId; public float[] position; @@ -134,7 +134,7 @@ struct FSpatialAudioZone { public float upLength; public float audioAttenuation; }; - export class SpatialAudioZone { + export class SpatialAudioZone { zoneSetId?: number; position?: number[]; forward?: number[]; @@ -145,7 +145,7 @@ struct FSpatialAudioZone { upLength?: number; audioAttenuation?: number; } - class SpatialAudioZone { + class SpatialAudioZone { const SpatialAudioZone( {this.zoneSetId, this.position, @@ -188,62 +188,84 @@ struct FSpatialAudioZone { _$SpatialAudioZoneFromJson(json); Map<String, dynamic> toJson() => _$SpatialAudioZoneToJson(this); -} -

    +} +

    - -
    Since
    -
    v4.0.1
    -
    + +
    Since
    +
    v4.0.1
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - zoneSetId - The ID of the sound insulation area. - - - position - The spatial center point of the sound insulation area. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - - - forward - Starting at position, the forward unit vector. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - - - right - Starting at position, the right unit vector. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - - - up - Starting at position, the up unit vector. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - - - forwardLength - The entire sound insulation area is regarded as a cube; this represents the length of the forward side in the unit length of the game engine. - - - rightLength - The entire sound insulation area is regarded as a cube; this represents the length of the right side in the unit length of the game engine. - - - upLength - The entire sound insulation area is regarded as a cube; this represents the length of the up side in the unit length of the game engine. - - - audioAttenuation - The sound attenuation coefficient when users within the sound insulation area communicate with external users. The value range is [0,1]. The values are as follows:
      -
    • 0: Broadcast mode, where the volume and timbre are not attenuated with distance, and the volume and timbre heard by local users do not change regardless of distance.
    • -
    • (0,0.5): Weak attenuation mode, that is, the volume and timbre are only weakly attenuated during the propagation process, and the sound can travel farther than the real environment.
    • -
    • 0.5: (Default) simulates the attenuation of the volume in the real environment; the effect is equivalent to not setting the audioAttenuation parameter.
    • -
    • (0.5,1]: Strong attenuation mode (default value is 1), that is, the volume and timbre attenuate rapidly during propagation.
    • -
    -
    -
    + + zoneSetId + The ID of the sound insulation area. + + + position + The spatial center point of the sound insulation area. This parameter is an + array of length 3, and the three values represent the front, right, and top + coordinates in turn. + + + forward + Starting at position, the forward unit vector. This + parameter is an array of length 3, and the three values represent the front, + right, and top coordinates in turn. + + + right + Starting at position, the right unit vector. This + parameter is an array of length 3, and the three values represent the front, + right, and top coordinates in turn. + + + up + Starting at position, the up unit vector. This + parameter is an array of length 3, and the three values represent the front, + right, and top coordinates in turn. + + + forwardLength + The entire sound insulation area is regarded as a cube; this represents the + length of the forward side in the unit length of the game engine. + + + rightLength + The entire sound insulation area is regarded as a cube; this represents the + length of the right side in the unit length of the game engine. + + + upLength + The entire sound insulation area is regarded as a cube; this represents the + length of the up side in the unit length of the game engine. + + + audioAttenuation + The sound attenuation coefficient when users within the sound insulation + area communicate with external users. The value range is [0,1]. The values + are as follows:
      +
    • 0: Broadcast mode, where the volume and timbre are not attenuated + with distance, and the volume and timbre heard by local users do not + change regardless of distance.
    • +
    • (0,0.5): Weak attenuation mode, that is, the volume and timbre are + only weakly attenuated during the propagation process, and the sound + can travel farther than the real environment.
    • +
    • 0.5: (Default) simulates the attenuation of the volume in the real + environment; the effect is equivalent to not setting the + audioAttenuation parameter.
    • +
    • (0.5,1]: Strong attenuation mode (default value is 1), that is, the + volume and timbre attenuate rapidly during propagation.
    • +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_srcinfo.dita b/en-US/dita/RTC-NG/API/class_srcinfo.dita index 3b5011d3a07..d1657a93e69 100644 --- a/en-US/dita/RTC-NG/API/class_srcinfo.dita +++ b/en-US/dita/RTC-NG/API/class_srcinfo.dita @@ -1,26 +1,27 @@ - <ph keyref="SrcInfo" /> - Information about the video bitrate of the media resource being played. + <ph keyref="SrcInfo"/> + Information about the video bitrate of the media + resource being played.

    - public class SrcInfo { + public class SrcInfo { private int bitrateInKbps; private String name; public SrcInfo() {} } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject @property(assign, nonatomic) int bitrateInKbps; @property(copy, nonatomic) NSString *_Nullable name; @end - struct SrcInfo { + struct SrcInfo { int bitrateInKbps; const char* name; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FSrcInfo { GENERATED_BODY() UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|SrcInfo") @@ -29,24 +30,24 @@ struct FSrcInfo { FString name; }; - export class SrcInfo { + export class SrcInfo { bitrateInKbps?: number; name?: string; } - public class SrcInfo + public class SrcInfo { public int bitrateInKbps { set; get; } public string name { set; get; } } - export class SrcInfo { + export class SrcInfo { bitrateInKbps?: number; name?: string; } - class SrcInfo { + class SrcInfo { const SrcInfo({this.bitrateInKbps, this.name}); @JsonKey(name: 'bitrateInKbps') @@ -57,19 +58,21 @@ struct FSrcInfo { _$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 - The video bitrate (Kbps) of the media resource being played. - - - name - The name of the media resource. - -
    + + bitrateInKbps + The video bitrate (Kbps) of the media resource being played. + + + name + The name of the media resource. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_thumbimagebuffer.dita b/en-US/dita/RTC-NG/API/class_thumbimagebuffer.dita index dfa7e0e6197..58f1b1706d8 100644 --- a/en-US/dita/RTC-NG/API/class_thumbimagebuffer.dita +++ b/en-US/dita/RTC-NG/API/class_thumbimagebuffer.dita @@ -1,21 +1,22 @@ - <ph keyref="ThumbImageBuffer" /> - The image content of the thumbnail or icon. Set in . + <ph keyref="ThumbImageBuffer"/> + The image content of the thumbnail or icon. Set in + .

    - - - struct 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) + USTRUCT(BlueprintType) struct FThumbImageBuffer { GENERATED_BODY() @@ -28,7 +29,7 @@ struct FThumbImageBuffer { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|ThumbImageBuffer") int64 height; }; - export class ThumbImageBuffer { + export class ThumbImageBuffer { buffer?: Uint8Array; @@ -38,7 +39,7 @@ struct FThumbImageBuffer { height?: number; } - public class ThumbImageBuffer + public class ThumbImageBuffer { public Int64 buffer { set; get; } public uint length { set; get; } @@ -53,7 +54,7 @@ struct FThumbImageBuffer { height = 0; } }; - export class ThumbImageBuffer { + export class ThumbImageBuffer { buffer?: Uint8Array; @@ -63,7 +64,7 @@ struct FThumbImageBuffer { height?: number; } - class ThumbImageBuffer { + class ThumbImageBuffer { const ThumbImageBuffer({this.buffer, this.length, this.width, this.height}); @JsonKey(name: 'buffer', ignore: true) @@ -82,26 +83,30 @@ struct FThumbImageBuffer {

    - The default image is in the ARGB format. If you need to use another format, you need to convert the image on your own.
    + The default image is in the ARGB format. If you need to use another + format, you need to convert the image on your own. +
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - buffer - The buffer of the thumbnail or icon. - - - length - The buffer length of the thumbnail or icon, in bytes. - - - width - The actual width (px) of the thumbnail or icon. - - - height - The actual height (px) of the thumbnail or icon. - -
    + + buffer + The buffer of the thumbnail or icon. + + + length + The buffer length of the thumbnail or icon, in bytes. + + + width + The actual width (px) of the thumbnail or icon. + + + height + The actual height (px) of the thumbnail or icon. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_transcodinguser.dita b/en-US/dita/RTC-NG/API/class_transcodinguser.dita index 481e1b359b0..ce7a15ccf56 100644 --- a/en-US/dita/RTC-NG/API/class_transcodinguser.dita +++ b/en-US/dita/RTC-NG/API/class_transcodinguser.dita @@ -1,12 +1,13 @@ - <ph keyref="TranscodingUser" /> - Transcoding configurations of each host. + <ph keyref="TranscodingUser"/> + Transcoding configurations of each + host.

    - public static class TranscodingUser { + public static class TranscodingUser { public int uid; public String userId; @@ -23,7 +24,7 @@ alpha = 1; } } - __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) CGRect rect; @@ -31,7 +32,7 @@ @property(assign, nonatomic) double alpha; @property(assign, nonatomic) NSInteger audioChannel; @end - truct TranscodingUser { + truct TranscodingUser { uid_t uid; int x; int y; @@ -50,7 +51,7 @@ alpha(1.0), audioChannel(0) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FTranscodingUser { GENERATED_BODY() @@ -73,7 +74,7 @@ struct FTranscodingUser { int audioChannel; }; - export class TranscodingUser { + export class TranscodingUser { uid?: number x?: number y?: number @@ -83,7 +84,7 @@ struct FTranscodingUser { alpha?: number audioChannel?: number } - public class TranscodingUser + public class TranscodingUser { public TranscodingUser() { @@ -119,7 +120,7 @@ struct FTranscodingUser { public double alpha { set; get; } public int audioChannel { set; get; } } - export class TranscodingUser { + export class TranscodingUser { uid?: number; x?: number; y?: number; @@ -129,7 +130,7 @@ struct FTranscodingUser { alpha?: number; audioChannel?: number; } - class TranscodingUser { + class TranscodingUser { const TranscodingUser( {this.uid, this.x, @@ -159,79 +160,110 @@ struct FTranscodingUser { factory TranscodingUser.fromJson(Map<String, dynamic> json) => _$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 - -

    The user ID of the host.

    -
    -
    - - x - -

    The x coordinate (pixel) of the host's video on the output video frame (taking the upper left corner of the video frame as the origin). The value range is [0, width], where width is the width set in .

    -
    -
    - - y - The y coordinate (pixel) of the host's video on the output video frame (taking the upper left corner of the video frame as the origin). The value range is [0, height], where height is the height set in . - - - width - The width (pixel) of the host's video. - - - height - -

    The height (pixel) of the host's video.

    -
    -
    - - rect - The position and size of the host's video in the output image. The data size is CGRect. - - - zOrder - -

    The layer index number of the host's video. The value range is [0, 100].

      -
    • 0: (Default) The host's video is the bottom layer.
    • -
    • 100: The host's video is the top layer.
    • -

    - -
      -
    • If the value is less than 0 or greater than 100, error is returned.
    • -
    • Setting zOrder to 0 is supported.
    • -
    -
    - - alpha - -

    The transparency of the host's video. The value range is [0.0,1.0].

      -
    • 0.0: Completely transparent.
    • -
    • 1.0: (Default) Opaque.
    • -

    -
    -
    - - audioChannel - -

    The audio channel used by the host's audio in the output audio. The default value is 0, and the value range is [0, 5].

      -
    • 0: (Recommended) The defaut setting, which supports dual channels at most and depends on the upstream of the host.
    • -
    • 1: The host's audio uses the FL audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.
    • -
    • 2: The host's audio uses the FC audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.
    • -
    • 3: The host's audio uses the FR audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.
    • -
    • 4: The host's audio uses the BL audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.
    • -
    • 5: The host's audio uses the BR audio channel. If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.
    • -
    • 0xFF or a value greater than 5: The host's audio is muted, and the Agora server removes the host's audio.
    • -
    - If the value is not 0, a special player is required.

    -
    -
    -
    + + uid + +

    The user ID of the host.

    +
    +
    + + x + +

    The x coordinate (pixel) of the host's video on the output video frame + (taking the upper left corner of the video frame as the origin). The + value range is [0, width], where width is the width set + in .

    +
    +
    + + y + The y coordinate (pixel) of the host's video on the output video frame + (taking the upper left corner of the video frame as the origin). The value + range is [0, height], where height is the height set in + . + + + width + The width (pixel) of the host's video. + + + height + +

    The height (pixel) of the host's video.

    +
    +
    + + rect + The position and size of the host's video in the output image. The data size + is CGRect. + + + zOrder + +

    The layer index number of the host's video. The value range is [0, 100].

      +
    • 0: (Default) The host's video is the bottom layer.
    • +
    • 100: The host's video is the top layer.
    • +
    +

    + +
      +
    • If the value is less than 0 or greater than 100, error is returned.
    • +
    • Setting zOrder to 0 is supported.
    • +
    +
    +
    +
    + + alpha + +

    The transparency of the host's video. The value range is [0.0,1.0].

      +
    • 0.0: Completely transparent.
    • +
    • 1.0: (Default) Opaque.
    • +
    +

    +
    +
    + + audioChannel + +

    The audio channel used by the host's audio in the output audio. The + default value is 0, and the value range is [0, 5].

      +
    • 0: (Recommended) The defaut setting, which + supports dual channels at most and depends on the upstream of + the host.
    • +
    • 1: The host's audio uses the FL audio channel. + If the host's upstream uses multiple audio channels, the Agora + server mixes them into mono first.
    • +
    • 2: The host's audio uses the FC audio channel. + If the host's upstream uses multiple audio channels, the Agora + server mixes them into mono first.
    • +
    • 3: The host's audio uses the FR audio channel. + If the host's upstream uses multiple audio channels, the Agora + server mixes them into mono first.
    • +
    • 4: The host's audio uses the BL audio channel. + If the host's upstream uses multiple audio channels, the Agora + server mixes them into mono first.
    • +
    • 5: The host's audio uses the BR audio channel. + If the host's upstream uses multiple audio channels, the Agora + server mixes them into mono first.
    • +
    • 0xFF or a value greater than + 5: The host's audio is muted, and the Agora + server removes the host's audio.
    • +
    + If the value is not 0, a special + player is required.

    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_transcodingvideostream.dita b/en-US/dita/RTC-NG/API/class_transcodingvideostream.dita index 0f142b9fb7c..f35505bcacd 100644 --- a/en-US/dita/RTC-NG/API/class_transcodingvideostream.dita +++ b/en-US/dita/RTC-NG/API/class_transcodingvideostream.dita @@ -2,11 +2,12 @@ <ph keyref="TranscodingVideoStream"/> - The video streams for local video mixing. + The video streams for local video + mixing.

    - public static class TranscodingVideoStream { + public static class TranscodingVideoStream { public Constants.VideoSourceType sourceType; public int remoteUserUid; public String imageUrl; @@ -31,7 +32,7 @@ this.mirror = false; } }; - __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject + __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject @property (assign, nonatomic) AgoraVideoSourceType sourceType; @property (assign, nonatomic) NSUInteger remoteUserUid; @property (copy, nonatomic) NSString * _Nullable imageUrl; @@ -41,7 +42,7 @@ @property(assign, nonatomic) double alpha; @property(assign, nonatomic) BOOL mirror; @end - struct TranscodingVideoStream { + struct TranscodingVideoStream { VIDEO_SOURCE_TYPE sourceType; uid_t remoteUserUid; const char* imageUrl; @@ -65,7 +66,7 @@ alpha(1.0), mirror(false) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FTranscodingVideoStream { GENERATED_BODY() @@ -91,7 +92,7 @@ struct FTranscodingVideoStream { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|TranscodingVideoStream") bool mirror; }; - export class TranscodingVideoStream { + export class TranscodingVideoStream { sourceType?: VideoSourceType; @@ -115,7 +116,7 @@ struct FTranscodingVideoStream { mirror?: boolean; } - + public class TranscodingVideoStream { public VIDEO_SOURCE_TYPE sourceType; @@ -130,7 +131,7 @@ struct FTranscodingVideoStream { public double alpha; public bool mirror; }; - export class TranscodingVideoStream { + export class TranscodingVideoStream { sourceType?: VideoSourceType; @@ -154,7 +155,7 @@ struct FTranscodingVideoStream { mirror?: boolean; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class TranscodingVideoStream { const TranscodingVideoStream( {this.sourceType, @@ -206,70 +207,88 @@ class TranscodingVideoStream { _$TranscodingVideoStreamFromJson(json); Map<String, dynamic> toJson() => _$TranscodingVideoStreamToJson(this); -}

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - sourceType - The video source type for local video mixing. See . - - - remoteUserUid - -

    The user ID of the remote user.

    - Use this parameter only when the source type is for local video mixing.
    -
    - - imageUrl - -

    The URL of the image.Use this parameter only when the source type is the image for local video mixing.

    -
    -
    - - mediaPlayerId - (Optional) Media player ID. Use the parameter only when you set sourceType to . - - - x - The relative lateral displacement of the top left corner of the video for local video mixing to the origin (the top left corner of the canvas). - - - y - The relative longitudinal displacement of the top left corner of the captured video to the origin (the top left corner of the canvas). - - - width - The width (px) of the video for local video mixing on the canvas. - - - height - The height (px) of the video for local video mixing on the canvas. - - - rect - The relative position and size of the video for local video mixing to the origin (the top left corner of the canvas). The data type is CGRect. - - - zOrder - The number of the layer to which the video for the local video mixing belongs. The value range is [0, 100].
      -
    • 0: (Default) The layer is at the bottom.
    • -
    • 100: The layer is at the top.
    • -
    -
    - - alpha - The transparency of the video for local video mixing. The value range is [0.0, 1.0]. 0.0 indicates that the video is completely transparent, and 1.0 indicates that it is opaque. - - - mirror - Whether to mirror the video for the local video mixing.
      -
    • : Mirror the video for the local video mixing.
    • -
    • : (Default) Do not mirror the video for the local video mixing.
    • -
    - This parameter only takes effect on video source types that are cameras.
    -
    -
    + + sourceType + The video source type for local video mixing. See . + + + remoteUserUid + +

    The user ID of the remote user.

    + Use this parameter only when the source type is + for local video + mixing.
    +
    + + imageUrl + +

    The URL of the image.Use this parameter only when + the source type is the image for local video mixing.

    +
    +
    + + mediaPlayerId + (Optional) Media player ID. Use the parameter only when you set + sourceType to . + + + x + The relative lateral displacement of the top left corner of the video for + local video mixing to the origin (the top left corner of the canvas). + + + y + The relative longitudinal displacement of the top left corner of the + captured video to the origin (the top left corner of the canvas). + + + width + The width (px) of the video for local video mixing on the canvas. + + + height + The height (px) of the video for local video mixing on the canvas. + + + rect + The relative position and size of the video for local video mixing to the + origin (the top left corner of the canvas). The data type is CGRect. + + + zOrder + The number of the layer to which the video for the local video mixing + belongs. The value range is [0, 100].
      +
    • 0: (Default) The layer is at the bottom.
    • +
    • 100: The layer is at the top.
    • +
    +
    + + alpha + The transparency of the video for local video mixing. The value range is + [0.0, 1.0]. 0.0 indicates that the video is completely transparent, and 1.0 + indicates that it is opaque. + + + mirror + Whether to mirror the video for the local video mixing.
      +
    • : Mirror the video for the local + video mixing.
    • +
    • : (Default) Do not mirror the + video for the local video mixing.
    • +
    + This parameter only takes effect on video source + types that are cameras.
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_uplinknetworkinfo.dita b/en-US/dita/RTC-NG/API/class_uplinknetworkinfo.dita index e417457da73..418525478d9 100644 --- a/en-US/dita/RTC-NG/API/class_uplinknetworkinfo.dita +++ b/en-US/dita/RTC-NG/API/class_uplinknetworkinfo.dita @@ -1,18 +1,18 @@ - <ph keyref="UplinkNetworkInfo" /> + <ph keyref="UplinkNetworkInfo"/> The uplink network information.

    - public static class UplinkNetworkInfo { + public static class UplinkNetworkInfo { public int video_encoder_target_bitrate_bps; }; - __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject @property(nonatomic, assign) int videoEncoderTargetBitrateBps; @end - struct UplinkNetworkInfo { + struct UplinkNetworkInfo { int video_encoder_target_bitrate_bps; UplinkNetworkInfo() : video_encoder_target_bitrate_bps(0) {} @@ -21,7 +21,7 @@ return (video_encoder_target_bitrate_bps == rhs.video_encoder_target_bitrate_bps); } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FUplinkNetworkInfo { GENERATED_BODY() @@ -29,11 +29,11 @@ struct FUplinkNetworkInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|FUplinkNetworkInfo") int video_encoder_target_bitrate_bps; }; - export class UplinkNetworkInfo { + export class UplinkNetworkInfo { video_encoder_target_bitrate_bps?: number; } - public class UplinkNetworkInfo + public class UplinkNetworkInfo { public UplinkNetworkInfo() { @@ -46,11 +46,11 @@ struct FUplinkNetworkInfo { } public int video_encoder_target_bitrate_bps; } - export class UplinkNetworkInfo { + export class UplinkNetworkInfo { video_encoder_target_bitrate_bps?: number; } - class UplinkNetworkInfo { + class UplinkNetworkInfo { const UplinkNetworkInfo({this.videoEncoderTargetBitrateBps}); @JsonKey(name: 'video_encoder_target_bitrate_bps') @@ -59,16 +59,19 @@ struct FUplinkNetworkInfo { _$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 - The target video encoder bitrate (bps). - -
    + + video_encoder_target_bitrate_bps + videoEncoderTargetBitrateBps + The target video encoder bitrate (bps). + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_user.dita b/en-US/dita/RTC-NG/API/class_user.dita index 96684433008..74227e9690d 100644 --- a/en-US/dita/RTC-NG/API/class_user.dita +++ b/en-US/dita/RTC-NG/API/class_user.dita @@ -1,27 +1,31 @@ - <ph keyref="User" /> - User information of the rendered video. + <ph keyref="User"/> + User information of the rendered + video.

    - - - - - - - -

    + + + + + + + +

    -

    This class specifies the user information to which the SDK renders the video. You can set it as one of the following values:

      -
    • "local": Represents video rendering for the local user.
    • -
    • "videoSource": Represents video rendering for the video source object.
    • -
    • Integer: This value is consistent with the remote user's user ID, and represents the remote user's video rendering.
    • -
    • String: This string is consistent with the remote user's user account, and represents the video rendering of the remote user.
    • -

    +

    This class specifies the user information to which the SDK renders the video. You can + set it as one of the following values:

      +
    • "local": Represents video rendering for the local user.
    • +
    • "videoSource": Represents video rendering for the video source object.
    • +
    • Integer: This value is consistent with the remote user's user ID, and + represents the remote user's video rendering.
    • +
    • String: This string is consistent with the remote user's user account, and + represents the video rendering of the remote user.
    • +

    -
    -
    \ No newline at end of file + + diff --git a/en-US/dita/RTC-NG/API/class_useraudiospectruminfo.dita b/en-US/dita/RTC-NG/API/class_useraudiospectruminfo.dita index ae141273110..a85168838e9 100644 --- a/en-US/dita/RTC-NG/API/class_useraudiospectruminfo.dita +++ b/en-US/dita/RTC-NG/API/class_useraudiospectruminfo.dita @@ -1,23 +1,24 @@ - <ph keyref="UserAudioSpectrumInfo" /> - Audio spectrum information of the remote user. + <ph keyref="UserAudioSpectrumInfo"/> + Audio spectrum information of the remote + user.

    - public class UserAudioSpectrumInfo { + public class UserAudioSpectrumInfo { private int uid; private AudioSpectrumInfo audioSpectrumInfo; } - __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject @property(nonatomic, assign) NSInteger uid; @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData; @end - struct UserAudioSpectrumInfo { + struct UserAudioSpectrumInfo { agora::rtc::uid_t uid; struct AudioSpectrumData spectrumData; @@ -25,7 +26,7 @@ UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length) : uid(_uid) { spectrumData.audioSpectrumData = data; spectrumData.dataLength = length; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FUserAudioSpectrumInfo { GENERATED_BODY() @@ -34,24 +35,24 @@ struct FUserAudioSpectrumInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserAudioSpectrumInfo") FAudioSpectrumData spectrumData; }; - export class UserAudioSpectrumInfo { + export class UserAudioSpectrumInfo { uid?: number; spectrumData?: AudioSpectrumData; } - public struct UserAudioSpectrumInfo + public struct UserAudioSpectrumInfo { public uint uid; public AudioSpectrumData spectrumData; }; - export class UserAudioSpectrumInfo { + export class UserAudioSpectrumInfo { uid?: number; spectrumData?: AudioSpectrumData; } - class UserAudioSpectrumInfo { + class UserAudioSpectrumInfo { const UserAudioSpectrumInfo({this.uid, this.spectrumData}); @JsonKey(name: 'uid') @@ -62,23 +63,27 @@ 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 - The user ID of the remote user. - - - AudioSpectrumInfo - audioSpectrumData - spectrumData - -

    Audio spectrum information of the remote user. See .

    -
    -
    -
    + + uid + The user ID of the remote user. + + + AudioSpectrumInfo + audioSpectrumData + spectrumData + +

    Audio spectrum information of the remote user. See .

    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_userinfo.dita b/en-US/dita/RTC-NG/API/class_userinfo.dita index 854a82f2aa2..5122376194a 100644 --- a/en-US/dita/RTC-NG/API/class_userinfo.dita +++ b/en-US/dita/RTC-NG/API/class_userinfo.dita @@ -1,12 +1,12 @@ - <ph keyref="UserInfo" /> + <ph keyref="UserInfo"/> The information of the user.

    - public class UserInfo { + public class UserInfo { public int uid; public String userAccount; @@ -16,17 +16,17 @@ this.userAccount = userAccount; } } - + public struct UserInfo { public uint uid; public string userAccount; } - __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject + __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject @property(assign, nonatomic) NSUInteger uid; @property (copy, nonatomic) NSString * _Nullable userAccount; @end - struct UserInfo { + struct UserInfo { uid_t uid; char userAccount[MAX_USER_ACCOUNT_LENGTH]; UserInfo() @@ -34,7 +34,7 @@ userAccount[0] = '\0'; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FUserInfo { GENERATED_BODY() @@ -44,19 +44,19 @@ struct FUserInfo UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|UserInfo") FString userAccount; }; - export class UserInfo { + export class UserInfo { uid?: number; userAccount?: string; } - export class UserInfo { + export class UserInfo { uid?: number; userAccount?: string; } - class UserInfo { + class UserInfo { const UserInfo({this.uid, this.userAccount}); @JsonKey(name: 'uid') @@ -67,19 +67,23 @@ struct FUserInfo _$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 - The user ID. - - - userAccount - User account. The maximum data length is . - -
    + + uid + The user ID. + + + userAccount + User account. The + maximum data length is . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_videocanvas.dita b/en-US/dita/RTC-NG/API/class_videocanvas.dita index 36a4bc8e7c7..8389a3c5db1 100644 --- a/en-US/dita/RTC-NG/API/class_videocanvas.dita +++ b/en-US/dita/RTC-NG/API/class_videocanvas.dita @@ -6,7 +6,7 @@

    - public class VideoCanvas { + public class VideoCanvas { public int uid; public int subviewUid; public static final int RENDER_MODE_HIDDEN = 1; @@ -48,7 +48,7 @@ } } - __attribute__((visibility("default"))) @interface AgoraRtcVideoCanvas : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcVideoCanvas : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger subviewUid; @property(strong, nonatomic) VIEW_CLASS *_Nullable view; @@ -62,7 +62,7 @@ @property(assign, nonatomic) BOOL enableAlphaMask; @property(assign, nonatomic) AgoraVideoModulePosition position; @end - struct VideoCanvas { + struct VideoCanvas { uid_t uid; uid_t subviewUid; view_t view; @@ -92,7 +92,7 @@ sourceType(VIDEO_SOURCE_CAMERA_PRIMARY), mediaPlayerId(-ERR_NOT_READY), cropArea(0, 0, 0, 0), enableAlphaMask(false), position(media::base::POSITION_POST_CAPTURER) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoCanvas { GENERATED_BODY() @@ -116,7 +116,7 @@ struct FVideoCanvas UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoCanvas") EVIDEO_VIEW_SETUP_MODE setupMode = EVIDEO_VIEW_SETUP_MODE::VIDEO_VIEW_SETUP_REPLACE; }; - struct VideoCanvas { + struct VideoCanvas { view_t view; uid_t uid; VIDEO_SOURCE_TYPE sourceType; @@ -133,7 +133,7 @@ struct FVideoCanvas : view(v), uid(0), sourceType(VIDEO_SOURCE_CAMERA_PRIMARY), mediaPlayerId(-ERR_NOT_READY) {} }; - export class VideoCanvas { + export class VideoCanvas { view?: any uid?: number; subviewUid?: number; @@ -147,7 +147,7 @@ struct FVideoCanvas enableAlphaMask?: boolean; position?: VideoModulePosition; } - public class VideoCanvas + public class VideoCanvas { public view_t view; @@ -163,7 +163,7 @@ struct FVideoCanvas public bool enableAlphaMask; public VIDEO_MODULE_POSITION position; }; - export class VideoCanvas { + export class VideoCanvas { view?: any uid?: number; subviewUid?: number; @@ -177,7 +177,7 @@ struct FVideoCanvas enableAlphaMask?: boolean; position?: VideoModulePosition; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoCanvas { const VideoCanvas( {this.uid, @@ -234,43 +234,70 @@ class VideoCanvas { Map<String, dynamic> toJson() => _$VideoCanvasToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - User ID that publishes the video source. - For Android and iOS platforms, when the video source is a mixed video stream ( ), this parameter represents the ID of the user who publishes the mixed video stream. - When the video source is a mixed video stream ( ), this parameter represents the ID of the user who publishes the mixed video stream. - + + uid + User ID that publishes the video source. + For Android and iOS platforms, when the video + source is a mixed video stream ( ), this parameter represents the ID of the user who publishes the mixed + video stream. + When the video source is a mixed video stream ( ), this parameter represents the ID of + the user who publishes the mixed video stream. + subviewUid - The ID of the user who publishes a specific sub-video stream within the mixed video stream. - Reserved for future use.This parameter is for Android and iOS only. + The ID of the user who publishes a + specific sub-video stream within the mixed video stream. + Reserved for future use.This parameter is for Android and iOS + only. view - The video display window. It must be one or object.In one , you can only choose to set either view or surfaceTexture. If both are set, only the settings in view take effect. - The video image. You need to define a pointer of UImage type and pass in this parameter. The sample code is as follows:agora::rtc::VideoCanvas videoCanvas; + The video display window. It must be one or + object.In one , you can only choose to set + either view or surfaceTexture. + If both are set, only the settings in view take + effect. + The video image. You need to define a pointer of UImage + type and pass in this parameter. The sample code is as + follows:agora::rtc::VideoCanvas videoCanvas; UImage* LocalVideo; videoCanvas.view = LocalVideo; surfaceTexture - A container that provides video images. When you use this member, you need to implement texture drawing in OPENGL yourself. See .In one , you can only choose to set either view or surfaceTexture. If both are set, only the settings in view take effect. + A container that provides video images. When you use this member, you need + to implement texture drawing in OPENGL yourself. See .In one , you can only choose to set either + view or surfaceTexture. If + both are set, only the settings in view take + effect. renderMode - The rendering mode of the video. See . -
    + The rendering mode of + the video. See . +
      +
    • +
    mirrorMode - -

    The mirror mode of the view. See .

    + +

    The mirror mode of + the view. See .

    • @@ -278,69 +305,99 @@ class VideoCanvas {

        -
      • For the mirror mode of the local video view: If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
      • -
      • For the remote user: The mirror mode is disabled by default.
      • +
      • For the mirror mode of the local video view: If you use a front + camera, the SDK enables the mirror mode by default; if you use a + rear camera, the SDK disables the mirror mode by default.
      • +
      • For the remote user: The mirror mode is disabled by + default.
      - - - uid - The user ID. - - - sourceType - The type of the video source. See . - - - setupMode - Setting mode of the view. See . - Setting mode of the view.
        -
      • (0): (Default) Replaces a view.
      • -
      • (1): Adds a view.
      • -
      • (2): Deletes a view.
      • -
      -
      - - mediaPlayerId - The ID of the media player. You can get the Device ID by calling . - This parameter is required when sourceType is . - - - rect - (Optional) Display area for the video frame. See . width and height represent the video pixel width and height of the area. The default value is null (width or height is 0), which means that the actual resolution of the video frame is displayed. - - - cropArea - (Optional) Display area of the video frame, see . width and height represent the video pixel width and height of the area. The default value is null (width or height is 0), which means that the actual resolution of the video frame is displayed. - - - cropArea - (Optional) Display area of the video frame, see . width and height represent the video pixel width and height of the area. The default value is null (width or height is 0), which means that the actual resolution of the video frame is displayed. - - - backgroundColor - The background color of the video canvas in RGBA format. The default value is 0x00000000, which represents completely transparent black. - - + + + uid + The user ID. + + + sourceType + The type of the video source. See . + + + setupMode + Setting mode of the + view. See . + Setting mode of the view.
        +
      • (0): (Default) Replaces a + view.
      • +
      • (1): Adds a view.
      • +
      • (2): Deletes a view.
      • +
      +
      + + mediaPlayerId + The ID of the media player. You can get the Device ID by calling . + This parameter is required when sourceType is . + + + rect + (Optional) Display area for the video frame. See . + width and height represent the + video pixel width and height of the area. The default value is null (width + or height is 0), which means that the actual resolution of the video frame + is displayed. + + + cropArea + (Optional) Display area of the video frame, see . + width and height represent the + video pixel width and height of the area. The default value is null (width + or height is 0), which means that the actual resolution of the video frame + is displayed. + + + cropArea + (Optional) Display area of the video frame, see . + width and height represent the + video pixel width and height of the area. The default value is null (width + or height is 0), which means that the actual resolution of the video frame + is displayed. + + + backgroundColor + The background color of the video canvas in RGBA format. The default value + is 0x00000000, which represents completely transparent black. + + enableAlphaMask - (Optional) Whether the receiver enables alpha mask rendering:
        -
      • : The receiver enables alpha mask rendering.
      • -
      • : (Default) The receiver disables alpha mask rendering.
      • + (Optional) Whether the receiver + enables alpha mask rendering:
          +
        • : The receiver enables alpha + mask rendering.
        • +
        • : (Default) The receiver + disables alpha mask rendering.
        -

        Alpha mask rendering can create images with transparent effects and extract portraits from videos. When used in combination with other methods, you can implement effects such as portrait-in-picture and watermarking.

        +

        Alpha mask rendering can create images with transparent effects and + extract portraits from videos. When used in combination with other + methods, you can implement effects such as portrait-in-picture and + watermarking.

        -
          -
        • The receiver can render alpha channel information only when the sender enables alpha transmission.
        • -
        • To enable alpha transmission, .
        • -
        -
        +
          +
        • The receiver can render alpha channel information only when the + sender enables alpha transmission.
        • +
        • To enable alpha transmission, .
        • +
        + + Reserved. position - The observation position of the video frame in the video link. See . + The observation position of the video frame in the video link. See . -
    + +
    diff --git a/en-US/dita/RTC-NG/API/class_videocanvas2.dita b/en-US/dita/RTC-NG/API/class_videocanvas2.dita index df613ed9bbb..27186a608eb 100644 --- a/en-US/dita/RTC-NG/API/class_videocanvas2.dita +++ b/en-US/dita/RTC-NG/API/class_videocanvas2.dita @@ -1,12 +1,12 @@ - <ph keyref="VideoCanvas2" /> + <ph keyref="VideoCanvas2"/> Attributes of video canvas object.

    - struct VideoCanvas { + struct VideoCanvas { view_t view; uid_t uid; VIDEO_SOURCE_TYPE sourceType; @@ -26,31 +26,37 @@

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - view - The video image. You need to define a pointer of UImage type and pass in this parameter. The sample code is as follows:agora::rtc::VideoCanvas videoCanvas; + + view + The video image. You need to define a pointer of UImage type and pass in + this parameter. The sample code is as + follows:agora::rtc::VideoCanvas videoCanvas; UImage* LocalVideo; videoCanvas.view = LocalVideo; - - - uid - The user ID. - - - sourceType - The type of the video frame, see . - - - sourceId - The ID of the video source. - - - mediaPlayerId - The ID of the media player. You can get the media player ID by calling . - This parameter is required when sourceType is . - -
    + + + uid + The user ID. + + + sourceType + The type of the video frame, see . + + + sourceId + The ID of the video source. + + + mediaPlayerId + The ID of the media player. You can get the media player ID by calling . + This parameter is required when sourceType is . + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_videodenoiseroptions.dita b/en-US/dita/RTC-NG/API/class_videodenoiseroptions.dita index 300115f1ad7..9e94ce680e3 100644 --- a/en-US/dita/RTC-NG/API/class_videodenoiseroptions.dita +++ b/en-US/dita/RTC-NG/API/class_videodenoiseroptions.dita @@ -1,12 +1,14 @@ - <ph keyref="VideoDenoiserOptions" /> + + <ph keyref="VideoDenoiserOptions"/> + Video noise reduction options.

    - public class VideoDenoiserOptions { + public class VideoDenoiserOptions { public static final int VIDEO_DENOISER_AUTO = 0; public static final int VIDEO_DENOISER_MANUAL = 1; public static final int VIDEO_DENOISER_LEVEL_HIGH_QUALITY = 0; @@ -26,12 +28,12 @@ } } - __attribute__((visibility("default"))) @interface AgoraVideoDenoiserOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoDenoiserOptions : NSObject @property(nonatomic, assign) AgoraVideoDenoiserMode mode; @property(nonatomic, assign) AgoraVideoDenoiserLevel level; @end - struct VideoDenoiserOptions { + struct VideoDenoiserOptions { enum VIDEO_DENOISER_MODE { VIDEO_DENOISER_AUTO = 0, VIDEO_DENOISER_MANUAL = 1, @@ -48,7 +50,7 @@ VideoDenoiserOptions() : mode(VIDEO_DENOISER_AUTO), level(VIDEO_DENOISER_LEVEL_HIGH_QUALITY) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoDenoiserOptions { GENERATED_BODY() @@ -58,13 +60,13 @@ struct FVideoDenoiserOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoDenoiserOptions") EVIDEO_DENOISER_LEVEL level = EVIDEO_DENOISER_LEVEL::VIDEO_DENOISER_LEVEL_HIGH_QUALITY; }; - export class VideoDenoiserOptions { + export class VideoDenoiserOptions { mode?: VideoDenoiserMode; level?: VideoDenoiserLevel; } - public class VideoDenoiserOptions + public class VideoDenoiserOptions { public VIDEO_DENOISER_MODE mode { set; get; } public VIDEO_DENOISER_LEVEL level { set; get; } @@ -81,13 +83,13 @@ struct FVideoDenoiserOptions level = VIDEO_DENOISER_LEVEL.VIDEO_DENOISER_LEVEL_HIGH_QUALITY; } }; - export class VideoDenoiserOptions { + export class VideoDenoiserOptions { mode?: VideoDenoiserMode; level?: VideoDenoiserLevel; } - class VideoDenoiserOptions { + class VideoDenoiserOptions { const VideoDenoiserOptions({this.mode, this.level}); @JsonKey(name: 'mode') @@ -100,29 +102,53 @@ struct FVideoDenoiserOptions _$VideoDenoiserOptionsFromJson(json); 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 - Video noise reduction level. See .
      -
    • (0): (Default) Promotes video quality during low-light enhancement. It processes the brightness, details, and noise of the video image. The performance consumption is moderate, the processing speed is moderate, and the overall video quality is optimal.
    • -
    • (1): Promotes reducing performance consumption during video noise reduction. It prioritizes reducing performance consumption over video noise reduction quality. The performance consumption is lower, and the video noise reduction speed is faster. To avoid a noticeable shadowing effect (shadows trailing behind moving objects) in the processed video, Agora recommends that you use this setting when the camera is fixed.
    • -
    • (2): Enhanced video noise reduction. It prioritizes video noise reduction quality over reducing performance consumption. The performance consumption is higher, the video noise reduction speed is slower, and the video noise reduction quality is better. If is not enough for your video noise reduction needs, you can use this enumerator.
    • -
    -
    -
    - - mode - Video noise reduction mode. See .
      -
    • (0): (Default) Automatic mode. The SDK automatically enables or disables the video noise reduction feature according to the ambient light.
    • -
    • (1): Manual mode. Users need to enable or disable the video noise reduction feature manually.
    • -
    -
    -
    -
    + + level + Video noise reduction level. See + .
      +
    • (0): (Default) + Promotes video quality during low-light enhancement. It processes + the brightness, details, and noise of the video image. The + performance consumption is moderate, the processing speed is + moderate, and the overall video quality is optimal.
    • +
    • (1): Promotes reducing + performance consumption during video noise reduction. It prioritizes + reducing performance consumption over video noise reduction quality. + The performance consumption is lower, and the video noise reduction + speed is faster. To avoid a noticeable shadowing effect (shadows + trailing behind moving objects) in the processed video, Agora + recommends that you use this setting when the camera is fixed.
    • +
    • (2): Enhanced video + noise reduction. It prioritizes video noise reduction quality over + reducing performance consumption. The performance consumption is + higher, the video noise reduction speed is slower, and the video + noise reduction quality is better. If is not enough for + your video noise reduction needs, you can use this enumerator.
    • +
    +
    +
    + + mode + Video noise reduction mode. See + .
      +
    • (0): (Default) Automatic mode. The + SDK automatically enables or disables the video noise reduction + feature according to the ambient light.
    • +
    • (1): Manual mode. Users need to + enable or disable the video noise reduction feature manually.
    • +
    +
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_videodeviceinfo.dita b/en-US/dita/RTC-NG/API/class_videodeviceinfo.dita index 72f849cc329..f6daa078100 100644 --- a/en-US/dita/RTC-NG/API/class_videodeviceinfo.dita +++ b/en-US/dita/RTC-NG/API/class_videodeviceinfo.dita @@ -1,28 +1,29 @@ - <ph keyref="VideoDeviceInfo" /> - The class that contains the ID and device name of the video devices. + <ph keyref="VideoDeviceInfo"/> + The class that + contains the ID and device name of the video devices.

    - - - - export class VideoDeviceInfo { + + + + export class VideoDeviceInfo { deviceId?: string; deviceName?: string; } - public class DeviceInfo + public class DeviceInfo { public string deviceName; public string deviceId; }; - export class VideoDeviceInfo { + export class VideoDeviceInfo { deviceId?: string; deviceName?: string; } - class VideoDeviceInfo { + class VideoDeviceInfo { const VideoDeviceInfo({this.deviceId, this.deviceName}); @JsonKey(name: 'deviceId') @@ -33,19 +34,21 @@ _$VideoDeviceInfoFromJson(json); Map<String, dynamic> toJson() => _$VideoDeviceInfoToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - deviceId - The device ID. - - - deviceName - The device name. - -
    + + deviceId + The device ID. + + + deviceName + The device name. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_videodimensions.dita b/en-US/dita/RTC-NG/API/class_videodimensions.dita index 99d25e41f47..3c94e090e4f 100644 --- a/en-US/dita/RTC-NG/API/class_videodimensions.dita +++ b/en-US/dita/RTC-NG/API/class_videodimensions.dita @@ -1,12 +1,12 @@ - <ph keyref="VideoDimensions" /> + <ph keyref="VideoDimensions"/> The video dimension.

    - static public class VideoDimensions { + static public class VideoDimensions { public int width; public int height; @@ -20,8 +20,8 @@ this.height = 0; } } - - struct VideoDimensions { + + struct VideoDimensions { int width; int height; VideoDimensions() : width(640), height(480) {} @@ -30,7 +30,7 @@ return width == rhs.width && height == rhs.height; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoDimensions { GENERATED_BODY() @@ -40,7 +40,7 @@ struct FVideoDimensions { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|LastmileProbeConfig") int height = 480; }; - export class VideoDimensions { + export class VideoDimensions { width?: number; @@ -62,13 +62,13 @@ struct FVideoDimensions { public int width { set; get; } public int height { set; get; } } - export class VideoDimensions { + export class VideoDimensions { width?: number; height?: number; } - class VideoDimensions { + class VideoDimensions { const VideoDimensions({this.width, this.height}); @JsonKey(name: 'width') @@ -78,22 +78,24 @@ struct FVideoDimensions { factory VideoDimensions.fromJson(Map<String, dynamic> json) => _$VideoDimensionsFromJson(json); Map<String, dynamic> toJson() => _$VideoDimensionsToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - -

    The width (pixels) of the video.

    -
    -
    - - height - The height (pixels) of the video. - -
    + + width + +

    The width (pixels) of the video.

    +
    +
    + + height + The height (pixels) of the video. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita b/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita index e8302ef20eb..be00654fb1e 100644 --- a/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita +++ b/en-US/dita/RTC-NG/API/class_videoencoderconfiguration.dita @@ -1,12 +1,12 @@ - <ph keyref="VideoEncoderConfiguration"/> - Video encoder configurations. - -
    -

    - public class VideoEncoderConfiguration { + <ph keyref="VideoEncoderConfiguration"/> + Video encoder configurations. + +

    +

    + public class VideoEncoderConfiguration { static public class VideoDimensions { public int width; public int height; @@ -247,7 +247,7 @@ this.codecType = VIDEO_CODEC_TYPE.VIDEO_CODEC_H265; } } - __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) AgoraVideoCodecType codecType; @property(assign, nonatomic) AgoraVideoFrameRate frameRate; @@ -270,7 +270,7 @@ orientationMode:(AgoraVideoOutputOrientationMode)orientationMode mirrorMode:(AgoraVideoMirrorMode)mirrorMode; @end - struct VideoEncoderConfiguration { + struct VideoEncoderConfiguration { VIDEO_CODEC_TYPE codecType; VideoDimensions dimensions; int frameRate; @@ -334,7 +334,7 @@ return *this; } }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoEncoderConfiguration { GENERATED_BODY() @@ -360,7 +360,7 @@ struct FVideoEncoderConfiguration UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoEncoderConfiguration") FAdvanceOptions advanceOptions; }; - export class VideoEncoderConfiguration { + export class VideoEncoderConfiguration { codecType?: VideoCodecType; @@ -380,7 +380,7 @@ struct FVideoEncoderConfiguration advanceOptions?: AdvanceOptions; } - public class VideoEncoderConfiguration + public class VideoEncoderConfiguration { public VIDEO_CODEC_TYPE codecType; public VideoDimensions dimensions; @@ -457,7 +457,7 @@ struct FVideoEncoderConfiguration this.advanceOptions = advanceOptions; } } - export class VideoEncoderConfiguration { + export class VideoEncoderConfiguration { codecType?: VideoCodecType; @@ -477,7 +477,7 @@ struct FVideoEncoderConfiguration advanceOptions?: AdvanceOptions; } - class VideoEncoderConfiguration { + class VideoEncoderConfiguration { const VideoEncoderConfiguration( {this.codecType, this.dimensions, @@ -520,115 +520,150 @@ struct FVideoEncoderConfiguration _$VideoEncoderConfigurationFromJson(json); Map<String, dynamic> toJson() => _$VideoEncoderConfigurationToJson(this); -} -

    -
    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - - dimensions - -

    The dimensions of the encoded video (px). See . This parameter measures the video encoding quality in the format of length × width. The default value is 960 × 540. You can set a custom value.

    -

    Users can set the resolution by themselves, or directly select the desired resolution from the following list:

      -
    • : The video resolution is 120 × 120.
    • -
    • : The video resolution is 160 × 120.
    • -
    • : The video resolution is 180 × 180.
    • -
    • : The video resolution is 240 × 180.
    • -
    • : The video resolution is 320 × 180.
    • -
    • : The video resolution is 240 × 240.
    • -
    • : The video resolution is 320 × 240.
    • -
    • : The video resolution is 424 × 240.
    • -
    • : The video resolution is 360 × 360.
    • -
    • : The video resolution is 480 × 360.
    • -
    • : The video resolution is 640 × 360.
    • -
    • : The video resolution is 480 × 480.
    • -
    • : The video resolution is 640 × 480.
    • -
    • : The video resolution is 840 × 480.
    • -
    • : The video resolution is 960 × 540.
    • -
    • : The video resolution is 960 × 720.
    • -
    • : The video resolution is 1280 × 720.
    • -
    • : The video resolution is 1920 × 1080.
    • -
    • : The video resolution is 2540 × 1440.
    • -
    • : The video resolution is 3840 × 2160.
    • -
    - -
      -
    • Whether the 720p resolution or above can be supported depends on the device. If the device cannot support 720p, the frame rate will be lower than the set value.
    • -
    • The default value is 960 × 540.
    • -

    -
    -
    - - codecType - The codec type of the local video stream. See . - - - frameRate - The frame rate (fps) of the encoding video frame. The default value is 15. See . - The frame rate (fps) of the encoding video frame. The default value is 15.
      -
    • (1): 1 fps.
    • -
    • (7): 7 fps.
    • -
    • (10): 10 fps.
    • -
    • (15): 15 fps.
    • -
    • (24): 24 fps.
    • -
    • (30): 30 fps.
    • -
    • (60): 60 fps. - For Windows and macOS only.
    • -
    -
    - - bitrate - -

    The encoding bitrate (Kbps) of the video. See . This parameter does not need to be set; keeping the default value is sufficient. The SDK automatically matches the most suitable bitrate based on the video resolution and frame rate you have set. For the correspondence between video resolution and frame rate, see .

    -
      -
    • (0): (Recommended) Standard bitrate mode.
    • -
    • (-1): Adaptive bitrate mode. In general, Agora suggests that you do not use this value.
    • -
    -
    - - minBitrate - -

    The minimum encoding bitrate (Kbps) of the video.

    -

    The SDK automatically adjusts the encoding bitrate to adapt to the network conditions. Using a value greater than the default value forces the video encoder to output high-quality images but may cause more packet loss and sacrifice the smoothness of the video transmission. Unless you have special requirements for image quality, Agora does not recommend changing this value.

    - This parameter only applies to the interactive streaming profile.
    -
    - - orientationMode - The orientation mode of the encoded video. See . - - - degradationPreference - Video degradation preference under limited bandwidth. See . - - - mirrorMode - -

    Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees. See .

    -

    Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees.

      -
    • (0): The SDK determines whether to enable the mirror mode. The SDK disables mirror mode by default.
    • -
    • (1): Enables the mirror mode for remote users.
    • -
    • (2): Disables the mirror mode for remote users.
    • -

    - By default, the video is not mirrored.
    -
    - - advanceOptions - Advanced options for video encoding. See . - -
    -
    - Method - - - initWithSize - Specifies the video resolution and initializes the object. See . - - - initWithWidth - Specifies the video width and height, and initializes the object. See . - - -
    - +} +

    +
    +
    + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + + + dimensions + +

    The dimensions of the encoded + video (px). See . This parameter measures the video + encoding quality in the format of length × width. The default value is 960 × 540. You + can set a custom value.

    +

    Users can set the resolution by themselves, or directly + select the desired resolution from the following list:

      +
    • : The video resolution is 120 × 120.
    • +
    • : The video resolution is 160 × 120.
    • +
    • : The video resolution is 180 × 180.
    • +
    • : The video resolution is 240 × 180.
    • +
    • : The video resolution is 320 × 180.
    • +
    • : The video resolution is 240 × 240.
    • +
    • : The video resolution is 320 × 240.
    • +
    • : The video resolution is 424 × 240.
    • +
    • : The video resolution is 360 × 360.
    • +
    • : The video resolution is 480 × 360.
    • +
    • : The video resolution is 640 × 360.
    • +
    • : The video resolution is 480 × 480.
    • +
    • : The video resolution is 640 × 480.
    • +
    • : The video resolution is 840 × 480.
    • +
    • : The video resolution is 960 × 540.
    • +
    • : The video resolution is 960 × 720.
    • +
    • : The video resolution is 1280 × 720.
    • +
    • : The video resolution is 1920 × 1080.
    • +
    • : The video resolution is 2540 × 1440.
    • +
    • : The video resolution is 3840 × 2160.
    • +
    + +
      +
    • Whether the 720p resolution or above can be supported depends on the device. + If the device cannot support 720p, the frame rate will be lower than the set + value.
    • +
    • The default value is 960 × 540.
    • +
    +
    +

    +
    +
    + + codecType + The codec type of the local video stream. See . + + + frameRate + The frame rate (fps) of the + encoding video frame. The default value is 15. See . + The frame rate (fps) of the encoding video frame. The default value is 15.
      +
    • (1): 1 fps.
    • +
    • (7): 7 fps.
    • +
    • (10): 10 fps.
    • +
    • (15): 15 fps.
    • +
    • (24): 24 fps.
    • +
    • (30): 30 fps.
    • +
    • (60): 60 fps. For Windows + and macOS only.
    • +
    +
    + + bitrate + +

    The encoding bitrate (Kbps) of the video. See . This parameter does not need to be set; keeping the + default value is sufficient. The SDK + automatically matches the most suitable bitrate based on the video resolution and + frame rate you have set. For the correspondence between video resolution and frame + rate, see .

    +
      +
    • (0): (Recommended) Standard bitrate mode.
    • +
    • (-1): Adaptive bitrate mode. In general, Agora + suggests that you do not use this value.
    • +
    +
    +
    + + minBitrate + +

    The minimum encoding bitrate (Kbps) of the video.

    +

    The SDK automatically adjusts the encoding bitrate to adapt to the network + conditions. Using a value greater than the default value forces the video encoder to + output high-quality images but may cause more packet loss and sacrifice the smoothness + of the video transmission. Unless you have special requirements for image quality, + Agora does not recommend changing this value.

    + This parameter only applies to the interactive streaming + profile. +
    +
    + + orientationMode + The orientation mode of the encoded video. See . + + + degradationPreference + Video degradation preference under limited bandwidth. See . + + + mirrorMode + +

    Sets the mirror mode of the published local video + stream. It only affects the video that the remote user sees. See .

    +

    Sets the mirror mode of the published local video stream. It only + affects the video that the remote user sees.

      +
    • (0): The SDK determines whether to enable + the mirror mode. The SDK disables mirror mode by default.
    • +
    • (1): Enables the mirror mode for remote + users.
    • +
    • (2): Disables the mirror mode for + remote users.
    • +
    +

    + By default, the video is not mirrored. +
    +
    + + advanceOptions + Advanced options for video encoding. See . + +
    +
    +
    + Method + + + initWithSize + Specifies the video resolution and initializes the object. See . + + + initWithWidth + Specifies the video width and height, and initializes the object. See . + + +
    +
    diff --git a/en-US/dita/RTC-NG/API/class_videoformat.dita b/en-US/dita/RTC-NG/API/class_videoformat.dita index 381480c7d06..f8726896a0a 100644 --- a/en-US/dita/RTC-NG/API/class_videoformat.dita +++ b/en-US/dita/RTC-NG/API/class_videoformat.dita @@ -1,24 +1,24 @@ - <ph keyref="VideoFormat" /> + <ph keyref="VideoFormat"/> The format of the video frame.

    - static public class CaptureFormat { + static public class CaptureFormat { public int width; public int height; public int fps; } - - struct VideoFormat { + + struct VideoFormat { int width; int height; int fps; } - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoFormat { GENERATED_BODY() @@ -29,7 +29,7 @@ struct FVideoFormat { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoFormat") int fps = 15; }; - export class VideoFormat { + export class VideoFormat { width?: number; @@ -37,7 +37,7 @@ struct FVideoFormat { fps?: number; } - public VideoFormat() + public VideoFormat() { width = (int)FRAME_WIDTH.FRAME_WIDTH_640; height = (int)FRAME_HEIGHT.FRAME_HEIGHT_360; @@ -54,7 +54,7 @@ struct FVideoFormat { public int height { set; get; } public int fps { set; get; } }; - export class VideoFormat { + export class VideoFormat { width?: number; @@ -62,7 +62,7 @@ struct FVideoFormat { fps?: number; } - class VideoFormat { + class VideoFormat { const VideoFormat({this.width, this.height, this.fps}); @JsonKey(name: 'width') @@ -75,23 +75,25 @@ struct FVideoFormat { _$VideoFormatFromJson(json); Map<String, dynamic> toJson() => _$VideoFormatToJson(this); } -

    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - The width (px) of the video frame. The default value is 960. - - - height - The height (px) of the video frame. The default value is 540. - - - fps - The video frame rate (fps). The default value is 15. - -
    + + width + The width (px) of the video frame. The default value is 960. + + + height + The height (px) of the video frame. The default value is 540. + + + fps + The video frame rate (fps). The default value is 15. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_videoframe.dita b/en-US/dita/RTC-NG/API/class_videoframe.dita index 35c6a129d3a..7a13a053bbe 100644 --- a/en-US/dita/RTC-NG/API/class_videoframe.dita +++ b/en-US/dita/RTC-NG/API/class_videoframe.dita @@ -1,12 +1,12 @@ - <ph keyref="VideoFrame"/> - Configurations of the video frame. - -
    -

    - public class VideoFrame implements RefCounted { + <ph keyref="VideoFrame"/> + Configurations of the video frame. + +

    +

    + public class VideoFrame implements RefCounted { public interface Buffer extends RefCounted { @CalledByNative("Buffer") int getWidth(); @CalledByNative("Buffer") int getHeight(); @@ -241,7 +241,7 @@ buffer.release(); } } - __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject + __attribute__((visibility("default"))) @interface AgoraOutputVideoFrame : NSObject @property (nonatomic, assign) NSInteger type; @property (nonatomic, assign) int width; @property (nonatomic, assign) int height; @@ -258,7 +258,7 @@ @property(nonatomic, strong) NSDictionary *_Nonnull metaInfo; @end - struct VideoFrame { + struct VideoFrame { VideoFrame(): type(VIDEO_PIXEL_DEFAULT), width(0), @@ -300,7 +300,7 @@ void* pixelBuffer; IVideoFrameMetaInfo* metaInfo; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoFrame { GENERATED_BODY() @@ -343,7 +343,7 @@ struct FVideoFrame { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoFrame") TArray<float> pixelBuffer; }; - export class VideoFrame { + export class VideoFrame { type?: VideoPixelFormat; @@ -378,7 +378,7 @@ struct FVideoFrame { matrix?: number[]; } - public class VideoFrame + public class VideoFrame { public VIDEO_PIXEL_FORMAT type; @@ -420,7 +420,7 @@ struct FVideoFrame { public float[] matrix; }; - export class VideoFrame { + export class VideoFrame { type?: VideoPixelFormat; @@ -455,7 +455,7 @@ struct FVideoFrame { matrix?: number[]; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoFrame { const VideoFrame( {this.type, @@ -532,17 +532,20 @@ class VideoFrame { Map<String, dynamic> toJson() => _$VideoFrameToJson(this); } -

    -
    -
    -

    Note that the buffer provides a pointer to a pointer. This interface cannot modify the pointer of the buffer, but it can modify the content of the buffer.

    -
    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - +

    +
    +
    +

    Note that the buffer provides a pointer to a pointer. This interface cannot modify the + pointer of the buffer, but it can modify the content of the buffer.

    +
    +
    + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + type - The pixel format. See . + The pixel format. See . @@ -555,17 +558,26 @@ class VideoFrame { yStride - For YUV data, the line span of the Y buffer; for RGBA data, the total data length.When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion. + For YUV data, the line span of the Y buffer; for RGBA data, the total data + length.When dealing with video data, it is necessary to process + the offset between each line of pixel data based on this parameter, otherwise it may + result in image distortion. uStride - For YUV data, the line span of the U buffer; for RGBA data, the value is 0.When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion. + For YUV data, the line span of the U buffer; for RGBA data, the value is 0.When dealing with video data, it is necessary to process the offset + between each line of pixel data based on this parameter, otherwise it may result in + image distortion. vStride - For YUV data, the line span of the V buffer; for RGBA data, the value is 0.When dealing with video data, it is necessary to process the offset between each line of pixel data based on this parameter, otherwise it may result in image distortion. + For YUV data, the line span of the V buffer; for RGBA data, the value is 0.When dealing with video data, it is necessary to process the offset + between each line of pixel data based on this parameter, otherwise it may result in + image distortion. @@ -595,24 +607,31 @@ class VideoFrame { buffer - This parameter cannot be empty; otherwise, an error can occur.Buffer data. The methods associated with this parameter are as follows: + This parameter cannot be empty; otherwise, an error can + occur.Buffer data. The methods associated with this parameter are as + follows:
    • getRotatedWidth: Gets the width of the rotated video frame.
    • -
    • getRotatedHeight: Gets the height of the rotated video frame.
    • -
    • replaceBuffer: Replaces the data in the buffer with the new video frames.
    • +
    • getRotatedHeight: Gets the height of the rotated video + frame.
    • +
    • replaceBuffer: Replaces the data in the buffer + with the new video frames.
    • retain: Increments the reference count of the buffer by 1.
    • -
    • release: Decrements the reference count of the buffer by 1. When the count reaches 0, the buffer's resources are released.
    • +
    • release: Decrements the reference count of the buffer by 1. When + the count reaches 0, the buffer's resources are released.
    rotation - The clockwise rotation of the video frame before rendering. Supported values include 0, 90, 180, and 270 degrees. + The clockwise rotation of the video frame before rendering. Supported values include + 0, 90, 180, and 270 degrees. renderTimeMs - The Unix timestamp (ms) when the video frame is rendered. This timestamp can be used to guide the rendering of the video frame. This parameter is required. + The Unix timestamp (ms) when the video frame is rendered. This timestamp can be used + to guide the rendering of the video frame. This parameter is required. timestampNs @@ -626,12 +645,14 @@ class VideoFrame { metadata_buffer metadataBuffer - This parameter only applies to video data in Texture format. The MetaData buffer. The default value is NULL. + This parameter only applies to video data in Texture format. The MetaData buffer. The + default value is NULL. metadata_size metadataSize - This parameter only applies to video data in Texture format. The MetaData size. The default value is 0. + This parameter only applies to video data in Texture format. The MetaData size. The + default value is 0. sharedContext @@ -643,7 +664,8 @@ class VideoFrame { matrix - This parameter only applies to video data in Texture format. Incoming 4 × 4 transformational matrix. The typical value is a unit matrix. + This parameter only applies to video data in Texture format. Incoming 4 × 4 + transformational matrix. The typical value is a unit matrix. pixelBuffer @@ -656,28 +678,36 @@ class VideoFrame { sourceType When using the SDK to capture video, this indicates the type of the video source.
      -
    • kFrontCamera: The front camera.
    • -
    • kBackCamera: The rear camera.
    • -
    • kUnspecified: (Default) The video source type is unknown.
    • +
    • kFrontCamera: The front camera.
    • +
    • kBackCamera: The rear camera.
    • +
    • kUnspecified: (Default) The video source type is + unknown.
    sampleAspectRatio - The aspect ratio of a single pixel, which is the ratio of the width to the height of each pixel. + The aspect ratio of a single pixel, which is the ratio of the width to the height of + each pixel. alphaBuffer -

    Indicates the alpha channel data output by the portrait segmentation algorithm, which is consistent with the size of the video frame. The value range of each pixel is [0,255], where 0 represents the background; 255 represents the foreground (portrait).

    -

    In the costom video renderer scenario, you can use this parameter to render the video background into various effects, such as: transparent, solid color, picture, video and so on.To use this parameter, contact .

    +

    Indicates the alpha channel data output by the portrait segmentation algorithm, which + is consistent with the size of the video frame. The value range of each pixel is + [0,255], where 0 represents the background; 255 represents the foreground + (portrait).

    +

    In the costom video renderer scenario, you can use this parameter to render the video + background into various effects, such as: transparent, solid color, picture, video and + so on.To use this parameter, contact .

    metaInfo -

    The meta information in the video frame. To use this parameter, please .

    +

    The meta information in the video frame. To use this parameter, please .

    - + diff --git a/en-US/dita/RTC-NG/API/class_videoframebufferconfig.dita b/en-US/dita/RTC-NG/API/class_videoframebufferconfig.dita index d65ee8defc9..b8e3a2e5263 100644 --- a/en-US/dita/RTC-NG/API/class_videoframebufferconfig.dita +++ b/en-US/dita/RTC-NG/API/class_videoframebufferconfig.dita @@ -1,39 +1,42 @@ - <ph keyref="VideoFrameBufferConfig" /> + <ph keyref="VideoFrameBufferConfig"/> Video frame settings.

    - - - - - public struct VideoFrameBufferConfig + + + + + public struct VideoFrameBufferConfig { public VIDEO_SOURCE_TYPE type; public uint id; public string key; } - -

    + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - The video source type. See . - - - id - The user ID. - - - key - The channel name. - -
    + + type + The video source type. See . + + + id + The user ID. + + + key + The channel name. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_videolayout.dita b/en-US/dita/RTC-NG/API/class_videolayout.dita index ebfa6deb3be..988ffd95668 100644 --- a/en-US/dita/RTC-NG/API/class_videolayout.dita +++ b/en-US/dita/RTC-NG/API/class_videolayout.dita @@ -2,11 +2,12 @@ <ph keyref="VideoLayout"/> - Layout information of a specific sub-video stream within the mixed stream. + Layout information of a specific sub-video stream + within the mixed stream.

    - public static class VideoLayout { + public static class VideoLayout { public String channelId; public int uid; public String strUid; @@ -23,7 +24,7 @@ + ", height=" + height + '}'; } } - __attribute__((visibility("default"))) @interface AgoraVideoLayout: NSObject + __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); @@ -33,7 +34,7 @@ @property (assign, nonatomic) NSUInteger width NS_SWIFT_NAME(width); @property (assign, nonatomic) NSUInteger height NS_SWIFT_NAME(height); @end - struct VideoLayout + struct VideoLayout { const char* channelId; rtc::uid_t uid; @@ -45,9 +46,9 @@ uint32_t videoState; VideoLayout() : channelId(OPTIONAL_NULLPTR), uid(0), strUid(OPTIONAL_NULLPTR), x(0), y(0), width(0), height(0), videoState(0) {} }; - - - public class VideoLayout + + + public class VideoLayout { public string channelId; public uint uid; @@ -58,7 +59,7 @@ public uint height; public uint videoState; } - export class VideoLayout { + export class VideoLayout { channelId?: string; uid?: number; strUid?: string; @@ -68,7 +69,7 @@ height?: number; videoState?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoLayout { const VideoLayout( {this.channelId, @@ -98,24 +99,26 @@ class VideoLayout { factory VideoLayout.fromJson(Map<String, dynamic> json) => _$VideoLayoutFromJson(json); Map<String, dynamic> toJson() => _$VideoLayoutToJson(this); -}

    +} +

    - -
    Since
    -
    v4.3.0
    -
    + +
    Since
    +
    v4.3.0
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - channelId - The channel name to which the sub-video stream belongs. - + + channelId + The channel name to which the sub-video stream belongs. + uid User ID who published this sub-video stream. @@ -126,11 +129,15 @@ class VideoLayout { x - X-coordinate (px) of the sub-video stream on the mixing canvas. The relative lateral displacement of the top left corner of the video for video mixing to the origin (the top left corner of the canvas). + X-coordinate (px) of the sub-video stream on the mixing canvas. The relative + lateral displacement of the top left corner of the video for video mixing to + the origin (the top left corner of the canvas). y - Y-coordinate (px) of the sub-video stream on the mixing canvas. The relative longitudinal displacement of the top left corner of the captured video to the origin (the top left corner of the canvas). + Y-coordinate (px) of the sub-video stream on the mixing canvas. The relative + longitudinal displacement of the top left corner of the captured video to + the origin (the top left corner of the canvas). width @@ -143,11 +150,15 @@ class VideoLayout { videoState Status of the sub-video stream on the video mixing canvas.
      -
    • 0: Normal. The sub-video stream has been rendered onto the mixing canvas.
    • -
    • 1: Placeholder image. The sub-video stream has no video frames and is displayed as a placeholder on the mixing canvas.
    • -
    • 2: Black image. The sub-video stream is replaced by a black image.
    • +
    • 0: Normal. The sub-video stream has been rendered onto the mixing + canvas.
    • +
    • 1: Placeholder image. The sub-video stream has no video frames and + is displayed as a placeholder on the mixing canvas.
    • +
    • 2: Black image. The sub-video stream is replaced by a black + image.
    -
    -
    + + +
    diff --git a/en-US/dita/RTC-NG/API/class_videorenderingtracinginfo.dita b/en-US/dita/RTC-NG/API/class_videorenderingtracinginfo.dita index 08c46793660..342c067eaf6 100644 --- a/en-US/dita/RTC-NG/API/class_videorenderingtracinginfo.dita +++ b/en-US/dita/RTC-NG/API/class_videorenderingtracinginfo.dita @@ -2,11 +2,12 @@ <ph keyref="VideoRenderingTracingInfo"/> - Indicators during video frame rendering progress. + Indicators during video frame rendering + progress.

    - public static class VideoRenderingTracingInfo { + public static class VideoRenderingTracingInfo { public int elapsedTime; public int start2JoinChannel; public int join2JoinSuccess; @@ -15,7 +16,7 @@ public int remoteJoined2UnmuteVideo; public int remoteJoined2PacketReceived; }; - NS_SWIFT_NAME(AgoraVideoRenderingTracingInfo) __attribute__((visibility("default"))) @interface AgoraVideoRenderingTracingInfo : NSObject + NS_SWIFT_NAME(AgoraVideoRenderingTracingInfo) __attribute__((visibility("default"))) @interface AgoraVideoRenderingTracingInfo : NSObject @property (assign, nonatomic) NSInteger elapsedTime NS_SWIFT_NAME(elapsedTime); @property (assign, nonatomic) NSInteger start2JoinChannel NS_SWIFT_NAME(start2JoinChannel); @property (assign, nonatomic) NSInteger join2JoinSuccess NS_SWIFT_NAME(join2JoinSuccess); @@ -23,7 +24,7 @@ @property (assign, nonatomic) NSInteger remoteJoined2SetView NS_SWIFT_NAME(remoteJoined2SetView); @property (assign, nonatomic) NSInteger remoteJoined2UnmuteVideo NS_SWIFT_NAME(remoteJoined2UnmuteVideo); @property (assign, nonatomic) NSInteger remoteJoined2PacketReceived NS_SWIFT_NAME(remoteJoined2PacketReceived); - struct VideoRenderingTracingInfo { + struct VideoRenderingTracingInfo { int elapsedTime; int start2JoinChannel; int join2JoinSuccess; @@ -32,7 +33,7 @@ int remoteJoined2UnmuteVideo; int remoteJoined2PacketReceived; }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoRenderingTracingInfo { GENERATED_BODY() @@ -52,7 +53,7 @@ struct FVideoRenderingTracingInfo { UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoRenderingTracingInfo") int remoteJoined2PacketReceived; }; - export class VideoRenderingTracingInfo { + export class VideoRenderingTracingInfo { elapsedTime?: number; start2JoinChannel?: number; join2JoinSuccess?: number; @@ -61,7 +62,7 @@ struct FVideoRenderingTracingInfo { remoteJoined2UnmuteVideo?: number; remoteJoined2PacketReceived?: number; } - public class VideoRenderingTracingInfo + public class VideoRenderingTracingInfo { public int elapsedTime; @@ -72,7 +73,7 @@ struct FVideoRenderingTracingInfo { public int remoteJoined2UnmuteVideo; public int remoteJoined2PacketReceived; }; - export class VideoRenderingTracingInfo { + export class VideoRenderingTracingInfo { elapsedTime?: number; start2JoinChannel?: number; join2JoinSuccess?: number; @@ -81,7 +82,7 @@ struct FVideoRenderingTracingInfo { remoteJoined2UnmuteVideo?: number; remoteJoined2PacketReceived?: number; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class VideoRenderingTracingInfo { const VideoRenderingTracingInfo( {this.elapsedTime, @@ -117,86 +118,146 @@ class VideoRenderingTracingInfo { _$VideoRenderingTracingInfoFromJson(json); Map<String, dynamic> toJson() => _$VideoRenderingTracingInfoToJson(this); -}

    +} +

    - -
    Since
    -
    v4.1.1
    -
    + +
    Since
    +
    v4.1.1
    +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - elapsedTime - The time interval from calling the method to SDK triggering the callback. The unit is milliseconds. Agora recommends you call before joining a channel. - - - start2JoinChannel - The time interval from calling to calling . The unit is milliseconds. A negative number means to call after calling . - - - join2JoinSuccess - Time interval from calling to successfully joining the channel. The unit is milliseconds. - - - joinSuccess2RemoteJoined - -
      -
    • If the local user calls before successfully joining the channel, this value is the time interval from the local user successfully joining the channel to the remote user joining the channel. The unit is milliseconds.
    • -
    • If the local user calls after successfully joining the channel, the value is the time interval from calling to when the remote user joins the channel. The unit is milliseconds.
    • -
    - + + elapsedTime + The time interval from calling the method to SDK triggering the callback. The unit is milliseconds. Agora recommends you call before joining a channel. + + + start2JoinChannel + The time interval from calling to calling . The unit is milliseconds. A + negative number means to call after calling + . + + + join2JoinSuccess + Time interval from calling to successfully + joining the channel. The unit is milliseconds. + + + joinSuccess2RemoteJoined + +
      +
    • If the local user calls before successfully joining the channel, this value is the time + interval from the local user successfully joining the channel to the + remote user joining the channel. The unit is milliseconds.
    • +
    • If the local user calls after successfully joining the channel, the value is the time + interval from calling + to when the remote user joins the channel. The unit is + milliseconds.
    • +
    + +
      +
    • If the local user calls after the remote user + joins the channel, the value is 0 and meaningless.
    • +
    • In order to reduce the time of rendering the first frame for + remote users, Agora recommends that the local user joins the + channel when the remote user is in the channel to reduce this + value.
    • +
    +
    +
    + + remoteJoined2SetView +
      -
    • If the local user calls after the remote user joins the channel, the value is 0 and meaningless.
    • -
    • In order to reduce the time of rendering the first frame for remote users, Agora recommends that the local user joins the channel when the remote user is in the channel to reduce this value.
    • -
    -
    -
    - - remoteJoined2SetView - -
      -
    • If the local user calls before the remote user joins the channel, this value is the time interval from when the remote user joins the channel to when the local user sets the remote view. The unit is milliseconds.
    • -
    • If the local user calls after the remote user joins the channel, this value is the time interval from calling to setting the remote view. The unit is milliseconds.
    • -
    - -
      -
    • If the local user calls after setting the remote view, the value is 0 and has no effect.
    • -
    • In order to reduce the time of rendering the first frame for remote users, Agora recommends that the local user sets the remote view before the remote user joins the channel, or sets the remote view immediately after the remote user joins the channel to reduce this value.
    • -
    -
    - - remoteJoined2UnmuteVideo - -
      -
    • If the local user calls before the remote user joins the channel, this value is the time interval from the remote user joining the channel to subscribing to the remote video stream. The unit is milliseconds.
    • -
    • If the local user calls after the remote user joins the channel, this value is the time interval from calling to subscribing to the remote video stream. The unit is milliseconds.
    • -
    - +
  • If the local user calls before the remote user joins the channel, this value is the time + interval from when the remote user joins the channel to when the + local user sets the remote view. The unit is milliseconds.
  • +
  • If the local user calls after the remote user joins the channel, this value is the time + interval from calling + to setting the remote view. The unit is milliseconds.
  • + + +
      +
    • If the local user calls after setting the + remote view, the value is 0 and has no effect.
    • +
    • In order to reduce the time of rendering the first frame for + remote users, Agora recommends that the local user sets the + remote view before the remote user joins the channel, or sets + the remote view immediately after the remote user joins the + channel to reduce this value.
    • +
    +
    +
    + + remoteJoined2UnmuteVideo +
      -
    • If the local user calls after subscribing to the remote video stream, the value is 0 and has no effect.
    • -
    • In order to reduce the time of rendering the first frame for remote users, Agora recommends that after the remote user joins the channel, the local user immediately subscribes to the remote video stream to reduce this value.
    • -
    -
    -
    - - remoteJoined2PacketReceived - -
      -
    • If the local user calls before the remote user joins the channel, this value is the time interval from when the remote user joins the channel to when the local user receives the remote video stream. The unit is milliseconds.
    • -
    • If the local user calls after the remote user joins the channel, this value is the time interval from calling to receiving the remote video stream. The unit is milliseconds.
    • -
    - +
  • If the local user calls before the remote user joins the channel, this value is the time + interval from the remote user joining the channel to subscribing to + the remote video stream. The unit is milliseconds.
  • +
  • If the local user calls after the remote user joins the channel, this value is the time + interval from calling + to subscribing to the remote video stream. The unit is + milliseconds.
  • + + +
      +
    • If the local user calls after subscribing to + the remote video stream, the value is 0 and has no effect.
    • +
    • In order to reduce the time of rendering the first frame for + remote users, Agora recommends that after the remote user joins + the channel, the local user immediately subscribes to the remote + video stream to reduce this value.
    • +
    +
    +
    + + remoteJoined2PacketReceived +
      -
    • If the local user calls after receiving the remote video stream, the value is 0 and has no effect.
    • -
    • In order to reduce the time of rendering the first frame for remote users, Agora recommends that the remote user publishes video streams immediately after joining the channel, and the local user immediately subscribes to remote video streams to reduce this value.
    • -
    -
    -
    +
  • If the local user calls before the remote user joins the channel, this value is the time + interval from when the remote user joins the channel to when the + local user receives the remote video stream. The unit is + milliseconds.
  • +
  • If the local user calls after the remote user joins the channel, this value is the time + interval from calling + to receiving the remote video stream. The unit is milliseconds.
  • + + +
      +
    • If the local user calls after receiving the + remote video stream, the value is 0 and has no effect.
    • +
    • In order to reduce the time of rendering the first frame for + remote users, Agora recommends that the remote user publishes + video streams immediately after joining the channel, and the + local user immediately subscribes to remote video streams to + reduce this value.
    • +
    + + +
    diff --git a/en-US/dita/RTC-NG/API/class_videosubscriptionoptions.dita b/en-US/dita/RTC-NG/API/class_videosubscriptionoptions.dita index 562357c7ea8..6d1c72295bf 100644 --- a/en-US/dita/RTC-NG/API/class_videosubscriptionoptions.dita +++ b/en-US/dita/RTC-NG/API/class_videosubscriptionoptions.dita @@ -6,7 +6,7 @@

    - public class VideoSubscriptionOptions { + public class VideoSubscriptionOptions { public enum REMOTE_VIDEO_STREAM_TYPE { REMOTE_VIDEO_STREAM_HIGH, REMOTE_VIDEO_STREAM_LOW, @@ -41,19 +41,19 @@ this.streamType = streamType; } } - __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject + __attribute__((visibility("default"))) @interface AgoraVideoSubscriptionOptions: NSObject @property (nonatomic, assign) AgoraVideoStreamType type; @property (nonatomic, assign) bool encodedFrameOnly; @end - struct VideoSubscriptionOptions { + struct VideoSubscriptionOptions { Optional<VIDEO_STREAM_TYPE> type; Optional<bool> encodedFrameOnly; VideoSubscriptionOptions() {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVideoSubscriptionOptions { GENERATED_BODY() @@ -64,25 +64,25 @@ struct FVideoSubscriptionOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VideoSubscriptionOptions") AGORAOPTIONAL encodedFrameOnly; }; - export class VideoSubscriptionOptions { + export class VideoSubscriptionOptions { type?: VideoStreamType; encodedFrameOnly?: boolean; } - public class VideoSubscriptionOptions:OptionalJsonParse + public class VideoSubscriptionOptions:OptionalJsonParse { public Optional<VIDEO_STREAM_TYPE> type = new Optional<VIDEO_STREAM_TYPE>(); public Optional<bool> encodedFrameOnly = new Optional<bool>(); } - export class VideoSubscriptionOptions { + export class VideoSubscriptionOptions { type?: VideoStreamType; encodedFrameOnly?: boolean; } - class VideoSubscriptionOptions { + class VideoSubscriptionOptions { const VideoSubscriptionOptions({this.type, this.encodedFrameOnly}); @JsonKey(name: 'type') @@ -95,29 +95,37 @@ struct FVideoSubscriptionOptions _$VideoSubscriptionOptionsFromJson(json); Map<String, dynamic> toJson() => _$VideoSubscriptionOptionsToJson(this); -} -

    -
    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> - - - streamType - type - The video stream type that you want to subscribe to. The default value is , indicating that the high-quality video streams are subscribed. See . - The video stream type that you want to subscribe to:
      -
    • (0): (Default) High-quality video stream, that is, a high-resolution, high-bit-rate video stream.
    • -
    • (1): Low-quality stream, that is, a low-resolution, low-bitrate video stream.
    • -
    -
    -
    - - encodedFrameOnly - Whether to subscribe to encoded video frames only:
      -
    • : Subscribe to the encoded video data (structured data) only; the SDK does not decode or render raw video data.
    • -
    • : (Default) Subscribe to both raw video data and encoded video data.
    • -
    -
    -
    -
    +}
    +

    + +
    + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + + + streamType + type + The video stream type that you want to subscribe to. The + default value is , indicating that the high-quality + video streams are subscribed. See . + The video stream type that you want to subscribe to:
      +
    • (0): (Default) High-quality video stream, that is, + a high-resolution, high-bit-rate video stream.
    • +
    • (1): Low-quality stream, that is, a low-resolution, + low-bitrate video stream.
    • +
    +
    +
    + + encodedFrameOnly + Whether to subscribe to encoded video frames only:
      +
    • : Subscribe to the encoded video data + (structured data) only; the SDK does not decode or render raw video data.
    • +
    • : (Default) Subscribe to both raw video data + and encoded video data.
    • +
    +
    +
    +
    + diff --git a/en-US/dita/RTC-NG/API/class_videosurface.dita b/en-US/dita/RTC-NG/API/class_videosurface.dita index 206682658a4..0638fe5e37d 100644 --- a/en-US/dita/RTC-NG/API/class_videosurface.dita +++ b/en-US/dita/RTC-NG/API/class_videosurface.dita @@ -1,6 +1,7 @@ - <ph keyref="VideoSurface" /> - This class contains Unity native methods related to video rendering. + <ph keyref="VideoSurface"/> + This class contains Unity native methods related to + video rendering. diff --git a/en-US/dita/RTC-NG/API/class_videosurfaceyuv.dita b/en-US/dita/RTC-NG/API/class_videosurfaceyuv.dita index 3eb18dfcdc6..8bf7f6676e9 100644 --- a/en-US/dita/RTC-NG/API/class_videosurfaceyuv.dita +++ b/en-US/dita/RTC-NG/API/class_videosurfaceyuv.dita @@ -2,5 +2,13 @@ <ph keyref="VideoSurfaceYUV"/> - Porivdes APIs for rendering videos. This class inherits all APIs from the class, but enables you to render video images with high resolutions (such as 4K) faster and at higher frame rates. As of v4.2.0, Agora Unity SDK does not support rendering different video sources with both and at the same time. Specifically, after successfully creating , if the first view is rendered with , then only can be used for rendering throughout the entire lifecycle of . + Porivdes APIs for rendering videos. This class inherits + all APIs from the class, but enables you to render video + images with high resolutions (such as 4K) faster and at higher frame rates. As + of v4.2.0, Agora Unity SDK does not support rendering different video sources with both + and at the same + time. Specifically, after successfully creating , if the + first view is rendered with , then only can be used for rendering throughout the entire lifecycle + of . diff --git a/en-US/dita/RTC-NG/API/class_videoviewcontroller.dita b/en-US/dita/RTC-NG/API/class_videoviewcontroller.dita index c4f6118810f..3644d6745a6 100644 --- a/en-US/dita/RTC-NG/API/class_videoviewcontroller.dita +++ b/en-US/dita/RTC-NG/API/class_videoviewcontroller.dita @@ -1,18 +1,19 @@ - <ph keyref="VideoViewController" /> - A controller for rendering local and remote video. + <ph keyref="VideoViewController"/> + A controller for + rendering local and remote video.

    - - - - - - - class VideoViewController + + + + + + + class VideoViewController with VideoViewControllerBaseMixin implements VideoViewControllerBase { VideoViewController({ @@ -53,46 +54,60 @@ : VideoSourceType.videoSourceRemote.value(); } } -

    +

    On different platforms, the default view corresponding to this class is different:

      -
    • Android: . If you want to use , set the useAndroidSurfaceView property to true.
    • -
    • iOS: . If you want to use Flutter Texture, set the useFlutterTexture property to true.
    • -
    • macOS and Windows: .
    • -

    +
  • Android: . If you want to use , set the + useAndroidSurfaceView property to + true.
  • +
  • iOS: . If you want to use Flutter Texture, set + the useFlutterTexture property to + true.
  • +
  • macOS and Windows: .
  • + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - . - - - canvas - Local video display properties. See . - - - connection - The connection information. See . - - - useFlutterTexture - Whether to use FlutterTexture to render video:
      -
    • : Use FlutterTexture to render video.
    • -
    • : Do not use FlutterTexture to render video.
    • -
    - FlutterTexture applies to iOS, macOS and Windows platforms.
    -
    - - useAndroidSurfaceView - Whether to use Android SurfaceView to render video:
      -
    • : Use Android SurfaceView to render video.
    • -
    • : Do not use Android SurfaceView to render video.
    • -
    - Android SurfaceView applies to Android platform only.
    -
    -
    + + rtcEngine + . + + + canvas + Local video display properties. See . + + + connection + The connection information. See . + + + useFlutterTexture + Whether to use FlutterTexture to render video:
      +
    • : Use + FlutterTexture to render video.
    • +
    • : Do not use + FlutterTexture to render video.
    • +
    + FlutterTexture applies to iOS, macOS and Windows + platforms.
    +
    + + useAndroidSurfaceView + Whether to use Android SurfaceView to render video:
      +
    • : Use Android + SurfaceView to render video.
    • +
    • : Do not use Android + SurfaceView to render video.
    • +
    + Android SurfaceView applies to Android platform + only.
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_videoviewcontrollerbase.dita b/en-US/dita/RTC-NG/API/class_videoviewcontrollerbase.dita index ca448abf580..38f0f72adfc 100644 --- a/en-US/dita/RTC-NG/API/class_videoviewcontrollerbase.dita +++ b/en-US/dita/RTC-NG/API/class_videoviewcontrollerbase.dita @@ -1,18 +1,19 @@ - <ph keyref="VideoViewControllerBase" /> - A controller for rendering local and remote video. + <ph keyref="VideoViewControllerBase"/> + A controller for + rendering local and remote video.

    - - - - - - - abstract class VideoViewControllerBase { + + + + + + + abstract class VideoViewControllerBase { RtcEngine get rtcEngine; VideoCanvas get canvas; RtcConnection? get connection; @@ -20,46 +21,60 @@ bool get useAndroidSurfaceView; Future<void> dispose(); } -

    +

    On different platforms, the default view corresponding to this class is different:

      -
    • Android: . If you want to use , set the useAndroidSurfaceView property to true.
    • -
    • iOS: . If you want to use Flutter Texture, set the useFlutterTexture property to true.
    • -
    • macOS and Windows: .
    • -

    +
  • Android: . If you want to use , set the + useAndroidSurfaceView property to + true.
  • +
  • iOS: . If you want to use Flutter Texture, set + the useFlutterTexture property to + true.
  • +
  • macOS and Windows: .
  • + +

    -
    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> +
    + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - . - - - canvas - The local video view and settings. See . - - - connection - The connection information. See . - - - useFlutterTexture - Whether to use FlutterTexture to render video:
      -
    • : Use FlutterTexture to render video.
    • -
    • : Do not use FlutterTexture to render video.
    • -
    - FlutterTexture applies to iOS, macOS and Windows platforms.
    -
    - - useAndroidSurfaceView - Whether to use Android SurfaceView to render video:
      -
    • : Use Android SurfaceView to render video.
    • -
    • : Do not use Android SurfaceView to render video.
    • -
    - Android SurfaceView applies to Android platform only.
    -
    -
    + + rtcEngine + . + + + canvas + The local video view and settings. See . + + + connection + The connection information. See . + + + useFlutterTexture + Whether to use FlutterTexture to render video:
      +
    • : Use + FlutterTexture to render video.
    • +
    • : Do not use + FlutterTexture to render video.
    • +
    + FlutterTexture applies to iOS, macOS and Windows + platforms.
    +
    + + useAndroidSurfaceView + Whether to use Android SurfaceView to render video:
      +
    • : Use Android + SurfaceView to render video.
    • +
    • : Do not use Android + SurfaceView to render video.
    • +
    + Android SurfaceView applies to Android platform + only.
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_virtualbackgroundsource.dita b/en-US/dita/RTC-NG/API/class_virtualbackgroundsource.dita index a6e488505e6..15eef2c66b7 100644 --- a/en-US/dita/RTC-NG/API/class_virtualbackgroundsource.dita +++ b/en-US/dita/RTC-NG/API/class_virtualbackgroundsource.dita @@ -1,12 +1,12 @@ - <ph keyref="VirtualBackgroundSource" /> + <ph keyref="VirtualBackgroundSource"/> The custom background.

    - public class VirtualBackgroundSource { + public class VirtualBackgroundSource { public static final int BACKGROUND_NONE = 0; public static final int BACKGROUND_COLOR = 1; public static final int BACKGROUND_IMG = 2; @@ -34,14 +34,14 @@ } } - __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject + __attribute__((visibility("default"))) @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 - struct VirtualBackgroundSource { + struct VirtualBackgroundSource { enum BACKGROUND_SOURCE_TYPE { BACKGROUND_NONE = 0, BACKGROUND_COLOR = 1, @@ -60,7 +60,7 @@ BACKGROUND_BLUR_DEGREE blur_degree; VirtualBackgroundSource() : background_source_type(BACKGROUND_COLOR), color(0xffffff), source(NULL), blur_degree(BLUR_DEGREE_HIGH) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FVirtualBackgroundSource { GENERATED_BODY() @@ -74,7 +74,7 @@ struct FVirtualBackgroundSource UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|VirtualBackgroundSource") EBACKGROUND_BLUR_DEGREE blur_degree = EBACKGROUND_BLUR_DEGREE::BLUR_DEGREE_HIGH; }; - export class VirtualBackgroundSource { + export class VirtualBackgroundSource { background_source_type?: BackgroundSourceType; @@ -84,7 +84,7 @@ struct FVirtualBackgroundSource blur_degree?: BackgroundBlurDegree; } - public class VirtualBackgroundSource + public class VirtualBackgroundSource { public VirtualBackgroundSource() { @@ -98,7 +98,7 @@ struct FVirtualBackgroundSource public string source; public BACKGROUND_BLUR_DEGREE blur_degree; }; - export class VirtualBackgroundSource { + export class VirtualBackgroundSource { background_source_type?: BackgroundSourceType; @@ -108,7 +108,7 @@ struct FVirtualBackgroundSource blur_degree?: BackgroundBlurDegree; } - class VirtualBackgroundSource { + class VirtualBackgroundSource { const VirtualBackgroundSource( {this.backgroundSourceType, this.color, this.source, this.blurDegree}); @@ -123,45 +123,83 @@ struct FVirtualBackgroundSource factory VirtualBackgroundSource.fromJson(Map<String, dynamic> json) => _$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 - The custom background. See .
      -
    • (0): Process the background as alpha information without replacement, only separating the portrait and the background. After setting this value, you can call to implement the picture-in-picture effect.
    • -
    • (1): (Default) The background image is a solid color.
    • -
    • (2): The background image is a file in PNG or JPG format.
    • -
    • (3): The background is a blurred version of the original background.
    • -
    • (4): The background is a local video in MP4, AVI, MKV, FLV, or other supported formats.
    • -
    -
    - - color - The type of the custom background image. The color of the custom background image. The format is a hexadecimal integer defined by RGB, without the # sign, such as 0xFFB6C1 for light pink. The default value is 0xFFFFFF, which signifies white. The value range is [0x000000, 0xffffff]. If the value is invalid, the SDK replaces the original background image with a white background image.This parameter is only applicable to custom backgrounds of the following types:
      -
    • : The background image is a solid-colored image of the color passed in by the parameter.
    • -
    • : If the image in source has a transparent background, the transparent background will be filled with the color passed in by the parameter.
    • -
    -
    -
    - - source - The local absolute path of the custom background image. Supports PNG, JPG, MP4, AVI, MKV, and FLV formats. If the path is invalid, the SDK will use either the original background image or the solid color image specified by color.This parameter takes effect only when the type of the custom background image is or . - - - blurDegree - blur_degree - The degree of blurring applied to the custom background image. See .
      -
    • (1): The degree of blurring applied to the custom background image is low. The user can almost see the background clearly.
    • -
    • (2): The degree of blurring applied to the custom background image is medium. It is difficult for the user to recognize details in the background.
    • -
    • (3): The degree of blurring applied to the custom background image is high. The user can barely see any distinguishing features in the background.
    • -
    - This parameter takes effect only when the type of the custom background image is .
    -
    -
    + + backgroundSourceType + background_source_type + The custom background. See .
      +
    • (0): Process the background as alpha + information without replacement, only separating the portrait and + the background. After setting this value, you can call to implement the + picture-in-picture effect.
    • +
    • (1): (Default) The background image + is a solid color.
    • +
    • (2): The background image is a file in + PNG or JPG format.
    • +
    • (3): The background is a blurred + version of the original background.
    • +
    • (4): The background is a local video + in MP4, AVI, MKV, FLV, or other supported formats.
    • +
    +
    + + color + The type of the custom background image. The color of the custom background + image. The format is a hexadecimal integer defined by RGB, without the # + sign, such as 0xFFB6C1 for light pink. The default value is 0xFFFFFF, which + signifies white. The value range is [0x000000, 0xffffff]. If the value is + invalid, the SDK replaces the original background image with a white + background image.This parameter is only applicable to + custom backgrounds of the following types:
      +
    • : The background image is a + solid-colored image of the color passed in by the + parameter.
    • +
    • : If the image in + source has a transparent background, + the transparent background will be filled with the color passed + in by the parameter.
    • +
    +
    +
    + + source + The local absolute path of the custom background image. Supports PNG, JPG, + MP4, AVI, MKV, and FLV formats. If the path is invalid, the SDK will use + either the original background image or the solid color image specified by + color.This parameter takes + effect only when the type of the custom background image is or . + + + blurDegree + blur_degree + The degree of blurring applied to the custom background image. See .
      +
    • (1): The degree of blurring applied to + the custom background image is low. The user can almost see the + background clearly.
    • +
    • (2): The degree of blurring applied + to the custom background image is medium. It is difficult for the + user to recognize details in the background.
    • +
    • (3): The degree of blurring applied + to the custom background image is high. The user can barely see any + distinguishing features in the background.
    • +
    + This parameter takes effect only when the type of the + custom background image is .
    +
    + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/class_watermarkoptions.dita b/en-US/dita/RTC-NG/API/class_watermarkoptions.dita index 6145bbe80e9..9c449be0518 100644 --- a/en-US/dita/RTC-NG/API/class_watermarkoptions.dita +++ b/en-US/dita/RTC-NG/API/class_watermarkoptions.dita @@ -6,7 +6,7 @@

    - public class WatermarkOptions { + public class WatermarkOptions { public static class Rectangle { public int x = 0; public int y = 0; @@ -30,13 +30,13 @@ public Rectangle positionInPortraitMode = new Rectangle(); } - __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject + __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject @property(assign, nonatomic) BOOL visibleInPreview; @property(assign, nonatomic) CGRect positionInLandscapeMode; @property(assign, nonatomic) CGRect positionInPortraitMode; @end - struct WatermarkOptions { + struct WatermarkOptions { bool visibleInPreview; Rectangle positionInLandscapeMode; Rectangle positionInPortraitMode; @@ -49,7 +49,7 @@ mode(FIT_MODE_COVER_POSITION) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FWatermarkOptions { GENERATED_BODY() @@ -65,7 +65,7 @@ struct FWatermarkOptions UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = "Agora|WatermarkOptions") EWATERMARK_FIT_MODE mode = EWATERMARK_FIT_MODE::FIT_MODE_COVER_POSITION; }; - export class WatermarkOptions { + export class WatermarkOptions { visibleInPreview?: boolean; @@ -77,7 +77,7 @@ struct FWatermarkOptions mode?: WatermarkFitMode; } - public class WatermarkOptions + public class WatermarkOptions { public WatermarkOptions() { @@ -103,7 +103,7 @@ struct FWatermarkOptions public WatermarkRatio watermarkRatio { set; get; } public WATERMARK_FIT_MODE mode { set; get; } } - export class WatermarkOptions { + export class WatermarkOptions { visibleInPreview?: boolean; @@ -115,7 +115,7 @@ struct FWatermarkOptions mode?: WatermarkFitMode; } - @JsonSerializable(explicitToJson: true, includeIfNull: false) + @JsonSerializable(explicitToJson: true, includeIfNull: false) class WatermarkOptions { const WatermarkOptions( {this.visibleInPreview, @@ -143,53 +143,76 @@ class WatermarkOptions { _$WatermarkOptionsFromJson(json); Map<String, dynamic> toJson() => _$WatermarkOptionsToJson(this); -} -

    +} +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - visibleInPreview - Whether the watermark is visible in the local preview view:
      -
    • : (Default) The watermark is visible in the local preview view.
    • -
    • : The watermark is not visible in the local preview view.
    • -
    -
    -
    - - positionInLandscapeMode - The area to display the watermark image in landscape mode. See . - When the adaptation mode of the watermark is , it is used to set the area of the watermark image in landscape mode. See . - The area to display the watermark image in landscape mode. This parameter contains the following members:
      -
    • x: The horizontal position of the watermark relative to the upper left corner.
    • -
    • y: The vertical position of the watermark relative to the upper left corner.
    • -
    • width: The width of the watermark area (px).
    • -
    • height: The height of the watermark area (px).
    • -
    -
    - - positionInPortraitMode - The area to display the watermark image in portrait mode. See . - When the adaptation mode of the watermark is , it is used to set the area of the watermark image in portrait mode. See . - The area to display the watermark image in portrait mode. This parameter contains the following members:
      -
    • x: The horizontal position of the watermark relative to the upper left corner.
    • -
    • y: The vertical position of the watermark relative to the upper left corner.
    • -
    • width: The width of the watermark area (px).
    • -
    • height: The height of the watermark area (px).
    • -
    -
    - - watermarkRatio - When the watermark adaptation mode is , this parameter is used to set the watermark coordinates. See . - - - mode - The adaptation mode of the watermark. See . - -
    + + visibleInPreview + Whether the watermark is visible in the local preview view:
      +
    • : (Default) The watermark is + visible in the local preview view.
    • +
    • : The watermark is not visible + in the local preview view.
    • +
    +
    +
    + + positionInLandscapeMode + The area to display the watermark image in landscape mode. + See . + When the adaptation mode + of the watermark is , it is used to + set the area of the watermark image in landscape mode. See . + The area to display the watermark image in landscape mode. + This parameter contains the following members:
      +
    • x: The horizontal position of the watermark relative to the upper + left corner.
    • +
    • y: The vertical position of the watermark relative to the upper left + corner.
    • +
    • width: The width of the watermark area (px).
    • +
    • height: The height of the watermark area (px).
    • +
    +
    +
    + + positionInPortraitMode + The area to display the watermark image in portrait mode. + See . + When the adaptation mode + of the watermark is , it is used to + set the area of the watermark image in portrait mode. See . + The area to display the watermark image in portrait mode. + This parameter contains the following members:
      +
    • x: The horizontal position of the watermark relative to the upper + left corner.
    • +
    • y: The vertical position of the watermark relative to the upper left + corner.
    • +
    • width: The width of the watermark area (px).
    • +
    • height: The height of the watermark area (px).
    • +
    +
    +
    + + watermarkRatio + When the watermark adaptation mode is , this parameter is used to set the watermark coordinates. See . + + + mode + The adaptation mode of the watermark. See . + + +
    diff --git a/en-US/dita/RTC-NG/API/class_watermarkratio.dita b/en-US/dita/RTC-NG/API/class_watermarkratio.dita index be1b08cce5b..8915d7e957a 100644 --- a/en-US/dita/RTC-NG/API/class_watermarkratio.dita +++ b/en-US/dita/RTC-NG/API/class_watermarkratio.dita @@ -2,13 +2,14 @@ <ph keyref="WatermarkRatio"/> - The position and size of the watermark on the screen. + The position and size of the watermark on the + screen.

    - - - struct WatermarkRatio { + + + struct WatermarkRatio { float xRatio; float yRatio; float widthRatio; @@ -16,7 +17,7 @@ WatermarkRatio(float x, float y, float width) : xRatio(x), yRatio(y), widthRatio(width) {} }; - USTRUCT(BlueprintType) + USTRUCT(BlueprintType) struct FWatermarkRatio { GENERATED_BODY() @@ -27,7 +28,7 @@ struct FWatermarkRatio { float widthRatio; }; - export class WatermarkRatio { + export class WatermarkRatio { xRatio?: number; @@ -35,7 +36,7 @@ struct FWatermarkRatio { widthRatio?: number; } - public class WatermarkRatio + public class WatermarkRatio { public WatermarkRatio() { @@ -54,7 +55,7 @@ struct FWatermarkRatio { public float yRatio { set; get; } public float widthRatio { set; get; } } - export class WatermarkRatio { + export class WatermarkRatio { xRatio?: number; @@ -62,7 +63,7 @@ struct FWatermarkRatio { widthRatio?: number; } - class WatermarkRatio { + class WatermarkRatio { const WatermarkRatio({this.xRatio, this.yRatio, this.widthRatio}); @JsonKey(name: 'xRatio') @@ -74,30 +75,47 @@ struct FWatermarkRatio { factory WatermarkRatio.fromJson(Map<String, dynamic> json) => _$WatermarkRatioFromJson(json); Map<String, dynamic> toJson() => _$WatermarkRatioToJson(this); -} -

    +} +

    -

    The position and size of the watermark on the screen are determined by xRatio, yRatio, and widthRatio:

      -
    • (xRatio, yRatio) refers to the coordinates of the upper left corner of the watermark, which determines the distance from the upper left corner of the watermark to the upper left corner of the screen.
    • -
    • The widthRatio determines the width of the watermark.
    • -

    +

    The position and size of the watermark on the screen are determined by + xRatio, yRatio, and + widthRatio:

      +
    • (xRatio, yRatio) refers to the + coordinates of the upper left corner of the watermark, which determines the + distance from the upper left corner of the watermark to the upper left + corner of the screen.
    • +
    • The widthRatio determines the width of the + watermark.
    • +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - xRatio - The x-coordinate of the upper left corner of the watermark. The horizontal position relative to the origin, where the upper left corner of the screen is the origin, and the x-coordinate is the upper left corner of the watermark. The value range is [0.0,1.0], and the default value is 0. - - - yRatio - The y-coordinate of the upper left corner of the watermark. The vertical position relative to the origin, where the upper left corner of the screen is the origin, and the y-coordinate is the upper left corner of the screen. The value range is [0.0,1.0], and the default value is 0. - - - widthRatio - The width of the watermark. The SDK calculates the height of the watermark proportionally according to this parameter value to ensure that the enlarged or reduced watermark image is not distorted. The value range is [0,1], and the default value is 0, which means no watermark is displayed. - -
    + + xRatio + The x-coordinate of the upper left corner of the watermark. The horizontal + position relative to the origin, where the upper left corner of the screen + is the origin, and the x-coordinate is the upper left corner of the + watermark. The value range is [0.0,1.0], and the default value is 0. + + + yRatio + The y-coordinate of the upper left corner of the watermark. The vertical + position relative to the origin, where the upper left corner of the screen + is the origin, and the y-coordinate is the upper left corner of the screen. + The value range is [0.0,1.0], and the default value is 0. + + + widthRatio + The width of the watermark. The SDK calculates the height of the watermark + proportionally according to this parameter value to ensure that the enlarged + or reduced watermark image is not distorted. The value range is [0,1], and + the default value is 0, which means no watermark is displayed. + + +
    diff --git a/en-US/dita/RTC-NG/API/class_windowinfo.dita b/en-US/dita/RTC-NG/API/class_windowinfo.dita index 2c5f00bb571..3b34870d7dc 100644 --- a/en-US/dita/RTC-NG/API/class_windowinfo.dita +++ b/en-US/dita/RTC-NG/API/class_windowinfo.dita @@ -1,23 +1,24 @@ - <ph keyref="WindowInfo" /> + <ph keyref="WindowInfo"/> Information of the window to be shared.

    - - - - - - - -

    + + + + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> windowId @@ -53,8 +54,11 @@ image - The window thumbnail. See Uint8Array. + The window thumbnail. See Uint8Array. -
    -
    \ No newline at end of file + + + diff --git a/en-US/dita/RTC-NG/API/class_wlaccstats.dita b/en-US/dita/RTC-NG/API/class_wlaccstats.dita index a848c781b14..2f752b6a548 100644 --- a/en-US/dita/RTC-NG/API/class_wlaccstats.dita +++ b/en-US/dita/RTC-NG/API/class_wlaccstats.dita @@ -1,37 +1,39 @@ - <ph keyref="WlAccStats" /> + <ph keyref="WlAccStats"/> Wi-Fi acceleration:

    - struct WlAccStats { + struct WlAccStats { unsigned short e2eDelayPercent; unsigned short frozenRatioPercent; unsigned short lossRatePercent; }; - - - - -

    + + + + +

    - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - e2eDelayPercent - End-to-end latency drop percentage. - - - frozenRatioPercent - The percentage of audio and video freezing rate reduction. - - - lossRatePercent - The percentage of packet loss reduction. - -
    + + e2eDelayPercent + End-to-end latency drop percentage. + + + frozenRatioPercent + The percentage of audio and video freezing rate reduction. + + + lossRatePercent + The percentage of packet loss reduction. + + +
    -
    \ No newline at end of file + diff --git a/en-US/dita/RTC-NG/API/construct_videoviewcontroller.dita b/en-US/dita/RTC-NG/API/construct_videoviewcontroller.dita index 89924643a84..c5219fc0c4a 100644 --- a/en-US/dita/RTC-NG/API/construct_videoviewcontroller.dita +++ b/en-US/dita/RTC-NG/API/construct_videoviewcontroller.dita @@ -2,7 +2,8 @@ <ph keyref="VideoViewControllerConstructor"/> - Constructor for the class used to render local video. + Constructor for the class used to render local video. @@ -13,20 +14,21 @@

    - - - - - - - - VideoViewController({ + + + + + + + + VideoViewController({ required this.rtcEngine, required this.canvas, this.useFlutterTexture = false, this.useAndroidSurfaceView = false, }) : connection = const RtcConnection(); -

    + +

    @@ -35,8 +37,8 @@ this.useAndroidSurfaceView = false, Parameters - - + + @@ -50,6 +52,7 @@ this.useAndroidSurfaceView = false, -

    + +
    diff --git a/en-US/dita/RTC-NG/API/construct_videoviewcontroller_remote.dita b/en-US/dita/RTC-NG/API/construct_videoviewcontroller_remote.dita index d8941bd6792..b44f35eff5c 100644 --- a/en-US/dita/RTC-NG/API/construct_videoviewcontroller_remote.dita +++ b/en-US/dita/RTC-NG/API/construct_videoviewcontroller_remote.dita @@ -2,7 +2,8 @@ <ph keyref="VideoViewControllerremoteConstructor"/> - Constructor for the class used to render remote video. + Constructor for the class used to render remote video. @@ -13,21 +14,22 @@

    - - - - - - - - VideoViewController.remote({ + + + + + + + + VideoViewController.remote({ required this.rtcEngine, required this.canvas, required this.connection, this.useFlutterTexture = false, this.useAndroidSurfaceView = false, }) : assert(connection.channelId != null); -

    + +

    @@ -55,6 +57,7 @@ this.useAndroidSurfaceView = false, -

    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_agoramediaplayerrendermodetype.dita b/en-US/dita/RTC-NG/API/enum_agoramediaplayerrendermodetype.dita index 502971ab5fb..d9d67a07ae6 100644 --- a/en-US/dita/RTC-NG/API/enum_agoramediaplayerrendermodetype.dita +++ b/en-US/dita/RTC-NG/API/enum_agoramediaplayerrendermodetype.dita @@ -5,18 +5,23 @@ Video display modes.
    - Enumerator - - - - 1: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Hidden mode. One dimension of the video may have clipped contents. - - - - - - 2: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Fit mode. Areas that are not filled due to disparity in the aspect ratio are filled with black. - - -
    + Enumerator + + + + 1: Uniformly scale the video until one of its dimension fits the boundary + (zoomed to fit). Hidden mode. One dimension of the video may have clipped + contents. + + + + + + 2: Uniformly scale the video until one of its dimension fits the boundary + (zoomed to fit). Fit mode. Areas that are not filled due to disparity in the + aspect ratio are filled with black. + + + + diff --git a/en-US/dita/RTC-NG/API/enum_areacode.dita b/en-US/dita/RTC-NG/API/enum_areacode.dita index 0293d783cca..1368ffc870a 100644 --- a/en-US/dita/RTC-NG/API/enum_areacode.dita +++ b/en-US/dita/RTC-NG/API/enum_areacode.dita @@ -2,39 +2,41 @@ <ph keyref="AREA_CODE"/> - The region for connection, which is the region where the server the SDK connects to is located. + The region for connection, which is the region where + the server the SDK connects to is located.
    Enumerator - - - Mainland China. - - - - North America. - - - - Europe. - - - - Asia, excluding Mainland China. - - - - Japan. - - - - India. - - - - Global. - -
    + + + Mainland China. + + + + North America. + + + + Europe. + + + + Asia, excluding Mainland China. + + + + Japan. + + + + India. + + + + Global. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita b/en-US/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita index b9af3ba2f9c..9a4f3159953 100644 --- a/en-US/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiencelatencyleveltype.dita @@ -2,19 +2,22 @@ <ph keyref="AUDIENCE_LATENCY_LEVEL_TYPE"/> - The latency level of an audience member in interactive live streaming. This enum takes effect only when the user role is set to . + The latency level of an audience member in interactive + live streaming. This enum takes effect only when the user role is set to .
    Enumerator - - - 1: Low latency. - - - - 2: (Default) Ultra low latency. - -
    + + + 1: Low latency. + + + + 2: (Default) Ultra low latency. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audioainsmode.dita b/en-US/dita/RTC-NG/API/enum_audioainsmode.dita index 0a59c4b42a0..1939781cb13 100644 --- a/en-US/dita/RTC-NG/API/enum_audioainsmode.dita +++ b/en-US/dita/RTC-NG/API/enum_audioainsmode.dita @@ -6,27 +6,35 @@
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    Enumerator - - - 0: (Default) Balance mode. This mode allows for a balanced performance on noice suppression and time delay. - - - - 1: Aggressive mode. In scenarios where high performance on noise suppression is required, such as live streaming outdoor events, this mode reduces nosie more dramatically, but may sometimes affect the original character of the audio. - - - - 2: Aggressive mode with low latency. The noise suppression delay of this mode is about only half of that of the balance and aggressive modes. It is suitable for scenarios that have high requirements on noise suppression with low latency, such as sing together online in real time. - -
    + + + 0: (Default) Balance mode. This mode allows for a balanced performance on + noice suppression and time delay. + + + + 1: Aggressive mode. In scenarios where high performance on noise suppression + is required, such as live streaming outdoor events, this mode reduces nosie + more dramatically, but may sometimes affect the original character of the + audio. + + + + 2: Aggressive mode with low latency. The noise suppression delay of this + mode is about only half of that of the balance and aggressive modes. It is + suitable for scenarios that have high requirements on noise suppression with + low latency, such as sing together online in real time. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audiocodecprofiletype.dita b/en-US/dita/RTC-NG/API/enum_audiocodecprofiletype.dita index 06812341e74..1d94af470c8 100644 --- a/en-US/dita/RTC-NG/API/enum_audiocodecprofiletype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiocodecprofiletype.dita @@ -1,24 +1,27 @@ - <ph keyref="AUDIO_CODEC_PROFILE_TYPE"/> + + <ph keyref="AUDIO_CODEC_PROFILE_TYPE"/> + Self-defined audio codec profile.
    Enumerator - - - 0: (Default) LC-AAC. - - - - 1: HE-AAC. - - - - 2: HE-AAC v2. - -
    + + + 0: (Default) LC-AAC. + + + + 1: HE-AAC. + + + + 2: HE-AAC v2. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audiocodectype.dita b/en-US/dita/RTC-NG/API/enum_audiocodectype.dita index 8a05b1061c8..65b3e850cb2 100644 --- a/en-US/dita/RTC-NG/API/enum_audiocodectype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiocodectype.dita @@ -7,38 +7,39 @@
    Enumerator - - - 1: OPUS. - - - - 3: PCMA. - - - - 4: PCMU. - - - - 5: G722. - - - - 8: LC-AAC. - - - - 9: HE-AAC. - - - - 10: JC1. - - - - 11: HE-AAC v2. - -
    + + + 1: OPUS. + + + + 3: PCMA. + + + + 4: PCMU. + + + + 5: G722. + + + + 8: LC-AAC. + + + + 9: HE-AAC. + + + + 10: JC1. + + + + 11: HE-AAC v2. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audiodevicetestvolumetype.dita b/en-US/dita/RTC-NG/API/enum_audiodevicetestvolumetype.dita index 5a06a090bdd..2e8762a863b 100644 --- a/en-US/dita/RTC-NG/API/enum_audiodevicetestvolumetype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiodevicetestvolumetype.dita @@ -7,14 +7,15 @@
    Enumerator - - - 0: The volume of the audio capturing device. - - - - 1: The volume of the audio playback device. - -
    + + + 0: The volume of the audio capturing device. + + + + 1: The volume of the audio playback device. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audiodualmonomode.dita b/en-US/dita/RTC-NG/API/enum_audiodualmonomode.dita index 238cef60220..179e2c9563c 100644 --- a/en-US/dita/RTC-NG/API/enum_audiodualmonomode.dita +++ b/en-US/dita/RTC-NG/API/enum_audiodualmonomode.dita @@ -7,22 +7,29 @@
    Enumerator - - - 0: Original mode. - - - - 1: Left channel mode. This mode replaces the audio of the right channel with the audio of the left channel, which means the user can only hear the audio of the left channel. - - - - 2: Right channel mode. This mode replaces the audio of the left channel with the audio of the right channel, which means the user can only hear the audio of the right channel. - - - - 3: Mixed channel mode. This mode mixes the audio of the left channel and the right channel, which means the user can hear the audio of the left channel and the right channel at the same time. - -
    + + + 0: Original mode. + + + + 1: Left channel mode. This mode replaces the audio of the right channel with + the audio of the left channel, which means the user can only hear the audio + of the left channel. + + + + 2: Right channel mode. This mode replaces the audio of the left channel with + the audio of the right channel, which means the user can only hear the audio + of the right channel. + + + + 3: Mixed channel mode. This mode mixes the audio of the left channel and the + right channel, which means the user can hear the audio of the left channel + and the right channel at the same time. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audioeffectpreset.dita b/en-US/dita/RTC-NG/API/enum_audioeffectpreset.dita index 1fab94c4bc1..0c6e27cf671 100644 --- a/en-US/dita/RTC-NG/API/enum_audioeffectpreset.dita +++ b/en-US/dita/RTC-NG/API/enum_audioeffectpreset.dita @@ -4,133 +4,172 @@ <ph keyref="AUDIO_EFFECT_PRESET"/> Preset audio effects. -
    To get better audio effects, Agora recommends calling and setting the profile parameter as recommended below before using the preset audio effects. - - - - - - Preset audio effects - profile - - - - - -
      -
    • -
    • -
    • -
    -
    - or -
    - - Other preset audio effects (except for ) - or - - - +
    To get better audio effects, Agora recommends calling and setting the profile parameter as + recommended below before using the preset audio effects.
    + + + + + + Preset audio effects + profile + + + + + +
      +
    • +
    • +
    • +
    +
    + or + +
    + + Other preset audio effects (except for ) + or + + +
    Enumerator - - - Turn off voice effects, that is, use the original voice. - - - - The voice effect typical of a KTV venue. - - - - The voice effect typical of a concert hall. - - - - The voice effect typical of a recording studio. - - - - The voice effect typical of a vintage phonograph. - - - - The virtual stereo effect, which renders monophonic audio as stereo audio. - - - - A more spatial voice effect. - - - - A more ethereal voice effect. - - - - Virtual surround sound, that is, the SDK generates a simulated surround sound field on the basis of stereo channels, thereby creating a surround sound effect.If the virtual surround sound is enabled, users need to use stereo audio playback devices to hear the anticipated audio effect. - - - - The audio effect of chorus. Agora recommends using this effect in chorus scenarios to enhance the sense of depth and dimension in the vocals. - - - - -

    A 3D voice effect that makes the voice appear to be moving around the user. The default cycle period is 10 seconds. After setting this effect, you can call to modify the movement period.

    - If the 3D voice effect is enabled, users need to use stereo audio playback devices to hear the anticipated voice effect.
    -
    - - - -

    A middle-aged man's voice.

    - Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
    -
    - - - -

    An older man's voice.

    - Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
    -
    - - - -

    A boy's voice.

    - Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
    -
    - - - -

    A young woman's voice.

    - Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
    -
    - - - -

    A girl's voice.

    - Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
    -
    - - - The voice of Pig King, a character in Journey to the West who has a voice like a growling bear. - - - - The Hulk's voice. - - - - The voice effect typical of R&B music. - - - - The voice effect typical of popular music. - - - - A pitch correction effect that corrects the user's pitch based on the pitch of the natural C major scale. After setting this voice effect, you can call to adjust the basic mode of tuning and the pitch of the main tone. - -
    + + + Turn off voice effects, that is, use the original voice. + + + + The voice effect typical of a KTV venue. + + + + The voice effect typical of a concert hall. + + + + The voice effect typical of a recording studio. + + + + The voice effect typical of a vintage phonograph. + + + + The virtual stereo effect, which renders monophonic audio as stereo + audio. + + + + A more spatial voice effect. + + + + A more ethereal voice effect. + + + + Virtual surround sound, that is, the SDK generates a simulated surround + sound field on the basis of stereo channels, thereby creating a surround + sound effect.If the virtual surround sound is + enabled, users need to use stereo audio playback devices to hear the + anticipated audio effect. + + + + + The audio effect of chorus. Agora recommends using this effect in chorus + scenarios to enhance the sense of depth and dimension in the vocals. + + + + +

    A 3D voice effect that makes the voice appear to be moving around the + user. The default cycle period is 10 seconds. After setting this effect, + you can call to modify the + movement period.

    + If the 3D voice effect is enabled, users need to use + stereo audio playback devices to hear the anticipated voice + effect. +
    +
    + + + +

    A middle-aged man's voice.

    + Agora recommends using this preset to process a + male-sounding voice; otherwise, you may not hear the anticipated voice + effect. +
    +
    + + + +

    An older man's voice.

    + Agora recommends using this preset to process a + male-sounding voice; otherwise, you may not hear the anticipated voice + effect. +
    +
    + + + +

    A boy's voice.

    + Agora recommends using this preset to process a + male-sounding voice; otherwise, you may not hear the anticipated voice + effect. +
    +
    + + + +

    A young woman's voice.

    + Agora recommends using this preset to process a + female-sounding voice; otherwise, you may not hear the anticipated voice + effect. +
    +
    + + + +

    A girl's voice.

    + Agora recommends using this preset to process a + female-sounding voice; otherwise, you may not hear the anticipated voice + effect. +
    +
    + + + The voice of Pig King, a character in Journey to the West who has a voice + like a growling bear. + + + + The Hulk's voice. + + + + The voice effect typical of R&B music. + + + + The voice effect typical of popular music. + + + + A pitch correction effect that corrects the user's pitch based on the pitch + of the natural C major scale. After setting this voice effect, you can call + to adjust the basic mode of + tuning and the pitch of the main tone. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita b/en-US/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita index f1650efd8f8..d20c5264894 100644 --- a/en-US/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita +++ b/en-US/dita/RTC-NG/API/enum_audioencodedframeobserverposition.dita @@ -7,18 +7,19 @@
    Enumerator - - - 1: Only records the audio of the local user. - - - - 2: Only records the audio of all remote users. - - - - 3: Records the mixed audio of the local and all remote users. - -
    + + + 1: Only records the audio of the local user. + + + + 2: Only records the audio of all remote users. + + + + 3: Records the mixed audio of the local and all remote users. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audioencodingtype.dita b/en-US/dita/RTC-NG/API/enum_audioencodingtype.dita index a834c885958..e60a7f5bcb4 100644 --- a/en-US/dita/RTC-NG/API/enum_audioencodingtype.dita +++ b/en-US/dita/RTC-NG/API/enum_audioencodingtype.dita @@ -7,50 +7,68 @@
    Enumerator - - - AAC encoding format, 16000 Hz sampling rate, bass quality. A file with an audio duration of 10 minutes is approximately 1.2 MB after encoding. - - - - AAC encoding format, 16000 Hz sampling rate, medium sound quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - AAC encoding format, 32000 Hz sampling rate, bass quality. A file with an audio duration of 10 minutes is approximately 1.2 MB after encoding. - - - - AAC encoding format, 32000 Hz sampling rate, medium sound quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - AAC encoding format, 32000 Hz sampling rate, high sound quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding. - - - - AAC encoding format, 48000 Hz sampling rate, medium sound quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - AAC encoding format, 48000 Hz sampling rate, high sound quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding. - - - - OPUS encoding format, 16000 Hz sampling rate, bass quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - OPUS encoding format, 16000 Hz sampling rate, medium sound quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - OPUS encoding format, 48000 Hz sampling rate, medium sound quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - OPUS encoding format, 48000 Hz sampling rate, high sound quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding. - -
    + + + AAC encoding format, 16000 Hz sampling rate, bass quality. A file with an + audio duration of 10 minutes is approximately 1.2 MB after encoding. + + + + AAC encoding format, 16000 Hz sampling rate, medium sound quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding. + + + + AAC encoding format, 32000 Hz sampling rate, bass quality. A file with an + audio duration of 10 minutes is approximately 1.2 MB after encoding. + + + + AAC encoding format, 32000 Hz sampling rate, medium sound quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding. + + + + AAC encoding format, 32000 Hz sampling rate, high sound quality. A file with + an audio duration of 10 minutes is approximately 3.5 MB after encoding. + + + + AAC encoding format, 48000 Hz sampling rate, medium sound quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding. + + + + AAC encoding format, 48000 Hz sampling rate, high sound quality. A file with + an audio duration of 10 minutes is approximately 3.5 MB after encoding. + + + + OPUS encoding format, 16000 Hz sampling rate, bass quality. A file with an + audio duration of 10 minutes is approximately 2 MB after encoding. + + + + OPUS encoding format, 16000 Hz sampling rate, medium sound quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding. + + + + OPUS encoding format, 48000 Hz sampling rate, medium sound quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding. + + + + OPUS encoding format, 48000 Hz sampling rate, high sound quality. A file + with an audio duration of 10 minutes is approximately 3.5 MB after + encoding. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita b/en-US/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita index 1e93c528435..bc529320555 100644 --- a/en-US/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita +++ b/en-US/dita/RTC-NG/API/enum_audioequalizationbandfrequency.dita @@ -2,51 +2,53 @@ <ph keyref="AUDIO_EQUALIZATION_BAND_FREQUENCY"/> - The midrange frequency for audio equalization. + The midrange frequency for audio + equalization.
    Enumerator - - - 0: 31 Hz - - - - 1: 62 Hz - - - - 2: 125 Hz - - - - 3: 250 Hz - - - - 4: 500 Hz - - - - 5: 1 kHz - - - - 6: 2 kHz - - - - 7: 4 kHz - - - - 8: 8 kHz - - - - 9: 16 kHz - -
    + + + 0: 31 Hz + + + + 1: 62 Hz + + + + 2: 125 Hz + + + + 3: 250 Hz + + + + 4: 500 Hz + + + + 5: 1 kHz + + + + 6: 2 kHz + + + + 7: 4 kHz + + + + 8: 8 kHz + + + + 9: 16 kHz + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audioexternalsourceposition.dita b/en-US/dita/RTC-NG/API/enum_audioexternalsourceposition.dita index 9e6565d712c..e79c9739783 100644 --- a/en-US/dita/RTC-NG/API/enum_audioexternalsourceposition.dita +++ b/en-US/dita/RTC-NG/API/enum_audioexternalsourceposition.dita @@ -2,24 +2,31 @@ <ph keyref="AUDIO_EXTERNAL_SOURCE_POSITION"/> - The push position of the external audio frame. Set in - or . + The push position of the external audio frame. Set in + or + .
    Enumerator - - - 0: The position before local playback. If you need to play the external audio frame on the local client, set this position. - + + + 0: The position before local playback. If you need to play the external + audio frame on the local client, set this position. + - 1: The position after audio capture and before quaio pre-processing. If you need the audio module of the SDK to process the external audio frame, set this position. + 1: The position after audio capture and before quaio pre-processing. If you + need the audio module of the SDK to process the external audio frame, set + this position. - 2: The position after audio pre-processing and bedfore audio encoding. If you do not need the audio module of the SDK to process the external audio frame, set this position. - -
    + 2: The position after audio pre-processing and bedfore audio encoding. If + you do not need the audio module of the SDK to process the external audio + frame, set this position. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audiofilerecordingtype.dita b/en-US/dita/RTC-NG/API/enum_audiofilerecordingtype.dita index bbe6d09e501..c03981f3555 100644 --- a/en-US/dita/RTC-NG/API/enum_audiofilerecordingtype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiofilerecordingtype.dita @@ -2,23 +2,25 @@ <ph keyref="AUDIO_FILE_RECORDING_TYPE"/> - Recording content. Set in . + Recording content. Set in .
    Enumerator - - - 1: Only records the audio of the local user. - - - - 2: Only records the audio of all remote users. - - - - 3: Records the mixed audio of the local and all remote users. - -
    + + + 1: Only records the audio of the local user. + + + + 2: Only records the audio of all remote users. + + + + 3: Records the mixed audio of the local and all remote users. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audioframetype.dita b/en-US/dita/RTC-NG/API/enum_audioframetype.dita index 21c2e9f5cdd..9ff57c807a8 100644 --- a/en-US/dita/RTC-NG/API/enum_audioframetype.dita +++ b/en-US/dita/RTC-NG/API/enum_audioframetype.dita @@ -7,10 +7,11 @@
    Enumerator - - - 0: PCM 16 - -
    + + + 0: PCM 16 + + + diff --git a/en-US/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita b/en-US/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita index 55ff5b693bf..67dafa14804 100644 --- a/en-US/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita +++ b/en-US/dita/RTC-NG/API/enum_audiomixingdualmonomode.dita @@ -7,22 +7,29 @@
    Enumerator - - - 0: Original mode. - - - - 1: Left channel mode. This mode replaces the audio of the right channel with the audio of the left channel, which means the user can only hear the audio of the left channel. - - - - 2: Right channel mode. This mode replaces the audio of the left channel with the audio of the right channel, which means the user can only hear the audio of the right channel. - - - - 3: Mixed channel mode. This mode mixes the audio of the left channel and the right channel, which means the user can hear the audio of the left channel and the right channel at the same time. - -
    + + + 0: Original mode. + + + + 1: Left channel mode. This mode replaces the audio of the right channel with + the audio of the left channel, which means the user can only hear the audio + of the left channel. + + + + 2: Right channel mode. This mode replaces the audio of the left channel with + the audio of the right channel, which means the user can only hear the audio + of the right channel. + + + + 3: Mixed channel mode. This mode mixes the audio of the left channel and the + right channel, which means the user can hear the audio of the left channel + and the right channel at the same time. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audiomixingerrortype.dita b/en-US/dita/RTC-NG/API/enum_audiomixingerrortype.dita index c424f78b826..020248b006b 100644 --- a/en-US/dita/RTC-NG/API/enum_audiomixingerrortype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiomixingerrortype.dita @@ -2,27 +2,29 @@ <ph keyref="AUDIO_MIXING_ERROR_TYPE"/> - Errors that may occur when playing a music file. + Errors that may occur when playing a music + file.
    Enumerator - - - The SDK cannot open the music file. - - - - The SDK opens the music file too frequently. - - - - The playback of the music file is interrupted. - - - - The music file is playing. - -
    + + + The SDK cannot open the music file. + + + + The SDK opens the music file too frequently. + + + + The playback of the music file is interrupted. + + + + The music file is playing. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audiomixingreasontype.dita b/en-US/dita/RTC-NG/API/enum_audiomixingreasontype.dita index b47510d9ad4..77322843e02 100644 --- a/en-US/dita/RTC-NG/API/enum_audiomixingreasontype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiomixingreasontype.dita @@ -2,55 +2,66 @@ <ph keyref="AUDIO_MIXING_REASON_TYPE"/> - The reason why the playback state of the music file changes. Reported in the callback. + The reason why the playback state of the music file + changes. Reported in the + callback.
    Enumerator - - - 0: The SDK opens music file successfully. - - - - 701: The SDK cannot open the music file. For example, the local music file does not exist, the SDK does not support the file format, or the the SDK cannot access the music file URL. - - - - 702: The SDK opens the music file too frequently. If you need to call startAudioMixing multiple times, ensure that the call interval is more than 500 ms. - - - - 703: The music file playback is interrupted. - - - - 720: Successfully call startAudioMixing to play music files. - - - - 721: The music file completes a loop playback. - - - - 722: The music file starts a new loop playback. - - - - 723: The music file completes all loop playback. - - - - 724: Successfully call to stop playing the music file. - - - - 725: Successfully call to pause playing the music file. - - - - 726: Successfully call to resume playing the music file. - -
    + + + 0: The SDK opens music file successfully. + + + + 701: The SDK cannot open the music file. For example, the local music file + does not exist, the SDK does not support the file format, or the the SDK + cannot access the music file URL. + + + + 702: The SDK opens the music file too frequently. If you need to call + startAudioMixing multiple times, ensure that the call + interval is more than 500 ms. + + + + 703: The music file playback is interrupted. + + + + 720: Successfully call startAudioMixing to play music + files. + + + + 721: The music file completes a loop playback. + + + + 722: The music file starts a new loop playback. + + + + 723: The music file completes all loop playback. + + + + 724: Successfully call to stop playing the + music file. + + + + 725: Successfully call to pause playing + the music file. + + + + 726: Successfully call to resume playing + the music file. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audiomixingstatetype.dita b/en-US/dita/RTC-NG/API/enum_audiomixingstatetype.dita index f6e37c77c0d..b0f74583357 100644 --- a/en-US/dita/RTC-NG/API/enum_audiomixingstatetype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiomixingstatetype.dita @@ -7,47 +7,48 @@
    Enumerator - - - -

    710: The music file is playing.

    -
    -
    - - - -

    711: The music file pauses playing.

    -
    -
    - - - -

    713: The music file stops playing.

    -

    The possible reasons include:

      -
    • (723)
    • -
    • (724)
    • -

    -
    -
    - - - -

    714: An error occurs during the playback of the audio mixing file.

    -

    The possible reasons include:

      -
    • (701)
    • -
    • (702)
    • -
    • (703)
    • -

    -
    -
    - - - (715): The music file is played once. - - - - (716): The music file is all played out. - -
    + + + +

    710: The music file is playing.

    +
    +
    + + + +

    711: The music file pauses playing.

    +
    +
    + + + +

    713: The music file stops playing.

    +

    The possible reasons include:

      +
    • (723)
    • +
    • (724)
    • +

    +
    +
    + + + +

    714: An error occurs during the playback of the audio mixing file.

    +

    The possible reasons include:

      +
    • (701)
    • +
    • (702)
    • +
    • (703)
    • +

    +
    +
    + + + (715): The music file is played once. + + + + (716): The music file is all played out. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita b/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita index dd13f5c2afa..20cf31ad136 100644 --- a/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita +++ b/en-US/dita/RTC-NG/API/enum_audioprocessingchannels.dita @@ -2,43 +2,66 @@ <ph keyref="AUDIO_PROCESSING_CHANNELS"/> - The number of channels for audio preprocessing. + The number of channels for audio + preprocessing.
    -

    In scenarios that require enhanced realism, such as concerts, local users might need to capture stereo audio and send stereo signals to remote users. For example, the singer, guitarist, and drummer are standing in different positions on the stage. The audio capture device captures their stereo audio and sends stereo signals to remote users. Remote users can hear the song, guitar, and drum from different directions as if they were at the auditorium.

    -

    You can set the dual-channel processing to implement stereo audio in this class. Agora recommends the following settings:

      -
    1. Preprocessing: call and set audioProcessingChannels to (2) in .
    2. -
    3. Post-processing: call and set profile to (3) or (5).
    4. -

    +

    In scenarios that require enhanced realism, such as concerts, local users might need + to capture stereo audio and send stereo signals to remote users. For example, the + singer, guitarist, and drummer are standing in different positions on the stage. The + audio capture device captures their stereo audio and sends stereo signals to remote + users. Remote users can hear the song, guitar, and drum from different directions as + if they were at the auditorium.

    +

    You can set the dual-channel processing to implement stereo audio in this class. + Agora recommends the following settings:

      +
    1. Preprocessing: call and set + audioProcessingChannels to (2) in .
    2. +
    3. Post-processing: call + and set + profile to (3) or (5).
    4. +

    -
      -
    • -

      The stereo setting only takes effect when the SDK uses the media volume.

      -

      To learn more about the difference between media volume and call volume, see .

      -
    • -
    • On iOS, stereo audio requires high device performance. Stereo audio is only supported on the following devices using iOS 14.0 and later:
        -
      • iPhone XS
      • -
      • iPhone XS Max
      • -
      • iPhone XR
      • -
      • iPhone 11
      • -
      • iPhone 11 Pro
      • -
      • iPhone 11 Pro Max
      • -
      • iPhone SE (2020)
      • -
      • iPad Pro 11" and 12.9" (3rd generation)
      • -
      • iPad Pro 11" and 12.9" (4th generation)
      • -
    • -
    +
      +
    • +

      The stereo setting only takes effect when the SDK uses the media + volume.

      +

      To learn more about the difference between media volume and + call volume, see + .

      +
    • +
    • On iOS, stereo audio requires + high device performance. Stereo audio is only supported on the following + devices using iOS 14.0 and later:
        +
      • iPhone XS
      • +
      • iPhone XS Max
      • +
      • iPhone XR
      • +
      • iPhone 11
      • +
      • iPhone 11 Pro
      • +
      • iPhone 11 Pro Max
      • +
      • iPhone SE (2020)
      • +
      • iPad Pro 11" and 12.9" (3rd generation)
      • +
      • iPad Pro 11" and 12.9" (4th generation)
      • +
    • +
    + +
    Enumerator - - - 1: (Default) Mono. - - - - 2: Stereo. - -
    + + + 1: (Default) Mono. + + + + 2: Stereo. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audioprofiletype.dita b/en-US/dita/RTC-NG/API/enum_audioprofiletype.dita index 7994af21430..81a1e819687 100644 --- a/en-US/dita/RTC-NG/API/enum_audioprofiletype.dita +++ b/en-US/dita/RTC-NG/API/enum_audioprofiletype.dita @@ -7,50 +7,80 @@
    Enumerator - - - -

    0: The default audio profile.

      -
    • For the interactive streaming profile: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
    • -
    • For the communication profile: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
        -
      • Windows: A sample rate of 16 kHz, audio encoding, mono, and a bitrate of up to 16 Kbps.
      • -
      • Android/macOS/iOS:macOS: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
      • -
    • -

    -
    -
    - - - 1: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps. - - - - 2: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps. - - - - 3: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps.

    To implement stereo audio, you also need to call and set audioProcessingChannels to in .

    -
    -
    - - - 4: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 Kbps. - - - - 5: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps.

    To implement stereo audio, you also need to call and set audioProcessingChannels to in .

    -
    -
    - - - -

    6: A sample rate of 16 kHz, audio encoding, mono, and Acoustic Echo Cancellation (AES) enabled.

    -
    -
    - - - Enumerator boundary. - -
    + + + +

    0: The default audio profile.

      +
    • For the interactive streaming profile: A sample rate of 48 kHz, + music encoding, mono, and a bitrate of up to 64 Kbps.
    • +
    • For the communication profile: A + sample rate of 32 kHz, audio encoding, mono, and a bitrate + of up to 18 Kbps.
        +
      • Windows: A sample rate of 16 kHz, audio encoding, mono, + and a bitrate of up to 16 Kbps.
      • +
      • Android/macOS/iOS:macOS: A sample rate of 32 kHz, audio + encoding, mono, and a bitrate of up to 18 Kbps.
      • +
      +
    • +
    +

    +
    +
    + + + 1: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 + Kbps. + + + + 2: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 + Kbps. + + + + 3: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up + to 80 Kbps.

    To implement + stereo audio, you also need to call and set + audioProcessingChannels to in .

    +
    +
    + + + 4: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 + Kbps. + + + + 5: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up + to 128 Kbps.

    To implement + stereo audio, you also need to call and set + audioProcessingChannels to in .

    +
    +
    + + + +

    6: A sample rate of 16 kHz, audio encoding, mono, and Acoustic Echo + Cancellation (AES) enabled.

    +
    +
    + + + Enumerator boundary. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audiorangemodetype.dita b/en-US/dita/RTC-NG/API/enum_audiorangemodetype.dita index fb20e0c1378..9c2bd72d7a0 100644 --- a/en-US/dita/RTC-NG/API/enum_audiorangemodetype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiorangemodetype.dita @@ -7,18 +7,28 @@
    Enumerator - - - 0: Everyone mode. In this mode, whether a user can hear other users in the room depends on their settings for audio reception range, audio range mode, and team ID.
      -
    • If both users A and B set the mode, users A and B can hear each other when they are in the audio reception range of each other or belong to the same team.
    • -
    • If users A and B set the and mode respectively, they can only hear each other when they belong to the same team.
    • -
    • -
    -
    - - - 1: Team mode. In this mode, the user can only hear other users of the same team in the room. - -
    + + + 0: Everyone mode. In this mode, whether a user can hear other + users in the room depends on their settings for audio reception range, + audio range mode, and team ID.
      +
    • If both users A and B set the mode, users A and B can hear + each other when they are in the audio reception range of each other + or belong to the same team.
    • +
    • If users A and B set the + and mode respectively, + they can only hear each other when they belong to the same + team.
    • +
    • +
    +
    + + + 1: Team mode. In this mode, the user can only hear other users + of the same team in the room. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita b/en-US/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita index df024e9ea95..bdf1ceba74a 100644 --- a/en-US/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiorecordingqualitytype.dita @@ -1,28 +1,35 @@ - <ph keyref="AUDIO_RECORDING_QUALITY_TYPE"/> + + <ph keyref="AUDIO_RECORDING_QUALITY_TYPE"/> + Recording quality.
    Enumerator - - - 0: Low quality. The sample rate is 32 kHz, and the file size is around 1.2 MB after 10 minutes of recording. - - - - 1: Medium quality. The sample rate is 32 kHz, and the file size is around 2 MB after 10 minutes of recording. - - - - 2: High quality. The sample rate is 32 kHz, and the file size is around 3.75 MB after 10 minutes of recording. - - - - 3: Ultra high quality. The sample rate is 32 kHz, and the file size is around 7.5 MB after 10 minutes of recording. - -
    + + + 0: Low quality. The sample rate is 32 kHz, and the file size is around + 1.2 MB after 10 minutes of recording. + + + + 1: Medium quality. The sample rate is 32 kHz, and the file size is + around 2 MB after 10 minutes of recording. + + + + 2: High quality. The sample rate is 32 kHz, and the file size is around + 3.75 MB after 10 minutes of recording. + + + + 3: Ultra high quality. The sample rate is 32 kHz, and the file size is + around 7.5 MB after 10 minutes of recording. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audioreverbpreset.dita b/en-US/dita/RTC-NG/API/enum_audioreverbpreset.dita index e618e005a28..711fa65f007 100644 --- a/en-US/dita/RTC-NG/API/enum_audioreverbpreset.dita +++ b/en-US/dita/RTC-NG/API/enum_audioreverbpreset.dita @@ -6,51 +6,52 @@
    - -
    Deprecated:
    -
    Deprecated as of v3.2.0.
    -
    + +
    Deprecated:
    +
    Deprecated as of v3.2.0.
    +
    Enumerator - - - Turn off voice reverb, that is, to use the original voice. - - - - The reverb style typical of a KTV venue (enhanced). - - - - The reverb style typical of a concert hall (enhanced). - - - - A middle-aged man's voice. - - - - The reverb style typical of a young woman's voice. - - - - The reverb style typical of a recording studio (enhanced). - - - - The reverb style typical of popular music (enhanced). - - - - The reverb style typical of R&B music (enhanced). - - - - The voice effect typical of a vintage phonograph. - -
    + + + Turn off voice reverb, that is, to use the original voice. + + + + The reverb style typical of a KTV venue (enhanced). + + + + The reverb style typical of a concert hall (enhanced). + + + + A middle-aged man's voice. + + + + The reverb style typical of a young woman's voice. + + + + The reverb style typical of a recording studio (enhanced). + + + + The reverb style typical of popular music (enhanced). + + + + The reverb style typical of R&B music (enhanced). + + + + The voice effect typical of a vintage phonograph. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audioreverbtype.dita b/en-US/dita/RTC-NG/API/enum_audioreverbtype.dita index 35614bb22c1..3e0597b1187 100644 --- a/en-US/dita/RTC-NG/API/enum_audioreverbtype.dita +++ b/en-US/dita/RTC-NG/API/enum_audioreverbtype.dita @@ -7,26 +7,29 @@
    Enumerator - - - 0: The level of the dry signal (dB). The value is between -20 and 10. - - - - 1: The level of the early reflection signal (wet signal) (dB). The value is between -20 and 10. - - - - 2: The room size of the reflection. The value is between 0 and 100. - - - - 3: The length of the initial delay of the wet signal (ms). The value is between 0 and 200. - - - - 4: The reverberation strength. The value is between 0 and 100. - -
    + + + 0: The level of the dry signal (dB). The value is between -20 and 10. + + + + 1: The level of the early reflection signal (wet signal) (dB). The value is + between -20 and 10. + + + + 2: The room size of the reflection. The value is between 0 and 100. + + + + 3: The length of the initial delay of the wet signal (ms). The value is + between 0 and 200. + + + + 4: The reverberation strength. The value is between 0 and 100. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audioroute.dita b/en-US/dita/RTC-NG/API/enum_audioroute.dita index 7f727dbe8b3..16d587ef68f 100644 --- a/en-US/dita/RTC-NG/API/enum_audioroute.dita +++ b/en-US/dita/RTC-NG/API/enum_audioroute.dita @@ -7,59 +7,71 @@
    Enumerator - - - -1: The default audio route. - - - - 0: Audio output routing is a headset with microphone. - - - - 1: The audio route is an earpiece. - - - - 2: The audio route is a headset without a microphone. - - - - 3: The audio route is the speaker that comes with the device. - - - - 4: The audio route is an external speaker. (iOS and macOS only)(iOS only)(macOS only) - 4: Reserved. - - - - 5: The audio route is a Bluetooth device using the HFP protocol. - - - - 6: The audio route is a USB peripheral device. (For macOS only) - 6: Reserved. - - - - 7: The audio route is an HDMI peripheral device. (For macOS only) - 7: Reserved. - - - - 8: The audio route is a DisplayPort peripheral device. (For macOS only) - 8: Reserved. - - - - 9: The audio route is Apple AirPlay. (For macOS only) - 9: Reserved. - - - - 10: The audio route is a Bluetooth device using the A2DP protocol. - -
    + + + -1: The default audio route. + + + + 0: Audio output routing is a headset with microphone. + + + + 1: The audio route is an earpiece. + + + + 2: The audio route is a headset without a microphone. + + + + 3: The audio route is the speaker that comes with the device. + + + + 4: The audio + route is an external speaker. (iOS and macOS only)(iOS only)(macOS only) + 4: Reserved. + + + + 5: The audio route is a Bluetooth device using the HFP protocol. + + + + 6: The audio route is a + USB peripheral device. (For macOS only) + 6: Reserved. + + + + 7: The audio route is + an HDMI peripheral device. (For macOS only) + 7: Reserved. + + + + 8: The audio route is a + DisplayPort peripheral device. (For macOS only) + 8: Reserved. + + + + 9: The audio route is + Apple AirPlay. (For macOS only) + 9: Reserved. + + + + 10: The audio route is a Bluetooth device using the A2DP protocol. + + + diff --git a/en-US/dita/RTC-NG/API/enum_audiosampleratetype.dita b/en-US/dita/RTC-NG/API/enum_audiosampleratetype.dita index bede546a30c..b9667d8b55e 100644 --- a/en-US/dita/RTC-NG/API/enum_audiosampleratetype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiosampleratetype.dita @@ -2,23 +2,25 @@ <ph keyref="AUDIO_SAMPLE_RATE_TYPE"/> - The audio sampling rate of the stream to be pushed to the CDN. + The audio sampling rate of the stream to be pushed to + the CDN.
    Enumerator - - - 32000: 32 kHz - - - - 44100: 44.1 kHz - - - - 48000: (Default) 48 kHz - -
    + + + 32000: 32 kHz + + + + 44100: 44.1 kHz + + + + 48000: (Default) 48 kHz + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audioscenariotype.dita b/en-US/dita/RTC-NG/API/enum_audioscenariotype.dita index 036f87bce36..60215709cd0 100644 --- a/en-US/dita/RTC-NG/API/enum_audioscenariotype.dita +++ b/en-US/dita/RTC-NG/API/enum_audioscenariotype.dita @@ -5,33 +5,46 @@ The audio scenarios.
    - Enumerator - - - - 0: (Default) Automatic scenario match, where the SDK chooses the appropriate audio quality according to the user role and audio route. - - - - 3: High-quality audio scenario, where users mainly play music. For example, instrument tutoring. - - - - 5: Chatroom scenario, where users need to frequently switch the user role or mute and unmute the microphone. For example, education scenarios. In this scenario, audience members receive a pop-up window to request permission of using microphones. - - - - 7: Real-time chorus scenario, where users have good network conditions and require ultra-low latency.Before using this enumeration, you need to call to see whether the audio device supports ultra-low-latency capture and playback. To experience ultra-low latency, you need to ensure that your audio device supports ultra-low latency (isLowLatencyAudioSupported = ). - - - - - 8: Meeting scenario that mainly contains the human voice. - - + Enumerator + + + + 0: (Default) Automatic scenario match, where the SDK chooses the appropriate + audio quality according to the user role and audio route. + + + + 3: High-quality audio scenario, where users mainly play music. For example, + instrument tutoring. + + + + 5: Chatroom scenario, where users need to frequently switch the user role or + mute and unmute the microphone. For example, education scenarios. In this + scenario, audience members receive a pop-up window to request permission of + using microphones. + + + + 7: Real-time chorus scenario, where users have good network conditions and + require ultra-low latency.Before using this enumeration, you need to call to see whether the audio device + supports ultra-low-latency capture and playback. To experience ultra-low + latency, you need to ensure that your audio device supports ultra-low + latency (isLowLatencyAudioSupported = ). + + + + + 8: Meeting scenario that mainly contains the human voice. + + The number of enumerations. - -
    + + + diff --git a/en-US/dita/RTC-NG/API/enum_audiosessionoperationrestriction.dita b/en-US/dita/RTC-NG/API/enum_audiosessionoperationrestriction.dita index c2aafe9ffd6..075b842bc62 100644 --- a/en-US/dita/RTC-NG/API/enum_audiosessionoperationrestriction.dita +++ b/en-US/dita/RTC-NG/API/enum_audiosessionoperationrestriction.dita @@ -2,31 +2,36 @@ <ph keyref="AUDIO_SESSION_OPERATION_RESTRICTION"/> - The operation permissions of the SDK on the audio session. + The operation permissions of the SDK on the audio + session.
    Enumerator - - - No restriction, the SDK can change the audio session. - - - - The SDK cannot change the audio session category. - - - - The SDK cannot change the audio session category, mode, or categoryOptions. - - - - The SDK keeps the audio session active when the user leaves the channel, for example, to play an audio file in the background. - - - - Completely restricts the operation permissions of the SDK on the audio session; the SDK cannot change the audio session. - -
    + + + No restriction, the SDK can change the audio session. + + + + The SDK cannot change the audio session category. + + + + The SDK cannot change the audio session category, mode, or + categoryOptions. + + + + The SDK keeps the audio session active when the user leaves the channel, for + example, to play an audio file in the background. + + + + Completely restricts the operation permissions of the SDK on the audio + session; the SDK cannot change the audio session. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_audiotracktype.dita b/en-US/dita/RTC-NG/API/enum_audiotracktype.dita index 2a7486cd9b9..8eb80ce1583 100644 --- a/en-US/dita/RTC-NG/API/enum_audiotracktype.dita +++ b/en-US/dita/RTC-NG/API/enum_audiotracktype.dita @@ -7,16 +7,29 @@
    Enumerator - - - 0: Mixable audio tracks. This type of audio track supports mixing with other audio streams (such as audio streams captured by microphone) and playing locally or publishing to channels after mixing. The latency of mixable audio tracks is higher than that of direct audio tracks. - - - - -

    1: Direct audio tracks. This type of audio track will replace the audio streams captured by the microphone and does not support mixing with other audio streams. The latency of direct audio tracks is lower than that of mixable audio tracks.

    - If is specified for this parameter, you must set publishMicrophoneTrack to in when calling to join the channel; otherwise, joining the channel fails and returns the error code -2.
    -
    -
    + + + 0: Mixable audio tracks. This type of audio track supports mixing with other + audio streams (such as audio streams captured by microphone) and playing + locally or publishing to channels after mixing. The latency of mixable audio + tracks is higher than that of direct audio tracks. + + + + +

    1: Direct audio tracks. This type of audio track will replace the audio + streams captured by the microphone and does not support mixing with + other audio streams. The latency of direct audio tracks is lower than + that of mixable audio tracks.

    + If is + specified for this parameter, you must set + publishMicrophoneTrack to in when calling to join the channel; + otherwise, joining the channel fails and returns the error code + -2.
    +
    + + diff --git a/en-US/dita/RTC-NG/API/enum_backgroundblurdegree.dita b/en-US/dita/RTC-NG/API/enum_backgroundblurdegree.dita index 61eed5d307f..2de7579658e 100644 --- a/en-US/dita/RTC-NG/API/enum_backgroundblurdegree.dita +++ b/en-US/dita/RTC-NG/API/enum_backgroundblurdegree.dita @@ -2,23 +2,29 @@ <ph keyref="BACKGROUND_BLUR_DEGREE"/> - The degree of blurring applied to the custom background image. + The degree of blurring applied to the custom background + image.
    Enumerator - - - 1: The degree of blurring applied to the custom background image is low. The user can almost see the background clearly. - - - - 2: The degree of blurring applied to the custom background image is medium. It is difficult for the user to recognize details in the background. - - - - 3: (Default) The degree of blurring applied to the custom background image is high. The user can barely see any distinguishing features in the background. - -
    + + + 1: The degree of blurring applied to the custom background image is low. The + user can almost see the background clearly. + + + + 2: The degree of blurring applied to the custom background image is medium. + It is difficult for the user to recognize details in the background. + + + + 3: (Default) The degree of blurring applied to the custom background image + is high. The user can barely see any distinguishing features in the + background. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_backgroundsourcetype.dita b/en-US/dita/RTC-NG/API/enum_backgroundsourcetype.dita index 803e50f14f5..3e8087be48c 100644 --- a/en-US/dita/RTC-NG/API/enum_backgroundsourcetype.dita +++ b/en-US/dita/RTC-NG/API/enum_backgroundsourcetype.dita @@ -7,26 +7,31 @@
    Enumerator - - - 0: Process the background as alpha information without replacement, only separating the portrait and the background. After setting this value, you can call to implement the picture-in-picture effect. - - - - 1: (Default) The background image is a solid color. - - - - 2: The background is an image in PNG or JPG format. - - - - 3: The background is a blurred version of the original background. - - - - 4: The background is a local video in MP4, AVI, MKV, FLV, or other supported formats. - -
    + + + 0: Process the background as alpha information without replacement, only + separating the portrait and the background. After setting this value, you + can call to implement the + picture-in-picture effect. + + + + 1: (Default) The background image is a solid color. + + + + 2: The background is an image in PNG or JPG format. + + + + 3: The background is a blurred version of the original background. + + + + 4: The background is a local video in MP4, AVI, MKV, FLV, or other supported + formats. + + + diff --git a/en-US/dita/RTC-NG/API/enum_bitrate.dita b/en-US/dita/RTC-NG/API/enum_bitrate.dita index a3ee7fe2801..211bfb7edf8 100644 --- a/en-US/dita/RTC-NG/API/enum_bitrate.dita +++ b/en-US/dita/RTC-NG/API/enum_bitrate.dita @@ -7,22 +7,23 @@
    Enumerator - - - 0: (Recommended) Standard bitrate mode. - - - - -1: Adaptive bitrate mode. - - - - Use the default minimum bitrate. - - - - Reserved. - -
    + + + 0: (Recommended) Standard bitrate mode. + + + + -1: Adaptive bitrate mode. + + + + Use the default minimum bitrate. + + + + Reserved. + + + diff --git a/en-US/dita/RTC-NG/API/enum_cameradirection.dita b/en-US/dita/RTC-NG/API/enum_cameradirection.dita index 82af60e3cbd..b763e30bb87 100644 --- a/en-US/dita/RTC-NG/API/enum_cameradirection.dita +++ b/en-US/dita/RTC-NG/API/enum_cameradirection.dita @@ -7,18 +7,19 @@
    Enumerator - - - 0: The rear camera. - - - - 1: (Default) The front camera. - - - - 2: The external camera. - -
    + + + 0: The rear camera. + + + + 1: (Default) The front camera. + + + + 2: The external camera. + + + diff --git a/en-US/dita/RTC-NG/API/enum_camerafocallengthtype.dita b/en-US/dita/RTC-NG/API/enum_camerafocallengthtype.dita index f269067ce44..c910dc3f470 100644 --- a/en-US/dita/RTC-NG/API/enum_camerafocallengthtype.dita +++ b/en-US/dita/RTC-NG/API/enum_camerafocallengthtype.dita @@ -11,7 +11,8 @@
    v4.3.1
    - This enumeration class applies to Android and iOS only. + This enumeration class + applies to Android and iOS only.
    Enumerator @@ -30,8 +31,10 @@ - 3: (For iOS only) Telephoto lens. + 3: (For iOS only) Telephoto + lens. -
    + + diff --git a/en-US/dita/RTC-NG/API/enum_camerastabilizationmode.dita b/en-US/dita/RTC-NG/API/enum_camerastabilizationmode.dita index 538ce4bb972..a0339321ce3 100644 --- a/en-US/dita/RTC-NG/API/enum_camerastabilizationmode.dita +++ b/en-US/dita/RTC-NG/API/enum_camerastabilizationmode.dita @@ -11,7 +11,8 @@
    v4.3.1
    -

    The camera stabilization effect increases in the order of 1 < 2 < 3, and the latency will also increase accordingly.

    +

    The camera stabilization effect increases in the order of 1 < 2 < 3, and the + latency will also increase accordingly.

    Enumerator @@ -22,7 +23,10 @@ - 0: Automatic camera stabilization. The system automatically selects a stabilization mode based on the status of the camera. However, the latency is relatively high in this mode, so it is recommended not to use this enumeration. + 0: Automatic camera stabilization. The system automatically selects a + stabilization mode based on the status of the camera. However, the latency + is relatively high in this mode, so it is recommended not to use this + enumeration. @@ -37,5 +41,6 @@ 3: Level 3 camera stabilization. -
    + + diff --git a/en-US/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita b/en-US/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita index ac84d64e0b9..0b4e5a8ca06 100644 --- a/en-US/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita +++ b/en-US/dita/RTC-NG/API/enum_capturebrightnessleveltype.dita @@ -2,27 +2,31 @@ <ph keyref="CAPTURE_BRIGHTNESS_LEVEL_TYPE"/> - The brightness level of the video image captured by the local camera. + The brightness level of the video image captured by the + local camera.
    Enumerator - - - -1: The SDK does not detect the brightness level of the video image. Wait a few seconds to get the brightness level from captureBrightnessLevel in the next callback. - - - - 0: The brightness level of the video image is normal. - - - - 1: The brightness level of the video image is too bright. - - - - 2: The brightness level of the video image is too dark. - -
    + + + -1: The SDK does not detect the brightness level of the video image. Wait a + few seconds to get the brightness level from + captureBrightnessLevel in the next callback. + + + + 0: The brightness level of the video image is normal. + + + + 1: The brightness level of the video image is too bright. + + + + 2: The brightness level of the video image is too dark. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_captureroutputpreference.dita b/en-US/dita/RTC-NG/API/enum_captureroutputpreference.dita index df90aa973c9..eefe39ca398 100644 --- a/en-US/dita/RTC-NG/API/enum_captureroutputpreference.dita +++ b/en-US/dita/RTC-NG/API/enum_captureroutputpreference.dita @@ -7,24 +7,34 @@
    Enumerator - - - 0: (Default) Automatically adjust the camera capture preference. The SDK adjusts the camera output parameters according to the system performance and network conditions to balance CPU consumption and video preview quality. - - - - 1: Prioritizes the system performance. The SDK chooses the dimension and frame rate of the local camera capture closest to those set by . In this case, the local preview quality depends on the encoder. - - - - 2: Prioritizes the local preview quality. The SDK chooses higher camera output parameters to improve the local video preview quality. This option requires extra CPU and RAM usage for video pre-processing. - - - - -

    3: Allows you to customize the width and height of the video image captured by the local camera.

    -
    -
    -
    + + + 0: (Default) Automatically adjust the camera capture preference. The SDK + adjusts the camera output parameters according to the system performance and + network conditions to balance CPU consumption and video preview + quality. + + + + 1: Prioritizes the system performance. The SDK chooses the dimension and + frame rate of the local camera capture closest to those set by . In this case, the local preview + quality depends on the encoder. + + + + 2: Prioritizes the local preview quality. The SDK chooses higher camera + output parameters to improve the local video preview quality. This option + requires extra CPU and RAM usage for video pre-processing. + + + + +

    3: Allows you to customize the width and height of the video image + captured by the local camera.

    +
    +
    + + diff --git a/en-US/dita/RTC-NG/API/enum_channelmediarelayerror.dita b/en-US/dita/RTC-NG/API/enum_channelmediarelayerror.dita index 0679ec723d2..ac3d0e02f7f 100644 --- a/en-US/dita/RTC-NG/API/enum_channelmediarelayerror.dita +++ b/en-US/dita/RTC-NG/API/enum_channelmediarelayerror.dita @@ -2,63 +2,72 @@ <ph keyref="CHANNEL_MEDIA_RELAY_ERROR"/> - The error code of the channel media relay. + The error code of the channel media + relay.
    Enumerator - - - 0: No error. - - - - 1: An error occurs in the server response. - - - - -

    2: No server response.

    -

    This error may be caused by poor network connections. If this error occurs when initiating a channel media relay, you can try again later; if this error occurs during channel media relay, you can call to leave the channel.

    -

    This error can also occur if the channel media relay service is not enabled in the project. You can contact to enable the service.

    -
    -
    - - - 3: The SDK fails to access the service, probably due to limited resources of the server. - - - - 4: Fails to send the relay request. - - - - 5: Fails to accept the relay request. - - - - 6: The server fails to receive the media stream. - - - - 7: The server fails to send the media stream. - - - - 8: The SDK disconnects from the server due to poor network connections. You can call to leave the channel. - - - - 9: An internal error occurs in the server. - - - - 10: The token of the source channel has expired. - - - - 11: The token of the destination channel has expired. - -
    + + + 0: No error. + + + + 1: An error occurs in the server response. + + + + +

    2: No server response.

    +

    This error may be caused by poor network connections. If this error + occurs when initiating a channel media relay, you can try again + later; if this error occurs during channel media relay, you can + call to leave the channel.

    +

    This error can also occur if the channel media relay service is not + enabled in the project. You can contact to enable the service.

    +
    +
    + + + 3: The SDK fails to access the service, probably due to limited + resources of the server. + + + + 4: Fails to send the relay request. + + + + 5: Fails to accept the relay request. + + + + 6: The server fails to receive the media stream. + + + + 7: The server fails to send the media stream. + + + + 8: The SDK disconnects from the server due to poor network connections. + You can call to leave the channel. + + + + 9: An internal error occurs in the server. + + + + 10: The token of the source channel has expired. + + + + 11: The token of the destination channel has expired. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_channelmediarelayevent.dita b/en-US/dita/RTC-NG/API/enum_channelmediarelayevent.dita index 9630b0090e0..6ab64588610 100644 --- a/en-US/dita/RTC-NG/API/enum_channelmediarelayevent.dita +++ b/en-US/dita/RTC-NG/API/enum_channelmediarelayevent.dita @@ -2,79 +2,92 @@ <ph keyref="CHANNEL_MEDIA_RELAY_EVENT"/> - The event code of channel media relay. + The event code of channel media + relay.
    - -
    Deprecated
    -
    This class is deprecated.
    -
    + +
    Deprecated
    +
    This class is deprecated.
    +
    Enumerator - - - 0: The user disconnects from the server due to a poor network connection. - - - - 1: The user is connected to the server. - - - - 2: The user joins the source channel. - - - - 3: The user joins the target channel. - - - - 4: The SDK starts relaying the media stream to the target channel. - - - - 5: The server receives the audio stream from the source channel. - - - - 6: The server receives the audio stream from the source channel. - - - - 7: The target channel is updated. - - - - 9: The target channel does not change, which means that the target channel fails to be updated. - - - - 10: The target channel name is . - - - - 11: The video profile is sent to the server. - - - - 12: The SDK successfully pauses relaying the media stream to target channels. - - - - 13: The SDK fails to pause relaying the media stream to target channels. - - - - 14: The SDK successfully resumes relaying the media stream to target channels. - - - - 15: The SDK fails to resume relaying the media stream to target channels. - -
    + + + 0: The user disconnects from the server due to a poor network + connection. + + + + 1: The user is connected to the server. + + + + 2: The user joins the source channel. + + + + 3: The user joins the target channel. + + + + 4: The SDK starts relaying the media stream to the target channel. + + + + 5: The server receives the audio stream from the source channel. + + + + 6: The server receives the audio stream from the source channel. + + + + 7: The target channel is updated. + + + + 9: The target channel does not change, which means that the target + channel fails to be updated. + + + + 10: The target channel name is . + + + + 11: The video profile is sent to the server. + + + + 12: The SDK successfully pauses relaying the media stream to target + channels. + + + + 13: The SDK fails to pause relaying the media stream to target + channels. + + + + 14: The SDK successfully resumes relaying the media stream to target + channels. + + + + 15: The SDK fails to resume relaying the media stream to target + channels. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_channelmediarelaystate.dita b/en-US/dita/RTC-NG/API/enum_channelmediarelaystate.dita index 16494b49576..abc5ae072ed 100644 --- a/en-US/dita/RTC-NG/API/enum_channelmediarelaystate.dita +++ b/en-US/dita/RTC-NG/API/enum_channelmediarelaystate.dita @@ -2,27 +2,34 @@ <ph keyref="CHANNEL_MEDIA_RELAY_STATE"/> - The state code of the channel media relay. + The state code of the channel media + relay.
    Enumerator - - - 0: The initial state. After you successfully stop the channel media relay by calling , the callback returns this state. - - - - 1: The SDK tries to relay the media stream to the destination channel. - - - - 2: The SDK successfully relays the media stream to the destination channel. - - - - 3: An error occurs. See code in for the error code. - -
    + + + 0: The initial state. After you successfully stop the channel media relay by + calling , the callback returns this + state. + + + + 1: The SDK tries to relay the media stream to the destination channel. + + + + 2: The SDK successfully relays the media stream to the destination + channel. + + + + 3: An error occurs. See code in for the error code. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_channelprofiletype.dita b/en-US/dita/RTC-NG/API/enum_channelprofiletype.dita index 036714e1f75..7deaa45a8f8 100644 --- a/en-US/dita/RTC-NG/API/enum_channelprofiletype.dita +++ b/en-US/dita/RTC-NG/API/enum_channelprofiletype.dita @@ -7,22 +7,26 @@
    Enumerator - - - 0: Communication. Use this profile when there are only two users in the channel. - - - - 1: Live streaming. Live streaming. Use this profile when there are more than two users in the channel. - - - - 2: Gaming. This profile is deprecated. - - - - Cloud gaming. The scenario is optimized for latency. Use this profile if the use case requires frequent interactions between users. - -
    + + + 0: Communication. Use this profile when there are only two users in the + channel. + + + + 1: Live streaming. Live streaming. Use this profile when there are more than + two users in the channel. + + + + 2: Gaming. This profile is deprecated. + + + + Cloud gaming. The scenario is optimized for latency. Use this profile if the + use case requires frequent interactions between users. + + + diff --git a/en-US/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita b/en-US/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita index fc31584cc56..3d7cd273f2e 100644 --- a/en-US/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita +++ b/en-US/dita/RTC-NG/API/enum_clientrolechangefailedreason.dita @@ -2,7 +2,8 @@ <ph keyref="CLIENT_ROLE_CHANGE_FAILED_REASON"/> - The reason for a user role switch failure. + The reason for a user role switch + failure.
    Enumerator @@ -10,20 +11,29 @@

    1: The number of hosts in the channel is already at the upper limit.

    - This enumerator is reported only when the support for 128 users is enabled. The maximum number of hosts is based on the actual number of hosts configured when you enable the 128-user feature.
    + This enumerator is reported only when the support for 128 + users is enabled. The maximum number of hosts is based on the actual + number of hosts configured when you enable the 128-user + feature.
    -

    2: The request is rejected by the Agora server. Agora recommends you prompt the user to try to switch their user role again.

    +

    2: The request is rejected by the Agora server. Agora recommends you + prompt the user to try to switch their user role again.

    -

    3: The request is timed out. Agora recommends you prompt the user to check the network connection and try to switch their user role again.

    -
    +

    3: The request is timed out. Agora recommends you prompt the user to + check the network connection and try to switch their user role + again.

    + -

    4: The SDK connection fails. You can use reason reported in the callback to troubleshoot the failure.

    -
    +

    4: The SDK connection fails. You can use reason + reported in the callback to + troubleshoot the failure.

    + -
    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_clientroletype.dita b/en-US/dita/RTC-NG/API/enum_clientroletype.dita index 04f942db75d..a70b59b5057 100644 --- a/en-US/dita/RTC-NG/API/enum_clientroletype.dita +++ b/en-US/dita/RTC-NG/API/enum_clientroletype.dita @@ -2,19 +2,21 @@ <ph keyref="CLIENT_ROLE_TYPE"/> - The user role in the interactive live streaming. + The user role in the interactive live + streaming.
    Enumerator - - - 1: Host. A host can both send and receive streams. - - - - 2: (Default) Audience. An audience member can only receive streams. - -
    + + + 1: Host. A host can both send and receive streams. + + + + 2: (Default) Audience. An audience member can only receive streams. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_cloudproxytype.dita b/en-US/dita/RTC-NG/API/enum_cloudproxytype.dita index 536f4df7424..45f5ef5dab7 100644 --- a/en-US/dita/RTC-NG/API/enum_cloudproxytype.dita +++ b/en-US/dita/RTC-NG/API/enum_cloudproxytype.dita @@ -4,23 +4,27 @@ <ph keyref="CLOUD_PROXY_TYPE"/> The cloud proxy type. -
    -
    +
    Enumerator - - - 0: The automatic mode. The SDK has this mode enabled by default. In this mode, the SDK attempts a direct connection to SD-RTN™ and automatically switches to TCP/TLS 443 if the attempt fails. - - - - 1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP. - - - - 2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TCP/TLS 443. - + + + 0: The automatic mode. The SDK has this mode enabled by default. In this + mode, the SDK attempts a direct connection to SD-RTN™ and automatically + switches to TCP/TLS 443 if the attempt fails. + + + + 1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy + mode. In this mode, the SDK always transmits data over UDP. + + + + 2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP + cloud proxy mode. In this mode, the SDK always transmits data over TCP/TLS + 443. +
    diff --git a/en-US/dita/RTC-NG/API/enum_codeccapmask.dita b/en-US/dita/RTC-NG/API/enum_codeccapmask.dita index 301ba9cdc97..628bc2e9751 100644 --- a/en-US/dita/RTC-NG/API/enum_codeccapmask.dita +++ b/en-US/dita/RTC-NG/API/enum_codeccapmask.dita @@ -6,19 +6,19 @@
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    Enumerator - - - (0): The device does not support encoding or decoding. - + + + (0): The device does not support encoding or decoding. + (1 << 0): The device supports hardware decoding. @@ -35,6 +35,7 @@ (1 << 3): The device supports software ecoding. -
    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_compressionpreference.dita b/en-US/dita/RTC-NG/API/enum_compressionpreference.dita index 63bb018e03d..896fbcf495b 100644 --- a/en-US/dita/RTC-NG/API/enum_compressionpreference.dita +++ b/en-US/dita/RTC-NG/API/enum_compressionpreference.dita @@ -2,29 +2,35 @@ <ph keyref="COMPRESSION_PREFERENCE"/> - Compression preference for video encoding. + Compression preference for video + encoding.
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    Enumerator - - - 0: Low latency preference. The SDK compresses video frames to reduce latency. This preference is suitable for scenarios where smoothness is prioritized and reduced video quality is acceptable. - + + + 0: Low latency preference. The SDK compresses video frames to reduce + latency. This preference is suitable for scenarios where smoothness is + prioritized and reduced video quality is acceptable. + - - - 1: (Default) High quality preference. The SDK compresses video frames while maintaining video quality. This preference is suitable for scenarios where video quality is prioritized. - -
    + + + 1: (Default) High quality preference. The SDK compresses video frames while + maintaining video quality. This preference is suitable for scenarios where + video quality is prioritized. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_connectionchangedreasontype.dita b/en-US/dita/RTC-NG/API/enum_connectionchangedreasontype.dita index 0c1b17227db..f9ab5fdbfc9 100644 --- a/en-US/dita/RTC-NG/API/enum_connectionchangedreasontype.dita +++ b/en-US/dita/RTC-NG/API/enum_connectionchangedreasontype.dita @@ -2,105 +2,130 @@ <ph keyref="CONNECTION_CHANGED_REASON_TYPE"/> - Reasons causing the change of the connection state. + Reasons causing the change of the connection + state.
    Enumerator - - - 0: The SDK is connecting to the Agora edge server. - - - - 1: The SDK has joined the channel successfully. - - - - 2: The connection between the SDK and the Agora edge server is interrupted. - - - - 3: The connection between the SDK and the Agora edge server is banned by the Agora edge server. This error occurs when the user is kicked out of the channel by the server. - - - - 4: The SDK fails to join the channel. When the SDK fails to join the channel for more than 20 minutes, this error occurs and the SDK stops reconnecting to the channel. - - - - 5: The SDK has left the channel. - - - - 6: The connection failed because the App ID is not valid. Please rejoin the channel with a valid App ID. - - - - 7: The connection failed since channel name is not valid. Rejoin the channel with a valid channel name. - - - - -

    8: The connection failed because the token is not valid. Possible reasons are as follows:

      -
    • The App Certificate for the project is enabled in Agora Console, but you do not use a token when joining the channel. If you enable the App Certificate, you must use a token to join the channel.
    • -
    • The uid specified when calling to join the channel is inconsistent with the uid passed in when generating the token.
    • -

    -
    -
    - - - 9: The connection failed since token is expired. - - - - -

    10: The connection is rejected by server. Possible reasons are as follows:

      -
    • The user is already in the channel and still calls a method, for example, , to join the channel. Stop calling this method to clear this error.
    • -
    • The user tries to join a channel while a test call is in progress. The user needs to join the channel after the call test ends.
    • -

    -
    -
    - - - 11: The connection state changed to reconnecting because the SDK has set a proxy server. - - - - 12: The connection state changed because the token is renewed. - - - - 13: The IP address of the client has changed, possibly because the network type, IP address, or port has been changed. - - - - 14: Timeout for the keep-alive of the connection between the SDK and the Agora edge server. The SDK tries to reconnect to the server automatically. - - - - 15: The user has rejoined the channel successfully. - - - - 16: The connection between the SDK and the server is lost. - - - - 17: The connection state changes due to the echo test. - - - - 18: The local IP address was changed by the user. - - - - 19: The user joined the same channel from different devices with the same UID. - - - - 20: The number of hosts in the channel has reached the upper limit. - -
    + + + 0: The SDK is connecting to the Agora edge server. + + + + 1: The SDK has joined the channel successfully. + + + + 2: The connection between the SDK and the Agora edge server is + interrupted. + + + + 3: The connection between the SDK and the Agora edge server is banned by the + Agora edge server. This error occurs when the user is kicked out of the + channel by the server. + + + + 4: The SDK fails to join the channel. When the SDK fails to join the channel + for more than 20 minutes, this error occurs and the SDK stops reconnecting + to the channel. + + + + 5: The SDK has left the channel. + + + + 6: The connection failed because the App ID is not valid. Please rejoin the + channel with a valid App ID. + + + + 7: The connection failed since channel name is not valid. Rejoin the channel + with a valid channel name. + + + + +

    8: The connection failed because the token is not valid. Possible reasons + are as follows:

      +
    • The App Certificate for the project is enabled in Agora Console, + but you do not use a token when joining the channel. If you + enable the App Certificate, you must use a token to join the + channel.
    • +
    • The uid specified when calling + to join the channel is inconsistent with the uid passed in when + generating the token.
    • +

    +
    +
    + + + 9: The connection failed since token is expired. + + + + +

    10: The connection is rejected by server. Possible reasons are as follows:

      +
    • The user is already in the channel and still calls a method, for + example, , to join the channel. + Stop calling this method to clear this error.
    • +
    • The user tries to join a channel while a test call is in + progress. The user needs to join the channel after the call test + ends.
    • +
    +

    +
    +
    + + + 11: The connection state changed to reconnecting because the SDK has set a + proxy server. + + + + 12: The connection state changed because the token is renewed. + + + + 13: The IP address of the client has changed, possibly because the network + type, IP address, or port has been changed. + + + + 14: Timeout for the keep-alive of the connection between the SDK and the + Agora edge server. The SDK tries to reconnect to the server + automatically. + + + + 15: The user has rejoined the channel successfully. + + + + 16: The connection between the SDK and the server is lost. + + + + 17: The connection state changes due to the echo test. + + + + 18: The local IP address was changed by the user. + + + + 19: The user joined the same channel from different devices with the same + UID. + + + + 20: The number of hosts in the channel has reached the upper limit. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_connectionstatetype.dita b/en-US/dita/RTC-NG/API/enum_connectionstatetype.dita index 4dbd6b334cb..783d7610fc0 100644 --- a/en-US/dita/RTC-NG/API/enum_connectionstatetype.dita +++ b/en-US/dita/RTC-NG/API/enum_connectionstatetype.dita @@ -7,46 +7,80 @@
    Enumerator - - - -

    1: The SDK is disconnected from the Agora edge server. The state indicates the SDK is in one of the following phases:

      -
    • Theinitial state before calling the method.
    • -
    • The app calls the method.
    • -

    -
    -
    - - - -

    2: The SDK is connecting to the Agora edge server. This state indicates that the SDK is establishing a connection with the specified channel after the app calls .

      -
    • If the SDK successfully joins the channel, it triggers the callback and the connection state switches to .
    • -
    • After the connection is established, the SDK also initializes the media and triggers when everything is ready.
    • -

    -
    -
    - - - 3: The SDK is connected to the Agora edge server. This state also indicates that the user has joined a channel and can now publish or subscribe to a media stream in the channel. If the connection to the channel is lost because, for example, if the network is down or switched, the SDK automatically tries to reconnect and triggers callback, notifying that the current network state becomes . - - - - -

    4: The SDK keeps reconnecting to the Agora edge server. The SDK keeps rejoining the channel after being disconnected from a joined channel because of network issues.

      -
    • If the SDK cannot rejoin the channel within 10 seconds, it triggers , stays in the state, and keeps rejoining the channel.
    • -
    • If the SDK fails to rejoin the channel 20 minutes after being disconnected from the Agora edge server, the SDK triggers the callback, switches to the state, and stops rejoining the channel.
    • -

    -
    -
    - - - -

    5: The SDK fails to connect to the Agora edge server or join the channel. This state indicates that the SDK stops trying to rejoin the channel. You must call to leave the channel.

      -
    • You can call to rejoin the channel.
    • -
    • If the SDK is banned from joining the channel by the Agora edge server through the RESTful API, the SDK triggers the callback.
    • -

    -
    -
    -
    + + + +

    1: The SDK is disconnected from the Agora edge server. The state + indicates the SDK is in one of the following phases:

      +
    • Theinitial state before calling the method.
    • +
    • The app calls the + + method.
    • +

    +
    +
    + + + +

    2: The SDK is connecting to the Agora edge server. This state indicates + that the SDK is establishing a connection with the specified channel + after the app calls .

      +
    • If the SDK successfully joins the channel, it triggers the callback and the + connection state switches to .
    • +
    • After the connection is established, the SDK also initializes + the media and triggers + when everything is ready.
    • +

    +
    +
    + + + 3: The SDK is connected to the Agora edge server. This state also indicates + that the user has joined a channel and can now publish or subscribe to a + media stream in the channel. If the connection to the channel is lost + because, for example, if the network is down or switched, the SDK + automatically tries to reconnect and triggers callback, notifying that the current + network state becomes . + + + + +

    4: The SDK keeps reconnecting to the Agora edge server. The SDK keeps + rejoining the channel after being disconnected from a joined channel + because of network issues.

      +
    • If the SDK cannot rejoin the channel within 10 seconds, it + triggers , stays in the state, and keeps + rejoining the channel.
    • +
    • If the SDK fails to rejoin the channel 20 minutes after being + disconnected from the Agora edge server, the SDK triggers the + callback, switches + to the state, and stops + rejoining the channel.
    • +

    +
    +
    + + + +

    5: The SDK fails to connect to the Agora edge server or join the channel. + This state indicates that the SDK stops trying to rejoin the channel. + You must call + to leave the channel.

      +
    • You can call to rejoin the + channel.
    • +
    • If the SDK is banned from joining the channel by the Agora edge + server through the RESTful API, the SDK triggers the callback.
    • +

    +
    +
    + + diff --git a/en-US/dita/RTC-NG/API/enum_contentinspectresult.dita b/en-US/dita/RTC-NG/API/enum_contentinspectresult.dita index f86efca8c72..3b044b0f49e 100644 --- a/en-US/dita/RTC-NG/API/enum_contentinspectresult.dita +++ b/en-US/dita/RTC-NG/API/enum_contentinspectresult.dita @@ -7,18 +7,19 @@
    Enumerator - - - 1: The image does not contain inappropriate elements. - - - - 2: The image is sexually suggestive. - - - - 3: The image is pornographic. - -
    + + + 1: The image does not contain inappropriate elements. + + + + 2: The image is sexually suggestive. + + + + 3: The image is pornographic. + + + diff --git a/en-US/dita/RTC-NG/API/enum_contentinspecttype.dita b/en-US/dita/RTC-NG/API/enum_contentinspecttype.dita index 88c41289d65..d1f2a0594d9 100644 --- a/en-US/dita/RTC-NG/API/enum_contentinspecttype.dita +++ b/en-US/dita/RTC-NG/API/enum_contentinspecttype.dita @@ -2,27 +2,36 @@ <ph keyref="CONTENT_INSPECT_TYPE"/> - The type of video content moderation module. + The type of video content moderation module.
    Enumerator - - - 0: (Default) This module has no actual function. Do not set type to this value. - - - - 1: Video content moderation. SDK takes screenshots, inspects video content of the video stream in the channel, and uploads the screenshots and moderation results. - - - - 2: Video screenshot and upload via Agora self-developed extension. SDK takes screenshots of the video stream in the channel and uploads them. - - - - 3: Video screenshot and upload via extensions from Agora Extensions Marketplace. SDK uses video moderation extensions from Agora Extensions Marketplace to take screenshots of the video stream in the channel and uploads them. - -
    + + + 0: (Default) This module has no actual function. Do not set + type to this value. + + + + 1: Video content moderation. SDK takes screenshots, inspects video content + of the video stream in the channel, and uploads the screenshots and + moderation results. + + + + 2: Video screenshot and upload via Agora self-developed extension. SDK takes + screenshots of the video stream in the channel and uploads them. + + + + 3: Video screenshot and upload via extensions from Agora Extensions + Marketplace. SDK uses video moderation extensions from Agora Extensions + Marketplace to take screenshots of the video stream in the channel and + uploads them. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_contentmode.dita b/en-US/dita/RTC-NG/API/enum_contentmode.dita index c8ff600ef2f..9c44a07b2f6 100644 --- a/en-US/dita/RTC-NG/API/enum_contentmode.dita +++ b/en-US/dita/RTC-NG/API/enum_contentmode.dita @@ -7,14 +7,18 @@
    Enumerator - - - Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video might have clipped contents. - - - - Uniformly scale the video until one of its dimensions fits the boundary (zoomed to fit). Areas that are not filled due to disparity in the aspect ratio are filled with black. - -
    + + + Uniformly scale the video until it fills the visible boundaries (cropped). + One dimension of the video might have clipped contents. + + + + Uniformly scale the video until one of its dimensions fits the boundary + (zoomed to fit). Areas that are not filled due to disparity in the aspect + ratio are filled with black. + + + diff --git a/en-US/dita/RTC-NG/API/enum_degradationpreference.dita b/en-US/dita/RTC-NG/API/enum_degradationpreference.dita index 1d4980be911..81b74c8f02a 100644 --- a/en-US/dita/RTC-NG/API/enum_degradationpreference.dita +++ b/en-US/dita/RTC-NG/API/enum_degradationpreference.dita @@ -2,31 +2,49 @@ <ph keyref="DEGRADATION_PREFERENCE"/> - Video degradation preferences when the bandwidth is a constraint. + Video degradation preferences when the bandwidth is a + constraint.
    Enumerator - - - -

    0: (Default) Prefers to reduce the video frame rate while maintaining video resolution during video encoding under limited bandwidth. This degradation preference is suitable for scenarios where video quality is prioritized.

    -
    -
    - - - 1: Reduces the video resolution while maintaining the video frame rate during video encoding under limited bandwidth. This degradation preference is suitable for scenarios where smoothness is prioritized and video quality is allowed to be reduced. - - - - -

    2: Reduces the video frame rate and video resolution simultaneously during video encoding under limited bandwidth. The has a lower reduction than and , and this preference is suitable for scenarios where both smoothness and video quality are a priority.

    - The resolution of the video sent may change, so remote users need to handle this issue. See .
    -
    - - - 3: Reduces the video frame rate while maintaining the video resolution during video encoding under limited bandwidth. This degradation preference is suitable for scenarios where video quality is prioritized. - -
    + + + +

    0: (Default) Prefers to reduce the video frame rate while maintaining + video resolution during video encoding under limited bandwidth. This + degradation preference is suitable for scenarios where video quality is + prioritized.

    +
    +
    + + + 1: Reduces the video resolution while maintaining the video frame rate + during video encoding under limited bandwidth. This degradation preference + is suitable for scenarios where smoothness is prioritized and video quality + is allowed to be reduced. + + + + +

    2: Reduces the video frame rate and video resolution simultaneously + during video encoding under limited bandwidth. The has a lower reduction than and , + and this preference is suitable for scenarios where both smoothness and + video quality are a priority.

    + The resolution of the video sent may change, so + remote users need to handle this issue. See . +
    +
    + + + 3: Reduces the video frame rate while maintaining the video resolution + during video encoding under limited bandwidth. This degradation preference + is suitable for scenarios where video quality is prioritized. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_directcdnstreamingerror.dita b/en-US/dita/RTC-NG/API/enum_directcdnstreamingerror.dita index d59b6edb785..22e778b389c 100644 --- a/en-US/dita/RTC-NG/API/enum_directcdnstreamingerror.dita +++ b/en-US/dita/RTC-NG/API/enum_directcdnstreamingerror.dita @@ -7,30 +7,36 @@
    Enumerator - - - 0: No error. - - - - 1: A general error; no specific reason. You can try to push the media stream again. - - - - 2: An error occurs when pushing audio streams. For example, the local audio capture device is not working properly, is occupied by another process, or does not get the permission required. - - - - 3: An error occurs when pushing video streams. For example, the local video capture device is not working properly, is occupied by another process, or does not get the permission required. - - - - 4: Fails to connect to the CDN. - - - - 5: The URL is already being used. Use a new URL for streaming. - -
    + + + 0: No error. + + + + 1: A general error; no specific reason. You can try to push the media stream + again. + + + + 2: An error occurs when pushing audio streams. For example, the local audio + capture device is not working properly, is occupied by another process, or + does not get the permission required. + + + + 3: An error occurs when pushing video streams. For example, the local video + capture device is not working properly, is occupied by another process, or + does not get the permission required. + + + + 4: Fails to connect to the CDN. + + + + 5: The URL is already being used. Use a new URL for streaming. + + + diff --git a/en-US/dita/RTC-NG/API/enum_directcdnstreamingreason.dita b/en-US/dita/RTC-NG/API/enum_directcdnstreamingreason.dita index 87b2a942736..07db53cdee0 100644 --- a/en-US/dita/RTC-NG/API/enum_directcdnstreamingreason.dita +++ b/en-US/dita/RTC-NG/API/enum_directcdnstreamingreason.dita @@ -2,35 +2,42 @@ <ph keyref="DIRECT_CDN_STREAMING_REASON"/> - Reasons for the changes in CDN streaming status. + Reasons for the changes in CDN streaming + status.
    Enumerator - - - 0: No error. - - - - 1: A general error; no specific reason. You can try to push the media stream again. - - - - 2: An error occurs when pushing audio streams. For example, the local audio capture device is not working properly, is occupied by another process, or does not get the permission required. - - - - 3: An error occurs when pushing video streams. For example, the local video capture device is not working properly, is occupied by another process, or does not get the permission required. - - - - 4: Fails to connect to the CDN. - - - - 5: The URL is already being used. Use a new URL for streaming. - -
    + + + 0: No error. + + + + 1: A general error; no specific reason. You can try to push the media stream + again. + + + + 2: An error occurs when pushing audio streams. For example, the local audio + capture device is not working properly, is occupied by another process, or + does not get the permission required. + + + + 3: An error occurs when pushing video streams. For example, the local video + capture device is not working properly, is occupied by another process, or + does not get the permission required. + + + + 4: Fails to connect to the CDN. + + + + 5: The URL is already being used. Use a new URL for streaming. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_directcdnstreamingstate.dita b/en-US/dita/RTC-NG/API/enum_directcdnstreamingstate.dita index d35af28d71c..3948b7f5eb2 100644 --- a/en-US/dita/RTC-NG/API/enum_directcdnstreamingstate.dita +++ b/en-US/dita/RTC-NG/API/enum_directcdnstreamingstate.dita @@ -7,26 +7,36 @@
    Enumerator - - - 0: The initial state before the CDN streaming starts. - - - - 1: Streams are being pushed to the CDN. The SDK returns this value when you call the method to push streams to the CDN. - - - - 2: Stops pushing streams to the CDN. The SDK returns this value when you call the method to stop pushing streams to the CDN. - - - - 3: Fails to push streams to the CDN. You can troubleshoot the issue with the information reported by the callback, and then push streams to the CDN again. - - - - 4: Tries to reconnect the Agora server to the CDN. The SDK attempts to reconnect a maximum of 10 times; if the connection is not restored, the streaming state becomes . - -
    + + + 0: The initial state before the CDN streaming starts. + + + + 1: Streams are being pushed to the CDN. The SDK returns this value when you + call the method to push streams to + the CDN. + + + + 2: Stops pushing streams to the CDN. The SDK returns this value when you + call the method to stop pushing + streams to the CDN. + + + + 3: Fails to push streams to the CDN. You can troubleshoot the issue with the + information reported by the callback, and then push streams to the CDN again. + + + + 4: Tries to reconnect the Agora server to the CDN. The SDK attempts to + reconnect a maximum of 10 times; if the connection is not restored, the + streaming state becomes . + + + diff --git a/en-US/dita/RTC-NG/API/enum_earmonitoringfiltertype.dita b/en-US/dita/RTC-NG/API/enum_earmonitoringfiltertype.dita index dad9d2e7014..f480c145cb8 100644 --- a/en-US/dita/RTC-NG/API/enum_earmonitoringfiltertype.dita +++ b/en-US/dita/RTC-NG/API/enum_earmonitoringfiltertype.dita @@ -2,29 +2,36 @@ <ph keyref="EAR_MONITORING_FILTER_TYPE"/> - The audio filter types of in-ear monitoring. + The audio filter types of in-ear + monitoring.
    Enumerator - - - 1<<0: No audio filter added to in-ear monitoring. - - - - 1<<1: Add vocal effects audio filter to in-ear monitoring. If you implement functions such as voice beautifier and audio effect, users can hear the voice after adding these effects. - - - - -

    1<<2: Add noise suppression audio filter to in-ear monitoring.

    -
    -
    - - - 1<<15: Reuse the audio filter that has been processed on the sending end for in-ear monitoring. This enumerator reduces CPU usage while increasing in-ear monitoring latency, which is suitable for latency-tolerant scenarios requiring low CPU consumption. - -
    + + + 1<<0: No audio filter added to in-ear monitoring. + + + + 1<<1: Add vocal effects audio filter to in-ear monitoring. If you + implement functions such as voice beautifier and audio effect, users can + hear the voice after adding these effects. + + + + +

    1<<2: Add noise suppression audio filter to in-ear monitoring.

    +
    +
    + + + 1<<15: Reuse the audio filter that has been processed on the sending + end for in-ear monitoring. This enumerator reduces CPU usage while + increasing in-ear monitoring latency, which is suitable for latency-tolerant + scenarios requiring low CPU consumption. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_encodingpreference.dita b/en-US/dita/RTC-NG/API/enum_encodingpreference.dita index ff20f960e7c..20ad8d912cc 100644 --- a/en-US/dita/RTC-NG/API/enum_encodingpreference.dita +++ b/en-US/dita/RTC-NG/API/enum_encodingpreference.dita @@ -6,31 +6,38 @@
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    Enumerator - - - -1: Adaptive preference. The SDK automatically selects the optimal encoding type for encoding based on factors such as platform and device type. - + + + -1: Adaptive preference. The SDK automatically selects the optimal encoding + type for encoding based on factors such as platform and device type. + - - - 0: Software coding preference. The SDK prefers software encoders for video encoding. - + + + 0: Software coding preference. The SDK prefers software encoders for video + encoding. + - - - 1: Hardware encoding preference. The SDK prefers a hardware encoder for video encoding. When the device does not support hardware encoding, the SDK automatically uses software encoding and reports the currently used video encoder type through hwEncoderAccelerating in the callback. - -
    + + + 1: Hardware encoding preference. The SDK prefers a hardware encoder for + video encoding. When the device does not support hardware encoding, the SDK + automatically uses software encoding and reports the currently used video + encoder type through hwEncoderAccelerating in the callback. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_encryptionerrortype.dita b/en-US/dita/RTC-NG/API/enum_encryptionerrortype.dita index 836760da73f..222a30ae803 100644 --- a/en-US/dita/RTC-NG/API/enum_encryptionerrortype.dita +++ b/en-US/dita/RTC-NG/API/enum_encryptionerrortype.dita @@ -7,26 +7,29 @@
    Enumerator - - - 0: Internal reason. - - - - 1: Media stream decryption error. Ensure that the receiver and the sender use the same encryption mode and key. - - - - 2: Media stream encryption error. - - - - 3: Data stream decryption error. Ensure that the receiver and the sender use the same encryption mode and key. - - - - 4: Data stream encryption error. - -
    + + + 0: Internal reason. + + + + 1: Media stream decryption error. Ensure that the receiver and the sender + use the same encryption mode and key. + + + + 2: Media stream encryption error. + + + + 3: Data stream decryption error. Ensure that the receiver and the sender use + the same encryption mode and key. + + + + 4: Data stream encryption error. + + + diff --git a/en-US/dita/RTC-NG/API/enum_encryptionmode.dita b/en-US/dita/RTC-NG/API/enum_encryptionmode.dita index 6ac9aea8d6d..4f7d758be74 100644 --- a/en-US/dita/RTC-NG/API/enum_encryptionmode.dita +++ b/en-US/dita/RTC-NG/API/enum_encryptionmode.dita @@ -5,47 +5,51 @@ The built-in encryption mode.
    -

    Agora recommends using or encrypted mode. These two modes support the use of salt for higher security.

    +

    Agora recommends using or + encrypted mode. These two modes support the use of salt for higher security.

    Enumerator - - - 1: 128-bit AES encryption, XTS mode. - - - - 2: 128-bit AES encryption, ECB mode. - - - - 3: 256-bit AES encryption, XTS mode. - - - - 4: 128-bit SM4 encryption, ECB mode. - - - - 5: 128-bit AES encryption, GCM mode. - - - - 6: 256-bit AES encryption, GCM mode. - - - - 7: (Default) 128-bit AES encryption, GCM mode. This encryption mode requires the setting of salt (encryptionKdfSalt). - - - - 8: 256-bit AES encryption, GCM mode. This encryption mode requires the setting of salt (encryptionKdfSalt). - - - - Enumerator boundary. - -
    + + + 1: 128-bit AES encryption, XTS mode. + + + + 2: 128-bit AES encryption, ECB mode. + + + + 3: 256-bit AES encryption, XTS mode. + + + + 4: 128-bit SM4 encryption, ECB mode. + + + + 5: 128-bit AES encryption, GCM mode. + + + + 6: 256-bit AES encryption, GCM mode. + + + + 7: (Default) 128-bit AES encryption, GCM mode. This encryption mode requires + the setting of salt (encryptionKdfSalt). + + + + 8: 256-bit AES encryption, GCM mode. This encryption mode requires the + setting of salt (encryptionKdfSalt). + + + + Enumerator boundary. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_errorcodetype.dita b/en-US/dita/RTC-NG/API/enum_errorcodetype.dita index b14fb721e14..649a392e175 100644 --- a/en-US/dita/RTC-NG/API/enum_errorcodetype.dita +++ b/en-US/dita/RTC-NG/API/enum_errorcodetype.dita @@ -5,234 +5,305 @@ Error codes.
    -

    An error code indicates that the SDK encountered an unrecoverable error that requires application intervention. For example, an error is returned when the camera fails to open, and the app needs to inform the user that the camera cannot be used.

    +

    An error code indicates that the SDK encountered an unrecoverable error that requires + application intervention. For example, an error is returned when the camera fails to + open, and the app needs to inform the user that the camera cannot be used.

    Enumerator - - - 0: No error. - - - - 1: General error with no classified reason. Try calling the method again. - - - - 2: An invalid parameter is used. For example, the specified channel name includes illegal characters. Reset the parameter. - - - - 3: The SDK is not ready. Possible reasons include the following:
      -
    • The initialization of fails. Reinitialize the .
    • -
    • No user has joined the channel when the method is called. Check the code logic.
    • -
    • The user has not left the channel when the or method is called. Check the code logic.
    • -
    • The audio module is disabled.
    • -
    • The program is not complete.
    • -
    -
    - - - 4: The does not support the request. Possible reasons include the following:
      -
    • The method is called on devices running versions earlier than Android 5.0. Check the Android version.
    • -
    • The built-in encryption mode is incorrect, or the SDK fails to load the external encryption library. Check the encryption mode setting, or reload the external encryption library.
    • -
    -
    - - - 5: The request is rejected. Possible reasons include the following:
      -
    • The initialization fails. Reinitialize the .
    • -
    • The channel name is set as the empty string "" when joining the channel. Reset the channel name.
    • -
    • When the method is called to join multiple channels, the specified channel name is already in use. Reset the channel name.
    • -
    -
    - - - 6: The buffer size is insufficient to store the returned data. - - - - 7: A method is called before the initialization of . Ensure that the object is initialized before using this method. - - - - 8: Invalid state. - - - - 9: Permission to access is not granted. Check whether your app has access to the audio and video device. - - - - 10: A timeout occurs. Some API calls require the SDK to return the execution result. This error occurs if the SDK takes too long (more than 10 seconds) to return the result. - - - - 17: The request to join the channel is rejected. Possible reasons include the following:
      -
    • The user is already in the channel. Agora recommends that you use the callback to determine whether the user exists in the channel. Do not call this method to join the channel unless you receive the (1) state.
    • -
    • After calling for the call test, the user tries to join the channel without calling to end the current test. To join a channel, the call test must be ended by calling .
    • -
    -
    - - - 18: Fails to leave the channel. Possible reasons include the following:
      -
    • The user has left the channel before calling the method. Stop calling this method to clear this error.
    • -
    • The user calls the method to leave the channel before joining the channel. In this case, no extra operation is needed.
    • -
    -
    - - - 19: Resources are already in use. - - - - 20: The request is abandoned by the SDK, possibly because the request has been sent too frequently. - - - - 21: The fails to initialize and has crashed because of specific Windows firewall settings. - - - - 22: The SDK fails to allocate resources because your app uses too many system resources or system resources are insufficient. - - - - 101: The specified App ID is invalid. Rejoin the channel with a valid App ID. - - - - 102: The specified channel name is invalid. A possible reason is that the parameter's data type is incorrect. Rejoin the channel with a valid channel name. - - - - 103: Fails to get server resources in the specified region. Try another region when initializing . - - - - 109: The current token has expired. Apply for a new token on the server and call .
    - -
    Deprecated:
    -
    This enumerator is deprecated. Use (9) in the callback instead.
    -
    -
    -
    -
    - - - 110: Invalid token. Typical reasons include the following:
      -
    • App Certificate is enabled in Agora Console, but the code still uses App ID for authentication. Once App Certificate is enabled for a project, you must use token-based authentication.
    • -
    • The uid used to generate the token is not the same as the uid used to join the channel.
    • -
    -
    - -
    Deprecated:
    -
    This enumerator is deprecated. Use (8) in the callback instead.
    -
    -
    -
    -
    - - - 111: The network connection is interrupted. The SDK triggers this callback when it loses connection with the server for more than four seconds after the connection is established. - - - - 112: The network connection is lost. Occurs when the SDK cannot reconnect to Agora's edge server 10 seconds after its connection to the server is interrupted. - - - - 113: The user is not in the channel when calling the method. - - - - 114: The data size exceeds 1 KB when calling the method. - - - - 115: The data bitrate exceeds 6 KB/s when calling the method. - - - - 116: More than five data streams are created when calling the method. - - - - 117: The data stream transmission times out. - - - - 119: Switching roles fails, try rejoining the channel. - - - - 120: Media streams decryption fails. The user might use an incorrect password to join the channel. Check the entered password, or tell the user to try rejoining the channel. - - - - 121: The user ID is invalid. - - - - 122: Data streams decryption fails. The user might use an incorrect password to join the channel. Check the entered password, or tell the user to try rejoining the channel. - + + + 0: No error. + + + + 1: General error with no classified reason. Try calling the method + again. + + + + 2: An invalid parameter is used. For example, the specified channel name + includes illegal characters. Reset the parameter. + + + + 3: The SDK is not ready. Possible reasons include the following:
      +
    • The initialization of fails. + Reinitialize the .
    • +
    • No user has joined the channel when the method is called. Check the + code logic.
    • +
    • The user has not left the channel when the or + method is called. Check the code + logic.
    • +
    • The audio module is disabled.
    • +
    • The program is not complete.
    • +
    +
    + + + 4: The does not support the request. Possible + reasons include the following:
      +
    • The method + is called on devices running versions earlier than Android 5.0. + Check the Android version.
    • +
    • The built-in encryption mode is incorrect, or the SDK fails to load + the external encryption library. Check the encryption mode setting, + or reload the external encryption library.
    • +
    +
    + + + 5: The request is rejected. Possible reasons include the following:
      +
    • The initialization fails. Reinitialize + the .
    • +
    • The channel name is set as the empty string "" when + joining the channel. Reset the channel name.
    • +
    • When the method is called to join + multiple channels, the specified channel name is already in use. + Reset the channel name.
    • +
    +
    + + + 6: The buffer size is insufficient to store the returned data. + + + + 7: A method is called before the initialization of . Ensure that the + object is initialized before using this method. + + + + 8: Invalid state. + + + + 9: Permission to access is not granted. Check whether your app has access to + the audio and video device. + + + + 10: A timeout occurs. Some API calls require the SDK to return the execution + result. This error occurs if the SDK takes too long (more than 10 seconds) + to return the result. + + + + 17: The request to join the channel is rejected. Possible reasons include + the following:
      +
    • The user is already in the channel. Agora recommends that you use + the callback to determine + whether the user exists in the channel. Do not call this method to + join the channel unless you receive the (1) state.
    • +
    • After calling for the call test, the + user tries to join the channel without calling to end the current test. To join a + channel, the call test must be ended by calling .
    • +
    +
    + + + 18: Fails to leave the channel. Possible reasons include the following:
      +
    • The user has left the channel before calling the method. Stop calling this method to + clear this error.
    • +
    • The user calls the method to leave + the channel before joining the channel. In this case, no extra + operation is needed.
    • +
    +
    + + + 19: Resources are already in use. + + + + 20: The request is abandoned by the SDK, possibly because the request has + been sent too frequently. + + + + 21: The fails to initialize and has crashed + because of specific Windows firewall settings. + + + + 22: The SDK fails to allocate resources because your app uses too many + system resources or system resources are insufficient. + + + + 101: The specified App ID is invalid. Rejoin the channel with a valid App + ID. + + + + 102: The specified channel name is invalid. A possible reason is that the + parameter's data type is incorrect. Rejoin the channel with a valid channel + name. + + + + 103: Fails to get server resources in the specified region. Try another + region when initializing . + + + + 109: The current token has expired. Apply for a new token on the server and + call .
    + +
    Deprecated:
    +
    This enumerator is deprecated. Use (9) in the callback instead.
    +
    +
    +
    +
    + + + 110: Invalid token. Typical reasons include the following:
      +
    • App Certificate is enabled in Agora Console, but the code still uses + App ID for authentication. Once App Certificate is enabled for a + project, you must use token-based authentication.
    • +
    • The uid used to generate the token is not the same + as the uid used to join the channel.
    • +
    +
    + +
    Deprecated:
    +
    This enumerator is deprecated. Use (8) in the callback instead.
    +
    +
    +
    +
    + + + 111: The network connection is interrupted. The SDK triggers this callback + when it loses connection with the server for more than four seconds after + the connection is established. + + + + 112: The network connection is lost. Occurs when the SDK cannot reconnect to + Agora's edge server 10 seconds after its connection to the server is + interrupted. + + + + 113: The user is not in the channel when calling the method. + + + + 114: The data size exceeds 1 KB when calling the method. + + + + 115: The data bitrate exceeds 6 KB/s when calling the method. + + + + 116: More than five data streams are created when calling the method. + - - 123: The user is banned from the server. - - - - 130: The SDK does not support pushing encrypted streams to CDN. - - - - 131: - - - - 134: The user account is invalid, possibly because it contains invalid parameters. - - - - 157: - - - - 1001: The SDK fails to load the media engine. - - - - 1005: A general error occurs (no specified reason). Check whether the audio device is already in use by another app, or try rejoining the channel. - - - - 1008: An error occurs when initializing the playback device. Check whether the playback device is already in use by another app, or try rejoining the channel. - - - - 1009: An error occurs when starting the playback device. Check the playback device. - - - - 1010: An error occurs when stopping the playback device. - - - - 1011: An error occurs when initializing the recording device. Check the recording device, or try rejoining the channel. - - - - 1012: An error occurs when starting the recording device. Check the recording device. - - - - 1013: An error occurs when stopping the recording device. - - - - 1501: Permission to access the camera is not granted. Check whether permission to access the camera permission is granted. - -
    + + 117: The data stream transmission times out. + + + + 119: Switching roles fails, try rejoining the channel. + + + + 120: Media streams decryption fails. The user might use an incorrect + password to join the channel. Check the entered password, or tell the user + to try rejoining the channel. + + + + 121: The user ID is invalid. + + + + 122: Data streams decryption fails. The user might use an incorrect password + to join the channel. Check the entered password, or tell the user to try + rejoining the channel. + + + + 123: The user is banned from the server. + + + + 130: The SDK does not support pushing encrypted streams to CDN. + + + + 131: + + + + 134: The user account is invalid, possibly because it contains invalid + parameters. + + + + 157: + + + + 1001: The SDK fails to load the media engine. + + + + 1005: A general error occurs (no specified reason). Check whether the audio + device is already in use by another app, or try rejoining the channel. + + + + 1008: An error occurs when initializing the playback device. Check whether + the playback device is already in use by another app, or try rejoining the + channel. + + + + 1009: An error occurs when starting the playback device. Check the playback + device. + + + + 1010: An error occurs when stopping the playback device. + + + + 1011: An error occurs when initializing the recording device. Check the + recording device, or try rejoining the channel. + + + + 1012: An error occurs when starting the recording device. Check the + recording device. + + + + 1013: An error occurs when stopping the recording device. + + + + 1501: Permission to access the camera is not granted. Check whether + permission to access the camera permission is granted. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_excludewindowerror.dita b/en-US/dita/RTC-NG/API/enum_excludewindowerror.dita index f20189887f9..3caece4cd3c 100644 --- a/en-US/dita/RTC-NG/API/enum_excludewindowerror.dita +++ b/en-US/dita/RTC-NG/API/enum_excludewindowerror.dita @@ -1,20 +1,25 @@ - <ph keyref="EXCLUDE_WINDOW_ERROR"/> - The error code of the window blocking during screen sharing. + + <ph keyref="EXCLUDE_WINDOW_ERROR"/> + + The error code of the window blocking during screen + sharing.
    Enumerator - - - -1: Fails to block the window during screen sharing. The user's graphics card does not support window blocking. - - - - 0: Reserved. - -
    + + + -1: Fails to block the window during screen sharing. The user's + graphics card does not support window blocking. + + + + 0: Reserved. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_experiencepoorreason.dita b/en-US/dita/RTC-NG/API/enum_experiencepoorreason.dita index 5e0cdd35055..28c5488c9e2 100644 --- a/en-US/dita/RTC-NG/API/enum_experiencepoorreason.dita +++ b/en-US/dita/RTC-NG/API/enum_experiencepoorreason.dita @@ -2,31 +2,35 @@ <ph keyref="EXPERIENCE_POOR_REASON"/> - Reasons why the QoE of the local user when receiving a remote audio stream is poor. + Reasons why the QoE of the local user when receiving a + remote audio stream is poor.
    Enumerator - - - 0: No reason, indicating a good QoE of the local user. - - - - 1: The remote user's network quality is poor. - - - - 2: The local user's network quality is poor. - - - - 4: The local user's Wi-Fi or mobile network signal is weak. - - - - 8: The local user enables both Wi-Fi and bluetooth, and their signals interfere with each other. As a result, audio transmission quality is undermined. - -
    + + + 0: No reason, indicating a good QoE of the local user. + + + + 1: The remote user's network quality is poor. + + + + 2: The local user's network quality is poor. + + + + 4: The local user's Wi-Fi or mobile network signal is weak. + + + + 8: The local user enables both Wi-Fi and bluetooth, and their signals + interfere with each other. As a result, audio transmission quality is + undermined. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_experiencequalitytype.dita b/en-US/dita/RTC-NG/API/enum_experiencequalitytype.dita index 6060ca35c64..249f1b85da1 100644 --- a/en-US/dita/RTC-NG/API/enum_experiencequalitytype.dita +++ b/en-US/dita/RTC-NG/API/enum_experiencequalitytype.dita @@ -2,19 +2,21 @@ <ph keyref="EXPERIENCE_QUALITY_TYPE"/> - The Quality of Experience (QoE) of the local user when receiving a remote audio stream. + The Quality of Experience (QoE) of the local user when + receiving a remote audio stream.
    Enumerator - - - 0: The QoE of the local user is good. - - - - 1: The QoE of the local user is poor. - -
    + + + 0: The QoE of the local user is good. + + + + 1: The QoE of the local user is poor. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_externalvideosourcetype.dita b/en-US/dita/RTC-NG/API/enum_externalvideosourcetype.dita index 11ca80ac4e9..212ab1d32b1 100644 --- a/en-US/dita/RTC-NG/API/enum_externalvideosourcetype.dita +++ b/en-US/dita/RTC-NG/API/enum_externalvideosourcetype.dita @@ -2,19 +2,21 @@ <ph keyref="EXTERNAL_VIDEO_SOURCE_TYPE"/> - The external video frame encoding type. + The external video frame encoding + type.
    Enumerator - - - 0: The video frame is not encoded. - - - - 1: The video frame is encoded. - -
    + + + 0: The video frame is not encoded. + + + + 1: The video frame is encoded. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_featuretype.dita b/en-US/dita/RTC-NG/API/enum_featuretype.dita index 298c444fca2..29b9b24e409 100644 --- a/en-US/dita/RTC-NG/API/enum_featuretype.dita +++ b/en-US/dita/RTC-NG/API/enum_featuretype.dita @@ -24,5 +24,6 @@ 2: Image enhancement. - + + diff --git a/en-US/dita/RTC-NG/API/enum_framerate.dita b/en-US/dita/RTC-NG/API/enum_framerate.dita index 6acaa51ad92..53b9e0566ee 100644 --- a/en-US/dita/RTC-NG/API/enum_framerate.dita +++ b/en-US/dita/RTC-NG/API/enum_framerate.dita @@ -7,36 +7,38 @@
    Enumerator - - - 1: 1 fps - - - - 7: 7 fps - - - - 10: 10 fps - - - - 15: 15 fps - - - - 24: 24 fps - - - - 30: 30 fps - - - - -

    60: 60 fps

    - For Windows and macOS only.
    -
    -
    + + + 1: 1 fps + + + + 7: 7 fps + + + + 10: 10 fps + + + + 15: 15 fps + + + + 24: 24 fps + + + + 30: 30 fps + + + + +

    60: 60 fps

    + For Windows and + macOS only.
    +
    + + diff --git a/en-US/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita b/en-US/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita index 9e1172ff2f5..93f411630ae 100644 --- a/en-US/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita +++ b/en-US/dita/RTC-NG/API/enum_headphoneequalizerpreset.dita @@ -28,5 +28,6 @@ An equalizer is used for in-ear headphones. - + + diff --git a/en-US/dita/RTC-NG/API/enum_hwencoderaccelerating.dita b/en-US/dita/RTC-NG/API/enum_hwencoderaccelerating.dita index 32ca8b5a20f..37ef95966db 100644 --- a/en-US/dita/RTC-NG/API/enum_hwencoderaccelerating.dita +++ b/en-US/dita/RTC-NG/API/enum_hwencoderaccelerating.dita @@ -2,7 +2,8 @@ <ph keyref="hwEncoderAccelerating"/> - The local video encoding acceleration type. + The local video encoding acceleration + type.
    @@ -24,5 +25,6 @@ 1: Hardware encoding is applied for acceleration. -
    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_injectstreamstatus.dita b/en-US/dita/RTC-NG/API/enum_injectstreamstatus.dita index cf1303243c1..eb6c91ab887 100644 --- a/en-US/dita/RTC-NG/API/enum_injectstreamstatus.dita +++ b/en-US/dita/RTC-NG/API/enum_injectstreamstatus.dita @@ -2,56 +2,60 @@ <ph keyref="INJECT_STREAM_STATUS"/> - States of importing an external video stream in the interactive live streaming. - + States of importing an external video stream in the + interactive live streaming. +
    Enumerator - - - 0: The external video stream is imported successfully. - - - - 1: The external video stream already exists. - - - - 2: The external video stream to be imported is unauthorized. - - - - 3: A timeout occurs when importing the external video stream. - - - - 4: The SDK fails to import the external video stream. - - - - 5: The SDK successfully stops importing the external video stream. - - - - 6: The external video stream to be stopped importing is not found. - - - - 7: The external video stream to be stopped importing is unauthorized. - - - - 8: A timeout occurs when stopping importing the external video stream. - - - - 9: The SDK fails to stop importing the external video stream. - - - - 10: The external video stream is corrupted. - -
    + + + 0: The external video stream is imported successfully. + + + + 1: The external video stream already exists. + + + + 2: The external video stream to be imported is unauthorized. + + + + 3: A timeout occurs when importing the external video stream. + + + + 4: The SDK fails to import the external video stream. + + + + 5: The SDK successfully stops importing the external video stream. + + + + 6: The external video stream to be stopped importing is not found. + + + + 7: The external video stream to be stopped importing is + unauthorized. + + + + 8: A timeout occurs when stopping importing the external video + stream. + + + + 9: The SDK fails to stop importing the external video stream. + + + + 10: The external video stream is corrupted. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_interfaceidtype.dita b/en-US/dita/RTC-NG/API/enum_interfaceidtype.dita index aa5227bd375..d69f3bc1cae 100644 --- a/en-US/dita/RTC-NG/API/enum_interfaceidtype.dita +++ b/en-US/dita/RTC-NG/API/enum_interfaceidtype.dita @@ -7,34 +7,38 @@
    Enumerator - - - The interface class. - - - - The interface class. - - - - This interface class is deprecated. - - - - The interface class. - - - - This interface class is deprecated. - - - - The interface class. - - - - The interface class. - -
    + + + The interface class. + + + + The interface class. + + + + This interface class is deprecated. + + + + The interface class. + + + + This interface class is deprecated. + + + + The interface + class. + + + + The interface class. + + + diff --git a/en-US/dita/RTC-NG/API/enum_lastmileproberesultstate.dita b/en-US/dita/RTC-NG/API/enum_lastmileproberesultstate.dita index e3e65450d1e..366825c510f 100644 --- a/en-US/dita/RTC-NG/API/enum_lastmileproberesultstate.dita +++ b/en-US/dita/RTC-NG/API/enum_lastmileproberesultstate.dita @@ -2,23 +2,28 @@ <ph keyref="LASTMILE_PROBE_RESULT_STATE"/> - The status of the last-mile probe test. + The status of the last-mile probe + test.
    Enumerator - - - 1: The last-mile network probe test is complete. - - - - 2: The last-mile network probe test is incomplete because the bandwidth estimation is not available due to limited test resources. One possible reason is that testing resources are temporarily limited. - - - - 3: The last-mile network probe test is not carried out. Probably due to poor network conditions. - -
    + + + 1: The last-mile network probe test is complete. + + + + 2: The last-mile network probe test is incomplete because the bandwidth + estimation is not available due to limited test resources. One possible + reason is that testing resources are temporarily limited. + + + + 3: The last-mile network probe test is not carried out. Probably due to poor + network conditions. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita b/en-US/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita index 5f520157c57..5c620367acb 100644 --- a/en-US/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita +++ b/en-US/dita/RTC-NG/API/enum_lighteningcontrastlevel.dita @@ -7,18 +7,19 @@
    Enumerator - - - 0: Low contrast level. - - - - 1: (Default) Normal contrast level. - - - - 2: High contrast level. - -
    + + + 0: Low contrast level. + + + + 1: (Default) Normal contrast level. + + + + 2: High contrast level. + + + diff --git a/en-US/dita/RTC-NG/API/enum_localaudiostreamerror.dita b/en-US/dita/RTC-NG/API/enum_localaudiostreamerror.dita index 94dec550d5b..70b7a68ed11 100644 --- a/en-US/dita/RTC-NG/API/enum_localaudiostreamerror.dita +++ b/en-US/dita/RTC-NG/API/enum_localaudiostreamerror.dita @@ -1,63 +1,102 @@ - <ph keyref="LOCAL_AUDIO_STREAM_ERROR"/> + + <ph keyref="LOCAL_AUDIO_STREAM_ERROR"/> + Local audio state error codes.
    Enumerator - - - 0: The local audio is normal. - - - - 1: No specified reason for the local audio failure. Remind your users to try to rejoin the channel. - - - - 2: No permission to use the local audio capturing device. Remind your users to grant permission.
    - -
    Deprecated:
    -
    This enumerator is deprecated. Please use in the callback instead.
    -
    + + + + + 0: The local audio is normal. + + + + + + 1: No specified reason for the local audio failure. Remind your users + to try to rejoin the channel. + + + + + + 2: No permission to use the local audio capturing device. Remind your + users to grant permission.
    + +
    Deprecated:
    +
    This enumerator is deprecated. Please use in the callback + instead.
    +
    -
    - - - 3: (Android and iOS only) The local audio capture device is already in use. Remind your users to check whether another application occupies the microphone. Local audio capture automatically resumes after the microphone is idle for about five seconds. You can also try to rejoin the channel after the microphone is idle. - 3: Reserved. - - - - 4: The local audio capture fails. - - - - 5: The local audio encoding fails. - - - - 6: (Windows only) The application cannot find the local audio capture device. Remind your users to check whether the microphone is connected to the device properly in the control plane of the device or if the microphone is working properly. - - - - 7: (Windows only) The application cannot find the local audio playback device. Remind your users to check whether the speaker is connected to the device properly in the control plane of the device or if the speaker is working properly. - + + + + + + 3: (Android and iOS only) + The local audio capture device is already in use. Remind your + users to check whether another application occupies the microphone. + Local audio capture automatically resumes after the microphone is idle + for about five seconds. You can also try to rejoin the channel after + the microphone is idle. + 3: Reserved. + + + + + + 4: The local audio capture fails. + + + + + + 5: The local audio encoding fails. + + + + 6: (Windows only) The application cannot find the local audio capture + device. Remind your users to check whether the microphone is connected + to the device properly in the control plane of the device or if the + microphone is working properly. + + + + 7: (Windows only) The application cannot find the local audio playback + device. Remind your users to check whether the speaker is connected to + the device properly in the control plane of the device or if the + speaker is working properly. + - - 8: (Android and iOS only) The local audio capture is interrupted by a system call, Siri, or alarm clock. Remind your users to end the phone call, Siri, or alarm clock if the local audio capture is required. - Reserved. - - - - 9: (Windows only) The ID of the local audio-capture device is invalid. Check the audio capture device ID. - - - - 10: (Windows only) The ID of the local audio-playback device is invalid. Check the audio playback device ID. - -
    + + + 8: (Android and iOS only) + The local audio capture is interrupted by a system call, Siri, or + alarm clock. Remind your users to end the phone call, Siri, or alarm + clock if the local audio capture is required. + Reserved. + + + + 9: (Windows only) The ID of the local audio-capture device is invalid. + Check the audio capture device ID. + + + + 10: (Windows only) The ID of the local audio-playback device is + invalid. Check the audio playback device ID. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_localaudiostreamreason.dita b/en-US/dita/RTC-NG/API/enum_localaudiostreamreason.dita index e3afa6a9d60..9602259a692 100644 --- a/en-US/dita/RTC-NG/API/enum_localaudiostreamreason.dita +++ b/en-US/dita/RTC-NG/API/enum_localaudiostreamreason.dita @@ -1,63 +1,104 @@ - <ph keyref="LOCAL_AUDIO_STREAM_REASON"/> - Reasons for local audio state changes. + + <ph keyref="LOCAL_AUDIO_STREAM_REASON"/> + + Reasons for local audio state + changes.
    Enumerator - - - 0: The local audio is normal. - - - - 1: No specified reason for the local audio failure. Remind your users to try to rejoin the channel. - - - - 2: No permission to use the local audio capturing device. Remind your users to grant permission.
    - -
    Deprecated:
    -
    This enumerator is deprecated. Please use in the callback instead.
    -
    + + + + + 0: The local audio is normal. + + + + + + 1: No specified reason for the local audio failure. Remind your users + to try to rejoin the channel. + + + + + + 2: No permission to use the local audio capturing device. Remind your + users to grant permission.
    + +
    Deprecated:
    +
    This enumerator is deprecated. Please use in the callback + instead.
    +
    -
    - - - 3: (Android and iOS only) The local audio capture device is already in use. Remind your users to check whether another application occupies the microphone. Local audio capture automatically resumes after the microphone is idle for about five seconds. You can also try to rejoin the channel after the microphone is idle. - 3: Reserved. - - - - 4: The local audio capture fails. - - - - 5: The local audio encoding fails. - - - - 6: (Windows and macOS only) No local audio capture device. Remind your users to check whether the microphone is connected to the device properly in the control panel of the device or if the microphone is working properly. - - - - 7: (Windows and macOS only) No local audio capture device. Remind your users to check whether the speaker is connected to the device properly in the control panel of the device or if the speaker is working properly. - + + + + + + 3: (Android and iOS only) + The local audio capture device is already in use. Remind your + users to check whether another application occupies the microphone. + Local audio capture automatically resumes after the microphone is idle + for about five seconds. You can also try to rejoin the channel after + the microphone is idle. + 3: Reserved. + + + + + + 4: The local audio capture fails. + + + + + + 5: The local audio encoding fails. + + + + 6: (Windows and macOS only) + No local audio capture device. Remind your users to check whether + the microphone is connected to the device properly in the control + panel of the device or if the microphone is working properly. + + + + 7: (Windows and macOS only) + No local audio capture device. Remind your users to check whether + the speaker is connected to the device properly in the control panel + of the device or if the speaker is working properly. + - - 8: (Android and iOS only) The local audio capture is interrupted by a system call, smart assistants, or alarm clock. Prompt your users to end the phone call, smart assistants, or alarm clock if the local audio capture is required. - Reserved. - - - - 9: (Windows only) The ID of the local audio-capture device is invalid. Prompt the user to check the audio capture device ID. - - - - 10: (Windows only) The ID of the local audio-playback device is invalid. Prompt the user to check the audio playback device ID. - -
    + + + 8: (Android and iOS only) + The local audio capture is interrupted by a system call, smart + assistants, or alarm clock. Prompt your users to end the phone call, + smart assistants, or alarm clock if the local audio capture is + required. + Reserved. + + + + 9: (Windows only) The ID of the local audio-capture device is invalid. + Prompt the user to check the audio capture device ID. + + + + 10: (Windows only) The ID of the local audio-playback device is + invalid. Prompt the user to check the audio playback device ID. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_localaudiostreamstate.dita b/en-US/dita/RTC-NG/API/enum_localaudiostreamstate.dita index d648e96cfe8..44f240e6a03 100644 --- a/en-US/dita/RTC-NG/API/enum_localaudiostreamstate.dita +++ b/en-US/dita/RTC-NG/API/enum_localaudiostreamstate.dita @@ -7,22 +7,23 @@
    Enumerator - - - 0: The local audio is in the initial state. - - - - 1: The local audio capturing device starts successfully. - - - - 2: The first audio frame encodes successfully. - - - - 3: The local audio fails to start. - -
    + + + 0: The local audio is in the initial state. + + + + 1: The local audio capturing device starts successfully. + + + + 2: The first audio frame encodes successfully. + + + + 3: The local audio fails to start. + + + diff --git a/en-US/dita/RTC-NG/API/enum_localproxymode.dita b/en-US/dita/RTC-NG/API/enum_localproxymode.dita index 76963971c1b..4e9603761df 100644 --- a/en-US/dita/RTC-NG/API/enum_localproxymode.dita +++ b/en-US/dita/RTC-NG/API/enum_localproxymode.dita @@ -7,14 +7,18 @@
    Enumerator - - - 0: The SDK will first try to connect to the specified Agora private media server; if it cannot connect to the specified Agora private media server, it will connect to the Agora SD-RTN™. - - - - 1: The SDK only tries to connect to the specified Agora private media server. - -
    + + + 0: The SDK will first try to connect to the specified Agora private media + server; if it cannot connect to the specified Agora private media server, it + will connect to the Agora SD-RTN™. + + + + 1: The SDK only tries to connect to the specified Agora private media + server. + + + diff --git a/en-US/dita/RTC-NG/API/enum_localvideostreamerror.dita b/en-US/dita/RTC-NG/API/enum_localvideostreamerror.dita index c00a05c4cab..b7dbe0e402c 100644 --- a/en-US/dita/RTC-NG/API/enum_localvideostreamerror.dita +++ b/en-US/dita/RTC-NG/API/enum_localvideostreamerror.dita @@ -7,114 +7,171 @@
    Enumerator - - - 0: The local video is normal. - - - - 1: No specified reason for the local video failure. - - - - 2: No permission to use the local video capturing device. Remind the user to grant permissions and rejoin the channel.
    - -
    Deprecated:
    -
    This enumerator is deprecated. Please use in the callback instead.
    -
    + + + 0: The local video is normal. + + + + 1: No specified reason for the local video failure. + + + + 2: No permission to use the local video capturing device. Remind the user to + grant permissions and rejoin the channel.
    + +
    Deprecated:
    +
    This enumerator is deprecated. Please use in the callback + instead.
    +
    -
    - - - 3: The local video capturing device is in use. Remind the user to check whether another application occupies the camera. - - - - 4: The local video capture fails. Remind your user to check whether the video capture device is working properly, whether the camera is occupied by another application, or try to rejoin the channel. - - - - 5: The local video encoding fails. - - + + + + 3: The local video capturing device is in use. Remind the user to check + whether another application occupies the camera. + + + + 4: The local video capture fails. Remind your user to check whether the + video capture device is working properly, whether the camera is occupied by + another application, or try to rejoin the channel. + + + + 5: The local video encoding fails. + + - 6: (iOS only) The app is in the background. Remind the user that video capture cannot be performed normally when the app is in the background. + 6: (iOS only) The app is + in the background. Remind the user that video capture cannot be + performed normally when the app is in the background. 6: Reserved. - - - 7: (iOS only) The current application window is running in Slide Over, Split View, or Picture in Picture mode, and another app is occupying the camera. Remind the user that the application cannot capture video properly when the app is running in Slide Over, Split View, or Picture in Picture mode and another app is occupying the camera. + + + 7: (iOS only) The current + application window is running in Slide Over, Split View, or Picture in + Picture mode, and another app is occupying the camera. Remind the user + that the application cannot capture video properly when the app is + running in Slide Over, Split View, or Picture in Picture mode and + another app is occupying the camera. 7: Reserved. - - - 8: Fails to find a local video capture device. Remind the user to check whether the camera is connected to the device properly or the camera is working properly, and then to rejoin the channel. - - - - 9:(macOS only) The video capture device currently in use is disconnected (such as being unplugged). - 9: Reserved. - - - - 10: (macOS and Windows only) The SDK cannot find the video device in the video device list. Check whether the ID of the video device is valid. - - - - 11: (macOS only) The shared window is minimized when you call to share a window. The SDK cannot share a minimized window. You can cancel the minimization of this window at the application layer, for example by maximizing this window. - 11: Reserved. - - - - -

    12: (macOS and Windows only) The error code indicates that a window shared by the window ID has been closed or a full-screen window shared by the window ID has exited full-screen mode. After exiting full-screen mode, remote users cannot see the shared window. To prevent remote users from seeing a black screen, Agora recommends that you immediately stop screen sharing.

    -

    Common scenarios reporting this error code:

      -
    • When the local user closes the shared window, the SDK reports this error code.
    • -
    • The local user shows some slides in full-screen mode first, and then shares the windows of the slides. After the user exits full-screen mode, the SDK reports this error code.
    • -
    • The local user watches a web video or reads a web document in full-screen mode first, and then shares the window of the web video or document. After the user exits full-screen mode, the SDK reports this error code.
    • -

    -
    -
    - - - 13: (Windows only) The window being shared is overlapped by another window, so the overlapped area is blacked out by the SDK during window sharing. - - - - 20: (Windows only) The SDK does not support sharing this type of window. - - - - 21: (Windows only) The screen has not captured any data available for window sharing. - + + + 8: Fails to find a local video capture device. Remind the user to check + whether the camera is connected to the device properly or the camera is + working properly, and then to rejoin the channel. + + + + 9:(macOS only) The + video capture device currently in use is disconnected (such as being + unplugged). + 9: Reserved. + + + + 10: (macOS and + Windows only) The SDK cannot find the video device in the video + device list. Check whether the ID of the video device is + valid. + + + + 11: (macOS only) The + shared window is minimized when you call to share a window. The SDK + cannot share a minimized window. You can cancel the minimization of this + window at the application layer, for example by maximizing this + window. + 11: Reserved. + + + + +

    12: (macOS and + Windows only) The error code indicates that a window shared + by the window ID has been closed or a full-screen window shared by + the window ID has exited full-screen mode. After exiting full-screen + mode, remote users cannot see the shared window. To prevent remote + users from seeing a black screen, Agora recommends that you + immediately stop screen sharing.

    +

    Common scenarios reporting this error code:

      +
    • When the local user closes the shared window, the SDK reports + this error code.
    • +
    • The local user shows some slides in full-screen mode first, and + then shares the windows of the slides. After the user exits + full-screen mode, the SDK reports this error code.
    • +
    • The local user watches a web video or reads a web document in + full-screen mode first, and then shares the window of the web + video or document. After the user exits full-screen mode, the + SDK reports this error code.
    • +

    +
    +
    + + + 13: (Windows only) The window being shared is overlapped by another window, + so the overlapped area is blacked out by the SDK during window sharing. + + + + 20: (Windows only) The SDK does not support sharing this type of + window. + + + + 21: (Windows only) The screen has not captured any data available for window + sharing. + 22: (Windows and macOS only) No permission for screen capture. - 23: (Windows only) Screen capture has been paused. Common scenarios reporting this error code: The current screen may have been switched to a secure desktop, such as a UAC dialog box or Winlogon desktop. - - - + 23: (Windows only) Screen capture has been paused. Common scenarios + reporting this error code: The current screen may have been switched to a + secure desktop, such as a UAC dialog box or Winlogon desktop. + + + 24: (Windows only) Screen capture has resumed from paused state. - 25: (Windows only) The window for the current screen capture is hidden and not visible on the current screen. + 25: (Windows only) The window for the current screen capture is hidden and + not visible on the current screen. - - 26: (Windows only) The window for screen capture has been restored from hidden state. + + 26: (Windows only) The window for screen capture has been restored from + hidden state. - - 27: (Windows only) The window for screen capture has been restored from minimized state. - - - - 101: The current video capture device is unavailable due to excessive system pressure. - -
    + + 27: (Windows only) The window for screen capture has been restored from + minimized state. + + + + 101: The current video capture device is unavailable due to excessive system + pressure. + + + diff --git a/en-US/dita/RTC-NG/API/enum_localvideostreamreason.dita b/en-US/dita/RTC-NG/API/enum_localvideostreamreason.dita index 17485e73429..6a028bb542d 100644 --- a/en-US/dita/RTC-NG/API/enum_localvideostreamreason.dita +++ b/en-US/dita/RTC-NG/API/enum_localvideostreamreason.dita @@ -7,120 +7,186 @@
    Enumerator - - - 0: The local video is normal. - - - - 1: No specified reason for the local video failure. - - - - 2: No permission to use the local video capturing device. Prompt the user to grant permissions and rejoin the channel.
    - -
    Deprecated:
    -
    This enumerator is deprecated. Please use in the callback instead.
    -
    + + + 0: The local video is normal. + + + + 1: No specified reason for the local video failure. + + + + 2: No permission to use the local video capturing device. Prompt the user to + grant permissions and rejoin the channel.
    + +
    Deprecated:
    +
    This enumerator is deprecated. Please use in the + callback instead.
    +
    -
    - - - 3: The local video capturing device is in use. Prompt the user to check if the camera is being used by another app, or try to rejoin the channel. - - - - 4: The local video capture fails. Prompt the user to check whether the video capture device is working properly, whether the camera is used by another app, or try to rejoin the channel. - - - - 5: The local video encoding fails. - - + + + + 3: The local video capturing device is in use. Prompt the user to check if + the camera is being used by another app, or try to rejoin the channel. + + + + 4: The local video capture fails. Prompt the user to check whether the video + capture device is working properly, whether the camera is used by another + app, or try to rejoin the channel. + + + + 5: The local video encoding fails. + + - 6: (iOS only) The app is in the background. Prompt the user that video capture cannot be performed normally when the app is in the background. + 6: (iOS only) The app is + in the background. Prompt the user that video capture cannot be + performed normally when the app is in the background. 6: Reserved. - - - 7: (iOS only) The current app window is running in Slide Over, Split View, or Picture in Picture mode, and another app is occupying the camera. Prompt the user that the app cannot capture video properly when it is running in Slide Over, Split View, or Picture in Picture mode and another app is occupying the camera. + + + 7: (iOS only) The current + app window is running in Slide Over, Split View, or Picture in Picture + mode, and another app is occupying the camera. Prompt the user that the + app cannot capture video properly when it is running in Slide Over, + Split View, or Picture in Picture mode and another app is occupying the + camera. 7: Reserved. - - - 8: Fails to find a local video capture device. Remind the user to check whether the camera is connected to the device properly or the camera is working properly, and then to rejoin the channel. - - - - 9: (macOS only) The video capture device currently in use is disconnected (such as being unplugged). - 9: Reserved. - - - - 10: (macOS and Windows only) The SDK cannot find the video device in the video device list. Check whether the ID of the video device is valid. - - - - 11: (macOS and Windows only) The shared window is minimized when you call the method to share a window. The SDK cannot share a minimized window. Please prompt the user to unminimize the shared window. - 11: Reserved. - - - - -

    12: (macOS and Windows only) The error code indicates that a window shared by the window ID has been closed or a full-screen window shared by the window ID has exited full-screen mode. After exiting full-screen mode, remote users cannot see the shared window. To prevent remote users from seeing a black screen, Agora recommends that you immediately stop screen sharing.

    -

    Common scenarios reporting this error code:

      -
    • The local user closes the shared window.
    • -
    • The local user shows some slides in full-screen mode first, and then shares the windows of the slides. After the user exits full-screen mode, the SDK reports this error code.
    • -
    • The local user watches a web video or reads a web document in full-screen mode first, and then shares the window of the web video or document. After the user exits full-screen mode, the SDK reports this error code.
    • -

    -
    -
    - - - 13: (Windows only) The window being shared is overlapped by another window, so the overlapped area is blacked out by the SDK during window sharing. - - - - 14: (Android only) Video capture is interrupted. Possible reasons include the following:
      -
    • The camera is being used by another app. Prompt the user to check if the camera is being used by another app.
    • -
    • The current app has been switched to the background. You can use foreground services to notify the operating system and ensure that the app can still collect video when it switches to the background. See .
    • -
    -
    - - - 15: (Android only) The video capture device encounters an error. Prompt the user to close and restart the camera to restore functionality. If this operation does not solve the problem, check if the camera has a hardware failure. - - - - 20: (Windows only) The SDK does not support sharing this type of window. Prompt the user that this type of window sharing is not supported. Try sharing the entire screen instead. - - - - 21: (Windows only) The screen has not captured any data available for window sharing. - + + + 8: Fails to find a local video capture device. Remind the user to check + whether the camera is connected to the device properly or the camera is + working properly, and then to rejoin the channel. + + + + 9: (macOS only) The + video capture device currently in use is disconnected (such as being + unplugged). + 9: Reserved. + + + + 10: (macOS and + Windows only) The SDK cannot find the video device in the video + device list. Check whether the ID of the video device is + valid. + + + + 11: (macOS and Windows + only) The shared window is minimized when you call the method to share a window. + The SDK cannot share a minimized window. Please prompt the user to + unminimize the shared window. + 11: Reserved. + + + + +

    12: (macOS and + Windows only) The error code indicates that a window shared + by the window ID has been closed or a full-screen window shared by + the window ID has exited full-screen mode. After exiting full-screen + mode, remote users cannot see the shared window. To prevent remote + users from seeing a black screen, Agora recommends that you + immediately stop screen sharing.

    +

    Common scenarios reporting this error code:

      +
    • The local user closes the shared window.
    • +
    • The local user shows some slides in full-screen mode first, and + then shares the windows of the slides. After the user exits + full-screen mode, the SDK reports this error code.
    • +
    • The local user watches a web video or reads a web document in + full-screen mode first, and then shares the window of the web + video or document. After the user exits full-screen mode, the + SDK reports this error code.
    • +

    +
    +
    + + + 13: (Windows only) The window being shared is overlapped by another window, + so the overlapped area is blacked out by the SDK during window sharing. + + + + 14: (Android only) Video capture is + interrupted. Possible reasons include the following:
      +
    • The camera is being used by another app. Prompt the user to check if + the camera is being used by another app.
    • +
    • The current app has been switched to the background. You can use + foreground services to notify the operating system and ensure that + the app can still collect video when it switches to the background. + See .
    • +
    +
    + + + 15: (Android only) The video capture + device encounters an error. Prompt the user to close and restart the camera + to restore functionality. If this operation does not solve the problem, + check if the camera has a hardware failure. + + + + 20: (Windows only) The SDK does not support sharing this type of window. + Prompt the user that this type of window sharing is not supported. Try + sharing the entire screen instead. + + + + 21: (Windows only) The screen has not captured any data available for window + sharing. + 22: (Windows and macOS only) No permission for screen capture. - 24: (Windows only) An unexpected error occurred during screen sharing (possibly due to window blocking failure), resulting in decreased performance, but the screen sharing process itself was not affected. + 24: (Windows only) An unexpected error occurred during screen sharing + (possibly due to window blocking failure), resulting in decreased + performance, but the screen sharing process itself was not affected. - 25: (Windows only) The window for the current screen capture is hidden and not visible on the current screen. + 25: (Windows only) The window for the current screen capture is hidden and + not visible on the current screen. - - 26: (Windows only) The window for screen capture has been restored from hidden state. + + 26: (Windows only) The window for screen capture has been restored from + hidden state. - - 27: (macOS and Windows only) The window for screen capture has been restored from the minimized state. + + 27: (macOS and Windows only) The + window for screen capture has been restored from the minimized state. - 28: (Windows only) Screen capture has been paused. Common scenarios reporting this error code: The current screen may have been switched to a secure desktop, such as a UAC dialog box or Winlogon desktop. + 28: (Windows only) Screen capture has been paused. Common scenarios + reporting this error code: The current screen may have been switched to a + secure desktop, such as a UAC dialog box or Winlogon desktop. @@ -128,8 +194,10 @@ - 101: The current video capture device is unavailable due to excessive system pressure. + 101: The current video capture device is unavailable due to excessive system + pressure. -
    + + diff --git a/en-US/dita/RTC-NG/API/enum_localvideostreamstate.dita b/en-US/dita/RTC-NG/API/enum_localvideostreamstate.dita index f83d96d2126..54ba2cb31fe 100644 --- a/en-US/dita/RTC-NG/API/enum_localvideostreamstate.dita +++ b/en-US/dita/RTC-NG/API/enum_localvideostreamstate.dita @@ -7,22 +7,26 @@
    Enumerator - - - 0: The local video is in the initial state. - - - - 1: The local video capturing device starts successfully. The SDK also reports this state when you call to share a maximized window. - - - - 2: The first video frame is successfully encoded. - - - - 3: Fails to start the local video. - -
    + + + 0: The local video is in the initial state. + + + + 1: The local video capturing device starts successfully. The SDK also reports this state + when you call to share a + maximized window. + + + + 2: The first video frame is successfully encoded. + + + + 3: Fails to start the local video. + + + diff --git a/en-US/dita/RTC-NG/API/enum_logfiltertype.dita b/en-US/dita/RTC-NG/API/enum_logfiltertype.dita index ebd036fe18c..a3d3085fef3 100644 --- a/en-US/dita/RTC-NG/API/enum_logfiltertype.dita +++ b/en-US/dita/RTC-NG/API/enum_logfiltertype.dita @@ -7,30 +7,39 @@
    Enumerator - - - 0: Do not output any log information. - - - - 0x080f: Output all log information. Set your log filter to this level if you want to get the most complete log file. - - - - 0x000f: Output , , , and level log information. We recommend setting your log filter to this level. - - - - 0x000e: Output , , and level log information. - - - - 0x000c: Output and level log information. - - - - 0x0008: Output level log information. - -
    + + + 0: Do not output any log information. + + + + 0x080f: Output all log information. Set your log filter to this level if you + want to get the most complete log file. + + + + 0x000f: Output , , , and + level log information. We recommend + setting your log filter to this level. + + + + 0x000e: Output , , and + level log information. + + + + 0x000c: Output and level log information. + + + + 0x0008: Output level log + information. + + + diff --git a/en-US/dita/RTC-NG/API/enum_loglevel.dita b/en-US/dita/RTC-NG/API/enum_loglevel.dita index 684408c88a6..9eb291beb72 100644 --- a/en-US/dita/RTC-NG/API/enum_loglevel.dita +++ b/en-US/dita/RTC-NG/API/enum_loglevel.dita @@ -7,26 +7,31 @@
    Enumerator - - - 0: Do not output any log information. - - - - 0x0001: (Default) Output FATAL, ERROR, WARN, and INFO level log information. We recommend setting your log filter to this level. - - - - 0x0002: Output FATAL, ERROR, and WARN level log information. - - - - 0x0004: Output FATAL and ERROR level log information. - - - - 0x0008: Output FATAL level log information. - -
    + + + 0: Do not output any log information. + + + + 0x0001: (Default) Output FATAL, ERROR, + WARN, and INFO level log information. + We recommend setting your log filter to this level. + + + + 0x0002: Output FATAL, ERROR, and + WARN level log information. + + + + 0x0004: Output FATAL and ERROR level log + information. + + + + 0x0008: Output FATAL level log information. + + + diff --git a/en-US/dita/RTC-NG/API/enum_lowlightenhancelevel.dita b/en-US/dita/RTC-NG/API/enum_lowlightenhancelevel.dita index ef681aefffa..d0f0388718b 100644 --- a/en-US/dita/RTC-NG/API/enum_lowlightenhancelevel.dita +++ b/en-US/dita/RTC-NG/API/enum_lowlightenhancelevel.dita @@ -1,20 +1,28 @@ - <ph keyref="LOW_LIGHT_ENHANCE_LEVEL"/> + + <ph keyref="LOW_LIGHT_ENHANCE_LEVEL"/> + The low-light enhancement level.
    Enumerator - - - 0: (Default) Promotes video quality during low-light enhancement. It processes the brightness, details, and noise of the video image. The performance consumption is moderate, the processing speed is moderate, and the overall video quality is optimal. - - - - 1: Promotes performance during low-light enhancement. It processes the brightness and details of the video image. The processing speed is faster. - -
    + + + 0: (Default) Promotes video quality during low-light enhancement. It + processes the brightness, details, and noise of the video image. The + performance consumption is moderate, the processing speed is moderate, + and the overall video quality is optimal. + + + + 1: Promotes performance during low-light enhancement. It processes the + brightness and details of the video image. The processing speed is + faster. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_lowlightenhancemode.dita b/en-US/dita/RTC-NG/API/enum_lowlightenhancemode.dita index f528fa8a307..056b4744dce 100644 --- a/en-US/dita/RTC-NG/API/enum_lowlightenhancemode.dita +++ b/en-US/dita/RTC-NG/API/enum_lowlightenhancemode.dita @@ -1,20 +1,27 @@ - <ph keyref="LOW_LIGHT_ENHANCE_MODE"/> + + <ph keyref="LOW_LIGHT_ENHANCE_MODE"/> + The low-light enhancement mode.
    Enumerator - - - 0: (Default) Automatic mode. The SDK automatically enables or disables the low-light enhancement feature according to the ambient light to compensate for the lighting level or prevent overexposure, as necessary. - - - - 1: Manual mode. Users need to enable or disable the low-light enhancement feature manually. - -
    + + + 0: (Default) Automatic mode. The SDK automatically enables or disables + the low-light enhancement feature according to the ambient light to + compensate for the lighting level or prevent overexposure, as + necessary. + + + + 1: Manual mode. Users need to enable or disable the low-light + enhancement feature manually. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_maxchannelidlengthtype.dita b/en-US/dita/RTC-NG/API/enum_maxchannelidlengthtype.dita index f5397bc739f..2771b994e65 100644 --- a/en-US/dita/RTC-NG/API/enum_maxchannelidlengthtype.dita +++ b/en-US/dita/RTC-NG/API/enum_maxchannelidlengthtype.dita @@ -2,15 +2,17 @@ <ph keyref="MAX_CHANNEL_ID_LENGTH_TYPE"/> - The maximum length of the channel name. + The maximum length of the channel + name.
    Enumerator - - - The maximum length of the channel name is 64 bytes. - -
    + + + The maximum length of the channel name is 64 bytes. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_maxdeviceidlengthtype.dita b/en-US/dita/RTC-NG/API/enum_maxdeviceidlengthtype.dita index ff77cc30282..3cba9d26a84 100644 --- a/en-US/dita/RTC-NG/API/enum_maxdeviceidlengthtype.dita +++ b/en-US/dita/RTC-NG/API/enum_maxdeviceidlengthtype.dita @@ -7,10 +7,11 @@
    Enumerator - - - The maximum length of the device ID is 512 bytes. - -
    + + + The maximum length of the device ID is 512 bytes. + + + diff --git a/en-US/dita/RTC-NG/API/enum_maxuseraccountlengthtype.dita b/en-US/dita/RTC-NG/API/enum_maxuseraccountlengthtype.dita index 9d74f133f76..c6204c08b26 100644 --- a/en-US/dita/RTC-NG/API/enum_maxuseraccountlengthtype.dita +++ b/en-US/dita/RTC-NG/API/enum_maxuseraccountlengthtype.dita @@ -2,15 +2,17 @@ <ph keyref="MAX_USER_ACCOUNT_LENGTH_TYPE"/> - The maximum length of the user account. + The maximum length of the user + account.
    Enumerator - - - The maximum length of the user account is 256 bytes. - -
    + + + The maximum length of the user account is 256 bytes. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_mediadevicestatetype.dita b/en-US/dita/RTC-NG/API/enum_mediadevicestatetype.dita index a993b1489aa..a3eedaadd08 100644 --- a/en-US/dita/RTC-NG/API/enum_mediadevicestatetype.dita +++ b/en-US/dita/RTC-NG/API/enum_mediadevicestatetype.dita @@ -7,26 +7,27 @@
    Enumerator - - - 0: The device is ready for use. - - - - 1: The device is in use. - - - - 2: The device is disabled. - - - - 4: The device is not found. - - - - 8: The device is unplugged. - -
    + + + 0: The device is ready for use. + + + + 1: The device is in use. + + + + 2: The device is disabled. + + + + 4: The device is not found. + + + + 8: The device is unplugged. + + + diff --git a/en-US/dita/RTC-NG/API/enum_mediadevicetype.dita b/en-US/dita/RTC-NG/API/enum_mediadevicetype.dita index a82c37e0b0b..a441ba2f226 100644 --- a/en-US/dita/RTC-NG/API/enum_mediadevicetype.dita +++ b/en-US/dita/RTC-NG/API/enum_mediadevicetype.dita @@ -7,38 +7,41 @@
    Enumerator - - - -1: Unknown device type. - - - - 0: Audio playback device. - - - - 1: Audio capturing device. - - - - 2: Video rendering device (graphics card). - - - - 3: Video capturing device. - - - - 4: Audio playback device for an app. - - - - (For macOS only)5: Virtual audio playback device (virtual sound card). - - - - (For macOS only)6: Virtual audio capturing device (virtual sound card). - -
    + + + -1: Unknown device type. + + + + 0: Audio playback device. + + + + 1: Audio capturing device. + + + + 2: Video rendering device (graphics card). + + + + 3: Video capturing device. + + + + 4: Audio playback device for an app. + + + + (For macOS only)5: + Virtual audio playback device (virtual sound card). + + + + (For macOS only)6: + Virtual audio capturing device (virtual sound card). + + + diff --git a/en-US/dita/RTC-NG/API/enum_mediaplayererror.dita b/en-US/dita/RTC-NG/API/enum_mediaplayererror.dita index 327a5b09891..07f05ccc912 100644 --- a/en-US/dita/RTC-NG/API/enum_mediaplayererror.dita +++ b/en-US/dita/RTC-NG/API/enum_mediaplayererror.dita @@ -7,78 +7,81 @@
    Enumerator - - - 0: No error. - - - - -1: Invalid arguments. - - - - -2: Internal error. - - - - -3: No resource. - - - - -4: Invalid media resource. - - - - -5: The media stream type is unknown. - - - - -6: The object is not initialized. - - - - -7: The codec is not supported. - - - - -8: Invalid renderer. - - - - -9: An error with the internal state of the player occurs. - - - - -10: The URL of the media resource cannot be found. - - - - -11: Invalid connection between the player and the Agora Server. - - - - -12: The playback buffer is insufficient. - - - - -13: The playback is interrupted. - - - - -14: The SDK does not support the method being called. - - - - -15: The authentication information of the media resource is expired. To update the authentication information, see . - - - - -16: An internal code. - - - - -17: An unknown error. - -
    + + + 0: No error. + + + + -1: Invalid arguments. + + + + -2: Internal error. + + + + -3: No resource. + + + + -4: Invalid media resource. + + + + -5: The media stream type is unknown. + + + + -6: The object is not initialized. + + + + -7: The codec is not supported. + + + + -8: Invalid renderer. + + + + -9: An error with the internal state of the player occurs. + + + + -10: The URL of the media resource cannot be found. + + + + -11: Invalid connection between the player and the Agora Server. + + + + -12: The playback buffer is insufficient. + + + + -13: The playback is interrupted. + + + + -14: The SDK does not support the method being called. + + + + -15: The authentication information of the media resource is expired. + To update the authentication information, see + . + + + + -16: An internal code. + + + + -17: An unknown error. + + + diff --git a/en-US/dita/RTC-NG/API/enum_mediaplayerevent.dita b/en-US/dita/RTC-NG/API/enum_mediaplayerevent.dita index 15af2cf4bc0..32ae7c0bd26 100644 --- a/en-US/dita/RTC-NG/API/enum_mediaplayerevent.dita +++ b/en-US/dita/RTC-NG/API/enum_mediaplayerevent.dita @@ -7,66 +7,67 @@
    Enumerator - - - -1: An unknown event. - - - - 0: The player begins to seek to a new playback position. - - - - 1: The player finishes seeking to a new playback position. - - - - 2: An error occurs when seeking to a new playback position. - - - - 5: The audio track used by the player has been changed. - - - - 6: The currently buffered data is not enough to support playback. - - - - 7: The currently buffered data is just enough to support playback. - - - - 8: The audio or video playback freezes. - - - - 9: The audio or video playback resumes without freezing. - - - - 10: The player starts switching the media resource. - - - - 11: Media resource switching is complete. - - - - 12: Media resource switching error. - - - - 13: The first video frame is rendered. - - - - 14: The cached media files reach the limit in number. - - - - 15: The cached media files reach the limit in aggregate storage space. - -
    + + + -1: An unknown event. + + + + 0: The player begins to seek to a new playback position. + + + + 1: The player finishes seeking to a new playback position. + + + + 2: An error occurs when seeking to a new playback position. + + + + 5: The audio track used by the player has been changed. + + + + 6: The currently buffered data is not enough to support playback. + + + + 7: The currently buffered data is just enough to support playback. + + + + 8: The audio or video playback freezes. + + + + 9: The audio or video playback resumes without freezing. + + + + 10: The player starts switching the media resource. + + + + 11: Media resource switching is complete. + + + + 12: Media resource switching error. + + + + 13: The first video frame is rendered. + + + + 14: The cached media files reach the limit in number. + + + + 15: The cached media files reach the limit in aggregate storage space. + + + diff --git a/en-US/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita b/en-US/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita index 093b73734db..73bc9c37962 100644 --- a/en-US/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita +++ b/en-US/dita/RTC-NG/API/enum_mediaplayermetadatatype.dita @@ -7,14 +7,15 @@
    Enumerator - - - 0: The type is unknown. - - - - 1: The type is SEI. - -
    + + + 0: The type is unknown. + + + + 1: The type is SEI. + + + diff --git a/en-US/dita/RTC-NG/API/enum_mediaplayerplaybackspeed.dita b/en-US/dita/RTC-NG/API/enum_mediaplayerplaybackspeed.dita index e758d4d5e74..fc227a966dc 100644 --- a/en-US/dita/RTC-NG/API/enum_mediaplayerplaybackspeed.dita +++ b/en-US/dita/RTC-NG/API/enum_mediaplayerplaybackspeed.dita @@ -7,30 +7,31 @@
    Enumerator - - - 100: The original playback speed. - - - - 50: The playback speed is 0.50 times the original speed. - - - - 75: The playback speed is 0.75 times the original speed. - - - - 125: The playback speed is 1.25 times the original speed. - - - - 150: The playback speed is 1.50 times the original speed. - - - - 200: The playback speed is 2.00 times the original speed. - -
    + + + 100: The original playback speed. + + + + 50: The playback speed is 0.50 times the original speed. + + + + 75: The playback speed is 0.75 times the original speed. + + + + 125: The playback speed is 1.25 times the original speed. + + + + 150: The playback speed is 1.50 times the original speed. + + + + 200: The playback speed is 2.00 times the original speed. + + + diff --git a/en-US/dita/RTC-NG/API/enum_mediaplayerreason.dita b/en-US/dita/RTC-NG/API/enum_mediaplayerreason.dita index df0c836b0b0..c619d97fa7e 100644 --- a/en-US/dita/RTC-NG/API/enum_mediaplayerreason.dita +++ b/en-US/dita/RTC-NG/API/enum_mediaplayerreason.dita @@ -2,83 +2,87 @@ <ph keyref="MEDIA_PLAYER_REASON"/> - Reasons for the changes in the media player status. + Reasons for the changes in the media player + status.
    Enumerator - - - 0: No error. - - - - -1: Invalid arguments. - - - - -2: Internal error. - - - - -3: No resource. - - - - -4: Invalid media resource. - - - - -5: The media stream type is unknown. - - - - -6: The object is not initialized. - - - - -7: The codec is not supported. - - - - -8: Invalid renderer. - - - - -9: An error with the internal state of the player occurs. - - - - -10: The URL of the media resource cannot be found. - - - - -11: Invalid connection between the player and the Agora Server. - - - - -12: The playback buffer is insufficient. - - - - -13: The playback is interrupted. - - - - -14: The SDK does not support the method being called. - - - - -15: The authentication information of the media resource is expired. To update the authentication information, see . - - - - -16: An internal code. - - - - -17: An unknown error. - -
    + + + 0: No error. + + + + -1: Invalid arguments. + + + + -2: Internal error. + + + + -3: No resource. + + + + -4: Invalid media resource. + + + + -5: The media stream type is unknown. + + + + -6: The object is not initialized. + + + + -7: The codec is not supported. + + + + -8: Invalid renderer. + + + + -9: An error with the internal state of the player occurs. + + + + -10: The URL of the media resource cannot be found. + + + + -11: Invalid connection between the player and the Agora Server. + + + + -12: The playback buffer is insufficient. + + + + -13: The playback is interrupted. + + + + -14: The SDK does not support the method being called. + + + + -15: The authentication information of the media resource is expired. + To update the authentication information, see + . + + + + -16: An internal code. + + + + -17: An unknown error. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_mediaplayerstate.dita b/en-US/dita/RTC-NG/API/enum_mediaplayerstate.dita index 5ef8b12cf16..ebdced6ee36 100644 --- a/en-US/dita/RTC-NG/API/enum_mediaplayerstate.dita +++ b/en-US/dita/RTC-NG/API/enum_mediaplayerstate.dita @@ -7,46 +7,48 @@
    Enumerator - - - -1: The player state is unknown. - - - - 0: The default state. The media player returns this state code before you open the media resource or after you stop the playback. - - - - 1: Opening the media resource. - - - - 2: Opens the media resource successfully. - - - - 3: The media resource is playing. - - - - 4: Pauses the playback. - - - - 5: The playback is complete. - - - - 6: The loop is complete. - - - - 7: The playback stops. - - - - 100: The media player fails to play the media resource. - -
    + + + -1: The player state is unknown. + + + + 0: The default state. The media player returns this state code before you + open the media resource or after you stop the playback. + + + + 1: Opening the media resource. + + + + 2: Opens the media resource successfully. + + + + 3: The media resource is playing. + + + + 4: Pauses the playback. + + + + 5: The playback is complete. + + + + 6: The loop is complete. + + + + 7: The playback stops. + + + + 100: The media player fails to play the media resource. + + + diff --git a/en-US/dita/RTC-NG/API/enum_mediarecordercontainerformat.dita b/en-US/dita/RTC-NG/API/enum_mediarecordercontainerformat.dita index 52596ce0a41..57611205729 100644 --- a/en-US/dita/RTC-NG/API/enum_mediarecordercontainerformat.dita +++ b/en-US/dita/RTC-NG/API/enum_mediarecordercontainerformat.dita @@ -7,14 +7,15 @@
    Enumerator - - - 1: (Default) MP4. - - - - Reserved parameter. - -
    + + + 1: (Default) MP4. + + + + Reserved parameter. + + + diff --git a/en-US/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita b/en-US/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita index 8caee344a60..621a69f7ef2 100644 --- a/en-US/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita +++ b/en-US/dita/RTC-NG/API/enum_mediarecorderstreamtype.dita @@ -7,18 +7,19 @@
    Enumerator - - - Only audio. - - - - Only video. - - - - (Default) Audio and video. - -
    + + + Only audio. + + + + Only video. + + + + (Default) Audio and video. + + + diff --git a/en-US/dita/RTC-NG/API/enum_mediasourcetype.dita b/en-US/dita/RTC-NG/API/enum_mediasourcetype.dita index 87da0f338b8..3a759318cff 100644 --- a/en-US/dita/RTC-NG/API/enum_mediasourcetype.dita +++ b/en-US/dita/RTC-NG/API/enum_mediasourcetype.dita @@ -1,40 +1,41 @@ - <ph keyref="MEDIA_SOURCE_TYPE"/> - Media source type. - -
    - Enumerator - - - - 0: Audio playback device. - - - - 1: Audio capturing device. - - - - 2: The primary camera. - - - - 3: A secondary camera. - - - - 6: Custom video source. - - - - 13: Video processed by the speech driven extension. - - - - 100: Unknown media source. - -
    -
    + <ph keyref="MEDIA_SOURCE_TYPE"/> + Media source type. + +
    + Enumerator + + + + 0: Audio playback device. + + + + 1: Audio capturing device. + + + + 2: The primary camera. + + + + 3: A secondary camera. + + + + 6: Custom video source. + + + + 13: Video processed by the speech driven extension. + + + + 100: Unknown media source. + + +
    +
    diff --git a/en-US/dita/RTC-NG/API/enum_mediastreamtype.dita b/en-US/dita/RTC-NG/API/enum_mediastreamtype.dita index 3fa462e1771..97420296d1b 100644 --- a/en-US/dita/RTC-NG/API/enum_mediastreamtype.dita +++ b/en-US/dita/RTC-NG/API/enum_mediastreamtype.dita @@ -26,5 +26,6 @@ 3: The subtitle stream. - + + diff --git a/en-US/dita/RTC-NG/API/enum_mediatraceevent.dita b/en-US/dita/RTC-NG/API/enum_mediatraceevent.dita index 235e6875cd6..e7cc595c299 100644 --- a/en-US/dita/RTC-NG/API/enum_mediatraceevent.dita +++ b/en-US/dita/RTC-NG/API/enum_mediatraceevent.dita @@ -2,27 +2,29 @@ <ph keyref="MEDIA_TRACE_EVENT"/> - The rendering state of the media frame. + The rendering state of the media + frame.
    - -
    Since
    -
    v4.1.1
    -
    + +
    Since
    +
    v4.1.1
    +
    Enumerator - - - 0: The video frame has been rendered. - + + + 0: The video frame has been rendered. + 1: The video frame has been decoded. -
    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_metadatatype.dita b/en-US/dita/RTC-NG/API/enum_metadatatype.dita index 5b87a170292..f92643469a5 100644 --- a/en-US/dita/RTC-NG/API/enum_metadatatype.dita +++ b/en-US/dita/RTC-NG/API/enum_metadatatype.dita @@ -2,19 +2,21 @@ <ph keyref="METADATA_TYPE"/> - Metadata type of the observer. We only support video metadata for now. + Metadata type of the observer. We only support video + metadata for now.
    Enumerator - - - The type of metadata is unknown. - - - - The type of metadata is video. - -
    + + + The type of metadata is unknown. + + + + The type of metadata is video. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_musiccachestatustype.dita b/en-US/dita/RTC-NG/API/enum_musiccachestatustype.dita index 4910d9e89ca..60442e4e4ec 100644 --- a/en-US/dita/RTC-NG/API/enum_musiccachestatustype.dita +++ b/en-US/dita/RTC-NG/API/enum_musiccachestatustype.dita @@ -24,5 +24,6 @@ 1: 音乐资源正在缓存。 - + + diff --git a/en-US/dita/RTC-NG/API/enum_musiccontentcenterstatereason.dita b/en-US/dita/RTC-NG/API/enum_musiccontentcenterstatereason.dita index cae13d25fce..c3d8fb57d71 100644 --- a/en-US/dita/RTC-NG/API/enum_musiccontentcenterstatereason.dita +++ b/en-US/dita/RTC-NG/API/enum_musiccontentcenterstatereason.dita @@ -2,55 +2,57 @@ <ph keyref="MusicContentCenterStateReason"/> - The status codes of requests to music content center. + The status codes of requests to music content + center.
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    Enumerator - - - 0: The request succeeds. - - - - 1:一般错误,无明确归因。 - - - - 2:网关异常。 Possible reasons include the following:
      -
    • 当前使用的 Token 已过期。 请重新生成 Token。
    • -
    • The token is invalid. 请确保你使用的是 RTM Token。
    • -
    • Network error. 请检查你的网络。
    • -
    -
    - - - 3:权限错误或音乐资源不存在。 请确保你的项目已开通声网音乐内容中心权限,请 - - - - 4:内部数据解析错误。 请 - - - - 5:音乐资源加载时出错。 请 - - - - 6:音乐资源解密时出错。 请 - - - - 7:HTTP 内部出现错误。 请稍后重试。 - -
    + + + 0: The request succeeds. + + + + 1:一般错误,无明确归因。 + + + + 2:网关异常。 Possible reasons include the following:
      +
    • 当前使用的 Token 已过期。 请重新生成 Token。
    • +
    • The token is invalid. 请确保你使用的是 RTM Token。
    • +
    • Network error. 请检查你的网络。
    • +
    +
    + + + 3:权限错误或音乐资源不存在。 请确保你的项目已开通声网音乐内容中心权限,请 + + + + 4:内部数据解析错误。 请 + + + + 5:音乐资源加载时出错。 请 + + + + 6:音乐资源解密时出错。 请 + + + + 7:HTTP 内部出现错误。 请稍后重试。 + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_musiccontentcenterstatuscode.dita b/en-US/dita/RTC-NG/API/enum_musiccontentcenterstatuscode.dita index 2030a8ec245..5fc3f2a6036 100644 --- a/en-US/dita/RTC-NG/API/enum_musiccontentcenterstatuscode.dita +++ b/en-US/dita/RTC-NG/API/enum_musiccontentcenterstatuscode.dita @@ -2,51 +2,53 @@ <ph keyref="MusicContentCenterStatusCode"/> - The status codes of requests to music content center. + The status codes of requests to music content + center.
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    Enumerator - - - 0: The request succeeds. - - - - 1:一般错误,无明确归因。 - - - - 2:网关异常。 Possible reasons include the following:
      -
    • 当前使用的 Token 已过期。 请重新生成 Token。
    • -
    • The token is invalid. 请确保你使用的是 RTM Token。
    • -
    • Network error. 请检查你的网络。
    • -
    -
    - - - 3:权限错误或音乐资源不存在。 请确保你的项目已开通声网音乐内容中心权限,请 - - - - 4:内部数据解析错误。 请 - - - - 5:音乐资源加载时出错。 请 - - - - 6:音乐资源解密时出错。 请 - -
    + + + 0: The request succeeds. + + + + 1:一般错误,无明确归因。 + + + + 2:网关异常。 Possible reasons include the following:
      +
    • 当前使用的 Token 已过期。 请重新生成 Token。
    • +
    • The token is invalid. 请确保你使用的是 RTM Token。
    • +
    • Network error. 请检查你的网络。
    • +
    +
    + + + 3:权限错误或音乐资源不存在。 请确保你的项目已开通声网音乐内容中心权限,请 + + + + 4:内部数据解析错误。 请 + + + + 5:音乐资源加载时出错。 请 + + + + 6:音乐资源解密时出错。 请 + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_musicontentcenterstatuscode.dita b/en-US/dita/RTC-NG/API/enum_musicontentcenterstatuscode.dita index 80324879c72..6d952a375fa 100644 --- a/en-US/dita/RTC-NG/API/enum_musicontentcenterstatuscode.dita +++ b/en-US/dita/RTC-NG/API/enum_musicontentcenterstatuscode.dita @@ -2,27 +2,29 @@ <ph keyref="MusicContentCenterStatusCode"/> - The status codes of requests to music content center. + The status codes of requests to music content + center.
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    Enumerator - - - 0: The request succeeds. - + + + 0: The request succeeds. + 1: The request fails. -
    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_networktype.dita b/en-US/dita/RTC-NG/API/enum_networktype.dita index 14503c809ec..b1f25a3e944 100644 --- a/en-US/dita/RTC-NG/API/enum_networktype.dita +++ b/en-US/dita/RTC-NG/API/enum_networktype.dita @@ -5,40 +5,41 @@ Network type.
    - Enumerator - - - - -1: The network type is unknown. - - - - 0: The SDK disconnects from the network. - - - - 1: The network type is LAN. - - - - 2: The network type is Wi-Fi (including hotspots). - - - - 3: The network type is mobile 2G. - - - - 4: The network type is mobile 3G. - - - - 5: The network type is mobile 4G. - - - - 6: The network type is mobile 5G. - - -
    + Enumerator + + + + -1: The network type is unknown. + + + + 0: The SDK disconnects from the network. + + + + 1: The network type is LAN. + + + + 2: The network type is Wi-Fi (including hotspots). + + + + 3: The network type is mobile 2G. + + + + 4: The network type is mobile 3G. + + + + 5: The network type is mobile 4G. + + + + 6: The network type is mobile 5G. + + + + diff --git a/en-US/dita/RTC-NG/API/enum_observermode.dita b/en-US/dita/RTC-NG/API/enum_observermode.dita index 1113da49da2..14c4689be87 100644 --- a/en-US/dita/RTC-NG/API/enum_observermode.dita +++ b/en-US/dita/RTC-NG/API/enum_observermode.dita @@ -7,14 +7,16 @@
    Enumerator - - - Raw data mode, which means the SDK sends you raw data. - + + + Raw data mode, which means the SDK sends you raw data. + - Pointer mode, which means the SDK sends you the pointer to the raw data. + Pointer mode, which means the SDK sends you the pointer to the raw + data. -
    + + diff --git a/en-US/dita/RTC-NG/API/enum_orientationmode.dita b/en-US/dita/RTC-NG/API/enum_orientationmode.dita index 63627422569..9511081f1cb 100644 --- a/en-US/dita/RTC-NG/API/enum_orientationmode.dita +++ b/en-US/dita/RTC-NG/API/enum_orientationmode.dita @@ -7,23 +7,36 @@
    Enumerator - - - -

    0: (Default) The output video always follows the orientation of the captured video. The receiver takes the rotational information passed on from the video encoder. This mode applies to scenarios where video orientation can be adjusted on the receiver.

    -
      -
    • If the captured video is in landscape mode, the output video is in landscape mode.
    • -
    • If the captured video is in portrait mode, the output video is in portrait mode.
    • -
    -
    - - - 1: In this mode, the SDK always outputs videos in landscape (horizontal) mode. If the captured video is in portrait mode, the video encoder crops it to fit the output. Applies to situations where the receiving end cannot process the rotational information. For example, CDN live streaming. - - - - 2: In this mode, the SDK always outputs video in portrait (portrait) mode. If the captured video is in landscape mode, the video encoder crops it to fit the output. Applies to situations where the receiving end cannot process the rotational information. For example, CDN live streaming. - -
    + + + +

    0: (Default) The output video always follows the orientation of the + captured video. The receiver takes the rotational information passed on + from the video encoder. This mode applies to scenarios where video + orientation can be adjusted on the receiver.

    +
      +
    • If the captured video is in landscape mode, the output video is in + landscape mode.
    • +
    • If the captured video is in portrait mode, the output video is in + portrait mode.
    • +
    +
    +
    + + + 1: In this mode, the SDK always outputs videos in landscape (horizontal) + mode. If the captured video is in portrait mode, the video encoder crops it + to fit the output. Applies to situations where the receiving end cannot + process the rotational information. For example, CDN live streaming. + + + + 2: In this mode, the SDK always outputs video in portrait (portrait) mode. + If the captured video is in landscape mode, the video encoder crops it to + fit the output. Applies to situations where the receiving end cannot process + the rotational information. For example, CDN live streaming. + + + diff --git a/en-US/dita/RTC-NG/API/enum_permissiontype.dita b/en-US/dita/RTC-NG/API/enum_permissiontype.dita index e831927075f..3b7697a23ba 100644 --- a/en-US/dita/RTC-NG/API/enum_permissiontype.dita +++ b/en-US/dita/RTC-NG/API/enum_permissiontype.dita @@ -7,19 +7,21 @@
    Enumerator - - - 0: Permission for the audio capture device. - - - - 1: Permission for the camera. - - - - (For Android only) 2: Permission for screen sharing. - Reserved. - -
    + + + 0: Permission for the audio capture device. + + + + 1: Permission for the camera. + + + + (For Android only) 2: Permission for + screen sharing. + Reserved. + + + diff --git a/en-US/dita/RTC-NG/API/enum_playerpreloadevent.dita b/en-US/dita/RTC-NG/API/enum_playerpreloadevent.dita index 797e5bbf4cd..e9ddaf50cc9 100644 --- a/en-US/dita/RTC-NG/API/enum_playerpreloadevent.dita +++ b/en-US/dita/RTC-NG/API/enum_playerpreloadevent.dita @@ -2,23 +2,25 @@ <ph keyref="PLAYER_PRELOAD_EVENT"/> - Events that occur when media resources are preloaded. + Events that occur when media resources are + preloaded.
    Enumerator - - - 0: Starts preloading media resources. - - - - 1: Preloading media resources is complete. - - - - 2: An error occurs when preloading media resources. - -
    + + + 0: Starts preloading media resources. + + + + 1: Preloading media resources is complete. + + + + 2: An error occurs when preloading media resources. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_preloadstate.dita b/en-US/dita/RTC-NG/API/enum_preloadstate.dita index 5375d1d3b94..7b902f80725 100644 --- a/en-US/dita/RTC-NG/API/enum_preloadstate.dita +++ b/en-US/dita/RTC-NG/API/enum_preloadstate.dita @@ -6,31 +6,32 @@
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    Enumerator - - - 0: The preload of music assets is complete. - - - - 1: The preload of music assets fails. - - - - 2: The music assets are preloading. - - - - 3:缓存的音乐资源已被移除。 - -
    + + + 0: The preload of music assets is complete. + + + + 1: The preload of music assets fails. + + + + 2: The music assets are preloading. + + + + 3:缓存的音乐资源已被移除。 + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_preloadstatucode.dita b/en-US/dita/RTC-NG/API/enum_preloadstatucode.dita index 45e4015b3eb..df0a20dbb5b 100644 --- a/en-US/dita/RTC-NG/API/enum_preloadstatucode.dita +++ b/en-US/dita/RTC-NG/API/enum_preloadstatucode.dita @@ -6,31 +6,32 @@
    - -
    Since
    -
    v4.1.0
    -
    + +
    Since
    +
    v4.1.0
    +
    Enumerator - - - 0: The preload of music assets is complete. - - - - 1: The preload of music assets fails. - - - - 2: The music assets are preloading. - - - - 3:缓存的音乐资源已被移除。 - -
    + + + 0: The preload of music assets is complete. + + + + 1: The preload of music assets fails. + + + + 2: The music assets are preloading. + + + + 3:缓存的音乐资源已被移除。 + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_prioritytype.dita b/en-US/dita/RTC-NG/API/enum_prioritytype.dita index 793d8bdac4a..f96f28a58d2 100644 --- a/en-US/dita/RTC-NG/API/enum_prioritytype.dita +++ b/en-US/dita/RTC-NG/API/enum_prioritytype.dita @@ -7,14 +7,15 @@
    Enumerator - - - The user's priority is high. - - - - (Default) The user's priority is normal. - -
    + + + The user's priority is high. + + + + (Default) The user's priority is normal. + + + diff --git a/en-US/dita/RTC-NG/API/enum_proxytype.dita b/en-US/dita/RTC-NG/API/enum_proxytype.dita index 3e828537151..3b9e7e23d42 100644 --- a/en-US/dita/RTC-NG/API/enum_proxytype.dita +++ b/en-US/dita/RTC-NG/API/enum_proxytype.dita @@ -7,26 +7,31 @@
    Enumerator - - - 0: Reserved for future use. - - - - 1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP. - - - - 2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TCP/TLS 443. - - - - 3: Reserved for future use. - - - - 4: Automatic mode. In this mode, the SDK attempts a direct connection to SD-RTN™ and automatically switches to TCP/TLS 443 if the attempt fails. - -
    + + + 0: Reserved for future use. + + + + 1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy + mode. In this mode, the SDK always transmits data over UDP. + + + + 2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP + cloud proxy mode. In this mode, the SDK always transmits data over TCP/TLS + 443. + + + + 3: Reserved for future use. + + + + 4: Automatic mode. In this mode, the SDK attempts a direct connection to + SD-RTN™ and automatically switches to TCP/TLS 443 if the attempt fails. + + + diff --git a/en-US/dita/RTC-NG/API/enum_qualityadaptindication.dita b/en-US/dita/RTC-NG/API/enum_qualityadaptindication.dita index 6c9649a39a0..b9bc2248f44 100644 --- a/en-US/dita/RTC-NG/API/enum_qualityadaptindication.dita +++ b/en-US/dita/RTC-NG/API/enum_qualityadaptindication.dita @@ -2,23 +2,27 @@ <ph keyref="QUALITY_ADAPT_INDICATION"/> - Quality change of the local video in terms of target frame rate and target bit rate since last count. + Quality change of the local video in terms of target + frame rate and target bit rate since last count.
    Enumerator - - - 0: The local video quality stays the same. - - - - 1: The local video quality improves because the network bandwidth increases. - - - - 2: The local video quality deteriorates because the network bandwidth decreases. - -
    + + + 0: The local video quality stays the same. + + + + 1: The local video quality improves because the network bandwidth + increases. + + + + 2: The local video quality deteriorates because the network bandwidth + decreases. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_qualityreportformattype.dita b/en-US/dita/RTC-NG/API/enum_qualityreportformattype.dita index 7daa869f20f..bd0a251fa77 100644 --- a/en-US/dita/RTC-NG/API/enum_qualityreportformattype.dita +++ b/en-US/dita/RTC-NG/API/enum_qualityreportformattype.dita @@ -7,14 +7,15 @@
    Enumerator - - - 0: The quality report in JSON format. - - - - 1: The quality report in HTML format. - -
    + + + 0: The quality report in JSON format. + + + + 1: The quality report in HTML format. + + + diff --git a/en-US/dita/RTC-NG/API/enum_qualitytype.dita b/en-US/dita/RTC-NG/API/enum_qualitytype.dita index 8e1abc6eb49..a75cc588789 100644 --- a/en-US/dita/RTC-NG/API/enum_qualitytype.dita +++ b/en-US/dita/RTC-NG/API/enum_qualitytype.dita @@ -7,42 +7,44 @@
    Enumerator - - - 0: The network quality is unknown. - - - - 1: The network quality is excellent. - - - - 2: The network quality is quite good, but the bitrate may be slightly lower than excellent. - - - - 3: Users can feel the communication is slightly impaired. - - - - 4: Users cannot communicate smoothly. - - - - 5: The quality is so bad that users can barely communicate. - - - - 6: The network is down and users cannot communicate at all. - - - - 7: Users cannot detect the network quality (not in use). - - - - 8: Detecting the network quality. - -
    + + + 0: The network quality is unknown. + + + + 1: The network quality is excellent. + + + + 2: The network quality is quite good, but the bitrate may be slightly + lower than excellent. + + + + 3: Users can feel the communication is slightly impaired. + + + + 4: Users cannot communicate smoothly. + + + + 5: The quality is so bad that users can barely communicate. + + + + 6: The network is down and users cannot communicate at all. + + + + 7: Users cannot detect the network quality (not in use). + + + + 8: Detecting the network quality. + + + diff --git a/en-US/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita b/en-US/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita index 3474c4f8704..efec5f8709a 100644 --- a/en-US/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita +++ b/en-US/dita/RTC-NG/API/enum_rawaudioframeopmodetype.dita @@ -5,20 +5,34 @@ The use mode of the audio data.
    - Enumerator - - - - 0: Read-only mode, the user only read the original data from without any modification. Users only read the data returned by the SDK without modifying anything. For example, when users acquire the data with the Agora SDK, then start the media push. - - - - 1: Write-only mode, Usersreplace the data from with their own data and pass the data to the SDK for encoding. Users replace the returned data with their own data and pass the data to the SDK for encoding. For example, when users acquire the data. - - - - 2: Read and write mode, Users read the data from , modify it, and then play it. Users read the data returned by the SDK, modify it, and then play it. For example, when users have their own audio-effect processing module and perform some voice preprocessing, such as a voice change. - - -
    + Enumerator + + + + 0: Read-only mode, the user only read the original data from + without any modification. Users only read the data returned by the SDK without + modifying anything. For example, when users acquire the data with + the Agora SDK, then start the media push. + + + + 1: Write-only mode, Usersreplace the data from with their own data and pass the data to the + SDK for encoding. Users replace the returned + data with their own data and pass the data to the SDK for encoding. + For example, when users acquire the data. + + + + 2: Read and write mode, Users read the data from , modify it, and then play it. Users read the data returned by the SDK, modify it, and + then play it. For example, when users have their own audio-effect + processing module and perform some voice preprocessing, such as a voice + change. + + + + diff --git a/en-US/dita/RTC-NG/API/enum_recordererrorcode.dita b/en-US/dita/RTC-NG/API/enum_recordererrorcode.dita index 90b5379892a..89a6da247d7 100644 --- a/en-US/dita/RTC-NG/API/enum_recordererrorcode.dita +++ b/en-US/dita/RTC-NG/API/enum_recordererrorcode.dita @@ -7,26 +7,28 @@
    Enumerator - - - 0: No error. - - - - 1: The SDK fails to write the recorded data to a file. - - - - 2: The SDK does not detect any audio and video streams, or audio and video streams are interrupted for more than five seconds during recording. - - - - 3: The recording duration exceeds the upper limit. - - - - 4: The recording configuration changes. - -
    + + + 0: No error. + + + + 1: The SDK fails to write the recorded data to a file. + + + + 2: The SDK does not detect any audio and video streams, or audio and video + streams are interrupted for more than five seconds during recording. + + + + 3: The recording duration exceeds the upper limit. + + + + 4: The recording configuration changes. + + + diff --git a/en-US/dita/RTC-NG/API/enum_recorderreasoncode.dita b/en-US/dita/RTC-NG/API/enum_recorderreasoncode.dita index c67d996b53f..849d94cf742 100644 --- a/en-US/dita/RTC-NG/API/enum_recorderreasoncode.dita +++ b/en-US/dita/RTC-NG/API/enum_recorderreasoncode.dita @@ -7,26 +7,28 @@
    Enumerator - - - 0: No error. - - - - 1: The SDK fails to write the recorded data to a file. - - - - 2: The SDK does not detect any audio and video streams, or audio and video streams are interrupted for more than five seconds during recording. - - - - 3: The recording duration exceeds the upper limit. - - - - 4: The recording configuration changes. - -
    + + + 0: No error. + + + + 1: The SDK fails to write the recorded data to a file. + + + + 2: The SDK does not detect any audio and video streams, or audio and video + streams are interrupted for more than five seconds during recording. + + + + 3: The recording duration exceeds the upper limit. + + + + 4: The recording configuration changes. + + + diff --git a/en-US/dita/RTC-NG/API/enum_recorderstate.dita b/en-US/dita/RTC-NG/API/enum_recorderstate.dita index d1fb8dc7365..9a171d4e1f0 100644 --- a/en-US/dita/RTC-NG/API/enum_recorderstate.dita +++ b/en-US/dita/RTC-NG/API/enum_recorderstate.dita @@ -7,18 +7,20 @@
    Enumerator - - - -1: An error occurs during the recording. See for the reason. - - - - 2: The audio and video recording starts. - - - - 3: The audio and video recording stops. - -
    + + + -1: An error occurs during the recording. See for the reason. + + + + 2: The audio and video recording starts. + + + + 3: The audio and video recording stops. + + + diff --git a/en-US/dita/RTC-NG/API/enum_remoteaudiostate.dita b/en-US/dita/RTC-NG/API/enum_remoteaudiostate.dita index 4e223e000da..43df286ae87 100644 --- a/en-US/dita/RTC-NG/API/enum_remoteaudiostate.dita +++ b/en-US/dita/RTC-NG/API/enum_remoteaudiostate.dita @@ -7,26 +7,36 @@
    Enumerator - - - 0: The local audio is in the initial state. The SDK reports this state in the case of , or . - - - - 1: The first remote audio packet is received. - - - - 2: The remote audio stream is decoded and plays normally. The SDK reports this state in the case of , or . - - - - 3: The remote audio is frozen. The SDK reports this state in the case of . - - - - 4: The remote audio fails to start. The SDK reports this state in the case of . - -
    + + + 0: The local audio is in the initial state. The SDK reports this state in + the case of , or . + + + + 1: The first remote audio packet is received. + + + + 2: The remote audio stream is decoded and plays normally. The SDK reports + this state in the case of , or . + + + + 3: The remote audio is frozen. The SDK reports this state in the case of + . + + + + 4: The remote audio fails to start. The SDK reports this state in the case + of . + + + diff --git a/en-US/dita/RTC-NG/API/enum_remoteaudiostatereason.dita b/en-US/dita/RTC-NG/API/enum_remoteaudiostatereason.dita index 65736288563..473209eb735 100644 --- a/en-US/dita/RTC-NG/API/enum_remoteaudiostatereason.dita +++ b/en-US/dita/RTC-NG/API/enum_remoteaudiostatereason.dita @@ -2,43 +2,49 @@ <ph keyref="REMOTE_AUDIO_STATE_REASON"/> - The reason for the remote audio state change. + The reason for the remote audio state + change.
    Enumerator - - - 0: The SDK reports this reason when the audio state changes. - - - - 1: Network congestion. - - - - 2: Network recovery. - - - - 3: The local user stops receiving the remote audio stream or disables the audio module. - - - - 4: The local user resumes receiving the remote audio stream or enables the audio module. - - - - 5: The remote user stops sending the audio stream or disables the audio module. - - - - 6: The remote user resumes sending the audio stream or enables the audio module. - - - - 7: The remote user leaves the channel. - -
    + + + 0: The SDK reports this reason when the audio state changes. + + + + 1: Network congestion. + + + + 2: Network recovery. + + + + 3: The local user stops receiving the remote audio stream or disables + the audio module. + + + + 4: The local user resumes receiving the remote audio stream or enables + the audio module. + + + + 5: The remote user stops sending the audio stream or disables the audio + module. + + + + 6: The remote user resumes sending the audio stream or enables the + audio module. + + + + 7: The remote user leaves the channel. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_remotevideostate.dita b/en-US/dita/RTC-NG/API/enum_remotevideostate.dita index f8ff09df3ae..dd41694e3da 100644 --- a/en-US/dita/RTC-NG/API/enum_remotevideostate.dita +++ b/en-US/dita/RTC-NG/API/enum_remotevideostate.dita @@ -7,28 +7,47 @@
    Enumerator - - - 0: The remote video is in the initial state. The SDK reports this state in the case of , , or . - - - - 1: The first remote video packet is received. - - - - 2: The remote video stream is decoded and plays normally. The SDK reports this state in the case of , , , or . - 2: The remote video stream is decoded and plays normally. The SDK reports this state in the case of , , or . - - - - 3: The remote video is frozen. The SDK reports this state in the case of or . - 3: The remote video is frozen. The SDK reports this state in the case of . - - - - 4: The remote video fails to start. The SDK reports this state in the case of . - -
    + + + 0: The remote video is in the initial state. The SDK reports this state in + the case of , + , or . + + + + 1: The first remote video packet is received. + + + + 2: The remote video stream is + decoded and plays normally. The SDK reports this state in the case of + , , , or . + 2: The remote video stream is decoded and plays + normally. The SDK reports this state in the case of , , or . + + + + 3: The remote video is frozen. The + SDK reports this state in the case of or . + 3: The remote video is frozen. The SDK reports this + state in the case of . + + + + 4: The remote video fails to start. The SDK reports this state in the case + of . + + + diff --git a/en-US/dita/RTC-NG/API/enum_remotevideostatereason.dita b/en-US/dita/RTC-NG/API/enum_remotevideostatereason.dita index 7843be500ea..e96792c7bc6 100644 --- a/en-US/dita/RTC-NG/API/enum_remotevideostatereason.dita +++ b/en-US/dita/RTC-NG/API/enum_remotevideostatereason.dita @@ -2,59 +2,70 @@ <ph keyref="REMOTE_VIDEO_STATE_REASON"/> - The reason for the remote video state change. + The reason for the remote video state + change.
    Enumerator - - - 0: The SDK reports this reason when the video state changes. - - - - 1: Network congestion. - - - - 2: Network is recovered. - - - - 3: The local user stops receiving the remote video stream or disables the video module. - - - - 4: The local user resumes receiving the remote video stream or enables the video module. - - - - 5: The remote user stops sending the video stream or disables the video module. - - - - 6: The remote user resumes sending the video stream or enables the video module. - - - - 7: The remote user leaves the channel. - - - - 8: The remote audio-and-video stream falls back to the audio-only stream due to poor network conditions. - - - - 9: The remote audio-only stream switches back to the audio-and-video stream after the network conditions improve. - - - - 12: (iOS only) The remote user's app has switched to the background. - - - - 13: The local video decoder does not support decoding the remote video stream. - -
    + + + 0: The SDK reports this reason when the video state changes. + + + + 1: Network congestion. + + + + 2: Network is recovered. + + + + 3: The local user stops receiving the remote video stream or disables + the video module. + + + + 4: The local user resumes receiving the remote video stream or enables + the video module. + + + + 5: The remote user stops sending the video stream or disables the video + module. + + + + 6: The remote user resumes sending the video stream or enables the + video module. + + + + 7: The remote user leaves the channel. + + + + 8: The remote audio-and-video stream falls back to the audio-only + stream due to poor network conditions. + + + + 9: The remote audio-only stream switches back to the audio-and-video + stream after the network conditions improve. + + + + 12: (iOS only) The + remote user's app has switched to the background. + + + + 13: The local video decoder does not support decoding the remote video + stream. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_remotevideostreamtype.dita b/en-US/dita/RTC-NG/API/enum_remotevideostreamtype.dita index 90c0c29ac59..0d95003967e 100644 --- a/en-US/dita/RTC-NG/API/enum_remotevideostreamtype.dita +++ b/en-US/dita/RTC-NG/API/enum_remotevideostreamtype.dita @@ -5,16 +5,19 @@ The type of video streams.
    - Enumerator - - - - 0: High-quality video stream, that is, a video stream with high resolution and high bitrate. - - - - 1: Low-quality video stream, that is, a video stream with low resolution and low bitrate. - - -
    + Enumerator + + + + 0: High-quality video stream, that is, a video stream with high resolution + and high bitrate. + + + + 1: Low-quality video stream, that is, a video stream with low resolution and + low bitrate. + + + + diff --git a/en-US/dita/RTC-NG/API/enum_rendermode.dita b/en-US/dita/RTC-NG/API/enum_rendermode.dita index b798009badb..70fbaf2663a 100644 --- a/en-US/dita/RTC-NG/API/enum_rendermode.dita +++ b/en-US/dita/RTC-NG/API/enum_rendermode.dita @@ -7,18 +7,19 @@
    Enumerator - - - WebGL rendering. - - - - Software rendering. - - - - Customized rendering. - -
    + + + WebGL rendering. + + + + Software rendering. + + + + Customized rendering. + + + diff --git a/en-US/dita/RTC-NG/API/enum_rendermodetype.dita b/en-US/dita/RTC-NG/API/enum_rendermodetype.dita index 1cebd5f0742..9b156671640 100644 --- a/en-US/dita/RTC-NG/API/enum_rendermodetype.dita +++ b/en-US/dita/RTC-NG/API/enum_rendermodetype.dita @@ -7,29 +7,34 @@
    Enumerator - - - 1: Hidden mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). One dimension of the video may have clipped contents. - + + + 1: Hidden mode. Uniformly scale the video until one of its dimension fits + the boundary (zoomed to fit). One dimension of the video may have clipped + contents. + - - - 2: Fit mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to disparity in the aspect ratio are filled with black. - + + + 2: Fit mode. Uniformly scale the video until one of its dimension fits the + boundary (zoomed to fit). Areas that are not filled due to disparity in the + aspect ratio are filled with black. + - - - -
    - -
    Deprecated:
    -
    3: This mode is deprecated.
    -
    -
    -
    -
    -
    + + + +
    + +
    Deprecated:
    +
    3: This mode is deprecated.
    +
    +
    +
    +
    + + diff --git a/en-US/dita/RTC-NG/API/enum_rhythmplayererrortype.dita b/en-US/dita/RTC-NG/API/enum_rhythmplayererrortype.dita index e091f2829a8..da316292b03 100644 --- a/en-US/dita/RTC-NG/API/enum_rhythmplayererrortype.dita +++ b/en-US/dita/RTC-NG/API/enum_rhythmplayererrortype.dita @@ -7,26 +7,28 @@
    Enumerator - - - (0): The beat files are played normally without errors. - - - - 1: A general error; no specific reason. - - - - 801: There is an error when opening the beat files. - - - - 802: There is an error when playing the beat files. - - - - (803): The duration of the beat file exceeds the limit. The maximum duration is 1.2 seconds. - -
    + + + (0): The beat files are played normally without errors. + + + + 1: A general error; no specific reason. + + + + 801: There is an error when opening the beat files. + + + + 802: There is an error when playing the beat files. + + + + (803): The duration of the beat file exceeds the limit. The maximum duration + is 1.2 seconds. + + + diff --git a/en-US/dita/RTC-NG/API/enum_rhythmplayerreason.dita b/en-US/dita/RTC-NG/API/enum_rhythmplayerreason.dita index 9e69269396d..78b9959161f 100644 --- a/en-US/dita/RTC-NG/API/enum_rhythmplayerreason.dita +++ b/en-US/dita/RTC-NG/API/enum_rhythmplayerreason.dita @@ -7,26 +7,28 @@
    Enumerator - - - (0): The beat files are played normally without errors. - - - - 1: A general error; no specific reason. - - - - 801: There is an error when opening the beat files. - - - - 802: There is an error when playing the beat files. - - - - (803): The duration of the beat file exceeds the limit. The maximum duration is 1.2 seconds. - -
    + + + (0): The beat files are played normally without errors. + + + + 1: A general error; no specific reason. + + + + 801: There is an error when opening the beat files. + + + + 802: There is an error when playing the beat files. + + + + (803): The duration of the beat file exceeds the limit. The maximum duration + is 1.2 seconds. + + + diff --git a/en-US/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita b/en-US/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita index 05ea8a3974e..db44552fdfa 100644 --- a/en-US/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita +++ b/en-US/dita/RTC-NG/API/enum_rhythmplayerstatetype.dita @@ -7,26 +7,29 @@
    Enumerator - - - (810): The virtual metronome is not enabled or disabled already. - - - - 811: Opening the beat files. - - - - 812: Decoding the beat files. - - - - 813: The beat files are playing. - - - - 814: Failed to start virtual metronome. You can use the reported errorCode to troubleshoot the cause of the error, or you can try to start the virtual metronome again. - -
    + + + (810): The virtual metronome is not enabled or disabled already. + + + + 811: Opening the beat files. + + + + 812: Decoding the beat files. + + + + 813: The beat files are playing. + + + + 814: Failed to start virtual metronome. You can use the reported + errorCode to troubleshoot the cause of the error, + or you can try to start the virtual metronome again. + + + diff --git a/en-US/dita/RTC-NG/API/enum_rtmpstreamingevent.dita b/en-US/dita/RTC-NG/API/enum_rtmpstreamingevent.dita index 9bc733deca8..9663815ce9e 100644 --- a/en-US/dita/RTC-NG/API/enum_rtmpstreamingevent.dita +++ b/en-US/dita/RTC-NG/API/enum_rtmpstreamingevent.dita @@ -1,28 +1,33 @@ - <ph keyref="RTMP_STREAMING_EVENT"/> + + <ph keyref="RTMP_STREAMING_EVENT"/> + Events during the Media Push.
    Enumerator - - - 1: An error occurs when you add a background image or a watermark image in the Media Push. - - - - 2: The streaming URL is already being used for Media Push. If you want to start new streaming, use a new streaming URL. - - - - 3: The feature is not supported. - - - - 4: Reserved. - -
    + + + 1: An error occurs when you add a background image or a watermark image in + the Media Push. + + + + 2: The streaming URL is already being used for Media Push. If you want to + start new streaming, use a new streaming URL. + + + + 3: The feature is not supported. + + + + 4: Reserved. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_rtmpstreamlifecycletype.dita b/en-US/dita/RTC-NG/API/enum_rtmpstreamlifecycletype.dita index eaa0163558e..85a3bd51dc6 100644 --- a/en-US/dita/RTC-NG/API/enum_rtmpstreamlifecycletype.dita +++ b/en-US/dita/RTC-NG/API/enum_rtmpstreamlifecycletype.dita @@ -2,27 +2,31 @@ <ph keyref="RTMP_STREAM_LIFE_CYCLE_TYPE"/> - Lifecycle of the CDN live video stream. + Lifecycle of the CDN live video + stream.
    - -
    Deprecated
    -
    - + +
    Deprecated
    +
    +
    Enumerator - - - Bind to the channel lifecycle. If all hosts leave the channel, the CDN live streaming stops after 30 seconds. - - - - Bind to the owner of the RTMP stream. If the owner leaves the channel, the CDN live streaming stops immediately. - -
    + + + Bind to the channel lifecycle. If all hosts leave the channel, the CDN live + streaming stops after 30 seconds. + + + + Bind to the owner of the RTMP stream. If the owner leaves the channel, the + CDN live streaming stops immediately. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_rtmpstreampublisherrortype.dita b/en-US/dita/RTC-NG/API/enum_rtmpstreampublisherrortype.dita index fb07109bf35..bc95552e8f0 100644 --- a/en-US/dita/RTC-NG/API/enum_rtmpstreampublisherrortype.dita +++ b/en-US/dita/RTC-NG/API/enum_rtmpstreampublisherrortype.dita @@ -2,75 +2,93 @@ <ph keyref="RTMP_STREAM_PUBLISH_ERROR_TYPE"/> - Error codes of the RTMP or RTMPS streaming. + Error codes of the RTMP or RTMPS + streaming.
    Enumerator - - - 0: The RTMP or RTMPS streaming has not started or has ended. - - - - 1: Invalid argument used. Check the parameter setting. - - - - 2: The RTMP or RTMPS streaming is encrypted and cannot be published. - - - - 3: Timeout for the RTMP or RTMPS streaming. - - - - 4: An error occurs in Agora's streaming server. - - - - 5: An error occurs in the CDN server. - - - - 6: The RTMP or RTMPS streaming publishes too frequently. - - - - 7: The host publishes more than 10 URLs. Delete the unnecessary URLs before adding new ones. - - - - 8: The host manipulates other hosts' URLs. For example, the host updates or stops other hosts' streams. Check your app logic. - - - - 9: Agora's server fails to find the RTMP or RTMPS streaming. - - - - 10: The format of the RTMP or RTMPS streaming URL is not supported. Check whether the URL format is correct. - - - - 11: The user role is not host, so the user cannot use the CDN live streaming function. Check your application code logic. - - - - 13: The method is called to update the transcoding configuration in a scenario where there is streaming without transcoding. Check your application code logic. - - - - 14: Errors occurred in the host's network. - - - - 16: Your project does not have permission to use streaming services. Refer to Media Push to enable the Media Push permission. - - - - 100: The streaming has been stopped normally. After you stop the Media Push, the SDK returns this value. - + + + 0: The RTMP or RTMPS streaming has not started or has ended. + + + + 1: Invalid argument used. Check the parameter setting. + + + + 2: The RTMP or RTMPS streaming is encrypted and cannot be + published. + + + + 3: Timeout for the RTMP or RTMPS streaming. + + + + 4: An error occurs in Agora's streaming server. + + + + 5: An error occurs in the CDN server. + + + + 6: The RTMP or RTMPS streaming publishes too frequently. + + + + 7: The host publishes more than 10 URLs. Delete the unnecessary URLs + before adding new ones. + + + + 8: The host manipulates other hosts' URLs. For example, the host + updates or stops other hosts' streams. Check your app logic. + + + + 9: Agora's server fails to find the RTMP or RTMPS streaming. + + + + 10: The format of the RTMP or RTMPS streaming URL is not supported. + Check whether the URL format is correct. + + + + + 11: The user role is not host, so the user cannot use the CDN live + streaming function. Check your application code logic. + + + + + 13: The method is called to + update the transcoding configuration in a scenario where there is + streaming without transcoding. Check your application code logic. + + + + + 14: Errors occurred in the host's network. + + + + + 16: Your project does not have permission to use streaming + services. Refer to Media Push to enable the Media Push + permission. + + + + + 100: The streaming has been stopped normally. After you stop the Media + Push, the SDK returns this value. +
    diff --git a/en-US/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita b/en-US/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita index 8dbc64c820b..5af611d816e 100644 --- a/en-US/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita +++ b/en-US/dita/RTC-NG/API/enum_rtmpstreampublishreason.dita @@ -2,75 +2,93 @@ <ph keyref="RTMP_STREAM_PUBLISH_REASON"/> - Reasons for changes in the status of RTMP or RTMPS streaming. + Reasons for changes in the status of RTMP or RTMPS + streaming.
    Enumerator - - - 0: The RTMP or RTMPS streaming has not started or has ended. - - - - 1: Invalid argument used. Check the parameter setting. - - - - 2: The RTMP or RTMPS streaming is encrypted and cannot be published. - - - - 3: Timeout for the RTMP or RTMPS streaming. - - - - 4: An error occurs in Agora's streaming server. - - - - 5: An error occurs in the CDN server. - - - - 6: The RTMP or RTMPS streaming publishes too frequently. - - - - 7: The host publishes more than 10 URLs. Delete the unnecessary URLs before adding new ones. - - - - 8: The host manipulates other hosts' URLs. For example, the host updates or stops other hosts' streams. Check your app logic. - - - - 9: Agora's server fails to find the RTMP or RTMPS streaming. - - - - 10: The format of the RTMP or RTMPS streaming URL is not supported. Check whether the URL format is correct. - - - - 11: The user role is not host, so the user cannot use the CDN live streaming function. Check your application code logic. - - - - 13: The method is called to update the transcoding configuration in a scenario where there is streaming without transcoding. Check your application code logic. - - - - 14: Errors occurred in the host's network. - - - - 16: Your project does not have permission to use streaming services. Refer to Media Push to enable the Media Push permission. - - - - 100: The streaming has been stopped normally. After you stop the Media Push, the SDK returns this value. - + + + 0: The RTMP or RTMPS streaming has not started or has ended. + + + + 1: Invalid argument used. Check the parameter setting. + + + + 2: The RTMP or RTMPS streaming is encrypted and cannot be + published. + + + + 3: Timeout for the RTMP or RTMPS streaming. + + + + 4: An error occurs in Agora's streaming server. + + + + 5: An error occurs in the CDN server. + + + + 6: The RTMP or RTMPS streaming publishes too frequently. + + + + 7: The host publishes more than 10 URLs. Delete the unnecessary URLs + before adding new ones. + + + + 8: The host manipulates other hosts' URLs. For example, the host + updates or stops other hosts' streams. Check your app logic. + + + + 9: Agora's server fails to find the RTMP or RTMPS streaming. + + + + 10: The format of the RTMP or RTMPS streaming URL is not supported. + Check whether the URL format is correct. + + + + + 11: The user role is not host, so the user cannot use the CDN live + streaming function. Check your application code logic. + + + + + 13: The method is called to + update the transcoding configuration in a scenario where there is + streaming without transcoding. Check your application code logic. + + + + + 14: Errors occurred in the host's network. + + + + + 16: Your project does not have permission to use streaming + services. Refer to Media Push to enable the + Media Push permission. + + + + + 100: The streaming has been stopped normally. After you stop the Media + Push, the SDK returns this value. +
    diff --git a/en-US/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita b/en-US/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita index 207fffb7e6f..6b8aa230c94 100644 --- a/en-US/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita +++ b/en-US/dita/RTC-NG/API/enum_rtmpstreampublishstate.dita @@ -7,35 +7,49 @@
    Enumerator - - - 0: The Media Push has not started or has ended. - - - - 1: The streaming server and CDN server are being connected. - - - - 2: The RTMP or RTMPS streaming publishes. The SDK successfully publishes the RTMP or RTMPS streaming and returns this state. - - - - -

    3: The RTMP or RTMPS streaming is recovering. When exceptions occur to the CDN, or the streaming is interrupted, the SDK tries to resume RTMP or RTMPS streaming and returns this state.

    -
      -
    • If the SDK successfully resumes the streaming, (2) returns.
    • -
    • If the streaming does not resume within 60 seconds or server errors occur, (4) returns. If you feel that 60 seconds is too long, you can also actively try to reconnect.
    • -
    -
    - - - 4: The RTMP or RTMPS streaming fails. After a failure, you can troubleshoot the cause of the error through the returned error code. - - - - 5: The SDK is disconnecting from the Agora streaming server and CDN. When you call to stop the Media Push normally, the SDK reports the Media Push state as and in sequence. - -
    + + + 0: The Media Push has not started or has ended. + + + + 1: The streaming server and CDN server are being connected. + + + + 2: The RTMP or RTMPS streaming publishes. The SDK successfully publishes the + RTMP or RTMPS streaming and returns this state. + + + + +

    3: The RTMP or RTMPS streaming is recovering. When exceptions occur to + the CDN, or the streaming is interrupted, the SDK tries to resume RTMP + or RTMPS streaming and returns this state.

    +
      +
    • If the SDK successfully resumes the streaming, (2) returns.
    • +
    • If the streaming does not resume within 60 seconds or server errors + occur, (4) returns. + If you feel that 60 seconds is too long, you can also actively try + to reconnect.
    • +
    +
    +
    + + + 4: The RTMP or RTMPS streaming fails. After a failure, you can troubleshoot + the cause of the error through the returned error code. + + + + 5: The SDK is disconnecting from the Agora streaming server and CDN. When + you call to stop the Media Push normally, + the SDK reports the Media Push state as and in sequence. + + + diff --git a/en-US/dita/RTC-NG/API/enum_saeconnectionchangedreasontype.dita b/en-US/dita/RTC-NG/API/enum_saeconnectionchangedreasontype.dita index 2b54e16a7a6..d8e3365238b 100644 --- a/en-US/dita/RTC-NG/API/enum_saeconnectionchangedreasontype.dita +++ b/en-US/dita/RTC-NG/API/enum_saeconnectionchangedreasontype.dita @@ -2,35 +2,38 @@ <ph keyref="SAE_CONNECTION_CHANGED_REASON_TYPE"/> - The reason for the change in the connection state between the SDK and the Agora Spatial Audio Server. + The reason for the change in the connection state + between the SDK and the Agora Spatial Audio Server.
    Enumerator - - - 0: No error. - - - - 1: The SDK is establishing a connection. - - - - 2: The SDK failed to create the room. - - - - 3: The connection between the SDK and the RTM system is interrupted. - - - - 4: The user is kicked out by the RTM system. - - - - 5: The SDK has not received a message from the Agora Spatial Audio Server for more than 15 seconds. - -
    + + + 0: No error. + + + + 1: The SDK is establishing a connection. + + + + 2: The SDK failed to create the room. + + + + 3: The connection between the SDK and the RTM system is interrupted. + + + + 4: The user is kicked out by the RTM system. + + + + 5: The SDK has not received a message from the Agora Spatial Audio Server + for more than 15 seconds. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_saeconnectionstatetype.dita b/en-US/dita/RTC-NG/API/enum_saeconnectionstatetype.dita index 619d9587dd7..f442d9231d4 100644 --- a/en-US/dita/RTC-NG/API/enum_saeconnectionstatetype.dita +++ b/en-US/dita/RTC-NG/API/enum_saeconnectionstatetype.dita @@ -2,31 +2,34 @@ <ph keyref="SAE_CONNECTION_STATE_TYPE"/> - The connection state between the SDK and the Agora Spatial Audio Server. + The connection state between the SDK and the Agora + Spatial Audio Server.
    Enumerator - - - 0: The SDK is connecting to the Agora Spatial Audio Server. - - - - 1: Connected. The spatial audio effect settings such as only take effect in this state. - - - - 2: The connection is disconnected. - - - - 3: The SDK keeps reconnecting to the Agora Spatial Audio Server. - - - - 4: The connection has been reestablished. - -
    + + + 0: The SDK is connecting to the Agora Spatial Audio Server. + + + + 1: Connected. The spatial audio effect settings such as only take effect in this state. + + + + 2: The connection is disconnected. + + + + 3: The SDK keeps reconnecting to the Agora Spatial Audio Server. + + + + 4: The connection has been reestablished. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_saedeployregion.dita b/en-US/dita/RTC-NG/API/enum_saedeployregion.dita index cd5e0d47c56..5cf6b9d83ec 100644 --- a/en-US/dita/RTC-NG/API/enum_saedeployregion.dita +++ b/en-US/dita/RTC-NG/API/enum_saedeployregion.dita @@ -2,27 +2,29 @@ <ph keyref="SAE_DEPLOY_REGION"/> - The region in which the Agora Spatial Audio Server to be used is located. + The region in which the Agora Spatial Audio Server to + be used is located.
    Enumerator - - - (Default) Mainland China. - - - - North America. - - - - Europe. - - - - Asia, excluding Mainland China. - -
    + + + (Default) Mainland China. + + + + North America. + + + + Europe. + + + + Asia, excluding Mainland China. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita b/en-US/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita index 78fb61482da..1086d77b798 100644 --- a/en-US/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita +++ b/en-US/dita/RTC-NG/API/enum_screencaptureframeratecapability.dita @@ -2,7 +2,8 @@ <ph keyref="SCREEN_CAPTURE_FRAMERATE_CAPABILITY"/> - The highest frame rate supported by the screen sharing device. + The highest frame rate supported by the screen sharing + device.
    @@ -28,5 +29,6 @@ 2: The device supports the frame rate of up to 60 fps. -
    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_screencapturesourcetype.dita b/en-US/dita/RTC-NG/API/enum_screencapturesourcetype.dita index e7a2486bfb8..8c3b94dccce 100644 --- a/en-US/dita/RTC-NG/API/enum_screencapturesourcetype.dita +++ b/en-US/dita/RTC-NG/API/enum_screencapturesourcetype.dita @@ -2,27 +2,29 @@ <ph keyref="ScreenCaptureSourceType"/> - The type of the shared target. Set in . + The type of the shared target. Set in .
    Enumerator - - - -1: Unknown type. - - - - 0: The shared target is a window. - - - - 1: The shared target is a screen of a particular monitor. - - - - 2: Reserved parameter - -
    + + + -1: Unknown type. + + + + 0: The shared target is a window. + + + + 1: The shared target is a screen of a particular monitor. + + + + 2: Reserved parameter + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_screenscenariotype.dita b/en-US/dita/RTC-NG/API/enum_screenscenariotype.dita index 0cff99b0b75..5f57e2859f1 100644 --- a/en-US/dita/RTC-NG/API/enum_screenscenariotype.dita +++ b/en-US/dita/RTC-NG/API/enum_screenscenariotype.dita @@ -7,22 +7,30 @@
    Enumerator - - - 1: (Default) Document. This scenario prioritizes the video quality of screen sharing and reduces the latency of the shared video for the receiver. If you share documents, slides, and tables, you can set this scenario. - - - - 2: Game. This scenario prioritizes the smoothness of screen sharing. If you share games, you can set this scenario. - - - - 3: Video. This scenario prioritizes the smoothness of screen sharing. If you share movies or live videos, you can set this scenario. - - - - 4: Remote control. This scenario prioritizes the video quality of screen sharing and reduces the latency of the shared video for the receiver. If you share the device desktop being remotely controlled, you can set this scenario. - -
    + + + 1: (Default) Document. This scenario prioritizes the video quality of screen + sharing and reduces the latency of the shared video for the receiver. If you + share documents, slides, and tables, you can set this scenario. + + + + 2: Game. This scenario prioritizes the smoothness of screen sharing. If you + share games, you can set this scenario. + + + + 3: Video. This scenario prioritizes the smoothness of screen sharing. If you + share movies or live videos, you can set this scenario. + + + + 4: Remote control. This scenario prioritizes the video quality of screen + sharing and reduces the latency of the shared video for the receiver. If you + share the device desktop being remotely controlled, you can set this + scenario. + + + diff --git a/en-US/dita/RTC-NG/API/enum_segmodeltype.dita b/en-US/dita/RTC-NG/API/enum_segmodeltype.dita index 556023ba86b..f57bcee9251 100644 --- a/en-US/dita/RTC-NG/API/enum_segmodeltype.dita +++ b/en-US/dita/RTC-NG/API/enum_segmodeltype.dita @@ -2,19 +2,22 @@ <ph keyref="SEG_MODEL_TYPE"/> - The type of algorithms to user for background processing. + The type of algorithms to user for background + processing.
    Enumerator - - - 1: (Default) Use the algorithm suitable for all scenarios. - - - - 2: Use the algorithm designed specifically for scenarios with a green screen background. - -
    + + + 1: (Default) Use the algorithm suitable for all scenarios. + + + + 2: Use the algorithm designed specifically for scenarios with a green screen + background. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_simulcaststreammode.dita b/en-US/dita/RTC-NG/API/enum_simulcaststreammode.dita index 26cb46ed881..41f2b8d9172 100644 --- a/en-US/dita/RTC-NG/API/enum_simulcaststreammode.dita +++ b/en-US/dita/RTC-NG/API/enum_simulcaststreammode.dita @@ -2,7 +2,8 @@ <ph keyref="SIMULCAST_STREAM_MODE"/> - The mode in which the video stream is sent. + The mode in which the video stream is + sent.
    @@ -17,7 +18,10 @@ - -1: By default, do not send the low-quality video stream until a subscription request for the low-quality video stream is received from the receiving end, then automatically start sending low-quality video stream. + -1: By default, do not send the low-quality video stream until a + subscription request for the low-quality video stream is received from the + receiving end, then automatically start sending low-quality video + stream. @@ -28,5 +32,6 @@ 1: Always send low-quality video stream. -
    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_streamfallbackoptions.dita b/en-US/dita/RTC-NG/API/enum_streamfallbackoptions.dita index 7d48c2bdcf8..a36b2166d03 100644 --- a/en-US/dita/RTC-NG/API/enum_streamfallbackoptions.dita +++ b/en-US/dita/RTC-NG/API/enum_streamfallbackoptions.dita @@ -2,23 +2,28 @@ <ph keyref="STREAM_FALLBACK_OPTIONS"/> - Options for handling audio and video stream fallback when network conditions are weak. + Options for handling audio and video stream fallback + when network conditions are weak.
    Enumerator - - - 0: No fallback processing is performed on audio and video streams, the quality of the audio and video streams cannot be guaranteed. - - - - 1: Only receive low-quality (low resolution, low bitrate) video stream. - - - - 2: When the network conditions are weak, try to receive the low-quality video stream first. If the video cannot be displayed due to extremely weak network environment, then fall back to receiving audio-only stream. - -
    + + + 0: No fallback processing is performed on audio and video streams, the + quality of the audio and video streams cannot be guaranteed. + + + + 1: Only receive low-quality (low resolution, low bitrate) video stream. + + + + 2: When the network conditions are weak, try to receive the low-quality + video stream first. If the video cannot be displayed due to extremely weak + network environment, then fall back to receiving audio-only stream. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_streampublishstate.dita b/en-US/dita/RTC-NG/API/enum_streampublishstate.dita index 02fac338a34..27f9766b82e 100644 --- a/en-US/dita/RTC-NG/API/enum_streampublishstate.dita +++ b/en-US/dita/RTC-NG/API/enum_streampublishstate.dita @@ -7,29 +7,40 @@
    Enumerator - - - 0: The initial publishing state after joining the channel. - - - - -

    1: Fails to publish the local stream. Possible reasons:

      -
    • The local user calls () or () to stop sending local media streams.
    • -
    • The local user calls or to disable the local audio or video module.
    • -
    • The local user calls () or () to disable the local audio or video capture.
    • -
    • The role of the local user is audience.
    • -

    -
    -
    - - - 2: Publishing. - - - - 3: Publishes successfully. - -
    + + + 0: The initial publishing state after joining the channel. + + + + +

    1: Fails to publish the local stream. Possible reasons:

      +
    • The local user calls () or () to stop sending local media streams.
    • +
    • The local user calls or to disable the local audio or video + module.
    • +
    • The local user calls () or () to disable the local audio or video + capture.
    • +
    • The role of the local user is audience.
    • +

    +
    +
    + + + 2: Publishing. + + + + 3: Publishes successfully. + + + diff --git a/en-US/dita/RTC-NG/API/enum_streamsubscribestate.dita b/en-US/dita/RTC-NG/API/enum_streamsubscribestate.dita index 928c63e502b..196e6e3a62c 100644 --- a/en-US/dita/RTC-NG/API/enum_streamsubscribestate.dita +++ b/en-US/dita/RTC-NG/API/enum_streamsubscribestate.dita @@ -5,37 +5,57 @@ The subscribing state.
    - Enumerator - - - - 0: The initial publishing state after joining the channel. - - - - -

    1: Fails to subscribe to the remote stream. Possible reasons:

      -
    • The remote user:
        -
      • Calls () or () to stop sending local media stream.
      • -
      • Calls or to disable the local audio or video module.
      • -
      • Calls () or () to disable local audio or video capture.
      • -
      • The role of the remote user is audience.
      • -
    • -
    • The local user calls the following methods to stop receiving remote streams:
        -
      • Call () or () to stop receiving the remote audio stream.
      • -
      • Call () or () to stop receiving the remote video stream.
      • -
    • -

    -
    -
    - - - 2: Subscribing. - - - - 3: The remote stream is received, and the subscription is successful. - -
    -
    + Enumerator + + + + 0: The initial publishing state after joining the channel. + + + + +

    1: Fails to subscribe to the remote stream. Possible reasons:

      +
    • The remote user:
        +
      • Calls () or () to stop sending local + media stream.
      • +
      • Calls or to disable the local audio + or video module.
      • +
      • Calls () or () to disable local audio or + video capture.
      • +
      • The role of the remote user is audience.
      • +
    • +
    • The local user calls the following methods to stop receiving + remote streams:
        +
      • Call () or () to stop receiving the remote audio + stream.
      • +
      • Call () or () to stop receiving the remote video + stream.
      • +
    • +

    +
    +
    + + + 2: Subscribing. + + + + 3: The remote stream is received, and the subscription is successful. + +
    + + diff --git a/en-US/dita/RTC-NG/API/enum_superresolutionstatereason.dita b/en-US/dita/RTC-NG/API/enum_superresolutionstatereason.dita index dc66617aa56..c44dcbfe700 100644 --- a/en-US/dita/RTC-NG/API/enum_superresolutionstatereason.dita +++ b/en-US/dita/RTC-NG/API/enum_superresolutionstatereason.dita @@ -2,35 +2,39 @@ <ph keyref="SUPER_RESOLUTION_STATE_REASON"/> - The reason why super resolution is not successfully enabled. + The reason why super resolution is not successfully + enabled.
    - -
    Since
    -
    v3.5.1
    -
    + +
    Since
    +
    v3.5.1
    +
    Enumerator - - - 0: Super resolution is successfully enabled. - - - - 1: The original resolution of the remote video is beyond the range where super resolution can be applied. - - - - 2: Super resolution is already being used to boost another remote user’s video. - - - - 3: The device does not support using super resolution. - -
    + + + 0: Super resolution is successfully enabled. + + + + 1: The original resolution of the remote video is beyond the range where + super resolution can be applied. + + + + 2: Super resolution is already being used to boost another remote user’s + video. + + + + 3: The device does not support using super resolution. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_uploaderrorreason.dita b/en-US/dita/RTC-NG/API/enum_uploaderrorreason.dita index f6b864eeb64..3c4df00f304 100644 --- a/en-US/dita/RTC-NG/API/enum_uploaderrorreason.dita +++ b/en-US/dita/RTC-NG/API/enum_uploaderrorreason.dita @@ -7,18 +7,21 @@
    Enumerator - - - 0: Successfully upload the log files. - - - - 1: Network error. Check the network connection and call again to upload the log file. - - - - 2: An error occurs in the Agora server. Try uploading the log files later. - -
    + + + 0: Successfully upload the log files. + + + + 1: Network error. Check the network connection and call again to upload the log file. + + + + 2: An error occurs in the Agora server. Try uploading the log files + later. + + + diff --git a/en-US/dita/RTC-NG/API/enum_userofflinereasontype.dita b/en-US/dita/RTC-NG/API/enum_userofflinereasontype.dita index 1de7e023a9f..58d25eb7d75 100644 --- a/en-US/dita/RTC-NG/API/enum_userofflinereasontype.dita +++ b/en-US/dita/RTC-NG/API/enum_userofflinereasontype.dita @@ -7,20 +7,24 @@
    Enumerator - - - 0: The user quits the call. - - - - -

    1: The SDK times out and the user drops offline because no data packet is received within a certain period of time.

    - If the user quits the call and the message is not passed to the SDK (due to an unreliable channel), the SDK assumes the user dropped offline.
    -
    - - - 2: The user switches the client role from the host to the audience. - -
    + + + 0: The user quits the call. + + + + +

    1: The SDK times out and the user drops offline because no data packet is + received within a certain period of time.

    + If the user quits the call and the message is not + passed to the SDK (due to an unreliable channel), the SDK assumes the + user dropped offline.
    +
    + + + 2: The user switches the client role from the host to the audience. + + + diff --git a/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita b/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita index db55580692a..b3e96e87816 100644 --- a/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita +++ b/en-US/dita/RTC-NG/API/enum_videoapplicationscenariotype.dita @@ -6,26 +6,27 @@
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    Enumerator - - - 0: (Default) The general scenario. - - - - -

    1: The meeting scenario.

    -

    - - -

    + + + 0: (Default) The general scenario. + + + + +

    1: The meeting scenario.

    +

    + + + + diff --git a/en-US/dita/RTC-NG/API/enum_videobuffertype.dita b/en-US/dita/RTC-NG/API/enum_videobuffertype.dita index 4d7012762ce..3aa44fb69f7 100644 --- a/en-US/dita/RTC-NG/API/enum_videobuffertype.dita +++ b/en-US/dita/RTC-NG/API/enum_videobuffertype.dita @@ -7,18 +7,19 @@

    Enumerator - - - 1: The video buffer in the format of raw data. - - - - 2: The video buffer in the format of raw data. - - - - 3: The video buffer in the format of Texture. - -
    + + + 1: The video buffer in the format of raw data. + + + + 2: The video buffer in the format of raw data. + + + + 3: The video buffer in the format of Texture. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_videocapturetype.dita b/en-US/dita/RTC-NG/API/enum_videocapturetype.dita index 813730e4da1..6acc9f4de68 100644 --- a/en-US/dita/RTC-NG/API/enum_videocapturetype.dita +++ b/en-US/dita/RTC-NG/API/enum_videocapturetype.dita @@ -2,23 +2,25 @@ <ph keyref="VIDEO_CAPTURE_TYPE"/> - The capture type of the custom video source. + The capture type of the custom video + source.
    Enumerator - - - Unknown type. - - - - (Default) Video captured by the camera. - - - - Video for screen sharing. - -
    + + + Unknown type. + + + + (Default) Video captured by the camera. + + + + Video for screen sharing. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita b/en-US/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita index 6eccd480078..de6452593c3 100644 --- a/en-US/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita +++ b/en-US/dita/RTC-NG/API/enum_videocodeccapabilitylevel.dita @@ -17,7 +17,9 @@ - -1: Unsupported video type. Currently, only H.264 and H.265 formats are supported. If the video is in another format, this value will be returned. + -1: Unsupported video type. Currently, only H.264 and H.265 formats are + supported. If the video is in another format, this value will be + returned. @@ -36,5 +38,6 @@ 30: Support encoding and decoding videos up to 4K and 30 fps. - + + diff --git a/en-US/dita/RTC-NG/API/enum_videocodecprofiletype.dita b/en-US/dita/RTC-NG/API/enum_videocodecprofiletype.dita index 0054d077e5e..374a650b434 100644 --- a/en-US/dita/RTC-NG/API/enum_videocodecprofiletype.dita +++ b/en-US/dita/RTC-NG/API/enum_videocodecprofiletype.dita @@ -6,18 +6,22 @@
    - - - 66: Baseline video codec profile; generally used for video calls on mobile phones. - - - - 77: Main video codec profile; generally used in mainstream electronics such as MP4 players, portable video players, PSP, and iPads. - - - - 100: (Default) High video codec profile; generally used in high-resolution live streaming or television. - -
    + + + 66: Baseline video codec profile; generally used for video calls on mobile + phones. + + + + 77: Main video codec profile; generally used in mainstream electronics such + as MP4 players, portable video players, PSP, and iPads. + + + + 100: (Default) High video codec profile; generally used in high-resolution + live streaming or television. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_videocodectype.dita b/en-US/dita/RTC-NG/API/enum_videocodectype.dita index 722c01dcffe..ac20d9274a9 100644 --- a/en-US/dita/RTC-NG/API/enum_videocodectype.dita +++ b/en-US/dita/RTC-NG/API/enum_videocodectype.dita @@ -7,42 +7,48 @@
    Enumerator - - - 0: (Default) Unspecified codec format. The SDK automatically matches the appropriate codec format based on the current video stream's resolution and device performance. - - - - 1: Standard VP8. - - - - 2: Standard H.264. - - - - 3: Standard H.265. - - - - -

    6: Generic.

    -

    This type is used for transmitting raw video data, such as encrypted video frames. The SDK returns this type of video frames in callbacks, and you need to decode and render the frames yourself.

    -
    -
    - - - 12:AV1. - - - - 20: Generic JPEG.

    This type consumes minimum computing resources and applies to IoT devices.

    -
    -
    - - - Standard VP9. - -
    + + + 0: (Default) Unspecified codec format. The SDK automatically matches the + appropriate codec format based on the current video stream's resolution and + device performance. + + + + 1: Standard VP8. + + + + 2: Standard H.264. + + + + 3: Standard H.265. + + + + +

    6: Generic.

    +

    This type is used for transmitting raw video data, such as encrypted + video frames. The SDK returns this type of video frames in callbacks, + and you need to decode and render the frames yourself.

    +
    +
    + + + 12:AV1. + + + + 20: Generic JPEG.

    This type consumes minimum computing resources and + applies to IoT devices.

    +
    +
    + + + Standard VP9. + + + diff --git a/en-US/dita/RTC-NG/API/enum_videocodectypeforstream.dita b/en-US/dita/RTC-NG/API/enum_videocodectypeforstream.dita index 89765312237..de7b71edd5e 100644 --- a/en-US/dita/RTC-NG/API/enum_videocodectypeforstream.dita +++ b/en-US/dita/RTC-NG/API/enum_videocodectypeforstream.dita @@ -7,14 +7,15 @@
    Enumerator - - - 1: (Default) H.264. - - - - 2: H.265. - -
    + + + 1: (Default) H.264. + + + + 2: H.265. + + + diff --git a/en-US/dita/RTC-NG/API/enum_videocontenthint.dita b/en-US/dita/RTC-NG/API/enum_videocontenthint.dita index 42a2ec1e30c..184a2059215 100644 --- a/en-US/dita/RTC-NG/API/enum_videocontenthint.dita +++ b/en-US/dita/RTC-NG/API/enum_videocontenthint.dita @@ -7,18 +7,21 @@
    Enumerator - - - (Default) No content hint. - - - - Motion-intensive content. Choose this option if you prefer smoothness or when you are sharing a video clip, movie, or video game. - - - - Motionless content. Choose this option if you prefer sharpness or when you are sharing a picture, PowerPoint slides, or texts. - -
    + + + (Default) No content hint. + + + + Motion-intensive content. Choose this option if you prefer smoothness or + when you are sharing a video clip, movie, or video game. + + + + Motionless content. Choose this option if you prefer sharpness or when you + are sharing a picture, PowerPoint slides, or texts. + + + diff --git a/en-US/dita/RTC-NG/API/enum_videodenoiserlevel.dita b/en-US/dita/RTC-NG/API/enum_videodenoiserlevel.dita index f8f38ee5960..832e4527ff2 100644 --- a/en-US/dita/RTC-NG/API/enum_videodenoiserlevel.dita +++ b/en-US/dita/RTC-NG/API/enum_videodenoiserlevel.dita @@ -1,24 +1,41 @@ - <ph keyref="VIDEO_DENOISER_LEVEL"/> + + <ph keyref="VIDEO_DENOISER_LEVEL"/> + The video noise reduction level.
    Enumerator - - - 0: (Default) Promotes video quality during video noise reduction. balances performance consumption and video noise reduction quality. The performance consumption is moderate, the video noise reduction speed is moderate, and the overall video quality is optimal. - - - - 1: Promotes reducing performance consumption during video noise reduction. prioritizes reducing performance consumption over video noise reduction quality. The performance consumption is lower, and the video noise reduction speed is faster. To avoid a noticeable shadowing effect (shadows trailing behind moving objects) in the processed video, Agora recommends that you use this settinging when the camera is fixed. - - - - 2: Enhanced video noise reduction. prioritizes video noise reduction quality over reducing performance consumption. The performance consumption is higher, the video noise reduction speed is slower, and the video noise reduction quality is better. If is not enough for your video noise reduction needs, you can use this enumerator. - -
    + + + 0: (Default) Promotes video quality during video noise reduction. + balances performance consumption and video noise reduction quality. + The performance consumption is moderate, the video noise reduction + speed is moderate, and the overall video quality is optimal. + + + + 1: Promotes reducing performance consumption during video noise + reduction. prioritizes reducing performance consumption over video + noise reduction quality. The performance consumption is lower, and the + video noise reduction speed is faster. To avoid a noticeable shadowing + effect (shadows trailing behind moving objects) in the processed + video, Agora recommends that you use this settinging when the camera + is fixed. + + + + 2: Enhanced video noise reduction. prioritizes video noise reduction + quality over reducing performance consumption. The performance + consumption is higher, the video noise reduction speed is slower, and + the video noise reduction quality is better. If is not enough for + your video noise reduction needs, you can use this enumerator. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_videodenoisermode.dita b/en-US/dita/RTC-NG/API/enum_videodenoisermode.dita index 26bda165611..25cb0590976 100644 --- a/en-US/dita/RTC-NG/API/enum_videodenoisermode.dita +++ b/en-US/dita/RTC-NG/API/enum_videodenoisermode.dita @@ -1,20 +1,25 @@ - <ph keyref="VIDEO_DENOISER_MODE"/> + + <ph keyref="VIDEO_DENOISER_MODE"/> + Video noise reduction mode.
    Enumerator - - - 0: (Default) Automatic mode. The SDK automatically enables or disables the video noise reduction feature according to the ambient light. - - - - 1: Manual mode. Users need to enable or disable the video noise reduction feature manually. - -
    + + + 0: (Default) Automatic mode. The SDK automatically enables or disables + the video noise reduction feature according to the ambient light. + + + + 1: Manual mode. Users need to enable or disable the video noise + reduction feature manually. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_videoframeprocessmode.dita b/en-US/dita/RTC-NG/API/enum_videoframeprocessmode.dita index da9c63a6e3e..1d2727686f3 100644 --- a/en-US/dita/RTC-NG/API/enum_videoframeprocessmode.dita +++ b/en-US/dita/RTC-NG/API/enum_videoframeprocessmode.dita @@ -7,20 +7,23 @@
    Enumerator - - - -

    Read-only mode.

    -

    In this mode, you do not modify the video frame. The video frame observer is a renderer.

    -
    -
    - - - -

    Read and write mode.

    -

    In this mode, you modify the video frame. The video frame observer is a video filter.

    -
    -
    -
    + + + +

    Read-only mode.

    +

    In this mode, you do not modify the video frame. The video frame observer + is a renderer.

    +
    +
    + + + +

    Read and write mode.

    +

    In this mode, you modify the video frame. The video frame observer is a + video filter.

    +
    +
    + + diff --git a/en-US/dita/RTC-NG/API/enum_videoframetype.dita b/en-US/dita/RTC-NG/API/enum_videoframetype.dita index da6b07a6792..a357a575723 100644 --- a/en-US/dita/RTC-NG/API/enum_videoframetype.dita +++ b/en-US/dita/RTC-NG/API/enum_videoframetype.dita @@ -7,30 +7,31 @@
    Enumerator - - - 0: A black frame. - - - - 3: Key frame. - - - - 4: Delta frame. - - - - 5: The B frame. - - - - 6: A discarded frame. - - - - Unknown frame. - -
    + + + 0: A black frame. + + + + 3: Key frame. + + + + 4: Delta frame. + + + + 5: The B frame. + + + + 6: A discarded frame. + + + + Unknown frame. + + + diff --git a/en-US/dita/RTC-NG/API/enum_videomirrormodetype.dita b/en-US/dita/RTC-NG/API/enum_videomirrormodetype.dita index a49e3f807c3..5a279af365b 100644 --- a/en-US/dita/RTC-NG/API/enum_videomirrormodetype.dita +++ b/en-US/dita/RTC-NG/API/enum_videomirrormodetype.dita @@ -7,24 +7,28 @@
    Enumerator - - - 0: The SDK determines the mirror mode.
      -
    • For the mirror mode of the local video view: If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
    • -
    • For the remote user: The mirror mode is disabled by default.
    -
    + + + 0: The SDK determines the mirror mode.
      +
    • For the mirror mode of the local video view: If you use a front + camera, the SDK enables the mirror mode by default; if you use a + rear camera, the SDK disables the mirror mode by default.
    • +
    • For the remote user: The mirror mode is disabled by default.
    • +
    +
    - - - 1: Enable mirror mode. - + + + 1: Enable mirror mode. + - - - 2: Disable mirror mode. - -
    + + + 2: Disable mirror mode. + + + diff --git a/en-US/dita/RTC-NG/API/enum_videomoduleposition.dita b/en-US/dita/RTC-NG/API/enum_videomoduleposition.dita index 667ff0e7611..7a5e7232e86 100644 --- a/en-US/dita/RTC-NG/API/enum_videomoduleposition.dita +++ b/en-US/dita/RTC-NG/API/enum_videomoduleposition.dita @@ -2,30 +2,46 @@ <ph keyref="VIDEO_MODULE_POSITION"/> - The frame position of the video observer. + The frame position of the video + observer.
    Enumerator - To understand specific locations of different video observation points on the video link, see . + To understand specific locations of different video observation points on the + video link, see . - - - 1: The location of the locally collected video data after preprocessing corresponds to the callback. The observed video here has the effect of video pre-processing, which can be verified by enabling image enhancement, virtual background, or watermark. - - - - 2: The pre-renderer position, which corresponds to the video data in the callback. - - - - 4: The pre-encoder position, which corresponds to the video data in the callback. The observed video here has the effects of video pre-processing and encoding pre-processing.
      -
    • To verify the pre-processing effects of the video, you can enable image enhancement, virtual background, or watermark.
    • -
    • To verify the pre-encoding processing effect, you can set a lower frame rate (for example, 5 fps).
    -
    - - - 8: The position after local video capture and before pre-processing. The observed video here does not have pre-processing effects, which can be verified by enabling image enhancement, virtual background, or watermarks. - -
    + + + 1: The location of the locally collected video data after preprocessing + corresponds to the callback. The + observed video here has the effect of video pre-processing, which can be + verified by enabling image enhancement, virtual background, or + watermark. + + + + 2: The pre-renderer position, which corresponds to the video data in the + callback. + + + + 4: The pre-encoder position, which corresponds to the video data in the + callback. The observed video here + has the effects of video pre-processing and encoding pre-processing.
      +
    • To verify the pre-processing effects of the video, you can enable + image enhancement, virtual background, or watermark.
    • +
    • To verify the pre-encoding processing effect, you can set a lower + frame rate (for example, 5 fps).
    • +
    +
    + + + 8: The position after local video capture and before pre-processing. The + observed video here does not have pre-processing effects, which can be + verified by enabling image enhancement, virtual background, or + watermarks. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_videoobserverframetype.dita b/en-US/dita/RTC-NG/API/enum_videoobserverframetype.dita index fe7a22b1097..3b06fa7ab9a 100644 --- a/en-US/dita/RTC-NG/API/enum_videoobserverframetype.dita +++ b/en-US/dita/RTC-NG/API/enum_videoobserverframetype.dita @@ -7,22 +7,23 @@
    Enumerator - - - 0: The format of the video frame is YUV 420. - - - - 1: The format of the video frame is YUV 422. - - - - 2: The format of the video frame is RGBA. - - - - 3: The format of the video frame is BGRA. - -
    + + + 0: The format of the video frame is YUV 420. + + + + 1: The format of the video frame is YUV 422. + + + + 2: The format of the video frame is RGBA. + + + + 3: The format of the video frame is BGRA. + + + diff --git a/en-US/dita/RTC-NG/API/enum_videoorientation.dita b/en-US/dita/RTC-NG/API/enum_videoorientation.dita index faaeb677b73..9e1b4c79d91 100644 --- a/en-US/dita/RTC-NG/API/enum_videoorientation.dita +++ b/en-US/dita/RTC-NG/API/enum_videoorientation.dita @@ -7,22 +7,23 @@
    Enumerator - - - 0: (Default) No rotation. - - - - 90: 90 degrees. - - - - 180: 180 degrees. - - - - 270: 270 degrees. - -
    + + + 0: (Default) No rotation. + + + + 90: 90 degrees. + + + + 180: 180 degrees. + + + + 270: 270 degrees. + + + diff --git a/en-US/dita/RTC-NG/API/enum_videopixelformat.dita b/en-US/dita/RTC-NG/API/enum_videopixelformat.dita index 63846876a4b..598b7a20226 100644 --- a/en-US/dita/RTC-NG/API/enum_videopixelformat.dita +++ b/en-US/dita/RTC-NG/API/enum_videopixelformat.dita @@ -6,7 +6,8 @@
    Enumerator - The SDK does not support the alpha channel. Any alpha value passed to the SDK will be discarded. + The SDK does not support the alpha channel. Any alpha value + passed to the SDK will be discarded. @@ -62,8 +63,12 @@ - 17: The ID3D11TEXTURE2D format. Currently supported types are DXGI_FORMAT_B8G8R8A8_UNORM, DXGI_FORMAT_B8G8R8A8_TYPELESS and DXGI_FORMAT_NV12. + 17: The ID3D11TEXTURE2D format. Currently supported types are + DXGI_FORMAT_B8G8R8A8_UNORM, + DXGI_FORMAT_B8G8R8A8_TYPELESS and + DXGI_FORMAT_NV12. -
    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_videoprofiletype.dita b/en-US/dita/RTC-NG/API/enum_videoprofiletype.dita index ca24095e9ba..f2282fdd09a 100644 --- a/en-US/dita/RTC-NG/API/enum_videoprofiletype.dita +++ b/en-US/dita/RTC-NG/API/enum_videoprofiletype.dita @@ -6,283 +6,294 @@
    - -
    Deprecated
    -
    This class is deprecated.
    -
    + +
    Deprecated
    +
    This class is deprecated.
    +
    Enumerator - - - Invalid video attribute. - - - - 0: 160 × 120, frame rate 15 fps, bitrate 65 Kbps. - - - - 2: 120 × 120, frame rate 15 fps, bitrate 50 Kbps. - - - - 10: 320 × 180, frame rate 15 fps, bitrate 140 Kbps. - - - - 12: 180 × 180, frame rate 15 fps, bitrate 100 Kbps. - - - - 13: 240 × 180, frame rate 15 fps, bitrate 120 Kbps. - - - - 20: 320 × 240, frame rate 15 fps, bitrate 200 Kbps. - - - - 22: 240 × 240, frame rate 15 fps, bitrate 140 Kbps. - - - - 23: 424 × 240, frame rate 15 fps, bitrate 220 Kbps. - - - - 30: 640 × 360, frame rate 15 fps, bitrate 400 Kbps. - - - - 32: 360 × 360, frame rate 15 fps, bitrate 260 Kbps. - - - - 33: 640 × 360, frame rate 30 fps, bitrate 600 Kbps. - - - - 35: 360 × 360, frame rate 30 fps, bitrate 400 Kbps. - - - - 36: 480 × 360, frame rate 15 fps, bitrate 320 Kbps. - - - - 37: 480 × 360, frame rate 30 fps, bitrate 490 Kbps. - - - - -

    38: 640 × 360, frame rate 15 fps, bitrate 800 Kbps.

    - This profile applies only to the live streaming channel profile.
    -
    - - - -

    39: 640 × 360, frame rate 24 fps, bitrate 800 Kbps.

    - This profile applies only to the live streaming channel profile.
    -
    - - - -

    100: 640 × 360, frame rate 24 fps, bitrate 1000 Kbps.

    - This profile applies only to the live streaming channel profile.
    -
    - - - 40: 640 × 480, frame rate 15 fps, bitrate 500 Kbps. - - - - 42: 480 × 480, frame rate 15 fps, bitrate 400 Kbps. - - - - 43: 640 × 480, frame rate 30 fps, bitrate 750 Kbps. - - - - 45: 480 × 480, frame rate 30 fps, bitrate 600 Kbps. - - - - 47: 848 × 480, frame rate 15 fps, bitrate 610 Kbps. - - - - 48: 848 × 480, frame rate 30 fps, bitrate 930 Kbps. - - - - 49: 640 × 480, frame rate 10 fps, bitrate 400 Kbps. - - - - 50: 1280 × 720, frame rate 15 fps, bitrate 1130 Kbps. - - - - 52: 1280 × 720, frame rate 30 fps, bitrate 1710 Kbps. - - - - 54: 960 × 720, frame rate 15 fps, bitrate 910 Kbps. - - - - 55: 960 × 720, frame rate 30 fps, bitrate 1380 Kbps. - - - - 60: 1920 × 1080, frame rate 15 fps, bitrate 2080 Kbps. - - - - 60: 1920 × 1080, frame rate 30 fps, bitrate 3150 Kbps. - - - - 64: 1920 × 1080, frame rate 60 fps, bitrate 4780 Kbps. - - - - 1000: 120 × 160, frame rate 15 fps, bitrate 65 Kbps. - - - - 1002: 120 × 120, frame rate 15 fps, bitrate 50 Kbps. - - - - 1010: 180 × 320, frame rate 15 fps, bitrate 140 Kbps. - - - - 1012: 180 × 180, frame rate 15 fps, bitrate 100 Kbps. - - - - 1013: 180 × 240, frame rate 15 fps, bitrate 120 Kbps. - - - - 1020: 240 × 320, frame rate 15 fps, bitrate 200 Kbps. - - - - 1022: 240 × 240, frame rate 15 fps, bitrate 140 Kbps. - - - - 1023: 240 × 424, frame rate 15 fps, bitrate 220 Kbps. - - - - 1030: 360 × 640, frame rate 15 fps, bitrate 400 Kbps. - - - - 1032: 360 × 360, frame rate 15 fps, bitrate 260 Kbps. - - - - 1033: 360 × 640, frame rate 15 fps, bitrate 600 Kbps. - - - - 1035: 360 × 360, frame rate 30 fps, bitrate 400 Kbps. - - - - 1036: 360 × 480, frame rate 15 fps, bitrate 320 Kbps. - - - - 1037: 360 × 480, frame rate 30 fps, bitrate 490 Kbps. - - - - -

    1038: 360 × 640, frame rate 15 fps, bitrate 800 Kbps.

    - This profile applies only to the live streaming channel profile.
    -
    - - - -

    1039: 360 × 640, frame rate 24 fps, bitrate 800 Kbps.

    - This profile applies only to the live streaming channel profile.
    -
    - - - -

    1100: 360 × 640, frame rate 24 fps, bitrate 1000 Kbps.

    - This profile applies only to the live streaming channel profile.
    -
    - - - 1040: 480 × 640, frame rate 15 fps, bitrate 500 Kbps. - - - - 1042: 480 × 480, frame rate 15 fps, bitrate 400 Kbps. - - - - 1043: 480 × 640, frame rate 30 fps, bitrate 750 Kbps. - - - - 1045: 480 × 480, frame rate 30 fps, bitrate 600 Kbps. - - - - 1047: 480 × 848, frame rate 15 fps, bitrate 610 Kbps. - - - - 1048: 480 × 848, frame rate 30 fps, bitrate 930 Kbps. - - - - 1049: 480 × 640, frame rate 10 fps, bitrate 400 Kbps. - - - - 1050: 720 × 1280, frame rate 15 fps, bitrate 1130 Kbps. - - - - 1052: 720 × 1280, frame rate 30 fps, bitrate 1710 Kbps. - - - - 1054: 720 × 960, frame rate 15 fps, bitrate 910 Kbps. - - - - 1055: 720 × 960, frame rate 30 fps, bitrate 1380 Kbps. - - - - 1060: 1080 × 1920, frame rate 15 fps, bitrate 2080 Kbps. - - - - 1062: 1080 × 1920, frame rate 30 fps, bitrate 3150 Kbps. - - - - 1064: 1080 × 1920, frame rate 60 fps, bitrate 4780 Kbps. - - - - (Default) 640 × 360, frame rate 15 fps, bitrate 400 Kbps. - -
    + + + Invalid video attribute. + + + + 0: 160 × 120, frame rate 15 fps, bitrate 65 Kbps. + + + + 2: 120 × 120, frame rate 15 fps, bitrate 50 Kbps. + + + + 10: 320 × 180, frame rate 15 fps, bitrate 140 Kbps. + + + + 12: 180 × 180, frame rate 15 fps, bitrate 100 Kbps. + + + + 13: 240 × 180, frame rate 15 fps, bitrate 120 Kbps. + + + + 20: 320 × 240, frame rate 15 fps, bitrate 200 Kbps. + + + + 22: 240 × 240, frame rate 15 fps, bitrate 140 Kbps. + + + + 23: 424 × 240, frame rate 15 fps, bitrate 220 Kbps. + + + + 30: 640 × 360, frame rate 15 fps, bitrate 400 Kbps. + + + + 32: 360 × 360, frame rate 15 fps, bitrate 260 Kbps. + + + + 33: 640 × 360, frame rate 30 fps, bitrate 600 Kbps. + + + + 35: 360 × 360, frame rate 30 fps, bitrate 400 Kbps. + + + + 36: 480 × 360, frame rate 15 fps, bitrate 320 Kbps. + + + + 37: 480 × 360, frame rate 30 fps, bitrate 490 Kbps. + + + + +

    38: 640 × 360, frame rate 15 fps, bitrate 800 Kbps.

    + This profile applies only to the live streaming + channel profile. +
    +
    + + + +

    39: 640 × 360, frame rate 24 fps, bitrate 800 Kbps.

    + This profile applies only to the live streaming + channel profile.
    +
    + + + +

    100: 640 × 360, frame rate 24 fps, bitrate 1000 Kbps.

    + This profile applies only to the live streaming + channel profile.
    +
    + + + 40: 640 × 480, frame rate 15 fps, bitrate 500 Kbps. + + + + 42: 480 × 480, frame rate 15 fps, bitrate 400 Kbps. + + + + 43: 640 × 480, frame rate 30 fps, bitrate 750 Kbps. + + + + 45: 480 × 480, frame rate 30 fps, bitrate 600 Kbps. + + + + 47: 848 × 480, frame rate 15 fps, bitrate 610 Kbps. + + + + 48: 848 × 480, frame rate 30 fps, bitrate 930 Kbps. + + + + 49: 640 × 480, frame rate 10 fps, bitrate 400 Kbps. + + + + 50: 1280 × 720, frame rate 15 fps, bitrate 1130 Kbps. + + + + 52: 1280 × 720, frame rate 30 fps, bitrate 1710 Kbps. + + + + 54: 960 × 720, frame rate 15 fps, bitrate 910 Kbps. + + + + 55: 960 × 720, frame rate 30 fps, bitrate 1380 Kbps. + + + + 60: 1920 × 1080, frame rate 15 fps, bitrate 2080 Kbps. + + + + 60: 1920 × 1080, frame rate 30 fps, bitrate 3150 Kbps. + + + + 64: 1920 × 1080, frame rate 60 fps, bitrate 4780 Kbps. + + + + 1000: 120 × 160, frame rate 15 fps, bitrate 65 Kbps. + + + + 1002: 120 × 120, frame rate 15 fps, bitrate 50 Kbps. + + + + 1010: 180 × 320, frame rate 15 fps, bitrate 140 Kbps. + + + + 1012: 180 × 180, frame rate 15 fps, bitrate 100 Kbps. + + + + 1013: 180 × 240, frame rate 15 fps, bitrate 120 Kbps. + + + + 1020: 240 × 320, frame rate 15 fps, bitrate 200 Kbps. + + + + 1022: 240 × 240, frame rate 15 fps, bitrate 140 Kbps. + + + + 1023: 240 × 424, frame rate 15 fps, bitrate 220 Kbps. + + + + 1030: 360 × 640, frame rate 15 fps, bitrate 400 Kbps. + + + + 1032: 360 × 360, frame rate 15 fps, bitrate 260 Kbps. + + + + 1033: 360 × 640, frame rate 15 fps, bitrate 600 Kbps. + + + + 1035: 360 × 360, frame rate 30 fps, bitrate 400 Kbps. + + + + 1036: 360 × 480, frame rate 15 fps, bitrate 320 Kbps. + + + + 1037: 360 × 480, frame rate 30 fps, bitrate 490 Kbps. + + + + +

    1038: 360 × 640, frame rate 15 fps, bitrate 800 Kbps.

    + This profile applies only to the live streaming + channel profile. +
    +
    + + + +

    1039: 360 × 640, frame rate 24 fps, bitrate 800 Kbps.

    + This profile applies only to the live streaming + channel profile. +
    +
    + + + +

    1100: 360 × 640, frame rate 24 fps, bitrate 1000 Kbps.

    + This profile applies only to the live streaming + channel profile. +
    +
    + + + 1040: 480 × 640, frame rate 15 fps, bitrate 500 Kbps. + + + + 1042: 480 × 480, frame rate 15 fps, bitrate 400 Kbps. + + + + 1043: 480 × 640, frame rate 30 fps, bitrate 750 Kbps. + + + + 1045: 480 × 480, frame rate 30 fps, bitrate 600 Kbps. + + + + 1047: 480 × 848, frame rate 15 fps, bitrate 610 Kbps. + + + + 1048: 480 × 848, frame rate 30 fps, bitrate 930 Kbps. + + + + 1049: 480 × 640, frame rate 10 fps, bitrate 400 Kbps. + + + + 1050: 720 × 1280, frame rate 15 fps, bitrate 1130 Kbps. + + + + 1052: 720 × 1280, frame rate 30 fps, bitrate 1710 Kbps. + + + + 1054: 720 × 960, frame rate 15 fps, bitrate 910 Kbps. + + + + 1055: 720 × 960, frame rate 30 fps, bitrate 1380 Kbps. + + + + 1060: 1080 × 1920, frame rate 15 fps, bitrate 2080 Kbps. + + + + 1062: 1080 × 1920, frame rate 30 fps, bitrate 3150 Kbps. + + + + 1064: 1080 × 1920, frame rate 60 fps, bitrate 4780 Kbps. + + + + (Default) 640 × 360, frame rate 15 fps, bitrate 400 Kbps. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_videosourcetype.dita b/en-US/dita/RTC-NG/API/enum_videosourcetype.dita index 0ee43b33584..5771706220f 100644 --- a/en-US/dita/RTC-NG/API/enum_videosourcetype.dita +++ b/en-US/dita/RTC-NG/API/enum_videosourcetype.dita @@ -7,83 +7,90 @@
    Enumerator - - - 0: (Default) The primary camera. - - - - 0: (Default) The primary camera. - - - - 1: The secondary camera. - - - - 2: The primary screen. - - - - 2: The primary screen. - - - - 3: The secondary screen. - - - - 4: A custom video source. - - - - 5: The media player. - - - - 6: One PNG image. - - - - 7: One JPEG image. - - - - 8: One GIF image. - - - - 9: One remote video acquired by the network. - - - - 10: One transcoded video source. - - - - 11: (For Android, Windows, and macOS only) (For Android only) The third camera. - - - - 12: (For Android, Windows, and macOS only) (For Android only) The fourth camera. - - - - 13: (For Windows and macOS only) The third screen. - - - - 14: (For Windows and macOS only) The fourth screen. - - - - 15: Video processed by the speech driven extension. - - - - 100: An unknown video source. - + + + + 0: (Default) The primary camera. + + + + 0: (Default) The primary camera. + + + + 1: The secondary camera. + + + + 2: The primary screen. + + + + 2: The primary screen. + + + + 3: The secondary screen. + + + + 4: A custom video source. + + + + 5: The media player. + + + + 6: One PNG image. + + + + 7: One JPEG image. + + + + 8: One GIF image. + + + + 9: One remote video acquired by the network. + + + + 10: One transcoded video source. + + + + 11: (For Android, Windows, and macOS + only) (For Android only) The third + camera. + + + + 12: (For Android, Windows, and macOS + only) (For Android only) The fourth + camera. + + + + 13: (For Windows and macOS only) + The third screen. + + + + 14: (For Windows and macOS only) + The fourth screen. + + + + 15: Video processed by the speech driven extension. + + + + 100: An unknown video source. + -
    + diff --git a/en-US/dita/RTC-NG/API/enum_videostreamtype.dita b/en-US/dita/RTC-NG/API/enum_videostreamtype.dita index f3cbab0ced9..913350db09e 100644 --- a/en-US/dita/RTC-NG/API/enum_videostreamtype.dita +++ b/en-US/dita/RTC-NG/API/enum_videostreamtype.dita @@ -7,14 +7,15 @@
    Enumerator - - - 0: High-quality video stream. - - - - 1: Low-quality video stream. - -
    + + + 0: High-quality video stream. + + + + 1: Low-quality video stream. + + + diff --git a/en-US/dita/RTC-NG/API/enum_videotranscodererror.dita b/en-US/dita/RTC-NG/API/enum_videotranscodererror.dita index 89d5e558483..52e45271ebd 100644 --- a/en-US/dita/RTC-NG/API/enum_videotranscodererror.dita +++ b/en-US/dita/RTC-NG/API/enum_videotranscodererror.dita @@ -2,43 +2,49 @@ <ph keyref="VIDEO_TRANSCODER_ERROR"/> - The error code of the local video mixing failure. + The error code of the local video mixing + failure.
    - -
    Since
    -
    v4.2.0
    -
    + +
    Since
    +
    v4.2.0
    +
    Enumerator - - - 1: The selected video source has not started video capture. You need to create a video track for it and start video capture. - - - - 2: The video source type is invalid. You need to re-specify the supported video source type. - - - - 3: The image path is invalid. You need to re-specify the correct image path. - - - - 4: The image format is invalid. Make sure the image format is one of PNG, JPEG, or GIF. - - - - 5: The video encoding resolution after video mixing is invalid. - - - - 20: Unknown internal error. - -
    + + + 1: The selected video source has not started video capture. You need to + create a video track for it and start video capture. + + + + 2: The video source type is invalid. You need to re-specify the supported + video source type. + + + + 3: The image path is invalid. You need to re-specify the correct image + path. + + + + 4: The image format is invalid. Make sure the image format is one of PNG, + JPEG, or GIF. + + + + 5: The video encoding resolution after video mixing is invalid. + + + + 20: Unknown internal error. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita b/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita index 586572e78bb..22848dcedf9 100644 --- a/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita +++ b/en-US/dita/RTC-NG/API/enum_videoviewsetupmode.dita @@ -21,5 +21,6 @@ 2: Deletes a view. - + + diff --git a/en-US/dita/RTC-NG/API/enum_virtualbackgroundsourcestatereason.dita b/en-US/dita/RTC-NG/API/enum_virtualbackgroundsourcestatereason.dita index c2564198968..ed590734fc2 100644 --- a/en-US/dita/RTC-NG/API/enum_virtualbackgroundsourcestatereason.dita +++ b/en-US/dita/RTC-NG/API/enum_virtualbackgroundsourcestatereason.dita @@ -2,35 +2,44 @@ <ph keyref="VIRTUAL_BACKGROUND_SOURCE_STATE_REASON"/> - The reason why virtual background is not successfully enabled. + The reason why virtual background is not successfully + enabled.
    - -
    Since
    -
    v3.5.0
    -
    + +
    Since
    +
    v3.5.0
    +
    Enumerator - - - 0: The virtual background is successfully enabled. - - - - 1: The custom background image does not exist. Please check the value of source in . - - - - 2: The color format of the custom background image is invalid. Please check the value of color in . - - - - 3: The device does not support using the virtual background. - -
    + + + 0: The virtual background is successfully enabled. + + + + 1: The custom background image does not exist. Please check the value of + source in . + + + + 2: The color format of the custom background image is invalid. Please check + the value of color in . + + + + 3: The device does not support using the virtual background. + + +
    diff --git a/en-US/dita/RTC-NG/API/enum_voice_conversion_preset.dita b/en-US/dita/RTC-NG/API/enum_voice_conversion_preset.dita index ba5b462c936..da564987cac 100644 --- a/en-US/dita/RTC-NG/API/enum_voice_conversion_preset.dita +++ b/en-US/dita/RTC-NG/API/enum_voice_conversion_preset.dita @@ -1,7 +1,7 @@ - <ph keyref="VOICE_CONVERSION_PRESET"></ph> + <ph keyref="VOICE_CONVERSION_PRESET"/> The options for SDK preset voice beautifier effects.
    @@ -22,20 +22,25 @@ - neutral. To avoid audio distortion, make sure to set this effect only for female voices. + neutral. To avoid audio distortion, make sure to set this effect only for + female voices. - sweet. To avoid audio distortion, make sure to set this effect only for female voices. + sweet. To avoid audio distortion, make sure to set this effect only for + female voices. - steady. To avoid audio distortion, make sure to set this effect only for male voices. + steady. To avoid audio distortion, make sure to set this effect only for + male voices. - A deeper voice. To avoid audio distortion, make sure to set this effect only for male voices. + A deeper voice. To avoid audio distortion, make sure to set this effect only + for male voices. -
    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_voicebeautifierpreset.dita b/en-US/dita/RTC-NG/API/enum_voicebeautifierpreset.dita index 622767e0ad2..27f29ca520d 100644 --- a/en-US/dita/RTC-NG/API/enum_voicebeautifierpreset.dita +++ b/en-US/dita/RTC-NG/API/enum_voicebeautifierpreset.dita @@ -2,83 +2,108 @@ <ph keyref="VOICE_BEAUTIFIER_PRESET"/> - The options for SDK preset voice beautifier effects. + The options for SDK preset voice beautifier + effects.
    - Enumerator - - - - Turn off voice beautifier effects and use the original voice. - - - -

    A more magnetic voice.

    - Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may experience vocal distortion.
    -
    - - - -

    A fresher voice.

    - Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion. -
    -
    - - - -

    A more vital voice.

    - Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion. -
    -
    - - - -

    Singing beautifier effect.

    -
      -
    • If you call (), you can beautify a male-sounding voice and add a reverberation effect that sounds like singing in a small room. Agora recommends using this enumerator to process a male-sounding voice; otherwise, you might experience vocal distortion.
    • -
    • If you call (, param1, param2), you can beautify a male or female-sounding voice and add a reverberation effect.
    • -
    -
    -
    - - - A more vigorous voice. - - - - A deep voice. - - - - A mellower voice. - - - - Falsetto. - - - - A fuller voice. - - - - A clearer voice. - - - - A more resounding voice. - - - - A more ringing voice. - - - - A ultra-high quality voice, which makes the audio clearer and restores more details.
      -
    • To achieve better audio effect quality, Agora recommends that you set the profile of to (4) or (5) and scenario to (3) before calling .
    • -
    • If you have an audio capturing device that can already restore audio details to a high degree, Agora recommends that you do not enable ultra-high quality; otherwise, the SDK may over-restore audio details, and you may not hear the anticipated voice effect.
    • -
    -
    -
    -
    + Enumerator + + + + Turn off voice beautifier effects and use the original voice. + + + +

    A more magnetic voice.

    + Agora recommends using this enumerator to process a + male-sounding voice; otherwise, you may experience vocal + distortion.
    +
    + + + +

    A fresher voice.

    + Agora recommends using this enumerator to process a + female-sounding voice; otherwise, you may experience vocal + distortion. +
    +
    + + + +

    A more vital voice.

    + Agora recommends using this enumerator to process a + female-sounding voice; otherwise, you may experience vocal + distortion. +
    +
    + + + +

    Singing beautifier effect.

    +
      +
    • If you call (), you can beautify a male-sounding + voice and add a reverberation effect that sounds like singing in a + small room. Agora recommends using this enumerator to process a + male-sounding voice; otherwise, you might experience vocal + distortion.
    • +
    • If you call (, param1, param2), you can beautify + a male or female-sounding voice and add a reverberation effect.
    • +
    +
    +
    + + + A more vigorous voice. + + + + A deep voice. + + + + A mellower voice. + + + + Falsetto. + + + + A fuller voice. + + + + A clearer voice. + + + + A more resounding voice. + + + + A more ringing voice. + + + + A ultra-high quality voice, which makes the audio clearer and restores more details.
      +
    • To achieve better audio effect quality, Agora recommends that you + set the profile of to (4) or (5) and + scenario to (3) before calling .
    • +
    • If you have an audio capturing device that can already restore audio + details to a high degree, Agora recommends that you do not enable + ultra-high quality; otherwise, the SDK may over-restore audio + details, and you may not hear the anticipated voice effect.
    • +
    +
    +
    + +
    diff --git a/en-US/dita/RTC-NG/API/enum_voicechangerpreset.dita b/en-US/dita/RTC-NG/API/enum_voicechangerpreset.dita index 44e80950fff..c02df871bd7 100644 --- a/en-US/dita/RTC-NG/API/enum_voicechangerpreset.dita +++ b/en-US/dita/RTC-NG/API/enum_voicechangerpreset.dita @@ -7,82 +7,90 @@
    Enumerator - - - The original voice (no local voice change). - - - - The voice of an old man. - - - - The voice of a little boy. - - - - The voice of a little girl. - - - - The voice of Zhu Bajie, a character in Journey to the West who has a voice like that of a growling bear. - - - - The ethereal voice. - - - - The voice of Hulk. - - - - A more vigorous voice. - - - - A deeper voice. - - - - A mellower voice. - - - - Falsetto. - - - - A fuller voice. - - - - A clearer voice. - - - - A more resounding voice. - - - - A more ringing voice. - - - - A more spatially resonant voice. - - - - (For male only) A more magnetic voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. Do not use it when the speaker is a female; otherwise, voice distortion occurs. - - - - (For female only) A fresher voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. Do not use it when the speaker is a male; otherwise, voice distortion occurs. - - - - (For female only) A more vital voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. Do not use it when the speaker is a male; otherwise, voice distortion occurs. - -
    + + + The original voice (no local voice change). + + + + The voice of an old man. + + + + The voice of a little boy. + + + + The voice of a little girl. + + + + The voice of Zhu Bajie, a character in Journey to the West who has a + voice like that of a growling bear. + + + + The ethereal voice. + + + + The voice of Hulk. + + + + A more vigorous voice. + + + + A deeper voice. + + + + A mellower voice. + + + + Falsetto. + + + + A fuller voice. + + + + A clearer voice. + + + + A more resounding voice. + + + + A more ringing voice. + + + + A more spatially resonant voice. + + + + (For male only) A more magnetic voice. Do not use it when the speaker + is a male; otherwise, voice distortion occurs. Do not use it when the + speaker is a female; otherwise, voice distortion occurs. + + + + (For female only) A fresher voice. Do not use it when the speaker is a + male; otherwise, voice distortion occurs. Do not use it when the + speaker is a male; otherwise, voice distortion occurs. + + + + (For female only) A more vital voice. Do not use it when the speaker is + a male; otherwise, voice distortion occurs. Do not use it when the + speaker is a male; otherwise, voice distortion occurs. + + + diff --git a/en-US/dita/RTC-NG/API/enum_voiceconversionpreset.dita b/en-US/dita/RTC-NG/API/enum_voiceconversionpreset.dita index fe3d5c784ac..8253103f7ea 100644 --- a/en-US/dita/RTC-NG/API/enum_voiceconversionpreset.dita +++ b/en-US/dita/RTC-NG/API/enum_voiceconversionpreset.dita @@ -7,26 +7,31 @@
    Enumerator - - - Turn off voice conversion effects and use the original voice. - - - - A gender-neutral voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice. - - - - A sweet voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice. - - - - A steady voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice. - - - - A deep voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice. - -
    + + + Turn off voice conversion effects and use the original voice. + + + + A gender-neutral voice. To avoid audio distortion, ensure that you use this + enumerator to process a female-sounding voice. + + + + A sweet voice. To avoid audio distortion, ensure that you use this + enumerator to process a female-sounding voice. + + + + A steady voice. To avoid audio distortion, ensure that you use this + enumerator to process a male-sounding voice. + + + + A deep voice. To avoid audio distortion, ensure that you use this enumerator + to process a male-sounding voice. + + + diff --git a/en-US/dita/RTC-NG/API/enum_watermarkfitmode.dita b/en-US/dita/RTC-NG/API/enum_watermarkfitmode.dita index 10b54271884..2ace8fa50e8 100644 --- a/en-US/dita/RTC-NG/API/enum_watermarkfitmode.dita +++ b/en-US/dita/RTC-NG/API/enum_watermarkfitmode.dita @@ -7,14 +7,21 @@
    Enumerator - - - Use the positionInLandscapeMode and positionInPortraitMode values you set in . The settings in are invalid. - - - - Use the value you set in . The settings in positionInLandscapeMode and positionInPortraitMode in are invalid. - -
    + + + Use the positionInLandscapeMode and + positionInPortraitMode values you set in . The settings in are invalid. + + + + Use the value you set in . The settings in + positionInLandscapeMode and + positionInPortraitMode in are invalid. + + + diff --git a/en-US/dita/RTC-NG/API/rtc_api_data_type.dita b/en-US/dita/RTC-NG/API/rtc_api_data_type.dita index 951ac801f6e..ba395949618 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_data_type.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_data_type.dita @@ -2,612 +2,39 @@ <ph keyref="typedef"/> - This page lists all the definitions of and the enums for . + This page lists all the definitions of and the enums for .
    <ph keyref="class"/>
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      +
    • -
    • -
    • -
    • +
    • +
    • -
    • +
    • -
    • +
    • +
    • -
    • +
    • @@ -615,7 +42,8 @@
    • -
    • +
    • +
    • @@ -626,8 +54,8 @@
    • -
    • +
    • @@ -635,24 +63,48 @@
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • +
    • -
    • +
    • +
    • +
    • +
    • +
    • @@ -665,966 +117,1928 @@
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
        +
      • +
      • +
      • +
      • +
      • +
    • +
    • +
        +
      • +
      • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
    +
    + Enum +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    +
      +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
    • +
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
        -
      • -
      • -
      • -
      • -
      • -
    • -
    • -
        -
      • -
      • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    - Enum -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
    • @@ -1635,8 +2049,8 @@
    • -
    • +
    • @@ -1644,25 +2058,27 @@
    • +
    • -
    • -
    • +
    • +
    • +
    • +
    • -
    • -
    • +
    • +
    • -
    • @@ -1676,9 +2092,10 @@
    • +
    • -
    • +
    • @@ -1686,13 +2103,11 @@
    • +
    • -
    • -
    • -
    • -
    • -
    • +
    • +
    • @@ -1700,21 +2115,21 @@
    • -
    • -
    • -
    • +
    • +
    • +
    • +
    • +
    • -
    • -
    • +
    • -
    • @@ -1723,456 +2138,46 @@
    • +
    • -
    • +
    • -
    • -
    • -
    • +
    • +
    • -
    • +
    • +
    • -
    • +
    • -
    • +
    • +
    • +
    • +
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    -
      -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    • -
    +
    diff --git a/en-US/dita/RTC-NG/API/rtc_api_data_type_unreal.dita b/en-US/dita/RTC-NG/API/rtc_api_data_type_unreal.dita index 39f8fdd5c9a..03ec2037154 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_data_type_unreal.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_data_type_unreal.dita @@ -2,7 +2,8 @@ <ph keyref="typedef"/> - This page lists all the definitions of and the enums for . + This page lists all the definitions of and the enums for .
    <ph keyref="class"/> @@ -99,7 +100,7 @@
  • -
  • +
  • @@ -216,7 +217,7 @@
  • -
  • +
  • @@ -383,7 +384,7 @@
  • - +
    • @@ -519,7 +520,7 @@
    • -
    +
    diff --git a/en-US/dita/RTC-NG/API/rtc_api_overview.dita b/en-US/dita/RTC-NG/API/rtc_api_overview.dita index 5a18706c23e..ff388ba8f93 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_overview.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_overview.dita @@ -2,9 +2,15 @@ API Overview - Agora provides ensured quality of experience (QoE) for worldwide Internet-based voice and video communications through SD-RTN™. + Agora provides ensured quality of experience (QoE) for + worldwide Internet-based voice and video communications through + SD-RTN™. -

    This page introduces the Unreal C++ API references. If you use Unreal Blueprint SDK, refer to the open source sample project provided by Agora on github, or contact to get the tutorial video.

    +

    This page introduces the Unreal C++ API references. If you use Unreal + Blueprint SDK, refer to the open source sample project provided by Agora + on github, or contact to get the tutorial video.

    Initialization related @@ -14,7 +20,9 @@ - + @@ -22,7 +30,9 @@ - Creates and initializes . Initializes . + Creates and initializes . Initializes + . @@ -236,7 +246,8 @@ - + @@ -333,7 +344,8 @@ - + @@ -507,7 +519,8 @@ - + @@ -564,7 +577,8 @@ - + @@ -580,7 +594,8 @@ - + @@ -637,7 +652,8 @@ - + @@ -682,7 +698,8 @@ - + @@ -693,8 +710,11 @@ - - + + @@ -873,7 +893,8 @@ - (For iOS only) + (For iOS only)
    @@ -886,43 +907,63 @@ - (For Windows and macOS only) + (For Windows and macOS + only) - (For Windows and macOS only) + (For Windows and macOS + only) - (For Windows and macOS only) + (For Windows and macOS + only) - (For Windows and macOS only) + (For Windows and macOS + only) - (For Windows and macOS only) + (For Windows and macOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Windows and macOS only) + (For Windows and macOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Windows and macOS only) + (For Windows and macOS + only) @@ -930,19 +971,24 @@ - (For Windows and macOS only) + (For Windows and macOS + only) - (For Windows and macOS only) + (For + Windows and macOS only) - (For Windows and macOS only) + (For + Windows and macOS only) - (For Windows and macOS only) + (For + Windows and macOS only) @@ -950,7 +996,9 @@ - (For Windows and macOS only) + (For Windows and macOS + only) @@ -1031,11 +1079,17 @@ - (For iOS and macOS only) (For macOS only) (For iOS only) + (For iOS and macOS only) (For macOS only) (For iOS + only) - (For iOS and macOS only) (For macOS only) (For iOS only) + (For iOS and macOS only) (For macOS only) (For iOS + only) @@ -1067,7 +1121,8 @@ - + @@ -1116,7 +1171,8 @@ - + @@ -1267,7 +1323,8 @@ - + @@ -1275,7 +1332,8 @@ -
    +
    Custom Video Source and Renderer @@ -1536,8 +1594,10 @@
    Media player -

    For more methods about the media player, see Built-in Media Player.

    -

    For more methods about the media player, see .

    +

    For more methods about the media player, see Built-in Media Player.

    +

    For more methods about the media player, see .

    Method / Callback @@ -1545,7 +1605,9 @@ - + @@ -1644,7 +1706,8 @@
    <ph props="cn">DRM-protected music</ph> -

    This group of methods is for Android and iOS only.

    +

    This group of methods is for Android + and iOS only.

    Method / Callback @@ -1688,11 +1751,13 @@ - + - + @@ -1700,7 +1765,8 @@ - + @@ -1763,8 +1829,11 @@ - - + + @@ -1825,7 +1894,8 @@ - + @@ -1911,7 +1981,8 @@ - + @@ -1976,15 +2047,18 @@ - + - + - + @@ -2082,7 +2156,8 @@ - + @@ -2100,7 +2175,8 @@ - + @@ -2123,78 +2199,79 @@
    General device management - - Method / Callback - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Method / Callback + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Video Device Management @@ -2205,11 +2282,14 @@ - (For iOS only) + (For iOS only) - (For Android and iOS only) + (For Android and iOS + only) @@ -2217,83 +2297,121 @@ - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For iOS only) + (For iOS only) - (For Android and iOS only) + (For Android and iOS + only) - (For iOS only) + (For iOS only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) - (For Android and iOS only) + (For Android and iOS + only) @@ -2301,11 +2419,15 @@ - (For Windows and macOS only) + (For Windows and macOS + only) - (For Windows and macOS only) + (For Windows and macOS + only) @@ -2317,11 +2439,15 @@ - (For Windows and macOS only) + (For Windows and macOS + only) - (For Windows and macOS only) + (For Windows and macOS + only) @@ -2329,23 +2455,33 @@ - (For Windows and macOS only) + (For Windows and macOS + only) - (For Windows and macOS only) + (For Windows and macOS + only) - (For Windows only) + (For Windows + only) - (For Windows and macOS only) + (For Windows and macOS + only) - (For Windows and macOS only) + (For Windows and macOS + only) @@ -2357,214 +2493,281 @@ - (For Windows and macOS only) + (For Windows and macOS + only)
    Audio Device Management - - Method / Callback - Description - - - - - - - - - - - - - - - - - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows only) - - - - (For Windows and macOS only) - - - - (For macOS only) - - - - (For Windows and macOS only) - - - - (For macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows only) - - - - (For Windows only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For macOS only) - - - - (For Windows and macOS only) - - - - (For Windows only) - - - - (For Windows only) - - - - (For Windows only) - - - - (For Windows only) - - - - (For Windows only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For macOS only) - - - - (For Windows and macOS only) - - - - (For macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Windows and macOS only) - - - - (For Android only) - -
    + + Method / Callback + Description + + + + + + + + + + + + + + + + + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For Windows + only) + + + + (For Windows + and macOS only) + + + + (For macOS + only) + + + + (For Windows + and macOS only) + + + + (For macOS + only) + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For macOS + only) + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For Windows + only) + + + + (For Windows + only) + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For macOS + only) + + + + (For Windows and macOS + only) + + + + (For Windows + only) + + + + (For Windows + only) + + + + (For Windows + only) + + + + (For Windows + only) + + + + (For Windows + only) + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For + Windows only) + + + + (For + Windows and macOS only) + + + + + (For Windows and macOS only) + + + + (For macOS only) + + + + (For + Windows and macOS only) + + + + (For + macOS only) + + + + (For + Windows and macOS only) + + + + (For Windows and + macOS only) + + + + (For Windows and + macOS only) + + + + (For Windows and + macOS only) + + + + (For Windows and + macOS only) + + + + (For + Windows and macOS only) + + + + (For Windows and macOS + only) + + + + (For Windows and macOS + only) + + + + (For Android + only) + +
    +
    Extension @@ -2783,7 +2986,8 @@ - + diff --git a/en-US/dita/RTC-NG/API/rtc_api_overview_ng.dita b/en-US/dita/RTC-NG/API/rtc_api_overview_ng.dita index 1b377ff1e2d..f21ad69560a 100644 --- a/en-US/dita/RTC-NG/API/rtc_api_overview_ng.dita +++ b/en-US/dita/RTC-NG/API/rtc_api_overview_ng.dita @@ -2,371 +2,401 @@ API Overview - Agora provides ensured quality of experience (QoE) for worldwide Internet-based voice and video communications through SD-RTN™. + Agora provides ensured quality of experience (QoE) for + worldwide Internet-based voice and video communications through + SD-RTN™. -

    This page introduces the Unreal C++ API references. If you use Unreal Blueprint SDK, refer to the open source sample project provided by Agora on github, or contact to get the tutorial video.

    +

    This page introduces the Unreal C++ API references. If you use Unreal + Blueprint SDK, refer to the open source sample project provided by Agora + on github, or contact to get the tutorial video.

    Statistics events - - Event - Description - - - - - - - - - + + Event + Description + + + + + + + + + -
    +
    +
    Audio pre-process and post-process - - Method - Description - - - - - - - - - -
    + + Method + Description + + + + + + + + + + +
    Video pre-process and post-process - - Method - Description - + + Method + Description + -
    + +
    Face detection - This group of methods is for Android and iOS only. - - Method - Description - + This group of methods is for Android and iOS + only. + + + Method + Description + - - - Event - Description - + + + + Event + Description + -
    + +
    In-ear monitoring - - Method - Description - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - -
    + + Method + Description + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + +
    Voice changer and reverberation - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Video stream fallback - - Method - Description - - - - - - - - Event - Description - - - - - -
    + + Method + Description + + + + + + + + + Event + Description + + + + + + +
    Pre-call network test - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - -
    + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + +
    Sound localization - - Method - Description - - - - - - - - - - - - - -
    + + Method + Description + + + + + + + + + + + + + + +
    Spatial audio effect - - Cloud server calculation methods - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Local Cartesian coordinate system calculation solution - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Local spherical coordinate system calculation solution - Description - - - - - - - - - - - - - - - - Cloud server calculation events - Description - - - - - - - - - - - - - - - - - -
    + + Cloud server calculation methods + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Local Cartesian coordinate system calculation solution + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Local spherical coordinate system calculation solution + Description + + + + + + + + + + + + + + + + + Cloud server calculation events + Description + + + + + + + + + + + + + + + + + + +
    Local video transcoder - - Method - Description - + + Method + Description + @@ -375,301 +405,327 @@ Description - -
    + +
    Custom audio source - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Custom audio renderer - - Method - Description - - - - - - - - - -
    + + Method + Description + + + + + + + + + + +
    Raw audio data - - Method - Description - - - - - - - - - - - - - - - - - - - - - + + Method + Description + + + + + + + + + + + + + + + + + + + + + - - Event - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Encoded audio data - - Method - Description - - - - - - - - Event - Description - - - - - - - - - - - - - -
    + + Method + Description + + + + + + + + + Event + Description + + + + + + + + + + + + + + +
    Audio spectrum - - Method - Description - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - -
    + + Method + Description + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + +
    External video source - - Method - Description - - - - - - - - - -
    + + Method + Description + + + + + + + + + + +
    Multiple channels -

    For more methods about multi-channel, see Multi-channel Management.

    -

    For more methods about multi-channel, see .

    +

    For more methods about multi-channel, see Multi-channel Management.

    +

    For more methods about multi-channel, see .

    - - Method - Description - - - - - - - - - - - - - -
    + + Method + Description + + + + + + + + + + + + + + +
    Device management - - Method - Description - - - - Event - Description - -
    + + Method + Description + + + + + Event + Description + + +
    Video Device Management - - Method - Description - - - - Event - Description - -
    + + Method + Description + + + + + Event + Description + + +
    Video device collection -

    This group of methods is for Windows only.

    -
    - - Method - Description - -
    +

    This group of methods is for Windows only.

    + + + + Method + Description + + +
    Audio device collection -

    This group of methods is for Windows only.

    -
    - - Method - Description - -
    +

    This group of methods is for Windows only.

    + + + + Method + Description + + +
    Miscellaneous audio control -

    This group of methods is for Windows and macOS only.

    -
    - - Method - Description - - -
    +

    This group of methods is for Windows and macOS only.

    + + + + Method + Description + + + +
    diff --git a/en-US/dita/RTC-NG/API/rtc_audio_management.dita b/en-US/dita/RTC-NG/API/rtc_audio_management.dita index 6dab97d24f6..31c90376ffc 100644 --- a/en-US/dita/RTC-NG/API/rtc_audio_management.dita +++ b/en-US/dita/RTC-NG/API/rtc_audio_management.dita @@ -3,6 +3,6 @@ Audio management -

    +

    diff --git a/en-US/dita/RTC-NG/API/rtc_cdn_publisher.dita b/en-US/dita/RTC-NG/API/rtc_cdn_publisher.dita index d627b4d1c05..080170bb3c3 100644 --- a/en-US/dita/RTC-NG/API/rtc_cdn_publisher.dita +++ b/en-US/dita/RTC-NG/API/rtc_cdn_publisher.dita @@ -3,6 +3,6 @@ CDN publisher -

    +

    diff --git a/en-US/dita/RTC-NG/API/rtc_core_events.dita b/en-US/dita/RTC-NG/API/rtc_core_events.dita index 1d705fa816e..e8ca65fc4db 100644 --- a/en-US/dita/RTC-NG/API/rtc_core_events.dita +++ b/en-US/dita/RTC-NG/API/rtc_core_events.dita @@ -3,6 +3,6 @@ 频道事件 -

    +

    diff --git a/en-US/dita/RTC-NG/API/rtc_interface_class.dita b/en-US/dita/RTC-NG/API/rtc_interface_class.dita index e464635e980..0a0bb774010 100644 --- a/en-US/dita/RTC-NG/API/rtc_interface_class.dita +++ b/en-US/dita/RTC-NG/API/rtc_interface_class.dita @@ -1,8 +1,8 @@ -Interface Class -This page lists all interface classes for . - - + Interface Class + This page lists all interface classes for . + diff --git a/en-US/dita/RTC-NG/API/rtc_video_events.dita b/en-US/dita/RTC-NG/API/rtc_video_events.dita index 096a5eba6fc..c220e213e4d 100644 --- a/en-US/dita/RTC-NG/API/rtc_video_events.dita +++ b/en-US/dita/RTC-NG/API/rtc_video_events.dita @@ -3,6 +3,6 @@ 视频事件 -

    +

    diff --git a/en-US/dita/RTC-NG/API/rtc_video_management.dita b/en-US/dita/RTC-NG/API/rtc_video_management.dita index 2d9d6fcf590..f925697534e 100644 --- a/en-US/dita/RTC-NG/API/rtc_video_management.dita +++ b/en-US/dita/RTC-NG/API/rtc_video_management.dita @@ -3,6 +3,6 @@ Video management -

    +

    diff --git a/en-US/dita/RTC-NG/API/toc_audio_device_management.dita b/en-US/dita/RTC-NG/API/toc_audio_device_management.dita index 85e296b987f..f738d8ba018 100644 --- a/en-US/dita/RTC-NG/API/toc_audio_device_management.dita +++ b/en-US/dita/RTC-NG/API/toc_audio_device_management.dita @@ -2,6 +2,7 @@ Audio Device Management - Introduces methods and callbacks related to audio device management. + Introduces methods and callbacks related to audio + device management. diff --git a/en-US/dita/RTC-NG/API/toc_audio_effect.dita b/en-US/dita/RTC-NG/API/toc_audio_effect.dita index e20e93d6a5a..ce16b296eae 100644 --- a/en-US/dita/RTC-NG/API/toc_audio_effect.dita +++ b/en-US/dita/RTC-NG/API/toc_audio_effect.dita @@ -2,6 +2,7 @@ Audio Effect Processing - Introduces methods and callbacks related to audio effect processing. + Introduces methods and callbacks related to audio + effect processing. diff --git a/en-US/dita/RTC-NG/API/toc_audio_observer.dita b/en-US/dita/RTC-NG/API/toc_audio_observer.dita index c1254896b63..31dc5888cb1 100644 --- a/en-US/dita/RTC-NG/API/toc_audio_observer.dita +++ b/en-US/dita/RTC-NG/API/toc_audio_observer.dita @@ -2,6 +2,7 @@ Audio Frame Observer - Introduces methods and callbacks related to audio frame observers. + Introduces methods and callbacks related to audio frame + observers. diff --git a/en-US/dita/RTC-NG/API/toc_audio_process.dita b/en-US/dita/RTC-NG/API/toc_audio_process.dita index 25c5ba0bdd2..7a8f5de570c 100644 --- a/en-US/dita/RTC-NG/API/toc_audio_process.dita +++ b/en-US/dita/RTC-NG/API/toc_audio_process.dita @@ -2,6 +2,7 @@ Audio Processing - Introduces methods and callbacks related to audio processing. + Introduces methods and callbacks related to audio + processing. diff --git a/en-US/dita/RTC-NG/API/toc_core_method.dita b/en-US/dita/RTC-NG/API/toc_core_method.dita index 79458b8ec81..20c267181a0 100644 --- a/en-US/dita/RTC-NG/API/toc_core_method.dita +++ b/en-US/dita/RTC-NG/API/toc_core_method.dita @@ -2,6 +2,7 @@ Core Methods and Callbacks - Introduces the core methods and corresponding callbacks in the RTC SDK. + Introduces the core methods and corresponding callbacks + in the RTC SDK. diff --git a/en-US/dita/RTC-NG/API/toc_drm.dita b/en-US/dita/RTC-NG/API/toc_drm.dita index 0ee86731edb..5bc6f9637bb 100644 --- a/en-US/dita/RTC-NG/API/toc_drm.dita +++ b/en-US/dita/RTC-NG/API/toc_drm.dita @@ -3,6 +3,5 @@ DRM-protected music 介绍版权音乐的相关方法和回调。 - - + diff --git a/en-US/dita/RTC-NG/API/toc_local_recording.dita b/en-US/dita/RTC-NG/API/toc_local_recording.dita index 078a39feb09..f64692580a0 100644 --- a/en-US/dita/RTC-NG/API/toc_local_recording.dita +++ b/en-US/dita/RTC-NG/API/toc_local_recording.dita @@ -2,6 +2,7 @@ Audio and video recording - Introduces the methods and callbacks used when recording audio and video streams. + Introduces the methods and callbacks used when + recording audio and video streams. diff --git a/en-US/dita/RTC-NG/API/toc_mediaplayer.dita b/en-US/dita/RTC-NG/API/toc_mediaplayer.dita index 185ddb86d22..4f205018f9d 100644 --- a/en-US/dita/RTC-NG/API/toc_mediaplayer.dita +++ b/en-US/dita/RTC-NG/API/toc_mediaplayer.dita @@ -2,10 +2,12 @@ Built-in Media Player - Introduces the methods and callbacks related to the built-in media player. + Introduces the methods and callbacks related to the + built-in media player.

    -

    You can play local or online media resources by calling APIs related to the media player, or play media resources to remote users in the Agora channel.

    +

    You can play local or online media resources by calling APIs related to the media + player, or play media resources to remote users in the Agora channel.

    diff --git a/en-US/dita/RTC-NG/API/toc_metadata.dita b/en-US/dita/RTC-NG/API/toc_metadata.dita index 877195471d1..0699fb8722b 100644 --- a/en-US/dita/RTC-NG/API/toc_metadata.dita +++ b/en-US/dita/RTC-NG/API/toc_metadata.dita @@ -2,6 +2,7 @@ Metadata Observer - Introduces methods and callbacks related to metadata observers. + Introduces methods and callbacks related to metadata + observers. diff --git a/en-US/dita/RTC-NG/API/toc_multi_channel.dita b/en-US/dita/RTC-NG/API/toc_multi_channel.dita index 395d8414254..c41bd3a9013 100644 --- a/en-US/dita/RTC-NG/API/toc_multi_channel.dita +++ b/en-US/dita/RTC-NG/API/toc_multi_channel.dita @@ -2,11 +2,14 @@ Multi-channel Management - Introduces methods and callbacks related to multi-channels. + Introduces methods and callbacks related to + multi-channels.
    -

    The RTC SDK enables users to join multiple channels at the same time and receive the audio and video streams of all the channels.

    - Agora recommends that you call the multi-channel related methods after calling to join multiple channels. +

    The RTC SDK enables users to join multiple channels at the same time and receive the + audio and video streams of all the channels.

    + Agora recommends that you call the multi-channel related methods after + calling to join multiple channels.
    diff --git a/en-US/dita/RTC-NG/API/toc_network.dita b/en-US/dita/RTC-NG/API/toc_network.dita index 5512f8563d5..46559d656ed 100644 --- a/en-US/dita/RTC-NG/API/toc_network.dita +++ b/en-US/dita/RTC-NG/API/toc_network.dita @@ -2,6 +2,7 @@ Network and Others - Introduces methods related to network and other methods and callbacks. + Introduces methods related to network and other methods + and callbacks. diff --git a/en-US/dita/RTC-NG/API/toc_screen_share.dita b/en-US/dita/RTC-NG/API/toc_screen_share.dita index 7e3c7533f07..f11bf859865 100644 --- a/en-US/dita/RTC-NG/API/toc_screen_share.dita +++ b/en-US/dita/RTC-NG/API/toc_screen_share.dita @@ -2,6 +2,7 @@ Screen Sharing - Introduces methods and callbacks related to screen sharing. + Introduces methods and callbacks related to screen + sharing. diff --git a/en-US/dita/RTC-NG/API/toc_stream_management.dita b/en-US/dita/RTC-NG/API/toc_stream_management.dita index f0e6a09f907..6d387893b35 100644 --- a/en-US/dita/RTC-NG/API/toc_stream_management.dita +++ b/en-US/dita/RTC-NG/API/toc_stream_management.dita @@ -2,6 +2,7 @@ Audio and Video Stream Management - Introduces methods and callbacks related to the management of audio and video streams. + Introduces methods and callbacks related to the + management of audio and video streams. diff --git a/en-US/dita/RTC-NG/API/toc_streaming.dita b/en-US/dita/RTC-NG/API/toc_streaming.dita index 179dce4178c..ddadbd05124 100644 --- a/en-US/dita/RTC-NG/API/toc_streaming.dita +++ b/en-US/dita/RTC-NG/API/toc_streaming.dita @@ -2,6 +2,7 @@ Streaming - Introduces methods and callbacks related to streaming. + Introduces methods and callbacks related to + streaming. diff --git a/en-US/dita/RTC-NG/API/toc_video_device_management.dita b/en-US/dita/RTC-NG/API/toc_video_device_management.dita index 201d12850c0..05bfb0a5028 100644 --- a/en-US/dita/RTC-NG/API/toc_video_device_management.dita +++ b/en-US/dita/RTC-NG/API/toc_video_device_management.dita @@ -2,6 +2,7 @@ Video Device Management - Introduces methods and callbacks related to video device management. + Introduces methods and callbacks related to video + device management. diff --git a/en-US/dita/RTC-NG/API/toc_video_observer.dita b/en-US/dita/RTC-NG/API/toc_video_observer.dita index 8ef0ca3f974..c45309ddc9c 100644 --- a/en-US/dita/RTC-NG/API/toc_video_observer.dita +++ b/en-US/dita/RTC-NG/API/toc_video_observer.dita @@ -2,6 +2,7 @@ Video Frame Observer - Introduces methods and callbacks related to video frame observers. + Introduces methods and callbacks related to video frame + observers. diff --git a/en-US/dita/RTC-NG/API/toc_video_process.dita b/en-US/dita/RTC-NG/API/toc_video_process.dita index e223434b39d..2706d8e42ea 100644 --- a/en-US/dita/RTC-NG/API/toc_video_process.dita +++ b/en-US/dita/RTC-NG/API/toc_video_process.dita @@ -2,6 +2,7 @@ Video Processing - Introduces methods and callbacks related to video processing. + Introduces methods and callbacks related to video + processing. diff --git a/en-US/dita/RTC-NG/conref/conref_api_metadata.dita b/en-US/dita/RTC-NG/conref/conref_api_metadata.dita index 78791a66080..53e7c7a1528 100644 --- a/en-US/dita/RTC-NG/conref/conref_api_metadata.dita +++ b/en-US/dita/RTC-NG/conref/conref_api_metadata.dita @@ -4,10 +4,11 @@ API Metadata for Reuse

    - - Properties - Attributes - + + Properties + Attributes +

    diff --git a/en-US/dita/RTC-NG/release/release_ng_4.2.2.dita b/en-US/dita/RTC-NG/release/release_ng_4.2.2.dita index 0e634e3cc8e..9bad68d0cbe 100644 --- a/en-US/dita/RTC-NG/release/release_ng_4.2.2.dita +++ b/en-US/dita/RTC-NG/release/release_ng_4.2.2.dita @@ -1,123 +1,284 @@ - v4.2.2 -

    v4.2.2 was released on July xx, 2023.

    - - - <topic id="compatibility" props="android ios unity rn unreal bp flutter"> - <title>Compatibility changes - -

    DRM-protected music

    -

    该版本废弃了 类下的 方法并新增 方法。 如果你使用了 方法实现预加载音乐资源,请在升级到该版本后更新 app 代码。

    -

    该版本删除了 类下的 方法中的 jsonOption 参数,请在升级到该版本后更新 app 代码。

    - -
    - - New features - -
      -
    1. Wildcard token

      This release introduces wildcard tokens. Agora supports setting the channel name used for generating a token as a wildcard character. The token generated can be used to join any channel if you use the same user id. In scenarios involving multiple channels, such as switching between different channels, using a wildcard token can avoid repeated application of tokens every time users joining a new channel, which reduces the pressure on your token server. See .All 4.x SDKs support using wildcard tokens.

      -
    2. -
    3. Preloading channels

      This release adds and methods, which allows a user whose role is set as audience to preload channels before joining one. Calling the method can help shortening the time of joining a channel, thus reducing the time it takes for audience members to hear and see the host.

      -

      When preloading more than one channels, Agora recommends that you use a wildcard token for preloading to avoid repeated application of tokens every time you joining a new channel, thus saving the time for switching between channels. See .

      -
    4. -
    5. Customized background color of video canvas

      In this release, the backgroundColor member has been added to , which allows you to customize the background color of the video canvas when setting the properties of local or remote video display.

      -
    6. -
    7. Video source types for local preview

      To allow users in selecting different types of video sources for local video preview, this release introduces and . You can call and specify the type of video source to be previewed by setting the sourceType parameter, and call to stop the video preview.

      - The video source type specified in this method must match the video source type set in the of the method. -
    8. -
    9. Publishing video streams from different sources (Windows, macOS)

      -

      This release adds the following members in to allow you publish video streams captured from the third and fourth camera or screen:

      • publishThirdCameraTrack: Publishing the video stream captured from the third camera.
      • -
      • publishFourthCameraTrack: Publishing the video stream captured from the fourth camera.
      • -
      • publishThirdScreenTrack: Publishing the video stream captured from the third screen.
      • -
      • publishFourthScreenTrack: Publishing the video stream captured from the fourth screen.
      - For one , Agora supports publishing multiple audio streams and one video stream at the same time.

      -
    10. -
    11. NO DOCS

      -

      该版本新增 方法,如果你仅需要播放某一音乐资源的副歌片段,在播放前你需要调用该方法来为该副歌片段创建一个内部歌曲编号,作为该资源的唯一标识。 你可以查看了解更多 K 歌场景方案。

      -
    12. -
    - -
    - - Improvements - -
      -
    1. Improved camera capture effect (Android, iOS)

      -

      This release has improved camera capture effect in the following aspects:

        -
      1. Support for camera exposure adjustment

        This release adds to query whether the device supports exposure adjustment and to set the exposure ratio of the camera.

      2. -
      3. Optimization of default camera selection (iOS)

        -

        Since this release, the default camera selection behavior of the SDK is aligned with that of the iOS system camera. If the device has multiple rear cameras, better shooting perspectives, zooming capabilities, low-light performance, and depth sensing can be achieved during video capture, thereby improving the quality of video capture.

      4. + v4.2.2 + +

        v4.2.2 was released on July xx, 2023.

        + + + + <topic id="compatibility" props="android ios unity rn unreal bp flutter"> + <title>Compatibility changes + +

        DRM-protected music

        +

        该版本废弃了 类下的 方法并新增 方法。 如果你使用了 + 方法实现预加载音乐资源,请在升级到该版本后更新 app 代码。

        +

        该版本删除了 类下的 方法中的 jsonOption + 参数,请在升级到该版本后更新 app 代码。

        + +
        + + New features + +
          +
        1. Wildcard token

          This release introduces wildcard tokens. + Agora supports setting the channel name used for generating a token as a + wildcard character. The token generated can be used to join any channel + if you use the same user id. In scenarios involving multiple channels, + such as switching between different channels, using a wildcard token can + avoid repeated application of tokens every time users joining a new + channel, which reduces the pressure on your token server. See .All 4.x SDKs support + using wildcard tokens.

          +
        2. +
        3. Preloading channels

          This release adds and methods, which + allows a user whose role is set as audience to preload channels before + joining one. Calling the method can help shortening the time of joining a + channel, thus reducing the time it takes for audience members to hear + and see the host.

          +

          When preloading more than one channels, Agora recommends that you use a + wildcard token for preloading to avoid repeated application of tokens + every time you joining a new channel, thus saving the time for switching + between channels. See .

          +
        4. +
        5. Customized background color of video canvas

          In this + release, the backgroundColor member has been added to , which allows you + to customize the background color of the video canvas + when setting the properties of local or remote video + display.

          +
        6. +
        7. Video source types for local preview

          To + allow users in selecting different types of video sources for local + video preview, this release introduces and . You can call and specify the + type of video source to be previewed by setting the + sourceType parameter, and call to stop the video + preview.

          + The video source type specified in this method must match the video + source type set in the of the method. +
        8. +
        9. Publishing video + streams from different sources (Windows, macOS)

          +

          This release adds the following members in to allow you publish video + streams captured from the third and fourth camera or + screen:

            +
          • publishThirdCameraTrack: Publishing the video + stream captured from the third camera.
          • +
          • publishFourthCameraTrack: Publishing the video + stream captured from the fourth camera.
          • +
          • publishThirdScreenTrack: Publishing the video + stream captured from the third screen.
          • +
          • publishFourthScreenTrack: Publishing the video + stream captured from the fourth screen.
          • +
          + For one , Agora supports publishing multiple audio streams and one + video stream at the same time.

          +
        10. +
        11. NO DOCS

          +

          该版本新增 + 方法,如果你仅需要播放某一音乐资源的副歌片段,在播放前你需要调用该方法来为该副歌片段创建一个内部歌曲编号,作为该资源的唯一标识。 + 你可以查看了解更多 K 歌场景方案。

          +
        12. +
        + +
        + + Improvements + +
          +
        1. Improved camera + capture effect + (Android, iOS)

          +

          This release has improved camera + capture effect in the following aspects:

            +
          1. Support for camera exposure adjustment

            This release + adds to query whether the device supports exposure + adjustment and to set the exposure ratio of the + camera.

          2. +
          3. Optimization of default camera selection (iOS)

            +

            Since this release, the default camera selection behavior of + the SDK is aligned with that of the iOS system camera. If + the device has multiple rear cameras, better shooting + perspectives, zooming capabilities, low-light performance, + and depth sensing can be achieved during video capture, + thereby improving the quality of video capture.

          -

          Since this release, camera exposure adjustment is supported. This release adds to query whether the device supports exposure adjustment and to set the exposure ratio of the camera.

          -
        2. -
        3. Virtual Background Algorithm Upgrade

          This version has upgraded the portrait segmentation algorithm of the virtual background, which comprehensively improves the accuracy of portrait segmentation, the smoothness of the portrait edge with the virtual background, and the fit of the edge when the person moves. In addition, it optimizes the precision of the person's edge in scenarios such as meetings, offices, homes, and under backlight or weak light conditions.

          -
        4. -
        5. Channel media relay

          The number of target channels for media relay has been increased to 6. When calling and , you can specify up to 6 target channels.

          -
        6. -
        7. Enhancement in video codec query capability

          To improve the video codec query capability, this release adds the codecLevels member in . After successfully calling , you can obtain the hardware and software decoding capability levels of the device for H.264 and H.265 video formats through codecLevels.

          -
        8. -
        -

        This release includes the following additional improvements:

          -
        1. To improve the switching experience between multiple audio routes, this release adds the method. This method can switch the audio route from a Bluetooth headphone to the earpiece, wired headphone or speaker in communication volume mode (). (Android)

        2. -
        3. The SDK automacially adjusts the frame rate of the sending end based on the screen sharing scenario. Especially in document sharing scenarios, this feature avoids exceeding the expected video bitrate on the sending end to improve transmission efficiency and reduce network burden.
        4. -
        5. To help users understand the reasons for more types of remote video state changes, the enumeration has been added to the callback, indicating that the local video decoder does not support decoding the received remote video stream.
        6. -
        7. NO DOCS (Android, iOS)

        8. -

        - -
        - - Issues fixed - +

        Since this release, camera exposure adjustment is + supported. This release adds to query whether the device supports + exposure adjustment and to set the exposure ratio of the + camera.

        + +
      5. Virtual Background Algorithm Upgrade

        This version has + upgraded the portrait segmentation algorithm of the virtual background, + which comprehensively improves the accuracy of portrait segmentation, + the smoothness of the portrait edge with the virtual background, and the + fit of the edge when the person moves. In addition, it optimizes the + precision of the person's edge in scenarios such as meetings, offices, + homes, and under backlight or weak light conditions.

        +
      6. +
      7. Channel media relay

        The number of target channels for + media relay has been increased to 6. When calling and , you can specify + up to 6 target channels.

        +
      8. +
      9. Enhancement in video codec query capability

        To improve the + video codec query capability, this release adds the + codecLevels member in . After successfully calling , you + can obtain the hardware and software decoding capability levels of the + device for H.264 and H.265 video formats through + codecLevels.

        +
      10. +
      +

      This release includes the following additional improvements:

        +
      1. To improve the + switching experience between multiple audio routes, this release + adds the method. This method can switch the audio route + from a Bluetooth headphone to the earpiece, wired headphone or + speaker in communication volume mode (). (Android)

      2. +
      3. The SDK automacially adjusts the frame rate of the sending end based on + the screen sharing scenario. Especially in document sharing scenarios, + this feature avoids exceeding the expected video bitrate on the sending + end to improve transmission efficiency and reduce network burden.
      4. +
      5. To help users understand the reasons for more types of remote video + state changes, the enumeration has been added to the callback, + indicating that the local video decoder does not support decoding the + received remote video stream.
      6. +
      7. NO DOCS + (Android, iOS)

      8. +

      + + + + Issues fixed +

      This release fixed the following issues:

        -
      • Occasionally, noise occurred when the local user listened to their own and remote audio after joining the channel. (macOS)

      • -
      • Slow channel reconnection after the connection was interrupted due to network reasons.
      • -
      • In screen sharing scenarios, the delay of seeing the shared screen was occasionally higher than expected on some devices.
      • -
      • In custom video capturing scenarios, , , , and could not load extensions automatically.
      • -
      • In multi-device audio recording scenarios, after repeatedly plugging and unplugging or enabling/disabling the audio recording device, no sound could be heard occasionally when calling the to start an audio capturing device test. (Windows)

      • - +
      • Occasionally, noise + occurred when the local user listened to their own and remote + audio after joining the channel. (macOS)

      • +
      • Slow channel reconnection after the connection was interrupted due to + network reasons.
      • +
      • In screen sharing scenarios, the delay of seeing the shared screen was + occasionally higher than expected on some devices.
      • +
      • In custom video capturing scenarios, , , , and could not load extensions + automatically.
      • +
      • In multi-device + audio recording scenarios, after repeatedly plugging and + unplugging or enabling/disabling the audio recording device, no + sound could be heard occasionally when calling the to start an + audio capturing device test. (Windows)

      • +

      - -
      - - API changes - -

      Added

        + + + + API changes + +

        Added

        • -
        • (Android, iOS)
        • -
        • (Android, iOS)
        • +
        • (Android, iOS)
        • +
        • (Android, iOS)
        • -
        • (Android, iOS)
        • -
        • (Android, iOS)
        • -
        • (Android, iOS)
        • -
        • (Android, iOS)
        • -
        • 中增加 songCode (Android, iOS)
        • -
        • 中增加 requestId (Android, iOS)
        • -
        • (Android)
        • -
        • The following members in :

            -
          • publishThirdCameraTrack
          • -
          • publishFourthCameraTrack
          • -
          • publishThirdScreenTrack
          • -
          • publishFourthScreenTrack

        • +
        • (Android, iOS)
        • +
        • (Android, iOS)
        • +
        • (Android, iOS)
        • +
        • (Android, iOS)
        • +
        • 中增加 + songCode + (Android, iOS)
        • +
        • 中增加 + requestId + (Android, iOS)
        • +
        • (Android)
        • +
        • The following members in :

            +
          • publishThirdCameraTrack
          • +
          • publishFourthCameraTrack
          • +
          • publishThirdScreenTrack
          • +
          • publishFourthScreenTrack
          • +

        • -
        • backgroundColor in
        • -
        • codecLevels in
        • -
        • in
        • -
        • -

        +
      • backgroundColor in
      • +
      • codecLevels in
      • +
      • in
      • +
      • +

      -

      Deprecated

        -
      • (Android, iOS)
      • -

      -

      Deleted

        -
      • 类下的 方法中的 jsonOption 参数 (Android, iOS)
      • -

      - -
      +

      Deprecated

        +
      • (Android, iOS)
      • +

      +

      Deleted

        +
      • 类下的 方法中的 jsonOption 参数 (Android, + iOS)
      • +

      + + diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index 451f0cbd8ab..9f44aad84b2 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -10,7 +10,11 @@ Compatibility changes -

      To ensure parameter naming consistency, this version renames channelName to channelId and optionalUid to uid in . You must update your app's code after upgrading to this version to ensure normal project operations.

      +

      To ensure parameter naming consistency, this version renames + channelName to channelId and + optionalUid to uid in . You must update your app's code after + upgrading to this version to ensure normal project operations.

      @@ -18,70 +22,180 @@
      1. Speech Driven Avatar -

        The SDK introduces a speech driven extension that converts speech information into corresponding facial expressions to animate avatar. You can access the facial information through the newly added method and callback. This facial information conforms to the ARKit standard for Blend Shapes (BS), which you can further process using third-party 3D rendering engines.

        -

        The speech driven extension is a trimmable dynamic library, and details about the increase in app size are available at [reduce-app-size]().

        - The speech driven avatar feature is currently in beta testing. To use it, please contact . +

        The SDK introduces a speech driven extension that converts speech + information into corresponding facial expressions to animate avatar. You + can access the facial information through the newly added method and callback. This facial information conforms to + the ARKit standard for Blend Shapes (BS), which you can further process + using third-party 3D rendering engines.

        +

        The speech driven extension is a trimmable dynamic library, and details + about the increase in app size are available at [reduce-app-size]().

        + The speech driven avatar feature is currently in beta + testing. To use it, please contact .
      2. Privacy manifest file (iOS) -

        To meet Apple's safety compliance requirements for app publication, the SDK now includes a privacy manifest file, PrivacyInfo.xcprivacy, detailing the SDK's API calls that access or use user data, along with a description of the types of data collected.

        - If you need to publish an app with SDK versions prior to v4.3.1 to the Apple App Store, you must manually add the PrivacyInfo.xcprivacy file to your Xcode project. +

        To meet Apple's safety compliance requirements for app publication, the + SDK now includes a privacy manifest file, + PrivacyInfo.xcprivacy, detailing the SDK's API + calls that access or use user data, along with a description of the + types of data collected.

        + If you need to publish an app with SDK versions prior to v4.3.1 to the + Apple App Store, you must manually add the + PrivacyInfo.xcprivacy file to your Xcode + project.
      3. Center stage camera (iOS, macOS) -

        To enhance the presentation effect in online meetings, shows, and online education scenarios, this version introduces the method to activate the center stage camera feature. This ensures that presenters, regardless of movement, always remain centered in the video frame, achieving better presentation effects.

        -

        Before enabling Center Stage, it is recommended to verify whether your current device supports this feature by calling . A list of supported devices can be found in the API documentation at .

        +

        To enhance the presentation effect in online meetings, shows, and online + education scenarios, this version introduces the method to activate the center + stage camera feature. This ensures that presenters, regardless of + movement, always remain centered in the video frame, achieving better + presentation effects.

        +

        Before enabling Center Stage, it is recommended to verify whether your + current device supports this feature by calling . A list of supported devices + can be found in the API documentation at .

      4. Camera stabilization (iOS) -

        To improve video stability in mobile filming, low-light environments, and hand-held shooting scenarios, this version introduces a camera stabilization feature. You can activate this feature and select an appropriate stabilization mode by calling , achieving more stable and clearer video footage.

        -
      5. -
      6. Wide and ultra-wide cameras (Android, iOS) -

        To allow users to capture a broader field of view and more complete scene content, this release introduces support for wide and ultra-wide cameras. You can first call to check the device's focal length capabilities, and then call and set cameraFocalLengthType to the supported focal length types, including wide and ultra-wide.

        -
      7. -
      8. Multi-camera capture (Android) -

        This release introduces additional functionalities for Android camera capture: -

          -
        1. Support for capturing and publishing video streams from the third and fourth cameras: -
            -
          • New enumerators (11) and (12) are added to , specifically for the third and fourth camera sources. This change allows you to specify up to four camera streams when initiating camera capture by calling .
          • -
          • (11) and (12) in add support for Android, specifically for the third and fourth camera sources. This change allows you to specify up to four camera streams when initiating camera capture by calling .
          • -
          • New parameters publishThirdCameraTrack and publishFourthCameraTrack are added to . Set these parameters to when joining a channel with to publish video streams captured from the third and fourth cameras.
          • -
          • publishThirdCameraTrack and publishFourthCameraTrack in add support for Android. Set these parameters to when joining a channel with to publish video streams captured from the third and fourth cameras.
          • +

            To improve video stability in mobile filming, low-light environments, and + hand-held shooting scenarios, this version introduces a camera + stabilization feature. You can activate this feature and select an + appropriate stabilization mode by calling , achieving more stable and + clearer video footage.

            + +
          • Wide and ultra-wide cameras + (Android, iOS) +

            To allow users to capture a broader field of view and more complete scene + content, this release introduces support for wide and ultra-wide + cameras. You can first call to check the device's + focal length capabilities, and then call and set + cameraFocalLengthType to the supported focal length + types, including wide and ultra-wide.

            +
          • +
          • Multi-camera capture + (Android) +

            This release introduces additional functionalities for Android camera + capture:

              +
            1. Support for capturing and publishing video streams from the + third and fourth cameras:
                +
              • New enumerators (11) + and (12) are added to , specifically for the + third and fourth camera sources. This change allows you + to specify up to four camera streams when initiating + camera capture by calling .
              • +
              • (11) + and (12) in add support for Android, specifically for the third + and fourth camera sources. This change allows you to + specify up to four camera streams when initiating camera + capture by calling .
              • +
              • New parameters + publishThirdCameraTrack and + publishFourthCameraTrack are added + to . Set these + parameters to when + joining a channel with to + publish video streams captured from the third and fourth + cameras.
              • +
              • publishThirdCameraTrack and + publishFourthCameraTrack in add support for + Android. Set these parameters to when joining a channel + with to publish video + streams captured from the third and fourth cameras.
            2. -
            3. Support for specifying cameras by camera ID: -
                -
              • A new parameter cameraId is added to . For devices with multiple cameras, where cameraDirection cannot identify or access all available cameras, you can obtain the camera ID through Android's native system APIs and specify the desired camera by calling with the specific cameraId.
              • -
              • New method supports switching cameras by cameraId, allowing apps to dynamically adjust camera usage during runtime based on available cameras.
              • +
              • Support for specifying cameras by camera ID:
                  +
                • A new parameter cameraId is added to + . For + devices with multiple cameras, where + cameraDirection cannot identify or + access all available cameras, you can obtain the camera + ID through Android's native system APIs and specify the + desired camera by calling with the specific + cameraId.
                • +
                • New method supports + switching cameras by cameraId, allowing + apps to dynamically adjust camera usage during runtime + based on available cameras.
                -

                A new parameter cameraId is added to . For devices with multiple cameras, where cameraDirection cannot identify or access all available cameras, you can obtain the camera ID through Android's native system APIs and specify the desired camera by calling with the specific cameraId.

                +

                A new parameter + cameraId is added to . For devices with + multiple cameras, where cameraDirection + cannot identify or access all available cameras, you can + obtain the camera ID through Android's native system APIs + and specify the desired camera by calling with the specific + cameraId.

          • Data stream encryption -

            This version adds datastreamEncryptionEnabled to for enabling data stream encryption. You can set this when you activate encryption with . If there are issues causing failures in data stream encryption or decryption, these can be identified by the newly added and enumerations.

            +

            This version adds datastreamEncryptionEnabled to for enabling data stream encryption. You + can set this when you activate encryption with . If there are issues causing failures in + data stream encryption or decryption, these can be identified by the + newly added and enumerations.

          • Local Video Rendering -

            This version adds the following members to to support more local rendering capabilities: -

              -
            • surfaceTexture: Set a native Android SurfaceTexture object as the container providing video imagery, then use SDK external methods to perform OpenGL texture rendering.
            • -
            • enableAlphaMask: This member enables the receiving end to initiate alpha mask rendering. Alpha mask rendering can create images with transparent effects or extract human figures from video content.
            • +

              This version adds the following members to + to support more local rendering capabilities:

                +
              • surfaceTexture: Set a native + Android SurfaceTexture object as the container + providing video imagery, then use SDK external methods to + perform OpenGL texture rendering.
              • +
              • enableAlphaMask: This member enables the receiving end to + initiate alpha mask rendering. Alpha mask rendering can create + images with transparent effects or extract human figures from + video content.

            • Adaptive configuration for low-quality video streams -

              This version introduces adaptive configuration for low-quality video streams. When you activate dual-stream mode and set up low-quality video streams on the sending side using , the SDK defaults to the following behaviors: -

                -
              • The default encoding resolution for low-quality video streams is set to 50% of the original video encoding resolution.
              • -
              • The bitrate for the small streams is automatically matched based on the video resolution and frame rate, eliminating the need for manual specification.
              • +

                This version introduces adaptive configuration for low-quality video + streams. When you activate dual-stream mode and set up low-quality video + streams on the sending side using , + the SDK defaults to the following behaviors:

                  +
                • The default encoding resolution for low-quality video streams is + set to 50% of the original video encoding resolution.
                • +
                • The bitrate for the small streams is automatically matched based + on the video resolution and frame rate, eliminating the need for + manual specification.

              • Other features

                  -
                • New method is added for enabling media stream or data stream encryption in multi-channel scenarios.
                • -
                • New method is introduced for setting the playback speed of audio files.
                • -
                • New method is introduced for retrieving call IDs in multi-channel scenarios.
                • +
                • New method is added for + enabling media stream or data stream encryption in multi-channel + scenarios.
                • +
                • New method is + introduced for setting the playback speed of audio files.
                • +
                • New method is introduced for + retrieving call IDs in multi-channel scenarios.

              • @@ -92,53 +206,129 @@ Improvements
                  -
                1. Optimization for game scenario screen sharing (Windows) -

                  This version specifically optimizes screen sharing for game scenarios, enhancing performance, stability, and clarity in ultra-high definition (4K, 60 fps) game scenarios, resulting in a clearer, smoother, and more stable gaming experience for players.

                  +
                2. Optimization for game scenario + screen sharing (Windows) +

                  This version specifically optimizes screen sharing for game scenarios, + enhancing performance, stability, and clarity in ultra-high definition + (4K, 60 fps) game scenarios, resulting in a clearer, smoother, and more + stable gaming experience for players.

                3. Optimization of local video status callbacks

                  -

                  To facilitate understanding of the specific reasons for changes in local video status, this version adds the following enumerations to the callback's enumeration class:

                  -

                  This version introduces the following enumerations, allowing you to understand more about the reasons behind changes in local video status through the callback:

                  +

                  To facilitate understanding of the specific reasons for + changes in local video status, this version adds the following + enumerations to the callback's + enumeration class:

                  +

                  This version introduces the following enumerations, + allowing you to understand more about the reasons behind changes in + local video status through the + callback:

                    -
                  • (14): Video capture is interrupted due to the camera being occupied by another app or the app moving to the background.
                  • -
                  • (15): Video capture device errors, possibly due to camera equipment failure.
                  • -
                  • (27): The window being captured for screen sharing has recovered from a minimized state.
                  • +
                  • (14): Video capture is interrupted due to the camera + being occupied by another app or the app moving to the + background.
                  • +
                  • (15): Video capture device errors, possibly due to + camera equipment failure.
                  • +
                  • (27): The window being captured for screen sharing + has recovered from a minimized state.
                4. Camera capture improvements -

                  Improvements have been made to the video processing mechanism of camera capture, reducing noise, enhancing brightness, and improving color, making the captured images clearer, brighter, and more realistic.

                  +

                  Improvements have been made to the video processing mechanism of camera + capture, reducing noise, enhancing brightness, and improving color, + making the captured images clearer, brighter, and more realistic.

                5. -
                6. Audio device type detection (macOS) -

                  This version adds the deviceTypeName member to , used to identify the type of audio devices, such as built-in, USB, HDMI, etc.

                  -

                  This version adds the deviceTypeName in , used to identify the type of audio devices, such as built-in, USB, HDMI, etc.

                  -

                  This version adds the , , , and method to obtain the information and type of audio playback and recording deivces.

                  +
                7. Audio device type + detection (macOS) +

                  This version adds the deviceTypeName member + to , used to + identify the type of audio devices, such as built-in, USB, HDMI, + etc.

                  +

                  This version adds the + deviceTypeName in , + used to identify the type of audio devices, such as built-in, USB, HDMI, + etc.

                  +

                  This version adds the , , , and method to obtain the information + and type of audio playback and recording deivces.

                8. Virtual Background Algorithm Optimization -

                  To enhance the accuracy and stability of human segmentation when activating virtual backgrounds against solid colors, this version optimizes the green screen segmentation algorithm: -

                    -
                  • Supports recognition of any solid color background, no longer limited to green screens.
                  • -
                  • Improves accuracy in recognizing background colors and reduces the background exposure during human segmentation.
                  • -
                  • After segmentation, the edges of the human figure (especially around the fingers) are more stable, significantly reducing flickering at the edges.
                  • +

                    To enhance the accuracy and stability of human segmentation when + activating virtual backgrounds against solid colors, this version + optimizes the green screen segmentation algorithm:

                      +
                    • Supports recognition of any solid color background, no longer + limited to green screens.
                    • +
                    • Improves accuracy in recognizing background colors and reduces + the background exposure during human segmentation.
                    • +
                    • After segmentation, the edges of the human figure (especially + around the fingers) are more stable, significantly reducing + flickering at the edges.

                  • Custom audio capture optimization -

                    To enhance the flexibility of custom audio capture, this release deprecates and introduces . Compared to the deprecated method, the new method adds parameters such as sampleRate, channels, and trackId. These support pushing external CMSampleBuffer audio data to the channel via custom audio tracks, and allow for the setting of sample rates and channel counts for external audio sources.

                    +

                    To enhance the flexibility of custom audio capture, this release + deprecates and + introduces . + Compared to the deprecated method, the new method adds parameters such + as sampleRate, channels, and + trackId. These support pushing external + CMSampleBuffer audio data to the channel via custom audio tracks, and + allow for the setting of sample rates and channel counts for external + audio sources.

                  • CPU consumption reduction of in-ear monitoring -

                    This release adds an enumerator (1 << 15) in . For complex audio processing scenarios, you can specify this option to reuse the audio filter post sender-side processing in in-ear monitoring, thereby reducing CPU consumption. Note that this option may increase the latency of in-ear monitoring, which is suitable for latency-tolerant scenarios requiring low CPU consumption.

                    +

                    This release adds an enumerator (1 << 15) in + . For complex audio processing scenarios, you + can specify this option to reuse the audio filter post sender-side + processing in in-ear monitoring, thereby reducing CPU consumption. Note + that this option may increase the latency of in-ear monitoring, which is + suitable for latency-tolerant scenarios requiring low CPU + consumption.

                  • Other improvements -

                    This version also includes the following improvements: -

                      -
                    • Optimization of video encoding and decoding strategies in non-screen sharing scenarios to save system performance overhead. (iOS, macOS, Windows)
                    • -
                    • For macOS 14 and above, optimization of behavior. From this version onward, the method automatically filters out widget windows from the list of available window resources. (macOS)
                    • -
                    • Enhanced performance and stability of the local compositing feature, reducing its CPU usage. (Android)
                    • -
                    • Improved stability in processing video by the raw video frame observer. (iOS)
                    • -
                    • Enhanced media player capabilities to handle WebM format videos, including support for rendering alpha channels.
                    • -
                    • In , a new enumeration (chorus effect) is added, enhancing the spatial presence of vocals in chorus scenarios.
                    • -
                    • New chorus effect is added to enhances the spatial presence of vocals in chorus scenarios. (Android)
                    • -
                    • In , a new e2eDelay field is added to report the delay from when the audio is captured on the sending end to when the audio is played on the receiving end.
                    • +

                      This version also includes the following improvements:

                        +
                      • Optimization of + video encoding and decoding strategies in non-screen sharing + scenarios to save system performance overhead. (iOS, macOS, + Windows)
                      • +
                      • For macOS 14 and above, optimization of behavior. From this + version onward, the method automatically filters out widget + windows from the list of available window resources. + (macOS)
                      • +
                      • Enhanced performance and + stability of the local compositing feature, reducing its CPU + usage. (Android)
                      • +
                      • Improved stability in processing video by + the raw video frame observer. (iOS)
                      • +
                      • Enhanced media player capabilities to handle WebM format videos, + including support for rendering alpha channels.
                      • +
                      • In , a new enumeration + (chorus effect) is added, enhancing the spatial + presence of vocals in chorus scenarios.
                      • +
                      • New chorus effect is added to + enhances the spatial presence of vocals in chorus scenarios. + (Android)
                      • +
                      • In , a new + e2eDelay field is added to report the delay + from when the audio is captured on the sending end to when the + audio is played on the receiving end.

                      @@ -150,19 +340,53 @@

                      This version fixed the following issues:

                        -
                      • Fixed an issue where SEI data output did not synchronize with video rendering when playing media streams containing SEI data using the media player.
                      • -
                      • After joining a channel and calling , audio playback did not immediately stop. (Android)
                      • -
                      • In screen sharing scenarios, when the app enabled sound card capture with to capture audio from the shared screen, the transmission of sound card captured audio failed after a local user manually disabled the local audio capture device, causing remote users to not hear the shared screen's audio. (Windows)
                      • -
                      • In audio-video interactions, if a user inserted headphones into the device and manually switched the system audio output to speakers, and later the app called to specify the headphone as the audio playback device, audio output did not switch back to speakers as expected after the headphones were removed. (macOS)
                      • -
                      • When a user plugged and unplugged a Bluetooth or wired headset once, the audio state change callback was triggered multiple times.
                      • -
                      • When a user plugged and unplugged a Bluetooth or wired headset once, the audio state change callback was triggered multiple times.
                      • -
                      • Broadcasters using certain models of devices under speaker mode experienced occasional local audio capture failures when switching the app process to the background and then back to the foreground, causing remote users to not hear the broadcaster's audio. (Android)
                      • -
                      • An occasional echo was observed when playing the audio stream of a specified user before mixing. (macOS, Windows)
                      • -
                      • During interactions, when a local user set the system default playback device to speakers using , there was no sound from the remote end. (Windows)
                      • -
                      • On devices with Android 8.0, enabling screen sharing occasionally caused the app to crash. (Android)
                      • -
                      • When sharing an Excel document window, remote users occasionally saw a green screen. (Windows)
                      • -
                      • In scenarios using camera capture for local video, when the app was moved to the background and or was called to stop video capture, camera capture was unexpectedly activated when the app was brought back to the foreground. (Android)
                      • -
                      • On devices using Intel graphics cards, occasionally there was a performance regression when publishing a small video stream. (Windows)
                      • +
                      • Fixed an issue where SEI data output did not synchronize with video + rendering when playing media streams containing SEI data using the media + player.
                      • +
                      • After joining a channel and calling , audio playback did not immediately stop. + (Android)
                      • +
                      • In screen sharing scenarios, when the app + enabled sound card capture with to + capture audio from the shared screen, the transmission of sound card + captured audio failed after a local user manually disabled the local audio + capture device, causing remote users to not hear the shared screen's audio. + (Windows)
                      • +
                      • In audio-video interactions, if a user inserted headphones + into the device and manually switched the system audio output to speakers, + and later the app called to specify the + headphone as the audio playback device, audio output did not switch back to + speakers as expected after the headphones were removed. (macOS)
                      • +
                      • When a user plugged and unplugged a Bluetooth or wired headset + once, the audio state change callback was triggered multiple times.
                      • +
                      • When a user plugged and unplugged a Bluetooth or wired headset + once, the audio state change callback was + triggered multiple times.
                      • +
                      • Broadcasters using certain models of + devices under speaker mode experienced occasional local audio capture + failures when switching the app process to the background and then back to + the foreground, causing remote users to not hear the broadcaster's audio. + (Android)
                      • +
                      • An occasional echo was observed when playing the audio stream + of a specified user before mixing. (macOS, Windows)
                      • +
                      • During interactions, when a local user + set the system default playback device to speakers using , there was no sound from the + remote end. (Windows)
                      • +
                      • On devices with Android 8.0, enabling + screen sharing occasionally caused the app to crash. (Android)
                      • +
                      • When sharing an Excel document window, + remote users occasionally saw a green screen. (Windows)
                      • +
                      • In scenarios using camera capture for local + video, when the app was moved to the background and or was called to + stop video capture, camera capture was unexpectedly activated when the app + was brought back to the foreground. (Android)
                      • +
                      • On devices using Intel graphics cards, occasionally + there was a performance regression when publishing a small video stream. + (Windows)
                      @@ -171,71 +395,125 @@

                      Added

                        -
                      • (iOS, macOS)
                      • -
                      • (iOS, macOS)
                      • -
                      • (iOS)
                      • -
                      • (iOS)
                      • -
                      • The surfaceTexture and enableAlphaMask members in
                      • -
                      • The enableAlphaMask member in
                      • -
                      • The following enumerations in : -
                          -
                        • LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT
                        • -
                        • LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR
                        • -
                        • -
                      • -
                      • -
                      • -
                      • -
                      • -
                      • adds
                      • -
                      • adds
                      • -
                      • adds datastreamEncryptionEnabled
                      • -
                      • adds the following enumerations: -
                          -
                        • -
                        • -
                      • -
                      • -
                      • -
                      • (macOS)
                      • -
                      • (macOS)
                      • -
                      • (macOS)
                      • -
                      • (macOS)
                      • -
                      • adds deviceTypeName (macOS)
                      • -
                      • adds deviceTypeName
                      • -
                      • adds e2eDelay
                      • -
                      • adds
                      • -
                      • -
                      • adds , enhancing the spatial presence of vocals in chorus scenarios.
                      • -
                      • is added, enhancing the spatial presence of vocals in chorus scenarios. (Android)
                      • -
                      • -
                      • -
                      • -
                      • (Android, iOS)
                      • -
                      • (Android, iOS)
                      • -
                      • (Android, iOS)
                      • -
                      • adds a new member cameraFocalLengthType (Android, iOS)
                      • -
                      • adds the following enumerations: -
                          -
                        • (11)
                        • -
                        • (12)
                        • -
                      • -
                      • adds the following members: -
                          -
                        • publishThirdCameraTrack
                        • -
                        • publishFourthCameraTrack
                        • -
                      • -
                      • adds a new member cameraId (Android)
                      • -
                      • adds CAMERA_EXTRA(2)
                      • -
                      • -
                      • adds a new enumeration (1 <<15)
                      • -
                      • +
                      • (iOS, macOS)
                      • +
                      • (iOS, macOS)
                      • +
                      • + (iOS)
                      • +
                      • + (iOS)
                      • +
                      • The surfaceTexture and + enableAlphaMask members in
                      • +
                      • The enableAlphaMask member in
                      • +
                      • The following enumerations in : +
                          +
                        • LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT
                        • +
                        • LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR
                        • +
                        • +
                      • +
                      • +
                      • +
                      • +
                      • +
                      • adds
                      • +
                      • adds
                      • +
                      • adds + datastreamEncryptionEnabled
                      • +
                      • + adds the following enumerations: +
                          +
                        • +
                        • +
                      • +
                      • +
                      • +
                      • + (macOS)
                      • +
                      • + (macOS)
                      • +
                      • + (macOS)
                      • +
                      • + (macOS)
                      • +
                      • adds + deviceTypeName (macOS)
                      • +
                      • adds + deviceTypeName
                      • +
                      • adds e2eDelay
                      • +
                      • adds +
                      • +
                      • +
                      • adds + , + enhancing the spatial presence of vocals in chorus scenarios.
                      • +
                      • is added, enhancing the spatial presence of vocals in + chorus scenarios. (Android)
                      • +
                      • +
                      • +
                      • +
                      • (Android, iOS)
                      • +
                      • + (Android, iOS)
                      • +
                      • (Android, iOS)
                      • +
                      • adds a new member + cameraFocalLengthType (Android, iOS)
                      • +
                      • adds the + following enumerations: +
                          +
                        • (11)
                        • +
                        • (12)
                        • +
                      • +
                      • adds the + following members: +
                          +
                        • publishThirdCameraTrack
                        • +
                        • publishFourthCameraTrack
                        • +
                      • +
                      • adds a new member + cameraId (Android)
                      • +
                      • adds + CAMERA_EXTRA(2)
                      • +
                      • +
                      • adds a new enumeration + (1 <<15)
                      • +

                      Deprecated

                        -
                      • +

                      - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_addhandler.dita b/en-US/dita/RTC/API/api_addhandler.dita index fcacb199ed8..60f62c71473 100644 --- a/en-US/dita/RTC/API/api_addhandler.dita +++ b/en-US/dita/RTC/API/api_addhandler.dita @@ -1,39 +1,48 @@ - <ph keyref="addHandler" /> + <ph keyref="addHandler"/> Adds event handlers. - +

                      - public void addHandler(IRtcEngineEventHandler handler) { + public void addHandler(IRtcEngineEventHandler handler) { mInstance.addHandler(handler); } - - - - public abstract void InitEventHandler(IAgoraRtcEngineEventHandler engineEventHandler); - - void setEventHandler(RtcEngineEventHandler handler)

                      + + + + public abstract void InitEventHandler(IAgoraRtcEngineEventHandler engineEventHandler); + + void setEventHandler(RtcEngineEventHandler handler) +

                      -

                      The SDK uses the class to send callbacks to the app. The app inherits the methods of this class to receive these callbacks. All methods in this interface class have default (empty) implementations. Therefore, the application can only inherit some required events. In the callbacks, avoid time-consuming tasks or calling APIs that can block the thread, such as the method. Otherwise, the SDK may not work properly.

                      +

                      The SDK uses the class to send callbacks to + the app. The app inherits the methods of this class to receive these callbacks. All + methods in this interface class have default (empty) implementations. Therefore, the + application can only inherit some required events. In the callbacks, avoid + time-consuming tasks or calling APIs that can block the thread, such as the method. Otherwise, the SDK may not work + properly.

                      Parameters - - handler - engineEventHandler - Callback events to be added. For details, see . - -
                      + + handler + engineEventHandler + Callback events to be added. For details, see . + + +
                      -
                      \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_addinjectstreamurl.dita b/en-US/dita/RTC/API/api_addinjectstreamurl.dita index f91c85e3f1d..d07f4b0bc60 100644 --- a/en-US/dita/RTC/API/api_addinjectstreamurl.dita +++ b/en-US/dita/RTC/API/api_addinjectstreamurl.dita @@ -1,70 +1,99 @@ - <ph keyref="addInjectStreamUrl" /> - Injects an online media stream to a live streaming channel. + <ph keyref="addInjectStreamUrl"/> + Injects an online media stream to a live streaming + channel. - +

                      - public abstract int addInjectStreamUrl(String url, LiveInjectStreamConfig config); - - (int)addInjectStreamUrl:(NSString* _Nonnull)url config:(AgoraLiveInjectStreamConfig* _Nonnull)config; - virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; - addInjectStreamUrl(url: string, config: InjectStreamConfig): number - public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); - addInjectStreamUrl( + public abstract int addInjectStreamUrl(String url, LiveInjectStreamConfig config); + - (int)addInjectStreamUrl:(NSString* _Nonnull)url config:(AgoraLiveInjectStreamConfig* _Nonnull)config; + virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; + addInjectStreamUrl(url: string, config: InjectStreamConfig): number + public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); + addInjectStreamUrl( url: string, config: LiveInjectStreamConfig ): Promise<void> - Future<void> addInjectStreamUrl(String url, LiveInjectStreamConfig config);

                      + Future<void> addInjectStreamUrl(String url, LiveInjectStreamConfig config); +

                      - Agora will soon stop the service for injecting online media streams on the client. If you have not implemented this service, Agora recommends that you do not use it. For details, see Service Sunset Plans. + Agora will soon stop the service for + injecting online media streams on the client. If you have not implemented this + service, Agora recommends that you do not use it. For details, see Service Sunset Plans. -
                        -
                      • Ensure that you enable the Media Push service before using this function. See Prerequisites in Media Push.
                      • -
                      • This method applies to the Native SDK v2.4.1 and later.
                      • -
                      • This method takes effect only when you are a host in a live streaming channel.
                      • -
                      • Only one online media stream can be injected into the same channel at the same time.
                      • -
                      • Call this method after joining a channel.
                      • -
                      -

                      This method injects the currently playing audio and video as audio and video sources into the ongoing live broadcast. This applies to scenarios where all users in the channel can watch a live show and interact with each other. After calling this method, the SDK triggers the callback on the local client to report the state of injecting the online media stream; after successfully injecting the media stream, the stream joins the channel, and all users in the channel receive the callback, where uid is 666.

                      +
                        +
                      • Ensure that you enable the Media Push service before using this function. + See Prerequisites in Media + Push.
                      • +
                      • This method applies to the Native SDK v2.4.1 and + later.
                      • +
                      • This method takes effect only when you are a host in a live streaming + channel.
                      • +
                      • Only one online media stream can be injected into the same channel at the + same time.
                      • +
                      • Call this method after joining a channel.
                      • +
                      + +

                      This method injects the currently playing audio and video as audio and video sources + into the ongoing live broadcast. This applies to scenarios where all users in the + channel can watch a live show and interact with each other. After calling this + method, the SDK triggers the callback on the + local client to report the state of injecting the online media stream; after + successfully injecting the media stream, the stream joins the channel, and all users + in the channel receive the callback, where + uid is 666.

                      Parameters - - url - -

                      The URL address to be added to the ongoing streaming. Valid protocols are RTMP, HLS, and HTTP-FLV. -

                        -
                      • Supported audio codec type: AAC.
                      • -
                      • Supported video codec type: H264 (AVC).
                      • -

                      -
                      -
                      - - config - The configuration information for the added video stream: . - -
                      + + url + +

                      The URL address to be added to the ongoing streaming. Valid protocols are + RTMP, HLS, and HTTP-FLV.

                        +
                      • Supported audio codec type: AAC.
                      • +
                      • Supported video codec type: H264 (AVC).
                      • +
                      +

                      +
                      +
                      + + config + The configuration information for the added video stream: . + + +
                      Returns
                        -
                      • 0: Success.
                      • -
                      • < 0: Failure. -
                          -
                        • ERR_INVALID_ARGUMENT (-2): The injected URL does not exist. Call this method again to inject the stream and ensure that the URL is valid.
                        • -
                        • ERR_NOT_READY (-3): The user is not in the channel.
                        • -
                        • ERR_NOT_SUPPORTED (-4): The channel profile is not live broadcasting. Call and set the channel profile live broadcasting before calling this method.
                        • -
                        • ERR_NOT_INITIALIZED (-7): The SDK is not initialized. Ensure that the object is initialized before using this method.
                        • -
                      • -
                      +
                    • 0: Success.
                    • +
                    • < 0: Failure.
                        +
                      • ERR_INVALID_ARGUMENT (-2): The injected URL does not + exist. Call this method again to inject the stream and ensure that the + URL is valid.
                      • +
                      • ERR_NOT_READY (-3): The user is not in the + channel.
                      • +
                      • ERR_NOT_SUPPORTED (-4): The channel profile is not live + broadcasting. Call and set the + channel profile live broadcasting before calling this method.
                      • +
                      • ERR_NOT_INITIALIZED (-7): The SDK is not initialized. + Ensure that the object is initialized before + using this method.
                      • +
                      +
                    • +
                    + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_addpublishstreamurl.dita b/en-US/dita/RTC/API/api_addpublishstreamurl.dita index 3d0bedc76db..c045a75396a 100644 --- a/en-US/dita/RTC/API/api_addpublishstreamurl.dita +++ b/en-US/dita/RTC/API/api_addpublishstreamurl.dita @@ -1,73 +1,102 @@ - <ph keyref="addPublishStreamUrl" /> - Publishes the local stream to a specified CDN live streaming URL. + + <ph keyref="addPublishStreamUrl"/> + + + Publishes the local stream to a specified CDN live streaming URL. + - +

                    - public abstract int addPublishStreamUrl(String url, boolean transcodingEnabled); - - (int)addPublishStreamUrl:(NSString* _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled; - virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0; - addPublishStreamUrl(url: string, transcodingEnabled: boolean): number - public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); - addPublishStreamUrl(url: string, transcodingEnabled: boolean): Promise<void> - Future<void> addPublishStreamUrl(String url, bool transcodingEnabled);

                    + public abstract int addPublishStreamUrl(String url, boolean transcodingEnabled); + - (int)addPublishStreamUrl:(NSString* _Nonnull)url transcodingEnabled:(BOOL)transcodingEnabled; + virtual int addPublishStreamUrl(const char* url, bool transcodingEnabled) = 0; + addPublishStreamUrl(url: string, transcodingEnabled: boolean): number + public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); + addPublishStreamUrl(url: string, transcodingEnabled: boolean): Promise<void> + Future<void> addPublishStreamUrl(String url, bool transcodingEnabled); +

                    - -
                    Deprecated:
                    -
                    This method is deprecated. See Release Notes for an alternative solution.
                    -
                    This method is deprecated. + +
                    Deprecated:
                    +
                    + This method is deprecated. See Release Notes for an alternative + solution.
                    -
                    +
                    This method is deprecated.
                    +
                    -

                    After calling this method, you can push media streams in RTMP or RTMPS protocol to the CDN. The SDK triggers the callback on the local client to report the state of adding a local stream to the CDN.

                    +

                    After calling this method, you can push media streams in RTMP or RTMPS protocol to + the CDN. The SDK triggers the callback + on the local client to report the state of adding a local stream to the CDN.

                    -
                      -
                    • Call this method after joining a channel.
                    • -
                    • Ensure that the media push function is enabled. For details, see the prerequisites in Media Push.
                    • -
                    • This method takes effect only when you are a host in live interactive streaming.
                    • -
                    • This method adds only one streaming URL to the CDN each time it is called. To push multiple URLs, call this method multiple times.
                    • -
                    • Agora only supports pushing media streams to the CDN in RTMPS protocol when you enable transcoding.
                    • -
                    +
                      +
                    • Call this method after joining a channel.
                    • +
                    • Ensure that the media push function is enabled. For details, + see the prerequisites in Media + Push.
                    • +
                    • This method takes effect only when you are a host in live interactive + streaming.
                    • +
                    • This method adds only one streaming URL to the CDN each time it is called. + To push multiple URLs, call this method multiple times.
                    • +
                    • Agora only supports pushing media streams to the CDN in RTMPS protocol when + you enable transcoding.
                    • +
                    + +
                    Parameters - - url - The media push URL in the RTMP or RTMPS format. The maximum length of this parameter is 1024 bytes. The URL address must not contain special characters, such as Chinese language characters. - - - transcodingEnabled - -

                    Whether to enable transcoding. Transcoding in a CDN live streaming converts the audio and video streams before pushing them to the CDN server. It applies to scenarios where a channel has multiple broadcasters and composite layout is needed. - -

                      -
                    • : Enable transcoding.
                    • -
                    • : Disable transcoding.
                    • -

                    - If you set this parameter as , ensure that you call the method before calling this method.
                    -
                    -
                    + + url + The media push URL in the RTMP or RTMPS format. The maximum length of this + parameter is 1024 bytes. The URL address must not contain special + characters, such as Chinese language characters. + + + transcodingEnabled + +

                    Whether to enable transcoding. Transcoding in a CDN live streaming + converts the audio and video streams before pushing them to the CDN + server. It applies to scenarios where a channel has multiple + broadcasters and composite layout is needed.

                      +
                    • : Enable transcoding.
                    • +
                    • : Disable transcoding.
                    • +

                    + If you set this parameter as , ensure that you call the method before calling this + method. +
                    +
                    + +
                    Returns
                      -
                    • 0: Success.
                    • -
                    • < 0: Failure. - -
                        -
                      • ERR_INVALID_ARGUMENT (-2): Invalid argument, usually because the URL address is null or the string length is 0.
                      • -
                      • ERR_NOT_INITIALIZED (-7): You have not initialized the RTC engine when publishing the stream.
                      • -
                    • -
                    +
                  • 0: Success.
                  • +
                  • < 0: Failure.
                      +
                    • ERR_INVALID_ARGUMENT (-2): Invalid argument, usually + because the URL address is null or the string length is 0.
                    • +
                    • ERR_NOT_INITIALIZED (-7): You have not initialized the + RTC engine when publishing the stream.
                    • +
                    +
                  • +
                  + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_addvideowatermark.dita b/en-US/dita/RTC/API/api_addvideowatermark.dita index 85fb2e69781..852e5399f5e 100644 --- a/en-US/dita/RTC/API/api_addvideowatermark.dita +++ b/en-US/dita/RTC/API/api_addvideowatermark.dita @@ -1,53 +1,73 @@ - <ph keyref="addVideoWatermark1" /> - Adds a watermark image to the local video. + <ph keyref="addVideoWatermark1"/> + Adds a watermark image to the local + video. - +

                  - public abstract int addVideoWatermark(AgoraImage watermark); - - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark - virtual int addVideoWatermark(const RtcImage& watermark) = 0; - - public abstract int AddVideoWatermark(RtcImage watermark); - -

                  + public abstract int addVideoWatermark(AgoraImage watermark); + - (int)addVideoWatermark:(AgoraImage * _Nonnull)watermark + virtual int addVideoWatermark(const RtcImage& watermark) = 0; + + public abstract int AddVideoWatermark(RtcImage watermark); + + +

                  - -
                  Deprecated:
                  -
                  This method is deprecated. Use instead.
                  -
                  + +
                  Deprecated:
                  +
                  This method is deprecated. Use + instead.
                  +
                  -

                  This method adds a PNG watermark image to the local video stream in a live streaming session. Once the watermark image is added, all the users in the channel (CDN audience included) and the video capturing device can see and capture it. If you only want to add a watermark to the CDN live streaming, see descriptions in .

                  +

                  This method adds a PNG watermark image to the local video stream in a live streaming + session. Once the watermark image is added, all the users in the channel (CDN + audience included) and the video capturing device can see and capture it. If you + only want to add a watermark to the CDN live streaming, see descriptions in .

                  -
                    -
                  • The URL descriptions are different for the local video and CDN live streaming: In a local video stream, URL refers to the absolute path of the added watermark image file in the local video stream. In a CDN live stream, URL refers to the URL address of the added watermark image in the CDN live streaming.
                  • -
                  • The source file of the watermark image must be in the PNG file format. If the width and height of the PNG file differ from your settings in this method, the PNG file will be cropped to conform to your settings.
                  • -
                  • The Agora SDK supports adding only one watermark image onto a local video or CDN live stream. The newly added watermark image replaces the previous one.
                  • -
                  +
                    +
                  • The URL descriptions are different for the local video and CDN live + streaming: In a local video stream, URL refers to the absolute path of the + added watermark image file in the local video stream. In a CDN live stream, + URL refers to the URL address of the added watermark image in the CDN live + streaming.
                  • +
                  • The source file of the watermark image must be in the PNG file format. If + the width and height of the PNG file differ from your settings in this + method, the PNG file will be cropped to conform to your settings.
                  • +
                  • The Agora SDK supports adding only one watermark image onto a local video or + CDN live stream. The newly added watermark image replaces the previous + one.
                  • +
                  + +
                  Parameters - - watermark - The watermark image to be added to the local live streaming: . - -
                  + + watermark + The watermark image to be added to the local live streaming: . + + +
                  Returns
                    -
                  • 0: Success.
                  • -
                  • < 0: Failure.
                  • -
                  +
                9. 0: Success.
                10. +
                11. < 0: Failure.
                12. +
              + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_addvideowatermark2.dita b/en-US/dita/RTC/API/api_addvideowatermark2.dita index 320edb6a7ff..b702a0eaa47 100644 --- a/en-US/dita/RTC/API/api_addvideowatermark2.dita +++ b/en-US/dita/RTC/API/api_addvideowatermark2.dita @@ -1,64 +1,94 @@ - <ph keyref="addVideoWatermark2" /> - Adds a watermark image to the local video. + <ph keyref="addVideoWatermark2"/> + Adds a watermark image to the local + video. - +

              - public abstract int addVideoWatermark(String watermarkUrl, WatermarkOptions options); - - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options; - virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0; - addVideoWatermark(watermarkUrl: string, options: WatermarkOptions): number - public abstract int AddVideoWatermark(string watermarkUrl, WatermarkOptions options); - addVideoWatermark( + public abstract int addVideoWatermark(String watermarkUrl, WatermarkOptions options); + - (int)addVideoWatermark:(NSURL* _Nonnull)url options:(WatermarkOptions* _Nonnull)options; + virtual int addVideoWatermark(const char* watermarkUrl, const WatermarkOptions& options) = 0; + addVideoWatermark(watermarkUrl: string, options: WatermarkOptions): number + public abstract int AddVideoWatermark(string watermarkUrl, WatermarkOptions options); + addVideoWatermark( watermarkUrl: string, options: WatermarkOptions ): Promise<void> - Future<void> addVideoWatermark(String watermarkUrl, WatermarkOptions options);

              + Future<void> addVideoWatermark(String watermarkUrl, WatermarkOptions options); +

              -

              This method adds a PNG watermark image to the local video in the live streaming. Once the watermark image is added, all the audience in the channel (CDN audience included), and the capturing device can see and capture it. Agora supports adding only one watermark image onto the local video, and the newly watermark image replaces the previous one.

              -

              The watermark coordinates are dependent on the settings in the method: -

                -
              • If the orientation mode of the encoding video () is fixed landscape mode or the adaptive landscape mode, the watermark uses the landscape orientation.
              • -
              • If the orientation mode of the encoding video () is fixed portrait mode or the adaptive portrait mode, the watermark uses the portrait orientation.
              • -
              • When setting the watermark position, the region must be less than the dimensions set in the method; otherwise, the watermark image will be cropped.
              • -

              +

              This method adds a PNG watermark image to the local video in the live + streaming. Once the watermark image is added, all the audience in the channel (CDN + audience included), and the capturing device can see and capture it. Agora supports + adding only one watermark image onto the local video, and the newly watermark image + replaces the previous one.

              +

              The watermark coordinates are dependent on the settings in the method:

                +
              • If the orientation mode of the encoding video () is fixed landscape mode or the adaptive + landscape mode, the watermark uses the landscape orientation.
              • +
              • If the orientation mode of the encoding video () is fixed portrait mode or the adaptive + portrait mode, the watermark uses the portrait orientation.
              • +
              • When setting the watermark position, the region must be less than the + dimensions set in the + method; otherwise, the watermark image will be cropped.
              • +
              +

              -
                -
              • Ensure that call this method after .
              • -
              • If you only want to add a watermark to the media push, you can call this method or the method.
              • -
              • This method supports adding a watermark image in the PNG file format only. Supported pixel formats of the PNG image are RGBA, RGB, Palette, Gray, and Alpha_gray.
              • -
              • If the dimensions of the PNG image differ from your settings in this method, the image will be cropped or zoomed to conform to your settings.
              • -
              • If you have enabled the local video preview by calling the method, you can use the visibleInPreview member to set whether or not the watermark is visible in the preview.
              • -
              • If you have enabled the mirror mode for the local video, the watermark on the local video is also mirrored. To avoid mirroring the watermark, Agora recommends that you do not use the mirror and watermark functions for the local video at the same time. You can implement the watermark function in your application layer.
              • -
              +
                +
              • Ensure that call this method after .
              • +
              • If you only want to add a watermark to the media push, you can call this + method or the method.
              • +
              • This method supports adding a watermark image in the PNG file format only. + Supported pixel formats of the PNG image are RGBA, RGB, Palette, Gray, and + Alpha_gray.
              • +
              • If the dimensions of the PNG image differ from your settings in this method, + the image will be cropped or zoomed to conform to your settings.
              • +
              • If you have enabled the local video preview by calling the method, you can use the + visibleInPreview member to set whether or not the + watermark is visible in the preview.
              • +
              • If you have enabled the mirror mode for the local video, the watermark on + the local video is also mirrored. To avoid mirroring the watermark, Agora + recommends that you do not use the mirror and watermark functions for the + local video at the same time. You can implement the watermark function in + your application layer.
              • +
              + +
              Parameters - - watermarkUrl - url - The local file path of the watermark image to be added. This method supports adding a watermark image from the local absolute or relative file path. - - - options - The options of the watermark image to be added. For details, see . - -
              + + watermarkUrl + url + The local file path of the watermark image to be added. This method supports + adding a watermark image from the local absolute or relative file path. + + + options + The options of the watermark image to be added. For details, see . + + +
              Returns
                -
              • 0: Success.
              • -
              • < 0: Failure.
              • -
              +
            • 0: Success.
            • +
            • < 0: Failure.
            • +
            + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_adjustaudiomixingplayoutvolume.dita b/en-US/dita/RTC/API/api_adjustaudiomixingplayoutvolume.dita index 0d24e6c1435..792dd922b1d 100644 --- a/en-US/dita/RTC/API/api_adjustaudiomixingplayoutvolume.dita +++ b/en-US/dita/RTC/API/api_adjustaudiomixingplayoutvolume.dita @@ -1,47 +1,55 @@ - <ph keyref="adjustAudioMixingPlayoutVolume" /> - Adjusts the volume of audio mixing for local playback. + <ph keyref="adjustAudioMixingPlayoutVolume"/> + Adjusts the volume of audio mixing for local + playback. - +

            - public abstract int adjustAudioMixingPlayoutVolume(int volume); - - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume; - virtual int adjustAudioMixingPlayoutVolume(int volume) = 0; - adjustAudioMixingPlayoutVolume(volume: number): number - public abstract int AdjustAudioMixingPlayoutVolume(int volume); - adjustAudioMixingPlayoutVolume(volume: number): Promise<void> - Future<void> adjustAudioMixingPlayoutVolume(int volume);

            + public abstract int adjustAudioMixingPlayoutVolume(int volume); + - (int)adjustAudioMixingPlayoutVolume:(NSInteger)volume; + virtual int adjustAudioMixingPlayoutVolume(int volume) = 0; + adjustAudioMixingPlayoutVolume(volume: number): number + public abstract int AdjustAudioMixingPlayoutVolume(int volume); + adjustAudioMixingPlayoutVolume(volume: number): Promise<void> + Future<void> adjustAudioMixingPlayoutVolume(int volume); +

            - -
            Since
            -
            v2.3.2
            -
            + +
            Since
            +
            v2.3.2
            +
            - You need to call this method after calling and receiving the (PLAY) callback.
            + You need to call this method after calling and receiving the (PLAY) callback. +
            Parameters - - volume - Audio mixing volume for local playback. The value range is [0,100]. The default value is 100, the original volume. - -
            + + volume + Audio mixing volume for local playback. The value range is [0,100]. The + default value is 100, the original volume. + + +
            Returns
              -
            • 0: Success.
            • -
            • < 0: Failure.
            • -
            +
          • 0: Success.
          • +
          • < 0: Failure.
          • +
          + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_adjustaudiomixingpublishvolume.dita b/en-US/dita/RTC/API/api_adjustaudiomixingpublishvolume.dita index 29329ee970c..6182d594e0f 100644 --- a/en-US/dita/RTC/API/api_adjustaudiomixingpublishvolume.dita +++ b/en-US/dita/RTC/API/api_adjustaudiomixingpublishvolume.dita @@ -1,48 +1,57 @@ - <ph keyref="adjustAudioMixingPublishVolume" /> - Adjusts the volume of audio mixing for publishing. + <ph keyref="adjustAudioMixingPublishVolume"/> + Adjusts the volume of audio mixing for + publishing. - +

          - public abstract int adjustAudioMixingPublishVolume(int volume); - - (int)adjustAudioMixingPublishVolume:(NSInteger)volume; - virtual int adjustAudioMixingPublishVolume(int volume) = 0; - adjustAudioMixingPublishVolume(volume: number): number - public abstract int AdjustAudioMixingPublishVolume(int volume); - adjustAudioMixingPublishVolume(volume: number): Promise<void> - Future<void> adjustAudioMixingPublishVolume(int volume);

          + public abstract int adjustAudioMixingPublishVolume(int volume); + - (int)adjustAudioMixingPublishVolume:(NSInteger)volume; + virtual int adjustAudioMixingPublishVolume(int volume) = 0; + adjustAudioMixingPublishVolume(volume: number): number + public abstract int AdjustAudioMixingPublishVolume(int volume); + adjustAudioMixingPublishVolume(volume: number): Promise<void> + Future<void> adjustAudioMixingPublishVolume(int volume); +

          - -
          Since
          -
          v2.3.2
          -
          + +
          Since
          +
          v2.3.2
          +
          -

          This method adjusts the volume of audio mixing for publishing (sending to other users).

          - You need to call this method after calling and receiving the (PLAY) callback.
          +

          This method adjusts the volume of audio mixing for publishing (sending to other + users).

          + You need to call this method after calling and receiving the (PLAY) callback. +
          Parameters - - volume - Audio mixing volume. The value range is [0,100]. The default value is 100, the original volume. - -
          + + volume + Audio mixing volume. The value range is [0,100]. The default value is 100, + the original volume. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        2. 0: Success.
        3. +
        4. < 0: Failure.
        5. + + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_adjustaudiomixingvolume.dita b/en-US/dita/RTC/API/api_adjustaudiomixingvolume.dita index 784ad66bf08..1088b6f707e 100644 --- a/en-US/dita/RTC/API/api_adjustaudiomixingvolume.dita +++ b/en-US/dita/RTC/API/api_adjustaudiomixingvolume.dita @@ -1,46 +1,55 @@ - <ph keyref="adjustAudioMixingVolume" /> - Adjusts the volume during audio mixing. + <ph keyref="adjustAudioMixingVolume"/> + Adjusts the volume during audio + mixing. - +

          - public abstract int adjustAudioMixingVolume(int volume); - - (int)adjustAudioMixingVolume:(NSInteger)volume; - virtual int adjustAudioMixingVolume(int volume) = 0; - adjustAudioMixingVolume(volume: number): number - public abstract int AdjustAudioMixingVolume(int volume); - adjustAudioMixingVolume(volume: number): Promise<void> - Future<void> adjustAudioMixingVolume(int volume);

          + public abstract int adjustAudioMixingVolume(int volume); + - (int)adjustAudioMixingVolume:(NSInteger)volume; + virtual int adjustAudioMixingVolume(int volume) = 0; + adjustAudioMixingVolume(volume: number): number + public abstract int AdjustAudioMixingVolume(int volume); + adjustAudioMixingVolume(volume: number): Promise<void> + Future<void> adjustAudioMixingVolume(int volume); +

          -

          This method adjusts the audio mixing volume on both the local client and remote clients.

          +

          This method adjusts the audio mixing volume on both the local client and remote + clients.

          -
            -
          • Call this method after .
          • -
          • Calling this method does not affect the volume of audio effect file playback invoked by the method.
          • -
          +
            +
          • Call this method after .
          • +
          • Calling this method does not affect the volume of audio effect file playback + invoked by the method.
          • +
          + +
          Parameters - - volume - Audio mixing volume. The value ranges between 0 and 100. The default value is 100, the original volume. - -
          + + volume + Audio mixing volume. The value ranges between 0 and 100. The default value + is 100, the original volume. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        6. 0: Success.
        7. +
        8. < 0: Failure.
        9. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_adjustloopbackrecordingsignalvolume.dita b/en-US/dita/RTC/API/api_adjustloopbackrecordingsignalvolume.dita index b51c2800447..1b7a3b96fe0 100644 --- a/en-US/dita/RTC/API/api_adjustloopbackrecordingsignalvolume.dita +++ b/en-US/dita/RTC/API/api_adjustloopbackrecordingsignalvolume.dita @@ -1,43 +1,49 @@ - <ph keyref="adjustLoopbackRecordingSignalVolume" /> - Adjusts the volume of the signal captured by the sound card. + <ph keyref="adjustLoopbackRecordingSignalVolume"/> + Adjusts the volume of the signal captured by the sound + card. - +

          - - - (int)adjustLoopbackRecordingVolume:(NSInteger)volume; - virtual int adjustLoopbackRecordingVolume(int volume) = 0; + + - (int)adjustLoopbackRecordingVolume:(NSInteger)volume; + virtual int adjustLoopbackRecordingVolume(int volume) = 0; - - public abstract int AdjustLoopbackRecordingSignalVolume(int volume); - -

          + + public abstract int AdjustLoopbackRecordingSignalVolume(int volume); + + +

          -

          After calling to enable loopback audio capturing, you can call this method to adjust the volume of the signal captured by the sound card.

          +

          After calling to enable loopback audio + capturing, you can call this method to adjust the volume of the signal captured by + the sound card.

          Parameters - - - - -
          + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        10. 0: Success.
        11. +
        12. < 0: Failure.
        13. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_adjustplaybacksignalvolume.dita b/en-US/dita/RTC/API/api_adjustplaybacksignalvolume.dita index 7294c48bd19..c7b3d7695a2 100644 --- a/en-US/dita/RTC/API/api_adjustplaybacksignalvolume.dita +++ b/en-US/dita/RTC/API/api_adjustplaybacksignalvolume.dita @@ -1,46 +1,56 @@ - <ph keyref="adjustPlaybackSignalVolume" /> - Adjusts the playback signal volume of all remote users. + <ph keyref="adjustPlaybackSignalVolume"/> + Adjusts the playback signal volume of all remote + users. - +

          - public abstract int adjustPlaybackSignalVolume(int volume); - - (int)adjustPlaybackSignalVolume:(NSInteger)volume; - virtual int adjustPlaybackSignalVolume(int volume) = 0; - adjustPlaybackSignalVolume(volume: number): number - public abstract int AdjustPlaybackSignalVolume(int volume); - adjustPlaybackSignalVolume(volume: number): Promise<void> - Future<void> adjustPlaybackSignalVolume(int volume);

          + public abstract int adjustPlaybackSignalVolume(int volume); + - (int)adjustPlaybackSignalVolume:(NSInteger)volume; + virtual int adjustPlaybackSignalVolume(int volume) = 0; + adjustPlaybackSignalVolume(volume: number): number + public abstract int AdjustPlaybackSignalVolume(int volume); + adjustPlaybackSignalVolume(volume: number): Promise<void> + Future<void> adjustPlaybackSignalVolume(int volume); +

          -
            -
          • This method adjusts the playback volume that is the mixed volume of all remote users.
          • -
          • As of v2.3.2, to mute the local audio, you need to call the and methods at the same time, and set volume to 0.
          • -
          • You can call this method either before or after joining a channel.
          • -
          +
            +
          • This method adjusts the playback volume that is the mixed volume of all + remote users.
          • +
          • As of v2.3.2, to mute the local audio, you need to call the + and methods at the same time, and + set volume to 0.
          • +
          • You can call this method either before or after joining a channel.
          • +
          + +
          Parameters - - - - -
          + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        14. 0: Success.
        15. +
        16. < 0: Failure.
        17. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_adjustrecordingsignalvolume.dita b/en-US/dita/RTC/API/api_adjustrecordingsignalvolume.dita index ea736ac0567..c4189c37295 100644 --- a/en-US/dita/RTC/API/api_adjustrecordingsignalvolume.dita +++ b/en-US/dita/RTC/API/api_adjustrecordingsignalvolume.dita @@ -1,50 +1,55 @@ - <ph keyref="adjustRecordingSignalVolume" /> + <ph keyref="adjustRecordingSignalVolume"/> Adjusts the capturing signal volume. - +

          - public abstract int adjustRecordingSignalVolume(int volume); - - (int)adjustRecordingSignalVolume:(NSInteger)volume; - virtual int adjustRecordingSignalVolume(int volume) = 0; - adjustRecordingSignalVolume(volume: number): number - public abstract int AdjustRecordingSignalVolume(int volume); - adjustRecordingSignalVolume(volume: number): Promise<void> - Future<void> adjustRecordingSignalVolume(int volume);

          + public abstract int adjustRecordingSignalVolume(int volume); + - (int)adjustRecordingSignalVolume:(NSInteger)volume; + virtual int adjustRecordingSignalVolume(int volume) = 0; + adjustRecordingSignalVolume(volume: number): number + public abstract int AdjustRecordingSignalVolume(int volume); + adjustRecordingSignalVolume(volume: number): Promise<void> + Future<void> adjustRecordingSignalVolume(int volume); +

          -

          You can call this method either before or after joining a channel.

          -
          +

          You can call this method either before or after joining a channel.

          + +
          Parameters - - volume - -

          The playback signal volume of all remote users. Integer only. The value range is [0,400]. -

            -
          • 0: Mute.
          • -
          • 100: (Default) The original volume.
          • -
          • 400: Four times the original volume (amplifying the audio signals by four times).
          • -

          -
          -
          -
          + + volume + +

          The playback signal volume of all remote users. Integer only. The value + range is [0,400].

            +
          • 0: Mute.
          • +
          • 100: (Default) The original volume.
          • +
          • 400: Four times the original volume (amplifying the audio + signals by four times).
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        18. 0: Success.
        19. +
        20. < 0: Failure.
        21. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_adjustuserplaybacksignalvolume.dita b/en-US/dita/RTC/API/api_adjustuserplaybacksignalvolume.dita index e6ab1e5dc17..53175dd25f1 100644 --- a/en-US/dita/RTC/API/api_adjustuserplaybacksignalvolume.dita +++ b/en-US/dita/RTC/API/api_adjustuserplaybacksignalvolume.dita @@ -1,56 +1,65 @@ - <ph keyref="adjustUserPlaybackSignalVolume" /> - Adjusts the playback signal volume of a specified remote user. + <ph keyref="adjustUserPlaybackSignalVolume"/> + Adjusts the playback signal volume of a specified + remote user. - +

          - public abstract int adjustUserPlaybackSignalVolume(int uid, int volume); - - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume; - virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0; - adjustUserPlaybackSignalVolume(uid: number, volume: number): number - public abstract int AdjustUserPlaybackSignalVolume(uint uid, int volume); - adjustUserPlaybackSignalVolume(uid: number, volume: number): Promise<void> - Future<void> adjustUserPlaybackSignalVolume(int uid, int volume);

          + public abstract int adjustUserPlaybackSignalVolume(int uid, int volume); + - (int)adjustUserPlaybackSignalVolume:(NSUInteger)uid volume:(int)volume; + virtual int adjustUserPlaybackSignalVolume(unsigned int uid, int volume) = 0; + adjustUserPlaybackSignalVolume(uid: number, volume: number): number + public abstract int AdjustUserPlaybackSignalVolume(uint uid, int volume); + adjustUserPlaybackSignalVolume(uid: number, volume: number): Promise<void> + Future<void> adjustUserPlaybackSignalVolume(int uid, int volume); +

          - -
          Since
          -
          v3.0.0
          -
          + +
          Since
          +
          v3.0.0
          +
          -

          You can call this method to adjust the playback volume of a specified remote user. To adjust the playback volume of different remote users, call the method as many times, once for each remote user.

          +

          You can call this method to adjust the playback volume of a specified remote user. To + adjust the playback volume of different remote users, call the method as many times, + once for each remote user.

          -
            -
          • Call this method after joining a channel.
          • -
          • The playback volume here refers to the mixed volume of a specified remote user.
          • -
          +
            +
          • Call this method after joining a channel.
          • +
          • The playback volume here refers to the mixed volume of a specified remote + user.
          • +
          + +
          Parameters - - uid - The ID of the remote user. - - - volume - The playback signal volume of a specified remote user. - -
          + + uid + The ID of the remote user. + + + volume + The playback signal volume of a specified remote user. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        22. 0: Success.
        23. +
        24. < 0: Failure.
        25. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_agorartcchannel_on.dita b/en-US/dita/RTC/API/api_agorartcchannel_on.dita index 2938de4dab2..3f10ddb7105 100644 --- a/en-US/dita/RTC/API/api_agorartcchannel_on.dita +++ b/en-US/dita/RTC/API/api_agorartcchannel_on.dita @@ -1,6 +1,7 @@ - <ph keyref="IChannel" /> callbacks - provides callbacks that report events and statistics of a specified channel. - \ No newline at end of file + <ph keyref="IChannel"/> callbacks + provides callbacks that report events and + statistics of a specified channel. + diff --git a/en-US/dita/RTC/API/api_agorartcengine_on.dita b/en-US/dita/RTC/API/api_agorartcengine_on.dita index eae7663a539..d170053d506 100644 --- a/en-US/dita/RTC/API/api_agorartcengine_on.dita +++ b/en-US/dita/RTC/API/api_agorartcengine_on.dita @@ -1,6 +1,7 @@ - <ph keyref="IRtcEngine" /> callbacks - reports runtime events to the application. - \ No newline at end of file + <ph keyref="IRtcEngine"/> callbacks + reports runtime events to the + application. + diff --git a/en-US/dita/RTC/API/api_agoravideoencoderconfiguration_initwithsize.dita b/en-US/dita/RTC/API/api_agoravideoencoderconfiguration_initwithsize.dita index c645cea5ae5..42f836732e9 100644 --- a/en-US/dita/RTC/API/api_agoravideoencoderconfiguration_initwithsize.dita +++ b/en-US/dita/RTC/API/api_agoravideoencoderconfiguration_initwithsize.dita @@ -1,53 +1,60 @@ - <ph keyref="initWithSize" /> - Specifies the video resolution and initializes the object. + <ph keyref="initWithSize"/> + Specifies the video resolution and initializes the + object. - +

          - - (instancetype _Nonnull)initWithSize:(CGSize)size + - (instancetype _Nonnull)initWithSize:(CGSize)size frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode - mirrorMode:(AgoraVideoMirrorMode)mirrorMode;

          + mirrorMode:(AgoraVideoMirrorMode)mirrorMode; +

          - - (instancetype _Nonnull)initWithSize:(CGSize)size frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode;

          + - (instancetype _Nonnull)initWithSize:(CGSize)size frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode; +

          Parameters - - size - The video resolution. - - - frameRate - The video frame rate. See . - - - bitrate - The bitrate of the encoding video. - - - orientationMode - The orientation of the encoding video. See . - - - mirrorMode - Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees. See . - -
          + + size + The video resolution. + + + frameRate + The video frame rate. See . + + + bitrate + The bitrate of the encoding video. + + + orientationMode + The orientation of the encoding video. See . + + + mirrorMode + Sets the mirror mode of the published local video stream. It only affects + the video that the remote user sees. See . + + +
          Returns -

          The initialized object.

          +

          The initialized object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_agoravideoencoderconfiguration_initwithwidth.dita b/en-US/dita/RTC/API/api_agoravideoencoderconfiguration_initwithwidth.dita index 0de993434ee..da5143aff47 100644 --- a/en-US/dita/RTC/API/api_agoravideoencoderconfiguration_initwithwidth.dita +++ b/en-US/dita/RTC/API/api_agoravideoencoderconfiguration_initwithwidth.dita @@ -1,58 +1,65 @@ - <ph keyref="initWithWidth" /> - Specifies the video width and height, and initializes the object. + <ph keyref="initWithWidth"/> + Specifies the video width and height, and initializes + the object. - +

          - - (instancetype _Nonnull)initWithWidth:(NSInteger)width + - (instancetype _Nonnull)initWithWidth:(NSInteger)width height:(NSInteger)height frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode - mirrorMode:(AgoraVideoMirrorMode)mirrorMode;

          + mirrorMode:(AgoraVideoMirrorMode)mirrorMode; +

          - - (instancetype _Nonnull)initWithWidth:(NSInteger)width height:(NSInteger)height frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode;

          + - (instancetype _Nonnull)initWithWidth:(NSInteger)width height:(NSInteger)height frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode; +

          Parameters - - width - The width of the video. - - - height - The height of the video. - - - frameRate - The video frame rate. See . - - - bitrate - The bitrate of the encoding video. - - - orientationMode - The orientation of the encoding video. See . - - - mirrorMode - Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees. See . - -
          + + width + The width of the video. + + + height + The height of the video. + + + frameRate + The video frame rate. See . + + + bitrate + The bitrate of the encoding video. + + + orientationMode + The orientation of the encoding video. See . + + + mirrorMode + Sets the mirror mode of the published local video stream. It only affects + the video that the remote user sees. See . + + +
          Returns -

          The initialized object.

          +

          The initialized object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_clearvideowatermarks.dita b/en-US/dita/RTC/API/api_clearvideowatermarks.dita index 4aa4aec6417..dbdfe411d92 100644 --- a/en-US/dita/RTC/API/api_clearvideowatermarks.dita +++ b/en-US/dita/RTC/API/api_clearvideowatermarks.dita @@ -1,31 +1,34 @@ - <ph keyref="clearVideoWatermarks" /> - Removes the watermark image from the video stream. + <ph keyref="clearVideoWatermarks"/> + Removes the watermark image from the video + stream. - +

          - public abstract int clearVideoWatermarks(); - - (int)clearVideoWatermarks; - virtual int clearVideoWatermarks() = 0; - clearVideoWatermarks(): number - public abstract int ClearVideoWatermarks(); - - Future<void> clearVideoWatermarks();

          + public abstract int clearVideoWatermarks(); + - (int)clearVideoWatermarks; + virtual int clearVideoWatermarks() = 0; + clearVideoWatermarks(): number + public abstract int ClearVideoWatermarks(); + + Future<void> clearVideoWatermarks(); +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        26. 0: Success.
        27. +
        28. < 0: Failure.
        29. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_complain.dita b/en-US/dita/RTC/API/api_complain.dita index 06f0d954270..52842d846af 100644 --- a/en-US/dita/RTC/API/api_complain.dita +++ b/en-US/dita/RTC/API/api_complain.dita @@ -1,51 +1,57 @@ - <ph keyref="complain" /> - Allows a user to complain about the call quality after a call ends. + <ph keyref="complain"/> + Allows a user to complain about the call quality after + a call ends. - +

          - public abstract int complain(String callId, String description); - - (int)complain:(NSString * _Nonnull)callId + public abstract int complain(String callId, String description); + - (int)complain:(NSString * _Nonnull)callId description:(NSString * _Nullable)description; - virtual int complain(const char* callId, const char* description) = 0; - complain(callId: string, description: string): number - public abstract int Complain(string callId, string description); - - Future<void> complain(String callId, String description);

          + virtual int complain(const char* callId, const char* description) = 0; + complain(callId: string, description: string): number + public abstract int Complain(string callId, string description); + + Future<void> complain(String callId, String description); +

          -

          This method allows users to complain about the quality of the call. Call this method after the user leaves the channel.

          +

          This method allows users to complain about the quality of the call. Call this method + after the user leaves the channel.

          Parameters - - callId - The current call ID. You can get the call ID by calling . - - - description - (Optional) A description of the call. The string length should be less than 800 bytes. - -
          + + callId + The current call ID. You can get the call ID by calling . + + + description + (Optional) A description of the call. The string length should be less than + 800 bytes. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -2 (ERR_INVALID_ARGUMENT).
            • -
            • -3 (ERR_NOT_READY)。
            • -
          • -
          +
        30. 0: Success.
        31. +
        32. < 0: Failure.
            +
          • -2 (ERR_INVALID_ARGUMENT).
          • +
          • -3 (ERR_NOT_READY)。
          • +
        33. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_configrhythmplayer.dita b/en-US/dita/RTC/API/api_configrhythmplayer.dita index 3839021de6c..d4ec4277d11 100644 --- a/en-US/dita/RTC/API/api_configrhythmplayer.dita +++ b/en-US/dita/RTC/API/api_configrhythmplayer.dita @@ -1,48 +1,54 @@ - <ph keyref="configRhythmPlayer" /> + <ph keyref="configRhythmPlayer"/> Configures the virtual metronome. - +

          - public int configRhythmPlayer(AgoraRhythmPlayerConfig config); - - (int)configRhythmPlayer:(AgoraRtcRhythmPlayerConfig* _Nonnull)config; - - - - - Future<void> configRhythmPlayer(RhythmPlayerConfig config);

          + public int configRhythmPlayer(AgoraRhythmPlayerConfig config); + - (int)configRhythmPlayer:(AgoraRtcRhythmPlayerConfig* _Nonnull)config; + + + + + Future<void> configRhythmPlayer(RhythmPlayerConfig config); +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          -

          After calling , you can call this method to reconfigure the virtual metronome.

          -
          +

          After calling , you can call this method to + reconfigure the virtual metronome.

          + +
          Parameters - - config - The metronome configuration. See . - -
          + + config + The metronome configuration. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        34. 0: Success.
        35. +
        36. < 0: Failure.
        37. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_consumerawvideoframe.dita b/en-US/dita/RTC/API/api_consumerawvideoframe.dita index 9b90f11475d..3db600113b8 100644 --- a/en-US/dita/RTC/API/api_consumerawvideoframe.dita +++ b/en-US/dita/RTC/API/api_consumerawvideoframe.dita @@ -1,60 +1,67 @@ - <ph keyref="consumeRawVideoFrame" /> + <ph keyref="consumeRawVideoFrame"/> Receives the raw video frame. - +

          - - - virtual void consumeRawVideoFrame(const unsigned char *buffer, + + + virtual void consumeRawVideoFrame(const unsigned char *buffer, agora::media::ExternalVideoFrame::VIDEO_PIXEL_FORMAT frameType, int width, int height, int rotation, long timestamp) = 0; - - - -

          + + + + +

          - Ensure that the video frame type specified in this method is the same as that in the callback.
          + Ensure that the video frame type specified in this method is the + same as that in the callback. +
          Parameters - - buffer - The video buffer. - - - frameType - The video frame type. See . - - - width - The width (px) of the video frame. - - - height - The height (px) of the video frame. - - - rotation - The angle at which the video frame is rotated clockwise. If you set the rotation angle, the SDK rotates the video frame after receiving it. You can set the rotation angle as 0, 90, 180, and 270. - - - timestamp - The Unix timestamp (ms) of the video frame. You must set a timestamp for each video frame. - -
          + + buffer + The video buffer. + + + frameType + The video frame type. See . + + + width + The width (px) of the video frame. + + + height + The height (px) of the video frame. + + + rotation + The angle at which the video frame is rotated clockwise. If you set the + rotation angle, the SDK rotates the video frame after receiving it. You can + set the rotation angle as 0, 90, 180, and 270. + + + timestamp + The Unix timestamp (ms) of the video frame. You must set a timestamp for + each video frame. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_create.dita b/en-US/dita/RTC/API/api_create.dita index e15d838a973..92950fd4812 100644 --- a/en-US/dita/RTC/API/api_create.dita +++ b/en-US/dita/RTC/API/api_create.dita @@ -1,67 +1,83 @@ - <ph keyref="create1" /> - Creates and initializes . + <ph keyref="create1"/> + Creates and initializes . - +

          - public static synchronized RtcEngine create( + public static synchronized RtcEngine create( Context context, String appId, IRtcEngineEventHandler handler) throws Exception {} - + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId + + (instancetype _Nonnull)sharedEngineWithAppId:(NSString * _Nonnull)appId delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; - - - - -

          + + + + + +

          -

          All called methods provided by the class are executed asynchronously. We recommend calling these methods in the same thread.

          +

          All called methods provided by the class are executed + asynchronously. We recommend calling these methods in the same thread.

          -
            -
          • Before calling other APIs, you must call this method to create an object.
          • -
          • You can create an instance either by calling this method or by calling . The difference between and this method is that supports more configurations when creating the instance, for example, specifying the region for connection and setting the log files.
          • -
          • The SDK supports creating only one instance for an app.
          • -
          +
            +
          • Before calling other APIs, you must call this method to create an object.
          • +
          • You can create an instance either by calling + this method or by calling . The difference between + and this method is that supports more configurations when creating the + instance, for example, specifying the + region for connection and setting the log files.
          • +
          • The SDK supports creating only one instance + for an app.
          • +
          + +
          Parameters - - context - - - - appId - - - - handler - delegate - The event handler for . See . - -
          + + context + + + + appId + + + + handler + delegate + The event handler for . See . + + +
          Returns
            -
          • The instance, if the method call succeeds.
          • -
          • An error code, if the call fails.
          • -
          +
        38. The instance, if the method call succeeds.
        39. +
        40. An error code, if the call fails.
        41. + +
          Exception - - Exception - Fails to create the instance. - -
          + + Exception + Fails to create the instance. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_create2.dita b/en-US/dita/RTC/API/api_create2.dita index 84fedc822c3..9c12d6be995 100644 --- a/en-US/dita/RTC/API/api_create2.dita +++ b/en-US/dita/RTC/API/api_create2.dita @@ -1,69 +1,87 @@ - <ph keyref="create2" /> - Creates and initializes . Initializes . + <ph keyref="create2"/> + Creates and + initializes . Initializes + . - +

          - public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} + public static synchronized RtcEngine create(RtcEngineConfig config) throws Exception {} - + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config + + (instancetype _Nonnull)sharedEngineWithConfig:(AgoraRtcEngineConfig * _Nonnull)config delegate:(id<AgoraRtcEngineDelegate> _Nullable)delegate; - virtual int initialize(const RtcEngineContext& context) = 0; - initializeWithContext(context: RtcEngineContext): number - public abstract int Initialize(RtcEngineContext context); - - static Future<RtcEngine> createWithContext(RtcEngineContext config) async { + virtual int initialize(const RtcEngineContext& context) = 0; + initializeWithContext(context: RtcEngineContext): number + public abstract int Initialize(RtcEngineContext context); + + static Future<RtcEngine> createWithContext(RtcEngineContext config) async { return RtcEngineImpl.createWithContext(config); - }

          + } +

          -

          All called methods provided by the class are executed asynchronously. Agora recommends calling these methods in the same thread.

          +

          All called methods provided by the class are executed + asynchronously. Agora recommends calling these methods in the same thread.

          -
            -
          • Before calling other APIs, you must call and to create and initialize the object.
          • -
          • Before calling other APIs, you must call this method to create the object.
          • -
          • You can create the instance either by calling this method or by calling . The difference between and this method is that this method supports more configurations when creating the instance, for example, specifying the region for connection and setting the log files.
          • -
          • The SDK supports creating only one instance for an app.
          • -
          +
            +
          • Before calling other APIs, you must call and to + create and initialize the object.
          • +
          • Before calling other APIs, you must call + this method to create the object.
          • +
          • You can create the instance either by calling this method or by + calling . The difference between and this method is that this method supports more + configurations when creating the instance, + for example, specifying the region for connection and setting the log + files.
          • +
          • The SDK supports creating only one instance + for an app.
          • +
          + +
          Parameters - - context - config - -

          Configurations for the instance. See .

          -
          -
          - - delegate - - -
          + + context + config + +

          Configurations for the instance. See .

          +
          +
          + + delegate + + + +
          Returns
            -
          • 0(ERR_OK): Success.
          • -
          • < 0: Failure. - -
              -
            • -1(ERR_FAILED): A general error occurs (no specified reason).
            • -
            • -2(ERR_INVALID_ARGUMENT): An invalid parameter is used.
            • -
            • -7(ERR_NOT_INITIALIZED): The SDK is not initialized.
            • -
            • -22(ERR_RESOURCE_LIMITED): The resource is limited. The SDK fails to allocate resources because your app consumes too much system resource or the system resources are insufficient.
            • -
            • -101(ERR_INVALID_APP_ID): The App ID is invalid.
            • -
          • +
          • 0(ERR_OK): Success.
          • +
          • < 0: Failure.
              +
            • -1(ERR_FAILED): A general error occurs (no specified reason).
            • +
            • -2(ERR_INVALID_ARGUMENT): An invalid parameter is used.
            • +
            • -7(ERR_NOT_INITIALIZED): The SDK is not initialized.
            • +
            • -22(ERR_RESOURCE_LIMITED): The resource is limited. The SDK fails to + allocate resources because your app consumes too much system resource or + the system resources are insufficient.
            • +
            • -101(ERR_INVALID_APP_ID): The App ID is invalid.
            • +
          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_createagorartcengine.dita b/en-US/dita/RTC/API/api_createagorartcengine.dita index 908322d354d..1ab9cf8e951 100644 --- a/en-US/dita/RTC/API/api_createagorartcengine.dita +++ b/en-US/dita/RTC/API/api_createagorartcengine.dita @@ -1,8 +1,9 @@ - <ph keyref="createAgoraRtcEngine" /> - Creates the object. + <ph keyref="createAgoraRtcEngine"/> + Creates the + object. @@ -13,38 +14,46 @@

          - - - AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine () - - public static IAgoraRtcEngine CreateAgoraRtcEngine(AgoraEngineType engineType = AgoraEngineType.MainProcess) - - static Future<RtcEngine> create(String appId)

          + + + AGORA_API agora::rtc::IRtcEngine *AGORA_CALL createAgoraRtcEngine () + + public static IAgoraRtcEngine CreateAgoraRtcEngine(AgoraEngineType engineType = AgoraEngineType.MainProcess) + + static Future<RtcEngine> create(String appId) +

          -

          This method is deprecated. Use instead.

          -

          The Agora RTC Native SDK supports creating only one object.

          -

          By default, the SDK uses the main thread to create the object. In use cases with - both the screen-captured and camera-captured streams, call this method to create two objects using - and respectively. The main process initializes and the sub process initializes AgoraRtcScreenSharing.exe.

          +

          This method is deprecated. Use instead.

          +

          The Agora RTC Native SDK supports creating only one object.

          +

          By default, the SDK uses the main thread to create the object. In use cases with both the screen-captured and + camera-captured streams, call this method to create two objects using and + respectively. The main process initializes and the + sub process initializes AgoraRtcScreenSharing.exe.

          Parameters - - appId - The Agora App ID of your Agora project. - - - engineType - The process type of the engine. For details, see . - -
          + + appId + The Agora App ID of your Agora project. + + + engineType + The process type of the engine. For details, see . + + +
          Returns
            -
          • The instance, if the method call succeeds.
          • -
          • An error code, if the call fails.
          • -
          +
        42. The instance, if the method call succeeds.
        43. +
        44. An error code, if the call fails.
        45. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_createdatastream.dita b/en-US/dita/RTC/API/api_createdatastream.dita index 8a5246212fb..9bf2b09981b 100644 --- a/en-US/dita/RTC/API/api_createdatastream.dita +++ b/en-US/dita/RTC/API/api_createdatastream.dita @@ -1,69 +1,84 @@ - <ph keyref="createDataStream1" /> + <ph keyref="createDataStream1"/> Creates a data stream. - +

          - public abstract int createDataStream(boolean reliable, boolean ordered); - - (int)createDataStream:(NSInteger * _Nonnull)streamId + public abstract int createDataStream(boolean reliable, boolean ordered); + - (int)createDataStream:(NSInteger * _Nonnull)streamId reliable:(BOOL)reliable ordered:(BOOL)ordered; - virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; - createDataStream(reliable: boolean, ordered: boolean): number - public abstract int CreateDataStream(bool reliable, bool ordered); - - Future<int?> createDataStream(bool reliable, bool ordered);

          + virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; + createDataStream(reliable: boolean, ordered: boolean): number + public abstract int CreateDataStream(bool reliable, bool ordered); + + Future<int?> createDataStream(bool reliable, bool ordered); +

          - -
          Deprecated:
          -
          This method is deprecated as of v2.4.0. Please use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v2.4.0. Please use instead.
          +
          -

          Each user can create up to five data streams during the lifecycle of .

          +

          Each user can create up to five data streams during the lifecycle of .

          -
            -
          • Call this method after joining a channel.
          • -
          • Agora does not support setting reliable as and ordered as .
          • -
          +
            +
          • Call this method after joining a channel.
          • +
          • Agora does not support setting reliable as and ordered as + .
          • +
          + +
          Parameters - - streamId - Output parameter. Pointer to the ID of the created data stream. - - - reliable - -

          Whether or not the data stream is reliable: -

            -
          • : The recipients receive the data from the sender within five seconds. If the recipient does not receive the data within five seconds, the SDK triggers the callback and returns an error code.
          • -
          • : There is no guarantee that the recipients receive the data stream within five seconds and no error message is reported for any delay or missing data stream.
          • -

          -
          -
          - - ordered - -

          Whether or not the recipients receive the data stream in the sent order: -

            -
          • : The recipients receive the data in the sent order.
          • -
          • : The recipients do not receive the data in the sent order.
          • -

          -
          -
          -
          -
          + + streamId + Output parameter. Pointer to the ID of the created data stream. + + + reliable + +

          Whether or not the data stream is reliable:

            +
          • : The recipients receive the + data from the sender within five seconds. If the recipient does + not receive the data within five seconds, the SDK triggers the + callback and returns + an error code.
          • +
          • : There is no guarantee + that the recipients receive the data stream within five seconds + and no error message is reported for any delay or missing data + stream.
          • +

          +
          +
          + + ordered + +

          Whether or not the recipients receive the data stream in the sent order:

            +
          • : The recipients receive the + data in the sent order.
          • +
          • : The recipients do not + receive the data in the sent order.
          • +

          +
          +
          + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_createdatastream2.dita b/en-US/dita/RTC/API/api_createdatastream2.dita index e49ccff3677..5a8576cc438 100644 --- a/en-US/dita/RTC/API/api_createdatastream2.dita +++ b/en-US/dita/RTC/API/api_createdatastream2.dita @@ -1,56 +1,65 @@ - <ph keyref="createDataStream2" /> + <ph keyref="createDataStream2"/> Creates a data stream. - +

          - public abstract int createDataStream(DataStreamConfig config); - - (int)createDataStream:(NSInteger * _Nonnull)streamId + public abstract int createDataStream(DataStreamConfig config); + - (int)createDataStream:(NSInteger * _Nonnull)streamId config:(AgoraDataStreamConfig * _Nonnull)config; - virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; + virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; - createDataStreamWithConfig(config: DataStreamConfig): number - public abstract int CreateDataStream(DataStreamConfig config); - - Future<int?> createDataStreamWithConfig(DataStreamConfig config);

          + createDataStreamWithConfig(config: DataStreamConfig): number + public abstract int CreateDataStream(DataStreamConfig config); + + Future<int?> createDataStreamWithConfig(DataStreamConfig config); +

          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          -

          Creates a data stream. Each user can create up to five data streams in a single channel.

          -

          Compared with [1/2], this method does not support data reliability. If a data packet is not received five seconds after it was sent, the SDK directly discards the data.

          +

          Creates a data stream. Each user can create up to five data streams in a + single channel.

          +

          Compared with [1/2], this method does not + support data reliability. If a data packet is not received five seconds after it was + sent, the SDK directly discards the data.

          Parameters - - streamId - Output parameter. Pointer to the ID of the created data stream. - - - config - The configurations for the data stream. For details, see . - -
          + + streamId + Output parameter. Pointer to the ID of the created data stream. + + + config + The configurations for the data stream. For details, see . + + +
          Returns
            -
          • 0: The data stream is successfully created.
          • -
          • ID of the created data stream, if the method call succeeds.
          • -
          • < 0: Failure. You can refer to Error Codes and Warning Codes for troubleshooting.
          • -
          +
        46. 0: The data stream is successfully created.
        47. +
        48. ID of the created data stream, if + the method call succeeds.
        49. +
        50. < 0: Failure. You can refer to Error + Codes and Warning Codes for troubleshooting.
        51. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_createrendererview.dita b/en-US/dita/RTC/API/api_createrendererview.dita index 6298733e67e..7a8a3770f40 100644 --- a/en-US/dita/RTC/API/api_createrendererview.dita +++ b/en-US/dita/RTC/API/api_createrendererview.dita @@ -1,49 +1,57 @@ - <ph keyref="CreateRendererView" /> + <ph keyref="CreateRendererView"/> Creates a RendererView. - +

          - public static SurfaceView CreateRendererView(Context context) { + public static SurfaceView CreateRendererView(Context context) { return new SurfaceView(context); - - - - - -

          + + + + + + +

          - -
          Deprecated:
          -
          This method is deprecated.
          -
          + +
          Deprecated:
          +
          This method is deprecated.
          +
          -

          This method returns the SurfaceView type. The operation and layout of the view are managed by the app, and the Agora SDK renders the view provided by the app. The video display view must be created using this method instead of directly calling SurfaceView.

          -

          To use a SurfaceView, call this method; to use a TextureView, call . See The difference between TextureView and SurfaceView and Choosing SurfaceView or TextureView. - Call this in the main thread.

          +

          This method returns the SurfaceView type. The operation and layout of the view are + managed by the app, and the Agora SDK renders the view provided by the app. The + video display view must be created using this method instead of directly calling + SurfaceView.

          +

          To use a SurfaceView, call this method; to use a TextureView, call . See The + difference between TextureView and SurfaceView and Choosing SurfaceView or TextureView. + Call this in the main thread.

          Parameters - - context - The context of the Android Activity. - -
          + + context + The context of the Android Activity. + + +
          Returns

          SurfaceView

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_createtextureview.dita b/en-US/dita/RTC/API/api_createtextureview.dita index 75ea0e5ba67..1e3fbf68cb0 100644 --- a/en-US/dita/RTC/API/api_createtextureview.dita +++ b/en-US/dita/RTC/API/api_createtextureview.dita @@ -1,49 +1,57 @@ - <ph keyref="CreateTextureView" /> + <ph keyref="CreateTextureView"/> Creates a TextureView. - +

          - public static TextureView CreateTextureView(Context context) { + public static TextureView CreateTextureView(Context context) { return new TextureView(context); - - - - - -

          + + + + + + +

          - -
          Deprecated:
          -
          This method is deprecated.
          -
          + +
          Deprecated:
          +
          This method is deprecated.
          +
          -

          You can call this method to create a TextureView, which is suitable for scenarios that require scaling, rotation, and parallel coordinate translation of video images, such as screen sharing. The operation and layout of the view are managed by the app, and the Agora SDK renders the view provided by the app.

          -

          To use a TextureView, call this method; to use a SurfaceView, call . See The difference between TextureView and SurfaceView and Choosing SurfaceView or TextureView. - Call this in the main thread.

          +

          You can call this method to create a TextureView, which is suitable for scenarios + that require scaling, rotation, and parallel coordinate translation of video images, + such as screen sharing. The operation and layout of the view are managed by the app, + and the Agora SDK renders the view provided by the app.

          +

          To use a TextureView, call this method; to use a SurfaceView, call . See The + difference between TextureView and SurfaceView and Choosing SurfaceView or TextureView. + Call this in the main thread.

          Parameters - - context - The context of the Android Activity. - -
          + + context + The context of the Android Activity. + + +
          Returns

          TextureView

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_createwithareacode.dita b/en-US/dita/RTC/API/api_createwithareacode.dita index 708d14211d9..a92ba60cba5 100644 --- a/en-US/dita/RTC/API/api_createwithareacode.dita +++ b/en-US/dita/RTC/API/api_createwithareacode.dita @@ -1,54 +1,58 @@ - <ph keyref="createWithAreaCode" /> - Initializes the object. + <ph keyref="createWithAreaCode"/> + Initializes the + object. - +

          - - - - - - - static Future<RtcEngine> createWithAreaCode( + + + + + + + static Future<RtcEngine> createWithAreaCode( String appId, List<AreaCode> areaCode) { return createWithContext(RtcEngineContext(appId, areaCode: areaCode)); - }

          + } +

          - -
          Deprecated:
          -
          This method is deprecated. Use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated. Use instead.
          +
          Parameters - - appId - The App ID of your Agora project. - - - areaCode - The area code. For details, see . - -
          + + appId + The App ID of your Agora project. + + + areaCode + The area code. For details, see . + + +
          Returns
            -
          • The instance, if the method call succeeds.
          • -
          • An error code, if the call fails.
          • -
          +
        52. The instance, if the method call succeeds.
        53. +
        54. An error code, if the call fails.
        55. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_createwithconfig.dita b/en-US/dita/RTC/API/api_createwithconfig.dita index 79bf30d2f9e..1aefec3fd8c 100644 --- a/en-US/dita/RTC/API/api_createwithconfig.dita +++ b/en-US/dita/RTC/API/api_createwithconfig.dita @@ -1,47 +1,51 @@ - <ph keyref="createWithConfig" /> - Initializes the object. + <ph keyref="createWithConfig"/> + Initializes the + object. - +

          - - - - - - - static Future<RtcEngine> createWithConfig(RtcEngineConfig config) async { + + + + + + + static Future<RtcEngine> createWithConfig(RtcEngineConfig config) async { return createWithContext(config); - }

          + } +

          - -
          Deprecated:
          -
          This method is deprecated. Use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated. Use instead.
          +
          -

          +

          Parameters - - config - The RtcEngine configuraiton. For details, see . - -
          + + config + The RtcEngine configuraiton. For details, see . + + +
          Returns
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_delegate.dita b/en-US/dita/RTC/API/api_delegate.dita index ae957236be5..4423c2f8afb 100644 --- a/en-US/dita/RTC/API/api_delegate.dita +++ b/en-US/dita/RTC/API/api_delegate.dita @@ -1,28 +1,32 @@ - <ph keyref="delegate" /> - Sets and retrieves . + <ph keyref="delegate"/> + Sets and retrieves . - +

          - - @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate; - - - - -

          + + @property(nonatomic, weak) id<AgoraRtcEngineDelegate> _Nullable delegate; + + + + + +

          -

          The SDK uses to inform the app on engine runtime events. All methods defined in the delegate are optional implementation methods.

          +

          The SDK uses to inform the app on engine + runtime events. All methods defined in the delegate are optional implementation + methods.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_destroyrenderer.dita b/en-US/dita/RTC/API/api_destroyrenderer.dita index deb23737759..7cb5d5db584 100644 --- a/en-US/dita/RTC/API/api_destroyrenderer.dita +++ b/en-US/dita/RTC/API/api_destroyrenderer.dita @@ -1,36 +1,39 @@ - <ph keyref="destroyRenderer" /> + <ph keyref="destroyRenderer"/> Destroys the video renderer. - +

          - - - - destroyRenderer(user: User): void - - -

          + + + + destroyRenderer(user: User): void + + + +

          -

          You can call this method to destroy the video renderer after calling .

          +

          You can call this method to destroy the video renderer after calling .

          Parameters - - user - The user of the video. See . - -
          + + user + The user of the video. See . + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_devicemanager.dita b/en-US/dita/RTC/API/api_devicemanager.dita index 1d0392cf5e7..94cbe912e1b 100644 --- a/en-US/dita/RTC/API/api_devicemanager.dita +++ b/en-US/dita/RTC/API/api_devicemanager.dita @@ -1,29 +1,31 @@ - <ph keyref="deviceManager" /> - Gets the class. + <ph keyref="deviceManager"/> + Gets the + class. - +

          - - - - - - - RtcDeviceManager get deviceManager

          + + + + + + + RtcDeviceManager get deviceManager +

          Returns -

          The class.

          +

          The class.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_disableaudio.dita b/en-US/dita/RTC/API/api_disableaudio.dita index 288c3708c8c..eb5041bb602 100644 --- a/en-US/dita/RTC/API/api_disableaudio.dita +++ b/en-US/dita/RTC/API/api_disableaudio.dita @@ -1,43 +1,52 @@ - <ph keyref="disableAudio" /> + <ph keyref="disableAudio"/> Disables the audio module. - +

          - public abstract int disableAudio(); - - (int)disableAudio; - virtual int disableAudio() = 0; - disableAudio(): number - public abstract int DisableAudio(); - - Future<void> disableAudio();

          + public abstract int disableAudio(); + - (int)disableAudio; + virtual int disableAudio() = 0; + disableAudio(): number + public abstract int DisableAudio(); + + Future<void> disableAudio(); +

          -
            -
          • This method disables the internal engine and can be called anytime after initialization. It is still valid after one leaves channel.
          • -
          • This method resets the internal engine and takes some time to take effect. Agora recommends using the following API methods to control the audio modules separately:
              -
            • : Whether to enable the microphone to create the local audio stream.
            • -
            • : Whether to publish the local audio stream.
            • -
            • : Whether to subscribe and play the remote audio stream.
            • -
            • : Whether to subscribe to and play all remote audio streams.
            • -
          • -
          +
        56. This method disables the internal engine and can be called anytime after + initialization. It is still valid after one leaves channel.
        57. +
        58. This method resets the internal engine and takes some time to take effect. + Agora recommends using the following API methods to control the audio + modules separately:
            +
          • : Whether to enable the microphone + to create the local audio stream.
          • +
          • : Whether to publish the local + audio stream.
          • +
          • : Whether to subscribe and + play the remote audio stream.
          • +
          • : Whether to subscribe to + and play all remote audio streams.
          • +
        59. + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        60. 0: Success.
        61. +
        62. < 0: Failure.
        63. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_disablelastmiletest.dita b/en-US/dita/RTC/API/api_disablelastmiletest.dita index cfc07fdbfb9..f7fda992f74 100644 --- a/en-US/dita/RTC/API/api_disablelastmiletest.dita +++ b/en-US/dita/RTC/API/api_disablelastmiletest.dita @@ -1,31 +1,34 @@ - <ph keyref="disableLastmileTest" /> - Disables the network connection quality test. + <ph keyref="disableLastmileTest"/> + Disables the network connection quality + test. - +

          - - - virtual int disableLastmileTest() = 0; - disableLastmileTest(): number - public abstract int DisableLastmileTest(); - - Future<void> disableLastmileTest();

          + + + virtual int disableLastmileTest() = 0; + disableLastmileTest(): number + public abstract int DisableLastmileTest(); + + Future<void> disableLastmileTest(); +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        64. 0: Success.
        65. +
        66. < 0: Failure.
        67. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_disablevideo.dita b/en-US/dita/RTC/API/api_disablevideo.dita index d4a0e0f644a..5755117a664 100644 --- a/en-US/dita/RTC/API/api_disablevideo.dita +++ b/en-US/dita/RTC/API/api_disablevideo.dita @@ -1,45 +1,58 @@ - <ph keyref="disableVideo" /> + <ph keyref="disableVideo"/> Disables the video module. - +

          - public abstract int disableVideo(); - - (int)disableVideo; - virtual int disableVideo() = 0; - disableVideo(): number - public abstract int DisableVideo(); - - Future<void> disableVideo();

          + public abstract int disableVideo(); + - (int)disableVideo; + virtual int disableVideo() = 0; + disableVideo(): number + public abstract int DisableVideo(); + + Future<void> disableVideo(); +

          -

          This method disables video. You can call this method either before or after joining a channel. If you call it before joining a channel, an audio call starts when you join the channel. If you call it after joining a channel, a video call switches to an audio call. Call to enable video.

          -

          A successful call of this method triggers the () callback on the remote client.

          +

          This method disables video. You can call this method either before or after joining a + channel. If you call it before joining a channel, an audio call starts when you join + the channel. If you call it after joining a channel, a video call switches to an + audio call. Call to enable video.

          +

          A successful call of this method triggers the () callback on the remote client.

          -
            -
          • This method affects the internal engine and can be called after leaving the channel.
          • -
          • This method resets the internal engine and takes some time to take effect. Agora recommends using the following API methods to control the video engine modules separately:
              -
            • : Whether to enable the camera to create the local video stream.
            • -
            • : Whether to publish the local video stream.
            • -
            • : Whether to subscribe to and play the remote video stream.
            • -
            • : Whether to subscribe to and play all remote video streams.
            • -
          • -
          +
        68. This method affects the internal engine and can be called after leaving the + channel.
        69. +
        70. This method resets the internal engine and takes some time to take effect. + Agora recommends using the following API methods to control the video engine + modules separately:
            +
          • : Whether to enable the camera to + create the local video stream.
          • +
          • : Whether to publish the local + video stream.
          • +
          • : Whether to subscribe to and + play the remote video stream.
          • +
          • : Whether to subscribe to + and play all remote video streams.
          • +
        71. + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        72. 0: Success.
        73. +
        74. < 0: Failure.
        75. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enableaudio.dita b/en-US/dita/RTC/API/api_enableaudio.dita index 96cf69e91f7..bf826c36849 100644 --- a/en-US/dita/RTC/API/api_enableaudio.dita +++ b/en-US/dita/RTC/API/api_enableaudio.dita @@ -1,44 +1,53 @@ - <ph keyref="enableAudio" /> + <ph keyref="enableAudio"/> Enables the audio module. - +

          - public abstract int enableAudio(); - - (int)enableAudio; - virtual int enableAudio() = 0; - enableAudio(): number - public abstract int EnableAudio(); - - Future<void> enableAudio();

          + public abstract int enableAudio(); + - (int)enableAudio; + virtual int enableAudio() = 0; + enableAudio(): number + public abstract int EnableAudio(); + + Future<void> enableAudio(); +

          The audio mode is enabled by default.

          -
            -
          • This method enables the internal engine and can be called anytime after initialization. It is still valid after one leaves channel.
          • -
          • This method enables the audio module and takes some time to take effect. Agora recommends using the following API methods to control the audio module separately:
              -
            • : Whether to enable the microphone to create the local audio stream.
            • -
            • : Whether to publish the local audio stream.
            • -
            • : Whether to subscribe and play the remote audio stream.
            • -
            • : Whether to subscribe to and play all remote audio streams.
            • -
          • -
          +
        76. This method enables the internal engine and can be called anytime after + initialization. It is still valid after one leaves channel.
        77. +
        78. This method enables the audio module and takes some time to take effect. + Agora recommends using the following API methods to control the audio module + separately:
            +
          • : Whether to enable the microphone + to create the local audio stream.
          • +
          • : Whether to publish the local + audio stream.
          • +
          • : Whether to subscribe and + play the remote audio stream.
          • +
          • : Whether to subscribe to + and play all remote audio streams.
          • +
        79. + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        80. 0: Success.
        81. +
        82. < 0: Failure.
        83. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enableaudioqualityindication.dita b/en-US/dita/RTC/API/api_enableaudioqualityindication.dita index d307127de5b..84245156760 100644 --- a/en-US/dita/RTC/API/api_enableaudioqualityindication.dita +++ b/en-US/dita/RTC/API/api_enableaudioqualityindication.dita @@ -1,51 +1,56 @@ - <ph keyref="enableAudioQualityIndication" /> - Enabled the audio quality notification callback. + <ph keyref="enableAudioQualityIndication"/> + Enabled the audio quality notification + callback. - +

          - public abstract int enableAudioQualityIndication(boolean enabled); - - - - - -

          + public abstract int enableAudioQualityIndication(boolean enabled); + + + + + + +

          - -
          Deprecated:
          -
          Deprecated as of v2.4.1.
          -
          + +
          Deprecated:
          +
          Deprecated as of v2.4.1.
          +
          Parameters - - enabled - Whether to enable or disable the audio quality callback. -
            -
          • : Enable the audio quality notification callback.
          • -
          • : (Default) Disable the audio quality notification callback.
          • -
          -
          -
          + + enabled + Whether to enable or disable the audio quality callback.
            +
          • : Enable the audio quality + notification callback.
          • +
          • : (Default) Disable the audio + quality notification callback.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        84. 0: Success.
        85. +
        86. < 0: Failure.
        87. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enableaudiovolumeindication.dita b/en-US/dita/RTC/API/api_enableaudiovolumeindication.dita index a43baafe89d..049d87daac1 100644 --- a/en-US/dita/RTC/API/api_enableaudiovolumeindication.dita +++ b/en-US/dita/RTC/API/api_enableaudiovolumeindication.dita @@ -1,66 +1,94 @@ - <ph keyref="enableAudioVolumeIndication" /> - Enables the reporting of users' volume indication. + <ph keyref="enableAudioVolumeIndication"/> + Enables the reporting of users' volume + indication. - +

          - public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean reportVad); - - (int)enableAudioVolumeIndication:(NSInteger)interval + public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean reportVad); + - (int)enableAudioVolumeIndication:(NSInteger)interval smooth:(NSInteger)smooth reportVad:(BOOL)reportVad; - virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0; - public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad);

          + virtual int enableAudioVolumeIndication(int interval, int smooth, bool reportVad) = 0; + public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); +

          - public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean report_vad); - - (int)enableAudioVolumeIndication:(NSInteger)interval smooth:(NSInteger)smooth report_vad:(BOOL)report_vad; - virtual int enableAudioVolumeIndication(int interval, int smooth, bool report_vad) = 0; - enableAudioVolumeIndication(interval: number, smooth: number, report_vad: boolean = false): number - public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); - - Future<void> enableAudioVolumeIndication(int interval, int smooth, bool report_vad);

          + public abstract int enableAudioVolumeIndication(int interval, int smooth, boolean report_vad); + - (int)enableAudioVolumeIndication:(NSInteger)interval smooth:(NSInteger)smooth report_vad:(BOOL)report_vad; + virtual int enableAudioVolumeIndication(int interval, int smooth, bool report_vad) = 0; + enableAudioVolumeIndication(interval: number, smooth: number, report_vad: boolean = false): number + public abstract int EnableAudioVolumeIndication(int interval, int smooth, bool reportVad); + + Future<void> enableAudioVolumeIndication(int interval, int smooth, bool report_vad); +

          -

          This method enables the SDK to regularly report the volume information of the local user who sends a stream and remote users (up to three) whose instantaneous volumes are the highest to the app. Once you call this method and users send streams in the channel, the SDK triggers the callback at the time interval set in this method.

          - You can call this method either before or after joining a channel.
          +

          This method enables the SDK to regularly report the volume information of the local + user who sends a stream and remote users (up to three) whose instantaneous volumes + are the highest to the app. Once you call this method and users send streams in the + channel, the SDK triggers the callback at + the time interval set in this method.

          + You can call this method either before or after joining a + channel. +
          Parameters - - interval - Sets the time interval between two consecutive volume indications: -
            -
          • ≤ 0: Disables the volume indication.
          • -
          • > 0: Time interval (ms) between two consecutive volume indications. We recommend a setting greater than 200 ms. Do not set this parameter to less than 10 milliseconds, otherwise the callback will not be triggered.
          • -
          -
          - - smooth - The smoothing factor sets the sensitivity of the audio volume indicator. The value ranges between 0 and 10. The recommended value is 3. The greater the value, the more sensitive the indicator. - - - report_vadreportVad - reportVad - -
            -
          • : Enable the voice activity detection of the local user. Once it is enabled, the vad parameter of the callback reports the voice activity status of the local user.
          • -
          • : (Default) Disable the voice activity detection of the local user. Once it is disabled, the vad parameter of the callback does not report the voice activity status of the local user, except for the scenario where the engine automatically detects the voice activity of the local user.
          • -
          -
          -
          + + interval + Sets the time interval between two consecutive volume indications:
            +
          • ≤ 0: Disables the volume indication.
          • +
          • > 0: Time interval (ms) between two consecutive volume + indications. We recommend a setting greater than 200 ms. Do not set + this parameter to less than 10 milliseconds, otherwise the callback will not be + triggered.
          • +
          +
          + + smooth + The smoothing factor sets the sensitivity of the audio volume indicator. The + value ranges between 0 and 10. The recommended value is 3. The greater the + value, the more sensitive the indicator. + + + report_vadreportVad + reportVad + +
            +
          • : Enable the voice activity + detection of the local user. Once it is enabled, the + vad parameter of the callback reports the voice + activity status of the local user.
          • +
          • : (Default) Disable the voice + activity detection of the local user. Once it is disabled, the + vad parameter of the callback does not report the + voice activity status of the local user, except for the scenario + where the engine automatically detects the voice activity of the + local user.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        88. 0: Success.
        89. +
        90. < 0: Failure.
        91. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enabledeeplearningdenoise.dita b/en-US/dita/RTC/API/api_enabledeeplearningdenoise.dita index cec54c4053c..a62f7a803b1 100644 --- a/en-US/dita/RTC/API/api_enabledeeplearningdenoise.dita +++ b/en-US/dita/RTC/API/api_enabledeeplearningdenoise.dita @@ -1,80 +1,96 @@ - <ph keyref="enableDeepLearningDenoise" /> - Enables/Disables deep-learning noise reduction. + <ph keyref="enableDeepLearningDenoise"/> + Enables/Disables deep-learning noise + reduction. - +

          - - - virtual int enableDeepLearningDenoise(bool enable) = 0; - enableDeepLearningDenoise(enable: boolean): number - public abstract int EnableDeepLearningDenoise(bool enable); - - Future<void> enableDeepLearningDenoise(bool enable);

          + + + virtual int enableDeepLearningDenoise(bool enable) = 0; + enableDeepLearningDenoise(enable: boolean): number + public abstract int EnableDeepLearningDenoise(bool enable); + + Future<void> enableDeepLearningDenoise(bool enable); +

          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          -

          The SDK enables traditional noise reduction mode by default to reduce most of the stationary background noise. If you need to reduce most of the non-stationary background noise, Agora recommends enabling deep-learning noise reduction as follows: - -

            -
          1. Ensure that the dynamic library is integrated in your project:
          2. -
          3. Call enableDeepLearningDenoise().
          4. -

          -

          Deep-learning noise reduction requires high-performance devices. The deep-learning noise reduction is enabled only when the device supports this function.

          -

          For example, the following devices and later models are known to support deep-learning noise reduction: - -

            -
          • iPhone 6S
          • -
          • MacBook Pro 2015
          • -
          • iPad Pro (2nd generation)
          • -
          • iPad mini (5th generation)
          • -
          • iPad Air (3rd generation)
          • -

          -

          After successfully enabling deep-learning noise reduction, if the SDK detects that the device performance is not sufficient, it automatically disables deep-learning noise reduction and enables traditional noise reduction.

          -

          If you call enableDeepLearningDenoise() or the SDK automatically disables deep-learning noise reduction in the channel, when you need to re-enable deep-learning noise reduction, you need to call first, and then call enableDeepLearningDenoise().

          +

          The SDK enables traditional noise reduction mode by default to reduce most of the + stationary background noise. If you need to reduce most of the non-stationary + background noise, Agora recommends enabling deep-learning noise reduction as + follows:

            +
          1. Ensure that the dynamic library is integrated in your project:
          2. +
          3. Call enableDeepLearningDenoise().
          4. +

          +

          Deep-learning noise reduction requires high-performance devices. The deep-learning + noise reduction is enabled only when the device supports this function.

          +

          For example, the following devices and later models + are known to support deep-learning noise reduction:

            +
          • iPhone 6S
          • +
          • MacBook Pro 2015
          • +
          • iPad Pro (2nd generation)
          • +
          • iPad mini (5th generation)
          • +
          • iPad Air (3rd generation)
          • +

          +

          After successfully enabling deep-learning noise reduction, if the SDK detects that + the device performance is not sufficient, it automatically disables deep-learning + noise reduction and enables traditional noise reduction.

          +

          If you call enableDeepLearningDenoise() or the SDK automatically disables deep-learning noise reduction in + the channel, when you need to re-enable deep-learning noise reduction, you need to + call first, and then call + enableDeepLearningDenoise().

          -
            -
          • This method dynamically loads the library, so Agora recommends calling this method before joining a channel.
          • -
          • This method works best with the human voice. Agora does not recommend using this method for audio containing music.
          • -
          +
            +
          • This method dynamically loads the library, so Agora recommends calling this + method before joining a channel.
          • +
          • This method works best with the human voice. Agora does not recommend using + this method for audio containing music.
          • +
          +
          Parameters - - enable - -

          Whether to enable deep-learning noise reduction. - -

            -
          • : (Default) Enable deep-learning noise reduction.
          • -
          • : Disable deep-learning noise reduction.
          • -

          -
          -
          -
          + + enable + +

          Whether to enable deep-learning noise reduction.

            +
          • : (Default) Enable + deep-learning noise reduction.
          • +
          • : Disable deep-learning + noise reduction.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. - -
              -
            • -157 (ERR_MODULE_NOT_FOUND): The dynamic library for enabling deep-learning noise reduction is not integrated.
            • -
          • -
          +
        92. 0: Success.
        93. +
        94. < 0: Failure.
            +
          • -157 (ERR_MODULE_NOT_FOUND): The dynamic library for + enabling deep-learning noise reduction is not integrated.
          • +
        95. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enabledualstreammode.dita b/en-US/dita/RTC/API/api_enabledualstreammode.dita index 28b73c98cc6..066bfd8393d 100644 --- a/en-US/dita/RTC/API/api_enabledualstreammode.dita +++ b/en-US/dita/RTC/API/api_enabledualstreammode.dita @@ -1,57 +1,70 @@ - <ph keyref="enableDualStreamMode" /> + <ph keyref="enableDualStreamMode"/> Enables/Disables dual-stream mode. - +

          - public abstract int enableDualStreamMode(boolean enabled); - - (int)enableDualStreamMode:(BOOL)enabled; - virtual int enableDualStreamMode(bool enabled) = 0; - enableDualStreamMode(enabled: boolean): number - public abstract int EnableDualStreamMode(bool enabled); - - Future<void> enableDualStreamMode(bool enabled);

          + public abstract int enableDualStreamMode(boolean enabled); + - (int)enableDualStreamMode:(BOOL)enabled; + virtual int enableDualStreamMode(bool enabled) = 0; + enableDualStreamMode(enabled: boolean): number + public abstract int EnableDualStreamMode(bool enabled); + + Future<void> enableDualStreamMode(bool enabled); +

          -

          You can call this method to enable or disable the dual-stream mode on the publisher side. Dual streams are a hybrid of a high-quality video stream and a low-quality video stream: -

            -
          • High-quality video stream: High bitrate, high resolution.
          • -
          • Low-quality video stream: Low bitrate, low resolution.
          • -

          -

          After you enable the dual-stream mode, you can call to choose to receive the high-quality video stream or low-quality video stream on the subscriber side.

          +

          You can call this method to enable or disable the dual-stream mode on the publisher + side. Dual streams are a hybrid of a high-quality video stream and a low-quality + video stream:

            +
          • High-quality video stream: High bitrate, high resolution.
          • +
          • Low-quality video stream: Low bitrate, low resolution.
          • +

          +

          After you enable the dual-stream mode, you can call to choose to receive the high-quality video + stream or low-quality video stream on the subscriber side.

          -
            -
          • This method only takes effect for the video stream captured by the SDK through the camera. If you use video streams from the custom video source or captured by the SDK through the screen, you need to call or to enable dual-stream mode.
          • -
          • You can call this method either before or after joining a channel.
          • -
          +
            +
          • This method only takes effect for the video stream captured by the SDK + through the camera. If you use video streams from the custom video source or + captured by the SDK through the screen, you need to call or to enable dual-stream mode.
          • +
          • You can call this method either before or after joining a channel.
          • +
          +
          Parameters - - enabled - -

          Whether to enable dual-stream mode. -

            -
          • : Enable dual-stream mode.
          • -
          • : Disable dual-stream mode.
          • -

          -
          -
          -
          + + enabled + +

          Whether to enable dual-stream mode.

            +
          • : Enable dual-stream + mode.
          • +
          • : Disable dual-stream + mode.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        96. 0: Success.
        97. +
        98. < 0: Failure.
        99. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enabledualstreammode2.dita b/en-US/dita/RTC/API/api_enabledualstreammode2.dita index 4cd7aa156ef..afb94af011d 100644 --- a/en-US/dita/RTC/API/api_enabledualstreammode2.dita +++ b/en-US/dita/RTC/API/api_enabledualstreammode2.dita @@ -1,62 +1,71 @@ - <ph keyref="enableDualStreamMode2" /> + <ph keyref="enableDualStreamMode2"/> Enables/Disables dual-stream mode. - +

          - public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled);

          + public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled);

          - public abstract int enableDualStreamMode(Constants.VideoSourceType sourceType, boolean enabled); - - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled; - virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0; - - -

          + public abstract int enableDualStreamMode(Constants.VideoSourceType sourceType, boolean enabled); + - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled; + virtual int enableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled) = 0; + + + +

          -

          You can call this method to enable or disable the dual-stream mode on the publisher side. Dual streams are a hybrid of a high-quality video stream and a low-quality video stream: -

            -
          • High-quality video stream: High bitrate, high resolution.
          • -
          • Low-quality video stream: Low bitrate, low resolution.
          • -

          -

          After you enable the dual-stream mode, you can call to choose to receive the high-quality video stream or low-quality video stream on the subscriber side.

          +

          You can call this method to enable or disable the dual-stream mode on the publisher + side. Dual streams are a hybrid of a high-quality video stream and a low-quality + video stream:

            +
          • High-quality video stream: High bitrate, high resolution.
          • +
          • Low-quality video stream: Low bitrate, low resolution.
          • +

          +

          After you enable the dual-stream mode, you can call to choose to receive the high-quality video + stream or low-quality video stream on the subscriber side.

          -

          You can call this method either before or after joining a channel.

          +

          You can call this method either before or after joining a channel.

          Parameters - - sourceType - -

          The capture type of the custom video source. For details, see .

          -
          -
          - - enabled - -

          Enables dual-stream mode. -

            -
          • : Enables dual-stream mode.
          • -
          • : Disables dual-stream mode.
          • -

          -
          -
          -
          + + sourceType + +

          The capture type of the custom video source. For details, see .

          +
          +
          + + enabled + +

          Enables dual-stream mode.

            +
          • : Enables dual-stream + mode.
          • +
          • : Disables dual-stream + mode.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        100. 0: Success.
        101. +
        102. < 0: Failure.
        103. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enabledualstreammode3.dita b/en-US/dita/RTC/API/api_enabledualstreammode3.dita index d9b8fc5245b..c18f73dc526 100644 --- a/en-US/dita/RTC/API/api_enabledualstreammode3.dita +++ b/en-US/dita/RTC/API/api_enabledualstreammode3.dita @@ -1,55 +1,59 @@ - <ph keyref="enableDualStreamMode3" /> + <ph keyref="enableDualStreamMode3"/> Enables/Disables dual-stream mode. - +

          - public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled, SimulcastStreamConfig streamConfig);

          + public abstract int EnableDualStreamMode(VIDEO_SOURCE_TYPE sourceType, bool enabled, SimulcastStreamConfig streamConfig);

          - public abstract int enableDualStreamMode( + public abstract int enableDualStreamMode( Constants.VideoSourceType sourceType, boolean enabled, SimulcastStreamConfig streamConfig); - - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType + - (int)enableDualStreamMode:(AgoraVideoSourceType)sourceType enabled:(BOOL)enabled streamConfig:(AgoraSimulcastStreamConfig* _Nonnull)streamConfig; - virtual int enableDualStreamMode( + virtual int enableDualStreamMode( VIDEO_SOURCE_TYPE sourceType, bool enabled, const SimulcastStreamConfig& streamConfig) = 0; - - -

          + + + +

          -
          +
          Parameters - - - - - - - - - - streamConfig - -

          The configuration of the low-quality video stream. See .

          -
          -
          -
          + + + + + + + + + + streamConfig + +

          The configuration of the low-quality video stream. See .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        104. 0: Success.
        105. +
        106. < 0: Failure.
        107. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enableencryption.dita b/en-US/dita/RTC/API/api_enableencryption.dita index 4ee47bd8785..6561f65f319 100644 --- a/en-US/dita/RTC/API/api_enableencryption.dita +++ b/en-US/dita/RTC/API/api_enableencryption.dita @@ -1,64 +1,84 @@ - <ph keyref="enableEncryption" /> - Enables/Disables the built-in encryption. + + <ph keyref="enableEncryption"/> + + Enables/Disables the built-in + encryption. - +

          - public abstract int enableEncryption(boolean enabled, EncryptionConfig config); - - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config; - virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; - enableEncryption(enabled: boolean, config: EncryptionConfig): number - public abstract int EnableEncryption(bool enabled, EncryptionConfig config); - - Future<void> enableEncryption(bool enabled, EncryptionConfig config);

          + public abstract int enableEncryption(boolean enabled, EncryptionConfig config); + - (int)enableEncryption:(bool)enabled encryptionConfig:(AgoraEncryptionConfig * _Nonnull)config; + virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; + enableEncryption(enabled: boolean, config: EncryptionConfig): number + public abstract int EnableEncryption(bool enabled, EncryptionConfig config); + + Future<void> enableEncryption(bool enabled, EncryptionConfig config); +

          - -
          Since
          -
          v3.1.0
          -
          + +
          Since
          +
          v3.1.0
          +
          -

          In scenarios requiring high security, Agora recommends calling this method to enable the built-in encryption before joining a channel.

          -

          All users in the same channel must use the same encryption mode and encryption key. After the user leaves the channel, the SDK automatically disables the built-in encryption. To enable the built-in encryption, call this method before the user joins the channel again.

          - If you enable the built-in encryption, you cannot use the media push function.
          +

          In scenarios requiring high security, Agora recommends calling this + method to enable the built-in encryption before joining a channel.

          +

          All users in the same channel must use the same encryption mode and + encryption key. After the user leaves the channel, the SDK automatically + disables the built-in encryption. To enable the built-in encryption, call this + method before the user joins the channel again.

          + If you enable the built-in encryption, you cannot use the + media push function. +
          Parameters - - enabled - -

          Whether to enable built-in encryption: -

            -
          • : Enable the built-in encryption.
          • -
          • : Disable the built-in encryption.
          • -

          -
          -
          - - config - Built-in encryption configurations. See for details. - -
          + + enabled + +

          Whether to enable built-in encryption:

            +
          • : Enable the built-in + encryption.
          • +
          • : Disable the built-in + encryption.
          • +
          +

          +
          +
          + + config + Built-in encryption configurations. See for details. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -2: An invalid parameter is used. Set the parameter with a valid value.
            • -
            • -4: The encryption mode is incorrect or the SDK fails to load the external encryption library. Check the enumeration or reload the external encryption library.
            • -
            • -7: The SDK is not initialized. Initialize the instance before calling this method.
            • -
          • -
          +
        108. 0: Success.
        109. +
        110. < 0: Failure.
            +
          • -2: An invalid parameter is used. Set the parameter with a valid + value.
          • +
          • -4: The encryption mode is incorrect or the SDK fails to load the + external encryption library. Check the enumeration or reload the + external encryption library.
          • +
          • -7: The SDK is not initialized. Initialize the instance before calling this + method.
          • +
          +
        111. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enablefacedetection.dita b/en-US/dita/RTC/API/api_enablefacedetection.dita index b6b9ce6f057..60a37623e98 100644 --- a/en-US/dita/RTC/API/api_enablefacedetection.dita +++ b/en-US/dita/RTC/API/api_enablefacedetection.dita @@ -1,66 +1,76 @@ - <ph keyref="enableFaceDetection" /> - Enables/Disables face detection for the local user. + <ph keyref="enableFaceDetection"/> + Enables/Disables face detection for the local + user. - +

          - - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:)); - virtual int enableFaceDetection(bool enabled) = 0; - public abstract int EnableFaceDetection(bool enabled);

          + - (int)enableFaceDetection:(bool)enable NS_SWIFT_NAME(enableFaceDetection(_:)); + virtual int enableFaceDetection(bool enabled) = 0; + public abstract int EnableFaceDetection(bool enabled); +

          - - (int)enableFaceDetection:(bool)enable; - virtual int enableFaceDetection(bool enable) = 0; - public abstract int EnableFaceDetection(bool enable);

          + - (int)enableFaceDetection:(bool)enable; + virtual int enableFaceDetection(bool enable) = 0; + public abstract int EnableFaceDetection(bool enable);

          - public abstract int enableFaceDetection(boolean enabled); - - - Future<void> enableFaceDetection(bool enable);

          + public abstract int enableFaceDetection(boolean enabled); + + + Future<void> enableFaceDetection(bool enable); +

          - -
          Since
          -
          v3.0.1
          -
          + +
          Since
          +
          v3.0.1
          +

          You can call this method either before or after joining a channel.

          - This method is for Android and iOS only. -

          Once face detection is enabled, the SDK triggers the callback to report the face information of the local user: -

            -
          • The width and height of the local video.
          • -
          • The position of the human face in the local video.
          • -
          • The distance between the human face and the screen.
          • -

          -

          This method needs to be called after the camera is started (for example, by calling or ).

          + This method is for Android and iOS + only. +

          Once face detection is enabled, the SDK triggers the callback to report the face information of the + local user:

            +
          • The width and height of the local video.
          • +
          • The position of the human face in the local video.
          • +
          • The distance between the human face and the screen.
          • +
          +

          +

          This method needs to be called after the camera is started (for example, by calling + or ).

          Parameters - - enable - enableenabled - Whether to enable face detection: -
            -
          • : Enable face detection.
          • -
          • : (Default) Disable face detection.
          • -
          -
          -
          + + enable + enableenabled + Whether to enable face detection:
            +
          • : Enable face detection.
          • +
          • : (Default) Disable face + detection.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        112. 0: Success.
        113. +
        114. < 0: Failure.
        115. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enableinearmonitoring.dita b/en-US/dita/RTC/API/api_enableinearmonitoring.dita index 2eac522a13a..1349fd5741b 100644 --- a/en-US/dita/RTC/API/api_enableinearmonitoring.dita +++ b/en-US/dita/RTC/API/api_enableinearmonitoring.dita @@ -1,51 +1,58 @@ - <ph keyref="enableInEarMonitoring" /> + <ph keyref="enableInEarMonitoring"/> Enables in-ear monitoring. - +

          - public abstract int enableInEarMonitoring(boolean enabled); - - (int)enableInEarMonitoring:(BOOL)enabled; - virtual int enableInEarMonitoring(bool enabled) = 0; - - public abstract int EnableInEarMonitoring(bool enabled); - - Future<void> enableInEarMonitoring(bool enabled);

          + public abstract int enableInEarMonitoring(boolean enabled); + - (int)enableInEarMonitoring:(BOOL)enabled; + virtual int enableInEarMonitoring(bool enabled) = 0; + + public abstract int EnableInEarMonitoring(bool enabled); + + Future<void> enableInEarMonitoring(bool enabled); +

          This method enables or disables in-ear monitoring.

          -
            -
          • This method is for Android and iOS only.
          • -
          • Users must use wired earphones to hear their own voices.
          • -
          • You can call this method either before or after joining a channel.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • Users must use wired earphones to hear their own voices.
          • +
          • You can call this method either before or after joining a channel.
          • +
          + +
          Parameters - - enabled - Enables in-ear monitoring. -
            -
          • : Enables in-ear monitoring.
          • -
          • : (Default) Disables in-ear monitoring.
          • -
          -
          -
          + + enabled + Enables in-ear monitoring.
            +
          • : Enables in-ear + monitoring.
          • +
          • : (Default) Disables in-ear + monitoring.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        116. 0: Success.
        117. +
        118. < 0: Failure.
        119. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enablelastmiletest.dita b/en-US/dita/RTC/API/api_enablelastmiletest.dita index 3dd0c783702..dbe099f74b5 100644 --- a/en-US/dita/RTC/API/api_enablelastmiletest.dita +++ b/en-US/dita/RTC/API/api_enablelastmiletest.dita @@ -1,45 +1,65 @@ - <ph keyref="enableLastmileTest" /> - Enables the network connection quality test. + <ph keyref="enableLastmileTest"/> + Enables the network connection quality + test. - +

          - - - virtual int enableLastmileTest() = 0; - enableLastmileTest(): number - public abstract int EnableLastmileTest(); - - Future<void> enableLastmileTest();

          + + + virtual int enableLastmileTest() = 0; + enableLastmileTest(): number + public abstract int EnableLastmileTest(); + + Future<void> enableLastmileTest(); +

          -

          This method tests the quality of the users' network connections. By default, this function is disabled. This method applies to the following scenarios: -

            -
          • Before a user joins a channel, call this method to check the uplink network quality.
          • -
          • Before an audience switches to a host, call this method to check the uplink network quality.
          • -

          -

          Regardless of the scenario, enabling this method consumes extra network traffic and affects the call quality. After receiving the callback, call to stop the test, and then join the channel or switch to the host.

          +

          This method tests the quality of the users' network connections. By default, this + function is disabled. This method applies to the following scenarios:

            +
          • Before a user joins a channel, call this method to check the uplink network + quality.
          • +
          • Before an audience switches to a host, call this method to check the uplink + network quality.
          • +
          +

          +

          Regardless of the scenario, enabling this method consumes extra network traffic and + affects the call quality. After receiving the + callback, call to stop the test, and then join + the channel or switch to the host.

          -
            -
          • Do not use this method together with .
          • -
          • Do not call any other methods before receiving the callback. Otherwise, the callback may be interrupted by other methods, and hence may not be triggered.
          • -
          • A host should not call this method after joining a channel (when in a call).
          • -
          • If you call this method to test the last mile network quality, the SDK consumes the bandwidth of a video stream, whose bitrate corresponds to the bitrate you set in . After joining a channel, whether you have called or not, the SDK automatically stops consuming the bandwidth.
          • -
          +
            +
          • Do not use this method together with .
          • +
          • Do not call any other methods before receiving the callback. Otherwise, the callback may be + interrupted by other methods, and hence may not be triggered.
          • +
          • A host should not call this method after joining a channel (when in a + call).
          • +
          • If you call this method to test the last mile network quality, the SDK + consumes the bandwidth of a video stream, whose bitrate corresponds to the + bitrate you set in . After + joining a channel, whether you have called or not, the SDK automatically stops + consuming the bandwidth.
          • +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        120. 0: Success.
        121. +
        122. < 0: Failure.
        123. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enablelocalaudio.dita b/en-US/dita/RTC/API/api_enablelocalaudio.dita index 1b0e67aa394..3c2f35dc81a 100644 --- a/en-US/dita/RTC/API/api_enablelocalaudio.dita +++ b/en-US/dita/RTC/API/api_enablelocalaudio.dita @@ -1,59 +1,79 @@ - <ph keyref="enableLocalAudio" /> - Enables/Disables the local audio capture. + <ph keyref="enableLocalAudio"/> + Enables/Disables the local audio + capture. - +

          - public abstract int enableLocalAudio(boolean enabled); - - (int)enableLocalAudio:(BOOL)enabled; - virtual int enableLocalAudio(bool enabled) = 0; - enableLocalAudio(enabled: boolean): number - public abstract int EnableLocalAudio(bool enabled); - - Future<void> enableLocalAudio(bool enabled);

          + public abstract int enableLocalAudio(boolean enabled); + - (int)enableLocalAudio:(BOOL)enabled; + virtual int enableLocalAudio(bool enabled) = 0; + enableLocalAudio(enabled: boolean): number + public abstract int EnableLocalAudio(bool enabled); + + Future<void> enableLocalAudio(bool enabled); +

          -

          The audio function is enabled by default. This method disables or re-enables the local audio function to stop or restart local audio capturing.

          -

          This method does not affect receiving or playing the remote audio streams, and () applies to scenarios where the user wants to receive remote audio streams without sending any audio stream to other users in the channel.

          -

          Once the local audio function is disabled or re-enabled, the SDK triggers the callback, which reports (0) or (1). - -

            -
          • This method is different from the method: -
              -
            • : Disables/Re-enables the local audio capturing and processing. If you disable or re-enable local audio capturing using the enableLocalAudio method, the local user might hear a pause in the remote audio playback.
            • -
            • : Sends/Stops sending the local audio streams.
            • -
          • -
          • You can call this method either before or after joining a channel.
          • -

          +

          The audio function is enabled by default. This method disables or re-enables the + local audio function to stop or restart local audio capturing.

          +

          This method does not affect receiving or playing the remote audio streams, and () applies to + scenarios where the user wants to receive remote audio streams without sending any + audio stream to other users in the channel.

          +

          Once the local audio function is disabled or re-enabled, the SDK triggers the callback, which reports (0) or (1). +

            +
          • This method is different from the + method:
              +
            • : Disables/Re-enables the + local audio capturing and processing. If you disable or + re-enable local audio capturing using the + enableLocalAudio method, the local user + might hear a pause in the remote audio playback.
            • +
            • : Sends/Stops sending + the local audio streams.
            • +
            +
          • +
          • You can call this method either before or after joining a channel.
          • +

          Parameters - - enabled - -

          -

            -
          • : (Default) Re-enable the local audio function, that is, to start the local audio capturing device (for example, the microphone).
          • -
          • : Disable the local audio function, that is, to stop local audio capturing.
          • -

          -
          -
          -
          + + enabled + +

          +

            +
          • : (Default) Re-enable the + local audio function, that is, to start the local audio + capturing device (for example, the microphone).
          • +
          • : Disable the local audio + function, that is, to stop local audio capturing.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        124. 0: Success.
        125. +
        126. < 0: Failure.
        127. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enablelocalvideo.dita b/en-US/dita/RTC/API/api_enablelocalvideo.dita index b84402f029c..9268ffdab9c 100644 --- a/en-US/dita/RTC/API/api_enablelocalvideo.dita +++ b/en-US/dita/RTC/API/api_enablelocalvideo.dita @@ -1,53 +1,73 @@ - <ph keyref="enableLocalVideo" /> - Enables/Disables the local video capture. + <ph keyref="enableLocalVideo"/> + Enables/Disables the local video + capture. - +

          - public abstract int enableLocalVideo(boolean enabled); - - (int)enableLocalVideo:(BOOL)enabled; - virtual int enableLocalVideo(bool enabled) = 0; - enableLocalVideo(enabled: boolean): number - public abstract int EnableLocalVideo(bool enabled); - - Future<void> enableLocalVideo(bool enabled);

          + public abstract int enableLocalVideo(boolean enabled); + - (int)enableLocalVideo:(BOOL)enabled; + virtual int enableLocalVideo(bool enabled) = 0; + enableLocalVideo(enabled: boolean): number + public abstract int EnableLocalVideo(bool enabled); + + Future<void> enableLocalVideo(bool enabled); +

          -

          This method disables or re-enables the local video capturer, and does not affect receiving the remote video stream.

          -

          After calling , the local video capturer is enabled by default. You can call () to disable the local video capturer. If you want to re-enable the local video, call ().

          -

          After the local video capturer is successfully disabled or re-enabled, the SDK triggers the callback on the remote client.

          +

          This method disables or re-enables the local video capturer, and does not + affect receiving the remote video stream.

          +

          After calling , the local video capturer is enabled by + default. You can call () to disable the local video capturer. If you want to re-enable the + local video, call ().

          +

          After the local video capturer is successfully disabled or re-enabled, the SDK + triggers the callback on the remote client.

          -
            -
          • You can call this method either before or after joining a channel.
          • -
          • This method enables the internal engine and is valid after .
          • -
          +
            +
          • You can call this method either before or after joining a channel.
          • +
          • This method enables the internal engine and is valid after .
          • +
          + +
          Parameters - - enabled - -

          Whether to enable the local video capture.

          -
            -
          • : (Default) Enable the local video capture.
          • -
          • : Disables the local video capture. Once the local video is disabled, the remote users can no longer receive the video stream of this user, while this user can still receive the video streams of the other remote users. When set to , this method does not require a local camera.
          • -
          -
          -
          + + enabled + +

          Whether to enable the local video capture.

          +
            +
          • : (Default) Enable the local + video capture.
          • +
          • : Disables the local video + capture. Once the local video is disabled, the remote users can no + longer receive the video stream of this user, while this user can + still receive the video streams of the other remote users. When set + to , this method does not + require a local camera.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        128. 0: Success.
        129. +
        130. < 0: Failure.
        131. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enablelocalvoicepitchcallback.dita b/en-US/dita/RTC/API/api_enablelocalvoicepitchcallback.dita index b943a7b1fbd..fa8efa5a694 100644 --- a/en-US/dita/RTC/API/api_enablelocalvoicepitchcallback.dita +++ b/en-US/dita/RTC/API/api_enablelocalvoicepitchcallback.dita @@ -1,43 +1,56 @@ - <ph keyref="enableLocalVoicePitchCallback" /> - Enables reporting the voice pitch of the local user. + <ph keyref="enableLocalVoicePitchCallback"/> + Enables reporting the voice pitch of the local + user. - +

          - Future<void> enableLocalVoicePitchCallback(int interval);

          + Future<void> + enableLocalVoicePitchCallback(int interval);

          -

          This method enables the SDK to regularly report the voice pitch of the local user. After the local audio capture is enabled, and you call this method, the SDK triggers the callback at the time interval set in this method.

          - You can call this method either before or after joining a channel.
          +

          This method enables the SDK to regularly report the voice pitch of the + local user. After the local audio capture is enabled, and you call this method, the + SDK triggers the callback at the time + interval set in this method.

          + You can call this method either before or after joining a + channel. +
          Parameters - - interval - -

          Sets the time interval at which the SDK triggers the callback: -

            -
          • ≤ 0: Disables the callback.
          • -
          • > 0: The time interval (ms) at which the SDK triggers the callback. The value must be greater than or equal to 10. If the value is less than 10, the SDK automatically changes it to 10.
          • -
          -

          -
          -
          -
          + + interval + +

          Sets the time interval at which the SDK triggers the callback:

            +
          • ≤ 0: Disables the + callback.
          • +
          • > 0: The time interval (ms) at which the SDK triggers the + callback. The + value must be greater than or equal to 10. If the value is less + than 10, the SDK automatically changes it to 10.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        132. 0: Success.
        133. +
        134. < 0: Failure.
        135. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enableloopbackrecording.dita b/en-US/dita/RTC/API/api_enableloopbackrecording.dita index 7ff877d10ce..756d27ee05a 100644 --- a/en-US/dita/RTC/API/api_enableloopbackrecording.dita +++ b/en-US/dita/RTC/API/api_enableloopbackrecording.dita @@ -1,62 +1,76 @@ - <ph keyref="enableLoopbackRecording" /> + <ph keyref="enableLoopbackRecording"/> Enables loopback audio capturing. - +

          - - (int)enableLoopbackRecording:(BOOL)enabled; - virtual int enableLoopbackRecording(bool enabled) = 0;

          + - (int)enableLoopbackRecording:(BOOL)enabled; + virtual int enableLoopbackRecording(bool enabled) = 0; +

          - - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString *_Nullable)deviceName; - virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0; - enableLoopbackRecording( + - (int)enableLoopbackRecording:(BOOL)enabled deviceName:(NSString *_Nullable)deviceName; + virtual int enableLoopbackRecording(bool enabled, const char* deviceName = NULL) = 0; + enableLoopbackRecording( enabled = false, deviceName: string | null = null ): number - public abstract int EnableLoopbackRecording(bool enabled, string deviceName); - - Future<void> enableLoopbackRecording(bool enabled, {String? deviceName})

          + public abstract int EnableLoopbackRecording(bool enabled, string deviceName); + + Future<void> enableLoopbackRecording(bool enabled, {String? deviceName}) +

          -

          If you enable loopback audio capturing, the output of the sound card is mixed into the audio stream sent to the other end.

          +

          If you enable loopback audio capturing, the output of the sound card is + mixed into the audio stream sent to the other end.

          -
            -
          • This method applies to macOS and Windows only.
          • -
          • macOS does not support loopback capturing of the default sound card. To use this method, use a virtual sound card and pass its name - to the SDK as the value of thedeviceName parameter. Based on tests, Agora recommends using soundflower - as the virtual sound card.
          • -
          • You can call this method either before or after joining a channel.
          • -
          +
            +
          • This method applies to macOS and Windows only.
          • +
          • macOS does not support loopback capturing + of the default sound card. To use this method, use a virtual sound card and + pass its name to the SDK as the value of thedeviceName + parameter. Based on tests, Agora recommends using soundflower as the virtual + sound card.
          • +
          • You can call this method either before or after joining a channel.
          • +
          + +
          Parameters - - enabled - Sets whether to enable loopback capturing. -
            -
          • : Enable loopback audio capturing.
          • -
          • : (Default) Disable loopback capturing.
          • -
          -
          - - deviceName - The device name of the sound card. The default value is (the default sound card). If you use a virtual sound card like "Soundflower", set this parameter as the name of the sound card, "Soundflower". The SDK will find the corresponding sound card and start capturing. - -
          + + enabled + Sets whether to enable loopback capturing.
            +
          • : Enable loopback audio + capturing.
          • +
          • : (Default) Disable loopback + capturing.
          • +
          +
          + + deviceName + The device name of the sound card. The default value is + (the default sound card). If you use a virtual sound card like + "Soundflower", set this parameter as the name of the sound card, + "Soundflower". The SDK will find the corresponding sound card and start + capturing. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        136. 0: Success.
        137. +
        138. < 0: Failure.
        139. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enableplugin.dita b/en-US/dita/RTC/API/api_enableplugin.dita index 11c9520bc51..02a7f556594 100644 --- a/en-US/dita/RTC/API/api_enableplugin.dita +++ b/en-US/dita/RTC/API/api_enableplugin.dita @@ -1,47 +1,50 @@ - <ph keyref="enablePlugin" /> - Enable or disable the specified plug-in. + <ph keyref="enablePlugin"/> + Enable or disable the specified + plug-in. - +

          - - - - enablePlugin(pluginId: string, enabled: boolean): number - - -

          + + + + enablePlugin(pluginId: string, enabled: boolean): number + + + +

          Parameters - - - - - - enabled - Whether to enable the plug-in: -
            -
          • : Enable the plug-in.
          • -
          • : Disable the plug-in.
          • -
          -
          -
          + + + + + + enabled + Whether to enable the plug-in:
            +
          • : Enable the plug-in.
          • +
          • : Disable the plug-in.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        140. 0: Success.
        141. +
        142. < 0: Failure.
        143. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enableremotesuperresolution.dita b/en-US/dita/RTC/API/api_enableremotesuperresolution.dita index c4bba5c41c0..79a8166754c 100644 --- a/en-US/dita/RTC/API/api_enableremotesuperresolution.dita +++ b/en-US/dita/RTC/API/api_enableremotesuperresolution.dita @@ -1,115 +1,149 @@ - <ph keyref="enableRemoteSuperResolution" /> - Enables/Disables the super resolution algorithm for a remote user's video stream. + <ph keyref="enableRemoteSuperResolution"/> + Enables/Disables the super resolution algorithm for a + remote user's video stream. - +

          - public abstract int enableRemoteSuperResolution(int uid, boolean enable); - - (int)enableRemoteSuperResolution:(NSUInteger)uid enable:(BOOL)enable; - virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0; - - public abstract int EnableRemoteSuperResolution(uint userId, bool enable); - - Future<void> enableRemoteSuperResolution(int userId, bool enable);

          + public abstract int enableRemoteSuperResolution(int uid, boolean enable); + - (int)enableRemoteSuperResolution:(NSUInteger)uid enable:(BOOL)enable; + virtual int enableRemoteSuperResolution(uid_t userId, bool enable) = 0; + + public abstract int EnableRemoteSuperResolution(uint userId, bool enable); + + Future<void> enableRemoteSuperResolution(int userId, bool enable); +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          -

          This feature effectively boosts the resolution of a remote user's video seen by the local user. If the original resolution of a remote user's video is a × b, the local user's device can render the remote video at a resolution of 2a × 2b -after you enable this feature.

          -

          After you call this method, the SDK triggers the callback to report whether you have successfully enabled super resolution.

          -

          After calling this method, you can confirm whether super resolution is successfully enabled through the remote video stream statistics () in the callback: -

            -
          • If the parameter superResolutionType >0: Super resolution is enabled.
          • -
          • If parameter superResolutionType =0: Super resolution is not enabled.
          • -

          +

          This feature effectively boosts the resolution of a remote user's video seen by the + local user. If the original resolution of a remote user's video is a × b, the local + user's device can render the remote video at a resolution of 2a × 2b after you + enable this feature.

          +

          After you call this method, the SDK triggers the callback to report whether you have + successfully enabled super resolution.

          +

          After calling this method, you can confirm whether super resolution is + successfully enabled through the remote video stream statistics () in the + callback:

            +
          • If the parameter superResolutionType >0: Super + resolution is enabled.
          • +
          • If parameter superResolutionType =0: Super resolution + is not enabled.
          • +
          +

          -

          The super resolution feature requires extra system resources. To balance the visual experience and system consumption, this feature can only be enabled for a single remote user. If the local user uses super resolution on Android, the original resolution of the remote user's video cannot exceed 640 × 360 pixels; if the local user uses super resolution on iOS, the original resolution of the remote user's video cannot exceed 640 × 480 pixels.

          -

          The super resolution feature requires extra system resources. To balance the visual experience and system consumption, this feature can only be enabled for a single remote user. If the local user uses super resolution on Android, the original resolution of the remote user's video cannot exceed 640 × 360640 × 480 pixels.

          -

          If you exceed these limitations, the SDK triggers the callback and returns all corresponding warning codes: -

            -
          • : 1610. The origin resolution of the remote video is beyond the range where super resolution can be applied.
          • -
          • : 1611. Super resolution is already being used on another remote user's video.
          • -
          • : 1612. The device does not support using super resolution.
          • -

          +

          The super resolution feature requires extra system + resources. To balance the visual experience and system consumption, this feature + can only be enabled for a single remote user. If the local user uses super + resolution on Android, the original resolution of the remote user's video cannot + exceed 640 × 360 pixels; if the local user uses super resolution on iOS, the + original resolution of the remote user's video cannot exceed 640 × 480 + pixels.

          +

          The super resolution feature requires extra system resources. + To balance the visual experience and system consumption, this feature can only + be enabled for a single remote user. If the local user uses super resolution on + Android, the original resolution of the remote user's video cannot exceed 640 × 360640 × 480 pixels.

          +

          If you exceed these limitations, the SDK triggers the callback and returns all corresponding warning codes:

            +
          • : 1610. The + origin resolution of the remote video is beyond the range where super + resolution can be applied.
          • +
          • : 1611. + Super resolution is already being used on another remote user's + video.
          • +
          • : 1612. The + device does not support using super resolution.
          • +

          -
            -
          • This method applies to Android and iOS only.
          • -
          • Before calling this method, ensure that you have integrated the following dynamic libraries:
              -
            • Android: libagora_super_resolution_extension.so
            • -
            • iOS: AgoraSuperResolutionExtension.xcframework
            • -
          • -
          • Because this method has certain system performance requirements, Agora recommends that you use the following devices or better: -
              -
            • Android: -
                -
              • VIVO: V1821A, NEX S, 1914A, 1916A, 1962A, 1824BA, X60, X60 Pro
              • -
              • OPPO: PCCM00, Find X3
              • -
              • OnePlus: A6000
              • -
              • Xiaomi: Mi 8, Mi 9, Mi 10, Mi 11, MIX3, Redmi K20 Pro
              • -
              • SAMSUNG: SM-G9600, SM-G9650, SM-N9600, SM-G9708, SM-G960U, SM-G9750, S20, S21
              • -
              • HUAWEI: SEA-AL00, ELE-AL00, VOG-AL00, YAL-AL10, HMA-AL00, EVR-AN00, nova 4, nova 5 Pro, nova 6 5G, nova 7 5G, Mate 30, Mate 30 Pro, Mate 40, Mate 40 Pro, P40, P40 Pro, Huawei M6, MatePad 10.8
              • -
            • -
            • iOS: -
                -
              • iPhone XR
              • -
              • iPhone XS
              • -
              • iPhone XS Max
              • -
              • iPhone 11
              • -
              • iPhone 11 Pro
              • -
              • iPhone 11 Pro Max
              • -
              • iPhone 12
              • -
              • iPhone 12 mini
              • -
              • iPhone 12 Pro
              • -
              • iPhone 12 Pro Max
              • -
              • iPhone 12 SE (2nd generation)
              • -
              • iPad Pro 11-inch (3rd generation)
              • -
              • iPad Pro 12.9-inch (3rd generation)
              • -
              • iPad Air 3 (3rd generation)
              • -
              • iPad Air 3 (4th generation)
              • -
            • -
          • -
          +
        144. This method applies to Android and iOS only.
        145. +
        146. Before calling this method, ensure that you have integrated the following + dynamic libraries:
            +
          • Android: + libagora_super_resolution_extension.so
          • +
          • iOS: + AgoraSuperResolutionExtension.xcframework
          • +
          +
        147. +
        148. Because this method has certain system performance requirements, Agora + recommends that you use the following devices or better:
            +
          • Android:
              +
            • VIVO: V1821A, NEX S, 1914A, 1916A, 1962A, 1824BA, X60, X60 + Pro
            • +
            • OPPO: PCCM00, Find X3
            • +
            • OnePlus: A6000
            • +
            • Xiaomi: Mi 8, Mi 9, Mi 10, Mi 11, MIX3, Redmi K20 Pro
            • +
            • SAMSUNG: SM-G9600, SM-G9650, SM-N9600, SM-G9708, SM-G960U, + SM-G9750, S20, S21
            • +
            • HUAWEI: SEA-AL00, ELE-AL00, VOG-AL00, YAL-AL10, HMA-AL00, + EVR-AN00, nova 4, nova 5 Pro, nova 6 5G, nova 7 5G, Mate 30, + Mate 30 Pro, Mate 40, Mate 40 Pro, P40, P40 Pro, Huawei M6, + MatePad 10.8
            • +
          • +
          • iOS:
              +
            • iPhone XR
            • +
            • iPhone XS
            • +
            • iPhone XS Max
            • +
            • iPhone 11
            • +
            • iPhone 11 Pro
            • +
            • iPhone 11 Pro Max
            • +
            • iPhone 12
            • +
            • iPhone 12 mini
            • +
            • iPhone 12 Pro
            • +
            • iPhone 12 Pro Max
            • +
            • iPhone 12 SE (2nd generation)
            • +
            • iPad Pro 11-inch (3rd generation)
            • +
            • iPad Pro 12.9-inch (3rd generation)
            • +
            • iPad Air 3 (3rd generation)
            • +
            • iPad Air 3 (4th generation)
            • +
          • +
        149. + + +
          Parameters - - userId - uid - The user ID of the remote user. - - - enable - Whether to enable super resolution for the remote user’s video: -
            -
          • : Enable super resolution.
          • -
          • : Disable super resolution.
          • -
          -
          -
          + + userId + uid + The user ID of the remote user. + + + enable + Whether to enable super resolution for the remote user’s video:
            +
          • : Enable super resolution.
          • +
          • : Disable super resolution.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -157: The dynamic library for super resolution is not integrated.
            • -
          • -
          +
        150. 0: Success.
        151. +
        152. < 0: Failure.
            +
          • -157: The dynamic library for super resolution is not integrated.
          • +
        153. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enableremotesuperresolution2.dita b/en-US/dita/RTC/API/api_enableremotesuperresolution2.dita index 048b6b8d0a5..0dd69af8c64 100644 --- a/en-US/dita/RTC/API/api_enableremotesuperresolution2.dita +++ b/en-US/dita/RTC/API/api_enableremotesuperresolution2.dita @@ -1,75 +1,98 @@ - <ph keyref="enableRemoteSuperResolution2" /> - Enables/Disables the super resolution algorithm for a remote user's video stream. This is a beta feature. + <ph keyref="enableRemoteSuperResolution2"/> + Enables/Disables the super resolution algorithm for a + remote user's video stream. This is a beta feature. - +

          - - - virtual int enableRemoteSuperResolution(bool enabled, SR_MODE mode, uid_t userId) = 0; - - - -

          + + + virtual int enableRemoteSuperResolution(bool enabled, SR_MODE mode, uid_t userId) = 0; + + + + +

          -

          This feature effectively boosts the resolution of a remote user's video seen by the local user. If the original resolution of a remote user's video is a × b, the local user's device can render the remote video at a resolution of 2a × 2b -after you enable this feature.。

          -

          After you call this method, the SDK triggers the callback to report whether you have successfully enabled super resolution.

          +

          This feature effectively boosts the resolution of a remote user's video seen by the + local user. If the original resolution of a remote user's video is a × b, the local + user's device can render the remote video at a resolution of 2a × 2b after you + enable this feature.。

          +

          After you call this method, the SDK triggers the callback to report whether you have + successfully enabled super resolution.

          -

          Before calling this method, ensure that you have integrated the following dynamic libraries into your project: -

            -
          • Android: libagora_super_resolution_extension.so
          • -
          • iOS: AgoraSuperResolutionExtension.xcframework
          • -
          • iOS: libagora_super_resolution_extension.dll
          • -
          -

          -

          The super resolution feature requires extra system resources. To balance the visual experience and system consumption, the SDK poses the following restrictions: -

            -
          • This feature can only be enabled for a single remote user; otherwise, the SDK triggers the callback and returns the warning code WARN_SUPER_RESOLUTION_USER_COUNT_OVER_LIMITATION(1611).
          • -
          • The original resolution of the remote user's video cannot exceed 640 × 360 pixels; otherwise, the SDK triggers the callback and returns the warning code WARN_SUPER_RESOLUTION_STREAM_OVER_LIMITATION(1610).
          • -
          • The feature cannot be enabled in certain specific devices, if one of these devices is used, the SDK triggers the callback and returns the warning code WARN_SUPER_RESOLUTION_DEVICE_NOT_SUPPORTED(1612).
          • -
          -

          +

          Before calling this method, ensure that you have integrated the following dynamic + libraries into your project:

            +
          • Android: + libagora_super_resolution_extension.so
          • +
          • iOS: + AgoraSuperResolutionExtension.xcframework
          • +
          • iOS: libagora_super_resolution_extension.dll
          • +
          +

          +

          The super resolution feature requires extra system resources. To balance the + visual experience and system consumption, the SDK poses the following + restrictions:

            +
          • This feature can only be enabled for a single remote user; otherwise, + the SDK triggers the callback and returns the + warning code WARN_SUPER_RESOLUTION_USER_COUNT_OVER_LIMITATION(1611).
          • +
          • The original resolution of the remote user's video cannot exceed 640 × + 360 pixels; otherwise, the SDK triggers the + callback and returns the warning code WARN_SUPER_RESOLUTION_STREAM_OVER_LIMITATION(1610).
          • +
          • The feature cannot be enabled in certain specific devices, if one of + these devices is used, the SDK triggers the + callback and returns the warning code WARN_SUPER_RESOLUTION_DEVICE_NOT_SUPPORTED(1612).
          • +
          +

          Parameters - - enable - Whether to enable super resolution for the remote user’s video: -
            -
          • : Enable super resolution.
          • -
          • : Disable super resolution.
          • -
          -
          - - mode - The mode of super resolution. See . - - - userId - The user ID of the remote user. This parameter only applies when mode is set as SR_MODE_MANUAL(0). - -
          + + enable + Whether to enable super resolution for the remote user’s video:
            +
          • : Enable super resolution.
          • +
          • : Disable super resolution.
          • +
          +
          + + mode + The mode of super resolution. See . + + + userId + The user ID of the remote user. This parameter only applies when + mode is set as SR_MODE_MANUAL(0). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -157: The dynamic library for super resolution is not integrated.
            • -
          • -
          +
        154. 0: Success.
        155. +
        156. < 0: Failure.
            +
          • -157: The dynamic library for super resolution is not integrated.
          • +
        157. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enablesoundpositionindication.dita b/en-US/dita/RTC/API/api_enablesoundpositionindication.dita index d55d61d0287..3a58a9473eb 100644 --- a/en-US/dita/RTC/API/api_enablesoundpositionindication.dita +++ b/en-US/dita/RTC/API/api_enablesoundpositionindication.dita @@ -1,46 +1,52 @@ - <ph keyref="enableSoundPositionIndication" /> - Enables/Disables stereo panning for remote users. + <ph keyref="enableSoundPositionIndication"/> + Enables/Disables stereo panning for remote + users. - +

          - public abstract int enableSoundPositionIndication(boolean enabled); - - (int)enableSoundPositionIndication:(BOOL)enabled; - virtual int enableSoundPositionIndication(bool enabled) = 0; - enableSoundPositionIndication(enabled: boolean) - public abstract int EnableSoundPositionIndication(bool enabled); - - Future<void> enableSoundPositionIndication(bool enabled);

          + public abstract int enableSoundPositionIndication(boolean enabled); + - (int)enableSoundPositionIndication:(BOOL)enabled; + virtual int enableSoundPositionIndication(bool enabled) = 0; + enableSoundPositionIndication(enabled: boolean) + public abstract int EnableSoundPositionIndication(bool enabled); + + Future<void> enableSoundPositionIndication(bool enabled); +

          -

          Ensure that you call this method before joining a channel to enable stereo panning for remote users so that the local user can track the position of a remote user by calling .

          +

          Ensure that you call this method before joining a channel to enable stereo panning + for remote users so that the local user can track the position of a remote user by + calling .

          Parameters - - enabled - Whether to enable stereo panning for remote users: -
            -
          • : Enable stereo panning.
          • -
          • : Disable stereo panning.
          • -
          -
          -
          + + enabled + Whether to enable stereo panning for remote users:
            +
          • : Enable stereo panning.
          • +
          • : Disable stereo panning.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        158. 0: Success.
        159. +
        160. < 0: Failure.
        161. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enablespatialaudio.dita b/en-US/dita/RTC/API/api_enablespatialaudio.dita index 89039af39ca..2fed4304643 100644 --- a/en-US/dita/RTC/API/api_enablespatialaudio.dita +++ b/en-US/dita/RTC/API/api_enablespatialaudio.dita @@ -1,47 +1,54 @@ - <ph keyref="enableSpatialAudio" /> - Enables or disables the spatial audio effect. + <ph keyref="enableSpatialAudio"/> + Enables or disables the spatial audio + effect. - +

          - public abstract int enableSpatialAudio(boolean enabled); - - (int)enableSpatialAudio:(BOOL)enabled; - virtual int enableSpatialAudio(bool enabled) = 0; - - public abstract int EnableSpatialAudio(bool enabled); - -

          + public abstract int enableSpatialAudio(boolean enabled); + - (int)enableSpatialAudio:(BOOL)enabled; + virtual int enableSpatialAudio(bool enabled) = 0; + + public abstract int EnableSpatialAudio(bool enabled); + + +

          -

          After enabling the spatial audio effect, you can call to set the spatial audio effect parameters of the remote user. - You can call this method either before or after joining a channel.

          +

          After enabling the spatial audio effect, you can call to set the spatial audio effect + parameters of the remote user. You can call this method either + before or after joining a channel.

          Parameters - - enabled - Whether to enable the spatial audio effect: -
            -
          • : Enable the spatial sound effect.
          • -
          • : Disable the spatial sound effect.
          • -
          -
          -
          + + enabled + Whether to enable the spatial audio effect:
            +
          • : Enable the spatial sound + effect.
          • +
          • : Disable the spatial sound + effect.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        162. 0: Success.
        163. +
        164. < 0: Failure.
        165. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enablevideo.dita b/en-US/dita/RTC/API/api_enablevideo.dita index a66ad45cd20..3de53ad5fb2 100644 --- a/en-US/dita/RTC/API/api_enablevideo.dita +++ b/en-US/dita/RTC/API/api_enablevideo.dita @@ -1,45 +1,58 @@ - <ph keyref="enableVideo" /> + <ph keyref="enableVideo"/> Enables the video module. - +

          - public abstract int enableVideo(); - - (int)enableVideo; - virtual int enableVideo() = 0; - enableVideo(): number - public abstract int EnableVideo(); - - Future<void> enableVideo();

          + public abstract int enableVideo(); + - (int)enableVideo; + virtual int enableVideo() = 0; + enableVideo(): number + public abstract int EnableVideo(); + + Future<void> enableVideo(); +

          -

          Call this method either before joining a channel or during a call. If this method is called before joining a channel, the call starts in the video mode. Call to disable the video mode.

          -

          A successful call of this method triggers the callback on the remote client.

          +

          Call this method either before joining a channel or during a call. If this method is + called before joining a channel, the call starts in the video mode. Call to disable the video mode.

          +

          A successful call of this method triggers the callback on the remote client.

          -
            -
          • This method enables the internal engine and is valid after leaving the channel.
          • -
          • This method resets the internal engine and takes some time to take effect. Agora recommends using the following API methods to control the video engine modules separately:
              -
            • : Whether to enable the camera to create the local video stream.
            • -
            • : Whether to publish the local video stream.
            • -
            • : Whether to subscribe to and play the remote video stream.
            • -
            • : Whether to subscribe to and play all remote video streams.
            • -
          • -
          +
        166. This method enables the internal engine and is valid after leaving the + channel.
        167. +
        168. This method resets the internal engine and takes some time to take effect. + Agora recommends using the following API methods to control the video engine + modules separately:
            +
          • : Whether to enable the camera to + create the local video stream.
          • +
          • : Whether to publish the local + video stream.
          • +
          • : Whether to subscribe to and + play the remote video stream.
          • +
          • : Whether to subscribe to + and play all remote video streams.
          • +
        169. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        170. 0: Success.
        171. +
        172. < 0: Failure.
        173. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enablevirtualbackground.dita b/en-US/dita/RTC/API/api_enablevirtualbackground.dita index dc3cb67b4d5..ed3e1bf48ca 100644 --- a/en-US/dita/RTC/API/api_enablevirtualbackground.dita +++ b/en-US/dita/RTC/API/api_enablevirtualbackground.dita @@ -1,133 +1,174 @@ - <ph keyref="enableVirtualBackground" /> - Enables/Disables the virtual background. (beta feature) + <ph keyref="enableVirtualBackground"/> + Enables/Disables the virtual background. (beta + feature) - +

          - public abstract int enableVirtualBackground( + public abstract int enableVirtualBackground( boolean enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty); - - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData; - virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; + - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData segData:(AgoraSegmentationProperty* _Nullable)segData; + virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, agora::media::MEDIA_SOURCE_TYPE type = agora::media::PRIMARY_CAMERA_SOURCE) = 0; - public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, MEDIA_SOURCE_TYPE type);

          + public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource, SegmentationProperty segproperty, MEDIA_SOURCE_TYPE type); +

          - public abstract int enableVirtualBackground( + public abstract int enableVirtualBackground( boolean enabled, VirtualBackgroundSource backgroundSource); - - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData NS_SWIFT_NAME(enableVirtualBackground(_:backData:)); + - (int)enableVirtualBackground:(BOOL)enable backData:(AgoraVirtualBackgroundSource* _Nullable)backData NS_SWIFT_NAME(enableVirtualBackground(_:backData:)); - virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource) = 0; + virtual int enableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource) = 0; - - public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource); - - Future<void> enableVirtualBackground( - bool enabled, VirtualBackgroundSource backgroundSource);

          + + public abstract int EnableVirtualBackground(bool enabled, VirtualBackgroundSource backgroundSource); + + Future<void> enableVirtualBackground( + bool enabled, VirtualBackgroundSource backgroundSource); +

          - -
          Since
          -
          v3.5.0
          -
          + +
          Since
          +
          v3.5.0
          +
          -

          The virtual background function allows you to replace the original background image of the local user or to blur the background. After successfully enabling the virtual background function, all users in the channel can see the customized background.

          -

          You can find out from the callback whether the virtual background is successfully enabled or the cause of any errors.

          -

          Enabling the virtual background function involves a series of method calls. The calling sequence is as follows: -

            -
          1. Call (agora_segmentation_extension) during initialization to integrate the video enhancement library in the project.
          2. -
          3. Link the extension library in the project file: AgoraVideoSegmentationExtension.xcframework
          4. -
          5. Link the extension library in the project file: AgoraVideoSegmentationExtension.framework
          6. -
          7. Call (libagora_segmentation_extension.dll) during initialization to specify the extension's library path.
          8. -
          9. Call (agora_segmentation, PortraitSegmentation, ) to enable the extension.
          10. -
          11. Call to enable the video module.
          12. -
          13. Call this method to enable the virtual background function.
          14. -

          +

          The virtual background function allows you to replace the original background image + of the local user or to blur the background. After successfully enabling the virtual + background function, all users in the channel can see the customized background.

          +

          You can find out from the callback whether the virtual background is successfully enabled or the cause of + any errors.

          +

          Enabling the virtual background function involves a series of method + calls. The calling sequence is as follows:

            +
          1. Call (agora_segmentation_extension) during initialization to integrate the video enhancement + library in the project.
          2. +
          3. Link the extension library in the project file: + AgoraVideoSegmentationExtension.xcframework
          4. +
          5. Link the extension library in the project file: + AgoraVideoSegmentationExtension.framework
          6. +
          7. Call (libagora_segmentation_extension.dll) during initialization to specify the extension's library + path.
          8. +
          9. Call (agora_segmentation, + PortraitSegmentation, ) to + enable the extension.
          10. +
          11. Call to enable the video module.
          12. +
          13. Call this method to enable the virtual background function.
          14. +

          -
            -
          • Before calling this method, ensure that you have integrated the dynamic library. -
              -
            • Android: libagora_segmentation_extension.so
            • -
            • iOS: AgoraVideoSegmentationExtension.xcframework
            • -
            • macOS: AgoraVideoSegmentationExtension.framework
            • -
            • Windows: libagora_segmentation_extension.dll
            • -
          • -
          • Call this method after .
          • -
          • This function requires a high-performance device. Agora recommends that you use this function on devices with the following chips: -
              -
            • Snapdragon 700 series 750G and later
            • -
            • Snapdragon 800 series 835 and later
            • -
            • Dimensity 700 series 720 and later
            • -
            • Kirin 800 series 810 and later
            • -
            • Kirin 900 series 980 and later
            • -
            • Devices with an i5 CPU and better
            • -
            • Devices with an A9 chip and better, as follows: -
                -
              • iPhone 6S and later
              • -
              • iPad Air 3rd generation and later
              • -
              • iPad 5th generation and later
              • -
              • iPad Pro 2nd generation and later
              • -
              • iPad mini 5th generation and later
              • -
            • -
          • -
          • Agora recommends that you use this function in scenarios that meet the following conditions:
              -
            • A high-definition camera device is used, and the environment is uniformly lit.
            • -
            • There are few objects in the captured video. Portraits are half-length and unobstructed. Ensure that the background is a solid color that is different from the color of the user's clothing.
            • -
          • -
          +
        174. Before calling this + method, ensure that you have integrated the dynamic library.
            +
          • Android: + libagora_segmentation_extension.so
          • +
          • iOS: + AgoraVideoSegmentationExtension.xcframework
          • +
          • macOS: + AgoraVideoSegmentationExtension.framework
          • +
          • Windows: + libagora_segmentation_extension.dll
          • +
        175. +
        176. Call this method after .
        177. +
        178. This function requires a high-performance device. Agora recommends that you + use this function on devices with the following chips:
            +
          • Snapdragon 700 series 750G and + later
          • +
          • Snapdragon 800 series 835 and + later
          • +
          • Dimensity 700 series 720 and + later
          • +
          • Kirin 800 series 810 and later
          • +
          • Kirin 900 series 980 and later
          • +
          • Devices with an i5 CPU and better
          • +
          • Devices with an A9 chip and better, as + follows:
              +
            • iPhone 6S and later
            • +
            • iPad Air 3rd generation and later
            • +
            • iPad 5th generation and later
            • +
            • iPad Pro 2nd generation and later
            • +
            • iPad mini 5th generation and later
            • +
          • +
        179. +
        180. Agora recommends that you use this function in scenarios that meet the + following conditions:
            +
          • A high-definition camera device is used, and the environment is + uniformly lit.
          • +
          • There are few objects in the captured video. Portraits are + half-length and unobstructed. Ensure that the background is a solid + color that is different from the color of the user's clothing.
          • +
        181. + +
          Parameters - - enabled - enable - Whether to enable virtual background: -
            -
          • : Enable virtual background.
          • -
          • : Disable virtual background.
          • -
          -
          - - backgroundSource - backData - The custom background image. See for details. To adapt the resolution of the custom background image to that of the video captured by the SDK, the SDK scales and crops the custom background image while ensuring that the content of the custom background image is not distorted. - - - segproperty - segData - Processing properties for background images. See for details. - - - type - Type of the video source. See . - In this method, this parameter supports only the following two settings: -
            -
          • The default value is .
          • -
          • If you want to use the second camera to capture video, set this parameter to .
          • -
          -
          -
          + + enabled + enable + Whether to enable virtual background:
            +
          • : Enable virtual + background.
          • +
          • : Disable virtual + background.
          • +
          +
          + + backgroundSource + backData + The custom background image. See + for details. To adapt the resolution of the custom background image to that + of the video captured by the SDK, the SDK scales and crops the custom + background image while ensuring that the content of the custom background + image is not distorted. + + + segproperty + segData + Processing properties for background images. See for details. + + + type + Type of the video source. See . In this method, this parameter supports only the + following two settings:
            +
          • The default value is .
          • +
          • If you want to use the second camera to capture video, set this + parameter to .
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -1: The custom background image does not exist. Please check the value of source in .
            • -
            • -2: The color format of the custom background image is invalid. Please check the value of color in .
            • -
            • -3: The device does not support using the virtual background.
            • -
          • -
          +
        182. 0: Success.
        183. +
        184. < 0: Failure.
            +
          • -1: The custom background image does not exist. Please check the value + of source in .
          • +
          • -2: The color format of the custom background image is invalid. Please + check the value of color in .
          • +
          • -3: The device does not support using the virtual background.
          • +
        185. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enablewebsdkinteroperability.dita b/en-US/dita/RTC/API/api_enablewebsdkinteroperability.dita index b29bf295ad4..f2f4ba2ccbd 100644 --- a/en-US/dita/RTC/API/api_enablewebsdkinteroperability.dita +++ b/en-US/dita/RTC/API/api_enablewebsdkinteroperability.dita @@ -1,53 +1,61 @@ - <ph keyref="enableWebSdkInteroperability" /> - Enables interoperability with the Agora Web SDK (applicable only in the live streaming scenarios). + <ph keyref="enableWebSdkInteroperability"/> + Enables interoperability with the Agora Web SDK + (applicable only in the live streaming scenarios). - +

          - public abstract int enableWebSdkInteroperability(boolean enabled); - - (int)enableWebSdkInteroperability:(BOOL)enabled; - virtual int enableWebSdkInteroperability(bool enabled) = 0; - enableWebSdkInteroperability(enabled: boolean): number - public abstract int EnableWebSdkInteroperability(bool enabled); - - Future<void> enableWebSdkInteroperability(bool enabled);

          + public abstract int enableWebSdkInteroperability(boolean enabled); + - (int)enableWebSdkInteroperability:(BOOL)enabled; + virtual int enableWebSdkInteroperability(bool enabled) = 0; + enableWebSdkInteroperability(enabled: boolean): number + public abstract int EnableWebSdkInteroperability(bool enabled); + + Future<void> enableWebSdkInteroperability(bool enabled); +

          - -
          Deprecated:
          -
          The SDK automatically enables interoperability with the Web SDK, so you no longer need to call this method.
          -
          + +
          Deprecated:
          +
          The SDK automatically enables interoperability with the Web SDK, so you no + longer need to call this method.
          +
          -

          This method enables or disables interoperability with the Agora Web SDK. If the channel has Web SDK users, ensure that you call this method, or the video of the Native user will be a black screen for the Web user.

          -

          This method is only applicable in live streaming scenarios, and interoperability is enabled by default in communication scenarios.

          +

          This method enables or disables interoperability with the Agora Web SDK. If the + channel has Web SDK users, ensure that you call this method, or the video of the + Native user will be a black screen for the Web user.

          +

          This method is only applicable in live streaming scenarios, and interoperability is + enabled by default in communication scenarios.

          Parameters - - enabled - Whether to enable interoperability with the Agora Web SDK. -
            -
          • : Enable interoperability.
          • -
          • : (Default) Disable interoperability.
          • -
          -
          -
          + + enabled + Whether to enable interoperability with the Agora Web SDK.
            +
          • : Enable interoperability.
          • +
          • : (Default) Disable + interoperability.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        186. 0: Success.
        187. +
        188. < 0: Failure.
        189. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enumeratedevices.dita b/en-US/dita/RTC/API/api_enumeratedevices.dita index 77121be33ad..ab2df81c8e1 100644 --- a/en-US/dita/RTC/API/api_enumeratedevices.dita +++ b/en-US/dita/RTC/API/api_enumeratedevices.dita @@ -1,42 +1,49 @@ - <ph keyref="enumerateDevices" /> - Enumerates all the audio and video devices in the system. + <ph keyref="enumerateDevices"/> + Enumerates all the audio and video devices in the + system. - +

          - - - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type; - - - - -

          + + - (NSArray<AgoraRtcDeviceInfo *> * _Nullable)enumerateDevices:(AgoraMediaDeviceType)type; + + + + + +

          -

          This method returns an NSArray object that includes all audio and video devices in the system. Apps can enumerate devices with the NSArray object.

          - Do not call this method in the main thread.
          +

          This method returns an NSArray object that includes all audio and video devices in + the system. Apps can enumerate devices with the + NSArray object.

          + Do not call this method in the main thread. +
          Parameters - - type - -

          - - -

          + + type + +

          + + + +

          Returns -

          An NSArray object that includes all audio and video devices if the method succeeds.

          +

          An NSArray object that includes all audio and + video devices if the method succeeds.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enumeratedisplays.dita b/en-US/dita/RTC/API/api_enumeratedisplays.dita index bbe7b9d9c00..f9ccf6ab91f 100644 --- a/en-US/dita/RTC/API/api_enumeratedisplays.dita +++ b/en-US/dita/RTC/API/api_enumeratedisplays.dita @@ -1,29 +1,31 @@ - <ph keyref="enumerateDisplays" /> - Enumerates the information of all the screens in the system. + <ph keyref="enumerateDisplays"/> + Enumerates the information of all the screens in the + system. - +

          - - - - - - - List<Display> enumerateDisplays()

          + + + + + + + List<Display> enumerateDisplays() +

          Returns

          The information of the screen for screen-sharing.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_enumeratewindows.dita b/en-US/dita/RTC/API/api_enumeratewindows.dita index 8d47b31c652..99dc2b6a6ad 100644 --- a/en-US/dita/RTC/API/api_enumeratewindows.dita +++ b/en-US/dita/RTC/API/api_enumeratewindows.dita @@ -1,29 +1,31 @@ - <ph keyref="enumerateWindows" /> - Enumerates the information of all the cpp in the system. + <ph keyref="enumerateWindows"/> + Enumerates the information of all the cpp in the + system. - +

          - - - - - - - List<Window> enumerateWindows()

          + + + + + + + List<Window> enumerateWindows() +

          Returns

          The information of the window for screen-sharing.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getassetabsolutepath.dita b/en-US/dita/RTC/API/api_getassetabsolutepath.dita index 653e0586eb5..28ffbbd2a95 100644 --- a/en-US/dita/RTC/API/api_getassetabsolutepath.dita +++ b/en-US/dita/RTC/API/api_getassetabsolutepath.dita @@ -1,37 +1,41 @@ - <ph keyref="getAssetAbsolutePath" /> - Gets the actual absolute path of the asset through the relative path of the asset. + <ph keyref="getAssetAbsolutePath"/> + Gets the actual absolute path of the asset through the + relative path of the asset. - +

          - - - - - - - Future<String?> getAssetAbsolutePath(String assetPath)

          + + + + + + + Future<String?> getAssetAbsolutePath(String assetPath) +

          Parameters - - assetPath - The resource path configured in the flutter -> assets field of pubspec.yaml, for example: assets/Sound_Horizon.mp3. - -
          + + assetPath + The resource path configured in the flutter -> assets + field of pubspec.yaml, for example: assets/Sound_Horizon.mp3. + + +
          Returns

          The actual path of the asset.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudiodeviceinfo.dita b/en-US/dita/RTC/API/api_getaudiodeviceinfo.dita index c729cd8d297..95335b28ffc 100644 --- a/en-US/dita/RTC/API/api_getaudiodeviceinfo.dita +++ b/en-US/dita/RTC/API/api_getaudiodeviceinfo.dita @@ -1,56 +1,62 @@ - <ph keyref="getAudioDeviceInfo" /> + <ph keyref="getAudioDeviceInfo"/> Gets the audio device information. - +

          - public abstract DeviceInfo getAudioDeviceInfo(); - - virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0; - - - -

          + public abstract DeviceInfo getAudioDeviceInfo(); + + virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0; + + + + +

          -

          After calling this method, you can get whether the audio device supports ultra-low-latency capture and playback.

          +

          After calling this method, you can get whether the audio device supports + ultra-low-latency capture and playback.

          -
            -
          • This method is for Android only.
          • -
          • You can call this method either before or after joining a channel.
          • -
          +
            +
          • This method is for Android only.
          • +
          • You can call this method either before or after joining a channel.
          • +
          +
          Parameters - - deviceInfo - Input and output parameter. A object that identifies the audio device information. -
            -
          • Input value: A object.
          • -
          • Output value: A object containing audio device information.
          • -
          -
          -
          + + deviceInfo + Input and output parameter. A object that + identifies the audio device information.
            +
          • Input value: A object.
          • +
          • Output value: A object containing + audio device information.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
          -

          The object that identifies the audio device information. -

            -
          • Not null: Success.
          • -
          • Null: Failure.
          • -

          +

          The object that identifies the audio + device information.

            +
          • Not null: Success.
          • +
          • Null: Failure.
          • +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudioeffectmanager.dita b/en-US/dita/RTC/API/api_getaudioeffectmanager.dita index 910fce3188a..02937783111 100644 --- a/en-US/dita/RTC/API/api_getaudioeffectmanager.dita +++ b/en-US/dita/RTC/API/api_getaudioeffectmanager.dita @@ -1,29 +1,31 @@ - <ph keyref="getAudioEffectManager" /> - Gets the class to manage the audio effect files. + <ph keyref="getAudioEffectManager"/> + Gets the class to + manage the audio effect files. - +

          - public abstract IAudioEffectManager getAudioEffectManager(); - - - - - -

          + public abstract IAudioEffectManager getAudioEffectManager(); + + + + + + +

          Returns -

          +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudiofileinfo.dita b/en-US/dita/RTC/API/api_getaudiofileinfo.dita index 516248c1450..65e61fa439d 100644 --- a/en-US/dita/RTC/API/api_getaudiofileinfo.dita +++ b/en-US/dita/RTC/API/api_getaudiofileinfo.dita @@ -1,62 +1,76 @@ - <ph keyref="getAudioFileInfo" /> - Gets the information of a specified audio file. + <ph keyref="getAudioFileInfo"/> + Gets the information of a specified audio + file. - +

          - - - - - public abstract int GetAudioFileInfo(string filePath); - - Future<int?> getAudioFileInfo(String filePath);

          + + + + + public abstract int GetAudioFileInfo(string filePath); + + Future<int?> getAudioFileInfo(String filePath); +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          -

          After calling this method successfully, the SDK triggers the callback to report the information of an audio file, such as audio duration. You can call this method multiple times to get the information of multiple audio files.

          +

          After calling this method successfully, the SDK triggers the callback to report the information of an audio + file, such as audio duration. You can call this method multiple times to get the + information of multiple audio files.

          -
            -
          • Call this method after joining a channel.
          • -
          • -
          +
            +
          • Call this method after joining a channel.
          • +
          • +
          + +
          Parameters - - filePath - The file path: - -
            -
          • Android: The file path, including the filename extensions. To access an online file, Agora - supports using a URL address; to access a local file, Agora supports using a URI address, an absolute path, or a path that starts - with /assets/. You might encounter permission issues if you use an absolute path to access a local file, so Agora recommends - using a URI address instead. For example: content://com.android.providers.media.documents/document/audio%3A14441.
          • -
          • Windows: The absolute path or URL address (including the filename extensions) of the audio file. - For example: C:\music\audio.mp4.
          • -
          • iOS or macOS: The absolute path or URL address (including the filename extensions) of the audio file. For example: /var/mobile/Containers/Data/audio.mp4.
          • -
          -
          -
          + + filePath + The file path:
            +
          • Android: The file path, including the + filename extensions. To access an online file, Agora supports using + a URL address; to access a local file, Agora supports using a URI + address, an absolute path, or a path that starts with + /assets/. You might encounter permission issues if you + use an absolute path to access a local file, so Agora recommends + using a URI address instead. For example: + content://com.android.providers.media.documents/document/audio%3A14441.
          • +
          • Windows: The absolute path or URL address + (including the filename extensions) of the audio file. For example: + C:\music\audio.mp4.
          • +
          • iOS or macOS: The absolute path or URL + address (including the filename extensions) of the audio file. For + example: /var/mobile/Containers/Data/audio.mp4.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        190. 0: Success.
        191. +
        192. < 0: Failure.
        193. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudiomixingcurrentposition.dita b/en-US/dita/RTC/API/api_getaudiomixingcurrentposition.dita index b32f6ad43cb..e97c32c3fc9 100644 --- a/en-US/dita/RTC/API/api_getaudiomixingcurrentposition.dita +++ b/en-US/dita/RTC/API/api_getaudiomixingcurrentposition.dita @@ -1,34 +1,41 @@ - <ph keyref="getAudioMixingCurrentPosition" /> - Retrieves the playback position (ms) of the music file. + <ph keyref="getAudioMixingCurrentPosition"/> + Retrieves the playback position (ms) of the music + file. - +

          - public abstract int getAudioMixingCurrentPosition(); - - (int)getAudioMixingCurrentPosition; - virtual int getAudioMixingCurrentPosition() = 0; - getAudioMixingCurrentPosition(): number - public abstract int GetAudioMixingCurrentPosition(); - - Future<int?> getAudioMixingCurrentPosition();

          + public abstract int getAudioMixingCurrentPosition(); + - (int)getAudioMixingCurrentPosition; + virtual int getAudioMixingCurrentPosition() = 0; + getAudioMixingCurrentPosition(): number + public abstract int GetAudioMixingCurrentPosition(); + + Future<int?> getAudioMixingCurrentPosition(); +

          Retrieves the playback position (ms) of the audio.

          - You need to call this method after calling and receiving the (PLAY) callback.
          + You need to call this method after calling and receiving the (PLAY) callback. +
          Returns
            -
          • ≥ 0: The current playback position of the audio mixing, if this method call succeeds.
          • -
          • < 0: Failure.
          • -
          +
        194. ≥ 0: The current playback position of the audio mixing, if this method call + succeeds.
        195. +
        196. < 0: Failure.
        197. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudiomixingduration.dita b/en-US/dita/RTC/API/api_getaudiomixingduration.dita index 41b9a0c949a..01ae34289dd 100644 --- a/en-US/dita/RTC/API/api_getaudiomixingduration.dita +++ b/en-US/dita/RTC/API/api_getaudiomixingduration.dita @@ -1,40 +1,48 @@ - <ph keyref="getAudioMixingDuration" /> - Retrieves the duration (ms) of the music file. + <ph keyref="getAudioMixingDuration"/> + Retrieves the duration (ms) of the music + file. - +

          - public abstract int getAudioMixingDuration(); - - (int)getAudioMixingDuration; - virtual int getAudioMixingDuration() = 0; - getAudioMixingDuration(): number - public abstract int GetAudioMixingDuration(); - -

          + public abstract int getAudioMixingDuration(); + - (int)getAudioMixingDuration; + virtual int getAudioMixingDuration() = 0; + getAudioMixingDuration(): number + public abstract int GetAudioMixingDuration(); + + +

          - -
          Deprecated:
          -
          Deprecated as of v3.4.0. Please use instead.
          -
          + +
          Deprecated:
          +
          Deprecated as of v3.4.0. Please use + instead.
          +

          Retrieves the total duration (ms) of the audio.

          - You need to call this method after calling and receiving the () callback.
          + You need to call this method after calling and receiving the () callback. +
          Returns
            -
          • ≥ 0: The audio mixing duration, if this method call succeeds.
          • -
          • < 0: Failure.
          • -
          +
        198. ≥ 0: The audio mixing duration, if this method call succeeds.
        199. +
        200. < 0: Failure.
        201. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudiomixingduration2.dita b/en-US/dita/RTC/API/api_getaudiomixingduration2.dita index 90734498bef..f63608bbfba 100644 --- a/en-US/dita/RTC/API/api_getaudiomixingduration2.dita +++ b/en-US/dita/RTC/API/api_getaudiomixingduration2.dita @@ -1,47 +1,53 @@ - <ph keyref="getAudioMixingDuration2" /> - Retrieves the duration (ms) of the music file. + <ph keyref="getAudioMixingDuration2"/> + Retrieves the duration (ms) of the music + file. - +

          - public abstract int getAudioMixingDuration(String filePath); - - (int)getAudioMixingDuration:(NSString* _Nullable)filePath; - virtual int getAudioMixingDuration(const char* filePath) = 0; - getAudioMixingDuration(filePath?: string): number - public abstract int GetAudioMixingDuration(string filePath); - - Future<int?> getAudioMixingDuration([String? filePath]);

          + public abstract int getAudioMixingDuration(String filePath); + - (int)getAudioMixingDuration:(NSString* _Nullable)filePath; + virtual int getAudioMixingDuration(const char* filePath) = 0; + getAudioMixingDuration(filePath?: string): number + public abstract int GetAudioMixingDuration(string filePath); + + Future<int?> getAudioMixingDuration([String? filePath]); +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          - Call this method after joining a channel.
          + Call this method after joining a channel. +
          Parameters - - filePath - - -
          + + filePath + + + +
          Returns
            -
          • ≥ 0: A successful method call. Returns the total duration (ms) of the specified music file.
          • -
          • < 0: Failure.
          • -
          +
        202. ≥ 0: A successful method call. Returns the total duration (ms) of the specified + music file.
        203. +
        204. < 0: Failure.
        205. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudiomixingplayoutvolume.dita b/en-US/dita/RTC/API/api_getaudiomixingplayoutvolume.dita index fde10800916..6c9c166dc2d 100644 --- a/en-US/dita/RTC/API/api_getaudiomixingplayoutvolume.dita +++ b/en-US/dita/RTC/API/api_getaudiomixingplayoutvolume.dita @@ -1,40 +1,47 @@ - <ph keyref="getAudioMixingPlayoutVolume" /> - Retrieves the audio mixing volume for local playback. + <ph keyref="getAudioMixingPlayoutVolume"/> + Retrieves the audio mixing volume for local + playback. - +

          - public abstract int getAudioMixingPlayoutVolume(); - - (int)getAudioMixingPlayoutVolume; - virtual int getAudioMixingPlayoutVolume() = 0; - getAudioMixingPlayoutVolume(): number - public abstract int GetAudioMixingPlayoutVolume(); - - Future<int?> getAudioMixingPlayoutVolume();

          + public abstract int getAudioMixingPlayoutVolume(); + - (int)getAudioMixingPlayoutVolume; + virtual int getAudioMixingPlayoutVolume() = 0; + getAudioMixingPlayoutVolume(): number + public abstract int GetAudioMixingPlayoutVolume(); + + Future<int?> getAudioMixingPlayoutVolume(); +

          - -
          Since
          -
          v2.4.1
          -
          + +
          Since
          +
          v2.4.1
          +

          This method helps troubleshoot audio volume‑related issues.

          - You need to call this method after calling and receiving the (PLAY) callback.
          + You need to call this method after calling and receiving the (PLAY) callback. +
          Returns
            -
          • ≥ 0: The audio mixing volume, if this method call succeeds. The value range is [0,100].
          • -
          • < 0: Failure.
          • -
          +
        206. ≥ 0: The audio mixing volume, if this method call succeeds. The value range is + [0,100].
        207. +
        208. < 0: Failure.
        209. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudiomixingpublishvolume.dita b/en-US/dita/RTC/API/api_getaudiomixingpublishvolume.dita index 8d5fdbef50f..5ab047ccb86 100644 --- a/en-US/dita/RTC/API/api_getaudiomixingpublishvolume.dita +++ b/en-US/dita/RTC/API/api_getaudiomixingpublishvolume.dita @@ -1,40 +1,47 @@ - <ph keyref="getAudioMixingPublishVolume" /> - Retrieves the audio mixing volume for publishing. + <ph keyref="getAudioMixingPublishVolume"/> + Retrieves the audio mixing volume for + publishing. - +

          - public abstract int getAudioMixingPublishVolume(); - - (int)getAudioMixingPublishVolume; - virtual int getAudioMixingPublishVolume() = 0; - getAudioMixingPublishVolume(): number - public abstract int GetAudioMixingPublishVolume(); - - Future<int?> getAudioMixingPublishVolume();

          + public abstract int getAudioMixingPublishVolume(); + - (int)getAudioMixingPublishVolume; + virtual int getAudioMixingPublishVolume() = 0; + getAudioMixingPublishVolume(): number + public abstract int GetAudioMixingPublishVolume(); + + Future<int?> getAudioMixingPublishVolume(); +

          - -
          Since
          -
          v2.4.1
          -
          + +
          Since
          +
          v2.4.1
          +

          This method helps troubleshoot audio volume‑related issues.

          - You need to call this method after calling and receiving the (PLAY) callback.
          + You need to call this method after calling and receiving the (PLAY) callback. +
          Returns
            -
          • ≥ 0: The audio mixing volume, if this method call succeeds. The value range is [0,100].
          • -
          • < 0: Failure.
          • -
          +
        210. ≥ 0: The audio mixing volume, if this method call succeeds. The value range is + [0,100].
        211. +
        212. < 0: Failure.
        213. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudioplaybackdevices.dita b/en-US/dita/RTC/API/api_getaudioplaybackdevices.dita index a060b8f8391..34badbe51c3 100644 --- a/en-US/dita/RTC/API/api_getaudioplaybackdevices.dita +++ b/en-US/dita/RTC/API/api_getaudioplaybackdevices.dita @@ -1,29 +1,31 @@ - <ph keyref="enumeratePlaybackDevices" /> - Retrieves the audio playback device associated with the device ID. + <ph keyref="enumeratePlaybackDevices"/> + Retrieves the audio playback device associated with the + device ID. - +

          - - - - getAudioPlaybackDevices(): Array<Device> - - -

          + + + + getAudioPlaybackDevices(): Array<Device> + + + +

          Returns -

          An array of the audio playback devices. See .

          +

          An array of the audio playback devices. See .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudiorecordingdevices.dita b/en-US/dita/RTC/API/api_getaudiorecordingdevices.dita index 48fce0b820d..764b0c1078a 100644 --- a/en-US/dita/RTC/API/api_getaudiorecordingdevices.dita +++ b/en-US/dita/RTC/API/api_getaudiorecordingdevices.dita @@ -1,29 +1,31 @@ - <ph keyref="enumerateRecordingDevices" /> - Retrieves the audio recording device associated with the device ID. + <ph keyref="enumerateRecordingDevices"/> + Retrieves the audio recording device associated with + the device ID. - +

          - - - - getAudioRecordingDevices(): Array<Device> - - -

          + + + + getAudioRecordingDevices(): Array<Device> + + + +

          Returns -

          An array of the audio recording devices. See .

          +

          An array of the audio recording devices. See .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getaudiotrackcount.dita b/en-US/dita/RTC/API/api_getaudiotrackcount.dita index 0ad06cdbc5c..10dc3cfc6a6 100644 --- a/en-US/dita/RTC/API/api_getaudiotrackcount.dita +++ b/en-US/dita/RTC/API/api_getaudiotrackcount.dita @@ -1,46 +1,53 @@ - <ph keyref="getAudioTrackCount" /> - Gets the audio track index of the current music file. + <ph keyref="getAudioTrackCount"/> + Gets the audio track index of the current music + file. - +

          - - - - - public abstract int GetAudioTrackCount(); - - Future<int?> getAudioTrackCount();

          + + + + + public abstract int GetAudioTrackCount(); + + Future<int?> getAudioTrackCount(); +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          -
            -
          • This method is for Android, iOS, and Windows only.
          • -
          • Call this method after calling and receiving the (AUDIO_MIXING_STATE_PLAYING) - callback.
          • -
          • -
          +
            +
          • This method is for Android, iOS, and Windows only.
          • +
          • Call this method after calling and + receiving the (AUDIO_MIXING_STATE_PLAYING) callback.
          • +
          • +
          + +
          Returns
            -
          • ≥ 0: The audio track index of the current music file, if this method call +
          • ≥ 0: The audio track index of the current music file, if this method call succeeds.
          • -
          • < 0: Failure.
          • -
          +
        214. < 0: Failure.
        215. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getbuffertype.dita b/en-US/dita/RTC/API/api_getbuffertype.dita index d551e0a8d85..ecde99c1b8a 100644 --- a/en-US/dita/RTC/API/api_getbuffertype.dita +++ b/en-US/dita/RTC/API/api_getbuffertype.dita @@ -1,32 +1,38 @@ - <ph keyref="getBufferType" /> + <ph keyref="getBufferType"/> Gets the video frame type. - +

          - - - virtual agora::media::ExternalVideoFrame::VIDEO_PIXEL_FORMAT getBufferType() = 0; - - - -

          + + + virtual agora::media::ExternalVideoFrame::VIDEO_PIXEL_FORMAT getBufferType() = 0; + + + + +

          -

          Before you initialize the custom video source, the SDK triggers this callback to query the video frame type. You must specify the video frame type in the return value and then pass it to the SDK.

          - Ensure that the video frame type that you specify in this callback is the same as that in the method.
          +

          Before you initialize the custom video source, the SDK triggers this callback to + query the video frame type. You must specify the video frame type in the return + value and then pass it to the SDK.

          + Ensure that the video frame type that you specify in this + callback is the same as that in the + method. +
          Returns -

          +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getcallid.dita b/en-US/dita/RTC/API/api_getcallid.dita index a6e05b28ed8..11ce82f7dba 100644 --- a/en-US/dita/RTC/API/api_getcallid.dita +++ b/en-US/dita/RTC/API/api_getcallid.dita @@ -1,43 +1,50 @@ - <ph keyref="getCallId" /> + <ph keyref="getCallId"/> Retrieves the call ID. - +

          - public abstract String getCallId(); - - (NSString * _Nullable)getCallId; - virtual int getCallId(agora::util::AString& callId) = 0; - getCallId(): string - public abstract string GetCallId(); - - Future<String?> getCallId();

          + public abstract String getCallId(); + - (NSString * _Nullable)getCallId; + virtual int getCallId(agora::util::AString& callId) = 0; + getCallId(): string + public abstract string GetCallId(); + + Future<String?> getCallId(); +

          -

          When a user joins a channel on a client, a callId is generated to identify the call from the client. Some methods, such as and , must be called after the call ends to submit feedback to the SDK. These methods require the callId parameter.

          - Call this method after joining a channel.
          +

          When a user joins a channel on a client, a callId is generated + to identify the call from the client. Some methods, such as + and , must be called after the call ends to submit feedback + to the SDK. These methods require the callId parameter.

          + Call this method after joining a channel. +
          Parameters - - callId - Output parameter, the current call ID. - -
          + + callId + Output parameter, the current call ID. + + +
          Returns

          The current call ID.

            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        216. 0: Success.
        217. +
        218. < 0: Failure.
        219. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getcameramaxzoomfactor.dita b/en-US/dita/RTC/API/api_getcameramaxzoomfactor.dita index 94973dff718..fe26ef8ff51 100644 --- a/en-US/dita/RTC/API/api_getcameramaxzoomfactor.dita +++ b/en-US/dita/RTC/API/api_getcameramaxzoomfactor.dita @@ -1,35 +1,40 @@ - <ph keyref="getCameraMaxZoomFactor" /> - Gets the maximum zoom ratio supported by the camera. + <ph keyref="getCameraMaxZoomFactor"/> + Gets the maximum zoom ratio supported by the + camera. - +

          - public abstract float getCameraMaxZoomFactor(); - - (CGFloat)cameraMaxZoomFactor; - virtual float getCameraMaxZoomFactor() = 0; - - public abstract float GetCameraMaxZoomFactor(); - - Future<double?> getCameraMaxZoomFactor();

          + public abstract float getCameraMaxZoomFactor(); + - (CGFloat)cameraMaxZoomFactor; + virtual float getCameraMaxZoomFactor() = 0; + + public abstract float GetCameraMaxZoomFactor(); + + Future<double?> getCameraMaxZoomFactor(); +

          -
            -
          • This method is for Android and iOS only.
          • -
          • Call this method before calling , , or , depending on which method you use to turn on your local camera.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • Call this method before calling , , or , depending + on which method you use to turn on your local camera.
          • +
          +
          Returns

          The maximum zoom factor.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getconnectionstate.dita b/en-US/dita/RTC/API/api_getconnectionstate.dita index 28c6b1e3362..89e4bc1b2fe 100644 --- a/en-US/dita/RTC/API/api_getconnectionstate.dita +++ b/en-US/dita/RTC/API/api_getconnectionstate.dita @@ -1,38 +1,40 @@ - <ph keyref="getConnectionState" /> - Gets the current connection state of the SDK. + <ph keyref="getConnectionState"/> + Gets the current connection state of the + SDK. - +

          - public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionState(); - - (AgoraConnectionState)getConnectionState; - virtual CONNECTION_STATE_TYPE getConnectionState() = 0; - getConnectionState(): CONNECTION_STATE_TYPE - public abstract CONNECTION_STATE_TYPE GetConnectionState(); - - Future<ConnectionStateType> getConnectionState();

          + public abstract RtcConnection.CONNECTION_STATE_TYPE getConnectionState(); + - (AgoraConnectionState)getConnectionState; + virtual CONNECTION_STATE_TYPE getConnectionState() = 0; + getConnectionState(): CONNECTION_STATE_TYPE + public abstract CONNECTION_STATE_TYPE GetConnectionState(); + + Future<ConnectionStateType> getConnectionState(); +

          - -
          Since
          -
          v2.3.2
          -
          + +
          Since
          +
          v2.3.2
          +

          You can call this method either before or after joining a channel.

          Returns -

          +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getdeviceinfo.dita b/en-US/dita/RTC/API/api_getdeviceinfo.dita index 899ea242a0b..54f2cf0a9ed 100644 --- a/en-US/dita/RTC/API/api_getdeviceinfo.dita +++ b/en-US/dita/RTC/API/api_getdeviceinfo.dita @@ -1,44 +1,51 @@ - <ph keyref="getDeviceInfo" /> - Retrieves the name of the current device. + <ph keyref="getDeviceInfo"/> + Retrieves the name of the current + device. - +

          - - - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type; - - - - -

          + + - (AgoraRtcDeviceInfo * _Nullable)getDeviceInfo:(AgoraMediaDeviceType)type; + + + + + +

          -

          This method retrieves the current audio and video capturing device based on your settings in the type parameter.

          +

          This method retrieves the current audio and video capturing device based on your + settings in the type parameter.

          Parameters - - type - -

          The device type, which includes the audio capturing, audio playback, video capturing, or video playback device. See .

          -
          -
          -
          + + type + +

          The device type, which includes the audio capturing, audio + playback, video capturing, or video playback device. See .

          +
          +
          + +
          Returns
            -
          • Returns when the method succeeds.
          • -
          • Returns nil when the method fails.
          • -
          +
        220. Returns when the method succeeds.
        221. +
        222. Returns nil when the method fails.
        223. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getdevicevolume.dita b/en-US/dita/RTC/API/api_getdevicevolume.dita index 2500ac9c8e9..0e8d33a31ee 100644 --- a/en-US/dita/RTC/API/api_getdevicevolume.dita +++ b/en-US/dita/RTC/API/api_getdevicevolume.dita @@ -1,41 +1,45 @@ - <ph keyref="getDeviceVolume" /> - Retrieves the volume of the current device. + <ph keyref="getDeviceVolume"/> + Retrieves the volume of the current + device. - +

          - - - (int)getDeviceVolume:(AgoraMediaDeviceType)type; - - - - -

          + + - (int)getDeviceVolume:(AgoraMediaDeviceType)type; + + + + + +

          Parameters - - type - -

          - - -

          + + type + +

          + + + +

          Returns
            -
          • Returns the volume of the current device, if the method succeeds.
          • -
          • < 0: Failure.
          • -
          +
        224. Returns the volume of the current device, if the method succeeds.
        225. +
        226. < 0: Failure.
        227. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_geteffectcurrentposition.dita b/en-US/dita/RTC/API/api_geteffectcurrentposition.dita index c06ff3f5948..7d8145f84f2 100644 --- a/en-US/dita/RTC/API/api_geteffectcurrentposition.dita +++ b/en-US/dita/RTC/API/api_geteffectcurrentposition.dita @@ -1,47 +1,53 @@ - <ph keyref="getEffectCurrentPosition" /> - Retrieves the playback position of the audio effect file. + <ph keyref="getEffectCurrentPosition"/> + Retrieves the playback position of the audio effect + file. - +

          - public int getEffectCurrentPosition(int soundId); - - (int)getEffectCurrentPosition:(int)soundId; - virtual int getEffectCurrentPosition(int soundId) = 0; - getEffectCurrentPosition(soundId: number): number - public abstract int GetEffectCurrentPosition(int soundId); - - Future<int?> getEffectCurrentPosition(int soundId);

          + public int getEffectCurrentPosition(int soundId); + - (int)getEffectCurrentPosition:(int)soundId; + virtual int getEffectCurrentPosition(int soundId) = 0; + getEffectCurrentPosition(soundId: number): number + public abstract int GetEffectCurrentPosition(int soundId); + + Future<int?> getEffectCurrentPosition(int soundId); +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          - Call this method after .
          + Call this method after . +
          Parameters - - soundId - - -
          + + soundId + + + +
          Returns
            -
          • ≥ 0: A successful method call. Returns the playback position (ms) of the specified audio effect file.
          • -
          • < 0: Failure.
          • -
          +
        228. ≥ 0: A successful method call. Returns the playback position (ms) of the + specified audio effect file.
        229. +
        230. < 0: Failure.
        231. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_geteffectduration.dita b/en-US/dita/RTC/API/api_geteffectduration.dita index 5c0e9e9a573..f9cc2d61117 100644 --- a/en-US/dita/RTC/API/api_geteffectduration.dita +++ b/en-US/dita/RTC/API/api_geteffectduration.dita @@ -1,49 +1,55 @@ - <ph keyref="getEffectDuration" /> - Retrieves the duration of the audio effect file. + <ph keyref="getEffectDuration"/> + Retrieves the duration of the audio effect + file. - +

          - public int getEffectDuration(String filePath); - - (int)getEffectDuration:(NSString*)filePath; - virtual int getEffectDuration(const char* filePath) = 0; - getEffectDuration(filePath: string): number - public abstract int GetEffectDuration(string filePath); - - Future<int?> getEffectDuration(String filePath);

          + public int getEffectDuration(String filePath); + - (int)getEffectDuration:(NSString*)filePath; + virtual int getEffectDuration(const char* filePath) = 0; + getEffectDuration(filePath: string): number + public abstract int GetEffectDuration(string filePath); + + Future<int?> getEffectDuration(String filePath); +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          - Call this method after joining a channel.
          + Call this method after joining a channel. +
          Parameters - - filePath - -

          - - -

          + + filePath + +

          + + + +

          Returns
            -
          • ≥ 0: A successful method call. Returns the total duration (ms) of the specified audio effect file.
          • -
          • < 0: Failure.
          • -
          +
        232. ≥ 0: A successful method call. Returns the total duration (ms) of the specified + audio effect file.
        233. +
        234. < 0: Failure.
        235. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_geteffectsvolume.dita b/en-US/dita/RTC/API/api_geteffectsvolume.dita index 2e21528b1cd..b4dfa76ac85 100644 --- a/en-US/dita/RTC/API/api_geteffectsvolume.dita +++ b/en-US/dita/RTC/API/api_geteffectsvolume.dita @@ -1,36 +1,42 @@ - <ph keyref="getEffectsVolume" /> - Retrieves the volume of the audio effects. + <ph keyref="getEffectsVolume"/> + Retrieves the volume of the audio + effects. - +

          - public double getEffectsVolume(); + public double getEffectsVolume(); - - (int)getEffectsVolume; + - (int)getEffectsVolume; - virtual int getEffectsVolume() = 0; - getEffectsVolume(): number - public abstract int GetEffectsVolume(); - - Future<double?> getEffectsVolume();

          + virtual int getEffectsVolume() = 0; + getEffectsVolume(): number + public abstract int GetEffectsVolume(); + + Future<double?> getEffectsVolume(); +

          -

          The volume is an integer ranging from 0 to 100. The default value is 100, the original volume.

          - Call this method after .
          +

          The volume is an integer ranging from 0 to 100. The default value is 100, the + original volume.

          + Call this method after . +
          Returns
            -
          • Volume of the audio effects, if this method call succeeds.
          • -
          • < 0: Failure.
          • -
          +
        236. Volume of the audio effects, if this method call succeeds.
        237. +
        238. < 0: Failure.
        239. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_geterrordescription.dita b/en-US/dita/RTC/API/api_geterrordescription.dita index f4de8cec152..4f38d538a71 100644 --- a/en-US/dita/RTC/API/api_geterrordescription.dita +++ b/en-US/dita/RTC/API/api_geterrordescription.dita @@ -1,38 +1,40 @@ - <ph keyref="getErrorDescription" /> + <ph keyref="getErrorDescription"/> Gets the warning or error description. - +

          - public static String getErrorDescription(int error) - + (NSString* _Nonnull)getErrorDescription: (NSInteger)error; - virtual const char* getErrorDescription(int code) = 0; - getErrorDescription(errorCode: number): string - public abstract string GetErrorDescription(int code); - - Future<String?> getErrorDescription(int error)

          + public static String getErrorDescription(int error) + + (NSString* _Nonnull)getErrorDescription: (NSInteger)error; + virtual const char* getErrorDescription(int code) = 0; + getErrorDescription(errorCode: number): string + public abstract string GetErrorDescription(int code); + + Future<String?> getErrorDescription(int error) +

          Parameters - - code - error - The error code or warning code reported by the SDK. - -
          + + code + error + The error code or warning code reported by the SDK. + + +
          Returns

          The specific error or warning description.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getloopbackrecordingvolume.dita b/en-US/dita/RTC/API/api_getloopbackrecordingvolume.dita index bc026380b57..6a62ba5e1bc 100644 --- a/en-US/dita/RTC/API/api_getloopbackrecordingvolume.dita +++ b/en-US/dita/RTC/API/api_getloopbackrecordingvolume.dita @@ -1,39 +1,41 @@ - <ph keyref="getLoopbackRecordingVolume" /> - + <ph keyref="getLoopbackRecordingVolume"/> + - +

          - - - virtual int getLoopbackRecordingVolume() = 0; - - - -

          + + + virtual int getLoopbackRecordingVolume() = 0; + + + + +

          -

          +

          Parameters - - - - -
          + + + + + +
          Returns
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getmediarecorder.dita b/en-US/dita/RTC/API/api_getmediarecorder.dita index a4a8a58f574..bba99752ef3 100644 --- a/en-US/dita/RTC/API/api_getmediarecorder.dita +++ b/en-US/dita/RTC/API/api_getmediarecorder.dita @@ -1,44 +1,49 @@ - <ph keyref="getMediaRecorder" /> - Gets the object. + <ph keyref="getMediaRecorder"/> + Gets the + object. - +

          - - - AGORA_CPP_API static IMediaRecorder* getMediaRecorder(IRtcEngine* engine, IMediaRecorderObserver* callback); - - - - static MediaRecorder getMediaRecorder(RtcEngine engine, - {MediaRecorderObserver? callback})

          + + + AGORA_CPP_API static IMediaRecorder* getMediaRecorder(IRtcEngine* engine, IMediaRecorderObserver* callback); + + + + static MediaRecorder getMediaRecorder(RtcEngine engine, + {MediaRecorderObserver? callback}) +

          - Call this method after initializing the object.
          + Call this method after initializing the object. +
          Parameters - - engine - The object. - - - callback - The object. - -
          + + engine + The object. + + + callback + The object. + + +
          Returns -

          The object.

          +

          The object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getnativehandle.dita b/en-US/dita/RTC/API/api_getnativehandle.dita index 530e0bf80a4..7979955a909 100644 --- a/en-US/dita/RTC/API/api_getnativehandle.dita +++ b/en-US/dita/RTC/API/api_getnativehandle.dita @@ -1,32 +1,34 @@ - <ph keyref="getNativeHandle" /> + <ph keyref="getNativeHandle"/> Gets the C++ handle of the Native SDK. - +

          - public abstract long getNativeHandle(); - - (void* _Nullable)getNativeHandle; - - - - - Future<int?> getNativeHandle();

          + public abstract long getNativeHandle(); + - (void* _Nullable)getNativeHandle; + + + + + Future<int?> getNativeHandle(); +

          -

          This method is used to retrieve the native C++ handle of the SDK engine used in special scenarios, such as registering the audio and video frame observer.

          +

          This method is used to retrieve the native C++ handle of the SDK engine used in + special scenarios, such as registering the audio and video frame observer.

          Returns

          The native handle of the SDK.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getpluginparameter.dita b/en-US/dita/RTC/API/api_getpluginparameter.dita index fbae18281f1..850f5fdef8b 100644 --- a/en-US/dita/RTC/API/api_getpluginparameter.dita +++ b/en-US/dita/RTC/API/api_getpluginparameter.dita @@ -1,44 +1,49 @@ - <ph keyref="getPluginParameter" /> - Gets the parameter of a specified plugin. + <ph keyref="getPluginParameter"/> + Gets the parameter of a specified + plugin. - +

          - - - - getPluginParameter(pluginId: string, key: string): string - - -

          + + + + getPluginParameter(pluginId: string, key: string): string + + + +

          -

          If you want to pass the JSON string to the C++ layer when using the plugin, you need to call and to get and set the plugin parameters.

          +

          If you want to pass the JSON string to the C++ layer when using the plugin, you need + to call and to get and set the plugin parameters.

          Parameters - - - - - - key - The key. - -
          + + + + + + key + The key. + + +
          Returns

          The value corresponding to the key.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getplugins.dita b/en-US/dita/RTC/API/api_getplugins.dita index f79806d0851..6ce71082e7f 100644 --- a/en-US/dita/RTC/API/api_getplugins.dita +++ b/en-US/dita/RTC/API/api_getplugins.dita @@ -1,32 +1,34 @@ - <ph keyref="getPlugins" /> + <ph keyref="getPlugins"/> Gets the plugins. - +

          - - - - getPlugins(): Plugin[] - - -

          + + + + getPlugins(): Plugin[] + + + +

          -

          After the method call of , you can call this method to get registered plugins.

          +

          After the method call of , you can call this method to + get registered plugins.

          Returns -

          An array of the objects.

          +

          An array of the objects.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getscreencapturesources.dita b/en-US/dita/RTC/API/api_getscreencapturesources.dita index 604559820a4..55ae32ec9e9 100644 --- a/en-US/dita/RTC/API/api_getscreencapturesources.dita +++ b/en-US/dita/RTC/API/api_getscreencapturesources.dita @@ -1,59 +1,84 @@ - <ph keyref="getScreenCaptureSources" /> - Gets a list of shareable screens and windows. + <ph keyref="getScreenCaptureSources"/> + Gets a list of shareable screens and + windows. - +

          - - - virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0; - - - -

          + + + virtual IScreenCaptureSourceList* getScreenCaptureSources(const SIZE& thumbSize, const SIZE& iconSize, const bool includeScreen) = 0; + + + + +

          - -
          Since
          -
          v3.5.2
          -
          + +
          Since
          +
          v3.5.2
          +
          -

          You can call this method before sharing a screen or window to get a list of shareable screens and windows, which enables a user to use thumbnails in the list to easily choose a particular screen or window to share. This list also contains important information such as window ID and screen ID, with which you can call or to start the sharing.

          +

          You can call this method before sharing a screen or window to get a list of shareable + screens and windows, which enables a user to use thumbnails in the list to easily + choose a particular screen or window to share. This list also contains important + information such as window ID and screen ID, with which you can call or to start the sharing.

          This method applies to Windows only. - This method applies to macOS and Windows only.
          + This method applies to macOS and Windows only. +
          Parameters - - thumbSize - The target size of the screen or window thumbnail (the width and height are in pixels). See for details. The SDK scales the original image to make the length of the longest side of the image the same as that of the target size without distorting the original image. For example, if the original image is 400 × 300 and thumbSize is 100 × 100, the actual size of the thumbnail is 100 × 75. If the target size is larger than the original size, the thumbnail is the original image and the SDK does not scale it. - - - iconSize - The target size of the icon corresponding to the application program (the width and height are in pixels). See for details. The SDK scales the original image to make the length of the longest side of the image the same as that of the target size without distorting the original image. For example, if the original image is 400 × 300 and iconSizeis 100 × 100, the actual size of the thumbnail is 100 × 75. If the target size is larger than the original size, the thumbnail is the original image and the SDK does not scale it. - - - includeScreen - Whether the SDK returns screen information in addition to window information: -
            -
          • : The SDK returns screen and window information.
          • -
          • : The SDK returns window information only.
          • -
          -
          -
          + + thumbSize + The target size of the screen or window thumbnail (the width and height are + in pixels). See for details. The SDK scales the + original image to make the length of the longest side of the image the same + as that of the target size without distorting the original image. For + example, if the original image is 400 × 300 and + thumbSize is 100 × 100, the actual size of the + thumbnail is 100 × 75. If the target size is larger than the original size, + the thumbnail is the original image and the SDK does not scale it. + + + iconSize + The target size of the icon corresponding to the application program (the + width and height are in pixels). See for + details. The SDK scales the original image to make the length of the longest + side of the image the same as that of the target size without distorting the + original image. For example, if the original image is 400 × 300 and + iconSizeis 100 × 100, the actual size of the + thumbnail is 100 × 75. If the target size is larger than the original size, + the thumbnail is the original image and the SDK does not scale it. + + + includeScreen + Whether the SDK returns screen information in addition to window + information:
            +
          • : The SDK returns screen and + window information.
          • +
          • : The SDK returns window + information only.
          • +
          +
          + +
          Returns -

          +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getscreensharehelper.dita b/en-US/dita/RTC/API/api_getscreensharehelper.dita index 2a1e89a0afc..9c22b1fde92 100644 --- a/en-US/dita/RTC/API/api_getscreensharehelper.dita +++ b/en-US/dita/RTC/API/api_getscreensharehelper.dita @@ -1,37 +1,39 @@ - <ph keyref="getScreenShareHelper" /> + <ph keyref="getScreenShareHelper"/> Gets a child process object. - +

          - - - - - - - Future<RtcEngine> getScreenShareHelper({String? appGroup})

          + + + + + + + Future<RtcEngine> getScreenShareHelper({String? appGroup}) +

          Parameters - - appGroup - The app group. - -
          + + appGroup + The app group. + + +
          Returns

          A child process object, which can be used in scenarios such as screen sharing.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getscreensinfo.dita b/en-US/dita/RTC/API/api_getscreensinfo.dita index ee98613245e..40bfbdcd48e 100644 --- a/en-US/dita/RTC/API/api_getscreensinfo.dita +++ b/en-US/dita/RTC/API/api_getscreensinfo.dita @@ -1,32 +1,37 @@ - <ph keyref="getScreensInfo" /> + <ph keyref="getScreensInfo"/> Gets the screen information. - +

          - - - - getScreensInfo(): Array<Object> - - -

          + + + + getScreensInfo(): Array<Object> + + + +

          -

          You need to call this method to get the screen information before sharing the screen by a display ID (macOS) or ScreenRect (Windows).

          - This method can get the information of multiple screens.
          +

          You need to call this method to get the screen information before sharing the screen + by a display ID (macOS) or ScreenRect (Windows).

          + This method can get the information of multiple screens. +
          Returns -

          Objects that contain the screen information. The screen information on macOS and Windows is different. You can ignore the details and directly use the returned objects for screen sharing.

          +

          Objects that contain the screen information. The screen information on macOS and + Windows is different. You can ignore the details and directly use the returned + objects for screen sharing.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getuserinfobyuid.dita b/en-US/dita/RTC/API/api_getuserinfobyuid.dita index 3c8c2f8236e..30b063e72c3 100644 --- a/en-US/dita/RTC/API/api_getuserinfobyuid.dita +++ b/en-US/dita/RTC/API/api_getuserinfobyuid.dita @@ -1,87 +1,102 @@ - <ph keyref="getUserInfoByUid" /> - Gets the user information by passing in the user ID. + <ph keyref="getUserInfoByUid"/> + Gets the user information by passing in the user + ID. - +

          - virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; - public abstract int GetUserInfoByUid(uint uid, out UserInfo userInfo, string channelId = null, string localUserAccount = null);

          + virtual int getUserInfoByUid(uid_t uid, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; + public abstract int GetUserInfoByUid(uint uid, out UserInfo userInfo, string channelId = null, string localUserAccount = null); +

          - virtual int getUserInfoByUid(uid_t uid, UserInfo* userInfo) = 0; - public abstract int GetUserInfoByUid(uint uid, out UserInfo userInfo);

          + virtual int getUserInfoByUid(uid_t uid, UserInfo* userInfo) = 0; + public abstract int GetUserInfoByUid(uint uid, out UserInfo userInfo); +

          - public abstract int getUserInfoByUid(int uid, UserInfo userInfo); - - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error; - getUserInfoByUid(uid: number): { errCode: number; userInfo: UserInfo } - - Future<UserInfo> getUserInfoByUid(int uid);

          + public abstract int getUserInfoByUid(int uid, UserInfo userInfo); + - (AgoraUserInfo* _Nullable)getUserInfoByUid:(NSUInteger)uid withError:(AgoraErrorCode* _Nullable)error; + getUserInfoByUid(uid: number): { errCode: number; userInfo: UserInfo } + + Future<UserInfo> getUserInfoByUid(int uid); +

          - -
          Since
          -
          v2.8.0
          -
          + +
          Since
          +
          v2.8.0
          +
          -

          After a remote user joins the channel, the SDK gets the UID and user account of the remote user, caches them in a mapping table object, and triggers the callback on the local client. After receiving the callback, you can call this method to get the user account of the remote user from the object by passing in the user ID.

          +

          After a remote user joins the channel, the SDK gets the UID and + user account of the remote user, caches them in a mapping table object, and triggers + the callback on the local client. After receiving + the callback, you can call this method to get the user account of the remote user + from the object by passing in the user ID.

          Parameters - - uid - User ID. - - - userInfo - Input and output parameter. The object that identifies the user information. -

          -

            -
          • Input: A object.
          • -
          • Output: A object that contains the user account and user ID of the user.
          • -

          -
          -
          - - channelId - -

          - - - - localUserAccount - The user account of the local user. - - - error - Error code. - -

          + + uid + User ID. + + + userInfo + Input and output parameter. The object that identifies the user + information. +

          +

            +
          • Input: A object.
          • +
          • Output: A object that contains the + user account and user ID of the user.
          • +

          +
          +
          + + channelId + +

          + + + + localUserAccount + The user account of the local user. + + + error + Error code. + + +

          Returns -

          The object that identifies the user information.

          +

          The object that identifies the + user information.

            -
          • Not null: Success.
          • -
          • Null: Failure.
          • +
          • Not null: Success.
          • +
          • Null: Failure.

          -

            -
          • The instance, if the method call succeeds.
          • -
          • If the call fails, returns .
          • -
          • If the call fails, returns the error code(errCode.
          • -

          +
            +
          • The instance, if the method call succeeds.
          • +
          • If the call fails, returns .
          • +
          • If the call fails, returns the error + code(errCode.
          • +

            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        240. 0: Success.
        241. +
        242. < 0: Failure.
        243. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getuserinfobyuidex.dita b/en-US/dita/RTC/API/api_getuserinfobyuidex.dita index fbb73096981..41c13e42730 100644 --- a/en-US/dita/RTC/API/api_getuserinfobyuidex.dita +++ b/en-US/dita/RTC/API/api_getuserinfobyuidex.dita @@ -1,68 +1,74 @@ - <ph keyref="getUserInfoByUidEx" /> - Gets the user information by passing in the user ID. + <ph keyref="getUserInfoByUidEx"/> + Gets the user information by passing in the user + ID. - +

          - public abstract UserInfo getUserInfoByUid(int uid, String channelId, String localUserAccount); + public abstract UserInfo getUserInfoByUid(int uid, String channelId, String localUserAccount); - - (int)getUserInfoWithUserId:(NSUInteger)uid + - (int)getUserInfoWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo *_Nullable* _Nullable)userInfo channelId:(NSString* _Nonnull)channelId localUserAccount:(NSString* _Nonnull)localUserAccount; - - - - -

          + + + + + +

          -

          +

          Parameters - - uid - User ID. - - - userInfo - The object that identifies the user information. -
            -
          • Input value: A object.
          • -
          • Output: A object that contains the user account and user ID of the user.
          • -
          -
          - - channelId - -

          - - - - localUserAccount - The user account of the local user. - -

          + + uid + User ID. + + + userInfo + The object that identifies the user information. +
            +
          • Input value: A object.
          • +
          • Output: A object that contains the user + account and user ID of the user.
          • +
          +
          + + channelId + +

          + + + + localUserAccount + The user account of the local user. + + +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
            -
          • A pointer to the instance, if the method call succeeds.
          • -
          • If the call fails, returns .
          • -
          +
        244. A pointer to the instance, if the method call + succeeds.
        245. +
        246. If the call fails, returns .
        247. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getuserinfobyuseraccount.dita b/en-US/dita/RTC/API/api_getuserinfobyuseraccount.dita index 10601ed8271..0d8f2ed7e81 100644 --- a/en-US/dita/RTC/API/api_getuserinfobyuseraccount.dita +++ b/en-US/dita/RTC/API/api_getuserinfobyuseraccount.dita @@ -1,65 +1,70 @@ - <ph keyref="getUserInfoByUserAccount" /> - Gets the user information by passing in the user account. + <ph keyref="getUserInfoByUserAccount"/> + Gets the user information by passing in the user + account. - +

          - virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; - public abstract int GetUserInfoByUserAccount(string userAccount, out UserInfo userInfo, string channelId = null, string localUserAccount = null);

          + virtual int getUserInfoByUserAccount(const char* userAccount, rtc::UserInfo* userInfo, const char* channelId = NULL, const char* localUserAccount = NULL) = 0; + public abstract int GetUserInfoByUserAccount(string userAccount, out UserInfo userInfo, string channelId = null, string localUserAccount = null); +

          - virtual int getUserInfoByUserAccount(const char* userAccount, UserInfo* userInfo) = 0; - public abstract int GetUserInfoByUserAccount(string userAccount, out UserInfo userInfo);

          + virtual int getUserInfoByUserAccount(const char* userAccount, UserInfo* userInfo) = 0; + public abstract int GetUserInfoByUserAccount(string userAccount, out UserInfo userInfo); +

          - public abstract int getUserInfoByUserAccount(String userAccount, UserInfo userInfo); - - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error; - getUserInfoByUserAccount(userAccount: string): { errCode: number; userInfo: UserInfo } - - Future<UserInfo> getUserInfoByUserAccount(String userAccount);

          + public abstract int getUserInfoByUserAccount(String userAccount, UserInfo userInfo); + - (AgoraUserInfo* _Nullable)getUserInfoByUserAccount:(NSString* _Nonnull)userAccount withError:(AgoraErrorCode* _Nullable)error; + getUserInfoByUserAccount(userAccount: string): { errCode: number; userInfo: UserInfo } + + Future<UserInfo> getUserInfoByUserAccount(String userAccount); +

          - -
          Since
          -
          v2.8.0
          -
          + +
          Since
          +
          v2.8.0
          +
          -

          +

          Parameters - - userAccount - The user account. - - - - - - - - - - - - - - - - - -
          + + userAccount + The user account. + + + + + + + + + + + + + + + + + + +
          - + <title/> </section> </refbody> -</reference> \ No newline at end of file +</reference> diff --git a/en-US/dita/RTC/API/api_getuserinfobyuseraccountex.dita b/en-US/dita/RTC/API/api_getuserinfobyuseraccountex.dita index 3332b7dfb14..b6f87fcc60a 100644 --- a/en-US/dita/RTC/API/api_getuserinfobyuseraccountex.dita +++ b/en-US/dita/RTC/API/api_getuserinfobyuseraccountex.dita @@ -1,54 +1,57 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd"> <reference id="api_getuserinfobyuseraccountex"> - <title><ph keyref="getUserInfoByUserAccountEx" /> - Gets the user information by passing in the user account. + <ph keyref="getUserInfoByUserAccountEx"/> + Gets the user information by passing in the user + account. - +

          - public abstract UserInfo getUserInfoByUserAccount(String userAccount, String channelId, String localUserAccount); - - (int)getUserInfoWithUserAccount:(NSString * _Nonnull)userAccount + public abstract UserInfo getUserInfoByUserAccount(String userAccount, String channelId, String localUserAccount); + - (int)getUserInfoWithUserAccount:(NSString * _Nonnull)userAccount userInfo:(AgoraUserInfo *_Nullable* _Nullable)userInfo channelId:(NSString* _Nonnull)channelId localUserAccount:(NSString* _Nonnull)localUserAccount; - - - - -

          + + + + + +

          -

          +

          Parameters - - userAccount - The user account. - - - - - - - - - - - - - -
          + + userAccount + The user account. + + + + + + + + + + + + + + +
          - + <title/> </section> </refbody> -</reference> \ No newline at end of file +</reference> diff --git a/en-US/dita/RTC/API/api_getversion.dita b/en-US/dita/RTC/API/api_getversion.dita index 334cd26d1dc..7023aaeeaa2 100644 --- a/en-US/dita/RTC/API/api_getversion.dita +++ b/en-US/dita/RTC/API/api_getversion.dita @@ -1,29 +1,30 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE reference PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd"> <reference id="api_getversion"> - <title><ph keyref="getVersion" /> + <ph keyref="getVersion"/> Gets the SDK version. - +

          - public static String getSdkVersion() - + (NSString * _Nonnull)getSdkVersion; - virtual const char* getVersion(int* build) = 0; - getVersion(): string - public abstract string GetVersion(); - - Future<String?> getSdkVersion()

          + public static String getSdkVersion() + + (NSString * _Nonnull)getSdkVersion; + virtual const char* getVersion(int* build) = 0; + getVersion(): string + public abstract string GetVersion(); + + Future<String?> getSdkVersion() +

          Returns

          The SDK version number. The format is a string.

          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getvideocapturetype.dita b/en-US/dita/RTC/API/api_getvideocapturetype.dita index db0c12bc4c7..54ca2f9e861 100644 --- a/en-US/dita/RTC/API/api_getvideocapturetype.dita +++ b/en-US/dita/RTC/API/api_getvideocapturetype.dita @@ -1,32 +1,38 @@ - <ph keyref="getVideoCaptureType" /> - Sets the capture type of the custom video source. + <ph keyref="getVideoCaptureType"/> + Sets the capture type of the custom video + source. - +

          - - - virtual VIDEO_CAPTURE_TYPE getVideoCaptureType() = 0; - - - -

          + + + virtual VIDEO_CAPTURE_TYPE getVideoCaptureType() = 0; + + + + +

          -

          Before you initialize the custom video source, the SDK triggers this callback to query the capture type of the video source. You must specify the capture type in the return value and then pass it to the SDK. The SDK enables the corresponding video processing algorithm according to the capture type after receiving the video frame.

          +

          Before you initialize the custom video source, the SDK triggers this callback to + query the capture type of the video source. You must specify the capture type in the + return value and then pass it to the SDK. The SDK enables the corresponding video + processing algorithm according to the capture type after receiving the video + frame.

          Returns -

          +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getvideocontenthint.dita b/en-US/dita/RTC/API/api_getvideocontenthint.dita index fdde0b07294..a8f73a5e431 100644 --- a/en-US/dita/RTC/API/api_getvideocontenthint.dita +++ b/en-US/dita/RTC/API/api_getvideocontenthint.dita @@ -1,32 +1,38 @@ - <ph keyref="getVideoContentHint" /> - Gets the content hint for the custom video source. + <ph keyref="getVideoContentHint"/> + Gets the content hint for the custom video + source. - +

          - - - virtual VideoContentHint getVideoContentHint() = 0; - - - -

          + + + virtual VideoContentHint getVideoContentHint() = 0; + + + + +

          -

          If you specify the custom video source as a screen-sharing video, the SDK triggers this callback to query the content hint of the video source before you initialize the video source. You must specify the content hint in the return value and then pass it to the SDK. The SDK enables the corresponding video processing algorithm according to the content hint after receiving the video frame.

          +

          If you specify the custom video source as a screen-sharing video, the SDK triggers + this callback to query the content hint of the video source before you initialize + the video source. You must specify the content hint in the return value and then + pass it to the SDK. The SDK enables the corresponding video processing algorithm + according to the content hint after receiving the video frame.

          Returns -

          +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getvideodevices.dita b/en-US/dita/RTC/API/api_getvideodevices.dita index 1c64b3a358f..3e2a0fc8119 100644 --- a/en-US/dita/RTC/API/api_getvideodevices.dita +++ b/en-US/dita/RTC/API/api_getvideodevices.dita @@ -1,29 +1,30 @@ - <ph keyref="enumerateVideoDevices" /> + <ph keyref="enumerateVideoDevices"/> Gets the list of video devices. - +

          - - - - getVideoDevices(): Array<Device> - - -

          + + + + getVideoDevices(): Array<Device> + + + +

          Returns -

          An array of the video devices. See .

          +

          An array of the video devices. See .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getvolumeofeffect.dita b/en-US/dita/RTC/API/api_getvolumeofeffect.dita index 8d87efc4961..125008302ea 100644 --- a/en-US/dita/RTC/API/api_getvolumeofeffect.dita +++ b/en-US/dita/RTC/API/api_getvolumeofeffect.dita @@ -1,42 +1,48 @@ - <ph keyref="getVolumeOfEffect" /> - Gets the volume of a specified audio effect. + <ph keyref="getVolumeOfEffect"/> + Gets the volume of a specified audio + effect. - +

          - public abstract int getVolumeOfEffect(int soundId); + public abstract int getVolumeOfEffect(int soundId); - - (int)getVolumeOfEffect:(int)soundId; + - (int)getVolumeOfEffect:(int)soundId; - virtual int getVolumeOfEffect(int soundId) = 0; + virtual int getVolumeOfEffect(int soundId) = 0; - - public abstract int GetVolumeOfEffect(int soundId); - -

          + + public abstract int GetVolumeOfEffect(int soundId); + + +

          Parameters - - soundId - The ID of the audio effect. - -
          + + soundId + The ID of the audio effect. + + +
          Returns
            -
          • ≥ 0: Returns the volume of the specified audio effect, if the method call is successful. The value ranges between 0 and 100. 100 represents the original volume.
          • -
          • < 0: Failure.
          • -
          +
        248. ≥ 0: Returns the volume of the specified audio effect, if the method call is + successful. The value ranges between 0 and 100. 100 represents the original + volume.
        249. +
        250. < 0: Failure.
        251. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_getwindowsinfo.dita b/en-US/dita/RTC/API/api_getwindowsinfo.dita index f299a63c16b..ac643c101b6 100644 --- a/en-US/dita/RTC/API/api_getwindowsinfo.dita +++ b/en-US/dita/RTC/API/api_getwindowsinfo.dita @@ -1,32 +1,35 @@ - <ph keyref="getWindowsInfo" /> + <ph keyref="getWindowsInfo"/> Gets the window information. - +

          - - - - getWindowsInfo(): Array<WindowInfo> - - -

          + + + + getWindowsInfo(): Array<WindowInfo> + + + +

          -

          Before sharing a window through a window ID that specifies the window, you need to call this method to get the window information.

          - This method can get the information of multiple windows.
          +

          Before sharing a window through a window ID that specifies the window, you need to + call this method to get the window information.

          + This method can get the information of multiple windows. +
          Returns -

          The array of WindowInfo: .

          +

          The array of WindowInfo: .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicecollection_getapplicationvolume.dita b/en-US/dita/RTC/API/api_iaudiodevicecollection_getapplicationvolume.dita index f56927c1af6..4155670a68c 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicecollection_getapplicationvolume.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicecollection_getapplicationvolume.dita @@ -1,39 +1,43 @@ - <ph keyref="getApplicationVolume" /> + <ph keyref="getApplicationVolume"/> Gets the volume of the application. - +

          - - - virtual int getApplicationVolume(int& volume) = 0; - - - -

          + + + virtual int getApplicationVolume(int& volume) = 0; + + + + +

          Parameters - - volume - The volume of the application. The value ranges between 0 (lowest volume) and 255 (highest volume). - -
          + + volume + The volume of the application. The value ranges between 0 (lowest volume) + and 255 (highest volume). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        252. 0: Success.
        253. +
        254. < 0: Failure.
        255. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicecollection_getcount.dita b/en-US/dita/RTC/API/api_iaudiodevicecollection_getcount.dita index 9c6dc331e9e..6b990639294 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicecollection_getcount.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicecollection_getcount.dita @@ -1,32 +1,37 @@ - <ph keyref="getCount_IAudioDeviceCollection" /> - Gets the total number of audio playback or audio capture devices. + <ph keyref="getCount_IAudioDeviceCollection"/> + Gets the total number of audio playback or audio + capture devices. - +

          - - - virtual int getCount() = 0; - - - -

          + + + virtual int getCount() = 0; + + + + +

          -

          If you call before this method, the SDK returns the number of audio playback devices. If you call before this method, the SDK returns the number of audio capture devices.

          +

          If you call before this method, the SDK + returns the number of audio playback devices. If you call before this method, the SDK returns the + number of audio capture devices.

          Returns

          The number of audio playback or audio capture devices.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicecollection_getdefaultdevice.dita b/en-US/dita/RTC/API/api_iaudiodevicecollection_getdefaultdevice.dita index faf9777f6bf..d7878caa478 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicecollection_getdefaultdevice.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicecollection_getdefaultdevice.dita @@ -1,41 +1,47 @@ - <ph keyref="getDefaultDevice_IAudioDeviceCollection" /> - Gets the default audio device of the system. + <ph keyref="getDefaultDevice_IAudioDeviceCollection"/> + Gets the default audio device of the + system. - +

          - - virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - -

          + + virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + + + +

          - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - deviceName - The name of the system default audio device. The maximum length is . - - - deviceId - The device ID of the the system default audio device. The maximum length is . - -
          + + deviceName + The name of the system default audio device. The maximum length is . + + + deviceId + The device ID of the the system default audio device. The maximum length is + . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        256. 0: Success.
        257. +
        258. < 0: Failure.
        259. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicecollection_getdevice.dita b/en-US/dita/RTC/API/api_iaudiodevicecollection_getdevice.dita index 44268f1d144..1a2a1111269 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicecollection_getdevice.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicecollection_getdevice.dita @@ -1,47 +1,55 @@ - <ph keyref="getDevice_IAudioDeviceCollection" /> - Gets the information of a specified audio device. + <ph keyref="getDevice_IAudioDeviceCollection"/> + Gets the information of a specified audio + device. - +

          - - - virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - public abstract string GetDevice(); - -

          + + + virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + + public abstract string GetDevice(); + + +

          Parameters - - index - An input parameter. The index of the device. - - - deviceName - An output parameter. The device name. The maximum length is . - - - deviceId - An output parameter. The device ID. The maximum length is . - -
          + + index + An input parameter. The index of the device. + + + deviceName + An output parameter. The device name. The maximum length is . + + + deviceId + An output parameter. The device ID. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        260. 0: Success.
        261. +
        262. < 0: Failure.
        263. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicecollection_isapplicationmute.dita b/en-US/dita/RTC/API/api_iaudiodevicecollection_isapplicationmute.dita index 8c18d28fde3..89485865913 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicecollection_isapplicationmute.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicecollection_isapplicationmute.dita @@ -1,46 +1,51 @@ - <ph keyref="isApplicationMute" /> - Gets the mute state of the application. + <ph keyref="isApplicationMute"/> + Gets the mute state of the + application. - +

          - - - virtual int isApplicationMute(bool &mute) = 0; + + + virtual int isApplicationMute(bool &mute) = 0; - - - -

          + + + + +

          Parameters - - mute - -

          Whether the application is currently muted: -

            -
          • : The application is muted.
          • -
          • : The application is not muted.
          • -

          -
          -
          -
          + + mute + +

          Whether the application is currently muted:

            +
          • : The application is + muted.
          • +
          • : The application is not + muted.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        264. 0: Success.
        265. +
        266. < 0: Failure.
        267. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicecollection_release.dita b/en-US/dita/RTC/API/api_iaudiodevicecollection_release.dita index 892c3f1ff53..4cf121bf580 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicecollection_release.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicecollection_release.dita @@ -1,25 +1,27 @@ - <ph keyref="release_IAudioDeviceCollection" /> - Releases all IAudioDeviceCollection resources. + <ph keyref="release_IAudioDeviceCollection"/> + Releases all IAudioDeviceCollection + resources. - +

          - - - virtual void release() = 0; - - - -

          + + + virtual void release() = 0; + + + + +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicecollection_setapplicationmute.dita b/en-US/dita/RTC/API/api_iaudiodevicecollection_setapplicationmute.dita index 80ce5474574..40cc779eae6 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicecollection_setapplicationmute.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicecollection_setapplicationmute.dita @@ -1,43 +1,45 @@ - <ph keyref="setApplicationMute" /> + <ph keyref="setApplicationMute"/> Mutes/Unmutes the application. - +

          - - - virtual int setApplicationMute(bool mute) = 0; - - - -

          + + + virtual int setApplicationMute(bool mute) = 0; + + + + +

          Parameters - - mute - Sets whether to mute/unmute the application: -
            -
          • : Mute the application.
          • -
          • : Unmute the application.
          • -
          -
          -
          + + mute + Sets whether to mute/unmute the application:
            +
          • : Mute the application.
          • +
          • : Unmute the application.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        268. 0: Success.
        269. +
        270. < 0: Failure.
        271. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicecollection_setapplicationvolume.dita b/en-US/dita/RTC/API/api_iaudiodevicecollection_setapplicationvolume.dita index f5ace6e1df9..c3f04753990 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicecollection_setapplicationvolume.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicecollection_setapplicationvolume.dita @@ -1,40 +1,44 @@ - <ph keyref="setApplicationVolume" /> + <ph keyref="setApplicationVolume"/> Sets the application volume. - +

          - - - virtual int setApplicationVolume(int volume) = 0; + + + virtual int setApplicationVolume(int volume) = 0; - - - -

          + + + + +

          Parameters - - volume - The volume of the application. The value ranges between 0 (lowest volume) and 255 (highest volume). - -
          + + volume + The volume of the application. The value ranges between 0 (lowest volume) + and 255 (highest volume). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        272. 0: Success.
        273. +
        274. < 0: Failure.
        275. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicecollection_setdevice.dita b/en-US/dita/RTC/API/api_iaudiodevicecollection_setdevice.dita index 710a29320aa..689d2d380a4 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicecollection_setdevice.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicecollection_setdevice.dita @@ -1,39 +1,44 @@ - <ph keyref="setDevice_IAudioDeviceCollection" /> + <ph keyref="setDevice_IAudioDeviceCollection"/> Specifies an audio device. - +

          - - - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - public abstract int SetDevice(string deviceIdUTF8); - -

          + + + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + + public abstract int SetDevice(string deviceIdUTF8); + + +

          Parameters - - deviceId - The device ID. The maximum length is . - -
          + + deviceId + The device ID. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        276. 0: Success.
        277. +
        278. < 0: Failure.
        279. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita index d6d2d10f532..4b6d2adceb1 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_enumerateplaybackdevices.dita @@ -1,39 +1,49 @@ - <ph keyref="enumeratePlaybackDevices" /> + <ph keyref="enumeratePlaybackDevices"/> Enumerates the audio playback devices. - +

          - public abstract DeviceInfo[] EnumeratePlaybackDevices();

          + public abstract DeviceInfo[] EnumeratePlaybackDevices(); +

          - - - virtual IAudioDeviceCollection* enumeratePlaybackDevices() = 0; - public abstract DeviceInfo[] EnumeratePlaybackDevices(); - getAudioPlaybackDevices(): Array<{ deviceid: string, devicename: string }> - - Future<List<MediaDeviceInfo>> enumerateAudioPlaybackDevices()

          + + + virtual IAudioDeviceCollection* enumeratePlaybackDevices() = 0; + public abstract DeviceInfo[] EnumeratePlaybackDevices(); + getAudioPlaybackDevices(): Array<{ deviceid: string, devicename: string }> + + Future<List<MediaDeviceInfo>> enumerateAudioPlaybackDevices() +

          -

          This method returns an object that includes all audio playback devices in the system. With the IAudioDeviceCollection object, the application can enumerate the audio playback devices. The application must call the method to release the returned object after using it.

          +

          This method returns an + object that includes all audio playback devices in the system. With the + IAudioDeviceCollection object, the application can enumerate + the audio playback devices. The application must call the method to release the returned object + after using it.

          Returns
            -
          • Success: Returns an object that includes all audio playback devices in the system.
          • -
          • Success: Returns a array that contains the device ID and device name of all the audio plauback devices.
          • -
          • Success: Returns a list that contains - the device ID and device name of all the audio playback devices.
          • -
          • Failure: .
          • -
          +
        280. Success: Returns an + object that includes all audio playback devices in the system.
        281. +
        282. Success: Returns a array that contains + the device ID and device name of all the audio plauback devices.
        283. +
        284. Success: Returns a list that + contains the device ID and device name of all the audio playback devices.
        285. +
        286. Failure: .
        287. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita index 4a34a3de9d6..cfc7ec17adc 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_enumeraterecordingdevices.dita @@ -1,38 +1,49 @@ - <ph keyref="enumerateRecordingDevices" /> + <ph keyref="enumerateRecordingDevices"/> Enumerates the audio capture devices. - +

          - abstract DeviceInfo[] EnumerateRecordingDevices();

          + abstract DeviceInfo[] EnumerateRecordingDevices(); +

          - - - virtual IAudioDeviceCollection* enumerateRecordingDevices() = 0; - public abstract DeviceInfo[] EnumerateRecordingDevices(); - getAudioRecordingDevices(): Array<{ deviceid: string, devicename: string }> - - Future<List<MediaDeviceInfo>> enumerateAudioRecordingDevices()

          + + + virtual IAudioDeviceCollection* enumerateRecordingDevices() = 0; + public abstract DeviceInfo[] EnumerateRecordingDevices(); + getAudioRecordingDevices(): Array<{ deviceid: string, devicename: string }> + + Future<List<MediaDeviceInfo>> enumerateAudioRecordingDevices() +

          -

          This method returns an object that includes all audio capture devices in the system. With the IAudioDeviceCollection object, the application can enumerate the audio capture devices. The application must call the method to release the returned object after using it.

          +

          This method returns an + object that includes all audio capture devices in the system. With the + IAudioDeviceCollection object, the application can enumerate + the audio capture devices. The application must call the method to release the returned object + after using it.

          Returns
            -
          • Success: An object including all audio capture devices.
          • -
          • Success: Returns a array that contains the device ID and device name of all the audio recording devices.
          • -
          • Success: Returns a list that contains the device ID and device name of all the audio recording devices.
          • -
          • Failure: .
          • -
          +
        288. Success: An object + including all audio capture devices.
        289. +
        290. Success: Returns a array that contains + the device ID and device name of all the audio recording devices.
        291. +
        292. Success: Returns a list that + contains the device ID and device name of all the audio recording devices.
        293. +
        294. Failure: .
        295. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita index c27877a6d77..0b28208c50b 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_followsystemplaybackdevice.dita @@ -1,44 +1,49 @@ - <ph keyref="followSystemPlaybackDevice" /> - Sets the audio playback device used by the SDK to follow the system default audio playback device. + <ph keyref="followSystemPlaybackDevice"/> + Sets the audio playback device used by the SDK to + follow the system default audio playback device. - +

          - - virtual int followSystemPlaybackDevice(bool enable) = 0; - setAudioRecordingDevice(deviceId: string): number - public abstract int FollowSystemPlaybackDevice(bool enable); - Future<void> followSystemPlaybackDevice(bool enable);

          + + virtual int followSystemPlaybackDevice(bool enable) = 0; + setAudioRecordingDevice(deviceId: string): number + public abstract int FollowSystemPlaybackDevice(bool enable); + Future<void> followSystemPlaybackDevice(bool enable); +

          - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> - - enable - Whether to follow the system default audio playback device: - - - -
            -
          • : Follow. The SDK immediately switches the audio playback device when the system default audio playback device changes.
          • -
          • : Do not follow. The SDK switches the audio playback device to the system default audio playback device only when the currently used audio playback device is disconnected.
          • -
          -
          -
          + + enable + Whether to follow the system default audio playback device:
            +
          • : Follow. The SDK immediately switches the audio + playback device when the system default audio playback device + changes.
          • +
          • : Do not follow. The SDK switches the audio + playback device to the system default audio playback device only + when the currently used audio playback device is disconnected.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        296. 0: Success.
        297. +
        298. < 0: Failure.
        299. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita index 1f1ffa467fa..03c72833576 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_followsystemrecordingdevice.dita @@ -1,43 +1,48 @@ - <ph keyref="followSystemRecordingDevice" /> - Sets the audio recording device used by the SDK to follow the system default audio recording device. + <ph keyref="followSystemRecordingDevice"/> + Sets the audio recording device used by the SDK to + follow the system default audio recording device. - +

          - - virtual int followSystemRecordingDevice(bool enable) = 0; - setAudioRecordingDevice(deviceId: string): number - public abstract int FollowSystemRecordingDevice(bool enable); - - Future<void> followSystemRecordingDevice(bool enable);

          + + virtual int followSystemRecordingDevice(bool enable) = 0; + setAudioRecordingDevice(deviceId: string): number + public abstract int FollowSystemRecordingDevice(bool enable); + + Future<void> followSystemRecordingDevice(bool enable); +

          -
          +
          - - enable - Whether to follow the system default audio recording device: - - -
            -
          • : Follow. The SDK immediately switches the audio recording device when the system default audio recording device changes.
          • -
          • : Do not follow. The SDK switches the audio recording device to the system default audio recording device only when the currently used audio recording device is disconnected.
          • -
          -
          + + enable + Whether to follow the system default audio recording device:
            +
          • : Follow. The SDK immediately switches the audio + recording device when the system default audio recording device + changes.
          • +
          • : Do not follow. The SDK switches the audio + recording device to the system default audio recording device only + when the currently used audio recording device is disconnected.
          • +
          +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        300. 0: Success.
        301. +
        302. < 0: Failure.
        303. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevice.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevice.dita index 8dc204ea43a..fb0e354f3dc 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevice.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevice.dita @@ -1,42 +1,48 @@ - <ph keyref="getPlaybackDevice" /> - Retrieves the audio playback device associated with the device ID. + <ph keyref="getPlaybackDevice"/> + Retrieves the audio playback device associated with the + device ID. - +

          - - - virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - getCurrentAudioPlaybackDevice(): Device - public abstract string GetPlaybackDevice(); - - Future<String?> getAudioPlaybackDevice()

          + + + virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + getCurrentAudioPlaybackDevice(): Device + public abstract string GetPlaybackDevice(); + + Future<String?> getAudioPlaybackDevice() +

          Parameters - - deviceId - Output parameter. The device ID of the audio playback device. The maximum length is . - -
          + + deviceId + Output parameter. The device ID of the audio playback device. The maximum + length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
          -

          The audio playback device. See .

          +

          The audio playback device. See .

          The current audio playback device.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita index 7b09c4610b1..1d1927b7a98 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdeviceinfo.dita @@ -1,46 +1,55 @@ - <ph keyref="getPlaybackDeviceInfo" /> - Retrieves the audio playback device information associated with the device ID and device name. + <ph keyref="getPlaybackDeviceInfo"/> + Retrieves the audio playback device information + associated with the device ID and device name. - +

          - - - virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; - getPlaybackDeviceInfo(): Array<{ deviceid: string, devicename: string }> - public abstract DeviceInfo GetPlaybackDeviceInfo(); - - Future<MediaDeviceInfo?> getAudioPlaybackDeviceInfo()

          + + + virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; + getPlaybackDeviceInfo(): Array<{ deviceid: string, devicename: string }> + public abstract DeviceInfo GetPlaybackDeviceInfo(); + + Future<MediaDeviceInfo?> getAudioPlaybackDeviceInfo() +

          Parameters - - deviceId - The device ID of the playback device. The maximum length is . - - - deviceName - The device name of the playback device. The maximum length is . - -
          + + deviceId + The device ID of the playback device. The maximum length is . + + + deviceName + The device name of the playback device. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
          -

          The information of the audio playback device, which includes the device ID and the device name.

          -

          A class, which includes the device ID and the device name.

          +

          The information of the audio playback device, which includes the device ID + and the device name.

          +

          A class, which includes the device + ID and the device name.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicemute.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicemute.dita index 1950adb4749..c443167bcae 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicemute.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicemute.dita @@ -1,49 +1,55 @@ - <ph keyref="getPlaybackDeviceMute" /> - Retrieves whether the audio playback device is muted. + <ph keyref="getPlaybackDeviceMute"/> + Retrieves whether the audio playback device is + muted. - +

          - - - virtual int getPlaybackDeviceMute(bool *mute) = 0; - getAudioPlaybackDeviceMute(): boolean - public abstract bool GetPlaybackDeviceMute(); - - Future<bool?> getAudioPlaybackDeviceMute()

          + + + virtual int getPlaybackDeviceMute(bool *mute) = 0; + getAudioPlaybackDeviceMute(): boolean + public abstract bool GetPlaybackDeviceMute(); + + Future<bool?> getAudioPlaybackDeviceMute() +

          Parameters - - mute - -

          Whether the audio playback device is muted. -

            -
          • : The audio playback device is muted.
          • -
          • : The audio playback device is unmuted.
          • -

          -
          -
          -
          + + mute + +

          Whether the audio playback device is muted.

            +
          • : The audio playback device + is muted.
          • +
          • : The audio playback device + is unmuted.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
            -
          • : The audio playback device is muted.
          • -
          • : The audio playback device is unmuted.
          • -
          +
        304. : The audio playback device is muted.
        305. +
        306. : The audio playback device is + unmuted.
        307. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita index 29529f0ca80..1b7acc9e86f 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_getplaybackdevicevolume.dita @@ -1,41 +1,46 @@ - <ph keyref="getPlaybackDeviceVolume" /> - Retrieves the volume of the audio playback device. + <ph keyref="getPlaybackDeviceVolume"/> + Retrieves the volume of the audio playback + device. - +

          - - - virtual int getPlaybackDeviceVolume(int *volume) = 0; - getAudioPlaybackVolume(): number - public abstract int GetPlaybackDeviceVolume(); - - Future<int?> getAudioPlaybackDeviceVolume()

          + + + virtual int getPlaybackDeviceVolume(int *volume) = 0; + getAudioPlaybackVolume(): number + public abstract int GetPlaybackDeviceVolume(); + + Future<int?> getAudioPlaybackDeviceVolume() +

          Parameters - - volume - Output parameter. The volume of the audio playback device. The value ranges between 0 (lowest volume) and 255 (highest volume). - -
          + + volume + Output parameter. The volume of the audio playback device. The value ranges + between 0 (lowest volume) and 255 (highest volume). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
          -

          The volume of the audio playback device. The value ranges between 0 (lowest volume) and 255 (highest volume).

          +

          The volume of the audio playback device. The value ranges + between 0 (lowest volume) and 255 (highest volume).

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevice.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevice.dita index fc0234fbf91..dce478f5f98 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevice.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevice.dita @@ -1,42 +1,48 @@ - <ph keyref="getRecordingDevice" /> - Gets the current audio recording device. + <ph keyref="getRecordingDevice"/> + Gets the current audio recording + device. - +

          - - - virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - getCurrentAudioRecordingDevice(): Device - public abstract string GetRecordingDevice(); - - Future<String?> getAudioRecordingDevice()

          + + + virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + getCurrentAudioRecordingDevice(): Device + public abstract string GetRecordingDevice(); + + Future<String?> getAudioRecordingDevice() +

          Parameters - - deviceId - Output parameter. The device ID of the recording device. The maximum length is . - -
          + + deviceId + Output parameter. The device ID of the recording device. The maximum length + is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
          -

          The audio recording device. See .

          +

          The audio recording device. See .

          The current audio recording device.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita index 39508ae1590..9f331ca0540 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdeviceinfo.dita @@ -1,46 +1,55 @@ - <ph keyref="getRecordingDeviceInfo" /> - Retrieves the audio capture device information associated with the device ID and device name. + <ph keyref="getRecordingDeviceInfo"/> + Retrieves the audio capture device information + associated with the device ID and device name. - +

          - - - virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; - getRecordingDeviceInfo(): Array<{ deviceid: string, devicename: string }> - public abstract DeviceInfo GetRecordingDeviceInfo(); - - Future<MediaDeviceInfo?> getAudioRecordingDeviceInfo()

          + + + virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0; + getRecordingDeviceInfo(): Array<{ deviceid: string, devicename: string }> + public abstract DeviceInfo GetRecordingDeviceInfo(); + + Future<MediaDeviceInfo?> getAudioRecordingDeviceInfo() +

          Parameters - - deviceId - The device ID of the audio capture device. The maximum length is . - - - deviceName - The name of the audio capture device. The maximum length is . - -
          + + deviceId + The device ID of the audio capture device. The maximum length is . + + + deviceName + The name of the audio capture device. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
          -

          A DeviceInfo array that contains the device ID and device name of all the audio recording devices.

          -

          A class that contains the device ID and device name of all the audio recording devices.

          +

          A DeviceInfo array that contains the device ID and device name of all the + audio recording devices.

          +

          A class that contains the device ID + and device name of all the audio recording devices.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicemute.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicemute.dita index a560e2ee3d6..12237d2bd96 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicemute.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicemute.dita @@ -1,47 +1,50 @@ - <ph keyref="getRecordingDeviceMute" /> + <ph keyref="getRecordingDeviceMute"/> Gets the microphone's mute status. - +

          - - - virtual int getRecordingDeviceMute(bool *mute) = 0; - getAudioRecordingDeviceMute(): boolean - public abstract bool GetRecordingDeviceMute(); - - Future<bool?> getAudioRecordingDeviceMute()

          + + + virtual int getRecordingDeviceMute(bool *mute) = 0; + getAudioRecordingDeviceMute(): boolean + public abstract bool GetRecordingDeviceMute(); + + Future<bool?> getAudioRecordingDeviceMute() +

          Parameters - - mute - Whether the microphone is muted. -
            -
          • : The microphone is muted.
          • -
          • : The microphone is unmuted.
          • -
          -
          -
          + + mute + Whether the microphone is muted.
            +
          • : The microphone is muted.
          • +
          • : The microphone is + unmuted.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
            -
          • : The microphone is muted.
          • -
          • : The microphone is unmuted.
          • -
          +
        308. : The microphone is muted.
        309. +
        310. : The microphone is unmuted.
        311. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita index 044aa5c2a6e..50ee1aaf483 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_getrecordingdevicevolume.dita @@ -1,41 +1,46 @@ - <ph keyref="getRecordingDeviceVolume" /> - Retrieves the volume of the audio recording device. + <ph keyref="getRecordingDeviceVolume"/> + Retrieves the volume of the audio recording + device. - +

          - - - virtual int getRecordingDeviceVolume(int *volume) = 0; - getAudioRecordingVolume(): number - public abstract int GetRecordingDeviceVolume(); - - Future<int?> getAudioRecordingDeviceVolume()

          + + + virtual int getRecordingDeviceVolume(int *volume) = 0; + getAudioRecordingVolume(): number + public abstract int GetRecordingDeviceVolume(); + + Future<int?> getAudioRecordingDeviceVolume() +

          Parameters - - volume - The volume of the audio recording device. The value ranges between 0 (lowest volume) and 255 (highest volume). - -
          + + volume + The volume of the audio recording device. The value ranges between 0 (lowest + volume) and 255 (highest volume). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
          -

          The volume of the audio recording device. The value ranges between 0 (lowest volume) and 255 (highest volume).

          +

          The volume of the audio recording device. The value + ranges between 0 (lowest volume) and 255 (highest volume).

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_release.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_release.dita index 2769d89cae1..69e26507482 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_release.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_release.dita @@ -1,25 +1,27 @@ - <ph keyref="release_IAudioDeviceManager" /> - Releases all the resources occupied by the object. + <ph keyref="release_IAudioDeviceManager"/> + Releases all the resources occupied by the object. - +

          - - - virtual void release() = 0; - - - -

          + + + virtual void release() = 0; + + + + +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevice.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevice.dita index 291ca20ab09..8640ad575ca 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevice.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevice.dita @@ -1,42 +1,49 @@ - <ph keyref="setPlaybackDevice" /> + <ph keyref="setPlaybackDevice"/> Sets the audio playback device. - +

          - - - virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - setAudioPlaybackDevice(deviceId: string): number - public abstract int SetPlaybackDevice(string deviceId); - - Future<void> setAudioPlaybackDevice(String deviceId)

          + + + virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + setAudioPlaybackDevice(deviceId: string): number + public abstract int SetPlaybackDevice(string deviceId); + + Future<void> setAudioPlaybackDevice(String deviceId) +

          Parameters - - deviceId - -

          The ID of the audio playback device. You can get the device ID by calling . Plugging or unplugging the audio device does not change the device ID.

          -

          The maximum length is .

          -
          -
          -
          + + deviceId + +

          The ID of the audio playback device. You can get the device ID by calling + . Plugging or unplugging + the audio device does not change the device ID.

          +

          The maximum length is .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        312. 0: Success.
        313. +
        314. < 0: Failure.
        315. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicemute.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicemute.dita index a49c2dab50c..cdaf7f5be43 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicemute.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicemute.dita @@ -1,45 +1,49 @@ - <ph keyref="setPlaybackDeviceMute" /> + <ph keyref="setPlaybackDeviceMute"/> Mutes the audio playback device. - +

          - - - virtual int setPlaybackDeviceMute(bool mute) = 0; - setAudioPlaybackDeviceMute(mute: boolean): number - public abstract int SetPlaybackDeviceMute(bool mute); - - Future<void> setAudioPlaybackDeviceMute(bool mute)

          + + + virtual int setPlaybackDeviceMute(bool mute) = 0; + setAudioPlaybackDeviceMute(mute: boolean): number + public abstract int SetPlaybackDeviceMute(bool mute); + + Future<void> setAudioPlaybackDeviceMute(bool mute) +

          Parameters - - mute - -

          Whether to mute the audio playback device: -

            -
          • : Mute the audio playback device.
          • -
          • : Unmute the audio playback device.
          • -

          -
          -
          -
          + + mute + +

          Whether to mute the audio playback device:

            +
          • : Mute the audio playback + device.
          • +
          • : Unmute the audio playback + device.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        316. 0: Success.
        317. +
        318. < 0: Failure.
        319. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita index 5e54446e04a..4c596ae941d 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_setplaybackdevicevolume.dita @@ -1,39 +1,44 @@ - <ph keyref="setPlaybackDeviceVolume" /> - Sets the volume of the audio playback device. + <ph keyref="setPlaybackDeviceVolume"/> + Sets the volume of the audio playback + device. - +

          - - - virtual int setPlaybackDeviceVolume(int volume) = 0; - setAudioPlaybackVolume(volume: number): number - public abstract int SetPlaybackDeviceVolume(int volume); - - Future<void> setAudioPlaybackDeviceVolume(int volume)

          + + + virtual int setPlaybackDeviceVolume(int volume) = 0; + setAudioPlaybackVolume(volume: number): number + public abstract int SetPlaybackDeviceVolume(int volume); + + Future<void> setAudioPlaybackDeviceVolume(int volume) +

          Parameters - - volume - The volume of the audio playback device. The value ranges between 0 (lowest volume) and 255 (highest volume). - -
          + + volume + The volume of the audio playback device. The value ranges between 0 (lowest + volume) and 255 (highest volume). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        320. 0: Success.
        321. +
        322. < 0: Failure.
        323. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevice.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevice.dita index fc06de9a3e3..940c4d2e0b5 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevice.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevice.dita @@ -1,42 +1,49 @@ - <ph keyref="setRecordingDevice" /> + <ph keyref="setRecordingDevice"/> Sets the audio capture device. - +

          - - - virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - setAudioRecordingDevice(deviceId: string): number - public abstract int SetRecordingDevice(string deviceId); - - Future<void> setAudioRecordingDevice(String deviceId)

          + + + virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + setAudioRecordingDevice(deviceId: string): number + public abstract int SetRecordingDevice(string deviceId); + + Future<void> setAudioRecordingDevice(String deviceId) +

          Parameters - - deviceId - -

          The ID of the audio capture device. You can get the device ID by calling . Plugging or unplugging the audio device does not change the device ID.

          -

          The maximum length is .

          -
          -
          -
          + + deviceId + +

          The ID of the audio capture device. You can get the device ID by calling + . Plugging or unplugging + the audio device does not change the device ID.

          +

          The maximum length is .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        324. 0: Success.
        325. +
        326. < 0: Failure.
        327. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicemute.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicemute.dita index e22f6f6026f..b47c90152d3 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicemute.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicemute.dita @@ -1,45 +1,50 @@ - <ph keyref="setRecordingDeviceMute" /> - Sets the mute status of the audio capture device. + <ph keyref="setRecordingDeviceMute"/> + Sets the mute status of the audio capture + device. - +

          - - - virtual int setRecordingDeviceMute(bool mute) = 0; - setAudioRecordingDeviceMute(mute: boolean): number - public abstract int SetRecordingDeviceMute(bool mute); - - Future<void> setAudioRecordingDeviceMute(bool mute)

          + + + virtual int setRecordingDeviceMute(bool mute) = 0; + setAudioRecordingDeviceMute(mute: boolean): number + public abstract int SetRecordingDeviceMute(bool mute); + + Future<void> setAudioRecordingDeviceMute(bool mute) +

          Parameters - - mute - -

          Whether to mute the audio capture device: -

            -
          • : Mute the audio capture device.
          • -
          • : Unmute the audio capture device.
          • -

          -
          -
          -
          + + mute + +

          Whether to mute the audio capture device:

            +
          • : Mute the audio capture + device.
          • +
          • : Unmute the audio capture + device.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        328. 0: Success.
        329. +
        330. < 0: Failure.
        331. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita index 88d6872aaad..92c68bf22c3 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_setrecordingdevicevolume.dita @@ -1,39 +1,44 @@ - <ph keyref="setRecordingDeviceVolume" /> - Sets the volume of the audio capture device. + <ph keyref="setRecordingDeviceVolume"/> + Sets the volume of the audio capture + device. - +

          - - - virtual int setRecordingDeviceVolume(int volume) = 0; - setAudioRecordingVolume(volume: number): number - public abstract int SetRecordingDeviceVolume(int volume); - - Future<void> setAudioRecordingDeviceVolume(int volume)

          + + + virtual int setRecordingDeviceVolume(int volume) = 0; + setAudioRecordingVolume(volume: number): number + public abstract int SetRecordingDeviceVolume(int volume); + + Future<void> setAudioRecordingDeviceVolume(int volume) +

          Parameters - - volume - The volume of the audio recording device. The value ranges between 0 (lowest volume) and 255 (highest volume). - -
          + + volume + The volume of the audio recording device. The value ranges between 0 (lowest + volume) and 255 (highest volume). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        332. 0: Success.
        333. +
        334. < 0: Failure.
        335. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita index d1daff98afc..364dd7642df 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_startaudiodeviceloopbacktest.dita @@ -1,74 +1,117 @@ - <ph keyref="startAudioDeviceLoopbackTest" /> + <ph keyref="startAudioDeviceLoopbackTest"/> Starts an audio device loopback test. - +

          - -(int)startAudioDeviceLoopbackTest:(int)indicationInterval; - virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0; - startAudioDeviceLoopbackTest(indicationInterval: number): number - public abstract int StartAudioDeviceLoopbackTest(int indicationInterval); - Future<void> startAudioDeviceLoopbackTest(int indicationInterval)

          + -(int)startAudioDeviceLoopbackTest:(int)indicationInterval; + virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0; + startAudioDeviceLoopbackTest(indicationInterval: number): number + public abstract int StartAudioDeviceLoopbackTest(int indicationInterval); + Future<void> startAudioDeviceLoopbackTest(int indicationInterval) +

          -

          This method tests whether the local audio capture device and playback device are working properly. After starting the test, the audio capture device records the local audio, and the audio playback device plays the captured audio. The SDK triggers two independent callbacks at the time interval set in this method, which reports the volume information of the capture device (uid = 0) and the volume information of the playback device (uid = 1) respectively.

          +

          This method tests whether the local audio capture device and playback device are + working properly. After starting the test, the audio capture device records the + local audio, and the audio playback device plays the captured audio. The SDK + triggers two independent callbacks at the + time interval set in this method, which reports the volume information of the + capture device (uid = 0) and the volume information of the + playback device (uid = 1) respectively.

          -
            -
          • Ensure that you call this method before joining a channel.
          • -
          • This method tests local audio devices and does not report the network conditions.
          • -
          -
          -

          This method tests whether the local audio capturing device and playback device work properly. After calling this method, the audio capturing device samples the local audio, and then the audio playback device plays the sampled audio.

          -

          As of v3.6.2, you can call this method either before or after joining a channel. Depending on the call sequence, the SDK triggers the following callbacks at the set time interval to report the volume of the audio capturing and playback devices: - -

            -
          • Two callbacks and two callbacks when you call this method before joining the channel, with the following values: -
              -
            • uid = 0 and volume in one callback; uid = 1 and volume in the other callback.
            • -
            • volumeType = (0) and volume in one callback; volumeType = (1) and volume in the other callback.
            • -
            The and callbacks report the same volume information. Agora recommends using .
          • -
          • Two callbacks when you call this method after joining a channel, with the following values: - -
              -
            • volumeType = (0) and volume in one callback;
            • -
            • volumeType = (1) and volume in the other one.
            • -
          • -

          +
        336. Ensure that you call this method before joining a channel.
        337. +
        338. This method tests local audio devices and does not report the network + conditions.
        339. + + +
          +
          +

          This method tests whether the local audio capturing device and playback device work + properly. After calling this method, the audio capturing device samples the local + audio, and then the audio playback device plays the sampled audio.

          +

          As of v3.6.2, you can call this method either before or after joining a channel. + Depending on the call sequence, the SDK triggers the following callbacks at the set + time interval to report the volume of the audio capturing and playback devices:

            +
          • Two callbacks and two callbacks when you call + this method before joining the channel, with the following values:
              +
            • uid = 0 and volume in one callback; uid = + 1 and volume in the other callback.
            • +
            • volumeType = (0) and volume in one callback; + volumeType = (1) and volume in the other callback.
            • +
            The and callbacks report the same + volume information. Agora recommends using .
          • +
          • Two callbacks when you + call this method after joining a channel, with the following values:
              +
            • volumeType = (0) and volume in one callback;
            • +
            • volumeType = (1) and volume in the other + one.
            • +
          • +

          -
            -
          • When you call this method after joining a channel, ensure the audio capturing device is on ( is set as true); otherwise, the method call fails, and the SDK triggers the callback with ERR_ADM_START_RECORDING(1012).
          • -
          • Calling this method after joining a channel tests the audio capturing device that the SDK is using.
          • -
          • This method tests local audio devices and does not report the network conditions.
          • -
          • After calling startRecordingDeviceTest, you must call to stop the test.
          • -
          +
            +
          • When you call this method after joining a channel, ensure the audio + capturing device is on ( is set as + true); otherwise, the method call fails, and the SDK + triggers the callback with + ERR_ADM_START_RECORDING(1012).
          • +
          • Calling this method after joining a channel tests the audio capturing device + that the SDK is using.
          • +
          • This method tests local audio devices and does not report the network + conditions.
          • +
          • After calling startRecordingDeviceTest, you must call + to stop the test.
          • +
          + +
          Parameters - - indicationInterval - -

          The time interval (ms) at which the SDK triggers the callback. Agora recommends a setting greater than 200 ms. This value must not be less than 10 ms; otherwise, you can not receive the callback.

          -
          - -

          The time interval (ms) at which the SDK triggers the or callback. Agora recommends a setting greater than 200 ms. This value must not be less than 10 ms; otherwise, you can not receive these callbacks.

          -
          -
          -
          + + indicationInterval + +

          The time interval (ms) at which the SDK triggers the callback. Agora recommends a + setting greater than 200 ms. This value must not be less than 10 ms; + otherwise, you can not receive the callback.

          +
          + +

          The time interval (ms) at which the SDK triggers the or callback. Agora + recommends a setting greater than 200 ms. This value must not be less + than 10 ms; otherwise, you can not receive these callbacks.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        340. 0: Success.
        341. +
        342. < 0: Failure.
        343. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_startplaybackdevicetest.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_startplaybackdevicetest.dita index f0912020fa8..29a3e315db5 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_startplaybackdevicetest.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_startplaybackdevicetest.dita @@ -1,66 +1,85 @@ - <ph keyref="startPlaybackDeviceTest" /> + <ph keyref="startPlaybackDeviceTest"/> Starts the audio playback device test. - +

          - - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName; - virtual int startPlaybackDeviceTest(const char* testAudioFilePath) = 0; - startAudioPlaybackDeviceTest(testAudioFilePath: string): number - public abstract int StartPlaybackDeviceTest(string testAudioFilePath); - Future<void> startAudioPlaybackDeviceTest(String testAudioFilePath)

          + - (int)startPlaybackDeviceTest:(NSString * _Nonnull)audioFileName; + virtual int startPlaybackDeviceTest(const char* testAudioFilePath) = 0; + startAudioPlaybackDeviceTest(testAudioFilePath: string): number + public abstract int StartPlaybackDeviceTest(string testAudioFilePath); + Future<void> startAudioPlaybackDeviceTest(String testAudioFilePath) +

          -

          This method tests whether the audio playback device works properly. Once a user starts the test, the SDK plays an audio file specified by the user. If the user can hear the audio, the playback device works properly.

          -

          After calling this method, the SDK triggers the callback every 100 ms, reporting uid = 1 and the volume information of the playback device.

          - Ensure that you call this method before joining a channel.
          +

          This method tests whether the audio playback device works properly. Once a user + starts the test, the SDK plays an audio file specified by the user. If the user can + hear the audio, the playback device works properly.

          +

          After calling this method, the SDK triggers the callback every 100 ms, reporting + uid = 1 and the volume information of the playback + device.

          + Ensure that you call this method before joining a channel. +
          -

          This method tests whether the audio playback device works properly. Once a user starts the test, the SDK plays an audio file specified by the user. If the user can hear the audio, the playback device works properly.

          -

          As of v3.6.2, you can call this method either before or after joining a channel. Depending on the call sequence, the SDK triggers the following callbacks every 100 ms to report the volume of the audio playback device: - - - -

            -
          • and when you call this method before joining the channel, with the following values: - - - -
              -
            • uid = 1 and volume in .
            • -
            • volumeType = AudioTestPlaybackVolume(1) and volume in .
            • -
            The two callbacks report the same volume information. Agora recommends using .
          • -
          • when you call this method after joining a channel, which reports volumeType = (1) and volume.
          • -

          +

          This method tests whether the audio playback device works properly. Once a user + starts the test, the SDK plays an audio file specified by the user. If the user can + hear the audio, the playback device works properly.

          +

          As of v3.6.2, you can call this method either before or after joining a channel. + Depending on the call sequence, the SDK triggers the following callbacks every 100 + ms to report the volume of the audio playback device:

            +
          • and when you call this method + before joining the channel, with the following values:
              +
            • uid = 1 and volume in .
            • +
            • volumeType = AudioTestPlaybackVolume(1) and + volume in .
            • +
            The two callbacks report the same volume information. Agora recommends + using .
          • +
          • when you call this + method after joining a channel, which reports volumeType = (1) and + volume.
          • +

          -
            -
          • Calling this method after joining a channel tests the audio capturing device that the SDK is using.
          • -
          • After calling startRecordingDeviceTest, you must call to stop the test.
          • -
          +
            +
          • Calling this method after joining a channel tests the audio capturing device + that the SDK is using.
          • +
          • After calling startRecordingDeviceTest, you must call + to stop the test.
          • +
          + +
          Parameters - - testAudioFilePath - audioFileName - -

          The path of the audio file for the audio playback device test in UTF-8.

          -
          -
          -
          + + testAudioFilePath + audioFileName + +

          The path of the audio file for the audio playback device test in UTF-8. +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        344. 0: Success.
        345. +
        346. < 0: Failure.
        347. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_startrecordingdevicetest.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_startrecordingdevicetest.dita index b6dc7c04f58..f416bc637ce 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_startrecordingdevicetest.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_startrecordingdevicetest.dita @@ -1,66 +1,98 @@ - <ph keyref="startRecordingDeviceTest" /> + <ph keyref="startRecordingDeviceTest"/> Starts the audio capture device test. - +

          - virtual int startRecordingDeviceTest(int indication_Interval) = 0;

          + virtual int startRecordingDeviceTest(int indication_Interval) = 0; +

          - virtual int startRecordingDeviceTest(int indicationInterval) = 0;

          + virtual int startRecordingDeviceTest(int indicationInterval) = 0; +

          - - (int)startRecordingDeviceTest:(int)indicationInterval; - startAudioRecordingDeviceTest(indicationInterval: number): number - public abstract int StartRecordingDeviceTest(int indicationInterval); - Future<void> startAudioRecordingDeviceTest(int indicationInterval)

          + - (int)startRecordingDeviceTest:(int)indicationInterval; + startAudioRecordingDeviceTest(indicationInterval: number): number + public abstract int StartRecordingDeviceTest(int indicationInterval); + Future<void> startAudioRecordingDeviceTest(int indicationInterval) +

          -

          This method tests whether the audio capture device works properly. After calling this method, the SDK triggers the callback at the time interval set in this method, which reports uid = 0 and the volume information of the capture device.

          - Ensure that you call this method before joining a channel.
          +

          This method tests whether the audio capture device works properly. After calling this + method, the SDK triggers the callback at + the time interval set in this method, which reports uid = 0 and + the volume information of the capture device.

          + Ensure that you call this method before joining a channel. +

          This method tests whether the audio capturing device works properly.

          -

          As of v3.6.2, you can call this method either before or after joining a channel. Depending on the call sequence, the SDK triggers the following callbacks at the set time interval to report the volume of the audio capturing device: - - -

            -
          • and when you call this method before joining the channel, with the following values: - - -
              -
            • uid = 0 and volume in .
            • -
            • volumeType = (0) and volume in .
            • -
            The two callbacks report the same volume information. Agora recommends using .
          • -
          • when you call this method after joining a channel, which reports volumeType = (0) and volume.
          • -

          +

          As of v3.6.2, you can call this method either before or after joining a channel. + Depending on the call sequence, the SDK triggers the following callbacks at the set + time interval to report the volume of the audio capturing device:

            +
          • and when you call this method + before joining the channel, with the following values:
              +
            • uid = 0 and volume in .
            • +
            • volumeType = (0) and volume in .
            • +
            The two callbacks report the same volume information. Agora recommends + using .
          • +
          • when you call this + method after joining a channel, which reports volumeType = (0) and + volume.
          • +

          -
            -
          • When you call this method after joining a channel, ensure the audio capturing device is on ( is set as true); otherwise, the method call fails, and the SDK triggers the callback with ERR_ADM_START_RECORDING(1012).
          • -
          • Calling this method after joining a channel tests the audio capturing device that the SDK is using.
          • -
          • After calling startRecordingDeviceTest, you must call to stop the test.
          • -
          +
            +
          • When you call this method after joining a channel, ensure the audio + capturing device is on ( is set as + true); otherwise, the method call fails, and the SDK + triggers the callback with + ERR_ADM_START_RECORDING(1012).
          • +
          • Calling this method after joining a channel tests the audio capturing device + that the SDK is using.
          • +
          • After calling startRecordingDeviceTest, you must call + to stop the test.
          • +
          + +
          Parameters - - indicationInterval - indicationIntervalindication_Interval - The time interval (ms) at which the SDK triggers the callback. Agora recommends a setting greater than 200 ms. This value must not be less than 10 ms; otherwise, you can not receive the callback. - The time interval (ms) at which the SDK triggers the or callback. Agora recommends a setting greater than 200 ms. This value must not be less than 10 ms; otherwise, you can not receive the or callback. - -
          + + indicationInterval + indicationIntervalindication_Interval + The time interval (ms) at which the SDK triggers the callback. Agora recommends a setting + greater than 200 ms. This value must not be less than 10 ms; otherwise, you + can not receive the + callback. + The time interval (ms) at which the SDK triggers the or callback. Agora recommends + a setting greater than 200 ms. This value must not be less than 10 ms; + otherwise, you can not receive the or callback. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        348. 0: Success.
        349. +
        350. < 0: Failure.
        351. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita index 91024ca964d..e76bce4934a 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_stopaudiodeviceloopbacktest.dita @@ -1,37 +1,42 @@ - <ph keyref="stopAudioDeviceLoopbackTest" /> + <ph keyref="stopAudioDeviceLoopbackTest"/> Stops the audio device loopback test. - +

          - - -(int)stopAudioDeviceLoopbackTest; - virtual int stopAudioDeviceLoopbackTest() = 0; - stopAudioDeviceLoopbackTest(): number - public abstract int StopAudioDeviceLoopbackTest(); - - Future<void> stopAudioDeviceLoopbackTest()

          + + -(int)stopAudioDeviceLoopbackTest; + virtual int stopAudioDeviceLoopbackTest() = 0; + stopAudioDeviceLoopbackTest(): number + public abstract int StopAudioDeviceLoopbackTest(); + + Future<void> stopAudioDeviceLoopbackTest() +

          -
            -
          • Ensure that you call this method before joining a channel.
          • -
          • Ensure that you call this method to stop the loopback test after calling the method.
          • -
          +
            +
          • Ensure that you call this method before joining a channel.
          • +
          • Ensure that you call this method to stop the loopback test after calling the + method.
          • +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        352. 0: Success.
        353. +
        354. < 0: Failure.
        355. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita index 6442cb8fc66..1a7ff855e40 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_stopplaybackdevicetest.dita @@ -1,34 +1,38 @@ - <ph keyref="stopPlaybackDeviceTest" /> + <ph keyref="stopPlaybackDeviceTest"/> Stops the audio playback device test. - +

          - - - (int)stopPlaybackDeviceTest; - virtual int stopPlaybackDeviceTest() = 0; - stopAudioPlaybackDeviceTest(): number - public abstract int StopPlaybackDeviceTest(); - - Future<void> stopAudioPlaybackDeviceTest()

          + + - (int)stopPlaybackDeviceTest; + virtual int stopPlaybackDeviceTest() = 0; + stopAudioPlaybackDeviceTest(): number + public abstract int StopPlaybackDeviceTest(); + + Future<void> stopAudioPlaybackDeviceTest() +

          -

          This method stops the audio playback device test. You must call this method to stop the test after calling the method.

          - Ensure that you call this method before joining a channel.
          +

          This method stops the audio playback device test. You must call this method to stop + the test after calling the method.

          + Ensure that you call this method before joining a channel. +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        356. 0: Success.
        357. +
        358. < 0: Failure.
        359. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita b/en-US/dita/RTC/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita index 55885309eee..c9832fa9815 100644 --- a/en-US/dita/RTC/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita +++ b/en-US/dita/RTC/API/api_iaudiodevicemanager_stoprecordingdevicetest.dita @@ -1,34 +1,38 @@ - <ph keyref="stopRecordingDeviceTest" /> + <ph keyref="stopRecordingDeviceTest"/> Stops the audio capture device test. - +

          - - - (int)stopRecordingDeviceTest; - virtual int stopRecordingDeviceTest() = 0; - stopAudioRecordingDeviceTest(): number - public abstract int StopRecordingDeviceTest(); - - Future<void> stopAudioRecordingDeviceTest()

          + + - (int)stopRecordingDeviceTest; + virtual int stopRecordingDeviceTest() = 0; + stopAudioRecordingDeviceTest(): number + public abstract int StopRecordingDeviceTest(); + + Future<void> stopAudioRecordingDeviceTest() +

          -

          This method stops the audio capture device test. You must call this method to stop the test after calling the method.

          - Ensure that you call this method before joining a channel.
          +

          This method stops the audio capture device test. You must call this method to stop + the test after calling the method.

          + Ensure that you call this method before joining a channel. +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        360. 0: Success.
        361. +
        362. < 0: Failure.
        363. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita b/en-US/dita/RTC/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita index abed9d09587..1e66cb62dca 100644 --- a/en-US/dita/RTC/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita +++ b/en-US/dita/RTC/API/api_ibasespatialaudioengine_muteallremoteaudiostreams.dita @@ -1,52 +1,63 @@ - <ph keyref="muteAllRemoteAudioStreams_IBaseSpatialAudioEngine" /> - Stops or resumes subscribing to the audio streams of all remote users. + <ph keyref="muteAllRemoteAudioStreams_IBaseSpatialAudioEngine"/> + Stops or resumes subscribing to the audio streams of + all remote users. - +

          - public abstract int muteAllRemoteAudioStreams(boolean mute); - - (int)muteAllRemoteAudioStreams:(BOOL)mute; - virtual int muteAllRemoteAudioStreams(bool mute) = 0; - - public abstract int MuteAllRemoteAudioStreams(bool mute); - -

          + public abstract int muteAllRemoteAudioStreams(boolean mute); + - (int)muteAllRemoteAudioStreams:(BOOL)mute; + virtual int muteAllRemoteAudioStreams(bool mute) = 0; + + public abstract int MuteAllRemoteAudioStreams(bool mute); + + +

          -

          After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including all subsequent users.

          +

          After successfully calling this method, the local user stops or resumes subscribing + to the audio streams of all remote users, including all subsequent users.

          -
            -
          • Call this method after .
          • -
          • When using the spatial audio effect, if you need to set whether to stop subscribing to the audio streams of all remote users, Agora recommends calling this method instead of the method under .
          • -
          +
            +
          • Call this method after .
          • +
          • When using the spatial audio effect, if you need to set whether to stop + subscribing to the audio streams of all remote users, Agora recommends + calling this method instead of the method under .
          • +
          +
          Parameters - - mute - -

          Whether to stop subscribing to the audio streams of all remote users: -

            -
          • : Stop subscribing to the audio streams of all remote users.
          • -
          • : Subscribe to the audio streams of all remote users.
          • -

          -
          -
          -
          + + mute + +

          Whether to stop subscribing to the audio streams of all remote users:

            +
          • : Stop subscribing to the + audio streams of all remote users.
          • +
          • : Subscribe to the audio + streams of all remote users.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        364. 0: Success.
        365. +
        366. < 0: Failure.
        367. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita b/en-US/dita/RTC/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita index f67604d1be8..53899501c48 100644 --- a/en-US/dita/RTC/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita +++ b/en-US/dita/RTC/API/api_ibasespatialaudioengine_mutelocalaudiostream.dita @@ -1,52 +1,62 @@ - <ph keyref="muteLocalAudioStream_IBaseSpatialAudioEngine" /> - Stops or resumes publishing the local audio stream. + <ph keyref="muteLocalAudioStream_IBaseSpatialAudioEngine"/> + Stops or resumes publishing the local audio + stream. - +

          - public abstract int muteLocalAudioStream(boolean mute); - - (int)muteLocalAudioStream:(BOOL)mute; - virtual int muteLocalAudioStream(bool mute) = 0; - - public abstract int MuteLocalAudioStream(bool mute); - -

          + public abstract int muteLocalAudioStream(boolean mute); + - (int)muteLocalAudioStream:(BOOL)mute; + virtual int muteLocalAudioStream(bool mute) = 0; + + public abstract int MuteLocalAudioStream(bool mute); + + +

          -
            -
          • This method does not affect any ongoing audio recording, because it does not disable the audio capture device.
          • -
          • Call this method after .
          • -
          • When using the spatial audio effect, if you need to set whether to publish the local audio stream, Agora recommends calling this method instead of the method under .
          • -
          +
            +
          • This method does not affect any ongoing audio recording, because it does not + disable the audio capture device.
          • +
          • Call this method after .
          • +
          • When using the spatial audio effect, if you need to set whether to publish + the local audio stream, Agora recommends calling this method instead of the + method under .
          • +
          +
          Parameters - - mute - -

          Whether to stop publishing the local audio stream. -

            -
          • : Stop publishing the local audio stream.
          • -
          • : Publish the local audio stream.
          • -

          -
          -
          -
          + + mute + +

          Whether to stop publishing the local audio stream.

            +
          • : Stop publishing the local + audio stream.
          • +
          • : Publish the local audio + stream.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        368. 0: Success.
        369. +
        370. < 0: Failure.
        371. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ibasespatialaudioengine_release.dita b/en-US/dita/RTC/API/api_ibasespatialaudioengine_release.dita index a900a48800b..ef224a24fba 100644 --- a/en-US/dita/RTC/API/api_ibasespatialaudioengine_release.dita +++ b/en-US/dita/RTC/API/api_ibasespatialaudioengine_release.dita @@ -1,29 +1,34 @@ - <ph keyref="release_IBaseSpatialAudioEngine" /> - Destroys . + <ph keyref="release_IBaseSpatialAudioEngine"/> + Destroys . - +

          - - - virtual void release() = 0; - - -

          + + + virtual void release() = 0; + + + +

          -

          This method releases all resources under . When the user does not need to use the spatial audio effect, you can call this method to release resources for other operations.

          -

          After calling this method, you can no longer use any of the APIs under . - Call this method before the method under .

          +

          This method releases all resources under . + When the user does not need to use the spatial audio effect, you can call this + method to release resources for other operations.

          +

          After calling this method, you can no longer use any of the APIs under . Call this method before the method under .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ibasespatialaudioengine_setaudiorecvrange.dita b/en-US/dita/RTC/API/api_ibasespatialaudioengine_setaudiorecvrange.dita index 0ea0936629a..b65cff9922d 100644 --- a/en-US/dita/RTC/API/api_ibasespatialaudioengine_setaudiorecvrange.dita +++ b/en-US/dita/RTC/API/api_ibasespatialaudioengine_setaudiorecvrange.dita @@ -1,42 +1,51 @@ - <ph keyref="setAudioRecvRange" /> - Sets the audio reception range of the local user. + <ph keyref="setAudioRecvRange"/> + Sets the audio reception range of the local + user. - +

          - public abstract int setAudioRecvRange(float range); - - (int)setAudioRecvRange:(float)range; - virtual int setAudioRecvRange(float range) = 0; - - public abstract int SetAudioRecvRange(float range); - -

          + public abstract int setAudioRecvRange(float range); + - (int)setAudioRecvRange:(float)range; + virtual int setAudioRecvRange(float range) = 0; + + public abstract int SetAudioRecvRange(float range); + + +

          -

          After the setting is successful, the local user can only hear the remote users within the setting range or belonging to the same team. You can call this method at any time to update the audio reception range.

          - Agora recommends calling this method before .
          +

          After the setting is successful, the local user can only hear the remote users within + the setting range or belonging to the same team. You can call this method at any + time to update the audio reception range.

          + Agora recommends calling this method before . +
          Parameters - - range - The maximum audio reception range. The unit is meters. The value must be greater than 0. - -
          + + range + The maximum audio reception range. The unit is meters. The value must be + greater than 0. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        372. 0: Success.
        373. +
        374. < 0: Failure.
        375. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ibasespatialaudioengine_setdistanceunit.dita b/en-US/dita/RTC/API/api_ibasespatialaudioengine_setdistanceunit.dita index 2889d4d5b6d..c765f6011e7 100644 --- a/en-US/dita/RTC/API/api_ibasespatialaudioengine_setdistanceunit.dita +++ b/en-US/dita/RTC/API/api_ibasespatialaudioengine_setdistanceunit.dita @@ -1,44 +1,56 @@ - <ph keyref="setDistanceUnit" /> - Sets the length (in meters) of the game engine distance per unit. + <ph keyref="setDistanceUnit"/> + Sets the length (in meters) of the game engine distance + per unit. - +

          - public abstract int setDistanceUnit(float unit); - - (int)setDistanceUnit:(float)unit; - virtual int setDistanceUnit(float unit) = 0; - - public abstract int SetDistanceUnit(float unit); - -

          + public abstract int setDistanceUnit(float unit); + - (int)setDistanceUnit:(float)unit; + virtual int setDistanceUnit(float unit) = 0; + + public abstract int SetDistanceUnit(float unit); + + +

          -

          In a game engine, the unit of distance is customized, while in the Agora spatial audio algorithm, distance is measured in meters. By default, the SDK converts the game engine distance per unit to one meter. You can call this method to convert the game engine distance per unit to a specified number of meters.

          - Agora recommends calling this method before .
          +

          In a game engine, the unit of distance is customized, while in the Agora spatial + audio algorithm, distance is measured in meters. By default, the SDK converts the + game engine distance per unit to one meter. You can call this method to convert the + game engine distance per unit to a specified number of meters.

          + Agora recommends calling this method before . +
          Parameters - - unit - The number of meters that the game engine distance per unit is equal to. This parameter must be greater than 0.00. For example, setting unit as 2.00 means the game engine distance per unit equals 2 meters. -

          The larger the value is, the faster the sound heard by the local user attenuates when the remote user moves far away from the local user.

          -
          -
          -
          + + unit + The number of meters that the game engine distance per unit is equal to. + This parameter must be greater than 0.00. For example, setting unit as 2.00 + means the game engine distance per unit equals 2 meters.

          The larger the + value is, the faster the sound heard by the local user attenuates when + the remote user moves far away from the local user.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        376. 0: Success.
        377. +
        378. < 0: Failure.
        379. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita b/en-US/dita/RTC/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita index 96d98e7c7f9..a35dfc7a07e 100644 --- a/en-US/dita/RTC/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita +++ b/en-US/dita/RTC/API/api_ibasespatialaudioengine_setmaxaudiorecvcount.dita @@ -1,46 +1,63 @@ - <ph keyref="setMaxAudioRecvCount" /> - Sets the maximum number of streams that a user can receive in a specified audio reception range. + <ph keyref="setMaxAudioRecvCount"/> + Sets the maximum number of streams that a user can + receive in a specified audio reception range. - +

          - public abstract int setMaxAudioRecvCount(int maxCount); - - (int)setMaxAudioRecvCount:(NSUInteger)maxCount; - virtual int setMaxAudioRecvCount(int maxCount) = 0; - - public abstract int SetMaxAudioRecvCount(int maxCount); - -

          + public abstract int setMaxAudioRecvCount(int maxCount); + - (int)setMaxAudioRecvCount:(NSUInteger)maxCount; + virtual int setMaxAudioRecvCount(int maxCount) = 0; + + public abstract int SetMaxAudioRecvCount(int maxCount); + + +

          -

          If the number of receivable streams exceeds the set value, the local user receives the maxCount streams that are closest to the local user. If there are users who belong to the same team as the local user in the room, the local user receives the audio of the teammates first. For example, when maxCount is set to 3, if there are five remote users in the room, two of whom belong to the same team as the local user, and three of whom belong to different teams but are within the audio reception range of the local user, the local user can hear the two teammates and the one user from a different team closest to the local user.

          - You can call this method either before or after , with the following differences: -
            -
          • If you call this method before , this method takes effect when entering the room.
          • -
          • If you call this method after , this method takes effect immediately and changes the current maximum number of received streams of the local user.
          • -
          +

          If the number of receivable streams exceeds the set value, the local user receives + the maxCount streams that are closest to the local user. If + there are users who belong to the same team as the local user in the room, the local + user receives the audio of the teammates first. For example, when + maxCount is set to 3, if there are five remote users in the + room, two of whom belong to the same team as the local user, and three of whom + belong to different teams but are within the audio reception range of the local + user, the local user can hear the two teammates and the one user from a different + team closest to the local user.

          + You can call this method either before or after , with the following differences:
            +
          • If you call this method before , this method + takes effect when entering the room.
          • +
          • If you call this method after , this method + takes effect immediately and changes the current maximum number of received + streams of the local user.
          • +
          +
          Parameters - - maxCount - The maximum number of streams that a user can receive within a specified audio reception range. - -
          + + maxCount + The maximum number of streams that a user can receive within a specified + audio reception range. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        380. 0: Success.
        381. +
        382. < 0: Failure.
        383. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita b/en-US/dita/RTC/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita index 270b3b2c7ff..78e8ad49a18 100644 --- a/en-US/dita/RTC/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita +++ b/en-US/dita/RTC/API/api_ibasespatialaudioengine_updateplayerpositioninfo.dita @@ -1,46 +1,53 @@ - <ph keyref="updatePlayerPositionInfo" /> - Updates the spatial position of the media player. + <ph keyref="updatePlayerPositionInfo"/> + Updates the spatial position of the media + player. - +

          - public abstract int updatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); - - (int)updatePlayerPositionInfo:(NSInteger)playerId positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)positionInfo; - virtual int updatePlayerPositionInfo(int playerId, const RemoteVoicePositionInfo& positionInfo) = 0; - - public abstract int UpdatePlayerPositionInfo(int playerId, float[] position, float[] forward); - -

          + public abstract int updatePlayerPositionInfo(int playerId, RemoteVoicePositionInfo positionInfo); + - (int)updatePlayerPositionInfo:(NSInteger)playerId positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)positionInfo; + virtual int updatePlayerPositionInfo(int playerId, const RemoteVoicePositionInfo& positionInfo) = 0; + + public abstract int UpdatePlayerPositionInfo(int playerId, float[] position, float[] forward); + + +

          -

          After a successful update, the local user can hear the change in the spatial position of the media player.

          +

          After a successful update, the local user can hear the change in the spatial position + of the media player.

          Parameters - - playerId - The media player ID, which can be obtained in . - - - positionInfo - The spatial position of the media player. See for details. - -
          + + playerId + The media player ID, which can be obtained in . + + + positionInfo + The spatial position of the media player. See for details. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        384. 0: Success.
        385. +
        386. < 0: Failure.
        387. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ibasespatialaudioengine_updateselfposition.dita b/en-US/dita/RTC/API/api_ibasespatialaudioengine_updateselfposition.dita index 3135b804584..ff695144107 100644 --- a/en-US/dita/RTC/API/api_ibasespatialaudioengine_updateselfposition.dita +++ b/en-US/dita/RTC/API/api_ibasespatialaudioengine_updateselfposition.dita @@ -1,67 +1,93 @@ - <ph keyref="updateSelfPosition" /> - Updates the spatial position of the local user. + <ph keyref="updateSelfPosition"/> + Updates the spatial position of the local + user. - +

          - public abstract int updateSelfPosition( + public abstract int updateSelfPosition( float[] position, float[] axisForward, float[] axisRight, float[] axisUp); - - (int)updateSelfPosition:(NSArray<NSNumber*>* _Nonnull)position axisForward:(NSArray<NSNumber*>* _Nonnull)axisForward axisRight:(NSArray<NSNumber*>* _Nonnull)axisRight axisUp:(NSArray<NSNumber*>* _Nonnull)axisUp; - virtual int updateSelfPosition(float position[3], float axisForward[3], float axisRight[3], float axisUp[3]) = 0; - - public abstract int UpdateSelfPosition(float[] position, float[] axisForward, float[] axisRight, float[] axisUp); - -

          + - (int)updateSelfPosition:(NSArray<NSNumber*>* _Nonnull)position axisForward:(NSArray<NSNumber*>* _Nonnull)axisForward axisRight:(NSArray<NSNumber*>* _Nonnull)axisRight axisUp:(NSArray<NSNumber*>* _Nonnull)axisUp; + virtual int updateSelfPosition(float position[3], float axisForward[3], float axisRight[3], float axisUp[3]) = 0; + + public abstract int UpdateSelfPosition(float[] position, float[] axisForward, float[] axisRight, float[] axisUp); + + +

          -

          When this method is called under different classes, the effect is different: -

            -
          • When this method is called under the class, the SDK updates the spatial position of the local user to the Agora Spatial Audio Server. The Agora Spatial Audio Server calculates the user's spatial audio effect parameters according to the world coordinates and audio reception range of the local and remote users.
          • -
          • Under the class, this method needs to be used with . The SDK calculates the relative position between the local and remote users according to this method and the parameter settings in , and then calculates the user's spatial audio effect parameters.
          • -

          +

          When this method is called under different classes, the effect is + different:

            +
          • When this method is called under the class, the SDK updates the spatial position of the local user to the + Agora Spatial Audio Server. The Agora Spatial Audio Server calculates the + user's spatial audio effect parameters according to the world coordinates + and audio reception range of the local and remote users.
          • +
          • Under the class, this method needs + to be used with . The SDK calculates + the relative position between the local and remote users according to this + method and the parameter settings in , and then calculates the user's spatial audio effect parameters.
          • +

          -
            -
          • Call this method after .
          • -
          • If you call this method under the class, note the following:
              -
            • When you call this method multiple times, Agora recommends a call interval of [120,7000) milliseconds; otherwise, the SDK and the Agora Spatial Audio Server lose synchronization.
            • -
            • If the distance between the current spatial position and the last position is less than 0.2 meters or the rotation angle in each direction is less than 15 degrees, the SDK does not update the current spatial position.
            • -
          • -
          +
        388. Call this method after .
        389. +
        390. If you call this method under the class, note the following:
            +
          • When you call this method multiple times, Agora recommends a call + interval of [120,7000) milliseconds; otherwise, the SDK and the + Agora Spatial Audio Server lose synchronization.
          • +
          • If the distance between the current spatial position and the last + position is less than 0.2 meters or the rotation angle in each + direction is less than 15 degrees, the SDK does not update the + current spatial position.
          • +
        391. + +
          Parameters - - position - The coordinates in the world coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - - - axisForward - The unit vector of the x axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - - - axisRight - The unit vector of the y axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - - - axisUp - The unit vector of the z axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn. - -
          + + position + The coordinates in the world coordinate system. This parameter is an array + of length 3, and the three values represent the front, right, and top + coordinates in turn. + + + axisForward + The unit vector of the x axis in the coordinate + system. This parameter is an array of length 3, and the three values + represent the front, right, and top coordinates in turn. + + + axisRight + The unit vector of the y axis in the coordinate system. This parameter is an + array of length 3, and the three values represent the front, right, and top + coordinates in turn. + + + axisUp + The unit vector of the z axis in the coordinate system. This parameter is an + array of length 3, and the three values represent the front, right, and top + coordinates in turn. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        392. 0: Success.
        393. +
        394. < 0: Failure.
        395. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_addinjectstreamurl.dita b/en-US/dita/RTC/API/api_ichannel_addinjectstreamurl.dita index 18971b70e73..3276a3a935b 100644 --- a/en-US/dita/RTC/API/api_ichannel_addinjectstreamurl.dita +++ b/en-US/dita/RTC/API/api_ichannel_addinjectstreamurl.dita @@ -1,28 +1,30 @@ - <ph keyref="IChannel_addInjectStreamUrl" /> - + <ph keyref="IChannel_addInjectStreamUrl"/> + - +

          - - - virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; - addInjectStreamUrl(url: string, config: InjectStreamConfig): number - public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); - - Future<void> addInjectStreamUrl(String url, LiveInjectStreamConfig config);

          + + + virtual int addInjectStreamUrl(const char* url, const InjectStreamConfig& config) = 0; + addInjectStreamUrl(url: string, config: InjectStreamConfig): number + public abstract int AddInjectStreamUrl(string url, InjectStreamConfig config); + + Future<void> addInjectStreamUrl(String url, LiveInjectStreamConfig config); +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_addpublishstreamurl.dita b/en-US/dita/RTC/API/api_ichannel_addpublishstreamurl.dita index a44a0236292..98e1a291431 100644 --- a/en-US/dita/RTC/API/api_ichannel_addpublishstreamurl.dita +++ b/en-US/dita/RTC/API/api_ichannel_addpublishstreamurl.dita @@ -1,60 +1,68 @@ - <ph keyref="IChannel_addPublishStreamUrl" /> - + + <ph keyref="IChannel_addPublishStreamUrl"/> + + - +

          - - - virtual int addPublishStreamUrl(const char *url, bool transcodingEnabled) = 0; - addPublishStreamUrl(url: string, transcodingEnabled: boolean): number - public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); - - Future<void> addPublishStreamUrl(String url, bool transcodingEnabled);

          + + + virtual int addPublishStreamUrl(const char *url, bool transcodingEnabled) = 0; + addPublishStreamUrl(url: string, transcodingEnabled: boolean): number + public abstract int AddPublishStreamUrl(string url, bool transcodingEnabled); + + Future<void> addPublishStreamUrl(String url, bool transcodingEnabled); +

          - -
          Deprecated:
          -
          This method is deprecated. See Release Notes for an alternative solution.
          -
          This method is deprecated.
          -
          + +
          Deprecated:
          +
          + This method is deprecated. See + Release Notes for an alternative + solution. +
          +
          This method is deprecated.
          +
          -

          - After calling this method, you can push media streams in RTMP or RTMPS protocol to the CDN. The SDK triggers the - - callback on the local client to report the state of adding a local stream to the CDN. -

          -
          +

          After calling this method, you can push media streams in RTMP or RTMPS protocol to + the CDN. The SDK triggers the + callback on the local client to report the state of adding a local stream to the + CDN.

          + +
          Parameters - - - - - - transcodingEnabled - -

          - - If you set this parameter as - - , ensure that you call the - - method before this method. - - -

          -
          + + + + + + transcodingEnabled + +

          + If you set this parameter as + + , ensure that you call the method before this method. + + + + +

          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_adjustuserplaybacksignalvolume.dita b/en-US/dita/RTC/API/api_ichannel_adjustuserplaybacksignalvolume.dita index b7e49121c5a..24e4322beaa 100644 --- a/en-US/dita/RTC/API/api_ichannel_adjustuserplaybacksignalvolume.dita +++ b/en-US/dita/RTC/API/api_ichannel_adjustuserplaybacksignalvolume.dita @@ -1,40 +1,43 @@ - <ph keyref="IChannel_adjustUserPlaybackSignalVolume" /> - + <ph keyref="IChannel_adjustUserPlaybackSignalVolume"/> + - +

          - - - virtual int adjustUserPlaybackSignalVolume(uid_t userId, int volume) = 0; - adjustUserPlaybackSignalVolume(userId: number, volume: number): number - public abstract int AdjustUserPlaybackSignalVolume(uint uid, int volume); - - Future<void> adjustUserPlaybackSignalVolume(int uid, int volume);

          + + + virtual int adjustUserPlaybackSignalVolume(uid_t userId, int volume) = 0; + adjustUserPlaybackSignalVolume(userId: number, volume: number): number + public abstract int AdjustUserPlaybackSignalVolume(uint uid, int volume); + + Future<void> adjustUserPlaybackSignalVolume(int uid, int volume); +

          -
          +
          Parameters - - userId - uid - The ID of the remote user. - - - - - -
          -
          + + userId + uid + The ID of the remote user. + + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_channelId.dita b/en-US/dita/RTC/API/api_ichannel_channelId.dita index 255d5028438..df62c667183 100644 --- a/en-US/dita/RTC/API/api_ichannel_channelId.dita +++ b/en-US/dita/RTC/API/api_ichannel_channelId.dita @@ -1,31 +1,33 @@ - <ph keyref="IChannel_channelId" /> + <ph keyref="IChannel_channelId"/> Gets the current channel ID. - +

          - - - virtual const char *channelId() = 0; - channelId(): string - public abstract string ChannelId(); - - String channelId;

          + + + virtual const char *channelId() = 0; + channelId(): string + public abstract string ChannelId(); + + String channelId; +

          Returns
            -
          • The current channel ID, if the method call succeeds.
          • -
          • The empty string "", if the method call fails.
          • -
          +
        396. The current channel ID, if the method call succeeds.
        397. +
        398. The empty string "", if the method call fails.
        399. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_create.dita b/en-US/dita/RTC/API/api_ichannel_create.dita index 313c1751914..7948771ece0 100644 --- a/en-US/dita/RTC/API/api_ichannel_create.dita +++ b/en-US/dita/RTC/API/api_ichannel_create.dita @@ -13,22 +13,24 @@

          - - - - - - - static Future<RtcChannel> create(String channelId)

          + + + + + + + static Future<RtcChannel> create(String channelId) +

          Parameters - - - - -
          + + + + + +
          Returns

          An RtcChannel object.

          diff --git a/en-US/dita/RTC/API/api_ichannel_createdatastream.dita b/en-US/dita/RTC/API/api_ichannel_createdatastream.dita index 5032160a595..c4a1de71d0c 100644 --- a/en-US/dita/RTC/API/api_ichannel_createdatastream.dita +++ b/en-US/dita/RTC/API/api_ichannel_createdatastream.dita @@ -1,62 +1,66 @@ - <ph keyref="IChannel_createDataStream1" /> - + <ph keyref="IChannel_createDataStream1"/> + - +

          - - - virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; - createDataStream(reliable: boolean, ordered: boolean): number - public abstract int CreateDataStream(bool reliable, bool ordered); - - Future<int?> createDataStream(bool reliable, bool ordered);

          + + + virtual int createDataStream(int* streamId, bool reliable, bool ordered) = 0; + createDataStream(reliable: boolean, ordered: boolean): number + public abstract int CreateDataStream(bool reliable, bool ordered); + + Future<int?> createDataStream(bool reliable, bool ordered); +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          -

          -

          +

          + +

          Parameters - - - - - - reliable - -

          Whether or not the data stream is reliable: -

            -
          • : The recipients receive the - data from the sender within five seconds. If the recipient does not - receive the data within five seconds, the SDK triggers the callback and returns an - error code.
          • -
          • : There is no guarantee that - the recipients receive the data stream within five seconds and no - error message is reported for any delay or missing data stream.
          • -

          -
          -
          - - - - -
          -
          + + + + + + reliable + +

          Whether or not the data stream is reliable:

            +
          • : The recipients receive the + data from the sender within five seconds. If the recipient does + not receive the data within five seconds, the SDK triggers the + callback and + returns an error code.
          • +
          • : There is no guarantee + that the recipients receive the data stream within five seconds + and no error message is reported for any delay or missing data + stream.
          • +

          +
          +
          + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_createdatastream2.dita b/en-US/dita/RTC/API/api_ichannel_createdatastream2.dita index f51e22fbcc6..580378f89b4 100644 --- a/en-US/dita/RTC/API/api_ichannel_createdatastream2.dita +++ b/en-US/dita/RTC/API/api_ichannel_createdatastream2.dita @@ -1,37 +1,39 @@ - <ph keyref="IChannel_createDataStream2" /> - + <ph keyref="IChannel_createDataStream2"/> + - +

          - - - virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; - createDataStreamWithConfig(config: DataStreamConfig): number - public abstract int CreateDataStream(DataStreamConfig config); - - Future<int?> createDataStreamWithConfig(DataStreamConfig config);

          + + + virtual int createDataStream(int* streamId, DataStreamConfig& config) = 0; + createDataStreamWithConfig(config: DataStreamConfig): number + public abstract int CreateDataStream(DataStreamConfig config); + + Future<int?> createDataStreamWithConfig(DataStreamConfig config); +

          - -
          Since
          -
          v3.3.0. Use this method instead of .
          -
          + +
          Since
          +
          v3.3.0. Use this method instead of .
          +
          -

          -

          +

          +

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_enableencryption.dita b/en-US/dita/RTC/API/api_ichannel_enableencryption.dita index 9d4b815471a..b907b8fc63e 100644 --- a/en-US/dita/RTC/API/api_ichannel_enableencryption.dita +++ b/en-US/dita/RTC/API/api_ichannel_enableencryption.dita @@ -1,28 +1,30 @@ - <ph keyref="IChannel_enableEncryption" /> - + <ph keyref="IChannel_enableEncryption"/> + - +

          - - - virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; - enableEncryption(enabled: boolean, config: EncryptionConfig): number - public abstract int EnableEncryption(bool enabled, EncryptionConfig config); - - Future<void> enableEncryption(bool enabled, EncryptionConfig config);

          + + + virtual int enableEncryption(bool enabled, const EncryptionConfig& config) = 0; + enableEncryption(enabled: boolean, config: EncryptionConfig): number + public abstract int EnableEncryption(bool enabled, EncryptionConfig config); + + Future<void> enableEncryption(bool enabled, EncryptionConfig config); +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_enableremotesuperresolution.dita b/en-US/dita/RTC/API/api_ichannel_enableremotesuperresolution.dita index 856662716e5..86447a4cb4c 100644 --- a/en-US/dita/RTC/API/api_ichannel_enableremotesuperresolution.dita +++ b/en-US/dita/RTC/API/api_ichannel_enableremotesuperresolution.dita @@ -1,28 +1,30 @@ - <ph keyref="IChannel_enableRemoteSuperResolution" /> - Enables/Disables the super-resolution algorithm for a remote user's video stream. + <ph keyref="IChannel_enableRemoteSuperResolution"/> + Enables/Disables the super-resolution algorithm for a + remote user's video stream. - +

          - - - - - public abstract int EnableRemoteSuperResolution(uint userId, bool enable); - - Future<void> enableRemoteSuperResolution(int userId, bool enable);

          + + + + + public abstract int EnableRemoteSuperResolution(uint userId, bool enable); + + Future<void> enableRemoteSuperResolution(int userId, bool enable); +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_enableremotesuperresolution2.dita b/en-US/dita/RTC/API/api_ichannel_enableremotesuperresolution2.dita index c1bc78a8f7f..502ba047f58 100644 --- a/en-US/dita/RTC/API/api_ichannel_enableremotesuperresolution2.dita +++ b/en-US/dita/RTC/API/api_ichannel_enableremotesuperresolution2.dita @@ -1,28 +1,30 @@ - <ph keyref="IChannel_enableRemoteSuperResolution2" /> - Enables/Disables the super-resolution algorithm for a remote user's video stream. This is a beta feature. + <ph keyref="IChannel_enableRemoteSuperResolution2"/> + Enables/Disables the super-resolution algorithm for a + remote user's video stream. This is a beta feature. - +

          - - - virtual int enableRemoteSuperResolution(bool enabled, SR_MODE mode, uid_t userId) = 0; - - - -

          + + + virtual int enableRemoteSuperResolution(bool enabled, SR_MODE mode, uid_t userId) = 0; + + + + +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_getcallid.dita b/en-US/dita/RTC/API/api_ichannel_getcallid.dita index d9380e1c088..494d202c760 100644 --- a/en-US/dita/RTC/API/api_ichannel_getcallid.dita +++ b/en-US/dita/RTC/API/api_ichannel_getcallid.dita @@ -1,28 +1,29 @@ - <ph keyref="IChannel_getCallId" /> - + <ph keyref="IChannel_getCallId"/> + - +

          - - - virtual int getCallId(agora::util::AString& callId) = 0; - getCallId(): string - public abstract string GetCallId(); - - Future<String?> getCallId();

          + + + virtual int getCallId(agora::util::AString& callId) = 0; + getCallId(): string + public abstract string GetCallId(); + + Future<String?> getCallId(); +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_getconnectionstate.dita b/en-US/dita/RTC/API/api_ichannel_getconnectionstate.dita index c477e7e2e90..fd08735ef34 100644 --- a/en-US/dita/RTC/API/api_ichannel_getconnectionstate.dita +++ b/en-US/dita/RTC/API/api_ichannel_getconnectionstate.dita @@ -1,27 +1,28 @@ - <ph keyref="IChannel_getConnectionState" /> - + <ph keyref="IChannel_getConnectionState"/> + - +

          - - - virtual CONNECTION_STATE_TYPE getConnectionState() = 0; - getConnectionState(): CONNECTION_STATE_TYPE - public abstract CONNECTION_STATE_TYPE GetConnectionState(); - - Future<ConnectionStateType> getConnectionState();

          + + + virtual CONNECTION_STATE_TYPE getConnectionState() = 0; + getConnectionState(): CONNECTION_STATE_TYPE + public abstract CONNECTION_STATE_TYPE GetConnectionState(); + + Future<ConnectionStateType> getConnectionState(); +

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_joinchannel.dita b/en-US/dita/RTC/API/api_ichannel_joinchannel.dita index 2d96e5ea207..4aa5845ae7d 100644 --- a/en-US/dita/RTC/API/api_ichannel_joinchannel.dita +++ b/en-US/dita/RTC/API/api_ichannel_joinchannel.dita @@ -1,90 +1,118 @@ - <ph keyref="IChannel_joinChannel" /> + <ph keyref="IChannel_joinChannel"/> Joins the channel with a user ID. - +

          - - - virtual int joinChannel(const char* token, + + + virtual int joinChannel(const char* token, const char* info, uid_t uid, const ChannelMediaOptions& options) = 0; - joinChannel(token: string, + joinChannel(token: string, info: string, uid: number, options?: ChannelMediaOptions ): number - public abstract int JoinChannel(string token, string info, uint uid, ChannelMediaOptions options); - - Future<void> joinChannel(String? token, String? optionalInfo, int optionalUid, - ChannelMediaOptions options);

          + public abstract int JoinChannel(string token, string info, uint uid, ChannelMediaOptions options); + + Future<void> joinChannel(String? token, String? optionalInfo, int optionalUid, + ChannelMediaOptions options); +

          -

          This method differs from the method in the class in the following aspects:

          +

          This method differs from the + method in the class in the following aspects:

          - - - - - - IChannel::joinChannel - IRtcEngine::joinChannel - - - - - Does not contain the channelId parameter, because channelId is specified when creating the object. - You need to fill in the channelId that can identify the channel. - - - Users can join multiple channels simultaneously by creating multiple objects and calling the methods of each object. - Users can join only one channel. - - - By default, the SDK does not publish any stream after the user joins the channel. You need to call the method to do that. - By default, the SDK publishes streams once the user joins the channel. - - - + + + + + + IChannel::joinChannel + IRtcEngine::joinChannel + + + + + Does not contain the channelId parameter, + because channelId is specified when creating + the object. + You need to fill in the channelId that can + identify the channel. + + + Users can join multiple channels simultaneously by creating + multiple objects and calling the + methods of each + object. + Users can join only one channel. + + + By default, the SDK does not publish any stream after the user + joins the channel. You need to call the method to do that. + By default, the SDK publishes streams once the user joins the + channel. + + +
          -

          Once the user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. If you do not want to subscribe to a specified stream or all remote streams, call the mute methods accordingly.

          +

          Once the user joins the channel, the user subscribes to the audio and video streams + of all the other users in the channel by default, giving rise to usage and billing + calculation. If you do not want to subscribe to a specified stream or all remote + streams, call the mute methods accordingly.

          -
            -
          • If you are already in a channel, you cannot rejoin it with the user ID.
          • -
          • We recommend using different UIDs for different channels.
          • -
          • If you want to join the same channel from different devices, ensure that the user IDs in all devices are different.
          • -
          +
            +
          • If you are already in a channel, you cannot rejoin it with the user ID.
          • +
          • We recommend using different UIDs for different channels.
          • +
          • If you want to join the same channel from different devices, ensure that the + user IDs in all devices are different.
          • +
          + +
          Parameters - - - - - - - - - - uid - optionalUid - User ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit unsigned integer with a value ranging from 1 to 232 -1. If the user ID is not assigned (or set as 0), the SDK assigns a user ID and reports it in the callback. Your app must maintain this user ID. - - - - - -
          -
          + + + + + + + + + + uid + optionalUid + User ID. This parameter is used to identify the user in the channel for + real-time audio and video interaction. You need to set and manage user IDs + yourself, and ensure that each user ID in the same channel is unique. This + parameter is a 32-bit unsigned integer with a value ranging from 1 to + 232 -1. If the user ID is not assigned (or set as 0), the SDK + assigns a user ID and reports it in the callback. Your app must + maintain this user ID. + + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_joinchannelwithuseraccount.dita b/en-US/dita/RTC/API/api_ichannel_joinchannelwithuseraccount.dita index 29b3032ec53..d310eed9b63 100644 --- a/en-US/dita/RTC/API/api_ichannel_joinchannelwithuseraccount.dita +++ b/en-US/dita/RTC/API/api_ichannel_joinchannelwithuseraccount.dita @@ -1,82 +1,105 @@ - <ph keyref="IChannel_joinChannelWithUserAccount" /> + <ph keyref="IChannel_joinChannelWithUserAccount"/> Joins the channel with a user account. - +

          - - - virtual int joinChannelWithUserAccount(const char* token, + + + virtual int joinChannelWithUserAccount(const char* token, const char* userAccount, const ChannelMediaOptions& options) = 0; - joinChannelWithUserAccount(token: string, + joinChannelWithUserAccount(token: string, userAccount: string, options: ChannelMediaOptions ): number - public abstract int JoinChannelWithUserAccount(string token, string userAccount, ChannelMediaOptions options); - - Future<void> joinChannelWithUserAccount( - String? token, String userAccount, ChannelMediaOptions options);

          + public abstract int JoinChannelWithUserAccount(string token, string userAccount, ChannelMediaOptions options); + + Future<void> joinChannelWithUserAccount( + String? token, String userAccount, ChannelMediaOptions options); +

          -

          This method differs from the method in the class in the following aspects: - - - - - - IChannel::joinChannelWithUserAccount - IRtcEngine::joinChannelWithUserAccount - - - - - Does not contain the channelId parameter, because channelId is specified when creating the object. - You need to fill in the channelId that can identify the channel. - - - Users can join multiple channels simultaneously by creating multiple objects and calling the methods of each object. - Users can join only one channel. - - - By default, the SDK does not publish any stream after the user joins the channel. You need to call the method to do that. - By default, the SDK publishes streams once the user joins the channel. - - - -

          -

          Once the user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. If you do not want to subscribe to a specified stream or all remote streams, call the mute methods accordingly.

          +

          This method differs from the + method in the class in the following + aspects: + + + + + + IChannel::joinChannelWithUserAccount + IRtcEngine::joinChannelWithUserAccount + + + + + Does not contain the channelId + parameter, because channelId is specified + when creating the object. + You need to fill in the channelId that + can identify the channel. + + + Users can join multiple channels simultaneously by creating + multiple objects and calling the + + methods of each object. + Users can join only one channel. + + + By default, the SDK does not publish any stream after the + user joins the channel. You need to call the method to do that. + By default, the SDK publishes streams once the user joins the + channel. + + + +
          +

          +

          Once the user joins the channel, the user subscribes to the audio and video streams + of all the other users in the channel by default, giving rise to usage and billing + calculation. If you do not want to subscribe to a specified stream or all remote + streams, call the mute methods accordingly.

          -
            -
          • If you are already in a channel, you cannot rejoin it with the user ID.
          • -
          • We recommend using different user accounts for different channels.
          • -
          • If you want to join the same channel from different devices, ensure that the user accounts in all devices are different.
          • -
          +
            +
          • If you are already in a channel, you cannot rejoin it with the user ID.
          • +
          • We recommend using different user accounts for different channels.
          • +
          • If you want to join the same channel from different devices, ensure that the + user accounts in all devices are different.
          • +
          + +
          Parameters - - - - - - - - - - - - -
          -
          + + + + + + + + + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_leavechannel.dita b/en-US/dita/RTC/API/api_ichannel_leavechannel.dita index 411b3076ffc..3996119b1ae 100644 --- a/en-US/dita/RTC/API/api_ichannel_leavechannel.dita +++ b/en-US/dita/RTC/API/api_ichannel_leavechannel.dita @@ -1,42 +1,54 @@ - <ph keyref="IChannel_leaveChannel" /> + <ph keyref="IChannel_leaveChannel"/> Leaves a channel. - +

          - - - virtual int leaveChannel() = 0; - leaveChannel(): number - public abstract int LeaveChannel(); - - Future<void> leaveChannel();

          + + + virtual int leaveChannel() = 0; + leaveChannel(): number + public abstract int LeaveChannel(); + + Future<void> leaveChannel(); +

          -

          This method lets the user leave the channel, for example, by hanging up or exiting the call. This method releases all resources related to the session. This method call is asynchronous, and the user has not left the channel when the method call returns.

          -

          After calling , you must call to end the call, otherwise the next call cannot be started.

          -

          No matter whether you are currently in a call or not, you can call without side effects.

          -

          A successful call of this method triggers the following callbacks: -

            -
          • The local client: .
          • -
          • The remote client: , if the user +

            This method lets the user leave the channel, for example, by hanging up or exiting + the call. This method releases all resources related to the session. This method + call is asynchronous, and the user has not left the channel when the method call + returns.

            +

            After calling , you must call to end the call, otherwise the next call cannot + be started.

            +

            No matter whether you are currently in a call or not, you can call without side effects.

            +

            A successful call of this method triggers the following callbacks:

              +
            • The local client: .
            • +
            • The remote client: , if the user joining the channel is in the COMMUNICATION profile, or is a host in the LIVE_BROADCASTING profile.
            • -

            +

          -
            -
          • If you call the method immediately after calling , the SDK will not be able to trigger the callback.
          • -
          • If you call the method during a CDN live streaming, the SDK automatically calls the method.
          • -
          +
            +
          • If you call the method immediately + after calling , the SDK will not be able to + trigger the callback.
          • +
          • If you call the method during a + CDN live streaming, the SDK automatically calls the method.
          • +
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_muteallremoteaudiostreams.dita b/en-US/dita/RTC/API/api_ichannel_muteallremoteaudiostreams.dita index 01aa07d9fdc..728c4170659 100644 --- a/en-US/dita/RTC/API/api_ichannel_muteallremoteaudiostreams.dita +++ b/en-US/dita/RTC/API/api_ichannel_muteallremoteaudiostreams.dita @@ -1,28 +1,30 @@ - <ph keyref="IChannel_muteAllRemoteAudioStreams" /> - + <ph keyref="IChannel_muteAllRemoteAudioStreams"/> + - +

          - - - virtual int muteAllRemoteAudioStreams(bool mute) = 0; - muteAllRemoteAudioStreams(mute: boolean): number - public abstract int MuteAllRemoteAudioStreams(bool mute); - - Future<void> muteAllRemoteAudioStreams(bool muted);

          + + + virtual int muteAllRemoteAudioStreams(bool mute) = 0; + muteAllRemoteAudioStreams(mute: boolean): number + public abstract int MuteAllRemoteAudioStreams(bool mute); + + Future<void> muteAllRemoteAudioStreams(bool muted); +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_muteallremotevideostreams.dita b/en-US/dita/RTC/API/api_ichannel_muteallremotevideostreams.dita index 73bbb91f30e..7bb82290350 100644 --- a/en-US/dita/RTC/API/api_ichannel_muteallremotevideostreams.dita +++ b/en-US/dita/RTC/API/api_ichannel_muteallremotevideostreams.dita @@ -1,28 +1,30 @@ - <ph keyref="IChannel_muteAllRemoteVideoStreams" /> - + <ph keyref="IChannel_muteAllRemoteVideoStreams"/> + - +

          - - - virtual int muteAllRemoteVideoStreams(bool mute) = 0; - muteAllRemoteVideoStreams(mute: boolean): number - public abstract int MuteAllRemoteVideoStreams(bool mute); - - Future<void> muteAllRemoteVideoStreams(bool muted);

          + + + virtual int muteAllRemoteVideoStreams(bool mute) = 0; + muteAllRemoteVideoStreams(mute: boolean): number + public abstract int MuteAllRemoteVideoStreams(bool mute); + + Future<void> muteAllRemoteVideoStreams(bool muted); +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_mutelocalaudiostream.dita b/en-US/dita/RTC/API/api_ichannel_mutelocalaudiostream.dita index feb2de38649..e0c6abb1461 100644 --- a/en-US/dita/RTC/API/api_ichannel_mutelocalaudiostream.dita +++ b/en-US/dita/RTC/API/api_ichannel_mutelocalaudiostream.dita @@ -1,36 +1,40 @@ - <ph keyref="IChannel_muteLocalAudioStream" /> - + <ph keyref="IChannel_muteLocalAudioStream"/> + - +

          - - - - - - - Future<void> muteLocalAudioStream(bool mute);

          + + + + + + + Future<void> muteLocalAudioStream(bool mute); +

          Parameters - - mute - - -
          -
          + + mute + + + +
          +
          Returns
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_mutelocalvideostream.dita b/en-US/dita/RTC/API/api_ichannel_mutelocalvideostream.dita index 2ee3683a71b..4285ea754e2 100644 --- a/en-US/dita/RTC/API/api_ichannel_mutelocalvideostream.dita +++ b/en-US/dita/RTC/API/api_ichannel_mutelocalvideostream.dita @@ -1,37 +1,40 @@ - <ph keyref="IChannel_muteLocalVideoStream" /> - + <ph keyref="IChannel_muteLocalVideoStream"/> + - +

          - - - - - - - Future<void> muteLocalVideoStream(bool muted);

          + + + + + + + Future<void> muteLocalVideoStream(bool muted); +

          Parameters - - mute - muted - - + + mute + muted + +
          -
          +
          Returns
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_muteremoteaudiostream.dita b/en-US/dita/RTC/API/api_ichannel_muteremoteaudiostream.dita index 917cad428fd..c04974d0da5 100644 --- a/en-US/dita/RTC/API/api_ichannel_muteremoteaudiostream.dita +++ b/en-US/dita/RTC/API/api_ichannel_muteremoteaudiostream.dita @@ -1,39 +1,42 @@ - <ph keyref="IChannel_muteRemoteAudioStream" /> - + <ph keyref="IChannel_muteRemoteAudioStream"/> + - +

          - - - virtual int muteRemoteAudioStream(uid_t userId, bool mute) = 0; - muteRemoteAudioStream(userId: number, mute: boolean): number - public abstract int MuteRemoteAudioStream(uint userId, bool mute); - - Future<void> muteRemoteAudioStream(int userId, bool muted);

          + + + virtual int muteRemoteAudioStream(uid_t userId, bool mute) = 0; + muteRemoteAudioStream(userId: number, mute: boolean): number + public abstract int MuteRemoteAudioStream(uint userId, bool mute); + + Future<void> muteRemoteAudioStream(int userId, bool muted); +

          -
          +
          - - userId - - - - mute - muted - - -
          -
          + + userId + + + + mute + muted + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_muteremotevideostream.dita b/en-US/dita/RTC/API/api_ichannel_muteremotevideostream.dita index b802d512586..042e6796bf5 100644 --- a/en-US/dita/RTC/API/api_ichannel_muteremotevideostream.dita +++ b/en-US/dita/RTC/API/api_ichannel_muteremotevideostream.dita @@ -1,39 +1,42 @@ - <ph keyref="IChannel_muteRemoteVideoStream" /> - + <ph keyref="IChannel_muteRemoteVideoStream"/> + - +

          - - - virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; - muteRemoteVideoStream(userId: number, mute: boolean): number - public abstract int MuteRemoteVideoStream(uint userId, bool mute); - - Future<void> muteRemoteVideoStream(int userId, bool muted);

          + + + virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; + muteRemoteVideoStream(userId: number, mute: boolean): number + public abstract int MuteRemoteVideoStream(uint userId, bool mute); + + Future<void> muteRemoteVideoStream(int userId, bool muted); +

          -
          +
          - - userId - - - - mute - muted - - -
          -
          + + userId + + + + mute + muted + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_pauseallchannelmediarelay.dita b/en-US/dita/RTC/API/api_ichannel_pauseallchannelmediarelay.dita index 9d009b5d9f8..aad9a8fad94 100644 --- a/en-US/dita/RTC/API/api_ichannel_pauseallchannelmediarelay.dita +++ b/en-US/dita/RTC/API/api_ichannel_pauseallchannelmediarelay.dita @@ -1,37 +1,40 @@ - <ph keyref="IChannel_pauseAllChannelMediaRelay" /> - + <ph keyref="IChannel_pauseAllChannelMediaRelay"/> + - +

          - - - - - - - Future<void> pauseAllChannelMediaRelay();

          + + + + + + + Future<void> pauseAllChannelMediaRelay(); +

          - -
          -
          - + +
          +
          +
          -

          +

          -
          +
          Returns
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_publish.dita b/en-US/dita/RTC/API/api_ichannel_publish.dita index 2bdef5fe821..fa7a2923885 100644 --- a/en-US/dita/RTC/API/api_ichannel_publish.dita +++ b/en-US/dita/RTC/API/api_ichannel_publish.dita @@ -1,42 +1,49 @@ - <ph keyref="IChannel_publish" /> - Publish local audio and video streams to the channel. + <ph keyref="IChannel_publish"/> + Publish local audio and video streams to the + channel. - +

          - - - virtual int publish() = 0; - publish(): number - public abstract int Publish(); - - Future<void> publish();

          + + + virtual int publish() = 0; + publish(): number + public abstract int Publish(); + + Future<void> publish(); +

          -

          The call of this method must meet the following requirements, otherwise the SDK returns -5(ERR_REFUSED): -

            -
          • This method only supports publishing audio and video streams to the channel corresponding to the current object.
          • -
          • In the interactive live streaming channel, only a host can call this method. To switch the client role, call of the current object.
          • -
          • You can publish a stream to only one channel at a time. For details on joining multiple channels, see the advanced guide Join Multiple Channels.
          • -

          +

          The call of this method must meet the following requirements, otherwise the SDK + returns -5(ERR_REFUSED):

            +
          • This method only supports publishing audio and video streams to the channel + corresponding to the current object.
          • +
          • In the interactive live streaming channel, only a host can call this method. + To switch the client role, call + of the current object.
          • +
          • You can publish a stream to only one channel at a time. For details on + joining multiple channels, see the advanced guide Join Multiple + Channels.
          • +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -5 (ERR_REFUSED): The request is rejected.
            • -
          • -
          +
        400. 0: Success.
        401. +
        402. < 0: Failure.
            +
          • -5 (ERR_REFUSED): The request is rejected.
          • +
        403. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_registermediametadataobserver.dita b/en-US/dita/RTC/API/api_ichannel_registermediametadataobserver.dita index a5c4cb92e2a..9126d9c15d4 100644 --- a/en-US/dita/RTC/API/api_ichannel_registermediametadataobserver.dita +++ b/en-US/dita/RTC/API/api_ichannel_registermediametadataobserver.dita @@ -1,33 +1,38 @@ - <ph keyref="IChannel_registerMediaMetadataObserver" /> - + <ph keyref="IChannel_registerMediaMetadataObserver"/> + - +

          - - - virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; - registerMediaMetadataObserver(type: METADATA_TYPE = 0): number - public abstract int RegisterMediaMetadataObserver(METADATA_TYPE type); - - Future<void> registerMediaMetadataObserver();

          + + + virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; + registerMediaMetadataObserver(type: METADATA_TYPE = 0): number + public abstract int RegisterMediaMetadataObserver(METADATA_TYPE type); + + Future<void> registerMediaMetadataObserver(); +

          -
            -
          • Call this method before .
          • -
          • This method applies only to interactive live streaming.
          • -
          -
          -
          +
            +
          • Call this method before .
          • +
          • This method applies only to interactive live streaming.
          • +
          + +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_registerpacketobserver.dita b/en-US/dita/RTC/API/api_ichannel_registerpacketobserver.dita index 65d0f0e205e..7e5153b37ec 100644 --- a/en-US/dita/RTC/API/api_ichannel_registerpacketobserver.dita +++ b/en-US/dita/RTC/API/api_ichannel_registerpacketobserver.dita @@ -1,28 +1,29 @@ - <ph keyref="IChannel_registerPacketObserver" /> - + <ph keyref="IChannel_registerPacketObserver"/> + - +

          - - - virtual int registerPacketObserver(IPacketObserver* observer) = 0; - - public abstract int RegisterPacketObserver(IPacketObserver observer); - -

          + + + virtual int registerPacketObserver(IPacketObserver* observer) = 0; + + public abstract int RegisterPacketObserver(IPacketObserver observer); + + +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_release.dita b/en-US/dita/RTC/API/api_ichannel_release.dita index f5a757e62fd..f37ed893d31 100644 --- a/en-US/dita/RTC/API/api_ichannel_release.dita +++ b/en-US/dita/RTC/API/api_ichannel_release.dita @@ -1,36 +1,38 @@ - <ph keyref="IChannel_release" /> - Releases the instance. + <ph keyref="IChannel_release"/> + Releases the + instance. - +

          - - - virtual int release() = 0; - release(): number - public abstract void Dispose(); - - Future<void> destroy();

          + + + virtual int release() = 0; + release(): number + public abstract void Dispose(); + + Future<void> destroy(); +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -7(ERR_NOT_INITIALIZED): The SDK is not initialized before calling this method. Create and - initialize the instance before calling this - method.
            • -
          • -
          +
        404. 0: Success.
        405. +
        406. < 0: Failure.
            +
          • -7(ERR_NOT_INITIALIZED): The SDK is not initialized before calling this + method. Create and initialize the instance + before calling this method.
          • +
        407. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_releaseall.dita b/en-US/dita/RTC/API/api_ichannel_releaseall.dita index 7a2504f6df4..508af67a6e5 100644 --- a/en-US/dita/RTC/API/api_ichannel_releaseall.dita +++ b/en-US/dita/RTC/API/api_ichannel_releaseall.dita @@ -1,25 +1,26 @@ - <ph keyref="IChannel_releaseAll" /> + <ph keyref="IChannel_releaseAll"/> Destroys all RtcChannel instances. - +

          - - - - - - - static void destroyAll()

          + + + + + + + static void destroyAll() +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_removeinjectstreamurl.dita b/en-US/dita/RTC/API/api_ichannel_removeinjectstreamurl.dita index bde14a0d1ef..7b6d91b9dea 100644 --- a/en-US/dita/RTC/API/api_ichannel_removeinjectstreamurl.dita +++ b/en-US/dita/RTC/API/api_ichannel_removeinjectstreamurl.dita @@ -1,28 +1,30 @@ - <ph keyref="IChannel_removeInjectStreamUrl" /> - + <ph keyref="IChannel_removeInjectStreamUrl"/> + - +

          - - - virtual int removeInjectStreamUrl(const char* url) = 0; - removeInjectStreamUrl(url: string): number - public abstract int RemoveInjectStreamUrl(string url); - - Future<void> removeInjectStreamUrl(String url);

          + + + virtual int removeInjectStreamUrl(const char* url) = 0; + removeInjectStreamUrl(url: string): number + public abstract int RemoveInjectStreamUrl(string url); + + Future<void> removeInjectStreamUrl(String url); +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_removepublishstreamurl.dita b/en-US/dita/RTC/API/api_ichannel_removepublishstreamurl.dita index c01deeccaf1..8afdbb0efab 100644 --- a/en-US/dita/RTC/API/api_ichannel_removepublishstreamurl.dita +++ b/en-US/dita/RTC/API/api_ichannel_removepublishstreamurl.dita @@ -1,41 +1,48 @@ - <ph keyref="IChannel_removePublishStreamUrl" /> - + + <ph keyref="IChannel_removePublishStreamUrl"/> + + - +

          - - - virtual int removePublishStreamUrl(const char *url) = 0; - removePublishStreamUrl(url: string): number - public abstract int RemovePublishStreamUrl(string url); - - Future<void> removePublishStreamUrl(String url);

          + + + virtual int removePublishStreamUrl(const char *url) = 0; + removePublishStreamUrl(url: string): number + public abstract int RemovePublishStreamUrl(string url); + + Future<void> removePublishStreamUrl(String url); +

          - -
          Deprecated:
          -
          This method is deprecated. See Release Notes for an alternative solution.
          -
          This method is deprecated.
          -
          + +
          Deprecated:
          +
          + This method is deprecated. See + Release Notes for an alternative + solution. +
          +
          This method is deprecated.
          +
          -

          - After a successful method call, the SDK triggers - - on the local client to report the result of deleting the address. -

          -
          -
          -
          +

          After a successful method call, the SDK triggers on the local client to report + the result of deleting the address.

          + +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_renewtoken.dita b/en-US/dita/RTC/API/api_ichannel_renewtoken.dita index e2d31afc24f..cd9a3516017 100644 --- a/en-US/dita/RTC/API/api_ichannel_renewtoken.dita +++ b/en-US/dita/RTC/API/api_ichannel_renewtoken.dita @@ -1,33 +1,37 @@ - <ph keyref="IChannel_renewToken" /> - + <ph keyref="IChannel_renewToken"/> + - +

          - - - virtual int renewToken(const char* token) = 0; - renewToken(token: string): number - public abstract int RenewToken(string token); - - Future<void> renewToken(String token);

          + + + virtual int renewToken(const char* token) = 0; + renewToken(token: string): number + public abstract int RenewToken(string token); + + Future<void> renewToken(String token); +

          -

          Passes a new token to the SDK. A token expires after a certain period of time. The app should get a new token and call this method to pass the token to the SDK. Failure to do so results in the SDK disconnecting from the server. -

            -
          • The SDK triggers the callback.
          • -
          • The callback reports (9).
          • -

          +

          Passes a new token to the SDK. A token expires after a certain period of time. The + app should get a new token and call this method to pass the token to the SDK. + Failure to do so results in the SDK disconnecting from the server.

            +
          • The SDK triggers the + callback.
          • +
          • The callback reports + (9).
          • +

          -
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_resumeallchannelmediarelay.dita b/en-US/dita/RTC/API/api_ichannel_resumeallchannelmediarelay.dita index 73716706cf6..8d87a081e74 100644 --- a/en-US/dita/RTC/API/api_ichannel_resumeallchannelmediarelay.dita +++ b/en-US/dita/RTC/API/api_ichannel_resumeallchannelmediarelay.dita @@ -1,37 +1,40 @@ - <ph keyref="IChannel_resumeAllChannelMediaRelay" /> - + <ph keyref="IChannel_resumeAllChannelMediaRelay"/> + - +

          - - - - - - - Future<void> resumeAllChannelMediaRelay();

          + + + + + + + Future<void> resumeAllChannelMediaRelay(); +

          - -
          Since
          -
          v
          -
          + +
          Since
          +
          v
          +
          -

          +

          -
          +
          Returns
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_sendmetadata.dita b/en-US/dita/RTC/API/api_ichannel_sendmetadata.dita index c9f23ba994c..4cdbd96624f 100644 --- a/en-US/dita/RTC/API/api_ichannel_sendmetadata.dita +++ b/en-US/dita/RTC/API/api_ichannel_sendmetadata.dita @@ -1,43 +1,50 @@ - <ph keyref="IChannel_sendMetadata" /> + <ph keyref="IChannel_sendMetadata"/> Sends media metadata. - +

          - - - - sendMetadata(metadata: Metadata): number - public abstract int SendMetadata(Metadata metadata); - - Future<void> sendMetadata(Uint8List metadata);

          + + + + sendMetadata(metadata: Metadata): number + public abstract int SendMetadata(Metadata metadata); + + Future<void> sendMetadata(Uint8List metadata); +

          -

          After a successful method call of , the SDK triggers the callback, and then you can call this method to send media metadata.

          -

          If the metadata is sent successfully, the SDK triggers the callback on the receiver.

          +

          After a successful method call of , the SDK triggers the callback, and then you can call this + method to send media metadata.

          +

          If the metadata is sent successfully, the SDK triggers the callback on the receiver.

          Parameters - - metadata - Media metadata. See . - -
          + + metadata + Media metadata. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        408. 0: Success.
        409. +
        410. < 0: Failure.
        411. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_sendstreammessage.dita b/en-US/dita/RTC/API/api_ichannel_sendstreammessage.dita index 590575bcb06..3d3a067c36e 100644 --- a/en-US/dita/RTC/API/api_ichannel_sendstreammessage.dita +++ b/en-US/dita/RTC/API/api_ichannel_sendstreammessage.dita @@ -1,35 +1,42 @@ - <ph keyref="IChannel_sendStreamMessage" /> - + <ph keyref="IChannel_sendStreamMessage"/> + - +

          - - - virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0; - sendStreamMessage(streamId: number, data: string): number - public abstract int SendStreamMessage(int streamId, byte[] data); - - Future<void> sendStreamMessage(int streamId, Uint8List message);

          + + + virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0; + sendStreamMessage(streamId: number, data: string): number + public abstract int SendStreamMessage(int streamId, byte[] data); + + Future<void> sendStreamMessage(int streamId, Uint8List message); +

          -

          -

          A successful method call triggers the callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the callback on the remote client.

          +

          +

          A successful method call triggers the + callback on the remote client, from which the remote user gets the stream message. A + failed method call triggers the + callback on the remote client.

          -
            -
          • Ensure that you call to create a data channel before calling this method.
          • -
          • In live streaming scenarios, this method only applies to hosts.
          • -
          -
          -
          +
            +
          • Ensure that you call to create a data + channel before calling this method.
          • +
          • In live streaming scenarios, this method only applies to hosts.
          • +
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setchanneleventhandler.dita b/en-US/dita/RTC/API/api_ichannel_setchanneleventhandler.dita index 45bfffe761a..94f9eee0434 100644 --- a/en-US/dita/RTC/API/api_ichannel_setchanneleventhandler.dita +++ b/en-US/dita/RTC/API/api_ichannel_setchanneleventhandler.dita @@ -1,44 +1,50 @@ - <ph keyref="IChannel_setChannelEventHandler" /> - Sets the event handler for the object. + <ph keyref="IChannel_setChannelEventHandler"/> + Sets the event handler for the object. - +

          - - - virtual int setChannelEventHandler(IChannelEventHandler *channelEh) = 0; - - public abstract void InitEventHandler(IAgoraRtcChannelEventHandler channelEventHandler); - - void setEventHandler(RtcChannelEventHandler handler)

          + + + virtual int setChannelEventHandler(IChannelEventHandler *channelEh) = 0; + + public abstract void InitEventHandler(IAgoraRtcChannelEventHandler channelEventHandler); + + void setEventHandler(RtcChannelEventHandler handler) +

          -

          After setting the channel event handler, you can listen for channel events and receive the statistics of the corresponding object.

          +

          After setting the channel event handler, you can listen for channel events and + receive the statistics of the corresponding object.

          Parameters - - channelEh - handler - channelEventHandler - The event handler for the object. For details, see . - -
          + + channelEh + handler + channelEventHandler + The event handler for the object. For details, + see . + + +
          Returns
            -
          • 0(ERR_OK): Success.
          • -
          • < 0: Failure.
          • -
          +
        412. 0(ERR_OK): Success.
        413. +
        414. < 0: Failure.
        415. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setclientrole.dita b/en-US/dita/RTC/API/api_ichannel_setclientrole.dita index c930d05970d..6c7ab3e3ae6 100644 --- a/en-US/dita/RTC/API/api_ichannel_setclientrole.dita +++ b/en-US/dita/RTC/API/api_ichannel_setclientrole.dita @@ -1,35 +1,38 @@ - <ph keyref="IChannel_setClientRole1" /> - + <ph keyref="IChannel_setClientRole1"/> + - +

          - - - virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; - setClientRole(role: CLIENT_ROLE_TYPE): number - public abstract int SetClientRole(CLIENT_ROLE_TYPE role); - -

          + + + virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; + setClientRole(role: CLIENT_ROLE_TYPE): number + public abstract int SetClientRole(CLIENT_ROLE_TYPE role); + + +

          -

          -

          If you call this method to switch the user role after joining the channel, the SDK triggers the following callbacks: -

            -
          • The local client: .
          • -
          • The remote client: or (USER_OFFLINE_BECOME_AUDIENCE).
          • -

          - This method applies only to interactive live streaming.
          -
          -
          +

          +

          If you call this method to switch the user role after joining the channel, the SDK + triggers the following callbacks:

            +
          • The local client: .
          • +
          • The remote client: or (USER_OFFLINE_BECOME_AUDIENCE).
          • +

          + This method applies only to interactive live streaming. +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setclientrole2.dita b/en-US/dita/RTC/API/api_ichannel_setclientrole2.dita index a96e29bf1b4..bd9a8d99f99 100644 --- a/en-US/dita/RTC/API/api_ichannel_setclientrole2.dita +++ b/en-US/dita/RTC/API/api_ichannel_setclientrole2.dita @@ -1,48 +1,59 @@ - <ph keyref="IChannel_setClientRole2" /> - + <ph keyref="IChannel_setClientRole2"/> + - +

          - - - virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; - setClientRoleWithOptions(role: CLIENT_ROLE_TYPE, options: ClientRoleOptions): number - public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); - - Future<void> setClientRole(ClientRole role, [ClientRoleOptions? options]);

          + + + virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; + setClientRoleWithOptions(role: CLIENT_ROLE_TYPE, options: ClientRoleOptions): number + public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); + + Future<void> setClientRole(ClientRole role, [ClientRoleOptions? options]); +

          - -
          Since
          -
          v3.2.0
          -
          + +
          Since
          +
          v3.2.0
          +
          -

          You can call this method either before or after joining the channel to set the user role as audience or host.

          -

          If you call this method to switch the user role after joining the channel, the SDK triggers the following callbacks: -

            -
          • The local client: .
          • -
          • The remote client: or .
          • -

          +

          You can call this method either before or after joining the channel to set the user + role as audience or host.

          +

          If you call this method to switch the user role after joining the channel, the SDK + triggers the following callbacks:

            +
          • The local client: .
          • +
          • The remote client: or .
          • +

          -
            -
          • This method only takes effect when the channel profile is live interactive streaming (when the profile parameter in set as ).
          • -
          • The difference between this method and [1/2] is that this method can set the user level in addition to the user role. -
              -
            • -
          • -
          -
          -
          +
            +
          • This method only takes effect when the channel profile is live interactive + streaming (when the profile parameter in set as ).
          • +
          • The difference between this method and [1/2] is that this method can set the + user level in addition to the user role.
              +
            • +
            +
          • +
          + +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setdefaultmuteallremoteaudiostreams.dita b/en-US/dita/RTC/API/api_ichannel_setdefaultmuteallremoteaudiostreams.dita index b9ef1b732a5..b3544c20fa0 100644 --- a/en-US/dita/RTC/API/api_ichannel_setdefaultmuteallremoteaudiostreams.dita +++ b/en-US/dita/RTC/API/api_ichannel_setdefaultmuteallremoteaudiostreams.dita @@ -1,41 +1,50 @@ - <ph keyref="IChannel_setDefaultMuteAllRemoteAudioStreams" /> - + <ph keyref="IChannel_setDefaultMuteAllRemoteAudioStreams"/> + - +

          - - - virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; - setDefaultMuteAllRemoteAudioStreams(mute: boolean): number - public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); - - Future<void> setDefaultMuteAllRemoteAudioStreams(bool muted);

          + + + virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; + setDefaultMuteAllRemoteAudioStreams(mute: boolean): number + public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); + + Future<void> setDefaultMuteAllRemoteAudioStreams(bool muted); +

          - -
          Deprecated:
          -
          This method is deprecated.
          -
          + +
          Deprecated:
          +
          This method is deprecated.
          +
          -

          +

          -

          If you need to resume subscribing to the audio streams of remote users in the channel after calling this method, do the following:

          -
            -
          • If you need to resume subscribing to the audio stream of a specified user, call (), and specify the user ID.
          • -
          • If you need to resume subscribing to the audio streams of multiple remote users, call () multiple times.
          • -
          -
          -
          +

          If you need to resume subscribing to the audio streams of remote users in the + channel after calling this method, do the following:

          +
            +
          • If you need to resume subscribing to the audio stream of a specified user, + call (), and specify the user ID.
          • +
          • If you need to resume subscribing to the audio streams of multiple remote + users, call () multiple times.
          • +
          + +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setdefaultmuteallremotevideostreams.dita b/en-US/dita/RTC/API/api_ichannel_setdefaultmuteallremotevideostreams.dita index e6621dde899..bb8ad541ee8 100644 --- a/en-US/dita/RTC/API/api_ichannel_setdefaultmuteallremotevideostreams.dita +++ b/en-US/dita/RTC/API/api_ichannel_setdefaultmuteallremotevideostreams.dita @@ -1,41 +1,50 @@ - <ph keyref="IChannel_setDefaultMuteAllRemoteVideoStreams" /> - + <ph keyref="IChannel_setDefaultMuteAllRemoteVideoStreams"/> + - +

          - - - virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; - setDefaultMuteAllRemoteVideoStreams(mute: boolean): number - public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); - - Future<void> setDefaultMuteAllRemoteVideoStreams(bool muted);

          + + + virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; + setDefaultMuteAllRemoteVideoStreams(mute: boolean): number + public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); + + Future<void> setDefaultMuteAllRemoteVideoStreams(bool muted); +

          - -
          Deprecated:
          -
          This method is deprecated.
          -
          + +
          Deprecated:
          +
          This method is deprecated.
          +
          -

          +

          -

          If you need to resume subscribing to the video streams of remote users in the channel, do the following:

          -
            -
          • If you need to resume subscribing to a single user, call () and specify the ID of the remote user you want to subscribe to.
          • -
          • If you want to resume subscribing to multiple users, call () multiple times.
          • -
          -
          -
          +

          If you need to resume subscribing to the video streams of remote users in the + channel, do the following:

          +
            +
          • If you need to resume subscribing to a single user, call () and + specify the ID of the remote user you want to subscribe to.
          • +
          • If you want to resume subscribing to multiple users, call () multiple times.
          • +
          + +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setencryptionmode.dita b/en-US/dita/RTC/API/api_ichannel_setencryptionmode.dita index 7db92705a9b..fc72e9817cc 100644 --- a/en-US/dita/RTC/API/api_ichannel_setencryptionmode.dita +++ b/en-US/dita/RTC/API/api_ichannel_setencryptionmode.dita @@ -1,36 +1,42 @@ - <ph keyref="IChannel_setEncryptionMode" /> - + <ph keyref="IChannel_setEncryptionMode"/> + - +

          - - - virtual int setEncryptionMode(const char* encryptionMode) = 0; - setEncryptionMode(encryptionMode: string): number - public abstract int SetEncryptionMode(string encryptionMode); - - Future<void> setEncryptionMode(EncryptionMode encryptionMode);

          + + + virtual int setEncryptionMode(const char* encryptionMode) = 0; + setEncryptionMode(encryptionMode: string): number + public abstract int SetEncryptionMode(string encryptionMode); + + Future<void> setEncryptionMode(EncryptionMode encryptionMode); +

          - -
          Deprecated:
          -
          Please use the method instead.
          -
          + +
          Deprecated:
          +
          Please use the method + instead.
          +
          -

          - Before calling this method, please call to enable the built-in encryption function.

          -
          -
          +

          + Before calling this method, please call to enable the built-in encryption + function. +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setencryptionsecret.dita b/en-US/dita/RTC/API/api_ichannel_setencryptionsecret.dita index 835efb51d75..1f05571096c 100644 --- a/en-US/dita/RTC/API/api_ichannel_setencryptionsecret.dita +++ b/en-US/dita/RTC/API/api_ichannel_setencryptionsecret.dita @@ -1,36 +1,40 @@ - <ph keyref="IChannel_setEncryptionSecret" /> - + <ph keyref="IChannel_setEncryptionSecret"/> + - +

          - - - virtual int setEncryptionSecret(const char* secret) = 0; - setEncryptionSecret(secret: string): number - public abstract int SetEncryptionSecret(string secret); - - Future<void> setEncryptionSecret(String secret);

          + + + virtual int setEncryptionSecret(const char* secret) = 0; + setEncryptionSecret(secret: string): number + public abstract int SetEncryptionSecret(string secret); + + Future<void> setEncryptionSecret(String secret); +

          - -
          Deprecated:
          -
          Please use the method instead.
          -
          + +
          Deprecated:
          +
          Please use the method + instead.
          +
          -

          -

          -
          -
          +

          + +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setlivetranscoding.dita b/en-US/dita/RTC/API/api_ichannel_setlivetranscoding.dita index 9b0e884a59e..b4741f110eb 100644 --- a/en-US/dita/RTC/API/api_ichannel_setlivetranscoding.dita +++ b/en-US/dita/RTC/API/api_ichannel_setlivetranscoding.dita @@ -1,41 +1,48 @@ - <ph keyref="IChannel_setLiveTranscoding" /> - + + <ph keyref="IChannel_setLiveTranscoding"/> + + - +

          - - - virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; - setLiveTranscoding(transcoding: LiveTranscoding): number - public abstract int SetLiveTranscoding(LiveTranscoding transcoding); - - Future<void> setLiveTranscoding(LiveTranscoding transcoding);

          + + + virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; + setLiveTranscoding(transcoding: LiveTranscoding): number + public abstract int SetLiveTranscoding(LiveTranscoding transcoding); + + Future<void> setLiveTranscoding(LiveTranscoding transcoding); +

          - -
          Deprecated:
          -
          This method is deprecated. See Release Notes for an alternative solution.
          -
          This method is deprecated.
          -
          + +
          Deprecated:
          +
          + This method is deprecated. See + Release Notes for an alternative + solution. +
          +
          This method is deprecated.
          +
          -

          - This method sets the video layout and audio settings for CDN live streaming. The SDK triggers the - - callback when you call this method to update the transcoding setting. -

          -
          -
          -
          +

          This method sets the video layout and audio settings for CDN live streaming. The SDK + triggers the callback when you call + this method to update the transcoding setting.

          + +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setmaxmetadatasize.dita b/en-US/dita/RTC/API/api_ichannel_setmaxmetadatasize.dita index a93c166d988..54949665ccb 100644 --- a/en-US/dita/RTC/API/api_ichannel_setmaxmetadatasize.dita +++ b/en-US/dita/RTC/API/api_ichannel_setmaxmetadatasize.dita @@ -1,42 +1,47 @@ - <ph keyref="IChannel_setMaxMetadataSize" /> - Sets the maximum size of the media metadata. + <ph keyref="IChannel_setMaxMetadataSize"/> + Sets the maximum size of the media + metadata. - +

          - - - - setMaxMetadataSize(size: number): number - public abstract int SetMaxMetadataSize(int size); - - Future<void> setMaxMetadataSize(int size);

          + + + + setMaxMetadataSize(size: number): number + public abstract int SetMaxMetadataSize(int size); + + Future<void> setMaxMetadataSize(int size); +

          -

          After calling , you can call this method to set the maximum size of the media metadata.

          +

          After calling , you can call + this method to set the maximum size of the media metadata.

          Parameters - - size - The maximum size of media metadata. - -
          + + size + The maximum size of media metadata. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        416. 0: Success.
        417. +
        418. < 0: Failure.
        419. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setremotedefaultvideostreamtype.dita b/en-US/dita/RTC/API/api_ichannel_setremotedefaultvideostreamtype.dita index 603d8b332b9..87709a0a5bb 100644 --- a/en-US/dita/RTC/API/api_ichannel_setremotedefaultvideostreamtype.dita +++ b/en-US/dita/RTC/API/api_ichannel_setremotedefaultvideostreamtype.dita @@ -1,32 +1,38 @@ - <ph keyref="IChannel_setRemoteDefaultVideoStreamType" /> - + <ph keyref="IChannel_setRemoteDefaultVideoStreamType"/> + - +

          - - - virtual int setRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType) = 0; - setRemoteDefaultVideoStreamType(streamType: REMOTE_VIDEO_STREAM_TYPE): number - public abstract int SetRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType); - - Future<void> setRemoteDefaultVideoStreamType(VideoStreamType streamType);

          + + + virtual int setRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType) = 0; + setRemoteDefaultVideoStreamType(streamType: REMOTE_VIDEO_STREAM_TYPE): number + public abstract int SetRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType); + + Future<void> setRemoteDefaultVideoStreamType(VideoStreamType streamType); +

          -

          -

          -

          - Call this method after joining a channel. If you call both and , the setting of takes effect.

          -
          -
          +

          +

          +

          + Call this method after joining a channel. If you call both and , the setting of takes effect. +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setremoterendermode.dita b/en-US/dita/RTC/API/api_ichannel_setremoterendermode.dita index 2dc3c5d14db..297035d9e77 100644 --- a/en-US/dita/RTC/API/api_ichannel_setremoterendermode.dita +++ b/en-US/dita/RTC/API/api_ichannel_setremoterendermode.dita @@ -1,31 +1,32 @@ - <ph keyref="IChannel_setRemoteRenderMode" /> - + <ph keyref="IChannel_setRemoteRenderMode"/> + - +

          - - - virtual int setRemoteRenderMode(uid_t userId, + + + virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - - public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode, + + public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); - -

          + + +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setremoteuserpriority.dita b/en-US/dita/RTC/API/api_ichannel_setremoteuserpriority.dita index 61a704f4666..94e2b3080c0 100644 --- a/en-US/dita/RTC/API/api_ichannel_setremoteuserpriority.dita +++ b/en-US/dita/RTC/API/api_ichannel_setremoteuserpriority.dita @@ -1,28 +1,30 @@ - <ph keyref="IChannel_setRemoteUserPriority" /> - + <ph keyref="IChannel_setRemoteUserPriority"/> + - +

          - - - virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; - setRemoteUserPriority(uid: number, userPriority: PRIORITY_TYPE): number - public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); - - Future<void> setRemoteUserPriority(int uid, UserPriority userPriority);

          + + + virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; + setRemoteUserPriority(uid: number, userPriority: PRIORITY_TYPE): number + public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); + + Future<void> setRemoteUserPriority(int uid, UserPriority userPriority); +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setremotevideostreamtype.dita b/en-US/dita/RTC/API/api_ichannel_setremotevideostreamtype.dita index d7c5eb4b76a..35ca725fe89 100644 --- a/en-US/dita/RTC/API/api_ichannel_setremotevideostreamtype.dita +++ b/en-US/dita/RTC/API/api_ichannel_setremotevideostreamtype.dita @@ -1,32 +1,38 @@ - <ph keyref="IChannel_setRemoteVideoStreamType" /> - + <ph keyref="IChannel_setRemoteVideoStreamType"/> + - +

          - - - virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; - setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number - public abstract int SetRemoteVideoStreamType(uint userId, REMOTE_VIDEO_STREAM_TYPE streamType); - - Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType);

          + + + virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; + setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number + public abstract int SetRemoteVideoStreamType(uint userId, REMOTE_VIDEO_STREAM_TYPE streamType); + + Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType); +

          -

          -

          -

          - Call this method after joining a channel. If you call both and , the setting of takes effect.

          -
          -
          +

          +

          +

          + Call this method after joining a channel. If you call both + and , the setting of takes effect. +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_setremotevoiceposition.dita b/en-US/dita/RTC/API/api_ichannel_setremotevoiceposition.dita index c8bfb8d51df..7d02881f2cd 100644 --- a/en-US/dita/RTC/API/api_ichannel_setremotevoiceposition.dita +++ b/en-US/dita/RTC/API/api_ichannel_setremotevoiceposition.dita @@ -1,28 +1,30 @@ - <ph keyref="IChannel_setRemoteVoicePosition" /> - + <ph keyref="IChannel_setRemoteVoicePosition"/> + - +

          - - - virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; - setRemoteVoicePosition(uid: number, pan: number, gain: number): number - public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); - - Future<void> setRemoteVoicePosition(int uid, double pan, double gain);

          + + + virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; + setRemoteVoicePosition(uid: number, pan: number, gain: number): number + public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); + + Future<void> setRemoteVoicePosition(int uid, double pan, double gain); +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_startchannelmediarelay.dita b/en-US/dita/RTC/API/api_ichannel_startchannelmediarelay.dita index ad63ce258e1..f2ef18b944e 100644 --- a/en-US/dita/RTC/API/api_ichannel_startchannelmediarelay.dita +++ b/en-US/dita/RTC/API/api_ichannel_startchannelmediarelay.dita @@ -1,42 +1,61 @@ - <ph keyref="IChannel_startChannelMediaRelay" /> - + <ph keyref="IChannel_startChannelMediaRelay"/> + - +

          - - - virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - startChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number - public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - - Future<void> startChannelMediaRelay( - ChannelMediaRelayConfiguration channelMediaRelayConfiguration);

          + + + virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + startChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number + public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + + Future<void> startChannelMediaRelay( + ChannelMediaRelayConfiguration channelMediaRelayConfiguration); +

          -

          After a successful method call, the SDK triggers the and callbacks, and these callbacks return the state and events of the media stream relay. -

            -
          • If the callback returns (2) and (0), and the callback returns (4), it means that the SDK starts relaying media streams between the source channel and the destination channel.
          • -
          • If the callback returns (3), an exception occurs during the media stream relay.
          • -

          +

          After a successful method call, the SDK triggers the and callbacks, and these callbacks + return the state and events of the media stream relay.

            +
          • If the callback + returns (2) and (0), and the callback returns (4), it means that + the SDK starts relaying media streams between the source channel and the + destination channel.
          • +
          • If the callback + returns (3), an exception occurs + during the media stream relay.
          • +
          +

          -
            -
          • Call this method after joining the channel.
          • -
          • This method takes effect only when you are a host in a live streaming channel.
          • -
          • After a successful method call, if you want to call this method again, ensure that you call the method to quit the current relay.
          • -
          • You need to before implementing this function.
          • -
          • We do not support string user accounts in this API.
          • -
          -
          -
          +
            +
          • Call this method after joining the channel.
          • +
          • This method takes effect only when you are a host in a live streaming + channel.
          • +
          • After a successful method call, if you want to call this method again, + ensure that you call the + method to quit the current relay.
          • +
          • You need to before implementing this + function.
          • +
          • We do not support string user accounts in this API.
          • +
          + +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_startrtmpstreamwithouttranscoding.dita b/en-US/dita/RTC/API/api_ichannel_startrtmpstreamwithouttranscoding.dita index bb129660b74..bbe4915fba0 100644 --- a/en-US/dita/RTC/API/api_ichannel_startrtmpstreamwithouttranscoding.dita +++ b/en-US/dita/RTC/API/api_ichannel_startrtmpstreamwithouttranscoding.dita @@ -1,38 +1,49 @@ - <ph keyref="IChannel_startRtmpStreamWithoutTranscoding" /> - + + <ph keyref="IChannel_startRtmpStreamWithoutTranscoding"/> + + - +

          - - - - - public abstract int StartRtmpStreamWithoutTranscoding(string url); - - Future<void> startRtmpStreamWithoutTranscoding(String url);

          + + + + + public abstract int StartRtmpStreamWithoutTranscoding(string url); + + Future<void> startRtmpStreamWithoutTranscoding(String url); +

          -

          You can call this method to push a live audio-and-video stream to the specified CDN address and set the transcoding configuration. This method can push media streams to only one CDN address at a time, so if you need to push streams to multiple addresses, call this method multiple times.

          -

          After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

          -
          +

          You can call this method to push a live audio-and-video stream to the specified CDN + address and set the transcoding configuration. This method can push media streams to + only one CDN address at a time, so if you need to push streams to multiple + addresses, call this method multiple times.

          +

          After you call this method, the SDK triggers the callback on the local client to + report the state of the streaming.

          + +
          Parameters - - - - -
          -
          + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_startrtmpstreamwithtranscoding.dita b/en-US/dita/RTC/API/api_ichannel_startrtmpstreamwithtranscoding.dita index cd61fd745a1..561752b2b79 100644 --- a/en-US/dita/RTC/API/api_ichannel_startrtmpstreamwithtranscoding.dita +++ b/en-US/dita/RTC/API/api_ichannel_startrtmpstreamwithtranscoding.dita @@ -1,42 +1,53 @@ - <ph keyref="IChannel_startRtmpStreamWithTranscoding" /> - + + <ph keyref="IChannel_startRtmpStreamWithTranscoding"/> + + - +

          - - - - - public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); - - Future<void> startRtmpStreamWithTranscoding(LiveTranscoding transcoding);

          + + + + + public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); + + Future<void> startRtmpStreamWithTranscoding(LiveTranscoding transcoding); +

          -

          You can call this method to push a live audio-and-video stream to the specified CDN address and set the transcoding configuration. This method can push media streams to only one CDN address at a time, so if you need to push streams to multiple addresses, call this method multiple times.

          -

          After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

          -
          +

          You can call this method to push a live audio-and-video stream to the specified CDN + address and set the transcoding configuration. This method can push media streams to + only one CDN address at a time, so if you need to push streams to multiple + addresses, call this method multiple times.

          +

          After you call this method, the SDK triggers the callback on the local client to + report the state of the streaming.

          + +
          Parameters - - - - - - - - -
          -
          + + + + + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_stopchannelmediarelay.dita b/en-US/dita/RTC/API/api_ichannel_stopchannelmediarelay.dita index 64744313466..8dc81ecbb64 100644 --- a/en-US/dita/RTC/API/api_ichannel_stopchannelmediarelay.dita +++ b/en-US/dita/RTC/API/api_ichannel_stopchannelmediarelay.dita @@ -1,29 +1,40 @@ - <ph keyref="IChannel_stopChannelMediaRelay" /> - + <ph keyref="IChannel_stopChannelMediaRelay"/> + - +

          - - - virtual int stopChannelMediaRelay() = 0; - stopChannelMediaRelay(): number - public abstract int StopChannelMediaRelay(); - - Future<void> stopChannelMediaRelay();

          + + + virtual int stopChannelMediaRelay() = 0; + stopChannelMediaRelay(): number + public abstract int StopChannelMediaRelay(); + + Future<void> stopChannelMediaRelay(); +

          -

          After a successful method call, the SDK triggers the callback. If the callback reports (0) and (0), the host successfully stops the relay.

          - If the method call fails, the SDK triggers the callback with the (2) or (8) status code. You can call the method to leave the channel, and the media stream relay automatically stops.
          -
          +

          After a successful method call, the SDK triggers the callback. If the callback + reports (0) and (0), + the host successfully stops the relay.

          + If the method call fails, the SDK triggers the callback with the (2) or (8) status code. You can call the + method to leave the channel, and the + media stream relay automatically stops. +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_stoprtmpstream.dita b/en-US/dita/RTC/API/api_ichannel_stoprtmpstream.dita index 6f0f3f88e43..fa0459b2ce2 100644 --- a/en-US/dita/RTC/API/api_ichannel_stoprtmpstream.dita +++ b/en-US/dita/RTC/API/api_ichannel_stoprtmpstream.dita @@ -1,38 +1,47 @@ - <ph keyref="IChannel_stopRtmpStream" /> - + + <ph keyref="IChannel_stopRtmpStream"/> + + - +

          - - - - - public abstract int StopRtmpStream(string url); - - Future<void> stopRtmpStream(String url);

          + + + + + public abstract int StopRtmpStream(string url); + + Future<void> stopRtmpStream(String url); +

          -

          You can call this method to stop the live stream on the specified CDN address. This method can stop pushing media streams to only one CDN address at a time, so if you need to stop pushing streams to multiple addresses, call this method multiple times.

          -

          After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

          +

          You can call this method to stop the live stream on the specified CDN address. This + method can stop pushing media streams to only one CDN address at a time, so if you + need to stop pushing streams to multiple addresses, call this method multiple + times.

          +

          After you call this method, the SDK triggers the callback on the local client to + report the state of the streaming.

          Parameters - - - - -
          -
          + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_unpublish.dita b/en-US/dita/RTC/API/api_ichannel_unpublish.dita index c127737b992..542dbb24ff5 100644 --- a/en-US/dita/RTC/API/api_ichannel_unpublish.dita +++ b/en-US/dita/RTC/API/api_ichannel_unpublish.dita @@ -1,30 +1,32 @@ - <ph keyref="IChannel_unpublish" /> - Stops publishing a stream to the channel. + <ph keyref="IChannel_unpublish"/> + Stops publishing a stream to the + channel. - +

          - - - virtual int unpublish() = 0; - unpublish(): number - public abstract int Unpublish(); - - Future<void> unpublish();

          + + + virtual int unpublish() = 0; + unpublish(): number + public abstract int Unpublish(); + + Future<void> unpublish(); +

          -

          If you call this method in a channel where you are not publishing streams, the SDK returns - -5 (ERR_REFUSED).

          +

          If you call this method in a channel where you are not publishing streams, the SDK + returns -5 (ERR_REFUSED).

          -
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_unregistermediametadataobserver.dita b/en-US/dita/RTC/API/api_ichannel_unregistermediametadataobserver.dita index aabebd1853d..7df4172a2cc 100644 --- a/en-US/dita/RTC/API/api_ichannel_unregistermediametadataobserver.dita +++ b/en-US/dita/RTC/API/api_ichannel_unregistermediametadataobserver.dita @@ -1,32 +1,36 @@ - <ph keyref="IChannel_unregisterMediaMetadataObserver" /> - Unregisters the media metadata observer. + <ph keyref="IChannel_unregisterMediaMetadataObserver"/> + Unregisters the media metadata + observer. - +

          - - - - unregisterMediaMetadataObserver(type: METADATA_TYPE = 0): number - public abstract int UnRegisterMediaMetadataObserver(METADATA_TYPE type); - - Future<void> unregisterMediaMetadataObserver();

          + + + + unregisterMediaMetadataObserver(type: METADATA_TYPE = 0): number + public abstract int UnRegisterMediaMetadataObserver(METADATA_TYPE type); + + Future<void> unregisterMediaMetadataObserver(); +

          -
          +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        420. 0: Success.
        421. +
        422. < 0: Failure.
        423. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_updatechannelmediarelay.dita b/en-US/dita/RTC/API/api_ichannel_updatechannelmediarelay.dita index 8e55d4a5750..92dadd915fa 100644 --- a/en-US/dita/RTC/API/api_ichannel_updatechannelmediarelay.dita +++ b/en-US/dita/RTC/API/api_ichannel_updatechannelmediarelay.dita @@ -1,32 +1,39 @@ - <ph keyref="IChannel_updateChannelMediaRelay" /> - + <ph keyref="IChannel_updateChannelMediaRelay"/> + - +

          - - - virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - updateChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number - public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - - Future<void> updateChannelMediaRelay( - ChannelMediaRelayConfiguration channelMediaRelayConfiguration);

          + + + virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + updateChannelMediaRelay(configuration: ChannelMediaRelayConfiguration): number + public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + + Future<void> updateChannelMediaRelay( + ChannelMediaRelayConfiguration channelMediaRelayConfiguration); +

          -

          -

          After a successful method call, the SDK triggers the callback with the (7) state code.

          - Call this method after the method to update the destination channel.
          -
          -
          +

          +

          After a successful method call, the SDK triggers the callback with the (7) state code.

          + Call this method after the method to update the destination + channel. +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ichannel_updatertmptranscoding.dita b/en-US/dita/RTC/API/api_ichannel_updatertmptranscoding.dita index 2b7adac3d3d..7d0cfde782a 100644 --- a/en-US/dita/RTC/API/api_ichannel_updatertmptranscoding.dita +++ b/en-US/dita/RTC/API/api_ichannel_updatertmptranscoding.dita @@ -1,37 +1,44 @@ - <ph keyref="IChannel_updateRtmpTranscoding" /> - + + <ph keyref="IChannel_updateRtmpTranscoding"/> + + - +

          - - - - - public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); - - Future<void> updateRtmpTranscoding(LiveTranscoding transcoding);

          + + + + + public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); + + Future<void> updateRtmpTranscoding(LiveTranscoding transcoding); +

          -

          After you start pushing media streams to CDN with transcoding, you can dynamically update the transcoding configuration according to the scenario. The SDK triggers the callback after the transcoding configuration is updated.

          +

          After you start pushing media streams to CDN with transcoding, you can dynamically + update the transcoding configuration according to the scenario. The SDK triggers the + callback after the transcoding + configuration is updated.

          Parameters - - - - -
          -
          + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_addeventhandler.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_addeventhandler.dita index 0e234cd7a10..0ad01f279ed 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_addeventhandler.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_addeventhandler.dita @@ -1,39 +1,44 @@ - <ph keyref="addEventHandler" /> - Adds the event handler. + <ph keyref="addEventHandler"/> + Adds the event handler. - +

          - public abstract int addEventHandler(ICloudSpatialAudioEventHandler eventHandler); - - virtual int addEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; - - public abstract void InitEventHandler(IAgoraRtcCloudSpatialAudioEngineEventHandler eh); - -

          + public abstract int addEventHandler(ICloudSpatialAudioEventHandler eventHandler); + + virtual int addEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; + + public abstract void InitEventHandler(IAgoraRtcCloudSpatialAudioEngineEventHandler eh); + + +

          Parameters - - eventHandler - The callback to be added. See for details. - -
          + + eventHandler + The callback to be added. See for details. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        424. 0: Success.
        425. +
        426. < 0: Failure.
        427. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_create.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_create.dita index f4833b4cc49..c233123cd0a 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_create.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_create.dita @@ -1,37 +1,39 @@ - <ph keyref="create_ICloudSpatialAudioEngine" /> - Creates . + <ph keyref="create_ICloudSpatialAudioEngine"/> + Creates . - +

          - public static synchronized ICloudSpatialAudioEngine create() { + public static synchronized ICloudSpatialAudioEngine create() { if (mInstance == null) { mInstance = new CloudSpatialAudioImpl(); } return mInstance; } - - - - - -

          + + + + + + +

          -

          Call this method before .

          +

          Call this method before .

          Returns -

          +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_enablespatializer.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_enablespatializer.dita index 1086b40acdc..0f7de85d907 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_enablespatializer.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_enablespatializer.dita @@ -1,59 +1,68 @@ - <ph keyref="enableSpatializer" /> - Enables or disables the calculation of spatial audio effect parameters by the Agora Spatial Audio Server. + <ph keyref="enableSpatializer"/> + Enables or disables the calculation of spatial audio + effect parameters by the Agora Spatial Audio Server. - +

          - public abstract int enableSpatializer(boolean enable, boolean applyToTeam); - - (int)enableSpatializer:(BOOL)enable applyToTeam:(BOOL)applyToTeam; - virtual int enableSpatializer(bool enable, bool applyToTeam) = 0; - - public abstract int EnableSpatializer(bool enable, bool applyToTeam); - -

          + public abstract int enableSpatializer(boolean enable, boolean applyToTeam); + - (int)enableSpatializer:(BOOL)enable applyToTeam:(BOOL)applyToTeam; + virtual int enableSpatializer(bool enable, bool applyToTeam) = 0; + + public abstract int EnableSpatializer(bool enable, bool applyToTeam); + + +

          -

          Once enabled, users can hear the spatial audio effect of remote users, as well as their spatial position changes. - You can call this method either before or after , with the following differences: -

            -
          • If you call this method before , this method takes effect when entering the room.
          • -
          • If you call this method after , this method takes effect immediately.
          • -

          +

          Once enabled, users can hear the spatial audio effect of remote users, as well as + their spatial position changes. You can call this method either + before or after , with the following differences:

            +
          • If you call this method before , this + method takes effect when entering the room.
          • +
          • If you call this method after , this method + takes effect immediately.
          • +
          + +

          Parameters - - enable - Whether to enable the calculation of spatial audio effect parameters within the audio reception range: -
            -
          • : Enable the calculation.
          • -
          • : Disable the calculation.
          • -
          -
          - - applyToTeam - Whether to enable the calculation of spatial audio effect parameters in the team: -
            -
          • : Enable the calculation.
          • -
          • : Disable the calculation.
          • -
          This parameter only takes effect when the enable parameter is .
          -
          -
          + + enable + Whether to enable the calculation of spatial audio effect parameters within + the audio reception range:
            +
          • : Enable the calculation.
          • +
          • : Disable the calculation.
          • +
          +
          + + applyToTeam + Whether to enable the calculation of spatial audio effect parameters in the + team:
            +
          • : Enable the calculation.
          • +
          • : Disable the calculation.
          • +
          This parameter only takes effect when the enable + parameter is .
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        428. 0: Success.
        429. +
        430. < 0: Failure.
        431. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_enterroom.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_enterroom.dita index 5837f999523..308da7d2767 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_enterroom.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_enterroom.dita @@ -1,54 +1,70 @@ - <ph keyref="enterRoom" /> + <ph keyref="enterRoom"/> Enters a room. - +

          - public abstract int enterRoom(String token, String roomName, int uid); - - (int)enterRoomByToken:(NSString* _Nullable)token roomName:(NSString* _Nonnull)roomName uid:(NSUInteger)uid; - virtual int enterRoom(const char* token, const char* roomName, unsigned int uid) = 0; - - public abstract int EnterRoom(string token, string roomName, uint uid); - -

          + public abstract int enterRoom(String token, String roomName, int uid); + - (int)enterRoomByToken:(NSString* _Nullable)token roomName:(NSString* _Nonnull)roomName uid:(NSUInteger)uid; + virtual int enterRoom(const char* token, const char* roomName, unsigned int uid) = 0; + + public abstract int EnterRoom(string token, string roomName, uint uid); + + +

          -

          The spatial audio effect does not take effect until you enter a room. After you call this method, the SDK triggers the callback.

          - Call this method after .
          +

          The spatial audio effect does not take effect until you enter a room. After you call + this method, the SDK triggers the + callback.

          + Call this method after . +
          Parameters - - token - The RTM token for authentication. You can generate the RTM token in the following ways: -
            -
          • Use to generate a temporary token.
          • -
          • Deploy your own server for generating tokens. For details, see .
          • -
          The uid or userAccount for generating the RTM token is the combination of the roomName and uid set in . For example, if roomName is test and uid is 123, the uid or userAccount filled in when generating the RTM token is test123.
          -
          - - roomName - The room name. This parameter must be the same as the channel name filled in when you join the channel. - - - - - -
          + + token + The RTM token for authentication. You can generate the RTM token in the + following ways:
            +
          • Use to generate a temporary + token.
          • +
          • Deploy your own server for generating tokens. For details, see .
          • +
          The uid or userAccount for + generating the RTM token is the combination of the + roomName and uid set in . For example, if roomName is + test and uid is + 123, the uid or + userAccount filled in when generating the RTM token + is test123.
          +
          + + roomName + The room name. This parameter must be the same as the channel name filled in + when you join the channel. + + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        432. 0: Success.
        433. +
        434. < 0: Failure.
        435. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_exitroom.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_exitroom.dita index c03a9b68af1..a3bbd1afb8d 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_exitroom.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_exitroom.dita @@ -1,25 +1,26 @@ - <ph keyref="exitRoom" /> + <ph keyref="exitRoom"/> Exits the room. - +

          - public abstract int exitRoom(); - - (int)exitRoom; - virtual int exitRoom() = 0; - - public abstract int ExitRoom(); - -

          + public abstract int exitRoom(); + - (int)exitRoom; + virtual int exitRoom() = 0; + + public abstract int ExitRoom(); + + +

          After the user exits the room, the spatial audio effect disappears immediately.

          @@ -27,8 +28,9 @@
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        436. 0: Success.
        437. +
        438. < 0: Failure.
        439. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_getteammates.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_getteammates.dita index df4c9f94de8..fc53d5aa7a3 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_getteammates.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_getteammates.dita @@ -1,46 +1,51 @@ - <ph keyref="getTeammates" /> + <ph keyref="getTeammates"/> Gets the information of teammates. - +

          - public abstract int getTeammates(ArrayList<Integer> uids); - - (int)getTeammates:(NSArray<NSNumber*> * _Nullable * _Nonnull)uids; - virtual int getTeammates(const uid_t **uids, int *userCount) = 0; - - public abstract int GetTeammates(ref uint[] uids, int[] userCount); - -

          + public abstract int getTeammates(ArrayList<Integer> uids); + - (int)getTeammates:(NSArray<NSNumber*> * _Nullable * _Nonnull)uids; + virtual int getTeammates(const uid_t **uids, int *userCount) = 0; + + public abstract int GetTeammates(ref uint[] uids, int[] userCount); + + +

          -

          After calling to set the team ID and calling to enter the room, you can call this method to get the information of remote users in the same team (teammates).

          +

          After calling to set the team ID and calling to enter the room, you can call this method to get the + information of remote users in the same team (teammates).

          Parameters - - uids - Output parameter. The user IDs of teammates. - - - userCount - Output parameter. The number of teammates. - -
          + + uids + Output parameter. The user IDs of teammates. + + + userCount + Output parameter. The number of teammates. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        440. 0: Success.
        441. +
        442. < 0: Failure.
        443. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_initialize.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_initialize.dita index fb52a8ec344..62b82afe7cd 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_initialize.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_initialize.dita @@ -1,58 +1,70 @@ - <ph keyref="initialize_ICloudSpatialAudioEngine" /> - Initializes . + <ph keyref="initialize_ICloudSpatialAudioEngine"/> + Initializes . - +

          - public abstract int initialize(CloudSpatialAudioConfig config); - + (instancetype _Nonnull)sharedCloudSpatialAudioWithConfig:(AgoraCloudSpatialAudioConfig* _Nonnull)config delegate:(id<AgoraCloudSpatialAudioDelegate> _Nullable)delegate; - virtual int initialize(const CloudSpatialAudioConfig& config) = 0; - - public abstract int Initialize(CloudSpatialAudioConfig config); - -

          + public abstract int initialize(CloudSpatialAudioConfig config); + + (instancetype _Nonnull)sharedCloudSpatialAudioWithConfig:(AgoraCloudSpatialAudioConfig* _Nonnull)config delegate:(id<AgoraCloudSpatialAudioDelegate> _Nullable)delegate; + virtual int initialize(const CloudSpatialAudioConfig& config) = 0; + + public abstract int Initialize(CloudSpatialAudioConfig config); + + +

          -
            -
          • Call this method after calling ().
          • -
          • Call this method after calling .
          • -
          • Before calling other methods of the class, you need to call this method to initialize .
          • -
          • The SDK supports creating only one instance for an app.
          • -
          +
            +
          • Call this method after calling ().
          • +
          • Call this method after calling .
          • +
          • Before calling other methods of the class, you need to call this method + to initialize .
          • +
          • The SDK supports creating only one instance for an app.
          • +
          + +
          Parameters - - config - The configuration of . See for details. - - - delegate - - -
          + + config + The configuration of . See for details. + + + delegate + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -1: A general error occurs (no specified reason).
            • -
            • -2: The parameter is invalid.
            • -
            • -7: The SDK is not initialized.
            • -
            • -22: The resource request failed. The app uses too many system resources and fails to allocate any resources.
            • -
            • -101: The App ID is invalid.
            • -
          • +
          • 0: Success.
          • +
          • < 0: Failure.
              +
            • -1: A general error occurs (no specified reason).
            • +
            • -2: The parameter is invalid.
            • +
            • -7: The SDK is not initialized.
            • +
            • -22: The resource request failed. The app uses too many system resources + and fails to allocate any resources.
            • +
            • -101: The App ID is invalid.
            • +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_release.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_release.dita index 5fa7839a382..fab7b52c560 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_release.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_release.dita @@ -1,35 +1,45 @@ - <ph keyref="release_ICloudSpatialAudioEngine" /> - Destroys . + <ph keyref="release_ICloudSpatialAudioEngine"/> + Destroys . - +

          - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.release(); mInstance = null; } - + (void)destroy; - virtual void release() = 0; - - public abstract void Dispose(); - -

          + + (void)destroy; + virtual void release() = 0; + + public abstract void Dispose(); + + +

          -

          This method releases all resources under . When the user does not need to use the spatial audio effect, you can call this method to release resources for other operations.

          -

          After calling this method, you can no longer use any of the APIs under or . To use the spatial audio effect again, you need to wait until the method execution to complete before calling to create a new . - Call this method before the method under .

          +

          This method releases all resources under . When the user does not need to use the spatial audio effect, you can call this + method to release resources for other operations.

          +

          After calling this method, you can no longer use any of the APIs under or . To use the spatial audio effect + again, you need to wait until the method execution to complete before calling to create a new . Call this method before the method under .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_removeeventhandler.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_removeeventhandler.dita index cd363190264..d5c2e87385b 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_removeeventhandler.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_removeeventhandler.dita @@ -1,42 +1,48 @@ - <ph keyref="removeEventHandler" /> - Removes callbacks specified in . + <ph keyref="removeEventHandler"/> + Removes callbacks specified in . - +

          - public abstract int removeEventHandler(ICloudSpatialAudioEventHandler eventHandler); - - virtual int removeEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; - - - -

          + public abstract int removeEventHandler(ICloudSpatialAudioEventHandler eventHandler); + + virtual int removeEventHandler(ICloudSpatialAudioEventHandler* eventHandler) = 0; + + + + +

          -

          For callbacks that you only want to listen for once, call this method to remove these callbacks after you have received them.

          +

          For callbacks that you only want to listen for once, call this method to remove these + callbacks after you have received them.

          Parameters - - eventHandler - The callback handler to be deleted. See for details. - -
          + + eventHandler + The callback handler to be deleted. See for details. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        444. 0: Success.
        445. +
        446. < 0: Failure.
        447. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_renewtoken.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_renewtoken.dita index d6e3e1e8874..63695c9a762 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_renewtoken.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_renewtoken.dita @@ -1,42 +1,48 @@ - <ph keyref="renewToken_ICloudSpatialAudioEngine" /> + <ph keyref="renewToken_ICloudSpatialAudioEngine"/> Renews the RTM token. - +

          - public abstract int renewToken(String token); - - (int)renewToken:(NSString* _Nonnull)token; - virtual int renewToken(const char* token) = 0; - - - -

          + public abstract int renewToken(String token); + - (int)renewToken:(NSString* _Nonnull)token; + virtual int renewToken(const char* token) = 0; + + + + +

          -

          An RTM token is valid for 24 hours. When the SDK triggers the callback, the application should get a new RTM token and then call this method to pass in the new token; otherwise, the SDK cannot connect to the Agora Spatial Audio Server.

          +

          An RTM token is valid for 24 hours. When the SDK triggers the callback, the application should get a new RTM + token and then call this method to pass in the new token; otherwise, the SDK cannot + connect to the Agora Spatial Audio Server.

          Parameters - - - - -
          + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        448. 0: Success.
        449. +
        450. < 0: Failure.
        451. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_setaudiorangemode.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_setaudiorangemode.dita index 4f8d0271644..bb51f793684 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_setaudiorangemode.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_setaudiorangemode.dita @@ -1,55 +1,65 @@ - <ph keyref="setAudioRangeMode" /> + <ph keyref="setAudioRangeMode"/> Sets the audio range mode. - +

          - public abstract int setAudioRangeMode(int rangeMode); - - (int)setAudioRangeMode:(AgoraAudioRangeMode)rangeMode; - virtual int setAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode) = 0; - - public abstract int SetAudioRangeMode(RANGE_AUDIO_MODE_TYPE rangeMode); - -

          + public abstract int setAudioRangeMode(int rangeMode); + - (int)setAudioRangeMode:(AgoraAudioRangeMode)rangeMode; + virtual int setAudioRangeMode(AUDIO_RANGE_MODE_TYPE rangeMode) = 0; + + public abstract int SetAudioRangeMode(RANGE_AUDIO_MODE_TYPE rangeMode); + + +

          -

          The SDK supports two audio range modes: everyone mode and team mode. The SDK uses everyone mode by default. If you want to change to team mode, call this method.

          +

          The SDK supports two audio range modes: everyone mode and team mode. The SDK uses + everyone mode by default. If you want to change to team mode, call this method.

          A user can only use one mode at a time in a room.

          -

          You can call this method either before or after , with the following differences: -

            -
          • If you call this method before , this method takes effect when entering the room.
          • -
          • If you call this method after , this method takes effect immediately and changes the current audio range mode.
          • -

          +

          You can call this method either before or after , with the + following differences:

            +
          • If you call this method before , this method + takes effect when entering the room.
          • +
          • If you call this method after , this method + takes effect immediately and changes the current audio range mode.
          • +

          Parameters - - rangeMode - The audio range mode. For details, see . -
            -
          • (0): -
              -
            • -
          • -
          • (1):
          • -
          -
          -
          + + rangeMode + The audio range mode. For details, see + . +
            +
          • (0): +
              +
            • +
          • +
          • (1):
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        452. 0: Success.
        453. +
        454. < 0: Failure.
        455. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_icloudspatialaudioengine_setteamid.dita b/en-US/dita/RTC/API/api_icloudspatialaudioengine_setteamid.dita index e1b8f8499e2..d825d5d8cb5 100644 --- a/en-US/dita/RTC/API/api_icloudspatialaudioengine_setteamid.dita +++ b/en-US/dita/RTC/API/api_icloudspatialaudioengine_setteamid.dita @@ -1,43 +1,51 @@ - <ph keyref="setTeamId" /> + <ph keyref="setTeamId"/> Sets the team ID. - +

          - public abstract int setTeamId(int teamId); - - (int)setTeamId:(NSInteger)teamId; - virtual int setTeamId(int teamId) = 0; - - public abstract int SetTeamId(int teamId); - -

          + public abstract int setTeamId(int teamId); + - (int)setTeamId:(NSInteger)teamId; + virtual int setTeamId(int teamId) = 0; + + public abstract int SetTeamId(int teamId); + + +

          -

          In the same room, no matter what the audio range mode and audio reception range are, users with the same team ID can hear each other. Whether users with different team IDs can hear each other is determined by the audio range mode and audio reception range. - Call this method before . A user can only have one team ID in a room, and the team ID cannot be changed after entering the room.

          +

          In the same room, no matter what the audio range mode and audio reception range are, + users with the same team ID can hear each other. Whether users with different team + IDs can hear each other is determined by the audio range mode and audio reception + range. Call this method before . A user + can only have one team ID in a room, and the team ID cannot be changed after + entering the room.

          Parameters - - teamId - The team ID. The value must be greater than 0. The default value is 0, which means that the user is not on a team with other users. - -
          + + teamId + The team ID. The value must be greater than 0. The default value is 0, which + means that the user is not on a team with other users. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        456. 0: Success.
        457. +
        458. < 0: Failure.
        459. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_clearremotepositions.dita b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_clearremotepositions.dita index 3cdb5e2183b..52ec9a2402f 100644 --- a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_clearremotepositions.dita +++ b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_clearremotepositions.dita @@ -1,35 +1,40 @@ - <ph keyref="clearRemotePositions" /> - Removes the spatial positions of all remote users. + <ph keyref="clearRemotePositions"/> + Removes the spatial positions of all remote + users. - +

          - public abstract int clearRemotePositions(); - - (int) clearRemotePositions; - virtual int clearRemotePositions() = 0; - - public abstract int ClearRemotePositions(); - -

          + public abstract int clearRemotePositions(); + - (int) clearRemotePositions; + virtual int clearRemotePositions() = 0; + + public abstract int ClearRemotePositions(); + + +

          -

          After successfully calling this method, the local user no longer hears any remote users.

          -

          After leaving the channel, to avoid wasting resources, you can also call this method to delete the spatial positions of all remote users.

          +

          After successfully calling this method, the local user no longer hears any remote + users.

          +

          After leaving the channel, to avoid wasting resources, you can also call this method + to delete the spatial positions of all remote users.

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        460. 0: Success.
        461. +
        462. < 0: Failure.
        463. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_create.dita b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_create.dita index a0a3eee8798..0598ad3f9f9 100644 --- a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_create.dita +++ b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_create.dita @@ -1,37 +1,39 @@ - <ph keyref="create_ILocalSpatialAudioEngine" /> - Creates . + <ph keyref="create_ILocalSpatialAudioEngine"/> + Creates . - +

          - public static synchronized ILocalSpatialAudioEngine create() { + public static synchronized ILocalSpatialAudioEngine create() { if (mInstance == null) { mInstance = new LocalSpatialAudioImpl(); } return mInstance; } - - - - - -

          + + + + + + +

          -

          Call this method before .

          +

          Call this method before .

          Returns -

          +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_initialize.dita b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_initialize.dita index 9b92502d7b6..9fd8c079dfd 100644 --- a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_initialize.dita +++ b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_initialize.dita @@ -1,47 +1,60 @@ - <ph keyref="initialize_ILocalSpatialAudioEngine" /> - Initializes . + <ph keyref="initialize_ILocalSpatialAudioEngine"/> + Initializes . - +

          - public abstract int initialize(LocalSpatialAudioConfig config); - + (instancetype _Nonnull)sharedLocalSpatialAudioWithConfig:(AgoraLocalSpatialAudioConfig* _Nonnull)config; - virtual int initialize(const LocalSpatialAudioConfig& config) = 0; - - public abstract int Initialize(); - -

          + public abstract int initialize(LocalSpatialAudioConfig config); + + (instancetype _Nonnull)sharedLocalSpatialAudioWithConfig:(AgoraLocalSpatialAudioConfig* _Nonnull)config; + virtual int initialize(const LocalSpatialAudioConfig& config) = 0; + + public abstract int Initialize(); + + +

          -
            -
          • Call this method after calling ().
          • -
          • Call this method after calling .
          • -
          • Before calling other methods of the class, you need to call this method to initialize .
          • -
          • The SDK supports creating only one instance for an app.
          • -
          +
            +
          • Call this method after calling ().
          • +
          • Call this method after calling .
          • +
          • Before calling other methods of the class, you need to call this method + to initialize .
          • +
          • The SDK supports creating only one instance for an app.
          • +
          + +
          Parameters - - config - The configuration of . See for details. - -
          + + config + The configuration of . See for details. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        464. 0: Success.
        465. +
        466. < 0: Failure.
        467. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_release.dita b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_release.dita index d04ed30d06b..ad34c701320 100644 --- a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_release.dita +++ b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_release.dita @@ -1,35 +1,44 @@ - <ph keyref="release_ILocalSpatialAudioEngine" /> - Destroys . + <ph keyref="release_ILocalSpatialAudioEngine"/> + Destroys . - +

          - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.release(); mInstance = null; } - + (void)destroy; - - - public abstract void Dispose(); - -

          + + (void)destroy; + + + public abstract void Dispose(); + + +

          -

          This method releases all resources under . When the user does not need to use the spatial audio effect, you can call this method to release resources for other operations.

          -

          After calling this method, you can no longer use any of the APIs under . To use the spatial audio effect again, you need to wait until the method execution to complete before calling to create a new . - Call this method before the method under .

          +

          This method releases all resources under . When the user does not need to use the spatial audio effect, you can call this + method to release resources for other operations.

          +

          After calling this method, you can no longer use any of the APIs under . To use the spatial audio effect again, you + need to wait until the method + execution to complete before calling to create a new . Call this method before the method under .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_removeremoteposition.dita b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_removeremoteposition.dita index 6d26e0c3568..906ab4cf5a5 100644 --- a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_removeremoteposition.dita +++ b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_removeremoteposition.dita @@ -1,43 +1,50 @@ - <ph keyref="removeRemotePosition" /> - Removes the spatial position of the specified remote user. + <ph keyref="removeRemotePosition"/> + Removes the spatial position of the specified remote + user. - +

          - public abstract int removeRemotePosition(int uid); - - (int) removeRemotePosition:(NSUInteger)uid; - virtual int removeRemotePosition(uid_t uid) = 0; - - public abstract int RemoveRemotePosition(uint uid); - -

          + public abstract int removeRemotePosition(int uid); + - (int) removeRemotePosition:(NSUInteger)uid; + virtual int removeRemotePosition(uid_t uid) = 0; + + public abstract int RemoveRemotePosition(uint uid); + + +

          -

          After successfully calling this method, the local user no longer hears the specified remote user.

          -

          After leaving the channel, to avoid wasting resources, you can also call this method to delete the spatial position of the specified remote user.

          +

          After successfully calling this method, the local user no longer hears the specified + remote user.

          +

          After leaving the channel, to avoid wasting resources, you can also call this method + to delete the spatial position of the specified remote user.

          Parameters - - uid - The user ID. This parameter must be the same as the user ID passed in when the user joined the channel. - -
          + + uid + The user ID. This parameter must be the same as the user ID passed in when + the user joined the channel. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        468. 0: Success.
        469. +
        470. < 0: Failure.
        471. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_updateremoteposition.dita b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_updateremoteposition.dita index ac72e4455a5..7b6fd4fcd12 100644 --- a/en-US/dita/RTC/API/api_ilocalspatialaudioengine_updateremoteposition.dita +++ b/en-US/dita/RTC/API/api_ilocalspatialaudioengine_updateremoteposition.dita @@ -1,46 +1,53 @@ - <ph keyref="updateRemotePosition" /> - Updates the spatial position of the specified remote user. + <ph keyref="updateRemotePosition"/> + Updates the spatial position of the specified remote + user. - +

          - public abstract int updateRemotePosition(int uid, RemoteVoicePositionInfo posInfo); - - (int)updateRemotePosition:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo; - virtual int updateRemotePosition(uid_t uid, const RemoteVoicePositionInfo &posInfo) = 0; - - public abstract int UpdateRemotePosition(uint uid, float[] position, float[] forward); - -

          + public abstract int updateRemotePosition(int uid, RemoteVoicePositionInfo posInfo); + - (int)updateRemotePosition:(NSUInteger)uid positionInfo:(AgoraRemoteVoicePositionInfo* _Nonnull)posInfo; + virtual int updateRemotePosition(uid_t uid, const RemoteVoicePositionInfo &posInfo) = 0; + + public abstract int UpdateRemotePosition(uint uid, float[] position, float[] forward); + + +

          -

          After successfully calling this method, the SDK calculates the spatial audio parameters based on the relative position of the local and remote user.

          - Call this method after .
          +

          After successfully calling this method, the SDK calculates the spatial audio + parameters based on the relative position of the local and remote user.

          + Call this method after . +
          Parameters - - - - - - posInfo - The spatial position of the remote user. See for details. - -
          + + + + + + posInfo + The spatial position of the remote user. See for details. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        472. 0: Success.
        473. +
        474. < 0: Failure.
        475. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaengine_pullaudioframe.dita b/en-US/dita/RTC/API/api_imediaengine_pullaudioframe.dita index bee5f244e41..acf10e074b5 100644 --- a/en-US/dita/RTC/API/api_imediaengine_pullaudioframe.dita +++ b/en-US/dita/RTC/API/api_imediaengine_pullaudioframe.dita @@ -1,67 +1,93 @@ - <ph keyref="pullAudioFrame" /> + <ph keyref="pullAudioFrame"/> Pulls the remote audio data. - +

          - public abstract int pullPlaybackAudioFrame(byte[] data, int lengthInByte); - - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data + public abstract int pullPlaybackAudioFrame(byte[] data, int lengthInByte); + - (BOOL)pullPlaybackAudioFrameRawData:(void * _Nonnull)data lengthInByte:(NSUInteger)lengthInByte; - virtual int pullAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - - public abstract int PullAudioFrame(AudioFrame frame); - -

          + virtual int pullAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + + public abstract int PullAudioFrame(AudioFrame frame); + + +

          -

          Before calling this method, you need to call to notify the app to enable and set the external rendering.

          -

          Before calling this method, you need to set mEnableAudioDeviceenableAudioDevice as in , and call to notify the app to enable and set the external rendering.

          -

          After a successful method call, the app pulls the decoded and mixed audio data for playback.

          +

          Before calling this method, you need to call to notify the app to enable and set the external + rendering.

          +

          Before calling this method, you need to set mEnableAudioDeviceenableAudioDevice as in , and call to + notify the app to enable and set the external rendering.

          +

          After a successful method call, the app pulls the decoded and mixed audio data for + playback.

          -
            -
          • This method only supports pulling data from custom audio source. If you need to pull the data captured by the SDK, do not call this method.
          • -
          • Call this method after joining a channel.
          • -
          • Once you enable the external audio sink, the app will not retrieve any audio data from the callback.
          • -
          • The difference between this method and the callback is as follows:
              -
            • The SDK sends the audio data to the app through the callback. Any delay in processing the audio frames may result in audio jitter.
            • -
            • After a successful method call, the app automatically pulls the audio data from the SDK. After setting the audio data parameters, the SDK adjusts the frame buffer and avoids problems caused by jitter in the external audio playback.
            • -
          • -
          +
        476. This method only supports pulling data from custom audio + source. If you need to pull the data captured by the SDK, do not call this + method.
        477. +
        478. Call this method after joining a channel.
        479. +
        480. Once you enable the external audio sink, the app will not retrieve any audio + data from the callback.
        481. +
        482. The difference between this method and the callback is as follows:
            +
          • The SDK sends the audio data to the app through the callback. Any delay in + processing the audio frames may result in audio jitter.
          • +
          • After a successful method call, the app automatically pulls the + audio data from the SDK. After setting the audio data parameters, + the SDK adjusts the frame buffer and avoids problems caused by + jitter in the external audio playback.
          • +
        483. + + +
          Parameters - - frame - The audio frame: . - - - data - The remote audio data to be pulled. The data type is byte[]. - - - lengthInByte - The data length (byte). The value of this parameter is related to the audio duration, and the values of the sampleRate and channels parameters that you set in . lengthInByte = sampleRate/1000 × 2 × channels × audio duration (ms). - -
          + + frame + The audio frame: . + + + data + The remote audio data to be pulled. The data type is + byte[]. + + + lengthInByte + The data length (byte). The value of this parameter is related to the audio + duration, and the values of the sampleRate and + channels parameters that you set in . lengthInByte = + sampleRate/1000 × 2 × channels × audio + duration (ms). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
            -
          • : Success.
          • -
          • : Failure.
          • -
          +
        484. : Success.
        485. +
        486. : Failure.
        487. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaengine_pushaudioframe.dita b/en-US/dita/RTC/API/api_imediaengine_pushaudioframe.dita index beb8060c2ac..a1af27dece0 100644 --- a/en-US/dita/RTC/API/api_imediaengine_pushaudioframe.dita +++ b/en-US/dita/RTC/API/api_imediaengine_pushaudioframe.dita @@ -1,84 +1,91 @@ - <ph keyref="pushAudioFrame1" /> + <ph keyref="pushAudioFrame1"/> Pushes the external audio frame. - +

          - public abstract int pushExternalAudioFrame(byte[] data, long timestamp); - - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data + public abstract int pushExternalAudioFrame(byte[] data, long timestamp); + - (int)pushExternalAudioFrameRawData:(void * _Nonnull)data samples:(NSInteger)samples sourceId:(NSInteger)sourceId - timestamp:(NSTimeInterval)timestamp;

          + timestamp:(NSTimeInterval)timestamp; +

          - public abstract int pushExternalAudioFrame(byte[] data, long timestamp); - virtual int pushAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; - - (BOOL)pushExternalAudioFrameRawData:(void* _Nonnull)data samples:(NSUInteger)samples timestamp:(NSTimeInterval)timestamp; - public abstract int PushAudioFrame(AudioFrame frame); - - -

          + public abstract int pushExternalAudioFrame(byte[] data, long timestamp); + virtual int pushAudioFrame(IAudioFrameObserver::AudioFrame* frame) = 0; + - (BOOL)pushExternalAudioFrameRawData:(void* _Nonnull)data samples:(NSUInteger)samples timestamp:(NSTimeInterval)timestamp; + public abstract int PushAudioFrame(AudioFrame frame); + + + +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          Parameters - - frame - The audio frame. For details, see . - + + frame + The audio frame. For details, see . + - - data - External audio data. - - - samples - Number of samples for the push. - - - timestamp - The timestamp (ms) of the external audio frame. It is mandatory. You can use this parameter for the following purposes: restore the order of the captured audio frame; and synchronize audio and video frames in video-related scenarios, including scenarios where external video sources are used. - + + data + External audio data. + + + samples + Number of samples for the push. + + + timestamp + The timestamp (ms) of the external audio frame. It is mandatory. You can use + this parameter for the following purposes: restore the order of the captured + audio frame; and synchronize audio and video frames in video-related + scenarios, including scenarios where external video sources are used. + - - - - -
          + + + + + +
          Returns

          -

            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -

          +
            +
          • 0: Success.
          • +
          • < 0: Failure.
          • +
          +

          -

            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          -
            -
          • : Success.
          • -
          • : Failure.
          • -

          +
            +
          • 0: Success.
          • +
          • < 0: Failure.
          • +
          +
            +
          • : Success.
          • +
          • : Failure.
          • +

          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaengine_pushaudioframe0.dita b/en-US/dita/RTC/API/api_imediaengine_pushaudioframe0.dita index 3b2fd5ecb9e..6e76939aa26 100644 --- a/en-US/dita/RTC/API/api_imediaengine_pushaudioframe0.dita +++ b/en-US/dita/RTC/API/api_imediaengine_pushaudioframe0.dita @@ -1,62 +1,71 @@ - <ph keyref="pushAudioFrame" /> + <ph keyref="pushAudioFrame"/> Pushes the external audio frame. - +

          - virtual int pushAudioFrame(MEDIA_SOURCE_TYPE type, IAudioFrameObserver::AudioFrame* frame, + virtual int pushAudioFrame(MEDIA_SOURCE_TYPE type, IAudioFrameObserver::AudioFrame* frame, bool wrap = false, int sourceId = 0) = 0; - public abstract int PushAudioFrame(MEDIA_SOURCE_TYPE type, AudioFrame frame, bool wrap = false, int sourceId = 0);

          + public abstract int PushAudioFrame(MEDIA_SOURCE_TYPE type, AudioFrame frame, bool wrap = false, int sourceId = 0); +

          - virtual int pushAudioFrame(MEDIA_SOURCE_TYPE type, IAudioFrameObserver::AudioFrame* frame, bool wrap) = 0; - public abstract int PushAudioFrame(MEDIA_SOURCE_TYPE type, AudioFrame frame, bool wrap);

          + virtual int pushAudioFrame(MEDIA_SOURCE_TYPE type, IAudioFrameObserver::AudioFrame* frame, bool wrap) = 0; + public abstract int PushAudioFrame(MEDIA_SOURCE_TYPE type, AudioFrame frame, bool wrap); +

          - -
          Deprecated:
          -
          This method is deprecated, please use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated, please use + instead.
          +
          Parameters - - type - The type of the audio recording device. See for details. - - - frame - The external audio frame. See for details. - - - wrap - Whether to use the placeholder. Agora recommends using the default value. -
            -
          • : Use the placeholder.
          • -
          • : (Default) Do not use the placeholder.
          • -
          -
          - - sourceId - The ID of external audio source. If you want to publish a custom external audio source, set this parameter to the ID of the corresponding custom audio track you want to publish. - -
          + + type + The type of the audio recording device. See for details. + + + frame + The external audio frame. See for details. + + + wrap + Whether to use the placeholder. Agora recommends using the default value.
            +
          • : Use the placeholder.
          • +
          • : (Default) Do not use the + placeholder.
          • +
          +
          +
          + + sourceId + The ID of external audio source. If you want to publish a custom external + audio source, set this parameter to the ID of the corresponding custom audio + track you want to publish. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        488. 0: Success.
        489. +
        490. < 0: Failure.
        491. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaengine_pushaudioframe2.dita b/en-US/dita/RTC/API/api_imediaengine_pushaudioframe2.dita index edb659b7f22..e46d3939837 100644 --- a/en-US/dita/RTC/API/api_imediaengine_pushaudioframe2.dita +++ b/en-US/dita/RTC/API/api_imediaengine_pushaudioframe2.dita @@ -1,85 +1,94 @@ - <ph keyref="pushAudioFrame2" /> + <ph keyref="pushAudioFrame2"/> Pushes the external audio frame. - +

          - public abstract int pushExternalAudioFrame(byte[] data, long timestamp, + public abstract int pushExternalAudioFrame(byte[] data, long timestamp, int sampleRate, int channels, int bytesPerSample, int sourcePos); - - (int)pushExternalAudioFrameRawData:(AgoraAudioExternalSourcePos)sourcePos frame:(AgoraAudioFrame* _Nonnull)frame; - virtual int pushAudioFrame(int32_t sourcePos, IAudioFrameObserver::AudioFrame* frame) = 0; - - public abstract int PushAudioFrame(int sourcePos, AudioFrame frame); - -

          + - (int)pushExternalAudioFrameRawData:(AgoraAudioExternalSourcePos)sourcePos frame:(AgoraAudioFrame* _Nonnull)frame; + virtual int pushAudioFrame(int32_t sourcePos, IAudioFrameObserver::AudioFrame* frame) = 0; + + public abstract int PushAudioFrame(int sourcePos, AudioFrame frame); + + +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          -

          According to your needs, you can push the external audio frame to one of three positions: after audio capture, before audio encoding, or before local playback.

          -

          You can call this method multiple times to push one audio frame to multiple positions or multiple audio frames to different positions.

          -

          For example, in the KTV scenario, you can push the singing voice to after audio capture, so that the singing voice can be processed by the SDK audio module - and you can obtain a high-quality audio experience; you can also push the accompaniment to before audio encoding, so that the accompaniment is not affected by the audio module of the SDK.

          - Call this method after joining a channel.
          +

          According to your needs, you can push the external audio frame to one of three + positions: after audio capture, before audio encoding, or before local playback.

          +

          You can call this method multiple times to push one audio frame to multiple positions + or multiple audio frames to different positions.

          +

          For example, in the KTV scenario, you can push the singing voice to after audio + capture, so that the singing voice can be processed by the SDK audio module and you + can obtain a high-quality audio experience; you can also push the accompaniment to + before audio encoding, so that the accompaniment is not affected by the audio module + of the SDK.

          + Call this method after joining a channel. +
          Parameters - - - - - - - - - - - - - - sampleRate - The sample rate of the external audio source, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. - - - channels - -

          The number of audio channels: - - -

            -
          • 1: Mono
          • -
          • 2: Stereo (the data is interleaved)
          • -

          -
          -
          - - bytesPerSample - The number of bytes per audio sample, which is usually 16-bit (2-byte). - - - sourcePos - The push position of the external audio frame. See . - -
          + + + + + + + + + + + + + + sampleRate + The sample rate of the external audio source, which can be set as 8000, + 16000, 32000, 44100, or 48000 Hz. + + + channels + +

          The number of audio channels:

            +
          • 1: Mono
          • +
          • 2: Stereo (the data is interleaved)
          • +
          +

          +
          +
          + + bytesPerSample + The number of bytes per audio sample, which is usually 16-bit (2-byte). + + + sourcePos + The push position of the external audio frame. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        492. 0: Success.
        493. +
        494. < 0: Failure.
        495. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaengine_pushencodedvideoimage.dita b/en-US/dita/RTC/API/api_imediaengine_pushencodedvideoimage.dita index cca67078a41..94c2f377f5c 100644 --- a/en-US/dita/RTC/API/api_imediaengine_pushencodedvideoimage.dita +++ b/en-US/dita/RTC/API/api_imediaengine_pushencodedvideoimage.dita @@ -1,55 +1,65 @@ - <ph keyref="pushEncodedVideoImage" /> - Pushes the external encoded video frame to the SDK. + <ph keyref="pushEncodedVideoImage"/> + Pushes the external encoded video frame to the + SDK. - +

          - public abstract int pushExternalEncodedVideoFrame( + public abstract int pushExternalEncodedVideoFrame( ByteBuffer data, EncodedVideoFrameInfo frameInfo); - - virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, + + virtual int pushEncodedVideoImage(const uint8_t* imageBuffer, size_t length, const agora::rtc::EncodedVideoFrameInfo& videoEncodedFrameInfo) = 0; - - public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo); - -

          + + public abstract int PushEncodedVideoImage(byte[] imageBuffer, uint length, EncodedVideoFrameInfo videoEncodedFrameInfo); + + +

          -

          When enabling the external video source, if you call and set the enable parameter as and the encodedFrame parameter as , you can call this method to push the external encoded video frame to the SDK.

          +

          When enabling the external video source, if you call and set the enable + parameter as and the + encodedFrame parameter as , you can call this method to push the external encoded video frame + to the SDK.

          Parameters - - data - imageBuffer - The buffer of the external encoded video frame. - - - length - Length of the externally encoded video frames. - - - frameInfo - videoEncodedFrameInfo - Information about externally encoded video frames. See . - -
          + + data + imageBuffer + The buffer of the external encoded video frame. + + + length + Length of the externally encoded video frames. + + + frameInfo + videoEncodedFrameInfo + Information about externally encoded video frames. See . + + +
          Returns
            -
          • 0: Pushes the external encoded video frame to the SDK successfully.
          • -
          • < 0: Fails to push external encoded video frame to the SDK.
          • -
          +
        496. 0: Pushes the external encoded video frame to the SDK successfully.
        497. +
        498. < 0: Fails to push external encoded video frame to the SDK.
        499. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaengine_pushvideoframe.dita b/en-US/dita/RTC/API/api_imediaengine_pushvideoframe.dita index 374c525de29..3f22bbb4ef8 100644 --- a/en-US/dita/RTC/API/api_imediaengine_pushvideoframe.dita +++ b/en-US/dita/RTC/API/api_imediaengine_pushvideoframe.dita @@ -1,55 +1,72 @@ - <ph keyref="pushVideoFrame" /> - Pushes the external raw video frame to the SDK. + <ph keyref="pushVideoFrame"/> + Pushes the external raw video frame to the + SDK. - +

          - public abstract boolean pushExternalVideoFrame(AgoraVideoFrame frame); - - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame; - virtual int pushVideoFrame(ExternalVideoFrame *frame) = 0; - - public abstract int PushVideoFrame(ExternalVideoFrame frame); - -

          + public abstract boolean pushExternalVideoFrame(AgoraVideoFrame frame); + - (BOOL)pushExternalVideoFrame:(AgoraVideoFrame * _Nonnull)frame; + virtual int pushVideoFrame(ExternalVideoFrame *frame) = 0; + + public abstract int PushVideoFrame(ExternalVideoFrame frame); + + +

          - -
          Deprecated:
          -
          This method is deprecated, please use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated, please use + instead.
          +
          -

          If you call and set the enabled parameter as and the encodedFrame parameter as , you can call this method to push the external raw video frame to the SDK.

          -

          You can push the video frame either by calling this method or by calling . The difference is that the method does not support video data in texture format.

          - Video data in Texture format is not supported in the communication scenario.
          +

          If you call and set the + enabled parameter as + and the encodedFrame parameter as , you can call this method to push the external raw video frame to + the SDK.

          +

          You can push the video frame either by calling this method or by + calling . The difference is that the method does not support video data in texture + format.

          + Video data in Texture format is not supported in the + communication scenario. +
          Parameters - - frame - -

          The external raw video frame to be pushed. See for details.

          -
          -
          -
          + + frame + +

          The external raw video frame to be pushed. See for details.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
            -
          • : Pushes the external raw video frame to the SDK successfully.
          • -
          • : Fails to push external raw video frame to the SDK.
          • -
          +
        500. : Pushes the external raw video frame to the + SDK successfully.
        501. +
        502. : Fails to push external raw video frame to + the SDK.
        503. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaengine_registeraudioframeobserver.dita b/en-US/dita/RTC/API/api_imediaengine_registeraudioframeobserver.dita index 73b22d2f21f..d1716781869 100644 --- a/en-US/dita/RTC/API/api_imediaengine_registeraudioframeobserver.dita +++ b/en-US/dita/RTC/API/api_imediaengine_registeraudioframeobserver.dita @@ -1,49 +1,62 @@ - <ph keyref="registerAudioFrameObserver" /> - Registers an audio frame observer object. + <ph keyref="registerAudioFrameObserver"/> + Registers an audio frame observer + object. - +

          - - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate;

          + - (BOOL)setAudioFrameDelegate:(id<AgoraAudioFrameDelegate> _Nullable)delegate; +

          - - (BOOL)setAudioDataFrame:(id<AgoraAudioDataFrameProtocol> _Nullable)delegate;

          + - (BOOL)setAudioDataFrame:(id<AgoraAudioDataFrameProtocol> _Nullable)delegate; +

          - public abstract int registerAudioFrameObserver(IAudioFrameObserver observer); - virtual int registerAudioFrameObserver(IAudioFrameObserver* observer) = 0; - - public abstract void RegisterAudioFrameObserver(IAgoraRtcAudioFrameObserver audioFrameObserver); - -

          + public abstract int registerAudioFrameObserver(IAudioFrameObserver observer); + virtual int registerAudioFrameObserver(IAudioFrameObserver* observer) = 0; + + public abstract void RegisterAudioFrameObserver(IAgoraRtcAudioFrameObserver audioFrameObserver); + + +

          -

          Call this method to register an audio frame observer object (register a callback). When you need the SDK to trigger or callback, you need to use this method to register the callbacks.

          - Ensure that you call this method before joining a channel.
          +

          Call this method to register an audio frame observer object (register a callback). + When you need the SDK to trigger or callback, you need to use this method to + register the callbacks.

          + Ensure that you call this method before joining a channel. +
          Parameters - - observer - delegate - audioFrameObserver - -

          The observer object instance. For details, see . Set the value as to release the observer object. Agora recommends releasing the observer object after receiving the callback.

          -
          -
          -
          + + observer + delegate + audioFrameObserver + +

          The observer object instance. For details, see . Set the value as + to release the observer object. Agora recommends releasing the observer + object after receiving the callback.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        504. 0: Success.
        505. +
        506. < 0: Failure.
        507. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaengine_registervideoencodedimagereceiver.dita b/en-US/dita/RTC/API/api_imediaengine_registervideoencodedimagereceiver.dita index 56f85977e85..e7e74f577c9 100644 --- a/en-US/dita/RTC/API/api_imediaengine_registervideoencodedimagereceiver.dita +++ b/en-US/dita/RTC/API/api_imediaengine_registervideoencodedimagereceiver.dita @@ -1,46 +1,54 @@ - <ph keyref="registerVideoEncodedImageReceiver" /> - Registers a receiver object for the encoded video image. + <ph keyref="registerVideoEncodedImageReceiver"/> + Registers a receiver object for the encoded video + image. - +

          - public abstract void RegisterVideoEncodedImageReceiver(IAgoraRtcVideoEncodedImageReceiver videoEncodedImageReceiver);

          + public abstract void RegisterVideoEncodedImageReceiver(IAgoraRtcVideoEncodedImageReceiver videoEncodedImageReceiver);

          - public abstract int registerVideoEncodedImageReceiver(IVideoEncodedImageReceiver receiver); - - virtual int registerVideoEncodedImageReceiver(rtc::IVideoEncodedImageReceiver* receiver) = 0; - - -

          + public abstract int registerVideoEncodedImageReceiver(IVideoEncodedImageReceiver receiver); + + virtual int registerVideoEncodedImageReceiver(rtc::IVideoEncodedImageReceiver* receiver) = 0; + + + +

          -
            -
          • Call this method after joining a channel.
          • -
          • If you register an object, you cannot register an object.
          • -
          +
            +
          • Call this method after joining a channel.
          • +
          • If you register an object, you + cannot register an object.
          • +
          + +
          Parameters - - receiver - The IVideoEncodedImageReceiver object. See . - -
          + + receiver + The IVideoEncodedImageReceiver object. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        508. 0: Success.
        509. +
        510. < 0: Failure.
        511. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaengine_registervideoframeobserver.dita b/en-US/dita/RTC/API/api_imediaengine_registervideoframeobserver.dita index 11462463f42..b52ecf05ba9 100644 --- a/en-US/dita/RTC/API/api_imediaengine_registervideoframeobserver.dita +++ b/en-US/dita/RTC/API/api_imediaengine_registervideoframeobserver.dita @@ -1,54 +1,69 @@ - <ph keyref="registerVideoFrameObserver" /> - Registers a video frame observer object. + <ph keyref="registerVideoFrameObserver"/> + Registers a video frame observer + object. - +

          - public abstract int registerVideoFrameObserver(IVideoFrameObserver observer); - - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate; - virtual int registerVideoFrameObserver(IVideoFrameObserver* observer) = 0; - - public abstract void RegisterVideoFrameObserver(IAgoraRtcVideoFrameObserver videoFrameObserver); - -

          + public abstract int registerVideoFrameObserver(IVideoFrameObserver observer); + - (BOOL)setVideoFrameDelegate:(id<AgoraVideoFrameDelegate> _Nullable)delegate; + virtual int registerVideoFrameObserver(IVideoFrameObserver* observer) = 0; + + public abstract void RegisterVideoFrameObserver(IAgoraRtcVideoFrameObserver videoFrameObserver); + + +

          -

          You need to implement the class in this method and register callbacks according to your scenarios. After you successfully register the video frame observer, the SDK triggers the registered callbacks each time a video frame is received.

          +

          You need to implement the class in this method + and register callbacks according to your scenarios. After you successfully register + the video frame observer, the SDK triggers the registered callbacks each time a + video frame is received.

          -
            -
          • When handling the video data returned in the callbacks, pay attention to the changes in the width and height parameters, which may be adapted under the following circumstances: -
              -
            • When the network condition deteriorates, the video resolution decreases incrementally.
            • -
            • If the user adjusts the video profile, the resolution of the video returned in the callbacks also changes.
            • -
          • -
          • Ensure that you call this method before joining a channel.
          • -
          +
            +
          • When handling the video data returned in the callbacks, pay attention to the + changes in the width and height + parameters, which may be adapted under the following circumstances:
              +
            • When the network condition deteriorates, the video resolution + decreases incrementally.
            • +
            • If the user adjusts the video profile, the resolution of the video + returned in the callbacks also changes.
            • +
          • +
          • Ensure that you call this method before joining a channel.
          • +
          + +
          Parameters - - observer - delegate - videoFrameObserver - -

          The observer object instance. To release the instance, set the value as . For details, see .

          -
          -
          -
          + + observer + delegate + videoFrameObserver + +

          The observer object instance. To release the instance, set the value as + . For details, see .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        512. 0: Success.
        513. +
        514. < 0: Failure.
        515. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaengine_setexternalvideosource.dita b/en-US/dita/RTC/API/api_imediaengine_setexternalvideosource.dita index 3e2eadf7a84..e4f8e92203d 100644 --- a/en-US/dita/RTC/API/api_imediaengine_setexternalvideosource.dita +++ b/en-US/dita/RTC/API/api_imediaengine_setexternalvideosource.dita @@ -1,57 +1,63 @@ - <ph keyref="setExternalVideoSource" /> + <ph keyref="setExternalVideoSource"/> Configures the external video source. - +

          - - - virtual int setExternalVideoSource(bool enable, bool useTexture) = 0; - - public abstract int SetExternalVideoSource(bool enable, bool useTexture = false); - -

          + + + virtual int setExternalVideoSource(bool enable, bool useTexture) = 0; + + public abstract int SetExternalVideoSource(bool enable, bool useTexture = false); + + +

          - Ensure that you call this method before joining a channel.
          + Ensure that you call this method before joining a channel. +
          Parameters - - enable - -

          Whether to use the external video source: -

            -
          • : Use the external video source.
          • -
          • : (Default) Do not use the external video source.
          • -

          -
          -
          - - useTexture - -

          Whether to use texture as an input: -

            -
          • : Use texture as an input.
          • -
          • : (Default) Do not use texture as an input.
          • -

          -
          -
          -
          + + enable + +

          Whether to use the external video source:

            +
          • : Use the external video + source.
          • +
          • : (Default) Do not use the + external video source.
          • +

          +
          +
          + + useTexture + +

          Whether to use texture as an input:

            +
          • : Use texture as an + input.
          • +
          • : (Default) Do not use + texture as an input.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        516. 0: Success.
        517. +
        518. < 0: Failure.
        519. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_imediaplayer_registeraudioframeobserver2.dita b/en-US/dita/RTC/API/api_imediaplayer_registeraudioframeobserver2.dita index a7bd022f70d..3b854e096da 100644 --- a/en-US/dita/RTC/API/api_imediaplayer_registeraudioframeobserver2.dita +++ b/en-US/dita/RTC/API/api_imediaplayer_registeraudioframeobserver2.dita @@ -1,59 +1,74 @@ - <ph keyref="registerAudioFrameObserver2_IMediaPlayer" /> - Registers an audio frame observer object. + <ph keyref="registerAudioFrameObserver2_IMediaPlayer"/> + Registers an audio frame observer + object. - +

          - public abstract void RegisterAudioFrameObserver(IAgoraRtcMediaPlayerAudioFrameObserver observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode);

          + public abstract void RegisterAudioFrameObserver(IAgoraRtcMediaPlayerAudioFrameObserver observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode); +

          - int registerAudioFrameObserver(IMediaPlayerAudioFrameObserver audioFrameObserver, int mode); + int registerAudioFrameObserver(IMediaPlayerAudioFrameObserver audioFrameObserver, int mode); - - virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode) = 0; - - -

          + + virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode) = 0; + + + +

          Parameters - - audioFrameObserver - observer - -

          The audio frame observer, reporting the reception of each audio frame. See .

          -
          -
          - - mode - -

          The use mode of the audio frame. See .

          -

          The use mode of the audio frame: -

            -
          • (0): Read-only mode. Users only read the - audio data without modifying anything. For example, when users acquire the data with the Agora SDK, then start the media push.
          • -
          • (1): Write-only mode: Users replace the - audio data with their own data and pass the data to the SDK for encoding. For example, when users acquire the data.
          • -
          • (2): Read and write mode: Users read the - data from AudioFrame, modify it, and then play it. For example, when users have their own audio-effect processing module and perform some voice pre-processing, such as a voice change.
          • -

          -
          -
          -
          + + audioFrameObserver + observer + +

          The audio frame observer, reporting the reception of each audio frame. + See .

          +
          +
          + + mode + +

          The use mode of the audio frame. See .

          +

          The use mode of the audio frame:

            +
          • (0): Read-only + mode. Users only read the audio data without modifying anything. + For example, when users acquire the data with the Agora SDK, + then start the media push.
          • +
          • (1): Write-only mode: Users replace the audio data with their + own data and pass the data to the SDK for encoding. For example, + when users acquire the data.
          • +
          • (2): Read and + write mode: Users read the data from AudioFrame, modify it, and + then play it. For example, when users have their own + audio-effect processing module and perform some voice + pre-processing, such as a voice change.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        520. 0: Success.
        521. +
        522. < 0: Failure.
        523. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_irtcengine2_createchannel.dita b/en-US/dita/RTC/API/api_irtcengine2_createchannel.dita index 4a53f455c16..ff9569ad5cd 100644 --- a/en-US/dita/RTC/API/api_irtcengine2_createchannel.dita +++ b/en-US/dita/RTC/API/api_irtcengine2_createchannel.dita @@ -1,49 +1,63 @@ - <ph keyref="createChannel" /> - Creates and gets an object. + <ph keyref="createChannel"/> + Creates and gets an + object. - +

          - - - virtual IChannel* createChannel(const char *channelId) = 0; - createChannel(channelId: string): (AgoraRtcChannel | null) - public abstract IAgoraRtcChannel CreateChannel(string channelId); - - static Future<RtcChannel> create(String channelId) async

          + + + virtual IChannel* createChannel(const char *channelId) = 0; + createChannel(channelId: string): (AgoraRtcChannel | null) + public abstract IAgoraRtcChannel CreateChannel(string channelId); + + static Future<RtcChannel> create(String channelId) async +

          -

          You can call this method multiple times to create multiple objects, and then call the methods in of each to join multiple channels at the same time.

          -

          After joining multiple channels, you can simultaneously subscribe to the the audio and video streams of all the channels, but publish a stream in only one channel at one time.

          +

          You can call this method multiple times to create multiple + objects, and then call the methods in of each + to join multiple channels at the same time.

          +

          After joining multiple channels, you can simultaneously subscribe to the the audio + and video streams of all the channels, but publish a stream in only one channel at + one time.

          Parameters - - channelId - -

          - -

            -
          • The parameter does not have a default value. You must set it.
          • -
          • Do not set this parameter as the empty string "". Otherwise, the SDK returns ERR_REFUSED(5).
          • -
          -
          -
          + + channelId + +

          + +

            +
          • The parameter does not have a default value. You must set + it.
          • +
          • Do not set this parameter as the empty string + "". Otherwise, the SDK returns + ERR_REFUSED(5).
          • +
          + +
          +
          + +
          Returns
            -
          • A pointer to the instance, if the method call succeeds.
          • -
          • If the call fails, returns .
          • -
          +
        524. A pointer to the instance, if the method call + succeeds.
        525. +
        526. If the call fails, returns .
        527. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iscameraautofocusfacemodesupported.dita b/en-US/dita/RTC/API/api_iscameraautofocusfacemodesupported.dita index 32ba97df089..d2c2c7d126d 100644 --- a/en-US/dita/RTC/API/api_iscameraautofocusfacemodesupported.dita +++ b/en-US/dita/RTC/API/api_iscameraautofocusfacemodesupported.dita @@ -1,35 +1,41 @@ - <ph keyref="isCameraAutoFocusFaceModeSupported" /> - Checks whether the device supports the face auto-focus function. + <ph keyref="isCameraAutoFocusFaceModeSupported"/> + Checks whether the device supports the face auto-focus + function. - +

          - public abstract bool IsCameraAutoFocusFaceModeSupported();

          + public abstract bool IsCameraAutoFocusFaceModeSupported();

          - public abstract boolean isCameraAutoFocusFaceModeSupported(); - - (BOOL)isCameraAutoFocusFaceModeSupported; - - - - Future<bool?> isCameraAutoFocusFaceModeSupported();

          + public abstract boolean isCameraAutoFocusFaceModeSupported(); + - (BOOL)isCameraAutoFocusFaceModeSupported; + + + + Future<bool?> isCameraAutoFocusFaceModeSupported(); +

          -

          This method needs to be called after the camera is started (for example, by calling or ).

          +

          This method needs to be called after the camera is started (for example, by calling + or ).

          Returns
            -
          • : The device supports the face auto-focus function.
          • -
          • : The device does not support the face auto-focus function.
          • -
          +
        528. : The device supports the face auto-focus + function.
        529. +
        530. : The device does not support the face + auto-focus function.
        531. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iscameraexposurepositionsupported.dita b/en-US/dita/RTC/API/api_iscameraexposurepositionsupported.dita index bfbd1ca4de7..536f8b628ee 100644 --- a/en-US/dita/RTC/API/api_iscameraexposurepositionsupported.dita +++ b/en-US/dita/RTC/API/api_iscameraexposurepositionsupported.dita @@ -1,37 +1,44 @@ - <ph keyref="isCameraExposurePositionSupported" /> - Checks whether the device supports manual exposure. + <ph keyref="isCameraExposurePositionSupported"/> + Checks whether the device supports manual + exposure. - +

          - public abstract boolean isCameraExposurePositionSupported(); - - (BOOL)isCameraAutoExposureFaceModeSupported; - virtual bool isCameraExposurePositionSupported() = 0; - - public abstract bool IsCameraExposurePositionSupported(); - - Future<bool?> isCameraExposurePositionSupported();

          + public abstract boolean isCameraExposurePositionSupported(); + - (BOOL)isCameraAutoExposureFaceModeSupported; + virtual bool isCameraExposurePositionSupported() = 0; + + public abstract bool IsCameraExposurePositionSupported(); + + Future<bool?> isCameraExposurePositionSupported(); +

          -
            -
          • This method is for Android and iOS only.
          • -
          • Call this method before calling , , or , depending on which method you use to turn on your local camera.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • Call this method before calling , , or , depending + on which method you use to turn on your local camera.
          • +
          +
          Returns
            -
          • : The device supports manual exposure.
          • -
          • : The device does not support manual exposure.
          • -
          +
        532. : The device supports manual exposure.
        533. +
        534. : The device does not support manual + exposure.
        535. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iscamerafacedetectsupported.dita b/en-US/dita/RTC/API/api_iscamerafacedetectsupported.dita index 7accb7e6325..3e861585300 100644 --- a/en-US/dita/RTC/API/api_iscamerafacedetectsupported.dita +++ b/en-US/dita/RTC/API/api_iscamerafacedetectsupported.dita @@ -1,33 +1,39 @@ - <ph keyref="isCameraFaceDetectSupported" /> - Checks whether the device camera supports face detection. + <ph keyref="isCameraFaceDetectSupported"/> + Checks whether the device camera supports face + detection. - +

          - public abstract boolean isCameraFaceDetectSupported(); - - virtual bool isCameraFaceDetectSupported() = 0; - - public abstract bool IsCameraFaceDetectSupported(); - -

          + public abstract boolean isCameraFaceDetectSupported(); + + virtual bool isCameraFaceDetectSupported() = 0; + + public abstract bool IsCameraFaceDetectSupported(); + + +

          - This method is for Android and iOS only.
          + This method is for Android and iOS only. +
          Returns
            -
          • : The device camera supports face detection.
          • -
          • : The device camera does not support face detection.
          • -
          +
        536. : The device camera supports face + detection.
        537. +
        538. : The device camera does not support face + detection.
        539. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iscamerafocussupported.dita b/en-US/dita/RTC/API/api_iscamerafocussupported.dita index 63fe045c051..77e142c289e 100644 --- a/en-US/dita/RTC/API/api_iscamerafocussupported.dita +++ b/en-US/dita/RTC/API/api_iscamerafocussupported.dita @@ -1,37 +1,45 @@ - <ph keyref="isCameraFocusSupported" /> - Check whether the device supports the manual focus function. + <ph keyref="isCameraFocusSupported"/> + Check whether the device supports the manual focus + function. - +

          - public abstract boolean isCameraFocusSupported(); - - (BOOL)isCameraFocusPositionInPreviewSupported; - virtual bool isCameraFocusSupported() = 0; - - public abstract bool IsCameraFocusSupported(); - - Future<bool?> isCameraFocusSupported();

          + public abstract boolean isCameraFocusSupported(); + - (BOOL)isCameraFocusPositionInPreviewSupported; + virtual bool isCameraFocusSupported() = 0; + + public abstract bool IsCameraFocusSupported(); + + Future<bool?> isCameraFocusSupported(); +

          -
            -
          • This method is for Android and iOS only.
          • -
          • Call this method before calling , , or , depending on which method you use to turn on your local camera.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • Call this method before calling , , or , depending + on which method you use to turn on your local camera.
          • +
          +
          Returns
            -
          • : The device supports the manual focus function.
          • -
          • : The device does not support the manual focus function.
          • -
          +
        540. : The device supports the manual focus + function.
        541. +
        542. : The device does not support the manual + focus function.
        543. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iscameratorchsupported.dita b/en-US/dita/RTC/API/api_iscameratorchsupported.dita index d4041dc91c7..c9ac3c88a20 100644 --- a/en-US/dita/RTC/API/api_iscameratorchsupported.dita +++ b/en-US/dita/RTC/API/api_iscameratorchsupported.dita @@ -1,39 +1,47 @@ - <ph keyref="isCameraTorchSupported" /> - Checks whether the device supports camera flash. + <ph keyref="isCameraTorchSupported"/> + Checks whether the device supports camera + flash. - +

          - public abstract boolean isCameraTorchSupported(); - - (BOOL)isCameraTorchSupported; - virtual bool isCameraTorchSupported() = 0; - - public abstract int IsCameraTorchSupported(); - - Future<bool?> isCameraTorchSupported();

          + public abstract boolean isCameraTorchSupported(); + - (BOOL)isCameraTorchSupported; + virtual bool isCameraTorchSupported() = 0; + + public abstract int IsCameraTorchSupported(); + + Future<bool?> isCameraTorchSupported(); +

          -

          This method needs to be called after the camera is started (for example, by calling or ).

          +

          This method needs to be called after the camera is started (for example, by calling + or ).

          -
            -
          • This method is for Android and iOS only.
          • -
          • The app enables the front camera by default. If your front camera does not support flash, this method returns . - If you want to check whether the rear camera supports flash, call before this method.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • The app enables the front camera by default. If your front camera does not + support flash, this method returns . If you want to + check whether the rear camera supports flash, call before this method.
          • +
          +
          Returns
            -
          • : The device supports camera flash.
          • -
          • : The device does not support camera flash.
          • -
          +
        544. : The device supports camera flash.
        545. +
        546. : The device does not support camera + flash.
        547. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iscamerazoomsupported.dita b/en-US/dita/RTC/API/api_iscamerazoomsupported.dita index 2ec412df3d0..990c5db2141 100644 --- a/en-US/dita/RTC/API/api_iscamerazoomsupported.dita +++ b/en-US/dita/RTC/API/api_iscamerazoomsupported.dita @@ -1,37 +1,44 @@ - <ph keyref="isCameraZoomSupported" /> - Checks whether the device supports camera zoom. + <ph keyref="isCameraZoomSupported"/> + Checks whether the device supports camera + zoom. - +

          - public abstract boolean isCameraZoomSupported(); - - (BOOL)isCameraZoomSupported; - virtual bool isCameraZoomSupported() = 0; - - public abstract bool IsCameraZoomSupported(); - - Future<bool?> isCameraZoomSupported();

          + public abstract boolean isCameraZoomSupported(); + - (BOOL)isCameraZoomSupported; + virtual bool isCameraZoomSupported() = 0; + + public abstract bool IsCameraZoomSupported(); + + Future<bool?> isCameraZoomSupported(); +

          -
            -
          • This method is for Android and iOS only.
          • -
          • Call this method before calling , , or , depending on which method you use to turn on your local camera.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • Call this method before calling , , or , depending + on which method you use to turn on your local camera.
          • +
          +
          Returns
            -
          • : The device supports camera zoom.
          • -
          • : The device does not support camera zoom.
          • -
          +
        548. : The device supports camera zoom.
        549. +
        550. : The device does not support camera + zoom.
        551. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iscreencapturesourcelist_getcount.dita b/en-US/dita/RTC/API/api_iscreencapturesourcelist_getcount.dita index aed435e4fdb..5afa9c02ad0 100644 --- a/en-US/dita/RTC/API/api_iscreencapturesourcelist_getcount.dita +++ b/en-US/dita/RTC/API/api_iscreencapturesourcelist_getcount.dita @@ -1,38 +1,40 @@ - <ph keyref="getCount_IScreenCaptureSourceList" /> - Gets the number of shareable cpp and screens. + <ph keyref="getCount_IScreenCaptureSourceList"/> + Gets the number of shareable cpp and + screens. - +

          - - - virtual unsigned int getCount() = 0; - - - -

          + + + virtual unsigned int getCount() = 0; + + + + +

          - -
          Since
          -
          v3.5.2
          -
          + +
          Since
          +
          v3.5.2
          +
          -

          +

          Returns

          The number of shareable cpp and screens.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iscreencapturesourcelist_getsourceinfo.dita b/en-US/dita/RTC/API/api_iscreencapturesourcelist_getsourceinfo.dita index 648442264e1..ba9d280402a 100644 --- a/en-US/dita/RTC/API/api_iscreencapturesourcelist_getsourceinfo.dita +++ b/en-US/dita/RTC/API/api_iscreencapturesourcelist_getsourceinfo.dita @@ -1,46 +1,53 @@ - <ph keyref="getSourceInfo_IScreenCaptureSourceList" /> - Gets information about the specified shareable window or screen. + <ph keyref="getSourceInfo_IScreenCaptureSourceList"/> + Gets information about the specified shareable window + or screen. - +

          - - - virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0; - - - -

          + + + virtual ScreenCaptureSourceInfo getSourceInfo(unsigned int index) = 0; + + + + +

          - -
          Since
          -
          v3.5.2
          -
          + +
          Since
          +
          v3.5.2
          +
          -

          After you get , you can pass in the index value of the specified shareable window or screen to get information about that window or screen from .

          +

          After you get , you can pass in the index + value of the specified shareable window or screen to get information about that + window or screen from .

          Parameters - - index - - The index of the specified shareable window or screen. The value range is [0, ()). - -
          + + index + The index of the specified shareable window or screen. The value range is + [0, ()). + + +
          Returns -
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_iscreencapturesourcelist_release.dita b/en-US/dita/RTC/API/api_iscreencapturesourcelist_release.dita index 67599da5214..7623e3bd4d1 100644 --- a/en-US/dita/RTC/API/api_iscreencapturesourcelist_release.dita +++ b/en-US/dita/RTC/API/api_iscreencapturesourcelist_release.dita @@ -1,34 +1,38 @@ - <ph keyref="release_IScreenCaptureSourceList" /> - Releases . + <ph keyref="release_IScreenCaptureSourceList"/> + Releases . - +

          - - - virtual void release() = 0; - - - -

          + + + virtual void release() = 0; + + + + +

          - -
          Since
          -
          v3.5.2
          -
          + +
          Since
          +
          v3.5.2
          +
          -

          After you get the list of shareable cpp and screens, to avoid memory leaks, call this method to release instead of deleting directly.

          +

          After you get the list of shareable cpp and screens, to avoid memory leaks, call this + method to release instead of deleting + directly.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_isspeakerphoneenabled.dita b/en-US/dita/RTC/API/api_isspeakerphoneenabled.dita index 04db2f80b59..2f58db5924e 100644 --- a/en-US/dita/RTC/API/api_isspeakerphoneenabled.dita +++ b/en-US/dita/RTC/API/api_isspeakerphoneenabled.dita @@ -1,33 +1,40 @@ - <ph keyref="isSpeakerphoneEnabled" /> - Checks whether the speakerphone is enabled. + <ph keyref="isSpeakerphoneEnabled"/> + Checks whether the speakerphone is + enabled. - +

          - public abstract boolean isSpeakerphoneEnabled(); - - (BOOL)isSpeakerphoneEnabled; - virtual bool isSpeakerphoneEnabled() = 0; - - public abstract bool IsSpeakerphoneEnabled(); - - Future<bool?> isSpeakerphoneEnabled();

          + public abstract boolean isSpeakerphoneEnabled(); + - (BOOL)isSpeakerphoneEnabled; + virtual bool isSpeakerphoneEnabled() = 0; + + public abstract bool IsSpeakerphoneEnabled(); + + Future<bool?> isSpeakerphoneEnabled(); +

          - This method is for Android and iOS only.
          + This method is for Android and iOS only. +
          Returns
            -
          • : The speakerphone is enabled, and the audio plays from the speakerphone.
          • -
          • : The speakerphone is not enabled, and the audio plays from devices other than the speakerphone. For example, the headset or earpiece.
          • -
          +
        552. : The speakerphone is enabled, and the audio + plays from the speakerphone.
        553. +
        554. : The speakerphone is not enabled, and the + audio plays from devices other than the speakerphone. For example, the headset + or earpiece.
        555. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_istextureencodesupported.dita b/en-US/dita/RTC/API/api_istextureencodesupported.dita index 7d15768e1af..a097e274000 100644 --- a/en-US/dita/RTC/API/api_istextureencodesupported.dita +++ b/en-US/dita/RTC/API/api_istextureencodesupported.dita @@ -1,31 +1,35 @@ - <ph keyref="isTextureEncodeSupported" /> - Check whether the video supports the texture encoding. + <ph keyref="isTextureEncodeSupported"/> + Check whether the video supports the texture + encoding. - +

          - public abstract boolean isTextureEncodeSupported(); - - - - - -

          + public abstract boolean isTextureEncodeSupported(); + + + + + + +

          Returns
            -
          • : Supports the texture encoding.
          • -
          • : Does not support the texture encoding.
          • -
          +
        556. : Supports the texture encoding.
        557. +
        558. : Does not support the texture + encoding.
        559. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ivideodevicecollection_getcount.dita b/en-US/dita/RTC/API/api_ivideodevicecollection_getcount.dita index 00cd8058680..ede7d648eb5 100644 --- a/en-US/dita/RTC/API/api_ivideodevicecollection_getcount.dita +++ b/en-US/dita/RTC/API/api_ivideodevicecollection_getcount.dita @@ -1,29 +1,31 @@ - <ph keyref="getCount_IVideoDeviceCollection" /> - Gets the total number of the indexed video devices in the system. + <ph keyref="getCount_IVideoDeviceCollection"/> + Gets the total number of the indexed video devices in + the system. - +

          - - - virtual int getCount() = 0; - - - -

          + + + virtual int getCount() = 0; + + + + +

          Returns

          The total number of the indexed video devices in the system.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ivideodevicecollection_getdevice.dita b/en-US/dita/RTC/API/api_ivideodevicecollection_getdevice.dita index caeaedb327b..3405fc2b9d7 100644 --- a/en-US/dita/RTC/API/api_ivideodevicecollection_getdevice.dita +++ b/en-US/dita/RTC/API/api_ivideodevicecollection_getdevice.dita @@ -1,49 +1,59 @@ - <ph keyref="getDevice_IVideoDeviceCollection" /> - Gets a specified piece of information about an indexed video device. + <ph keyref="getDevice_IVideoDeviceCollection"/> + Gets a specified piece of information about an indexed + video device. - +

          - - - virtual int getDevice(int index, + + + virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - public abstract string GetDevice(); - -

          + + public abstract string GetDevice(); + + +

          Parameters - - index - The index value of the video device. The value of this parameter must be less than the value returned in . - - - deviceName - The name of the device. The maximum length is . - - - deviceId - The device ID of the video device. The maximum length is . - -
          + + index + The index value of the video device. The value of this parameter must be + less than the value returned in . + + + deviceName + The name of the device. The maximum length is . + + + deviceId + The device ID of the video device. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        560. 0: Success.
        561. +
        562. < 0: Failure.
        563. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ivideodevicecollection_release.dita b/en-US/dita/RTC/API/api_ivideodevicecollection_release.dita index f4fe4700a42..b402a192909 100644 --- a/en-US/dita/RTC/API/api_ivideodevicecollection_release.dita +++ b/en-US/dita/RTC/API/api_ivideodevicecollection_release.dita @@ -1,25 +1,27 @@ - <ph keyref="release_IVideoDeviceCollection" /> - Releases all the resources occupied by the object. + <ph keyref="release_IVideoDeviceCollection"/> + Releases all the resources occupied by the object. - +

          - - - virtual void release() = 0; - - - -

          + + + virtual void release() = 0; + + + + +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ivideodevicecollection_setdevice.dita b/en-US/dita/RTC/API/api_ivideodevicecollection_setdevice.dita index bc4e7b2f409..c9cd23bba5f 100644 --- a/en-US/dita/RTC/API/api_ivideodevicecollection_setdevice.dita +++ b/en-US/dita/RTC/API/api_ivideodevicecollection_setdevice.dita @@ -1,45 +1,52 @@ - <ph keyref="setDevice_IVideoDeviceCollection" /> + <ph keyref="setDevice_IVideoDeviceCollection"/> Specifies a device with the device ID. - +

          - - - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId; - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - - public abstract int SetDevice(string deviceIdUTF8); - -

          + + - (int)setDevice:(AgoraMediaDeviceType)type deviceId:(NSString * _Nonnull)deviceId; + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + + public abstract int SetDevice(string deviceIdUTF8); + + +

          Parameters - - type - -

          - - - - deviceId - The device ID. The maximum length is .You can get the device ID by calling .Plugging or unplugging the audio device does not change the value of deviceId. - -

          + + type + +

          + + + + deviceId + The device ID. The maximum length is .You can + get the device ID by calling .Plugging or unplugging the audio device does not change the value of + deviceId. + + +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        564. 0: Success.
        565. +
        566. < 0: Failure.
        567. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ivideodevicemanager_enumeratevideodevices.dita b/en-US/dita/RTC/API/api_ivideodevicemanager_enumeratevideodevices.dita index fa44b1b6f17..6f5abd52386 100644 --- a/en-US/dita/RTC/API/api_ivideodevicemanager_enumeratevideodevices.dita +++ b/en-US/dita/RTC/API/api_ivideodevicemanager_enumeratevideodevices.dita @@ -1,36 +1,45 @@ - <ph keyref="enumerateVideoDevices" /> + <ph keyref="enumerateVideoDevices"/> Enumerates the video devices. - +

          - - - virtual IVideoDeviceCollection* enumerateVideoDevices() = 0; - getVideoDevices(): Array<{ deviceid: string, devicename: string }> - public abstract DeviceInfo[] EnumerateVideoDevices(); - - Future<List<MediaDeviceInfo>> enumerateVideoDevices()

          + + + virtual IVideoDeviceCollection* enumerateVideoDevices() = 0; + getVideoDevices(): Array<{ deviceid: string, devicename: string }> + public abstract DeviceInfo[] EnumerateVideoDevices(); + + Future<List<MediaDeviceInfo>> enumerateVideoDevices() +

          -

          This method returns an object including all video devices in the system. With the object, the application can enumerate video devices. The application must call the method to release the returned object after using it.

          +

          This method returns an + object including all video devices in the system. With the object, the application can enumerate video + devices. The application must call the method to release the returned object after using it.

          Returns
            -
          • Success: An object including all video devices in the system.
          • -
          • Success: Returns a array that contains all the video devices.
          • -
          • Success: Returns a that contains all the video devices.
          • -
          • Failure: .
          • -
          +
        568. Success: An object + including all video devices in the system.
        569. +
        570. Success: Returns a array that contains + all the video devices.
        571. +
        572. Success: Returns a that + contains all the video devices.
        573. +
        574. Failure: .
        575. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ivideodevicemanager_getdevice.dita b/en-US/dita/RTC/API/api_ivideodevicemanager_getdevice.dita index 2728af462d0..59e5e951571 100644 --- a/en-US/dita/RTC/API/api_ivideodevicemanager_getdevice.dita +++ b/en-US/dita/RTC/API/api_ivideodevicemanager_getdevice.dita @@ -1,47 +1,53 @@ - <ph keyref="getDevice_IVideoDeviceManager" /> - Retrieves the current video capture device. + <ph keyref="getDevice_IVideoDeviceManager"/> + Retrieves the current video capture + device. - +

          - virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0; - public abstract string GetDevice();

          + virtual int getDevice(char deviceIdUTF8[MAX_DEVICE_ID_LENGTH]) = 0; + public abstract string GetDevice(); +

          - virtual int getDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - public abstract string GetDevice();

          + virtual int getDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + public abstract string GetDevice(); +

          - - - getCurrentVideoDevice(): Device - - Future<String?> getVideoDevice()

          + + + getCurrentVideoDevice(): Device + + Future<String?> getVideoDevice() +

          Parameters - - deviceId - deviceIdUTF8 - Output parameter. The device ID. The maximum length is . - -
          + + deviceId + deviceIdUTF8 + Output parameter. The device ID. The maximum length is . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
          -

          The video capture device. See .

          +

          The video capture device. See .

          The video capture device.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ivideodevicemanager_release.dita b/en-US/dita/RTC/API/api_ivideodevicemanager_release.dita index 63f283d78a2..5292371472f 100644 --- a/en-US/dita/RTC/API/api_ivideodevicemanager_release.dita +++ b/en-US/dita/RTC/API/api_ivideodevicemanager_release.dita @@ -1,25 +1,27 @@ - <ph keyref="release_IVideoDeviceManager" /> - Releases all the resources occupied by the object. + <ph keyref="release_IVideoDeviceManager"/> + Releases all the resources occupied by the object. - +

          - - - virtual void release() = 0; - - - -

          + + + virtual void release() = 0; + + + + +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ivideodevicemanager_setdevice.dita b/en-US/dita/RTC/API/api_ivideodevicemanager_setdevice.dita index b617c51676d..0f848842113 100644 --- a/en-US/dita/RTC/API/api_ivideodevicemanager_setdevice.dita +++ b/en-US/dita/RTC/API/api_ivideodevicemanager_setdevice.dita @@ -1,47 +1,57 @@ - <ph keyref="setDevice_IVideoDeviceManager" /> - Specifies the video capture device with the device ID. + <ph keyref="setDevice_IVideoDeviceManager"/> + Specifies the video capture device with the device + ID. - +

          - public abstract int SetDevice(string deviceIdUTF8);

          + public abstract int SetDevice(string deviceIdUTF8); +

          - public abstract int SetDevice(string deviceId);

          + public abstract int SetDevice(string deviceId);

          - - - virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; - setVideoDevice(deviceId: string): number - - Future<void> setVideoDevice(String deviceId)

          + + + virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0; + setVideoDevice(deviceId: string): number + + Future<void> setVideoDevice(String deviceId) +

          - Plugging or unplugging a device does not change its device ID.
          + Plugging or unplugging a device does not change its device + ID. +
          Parameters - - deviceId - -

          The device ID. You can get the device ID by calling .

          -

          The maximum length is .

          -
          -
          -
          + + deviceId + +

          The device ID. You can get the device ID by calling .

          +

          The maximum length is .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        576. 0: Success.
        577. +
        578. < 0: Failure.
        579. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ivideodevicemanager_startdevicetest.dita b/en-US/dita/RTC/API/api_ivideodevicemanager_startdevicetest.dita index d9951364f9d..ac63d7ceff4 100644 --- a/en-US/dita/RTC/API/api_ivideodevicemanager_startdevicetest.dita +++ b/en-US/dita/RTC/API/api_ivideodevicemanager_startdevicetest.dita @@ -1,42 +1,48 @@ - <ph keyref="startDeviceTest" /> + <ph keyref="startDeviceTest"/> Starts the video capture device test. - +

          - - - virtual int startDeviceTest(view_t hwnd) = 0; - startVideoDeviceTest(): number - public abstract int StartDeviceTest(view_t hwnd); - - Future<void> startVideoDeviceTest(int hwnd)

          + + + virtual int startDeviceTest(view_t hwnd) = 0; + startVideoDeviceTest(): number + public abstract int StartDeviceTest(view_t hwnd); + + Future<void> startVideoDeviceTest(int hwnd) +

          -

          This method tests whether the video-capture device is working properly. Before calling this method, ensure that you have already called the method, and the window handle (hwnd) parameter is valid.

          +

          This method tests whether the video-capture device is working properly. Before + calling this method, ensure that you have already called the method, and the window handle (hwnd) parameter is + valid.

          Parameters - - hwnd - The window handle used to display the screen. - -
          + + hwnd + The window handle used to display the screen. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        580. 0: Success.
        581. +
        582. < 0: Failure.
        583. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_ivideodevicemanager_stopdevicetest.dita b/en-US/dita/RTC/API/api_ivideodevicemanager_stopdevicetest.dita index f8ceccfd096..af9c4fbab77 100644 --- a/en-US/dita/RTC/API/api_ivideodevicemanager_stopdevicetest.dita +++ b/en-US/dita/RTC/API/api_ivideodevicemanager_stopdevicetest.dita @@ -1,31 +1,33 @@ - <ph keyref="stopDeviceTest" /> + <ph keyref="stopDeviceTest"/> Stops the video capture device test. - +

          - - - virtual int stopDeviceTest() = 0; - stopVideoDeviceTest(): number - public abstract int StopDeviceTest(); - - Future<void> stopVideoDeviceTest()

          + + + virtual int stopDeviceTest() = 0; + stopVideoDeviceTest(): number + public abstract int StopDeviceTest(); + + Future<void> stopVideoDeviceTest() +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        584. 0: Success.
        585. +
        586. < 0: Failure.
        587. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_joinchannel.dita b/en-US/dita/RTC/API/api_joinchannel.dita index 6ffef7be8a8..52560eadd28 100644 --- a/en-US/dita/RTC/API/api_joinchannel.dita +++ b/en-US/dita/RTC/API/api_joinchannel.dita @@ -1,68 +1,87 @@ - <ph keyref="joinChannel1" /> + <ph keyref="joinChannel1"/> Joins a channel. - +

          - public abstract int joinChannel( + public abstract int joinChannel( String token, String channelName, String optionalInfo, int optionalUid); - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId info:(NSString * _Nullable)info uid:(NSUInteger)uid joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannel(const char* token, const char* channelId, const char* info, + virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0; - public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0);

          + public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0); +

          - public abstract int joinChannel(String token, String channelName, String optionalInfo, int optionalUid); - - (int)joinChannelByToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId info:(NSString* _Nullable)info uid:(NSUInteger)uid joinSuccess:(void (^_Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0; - - public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0); - -

          + public abstract int joinChannel(String token, String channelName, String optionalInfo, int optionalUid); + - (int)joinChannelByToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId info:(NSString* _Nullable)info uid:(NSUInteger)uid joinSuccess:(void (^_Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; + virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid) = 0; + + public abstract int JoinChannel(string token, string channelId, string info = "", uint uid = 0); + + +

          -

          -

          -

          - Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

          +

          +

          +

          + Once a user joins the channel, the user subscribes to the audio + and video streams of all the other users in the channel by default, giving rise to + usage and billing calculation. To stop subscribing to a specified stream or all + remote streams, call the corresponding mute methods. +

          Parameters - - - - - - - - - - info - optionalInfo - (Optional) Reserved for future use. - - - uid - optionalUid - User ID. This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit unsigned integer. The value range is 1 to 232-1. If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and returns it in the callback. Your app must maintain the returned user ID, because the SDK does not do so. - - - joinSuccessBlock - The block of a user joining the specified channel. joinSuccessBlock takes higher priority than . If you implement both callbacks, only block is triggered. Agora recommends setting joinSuccessBlock as nil to use the callback. - -
          -
          + + + + + + + + + + info + optionalInfo + (Optional) Reserved for future use. + + + uid + optionalUid + User ID. This parameter is used to identify the user in the channel for + real-time audio and video interaction. You need to set and manage user IDs + yourself, and ensure that each user ID in the same channel is unique. This + parameter is a 32-bit unsigned integer. The value range is 1 to + 232-1. If the user ID is not assigned (or set to 0), the SDK + assigns a random user ID and returns it in the callback. Your app must maintain the + returned user ID, because the SDK does not do so. + + + joinSuccessBlock + The block of a user joining the specified channel. + joinSuccessBlock takes higher priority than . If you implement both callbacks, only + block is triggered. Agora recommends setting + joinSuccessBlock as nil to use the + callback. + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_joinchannel2.dita b/en-US/dita/RTC/API/api_joinchannel2.dita index 6ae9eacd1a6..3a1bf7e4996 100644 --- a/en-US/dita/RTC/API/api_joinchannel2.dita +++ b/en-US/dita/RTC/API/api_joinchannel2.dita @@ -1,138 +1,180 @@ - <ph keyref="joinChannel2" /> - Joins a channel with the user ID, and configures whether to automatically subscribe to the audio or video streams. + <ph keyref="joinChannel2"/> + Joins a channel with the user ID, and configures + whether to automatically subscribe to the audio or video streams. - +

          - public abstract int joinChannel( + public abstract int joinChannel( String token, String channelId, int uid, ChannelMediaOptions options); - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId uid:(NSUInteger)uid mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; - virtual int joinChannel(const char* token, const char* channelId, uid_t uid, - const ChannelMediaOptions& options) = 0;

          + virtual int joinChannel(const char* token, const char* channelId, uid_t uid, + const ChannelMediaOptions& options) = 0; +

          - public abstract int joinChannel(String token, String channelName, String optionalInfo, int optionalUid, ChannelMediaOptions options); - - (int)joinChannelByToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId info:(NSString* _Nullable)info uid:(NSUInteger)uid options:(AgoraRtcChannelMediaOptions* _Nonnull)options; - virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid, const ChannelMediaOptions& options) = 0;

          + public abstract int joinChannel(String token, String channelName, String optionalInfo, int optionalUid, ChannelMediaOptions options); + - (int)joinChannelByToken:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId info:(NSString* _Nullable)info uid:(NSUInteger)uid options:(AgoraRtcChannelMediaOptions* _Nonnull)options; + virtual int joinChannel(const char* token, const char* channelId, const char* info, uid_t uid, const ChannelMediaOptions& options) = 0; +

          - joinChannel( + joinChannel( token: string, info: string, uid: number, options?: ChannelMediaOptions ): number - public abstract int JoinChannel(string token, string channelId, string info, uint uid, + public abstract int JoinChannel(string token, string channelId, string info, uint uid, ChannelMediaOptions options); - - Future<void> joinChannel( + + Future<void> joinChannel( String? token, String channelName, String? optionalInfo, int optionalUid, - [ChannelMediaOptions? options]);

          + [ChannelMediaOptions? options]); +

          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          -

          This method enables the local user to join a real-time audio and video interaction channel. With the same App ID, users in the same channel can talk to each other, and multiple users in the same channel can start a group chat.

          -

          A successful call of this method triggers the following callbacks: - - - -

            -
          • The local client: The and callbacks.
          • -
          • The remote client: , if the user joining the channel is in the Communication profile or is a host in the Live-broadcasting profile.
          • -

          -

          When the connection between the client and Agora's server is interrupted due to poor network conditions, the SDK tries reconnecting to the server. When the local client successfully rejoins the channel, the SDK triggers the callback on the local client.

          - Compared to , this method adds the options parameter to configure whether to automatically subscribe to all remote audio and video streams in the channel when the user joins the channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. - To stop subscribing to other streams, set the options parameter or call the corresponding mute methods.
          +

          This method enables the local user to join a real-time audio and video + interaction channel. With the same App ID, users in the same channel can talk to + each other, and multiple users in the same channel can start a group chat.

          +

          A successful call of this method triggers the following callbacks:

            +
          • The local client: The and callbacks.
          • +
          • The remote client: , if the user joining the + channel is in the Communication profile or is a host in the + Live-broadcasting profile.
          • +

          +

          When the connection between the client and Agora's server is interrupted + due to poor network conditions, the SDK tries reconnecting to the server. When the + local client successfully rejoins the channel, the SDK triggers the callback on the local client.

          + Compared to , this method adds the options + parameter to configure whether to automatically subscribe to all remote audio and + video streams in the channel when the user joins the channel. By default, the user + subscribes to the audio and video streams of all the other users in the channel, + giving rise to usage and billings. To stop subscribing to other streams, set the + options parameter or call the corresponding + mute methods. +
          Parameters - - token - -

          The token generated on your server for authentication. See Authenticate Your Users with Token.

          - Ensure that the App ID used for creating the token is the same App ID used by the method for initializing the RTC engine.
          -
          - - channelId - channelNamechannelId - -

          The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters: - - - -

            -
          • The 26 lowercase English letters: a to z.
          • -
          • The 26 uppercase English letters: A to Z.
          • -
          • The 10 numeric characters: 0 to 9.
          • -
          • Space
          • -
          • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
          • -

          -
          -
          - - info - optionalInfo - -

          Reserved for future use.

          -
          -
          - - uid - optionalUiduid - User ID This parameter is used to identify the user in the channel for real-time audio and video interaction. You need to set and manage user IDs yourself, and ensure that each user ID in the same channel is unique. This parameter is a 32-bit unsigned integer. The value range is 1 to - 232-1. If the user ID is not assigned (or set to 0), the SDK assigns a random user ID and returns it in the callback. Your app must maintain the returned user ID, because the SDK - does not do so. - - - options - optionsmediaOptions - -

          The channel media options. For details, see .

          -
          -
          - - joinSuccessBlock - The block of a user joining the specified channel. joinSuccessBlock takes higher priority than . If you implement both callbacks, only block is triggered. Agora recommends setting joinSuccessBlock as nil to use the callback. - -
          + + token + +

          The token generated on your server for authentication. See Authenticate Your Users with Token.

          + Ensure that the App ID used for creating the token is + the same App ID used by the method for + initializing the RTC engine. +
          +
          + + channelId + channelNamechannelId + +

          The channel name. This parameter signifies the + channel in which users engage in real-time audio and video interaction. + Under the premise of the same App ID, users who fill in the same channel + ID enter the same channel for audio and video interaction. The string + length must be less than 64 bytes. Supported characters:

            +
          • The 26 lowercase English letters: a to z.
          • +
          • The 26 uppercase English letters: A to Z.
          • +
          • The 10 numeric characters: 0 to 9.
          • +
          • Space
          • +
          • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", + "}", "|", "~", ","
          • +

          +
          +
          + + info + optionalInfo + +

          Reserved for future use.

          +
          +
          + + uid + optionalUiduid + User ID This parameter is used to identify the user in the channel for + real-time audio and video interaction. You need to set and manage user IDs + yourself, and ensure that each user ID in the same channel is unique. This + parameter is a 32-bit unsigned integer. The value range is 1 to + 232-1. If the user ID is not assigned (or set to 0), the SDK + assigns a random user ID and returns it in the callback. Your app must maintain the + returned user ID, because the SDK does not do so. + + + options + optionsmediaOptions + +

          The channel media options. For details, see .

          +
          +
          + + joinSuccessBlock + The block of a user joining the specified channel. + joinSuccessBlock takes higher priority than . If you implement both callbacks, only + block is triggered. Agora recommends setting + joinSuccessBlock as nil to use the + callback. + + +
          Returns
            -
          • 0(ERR_OK): Success.
          • -
          • < 0: Failure. - - - -
              -
            • -2 (ERR_INVALID_ARGUMENT): The parameter is invalid.
            • -
            • -3(ERR_NOT_READY): The SDK fails to be initialized. You can try re-initializing the SDK.
            • -
            • -5(ERR_REFUSED): The request is rejected. This may be caused by the following: - - - -
                -
              • You have created an object with the same channel name.
              • -
              • You have joined a channel by using and published a stream in the channel.
              • +
              • 0(ERR_OK): Success.
              • +
              • < 0: Failure.
                  +
                • -2 (ERR_INVALID_ARGUMENT): The parameter is invalid.
                • +
                • -3(ERR_NOT_READY): The SDK fails to be initialized. You can try + re-initializing the SDK.
                • +
                • -5(ERR_REFUSED): The request is rejected. This may be caused by the + following:
                    +
                  • You have created an object with the + same channel name.
                  • +
                  • You have joined a channel by using + and published a stream in the + channel.
                  • +
                • +
                • -7(ERR_NOT_INITIALIZED): The SDK is not initialized before calling this + method. Initialize the instance before + calling this method.
                • +
                • -17(ERR_JOIN_CHANNEL_REJECTED): The request to join the channel is + rejected. The SDK supports joining only one + channel at a time. Therefore, the SDK returns this error code when a + user who has already joined an channel calls + the joining channel method of the class with + a valid channel name.
              • -
              • -7(ERR_NOT_INITIALIZED): The SDK is not initialized before calling this method. Initialize the instance before calling this method.
              • -
              • -17(ERR_JOIN_CHANNEL_REJECTED): The request to join the channel is rejected. The SDK supports joining only one channel at a time. Therefore, the SDK returns this error code when a user who has already joined an channel calls the joining channel method of the class with a valid channel name.
              • -
            • -
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_joinchannelwithuseraccount.dita b/en-US/dita/RTC/API/api_joinchannelwithuseraccount.dita index 3de064b7292..4b7f8251a99 100644 --- a/en-US/dita/RTC/API/api_joinchannelwithuseraccount.dita +++ b/en-US/dita/RTC/API/api_joinchannelwithuseraccount.dita @@ -1,73 +1,87 @@ - <ph keyref="joinChannelWithUserAccount1" /> + <ph keyref="joinChannelWithUserAccount1"/> Joins the channel with a user account. - +

          - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId userAccount:(NSString * _Nonnull)userAccount - joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;

          + joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; +

          - - (int)joinChannelByUserAccount:(NSString* _Nonnull)userAccount token:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId joinSuccess:(void (^_Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;

          + - (int)joinChannelByUserAccount:(NSString* _Nonnull)userAccount token:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId joinSuccess:(void (^_Nullable)(NSString* _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;

          - public abstract int joinChannelWithUserAccount( + public abstract int joinChannelWithUserAccount( String token, String channelName, String userAccount); - virtual int joinChannelWithUserAccount(const char* token, + virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount) = 0; - - public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount); - -

          + + public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount); + + +

          - -
          Since
          -
          v2.8.0
          -
          + +
          Since
          +
          v2.8.0
          +
          -

          This method allows a user to join the channel with the user account. After the user successfully joins the channel, the SDK triggers the following callbacks: - -

            -
          • The local client: , and callbacks.
          • -
          • The remote client: and , if the user joining the channel is in the communication profile or is a host in the live streaming profile.
          • -

          -

          Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

          - To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
          +

          This method allows a user to join the channel with the user account. After the user + successfully joins the channel, the SDK triggers the following callbacks:

            +
          • The local client: , and callbacks.
          • +
          • The remote client: and , if the user joining the channel is in the + communication profile or is a host in the live streaming profile.
          • +

          +

          Once a user joins the channel, the user subscribes to the audio and video streams of + all the other users in the channel by default, giving rise to usage and billing + calculation. To stop subscribing to a specified stream or all remote streams, call + the corresponding mute methods.

          + To ensure smooth communication, use the same parameter + type to identify the user. For example, if a user joins the channel with a user ID, + then ensure all the other users use the user ID too. The same applies to the user + account. If a user joins the channel with the Agora Web SDK, ensure that the ID of + the user is set to the same parameter type. +
          Parameters - - - - - - channelName - channelId - -

          - - - - - - - - - - -

          -
          + + + + + + channelName + channelId + +

          + + + + + + + + + + + +

          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_joinchannelwithuseraccount2.dita b/en-US/dita/RTC/API/api_joinchannelwithuseraccount2.dita index cad8ae06079..f628afed189 100644 --- a/en-US/dita/RTC/API/api_joinchannelwithuseraccount2.dita +++ b/en-US/dita/RTC/API/api_joinchannelwithuseraccount2.dita @@ -1,98 +1,125 @@ - <ph keyref="joinChannelWithUserAccount2" /> - Joins the channel with a user account, and configures whether to automatically subscribe to audio or video streams after joining the channel. + <ph keyref="joinChannelWithUserAccount2"/> + Joins the channel with a user account, and configures + whether to automatically subscribe to audio or video streams after joining the + channel. - +

          - - (int)joinChannelByToken:(NSString * _Nullable)token + - (int)joinChannelByToken:(NSString * _Nullable)token channelId:(NSString * _Nonnull)channelId userAccount:(NSString * _Nonnull)userAccount mediaOptions:(AgoraRtcChannelMediaOptions * _Nonnull)mediaOptions - joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock;

          + joinSuccess:(void(^ _Nullable)(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))joinSuccessBlock; +

          - - (int)joinChannelByUserAccount:(NSString* _Nonnull)userAccount token:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId options:(AgoraRtcChannelMediaOptions* _Nonnull)options;

          + - (int)joinChannelByUserAccount:(NSString* _Nonnull)userAccount token:(NSString* _Nullable)token channelId:(NSString* _Nonnull)channelId options:(AgoraRtcChannelMediaOptions* _Nonnull)options;

          - public abstract int joinChannelWithUserAccount( + public abstract int joinChannelWithUserAccount( String token, String channelName, String userAccount, ChannelMediaOptions options); - virtual int joinChannelWithUserAccount(const char* token, + virtual int joinChannelWithUserAccount(const char* token, const char* channelId, const char* userAccount, const ChannelMediaOptions& options) = 0; - joinChannelWithUserAccount( + joinChannelWithUserAccount( token: string, channelId: string, userAccount: string, options?: ChannelMediaOptions ): number - public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount, + public abstract int JoinChannelWithUserAccount(string token, string channelId, string userAccount, ChannelMediaOptions options); - - Future<void> joinChannelWithUserAccount( + + Future<void> joinChannelWithUserAccount( String? token, String channelName, String userAccount, - [ChannelMediaOptions? options]);

          + [ChannelMediaOptions? options]); +

          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          -

          This method allows a user to join the channel with the user account. After the user successfully joins the channel, the SDK triggers the following callbacks: - -

            -
          • The local client: , and callbacks.
          • -
          • The remote client: The callback if the user is in the COMMUNICATION profile, and the callback if the user is a host in the LIVE_BROADCASTING profile.
          • -

          -

          Once a user joins the channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

          -

          Compared to , this method adds the options parameter to configure whether to automatically subscribe to all remote audio and video streams in the channel when the user joins the channel. By default, the user subscribes to the audio and video streams of all the other users in the channel, giving rise to usage and billings. To unsubscribe, set the options parameter or call the mute methods accordingly.

          - To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
          +

          This method allows a user to join the channel with the user account. After + the user successfully joins the channel, the SDK triggers the following callbacks:

            +
          • The local client: , and callbacks.
          • +
          • The remote client: The callback if the user is + in the COMMUNICATION profile, and the + callback if the user is a host in the LIVE_BROADCASTING profile.
          • +

          +

          Once a user joins the channel, the user subscribes to the audio and video + streams of all the other users in the channel by default, giving rise to usage and + billing calculation. To stop subscribing to a specified stream or all remote + streams, call the corresponding mute methods.

          +

          Compared to , + this method adds the options parameter to configure whether to + automatically subscribe to all remote audio and video streams in the channel when + the user joins the channel. By default, the user subscribes to the audio and video + streams of all the other users in the channel, giving rise to usage and billings. To + unsubscribe, set the options parameter or call the + mute methods accordingly.

          + To ensure smooth communication, use the same parameter type to + identify the user. For example, if a user joins the channel with a user ID, then + ensure all the other users use the user ID too. The same applies to the user + account. If a user joins the channel with the Agora Web SDK, ensure that the ID of + the user is set to the same parameter type. +
          Parameters - - - - - - channelName - channelId - -

          - - - - userAccount - -

          The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as . Supported characters are (89 in total): - -

            -
          • The 26 lowercase English letters: a to z.
          • -
          • The 26 uppercase English letters: A to Z.
          • -
          • All numeric characters: 0 to 9.
          • -
          • Space
          • -
          • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
          • -

          -
          -
          - - - - - - - - -
          -
          + + + + + + channelName + channelId + +

          + + + + userAccount + +

          The user account. This parameter is used to identify the user in the + channel for real-time audio and video engagement. You need to set and + manage user accounts yourself and ensure that each user account in the + same channel is unique. The maximum length of this parameter is 255 + bytes. Ensure that you set this parameter and do not set it as . Supported characters are (89 in total):

            +
          • The 26 lowercase English letters: a to z.
          • +
          • The 26 uppercase English letters: A to Z.
          • +
          • All numeric characters: 0 to 9.
          • +
          • Space
          • +
          • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", + "}", "|", "~", ","
          • +

          +
          +
          + + + + + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_leavechannel.dita b/en-US/dita/RTC/API/api_leavechannel.dita index 7b156a12ab3..9ee22ccfdef 100644 --- a/en-US/dita/RTC/API/api_leavechannel.dita +++ b/en-US/dita/RTC/API/api_leavechannel.dita @@ -1,58 +1,72 @@ - <ph keyref="leaveChannel" /> + <ph keyref="leaveChannel"/> Leaves a channel. - +

          - public abstract int leaveChannel(); - - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock; - virtual int leaveChannel() = 0; - leaveChannel(): number - public abstract int LeaveChannel(); - - Future<void> leaveChannel();

          + public abstract int leaveChannel(); + - (int)leaveChannel:(void(^ _Nullable)(AgoraChannelStats * _Nonnull stat))leaveChannelBlock; + virtual int leaveChannel() = 0; + leaveChannel(): number + public abstract int LeaveChannel(); + + Future<void> leaveChannel(); +

          -

          This method releases all resources related to the session. This method call is asynchronous. When this method returns, it does not necessarily mean that the user has left the channel.

          -

          After joining the channel, you must call this method to end the call; otherwise, you cannot join the next call.

          -

          After joining the channel, you must call this method or to end the call; otherwise, you cannot join the next call.

          -

          A successful call of this method triggers the following callbacks: -

            -
          • The local client: .
          • -
          • The remote client: , if the user joining the channel is in the Communication profile, or is a host in the Live-broadcasting profile.
          • -

          +

          This method releases all resources related to the session. This method call is + asynchronous. When this method returns, it does not necessarily mean that the user + has left the channel.

          +

          After joining the channel, you must call this method to end the call; + otherwise, you cannot join the next call.

          +

          After joining the channel, you must call this method or to end the call; otherwise, you cannot join the next + call.

          +

          A successful call of this method triggers the following callbacks:

            +
          • The local client: .
          • +
          • The remote client: , if the user joining the + channel is in the Communication profile, or is a host in the + Live-broadcasting profile.
          • +

          -
            -
          • If you call immediately after calling this method, the SDK does not trigger the callback.
          • -
          • If you call this method during a CDN live streaming, the SDK automatically calls the method.
          • -
          +
            +
          • If you call immediately after calling this method, + the SDK does not trigger the + callback.
          • +
          • If you call this method during a CDN live streaming, the SDK automatically + calls the method.
          • +
          + +
          Parameters - - - - -
          + + + + + +
          Returns
            -
          • 0(ERR_OK): Success.
          • -
          • < 0: Failure. -
              -
            • -1(ERR_FAILED): A general error occurs (no specified reason).
            • -
            • -2 (ERR_INVALID_ARGUMENT): The parameter is invalid.
            • -
            • -7(ERR_NOT_INITIALIZED): The SDK is not initialized.
            • -
          • -
          +
        588. 0(ERR_OK): Success.
        589. +
        590. < 0: Failure.
            +
          • -1(ERR_FAILED): A general error occurs (no specified reason).
          • +
          • -2 (ERR_INVALID_ARGUMENT): The parameter is invalid.
          • +
          • -7(ERR_NOT_INITIALIZED): The SDK is not initialized.
          • +
        591. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_leavechannel2.dita b/en-US/dita/RTC/API/api_leavechannel2.dita index 432de659fed..60092479777 100644 --- a/en-US/dita/RTC/API/api_leavechannel2.dita +++ b/en-US/dita/RTC/API/api_leavechannel2.dita @@ -1,53 +1,67 @@ - <ph keyref="leaveChannel2" /> + <ph keyref="leaveChannel2"/> Leaves a channel. - +

          - public abstract int LeaveChannel(LeaveChannelOptions options);

          + public abstract int LeaveChannel(LeaveChannelOptions options);

          - public abstract int leaveChannel(LeaveChannelOptions options); - - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options + public abstract int leaveChannel(LeaveChannelOptions options); + - (int)leaveChannel:(AgoraLeaveChannelOptions * _Nonnull)options leaveChannelBlock:(void (^ _Nullable)(AgoraChannelStats * _Nonnull))leaveChannelBlock; - virtual int leaveChannel(const LeaveChannelOptions& options) = 0; - - -

          + virtual int leaveChannel(const LeaveChannelOptions& options) = 0; + + + +

          -

          This method lets the user leave the channel, for example, by hanging up or exiting the call.

          -

          After joining the channel, you must call this method or to end the call, otherwise, the next call cannot be started.

          -

          No matter whether you are currently in a call or not, you can call this method without side effects. This method releases all resources related to the session.

          -

          This method call is asynchronous, and the user has not left the channel when the method call returns. After you leave the channel, the SDK triggers the callback. A successful call of this method triggers the following callbacks: The local client: .The remote client: , if the user joining the channel is in the COMMUNICATION profile, or is a host in the LIVE_BROADCASTING profile.

          -
          +

          This method lets the user leave the channel, for example, by hanging up or exiting + the call.

          +

          After joining the channel, you must call this method or + to end the call, otherwise, the next call cannot be started.

          +

          No matter whether you are currently in a call or not, you can call this method + without side effects. This method releases all resources related to the session.

          +

          This method call is asynchronous, and the user has not left the channel when the + method call returns. After you leave the channel, the SDK triggers the callback. A successful call of this method triggers + the following callbacks: The local client: .The + remote client: , if the user joining the channel is in + the COMMUNICATION profile, or is a host in the LIVE_BROADCASTING profile.

          + +
          Parameters - - options - The options for leaving the channel. See . - - - leaveChannelBlock - -

          This callback indicates that a user leaves a channel, and provides the statistics of the call in .

          -
          -
          -
          + + options + The options for leaving the channel. See . + + + leaveChannelBlock + +

          This callback indicates that a user leaves a channel, and provides the + statistics of the call in .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        592. 0: Success.
        593. +
        594. < 0: Failure.
        595. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_addbackgroundimage.dita b/en-US/dita/RTC/API/api_livetranscoding_addbackgroundimage.dita index 461456b0b9d..3d685d5a61f 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_addbackgroundimage.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_addbackgroundimage.dita @@ -1,42 +1,46 @@ - <ph keyref="addBackgroundImage" /> + <ph keyref="addBackgroundImage"/> Adds a background image. - +

          - public void addBackgroundImage(AgoraImage backgroundImage) { + public void addBackgroundImage(AgoraImage backgroundImage) { if (backgroundImageList == null) { backgroundImageList = new ArrayList<AgoraImage>(); } backgroundImageList.add(backgroundImage); } - - - - - -

          + + + + + + +

          -

          This method only supports adding one background imageat a time. If you need to add more than one background images, call this method multiple times.

          +

          This method only supports adding one background imageat a time. If you need to add + more than one background images, call this method multiple times.

          The total number of watermarks and background images can range from 0 to 10.

          Parameters - - backgroundImage - The number of background images on the live video. Watermark images must be in the PNG format. See for details. - -
          + + backgroundImage + The number of background images on the live video. Watermark images must be + in the PNG format. See for details. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_adduser.dita b/en-US/dita/RTC/API/api_livetranscoding_adduser.dita index f8c7de2b0d6..0c0992c2cff 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_adduser.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_adduser.dita @@ -1,43 +1,46 @@ - <ph keyref="addUser" /> - Adds a user for video mixing during the CDN live streaming. + <ph keyref="addUser"/> + Adds a user for video mixing during the CDN live + streaming. - +

          - public int addUser(TranscodingUser user) { + public int addUser(TranscodingUser user) { if (user == null || user.uid == 0) { return -Constants.ERR_INVALID_ARGUMENT; } - + - (int)addUser:(AgoraLiveTranscodingUser* _Nonnull)user; - - - - -

          + + + + +

          Parameters - - user - The transcoding user. See for details. - -
          + + user + The transcoding user. See for details. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        596. 0: Success.
        597. +
        598. < 0: Failure.
        599. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_addwatermark.dita b/en-US/dita/RTC/API/api_livetranscoding_addwatermark.dita index 3ab6e7ac78f..c98d28a25a1 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_addwatermark.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_addwatermark.dita @@ -1,42 +1,46 @@ - <ph keyref="addWatermark" /> + <ph keyref="addWatermark"/> Adds a watermark. - +

          - public void addWatermark(AgoraImage watermark) { + public void addWatermark(AgoraImage watermark) { if (watermarkList == null) { watermarkList = new ArrayList<AgoraImage>(); } watermarkList.add(watermark); } - - - - - -

          + + + + + + +

          -

          This method only supports adding one watermark every time. If you need to add more than one watermark, call this method multiple times.

          +

          This method only supports adding one watermark every time. If you need to add more + than one watermark, call this method multiple times.

          The total number of watermarks and background images can range from 0 to 10.

          Parameters - - watermark - The watermark on the live video. Watermark images must be in the PNG format. See for details. - -
          + + watermark + The watermark on the live video. Watermark images must be in the PNG format. + See for details. + + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_defaulttranscoding.dita b/en-US/dita/RTC/API/api_livetranscoding_defaulttranscoding.dita index 7e9186bd027..431d8c4ddde 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_defaulttranscoding.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_defaulttranscoding.dita @@ -1,29 +1,30 @@ - <ph keyref="defaultTranscoding" /> + <ph keyref="defaultTranscoding"/> Creates a default transcoding object. - +

          - - + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding; - - - - -

          + + + (AgoraLiveTranscoding* _Nonnull)defaultTranscoding; + + + + + +

          Returns -

          The default object.

          +

          The default object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_getadvancedfeatures.dita b/en-US/dita/RTC/API/api_livetranscoding_getadvancedfeatures.dita index c2040304877..24a3345f5ef 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_getadvancedfeatures.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_getadvancedfeatures.dita @@ -1,12 +1,13 @@ - <ph keyref="getAdvancedFeatures" /> - Gets the status of the advanced features of streaming with transcoding. + <ph keyref="getAdvancedFeatures"/> + Gets the status of the advanced features of streaming + with transcoding. - + @@ -16,17 +17,23 @@ return advancedFeatures; } - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures; - - - - -
          + + + + + +
          -

          If you want to enable the advanced features of streaming with transcoding, contact .

          +

          If you want to enable the advanced features of streaming with transcoding, contact + .

          Returns -

          The feature name and whether the feature is enabled. See for details. The advanced feature names, including LBHQ (high-quality video with a lower bitrate) and VEO (optimized video encoder), and whether the feature is enabled.

          +

          The feature name and whether the feature is enabled. See for details. The advanced feature names, including LBHQ (high-quality video with a lower + bitrate) and VEO (optimized video encoder), and whether the feature is + enabled.

          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_getbackgroundcolor.dita b/en-US/dita/RTC/API/api_livetranscoding_getbackgroundcolor.dita index da21851af13..8a2ba0a5d17 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_getbackgroundcolor.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_getbackgroundcolor.dita @@ -1,31 +1,32 @@ - <ph keyref="getBackgroundColor" /> + <ph keyref="getBackgroundColor"/> Gets the background color in hex. - +

          - public int getBackgroundColor() { + public int getBackgroundColor() { return this.backgroundColor; } - - - - - -

          + + + + + + +

          Returns

          The background color to set in RGB hex value.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_getbackgroundimagelist.dita b/en-US/dita/RTC/API/api_livetranscoding_getbackgroundimagelist.dita index 6b6199890e6..e8232aedd77 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_getbackgroundimagelist.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_getbackgroundimagelist.dita @@ -1,31 +1,32 @@ - <ph keyref="getBackgroundImageList" /> + <ph keyref="getBackgroundImageList"/> Gets the list of background images. - +

          - public ArrayList<AgoraImage> getBackgroundImageList() { + public ArrayList<AgoraImage> getBackgroundImageList() { return backgroundImageList; } - - - - - -

          + + + + + + +

          Returns -

          The list of background images. See for details.

          +

          The list of background images. See for details.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_getusercount.dita b/en-US/dita/RTC/API/api_livetranscoding_getusercount.dita index 8b7c2167af3..08fc8285615 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_getusercount.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_getusercount.dita @@ -1,31 +1,33 @@ - <ph keyref="getUserCount" /> - Gets the number of users transcoded in the CDN live streaming. + <ph keyref="getUserCount"/> + Gets the number of users transcoded in the CDN live + streaming. - +

          - public int getUserCount() { + public int getUserCount() { return transcodingUsers.size(); } - - - - - -

          + + + + + + +

          Returns

          The number of users transcoded in the CDN live streaming.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_getusers.dita b/en-US/dita/RTC/API/api_livetranscoding_getusers.dita index 49e1ea1fa2e..89021d36adc 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_getusers.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_getusers.dita @@ -1,35 +1,38 @@ - <ph keyref="getUsers" /> - Gets the user list in the CDN live streaming. + <ph keyref="getUsers"/> + Gets the user list in the CDN live + streaming. - +

          - public final ArrayList<TranscodingUser> getUsers() { + public final ArrayList<TranscodingUser> getUsers() { Collection<TranscodingUser> values = transcodingUsers.values(); return new ArrayList<>(values); } - - - - - -

          + + + + + + +

          -

          This method retrieves all users in the CDN live streaming. The user list returned by this method is read-only and should not be modified.

          +

          This method retrieves all users in the CDN live streaming. The user list returned by + this method is read-only and should not be modified.

          Returns -

          The user list. See for details.

          +

          The user list. See for details.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_getwatermarklist.dita b/en-US/dita/RTC/API/api_livetranscoding_getwatermarklist.dita index 259addcf819..da88d069342 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_getwatermarklist.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_getwatermarklist.dita @@ -1,31 +1,32 @@ - <ph keyref="getWatermarkList" /> + <ph keyref="getWatermarkList"/> Gets the watermark list. - +

          - public ArrayList<AgoraImage> getWatermarkList() { + public ArrayList<AgoraImage> getWatermarkList() { return watermarkList; } - - - - - -

          + + + + + + +

          Returns -

          The watermark list. See for details.

          +

          The watermark list. See for details.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_removebackgroundimage.dita b/en-US/dita/RTC/API/api_livetranscoding_removebackgroundimage.dita index 1e266763c40..98107dc68ea 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_removebackgroundimage.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_removebackgroundimage.dita @@ -1,48 +1,53 @@ - <ph keyref="removeBackgroundImage" /> - Removes a background image from the background image list. + <ph keyref="removeBackgroundImage"/> + Removes a background image from the background image + list. - +

          - public boolean removeBackgroundImage(AgoraImage backgroundImage) { + public boolean removeBackgroundImage(AgoraImage backgroundImage) { if (backgroundImageList == null) { return false; } return backgroundImageList.remove(backgroundImage); } - - - - - -

          + + + + + + +

          -

          This method only supports removing one background image every time. If you need to remove more than one background image, call this method multiple times.

          +

          This method only supports removing one background image every time. If you need to + remove more than one background image, call this method multiple times.

          Parameters - - - - -
          + + + + + +
          Returns

          Whether the background image is removed:

            -
          • : The background image is removed.
          • -
          • : The background image is not removed.
          • -
          +
        600. : The background image is removed.
        601. +
        602. : The background image is not removed.
        603. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_removeuser.dita b/en-US/dita/RTC/API/api_livetranscoding_removeuser.dita index 2d4a0ec33c1..d60e9451932 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_removeuser.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_removeuser.dita @@ -1,19 +1,20 @@ - <ph keyref="removeUser" /> - Removes a user from video mixing during the CDN live streaming. + <ph keyref="removeUser"/> + Removes a user from video mixing during the CDN live + streaming. - +

          - public int removeUser(int uid) { + public int removeUser(int uid) { if (!transcodingUsers.containsKey(uid)) return -Constants.ERR_INVALID_ARGUMENT; @@ -21,26 +22,29 @@ userCount = transcodingUsers.size(); return Constants.ERR_OK; } - - (int)removeUser:(NSUInteger)uid; - - - - -

          + - (int)removeUser:(NSUInteger)uid; + + + + + +

          Parameters - - uid - The ID of the user to be removed. - -
          + + uid + The ID of the user to be removed. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        604. 0: Success.
        605. +
        606. < 0: Failure.
        607. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_removewatermark.dita b/en-US/dita/RTC/API/api_livetranscoding_removewatermark.dita index e565199273d..c812ffe8e15 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_removewatermark.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_removewatermark.dita @@ -1,49 +1,52 @@ - <ph keyref="removeWatermark" /> - Removes a watermark from the watermark list. + <ph keyref="removeWatermark"/> + Removes a watermark from the watermark + list. - +

          - public boolean removeWatermark(AgoraImage watermark) { + public boolean removeWatermark(AgoraImage watermark) { if (watermarkList == null) { return false; } return watermarkList.remove(watermark); } - - - - - -

          + + + + + + +

          -

          This method only supports removing one watermark every time. If you need to removing more than one watermark, call this method multiple times.

          +

          This method only supports removing one watermark every time. If you need to removing + more than one watermark, call this method multiple times.

          Parameters - - - - -
          + + + + + +
          Returns -

          Whether the watermark is removed. -

            -
          • : The watermark is removed.
          • -
          • : The watermark is not removed.
          • -

          +

          Whether the watermark is removed.

            +
          • : The watermark is removed.
          • +
          • : The watermark is not removed.
          • +

          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_setadvancedfeatures.dita b/en-US/dita/RTC/API/api_livetranscoding_setadvancedfeatures.dita index b7462ea1418..d50f39d07af 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_setadvancedfeatures.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_setadvancedfeatures.dita @@ -1,12 +1,13 @@ - <ph keyref="setAdvancedFeatures" /> - Sets whether to enable the advanced features of streaming with transcoding. + <ph keyref="setAdvancedFeatures"/> + Sets whether to enable the advanced features of + streaming with transcoding. - + @@ -16,29 +17,35 @@ advancedFeatures.put(featureName, opened); } - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened; - - - - -
          + + + + + +
          -

          If you want to enable the advanced features of streaming with transcoding, contact .

          +

          If you want to enable the advanced features of streaming with transcoding, contact + .

          Parameters - - featureName - The feature names, including LBHQ (high-quality video with a lower bitrate) and VEO (optimized video encoder). - - - opened - Whether to enable the advanced features of streaming with transcoding: -
            -
          • : Enable the advanced features.
          • -
          • : (Default) Do not enable the advanced features.
          • -
          -
          -
          + + featureName + The feature names, including LBHQ (high-quality video with a lower bitrate) + and VEO (optimized video encoder). + + + opened + Whether to enable the advanced features of streaming with transcoding:
            +
          • : Enable the advanced + features.
          • +
          • : (Default) Do not enable the + advanced features.
          • +
          +
          +
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_setbackgroundcolor.dita b/en-US/dita/RTC/API/api_livetranscoding_setbackgroundcolor.dita index da0e2900c20..ed896bc56d3 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_setbackgroundcolor.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_setbackgroundcolor.dita @@ -1,35 +1,39 @@ - <ph keyref="setBackgroundColor" /> - Sets the background color of the CDN live stream in the format of RGB hex. + <ph keyref="setBackgroundColor"/> + Sets the background color of the CDN live stream in the + format of RGB hex. - +

          - public void setBackgroundColor(int color) { + public void setBackgroundColor(int color) { this.backgroundColor = color; } - - - - - -

          + + + + + + +

          Parameters - - color - Background color to set in RGB hex value. Do not include # in the value. For example, 0xFFB6C1 is light pink. The default value is 0x000000(black). - -
          + + color + Background color to set in RGB hex value. Do not include # in the value. For + example, 0xFFB6C1 is light pink. The default value is 0x000000(black). + + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_setbackgroundcolor2.dita b/en-US/dita/RTC/API/api_livetranscoding_setbackgroundcolor2.dita index cf280be6f48..c86bda636cf 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_setbackgroundcolor2.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_setbackgroundcolor2.dita @@ -1,43 +1,46 @@ - <ph keyref="setBackgroundColor2" /> - Sets the background color in RGB format. + <ph keyref="setBackgroundColor2"/> + Sets the background color in RGB + format. - +

          - public void setBackgroundColor(int red, int green, int blue) { + public void setBackgroundColor(int red, int green, int blue) { this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } - - - - - -

          + + + + + + +

          Parameters - - red - Red component. - - - green - Green component. - - - blue - Blue component. - -
          + + red + Red component. + + + green + Green component. + + + blue + Blue component. + + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_setusers.dita b/en-US/dita/RTC/API/api_livetranscoding_setusers.dita index 9c4cca49090..bbc025f23f7 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_setusers.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_setusers.dita @@ -1,19 +1,20 @@ - <ph keyref="setUsers" /> - Sets the users in batches in the CDN live streaming. + <ph keyref="setUsers"/> + Sets the users in batches in the CDN live + streaming. - +

          - public void setUsers(ArrayList<TranscodingUser> users) { + public void setUsers(ArrayList<TranscodingUser> users) { transcodingUsers.clear(); if (users != null) { for (TranscodingUser user : users) { @@ -22,23 +23,27 @@ } userCount = transcodingUsers.size(); } - - - - - -

          + + + + + + +

          -

          This method sets all users involved in the CDN live stream. This method replaces the old user data with the new TranscodingUser data.

          +

          This method sets all users involved in the CDN live stream. This method + replaces the old user data with the new TranscodingUser data.

          Parameters - - users - All users involved in the CDN live streaming. See for details. - -
          + + users + All users involved in the CDN live streaming. See for details. + + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_livetranscoding_setusers2.dita b/en-US/dita/RTC/API/api_livetranscoding_setusers2.dita index f403f873665..bd117f17245 100644 --- a/en-US/dita/RTC/API/api_livetranscoding_setusers2.dita +++ b/en-US/dita/RTC/API/api_livetranscoding_setusers2.dita @@ -1,19 +1,20 @@ - <ph keyref="setUsers2" /> - Sets the users in batches in the CDN live streaming. + <ph keyref="setUsers2"/> + Sets the users in batches in the CDN live + streaming. - +

          - public void setUsers(Map<Integer, TranscodingUser> users) { + public void setUsers(Map<Integer, TranscodingUser> users) { transcodingUsers.clear(); if (users != null) { transcodingUsers.putAll(users); @@ -21,23 +22,25 @@ userCount = transcodingUsers.size(); } - - - - - -

          + + + + + + +

          -

          +

          Parameters - - - - -
          + + + + + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_monitordevicechange.dita b/en-US/dita/RTC/API/api_monitordevicechange.dita index fb9b2185e68..1d2bd70032e 100644 --- a/en-US/dita/RTC/API/api_monitordevicechange.dita +++ b/en-US/dita/RTC/API/api_monitordevicechange.dita @@ -1,56 +1,63 @@ - <ph keyref="monitorDeviceChange" /> - Monitors the change of the device state. + <ph keyref="monitorDeviceChange"/> + Monitors the change of the device + state. - +

          - - - (void)monitorDeviceChange:(BOOL)enabled; - virtual int enableLoopbackRecording(bool enabled) = 0; - enableLoopbackRecording( + + - (void)monitorDeviceChange:(BOOL)enabled; + virtual int enableLoopbackRecording(bool enabled) = 0; + enableLoopbackRecording( enabled = false, deviceName: string | null = null ): number - - -

          + + + +

          - - - virtual int enableLoopbackRecording(bool enabled) = 0; - enableLoopbackRecording( + + + virtual int enableLoopbackRecording(bool enabled) = 0; + enableLoopbackRecording( enabled = false, deviceName: string | null = null ): number - - -

          + + + +

          -

          Use this method to monitor the plugging and swapping of external audio or video devices, for example, an external camera.

          +

          Use this method to monitor the plugging and swapping of external audio or video + devices, for example, an external camera.

          -

          This method is for macOS only.

          -
          +

          This method is for macOS only.

          + +
          Parameters - - enabled - Whether to monitor the change of the device state: -
            -
          • : Monitor the device state change.
          • -
          • : Do not monitor the device state change.
          • -
          -
          -
          + + enabled + Whether to monitor the change of the device state:
            +
          • : Monitor the device state + change.
          • +
          • : Do not monitor the device + state change.
          • +
          +
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_muteallremoteaudiostreams.dita b/en-US/dita/RTC/API/api_muteallremoteaudiostreams.dita index 1a8de8a5924..8cd71f865fa 100644 --- a/en-US/dita/RTC/API/api_muteallremoteaudiostreams.dita +++ b/en-US/dita/RTC/API/api_muteallremoteaudiostreams.dita @@ -1,53 +1,65 @@ - <ph keyref="muteAllRemoteAudioStreams" /> - Stops or resumes subscribing to the audio streams of all remote users. + <ph keyref="muteAllRemoteAudioStreams"/> + Stops or resumes subscribing to the audio streams of + all remote users. - +

          - public abstract int muteAllRemoteAudioStreams(boolean muted); - - (int)muteAllRemoteAudioStreams:(BOOL)mute; - virtual int muteAllRemoteAudioStreams(bool mute) = 0; - muteAllRemoteAudioStreams(mute: boolean): number - public abstract int MuteAllRemoteAudioStreams(bool mute); - - Future<void> muteAllRemoteAudioStreams(bool muted);

          + public abstract int muteAllRemoteAudioStreams(boolean muted); + - (int)muteAllRemoteAudioStreams:(BOOL)mute; + virtual int muteAllRemoteAudioStreams(bool mute) = 0; + muteAllRemoteAudioStreams(mute: boolean): number + public abstract int MuteAllRemoteAudioStreams(bool mute); + + Future<void> muteAllRemoteAudioStreams(bool muted); +

          -

          As of v3.3.0, after successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including all subsequent users.

          +

          As of v3.3.0, after successfully calling this method, the local user stops + or resumes subscribing to the audio streams of all remote users, including all + subsequent users.

          -
            -
          • Call this method after joining a channel.
          • -
          • See recommended settings in Set the Subscribing State.
          • -
          +
            +
          • Call this method after joining a channel.
          • +
          • See recommended settings in Set the Subscribing + State.
          • +
          + +
          Parameters - - muted - mute - -

          Whether to subscribe to the audio streams of all remote users: -

            -
          • : Do not subscribe to the audio streams of all remote users.
          • -
          • : (Default) Subscribe to the audio streams of all remote users by default.
          • -

          -
          -
          -
          + + muted + mute + +

          Whether to subscribe to the audio streams of all remote users:

            +
          • : Do not subscribe to the + audio streams of all remote users.
          • +
          • : (Default) Subscribe to + the audio streams of all remote users by default.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        608. 0: Success.
        609. +
        610. < 0: Failure.
        611. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_muteallremotevideostreams.dita b/en-US/dita/RTC/API/api_muteallremotevideostreams.dita index 9f65cdffc40..2ca3f1311e4 100644 --- a/en-US/dita/RTC/API/api_muteallremotevideostreams.dita +++ b/en-US/dita/RTC/API/api_muteallremotevideostreams.dita @@ -1,53 +1,65 @@ - <ph keyref="muteAllRemoteVideoStreams" /> - Stops or resumes subscribing to the video streams of all remote users. + <ph keyref="muteAllRemoteVideoStreams"/> + Stops or resumes subscribing to the video streams of + all remote users. - +

          - public abstract int muteAllRemoteVideoStreams(boolean muted); - - (int)muteAllRemoteVideoStreams:(BOOL)mute; - virtual int muteAllRemoteVideoStreams(bool mute) = 0; - muteAllRemoteVideoStreams(mute: boolean): number - public abstract int MuteAllRemoteVideoStreams(bool mute); - - Future<void> muteAllRemoteVideoStreams(bool muted);

          + public abstract int muteAllRemoteVideoStreams(boolean muted); + - (int)muteAllRemoteVideoStreams:(BOOL)mute; + virtual int muteAllRemoteVideoStreams(bool mute) = 0; + muteAllRemoteVideoStreams(mute: boolean): number + public abstract int MuteAllRemoteVideoStreams(bool mute); + + Future<void> muteAllRemoteVideoStreams(bool muted); +

          -

          As of v3.3.0, after successfully calling this method, the local user stops or resumes subscribing to the video streams of all remote users, including all subsequent users.

          +

          As of v3.3.0, after successfully calling this method, the local user stops + or resumes subscribing to the video streams of all remote users, including all + subsequent users.

          -
            -
          • Call this method after joining a channel.
          • -
          • See recommended settings in Set the Subscribing State.
          • -
          +
            +
          • Call this method after joining a channel.
          • +
          • See recommended settings in Set the Subscribing + State.
          • +
          + +
          Parameters - - muted - mute - -

          Whether to stop subscribing to the video streams of all remote users. -

            -
          • : Stop subscribing to the video streams of all remote users.
          • -
          • : (Default) Subscribe to the audio streams of all remote users by default.
          • -

          -
          -
          -
          + + muted + mute + +

          Whether to stop subscribing to the video streams of all remote users.

            +
          • : Stop subscribing to the + video streams of all remote users.
          • +
          • : (Default) Subscribe to + the audio streams of all remote users by default.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        612. 0: Success.
        613. +
        614. < 0: Failure.
        615. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_mutelocalaudiostream.dita b/en-US/dita/RTC/API/api_mutelocalaudiostream.dita index 82de995fc55..ba602a1d0ae 100644 --- a/en-US/dita/RTC/API/api_mutelocalaudiostream.dita +++ b/en-US/dita/RTC/API/api_mutelocalaudiostream.dita @@ -1,54 +1,67 @@ - <ph keyref="muteLocalAudioStream" /> - Stops or resumes publishing the local audio stream. + <ph keyref="muteLocalAudioStream"/> + Stops or resumes publishing the local audio + stream. - +

          - public abstract int muteLocalAudioStream(boolean muted); - - (int)muteLocalAudioStream:(BOOL)mute; - virtual int muteLocalAudioStream(bool mute) = 0; - muteLocalAudioStream(mute: boolean): number - public abstract int MuteLocalAudioStream(bool mute); - - Future<void> muteLocalAudioStream(bool muted);

          + public abstract int muteLocalAudioStream(boolean muted); + - (int)muteLocalAudioStream:(BOOL)mute; + virtual int muteLocalAudioStream(bool mute) = 0; + muteLocalAudioStream(mute: boolean): number + public abstract int MuteLocalAudioStream(bool mute); + + Future<void> muteLocalAudioStream(bool muted); +

          -

          A successful call of this method triggers the callback on the remote client.

          +

          A successful call of this method triggers the callback on the remote client.

          -
            -
          • This method does not affect any ongoing audio recording, because it does not disable the microphone.
          • -
          • You can call this method either before or after joining a channel. If you call the method after this method, the SDK resets whether or not to stop publishing the local audio according to the channel profile and user role. Therefore, Agora recommends calling this method after the method.
          • -
          +
            +
          • This method does not affect any ongoing audio recording, because it does not + disable the microphone.
          • +
          • You can call this method either before or after joining a + channel. If you call the method after + this method, the SDK resets whether or not to stop publishing the local + audio according to the channel profile and user role. Therefore, Agora + recommends calling this method after the method.
          • +
          + +
          Parameters - - muted - mute - -

          Whether to stop publishing the local audio stream. - -

            -
          • : Stop publishing the local audio stream.
          • -
          • : (Default) Resumes publishing the local audio stream.
          • -

          -
          -
          -
          + + muted + mute + +

          Whether to stop publishing the local audio stream.

            +
          • : Stop publishing the local + audio stream.
          • +
          • : (Default) Resumes + publishing the local audio stream.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        616. 0: Success.
        617. +
        618. < 0: Failure.
        619. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_mutelocalvideostream.dita b/en-US/dita/RTC/API/api_mutelocalvideostream.dita index 989e10839f1..bf55179a8ba 100644 --- a/en-US/dita/RTC/API/api_mutelocalvideostream.dita +++ b/en-US/dita/RTC/API/api_mutelocalvideostream.dita @@ -1,54 +1,70 @@ - <ph keyref="muteLocalVideoStream" /> - Stops or resumes publishing the local video stream. + <ph keyref="muteLocalVideoStream"/> + Stops or resumes publishing the local video + stream. - +

          - public abstract int muteLocalVideoStream(boolean muted); - - (int)muteLocalVideoStream:(BOOL)mute; - virtual int muteLocalVideoStream(bool mute) = 0; - muteLocalVideoStream(mute: boolean): number - public abstract int MuteLocalVideoStream(bool mute); - - Future<void> muteLocalVideoStream(bool muted);

          + public abstract int muteLocalVideoStream(boolean muted); + - (int)muteLocalVideoStream:(BOOL)mute; + virtual int muteLocalVideoStream(bool mute) = 0; + muteLocalVideoStream(mute: boolean): number + public abstract int MuteLocalVideoStream(bool mute); + + Future<void> muteLocalVideoStream(bool muted); +

          -

          A successful call of this method triggers the callback on the remote client.

          +

          A successful call of this method triggers the + callback on the remote client.

          -
            -
          • This method executes faster than the () method, which controls the sending of the local video stream.
          • -
          • This method does not affect any ongoing video recording, because it does not disable the camera.
          • -
          • You can call this method either before or after joining a channel. If you call after this method, the SDK resets whether or not to stop publishing the local video according to the channel profile and user role. Therefore, Agora recommends calling this method after the method.
          • -
          +
            +
          • This method executes faster than the () method, which controls the + sending of the local video stream.
          • +
          • This method does not affect any ongoing video recording, because it does not + disable the camera.
          • +
          • You can call this method either before or after joining a + channel. If you call after this method, + the SDK resets whether or not to stop publishing the local video according + to the channel profile and user role. Therefore, Agora recommends calling + this method after the method.
          • +
          + +
          Parameters - - muted - mute - -

          Whether to stop publishing the local video stream. -

            -
          • : Stop publishing the local video stream.
          • -
          • : (Default) Publish the local video stream.
          • -

          -
          -
          -
          + + muted + mute + +

          Whether to stop publishing the local video stream.

            +
          • : Stop publishing the local + video stream.
          • +
          • : (Default) Publish the + local video stream.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        620. 0: Success.
        621. +
        622. < 0: Failure.
        623. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_muterecordingsignal.dita b/en-US/dita/RTC/API/api_muterecordingsignal.dita index dfd98e0c751..fac630d2011 100644 --- a/en-US/dita/RTC/API/api_muterecordingsignal.dita +++ b/en-US/dita/RTC/API/api_muterecordingsignal.dita @@ -1,43 +1,50 @@ - <ph keyref="muteRecordingSignal" /> + <ph keyref="muteRecordingSignal"/> Whether to mute the recording signal. - +

          - public abstract int muteRecordingSignal(boolean muted); - -(int)muteRecordingSignal:(BOOL)muted; - virtual int muteRecordingSignal(bool mute) = 0; - - public abstract int MuteRecordingSignal(bool mute); - -

          + public abstract int muteRecordingSignal(boolean muted); + -(int)muteRecordingSignal:(BOOL)muted; + virtual int muteRecordingSignal(bool mute) = 0; + + public abstract int MuteRecordingSignal(bool mute); + + +

          Parameters - - muted - mute - -
            -
          • : Mute the recording signal.
          • -
          • : (Default) Unmute the recording signal.
          • -
          -
          -
          + + muted + mute + +
            +
          • : Mute the recording + signal.
          • +
          • : (Default) Unmute the + recording signal.
          • +
          +
          +
          + +
          +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        624. 0: Success.
        625. +
        626. < 0: Failure.
        627. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_muteremoteaudiostream.dita b/en-US/dita/RTC/API/api_muteremoteaudiostream.dita index f13dbd42fd5..956ce0cadbb 100644 --- a/en-US/dita/RTC/API/api_muteremoteaudiostream.dita +++ b/en-US/dita/RTC/API/api_muteremoteaudiostream.dita @@ -1,62 +1,69 @@ - <ph keyref="muteRemoteAudioStream" /> - Stops or resumes subscribing to the audio stream of a specified user. + <ph keyref="muteRemoteAudioStream"/> + Stops or resumes subscribing to the audio stream of a + specified user. - +

          - public abstract int MuteRemoteAudioStream(uint uid, bool mute);

          + public abstract int MuteRemoteAudioStream(uint uid, bool mute); +

          - public abstract int MuteRemoteAudioStream(uint userId, bool mute);

          + public abstract int MuteRemoteAudioStream(uint userId, bool mute);

          - public abstract int muteRemoteAudioStream(int uid, boolean muted); - - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; + public abstract int muteRemoteAudioStream(int uid, boolean muted); + - (int)muteRemoteAudioStream:(NSUInteger)uid mute:(BOOL)mute; + virtual int muteRemoteAudioStream(uid_t uid, bool mute) = 0; - muteRemoteAudioStream(userId: number, mute: boolean): number - - Future<void> muteRemoteAudioStream(int uid, bool muted);

          + muteRemoteAudioStream(userId: number, mute: boolean): number + + Future<void> muteRemoteAudioStream(int uid, bool muted); +

          -
            -
          • Call this method after joining a channel.
          • -
          • See recommended settings in Set the Subscribing State.
          • -
          +
            +
          • Call this method after joining a channel.
          • +
          • See recommended settings in Set the Subscribing State.
          • +
          + +
          Parameters - - userId - uid - The user ID of the specified user. - - - muted - mute - -

          Whether to stop subscribing to the audio stream of the specified user. - -

            -
          • : Stop subscribing to the audio stream of the specified user.
          • -
          • : (Default) Subscribe to the audio stream of the specified user.
          • -

          -
          -
          -
          + + userId + uid + The user ID of the specified user. + + + muted + mute + +

          Whether to stop subscribing to the audio stream of the specified user.

            +
          • : Stop subscribing to the + audio stream of the specified user.
          • +
          • : (Default) Subscribe to + the audio stream of the specified user.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        628. 0: Success.
        629. +
        630. < 0: Failure.
        631. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_muteremotevideostream.dita b/en-US/dita/RTC/API/api_muteremotevideostream.dita index b8dea1496c8..364fead78b5 100644 --- a/en-US/dita/RTC/API/api_muteremotevideostream.dita +++ b/en-US/dita/RTC/API/api_muteremotevideostream.dita @@ -1,60 +1,68 @@ - <ph keyref="muteRemoteVideoStream" /> - Stops or resumes subscribing to the video stream of a specified user. + <ph keyref="muteRemoteVideoStream"/> + Stops or resumes subscribing to the video stream of a + specified user. - +

          - public abstract int MuteRemoteVideoStream(uint uid, bool mute);

          + public abstract int MuteRemoteVideoStream(uint uid, bool mute); +

          - public abstract int MuteRemoteVideoStream(uint userId, bool mute);

          + public abstract int MuteRemoteVideoStream(uint userId, bool mute);

          - public abstract int muteRemoteVideoStream(int userId, boolean muted); - - (int)muteRemoteVideoStream:(NSUInteger)uid + public abstract int muteRemoteVideoStream(int userId, boolean muted); + - (int)muteRemoteVideoStream:(NSUInteger)uid mute:(BOOL)mute; - virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; - muteRemoteVideoStream(userId: number, mute: boolean): number - - Future<void> muteRemoteVideoStream(int userId, bool muted);

          + virtual int muteRemoteVideoStream(uid_t userId, bool mute) = 0; + muteRemoteVideoStream(userId: number, mute: boolean): number + + Future<void> muteRemoteVideoStream(int userId, bool muted); +

          -
            -
          • Call this method after joining a channel.
          • -
          • See recommended settings in Set the Subscribing State.
          • -
          +
            +
          • Call this method after joining a channel.
          • +
          • See recommended settings in Set the Subscribing State.
          • +
          + +
          Parameters - - userId - The ID of the specified user. - - - muted - mute - -

          Whether to stop subscribing to the video stream of the specified user. -

            -
          • : Stop subscribing to the video streams of the specified user.
          • -
          • : (Default) Subscribe to the video stream of the specified user.
          • -

          -
          -
          -
          + + userId + The ID of the specified user. + + + muted + mute + +

          Whether to stop subscribing to the video stream of the specified user.

            +
          • : Stop subscribing to the + video streams of the specified user.
          • +
          • : (Default) Subscribe to + the video stream of the specified user.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        632. 0: Success.
        633. +
        634. < 0: Failure.
        635. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pauseallchannelmediarelay.dita b/en-US/dita/RTC/API/api_pauseallchannelmediarelay.dita index 9fa6a0cd3ec..a413dcd7485 100644 --- a/en-US/dita/RTC/API/api_pauseallchannelmediarelay.dita +++ b/en-US/dita/RTC/API/api_pauseallchannelmediarelay.dita @@ -1,41 +1,50 @@ - <ph keyref="pauseAllChannelMediaRelay" /> - Pauses the media stream relay to all destination channels. + <ph keyref="pauseAllChannelMediaRelay"/> + Pauses the media stream relay to all destination + channels. - +

          - public abstract int pauseAllChannelMediaRelay(); - - (int)pauseAllChannelMediaRelay; - virtual int pauseAllChannelMediaRelay() = 0; - - public abstract int PauseAllChannelMediaRelay(); - - Future<void> pauseAllChannelMediaRelay();

          + public abstract int pauseAllChannelMediaRelay(); + - (int)pauseAllChannelMediaRelay; + virtual int pauseAllChannelMediaRelay() = 0; + + public abstract int PauseAllChannelMediaRelay(); + + Future<void> pauseAllChannelMediaRelay(); +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          -

          After the cross-channel media stream relay starts, you can call this method to pause relaying media streams to all destination channels; after the pause, if you want to resume the relay, call .

          -

          After a successful method call, the SDK triggers the callback to report whether the media stream relay is successfully paused.

          - Call this method after .
          +

          After the cross-channel media stream relay starts, you can call this method to pause + relaying media streams to all destination channels; after the pause, if you want to + resume the relay, call .

          +

          After a successful method call, the SDK triggers the callback to report whether the media stream + relay is successfully paused.

          + Call this method after . +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        636. 0: Success.
        637. +
        638. < 0: Failure.
        639. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pausealleffects.dita b/en-US/dita/RTC/API/api_pausealleffects.dita index b03367b1cd5..64c123a0b2f 100644 --- a/en-US/dita/RTC/API/api_pausealleffects.dita +++ b/en-US/dita/RTC/API/api_pausealleffects.dita @@ -1,33 +1,35 @@ - <ph keyref="pauseAllEffects" /> + <ph keyref="pauseAllEffects"/> Pauses all audio effects. - +

          - public abstract int pauseAllEffects(); + public abstract int pauseAllEffects(); - - (int)pauseAllEffects; + - (int)pauseAllEffects; - virtual int pauseAllEffects() = 0; - pauseAllEffects(): number - public abstract int PauseAllEffects(); - - Future<void> pauseAllEffects();

          + virtual int pauseAllEffects() = 0; + pauseAllEffects(): number + public abstract int PauseAllEffects(); + + Future<void> pauseAllEffects(); +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        640. 0: Success.
        641. +
        642. < 0: Failure.
        643. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pauseaudiomixing.dita b/en-US/dita/RTC/API/api_pauseaudiomixing.dita index 27099995100..e8038408425 100644 --- a/en-US/dita/RTC/API/api_pauseaudiomixing.dita +++ b/en-US/dita/RTC/API/api_pauseaudiomixing.dita @@ -1,25 +1,27 @@ - <ph keyref="pauseAudioMixing" /> - Pauses playing and mixing the music file. + <ph keyref="pauseAudioMixing"/> + Pauses playing and mixing the music + file. - +

          - public abstract int pauseAudioMixing(); - - (int)pauseAudioMixing; - virtual int pauseAudioMixing() = 0; - pauseAudioMixing(): number - public abstract int PauseAudioMixing(); - - Future<void> pauseAudioMixing();

          + public abstract int pauseAudioMixing(); + - (int)pauseAudioMixing; + virtual int pauseAudioMixing() = 0; + pauseAudioMixing(): number + public abstract int PauseAudioMixing(); + + Future<void> pauseAudioMixing(); +

          Call this method when you are in a channel.

          @@ -27,8 +29,9 @@
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        644. 0: Success.
        645. +
        646. < 0: Failure.
        647. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pauseeffect.dita b/en-US/dita/RTC/API/api_pauseeffect.dita index d708432a404..1f0626f33c5 100644 --- a/en-US/dita/RTC/API/api_pauseeffect.dita +++ b/en-US/dita/RTC/API/api_pauseeffect.dita @@ -1,41 +1,44 @@ - <ph keyref="pauseEffect" /> + <ph keyref="pauseEffect"/> Pauses a specified audio effect. - +

          - public abstract int pauseEffect(int soundId); + public abstract int pauseEffect(int soundId); - - (int)pauseEffect:(int)soundId; + - (int)pauseEffect:(int)soundId; - virtual int pauseEffect(int soundId) = 0; - pauseEffect(soundId: number): number - public abstract int PauseEffect(int soundId); - - Future<void> pauseEffect(int soundId);

          + virtual int pauseEffect(int soundId) = 0; + pauseEffect(soundId: number): number + public abstract int PauseEffect(int soundId); + + Future<void> pauseEffect(int soundId); +

          Parameters - - soundId - - -
          + + soundId + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        648. 0: Success.
        649. +
        650. < 0: Failure.
        651. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_playalleffects.dita b/en-US/dita/RTC/API/api_playalleffects.dita index 739da40334f..7ef09680064 100644 --- a/en-US/dita/RTC/API/api_playalleffects.dita +++ b/en-US/dita/RTC/API/api_playalleffects.dita @@ -1,79 +1,91 @@ - <ph keyref="playAllEffects" /> + <ph keyref="playAllEffects"/> Plays all audio effects. - +

          - public abstract int PlayAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false);

          + public abstract int PlayAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false);

          - - - virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; - - -

          + + + virtual int playAllEffects(int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; + + + +

          -

          After calling multiple times to preload multiple audio effects into the memory, you can call this method to play all the specified audio effects for all users in the channel.

          +

          After calling multiple times to preload multiple audio + effects into the memory, you can call this method to play all the specified audio + effects for all users in the channel.

          Parameters - - loopCount - The number of times the audio effect loops: -
            -
          • -1: Play the audio effect in an indefinite loop until you call or .
          • -
          • 0: Play the audio effect once.
          • -
          • 1: Play the audio effect twice.
          • -
          -
          - - pitch - -

          The pitch of the audio effect. The value ranges between 0.5 and 2.0. The default value is 1.0 (original pitch). The lower the value, the lower the pitch.

          -
          -
          + + loopCount + The number of times the audio effect loops:
            +
          • -1: Play the audio effect in an indefinite loop until you call or .
          • +
          • 0: Play the audio effect once.
          • +
          • 1: Play the audio effect twice.
          • +
          +
          + + pitch + +

          The pitch of the audio effect. The value ranges between 0.5 and 2.0. The + default value is 1.0 (original pitch). The lower the value, the lower + the pitch.

          +
          +
          - - pan - The spatial position of the audio effect. The value ranges between -1.0 and 1.0: -
            -
          • -1.0: The audio effect shows on the left.
          • -
          • 0: The audio effect shows ahead.
          • -
          • 1.0: The audio effect shows on the right.
          • -
          -
          - - gain - -

          The volume of the audio effect. The value ranges from 0 to 100. The default value is 100 (original volume). The smaller the value, the less the gain.

          -
          -
          - - publish - Whether to publish the audio effect to the remote users: -
            -
          • : Publish the audio effect to the remote users. Both the local user and remote users can hear the audio effect.
          • -
          • : Do not publish the audio effect to the remote users. Only the local user can hear the audio effect.
          • -
          -
          -
          + + pan + The spatial position of the audio effect. The value ranges between -1.0 and + 1.0:
            +
          • -1.0: The audio effect shows on the left.
          • +
          • 0: The audio effect shows ahead.
          • +
          • 1.0: The audio effect shows on the right.
          • +
          +
          +
          + + gain + +

          The volume of the audio effect. The value ranges from 0 to 100. The + default value is 100 (original volume). The smaller the value, the less + the gain.

          +
          +
          + + publish + Whether to publish the audio effect to the remote users:
            +
          • : Publish the audio effect to + the remote users. Both the local user and remote users can hear the + audio effect.
          • +
          • : Do not publish the audio + effect to the remote users. Only the local user can hear the audio + effect.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_playeffect.dita b/en-US/dita/RTC/API/api_playeffect.dita index b63a282064a..3814d6b4123 100644 --- a/en-US/dita/RTC/API/api_playeffect.dita +++ b/en-US/dita/RTC/API/api_playeffect.dita @@ -1,76 +1,81 @@ - <ph keyref="playEffect1" /> - Plays the specified local or online audio effect file. + <ph keyref="playEffect1"/> + Plays the specified local or online audio effect + file. - +

          - public int playEffect(int soundId, + public int playEffect(int soundId, String filePath, int loop, double pitch, double pan, double gain); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch pan:(double)pan gain:(NSInteger)gain; - - - - -

          + + + + + +

          - -
          Deprecated:
          -
          Deprecated as of v2.3.0. Please use instead.
          -
          + +
          Deprecated:
          +
          Deprecated as of v2.3.0. Please use + instead.
          +
          -

          +

          Parameters - - - - - - filePath - -

          - - - - - - - - - - - - - - - - - - -

          -
          + + + + + + filePath + +

          + + + + + + + + + + + + + + + + + + + +

          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_playeffect2.dita b/en-US/dita/RTC/API/api_playeffect2.dita index aabc3b16cc4..b64b0e258a9 100644 --- a/en-US/dita/RTC/API/api_playeffect2.dita +++ b/en-US/dita/RTC/API/api_playeffect2.dita @@ -1,25 +1,26 @@ - <ph keyref="playEffect2" /> - Plays the specified local or online audio effect file. + <ph keyref="playEffect2"/> + Plays the specified local or online audio effect + file. - +

          - public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch = 1.0, + public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch = 1.0, double pan = 0.0, int gain = 100, bool publish = false);

          - public abstract int playEffect(int soundId, String filePath, int loopCount, double pitch, + public abstract int playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch @@ -27,91 +28,121 @@ gain:(NSInteger)gain publish:(BOOL)publish; - virtual int playEffect(int soundId, + virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, double pan, int gain, bool publish = false) = 0; - - -

          + + + +

          - -
          Deprecated:
          -
          This method is deprecated as of v3.4.0. Please use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v3.4.0. Please use instead.
          +
          -

          To play multiple audio effect files at the same time, call this method multiple times with different soundId and filePath. For the best user experience, Agora recommends playing no more than three audio effect files at the same time. After the playback of an audio effect file completes, the SDK triggers the callback. - -

            -
          • Call this method after joining a channel.
          • -
          • Supported audio formats include MP3, AAC, M4A, MP4, WAV, and 3GP. See supported audio formats.
          • -

          +

          To play multiple audio effect files at the same time, call this + method multiple times with different soundId and + filePath. For the best user experience, Agora recommends + playing no more than three audio effect files at the same time. After the playback + of an audio effect file completes, the SDK triggers the callback. +

            +
          • Call this method after joining a channel.
          • +
          • Supported audio formats include MP3, AAC, M4A, MP4, WAV, and 3GP. See + supported audio formats.
          • +
          +

          Parameters - - soundId - The audio effect ID. The ID of each audio effect file is unique. - If you have preloaded an audio effect into memory by calling , ensure that this parameter is set to the same value as soundId in . - - - filePath - -

          Agora supports using a URI address, an absolute path, or a path that starts with /assets/. For example: .

          -

          The absolute path or URL address (including the suffixes of the filename) of the audio effect file. You might encounter permission issues if you use an absolute path to access a local file, so Agora recommends using a URI address instead. For example: .

          - If you have preloaded an audio effect into memory by calling , ensure that this parameter is set to the same value as filePath in .
          -
          - - loopCount - -

          The number of times the audio effect loops: -

            -
          • ≥ 0: The number of playback times. For example, 1 means loop one time, which means play the audio effect two times in total.
          • -
          • -1: Play the audio effect in an infinite loop.
          • -

          -
          -
          - - pitch - The pitch of the audio effect. The value range is 0.5 to 2.0. The default value is 1.0, which means the original pitch. The smaller the value, the lower the pitch. - - - pan - -

          The spatial position of the audio effect. The value ranges between -1.0 and 1.0, where: -

            -
          • -1.0: The audio effect displays to the left.
          • -
          • 0.0: The audio effect displays ahead.
          • -
          • 1.0: The audio effect displays to the right.
          • -

          -
          -
          - - gain - The volume of the audio effect. The value range is 0.0 to 100.0. The default value is 100.0, which means the original volume. The smaller the value, the lower the volume. - - - publish - -

          Whether to publish the audio effect to the remote users. -

            -
          • : Publish the audio effect to the remote users. Both the local user and remote users can hear the audio effect.
          • -
          • : Do not publish the audio effect to the remote users. Only the local user can hear the audio effect.
          • -

          -
          -
          -
          + + soundId + The audio effect ID. The ID of each audio effect file is unique. If you have preloaded an audio effect into memory by + calling , ensure that this parameter is + set to the same value as soundId in . + + + filePath + +

          Agora supports using a URI address, an absolute path, or a + path that starts with /assets/. For example: + .

          +

          The absolute path or URL address (including the suffixes + of the filename) of the audio effect file. You might encounter + permission issues if you use an absolute path to access a local file, so + Agora recommends using a URI address instead. For example: .

          + If you have preloaded an audio effect into memory by + calling , ensure that this parameter is + set to the same value as filePath in . +
          +
          + + loopCount + +

          The number of times the audio effect loops:

            +
          • ≥ 0: The number of playback times. For example, 1 means loop one + time, which means play the audio effect two times in total.
          • +
          • -1: Play the audio effect in an infinite loop.
          • +

          +
          +
          + + pitch + The pitch of the audio effect. The value range is 0.5 to 2.0. The default + value is 1.0, which means the original pitch. The smaller the value, the + lower the pitch. + + + pan + +

          The spatial position of the audio effect. The value ranges between -1.0 + and 1.0, where:

            +
          • -1.0: The audio effect displays to the left.
          • +
          • 0.0: The audio effect displays ahead.
          • +
          • 1.0: The audio effect displays to the right.
          • +

          +
          +
          + + gain + The volume of the audio effect. The value range is 0.0 to 100.0. The default + value is 100.0, which means the original volume. The smaller the value, the + lower the volume. + + + publish + +

          Whether to publish the audio effect to the remote users.

            +
          • : Publish the audio effect + to the remote users. Both the local user and remote users can + hear the audio effect.
          • +
          • : Do not publish the audio + effect to the remote users. Only the local user can hear the + audio effect.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        652. 0: Success.
        653. +
        654. < 0: Failure.
        655. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_playeffect3.dita b/en-US/dita/RTC/API/api_playeffect3.dita index 8f8686dcde3..1a6bfd96700 100644 --- a/en-US/dita/RTC/API/api_playeffect3.dita +++ b/en-US/dita/RTC/API/api_playeffect3.dita @@ -1,27 +1,28 @@ - <ph keyref="playEffect3" /> - Plays the specified local or online audio effect file. + <ph keyref="playEffect3"/> + Plays the specified local or online audio effect + file. - +

          - public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0);

          + public abstract int PlayEffect(int soundId, string filePath, int loopCount, double pitch, double pan, int gain, bool publish = false, int startPos = 0);

          - public abstract int PlayEffect(int soundId, string filePath, int loopCount, int startPos, + public abstract int PlayEffect(int soundId, string filePath, int loopCount, int startPos, double pitch = 1.0, double pan = 0.0, int gain = 100, bool publish = false);

          - public int playEffect(int soundId, String filePath, int loopCount, double pitch, + public int playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, double gain, boolean publish, int startPos); - - (int)playEffect:(int)soundId + - (int)playEffect:(int)soundId filePath:(NSString* _Nonnull)filePath loopCount:(NSInteger)loopCount pitch:(double)pitch @@ -30,7 +31,7 @@ publish:(BOOL)publish startPos:(int)startPos; - virtual int playEffect(int soundId, + virtual int playEffect(int soundId, const char* filePath, int loopCount, double pitch, @@ -38,7 +39,7 @@ int gain, bool publish, int startPos) = 0; - playEffect(soundId: number, + playEffect(soundId: number, filePath: string, loopCount: number, pitch: number, @@ -47,86 +48,112 @@ publish: number, startPos?: number ): number - - Future<void> playEffect(int soundId, String filePath, int loopCount, + + Future<void> playEffect(int soundId, String filePath, int loopCount, double pitch, double pan, int gain, bool publish, - [int? startPos]);

          + [int? startPos]); +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          -

          To play multiple audio effect files at the same time, call this method multiple times with different soundId and filePath. For the best user experience, Agora recommends playing no more than three audio effect files at the same time. After the playback of an audio effect file completes, the SDK triggers the callback. - Call this method after joining a channel.

          +

          To play multiple audio effect files at the same time, call this + method multiple times with different soundId and + filePath. For the best user experience, Agora recommends + playing no more than three audio effect files at the same time. After the playback + of an audio effect file completes, the SDK triggers the callback. Call this + method after joining a channel.

          Parameters - - soundId - The audio effect ID. The ID of each audio effect file is unique. - If you have preloaded an audio effect into memory by calling , ensure that this parameter is set to the same value as soundId in . - - - filePath - -

          The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example: . Supported audio formats include MP3, AAC, M4A, MP4, WAV, and 3GP. See supported audio formats.

          - If you have preloaded an audio effect into memory by calling , ensure that this parameter is set to the same value as filePath in .
          -
          - - loopCount - -

          The number of times the audio effect loops: -

            -
          • ≥ 0: The number of playback times. For example, 1 means loop one time, which means play the audio effect two times in total.
          • -
          • -1: Play the music effect in an infinite loop.
          • -

          -
          -
          - - pitch - The pitch of the audio effect. The value range is 0.5 to 2.0. The default value is 1.0, which means the original pitch. The lower the value, the lower the pitch. - - - pan - -

          The spatial position of the audio effect. The value range is 1 to10000. -

            -
          • -1.0: The audio effect displays to the left.
          • -
          • 0.0: The audio effect displays ahead.
          • -
          • 1.0: The audio effect displays to the right.
          • -

          -
          -
          - - gain - The volume of the audio effect. The value range is 1 to10000. The default value is 100.0, which means the original volume. The smaller the value, the lower the volume. - - - publish - -

          Whether to publish the audio effect to the remote users. -

            -
          • : Publish the audio effect to the remote users. Both the local user and remote users can hear the audio effect.
          • -
          • : Do not publish the audio effect to the remote users. Only the local user can hear the audio effect.
          • -

          -
          -
          - - startPos - -

          The playback position (ms) of the audio effect file.

          -
          -
          -
          + + soundId + The audio effect ID. The ID of each audio effect file is unique. If you have preloaded an audio effect into memory by + calling , ensure that this parameter is + set to the same value as soundId in . + + + + filePath + +

          The absolute path or URL address (including the suffixes of + the filename) of the audio effect file. For example: . Supported audio formats + include MP3, AAC, M4A, MP4, WAV, and 3GP. See supported audio formats.

          + If you have preloaded an audio effect into memory by + calling , ensure that this parameter is + set to the same value as filePath in . +
          +
          + + loopCount + +

          The number of times the audio effect loops:

            +
          • ≥ 0: The number of playback times. For example, 1 means loop one + time, which means play the audio effect two times in total.
          • +
          • -1: Play the music effect in an infinite loop.
          • +

          +
          +
          + + pitch + The pitch of the audio effect. The value range is 0.5 to 2.0. The default + value is 1.0, which means the original pitch. The lower the value, the lower + the pitch. + + + pan + +

          The spatial position of the audio effect. The value range is 1 to10000.

            +
          • -1.0: The audio effect displays to the left.
          • +
          • 0.0: The audio effect displays ahead.
          • +
          • 1.0: The audio effect displays to the right.
          • +

          +
          +
          + + gain + The volume of the audio effect. The value range is 1 to10000. The default + value is 100.0, which means the original volume. The smaller the value, the + lower the volume. + + + publish + +

          Whether to publish the audio effect to the remote users.

            +
          • : Publish the audio effect + to the remote users. Both the local user and remote users can + hear the audio effect.
          • +
          • : Do not publish the audio + effect to the remote users. Only the local user can hear the + audio effect.
          • +

          +
          +
          + + startPos + +

          The playback position (ms) of the audio effect file.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        656. 0: Success.
        657. +
        658. < 0: Failure.
        659. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_preloadeffect.dita b/en-US/dita/RTC/API/api_preloadeffect.dita index b68299836aa..022a9d54811 100644 --- a/en-US/dita/RTC/API/api_preloadeffect.dita +++ b/en-US/dita/RTC/API/api_preloadeffect.dita @@ -1,62 +1,82 @@ - <ph keyref="preloadEffect" /> - Preloads a specified audio effect file into the memory. + <ph keyref="preloadEffect"/> + Preloads a specified audio effect file into the + memory. - +

          - public abstract int PreloadEffect(int soundId, string filePath, int startPos = 0);

          + public abstract int PreloadEffect(int soundId, string filePath, int startPos = 0); +

          - public abstract int PreloadEffect(int soundId, string filePath);

          + public abstract int PreloadEffect(int soundId, string filePath);

          - public int preloadEffect(int soundId, String filePath); + public int preloadEffect(int soundId, String filePath); - - (int)preloadEffect:(int)soundId + - (int)preloadEffect:(int)soundId filePath:(NSString* _Nonnull)filePath; - virtual int preloadEffect(int soundId, const char* filePath) = 0; - preloadEffect(soundId: number, filePath: string): number - - Future<void> preloadEffect(int soundId, String filePath);

          + virtual int preloadEffect(int soundId, const char* filePath) = 0; + preloadEffect(soundId: number, filePath: string): number + + Future<void> preloadEffect(int soundId, String filePath); +

          -

          To ensure smooth communication, limit the size of the audio effect file. We recommend using this method to preload the audio effect before calling .

          +

          To ensure smooth communication, limit the size of the audio effect file. We recommend + using this method to preload the audio effect before calling .

          -
            -
          • This method does not support online audio effect files.
          • -
          • For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support.
          • -
          +
            +
          • This method does not support online audio effect files.
          • +
          • For the audio file formats supported by this method, see + What formats of audio files does the Agora + RTC SDK support.
          • +
          +
          Parameters - - soundId - The audio effect ID. The ID of each audio effect file is unique. - - - filePath - File path: -
            -
          • Android: The file path, which needs to be accurate to the file name and suffix. Agora supports using a URI address, an absolute path, or a path that starts with /assets/. - You might encounter permission issues if you use an absolute path to access a local file, so Agora recommends using a URI address instead. For example: content://com.android.providers.media.documents/document/audio%203A14441
          • -
          • Windows: The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example: C:\music\audio.mp4.
          • -
          • iOS or macOS: The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example: /var/mobile/Containers/Data/audio.mp4.
          • -
          -
          -
          + + soundId + The audio effect ID. The ID of each audio effect file is + unique. + + + filePath + File path:
            +
          • Android: The file path, which needs to + be accurate to the file name and suffix. Agora supports using a URI + address, an absolute path, or a path that starts with + /assets/. You might encounter permission issues if you + use an absolute path to access a local file, so Agora recommends + using a URI address instead. For example: + content://com.android.providers.media.documents/document/audio%203A14441
          • +
          • Windows: The absolute path or URL address + (including the suffixes of the filename) of the audio effect file. + For example: C:\music\audio.mp4.
          • +
          • iOS or macOS: The absolute path or URL + address (including the suffixes of the filename) of the audio effect + file. For example: + /var/mobile/Containers/Data/audio.mp4.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        660. 0: Success.
        661. +
        662. < 0: Failure.
        663. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pullaudioframe2.dita b/en-US/dita/RTC/API/api_pullaudioframe2.dita index c0603b08a36..0a71bc309ec 100644 --- a/en-US/dita/RTC/API/api_pullaudioframe2.dita +++ b/en-US/dita/RTC/API/api_pullaudioframe2.dita @@ -1,55 +1,78 @@ - <ph keyref="pullAudioFrame2" /> + <ph keyref="pullAudioFrame2"/> Pulls the remote audio data. - +

          - public abstract int pullPlaybackAudioFrame(ByteBuffer data, int lengthInByte); - - - - -

          + public abstract int pullPlaybackAudioFrame(ByteBuffer data, int lengthInByte); + + + + + +

          -

          Before calling this method, you need to set mEnableAudioDevice in as , and call to notify the app to enable and set the external rendering.

          -

          After a successful method call, the app pulls the decoded and mixed audio data for playback.

          +

          Before calling this method, you need to set mEnableAudioDevice in + as , and call + to notify the app to enable and set the + external rendering.

          +

          After a successful method call, the app pulls the decoded and mixed audio data for + playback.

          -
            -
          • This method only supports pulling data from custom audio source. If you need to pull the data captured by the SDK, do not call this method.
          • -
          • Once you enable the external audio sink, the app will not retrieve any audio data from the callback.
          • -
          • The difference between this method and the callback is as follows:
              -
            • : The SDK sends the audio data to the app through this callback. Any delay in processing the audio frames may result in audio jitter.
            • -
            • : The app pulls the remote audio data. After setting the audio data parameters, the SDK adjusts the frame buffer and avoids problems caused by jitter in the external audio playback.
            • -
          • -
          +
        664. This method only supports pulling data from custom audio + source. If you need to pull the data captured by the SDK, do not call this + method.
        665. +
        666. Once you enable the external audio sink, the app will not retrieve any audio + data from the callback.
        667. +
        668. The difference between this method and the callback is as follows:
            +
          • : The SDK sends the audio + data to the app through this callback. Any delay in processing the + audio frames may result in audio jitter.
          • +
          • : The app pulls the remote audio + data. After setting the audio data parameters, the SDK adjusts the + frame buffer and avoids problems caused by jitter in the external + audio playback.
          • +
        669. + + +
          Parameters - - data - The remote audio data to be pulled. The data type is ByteBuffer. - - - lengthInByte - The length (in bytes) of the remote audio data. The value of this parameter is related to the audio duration, and the values of the sampleRate and channels parameters that you set in . lengthInByte = sampleRate/1000 × 2 × channels × audio duration (ms). - -
          + + data + The remote audio data to be pulled. The data type is + ByteBuffer. + + + lengthInByte + The length (in bytes) of the remote audio data. The value of this parameter + is related to the audio duration, and the values of the + sampleRate and channels parameters + that you set in . + lengthInByte = sampleRate/1000 × 2 × + channels × audio duration (ms). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        670. 0: Success.
        671. +
        672. < 0: Failure.
        673. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pullplaybackaudioframesamplebufferbylengthinbyte.dita b/en-US/dita/RTC/API/api_pullplaybackaudioframesamplebufferbylengthinbyte.dita index 24868900a42..ad397989442 100644 --- a/en-US/dita/RTC/API/api_pullplaybackaudioframesamplebufferbylengthinbyte.dita +++ b/en-US/dita/RTC/API/api_pullplaybackaudioframesamplebufferbylengthinbyte.dita @@ -1,29 +1,31 @@ - <ph keyref="pullPlaybackAudioFrameSampleBufferByLengthInByte" /> + <ph keyref="pullPlaybackAudioFrameSampleBufferByLengthInByte"/> 拉取 SampleBuffer 格式的远端音频数据。 - +

          - - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte;

          + - (CMSampleBufferRef _Nullable)pullPlaybackAudioFrameSampleBufferByLengthInByte:(NSUInteger)lengthInByte; +

          -
          +
          Parameters - - - - -
          -
          + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pushaudioframe2.dita b/en-US/dita/RTC/API/api_pushaudioframe2.dita index f0fdd642607..b2d449c4aa4 100644 --- a/en-US/dita/RTC/API/api_pushaudioframe2.dita +++ b/en-US/dita/RTC/API/api_pushaudioframe2.dita @@ -2,7 +2,8 @@ <ph keyref="pushAudioFrame2"/> - + @@ -13,31 +14,33 @@

          - - - - - - -

          + + + + + + + +

          - -
          Since
          -
          v
          -
          + +
          Since
          +
          v
          +

          Parameters - - - - -
          + + + + + +
          Returns
          diff --git a/en-US/dita/RTC/API/api_pushaudioframeex.dita b/en-US/dita/RTC/API/api_pushaudioframeex.dita index bfc9470c530..67a7df9f185 100644 --- a/en-US/dita/RTC/API/api_pushaudioframeex.dita +++ b/en-US/dita/RTC/API/api_pushaudioframeex.dita @@ -1,46 +1,49 @@ - <ph keyref="pushAudioFrameEx" /> + <ph keyref="pushAudioFrameEx"/> Pushes the external audio frame. - +

          - - - (int)pushExternalAudioFrameExNSData:(NSData * _Nonnull)data + + - (int)pushExternalAudioFrameExNSData:(NSData * _Nonnull)data sourceId:(NSInteger)sourceId timestamp:(NSTimeInterval)timestamp; - - - - -

          + + + + + +

          Parameters - - sourceId - The ID of external audio source. - - - timestamp - The timestamp (ms) of the external audio frame. - -
          + + sourceId + The ID of external audio source. + + + timestamp + The timestamp (ms) of the external audio frame. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        674. 0: Success.
        675. +
        676. < 0: Failure.
        677. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pushexternalaudioframesamplebuffer.dita b/en-US/dita/RTC/API/api_pushexternalaudioframesamplebuffer.dita index e515c6586f1..690c3f67811 100644 --- a/en-US/dita/RTC/API/api_pushexternalaudioframesamplebuffer.dita +++ b/en-US/dita/RTC/API/api_pushexternalaudioframesamplebuffer.dita @@ -1,47 +1,52 @@ - <ph keyref="pushExternalAudioFrameSampleBuffer1" /> - Pushes the external CMSampleBuffer audio frame to the SDK. + <ph keyref="pushExternalAudioFrameSampleBuffer1"/> + Pushes the external CMSampleBuffer audio frame to the + SDK. - +

          - - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; - - (BOOL)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer;

          + - (int)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; + - (BOOL)pushExternalAudioFrameSampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; +

          - -
          Deprecated:
          -
          This method is deprecated as of v3.5.1. Use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v3.5.1. Use instead.
          +
          -

          +

          Parameters - - sampleBuffer - The sample buffer. - -
          + + sampleBuffer + The sample buffer. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • +
          • 0: Success.
          • +
          • < 0: Failure.
            -
          • : Success.
          • -
          • : Failure.
          • -
          +
        678. : Success.
        679. +
        680. : Failure.
        681. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pushexternalaudioframesamplebuffer2.dita b/en-US/dita/RTC/API/api_pushexternalaudioframesamplebuffer2.dita index b02070b4880..346b27a7334 100644 --- a/en-US/dita/RTC/API/api_pushexternalaudioframesamplebuffer2.dita +++ b/en-US/dita/RTC/API/api_pushexternalaudioframesamplebuffer2.dita @@ -1,42 +1,46 @@ - <ph keyref="pushExternalAudioFrameSampleBuffer2" /> - Pushes the external CMSampleBufferRef audio frame to a specified position. + <ph keyref="pushExternalAudioFrameSampleBuffer2"/> + Pushes the external CMSampleBufferRef audio frame to a + specified position. - +

          - - (int)pushExternalAudioFrameSampleBuffer:(AgoraAudioExternalSourcePos)sourcePos sampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; - - - -

          + - (int)pushExternalAudioFrameSampleBuffer:(AgoraAudioExternalSourcePos)sourcePos sampleBuffer:(CMSampleBufferRef _Nonnull)sampleBuffer; + + + + +

          -
          +
          Parameters - - - - - - - - -
          + + + + + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        682. 0: Success.
        683. +
        684. < 0: Failure.
        685. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pushvideoframe2.dita b/en-US/dita/RTC/API/api_pushvideoframe2.dita index 4b83374fc5b..b7467be40c6 100644 --- a/en-US/dita/RTC/API/api_pushvideoframe2.dita +++ b/en-US/dita/RTC/API/api_pushvideoframe2.dita @@ -1,48 +1,61 @@ - <ph keyref="pushVideoFrame2" /> + <ph keyref="pushVideoFrame2"/> Pushes the external video frame. - +

          - public abstract boolean pushExternalVideoFrame(VideoFrame frame); - - - - - -

          + public abstract boolean pushExternalVideoFrame(VideoFrame frame); + + + + + + +

          -

          Call this method to push the video frame using the VideoFrame class and pass the video frame to the SDK. Call the method and set enable as before calling this method; otherwise, a failure returns after calling this method.

          -

          You can push the video frame either by calling this method or by calling . The difference is that the method supports video data in texture format.

          +

          Call this method to push the video frame using the + VideoFrame class and pass the video frame to the SDK. Call the + method and set enable + as before calling this method; otherwise, a + failure returns after calling this method.

          +

          You can push the video frame either by calling this method or by calling . The difference is that the method supports video data in texture format.

          Parameters - - frame - Video frame to be pushed. See VideoFrame: -
            -
          • buffer: Buffer. The buffer of the video frame.
          • -
          • rotation: Int. Rotation of the video frame in degrees.
          • -
          • timestampNs: Long. The Unix timestamp (ns) of the video frame.
          • -
          -
          -
          + + frame + Video frame to be pushed. See VideoFrame:
            +
          • buffer: Buffer. The buffer of the video frame.
          • +
          • rotation: Int. Rotation of the video frame in + degrees.
          • +
          • timestampNs: Long. The Unix timestamp (ns) of the + video frame.
          • +
          +
          +
          + +
          Returns
            -
          • : Pushes the external raw video frame to the SDK successfully.
          • -
          • : Fails to push external raw video frame to the SDK.
          • -
          +
        686. : Pushes the external raw video frame to the + SDK successfully.
        687. +
        688. : Fails to push external raw video frame to + the SDK.
        689. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_pushvideoframeex2.dita b/en-US/dita/RTC/API/api_pushvideoframeex2.dita index c5be5430cfc..252887d6fda 100644 --- a/en-US/dita/RTC/API/api_pushvideoframeex2.dita +++ b/en-US/dita/RTC/API/api_pushvideoframeex2.dita @@ -1,47 +1,53 @@ - <ph keyref="pushVideoFrameEx2" /> - Pushes the external raw video frame to the SDK. + <ph keyref="pushVideoFrameEx2"/> + Pushes the external raw video frame to the + SDK. - +

          - public abstract int pushExternalVideoFrameEx(VideoFrame frame, RtcConnection connection); - - - - - -

          + public abstract int pushExternalVideoFrameEx(VideoFrame frame, RtcConnection connection); + + + + + + +

          -

          -

          You can push the video frame either by calling this method or by calling . The difference is that the method supports video data in texture format.

          +

          +

          You can push the video frame either by calling this method or by calling . The difference is that the method supports video data in texture format.

          Parameters - - - - - - - - -
          + + + + + + + + + +
          Returns
            -
          • 0: Pushes the external encoded video frame to the SDK successfully.
          • -
          • < 0: Fails to push external encoded video frame to the SDK.
          • -
          +
        690. 0: Pushes the external encoded video frame to the SDK successfully.
        691. +
        692. < 0: Fails to push external encoded video frame to the SDK.
        693. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_queryinterface.dita b/en-US/dita/RTC/API/api_queryinterface.dita index 2780e0d7f58..80a2208d355 100644 --- a/en-US/dita/RTC/API/api_queryinterface.dita +++ b/en-US/dita/RTC/API/api_queryinterface.dita @@ -1,43 +1,48 @@ - <ph keyref="queryInterface" /> - Gets the pointer to the specified interface. + <ph keyref="queryInterface"/> + Gets the pointer to the specified + interface. - +

          - - - virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0; - - - -

          + + + virtual int queryInterface(INTERFACE_ID_TYPE iid, void** inter) = 0; + + + + +

          Parameters - - iid - The ID of the interface. See for details. - - - inter - Output parameter. The pointer to the specified interface. - -
          + + iid + The ID of the interface. See for + details. + + + inter + Output parameter. The pointer to the specified interface. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        694. 0: Success.
        695. +
        696. < 0: Failure.
        697. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_rate.dita b/en-US/dita/RTC/API/api_rate.dita index d8a89d21818..500185d16a2 100644 --- a/en-US/dita/RTC/API/api_rate.dita +++ b/en-US/dita/RTC/API/api_rate.dita @@ -1,59 +1,67 @@ - <ph keyref="rate" /> - Allows a user to rate a call after the call ends. + <ph keyref="rate"/> + Allows a user to rate a call after the call + ends. - +

          - public abstract int rate(String callId, int rating, String description); - - (int)rate:(NSString * _Nonnull)callId + 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, + virtual int rate(const char* callId, int rating, const char* description) = 0; - rate(callId: string, + rate(callId: string, rating: number, description: string): number - public abstract int Rate(string callId, int rating, string description = ""); - - Future<void> rate(String callId, int rating, {String? description});

          + public abstract int Rate(string callId, int rating, string description = ""); + + Future<void> rate(String callId, int rating, {String? description}); +

          - Ensure that you call this method after leaving a channel.
          + Ensure that you call this method after leaving a channel. +
          Parameters - - callId - The current call ID. You can get the call ID by calling . - - - rating - The rating of the call. The value is between 1 (lowest score) and 5 (highest score). If you set a value out of this range, the SDK returns the -2 (ERR_INVALID_ARGUMENT) error. - - - description - (Optional) A description of the call. The string length should be less than 800 bytes. - -
          + + callId + The current call ID. You can get the call ID by calling . + + + rating + The rating of the call. The value is between 1 (lowest score) and 5 (highest + score). If you set a value out of this range, the SDK returns the -2 + (ERR_INVALID_ARGUMENT) error. + + + description + (Optional) A description of the call. The string length should be less than + 800 bytes. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -2 (ERR_INVALID_ARGUMENT).
            • -
            • -3 (ERR_NOT_READY)。
            • -
          • -
          +
        698. 0: Success.
        699. +
        700. < 0: Failure.
            +
          • -2 (ERR_INVALID_ARGUMENT).
          • +
          • -3 (ERR_NOT_READY)。
          • +
        701. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_registeraudioencodedframeobserver.dita b/en-US/dita/RTC/API/api_registeraudioencodedframeobserver.dita index 3d3bd558e3b..e795b031da4 100644 --- a/en-US/dita/RTC/API/api_registeraudioencodedframeobserver.dita +++ b/en-US/dita/RTC/API/api_registeraudioencodedframeobserver.dita @@ -1,61 +1,71 @@ - <ph keyref="registerAudioEncodedFrameObserver" /> + <ph keyref="registerAudioEncodedFrameObserver"/> Registers an encoded audio observer. - +

          - public abstract int RegisterAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAgoraRtcAudioEncodedFrameObserver observer);

          + public abstract int RegisterAudioEncodedFrameObserver(AudioEncodedFrameObserverConfig config, IAgoraRtcAudioEncodedFrameObserver observer);

          - public abstract int registerAudioEncodedFrameObserver( + public abstract int registerAudioEncodedFrameObserver( AudioEncodedFrameObserverConfig config, IAudioEncodedFrameObserver observer); - - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nonnull)delegate + - (int)setAudioEncodedFrameDelegate:(id<AgoraAudioEncodedFrameDelegate> _Nonnull)delegate config:(AgoraAudioEncodedFrameDelegateConfig * _Nonnull) config; - virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0; - - -

          + virtual int registerAudioEncodedFrameObserver(const AudioEncodedFrameObserverConfig& config, IAudioEncodedFrameObserver *observer) = 0; + + + +

          - -

            -
          • Call this method after joining a channel.
          • -
          • This method and both set the audio content and audio quality. Agora recommends not using this method and together; otherwise, only the method called later will take effect.
          • -

          + +
            +
          • Call this method after joining a channel.
          • +
          • This method and both set the audio + content and audio quality. Agora recommends not using this method and + together; otherwise, only + the method called later will take effect.
          • +
          +
          +

          Parameters - - config - -

          Observer settings for the encoded audio. For details, see .

          -
          -
          + + config + +

          Observer settings for the encoded audio. For details, see .

          +
          +
          - - observer - delegate - -

          The encoded audio observer. For details, see .

          -
          -
          -
          + + observer + delegate + +

          The encoded audio observer. For details, see .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        702. 0: Success.
        703. +
        704. < 0: Failure.
        705. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_registerlocaluseraccount.dita b/en-US/dita/RTC/API/api_registerlocaluseraccount.dita index d8f040f2fb1..977559c064a 100644 --- a/en-US/dita/RTC/API/api_registerlocaluseraccount.dita +++ b/en-US/dita/RTC/API/api_registerlocaluseraccount.dita @@ -1,78 +1,105 @@ - <ph keyref="registerLocalUserAccount" /> + <ph keyref="registerLocalUserAccount"/> Registers a user account. - +

          - - (int)registerLocalUserAccountWithAppID:(NSString * _Nonnull)appID userAccount:(NSString * _Nonnull)userAccount; - public abstract int RegisterLocalUserAccount(string appId, string userAccount);

          + - (int)registerLocalUserAccountWithAppID:(NSString * _Nonnull)appID userAccount:(NSString * _Nonnull)userAccount; + public abstract int RegisterLocalUserAccount(string appId, string userAccount);

          - - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId; - public abstract int RegisterLocalUserAccount(string appId, string userAccount);

          + - (int)registerLocalUserAccount:(NSString* _Nonnull)userAccount appId:(NSString* _Nonnull)appId; + public abstract int RegisterLocalUserAccount(string appId, string userAccount);

          - public abstract int registerLocalUserAccount(String appId, String userAccount); - virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0; - registerLocalUserAccount(appId: string, userAccount: string): number - - Future<void> registerLocalUserAccount(String appId, String userAccount);

          + public abstract int registerLocalUserAccount(String appId, String userAccount); + virtual int registerLocalUserAccount(const char* appId, const char* userAccount) = 0; + registerLocalUserAccount(appId: string, userAccount: string): number + + Future<void> registerLocalUserAccount(String appId, String userAccount); +

          - -
          Since
          -
          v2.8.0
          -
          + +
          Since
          +
          v2.8.0
          +
          -

          Once registered, the user account can be used to identify the local user when the user joins the channel. After the registration is successful, the user account can identify the identity of the local user, and the user can use it to join the channel.

          -

          After the user successfully registers a user account, the SDK triggers the callback on the local client, reporting the user ID and user account of the local user.

          -

          This method is optional. To join a channel with a user account, you can choose either of the following ways: -

            -
          • Call to to create a user account, and then call to join the channel.
          • -
          • Call the method to join the channel.
          • -

          -

          The difference between the two ways is that the time elapsed between calling the method and joining the channel is shorter than directly calling .

          +

          Once registered, the user account can be used to identify the local user when the + user joins the channel. After the registration is successful, the user account can + identify the identity of the local user, and the user can use it to join the + channel.

          +

          After the user successfully registers a user account, the SDK triggers the callback on the local client, reporting the + user ID and user account of the local user.

          +

          This method is optional. To join a channel with a user account, you can choose either + of the following ways:

            +
          • Call to to create a user + account, and then call to join + the channel.
          • +
          • Call the method to join the + channel.
          • +

          +

          The difference between the two ways is that the time elapsed between calling the + method and joining the channel is + shorter than directly calling .

          -
            -
          • Ensure that you set the userAccount parameter; otherwise, this method does not take effect.
          • -
          • Ensure that the userAccount is unique in the channel.
          • -
          • To ensure smooth communication, use the same parameter type to identify the user. For example, if a user joins the channel with a user ID, then ensure all the other users use the user ID too. The same applies to the user account. If a user joins the channel with the Agora Web SDK, ensure that the ID of the user is set to the same parameter type.
          • -
          +
            +
          • Ensure that you set the userAccount parameter; + otherwise, this method does not take effect.
          • +
          • Ensure that the userAccount is unique in the + channel.
          • +
          • To ensure smooth communication, use the same parameter type to identify the + user. For example, if a user joins the channel with a user ID, then ensure + all the other users use the user ID too. The same applies to the user + account. If a user joins the channel with the Agora Web SDK, ensure that the + ID of the user is set to the same parameter type.
          • +
          + +
          Parameters - - appId - appIDappId - The App ID of your project on Agora Console. - - - userAccount - -

          The user account. This parameter is used to identify the user in the channel for real-time audio and video engagement. You need to set and manage user accounts yourself and ensure that each user account in the same channel is unique. The maximum length of this parameter is 255 bytes. Ensure that you set this parameter and do not set it as . Supported characters are (89 in total): -

            -
          • The 26 lowercase English letters: a to z.
          • -
          • The 26 uppercase English letters: A to Z.
          • -
          • All numeric characters: 0 to 9.
          • -
          • Space
          • -
          • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
          • -

          -
          -
          -
          + + appId + appIDappId + The App ID of your project on Agora Console. + + + userAccount + +

          The user account. This parameter is used to identify the user in the + channel for real-time audio and video engagement. You need to set and + manage user accounts yourself and ensure that each user account in the + same channel is unique. The maximum length of this parameter is 255 + bytes. Ensure that you set this parameter and do not set it as . Supported characters are (89 in total):

            +
          • The 26 lowercase English letters: a to z.
          • +
          • The 26 uppercase English letters: A to Z.
          • +
          • All numeric characters: 0 to 9.
          • +
          • Space
          • +
          • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "=", ".", ">", "?", "@", "[", "]", "^", "_", "{", + "}", "|", "~", ","
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        706. 0: Success.
        707. +
        708. < 0: Failure.
        709. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_registermediametadataobserver.dita b/en-US/dita/RTC/API/api_registermediametadataobserver.dita index d9839d3328d..17a561a561a 100644 --- a/en-US/dita/RTC/API/api_registermediametadataobserver.dita +++ b/en-US/dita/RTC/API/api_registermediametadataobserver.dita @@ -1,61 +1,71 @@ - <ph keyref="registerMediaMetadataObserver" /> + <ph keyref="registerMediaMetadataObserver"/> Registers the metadata observer. - +

          - public abstract int registerMediaMetadataObserver(IMetadataObserver observer, int type); - - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type; - virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; + public abstract int registerMediaMetadataObserver(IMetadataObserver observer, int type); + - (BOOL)setMediaMetadataDelegate:(id<AgoraMediaMetadataDelegate> _Nullable)metadataDelegate withType:(AgoraMetadataType)type; + virtual int registerMediaMetadataObserver(IMetadataObserver *observer, IMetadataObserver::METADATA_TYPE type) = 0; - registerMediaMetadataObserver(type: METADATA_TYPE = 0): number - public abstract int RegisterMediaMetadataObserver(METADATA_TYPE type); - - Future<void> registerMediaMetadataObserver();

          + registerMediaMetadataObserver(type: METADATA_TYPE = 0): number + public abstract int RegisterMediaMetadataObserver(METADATA_TYPE type); + + Future<void> registerMediaMetadataObserver(); +

          - -
          Since
          -
          v2.4.1
          -
          + +
          Since
          +
          v2.4.1
          +
          -

          You need to implement the class and specify the metadata type in this method. This method enables you to add synchronized metadata in the video stream for more diversified - live interactive streaming, such as sending shopping links, digital coupons, and online quizzes.

          -

          A successful call of this method triggers the callback.

          +

          You need to implement the class and specify the metadata type in this method. + This method enables you to add synchronized metadata in the video stream for more + diversified live interactive streaming, such as sending shopping links, digital + coupons, and online quizzes.

          +

          A successful call of this method triggers the callback.

          - -

            -
          • Call this method before .
          • -
          • This method applies only to interactive live streaming.
          • -

          + +
            +
          • Call this method before .
          • +
          • This method applies only to interactive live streaming.
          • +
          +
          +

          Parameters - - observer - The metadata observer. See . - - - type - The metadata type. The SDK currently only supports . See . - -
          + + observer + The metadata observer. See . + + + type + The metadata type. The SDK currently only supports . See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        710. 0: Success.
        711. +
        712. < 0: Failure.
        713. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_registerpacketobserver.dita b/en-US/dita/RTC/API/api_registerpacketobserver.dita index 80c51f1eb1c..27fc2129ee1 100644 --- a/en-US/dita/RTC/API/api_registerpacketobserver.dita +++ b/en-US/dita/RTC/API/api_registerpacketobserver.dita @@ -1,48 +1,59 @@ - <ph keyref="registerPacketObserver" /> + <ph keyref="registerPacketObserver"/> Registers a packet observer. - +

          - - - virtual int registerPacketObserver(IPacketObserver* observer) = 0; - - public abstract int RegisterPacketObserver(IPacketObserver observer); - -

          + + + virtual int registerPacketObserver(IPacketObserver* observer) = 0; + + public abstract int RegisterPacketObserver(IPacketObserver observer); + + +

          -

          Call this method registers a packet observer. When the Agora SDK triggers callbacks registered by for voice or video packet transmission, you can call this method to process the packets, such as encryption and decryption.

          +

          Call this method registers a packet observer. When the Agora SDK triggers callbacks + registered by for voice or video packet + transmission, you can call this method to process the packets, such as encryption + and decryption.

          -
            -
          • The size of the packet sent to the network after processing should not exceed 1200 bytes, otherwise, the SDK may fail to send the packet.
          • -
          • Ensure that both receivers and senders call this method; otherwise, you may meet undefined behaviors such as no voice and black screen.
          • -
          • When you use media push, recording, or storage functions, Agora doesn't recommend calling this method.
          • -
          • Call this method before joining a channel.
          • -
          +
            +
          • The size of the packet sent to the network after processing should not + exceed 1200 bytes, otherwise, the SDK may fail to send the packet.
          • +
          • Ensure that both receivers and senders call this method; otherwise, you may + meet undefined behaviors such as no voice and black screen.
          • +
          • When you use media push, recording, or storage functions, Agora doesn't + recommend calling this method.
          • +
          • Call this method before joining a channel.
          • +
          + +
          Parameters - - observer - . - -
          + + observer + . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        714. 0: Success.
        715. +
        716. < 0: Failure.
        717. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_registerplugin.dita b/en-US/dita/RTC/API/api_registerplugin.dita index 80153de3e77..3d2b2d048dd 100644 --- a/en-US/dita/RTC/API/api_registerplugin.dita +++ b/en-US/dita/RTC/API/api_registerplugin.dita @@ -1,47 +1,58 @@ - <ph keyref="registerPlugin" /> + <ph keyref="registerPlugin"/> Registers a plugin. - +

          - - - - registerPlugin(pluginInfo: PluginInfo): number - - -

          + + + + registerPlugin(pluginInfo: PluginInfo): number + + + +

          -

          After registering the plugin, you can use the functionality of the plugin in the SDK. For example, if you want to use a FaceUnity plugin, you can integrate the plugin file into the SDK's project project file first, and then call this method to register the plugin.

          -

          Agora provides the following approaches for using the plugin: -

            -
          • Call and use the enable, disable, setParameter, and getParameter methods in to enable or disable the plugin, set plugin parameters, and get plugin parameters.
          • -
          • Call , , and to enable or disable the plugin, set plugin parameters, and get plugin parameters.
          • -

          +

          After registering the plugin, you can use the functionality of the plugin + in the SDK. For example, if you want to use a FaceUnity plugin, you can integrate + the plugin file into the SDK's project project file first, and then call this method + to register the plugin.

          +

          Agora provides the following approaches for using the plugin:

            +
          • Call and use the enable, + disable, setParameter, and + getParameter methods in to + enable or disable the plugin, set plugin parameters, and get plugin + parameters.
          • +
          • Call , , and + to enable or disable the plugin, set + plugin parameters, and get plugin parameters.
          • +

          Parameters - - pluginInfo - Plugin information. See . - -
          + + pluginInfo + Plugin information. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        718. 0: Success.
        719. +
        720. < 0: Failure.
        721. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_release.dita b/en-US/dita/RTC/API/api_release.dita index 7852517766e..9e62ea2d82a 100644 --- a/en-US/dita/RTC/API/api_release.dita +++ b/en-US/dita/RTC/API/api_release.dita @@ -1,26 +1,28 @@ - <ph keyref="release" /> - Releases the , , - and instance. + <ph keyref="release"/> + Releases the , , and instance. - +

          - virtual void release(bool sync = false) = 0; - public abstract void Dispose(bool sync = false);

          + virtual void release(bool sync = false) = 0; + public abstract void Dispose(bool sync = false);

          - AGORA_CPP_API static void release (bool sync = false); - public abstract void Dispose(bool sync = false);

          + AGORA_CPP_API static void release (bool sync = false); + public abstract void Dispose(bool sync = false);

          - public static synchronized void destroy() { + public static synchronized void destroy() { if (mInstance == null) return; mInstance.doDestroy(); @@ -28,27 +30,55 @@ System.gc(); } - + (void)destroy; - release(sync: boolean = false): number - - Future<void> destroy();

          + + (void)destroy; + release(sync: boolean = false): number + + Future<void> destroy(); +

          -

          This method releases all resources used by the Agora SDK. Use this method for apps in which users occasionally make voice or video calls. When users do not make calls, you can free up resources for other operations.

          -

          After a successful method call, you can no longer use any method or callback in the SDK anymore. If you want to use the real-time communication functions again, you must call and to create a new instance.

          -

          After a successful method call, you can no longer use any method or callback in the SDK anymore. If you want to use the real-time communication functions again, you must call to create a new instance.

          - If you want to create a new instance after destroying the current one, ensure that you wait till the method execution to complete.
          +

          This method releases all resources used by the Agora SDK. Use this method for apps in + which users occasionally make voice or video calls. When users do not make calls, + you can free up resources for other operations.

          +

          After a successful method call, you can no longer use any method or + callback in the SDK anymore. If you want to use the real-time communication + functions again, you must call and to create a new instance.

          +

          After a successful method call, you can no longer use any + method or callback in the SDK anymore. If you want to use the real-time + communication functions again, you must call to create a + new instance.

          + If you want to create a new + instance after destroying the current one, ensure that you wait till the method execution to complete. +
          Parameters - - sync - -
            -
          • : Synchronous call. Agora suggests calling this method in a sub-thread to avoid congestion in the main thread because the synchronous call and the app cannot move on to another task until the resources used by are released. Besides, you cannot call in any method or callback of the SDK. Otherwise, the SDK cannot release the resources until the callbacks return results, which may result in a deadlock. The SDK automatically detects the deadlock and converts this method into an asynchronous call, causing the test to take additional time.
          • -
          • : Asynchronous call. The app can move on to another task, no matter the resources used by are released or not. Do not immediately uninstall the SDK's dynamic library after the call; otherwise, it may cause a crash due to the SDK clean-up thread not quitting.
          • -
          -
          -
          + + sync + +
            +
          • : Synchronous call. Agora + suggests calling this method in a sub-thread to avoid congestion in + the main thread because the synchronous call and the app cannot move + on to another task until the resources used by are released. Besides, you cannot call + in any method or callback of the + SDK. Otherwise, the SDK cannot release the resources until the + callbacks return results, which may result in a deadlock. The SDK + automatically detects the deadlock and converts this method into an + asynchronous call, causing the test to take additional time.
          • +
          • : Asynchronous call. The app + can move on to another task, no matter the resources used by + are released or not. Do not + immediately uninstall the SDK's dynamic library after the call; + otherwise, it may cause a crash due to the SDK clean-up thread not + quitting.
          • +
          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_releaserecorder.dita b/en-US/dita/RTC/API/api_releaserecorder.dita index fcf1b541ce5..9fda1153400 100644 --- a/en-US/dita/RTC/API/api_releaserecorder.dita +++ b/en-US/dita/RTC/API/api_releaserecorder.dita @@ -1,28 +1,33 @@ - <ph keyref="releaseRecorder" /> - Releases the object. + <ph keyref="releaseRecorder"/> + Releases the + object. - +

          - - - virtual void releaseRecorder() = 0; - - - - Future<void> releaseRecorder();

          + + + virtual void releaseRecorder() = 0; + + + + Future<void> releaseRecorder(); +

          -

          This method releases the object and all the other resources used by . After calling this method, if you want to enable the recording again, you must call to get the first.

          +

          This method releases the object and all the other + resources used by . After calling this method, if you + want to enable the recording again, you must call + to get the first.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_removehandler.dita b/en-US/dita/RTC/API/api_removehandler.dita index 19781437f7f..d2cbc626bfb 100644 --- a/en-US/dita/RTC/API/api_removehandler.dita +++ b/en-US/dita/RTC/API/api_removehandler.dita @@ -1,44 +1,50 @@ - <ph keyref="removeHandler" /> - Removes the specified IRtcEngineEventHandler instance. + <ph keyref="removeHandler"/> + Removes the specified IRtcEngineEventHandler + instance. - +

          - public void removeHandler(IRtcEngineEventHandler handler) { + public void removeHandler(IRtcEngineEventHandler handler) { mInstance.removeHandler((IAgoraEventHandler) handler); } - - - - - -

          + + + + + + +

          - -
          Since
          -
          v2.9.1
          -
          + +
          Since
          +
          v2.9.1
          +
          -

          This method removes the specified callback handler. For callback events that you want to listen for only once, call this method to remove the relevant callback handler after you have received them.

          +

          This method removes the specified callback handler. For callback events that you want + to listen for only once, call this method to remove the relevant callback handler + after you have received them.

          Parameters - - handler - The callback handler to be deleted. For details, see . - -
          + + handler + The callback handler to be deleted. For details, see . + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_removeinjectstreamurl.dita b/en-US/dita/RTC/API/api_removeinjectstreamurl.dita index e74b07ee435..ef5d6a7cb0d 100644 --- a/en-US/dita/RTC/API/api_removeinjectstreamurl.dita +++ b/en-US/dita/RTC/API/api_removeinjectstreamurl.dita @@ -1,44 +1,48 @@ - <ph keyref="removeInjectStreamUrl" /> - Removes the voice or video stream URL address from the live streaming. + <ph keyref="removeInjectStreamUrl"/> + Removes the voice or video stream URL address from the + live streaming. - +

          - public abstract int removeInjectStreamUrl(String url); - - (int)removeInjectStreamUrl:(NSString * _Nonnull)url; - virtual int removeInjectStreamUrl(const char* url) = 0; - removeInjectStreamUrl(url: string): number - public abstract int RemoveInjectStreamUrl(string url); - - Future<void> removeInjectStreamUrl(String url);

          + public abstract int removeInjectStreamUrl(String url); + - (int)removeInjectStreamUrl:(NSString * _Nonnull)url; + virtual int removeInjectStreamUrl(const char* url) = 0; + removeInjectStreamUrl(url: string): number + public abstract int RemoveInjectStreamUrl(string url); + + Future<void> removeInjectStreamUrl(String url); +

          - -

          After a successful method, the SDK triggers the callback - with the uid of 666.

          + +

          After a successful method, the SDK triggers the + callback with the uid of 666.

          Parameters - - url - The URL address of the injected stream to be removed. - -
          + + url + The URL address of the injected stream to be removed. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        722. 0: Success.
        723. +
        724. < 0: Failure.
        725. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_removepublishstreamurl.dita b/en-US/dita/RTC/API/api_removepublishstreamurl.dita index 19111c5d1a1..08486179540 100644 --- a/en-US/dita/RTC/API/api_removepublishstreamurl.dita +++ b/en-US/dita/RTC/API/api_removepublishstreamurl.dita @@ -1,55 +1,77 @@ - <ph keyref="removePublishStreamUrl" /> - Removes an RTMP or RTMPS stream from the CDN. + + <ph keyref="removePublishStreamUrl"/> + + + Removes an RTMP or RTMPS stream from the CDN. + - +

          - public abstract int removePublishStreamUrl(String url); - - (int)removePublishStreamUrl:(NSString * _Nonnull)url; - virtual int removePublishStreamUrl(const char *url) = 0; - removePublishStreamUrl(url: string): number - public abstract int RemovePublishStreamUrl(string url); - - Future<void> removePublishStreamUrl(String url);

          + public abstract int removePublishStreamUrl(String url); + - (int)removePublishStreamUrl:(NSString * _Nonnull)url; + virtual int removePublishStreamUrl(const char *url) = 0; + removePublishStreamUrl(url: string): number + public abstract int RemovePublishStreamUrl(string url); + + Future<void> removePublishStreamUrl(String url); +

          - -
          Deprecated:
          -
          This method is deprecated. See Release Notes for an alternative solution.
          -
          This method is deprecated.
          -
          + +
          Deprecated:
          +
          + This method is deprecated. See + Release Notes for an alternative + solution. +
          +
          This method is deprecated.
          +
          -

          After a successful method call, the SDK triggers on the local client to report the result of deleting the URL.

          +

          After a successful method call, the SDK triggers on the local client to report the result + of deleting the URL.

          -
            -
          • Before calling this method, make sure that the media push function has been enabled. For details, see the prerequisites in Media Push.
          • -
          • This method takes effect only when you are a host in live interactive streaming.
          • -
          • Call this method after joining a channel.
          • -
          • This method removes only one media push URL each time it is called. To remove multiple URLs, call this method multiple times.
          • -
          +
            +
          • Before calling this method, make sure that the media push function has been + enabled. For details, see the prerequisites in Media + Push.
          • +
          • This method takes effect only when you are a host in live interactive + streaming.
          • +
          • Call this method after joining a channel.
          • +
          • This method removes only one media push URL each time it is called. To + remove multiple URLs, call this method multiple times.
          • +
          + +
          Parameters - - url - The media push URL to be removed. The maximum length of this parameter is 1024 bytes. The media push URL must not contain special characters, such as Chinese characters. - -
          + + url + The media push URL to be removed. The maximum length of this parameter is + 1024 bytes. The media push URL must not contain special characters, such as + Chinese characters. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        726. 0: Success.
        727. +
        728. < 0: Failure.
        729. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_renewtoken.dita b/en-US/dita/RTC/API/api_renewtoken.dita index 9bc19ed341a..4a5ed2e33c3 100644 --- a/en-US/dita/RTC/API/api_renewtoken.dita +++ b/en-US/dita/RTC/API/api_renewtoken.dita @@ -1,49 +1,55 @@ - <ph keyref="renewToken" /> - Gets a new token when the current token expires after a period of time. + <ph keyref="renewToken"/> + Gets a new token when the current token expires after a + period of time. - +

          - public abstract int renewToken(String token); - - (int)renewToken:(NSString * _Nonnull)token; - virtual int renewToken(const char* token) = 0; - renewToken(token: string): number - public abstract int RenewToken(string token); - - Future<void> renewToken(String token);

          + public abstract int renewToken(String token); + - (int)renewToken:(NSString * _Nonnull)token; + virtual int renewToken(const char* token) = 0; + renewToken(token: string): number + public abstract int RenewToken(string token); + + Future<void> renewToken(String token); +

          +
          +
          Passes a new token to the SDK. A token expires after a certain + period of time. In the following two cases, the app should call this method to pass in a + new token. Failure to do so will result in the SDK disconnecting from the server.
            +
          • The SDK triggers the callback.
          • +
          • The callback reports (9).
          • +
          -
          Passes a new token to the SDK. A token expires after a certain period of time. In the following two cases, the app should call this method to pass in a new token. Failure to do so will result in the SDK disconnecting from the server. -
            -
          • The SDK triggers the callback.
          • -
          • The callback reports (9).
          • -
          Parameters - - token - The new token. - -
          + + token + The new token. + + +
          Returns
            -
          • 0(ERR_OK): Success.
          • -
          • < 0: Failure. -
              -
            • -1(ERR_FAILED): A general error occurs (no specified reason).
            • -
            • -2 (ERR_INVALID_ARGUMENT): The parameter is invalid.
            • -
            • -7(ERR_NOT_INITIALIZED): The SDK is not initialized.
            • -
          • -
          +
        730. 0(ERR_OK): Success.
        731. +
        732. < 0: Failure.
            +
          • -1(ERR_FAILED): A general error occurs (no specified reason).
          • +
          • -2 (ERR_INVALID_ARGUMENT): The parameter is invalid.
          • +
          • -7(ERR_NOT_INITIALIZED): The SDK is not initialized.
          • +
        733. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_resumeallchannelmediarelay.dita b/en-US/dita/RTC/API/api_resumeallchannelmediarelay.dita index 607fe257d55..cbfa02284c8 100644 --- a/en-US/dita/RTC/API/api_resumeallchannelmediarelay.dita +++ b/en-US/dita/RTC/API/api_resumeallchannelmediarelay.dita @@ -1,41 +1,49 @@ - <ph keyref="resumeAllChannelMediaRelay" /> - Resumes the media stream relay to all destination channels. + <ph keyref="resumeAllChannelMediaRelay"/> + Resumes the media stream relay to all destination + channels. - +

          - public abstract int resumeAllChannelMediaRelay(); - - (int)resumeAllChannelMediaRelay; - virtual int resumeAllChannelMediaRelay() = 0; - - public abstract int ResumeAllChannelMediaRelay(); - - Future<void> resumeAllChannelMediaRelay();

          + public abstract int resumeAllChannelMediaRelay(); + - (int)resumeAllChannelMediaRelay; + virtual int resumeAllChannelMediaRelay() = 0; + + public abstract int ResumeAllChannelMediaRelay(); + + Future<void> resumeAllChannelMediaRelay(); +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          -

          After calling the method, you can call this method to resume relaying media streams to all destination channels.

          -

          After a successful method call, the SDK triggers the callback to report whether the media stream relay is successfully resumed.

          - Call this method after the method.
          +

          After calling the method, you can call + this method to resume relaying media streams to all destination channels.

          +

          After a successful method call, the SDK triggers the callback to report whether the media stream + relay is successfully resumed.

          + Call this method after the + method. +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        734. 0: Success.
        735. +
        736. < 0: Failure.
        737. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_resumealleffects.dita b/en-US/dita/RTC/API/api_resumealleffects.dita index 1efe355de34..b523970d341 100644 --- a/en-US/dita/RTC/API/api_resumealleffects.dita +++ b/en-US/dita/RTC/API/api_resumealleffects.dita @@ -1,33 +1,35 @@ - <ph keyref="resumeAllEffects" /> + <ph keyref="resumeAllEffects"/> Resumes playing all audio effects. - +

          - public abstract int resumeAllEffects(); + public abstract int resumeAllEffects(); - - (int)resumeAllEffects; + - (int)resumeAllEffects; - virtual int resumeAllEffects() = 0; - resumeAllEffects(): number - public abstract int ResumeAllEffects(); - - Future<void> resumeAllEffects();

          + virtual int resumeAllEffects() = 0; + resumeAllEffects(): number + public abstract int ResumeAllEffects(); + + Future<void> resumeAllEffects(); +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        738. 0: Success.
        739. +
        740. < 0: Failure.
        741. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_resumeaudiomixing.dita b/en-US/dita/RTC/API/api_resumeaudiomixing.dita index 7ef3dbc0507..ee0fbf23bd5 100644 --- a/en-US/dita/RTC/API/api_resumeaudiomixing.dita +++ b/en-US/dita/RTC/API/api_resumeaudiomixing.dita @@ -1,34 +1,38 @@ - <ph keyref="resumeAudioMixing" /> - Resumes playing and mixing the music file. + <ph keyref="resumeAudioMixing"/> + Resumes playing and mixing the music + file. - +

          - public abstract int resumeAudioMixing(); - - (int)resumeAudioMixing; - virtual int resumeAudioMixing() = 0; - resumeAudioMixing(): number - public abstract int ResumeAudioMixing(); - - Future<void> resumeAudioMixing();

          + public abstract int resumeAudioMixing(); + - (int)resumeAudioMixing; + virtual int resumeAudioMixing() = 0; + resumeAudioMixing(): number + public abstract int ResumeAudioMixing(); + + Future<void> resumeAudioMixing(); +

          -

          This method resumes playing and mixing the music file. Call this method when you are in a channel.

          +

          This method resumes playing and mixing the music file. Call this method when you are + in a channel.

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        742. 0: Success.
        743. +
        744. < 0: Failure.
        745. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_resumeeffect.dita b/en-US/dita/RTC/API/api_resumeeffect.dita index bca6e928463..2f63d24dc0a 100644 --- a/en-US/dita/RTC/API/api_resumeeffect.dita +++ b/en-US/dita/RTC/API/api_resumeeffect.dita @@ -1,41 +1,45 @@ - <ph keyref="resumeEffect" /> - Resumes playing a specified audio effect. + <ph keyref="resumeEffect"/> + Resumes playing a specified audio + effect. - +

          - public abstract int resumeEffect(int soundId); + public abstract int resumeEffect(int soundId); - - (int)resumeEffect:(int)soundId; + - (int)resumeEffect:(int)soundId; - virtual int resumeEffect(int soundId) = 0; - resumeEffect(soundId: number): number - public abstract int ResumeEffect(int soundId); - - Future<void> resumeEffect(int soundId);

          + virtual int resumeEffect(int soundId) = 0; + resumeEffect(soundId: number): number + public abstract int ResumeEffect(int soundId); + + Future<void> resumeEffect(int soundId); +

          Parameters - - soundId - - -
          + + soundId + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        746. 0: Success.
        747. +
        748. < 0: Failure.
        749. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_rtc_local_view_surfaceview.dita b/en-US/dita/RTC/API/api_rtc_local_view_surfaceview.dita index 47ab66457d4..f3fb3d31976 100644 --- a/en-US/dita/RTC/API/api_rtc_local_view_surfaceview.dita +++ b/en-US/dita/RTC/API/api_rtc_local_view_surfaceview.dita @@ -1,25 +1,26 @@ - <ph keyref="LocalViewSurfaceViewConstructor" /> - Constructor for the SurfaceView class for rendering local video. + <ph keyref="LocalViewSurfaceViewConstructor"/> + Constructor for the SurfaceView class for rendering + local video. - +

          - - - - - - - const SurfaceView({ + + + + + + + const SurfaceView({ Key? key, String? channelId, renderMode = VideoRenderMode.Hidden, @@ -38,53 +39,55 @@ zOrderMediaOverlay: zOrderMediaOverlay, onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, - );

          + ); +

          Parameters - - - - - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

          + + + + + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_rtc_local_view_surfaceview_screen.dita b/en-US/dita/RTC/API/api_rtc_local_view_surfaceview_screen.dita index fad64f128f0..8d922437f91 100644 --- a/en-US/dita/RTC/API/api_rtc_local_view_surfaceview_screen.dita +++ b/en-US/dita/RTC/API/api_rtc_local_view_surfaceview_screen.dita @@ -1,25 +1,26 @@ - <ph keyref="LocalViewSurfaceViewScreenConstructor" /> - Construction method of the SurfaceView class for rendering local screen shared video. + <ph keyref="LocalViewSurfaceViewScreenConstructor"/> + Construction method of the SurfaceView class for + rendering local screen shared video. - +

          - - - - - - - const SurfaceView.screenShare({ + + + + + + + const SurfaceView.screenShare({ Key? key, renderMode = VideoRenderMode.Hidden, mirrorMode = VideoMirrorMode.Disabled, @@ -33,31 +34,33 @@ onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, subProcess: true, - );

          + ); +

          Parameters - - - - - - - - - - - - - - - - - - - - -
          + + + + + + + + + + + + + + + + + + + + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_rtc_local_view_textureview.dita b/en-US/dita/RTC/API/api_rtc_local_view_textureview.dita index 29222809706..55d54ca6062 100644 --- a/en-US/dita/RTC/API/api_rtc_local_view_textureview.dita +++ b/en-US/dita/RTC/API/api_rtc_local_view_textureview.dita @@ -1,25 +1,26 @@ - <ph keyref="LocalViewTextureViewConstructor" /> - Constructor for the SurfaceView class for rendering local video. + <ph keyref="LocalViewTextureViewConstructor"/> + Constructor for the SurfaceView class for rendering + local video. - +

          - - - - - - - const TextureView({ + + + + + + + const TextureView({ Key? key, String? channelId, renderMode = VideoRenderMode.Hidden, @@ -36,45 +37,47 @@ onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, useFlutterTexture: useFlutterTexture, - );

          + ); +

          Parameters - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to render the video using FlutterTexture. - - - - - -

          + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to render the video using FlutterTexture. + + + + + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_rtc_local_view_textureview_screen.dita b/en-US/dita/RTC/API/api_rtc_local_view_textureview_screen.dita index 96e0825222e..078520d6494 100644 --- a/en-US/dita/RTC/API/api_rtc_local_view_textureview_screen.dita +++ b/en-US/dita/RTC/API/api_rtc_local_view_textureview_screen.dita @@ -1,25 +1,26 @@ - <ph keyref="LocalViewTextureViewScreenConstructor" /> - Constructor of the TextureView class for rendering local screen sharing video. + <ph keyref="LocalViewTextureViewScreenConstructor"/> + Constructor of the TextureView class for rendering + local screen sharing video. - +

          - - - - - - - const TextureView.screenShare({ + + + + + + + const TextureView.screenShare({ Key? key, renderMode = VideoRenderMode.Hidden, mirrorMode = VideoMirrorMode.Disabled, @@ -35,35 +36,37 @@ gestureRecognizers: gestureRecognizers, useFlutterTexture: useFlutterTexture, subProcess: true, - );

          + ); +

          Parameters - - - - - - - - - - - - - - - - - - - - - - - - -
          + + + + + + + + + + + + + + + + + + + + + + + + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_rtc_remote_view_surfaceview.dita b/en-US/dita/RTC/API/api_rtc_remote_view_surfaceview.dita index 8fc1f0212be..000dd5e6877 100644 --- a/en-US/dita/RTC/API/api_rtc_remote_view_surfaceview.dita +++ b/en-US/dita/RTC/API/api_rtc_remote_view_surfaceview.dita @@ -1,25 +1,26 @@ - <ph keyref="RemoteViewSurfaceViewConstructor" /> - Constructor for the SurfaceView class for rendering local video. + <ph keyref="RemoteViewSurfaceViewConstructor"/> + Constructor for the SurfaceView class for rendering + local video. - +

          - - - - - - - const SurfaceView({ + + + + + + + const SurfaceView({ Key? key, required int uid, required String channelId, @@ -40,53 +41,55 @@ zOrderMediaOverlay: zOrderMediaOverlay, onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, - );

          + ); +

          Parameters - - - - - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

          + + + + + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_rtc_remote_view_textureview.dita b/en-US/dita/RTC/API/api_rtc_remote_view_textureview.dita index d9f792803ff..2caa8134876 100644 --- a/en-US/dita/RTC/API/api_rtc_remote_view_textureview.dita +++ b/en-US/dita/RTC/API/api_rtc_remote_view_textureview.dita @@ -1,25 +1,26 @@ - <ph keyref="RemoteViewTextureViewConstructor" /> - Constructor of the TextureView class for rendering remote video. + <ph keyref="RemoteViewTextureViewConstructor"/> + Constructor of the TextureView class for rendering + remote video. - +

          - - - - - - - const TextureView({ + + + + + + + const TextureView({ Key? key, required int uid, required String channelId, @@ -38,49 +39,51 @@ onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, useFlutterTexture: useFlutterTexture, - );

          + ); +

          Parameters - - - - - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to render the video using FlutterTexture. - - - - - -

          + + + + + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to render the video using FlutterTexture. + + + + + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_rtc_render_view_rtcsurfaceview.dita b/en-US/dita/RTC/API/api_rtc_render_view_rtcsurfaceview.dita index b801fbbc46b..f25edafcc1f 100644 --- a/en-US/dita/RTC/API/api_rtc_render_view_rtcsurfaceview.dita +++ b/en-US/dita/RTC/API/api_rtc_render_view_rtcsurfaceview.dita @@ -1,25 +1,26 @@ - <ph keyref="RtcSurfaceViewConstructor" /> - Constructor of the RtcSurfaceView class. + <ph keyref="RtcSurfaceViewConstructor"/> + Constructor of the RtcSurfaceView + class. - +

          - - - - - - - const RtcSurfaceView({ + + + + + + + const RtcSurfaceView({ Key? key, required this.uid, this.channelId, @@ -30,55 +31,61 @@ this.onPlatformViewCreated, this.gestureRecognizers, this.subProcess = false, - }) : super(key: key);

          + }) : super(key: key); +

          Parameters - - key - Specifiers of Widget, Element, and SemanticsNode. For details, see Flutter's official documentation for a description of the key object. - - - uid - The user ID. - - - channelId - -

          - - - - renderMode - The rendering mode of the video. See . - - - mirrorMode - The mirror mode of the view. See . - - - zOrderOnTop - Whether to place the current screen on another layer of the current window. - This method is for Android only. - - - zOrderMediaOverlay - Whether to place the surface layer of the SurfaceView view on top of another SurfaceView in the window (but still below the window). - This method is for Android only. - - - onPlatformViewCreated - This event is triggered when a platform view is created. - - - gestureRecognizers - The Gesture object. - - - subProcess - Whether to create a subprocess. - -

          + + key + Specifiers of Widget, Element, and + SemanticsNode. For details, see Flutter's official + documentation for a description of the key object. + + + uid + The user ID. + + + channelId + +

          + + + + renderMode + The rendering mode of the video. See . + + + mirrorMode + The mirror mode of the view. See . + + + zOrderOnTop + Whether to place the current screen on another layer of the current window. + This method is for Android only. + + + zOrderMediaOverlay + Whether to place the surface layer of the SurfaceView view on top of another + SurfaceView in the window (but still below the window). This method is for Android only. + + + onPlatformViewCreated + This event is triggered when a platform view is created. + + + gestureRecognizers + The Gesture object. + + + subProcess + Whether to create a subprocess. + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_rtc_render_view_rtctextureview.dita b/en-US/dita/RTC/API/api_rtc_render_view_rtctextureview.dita index 622de690fa6..ef0d8f31513 100644 --- a/en-US/dita/RTC/API/api_rtc_render_view_rtctextureview.dita +++ b/en-US/dita/RTC/API/api_rtc_render_view_rtctextureview.dita @@ -1,25 +1,26 @@ - <ph keyref="RtcTextureViewConstructor" /> - Constructor of the RtcTextureView class. + <ph keyref="RtcTextureViewConstructor"/> + Constructor of the RtcTextureView + class. - +

          - - - - - - - const RtcTextureView({ + + + + + + + const RtcTextureView({ Key? key, required this.uid, this.channelId, @@ -29,49 +30,51 @@ this.gestureRecognizers, this.useFlutterTexture = true, this.subProcess = false, - }) : super(key: key);

          + }) : super(key: key); +

          Parameters - - - - - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to render the video using FlutterTexture. - - - - - -

          + + + + + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to render the video using FlutterTexture. + + + + + + + - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_selectaudiotrack.dita b/en-US/dita/RTC/API/api_selectaudiotrack.dita index 96928dd895b..79642fdf80f 100644 --- a/en-US/dita/RTC/API/api_selectaudiotrack.dita +++ b/en-US/dita/RTC/API/api_selectaudiotrack.dita @@ -1,48 +1,59 @@ - <ph keyref="selectAudioTrack" /> - Specified the playback track of the current music file. + <ph keyref="selectAudioTrack"/> + Specified the playback track of the current music + file. - +

          - - - - - public abstract int SelectAudioTrack(int index); - -

          + + + + + public abstract int SelectAudioTrack(int index); + + +

          -

          After getting the number of audio tracks of the current music file, call this method to specify any audio track to play. For example, if different tracks of a multitrack file store songs in different languages, you can call this method to set the language of the music file to play.

          +

          After getting the number of audio tracks of the current music file, call this method + to specify any audio track to play. For example, if different tracks of a multitrack + file store songs in different languages, you can call this method to set the + language of the music file to play.

          -
            -
          • This method is for Android, iOS, and Windows only.
          • -
          • Call this method after calling and receive the () - callback.
          • -
          • For the audio file formats supported by this method, see .
          • -
          +
            +
          • This method is for Android, iOS, and Windows only.
          • +
          • Call this method after calling and + receive the () callback.
          • +
          • For the audio file formats supported by this method, see .
          • +
          +
          Parameters - - index - The specified playback track. The value range is [0, ()]. - -
          + + index + The specified playback track. The value range is [0, ()]. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        750. 0: Success.
        751. +
        752. < 0: Failure.
        753. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_sendcustomreportmessage.dita b/en-US/dita/RTC/API/api_sendcustomreportmessage.dita index b0e0d4dab59..9fe38579c6e 100644 --- a/en-US/dita/RTC/API/api_sendcustomreportmessage.dita +++ b/en-US/dita/RTC/API/api_sendcustomreportmessage.dita @@ -1,48 +1,54 @@ - <ph keyref="sendCustomReportMessage" /> + <ph keyref="sendCustomReportMessage"/> Reports customized messages. - +

          - public abstract int sendCustomReportMessage( + public abstract int sendCustomReportMessage( String id, String category, String event, String label, int value); - - (int)sendCustomReportMessage:(NSString * _Nullable)messageId + - (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, + virtual int sendCustomReportMessage(const char *id, const char* category, const char* event, const char* label, int value) = 0; - sendCustomReportMessage(id: string, + sendCustomReportMessage(id: string, category: string, event: string, label: string, value: number): number - public abstract int SendCustomReportMessage(string id, string category, string events, string label, int value); - - Future<void> sendCustomReportMessage( - String id, String category, String event, String label, int value);

          + public abstract int SendCustomReportMessage(string id, string category, string events, string label, int value); + + Future<void> sendCustomReportMessage( + String id, String category, String event, String label, int value); +

          - -
          Since
          -
          v3.1.0
          -
          + +
          Since
          +
          v3.1.0
          +
          -

          Agora supports reporting and analyzing customized messages. This function is in the beta stage with a free trial. The ability provided in its beta test version is reporting a maximum of 10 message pieces within 6 seconds, with each message piece not exceeding 256 bytes and each string not exceeding 100 bytes. To try out this function, contact and discuss the format of customized messages with us.

          +

          Agora supports reporting and analyzing customized messages. This function + is in the beta stage with a free trial. The ability provided in its beta test + version is reporting a maximum of 10 message pieces within 6 seconds, with each + message piece not exceeding 256 bytes and each string not exceeding 100 bytes. To + try out this function, contact and discuss the format + of customized messages with us.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_sendmetadata.dita b/en-US/dita/RTC/API/api_sendmetadata.dita index 50acf881b4f..06b1bbd7343 100644 --- a/en-US/dita/RTC/API/api_sendmetadata.dita +++ b/en-US/dita/RTC/API/api_sendmetadata.dita @@ -1,43 +1,50 @@ - <ph keyref="sendMetadata" /> + <ph keyref="sendMetadata"/> Sends media metadata. - +

          - - - - sendMetadata(metadata: Metadata): number - public abstract int SendMetadata(Metadata metadata); - - Future<void> sendMetadata(Uint8List metadata);

          + + + + sendMetadata(metadata: Metadata): number + public abstract int SendMetadata(Metadata metadata); + + Future<void> sendMetadata(Uint8List metadata); +

          -

          After a successful method call of , the SDK triggers the callback, and then you can call this method to send media metadata.

          -

          If the metadata is sent successfully, the SDK triggers the callback on the receiver.

          +

          After a successful method call of , the SDK triggers the callback, and then you can call this method to + send media metadata.

          +

          If the metadata is sent successfully, the SDK triggers the callback on the receiver.

          Parameters - - metadata - Media metadata See . - -
          + + metadata + Media metadata See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        754. 0: Success.
        755. +
        756. < 0: Failure.
        757. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_sendstreammessage.dita b/en-US/dita/RTC/API/api_sendstreammessage.dita index 5871561c90f..b108b279cf2 100644 --- a/en-US/dita/RTC/API/api_sendstreammessage.dita +++ b/en-US/dita/RTC/API/api_sendstreammessage.dita @@ -1,67 +1,78 @@ - <ph keyref="sendStreamMessage" /> + <ph keyref="sendStreamMessage"/> Sends data stream messages. - +

          - public abstract int SendStreamMessage(int streamId, string data, uint length);

          + public abstract int SendStreamMessage(int streamId, string data, uint length); +

          - public abstract int SendStreamMessage(int streamId, byte[] data);

          + public abstract int SendStreamMessage(int streamId, byte[] data);

          - public abstract int sendStreamMessage(int streamId, byte[] message); - - (int)sendStreamMessage:(NSInteger)streamId + public abstract int sendStreamMessage(int streamId, byte[] message); + - (int)sendStreamMessage:(NSInteger)streamId data:(NSData * _Nonnull)data; - virtual int sendStreamMessage(int streamId, + virtual int sendStreamMessage(int streamId, const char* data, size_t length) = 0; - sendStreamMessage(streamId: number, data: string): number - - Future<void> sendStreamMessage(int streamId, Uint8List message);

          + sendStreamMessage(streamId: number, data: string): number + + Future<void> sendStreamMessage(int streamId, Uint8List message); +

          -

          Sends data stream messages to all users in a channel. The SDK has the following restrictions on this method: -

            -
          • Up to 30 packets can be sent per second in a channel with each packet having a maximum size of 1 KB.
          • -
          • Each client can send up to 6 KB of data per second.
          • -
          • Each user can have up to five data streams simultaneously.
          • -

          -

          A successful method call triggers the callback on the remote client, from which the remote user gets the stream message. A failed method call triggers the callback on the remote client.

          +

          Sends data stream messages to all users in a channel. The SDK has the + following restrictions on this method:

            +
          • Up to 30 packets can be sent per second in a channel with each packet having + a maximum size of 1 KB.
          • +
          • Each client can send up to 6 KB of data per second.
          • +
          • Each user can have up to five data streams simultaneously.
          • +

          +

          A successful method call triggers the callback on + the remote client, from which the remote user gets the stream message. A failed + method call triggers the callback on the + remote client.

          -
            -
          • Ensure that you call to create a data channel before calling this method.
          • -
          • In live streaming scenarios, this method only applies to hosts.
          • -
          +
            +
          • Ensure that you call to create a data + channel before calling this method.
          • +
          • In live streaming scenarios, this method only applies to hosts.
          • +
          +
          Parameters - - streamId - The data stream ID. You can get the data stream ID by calling . - - - message - data - The message to be sent. - - - length - The length of the data. - -
          + + streamId + The data stream ID. You can get the data stream ID by calling . + + + message + data + The message to be sent. + + + length + The length of the data. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        758. 0: Success.
        759. +
        760. < 0: Failure.
        761. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setaddonlogfile.dita b/en-US/dita/RTC/API/api_setaddonlogfile.dita index e0ac4330389..343ab4eaca3 100644 --- a/en-US/dita/RTC/API/api_setaddonlogfile.dita +++ b/en-US/dita/RTC/API/api_setaddonlogfile.dita @@ -1,40 +1,45 @@ - <ph keyref="setAddonLogFile" /> + <ph keyref="setAddonLogFile"/> Sets log file for the Electron layer of the SDK. - +

          - - - - setAddonLogFile(filePath: string): number - - -

          + + + + setAddonLogFile(filePath: string): number + + + +

          Parameters - - filePath - The full path to the log file for the Electron layer of the SDK. Ensure that the directory for the log files exists and is writable. You can use this parameter to rename the log files. - -
          + + filePath + The full path to the log file for the Electron layer of the SDK. Ensure that + the directory for the log files exists and is writable. You can use this + parameter to rename the log files. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        762. 0: Success.
        763. +
        764. < 0: Failure.
        765. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setaudioeffectparameters.dita b/en-US/dita/RTC/API/api_setaudioeffectparameters.dita index 1acb2843a21..be0b1e2bd2f 100644 --- a/en-US/dita/RTC/API/api_setaudioeffectparameters.dita +++ b/en-US/dita/RTC/API/api_setaudioeffectparameters.dita @@ -1,117 +1,166 @@ - <ph keyref="setAudioEffectParameters" /> - Sets parameters for SDK preset audio effects. + <ph keyref="setAudioEffectParameters"/> + Sets parameters for SDK preset audio + effects. - +

          - public abstract int setAudioEffectParameters(int preset, int param1, int param2); - - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2; - virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0; - setAudioEffectParameters(preset: AUDIO_EFFECT_PRESET, param1: number, param2: number): number - public abstract int SetAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2); - - Future<void> setAudioEffectParameters( - AudioEffectPreset preset, int param1, int param2);

          + public abstract int setAudioEffectParameters(int preset, int param1, int param2); + - (int)setAudioEffectParameters:(AgoraAudioEffectPreset)preset param1:(int)param1 param2:(int)param2; + virtual int setAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2) = 0; + setAudioEffectParameters(preset: AUDIO_EFFECT_PRESET, param1: number, param2: number): number + public abstract int SetAudioEffectParameters(AUDIO_EFFECT_PRESET preset, int param1, int param2); + + Future<void> setAudioEffectParameters( + AudioEffectPreset preset, int param1, int param2); +

          Detailed Description
          - -
          Since
          -
          v3.2.0
          -
          + +
          Since
          +
          v3.2.0
          +
          -

          Call this method to set the following parameters for the local user who sends an audio stream: -

            -
          • 3D voice effect: Sets the cycle period of the 3D voice effect.
          • -
          • Pitch correction effect: Sets the basic mode and tonic pitch of the pitch correction effect. Different songs have different modes and tonic pitches. Agora recommends bounding this method with interface elements to enable users to adjust the pitch correction interactively.
          • -

          +

          Call this method to set the following parameters for the local user who sends an + audio stream:

            +
          • 3D voice effect: Sets the cycle period of the 3D voice effect.
          • +
          • Pitch correction effect: Sets the basic mode and tonic pitch of the pitch + correction effect. Different songs have different modes and tonic pitches. + Agora recommends bounding this method with interface elements to enable + users to adjust the pitch correction interactively.
          • +
          +

          After setting the audio parameters, all users in the channel can hear the effect.

          -
            -
          • You can call this method either before or after joining a channel.
          • -
          • To get better audio effect quality, Agora recommends calling and setting scenario in as (3) before calling this method.
          • -
          • Do not set the profile parameter in to (1) or (6), or the method does not take effect.
          • -
          • Do not set the profile parameter in to (1), or the method does not take effect.
          • -
          • This method works best with the human voice. Agora does not recommend using this method for audio containing music.
          • -
          • After calling , Agora recommends not calling the following methods, or the settings in are overridden :
              -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
          • -
          +
        766. You can call this method either before or after joining a channel.
        767. +
        768. To get better audio effect quality, Agora recommends calling and setting + scenario in as + (3) before calling this + method.
        769. +
        770. Do not set the profile parameter in + to (1) or (6), or the method does not take + effect.
        771. +
        772. Do not set the profile + parameter in to (1), or the method does not + take effect.
        773. +
        774. This method works best with the human voice. Agora does not recommend using + this method for audio containing music.
        775. +
        776. After calling , Agora recommends + not calling the following methods, or the settings in are overridden :
            +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          +
        777. + + +
          Parameters - - preset - The options for SDK preset audio effects: -
            -
          • , 3D voice effect: + + preset + The options for SDK preset audio effects:
              +
            • , 3D voice effect:
                +
              • Call and set the profile parameter in + to (3) or + (5) + before setting this enumerator; otherwise, the enumerator + setting does not take effect.
              • +
              • If the 3D voice effect is enabled, users need to use stereo + audio playback devices to hear the anticipated voice + effect.
              • +
              +
            • +
            • , Pitch correction effect: To + achieve better audio effect quality, Agora recommends calling + and setting the + profile parameter to (4) or (5) before + setting this enumerator.
            • +
            +
            +
            + + param1 +
              -
            • Call and set the profile parameter in to (3) or (5) before setting this enumerator; otherwise, the enumerator setting does not take effect.
            • -
            • If the 3D voice effect is enabled, users need to use stereo audio playback devices to hear the anticipated voice effect.
            • -
          • -
          • , Pitch correction effect: To achieve better audio effect quality, Agora recommends calling and setting the profile parameter to (4) or (5) before setting this enumerator.
          • -
          -
          - - param1 - -
            -
          • If you set preset to , param1 sets the cycle period of the 3D voice effect. The value range is [1,60] and the unit is seconds. The default value is 10, indicating that the voice moves around you every 10 seconds.
          • -
          • If you set preset to , param1 sets the basic mode of the pitch correction effect: +
          • If you set preset to , param1 + sets the cycle period of the 3D voice effect. The value range is + [1,60] and the unit is seconds. The default value is 10, indicating + that the voice moves around you every 10 seconds.
          • +
          • If you set preset to , param1 sets + the basic mode of the pitch correction effect:
              +
            • 1: (Default) Natural major scale.
            • +
            • 2: Natural minor scale.
            • +
            • 3: Japanese pentatonic scale.
            • +
            +
          • +
          +
          +
          + + param2 +
            -
          • 1: (Default) Natural major scale.
          • -
          • 2: Natural minor scale.
          • -
          • 3: Japanese pentatonic scale.
          • -
          -
          -
          - - param2 - -
            -
          • If you set preset to , you need to set param2 to 0.
          • -
          • If you set preset to , param2 sets the tonic pitch of the pitch correction effect: -
              -
            • 1: A
            • -
            • 2: A#
            • -
            • 3: B
            • -
            • 4: (Default) C
            • -
            • 5: C#
            • -
            • 6: D
            • -
            • 7: D#
            • -
            • 8: E
            • -
            • 9: F
            • -
            • 10: F#
            • -
            • 11: G
            • -
            • 12: G#
            • -
          • -
          -
          -
          +
        778. If you set preset to , you need to set + param2 to 0.
        779. +
        780. If you set preset to , param2 sets + the tonic pitch of the pitch correction effect:
            +
          • 1: A
          • +
          • 2: A#
          • +
          • 3: B
          • +
          • 4: (Default) C
          • +
          • 5: C#
          • +
          • 6: D
          • +
          • 7: D#
          • +
          • 8: E
          • +
          • 9: F
          • +
          • 10: F#
          • +
          • 11: G
          • +
          • 12: G#
          • +
          +
        781. + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        782. 0: Success.
        783. +
        784. < 0: Failure.
        785. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setaudioeffectpreset.dita b/en-US/dita/RTC/API/api_setaudioeffectpreset.dita index 89a15968d62..85668dcad38 100644 --- a/en-US/dita/RTC/API/api_setaudioeffectpreset.dita +++ b/en-US/dita/RTC/API/api_setaudioeffectpreset.dita @@ -1,95 +1,176 @@ - <ph keyref="setAudioEffectPreset" /> + <ph keyref="setAudioEffectPreset"/> Sets an SDK preset audio effect. - +

          - public abstract int setAudioEffectPreset(int preset); - - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset; - virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0; - setAudioEffectPreset(preset: AUDIO_EFFECT_PRESET): number - public abstract int SetAudioEffectPreset(AUDIO_EFFECT_PRESET preset); - - Future<void> setAudioEffectPreset(AudioEffectPreset preset);

          + public abstract int setAudioEffectPreset(int preset); + - (int)setAudioEffectPreset:(AgoraAudioEffectPreset)preset; + virtual int setAudioEffectPreset(AUDIO_EFFECT_PRESET preset) = 0; + setAudioEffectPreset(preset: AUDIO_EFFECT_PRESET): number + public abstract int SetAudioEffectPreset(AUDIO_EFFECT_PRESET preset); + + Future<void> setAudioEffectPreset(AudioEffectPreset preset); +

          Detailed Description
          - -
          Since
          -
          v3.2.0
          -
          + +
          Since
          +
          v3.2.0
          +
          -

          Call this method to set an SDK preset audio effect for the local user who sends an audio stream. This audio effect does not change the gender characteristics of the original voice. After setting an audio effect, all users in the channel can hear the effect.

          -

          You can set different audio effects for different scenarios. See Set the Voice Beautifier and Audio Effects.

          -

          To get better audio effect quality, Agora recommends calling and setting the scenario parameter as (3) before calling this method.

          +

          Call this method to set an SDK preset audio effect for the local user who sends an + audio stream. This audio effect does not change the gender characteristics of the + original voice. After setting an audio effect, all users in the channel can hear the + effect.

          +

          You can set different audio effects for different scenarios. See Set the + Voice Beautifier and Audio Effects.

          +

          To get better audio effect quality, Agora recommends calling and setting the scenario + parameter as (3) before calling + this method.

          -
            -
          • You can call this method either before or after joining a channel.
          • -
          • Do not set the profile parameter in to (1) or (6), or the method does not take effect.
          • -
          • Do not set the profile parameter in to (1), or the method does not take effect.
          • -
          • This method works best with the human voice. Agora does not recommend using this method for audio containing music.
          • -
          • If you call and set enumerators except for or , do not call ; otherwise, is overridden.
          • -
          • After calling , Agora recommends not calling the following methods, because they can override :
              -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
          • -
          +
        786. You can call this method either before or after joining a channel.
        787. +
        788. Do not set the profile parameter in + to (1) or (6), or the method does not take + effect.
        789. +
        790. Do not set the profile + parameter in to (1), or the method does not + take effect.
        791. +
        792. This method works best with the human voice. Agora does not recommend using + this method for audio containing music.
        793. +
        794. If you call and set enumerators + except for or , do not call ; otherwise, is overridden.
        795. +
        796. After calling , Agora recommends not + calling the following methods, because they can override :
            +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          +
        797. + + +
          Parameters - - preset - The options for SDK preset audio effects. See . - Preset voice effects. -
            -
          • : Turn off audio effects and use the original voice.
          • -
          • : The reverberation style typical of a KTV venue.
          • -
          • : The reverberation style typical of a concert hall.
          • -
          • : The reverberation style typical of a recording studio.
          • -
          • : The reverberation style typical of the vintage phonograph.
          • -
          • : A virtual stereo effect that renders monophonic audio as stereo audio. Before using this preset, set the profile parameter of to or ; otherwise, the preset setting is invalid.
          • -
          • : A more spatial audio effect.
          • -
          • : A more ethereal audio effect.
          • -
          • : A 3D voice effect that makes the voice appear to be moving around the user. The default movement cycle is 10 seconds. After setting this effect, you can call to modify the movement period. -
              -
            • Before using this preset, set the profile parameter of to or ; otherwise, the preset setting is invalid.
            • -
            • If the 3D voice effect is enabled, users need to use stereo audio playback devices to hear the anticipated voice effect.
            • -
          • -
          • : The reverberation style typical of an uncle's voice. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
          • -
          • : The voice of an old man. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
          • -
          • : The voice of a boy. Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
          • -
          • : The voice of a young woman. Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
          • -
          • : The voice of a girl. Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
          • -
          • : The voice of Pig King, a character in Journey to the West who has a voice like a growling bear.
          • -
          • : The voice of the Hulk.
          • -
          • : The reverberation style typical of R&B music. Before using this preset, set the profile parameter of to or ; otherwise, the preset setting is invalid.
          • -
          • : The reverberation style typical of popular music. Before using this preset, set the profile parameter of to or ; otherwise, the preset setting is invalid.
          • -
          • : A pitch correction effect that corrects the user's pitch based on the pitch of the natural C major scale. After setting this voice effect, you can call to adjust the basic mode of tuning and the pitch of the main tone.
          • -
          -
          -
          + + preset + The options for SDK preset audio effects. See + . + Preset voice effects.
            +
          • : Turn off audio effects and use the + original voice.
          • +
          • : The reverberation style typical + of a KTV venue.
          • +
          • : The reverberation style + typical of a concert hall.
          • +
          • : The reverberation style + typical of a recording studio.
          • +
          • : The reverberation style + typical of the vintage phonograph.
          • +
          • : A virtual stereo + effect that renders monophonic audio as stereo audio. Before using + this preset, set the profile parameter of to or ; otherwise, + the preset setting is invalid.
          • +
          • : A more spatial audio + effect.
          • +
          • : A more ethereal audio + effect.
          • +
          • : A 3D voice effect that makes + the voice appear to be moving around the user. The default movement + cycle is 10 seconds. After setting this effect, you can call to modify the movement + period.
              +
            • Before using this preset, set the + profile parameter of to or ; + otherwise, the preset setting is invalid.
            • +
            • If the 3D voice effect is enabled, users need to use stereo + audio playback devices to hear the anticipated voice + effect.
            • +
          • +
          • : The reverberation style + typical of an uncle's voice. Agora recommends using this preset to + process a male-sounding voice; otherwise, you may not hear the + anticipated voice effect.
          • +
          • : The voice of an old man. + Agora recommends using this preset to process a male-sounding voice; + otherwise, you may not hear the anticipated voice effect.
          • +
          • : The voice of a boy. Agora + recommends using this preset to process a male-sounding voice; + otherwise, you may not hear the anticipated voice effect.
          • +
          • : The voice of a young + woman. Agora recommends using this preset to process a + female-sounding voice; otherwise, you may not hear the anticipated + voice effect.
          • +
          • : The voice of a girl. Agora + recommends using this preset to process a female-sounding voice; + otherwise, you may not hear the anticipated voice effect.
          • +
          • : The voice of Pig King, + a character in Journey to the West who has a voice like a growling + bear.
          • +
          • : The voice of the + Hulk.
          • +
          • : The reverberation style + typical of R&B music. Before using this preset, set the + profile parameter of to or ; otherwise, + the preset setting is invalid.
          • +
          • : The reverberation style + typical of popular music. Before using this preset, set the + profile parameter of to or ; otherwise, + the preset setting is invalid.
          • +
          • : A pitch correction effect that + corrects the user's pitch based on the pitch of the natural C major + scale. After setting this voice effect, you can call to adjust the basic mode of + tuning and the pitch of the main tone.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        798. 0: Success.
        799. +
        800. < 0: Failure.
        801. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setaudiomixingdualmonomode.dita b/en-US/dita/RTC/API/api_setaudiomixingdualmonomode.dita index 608604a1e78..33baf845a03 100644 --- a/en-US/dita/RTC/API/api_setaudiomixingdualmonomode.dita +++ b/en-US/dita/RTC/API/api_setaudiomixingdualmonomode.dita @@ -1,48 +1,60 @@ - <ph keyref="setAudioMixingDualMonoMode" /> - Sets the channel mode of the current music file. + <ph keyref="setAudioMixingDualMonoMode"/> + Sets the channel mode of the current music + file. - +

          - - - - - public abstract int SetAudioMixingDualMonoMode(AUDIO_MIXING_DUAL_MONO_MODE mode); - -

          + + + + + public abstract int SetAudioMixingDualMonoMode(AUDIO_MIXING_DUAL_MONO_MODE mode); + + +

          -

          In a stereo music file, the left and right channels can store different audio data. According to your needs, you can set the channel mode to original mode, left channel mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, the left channel of the music file stores the musical accompaniment, and the right channel stores the singing voice. If you only need to listen to the accompaniment, call this method to set the channel mode of the music file to left channel mode; if you need to listen to the accompaniment and the singing voice at the same time, call this method to set the channel mode to mixed channel mode. - - -

            -
          • Call this method after calling and receive the () callback.
          • -
          • This method only applies to stereo audio files.
          • -

          +

          In a stereo music file, the left and right channels can store different audio data. + According to your needs, you can set the channel mode to original mode, left channel + mode, right channel mode, or mixed channel mode. For example, in the KTV scenario, + the left channel of the music file stores the musical accompaniment, and the right + channel stores the singing voice. If you only need to listen to the accompaniment, + call this method to set the channel mode of the music file to left channel mode; if + you need to listen to the accompaniment and the singing voice at the same time, call + this method to set the channel mode to mixed channel mode. +

            +
          • Call this method after calling and + receive the () callback.
          • +
          • This method only applies to stereo audio files.
          • +
          +

          Parameters - - mode - The channel mode. See . - -
          + + mode + The channel mode. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        802. 0: Success.
        803. +
        804. < 0: Failure.
        805. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setaudiomixingpitch.dita b/en-US/dita/RTC/API/api_setaudiomixingpitch.dita index 1a198c5ab36..8b40c82ee38 100644 --- a/en-US/dita/RTC/API/api_setaudiomixingpitch.dita +++ b/en-US/dita/RTC/API/api_setaudiomixingpitch.dita @@ -1,48 +1,61 @@ - <ph keyref="setAudioMixingPitch" /> - Sets the pitch of the local music file. + <ph keyref="setAudioMixingPitch"/> + Sets the pitch of the local music + file. - +

          - public abstract int setAudioMixingPitch(int pitch); - - (int)setAudioMixingPitch:(NSInteger)pitch; - virtual int setAudioMixingPitch(int pitch) = 0; - setAudioMixingPitch(pitch: number): number - public abstract int SetAudioMixingPitch(int pitch); - - Future<void> setAudioMixingPitch(int pitch);

          + public abstract int setAudioMixingPitch(int pitch); + - (int)setAudioMixingPitch:(NSInteger)pitch; + virtual int setAudioMixingPitch(int pitch) = 0; + setAudioMixingPitch(pitch: number): number + public abstract int SetAudioMixingPitch(int pitch); + + Future<void> setAudioMixingPitch(int pitch); +

          - -
          Since
          -
          v3.0.1
          -
          + +
          Since
          +
          v3.0.1
          +
          -

          When a local music file is mixed with a local human voice, call this method to set the pitch of the local music file only.

          - You need to call this method after calling and receiving the () callback.
          +

          When a local music file is mixed with a local human voice, call this method to set + the pitch of the local music file only.

          + You need to call this method after calling and receiving the () callback. +
          Parameters - - pitch - Sets the pitch of the local music file by the chromatic scale. The default value is 0, which means keeping the original pitch. The value ranges from -12 to 12, and the pitch value between consecutive values is a chromatic value. The greater the absolute value of this parameter, the higher or lower the pitch of the local music file. - -
          + + pitch + Sets the pitch of the local music file by the chromatic scale. The default + value is 0, which means keeping the original pitch. The value ranges from + -12 to 12, and the pitch value between consecutive values is a chromatic + value. The greater the absolute value of this parameter, the higher or lower + the pitch of the local music file. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        806. 0: Success.
        807. +
        808. < 0: Failure.
        809. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setaudiomixingplaybackspeed.dita b/en-US/dita/RTC/API/api_setaudiomixingplaybackspeed.dita index cb838a0f390..f00ee4b5064 100644 --- a/en-US/dita/RTC/API/api_setaudiomixingplaybackspeed.dita +++ b/en-US/dita/RTC/API/api_setaudiomixingplaybackspeed.dita @@ -1,53 +1,59 @@ - <ph keyref="setAudioMixingPlaybackSpeed" /> - Sets the channel mode of the current music file. + <ph keyref="setAudioMixingPlaybackSpeed"/> + Sets the channel mode of the current music + file. - +

          - public abstract int setAudioMixingPlaybackSpeed(int speed); - - (int)setAudioMixingPlaybackSpeed:(int)speed; - virtual int setAudioMixingPlaybackSpeed(int speed) = 0; - - public abstract int SetAudioMixingPlaybackSpeed(int speed); - - Future<void> setAudioMixingPlaybackSpeed(int speed);

          + public abstract int setAudioMixingPlaybackSpeed(int speed); + - (int)setAudioMixingPlaybackSpeed:(int)speed; + virtual int setAudioMixingPlaybackSpeed(int speed) = 0; + + public abstract int SetAudioMixingPlaybackSpeed(int speed); + + Future<void> setAudioMixingPlaybackSpeed(int speed); +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          -

          Call this method after calling and receiving the () callback.

          +

          Call this method after calling and receiving the + () callback.

          Parameters - - speed - The playback speed. Agora recommends that you limit this value to between 50 and 400, defined as follows: -
            -
          • 50: Half the original speed.
          • -
          • 100: The original speed.
          • -
          • 400: 4 times the original speed.
          • -
          -
          -
          + + speed + The playback speed. Agora recommends that you limit this value to between 50 + and 400, defined as follows:
            +
          • 50: Half the original speed.
          • +
          • 100: The original speed.
          • +
          • 400: 4 times the original speed.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        810. 0: Success.
        811. +
        812. < 0: Failure.
        813. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setaudiomixingposition.dita b/en-US/dita/RTC/API/api_setaudiomixingposition.dita index 7bebf006ccb..d00982d6eab 100644 --- a/en-US/dita/RTC/API/api_setaudiomixingposition.dita +++ b/en-US/dita/RTC/API/api_setaudiomixingposition.dita @@ -1,42 +1,49 @@ - <ph keyref="setAudioMixingPosition" /> + <ph keyref="setAudioMixingPosition"/> Sets the audio mixing position. - +

          - public abstract int setAudioMixingPosition(int pos); - - (int)setAudioMixingPosition:(NSInteger)pos; - virtual int setAudioMixingPosition(int pos /*in ms*/) = 0; - setAudioMixingPosition(pos: number): number - public abstract int SetAudioMixingPosition(int pos); - - Future<void> setAudioMixingPosition(int pos);

          + public abstract int setAudioMixingPosition(int pos); + - (int)setAudioMixingPosition:(NSInteger)pos; + virtual int setAudioMixingPosition(int pos /*in ms*/) = 0; + setAudioMixingPosition(pos: number): number + public abstract int SetAudioMixingPosition(int pos); + + Future<void> setAudioMixingPosition(int pos); +

          -

          Call this method to set the playback position of the music file to a different starting position (the default plays from the beginning).

          - You need to call this method after calling and receiving the (PLAY) callback.
          +

          Call this method to set the playback position of the music file to a different + starting position (the default plays from the beginning).

          + You need to call this method after calling and receiving the (PLAY) callback. +
          Parameters - - pos - Integer. The playback position (ms). - -
          + + pos + Integer. The playback position (ms). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        814. 0: Success.
        815. +
        816. < 0: Failure.
        817. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setaudioprofile.dita b/en-US/dita/RTC/API/api_setaudioprofile.dita index 55ab3b102ac..635ddc51089 100644 --- a/en-US/dita/RTC/API/api_setaudioprofile.dita +++ b/en-US/dita/RTC/API/api_setaudioprofile.dita @@ -1,82 +1,130 @@ - <ph keyref="setAudioProfile" /> - Sets the audio profile and audio scenario. + <ph keyref="setAudioProfile"/> + Sets the audio profile and audio + scenario. - +

          - public abstract int setAudioProfile(int profile, int scenario); - - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario; - virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0; - setAudioProfile(profile: AUDIO_PROFILE_TYPE, scenario: AUDIO_SCENARIO_TYPE): number - public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario); - - Future<void> setAudioProfile(AudioProfile profile, AudioScenario scenario);

          + public abstract int setAudioProfile(int profile, int scenario); + - (int)setAudioProfile:(AgoraAudioProfile)profile scenario:(AgoraAudioScenario)scenario; + virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario) = 0; + setAudioProfile(profile: AUDIO_PROFILE_TYPE, scenario: AUDIO_SCENARIO_TYPE): number + public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile, AUDIO_SCENARIO_TYPE scenario); + + Future<void> setAudioProfile(AudioProfile profile, AudioScenario scenario); +

          -
            -
          • You can call this method either before or after joining a channel.
          • -
          • Ensure that you call this method before joining a channel.
          • -
          • In scenarios requiring high-quality audio, such as online music tutoring, Agora recommends you set profile as (4), and scenario as (3) or (6).
          • -
          +
            +
          • You can call this method either before or after joining a + channel.
          • +
          • Ensure that you call this method before joining a channel.
          • +
          • In scenarios requiring high-quality audio, such as online music tutoring, + Agora recommends you set profile as (4), and + scenario as (3) or (6).
          • +
          + +
          Parameters - - profile - -

          The audio profile, including the sampling rate, bitrate, encoding mode, and the number of channels. See . -

            -
          • (0): Default value -
              -
            • -
          • -
          • (1): A sampling rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
          • -
          • (2): A sampling rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
          • -
          • (3): A sampling rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps.
          • -
          • (4): A sampling rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 Kbps.
          • -
          • (5): A sampling rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps.
          • -

          -
          -
          - - scenario - The audio scenario. See . Under different audio scenarios, the device uses different volume types. -
            -
          • (0): Automatic scenario match, where the SDK chooses the appropriate audio quality according to the user role and audio route.
          • -
          • (3): High-quality audio scenario, where users mainly play music.
          • -
          • (5): Chatroom scenario, where users need to frequently switch the user role or mute and unmute the microphone.
          • -
          • (6): High-quality audio scenario, where users mainly play music.
          • -
          • (7): Real-time chorus scenario, where users have good network conditions and require extremely low latency. -
          • -
          - The audio scenario. See . Under different audio scenarios, the device uses different volume types. -
            -
          • (0): The default audio scenario.
          • -
          • (1): Entertainment scenario where users need to frequently switch the user role.
          • -
          • (2): Education scenario where users want smoothness and stability.
          • -
          • (3): High-quality audio scenario, where users mainly play music.
          • -
          • (4): Showroom scenario where a single host wants high-quality audio.
          • -
          • (5): Gaming scenario for group chat that only contains the human voice.
          • -
          • (6): IoT (Internet of Things) scenario where users use IoT devices with low power consumption.
          • -
          • (8): Meeting scenario that mainly contains the human voice.
          • -
          -
          -
          + + profile + +

          The audio profile, including the sampling rate, bitrate, + encoding mode, and the number of channels. See . +

            +
          • (0): Default value
              +
            • +
          • +
          • (1): A sampling + rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 + Kbps.
          • +
          • (2): A sampling rate + of 48 kHz, music encoding, mono, and a bitrate of up to 64 + Kbps.
          • +
          • (3): A + sampling rate of 48 kHz, music encoding, stereo, and a bitrate + of up to 80 Kbps.
          • +
          • (4): A sampling + rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 + Kbps.
          • +
          • (5): A + sampling rate of 48 kHz, music encoding, stereo, and a bitrate + of up to 128 Kbps.
          • +

          +
          +
          + + scenario + The audio scenario. See . Under different audio + scenarios, the device uses different volume types. +
            +
          • (0): Automatic scenario match, + where the SDK chooses the appropriate audio quality according to the + user role and audio route.
          • +
          • (3): High-quality audio + scenario, where users mainly play music.
          • +
          • (5): Chatroom scenario, where + users need to frequently switch the user role or mute and unmute the + microphone.
          • +
          • (6): High-quality + audio scenario, where users mainly play music.
          • +
          • (7): Real-time chorus scenario, + where users have good network conditions and require extremely low + latency.
          • +
          + The audio scenario. See . Under different audio + scenarios, the device uses different volume types. +
            +
          • (0): The default audio + scenario.
          • +
          • (1): + Entertainment scenario where users need to frequently switch the + user role.
          • +
          • (2): Education scenario where + users want smoothness and stability.
          • +
          • (3): High-quality audio + scenario, where users mainly play music.
          • +
          • (4): Showroom scenario where a + single host wants high-quality audio.
          • +
          • (5): Gaming scenario + for group chat that only contains the human voice.
          • +
          • (6): IoT (Internet of Things) + scenario where users use IoT devices with low power + consumption.
          • +
          • (8): Meeting scenario that + mainly contains the human voice.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        818. 0: Success.
        819. +
        820. < 0: Failure.
        821. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setaudioprofile2.dita b/en-US/dita/RTC/API/api_setaudioprofile2.dita index 1588813c687..70fe5286c85 100644 --- a/en-US/dita/RTC/API/api_setaudioprofile2.dita +++ b/en-US/dita/RTC/API/api_setaudioprofile2.dita @@ -1,50 +1,62 @@ - <ph keyref="setAudioProfile2" /> - Sets the audio parameters and application scenarios. + <ph keyref="setAudioProfile2"/> + Sets the audio parameters and application + scenarios. - +

          - public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile);

          + public abstract int SetAudioProfile(AUDIO_PROFILE_TYPE profile);

          - public synchronized int setAudioProfile(int profile) - - (int)setAudioProfile:(AgoraAudioProfile)profile; - virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0; - - -

          + public synchronized int setAudioProfile(int profile) + - (int)setAudioProfile:(AgoraAudioProfile)profile; + virtual int setAudioProfile(AUDIO_PROFILE_TYPE profile) = 0; + + + +

          -
            -
          • You can call this method either before or after joining a channel.
          • -
          • Ensure that you call this method before joining a channel.
          • -
          • In scenarios requiring high-quality audio, such as online music tutoring, Agora recommends you set profile as (4).
          • -
          • If you want to set the audio scenario, call and set mAudioScenarioaudioScenario in the struct.
          • -
          +
            +
          • You can call this method either before or after joining a + channel.
          • +
          • Ensure that you call this method before joining a channel.
          • +
          • In scenarios requiring high-quality audio, such as online music tutoring, + Agora recommends you set profile as (4).
          • +
          • If you want to set the audio scenario, call and set + mAudioScenarioaudioScenario in the struct.
          • +
          + +
          Parameters - - profile - -

          - - -

          + + profile + +

          + + + +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        822. 0: Success.
        823. +
        824. < 0: Failure.
        825. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setaudiosessionoperationrestriction.dita b/en-US/dita/RTC/API/api_setaudiosessionoperationrestriction.dita index 2b7ed972a16..0b834b0ae6d 100644 --- a/en-US/dita/RTC/API/api_setaudiosessionoperationrestriction.dita +++ b/en-US/dita/RTC/API/api_setaudiosessionoperationrestriction.dita @@ -1,48 +1,60 @@ - <ph keyref="setAudioSessionOperationRestriction" /> - Sets the operational permission of the SDK on the audio session. + <ph keyref="setAudioSessionOperationRestriction"/> + Sets the operational permission of the SDK on the audio + session. - +

          - - - virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0; - - public abstract int SetAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction); - - Future<void> setAudioSessionOperationRestriction( - AudioSessionOperationRestriction restriction);

          + + + virtual int setAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction) = 0; + + public abstract int SetAudioSessionOperationRestriction(AUDIO_SESSION_OPERATION_RESTRICTION restriction); + + Future<void> setAudioSessionOperationRestriction( + AudioSessionOperationRestriction restriction); +

          -

          The SDK and the app can both configure the audio session by default. If you need to only use the app to configure the audio session, this method restricts the operational permission of the SDK on the audio session.

          -

          You can call this method either before or after joining a channel. Once you call this method to restrict the operational permission of the SDK on the audio session, the restriction takes effect when the SDK needs to change the audio session.

          +

          The SDK and the app can both configure the audio session by default. If you need to + only use the app to configure the audio session, this method restricts the + operational permission of the SDK on the audio session.

          +

          You can call this method either before or after joining a channel. Once you call this + method to restrict the operational permission of the SDK on the audio session, the + restriction takes effect when the SDK needs to change the audio session.

          -
            -
          • This method is for iOS only.
          • -
          • This method does not restrict the operational permission of the app on the audio session.
          • -
          +
            +
          • This method is for iOS only.
          • +
          • This method does not restrict the operational permission of the app on the + audio session.
          • +
          +
          Parameters - - restriction - The operational permission of the SDK on the audio session. See . This parameter is in bit mask format, and each bit corresponds to a permission. - -
          + + restriction + The operational permission of the SDK on the audio session. See . This parameter is in bit + mask format, and each bit corresponds to a permission. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        826. 0: Success.
        827. +
        828. < 0: Failure.
        829. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setbeautyeffectoptions.dita b/en-US/dita/RTC/API/api_setbeautyeffectoptions.dita index 63370e1b53a..80e4391a9ae 100644 --- a/en-US/dita/RTC/API/api_setbeautyeffectoptions.dita +++ b/en-US/dita/RTC/API/api_setbeautyeffectoptions.dita @@ -1,73 +1,105 @@ - <ph keyref="setBeautyEffectOptions" /> + <ph keyref="setBeautyEffectOptions"/> Sets the image enhancement options. - +

          - public abstract int setBeautyEffectOptions(boolean enabled, BeautyOptions options); - - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options; - virtual int setBeautyEffectOptions(bool enabled, BeautyOptions options) = 0; - setBeautyEffectOptions(enabled: boolean, options: BeautyOptions): number - public abstract int SetBeautyEffectOptions(bool enabled, BeautyOptions options); - - Future<void> setBeautyEffectOptions(bool enabled, BeautyOptions options);

          + public abstract int setBeautyEffectOptions(boolean enabled, BeautyOptions options); + - (int)setBeautyEffectOptions:(BOOL)enable options:(AgoraBeautyOptions* _Nullable)options; + virtual int setBeautyEffectOptions(bool enabled, BeautyOptions options) = 0; + setBeautyEffectOptions(enabled: boolean, options: BeautyOptions): number + public abstract int SetBeautyEffectOptions(bool enabled, BeautyOptions options); + + Future<void> setBeautyEffectOptions(bool enabled, BeautyOptions options); +

          Enables or disables image enhancement, and sets the options.

          -

          Enabling the image enhancement function involves a series of method calls. The calling sequence is as follows: -

            -
          1. Call (agora_video_process) during initialization to integrate the video enhancement dynamic library in the project.
          2. -
          3. Link the extension library in the project file: AgoraVideoProcessExtension.xcframework
          4. -
          5. Link the extension library in the project file: AgoraVideoProcessExtension.framework
          6. -
          7. Call (libagora_video_process_extension.dll) during initialization to specify the extension's library path.
          8. -
          9. Call (agora, beauty, ) to enable the extension.
          10. -
          11. Call to enable the video module.
          12. -
          13. Call this method to enable the image enhancement function.
          14. -

          +

          Enabling the image enhancement function involves a series of method + calls. The calling sequence is as follows:

            +
          1. Call (agora_video_process) during initialization to integrate the video enhancement + dynamic library in the project.
          2. +
          3. Link the extension library in the project file: + AgoraVideoProcessExtension.xcframework
          4. +
          5. Link the extension library in the project file: + AgoraVideoProcessExtension.framework
          6. +
          7. Call (libagora_video_process_extension.dll) during + initialization to specify the extension's + library path.
          8. +
          9. Call (agora, beauty, + ) to enable the + extension.
          10. +
          11. Call to enable the video module.
          12. +
          13. Call this method to enable the image enhancement function.
          14. +

          -
            -
          • Call this method after .
          • -
          • Agora has updated the Agora image enhancement algorithm from v3.6.0 to enhance image enhancement effects and support sharpness adjustment. If you want to experience optimized image enhancement effects or set the sharpness, integrate the libagora_video_process_extension.so dynamic library into the project before calling this method.
          • -
          • Agora has updated the Agora image enhancement algorithm from v3.6.0 to enhance image enhancement effects and support sharpness adjustment. If you want to experience optimized image enhancement effects or set the sharpness, integrate the AgoraVideoProcessExtension.xcframework dynamic library into the project before calling this method.
          • -
          • Agora has updated the Agora image enhancement algorithm from v3.6.0 to enhance image enhancement effects and support sharpness adjustment. If you want to experience optimized image enhancement effects or set the sharpness, integrate the libagora_video_process_extension.dll dynamic library into the project before calling this method.
          • -
          - This method only applies to Android 5.0 or later.
          +
            +
          • Call this method after .
          • +
          • Agora has updated the Agora image enhancement algorithm from + v3.6.0 to enhance image enhancement effects and support sharpness + adjustment. If you want to experience optimized image enhancement effects or + set the sharpness, integrate the + libagora_video_process_extension.so dynamic library + into the project before calling this method.
          • +
          • Agora has updated the Agora image enhancement algorithm from + v3.6.0 to enhance image enhancement effects and support sharpness + adjustment. If you want to experience optimized image enhancement effects or + set the sharpness, integrate the + AgoraVideoProcessExtension.xcframework dynamic library + into the project before calling this method.
          • +
          • Agora has updated the Agora image enhancement algorithm from + v3.6.0 to enhance image enhancement effects and support sharpness + adjustment. If you want to experience optimized image enhancement effects or + set the sharpness, integrate the + libagora_video_process_extension.dll dynamic library + into the project before calling this method.
          • +
          + + This method only applies to Android 5.0 or + later. +
          Parameters - - enabled - enable - Whether to enable the image enhancement function: -
            -
          • : Enable the image enhancement function.
          • -
          • : (Default) Disable the image enhancement function.
          • -
          -
          - - options - -

          The image enhancement options. See .

          -
          -
          -
          + + enabled + enable + Whether to enable the image enhancement function:
            +
          • : Enable the image enhancement + function.
          • +
          • : (Default) Disable the image + enhancement function.
          • +
          +
          + + options + +

          The image enhancement options. See .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • ERR_NOT_SUPPORTED(4): The system version is earlier than Android 5.0, which does not support this function.
            • -
          • -
          +
        830. 0: Success.
        831. +
        832. < 0: Failure.
            +
          • ERR_NOT_SUPPORTED(4): The system version is earlier than Android 5.0, + which does not support this function.
          • +
        833. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setcameraautoexposurefacemodeenabled.dita b/en-US/dita/RTC/API/api_setcameraautoexposurefacemodeenabled.dita index e2a914e02d0..c545806398b 100644 --- a/en-US/dita/RTC/API/api_setcameraautoexposurefacemodeenabled.dita +++ b/en-US/dita/RTC/API/api_setcameraautoexposurefacemodeenabled.dita @@ -1,37 +1,39 @@ - <ph keyref="setCameraAutoExposureFaceModeEnabled" /> - + <ph keyref="setCameraAutoExposureFaceModeEnabled"/> + - +

          - - - virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0; + + + virtual int setCameraAutoExposureFaceModeEnabled(bool enabled) = 0; - - - -

          + + + + +

          Parameters - - - - -
          + + + + + +
          Returns
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setcameraautofocusfacemodeenabled.dita b/en-US/dita/RTC/API/api_setcameraautofocusfacemodeenabled.dita index 4df57b802ca..1b2ecfffa3b 100644 --- a/en-US/dita/RTC/API/api_setcameraautofocusfacemodeenabled.dita +++ b/en-US/dita/RTC/API/api_setcameraautofocusfacemodeenabled.dita @@ -1,53 +1,61 @@ - <ph keyref="setCameraAutoFocusFaceModeEnabled" /> - Enables the camera auto-face focus function. + <ph keyref="setCameraAutoFocusFaceModeEnabled"/> + Enables the camera auto-face focus + function. - +

          - public abstract int setCameraAutoFocusFaceModeEnabled(boolean enabled); - - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable; - virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0; + public abstract int setCameraAutoFocusFaceModeEnabled(boolean enabled); + - (BOOL)setCameraAutoFocusFaceModeEnabled:(BOOL)enable; + virtual int setCameraAutoFocusFaceModeEnabled(bool enabled) = 0; - - public abstract int SetCameraAutoFocusFaceModeEnabled(bool enabled); - -

          + + public abstract int SetCameraAutoFocusFaceModeEnabled(bool enabled); + + +

          -
            -
          • This method is for Android and iOS only.
          • -
          • Call this method before calling , , or , depending on which method you use to turn on your local camera.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • Call this method before calling , , or , depending + on which method you use to turn on your local camera.
          • +
          +
          Parameters - - enabled - enable - -

          Whether to enable the camera auto-face focus function: -

            -
          • : Enable the camera auto-face focus function.
          • -
          • : (Default) Disable the camera auto-face focus function.
          • -

          -
          -
          -
          + + enabled + enable + +

          Whether to enable the camera auto-face focus function:

            +
          • : Enable the camera + auto-face focus function.
          • +
          • : (Default) Disable the + camera auto-face focus function.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        834. 0: Success.
        835. +
        836. < 0: Failure.
        837. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setcameracapturerconfiguration.dita b/en-US/dita/RTC/API/api_setcameracapturerconfiguration.dita index ce02f3623a9..92418720c39 100644 --- a/en-US/dita/RTC/API/api_setcameracapturerconfiguration.dita +++ b/en-US/dita/RTC/API/api_setcameracapturerconfiguration.dita @@ -1,53 +1,74 @@ - <ph keyref="setCameraCapturerConfiguration" /> + <ph keyref="setCameraCapturerConfiguration"/> Sets the camera capture configuration. - +

          - public abstract int setCameraCapturerConfiguration(CameraCapturerConfiguration config); - - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config; - virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0; - setCameraCapturerConfiguration(config: CameraCapturerConfiguration): number - public abstract int SetCameraCapturerConfiguration(CameraCapturerConfiguration config); - - Future<void> setCameraCapturerConfiguration( - CameraCapturerConfiguration config);

          + public abstract int setCameraCapturerConfiguration(CameraCapturerConfiguration config); + - (int)setCameraCapturerConfiguration:(AgoraCameraCapturerConfiguration * _Nullable)config; + virtual int setCameraCapturerConfiguration(const CameraCapturerConfiguration& config) = 0; + setCameraCapturerConfiguration(config: CameraCapturerConfiguration): number + public abstract int SetCameraCapturerConfiguration(CameraCapturerConfiguration config); + + Future<void> setCameraCapturerConfiguration( + CameraCapturerConfiguration config); +

          -

          For a video call or the interactive live video streaming, generally the SDK controls the camera output parameters. When the default camera capturer settings do not meet special requirements or cause performance problems, we recommend using this method to set the camera capturer configuration: -

            -
          • If the resolution or frame rate of the captured raw video data are higher than those set by , processing video frames requires extra CPU and RAM usage and degrades performance. Agora recommends setting the camera capture configuration to (1) to avoid such problems.
          • -
          • If you do not need a local video preview or are willing to sacrifice preview quality, we recommend setting the preference as (1) to optimize CPU and RAM usage.
          • -
          • If you want better quality for the local video preview, we recommend setting config as (2).
          • -
          • To customize the width and height of the video image captured by the local camera, set the camera capture configuration as (3).
          • -

          +

          For a video call or the interactive live video streaming, generally the + SDK controls the camera output parameters. When the default camera capturer settings + do not meet special requirements or cause performance problems, we recommend using + this method to set the camera capturer configuration:

            +
          • If the resolution or frame rate of the captured raw video data are higher + than those set by , processing + video frames requires extra CPU and RAM usage and degrades performance. + Agora recommends setting the camera capture configuration to (1) to avoid such + problems.
          • +
          • If you do not need a local video preview or are willing to sacrifice preview + quality, we recommend setting the preference as (1) to optimize CPU and + RAM usage.
          • +
          • If you want better quality for the local video preview, we recommend setting + config as (2).
          • +
          • To customize the width and height of the video image captured by the local + camera, set the camera capture configuration as (3).
          • +
          +

          -
            -
          • This method is for Android and iOS only.
          • -
          • Call this method before calling , , or , depending on which method you use to turn on your local camera.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • Call this method before calling , , or , depending + on which method you use to turn on your local camera.
          • +
          +
          Parameters - - config - The camera capturer configuration. See . - -
          + + config + The camera capturer configuration. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        838. 0: Success.
        839. +
        840. < 0: Failure.
        841. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setcameradeviceorientation.dita b/en-US/dita/RTC/API/api_setcameradeviceorientation.dita index 1ea008226ff..b6192bc0d36 100644 --- a/en-US/dita/RTC/API/api_setcameradeviceorientation.dita +++ b/en-US/dita/RTC/API/api_setcameradeviceorientation.dita @@ -1,53 +1,58 @@ - <ph keyref="setCameraDeviceOrientation" /> - Sets the rotation angle of the captured video. + <ph keyref="setCameraDeviceOrientation"/> + Sets the rotation angle of the captured + video. - +

          - - - virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0; + + + virtual int setCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation) = 0; - - public abstract int SetCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation); - -

          + + public abstract int SetCameraDeviceOrientation(VIDEO_SOURCE_TYPE type, VIDEO_ORIENTATION orientation); + + +

          -

          When the video capture device does not have the gravity sensing function, you can call this method to manually adjust the rotation angle of the captured video.

          +

          When the video capture device does not have the gravity sensing function, you can + call this method to manually adjust the rotation angle of the captured video.

          Parameters - - type - -

          The video source type. See .

          -
          -
          + + type + +

          The video source type. See .

          +
          +
          - - orientation - -

          The clockwise rotation angle. See .

          -
          -
          -
          + + orientation + +

          The clockwise rotation angle. See .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        842. 0: Success.
        843. +
        844. < 0: Failure.
        845. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setcameraexposureposition.dita b/en-US/dita/RTC/API/api_setcameraexposureposition.dita index 13951b79179..aa961a20bc1 100644 --- a/en-US/dita/RTC/API/api_setcameraexposureposition.dita +++ b/en-US/dita/RTC/API/api_setcameraexposureposition.dita @@ -1,59 +1,66 @@ - <ph keyref="setCameraExposurePosition" /> + <ph keyref="setCameraExposurePosition"/> Sets the camera exposure position. - +

          - public abstract int setCameraExposurePosition(float positionXinView, float positionYinView); - - (BOOL)setCameraExposurePosition:(CGPoint)positionInView; - virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0; + public abstract int setCameraExposurePosition(float positionXinView, float positionYinView); + - (BOOL)setCameraExposurePosition:(CGPoint)positionInView; + virtual int setCameraExposurePosition(float positionXinView, float positionYinView) = 0; - - public abstract int SetCameraExposurePosition(float positionXinView, float positionYinView); - - Future<void> setCameraExposurePosition( - double positionXinView, double positionYinView);

          + + public abstract int SetCameraExposurePosition(float positionXinView, float positionYinView); + + Future<void> setCameraExposurePosition( + double positionXinView, double positionYinView); +

          - -
          Since
          -
          v2.3.2
          -
          + +
          Since
          +
          v2.3.2
          +
          -

          This method needs to be called after the camera is started (for example, by calling or ).

          -

          After a successful method call, the SDK triggers the callback.

          - This method is for Android and iOS only.
          +

          This method needs to be called after the camera is started (for example, by calling + or ).

          +

          After a successful method call, the SDK triggers the callback.

          + This method is for Android and iOS + only. +
          Parameters - - positionXinView - The horizontal coordinate of the touchpoint in the view. - - - positionYinView - The vertical coordinate of the touchpoint in the view. - - - positionInView - The horizontal coordinate of the touchpoint in the view. - -
          + + positionXinView + The horizontal coordinate of the touchpoint in the view. + + + positionYinView + The vertical coordinate of the touchpoint in the view. + + + positionInView + The horizontal coordinate of the touchpoint in the view. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        846. 0: Success.
        847. +
        848. < 0: Failure.
        849. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setcamerafocuspositioninpreview.dita b/en-US/dita/RTC/API/api_setcamerafocuspositioninpreview.dita index a8a891572c5..dbc37358b51 100644 --- a/en-US/dita/RTC/API/api_setcamerafocuspositioninpreview.dita +++ b/en-US/dita/RTC/API/api_setcamerafocuspositioninpreview.dita @@ -1,53 +1,60 @@ - <ph keyref="setCameraFocusPositionInPreview" /> + <ph keyref="setCameraFocusPositionInPreview"/> Sets the camera manual focus position. - +

          - public abstract int setCameraFocusPositionInPreview(float positionX, float positionY); - - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position; - virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0; + public abstract int setCameraFocusPositionInPreview(float positionX, float positionY); + - (BOOL)setCameraFocusPositionInPreview:(CGPoint)position; + virtual int setCameraFocusPositionInPreview(float positionX, float positionY) = 0; - - public abstract int SetCameraFocusPositionInPreview(float positionX, float positionY); - - Future<void> setCameraFocusPositionInPreview( - double positionX, double positionY);

          + + public abstract int SetCameraFocusPositionInPreview(float positionX, float positionY); + + Future<void> setCameraFocusPositionInPreview( + double positionX, double positionY); +

          -

          This method needs to be called after the camera is started (for example, by calling or ). - After a successful method call, the SDK triggers the callback.

          - This method is for Android and iOS only.
          +

          This method needs to be called after the camera is started (for example, by calling + or ). After a + successful method call, the SDK triggers the callback.

          + This method is for Android and iOS + only. +
          Parameters - - positionX - The horizontal coordinate of the touchpoint in the view. - - - positionY - The vertical coordinate of the touchpoint in the view. - - - position - The coordinate of the touchpoint in the view. - -
          + + positionX + The horizontal coordinate of the touchpoint in the view. + + + positionY + The vertical coordinate of the touchpoint in the view. + + + position + The coordinate of the touchpoint in the view. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        850. 0: Success.
        851. +
        852. < 0: Failure.
        853. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setcameratorchon.dita b/en-US/dita/RTC/API/api_setcameratorchon.dita index 8e717edb1cf..891c8ae6afa 100644 --- a/en-US/dita/RTC/API/api_setcameratorchon.dita +++ b/en-US/dita/RTC/API/api_setcameratorchon.dita @@ -1,52 +1,58 @@ - <ph keyref="setCameraTorchOn" /> + <ph keyref="setCameraTorchOn"/> Enables the camera flash. - +

          - public abstract int setCameraTorchOn(boolean isOn); - - (BOOL)setCameraTorchOn:(BOOL)isOn; - virtual int setCameraTorchOn(bool isOn) = 0; + public abstract int setCameraTorchOn(boolean isOn); + - (BOOL)setCameraTorchOn:(BOOL)isOn; + virtual int setCameraTorchOn(bool isOn) = 0; - - public abstract int SetCameraTorchOn(bool isOn); - - Future<void> setCameraTorchOn(bool isOn);

          + + public abstract int SetCameraTorchOn(bool isOn); + + Future<void> setCameraTorchOn(bool isOn); +

          -
            -
          • This method is for Android and iOS only.
          • -
          • Call this method before calling , , or , depending on which method you use to turn on your local camera.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • Call this method before calling , , or , depending + on which method you use to turn on your local camera.
          • +
          +
          Parameters - - isOn - -

          Whether to turn on the camera flash: -

            -
          • : Turn on the flash.
          • -
          • : (Default) Turn off the flash.
          • -

          -
          -
          -
          + + isOn + +

          Whether to turn on the camera flash:

            +
          • : Turn on the flash.
          • +
          • : (Default) Turn off the + flash.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        854. 0: Success.
        855. +
        856. < 0: Failure.
        857. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setcamerazoomfactor.dita b/en-US/dita/RTC/API/api_setcamerazoomfactor.dita index 23ed71acf2e..d062d280724 100644 --- a/en-US/dita/RTC/API/api_setcamerazoomfactor.dita +++ b/en-US/dita/RTC/API/api_setcamerazoomfactor.dita @@ -1,47 +1,55 @@ - <ph keyref="setCameraZoomFactor" /> + <ph keyref="setCameraZoomFactor"/> Sets the camera zoom ratio. - +

          - public abstract int setCameraZoomFactor(float factor); - - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor; - virtual int setCameraZoomFactor(float factor) = 0; + public abstract int setCameraZoomFactor(float factor); + - (CGFloat)setCameraZoomFactor:(CGFloat)zoomFactor; + virtual int setCameraZoomFactor(float factor) = 0; - - public abstract int SetCameraZoomFactor(float factor); - - Future<void> setCameraZoomFactor(double factor);

          + + public abstract int SetCameraZoomFactor(float factor); + + Future<void> setCameraZoomFactor(double factor); +

          -
            -
          • This method is for Android and iOS only.
          • -
          • Call this method before calling , , or , depending on which method you use to turn on your local camera.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • Call this method before calling , , or , depending + on which method you use to turn on your local camera.
          • +
          +
          Parameters - - factor - zoomFactor - The camera zoom ratio. The value ranges between 1.0 and the maximum zoom supported by the device. You can get the maximum zoom ratio supported by the device by calling the method. - -
          + + factor + zoomFactor + The camera zoom ratio. The value ranges between 1.0 and the maximum zoom + supported by the device. You can get the maximum zoom ratio supported by the + device by calling the method. + + +
          Returns
            -
          • The camera zoom factor value, if successful.
          • -
          • < 0: if the method if failed.
          • -
          +
        858. The camera zoom factor value, if successful.
        859. +
        860. < 0: if the method if failed.
        861. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setchannelprofile.dita b/en-US/dita/RTC/API/api_setchannelprofile.dita index 10410232146..0ca71aeabf6 100644 --- a/en-US/dita/RTC/API/api_setchannelprofile.dita +++ b/en-US/dita/RTC/API/api_setchannelprofile.dita @@ -1,60 +1,83 @@ - <ph keyref="setChannelProfile" /> + <ph keyref="setChannelProfile"/> Sets the channel profile. - +

          - public abstract int setChannelProfile(int profile); - - (int)setChannelProfile:(AgoraChannelProfile)profile; - virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0; - setChannelProfile(profile: CHANNEL_PROFILE_TYPE): number - public abstract int SetChannelProfile(CHANNEL_PROFILE_TYPE profile); - - Future<void> setChannelProfile(ChannelProfile profile);

          + public abstract int setChannelProfile(int profile); + - (int)setChannelProfile:(AgoraChannelProfile)profile; + virtual int setChannelProfile(CHANNEL_PROFILE_TYPE profile) = 0; + setChannelProfile(profile: CHANNEL_PROFILE_TYPE): number + public abstract int SetChannelProfile(CHANNEL_PROFILE_TYPE profile); + + Future<void> setChannelProfile(ChannelProfile profile); +

          -

          After initializing the SDK, the default channel profile is the communication profile. After initializing the SDK, the default channel profile is the live streaming profile. You can call this method to set the usage scenario of Agora channel. The Agora SDK differentiates channel profiles and applies optimization algorithms accordingly. For example, it prioritizes smoothness and low latency for a video call and prioritizes video quality for interactive live video streaming.

          +

          After initializing the SDK, the default channel profile is the + communication profile. After initializing the SDK, the + default channel profile is the live streaming profile. You can call this + method to set the usage scenario of Agora channel. The Agora SDK differentiates + channel profiles and applies optimization algorithms accordingly. For example, it + prioritizes smoothness and low latency for a video call and prioritizes video + quality for interactive live video streaming.

          -
            -
          • To ensure the quality of real-time communication, Agora recommends that all users in a channel use the same channel profile.
          • -
          • This method must be called and set before , and cannot be set again after joining the channel.
          • -
          • The default audio route and video encoding bitrate are different in different channel profiles. For details, see and .
          • -
          +
            +
          • To ensure the quality of real-time communication, Agora recommends that all + users in a channel use the same channel profile.
          • +
          • This method must be called and set before , + and cannot be set again after joining the channel.
          • +
          • The default audio route and video encoding bitrate + are different in different channel profiles. For details, see and .
          • +
          + +
          Parameters - - profile - -

          The channel profile. See for details.

          -

          The channel profile. -

            -
          • (0): Communication. Use this profile when there are only two users in the channel.
          • -
          • (1): Live streaming. Use this profile when there are more than two users in the channel.
          • -
          • (2): This profile is deprecated.
          • -
          • (3): Interaction. The scenario is optimized for latency. Use this profile if the use case requires frequent interactions between users.
          • -

          -
          -
          -
          + + profile + +

          The channel profile. See for details.

          +

          The channel profile.

            +
          • (0): Communication. + Use this profile when there are only two users in the + channel.
          • +
          • (1): Live + streaming. Use this profile when there are more than two users + in the channel.
          • +
          • (2): This profile is + deprecated.
          • +
          • (3): Interaction. The + scenario is optimized for latency. Use this profile if the use + case requires frequent interactions between users.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0(ERR_OK): Success.
          • -
          • < 0: Failure. -
              -
            • -2(ERR_INVALID_ARGUMENT): The parameter is invalid.
            • -
            • -7(ERR_NOT_INITIALIZED): The SDK is not initialized.
            • -
          • -
          +
        862. 0(ERR_OK): Success.
        863. +
        864. < 0: Failure.
            +
          • -2(ERR_INVALID_ARGUMENT): The parameter is invalid.
          • +
          • -7(ERR_NOT_INITIALIZED): The SDK is not initialized.
          • +
        865. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setclientrole.dita b/en-US/dita/RTC/API/api_setclientrole.dita index 28e10276c4c..6ff232d03d0 100644 --- a/en-US/dita/RTC/API/api_setclientrole.dita +++ b/en-US/dita/RTC/API/api_setclientrole.dita @@ -1,60 +1,71 @@ - <ph keyref="setClientRole1" /> + <ph keyref="setClientRole1"/> Sets the client role. - +

          - public abstract int setClientRole(int role); - - (int)setClientRole:(AgoraClientRole)role; - virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; - setClientRole(role: CLIENT_ROLE_TYPE): number - public abstract int SetClientRole(CLIENT_ROLE_TYPE role); - -

          + public abstract int setClientRole(int role); + - (int)setClientRole:(AgoraClientRole)role; + virtual int setClientRole(CLIENT_ROLE_TYPE role) = 0; + setClientRole(role: CLIENT_ROLE_TYPE): number + public abstract int SetClientRole(CLIENT_ROLE_TYPE role); + + +

          -

          You can call this method either before or after joining the channel to set the user role as audience or host.

          -

          -

          If you call this method to switch the user role after joining the channel, the SDK triggers the following callbacks: -

            -
          • The local client: .
          • -
          • The remote client: or ().
          • -

          - This method only takes effect when the channel profile is live interactive streaming (when the profile parameter in set as ).
          +

          You can call this method either before or after joining the channel to set + the user role as audience or host.

          +

          +

          If you call this method to switch the user role after joining the channel, the SDK + triggers the following callbacks:

            +
          • The local client: .
          • +
          • The remote client: or ().
          • +

          + This method only takes effect when the channel + profile is live interactive streaming (when the profile + parameter in set as ). +
          Parameters - - role - -

          The user role. See for details.

          -

          The user role: -

            -
          • (1): Broadcaster.
          • -
          • (2): Audience.
          • -

          -
          -
          -
          + + role + +

          The user role. See for details.

          +

          The user role:

            +
          • (1): Broadcaster.
          • +
          • (2): Audience.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -1: A general error occurs (no specified reason).
            • -
            • -2: The parameter is invalid.
            • -
            • -7: The SDK is not initialized.
            • -
          • -
          +
        866. 0: Success.
        867. +
        868. < 0: Failure.
            +
          • -1: A general error occurs (no specified reason).
          • +
          • -2: The parameter is invalid.
          • +
          • -7: The SDK is not initialized.
          • +
          +
        869. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setclientrole2.dita b/en-US/dita/RTC/API/api_setclientrole2.dita index 49927691aa4..82a3c275a59 100644 --- a/en-US/dita/RTC/API/api_setclientrole2.dita +++ b/en-US/dita/RTC/API/api_setclientrole2.dita @@ -1,75 +1,100 @@ - <ph keyref="setClientRole2" /> - Sets the user role and level in an interactive live streaming channel. + <ph keyref="setClientRole2"/> + Sets the user role and level in an interactive live + streaming channel. - +

          - public abstract int setClientRole(int role, ClientRoleOptions options); - - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options; - virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; - setClientRoleWithOptions(role: CLIENT_ROLE_TYPE, options: ClientRoleOptions): number - public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); - - Future<void> setClientRole(ClientRole role, [ClientRoleOptions? options]);

          + public abstract int setClientRole(int role, ClientRoleOptions options); + - (int)setClientRole:(AgoraClientRole)role options:(AgoraClientRoleOptions * _Nullable)options; + virtual int setClientRole(CLIENT_ROLE_TYPE role, const ClientRoleOptions& options) = 0; + setClientRoleWithOptions(role: CLIENT_ROLE_TYPE, options: ClientRoleOptions): number + public abstract int SetClientRole(CLIENT_ROLE_TYPE role, ClientRoleOptions options); + + Future<void> setClientRole(ClientRole role, [ClientRoleOptions? options]); +

          - -
          Since
          -
          v3.2.0
          -
          + +
          Since
          +
          v3.2.0
          +
          -

          In the interactive live streaming profile, the SDK sets the user role as audience by default. You can call this method to set the user role as host.

          +

          In the interactive live streaming profile, the SDK sets the user role as audience by + default. You can call this method to set the user role as host.

          You can call this method either before or after joining a channel.

          -

          If you call this method to set the user's role as the host before joining the channel and set the local video property through the method, the local video preview is automatically enabled when the user joins the channel.

          -

          If you call this method to switch the user role after joining a channel, the SDK automatically does the following: -

            -
          • Calls and to change the publishing state.
          • -
          • Triggers on the local client.
          • -
          • Triggers or on the remote client.
          • -

          -

          The difference between this method and is that this method can set the user level in addition to the user role. -

            -
          • The user role (role) determines the permissions that the SDK grants to a user, such as permission to send local streams, receive remote streams, and push streams to a CDN address.
          • -
          • The user level (level) determines the level of services that a user can enjoy within the permissions of the user's role. For example, an audience member can choose to receive remote streams with low latency or ultra-low latency. User level affects the pricing of services.
          • -

          - This method applies to the interactive live streaming profile (the profile parameter of is ) only.
          +

          If you call this method to set the + user's role as the host before joining the channel and set the local video property + through the method, the local video preview is + automatically enabled when the user joins the channel.

          +

          If you call this method to switch the user role after joining a channel, the SDK + automatically does the following:

            +
          • Calls and to change the publishing state.
          • +
          • Triggers on the local client.
          • +
          • Triggers or on + the remote client.
          • +

          +

          The difference between this method and + is that this method can set the user level in addition to the user role.

            +
          • The user role (role) determines the permissions that + the SDK grants to a user, such as permission to send local streams, receive + remote streams, and push streams to a CDN address.
          • +
          • The user level (level) determines the level of services + that a user can enjoy within the permissions of the user's role. For + example, an audience member can choose to receive remote streams with low + latency or ultra-low latency. User level affects the pricing of + services.
          • +

          + This method applies to the interactive live streaming profile + (the profile parameter of is + ) only. +
          Parameters - - role - The user role in the interactive live streaming. For details, see . -
            -
          • (1): Host. A host can both send and receive streams.
          • -
          • (2): (Default) Audience. An audience member can only receive streams.
          • -
          -
          - - options - The detailed options of a user, including the user level. See for details. - -
          + + role + The user role in the interactive live streaming. For details, see . +
            +
          • (1): Host. A host can both + send and receive streams.
          • +
          • (2): (Default) Audience. An + audience member can only receive streams.
          • +
          +
          +
          + + options + The detailed options of a user, including the user level. See for details. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -1: A general error occurs (no specified reason).
            • -
            • -2: The parameter is invalid.
            • -
            • -5: The request is rejected.
            • -
            • -7: The SDK is not initialized.
            • -
          • -
          +
        870. 0: Success.
        871. +
        872. < 0: Failure.
            +
          • -1: A general error occurs (no specified reason).
          • +
          • -2: The parameter is invalid.
          • +
          • -5: The request is rejected.
          • +
          • -7: The SDK is not initialized.
          • +
        873. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setcloudproxy.dita b/en-US/dita/RTC/API/api_setcloudproxy.dita index d7613fc5e20..c4487412afe 100644 --- a/en-US/dita/RTC/API/api_setcloudproxy.dita +++ b/en-US/dita/RTC/API/api_setcloudproxy.dita @@ -1,76 +1,120 @@ - <ph keyref="setCloudProxy" /> + + <ph keyref="setCloudProxy"/> + Sets the Agora cloud proxy service. - +

          - public abstract int setCloudProxy(int proxyType); - - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:)); - virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0;

          + public abstract int setCloudProxy(int proxyType); + - (int)setCloudProxy:(AgoraCloudProxyType)proxyType NS_SWIFT_NAME(setCloudProxy(_:)); + virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; +

          - - - virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; - setCloudProxy(type: CLOUD_PROXY_TYPE): number - public abstract int SetCloudProxy(CLOUD_PROXY_TYPE proxyType); - - Future<void> setCloudProxy(CloudProxyType proxyType);

          + + + virtual int setCloudProxy(CLOUD_PROXY_TYPE proxyType) = 0; + setCloudProxy(type: CLOUD_PROXY_TYPE): number + public abstract int SetCloudProxy(CLOUD_PROXY_TYPE proxyType); + + Future<void> setCloudProxy(CloudProxyType proxyType); +

          - -
          Since
          -
          3.3.0
          -
          + +
          Since
          +
          3.3.0
          +
          -

          When users' network access is restricted by a firewall, configure the firewall to allow specific IP addresses and ports provided by Agora; then, call this method to enable the cloud proxy and set the cloud proxy type with the proxyType parameter.

          -

          After successfully connecting to the cloud proxy, the SDK triggers the (, ) callback.

          -

          As of v3.6.2, when a user calls this method and then joins a channel successfully, the SDK triggers the callback to report the user ID, the proxy type connected, and the time calculated from when the user calling the method to the callback is triggered.

          -

          As of v3.6.2, when a user calls this method and then joins a channel successfully, the SDK triggers the callback to report the user ID, the proxy type connected, and the time calculated from when the user calling the method to the callback is triggered.

          -

          To disable the cloud proxy that has been set, call the ().

          -

          To change the cloud proxy type that has been set, call the () first, and then call the to set the proxyType you want.

          +

          When users' network access is restricted by a firewall, configure the firewall to + allow specific IP addresses and ports provided by Agora; then, call this method to + enable the cloud proxy and set the cloud proxy type with the + proxyType parameter.

          +

          After successfully connecting to the cloud proxy, the SDK triggers the (, + ) callback.

          +

          As of v3.6.2, when a user calls this method and then joins a channel + successfully, the SDK triggers the callback to + report the user ID, the proxy type connected, and the time calculated from when the + user calling the method to the callback is + triggered.

          +

          As of v3.6.2, when a user calls this method and then joins a channel + successfully, the SDK triggers the callback to + report the user ID, the proxy type connected, and the time calculated from when the + user calling the method to the callback is + triggered.

          +

          To disable the cloud proxy that has been set, call the ().

          +

          To change the cloud proxy type that has been set, call the () first, and + then call the to set the + proxyType you want.

          -
            -
          • Agora recommends that you call this method before joining the channel or after leaving the channel.
          • -
          • For the SDK v3.3.x, when users use the Force UDP cloud proxy, the services for Media Push and cohosting across channels are not available; for the SDK v3.4.0 or later, when users behind a firewall use the Force UDP cloud proxy, the services for Media Push and cohosting across channels are not available.
          • -
          • When a user is behind a firewall and uses the Force UDP cloud proxy, the services for Media Push and cohosting across channels are not available.
          • -
          • When you use the Force UDP cloud proxy, note that an error would occur when calling the method to play online music files in the HTTP protocol. The services for Media Push and cohosting across channels use the cloud proxy with the TCP protocol.
          • -
          +
            +
          • Agora recommends that you call this method before joining the channel or + after leaving the channel.
          • +
          • For the SDK v3.3.x, when users use the Force UDP cloud proxy, + the services for Media Push and cohosting across channels are not available; + for the SDK v3.4.0 or later, when users behind a firewall use the Force UDP + cloud proxy, the services for Media Push and cohosting across channels are + not available.
          • +
          • When a user is behind a firewall and uses the Force UDP cloud + proxy, the services for Media Push and cohosting across channels are not + available.
          • +
          • When you use the Force UDP cloud proxy, note that an error would occur when + calling the method to play online music + files in the HTTP protocol. The services for Media Push and cohosting across + channels use the cloud proxy with the TCP protocol.
          • +
          Parameters - - proxyType - -

          The type of the cloud proxy. See .

          -

          Type of the cloud proxy. -

            -
          • (0): The automatic mode. The SDK has this mode enabled by default. In this mode, the SDK attempts a direct connection to SD-RTN™ and automatically switches to TCP/TLS 443 if the attempt fails. As of v3.6.2, the SDK has this mode enabled by default.
          • -
          • (1): The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP.
          • -
          • (2): The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TCP/TLS 443.
          • -

          -

          This parameter is mandatory. The SDK reports an error if you do not pass in a value.

          -
          -
          -
          + + proxyType + +

          The type of the cloud proxy. See + .

          +

          Type of the cloud proxy. +

            +
          • (0): The automatic mode. The SDK has this mode enabled by default. + In this mode, the SDK attempts a direct connection + to SD-RTN™ and automatically switches to TCP/TLS 443 if the + attempt fails. As of v3.6.2, the SDK + has this mode enabled by default.
          • +
          • (1): The cloud proxy for the UDP + protocol, that is, the Force UDP cloud proxy mode. In this mode, + the SDK always transmits data over UDP.
          • +
          • (2): The cloud proxy for the TCP + (encryption) protocol, that is, the Force TCP cloud proxy mode. + In this mode, the SDK always transmits data over TCP/TLS + 443.
          • +

          +

          This parameter is mandatory. The SDK reports an error if you do not pass + in a value.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -2: The parameter is invalid.
            • -
            • -7: The SDK is not initialized.
            • -
          • +
          • 0: Success.
          • +
          • < 0: Failure.
              +
            • -2: The parameter is invalid.
            • +
            • -7: The SDK is not initialized.
            • +
            +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setcolorenhanceoptions.dita b/en-US/dita/RTC/API/api_setcolorenhanceoptions.dita index fe1df5f7b42..f8235ec67bf 100644 --- a/en-US/dita/RTC/API/api_setcolorenhanceoptions.dita +++ b/en-US/dita/RTC/API/api_setcolorenhanceoptions.dita @@ -1,59 +1,81 @@ - <ph keyref="setColorEnhanceOptions" /> + + <ph keyref="setColorEnhanceOptions"/> + Sets color enhancement. - +

          - - - - - public abstract int SetColorEnhanceOptions(bool enabled, ColorEnhanceOptions options); - - Future<void> setColorEnhanceOptions(bool enabled, ColorEnhanceOptions option);

          + + + + + public abstract int SetColorEnhanceOptions(bool enabled, ColorEnhanceOptions options); + + Future<void> setColorEnhanceOptions(bool enabled, ColorEnhanceOptions option); +

          -

          The video images captured by the camera can have color distortion. The color enhancement feature intelligently adjusts video characteristics such as saturation and contrast to enhance the video color richness and color reproduction, making the video more vivid.

          -

          You can call this method to enable the color enhancement feature and set the options of the color enhancement effect.

          +

          The video images captured by the camera can have color distortion. The color + enhancement feature intelligently adjusts video characteristics such as saturation + and contrast to enhance the video color richness and color reproduction, making the + video more vivid.

          +

          You can call this method to enable the color enhancement feature and set the options + of the color enhancement effect.

          -
            -
          • Before calling this method, ensure that you have integrated the libagora_video_process_extension.so dynamic library.
          • -
          • Before calling this method, make sure you have integrated the AgoraVideoSegmentationExtension.xcframework library into your project.
          • -
          • Before calling this method, make sure you have integrated the libagora_segmentation_extension.dll library into your project.
          • -
          • Call this method after calling .
          • -
          • The color enhancement feature has certain performance requirements on devices. With Color Enhancement turned on, Agora recommends that you change the Color Enhancement Level to one that consumes less performance or turn off Color Enhancement if your device is experiencing severe heat problems.
          • -
          +
            +
          • Before calling this method, ensure that you have integrated + the libagora_video_process_extension.so dynamic + library.
          • +
          • Before calling this method, make sure you have integrated + the AgoraVideoSegmentationExtension.xcframework library + into your project.
          • +
          • Before calling this method, make sure you have integrated the + libagora_segmentation_extension.dll library into your + project.
          • +
          • Call this method after calling .
          • +
          • The color enhancement feature has certain performance requirements on + devices. With Color Enhancement turned on, Agora recommends that you change + the Color Enhancement Level to one that consumes less performance or turn + off Color Enhancement if your device is experiencing severe heat + problems.
          • +
          + +
          Parameters - - enabled - Whether to turn on color enhancement: -
            -
          • : Enable.
          • -
          • : (Default) Disable.
          • -
          -
          - - options - option - The color enhancement options. For more details, see . - -
          + + enabled + Whether to turn on color enhancement:
            +
          • : Enable.
          • +
          • : (Default) Disable.
          • +
          +
          +
          + + options + option + The color enhancement options. For more details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        874. 0: Success.
        875. +
        876. < 0: Failure.
        877. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setdefaultaudioroutetospeakerphone.dita b/en-US/dita/RTC/API/api_setdefaultaudioroutetospeakerphone.dita index ab442a922ad..66673990e93 100644 --- a/en-US/dita/RTC/API/api_setdefaultaudioroutetospeakerphone.dita +++ b/en-US/dita/RTC/API/api_setdefaultaudioroutetospeakerphone.dita @@ -1,61 +1,76 @@ - <ph keyref="setDefaultAudioRouteToSpeakerphone" /> + <ph keyref="setDefaultAudioRouteToSpeakerphone"/> Sets the default audio playback route. - +

          - - - virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0; - - public abstract int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); - - Future<void> setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker);

          + + + virtual int setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker) = 0; + + public abstract int SetDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); + + Future<void> setDefaultAudioRouteToSpeakerphone(bool defaultToSpeaker); +

          -

          This method sets whether the received audio is routed to the earpiece or speakerphone by default before joining a channel. If a user does not call this method, the audio is routed to the earpiece by default.

          -

          The default settings for each profile: -

            -
          • For the communication profile: -
              -
            • In a voice call, the default audio route is the earpiece.
            • -
            • In a video call, the default audio route is the speakerphone. If a user calls the , , or method, the default audio route switches back to the earpiece automatically.
            • -
          • -
          • For the live broadcasting profile: Speakerphone.
          • -

          +

          This method sets whether the received audio is routed to the earpiece or speakerphone + by default before joining a channel. If a user does not call this method, the audio + is routed to the earpiece by default.

          +

          The default settings for each profile:

            +
          • For the communication profile:
              +
            • In a voice call, the default audio route is the earpiece.
            • +
            • In a video call, the default audio route is the speakerphone. If a + user calls the , , or method, the default audio + route switches back to the earpiece automatically.
            • +
          • +
          • For the live broadcasting profile: Speakerphone.
          • +
          +

          -
            -
          • This method applies to Android and iOS only.
          • -
          • This method is only available for iOS platforms.
          • -
          • For iOS, this method only works in a voice call.
          • -
          • This method needs to be set before , otherwise, it will not take effect.
          • -
          +
            +
          • This method applies to Android and iOS only.
          • +
          • This method is only available for iOS platforms.
          • +
          • For iOS, this method only works in a voice call.
          • +
          • This method needs to be set before , otherwise, it will not take + effect.
          • +
          + +
          Parameters - - defaultToSpeaker - The default audio playback route. -
            -
          • : The audio routing is speakerphone. If the device connects to the earpiece or Bluetooth, the audio cannot be routed to the speakerphone.
          • -
          • : (Default) Route the audio to the earpiece. If a headset is plugged in, the audio is routed to the headset.
          • -
          -
          -
          + + defaultToSpeaker + The default audio playback route.
            +
          • : The audio routing is + speakerphone. If the device connects to the earpiece or Bluetooth, + the audio cannot be routed to the speakerphone.
          • +
          • : (Default) Route the audio to + the earpiece. If a headset is plugged in, the audio is routed to the + headset.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        878. 0: Success.
        879. +
        880. < 0: Failure.
        881. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setdefaultmuteallremoteaudiostreams.dita b/en-US/dita/RTC/API/api_setdefaultmuteallremoteaudiostreams.dita index 8c905c7cc0b..92718f57f14 100644 --- a/en-US/dita/RTC/API/api_setdefaultmuteallremoteaudiostreams.dita +++ b/en-US/dita/RTC/API/api_setdefaultmuteallremoteaudiostreams.dita @@ -1,61 +1,76 @@ - <ph keyref="setDefaultMuteAllRemoteAudioStreams" /> - Stops or resumes subscribing to the audio streams of all remote users by default. + <ph keyref="setDefaultMuteAllRemoteAudioStreams"/> + Stops or resumes subscribing to the audio streams of + all remote users by default. - +

          - public abstract int setDefaultMuteAllRemoteAudioStreams(boolean muted); - - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute; - virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; - setDefaultMuteAllRemoteAudioStreams(mute: boolean): number - public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); - - Future<void> setDefaultMuteAllRemoteAudioStreams(bool muted);

          + public abstract int setDefaultMuteAllRemoteAudioStreams(boolean muted); + - (int)setDefaultMuteAllRemoteAudioStreams:(BOOL)mute; + virtual int setDefaultMuteAllRemoteAudioStreams(bool mute) = 0; + setDefaultMuteAllRemoteAudioStreams(mute: boolean): number + public abstract int SetDefaultMuteAllRemoteAudioStreams(bool mute); + + Future<void> setDefaultMuteAllRemoteAudioStreams(bool muted); +

          - -
          Deprecated:
          -
          This method is deprecated as of v3.3.0.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v3.3.0.
          +
          -

          Call this method after joining a channel. After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all subsequent users.

          +

          Call this method after joining a channel. After successfully calling + this method, the local user stops or resumes subscribing to the audio streams of all + subsequent users.

          -

          If you need to resume subscribing to the audio streams of remote users in the channel after calling this method, do the following: -

            -
          • To resume subscribing to the audio stream of a specified user, call (), and specify the user ID.
          • -
          • To resume subscribing to the audio streams of multiple remote users, call ()multiple times.
          • -

          -
          +

          If you need to resume subscribing to the audio streams of remote users in the + channel after calling this method, do the following:

            +
          • To resume subscribing to the audio stream of a specified user, call + (), and specify the user ID.
          • +
          • To resume subscribing to the audio streams of multiple remote users, + call ()multiple times.
          • +
          +

          + +
          Parameters - - muted - mute - -

          Whether to stop subscribing to the audio streams of all remote users by default. -

            -
          • : Stop subscribing to the audio streams of all remote users by default.
          • -
          • : (Default) Subscribe to the audio streams of all remote users by default.
          • -

          -
          -
          -
          + + muted + mute + +

          Whether to stop subscribing to the audio streams of all remote users by + default.

            +
          • : Stop subscribing to the + audio streams of all remote users by default.
          • +
          • : (Default) Subscribe to + the audio streams of all remote users by default.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        882. 0: Success.
        883. +
        884. < 0: Failure.
        885. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setdefaultmuteallremotevideostreams.dita b/en-US/dita/RTC/API/api_setdefaultmuteallremotevideostreams.dita index 147ac4cf843..aec34617473 100644 --- a/en-US/dita/RTC/API/api_setdefaultmuteallremotevideostreams.dita +++ b/en-US/dita/RTC/API/api_setdefaultmuteallremotevideostreams.dita @@ -1,61 +1,77 @@ - <ph keyref="setDefaultMuteAllRemoteVideoStreams" /> - Stops or resumes subscribing to the video streams of all remote users by default. + <ph keyref="setDefaultMuteAllRemoteVideoStreams"/> + Stops or resumes subscribing to the video streams of + all remote users by default. - +

          - public abstract int setDefaultMuteAllRemoteVideoStreams(boolean muted); - - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute; - virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; - setDefaultMuteAllRemoteVideoStreams(mute: boolean): number - public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); - - Future<void> setDefaultMuteAllRemoteVideoStreams(bool muted);

          + public abstract int setDefaultMuteAllRemoteVideoStreams(boolean muted); + - (int)setDefaultMuteAllRemoteVideoStreams:(BOOL)mute; + virtual int setDefaultMuteAllRemoteVideoStreams(bool mute) = 0; + setDefaultMuteAllRemoteVideoStreams(mute: boolean): number + public abstract int SetDefaultMuteAllRemoteVideoStreams(bool mute); + + Future<void> setDefaultMuteAllRemoteVideoStreams(bool muted); +

          - -
          Deprecated:
          -
          This method is deprecated as of v3.3.0.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v3.3.0.
          +
          -

          Call this method after joining a channel. After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all subsequent users.

          +

          Call this method after joining a channel. After successfully calling + this method, the local user stops or resumes subscribing to the audio streams of all + subsequent users.

          -

          If you need to resume subscribing to the audio streams of remote users in the channel after calling this method, do the following: -

            -
          • To resume subscribing to the audio stream of a specified user, call (), and specify the user ID.
          • -
          • To resume subscribing to the audio streams of multiple remote users, call ()multiple times.
          • -

          -
          +

          If you need to resume subscribing to the audio streams of remote users in the + channel after calling this method, do the following:

            +
          • To resume subscribing to the audio stream of a specified user, call + (), and specify the user ID.
          • +
          • To resume subscribing to the audio streams of multiple remote users, + call ()multiple times.
          • +
          +

          + +
          Parameters - - muted - mute - -

          Whether to stop subscribing to the audio streams of all remote users by default. -

            -
          • : Stop subscribing to the audio streams of all remote users by default.
          • -
          • : (Default) Resume subscribing to the audio streams of all remote users by default.
          • -

          -
          -
          -
          + + muted + mute + +

          Whether to stop subscribing to the audio streams of all remote users by + default.

            +
          • : Stop subscribing to the + audio streams of all remote users by default.
          • +
          • : (Default) Resume + subscribing to the audio streams of all remote users by + default.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        886. 0: Success.
        887. +
        888. < 0: Failure.
        889. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setdevicevolume.dita b/en-US/dita/RTC/API/api_setdevicevolume.dita index beb2e735a5d..e04730a0bbc 100644 --- a/en-US/dita/RTC/API/api_setdevicevolume.dita +++ b/en-US/dita/RTC/API/api_setdevicevolume.dita @@ -1,48 +1,54 @@ - <ph keyref="setDeviceVolume" /> - Sets the volume of the specified device. + <ph keyref="setDeviceVolume"/> + Sets the volume of the specified + device. - +

          - - - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume; - - - - -

          + + - (int)setDeviceVolume:(AgoraMediaDeviceType)type volume:(int)volume; + + + + + +

          Sets the volume of audio or video capture or playback devices.

          - Call this method after joining a channel.
          + Call this method after joining a channel. +
          Parameters - - type - -

          - - - - volume - The volume of the specified device. The value ranges between 0 (lowest volume) and 255 (highest volume). - -

          + + type + +

          + + + + volume + The volume of the specified device. The value ranges between 0 (lowest + volume) and 255 (highest volume). + + +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        890. 0: Success.
        891. +
        892. < 0: Failure.
        893. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setdirectcdnstreamingaudioconfiguration.dita b/en-US/dita/RTC/API/api_setdirectcdnstreamingaudioconfiguration.dita index 23d546dbbe9..71a2bfecf62 100644 --- a/en-US/dita/RTC/API/api_setdirectcdnstreamingaudioconfiguration.dita +++ b/en-US/dita/RTC/API/api_setdirectcdnstreamingaudioconfiguration.dita @@ -1,44 +1,52 @@ - <ph keyref="setDirectCdnStreamingAudioConfiguration" /> - Sets the audio profile of the media streams directly pushed to the CDN by the host. + <ph keyref="setDirectCdnStreamingAudioConfiguration"/> + Sets the audio profile of the media streams directly + pushed to the CDN by the host. - +

          - public abstract int setDirectCdnStreamingAudioConfiguration(int profile); - - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile; - virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0; - - public abstract int SetDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile); - -

          + public abstract int setDirectCdnStreamingAudioConfiguration(int profile); + - (int)setDirectCdnStreamingAudioConfiguration:(AgoraAudioProfile)profile; + virtual int setDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile) = 0; + + public abstract int SetDirectCdnStreamingAudioConfiguration(AUDIO_PROFILE_TYPE profile); + + +

          -

          When you set the publishMicrophoneTrack or publishCustomAudioTrack in the as to capture audios, you can call this method to set the audio profile.

          +

          When you set the publishMicrophoneTrack or + publishCustomAudioTrack in the as to capture audios, you can call this method to set the audio + profile.

          Parameters - - profile - -

          - - -

          + + profile + +

          + + + +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        894. 0: Success.
        895. +
        896. < 0: Failure.
        897. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setdirectcdnstreamingvideoconfiguration.dita b/en-US/dita/RTC/API/api_setdirectcdnstreamingvideoconfiguration.dita index 0c2ccdbb0f3..f9cdd477ff5 100644 --- a/en-US/dita/RTC/API/api_setdirectcdnstreamingvideoconfiguration.dita +++ b/en-US/dita/RTC/API/api_setdirectcdnstreamingvideoconfiguration.dita @@ -1,44 +1,52 @@ - <ph keyref="setDirectCdnStreamingVideoConfiguration" /> - Sets the video profile of the media streams directly pushed to the CDN by the host. + <ph keyref="setDirectCdnStreamingVideoConfiguration"/> + Sets the video profile of the media streams directly + pushed to the CDN by the host. - +

          - public abstract int setDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); - - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; - virtual + public abstract int setDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); + - (int)setDirectCdnStreamingVideoConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; + virtual int setDirectCdnStreamingVideoConfiguration(const VideoEncoderConfiguration& config) = 0; - - public abstract int SetDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); - -

          + + public abstract int SetDirectCdnStreamingVideoConfiguration(VideoEncoderConfiguration config); + + +

          -

          When you set publishCameraTrack or publishCustomVideoTrack in the as to capture videos, you can call this method to set the video profile.

          +

          When you set publishCameraTrack or + publishCustomVideoTrack in the as to capture videos, you can call this method to set the video + profile.

          Parameters - - - - -
          + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        898. 0: Success.
        899. +
        900. < 0: Failure.
        901. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_seteffectposition.dita b/en-US/dita/RTC/API/api_seteffectposition.dita index 73c74e5fd97..7a339590796 100644 --- a/en-US/dita/RTC/API/api_seteffectposition.dita +++ b/en-US/dita/RTC/API/api_seteffectposition.dita @@ -1,52 +1,58 @@ - <ph keyref="setEffectPosition" /> - Sets the playback position of an audio effect file. + <ph keyref="setEffectPosition"/> + Sets the playback position of an audio effect + file. - +

          - public int setEffectPosition(int soundId, int pos); - - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos; - virtual int setEffectPosition(int soundId, int pos) = 0; - setEffectPosition(soundId: number, pos: number): number - public abstract int SetEffectPosition(int soundId, int pos); - - Future<void> setEffectPosition(int soundId, int pos);

          + public int setEffectPosition(int soundId, int pos); + - (int)setEffectPosition:(int)soundId pos:(NSInteger)pos; + virtual int setEffectPosition(int soundId, int pos) = 0; + setEffectPosition(soundId: number, pos: number): number + public abstract int SetEffectPosition(int soundId, int pos); + + Future<void> setEffectPosition(int soundId, int pos); +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          -

          After a successful setting, the local audio effect file starts playing at the specified position.

          - Call this method after playEffect.
          +

          After a successful setting, the local audio effect file starts playing at the + specified position.

          + Call this method after playEffect. +
          Parameters - - soundId - - - - pos - The playback position (ms) of the audio effect file. - -
          + + soundId + + + + pos + The playback position (ms) of the audio effect file. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        902. 0: Success.
        903. +
        904. < 0: Failure.
        905. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_seteffectsvolume.dita b/en-US/dita/RTC/API/api_seteffectsvolume.dita index f7120764b14..42620309a85 100644 --- a/en-US/dita/RTC/API/api_seteffectsvolume.dita +++ b/en-US/dita/RTC/API/api_seteffectsvolume.dita @@ -1,43 +1,49 @@ - <ph keyref="setEffectsVolume" /> + <ph keyref="setEffectsVolume"/> Sets the volume of the audio effects. - +

          - public abstract int setEffectsVolume(double volume); + public abstract int setEffectsVolume(double volume); - - (int)setEffectsVolume:(NSInteger)volume; + - (int)setEffectsVolume:(NSInteger)volume; - virtual int setEffectsVolume(int volume) = 0; - setEffectsVolume(volume: number): number - public abstract int SetEffectsVolume(int volume); - - Future<void> setEffectsVolume(int volume);

          + virtual int setEffectsVolume(int volume) = 0; + setEffectsVolume(volume: number): number + public abstract int SetEffectsVolume(int volume); + + Future<void> setEffectsVolume(int volume); +

          - Call this method after .
          + Call this method after . +
          Parameters - - volume - The playback volume. The value ranges from 0 to 100. The default value is 100, which represents the original volume. - -
          + + volume + The playback volume. The value ranges from 0 to 100. The default value is + 100, which represents the original volume. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        906. 0: Success.
        907. +
        908. < 0: Failure.
        909. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setenablespeakerphone.dita b/en-US/dita/RTC/API/api_setenablespeakerphone.dita index f231968c318..f97430021f3 100644 --- a/en-US/dita/RTC/API/api_setenablespeakerphone.dita +++ b/en-US/dita/RTC/API/api_setenablespeakerphone.dita @@ -1,58 +1,82 @@ - <ph keyref="setEnableSpeakerphone" /> - Enables/Disables the audio playback route to the speakerphone. + <ph keyref="setEnableSpeakerphone"/> + Enables/Disables the audio playback route to the + speakerphone. - +

          - - - virtual int setEnableSpeakerphone(bool speakerOn) = 0; - - public abstract int SetEnableSpeakerphone(bool speakerOn); - - Future<void> setEnableSpeakerphone(bool speakerOn);

          + + + virtual int setEnableSpeakerphone(bool speakerOn) = 0; + + public abstract int SetEnableSpeakerphone(bool speakerOn); + + Future<void> setEnableSpeakerphone(bool speakerOn); +

          -

          This method sets whether the audio is routed to the speakerphone or earpiece. After a successful method call, the SDK triggers the callback.

          -

          On Android, the settings of scenarioin and affect the behavior of . The following are scenarios where does not take effect: -

            -
          • If you set scenario as , no user can change the audio playback route.
          • -
          • If you set scenario as or , the audience cannot change the audio playback route. If there is only one broadcaster is in the channel, the broadcaster cannot change the audio playback route either.
          • -
          • If you set scenario as , the audience cannot change the audio playback route.
          • -

          +

          This method sets whether the audio is routed to the speakerphone or earpiece. After a + successful method call, the SDK triggers the + callback.

          +

          On Android, the settings of + scenarioin and affect the behavior of . The following are scenarios where does not take effect:

            +
          • If you set scenario as , no user can change the audio + playback route.
          • +
          • If you set scenario as or , the audience cannot change the audio + playback route. If there is only one broadcaster is in the channel, the + broadcaster cannot change the audio playback route either.
          • +
          • If you set scenario as , the audience cannot change the + audio playback route.
          • +
          +

          -
            -
          • This method is for Android and iOS only.
          • -
          • Ensure that you have joined a channel before calling this method.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • Ensure that you have joined a channel before calling this method.
          • +
          + +
          Parameters - - speakerOn - enabled - enableSpeaker - Whether the audio is routed to the speakerphone or earpiece. -
            -
          • : Route the audio to the speakerphone. If the device connects to the earpiece or Bluetooth, the audio cannot be routed to the speakerphone.
          • -
          • : Route the audio to the earpiece. If a headset is plugged in, the audio is routed to the headset.
          • -
          -
          -
          + + speakerOn + enabled + enableSpeaker + Whether the audio is routed to the speakerphone or earpiece.
            +
          • : Route the audio to the + speakerphone. If the device connects to the earpiece or Bluetooth, + the audio cannot be routed to the speakerphone.
          • +
          • : Route the audio to the + earpiece. If a headset is plugged in, the audio is routed to the + headset.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        910. 0: Success.
        911. +
        912. < 0: Failure.
        913. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setencryptionmode.dita b/en-US/dita/RTC/API/api_setencryptionmode.dita index 4190046621b..e313f04bf9c 100644 --- a/en-US/dita/RTC/API/api_setencryptionmode.dita +++ b/en-US/dita/RTC/API/api_setencryptionmode.dita @@ -1,60 +1,81 @@ - <ph keyref="setEncryptionMode" /> + <ph keyref="setEncryptionMode"/> Sets the built-in encryption mode. - +

          - public abstract int setEncryptionMode(String encryptionMode); - - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode; - virtual int setEncryptionMode(const char* encryptionMode) = 0; - setEncryptionMode(encryptionMode: string): number - public abstract int SetEncryptionMode(string encryptionMode); - - Future<void> setEncryptionMode(EncryptionMode encryptionMode);

          + public abstract int setEncryptionMode(String encryptionMode); + - (int)setEncryptionMode:(NSString * _Nullable)encryptionMode; + virtual int setEncryptionMode(const char* encryptionMode) = 0; + setEncryptionMode(encryptionMode: string): number + public abstract int SetEncryptionMode(string encryptionMode); + + Future<void> setEncryptionMode(EncryptionMode encryptionMode); +

          - -
          Deprecated:
          -
          Use instead.
          -
          + +
          Deprecated:
          +
          Use instead.
          +
          -

          The Agora SDK supports built-in encryption, which is set to the AES-128-GCM mode by default. The Agora SDK supports built-in encryption, which is set to the AES-128-XTS mode by default. Call this method to use other encryption modes. All users in the same channel must use the same encryption mode and secret. Refer to the information related to the AES encryption algorithm on the differences between the encryption modes.

          - Before calling this method, please call to enable the built-in encryption function.
          +

          The Agora SDK supports built-in encryption, which is set + to the AES-128-GCM mode by default. The Agora SDK supports + built-in encryption, which is set to the AES-128-XTS mode by default. Call + this method to use other encryption modes. All users in the same channel must use + the same encryption mode and secret. Refer to the information + related to the AES encryption algorithm on the differences between the encryption + modes.

          + Before calling this method, please call to enable the built-in encryption + function. +
          Parameters - - encryptionMode - -

          Encryption mode. -

            -
          • "aes-128-xts": 128-bit AES encryption, XTS mode.
          • -
          • "aes-128-ecb": 128-bit AES encryption, ECB mode.
          • -
          • "aes-256-xts": 256-bit AES encryption, XTS mode.
          • -
          • "sm4-128-ecb": 128-bit SM4 encryption, ECB mode.
          • -
          • "aes-128-gcm": 128-bit AES encryption, GCM mode.
          • -
          • "aes-256-gcm": 256-bit AES encryption, GCM mode.
          • -
          • "": When this parameter is set as null, the encryption mode is set as "aes-128-gcm" by default.
          • -
          • "": When setting as NULL, the encryption mode is set as "aes-128-xts" by default.
          • -

          -
          -
          -
          + + encryptionMode + +

          Encryption mode.

            +
          • "aes-128-xts": 128-bit AES encryption, XTS + mode.
          • +
          • "aes-128-ecb": 128-bit AES encryption, ECB + mode.
          • +
          • "aes-256-xts": 256-bit AES encryption, XTS + mode.
          • +
          • "sm4-128-ecb": 128-bit SM4 encryption, ECB + mode.
          • +
          • "aes-128-gcm": 128-bit AES encryption, GCM + mode.
          • +
          • "aes-256-gcm": 256-bit AES encryption, GCM + mode.
          • +
          • "": When this parameter is set as null, the + encryption mode is set as "aes-128-gcm" by + default.
          • +
          • "": When setting as NULL, the encryption mode is set + as "aes-128-xts" by default.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        914. 0: Success.
        915. +
        916. < 0: Failure.
        917. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setencryptionsecret.dita b/en-US/dita/RTC/API/api_setencryptionsecret.dita index f331cd80d29..bbcc1cd153e 100644 --- a/en-US/dita/RTC/API/api_setencryptionsecret.dita +++ b/en-US/dita/RTC/API/api_setencryptionsecret.dita @@ -1,52 +1,67 @@ - <ph keyref="setEncryptionSecret" /> - Enables built-in encryption with an encryption password before users join a channel. + <ph keyref="setEncryptionSecret"/> + Enables built-in encryption with an encryption password + before users join a channel. - +

          - public abstract int setEncryptionSecret(String secret); - - (int)setEncryptionSecret:(NSString * _Nullable)secret; - virtual int setEncryptionSecret(const char* secret) = 0; - setEncryptionSecret(secret: string): number - public abstract int SetEncryptionSecret(string secret); - - Future<void> setEncryptionSecret(String secret);

          + public abstract int setEncryptionSecret(String secret); + - (int)setEncryptionSecret:(NSString * _Nullable)secret; + virtual int setEncryptionSecret(const char* secret) = 0; + setEncryptionSecret(secret: string): number + public abstract int SetEncryptionSecret(string secret); + + Future<void> setEncryptionSecret(String secret); +

          - -
          Deprecated:
          -
          This method is deprecated from . Please use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated from . Please + use instead.
          +
          -

          Before joining the channel, you need to call this method to set the secret parameter to enable the built-in encryption. All users in the same channel should use the same secret. The secret is automatically cleared once a user leaves the channel. If you do not specify the secret or secret is set as null, the built-in encryption is disabled.

          +

          Before joining the channel, you need to call this method to set the + secret parameter to enable the built-in encryption. All + users in the same channel should use the same secret. The + secret is automatically cleared once a user leaves the + channel. If you do not specify the secret or + secret is set as null, the built-in encryption is + disabled.

          -
            -
          • Do not use this method for CDN live streaming.
          • -
          • For optimal transmission, ensure that the encrypted data size does not exceed the original data size + 16 bytes. 16 bytes is the maximum padding size for AES encryption.
          • -
          +
            +
          • Do not use this method for CDN live streaming.
          • +
          • For optimal transmission, ensure that the encrypted data size does not + exceed the original data size + 16 bytes. 16 bytes is the maximum padding + size for AES encryption.
          • +
          + +
          Parameters - - secret - The encryption password. - -
          + + secret + The encryption password. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        918. 0: Success.
        919. +
        920. < 0: Failure.
        921. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setexternalaudiosink.dita b/en-US/dita/RTC/API/api_setexternalaudiosink.dita index 4675b6eafb0..b7ffb28bc8f 100644 --- a/en-US/dita/RTC/API/api_setexternalaudiosink.dita +++ b/en-US/dita/RTC/API/api_setexternalaudiosink.dita @@ -1,62 +1,75 @@ - <ph keyref="setExternalAudioSink" /> + <ph keyref="setExternalAudioSink"/> Sets the external audio sink. - +

          - - - virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels) = 0; - - public abstract int SetExternalAudioSink(bool enabled, int sampleRate, int channels); - -

          + + + virtual int setExternalAudioSink(bool enabled, int sampleRate, int channels) = 0; + + public abstract int SetExternalAudioSink(bool enabled, int sampleRate, int channels); + + +

          -

          This method applies to scenarios where you want to use external audio data for playback. After enabling the external audio sink, you can call the method to pull the remote audio data, process it, and play it with the audio effects that you want.

          +

          This method applies to scenarios where you want to use external audio data for + playback. After enabling the external audio sink, you can call the method to pull the remote audio data, process it, and + play it with the audio effects that you want.

          -
            -
          • Once you enable the external audio sink, the app will not retrieve any audio data from the callback.
          • -
          • Ensure that you call this method before joining a channel.
          • -
          +
            +
          • Once you enable the external audio sink, the app will not retrieve any audio + data from the callback.
          • +
          • Ensure that you call this method before joining a channel.
          • +
          + +
          Parameters - - enabled - -
            -
          • : Enables the external audio sink.
          • -
          • : (Default) Disables the external audio sink.
          • -
          -
          - - sampleRate - The sample rate (Hz) of the external audio sink, which can be set as 16000, 32000, 44100, or 48000. - - - channels - The number of audio channels of the external audio sink: -
            -
          • 1: Mono.
          • -
          • 2: Stereo.
          • -
          -
          -
          + + enabled + +
            +
          • : Enables the external audio + sink.
          • +
          • : (Default) Disables the + external audio sink.
          • +
          +
          +
          + + sampleRate + The sample rate (Hz) of the external audio sink, which can be set as 16000, + 32000, 44100, or 48000. + + + channels + The number of audio channels of the external audio sink:
            +
          • 1: Mono.
          • +
          • 2: Stereo.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        922. 0: Success.
        923. +
        924. < 0: Failure.
        925. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setexternalaudiosource.dita b/en-US/dita/RTC/API/api_setexternalaudiosource.dita index 05e99df0e3c..cc521667856 100644 --- a/en-US/dita/RTC/API/api_setexternalaudiosource.dita +++ b/en-US/dita/RTC/API/api_setexternalaudiosource.dita @@ -1,62 +1,70 @@ - <ph keyref="setExternalAudioSource" /> + <ph keyref="setExternalAudioSource"/> Sets the external audio source. - +

          - public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels); - - (int)setExternalAudioSource:(BOOL)enabled + public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels); + - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels; - virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels) = 0; - - public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels); - -

          + virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels) = 0; + + public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels); + + +

          -

          Call this method before calling and .

          +

          Call this method before calling and .

          Parameters - - enabled - -
            -
          • : Enable the external audio source.
          • -
          • : (Default) Disable the external audio source.
          • -
          -
          - - sampleRate - The sample rate (Hz) of the external audio source, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. - - - channels - -

          The number of audio channels of the external audio source: -

            -
          • 1: Mono.
          • -
          • 2: Stereo.
          • -

          -
          -
          -
          + + enabled + +
            +
          • : Enable the external audio + source.
          • +
          • : (Default) Disable the + external audio source.
          • +
          +
          +
          + + sampleRate + The sample rate (Hz) of the external audio source, which can be set as 8000, + 16000, 32000, 44100, or 48000 Hz. + + + channels + +

          The number of audio channels of the external audio source:

            +
          • 1: Mono.
          • +
          • 2: Stereo.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        926. 0: Success.
        927. +
        928. < 0: Failure.
        929. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setexternalaudiosource2.dita b/en-US/dita/RTC/API/api_setexternalaudiosource2.dita index 6e8109b759d..de1a4d4121c 100644 --- a/en-US/dita/RTC/API/api_setexternalaudiosource2.dita +++ b/en-US/dita/RTC/API/api_setexternalaudiosource2.dita @@ -1,91 +1,108 @@ - <ph keyref="setExternalAudioSource2" /> - Sets the external audio source parameters. + <ph keyref="setExternalAudioSource2"/> + Sets the external audio source + parameters. - +

          - public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels, int sourceNumber, bool localPlayback = false, bool publish = true);

          + public abstract int SetExternalAudioSource(bool enabled, int sampleRate, int channels, int sourceNumber, bool localPlayback = false, bool publish = true);

          - public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels, + public abstract int setExternalAudioSource(boolean enabled, int sampleRate, int channels, int sourceNumber, boolean localPlayback, boolean publish); - - (int)setExternalAudioSource:(BOOL)enabled + - (int)setExternalAudioSource:(BOOL)enabled sampleRate:(NSInteger)sampleRate channels:(NSInteger)channels sourceNumber:(NSInteger)sourceNumber localPlayback:(BOOL)localPlayback publish:(BOOL)publish; - virtual int setExternalAudioSource(bool enabled, + virtual int setExternalAudioSource(bool enabled, int sampleRate, int channels, int sourceNumber, bool localPlayback = false, bool publish = true) = 0; - - -

          + + + +

          - Call this method before joining a channel.
          + Call this method before joining a channel. +
          Parameters - - enabled - -

          Whether to enable the external audio source: -

            -
          • : Enable the external audio source.
          • -
          • : (Default) Disable the external audio source.
          • -

          -
          -
          - - sampleRate - The sample rate (Hz) of the external audio source, which can be set as 8000, 16000, 32000, 44100, or 48000. - - - channels - The number of channels of the external audio source, which can be set as 1 (Mono) or 2 (Stereo). - - - sourceNumber - The number of external audio sources. The value of this parameter should be larger than 0. Multiple audio sources are mixed. The SDK creates a corresponding number of custom audio tracks based on this parameter value and names the audio tracks starting from 0. In , you can set publishCustomAudioSourceId to the ID of the audio track you want to publish. - - - localPlayback - -

          Whether to play the external audio source: -

            -
          • : Play the external audio source.
          • -
          • : (Default) Do not play the external source.
          • -

          -
          -
          - - publish - -

          Whether to publish audio to the remote users: -

            -
          • : (Default) Publish audio to the remote users.
          • -
          • : Do not publish audio to the remote users
          • -

          -
          -
          -
          + + enabled + +

          Whether to enable the external audio source:

            +
          • : Enable the external audio + source.
          • +
          • : (Default) Disable the + external audio source.
          • +

          +
          +
          + + sampleRate + The sample rate (Hz) of the external audio source, which can be set as + 8000, 16000, 32000, + 44100, or 48000. + + + channels + The number of channels of the external audio source, which can be set as + 1 (Mono) or 2 (Stereo). + + + sourceNumber + The number of external audio sources. The value of this parameter should + be larger than 0. Multiple audio sources are + mixed. The SDK creates a corresponding number of custom audio + tracks based on this parameter value and names the audio tracks starting + from 0. In , you can set + publishCustomAudioSourceId to the ID of the + audio track you want to publish. + + + localPlayback + +

          Whether to play the external audio source:

            +
          • : Play the external audio + source.
          • +
          • : (Default) Do not play the + external source.
          • +

          +
          +
          + + publish + +

          Whether to publish audio to the remote users:

            +
          • : (Default) Publish audio to + the remote users.
          • +
          • : Do not publish audio to + the remote users
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        930. 0: Success.
        931. +
        932. < 0: Failure.
        933. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setexternalaudiosourcevolume.dita b/en-US/dita/RTC/API/api_setexternalaudiosourcevolume.dita index a39fd1c0806..033b6e397b7 100644 --- a/en-US/dita/RTC/API/api_setexternalaudiosourcevolume.dita +++ b/en-US/dita/RTC/API/api_setexternalaudiosourcevolume.dita @@ -1,57 +1,69 @@ - <ph keyref="setExternalAudioSourceVolume" /> - Sets the volume of the external audio frame in the specified position. + <ph keyref="setExternalAudioSourceVolume"/> + Sets the volume of the external audio frame in the + specified position. - +

          - - - - - public abstract int SetExternalAudioSourceVolume(int sourcePos, int volume); - -

          + + + + + public abstract int SetExternalAudioSourceVolume(int sourcePos, int volume); + + +

          -

          You can call this method multiple times to set the volume of external audio frames in different positions. The volume setting takes effect for all external audio frames that are pushed to the specified position. - - Call this method after joining a channel

          +

          You can call this method multiple times to set the volume of external audio frames in + different positions. The volume setting takes effect for all external audio frames + that are pushed to the specified position. Call this method + after joining a channel

          Parameters - - sourcePos - The push position of the external audio frame. See . -
            -
          • 0: The position before local playback. If you need to play the external audio frame on the local client, set this position.
          • -
          • 1: The position after audio capture and before audio pre-processing. If you need the audio module of the SDK to process the external audio frame, set this position.
          • -
          • 2: The position after audio pre-processing and before audio encoding. If you do not need the audio module of the SDK to process the external audio frame, set this position.
          • -
          -
          - - volume - The volume of the external audio frame. The value range is [0,100]. The default value is 100, which represents the original value. - -
          + + sourcePos + The push position of the external audio frame. See . +
            +
          • 0: The position before local playback. If you need to play the + external audio frame on the local client, set this position.
          • +
          • 1: The position after audio capture and before audio pre-processing. + If you need the audio module of the SDK to process the external + audio frame, set this position.
          • +
          • 2: The position after audio pre-processing and before audio + encoding. If you do not need the audio module of the SDK to process + the external audio frame, set this position.
          • +
          +
          + + volume + The volume of the external audio frame. The value range is [0,100]. The + default value is 100, which represents the original value. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. - -
              -
            • -2(ERR_INVALID_ARGUMENT): The parameter is invalid.
            • -
          • -
          +
        934. 0: Success.
        935. +
        936. < 0: Failure.
            +
          • -2(ERR_INVALID_ARGUMENT): The parameter is + invalid.
          • +
        937. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_sethighqualityaudioparameters.dita b/en-US/dita/RTC/API/api_sethighqualityaudioparameters.dita index 45b8e8d9b29..8b5cd834271 100644 --- a/en-US/dita/RTC/API/api_sethighqualityaudioparameters.dita +++ b/en-US/dita/RTC/API/api_sethighqualityaudioparameters.dita @@ -1,74 +1,85 @@ - <ph keyref="setHighQualityAudioParameters" /> + <ph keyref="setHighQualityAudioParameters"/> Set audio high quality options. - +

          - - - virtual int setHighQualityAudioParameters(bool fullband, + + + virtual int setHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate) = 0; - setHighQualityAudioParameters(fullband: boolean, + setHighQualityAudioParameters(fullband: boolean, stereo: boolean, fullBitrate: boolean): number - public abstract int SetHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate); - -

          + public abstract int SetHighQualityAudioParameters(bool fullband, bool stereo, bool fullBitrate); + + +

          - -
          Deprecated:
          -
          This method is deprecated. Agora does not recommend using this method. If you want to set the audio high-quality options, use the method instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated. Agora does not recommend using this method. If + you want to set the audio high-quality options, use the method instead.
          +
          Parameters - - fullband - -

          Whether to enable full-band codec (48-kHz sample rate). Not compatible with SDK versions before v1.7.4.

          -
            -
          • : Enable full-band codec.
          • -
          • : Disable full-band codec.
          • -
          -
          - - stereo - -

          Whether to enable stereo codec. Not compatible with SDK versions before v1.7.4.

          -
            -
          • : Enable stereo codec.
          • -
          • : Disable stereo codec.
          • -
          -
          - - fullBitrate - -

          High bitrate mode. Recommended in voice-only mode.

          -
            -
          • : Enable high-bitrate mode.
          • -
          • : Disable high-bitrate mode.
          • -
          -
          -
          + + fullband + +

          Whether to enable full-band codec (48-kHz sample rate). Not compatible + with SDK versions before v1.7.4.

          +
            +
          • : Enable full-band codec.
          • +
          • : Disable full-band codec.
          • +
          +
          +
          + + stereo + +

          Whether to enable stereo codec. Not compatible with SDK versions before + v1.7.4.

          +
            +
          • : Enable stereo codec.
          • +
          • : Disable stereo codec.
          • +
          +
          +
          + + fullBitrate + +

          High bitrate mode. Recommended in voice-only mode.

          +
            +
          • : Enable high-bitrate mode.
          • +
          • : Disable high-bitrate + mode.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        938. 0: Success.
        939. +
        940. < 0: Failure.
        941. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setinearmonitoringvolume.dita b/en-US/dita/RTC/API/api_setinearmonitoringvolume.dita index 4042ed09108..d3cf36fb7f2 100644 --- a/en-US/dita/RTC/API/api_setinearmonitoringvolume.dita +++ b/en-US/dita/RTC/API/api_setinearmonitoringvolume.dita @@ -1,46 +1,53 @@ - <ph keyref="setInEarMonitoringVolume" /> + <ph keyref="setInEarMonitoringVolume"/> Sets the volume of the in-ear monitor. - +

          - public abstract int setInEarMonitoringVolume(int volume); - - (int)setInEarMonitoringVolume:(NSInteger)volume; - virtual int setInEarMonitoringVolume(int volume) = 0; - - public abstract int SetInEarMonitoringVolume(int volume); - - Future<void> setInEarMonitoringVolume(int volume);

          + public abstract int setInEarMonitoringVolume(int volume); + - (int)setInEarMonitoringVolume:(NSInteger)volume; + virtual int setInEarMonitoringVolume(int volume) = 0; + + public abstract int SetInEarMonitoringVolume(int volume); + + Future<void> setInEarMonitoringVolume(int volume); +

          -
            -
          • This method is for Android and iOS only.
          • -
          • Users must use wired earphones to hear their own voices.
          • -
          • You can call this method either before or after joining a channel.
          • -
          +
            +
          • This method is for Android and iOS + only.
          • +
          • Users must use wired earphones to hear their own voices.
          • +
          • You can call this method either before or after joining a channel.
          • +
          + +
          Parameters - - volume - The volume of the in-ear monitor. The value ranges between 0 and 100. The default value is 100. - -
          + + volume + The volume of the in-ear monitor. The value ranges between 0 and 100. The + default value is 100. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        942. 0: Success.
        943. +
        944. < 0: Failure.
        945. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlivetranscoding.dita b/en-US/dita/RTC/API/api_setlivetranscoding.dita index 78f3d2f721b..7ad23c7175a 100644 --- a/en-US/dita/RTC/API/api_setlivetranscoding.dita +++ b/en-US/dita/RTC/API/api_setlivetranscoding.dita @@ -1,58 +1,76 @@ - <ph keyref="setLiveTranscoding" /> - Sets the transcoding configurations for media push. + <ph keyref="setLiveTranscoding"/> + Sets the transcoding configurations for media + push. - +

          - public abstract int setLiveTranscoding(LiveTranscoding transcoding); - - (int)setLiveTranscoding:(AgoraLiveTranscoding *_Nullable)transcoding; - virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; - setLiveTranscoding(transcoding: LiveTranscoding): number - public abstract int SetLiveTranscoding(LiveTranscoding transcoding); - - Future<void> setLiveTranscoding(LiveTranscoding transcoding);

          + public abstract int setLiveTranscoding(LiveTranscoding transcoding); + - (int)setLiveTranscoding:(AgoraLiveTranscoding *_Nullable)transcoding; + virtual int setLiveTranscoding(const LiveTranscoding &transcoding) = 0; + setLiveTranscoding(transcoding: LiveTranscoding): number + public abstract int SetLiveTranscoding(LiveTranscoding transcoding); + + Future<void> setLiveTranscoding(LiveTranscoding transcoding); +

          - -
          Deprecated:
          -
          This method is deprecated. See Release Notes for an alternative solution.
          -
          This method is deprecated.
          -
          + +
          Deprecated:
          +
          + This method is deprecated. See + Release Notes for an alternative + solution. +
          +
          This method is deprecated.
          +
          -

          This method sets the video layout and audio settings for media push. The SDK triggers the callback when you call this method to update the transcoding settings.

          +

          This method sets the video layout and audio settings for media push. The SDK triggers + the callback when you call this method to + update the transcoding settings.

          -
            -
          • This method takes effect only when you are a host in live interactive streaming.
          • -
          • Ensure that you enable the Media Push service before using this function. See Prerequisites in the advanced guide Media Push.
          • -
          • If you call this method to set the transcoding configuration for the first time, the SDK does not trigger the callback.
          • -
          • Call this method after joining a channel.
          • -
          • Agora only supports pushing media streams to the CDN in RTMPS protocol when you enable transcoding.
          • -
          +
            +
          • This method takes effect only when you are a host in live interactive + streaming.
          • +
          • Ensure that you enable the Media Push service before using this function. + See Prerequisites in the advanced guide Media Push.
          • +
          • If you call this method to set the transcoding configuration for the first + time, the SDK does not trigger the + callback.
          • +
          • Call this method after joining a channel.
          • +
          • Agora only supports pushing media streams to the CDN in RTMPS protocol when + you enable transcoding.
          • +
          + +
          Parameters - - transcoding - -

          The transcoding configurations for the media push. See for details.

          -
          -
          -
          + + transcoding + +

          The transcoding configurations for the media push. See for details.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        946. 0: Success.
        947. +
        948. < 0: Failure.
        949. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlocalpublishfallbackoption.dita b/en-US/dita/RTC/API/api_setlocalpublishfallbackoption.dita index 409d244da34..80a81880ba2 100644 --- a/en-US/dita/RTC/API/api_setlocalpublishfallbackoption.dita +++ b/en-US/dita/RTC/API/api_setlocalpublishfallbackoption.dita @@ -1,51 +1,74 @@ - <ph keyref="setLocalPublishFallbackOption" /> - Sets the fallback option for the published video stream based on the network conditions. + <ph keyref="setLocalPublishFallbackOption"/> + Sets the fallback option for the published video stream + based on the network conditions. - +

          - public abstract int setLocalPublishFallbackOption(int option); - - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option; - virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; - setLocalPublishFallbackOption(option: STREAM_FALLBACK_OPTIONS): number - public abstract int SetLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option); - - Future<void> setLocalPublishFallbackOption(StreamFallbackOptions option);

          + public abstract int setLocalPublishFallbackOption(int option); + - (int)setLocalPublishFallbackOption:(AgoraStreamFallbackOptions)option; + virtual int setLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; + setLocalPublishFallbackOption(option: STREAM_FALLBACK_OPTIONS): number + public abstract int SetLocalPublishFallbackOption(STREAM_FALLBACK_OPTIONS option); + + Future<void> setLocalPublishFallbackOption(StreamFallbackOptions option); +

          -

          An unstable network affects the audio and video quality in a video call or interactive live video streaming. If option is set as (2), the SDK disables the upstream video but enables audio only when the network conditions deteriorate and cannot support both video and audio. The SDK monitors the network quality and restores the video stream when the network conditions improve. When the published video stream falls back to audio-only or when the audio-only stream switches back to the video, the SDK triggers the callback.

          +

          An unstable network affects the audio and video quality in a video call or + interactive live video streaming. If option is set as (2), the SDK disables the upstream + video but enables audio only when the network conditions deteriorate and cannot + support both video and audio. The SDK monitors the network quality and restores the + video stream when the network conditions improve. When the published video stream + falls back to audio-only or when the audio-only stream switches back to the video, + the SDK triggers the + callback.

          -
            -
          • Agora does not recommend using this method for CDN live streaming, because the remote CDN live user will have a noticeable lag when the published video stream falls back to (2).
          • -
          • Ensure that you call this method before joining a channel.
          • -
          +
            +
          • Agora does not recommend using this method for CDN live streaming, because + the remote CDN live user will have a noticeable lag when the published video + stream falls back to (2).
          • +
          • Ensure that you call this method before joining a channel.
          • +
          + +
          Parameters - - option - The stream fallback option. For details, see . - The stream fallback option. -
            -
          • (0): (Default) No fallback behavior for the published video stream when the uplink network condition is poor. The stream quality is not guaranteed.
          • -
          • (2): The published video stream falls back to audio only when the uplink network condition is poor.
          • -
          -
          -
          + + option + The stream fallback option. For + details, see . + The stream fallback option.
            +
          • (0): (Default) + No fallback behavior for the published video stream when the uplink + network condition is poor. The stream quality is not + guaranteed.
          • +
          • (2): The + published video stream falls back to audio only when the uplink + network condition is poor.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        950. 0: Success.
        951. +
        952. < 0: Failure.
        953. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlocalrendermode.dita b/en-US/dita/RTC/API/api_setlocalrendermode.dita index 6d0b44926c7..8997ab12f4c 100644 --- a/en-US/dita/RTC/API/api_setlocalrendermode.dita +++ b/en-US/dita/RTC/API/api_setlocalrendermode.dita @@ -1,66 +1,73 @@ - <ph keyref="setLocalRenderMode1" /> + <ph keyref="setLocalRenderMode1"/> Sets the local video display mode. - +

          - - (int)setLocalRenderMode:(NSUInteger)uid + - (int)setLocalRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode) mode; - virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; - public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode);

          + virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode) = 0; + public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode);

          - - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode; - virtual int setLocalRenderMode(RENDER_MODE_TYPE renderMode) = 0; - public abstract int setLocalRenderMode(int renderMode); - - public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode); - -

          + - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode; + virtual int setLocalRenderMode(RENDER_MODE_TYPE renderMode) = 0; + public abstract int setLocalRenderMode(int renderMode); + + public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode); + + +

          - -
          Deprecated:
          -
          This method is deprecated. Use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated. Use + instead.
          +
          -

          Call this method to set the local video display mode. This method can be called multiple times during a call to change the display mode.

          +

          Call this method to set the local video display mode. This method can be called + multiple times during a call to change the display mode.

          Parameters - - renderMode - mode - -

          The local video display mode. For details, see .

          -

          The local video display mode. -

            -
          • -

          -
          -
          - - uid - -

          User ID

          -
          -
          -
          + + renderMode + mode + +

          The local video display mode. For details, see + .

          +

          The local video display mode.

            +
          • +
          +

          +
          +
          + + uid + +

          User ID

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        954. 0: Success.
        955. +
        956. < 0: Failure.
        957. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlocalrendermode2.dita b/en-US/dita/RTC/API/api_setlocalrendermode2.dita index 1a83a99934f..b3a02812d40 100644 --- a/en-US/dita/RTC/API/api_setlocalrendermode2.dita +++ b/en-US/dita/RTC/API/api_setlocalrendermode2.dita @@ -1,81 +1,109 @@ - <ph keyref="setLocalRenderMode2" /> - Updates the display mode of the local video view. + <ph keyref="setLocalRenderMode2"/> + Updates the display mode of the local video + view. - +

          - virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode - mirror:(AgoraVideoMirrorMode)mirror;

          + virtual int setLocalRenderMode(media::base::RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + - (int)setLocalRenderMode:(AgoraVideoRenderMode)mode + mirror:(AgoraVideoMirrorMode)mirror; +

          - virtual int setLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - - (int)setLocalRenderMode:(AgoraVideoRenderMode)renderMode mirrorMode:(AgoraVideoMirrorMode)mirrorMode;

          + virtual int setLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + - (int)setLocalRenderMode:(AgoraVideoRenderMode)renderMode mirrorMode:(AgoraVideoMirrorMode)mirrorMode; +

          - public abstract int setLocalRenderMode(int renderMode, int mirrorMode); - - public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); - -

          + public abstract int setLocalRenderMode(int renderMode, int mirrorMode); + + public abstract int SetLocalRenderMode(RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); + + +

          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          -

          After initializing the local video view, you can call this method to update its rendering and mirror modes. It affects only the video view that the local user sees, not the published local video stream.

          +

          After initializing the local video view, you can call this method to update its + rendering and mirror modes. It affects only the video view that the local user sees, + not the published local video stream.

          -
            -
          • Ensure that you have called the method to initialize the local video view before calling this method.
          • -
          • During a call, you can call this method as many times as necessary to update the display mode of the local video view.
          • -
          +
            +
          • Ensure that you have called the method to + initialize the local video view before calling this method.
          • +
          • During a call, you can call this method as many times as necessary to update + the display mode of the local video view.
          • +
          + +
          Parameters - - renderMode - moderenderMode - -

          The local video display mode. For details, see .

          -

          The local video display mode. -

            -
          • - (1): Hidden mode. Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents.
          • -
          • - (2): Fit mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio are filled with black.
          • -
          • (3): This mode is deprecated.
          • -

          -
          -
          - - mirrorMode - mirrormirrorMode - -

          The rendering mode of the local video view. See .

          -

          For the local user: -

            -
          • (0): (Default) The mirror mode determined by the SDK. If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
          • -
          • (1): Enable the mirror mode.
          • -
          • (2): Disable the mirror mode.
          • -

          - If you use a front camera, the SDK enables the mirror mode by default; if you use a rear camera, the SDK disables the mirror mode by default.
          -
          -
          + + renderMode + moderenderMode + +

          The local video display mode. For details, see + .

          +

          The local video display mode.

            +
          • (1): Hidden mode. Uniformly + scale the video until it fills the visible boundaries (cropped). + One dimension of the video may have clipped contents.
          • +
          • (2): Fit mode. Uniformly scale + the video until one of its dimension fits the boundary (zoomed + to fit). Areas that are not filled due to the disparity in the + aspect ratio are filled with black.
          • +
          • (3): This mode is + deprecated.
          • +
          +

          +
          +
          + + mirrorMode + mirrormirrorMode + +

          The rendering mode of the local video view. See + .

          +

          For the local user:

            +
          • (0): (Default) The mirror + mode determined by the SDK. If you use a front camera, the SDK + enables the mirror mode by default; if you use a rear camera, + the SDK disables the mirror mode by default.
          • +
          • (1): Enable the mirror + mode.
          • +
          • (2): Disable the + mirror mode.
          • +
          +

          + If you use a front camera, the SDK enables the mirror + mode by default; if you use a rear camera, the SDK disables the mirror + mode by default. +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        958. 0: Success.
        959. +
        960. < 0: Failure.
        961. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlocalvideomirrormode.dita b/en-US/dita/RTC/API/api_setlocalvideomirrormode.dita index d6378658b93..69941458eb0 100644 --- a/en-US/dita/RTC/API/api_setlocalvideomirrormode.dita +++ b/en-US/dita/RTC/API/api_setlocalvideomirrormode.dita @@ -1,56 +1,62 @@ - <ph keyref="setLocalVideoMirrorMode" /> + <ph keyref="setLocalVideoMirrorMode"/> Sets the local video mirror mode. - +

          - public abstract int setLocalVideoMirrorMode(int mode); - - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode; - virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - setLocalVideoMirrorMode(mirrorMode: VIDEO_MIRROR_MODE_TYPE): number - public abstract int SetLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode); - -

          + public abstract int setLocalVideoMirrorMode(int mode); + - (int)setLocalVideoMirrorMode:(AgoraVideoMirrorMode)mode; + virtual int setLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + setLocalVideoMirrorMode(mirrorMode: VIDEO_MIRROR_MODE_TYPE): number + public abstract int SetLocalVideoMirrorMode(VIDEO_MIRROR_MODE_TYPE mirrorMode); + + +

          - -
          Deprecated:
          -
          Deprecated as of v3.0.0.
          -
          Use or instead.
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Deprecated as of v3.0.0.
          +
          Use or instead.
          +
          Please use instead.
          +
          Parameters - - mode - mirrorMode - -

          The local video mirror mode. For details, see .

          -

          -

            -
          • -

          -
          -
          -
          + + mode + mirrorMode + +

          The local video mirror mode. For details, + see .

          +

          +

            +
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        962. 0: Success.
        963. +
        964. < 0: Failure.
        965. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlocalvoicechanger.dita b/en-US/dita/RTC/API/api_setlocalvoicechanger.dita index 9a107f1a50a..76d2986efba 100644 --- a/en-US/dita/RTC/API/api_setlocalvoicechanger.dita +++ b/en-US/dita/RTC/API/api_setlocalvoicechanger.dita @@ -1,88 +1,135 @@ - <ph keyref="setLocalVoiceChanger" /> + <ph keyref="setLocalVoiceChanger"/> Sets the local voice changer option. - +

          - public abstract int setLocalVoiceChanger(int voiceChanger); - - (int) setLocalVoiceChanger:(AgoraAudioVoiceChanger)voiceChanger; - virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0; - setLocalVoiceChanger(voiceChanger: VOICE_CHANGER_PRESET): number - public abstract int SetLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger); - - Future<void> setLocalVoiceChanger(AudioVoiceChanger voiceChanger);

          + public abstract int setLocalVoiceChanger(int voiceChanger); + - (int) setLocalVoiceChanger:(AgoraAudioVoiceChanger)voiceChanger; + virtual int setLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger) = 0; + setLocalVoiceChanger(voiceChanger: VOICE_CHANGER_PRESET): number + public abstract int SetLocalVoiceChanger(VOICE_CHANGER_PRESET voiceChanger); + + Future<void> setLocalVoiceChanger(AudioVoiceChanger voiceChanger); +

          - -
          Deprecated:
          -
          Deprecated from v3.2.0. Use the following methods instead: -
            -
          • : Audio effects.
          • -
          • : Voice beautifier effects.
          • -
          • : Voice conversion effects.
          • -
          -
          + +
          Deprecated:
          +
          Deprecated from v3.2.0. Use the following methods instead:
            +
          • : Audio effects.
          • +
          • : Voice beautifier + effects.
          • +
          • : Voice conversion + effects.
          • +
          +
          +
          -

          This method can be used to set the local voice effect for users in a COMMUNICATION channel or hosts in a LIVE_BROADCASTING channel. After successfully calling this method, all users in the channel can hear the voice with reverberation. -

            -
          • VOICE_CHANGER_XXX: Changes the local voice to an old man, a little boy, or the Hulk. Applies to the voice talk scenario.
          • -
          • VOICE_BEAUTY_XXX: Beautifies the local voice by making it sound more vigorous, resounding, or adding spacial resonance. Applies to the voice talk and singing scenario.
          • -
          • GENERAL_VOICE_BEAUTY_XXX: Adds gender-based beautification effect to the local voice. Applies to the voice talk scenario. For a male voice: Adds magnetism to the voice. For a male voice: Adds magnetism to the voice. For a female voice: Adds freshness or vitality to the voice.
          • -

          +

          This method can be used to set the local voice effect for users in a COMMUNICATION + channel or hosts in a LIVE_BROADCASTING channel. After successfully calling this + method, all users in the channel can hear the voice with reverberation.

            +
          • VOICE_CHANGER_XXX: Changes the local voice to an old man, a + little boy, or the Hulk. Applies to the voice talk scenario.
          • +
          • VOICE_BEAUTY_XXX: Beautifies the local voice by making it + sound more vigorous, resounding, or adding spacial resonance. Applies to the + voice talk and singing scenario.
          • +
          • GENERAL_VOICE_BEAUTY_XXX: Adds gender-based beautification + effect to the local voice. Applies to the voice talk scenario. For a male + voice: Adds magnetism to the voice. For a male voice: Adds magnetism to the + voice. For a female voice: Adds freshness or vitality to the voice.
          • +
          +

          -
            -
          • To achieve better voice effect quality, Agora recommends setting the profile parameter in as (4) or (5).
          • -
          • This method works best with the human voice, and Agora does not recommend using it for audio containing music and a human voice.
          • -
          • Do not use this method with , because the method called later overrides the one called earlier. For detailed considerations, see the advanced guide Set the Voice Effect.
          • -
          • You can call this method either before or after joining a channel.
          • -
          +
            +
          • To achieve better voice effect quality, Agora recommends setting the profile parameter in + as (4) or (5).
          • +
          • This method works best with the human voice, and Agora does not recommend + using it for audio containing music and a human voice.
          • +
          • Do not use this method with , + because the method called later overrides the one called earlier. For + detailed considerations, see the advanced guide Set the Voice Effect.
          • +
          • You can call this method either before or after joining a channel.
          • +
          + +
          Parameters - - voiceChanger - -

          The local voice changer option. The default value is , which means the original voice. For more details, see . The gender-based beatification effect works best only when assigned a proper gender. Use for male and use and for female. Failure to do so can lead to voice distortion.

          -

          The local voice changer option: -

            -
          • : (Default) Turn off the local voice changer, that is, to use the original voice.
          • -
          • : The voice of an old man.
          • -
          • : The voice of a little boy.
          • -
          • : The voice of a little girl.
          • -
          • : The voice of Zhu Bajie, a character in Journey to the West who has a voice like that of a growling bear.
          • -
          • : The ethereal voice.
          • -
          • : The voice of Hulk.
          • -
          • : A more vigorous voice.
          • -
          • : A deeper voice.
          • -
          • : A mellower voice.
          • -
          • : Falsetto.
          • -
          • : A fuller voice.
          • -
          • : A clearer voice.
          • -
          • : A more resounding voice.
          • -
          • : A more ringing voice.
          • -
          • : A more spatially resonant voice.
          • -
          • : (For male only) A more magnetic voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. Do not use it when the speaker is a female; otherwise, voice distortion occurs.
          • -
          • (For female only) A fresher voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. Do not use it when the speaker is a male; otherwise, voice distortion occurs.
          • -
          • (For female only) A more vital voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. Do not use it when the speaker is a male; otherwise, voice distortion occurs.
          • -

          -
          -
          -
          + + voiceChanger + +

          The local voice changer option. The + default value is , which means the + original voice. For more details, see . The gender-based beatification + effect works best only when assigned a proper gender. Use for male and use + and for female. Failure + to do so can lead to voice distortion.

          +

          The local voice changer option:

            +
          • : (Default) Turn off the local + voice changer, that is, to use the original voice.
          • +
          • : The voice of an old + man.
          • +
          • : The voice of a little + boy.
          • +
          • : The voice of a little + girl.
          • +
          • : The voice of Zhu Bajie, a + character in Journey to the West who has a voice like that of a + growling bear.
          • +
          • : The ethereal voice.
          • +
          • : The voice of Hulk.
          • +
          • : A more vigorous + voice.
          • +
          • : A deeper voice.
          • +
          • : A mellower voice.
          • +
          • : Falsetto.
          • +
          • : A fuller voice.
          • +
          • : A clearer voice.
          • +
          • : A more resounding + voice.
          • +
          • : A more ringing voice.
          • +
          • : A more spatially resonant + voice.
          • +
          • : (For male + only) A more magnetic voice. Do not use it when the speaker is a + male; otherwise, voice distortion occurs. Do not use it when the + speaker is a female; otherwise, voice distortion occurs.
          • +
          • (For female + only) A fresher voice. Do not use it when the speaker is a male; + otherwise, voice distortion occurs. Do not use it when the + speaker is a male; otherwise, voice distortion occurs.
          • +
          • (For female + only) A more vital voice. Do not use it when the speaker is a + male; otherwise, voice distortion occurs. Do not use it when the + speaker is a male; otherwise, voice distortion occurs.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        966. 0: Success.
        967. +
        968. < 0: Failure.
        969. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlocalvoiceequalization.dita b/en-US/dita/RTC/API/api_setlocalvoiceequalization.dita index 549159bd85a..fe0e6ff224a 100644 --- a/en-US/dita/RTC/API/api_setlocalvoiceequalization.dita +++ b/en-US/dita/RTC/API/api_setlocalvoiceequalization.dita @@ -1,49 +1,59 @@ - <ph keyref="setLocalVoiceEqualization" /> - Sets the local voice equalization effect. + <ph keyref="setLocalVoiceEqualization"/> + Sets the local voice equalization + effect. - +

          - public abstract int setLocalVoiceEqualization( + public abstract int setLocalVoiceEqualization( Constants.AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency + - (int)setLocalVoiceEqualizationOfBandFrequency:(AgoraAudioEqualizationBandFrequency)bandFrequency withGain:(NSInteger)gain; - virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0; - setLocalVoiceEqualization(bandFrequency: AUDIO_EQUALIZATION_BAND_FREQUENCY, bandGain: number): number - public abstract int SetLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); - - Future<void> setLocalVoiceEqualization( - AudioEqualizationBandFrequency bandFrequency, int bandGain);

          + virtual int setLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain) = 0; + setLocalVoiceEqualization(bandFrequency: AUDIO_EQUALIZATION_BAND_FREQUENCY, bandGain: number): number + public abstract int SetLocalVoiceEqualization(AUDIO_EQUALIZATION_BAND_FREQUENCY bandFrequency, int bandGain); + + Future<void> setLocalVoiceEqualization( + AudioEqualizationBandFrequency bandFrequency, int bandGain); +

          - You can call this method either before or after joining a channel.
          + You can call this method either before or after joining a + channel. +
          Parameters - - bandFrequency - The band frequency. The value ranges between 0 and 9; representing the respective 10-band center frequencies of the voice effects, including 31, 62, 125, 250, 500, 1k, 2k, 4k, 8k, and 16k Hz. For more details, see . - - - bandGain - gain - The gain of each band in dB. The value ranges between -15 and 15. The default value is 0. - -
          + + bandFrequency + The band frequency. The value ranges between 0 and 9; representing the + respective 10-band center frequencies of the voice effects, including 31, + 62, 125, 250, 500, 1k, 2k, 4k, 8k, and 16k Hz. For more details, see . + + + bandGain + gain + The gain of each band in dB. The value ranges between -15 and 15. The + default value is 0. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        970. 0: Success.
        971. +
        972. < 0: Failure.
        973. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlocalvoicepitch.dita b/en-US/dita/RTC/API/api_setlocalvoicepitch.dita index 964ef915c12..1b418491229 100644 --- a/en-US/dita/RTC/API/api_setlocalvoicepitch.dita +++ b/en-US/dita/RTC/API/api_setlocalvoicepitch.dita @@ -1,41 +1,48 @@ - <ph keyref="setLocalVoicePitch" /> - Changes the voice pitch of the local speaker. + <ph keyref="setLocalVoicePitch"/> + Changes the voice pitch of the local + speaker. - +

          - public abstract int setLocalVoicePitch(double pitch); - - (int)setLocalVoicePitch:(double)pitch; - virtual int setLocalVoicePitch(double pitch) = 0; - setLocalVoicePitch(pitch: number): number - public abstract int SetLocalVoicePitch(double pitch); - - Future<void> setLocalVoicePitch(double pitch);

          + public abstract int setLocalVoicePitch(double pitch); + - (int)setLocalVoicePitch:(double)pitch; + virtual int setLocalVoicePitch(double pitch) = 0; + setLocalVoicePitch(pitch: number): number + public abstract int SetLocalVoicePitch(double pitch); + + Future<void> setLocalVoicePitch(double pitch); +

          - You can call this method either before or after joining a channel.
          + You can call this method either before or after joining a + channel. +
          Parameters - - pitch - The local voice pitch. The value range is [0.5,2.0]. The lower the value, the lower the pitch. The default value is 1 (no change to the pitch). - -
          + + pitch + The local voice pitch. The value range is [0.5,2.0]. The lower the value, + the lower the pitch. The default value is 1 (no change to the pitch). + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        974. 0: Success.
        975. +
        976. < 0: Failure.
        977. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlocalvoicereverb.dita b/en-US/dita/RTC/API/api_setlocalvoicereverb.dita index 4206057f405..79999694441 100644 --- a/en-US/dita/RTC/API/api_setlocalvoicereverb.dita +++ b/en-US/dita/RTC/API/api_setlocalvoicereverb.dita @@ -1,25 +1,26 @@ - <ph keyref="setLocalVoiceReverb" /> + <ph keyref="setLocalVoiceReverb"/> Sets the local voice reverberation. - +

          - public abstract int setLocalVoiceReverb(Constants.AUDIO_REVERB_TYPE reverbKey, int value); - - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value; - virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0; - setLocalVoiceReverb(reverbKey: AUDIO_REVERB_TYPE, value: number): number - public abstract int SetLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value); - - Future<void> setLocalVoiceReverb(AudioReverbType reverbKey, int value);

          + public abstract int setLocalVoiceReverb(Constants.AUDIO_REVERB_TYPE reverbKey, int value); + - (int)setLocalVoiceReverbOfType:(AgoraAudioReverbType)reverbType withValue:(NSInteger)value; + virtual int setLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value) = 0; + setLocalVoiceReverb(reverbKey: AUDIO_REVERB_TYPE, value: number): number + public abstract int SetLocalVoiceReverb(AUDIO_REVERB_TYPE reverbKey, int value); + + Future<void> setLocalVoiceReverb(AudioReverbType reverbKey, int value); +

          You can call this method either before or after joining a channel.

          @@ -27,21 +28,24 @@
          Parameters - - reverbKey - reverbType - The reverberation key. Agora provides 5 reverberation keys: . - - - value - The value of the reverberation key. - -
          + + reverbKey + reverbType + The reverberation key. Agora provides 5 reverberation keys: . + + + value + The value of the reverberation key. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        978. 0: Success.
        979. +
        980. < 0: Failure.
        981. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlocalvoicereverbpreset.dita b/en-US/dita/RTC/API/api_setlocalvoicereverbpreset.dita index 1752658e3d5..767b49df3ad 100644 --- a/en-US/dita/RTC/API/api_setlocalvoicereverbpreset.dita +++ b/en-US/dita/RTC/API/api_setlocalvoicereverbpreset.dita @@ -1,72 +1,108 @@ - <ph keyref="setLocalVoiceReverbPreset" /> - Sets the local voice reverberation option, including the virtual stereo. + <ph keyref="setLocalVoiceReverbPreset"/> + Sets the local voice reverberation option, including + the virtual stereo. - +

          - public abstract int setLocalVoiceReverbPreset(int reverbPreset); - - (int) setLocalVoiceReverbPreset:(AgoraAudioReverbPreset)reverbPreset; - virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0; - setLocalVoiceReverbPreset(reverbPreset: AUDIO_REVERB_PRESET) - public abstract int SetLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset); - - Future<void> setLocalVoiceReverbPreset(AudioReverbPreset preset);

          + public abstract int setLocalVoiceReverbPreset(int reverbPreset); + - (int) setLocalVoiceReverbPreset:(AgoraAudioReverbPreset)reverbPreset; + virtual int setLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset) = 0; + setLocalVoiceReverbPreset(reverbPreset: AUDIO_REVERB_PRESET) + public abstract int SetLocalVoiceReverbPreset(AUDIO_REVERB_PRESET reverbPreset); + + Future<void> setLocalVoiceReverbPreset(AudioReverbPreset preset); +

          - -
          Deprecated:
          -
          This method is deprecated as of v2.4.0. Agora recommends using and instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v2.4.0. Agora recommends using and instead.
          +
          -

          This method sets the local voice reverberation for users in a COMMUNICATION channel or hosts in a LIVE_BROADCASTING channel. After successfully calling this method, all users in the channel can hear the voice with reverberation.

          +

          This method sets the local voice reverberation for users in a COMMUNICATION channel + or hosts in a LIVE_BROADCASTING channel. After successfully calling this method, all + users in the channel can hear the voice with reverberation.

          -
            -
          • When using the enumeration value prefixed with AUDIO_REVERB_FX, ensure that you set the profile parameter in to(4) or (5) before calling this method. Otherwise, the method setting is invalid.
          • -
          • When calling the method, Agora recommends setting the profile parameter in as (5).
          • -
          • This method works best with the human voice, and Agora does not recommend using it for audio containing music and a human voice.
          • -
          • Do not use this method with , because the method called later overrides the one called earlier. For detailed considerations, see the advanced guide Set the Voice Effect.
          • -
          • You can call this method either before or after joining a channel.
          • -
          +
            +
          • When using the enumeration value prefixed with + AUDIO_REVERB_FX, ensure that you set the + profile parameter in to(4) or (5) before calling + this method. Otherwise, the method setting is invalid.
          • +
          • When calling the method, Agora + recommends setting the profile parameter in as (5).
          • +
          • This method works best with the human voice, and Agora does not recommend + using it for audio containing music and a human voice.
          • +
          • Do not use this method with , because + the method called later overrides the one called earlier. For detailed + considerations, see the advanced guide Set the Voice Effect.
          • +
          • You can call this method either before or after joining a channel.
          • +
          + +
          Parameters - - reverbPreset - preset - -

          The local voice reverberation option. The default value is , which means the original voice. For more details, see . To achieve better voice effects, Agora recommends the enumeration whose name begins with AUDIO_REVERB_FX.

          -
          - -

          The local voice reverberation option. To achieve better voice effects, Agora recommends the enumeration whose name begins with AUDIO_REVERB_FX. -

            -
          • : (Default) Turn off local voice reverberation, that is, to use the original voice.
          • -
          • : The reverberation style typical of a KTV venue (enhanced).
          • -
          • : The reverberation style typical of a concert hall (enhanced).
          • -
          • : The reverberation style typical of an uncle's voice.
          • -
          • : The reverberation style typical of a little sister's voice.
          • -
          • : The reverberation style typical of a recording studio (enhanced).
          • -
          • : The reverberation style typical of popular music (enhanced).
          • -
          • : The reverberation style typical of R&B music (enhanced).
          • -
          • : The reverberation style typical of the vintage phonograph.
          • -

          -
          -
          -
          + + reverbPreset + preset + +

          The local voice reverberation option. The + default value is , which means the + original voice. For more details, see . To achieve better voice effects, Agora recommends the enumeration + whose name begins with AUDIO_REVERB_FX.

          +
          + +

          The local voice reverberation option. To achieve better + voice effects, Agora recommends the enumeration whose name begins with + AUDIO_REVERB_FX.

            +
          • : (Default) Turn off local voice + reverberation, that is, to use the original voice.
          • +
          • : The reverberation style + typical of a KTV venue (enhanced).
          • +
          • : The reverberation + style typical of a concert hall (enhanced).
          • +
          • : The reverberation style + typical of an uncle's voice.
          • +
          • : The reverberation style + typical of a little sister's voice.
          • +
          • : The reverberation style + typical of a recording studio (enhanced).
          • +
          • : The reverberation style + typical of popular music (enhanced).
          • +
          • : The reverberation style + typical of R&B music (enhanced).
          • +
          • : The reverberation + style typical of the vintage phonograph.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        982. 0: Success.
        983. +
        984. < 0: Failure.
        985. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlogfile.dita b/en-US/dita/RTC/API/api_setlogfile.dita index 8ec7cf2d670..05de15198be 100644 --- a/en-US/dita/RTC/API/api_setlogfile.dita +++ b/en-US/dita/RTC/API/api_setlogfile.dita @@ -1,51 +1,67 @@ - <ph keyref="setLogFile" /> - Sets the log files that the SDK outputs. + <ph keyref="setLogFile"/> + Sets the log files that the SDK + outputs. - +

          - - - virtual int setLogFile(const char* filePath) = 0; - setLogFile(filePath: string): number - public abstract int SetLogFile(string filePath); - - Future<void> setLogFile(String filePath);

          + + + virtual int setLogFile(const char* filePath) = 0; + setLogFile(filePath: string): number + public abstract int SetLogFile(string filePath); + + Future<void> setLogFile(String filePath); +

          - -
          Deprecated:
          -
          This method is deprecated as of v2.4.0. Use to set the log file path instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v2.4.0. Use to set + the log file path instead.
          +

          This method sets the log files of the Native layer.

          -

          By default, the SDK outputs five log files: agorasdk.log, agorasdk_1.log, agorasdk_2.log, agorasdk_3.log, and agorasdk_4.log. Each log file has a default size of 512 KB. These log files are encoded in UTF-8. The SDK writes the latest log in agorasdk.log. When agorasdk.log is full, the SDK deletes the log file with the earliest modification time among the other four, renames agorasdk.log to the name of the deleted log file, and create a new agorasdk.log to record the latest logs.

          - Ensure that you call this method immediately after initializing , otherwise, the output log may not be complete.
          +

          By default, the SDK outputs five log files: agorasdk.log, agorasdk_1.log, + agorasdk_2.log, agorasdk_3.log, and agorasdk_4.log. Each log file has a default size + of 512 KB. These log files are encoded in UTF-8. The SDK writes the latest log in + agorasdk.log. When agorasdk.log is full, the SDK deletes the log file with the + earliest modification time among the other four, renames agorasdk.log to the name of + the deleted log file, and create a new agorasdk.log to record the latest logs.

          + Ensure that you call this method immediately after initializing + , otherwise, the output log may not be + complete. +
          Parameters - - filePath - -

          The absolute path of the log files. The default file path is C: \Users\<user_name>\AppData\Local\Agora\<process_name>\agorasdk.log. Ensure that the directory for the log files exists and is writable. You can use this parameter to rename the log files.

          -
          -
          -
          + + filePath + +

          The absolute path of the log files. The default file path is C: + \Users\<user_name>\AppData\Local\Agora\<process_name>\agorasdk.log. + Ensure that the directory for the log files exists and is writable. You + can use this parameter to rename the log files.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        986. 0: Success.
        987. +
        988. < 0: Failure.
        989. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlogfilesize.dita b/en-US/dita/RTC/API/api_setlogfilesize.dita index a67c8c2d4b6..20759287252 100644 --- a/en-US/dita/RTC/API/api_setlogfilesize.dita +++ b/en-US/dita/RTC/API/api_setlogfilesize.dita @@ -1,48 +1,65 @@ - <ph keyref="setLogFileSize" /> - Sets the size of a log file that the SDK outputs. + <ph keyref="setLogFileSize"/> + Sets the size of a log file that the SDK + outputs. - +

          - - - virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0; - setLogFileSize(fileSizeInKBytes: number): number - public abstract int SetLogFileSize(uint fileSizeInKBytes); - - Future<void> setLogFileSize(int fileSizeInKBytes);

          + + + virtual int setLogFileSize(unsigned int fileSizeInKBytes) = 0; + setLogFileSize(fileSizeInKBytes: number): number + public abstract int SetLogFileSize(uint fileSizeInKBytes); + + Future<void> setLogFileSize(int fileSizeInKBytes); +

          - -
          Deprecated:
          -
          v3.3.0. Use logConfig in instead.
          -
          + +
          Deprecated:
          +
          v3.3.0. Use logConfig in + instead.
          +
          -

          By default, the SDK outputs five log files: agorasdk.log, agorasdk_1.log, agorasdk_2.log, agorasdk_3.log, and agorasdk_4.log. Each log file has a default size of 512 KB. These log files are encoded in UTF-8. The SDK writes the latest log in agorasdk.log. When agorasdk.log is full, the SDK deletes the log file with the earliest modification time among the other four, renames agorasdk.log to the name of the deleted log file, and create a new agorasdk.log to record the latest logs.

          - If you want to set the size of the log file, you need to call this method before , otherwise, the log will be cleared.
          +

          By default, the SDK outputs five log files: agorasdk.log, agorasdk_1.log, + agorasdk_2.log, agorasdk_3.log, and agorasdk_4.log. Each log file has a default size + of 512 KB. These log files are encoded in UTF-8. The SDK writes the latest log in + agorasdk.log. When agorasdk.log is full, the SDK deletes the log file with the + earliest modification time among the other four, renames agorasdk.log to the name of + the deleted log file, and create a new agorasdk.log to record the latest logs.

          + If you want to set the size of the log file, you need to call + this method before , otherwise, the log will be + cleared. +
          Parameters - - fileSizeInKBytes - The size (KB) of a log file. The default value is 1024 KB. If you set fileSizeInKByte to 1024 KB, the maximum aggregate size of the log files output by the SDK is 5 MB. if you set fileSizeInKByte to less than 1024 KB, the setting is invalid, and the maximum size of a log file is still 1024 KB. - -
          + + fileSizeInKBytes + The size (KB) of a log file. The default value is 1024 KB. If you set + fileSizeInKByte to 1024 KB, the maximum aggregate + size of the log files output by the SDK is 5 MB. if you set + fileSizeInKByte to less than 1024 KB, the setting + is invalid, and the maximum size of a log file is still 1024 KB. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        990. 0: Success.
        991. +
        992. < 0: Failure.
        993. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlogfilter.dita b/en-US/dita/RTC/API/api_setlogfilter.dita index 4d685715d60..e7772827b54 100644 --- a/en-US/dita/RTC/API/api_setlogfilter.dita +++ b/en-US/dita/RTC/API/api_setlogfilter.dita @@ -1,49 +1,57 @@ - <ph keyref="setLogFilter" /> + <ph keyref="setLogFilter"/> Sets the log output level of the SDK. - +

          - public abstract int setLogFilter(int filter); - - (int)setLogFilter:(NSUInteger)filter; - virtual int setLogFilter(unsigned int filter) = 0; - setLogFilter(filter: LOG_FILTER_TYPE): number - public abstract int SetLogFilter(uint filter); - - Future<void> setLogFilter(LogFilter filter);

          + public abstract int setLogFilter(int filter); + - (int)setLogFilter:(NSUInteger)filter; + virtual int setLogFilter(unsigned int filter) = 0; + setLogFilter(filter: LOG_FILTER_TYPE): number + public abstract int SetLogFilter(uint filter); + + Future<void> setLogFilter(LogFilter filter); +

          - -
          Deprecated:
          -
          v3.3.0. Use logConfig in instead.
          -
          + +
          Deprecated:
          +
          v3.3.0. Use logConfig in + instead.
          +
          -

          This method sets the output log level of the SDK. You can use one or a combination of the log filter levels. The log level follows the sequence of OFF, CRITICAL, ERROR, WARNING, INFO, and DEBUG. Choose a level to see the logs preceding that level.

          -

          If, for example, you set the log level to WARNING, you see the logs within levels CRITICAL, ERROR, and WARNING.

          +

          This method sets the output log level of the SDK. You can use one or a combination of + the log filter levels. The log level follows the sequence of OFF, CRITICAL, ERROR, + WARNING, INFO, and DEBUG. Choose a level to see the logs preceding that level.

          +

          If, for example, you set the log level to WARNING, you see the logs within levels + CRITICAL, ERROR, and WARNING.

          Parameters - - filter - The output log level of the SDK. For details, see . - -
          + + filter + The output log level of the SDK. For details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        994. 0: Success.
        995. +
        996. < 0: Failure.
        997. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setloglevel.dita b/en-US/dita/RTC/API/api_setloglevel.dita index e4e1bd29ff5..347a55956d3 100644 --- a/en-US/dita/RTC/API/api_setloglevel.dita +++ b/en-US/dita/RTC/API/api_setloglevel.dita @@ -1,49 +1,53 @@ - <ph keyref="setLogLevel" /> + <ph keyref="setLogLevel"/> Sets the output log level of the SDK. - +

          - public abstract int setLogLevel(int level); - - (int)setLogLevel:(AgoraLogLevel)level; - virtual int setLogLevel(commons::LOG_LEVEL level) = 0; + public abstract int setLogLevel(int level); + - (int)setLogLevel:(AgoraLogLevel)level; + virtual int setLogLevel(commons::LOG_LEVEL level) = 0; - - public abstract int SetLogLevel(LOG_LEVEL level); - -

          + + public abstract int SetLogLevel(LOG_LEVEL level); + + +

          - -
          Deprecated:
          -
          This method is deprecated. Use instead to set the log output level.
          -
          + +
          Deprecated:
          +
          This method is deprecated. Use instead to + set the log output level.
          +

          Choose a level to see the logs preceding that level.

          Parameters - - level - The log level: . - -
          + + level + The log level: . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        998. 0: Success.
        999. +
        1000. < 0: Failure.
        1001. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setlowlightenhanceoptions.dita b/en-US/dita/RTC/API/api_setlowlightenhanceoptions.dita index 8841b418ed9..9ceb33a6405 100644 --- a/en-US/dita/RTC/API/api_setlowlightenhanceoptions.dita +++ b/en-US/dita/RTC/API/api_setlowlightenhanceoptions.dita @@ -1,61 +1,84 @@ - <ph keyref="setLowlightEnhanceOptions" /> + + <ph keyref="setLowlightEnhanceOptions"/> + Sets low-light enhancement. - +

          - - - - - public abstract int SetLowlightEnhanceOptions(bool enabled, LowLightEnhanceOptions options); - - Future<void> setLowlightEnhanceOptions( - bool enabled, LowLightEnhanceOptions option);

          + + + + + public abstract int SetLowlightEnhanceOptions(bool enabled, LowLightEnhanceOptions options); + + Future<void> setLowlightEnhanceOptions( + bool enabled, LowLightEnhanceOptions option); +

          -

          The low-light enhancement feature can adaptively adjust the brightness value of the video captured in situations with low or uneven lighting, such as backlit, cloudy, or dark scenes. It restores or highlights the image details and improves the overall visual effect of the video.

          -

          You can call this method to enable the color enhancement feature and set the options of the color enhancement effect.You can call this method to enable the low-light enhancement feature and set the options of the low-light enhancement effect.

          +

          The low-light enhancement feature can adaptively adjust the brightness value of the + video captured in situations with low or uneven lighting, such as backlit, cloudy, + or dark scenes. It restores or highlights the image details and improves the overall + visual effect of the video.

          +

          You can call this method to enable the color enhancement feature and set the options + of the color enhancement effect.You can call this method to enable the low-light + enhancement feature and set the options of the low-light enhancement effect.

          -
            -
          • Before calling this method, ensure that you have integrated the libagora_video_process_extension.so dynamic library.
          • -
          • Before calling this method, make sure you have integrated the AgoraVideoSegmentationExtension.xcframework library into your project.
          • -
          • Before calling this method, make sure you have integrated the libagora_segmentation_extension.dll library into your project.
          • -
          • Call this method after calling .
          • -
          • Dark light enhancement has certain requirements for equipment performance. The low-light enhancement feature has certain performance requirements on devices. If your device overheats after you enable low-light enhancement, Agora recommends modifying the low-light enhancement options to a less performance-consuming level or disabling low-light enhancement entirely.
          • -
          +
            +
          • Before calling this method, ensure that you have integrated + the libagora_video_process_extension.so dynamic + library.
          • +
          • Before calling this method, make sure you have integrated + the AgoraVideoSegmentationExtension.xcframework library + into your project.
          • +
          • Before calling this method, make sure you have integrated the + libagora_segmentation_extension.dll library into your + project.
          • +
          • Call this method after calling .
          • +
          • Dark light enhancement has certain requirements for equipment performance. + The low-light enhancement feature has certain performance requirements on + devices. If your device overheats after you enable low-light enhancement, + Agora recommends modifying the low-light enhancement options to a less + performance-consuming level or disabling low-light enhancement + entirely.
          • +
          + +
          Parameters - - enabled - Sets whether to enable low-light enhancement: -
            -
          • : Enable.
          • -
          • : (Default) Disable.
          • -
          -
          - - options - option - The low-light enhancement options. For more details, see -. - -
          + + enabled + Sets whether to enable low-light enhancement:
            +
          • : Enable.
          • +
          • : (Default) Disable.
          • +
          +
          +
          + + options + option + The low-light enhancement options. For more details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1002. 0: Success.
        1003. +
        1004. < 0: Failure.
        1005. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setmaxmetadatasize.dita b/en-US/dita/RTC/API/api_setmaxmetadatasize.dita index c6ca6788afb..2fcc66e5d7f 100644 --- a/en-US/dita/RTC/API/api_setmaxmetadatasize.dita +++ b/en-US/dita/RTC/API/api_setmaxmetadatasize.dita @@ -1,42 +1,47 @@ - <ph keyref="setMaxMetadataSize" /> - Sets the maximum size of the media metadata. + <ph keyref="setMaxMetadataSize"/> + Sets the maximum size of the media + metadata. - +

          - - - - setMaxMetadataSize(size: number): number - public abstract int SetMaxMetadataSize(int size); - - Future<void> setMaxMetadataSize(int size);

          + + + + setMaxMetadataSize(size: number): number + public abstract int SetMaxMetadataSize(int size); + + Future<void> setMaxMetadataSize(int size); +

          -

          After calling , you can call this method to set the maximum size of the media metadata.

          +

          After calling , you can call this + method to set the maximum size of the media metadata.

          Parameters - - size - The maximum size of media metadata. - -
          + + size + The maximum size of media metadata. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1006. 0: Success.
        1007. +
        1008. < 0: Failure.
        1009. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setmediametadatadatasource.dita b/en-US/dita/RTC/API/api_setmediametadatadatasource.dita index 59e18af620e..502c24d03da 100644 --- a/en-US/dita/RTC/API/api_setmediametadatadatasource.dita +++ b/en-US/dita/RTC/API/api_setmediametadatadatasource.dita @@ -1,51 +1,61 @@ - <ph keyref="setMediaMetadataDataSource" /> + <ph keyref="setMediaMetadataDataSource"/> Sets the data source of the metadata. - +
          - + - (BOOL)setMediaMetadataDataSource:(id<AgoraMediaMetadataDataSource> _Nullable)metadataDataSource withType:(AgoraMetadataType)type; - - - - -
          + + + + + +
          -

          You need to implement the protocol in this method and specify the data format of the metadata. After a successful method call, the SDK triggers the callback.

          -

          This method can be used with to add synchronized metadata in the video stream for more diversified live interactions, such as sending shopping links, digital coupons, and online quizzes.

          +

          You need to implement the protocol in + this method and specify the data format of the metadata. After a successful method + call, the SDK triggers the callback.

          +

          This method can be used with to add + synchronized metadata in the video stream for more diversified live interactions, + such as sending shopping links, digital coupons, and online quizzes.

          - -

            -
          • Call this method before joining a channel.
          • -
          • This method applies only to interactive live streaming.
          • -

          + +
            +
          • Call this method before joining a channel.
          • +
          • This method applies only to interactive live streaming.
          • +
          +
          +

          Parameters - - metadataDataSource - The protocal. - - - type - The data type of the metadata. See . We only support video metadata for now. - -
          + + metadataDataSource + The protocal. + + + type + The data type of the metadata. See . We only + support video metadata for now. + + +
          Returns
            -
          • : Success.
          • -
          • : Failure.
          • -
          +
        1010. : Success.
        1011. +
        1012. : Failure.
        1013. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setmixedaudioframeparameters.dita b/en-US/dita/RTC/API/api_setmixedaudioframeparameters.dita index 083bd508969..b989797da77 100644 --- a/en-US/dita/RTC/API/api_setmixedaudioframeparameters.dita +++ b/en-US/dita/RTC/API/api_setmixedaudioframeparameters.dita @@ -1,50 +1,66 @@ - <ph keyref="setMixedAudioFrameParameters" /> + <ph keyref="setMixedAudioFrameParameters"/> Sets the format of mixed audio. - +

          - - - virtual int setMixedAudioFrameParameters(int sampleRate, int samplesPerCall) = 0; - - public abstract int SetMixedAudioFrameParameters(int sampleRate, int samplesPerCall); - -

          + + + virtual int setMixedAudioFrameParameters(int sampleRate, int samplesPerCall) = 0; + + public abstract int SetMixedAudioFrameParameters(int sampleRate, int samplesPerCall); + + +

          -

          Sets the data format for the callback.

          +

          Sets the data format for the callback.

          -
            -
          • Ensure that you call this method before joining a channel.
          • -
          • The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method.Sample interval (sec) = samplePerCall/(sampleRate × channel). Ensure that the sample interval ≥ 0.01 (s). The SDK triggers the callback according to the sampling interval.
          • -
          +
            +
          • Ensure that you call this method before joining a channel.
          • +
          • The SDK calculates the sampling interval based on the + samplesPerCall, sampleRate and + channel parameters set in this + method.Sample interval (sec) = + samplePerCall/(sampleRate + × channel). Ensure that the + sample interval ≥ 0.01 (s). The SDK triggers the callback according to the sampling + interval.
          • +
          + +
          Parameters - - sampleRate - The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. - - - samplesPerCall - The number of data samples returned in the callback, such as 1024 for the media push. - -
          + + sampleRate + The sample rate returned in the + callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. + + + samplesPerCall + The number of data samples returned in the callback, such as 1024 for the media + push. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1014. 0: Success.
        1015. +
        1016. < 0: Failure.
        1017. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setparameters.dita b/en-US/dita/RTC/API/api_setparameters.dita index 4acb7bea14f..22dde6c1d3e 100644 --- a/en-US/dita/RTC/API/api_setparameters.dita +++ b/en-US/dita/RTC/API/api_setparameters.dita @@ -1,42 +1,47 @@ - <ph keyref="setParameters" /> - Provides technical preview functionalities or special customizations by configuring the SDK with JSON options. + <ph keyref="setParameters"/> + Provides technical preview functionalities or special + customizations by configuring the SDK with JSON options. - +

          - - - - - public abstract int SetParameters(string parameters); - - Future<void> setParameters(String parameters);

          + + + + + public abstract int SetParameters(string parameters); + + Future<void> setParameters(String parameters); +

          -

          The JSON options are not public by default. Agora is working on making commonly used JSON options public in a standard way.

          +

          The JSON options are not public by default. Agora is working on making commonly used + JSON options public in a standard way.

          Parameters - - parameters - Sets the parameter as a JSON string in the specified format. - -
          + + parameters + Sets the parameter as a JSON string in the specified format. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1018. 0: Success.
        1019. +
        1020. < 0: Failure.
        1021. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setplaybackaudioframebeforemixingparameters.dita b/en-US/dita/RTC/API/api_setplaybackaudioframebeforemixingparameters.dita index d90a318e8f2..fb10d21674b 100644 --- a/en-US/dita/RTC/API/api_setplaybackaudioframebeforemixingparameters.dita +++ b/en-US/dita/RTC/API/api_setplaybackaudioframebeforemixingparameters.dita @@ -1,53 +1,62 @@ - <ph keyref="setPlaybackAudioFrameBeforeMixingParameters" /> - Sets the audio data format reported by . + <ph keyref="setPlaybackAudioFrameBeforeMixingParameters"/> + Sets the audio data format reported by . - +

          - public abstract int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate + public abstract int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); + - (int)setPlaybackAudioFrameBeforeMixingParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel; - virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0; - - public abstract int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); - -

          + virtual int setPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel) = 0; + + public abstract int SetPlaybackAudioFrameBeforeMixingParameters(int sampleRate, int channel); + + +

          -

          Sets the audio data format reported by .

          +

          Sets the audio data format reported by .

          Parameters - - sampleRate - -

          The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz.

          -
          -
          + + sampleRate + +

          The sample rate returned in the callback, which can be set as + 8000, 16000, + 32000, 44100, or + 48000 Hz.

          +
          +
          - - channel - -

          The number of channels of the external audio source, which can be set as 1(Mono) or 2(Stereo).

          -
          -
          -
          + + channel + +

          The number of channels of the external audio source, which can be set as + 1(Mono) or 2(Stereo).

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1022. 0: Success.
        1023. +
        1024. < 0: Failure.
        1025. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setplaybackaudioframeparameters.dita b/en-US/dita/RTC/API/api_setplaybackaudioframeparameters.dita index 16d5cd5d480..75538daaac0 100644 --- a/en-US/dita/RTC/API/api_setplaybackaudioframeparameters.dita +++ b/en-US/dita/RTC/API/api_setplaybackaudioframeparameters.dita @@ -1,75 +1,94 @@ - <ph keyref="setPlaybackAudioFrameParameters" /> - Sets the audio data format for playback. + <ph keyref="setPlaybackAudioFrameParameters"/> + Sets the audio data format for + playback. - +

          - public abstract int setPlaybackAudioFrameParameters( + public abstract int setPlaybackAudioFrameParameters( int sampleRate, int channel, int mode, int samplesPerCall); - - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + - (int)setPlaybackAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall; - virtual int setPlaybackAudioFrameParameters(int sampleRate, + virtual int setPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; - - public abstract int SetPlaybackAudioFrameParameters(int sampleRate, int channel, + + public abstract int SetPlaybackAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - -

          + + +

          -

          Sets the data format for the callback.

          +

          Sets the data format for the callback.

          -
            -
          • Ensure that you call this method before joining a channel.
          • -
          • The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method.Sample interval (sec) = samplePerCall/(sampleRate × channel). Ensure that the sample interval ≥ 0.01 (s). The SDK triggers the callback according to the sampling interval.
          • -
          +
            +
          • Ensure that you call this method before joining a channel.
          • +
          • The SDK calculates the sampling interval based on the + samplesPerCall, sampleRate and + channel parameters set in this + method.Sample interval (sec) = + samplePerCall/(sampleRate + × channel). Ensure that the + sample interval ≥ 0.01 (s). The SDK triggers the callback according to the sampling + interval.
          • +
          + +
          Parameters - - sampleRate - The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. - - - channel - -

          The number of channels returned in the callback: -

            -
          • 1: Mono.
          • -
          • 2: Stereo.
          • -

          -
          -
          - - mode - -

          The use mode of the audio frame. See .

          -

          - - - - samplesPerCall - The number of data samples returned in the callback, such as 1024 for the media push. - -

          + + sampleRate + The sample rate returned in the + callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. + + + channel + +

          The number of channels returned in the callback:

            +
          • 1: Mono.
          • +
          • 2: Stereo.
          • +

          +
          +
          + + mode + +

          The use mode of the audio frame. See .

          +

          + + + + samplesPerCall + The number of data samples returned in the callback, such as 1024 for the media + push. + + +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1026. 0: Success.
        1027. +
        1028. < 0: Failure.
        1029. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setplayeroption.dita b/en-US/dita/RTC/API/api_setplayeroption.dita index 21e4077b0f8..4820a8898e5 100644 --- a/en-US/dita/RTC/API/api_setplayeroption.dita +++ b/en-US/dita/RTC/API/api_setplayeroption.dita @@ -1,51 +1,61 @@ - <ph keyref="setPlayerOption" /> - Sets the private options for the media player. + <ph keyref="setPlayerOption"/> + Sets the private options for the media + player. - +

          - int setPlayerOption(String key, int value); - - (void)setPlayerOptionInt:(NSString *)key value:(NSInteger)value; + int setPlayerOption(String key, int value); + - (void)setPlayerOptionInt:(NSString *)key value:(NSInteger)value; - - - - -

          + + + + + +

          -

          The media player supports setting private options by key and value. Under normal circumstances, you do not need to know the private option settings, and just use the default option settings.

          +

          The media player supports setting private options by key and value. Under normal + circumstances, you do not need to know the private option settings, and just use the + default option settings.

          -
            -
          • Ensure that you call this method before .
          • -
          • If you need to push streams with SEI into the CDN, call ("sei_data_with_uuid", 1); otherwise, the loss of SEI might occur.
          • -
          +
            +
          • Ensure that you call this method before .
          • +
          • If you need to push streams with SEI into the CDN, call ("sei_data_with_uuid", 1); + otherwise, the loss of SEI might occur.
          • +
          + +
          Parameters - - key - The key of the option. - - - value - The value of the key. - -
          + + key + The key of the option. + + + value + The value of the key. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1030. 0: Success.
        1031. +
        1032. < 0: Failure.
        1033. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setpluginparameter.dita b/en-US/dita/RTC/API/api_setpluginparameter.dita index 24b62be31b2..d9870c48598 100644 --- a/en-US/dita/RTC/API/api_setpluginparameter.dita +++ b/en-US/dita/RTC/API/api_setpluginparameter.dita @@ -1,47 +1,51 @@ - <ph keyref="setPluginParameter" /> + <ph keyref="setPluginParameter"/> Sets the parameter of a specified plugin. - +

          - - - - setPluginParameter(pluginId: string, parameter: string): number - - -

          + + + + setPluginParameter(pluginId: string, parameter: string): number + + + +

          -

          After getting the value using , you can call this method to pass a JSON string containing a key and a value to the C++ layer.

          +

          After getting the value using , you can call this + method to pass a JSON string containing a key and a value to the C++ layer.

          Parameters - - - - - - parameter - A JSON string containing a key and a value. - -
          + + + + + + parameter + A JSON string containing a key and a value. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1034. 0: Success.
        1035. +
        1036. < 0: Failure.
        1037. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setrecordingaudioframeparameters.dita b/en-US/dita/RTC/API/api_setrecordingaudioframeparameters.dita index b3ba4c48b3e..907aac4cb55 100644 --- a/en-US/dita/RTC/API/api_setrecordingaudioframeparameters.dita +++ b/en-US/dita/RTC/API/api_setrecordingaudioframeparameters.dita @@ -1,91 +1,117 @@ - <ph keyref="setRecordingAudioFrameParameters" /> - Sets the format of the captured raw audio data. + <ph keyref="setRecordingAudioFrameParameters"/> + Sets the format of the captured raw audio + data. - +

          - public abstract int setRecordingAudioFrameParameters( + public abstract int setRecordingAudioFrameParameters( int sampleRate, int channel, int mode, int samplesPerCall); - - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate + - (int)setRecordingAudioFrameParametersWithSampleRate:(NSInteger)sampleRate channel:(NSInteger)channel mode:(AgoraAudioRawFrameOperationMode)mode samplesPerCall:(NSInteger)samplesPerCall; - virtual int setRecordingAudioFrameParameters(int sampleRate, + virtual int setRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall) = 0; - setRecordingAudioFrameParameters( + setRecordingAudioFrameParameters( sampleRate: number, channel: 1 | 2, mode: RAW_AUDIO_FRAME_OP_MODE_TYPE, samplesPerCall: number ): number - public abstract int SetRecordingAudioFrameParameters(int sampleRate, int channel, + public abstract int SetRecordingAudioFrameParameters(int sampleRate, int channel, RAW_AUDIO_FRAME_OP_MODE_TYPE mode, int samplesPerCall); - -

          + + +

          -

          Sets the audio format for the callback.

          -

          After calling to register an extension and get the captured raw audio data, you can call this method to set the sample rate and number of audio channels of the raw data returned by the SDK.

          +

          Sets the audio format for the callback.

          +

          After calling to register an + extension and get the captured raw audio data, you can call this method to set the + sample rate and number of audio channels of the raw data returned by the SDK.

          -
            -
          • Ensure that you call this method before joining a channel.
          • -
          • The SDK calculates the sampling interval based on the samplesPerCall, sampleRate and channel parameters set in this method.Sample interval (sec) = samplePerCall/(sampleRate × channel). Ensure that the sample interval ≥ 0.01 (s). The SDK triggers the callback according to the sampling interval.
          • -
          +
            +
          • Ensure that you call this method before joining a channel.
          • +
          • The SDK calculates the sampling interval based on the + samplesPerCall, sampleRate and + channel parameters set in this + method.Sample interval (sec) = + samplePerCall/(sampleRate + × channel). Ensure that the + sample interval ≥ 0.01 (s). The SDK triggers + the callback according to the sampling interval.
          • +
          + +
          Parameters - - sampleRate - The sample rate returned in the callback, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. - The sample rate returned in the SDK, which can be set as 8000, 16000, 32000, 44100, or 48000 Hz. - - - channel - -

          The number of channels returned in the callback: -

            -
          • 1: Mono.
          • -
          • 2: Stereo.
          • -

          -
          - -

          The number of channels returned by the SDK. You can set the value as 1 or 2: -

            -
          • 1: Mono.
          • -
          • 2: Stereo.
          • -

          -
          -
          - - mode - -

          The use mode of the audio frame. See .

          -

          - - The use mode of the returned data from the SDK. See . - - - samplesPerCall - The number of data samples returned in the callback, such as 1024 for the media push. - The number of data samples returned in the SDK, such as 1024 for the media push. - -

          + + sampleRate + The sample rate returned in the callback, which can be set as 8000, 16000, + 32000, 44100, or 48000 Hz. + The sample rate returned in the SDK, which can be set as + 8000, 16000, 32000, 44100, or 48000 Hz. + + + channel + +

          The number of channels returned in the callback:

            +
          • 1: Mono.
          • +
          • 2: Stereo.
          • +

          +
          + +

          The number of channels returned by the SDK. You can set the value as 1 or + 2:

            +
          • 1: Mono.
          • +
          • 2: Stereo.
          • +

          +
          +
          + + mode + +

          The use mode of the audio frame. See .

          +

          + + The use mode of the returned data from the SDK. See . + + + samplesPerCall + The number of data samples returned in the + callback, such as 1024 for the + media push. + The number of data samples returned in the SDK, such as + 1024 for the media push. + + +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1038. 0: Success.
        1039. +
        1040. < 0: Failure.
        1041. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setremotedefaultvideostreamtype.dita b/en-US/dita/RTC/API/api_setremotedefaultvideostreamtype.dita index c85ab37e6bd..de7b05d994b 100644 --- a/en-US/dita/RTC/API/api_setremotedefaultvideostreamtype.dita +++ b/en-US/dita/RTC/API/api_setremotedefaultvideostreamtype.dita @@ -1,56 +1,78 @@ - <ph keyref="setRemoteDefaultVideoStreamType" /> - Sets the default stream type of remote video streams. + <ph keyref="setRemoteDefaultVideoStreamType"/> + Sets the default stream type of remote video + streams. - +

          - virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; - public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType);

          + virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; + public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType); +

          - virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; - public abstract int SetRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType);

          + virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; + public abstract int SetRemoteDefaultVideoStreamType(REMOTE_VIDEO_STREAM_TYPE streamType);

          - public abstract int setRemoteVideoStreamType(int uid, int streamType); - - (int)setRemoteVideoStream:(NSUInteger)uid + public abstract int setRemoteVideoStreamType(int uid, int streamType); + - (int)setRemoteVideoStream:(NSUInteger)uid type:(AgoraVideoStreamType)streamType; - setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number - - Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType);

          + setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number + + Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType); +

          -

          Under limited network conditions, if the publisher has not disabled the dual-stream mode using (),the receiver can choose to receive either the high-quality video stream or the low-quality video stream. The high-quality video stream has a higher resolution and bitrate, and the low-quality video stream has a lower resolution and bitrate.

          -

          By default, users receive the high-quality video stream. Call this method if you want to switch to the low-quality video stream. This method allows the app to adjust the corresponding video stream type based on the size of the video window to reduce the bandwidth and resources. The aspect ratio of the low-quality video stream is the same as the high-quality video stream. Once the resolution of the high-quality video stream is set, the system automatically sets the resolution, frame rate, and bitrate of the low-quality video stream.

          -

          The result of this method returns in the callback.

          - You can call this method either before or after joining a channel. If you call both and , the settings in take effect.
          +

          Under limited network conditions, if the publisher has not disabled the + dual-stream mode using (),the receiver can choose to receive either the high-quality + video stream or the low-quality video stream. The high-quality video stream has a + higher resolution and bitrate, and the low-quality video stream has a lower + resolution and bitrate.

          +

          By default, users receive the high-quality video stream. Call this method + if you want to switch to the low-quality video stream. This method allows the app to + adjust the corresponding video stream type based on the size of the video window to + reduce the bandwidth and resources. The aspect ratio of the low-quality video stream + is the same as the high-quality video stream. Once the resolution of the + high-quality video stream is set, the system automatically sets the resolution, + frame rate, and bitrate of the low-quality video stream.

          +

          The result of this method returns in the callback.

          + You can call this method either before or after joining a + channel. If you call both and , the settings in take effect. +
          Parameters - - streamType - -

          The default stream type of the remote video, see .

          -

          The default stream type of the remote video. -

            -
          • 0: High-quality video stream.
          • -
          • 1: Low-quality video stream.
          • -

          -
          -
          -
          + + streamType + +

          The default stream type of the + remote video, see .

          +

          The default stream type of the remote video.

            +
          • 0: High-quality video stream.
          • +
          • 1: Low-quality video stream.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1042. 0: Success.
        1043. +
        1044. < 0: Failure.
        1045. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setremoterendermode.dita b/en-US/dita/RTC/API/api_setremoterendermode.dita index 0de8e768dc6..c6083c670b3 100644 --- a/en-US/dita/RTC/API/api_setremoterendermode.dita +++ b/en-US/dita/RTC/API/api_setremoterendermode.dita @@ -1,60 +1,73 @@ - <ph keyref="setRemoteRenderMode1" /> - Sets the video display mode of a specified remote user. + <ph keyref="setRemoteRenderMode1"/> + Sets the video display mode of a specified remote + user. - +

          - public abstract int setRemoteRenderMode(int userId, int renderMode); - - (int)setRemoteRenderMode:(NSUInteger)uid + public abstract int setRemoteRenderMode(int userId, int renderMode); + - (int)setRemoteRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode) mode; - virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode) = 0; - - public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode); - -

          + virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode) = 0; + + public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode); + + +

          - -
          Deprecated:
          -
          This method is deprecated. Use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated. Use + instead.
          +
          -

          Call this method to set the video display mode of a specified remote user. This method can be called multiple times during a call to change the display mode.

          +

          Call this method to set the video display mode of a specified remote user. This + method can be called multiple times during a call to change the display mode.

          Parameters - - userId - The ID of the remote user. - - - renderMode - -

          The rendering mode of the remote user view. For details, see .

          -

          The rendering mode of the remote user view. See for details. -

            -
          • (1): Hidden mode. Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents.
          • -
          • (2): Fit mode. Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio are filled with black.
          • -

          -
          -
          -
          + + userId + The ID of the remote user. + + + renderMode + +

          The rendering mode of the remote user view. For + details, see .

          +

          The rendering mode of the remote user view. See for + details.

            +
          • (1): Hidden mode. Uniformly + scale the video until it fills the visible boundaries (cropped). + One dimension of the video may have clipped contents.
          • +
          • (2): Fit mode. Uniformly scale + the video until one of its dimension fits the boundary (zoomed + to fit). Areas that are not filled due to the disparity in the + aspect ratio are filled with black.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1046. 0: Success.
        1047. +
        1048. < 0: Failure.
        1049. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setremoterendermode2.dita b/en-US/dita/RTC/API/api_setremoterendermode2.dita index 68645c45e90..1f40c8158a6 100644 --- a/en-US/dita/RTC/API/api_setremoterendermode2.dita +++ b/en-US/dita/RTC/API/api_setremoterendermode2.dita @@ -1,80 +1,95 @@ - <ph keyref="setRemoteRenderMode2" /> - Updates the display mode of the video view of a remote user. + <ph keyref="setRemoteRenderMode2"/> + Updates the display mode of the video view of a remote + user. - +

          - public abstract int SetRemoteRenderMode(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode);

          + public abstract int SetRemoteRenderMode(uint uid, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode); +

          - public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode, - VIDEO_MIRROR_MODE_TYPE mirrorMode);

          + public abstract int SetRemoteRenderMode(uint userId, RENDER_MODE_TYPE renderMode, + VIDEO_MIRROR_MODE_TYPE mirrorMode); +

          - public abstract int setRemoteRenderMode(int userId, int renderMode, int mirrorMode); - - (int)setRemoteRenderMode:(NSUInteger)uid + public abstract int setRemoteRenderMode(int userId, int renderMode, int mirrorMode); + - (int)setRemoteRenderMode:(NSUInteger)uid mode:(AgoraVideoRenderMode)mode mirror:(AgoraVideoMirrorMode)mirror; - virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; - - -

          + virtual int setRemoteRenderMode(uid_t userId, RENDER_MODE_TYPE renderMode, VIDEO_MIRROR_MODE_TYPE mirrorMode) = 0; + + +

          - -
          Since
          -
          v3.0.0
          -
          + +
          Since
          +
          v3.0.0
          +
          -

          After initializing the video view of a remote user, you can call this method to update its rendering and mirror modes. This method affects only the video view that the local user sees.

          +

          After initializing the video view of a remote user, you can call this method to + update its rendering and mirror modes. This method affects only the video view that + the local user sees.

          -
            -
          • Please call this method after initializing the remote view by calling the method.
          • -
          • During a call, you can call this method as many times as necessary to update the display mode of the video view of a remote user.
          • -
          +
            +
          • Please call this method after initializing the remote view by calling the + method.
          • +
          • During a call, you can call this method as many times as necessary to update + the display mode of the video view of a remote user.
          • +
          + +
          Parameters - - userId - -

          The ID of the remote user.

          -
          -
          - - renderMode - -

          The rendering mode of the remote user view. For details, see .

          -

          The rendering mode of the remote user view. See for details. -

            -
          • -

          -
          -
          - - mirrorMode - -

          The mirror mode of the remote user view. For details, see .

          -

          The mirror mode of the remote user view. -

            -
          • -

          -
          -
          -
          + + userId + +

          The ID of the remote user.

          +
          +
          + + renderMode + +

          The rendering mode of the remote user view. For + details, see .

          +

          The rendering mode of the remote user view. See for + details.

            +
          • +
          +

          +
          +
          + + mirrorMode + +

          The mirror mode of the remote user view. For + details, see .

          +

          The mirror mode of the remote user view.

            +
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1050. 0: Success.
        1051. +
        1052. < 0: Failure.
        1053. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setremotesubscribefallbackoption.dita b/en-US/dita/RTC/API/api_setremotesubscribefallbackoption.dita index eb600d01e38..60a24bc2d9b 100644 --- a/en-US/dita/RTC/API/api_setremotesubscribefallbackoption.dita +++ b/en-US/dita/RTC/API/api_setremotesubscribefallbackoption.dita @@ -1,47 +1,85 @@ - <ph keyref="setRemoteSubscribeFallbackOption" /> - Sets the fallback option for the remotely subscribed video stream based on the network conditions. + + <ph keyref="setRemoteSubscribeFallbackOption"/> + + Sets the fallback option for the remotely subscribed + video stream based on the network conditions. - +

          - public abstract int setRemoteSubscribeFallbackOption(int option); - - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option; - virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; - setRemoteSubscribeFallbackOption(option: STREAM_FALLBACK_OPTIONS): number - public abstract int SetRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option); - - Future<void> setRemoteSubscribeFallbackOption(StreamFallbackOptions option);

          + public abstract int setRemoteSubscribeFallbackOption(int option); + - (int)setRemoteSubscribeFallbackOption:(AgoraStreamFallbackOptions)option; + virtual int setRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option) = 0; + setRemoteSubscribeFallbackOption(option: STREAM_FALLBACK_OPTIONS): number + public abstract int SetRemoteSubscribeFallbackOption(STREAM_FALLBACK_OPTIONS option); + + Future<void> setRemoteSubscribeFallbackOption(StreamFallbackOptions option); +

          -

          Unreliable network conditions affect the overall quality of the interactive live streaming. If option is set as (1) or (2), the SDK automatically switches the video from a high-quality stream to a low-quality stream or disables the video when the downlink network conditions cannot support both audio and video to guarantee the quality of the audio. The SDK monitors the network quality and restores the video stream when the network conditions improve. When the remote video stream falls back to audio-only or when the audio-only stream switches back to the video, the SDK triggers the callback.

          - Ensure that you call this method before joining a channel.
          +

          Unreliable network conditions affect the overall quality of the interactive live + streaming. If option is set as (1) or (2), the SDK automatically + switches the video from a high-quality stream to a low-quality stream or + disables the video when the downlink network conditions cannot support both + audio and video to guarantee the quality of the audio. The SDK monitors the + network quality and restores the video stream when the network conditions + improve. When the remote video stream falls back to audio-only or when the + audio-only stream switches back to the video, the SDK triggers the callback.

          + Ensure that you call this method before joining a + channel. +
          Parameters - - option - The fallback option for the remotely subscribed video stream. The default value is (1). See . -
            -
          • (0): No fallback behavior for the local/remote video stream when the uplink/downlink network conditions are poor. The quality of the stream is not guaranteed.
          • -
          • (1): Under poor downlink network conditions, the remote video stream, to which you subscribe, falls back to the low-quality (low resolution and low bitrate) video stream. This option is only valid for . This option is invalid for method.
          • -
          • (2): Under poor uplink/downlink network conditions, the remote video stream, to which you subscribe, first falls back to the low-quality (low resolution and low bitrate) video stream; and then to an audio-only stream if the network conditions worsen.
          • -
          -
          -
          + + option + The fallback option for the remotely subscribed video stream. The + default value is (1). + See . +
            +
          • (0): No + fallback behavior for the local/remote video stream when the + uplink/downlink network conditions are poor. The quality of + the stream is not guaranteed.
          • +
          • (1): Under poor downlink network conditions, the + remote video stream, to which you subscribe, falls back + to the low-quality (low resolution and low bitrate) + video stream. This option is only valid for . + This option is invalid for + method.
          • +
          • (2): Under + poor uplink/downlink network conditions, the remote video + stream, to which you subscribe, first falls back to the + low-quality (low resolution and low bitrate) video stream; + and then to an audio-only stream if the network conditions + worsen.
          • +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1054. 0: Success.
        1055. +
        1056. < 0: Failure.
        1057. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setremoteuserpriority.dita b/en-US/dita/RTC/API/api_setremoteuserpriority.dita index 012bfaac6a7..d91a7b18c01 100644 --- a/en-US/dita/RTC/API/api_setremoteuserpriority.dita +++ b/en-US/dita/RTC/API/api_setremoteuserpriority.dita @@ -1,56 +1,64 @@ - <ph keyref="setRemoteUserPriority" /> + <ph keyref="setRemoteUserPriority"/> Prioritizes a remote user's stream. - +

          - public abstract int setRemoteUserPriority(int uid, int userPriority); - - virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; - setRemoteUserPriority(uid: number, userPriority: PRIORITY_TYPE) - public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); - - Future<void> setRemoteUserPriority(int uid, UserPriority userPriority);

          + public abstract int setRemoteUserPriority(int uid, int userPriority); + + virtual int setRemoteUserPriority(uid_t uid, PRIORITY_TYPE userPriority) = 0; + setRemoteUserPriority(uid: number, userPriority: PRIORITY_TYPE) + public abstract int SetRemoteUserPriority(uint uid, PRIORITY_TYPE userPriority); + + Future<void> setRemoteUserPriority(int uid, UserPriority userPriority); +

          - -
          Since
          -
          v2.4.0
          -
          + +
          Since
          +
          v2.4.0
          +
          -

          Prioritizes a remote user's stream. The SDK ensures the high-priority user gets the best possible stream quality. The SDK ensures the high-priority user gets the best possible stream quality.

          +

          Prioritizes a remote user's stream. The SDK ensures the high-priority user gets + the best possible stream quality. The SDK ensures the high-priority user gets + the best possible stream quality.

          -
            -
          • The SDK supports setting only one user as high priority.
          • -
          • Ensure that you call this method before joining a channel.
          • -
          +
            +
          • The SDK supports setting only one user as high priority.
          • +
          • Ensure that you call this method before joining a channel.
          • +
          + +
          Parameters - - uid - The ID of the remote user. - - - userPriority - The priority of the remote user. See . - -
          + + uid + The ID of the remote user. + + + userPriority + The priority of the remote user. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1058. 0: Success.
        1059. +
        1060. < 0: Failure.
        1061. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setremoteuserspatialaudioparams.dita b/en-US/dita/RTC/API/api_setremoteuserspatialaudioparams.dita index ca88db17fc5..c74913c8e83 100644 --- a/en-US/dita/RTC/API/api_setremoteuserspatialaudioparams.dita +++ b/en-US/dita/RTC/API/api_setremoteuserspatialaudioparams.dita @@ -1,47 +1,54 @@ - <ph keyref="setRemoteUserSpatialAudioParams" /> - Sets the spatial audio effect parameters of the remote user. + <ph keyref="setRemoteUserSpatialAudioParams"/> + Sets the spatial audio effect parameters of the remote + user. - +

          - public abstract int setRemoteUserSpatialAudioParams(int uid, SpatialAudioParams params); - - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid + public abstract int setRemoteUserSpatialAudioParams(int uid, SpatialAudioParams params); + - (int)setRemoteUserSpatialAudioParams:(NSUInteger)uid params:(AgoraSpatialAudioParams* _Nonnull)params; - virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0; - - public abstract int SetRemoteUserSpatialAudioParams(uint uid, SpatialAudioParams param); - -

          + virtual int setRemoteUserSpatialAudioParams(uid_t uid, const agora::SpatialAudioParams& params) = 0; + + public abstract int SetRemoteUserSpatialAudioParams(uint uid, SpatialAudioParams param); + + +

          -

          Call this method after . After successfully setting the spatial audio effect parameters of the remote user, the local user can hear the remote user with a sense of space.

          +

          Call this method after . After successfully + setting the spatial audio effect parameters of the remote user, the local user can + hear the remote user with a sense of space.

          Parameters - - - - - - params - The spatial audio parameters. See for details. - -
          + + + + + + params + The spatial audio parameters. See for + details. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1062. 0: Success.
        1063. +
        1064. < 0: Failure.
        1065. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setremotevideostreamtype.dita b/en-US/dita/RTC/API/api_setremotevideostreamtype.dita index b4f73b81bc9..5c41ddaec2f 100644 --- a/en-US/dita/RTC/API/api_setremotevideostreamtype.dita +++ b/en-US/dita/RTC/API/api_setremotevideostreamtype.dita @@ -1,69 +1,91 @@ - <ph keyref="setRemoteVideoStreamType" /> - - Sets the stream type of the remote video. + + <ph keyref="setRemoteVideoStreamType"/> + + Sets the stream type of the remote + video. - +

          - virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; - public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType);

          + virtual int setRemoteVideoStreamType(uid_t uid, VIDEO_STREAM_TYPE streamType) = 0; + public abstract int SetRemoteVideoStreamType(uint uid, VIDEO_STREAM_TYPE streamType); +

          - virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; - public abstract int SetRemoteVideoStreamType(uint userId, REMOTE_VIDEO_STREAM_TYPE streamType);

          + virtual int setRemoteVideoStreamType(uid_t userId, REMOTE_VIDEO_STREAM_TYPE streamType) = 0; + public abstract int SetRemoteVideoStreamType(uint userId, REMOTE_VIDEO_STREAM_TYPE streamType);

          - public abstract int setRemoteVideoStreamType(int uid, int streamType); - - (int)setRemoteVideoStream:(NSUInteger)uid + public abstract int setRemoteVideoStreamType(int uid, int streamType); + - (int)setRemoteVideoStream:(NSUInteger)uid type:(AgoraVideoStreamType)streamType; - setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number - - Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType);

          + setRemoteVideoStreamType(userId: number, streamType: REMOTE_VIDEO_STREAM_TYPE): number + + Future<void> setRemoteVideoStreamType(int userId, VideoStreamType streamType); +

          -

          - Under limited network conditions, if the publisher has not disabled the dual-stream mode using (), the receiver can choose to receive either the high-quality video stream (the high resolution, and high bitrate video stream) or the low-quality video stream (the low resolution, and low bitrate video stream). The high-quality video stream has a higher resolution and bitrate, and the low-quality video stream has a lower resolution and bitrate.

          -

          By default, users receive the high-quality video stream. Call this method if you want to switch to the low-quality video stream. This method allows the app to adjust the corresponding video stream type based on the size of the video window to reduce the bandwidth and resources. The aspect ratio of the low-quality video stream is the same as the high-quality video stream. Once the resolution of the high-quality video stream is set, the system automatically sets the resolution, frame rate, and bitrate of the low-quality video stream.

          -

          - The method result returns in the callback.

          - - You can call this method either before or after joining a channel. If you call both and , the setting of takes effect.
          +

          Under limited network conditions, if the publisher has not disabled + the dual-stream mode using (), the receiver can choose to receive either the + high-quality video stream (the high resolution, and high bitrate video stream) + or the low-quality video stream (the low resolution, and low bitrate video + stream). The high-quality video stream has a higher resolution and bitrate, and + the low-quality video stream has a lower resolution and bitrate.

          +

          By default, users receive the high-quality video stream. Call this + method if you want to switch to the low-quality video stream. This method allows + the app to adjust the corresponding video stream type based on the size of the + video window to reduce the bandwidth and resources. The aspect ratio of the + low-quality video stream is the same as the high-quality video stream. Once the + resolution of the high-quality video stream is set, the system automatically + sets the resolution, frame rate, and bitrate of the low-quality video + stream.

          +

          The method result returns in the + callback.

          + You can call this method either before or after joining a + channel. If you call both and , the setting of takes effect. +
          Parameters - - uid - User ID. - - - uid - userId - User ID. - - - streamType - -

          The video stream type: .

          -

          The video stream type: -

            -
          • 0: High-quality video stream.
          • -
          • 1: Low-quality video stream.
          • -

          -
          -
          -
          + + uid + User ID. + + + uid + userId + User ID. + + + streamType + +

          The video stream type: + .

          +

          The video stream type:

            +
          • 0: High-quality video stream.
          • +
          • 1: Low-quality video stream.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1066. 0: Success.
        1067. +
        1068. < 0: Failure.
        1069. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setremotevoiceposition.dita b/en-US/dita/RTC/API/api_setremotevoiceposition.dita index 4c62debefa3..73e39346d46 100644 --- a/en-US/dita/RTC/API/api_setremotevoiceposition.dita +++ b/en-US/dita/RTC/API/api_setremotevoiceposition.dita @@ -1,61 +1,75 @@ - <ph keyref="setRemoteVoicePosition" /> - Sets the 2D position (the position on the horizontal plane) of the remote user's voice. + <ph keyref="setRemoteVoicePosition"/> + Sets the 2D position (the position on the horizontal + plane) of the remote user's voice. - +

          - public abstract int setRemoteVoicePosition(int uid, double pan, double gain); - - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain; - virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; - setRemoteVoicePosition(uid: number, pan: number, gain: number): number - public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); - - Future<void> setRemoteVoicePosition(int uid, double pan, double gain);

          + public abstract int setRemoteVoicePosition(int uid, double pan, double gain); + - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain; + virtual int setRemoteVoicePosition(uid_t uid, double pan, double gain) = 0; + setRemoteVoicePosition(uid: number, pan: number, gain: number): number + public abstract int SetRemoteVoicePosition(uint uid, double pan, double gain); + + Future<void> setRemoteVoicePosition(int uid, double pan, double gain); +

          -

          This method sets the 2D position and volume of a remote user, so that the local user can easily hear and identify the remote user's position.

          -

          When the local user calls this method to set the voice position of a remote user, the voice difference between the left and right channels allows the local user to track the real-time position of the remote user, creating a sense of space. This method applies to massive multiplayer online games, such as Battle Royale games.

          +

          This method sets the 2D position and volume of a remote user, so that the local user + can easily hear and identify the remote user's position.

          +

          When the local user calls this method to set the voice position of a remote user, the + voice difference between the left and right channels allows the local user to track + the real-time position of the remote user, creating a sense of space. This method + applies to massive multiplayer online games, such as Battle Royale games.

          -
            -
          • For this method to work, enable stereo panning for remote users by calling the method before joining a channel.
          • -
          • For the best voice positioning, Agora recommends using a wired headset.
          • -
          • Call this method after joining a channel.
          • -
          +
            +
          • For this method to work, enable stereo panning for remote users by calling + the method before joining a + channel.
          • +
          • For the best voice positioning, Agora recommends using a wired headset.
          • +
          • Call this method after joining a channel.
          • +
          + +
          Parameters - - uid - The user ID of the remote user. - - - pan - The voice position of the remote user. The value ranges from -1.0 to 1.0: -
            -
          • 0.0: (Default) The remote voice comes from the front.
          • -
          • -1.0: The remote voice comes from the left.
          • -
          • 1.0: The remote voice comes from the right.
          • -
          -
          - - gain - The volume of the remote user. The value ranges from 0.0 to 100.0. The default value is 100.0 (the original volume of the remote user). The smaller the value, the lower the volume. - -
          + + uid + The user ID of the remote user. + + + pan + The voice position of the remote user. The value ranges from -1.0 to 1.0:
            +
          • 0.0: (Default) The remote voice comes from the front.
          • +
          • -1.0: The remote voice comes from the left.
          • +
          • 1.0: The remote voice comes from the right.
          • +
          +
          +
          + + gain + The volume of the remote user. The value ranges from 0.0 to 100.0. The + default value is 100.0 (the original volume of the remote user). The smaller + the value, the lower the volume. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1070. 0: Success.
        1071. +
        1072. < 0: Failure.
        1073. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setremotevoicepositionex.dita b/en-US/dita/RTC/API/api_setremotevoicepositionex.dita index 4dd56d60894..fbcffb9023e 100644 --- a/en-US/dita/RTC/API/api_setremotevoicepositionex.dita +++ b/en-US/dita/RTC/API/api_setremotevoicepositionex.dita @@ -1,68 +1,78 @@ - <ph keyref="setRemoteVoicePositionEx" /> - Sets the 2D position (the position on the horizontal plane) of the remote user's voice. + <ph keyref="setRemoteVoicePositionEx"/> + Sets the 2D position (the position on the horizontal + plane) of the remote user's voice. - +

          - public abstract int setRemoteVoicePositionEx( + public abstract int setRemoteVoicePositionEx( int uid, double pan, double gain, RtcConnection connection); - - (int)setRemoteVoicePosition:(NSUInteger)uid + - (int)setRemoteVoicePosition:(NSUInteger)uid pan:(double)pan gain:(double)gain connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setRemoteVoicePositionEx(uid_t uid, double pan, double gain, const RtcConnection& connection) = 0; - - public abstract int SetRemoteVoicePositionEx(uint uid, double pan, double gain, RtcConnection connection); - -

          + virtual int setRemoteVoicePositionEx(uid_t uid, double pan, double gain, const RtcConnection& connection) = 0; + + public abstract int SetRemoteVoicePositionEx(uint uid, double pan, double gain, RtcConnection connection); + + +

          This method sets the voice position and volume of a remote user.

          -

          When the local user calls this method to set the voice position of a remote user, the voice difference between the left and right channels allows the local user to track the real-time position of the remote user, creating a sense of space. This method applies to massive multiplayer online games, such as Battle Royale games.

          +

          When the local user calls this method to set the voice position of a remote user, the + voice difference between the left and right channels allows the local user to track + the real-time position of the remote user, creating a sense of space. This method + applies to massive multiplayer online games, such as Battle Royale games.

          -
            -
          • For the best voice positioning, Agora recommends using a wired headset.
          • -
          • Call this method after joining a channel.
          • -
          +
            +
          • For the best voice positioning, Agora recommends using a wired headset.
          • +
          • Call this method after joining a channel.
          • +
          + +
          Parameters - - uid - The user ID of the remote user. - - - pan - The voice position of the remote user. The value ranges from -1.0 to 1.0: -
            -
          • -1.0: The remote voice comes from the left.
          • -
          • 0.0: (Default) The remote voice comes from the front.
          • -
          • 1.0: The remote voice comes from the right.
          • -
          -
          - - gain - The volume of the remote user. The value ranges from 0.0 to 100.0. The default value is 100.0 (the original volume of the remote user). The smaller the value, the lower the volume. - - - - - -
          + + uid + The user ID of the remote user. + + + pan + The voice position of the remote user. The value ranges from -1.0 to 1.0:
            +
          • -1.0: The remote voice comes from the left.
          • +
          • 0.0: (Default) The remote voice comes from the front.
          • +
          • 1.0: The remote voice comes from the right.
          • +
          +
          + + gain + The volume of the remote user. The value ranges from 0.0 to 100.0. The + default value is 100.0 (the original volume of the remote user). The smaller + the value, the lower the volume. + + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1074. 0: Success.
        1075. +
        1076. < 0: Failure.
        1077. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setrendermode.dita b/en-US/dita/RTC/API/api_setrendermode.dita index 67318401912..85a4a99b63e 100644 --- a/en-US/dita/RTC/API/api_setrendermode.dita +++ b/en-US/dita/RTC/API/api_setrendermode.dita @@ -1,33 +1,35 @@ - <ph keyref="setRenderMode" /> + <ph keyref="setRenderMode"/> Sets the rendering mode. - +

          - - - - setRenderMode(mode: RENDER_MODE): void - - -

          + + + + setRenderMode(mode: RENDER_MODE): void + + + +

          Parameters - - mode - The rendering mode. For details, see . - -
          + + mode + The rendering mode. For details, see . + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setscreencapturecontenthint.dita b/en-US/dita/RTC/API/api_setscreencapturecontenthint.dita index 8f132ae5d46..97497df562a 100644 --- a/en-US/dita/RTC/API/api_setscreencapturecontenthint.dita +++ b/en-US/dita/RTC/API/api_setscreencapturecontenthint.dita @@ -1,57 +1,68 @@ - <ph keyref="setScreenCaptureContentHint" /> - Sets the content hint for screen sharing. + <ph keyref="setScreenCaptureContentHint"/> + Sets the content hint for screen + sharing. - +

          - - - virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0; + + + virtual int setScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint) = 0; - - public abstract int SetScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint); - -

          + + public abstract int SetScreenCaptureContentHint(VIDEO_CONTENT_HINT contentHint); + + +

          - - - virtual int setScreenCaptureContentHint(VideoContentHint contentHint) = 0; - setScreenCaptureContentHint(contentHint: VideoContentHint): number - public abstract int SetScreenCaptureContentHint(VideoContentHint contentHint); - - Future<void> setScreenCaptureContentHint(VideoContentHint contentHint);

          + + + virtual int setScreenCaptureContentHint(VideoContentHint contentHint) = 0; + setScreenCaptureContentHint(contentHint: VideoContentHint): number + public abstract int SetScreenCaptureContentHint(VideoContentHint contentHint); + + Future<void> setScreenCaptureContentHint(VideoContentHint contentHint); +

          - -
          Since
          -
          v2.4.0
          -
          + +
          Since
          +
          v2.4.0
          +
          -

          A content hint suggests the type of the content being shared, so that the SDK applies different optimization algorithms to different types of content. If you don't call this method, the default content hint is .

          - You can call this method either before or after you start screen sharing.
          +

          A content hint suggests the type of the content being shared, so that the + SDK applies different optimization algorithms to different types of content. If you + don't call this method, the default content hint is .

          + You can call this method either before or after you + start screen sharing. +
          Parameters - - contentHint - The content hint for screen sharing. For details, see . - -
          + + contentHint + The content hint for screen sharing. For details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1078. 0: Success.
        1079. +
        1080. < 0: Failure.
        1081. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setscreencapturescenario.dita b/en-US/dita/RTC/API/api_setscreencapturescenario.dita index 016fc49d6f5..4910f47d8fc 100644 --- a/en-US/dita/RTC/API/api_setscreencapturescenario.dita +++ b/en-US/dita/RTC/API/api_setscreencapturescenario.dita @@ -1,37 +1,43 @@ - <ph keyref="setScreenCaptureScenario" /> + <ph keyref="setScreenCaptureScenario"/> Sets the screen sharing scenario. - +
          - - + + Future<void> setScreenCaptureScenario(ScreenScenarioType screenScenario);
          -

          When you start screen sharing or window sharing, you can call this method to set the screen sharing scenario. The SDK adjusts the video quality and experience of the sharing according to the scenario.

          - This method is only available for the macOS and Windows platforms.
          +

          When you start screen sharing or window sharing, you can call this method + to set the screen sharing scenario. The SDK adjusts the video quality and experience + of the sharing according to the scenario.

          + This method is only available for the macOS + and Windows platforms. +
          Parameters - - screenScenario - The screen sharing scenario. See . - -
          + + screenScenario + The screen sharing scenario. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1082. 0: Success.
        1083. +
        1084. < 0: Failure.
        1085. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setuplocalvideo.dita b/en-US/dita/RTC/API/api_setuplocalvideo.dita index 6557afd93c1..d72944ed664 100644 --- a/en-US/dita/RTC/API/api_setuplocalvideo.dita +++ b/en-US/dita/RTC/API/api_setuplocalvideo.dita @@ -1,48 +1,61 @@ - <ph keyref="setupLocalVideo" /> + <ph keyref="setupLocalVideo"/> Initializes the local video view. - +

          - public abstract int setupLocalVideo(VideoCanvas local); - - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local; - virtual int setupLocalVideo(const VideoCanvas& canvas) = 0; - - public abstract int SetupLocalVideo(VideoCanvas canvas); - -

          + public abstract int setupLocalVideo(VideoCanvas local); + - (int)setupLocalVideo:(AgoraRtcVideoCanvas * _Nullable)local; + virtual int setupLocalVideo(const VideoCanvas& canvas) = 0; + + public abstract int SetupLocalVideo(VideoCanvas canvas); + + +

          -

          This method initializes the video view of a local stream on the local device. It affects only the video view that the local user sees, not the published local video stream. Call this method to bind the local video stream to a video view and to set the rendering and mirror modes of the video view.

          -

          After initialization, call this method to set the local video and then join the channel. The local video still binds to the view after you leave the channel. To unbind the local video from the view, set the view parameter as .

          +

          This method initializes the video view of a local stream on the local device. It + affects only the video view that the local user sees, not the published local video + stream. Call this method to bind the local video stream to a video view + and to set the rendering and mirror modes of the video view.

          +

          After initialization, call this method to set the local video and then join the + channel. The local video still binds to the view after you leave the channel. To + unbind the local video from the view, set the view parameter as + .

          -
            -
          • You can call this method either before or after joining a channel.
          • -
          • To update the rendering or mirror mode of the local video view during a call, use the method.
          • -
          +
            +
          • You can call this method either before or after joining a channel.
          • +
          • To update the rendering or mirror mode of the local video view during a + call, use the method.
          • +
          + +
          Parameters - - canvas - local - The local video view and settings. For details, see . - -
          + + canvas + local + The local video view and settings. For details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1086. 0: Success.
        1087. +
        1088. < 0: Failure.
        1089. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setupremotevideo.dita b/en-US/dita/RTC/API/api_setupremotevideo.dita index 5711fd8b140..5f03516c515 100644 --- a/en-US/dita/RTC/API/api_setupremotevideo.dita +++ b/en-US/dita/RTC/API/api_setupremotevideo.dita @@ -1,52 +1,71 @@ - <ph keyref="setupRemoteVideo" /> - Initializes the video view of a remote user. + <ph keyref="setupRemoteVideo"/> + Initializes the video view of a remote + user. - +

          - public abstract int setupRemoteVideo(VideoCanvas remote); - - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote; - virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0; - - public abstract int SetupRemoteVideo(VideoCanvas canvas); - -

          + public abstract int setupRemoteVideo(VideoCanvas remote); + - (int)setupRemoteVideo:(AgoraRtcVideoCanvas * _Nonnull)remote; + virtual int setupRemoteVideo(const VideoCanvas& canvas) = 0; + + public abstract int SetupRemoteVideo(VideoCanvas canvas); + + +

          -

          This method initializes the video view of a remote stream on the local device. It affects only the video view that the local user sees. Call this method to bind the remote video stream to a video view and to set the rendering and mirror modes of the video view.

          -

          You need to specify the ID of the remote user in this method. If the remote user ID is unknown to the application, set it after the app receives the callback.

          -

          To unbind the remote user from the view, set the view parameter to NULL.

          +

          This method initializes the video view of a remote stream on the local device. It + affects only the video view that the local user sees. Call this method to bind the + remote video stream to a video view and to set the rendering and mirror modes of the + video view.

          +

          You need to specify the ID of the remote user in this method. If the remote user ID + is unknown to the application, set it after the app receives the callback.

          +

          To unbind the remote user from the view, set the view parameter + to NULL.

          Once the remote user leaves the channel, the SDK unbinds the remote user.

          -
            -
          • To update the rendering or mirror mode of the remote video view during a call, use the method.
          • -
          • If you use the Agora recording feature, the recording client joins the channel as a dummy client, triggering the callback. Do not bind the dummy client to the app view because the dummy client does not send any video streams. If your app does not recognize the dummy client, bind the remote user to the view when the SDK triggers the callback.
          • -
          +
            +
          • To update the rendering or mirror mode of the remote video view during a + call, use the method.
          • +
          • If you use the Agora recording feature, the recording client joins the + channel as a dummy client, triggering the + callback. Do not bind the dummy client to the app view because the dummy + client does not send any video streams. If your app does not recognize the + dummy client, bind the remote user to the view when the SDK triggers the + callback.
          • +
          + +
          Parameters - - canvas - remote - -

          The remote video view and settings. For details, see .

          -
          -
          -
          + + canvas + remote + +

          The remote video view and settings. For details, see .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1090. 0: Success.
        1091. +
        1092. < 0: Failure.
        1093. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setupremotevideoex.dita b/en-US/dita/RTC/API/api_setupremotevideoex.dita index b0e228b1aa3..48a0433b5b5 100644 --- a/en-US/dita/RTC/API/api_setupremotevideoex.dita +++ b/en-US/dita/RTC/API/api_setupremotevideoex.dita @@ -1,56 +1,73 @@ - <ph keyref="setupRemoteVideoEx" /> - Initializes the video view of a remote user. + <ph keyref="setupRemoteVideoEx"/> + Initializes the video view of a remote + user. - +

          - public abstract int setupRemoteVideoEx(VideoCanvas remote, RtcConnection connection); - - (int)setupRemoteVideoEx:(AgoraRtcVideoCanvas* _Nonnull)remote + public abstract int setupRemoteVideoEx(VideoCanvas remote, RtcConnection connection); + - (int)setupRemoteVideoEx:(AgoraRtcVideoCanvas* _Nonnull)remote connection:(AgoraRtcConnection * _Nonnull)connection; - virtual int setupRemoteVideoEx(const VideoCanvas& canvas, const RtcConnection& connection) = 0; - - public abstract int SetupRemoteVideoEx(VideoCanvas canvas, RtcConnection connection); - -

          + virtual int setupRemoteVideoEx(const VideoCanvas& canvas, const RtcConnection& connection) = 0; + + public abstract int SetupRemoteVideoEx(VideoCanvas canvas, RtcConnection connection); + + +

          -

          This method initializes the video view of a remote stream on the local device. It affects only the video view that the local user sees. Call this method to bind the remote video stream to a video view and to set the rendering and mirror modes of the video view.

          -

          The application specifies the uid of the remote video in the method before the remote user joins the channel.

          -

          If the remote uid is unknown to the application, set it after the application receives the callback. If the Video Recording function is enabled, the Video Recording Service joins the channel as a dummy client, causing other clients to also receive the onUserJoined callback. Do not bind the dummy client to the application view because the dummy client does not send any video streams.

          -

          To unbind the remote user from the view, set the view parameter to NULL.

          +

          This method initializes the video view of a remote stream on the local device. It + affects only the video view that the local user sees. Call this method to bind the + remote video stream to a video view and to set the rendering and mirror modes of the + video view.

          +

          The application specifies the uid of the remote video in the method before the remote user joins the channel.

          +

          If the remote uid is unknown to the application, set it after the application + receives the callback. If the Video Recording function + is enabled, the Video Recording Service joins the channel as a dummy client, causing + other clients to also receive the onUserJoined callback. Do not + bind the dummy client to the application view because the dummy client does not send + any video streams.

          +

          To unbind the remote user from the view, set the view parameter + to NULL.

          Once the remote user leaves the channel, the SDK unbinds the remote user.

          -

          To update the rendering or mirror mode of the remote video view during a call, use the method.

          -
          +

          To update the rendering or mirror mode of the remote video view during a call, + use the method.

          + +
          Parameters - - remote - canvas - -

          The remote video view settings. For details, see .

          -
          -
          - - - - -
          + + remote + canvas + +

          The remote video view settings. For details, see .

          +
          +
          + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1094. 0: Success.
        1095. +
        1096. < 0: Failure.
        1097. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvideodenoiseroptions.dita b/en-US/dita/RTC/API/api_setvideodenoiseroptions.dita index 4e0e1ed0565..d0291e4c050 100644 --- a/en-US/dita/RTC/API/api_setvideodenoiseroptions.dita +++ b/en-US/dita/RTC/API/api_setvideodenoiseroptions.dita @@ -1,60 +1,81 @@ - <ph keyref="setVideoDenoiserOptions" /> + + <ph keyref="setVideoDenoiserOptions"/> + Sets video noise reduction. - +

          - - - - - public abstract int SetVideoDenoiserOptions(bool enabled, VideoDenoiserOptions options); - - Future<void> setVideoDenoiserOptions( - bool enabled, VideoDenoiserOptions option);

          + + + + + public abstract int SetVideoDenoiserOptions(bool enabled, VideoDenoiserOptions options); + + Future<void> setVideoDenoiserOptions( + bool enabled, VideoDenoiserOptions option); +

          -

          Underlit environments and low-end video capture devices can cause video images to contain significant noise, which affects video quality. In real-time interactive scenarios, video noise also consumes bitstream resources and reduces encoding efficiency during encoding.

          -

          You can call this method to enable the video noise reduction feature and set the options of the video noise reduction effect.

          +

          Underlit environments and low-end video capture devices can cause video images to + contain significant noise, which affects video quality. In real-time interactive + scenarios, video noise also consumes bitstream resources and reduces encoding + efficiency during encoding.

          +

          You can call this method to enable the video noise reduction feature and set the + options of the video noise reduction effect.

          -
            -
          • Before calling this method, ensure that you have integrated the libagora_video_process_extension.so dynamic library.
          • -
          • Before calling this method, make sure you have integrated the AgoraVideoSegmentationExtension.xcframework library into your project.
          • -
          • Before calling this method, make sure you have integrated the libagora_segmentation_extension.dll library into your project.
          • -
          • Call this method after calling .
          • -
          • Video noise reduction has certain requirements for equipment performance. If your device overheats after you enable video noise reduction, Agora recommends modifying the video noise reduction options to a less performance-consuming level or disabling video noise reduction entirely.
          • -
          +
            +
          • Before calling this method, ensure that you have integrated + the libagora_video_process_extension.so dynamic + library.
          • +
          • Before calling this method, make sure you have integrated + the AgoraVideoSegmentationExtension.xcframework library + into your project.
          • +
          • Before calling this method, make sure you have integrated the + libagora_segmentation_extension.dll library into your + project.
          • +
          • Call this method after calling .
          • +
          • Video noise reduction has certain requirements for equipment performance. If + your device overheats after you enable video noise reduction, Agora + recommends modifying the video noise reduction options to a less + performance-consuming level or disabling video noise reduction + entirely.
          • +
          + +
          Parameters - - enabled - Sets whether to enable video noise reduction: -
            -
          • : Enable.
          • -
          • : (Default) Disable.
          • -
          -
          - - options - The video noise reduction options. For more details, see -. - -
          + + enabled + Sets whether to enable video noise reduction:
            +
          • : Enable.
          • +
          • : (Default) Disable.
          • +
          +
          +
          + + options + The video noise reduction options. For more details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1098. 0: Success.
        1099. +
        1100. < 0: Failure.
        1101. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvideoencoderconfiguration.dita b/en-US/dita/RTC/API/api_setvideoencoderconfiguration.dita index d0e404720a8..2850e35c29b 100644 --- a/en-US/dita/RTC/API/api_setvideoencoderconfiguration.dita +++ b/en-US/dita/RTC/API/api_setvideoencoderconfiguration.dita @@ -1,43 +1,50 @@ - <ph keyref="setVideoEncoderConfiguration" /> + <ph keyref="setVideoEncoderConfiguration"/> Sets the video encoder configuration. - +

          - public abstract int setVideoEncoderConfiguration(VideoEncoderConfiguration config); - - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; - virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0; - setVideoEncoderConfiguration(config: VideoEncoderConfiguration): number - public abstract int SetVideoEncoderConfiguration(VideoEncoderConfiguration config); - - Future<void> setVideoEncoderConfiguration(VideoEncoderConfiguration config);

          + public abstract int setVideoEncoderConfiguration(VideoEncoderConfiguration config); + - (int)setVideoEncoderConfiguration:(AgoraVideoEncoderConfiguration * _Nonnull)config; + virtual int setVideoEncoderConfiguration(const VideoEncoderConfiguration& config) = 0; + setVideoEncoderConfiguration(config: VideoEncoderConfiguration): number + public abstract int SetVideoEncoderConfiguration(VideoEncoderConfiguration config); + + Future<void> setVideoEncoderConfiguration(VideoEncoderConfiguration config); +

          Sets the encoder configuration for the local video.

          - You can call this method either before or after joining a channel. If you don't need to set the video encoder configuration after joining a channel, - Agora recommends you calling this method before the method to reduce the rendering time of the first video frame.
          + You can call this method either before or after joining a + channel. If you don't need to set the video encoder configuration after joining a + channel, Agora recommends you calling this method before the method to reduce the rendering time of the first video + frame. +
          Parameters - - config - Video profile. See . - -
          + + config + Video profile. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1102. 0: Success.
        1103. +
        1104. < 0: Failure.
        1105. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvideoprofile.dita b/en-US/dita/RTC/API/api_setvideoprofile.dita index 435cd3bc804..bde3ef325dc 100644 --- a/en-US/dita/RTC/API/api_setvideoprofile.dita +++ b/en-US/dita/RTC/API/api_setvideoprofile.dita @@ -1,58 +1,71 @@ - <ph keyref="setVideoProfile" /> + <ph keyref="setVideoProfile"/> Sets the video encoder configuration. - +

          - public abstract int setVideoProfile(int profile, boolean swapWidthAndHeight); - - (int)setVideoProfile:(AgoraVideoProfile)profile + public abstract int setVideoProfile(int profile, boolean swapWidthAndHeight); + - (int)setVideoProfile:(AgoraVideoProfile)profile swapWidthAndHeight:(BOOL)swapWidthAndHeight - virtual int setVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight) = 0; - setVideoProfile(profile: VIDEO_PROFILE_TYPE, swapWidthAndHeight: boolean = false): number - public abstract int SetVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight = false); - -

          + virtual int setVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight) = 0; + setVideoProfile(profile: VIDEO_PROFILE_TYPE, swapWidthAndHeight: boolean = false): number + public abstract int SetVideoProfile(VIDEO_PROFILE_TYPE profile, bool swapWidthAndHeight = false); + + +

          - -
          Deprecated:
          -
          This method is deprecated as of v2.3. Please use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v2.3. Please use instead.
          +
          -

          This method sets the video encoder configuration. You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before to reduce the time to render the first video frame.

          +

          This method sets the video encoder configuration. You can call this method either + before or after joining a channel. If the user does not need to reset the video + encoding properties after joining the channel, Agora recommends calling this method + before to reduce the time to render the first video + frame.

          Parameters - - profile - Video profile. For details, see . - - - swapWidthAndHeight - -

          The SDK outputs video with a fixed width and height according to the video profile (profile) you selected. This parameter sets whether to swap width and height of the video:

          -
            -
          • : Swap the width and height.
          • -
          • : (Default) Do not swap the width and height.
          • -
          -
          -
          + + profile + Video profile. For details, see . + + + swapWidthAndHeight + +

          The SDK outputs video with a fixed width and height according to the + video profile (profile) you selected. This + parameter sets whether to swap width and height of the video:

          +
            +
          • : Swap the width and + height.
          • +
          • : (Default) Do not swap the + width and height.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1106. 0: Success.
        1107. +
        1108. < 0: Failure.
        1109. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvideoprofile2.dita b/en-US/dita/RTC/API/api_setvideoprofile2.dita index 0290dd1ef19..edb28446205 100644 --- a/en-US/dita/RTC/API/api_setvideoprofile2.dita +++ b/en-US/dita/RTC/API/api_setvideoprofile2.dita @@ -1,61 +1,76 @@ - <ph keyref="setVideoProfile2" /> + <ph keyref="setVideoProfile2"/> Sets the video encoder configuration. - +

          - public abstract int setVideoProfile(int width, int height, int frameRate, int bitrate); - - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate; - - - - -

          + public abstract int setVideoProfile(int width, int height, int frameRate, int bitrate); + - (int)setVideoResolution:(CGSize)size andFrameRate:(NSInteger)frameRate bitrate:(NSInteger)bitrate; + + + + + +

          - -
          Deprecated:
          -
          This method is deprecated as of v2.3. Please use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v2.3. Please use instead.
          +
          -

          This method sets the video encoder configuration. You can call this method either before or after joining a channel. If the user does not need to reset the video encoding properties after joining the channel, Agora recommends calling this method before to reduce the time to render the first video frame.

          +

          This method sets the video encoder configuration. You can call this method either + before or after joining a channel. If the user does not need to reset the video + encoding properties after joining the channel, Agora recommends calling this method + before to reduce the time to render the first video + frame.

          Parameters - - width - The width of the video. The maximum value of width × height is 1280 × 720. - - - height - The height of the video. The maximum value of width × height is 1280 × 720. - - - frameRate - The frame rate of the video. The highest value is 30. You can set the parameter as 5, 10, 15, 24, and 30. - - - bitrate - The bitrate of the video. You need to manually work out the bitrate according to the width, height, and frame rate. With the same width and height, the bitrate varies with the frame rate: -
            -
          • If the frame rate is 5 fps, divide the recommended bitrate by 2.
          • -
          • If the frame rate is 15 fps, use the recommended bitrate.
          • -
          • If the frame rate is 30 fps, multiply the recommended bitrate by 1.5.
          • -
          • Calculate the bitrate according to the ratio if you choose other frame rates.
          • -
          • If you set a bitrate beyond the proper range, the SDK automatically adjusts the bitrate to a value within the proper range.
          • -
          -
          -
          + + width + The width of the video. The maximum value of width × height is 1280 × + 720. + + + height + The height of the video. The maximum value of width × height is 1280 × + 720. + + + frameRate + The frame rate of the video. The highest value is 30. You can set the + parameter as 5, 10, 15, 24, and 30. + + + bitrate + The bitrate of the video. You need to manually work out the bitrate + according to the width, height, and frame rate. With the same width and + height, the bitrate varies with the frame rate:
            +
          • If the frame rate is 5 fps, divide the recommended bitrate by + 2.
          • +
          • If the frame rate is 15 fps, use the recommended bitrate.
          • +
          • If the frame rate is 30 fps, multiply the recommended bitrate by + 1.5.
          • +
          • Calculate the bitrate according to the ratio if you choose other + frame rates.
          • +
          • If you set a bitrate beyond the proper range, the SDK automatically + adjusts the bitrate to a value within the proper range.
          • +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvideoqualityparameters.dita b/en-US/dita/RTC/API/api_setvideoqualityparameters.dita index 77afd6a2599..0c93d2ed3c5 100644 --- a/en-US/dita/RTC/API/api_setvideoqualityparameters.dita +++ b/en-US/dita/RTC/API/api_setvideoqualityparameters.dita @@ -1,53 +1,62 @@ - <ph keyref="setVideoQualityParameters" /> - Sets the preferences for high-quality video. (LIVE_BROADCASTING only). + <ph keyref="setVideoQualityParameters"/> + Sets the preferences for high-quality video. + (LIVE_BROADCASTING only). - +

          - public abstract int setVideoQualityParameters(boolean preferFrameRateOverImageQuality); - - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality; - virtual int setVideoQualityParameters(bool preferFrameRateOverImageQuality) = 0; - - public abstract int SetVideoQualityParameters(bool preferFrameRateOverImageQuality); - -

          + public abstract int setVideoQualityParameters(boolean preferFrameRateOverImageQuality); + - (int)setVideoQualityParameters:(BOOL)preferFrameRateOverImageQuality; + virtual int setVideoQualityParameters(bool preferFrameRateOverImageQuality) = 0; + + public abstract int SetVideoQualityParameters(bool preferFrameRateOverImageQuality); + + +

          - -
          Deprecated:
          -
          Deprecated as of v2.4.0. Agora recommends using the degradationPreference parameter in the class to set the video quality preference.
          -
          + +
          Deprecated:
          +
          Deprecated as of v2.4.0. Agora recommends using the + degradationPreference parameter in the class to set the video quality + preference.
          +
          Parameters - - preferFrameRateOverImageQuality - -

          Whether to prioritize smoothness or image quality. -

            -
          • : Prioritizes smoothness.
          • -
          • : (Default) Prioritizes the image quality.
          • -

          -
          -
          -
          + + preferFrameRateOverImageQuality + +

          Whether to prioritize smoothness or image quality.

            +
          • : Prioritizes + smoothness.
          • +
          • : (Default) Prioritizes the + image quality.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1110. 0: Success.
        1111. +
        1112. < 0: Failure.
        1113. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvideorenderdimension.dita b/en-US/dita/RTC/API/api_setvideorenderdimension.dita index c427db8223c..a9be859ec5b 100644 --- a/en-US/dita/RTC/API/api_setvideorenderdimension.dita +++ b/en-US/dita/RTC/API/api_setvideorenderdimension.dita @@ -1,57 +1,66 @@ - <ph keyref="setVideoRenderDimension" /> - Sets the rendering resolution of the local video in the JavaScript layer. + <ph keyref="setVideoRenderDimension"/> + Sets the rendering resolution of the local video in the + JavaScript layer. - +

          - - - - setVideoRenderDimension( + + + + setVideoRenderDimension( user: User, width: number, height: number, channelId: string = "" ) - - -

          + + + +

          -

          The Agora SDK automatically controls the video rendering in the JavaScript layer. If the display resolution is too low, you can call this method to adjust the resolution.

          +

          The Agora SDK automatically controls the video rendering in the JavaScript layer. If + the display resolution is too low, you can call this method to adjust the + resolution.

          -
            -
          • This method affects only the local display.
          • -
          • To ensure the video quality, adjust the video resolution accordingly when you set the frame rate. See .
          • -
          +
            +
          • This method affects only the local display.
          • +
          • To ensure the video quality, adjust the video resolution accordingly when + you set the frame rate. See .
          • +
          + +
          Parameters - - user - The user of the video. See . - - - width - Width (pixel) of the video frame. The default value is 360. - - - height - Height (pixel) of the video frame. The default value is 640. - - - channelId - The ID of the channel in which the video is rendered. Set this parameter in multi-channel scenarios only. - -
          + + user + The user of the video. See . + + + width + Width (pixel) of the video frame. The default value is 360. + + + height + Height (pixel) of the video frame. The default value is 640. + + + channelId + The ID of the channel in which the video is rendered. Set this parameter in + multi-channel scenarios only. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvideorenderfps.dita b/en-US/dita/RTC/API/api_setvideorenderfps.dita index c1904ba3e64..ce572ce85d7 100644 --- a/en-US/dita/RTC/API/api_setvideorenderfps.dita +++ b/en-US/dita/RTC/API/api_setvideorenderfps.dita @@ -1,40 +1,49 @@ - <ph keyref="setVideoRenderFPS" /> - Sets the rendering frame rate of the local video in the JavaScript layer. + <ph keyref="setVideoRenderFPS"/> + Sets the rendering frame rate of the local video in the + JavaScript layer. - +

          - - - - setVideoRenderFPS(fps: number) - - -

          + + + + setVideoRenderFPS(fps: number) + + + +

          -

          The Agora SDK automatically controls the video rendering in the JavaScript layer. If the display frame rate is too low, you can call this method to adjust the frame rate.

          +

          The Agora SDK automatically controls the video rendering in the JavaScript layer. If + the display frame rate is too low, you can call this method to adjust the frame + rate.

          -
            -
          • This method affects only the local display.
          • -
          • To ensure the video quality, adjust the frame rate accordingly when you set the resolution. See .
          • -
          +
            +
          • This method affects only the local display.
          • +
          • To ensure the video quality, adjust the frame rate accordingly when you set + the resolution. See .
          • +
          + +
          Parameters - - fps - The rendering frame rate (fps) of the local video. The maximum value is 30 fps. - -
          + + fps + The rendering frame rate (fps) of the local video. The maximum value is 30 + fps. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvideosource.dita b/en-US/dita/RTC/API/api_setvideosource.dita index 783965022a5..58ac531a8ec 100644 --- a/en-US/dita/RTC/API/api_setvideosource.dita +++ b/en-US/dita/RTC/API/api_setvideosource.dita @@ -1,42 +1,53 @@ - <ph keyref="setVideoSource" /> + <ph keyref="setVideoSource"/> Sets a custom video source. - +

          - - - virtual bool setVideoSource(IVideoSource *source) = 0; - - - -

          + + + virtual bool setVideoSource(IVideoSource *source) = 0; + + + + +

          -

          During real-time communication, the Agora SDK enables the default video input device, that is, the built-in camera to capture video. If you need a custom video source, implement the class first, and call this method to add the custom video source to the SDK.

          - You can call this method either before or after joining a channel.
          +

          During real-time communication, the Agora SDK enables the default video input device, + that is, the built-in camera to capture video. If you need a custom video source, + implement the class first, and call this method to add + the custom video source to the SDK.

          + You can call this method either before or after joining a + channel. +
          Parameters - - source - The custom video source. For details, see . - -
          + + source + The custom video source. For details, see . + + +
          Returns
            -
          • : The custom video source is added to the SDK.
          • -
          • : The custom video source is not added to the SDK.
          • -
          +
        1114. : The custom video source is added to the + SDK.
        1115. +
        1116. : The custom video source is not added to + the SDK.
        1117. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setview.dita b/en-US/dita/RTC/API/api_setview.dita index dbbe6d18472..17778a72375 100644 --- a/en-US/dita/RTC/API/api_setview.dita +++ b/en-US/dita/RTC/API/api_setview.dita @@ -1,33 +1,36 @@ - <ph keyref="setView" /> + <ph keyref="setView"/> Configures the video renderer. - +

          - - - - setView(rendererConfig: RendererConfig): void - - -

          + + + + setView(rendererConfig: RendererConfig): void + + + +

          Parameters - - renderConfig - Configurations for the video renderer. See . - -
          + + renderConfig + Configurations for the video renderer. See . + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvoicebeautifierparameters.dita b/en-US/dita/RTC/API/api_setvoicebeautifierparameters.dita index ee96550f9fa..6a78345d9f6 100644 --- a/en-US/dita/RTC/API/api_setvoicebeautifierparameters.dita +++ b/en-US/dita/RTC/API/api_setvoicebeautifierparameters.dita @@ -1,88 +1,116 @@ - <ph keyref="setVoiceBeautifierParameters" /> - Sets parameters for the preset voice beautifier effects. + <ph keyref="setVoiceBeautifierParameters"/> + Sets parameters for the preset voice beautifier + effects. - +

          - public abstract int setVoiceBeautifierParameters(int preset, int param1, int param2); - - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2; - virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2) = 0; - setVoiceBeautifierParameters(preset: VOICE_BEAUTIFIER_PRESET, param1: number, param2: number): number - public abstract int SetVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2); - - Future<void> setAudioEffectParameters( - AudioEffectPreset preset, int param1, int param2);

          + public abstract int setVoiceBeautifierParameters(int preset, int param1, int param2); + - (int)setVoiceBeautifierParameters:(AgoraVoiceBeautifierPreset)preset param1:(int)param1 param2:(int)param2; + virtual int setVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2) = 0; + setVoiceBeautifierParameters(preset: VOICE_BEAUTIFIER_PRESET, param1: number, param2: number): number + public abstract int SetVoiceBeautifierParameters(VOICE_BEAUTIFIER_PRESET preset, int param1, int param2); + + Future<void> setAudioEffectParameters( + AudioEffectPreset preset, int param1, int param2); +

          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          -

          Call this method to set a gender characteristic and a reverberation effect for the singing beautifier effect. This method sets parameters for the local user who sends an audio stream. After setting the audio parameters, all users in the channel can hear the effect.

          -

          For better voice effects, Agora recommends that you call and setscenario to (3) and profile to (4) or (5) before calling this method.

          +

          Call this method to set a gender characteristic and a reverberation effect for the + singing beautifier effect. This method sets parameters for the local user who sends + an audio stream. After setting the audio parameters, all users in the channel can + hear the effect.

          +

          For better voice effects, Agora recommends that you call and setscenario to (3) and profile to + (4) or (5) before calling this + method.

          -
            -
          • You can call this method either before or after joining a channel.
          • -
          • Do not set the profile parameter of to (1) or (6). Otherwise, the method does not take effect.
          • -
          • Do not set the profile parameter of to (1). Otherwise, the method does not take effect.
          • -
          • This method works best with the human voice. Agora does not recommend using this method for audio containing music.
          • -
          • After calling , Agora recommends not calling the following methods, because they can override settings in :
              -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
          • -
          +
        1118. You can call this method either before or after joining a channel.
        1119. +
        1120. Do not set the profile parameter of + to (1) or (6). Otherwise, the method does not take + effect.
        1121. +
        1122. Do not set the profile + parameter of to (1). Otherwise, the method does + not take effect.
        1123. +
        1124. This method works best with the human voice. Agora does not recommend using + this method for audio containing music.
        1125. +
        1126. After calling , Agora + recommends not calling the following methods, because they can override + settings in :
            +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          +
        1127. + + +
          Parameters - - preset - The option for the preset audio effect: -
            -
          • SINGING_BEAUTIFIER: The singing beautifier effect.
          • -
          -
          - - param1 - The gender characteristics options for the singing voice: -
            -
          • 1: A male-sounding voice.
          • -
          • 2: A female-sounding voice.
          • -
          -
          - - param2 - The reverberation effect options for the singing voice: -
            -
          • 1: The reverberation effect sounds like singing in a small room.
          • -
          • 2: The reverberation effect sounds like singing in a large room.
          • -
          • 3: The reverberation effect sounds like singing in a hall.
          • -
          -
          -
          + + preset + The option for the preset audio effect:
            +
          • SINGING_BEAUTIFIER: The singing beautifier + effect.
          • +
          +
          +
          + + param1 + The gender characteristics options for the singing voice:
            +
          • 1: A male-sounding voice.
          • +
          • 2: A female-sounding voice.
          • +
          +
          +
          + + param2 + The reverberation effect options for the singing voice:
            +
          • 1: The reverberation effect sounds like singing in + a small room.
          • +
          • 2: The reverberation effect sounds like singing in + a large room.
          • +
          • 3: The reverberation effect sounds like singing in + a hall.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1128. 0: Success.
        1129. +
        1130. < 0: Failure.
        1131. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvoicebeautifierpreset.dita b/en-US/dita/RTC/API/api_setvoicebeautifierpreset.dita index 038a664b363..9e0c5e9329f 100644 --- a/en-US/dita/RTC/API/api_setvoicebeautifierpreset.dita +++ b/en-US/dita/RTC/API/api_setvoicebeautifierpreset.dita @@ -1,102 +1,161 @@ - <ph keyref="setVoiceBeautifierPreset" /> + <ph keyref="setVoiceBeautifierPreset"/> Sets a preset voice beautifier effect. - +

          - public abstract int setVoiceBeautifierPreset(int preset); - - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset; - virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0; - setVoiceBeautifierPreset(preset: VOICE_BEAUTIFIER_PRESET): number - public abstract int SetVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset); - - Future<void> setVoiceBeautifierPreset(VoiceBeautifierPreset preset);

          + public abstract int setVoiceBeautifierPreset(int preset); + - (int)setVoiceBeautifierPreset:(AgoraVoiceBeautifierPreset)preset; + virtual int setVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset) = 0; + setVoiceBeautifierPreset(preset: VOICE_BEAUTIFIER_PRESET): number + public abstract int SetVoiceBeautifierPreset(VOICE_BEAUTIFIER_PRESET preset); + + Future<void> setVoiceBeautifierPreset(VoiceBeautifierPreset preset); +

          - -
          Since
          -
          v3.2.0
          -
          + +
          Since
          +
          v3.2.0
          +
          -

          Call this method to set a preset voice beautifier effect for the local user who sends an audio stream. After setting a voice beautifier effect, all users in the channel can hear the effect. You can set different voice beautifier effects for different scenarios. For the applicable scenarios of each voice beautifier effect, refer to Set the Voice Effect.

          -

          For better voice effects, Agora recommends that you call and set scenario to (3) and profile to (4) or (5) before calling this method.

          +

          Call this method to set a preset voice beautifier effect for the local user who sends + an audio stream. After setting a voice beautifier effect, all users in the channel + can hear the effect. You can set different voice beautifier effects for different + scenarios. For the applicable scenarios of each voice + beautifier effect, refer to Set the Voice Effect.

          +

          For better voice effects, Agora recommends that you call and set scenario to (3) and profile to + (4) or (5) before calling this + method.

          -
            -
          • You can call this method either before or after joining a channel.
          • -
          • Do not set the profile parameter in to (1) or (6), or the method does not take effect.
          • -
          • Do not set the profile parameter in to (1), or the method does not take effect.
          • -
          • This method works best with the human voice. Agora does not recommend using this method for audio containing music.
          • -
          • After calling , Agora recommends not calling the following methods, because they can override :
              -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
          • -
          +
        1132. You can call this method either before or after joining a channel.
        1133. +
        1134. Do not set the profile parameter in + to (1) or (6), or the method does not take + effect.
        1135. +
        1136. Do not set the + profile parameter in to (1), or the method does not take + effect.
        1137. +
        1138. This method works best with the human voice. Agora does not recommend using + this method for audio containing music.
        1139. +
        1140. After calling , Agora recommends + not calling the following methods, because they can override :
            +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          +
        1141. + + +
          Parameters - - preset - -

          The preset voice beautifier effect options: .

          -

          The preset voice beautifier effect options. -

            -
          • : Turn off voice beautifier effects and use the original voice.
          • -
          • : A more magnetic voice (Male only).
          • -
          • : A fresher voice (Female only).
          • -
          • : A more vital voice (Female only).
          • -
          • : The singing beautifier effect. -
              -
            • -
              - -
              Since
              -
              v3.3.0
              -
              -
              -
            • -
            • If you call (), you can beautify a male-sounding voice and add a reverberation effect that sounds like singing in a small room. Agora recommends using this enumerator to process a male-sounding voice; otherwise, you might experience vocal distortion.
            • -
            • If you call (, param1, param2), you can beautify a male- or female-sounding voice and add a reverberation effect.
            • -
          • -
          • : A more rigorous vice.
          • -
          • : A deep voice.
          • -
          • : A mellower voice.
          • -
          • : Falsetto.
          • -
          • : A fuller voice.
          • -
          • : A clearer voice.
          • -
          • : A resounding voice.
          • -
          • : A more ringing voice.
          • -
          • : Ultra-high quality voice, which makes the audio clearer and restores more details. -
              -
            • To achieve better audio effect quality, Agora recommends that you call and set the profile to (4) or (5) and scenario to (6) before calling this method.
            • -
            • If you have an audio capturing device that can already restore audio details to a high degree, Agora recommends that you do not enable ultra-high quality; otherwise, the SDK may over-restore audio details, and you may not hear the anticipated voice effect.
            • -
          • -

          -
          -
          -
          + + preset + +

          The preset voice beautifier effect + options: .

          +

          The preset voice beautifier effect options.

            +
          • : Turn off voice beautifier + effects and use the original voice.
          • +
          • : A more magnetic voice + (Male only).
          • +
          • : A fresher voice (Female + only).
          • +
          • : A more vital voice + (Female only).
          • +
          • : The singing beautifier + effect.
              +
            • +
              + +
              Since
              +
              v3.3.0
              +
              +
              +
            • +
            • If you call (), you can + beautify a male-sounding voice and add a reverberation + effect that sounds like singing in a small room. Agora + recommends using this enumerator to process a + male-sounding voice; otherwise, you might experience + vocal distortion.
            • +
            • If you call (, param1, + param2), you can beautify a male- or female-sounding + voice and add a reverberation effect.
            • +
            +
          • +
          • : A more rigorous + vice.
          • +
          • : A deep voice.
          • +
          • : A mellower + voice.
          • +
          • : Falsetto.
          • +
          • : A fuller voice.
          • +
          • : A clearer + voice.
          • +
          • : A resounding + voice.
          • +
          • : A more ringing + voice.
          • +
          • : + Ultra-high quality voice, which makes the audio clearer and + restores more details.
              +
            • To achieve better audio effect quality, Agora recommends + that you call and set + the profile to (4) or + + (5) and scenario to (6) before + calling this method.
            • +
            • If you have an audio capturing device that can already + restore audio details to a high degree, Agora recommends + that you do not enable ultra-high quality; otherwise, + the SDK may over-restore audio details, and you may not + hear the anticipated voice effect.
            • +
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1142. 0: Success.
        1143. +
        1144. < 0: Failure.
        1145. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvoiceconversionpreset.dita b/en-US/dita/RTC/API/api_setvoiceconversionpreset.dita index 75e8387ee9e..2b3f628e424 100644 --- a/en-US/dita/RTC/API/api_setvoiceconversionpreset.dita +++ b/en-US/dita/RTC/API/api_setvoiceconversionpreset.dita @@ -1,76 +1,106 @@ - <ph keyref="setVoiceConversionPreset" /> + <ph keyref="setVoiceConversionPreset"/> Sets a preset voice beautifier effect. - +

          - public abstract int setVoiceConversionPreset(int preset); - - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset; - virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0; - setVoiceConversionPreset(preset: VOICE_CONVERSION_PRESET): number - public abstract int SetVoiceConversionPreset(VOICE_CONVERSION_PRESET preset); - - Future<void> setVoiceConversionPreset(VoiceConversionPreset preset);

          + public abstract int setVoiceConversionPreset(int preset); + - (int)setVoiceConversionPreset:(AgoraVoiceConversionPreset)preset; + virtual int setVoiceConversionPreset(VOICE_CONVERSION_PRESET preset) = 0; + setVoiceConversionPreset(preset: VOICE_CONVERSION_PRESET): number + public abstract int SetVoiceConversionPreset(VOICE_CONVERSION_PRESET preset); + + Future<void> setVoiceConversionPreset(VoiceConversionPreset preset); +

          - -
          Since
          -
          v3.3.1
          -
          + +
          Since
          +
          v3.3.1
          +
          -

          Call this method to set a preset voice beautifier effect for the local user who sends an audio stream. After setting an audio effect, all users in the channel can hear the effect. You can set different audio effects for different scenarios. See Set the Voice Beautifier and Audio Effects.

          -

          To achieve better audio effect quality, Agora recommends that you call and set the profile to (4) or (5) and scenario to (3) before calling this method.

          +

          Call this method to set a preset voice beautifier effect for the local user who sends + an audio stream. After setting an audio effect, all users in the channel can hear + the effect. You can set different audio effects for different scenarios. See Set the + Voice Beautifier and Audio Effects.

          +

          To achieve better audio effect quality, Agora recommends that you call and set the profile to (4) or (5) and + scenario to (3) before calling this method.

          -
            -
          • You can call this method either before or after joining a channel.
          • -
          • Do not set the profile parameter in to (1) or (6), or the method does not take effect.
          • -
          • This method works best with the human voice. Agora does not recommend using this method for audio containing music.
          • -
          • After calling , Agora recommends not calling the following methods, or the settings in are overridden :
              -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
            • -
          • -
          +
        1146. You can call this method either before or after joining a channel.
        1147. +
        1148. Do not set the + profile parameter in to (1) or (6), or the method does not take + effect.
        1149. +
        1150. This method works best with the human voice. Agora does not recommend using + this method for audio containing music.
        1151. +
        1152. After calling , Agora recommends + not calling the following methods, or the settings in are overridden :
            +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          • +
          +
        1153. + + +
          Parameters - - preset - -

          The options for the preset voice beautifier effects: .

          -

          The options for SDK preset voice conversion effects. -

            -
          • : Turn off voice conversion effects and use the original voice.
          • -
          • : A gender-neutral voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice.
          • -
          • : A sweet voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice.
          • -
          • : A steady voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice.
          • -
          • : A deep voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice.
          • -

          -
          -
          -
          + + preset + +

          The options for the preset voice + beautifier effects: .

          +

          The options for SDK preset voice conversion effects.

            +
          • : Turn off voice conversion + effects and use the original voice.
          • +
          • : A gender-neutral voice. To + avoid audio distortion, ensure that you use this enumerator to + process a female-sounding voice.
          • +
          • : A sweet voice. To avoid + audio distortion, ensure that you use this enumerator to process + a female-sounding voice.
          • +
          • : A steady voice. To avoid + audio distortion, ensure that you use this enumerator to process + a male-sounding voice.
          • +
          • : A deep voice. To avoid audio + distortion, ensure that you use this enumerator to process a + male-sounding voice.
          • +
          +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1154. 0: Success.
        1155. +
        1156. < 0: Failure.
        1157. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_setvolumeofeffect.dita b/en-US/dita/RTC/API/api_setvolumeofeffect.dita index c5adb51eb63..91341002328 100644 --- a/en-US/dita/RTC/API/api_setvolumeofeffect.dita +++ b/en-US/dita/RTC/API/api_setvolumeofeffect.dita @@ -1,48 +1,55 @@ - <ph keyref="setVolumeOfEffect" /> - Sets the volume of a specified audio effect. + <ph keyref="setVolumeOfEffect"/> + Sets the volume of a specified audio + effect. - +

          - public abstract int setVolumeOfEffect(int soundId, double volume); + public abstract int setVolumeOfEffect(int soundId, double volume); - - (int)setVolumeOfEffect:(int)soundId + - (int)setVolumeOfEffect:(int)soundId withVolume:(int)volume; - virtual int setVolumeOfEffect(int soundId, int volume) = 0; - setVolumeOfEffect(soundId: number, volume: number): number - public abstract int SetVolumeOfEffect(int soundId, int volume); - - Future<void> setVolumeOfEffect(int soundId, int volume);

          + virtual int setVolumeOfEffect(int soundId, int volume) = 0; + setVolumeOfEffect(soundId: number, volume: number): number + public abstract int SetVolumeOfEffect(int soundId, int volume); + + Future<void> setVolumeOfEffect(int soundId, int volume); +

          - Call this method after .
          + Call this method after . +
          Parameters - - soundId - - - - volume - The playback volume. The value ranges from 0 to 100. The default value is 100, which represents the original volume. - -
          + + soundId + + + + volume + The playback volume. The value ranges from 0 to 100. The default value is + 100, which represents the original volume. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1158. 0: Success.
        1159. +
        1160. < 0: Failure.
        1161. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startaudioframedump.dita b/en-US/dita/RTC/API/api_startaudioframedump.dita index 2e369e63d73..11feb4a1b8f 100644 --- a/en-US/dita/RTC/API/api_startaudioframedump.dita +++ b/en-US/dita/RTC/API/api_startaudioframedump.dita @@ -1,38 +1,40 @@ - <ph keyref="startAudioFrameDump" /> - + <ph keyref="startAudioFrameDump"/> + - +

          - - - virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location, + + + virtual int startAudioFrameDump(const char* channel_id, uid_t user_id, const char* location, const char* uuid, const char* passwd, long duration_ms, bool auto_upload) = 0; - - - -

          + + + + +

          Parameters - - - - -
          + + + + + +
          Returns
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startaudiomixing.dita b/en-US/dita/RTC/API/api_startaudiomixing.dita index fb33b8d93db..27ae1417cc8 100644 --- a/en-US/dita/RTC/API/api_startaudiomixing.dita +++ b/en-US/dita/RTC/API/api_startaudiomixing.dita @@ -1,98 +1,126 @@ - <ph keyref="startAudioMixing" /> + <ph keyref="startAudioMixing"/> Starts playing the music file. - +

          - public abstract int startAudioMixing( + public abstract int startAudioMixing( String filePath, boolean loopback, boolean replace, int cycle); - - (int)startAudioMixing:(NSString * _Nonnull)filePath + - (int)startAudioMixing:(NSString * _Nonnull)filePath loopback:(BOOL)loopback replace:(BOOL)replace cycle:(NSInteger)cycle; - virtual int startAudioMixing(const char* filePath, + virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle) = 0; - startAudioMixing(filePath: string, + startAudioMixing(filePath: string, loopback: boolean, replace: boolean, cycle: number ): number - public abstract int StartAudioMixing(string filePath, bool loopback, bool replace, int cycle); - -

          + public abstract int StartAudioMixing(string filePath, bool loopback, bool replace, int cycle); + + +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          -

          This method mixes the specified local or online audio file with the audio from the microphone, or replaces the microphone's audio with the specified local or remote audio file. A successful method call triggers the () callback. When the audio mixing file playback finishes, the SDK triggers the () callback on the local client.

          +

          This method mixes the specified local or online audio file + with the audio from the microphone, or replaces the microphone's audio with the + specified local or remote audio file. A successful method call triggers the () callback. When the audio mixing file + playback finishes, the SDK triggers the () callback on the local + client.

          -
            -
          • Call this method after joining a channel. If you need to call multiple times, ensure that the time interval between calling this method is more than 500 ms.
          • -
          • If the local audio mixing file does not exist, or if the SDK does not support the file format or cannot access the music file URL, the SDK returns WARN_AUDIO_MIXING_OPEN_ERROR (701).
          • -
          • To use this method, ensure that the Android device is v4.2 or later, and the API version is v16 or later.
          • -
          • If you need to play an online music file, Agora does not recommend using the redirected URL address. Some Android devices may fail to open a redirected URL address.
          • -
          • If you call this method on an emulator, ensure that the music file is in the /sdcard/ directory and the format is MP3.
          • -
          +
            +
          • Call this method after joining a channel. If you need to call multiple times, ensure that the time + interval between calling this method is more than 500 ms.
          • +
          • If the local audio mixing file does not exist, or if the SDK does not + support the file format or cannot access the music file URL, the SDK returns + WARN_AUDIO_MIXING_OPEN_ERROR (701).
          • +
          • To use this method, ensure that the Android device is v4.2 + or later, and the API version is v16 or later.
          • +
          • If you need to play an online music file, Agora does not + recommend using the redirected URL address. Some Android devices may fail to + open a redirected URL address.
          • +
          • If you call this method on an emulator, ensure that the + music file is in the /sdcard/ directory and the format is MP3.
          • +
          + +
          Parameters - - filePath - -

          - - - - loopback - -

          Whether to only play music files on the local client: -

            -
          • : Only play music files on the local client so that only the local user can hear the music.
          • -
          • : Publish music files to remote clients so that both the local user and remote users can hear the music.
          • -

          -
          -
          - - replace - -

          Whether to replace the audio captured by the microphone with a music file: -

            -
          • : Replace the audio captured by the microphone with a music file. Users can only hear the music.
          • -
          • : Do not replace the audio captured by the microphone with a music file. Users can hear both music and audio captured by the microphone.
          • -

          -
          -
          - - cycle - -

          The number of times the music file plays. -

            -
          • ≥ 0: The number of playback times. For example, 0 means that the SDK does not play the music file while 1 means that the SDK plays once.
          • -
          • -1: Play the audio effect in an infinite loop.
          • -

          -
          -
          -
          + + filePath + +

          + + + + loopback + +

          Whether to only play music files on the local client:

            +
          • : Only play music files on + the local client so that only the local user can hear the + music.
          • +
          • : Publish music files to + remote clients so that both the local user and remote users can + hear the music.
          • +

          +
          +
          + + replace + +

          Whether to replace the audio captured by the microphone with a music + file:

            +
          • : Replace the audio captured + by the microphone with a music file. Users can only hear the + music.
          • +
          • : Do not replace the audio + captured by the microphone with a music file. Users can hear + both music and audio captured by the microphone.
          • +

          +
          +
          + + cycle + +

          The number of times the music file plays.

            +
          • ≥ 0: The number of playback times. For example, 0 means that the + SDK does not play the music file while 1 means that the SDK + plays once.
          • +
          • -1: Play the audio effect in an infinite loop.
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1162. 0: Success.
        1163. +
        1164. < 0: Failure.
        1165. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startaudiomixing2.dita b/en-US/dita/RTC/API/api_startaudiomixing2.dita index bb777f06987..1a9c39fbe40 100644 --- a/en-US/dita/RTC/API/api_startaudiomixing2.dita +++ b/en-US/dita/RTC/API/api_startaudiomixing2.dita @@ -1,97 +1,128 @@ - <ph keyref="startAudioMixing2" /> + <ph keyref="startAudioMixing2"/> Starts playing the music file. - +

          - public abstract int startAudioMixing(String filePath, boolean loopback, boolean replace, int cycle, int startPos); - - (int)startAudioMixing:(NSString* _Nonnull)filePath loopback:(BOOL)loopback replace:(BOOL)replace cycle:(NSInteger)cycle startPos:(NSInteger)startPos; - virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle, int startPos) = 0; - startAudioMixing( + public abstract int startAudioMixing(String filePath, boolean loopback, boolean replace, int cycle, int startPos); + - (int)startAudioMixing:(NSString* _Nonnull)filePath loopback:(BOOL)loopback replace:(BOOL)replace cycle:(NSInteger)cycle startPos:(NSInteger)startPos; + virtual int startAudioMixing(const char* filePath, bool loopback, bool replace, int cycle, int startPos) = 0; + startAudioMixing( filePath: string, loopback: boolean, replace: boolean, cycle: number, startPos?: number, ): number - public abstract int StartAudioMixing(string filePath, bool loopback, bool replace, int cycle, int startPos); - - Future<void> startAudioMixing( + public abstract int StartAudioMixing(string filePath, bool loopback, bool replace, int cycle, int startPos); + + Future<void> startAudioMixing( String filePath, bool loopback, bool replace, int cycle, - [int? startPos]);

          + [int? startPos]); +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          -

          This method mixes the specified local or online audio file with the audio from the microphone, or replaces the microphone's audio with the specified local or remote audio file. A successful method call triggers the (PLAY) callback. When the audio mixing file playback finishes, the SDK triggers the (STOPPED) callback on the local client.

          +

          This method mixes the specified local or online audio file + with the audio from the microphone, or replaces the microphone's audio with the + specified local or remote audio file. A successful method call triggers the (PLAY) callback. When the + audio mixing file playback finishes, the SDK triggers the (STOPPED) callback on the + local client.

          -
            -
          • Call this method after joining a channel. If you need to call multiple times, ensure that the time interval between calling this method is more than 500 ms.
          • -
          • If the local audio mixing file does not exist, or if the SDK does not support the file format or cannot access the music file URL, the SDK returns WARN_AUDIO_MIXING_OPEN_ERROR (701).
          • -
          • To use this method, ensure that the Android device is v4.2 or later, and the API version is v16 or later.
          • -
          • If you need to play an online music file, Agora does not recommend using the redirected URL address. Some Android devices may fail to open a redirected URL address.
          • -
          • If you call this method on an emulator, ensure that the music file is in the /sdcard/ directory and the format is MP3.
          • -
          +
            +
          • Call this method after joining a channel. If you need to call multiple times, ensure that the time + interval between calling this method is more than 500 ms.
          • +
          • If the local audio mixing file does not exist, or if the SDK does not + support the file format or cannot access the music file URL, the SDK returns + WARN_AUDIO_MIXING_OPEN_ERROR (701).
          • +
          • To use this method, ensure that the Android device is v4.2 + or later, and the API version is v16 or later.
          • +
          • If you need to play an online music file, Agora does not + recommend using the redirected URL address. Some Android devices may fail to + open a redirected URL address.
          • +
          • If you call this method on an emulator, ensure that the + music file is in the /sdcard/ directory and the format is MP3.
          • +
          + +
          Parameters - - filePath - The absolute path or URL address (including the suffixes of the filename) of the audio effect file. For example: . Supported audio formats include MP3, AAC, M4A, MP4, WAV, and 3GP. See supported audio formats. - - - loopback - -

          Whether to only play music files on the local client: -

            -
          • : Only play music files on the local client so that only the local user can hear the music.
          • -
          • : Publish music files to remote clients so that both the local user and remote users can hear the music.
          • -

          -
          -
          - - replace - -

          Whether to replace the audio captured by the microphone with a music file: -

            -
          • : Replace the audio captured by the microphone with a music file. Users can only hear the music.
          • -
          • : Do not replace the audio captured by the microphone with a music file. Users can hear both music and audio captured by the microphone.
          • -

          -
          -
          - - cycle - -

          The number of times the music file plays. -

            -
          • ≥ 0: The number of playback times. For example, 0 means that the SDK does not play the music file while 1 means that the SDK plays once.
          • -
          • -1: Play the music effect in an infinite loop.
          • -

          -
          -
          - - startPos - The playback position (ms) of the music file. - -
          + + filePath + The absolute path or URL address (including the suffixes of + the filename) of the audio effect file. For example: . Supported audio formats + include MP3, AAC, M4A, MP4, WAV, and 3GP. See supported audio formats. + + + loopback + +

          Whether to only play music files on the local client:

            +
          • : Only play music files on + the local client so that only the local user can hear the + music.
          • +
          • : Publish music files to + remote clients so that both the local user and remote users can + hear the music.
          • +

          +
          +
          + + replace + +

          Whether to replace the audio captured by the microphone with a music + file:

            +
          • : Replace the audio captured + by the microphone with a music file. Users can only hear the + music.
          • +
          • : Do not replace the audio + captured by the microphone with a music file. Users can hear + both music and audio captured by the microphone.
          • +

          +
          +
          + + cycle + +

          The number of times the music file plays.

            +
          • ≥ 0: The number of playback times. For example, 0 means that the + SDK does not play the music file while 1 means that the SDK + plays once.
          • +
          • -1: Play the music effect in an infinite loop.
          • +

          +
          +
          + + startPos + The playback position (ms) of the music file. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1166. 0: Success.
        1167. +
        1168. < 0: Failure.
        1169. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startaudiorecording.dita b/en-US/dita/RTC/API/api_startaudiorecording.dita index 224eac44841..1011899d8a0 100644 --- a/en-US/dita/RTC/API/api_startaudiorecording.dita +++ b/en-US/dita/RTC/API/api_startaudiorecording.dita @@ -1,63 +1,80 @@ - <ph keyref="startAudioRecording1" /> + <ph keyref="startAudioRecording1"/> Starts audio recording on the client. - +

          - public abstract int startAudioRecording(String filePath, int quality); - - (int)startAudioRecording:(NSString * _Nonnull)filePath + public abstract int startAudioRecording(String filePath, int quality); + - (int)startAudioRecording:(NSString * _Nonnull)filePath quality:(AgoraAudioRecordingQuality)quality; - virtual int startAudioRecording(const char* filePath, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; - - public abstract int StartAudioRecording(string filePath, AUDIO_RECORDING_QUALITY_TYPE quality); - -

          + virtual int startAudioRecording(const char* filePath, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; + + public abstract int StartAudioRecording(string filePath, AUDIO_RECORDING_QUALITY_TYPE quality); + + +

          - -
          Deprecated:
          -
          This method is deprecated as of v2.9.1. It has a fixed recording sample rate of 32 kHz. Please use the method instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v2.9.1. It has a fixed recording sample rate + of 32 kHz. Please use the method + instead.
          +
          -

          The Agora SDK allows recording during a call. This method records the audio of all the users in the channel and generates an audio recording file. Supported formats of the recording file are as follows: -

            -
          • .wav: Large file size with high fidelity.
          • -
          • .aac: Small file size with low fidelity.
          • -

          -

          Ensure that the directory for the recording file exists and is writable. This method should be called after the method. The recording automatically stops when you call the method.

          +

          The Agora SDK allows recording during a call. This method records the audio of all + the users in the channel and generates an audio recording file. Supported formats of + the recording file are as follows:

            +
          • .wav: Large file size with high fidelity.
          • +
          • .aac: Small file size with low fidelity.
          • +
          +

          +

          Ensure that the directory for the recording file exists and is writable. This method + should be called after the method. The recording + automatically stops when you call the method.

          Parameters - - - - - - quality - Audio recording quality. See . -
            -
          • 0: Low quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and 10-minute recording is approximately 1.2 MB.
          • -
          • 1: Medium quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and 10-minute recording is approximately 2 MB.
          • -
          • 2: High quality. For example, the size of an AAC file with a sample rate of 32,000 Hz and 10-minute recording is approximately 3.75 MB.
          • -
          -
          -
          + + + + + + quality + Audio recording quality. See . +
            +
          • 0: Low quality. For example, the size of an AAC file with a sample + rate of 32,000 Hz and 10-minute recording is approximately 1.2 + MB.
          • +
          • 1: Medium quality. For example, the size of an AAC file with a + sample rate of 32,000 Hz and 10-minute recording is approximately 2 + MB.
          • +
          • 2: High quality. For example, the size of an AAC file with a sample + rate of 32,000 Hz and 10-minute recording is approximately 3.75 + MB.
          • +
          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1170. 0: Success.
        1171. +
        1172. < 0: Failure.
        1173. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startaudiorecording2.dita b/en-US/dita/RTC/API/api_startaudiorecording2.dita index 8e1def6519f..b6ed58a81a7 100644 --- a/en-US/dita/RTC/API/api_startaudiorecording2.dita +++ b/en-US/dita/RTC/API/api_startaudiorecording2.dita @@ -1,85 +1,101 @@ - <ph keyref="startAudioRecording2" /> + <ph keyref="startAudioRecording2"/> Starts audio recording on the client. - +

          - - - virtual int startAudioRecording(const char* filePath, + + + virtual int startAudioRecording(const char* filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality) = 0; - startAudioRecording(filePath: string, + startAudioRecording(filePath: string, sampleRate: number, quality: AUDIO_RECORDING_QUALITY_TYPE ): number - public abstract int StartAudioRecording(string filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality); - - Future<void> startAudioRecording(String filePath, - AudioSampleRateType sampleRate, AudioRecordingQuality quality);

          + public abstract int StartAudioRecording(string filePath, int sampleRate, AUDIO_RECORDING_QUALITY_TYPE quality); + + Future<void> startAudioRecording(String filePath, + AudioSampleRateType sampleRate, AudioRecordingQuality quality); +

          - -
          Deprecated:
          -
          This method is deprecated as of v3.4.0. Please use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v3.4.0. Please use instead.
          +
          - -
          Since
          -
          v2.9.1
          -
          + +
          Since
          +
          v2.9.1
          +
          -

          The Agora SDK allows recording during a call. After successfully calling this method, you can record the audio of all the users in the channel and get an audio recording file. Supported formats of the recording file are as follows: -

            -
          • .wav: Large file size with high fidelity.
          • -
          • .aac: Small file size with low fidelity.
          • -

          +

          The Agora SDK allows recording during a call. After successfully calling this method, + you can record the audio of all the users in the channel and get an audio recording + file. Supported formats of the recording file are as follows:

            +
          • .wav: Large file size with high fidelity.
          • +
          • .aac: Small file size with low fidelity.
          • +
          +

          -
            -
          • Ensure that the directory you use to save the recording file exists and is writable.
          • -
          • This method should be called after the method. The recording automatically stops when you call the method.
          • -
          • For better recording effects, set quality to or when sampleRate is 44.1 kHz or 48 kHz.
          • -
          +
            +
          • Ensure that the directory you use to save the recording file exists and is + writable.
          • +
          • This method should be called after the + method. The recording automatically stops when you call the method.
          • +
          • For better recording effects, set quality to or when + sampleRate is 44.1 kHz or 48 kHz.
          • +
          + +
          Parameters - - - - - - sampleRate - -

          The sample rate (kHz) of the recording file. Supported values are as follows: -

            -
          • 16000
          • -
          • (Default) 32000
          • -
          • 44100
          • -
          • 48000
          • -

          -
          -
          - - quality - Recording quality. For more details, see . - -
          + + + + + + sampleRate + +

          The sample rate (kHz) of the recording file. Supported values are as + follows:

            +
          • 16000
          • +
          • (Default) 32000
          • +
          • 44100
          • +
          • 48000
          • +
          +

          +
          +
          + + quality + Recording quality. For more details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1174. 0: Success.
        1175. +
        1176. < 0: Failure.
        1177. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startaudiorecording3.dita b/en-US/dita/RTC/API/api_startaudiorecording3.dita index 3f7442e2a20..5ea9ac2bf31 100644 --- a/en-US/dita/RTC/API/api_startaudiorecording3.dita +++ b/en-US/dita/RTC/API/api_startaudiorecording3.dita @@ -1,54 +1,65 @@ - <ph keyref="startAudioRecording3" /> + <ph keyref="startAudioRecording3"/> Starts audio recording on the client. - +

          - public abstract int startAudioRecording(AudioRecordingConfiguration config); - - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration* _Nonnull)config; - virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0; - startAudioRecordingWithConfig(config: AudioRecordingConfiguration): number - public abstract int StartAudioRecording(AudioRecordingConfiguration config); - - Future<void> startAudioRecordingWithConfig( - AudioRecordingConfiguration config);

          + public abstract int startAudioRecording(AudioRecordingConfiguration config); + - (int)startAudioRecordingWithConfig:(AgoraAudioRecordingConfiguration* _Nonnull)config; + virtual int startAudioRecording(const AudioRecordingConfiguration& config) = 0; + startAudioRecordingWithConfig(config: AudioRecordingConfiguration): number + public abstract int StartAudioRecording(AudioRecordingConfiguration config); + + Future<void> startAudioRecordingWithConfig( + AudioRecordingConfiguration config); +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          -

          The Agora SDK allows recording during a call. After successfully calling this method, you can record the audio of users in the channel and get an audio recording file. Supported formats of the recording file are as follows: -

            -
          • WAV: Large file size with high fidelity. For example, if the sample rate is 32,000 Hz, the file size for a recording duration of 10 minutes is around 73 M.
          • -
          • AAC: Small file size with low fidelity. For example, if the sample rate is 32,000 Hz and the recording quality is , the file size for a recording duration of 10 minutes is around 2 M.
          • -

          +

          The Agora SDK allows recording during a call. After successfully calling this method, + you can record the audio of users in the channel and get an audio recording file. + Supported formats of the recording file are as follows:

            +
          • WAV: Large file size with high fidelity. For example, if the sample rate is + 32,000 Hz, the file size for a recording duration of 10 minutes is around 73 + M.
          • +
          • AAC: Small file size with low fidelity. For example, if the sample rate is + 32,000 Hz and the recording quality is , the file size for a recording + duration of 10 minutes is around 2 M.
          • +

          Once the user leaves the channel, the recording automatically stops.

          - Call this method after joining a channel.
          + Call this method after joining a channel. +
          Parameters - - config - Recording configuration. See . - -
          + + config + Recording configuration. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1178. 0: Success.
        1179. +
        1180. < 0: Failure.
        1181. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startchannelmediarelay.dita b/en-US/dita/RTC/API/api_startchannelmediarelay.dita index 4daa95cdd93..101afe0c4a7 100644 --- a/en-US/dita/RTC/API/api_startchannelmediarelay.dita +++ b/en-US/dita/RTC/API/api_startchannelmediarelay.dita @@ -1,57 +1,80 @@ - <ph keyref="startChannelMediaRelay" /> - Starts relaying media streams across channels. This method can be used to implement scenarios such as co-host across channels. + <ph keyref="startChannelMediaRelay"/> + Starts relaying media streams across channels. This + method can be used to implement scenarios such as co-host across + channels. - +

          - public abstract int startChannelMediaRelay( + public abstract int startChannelMediaRelay( ChannelMediaRelayConfiguration channelMediaRelayConfiguration); - - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; - virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - startChannelMediaRelay(config: ChannelMediaRelayConfiguration): number - public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - - Future<void> startChannelMediaRelay( - ChannelMediaRelayConfiguration channelMediaRelayConfiguration);

          + - (int)startChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; + virtual int startChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + startChannelMediaRelay(config: ChannelMediaRelayConfiguration): number + public abstract int StartChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + + Future<void> startChannelMediaRelay( + ChannelMediaRelayConfiguration channelMediaRelayConfiguration); +

          -

          After a successful method call, the SDK triggers the and callbacks, and these callbacks return the state and events of the media stream relay. -

            -
          • If the callback returns (2) and (0), and the callback returns (4), it means that the SDK starts relaying media streams between the source channel and the destination channel.
          • -
          • If the callback returns (3), an exception occurs during the media stream relay.
          • -

          +

          After a successful method call, the SDK triggers the and callbacks, and these callbacks return the + state and events of the media stream relay.

            +
          • If the callback returns + (2) and (0), and the callback returns (4), it means that + the SDK starts relaying media streams between the source channel and the + destination channel.
          • +
          • If the callback returns + (3), an exception occurs during + the media stream relay.
          • +
          +

          -
            -
          • Call this method after joining the channel.
          • -
          • This method takes effect only when you are a host in a live streaming channel.
          • -
          • After a successful method call, if you want to call this method again, ensure that you call the method to quit the current relay.
          • -
          • You need to before implementing this function.
          • -
          • We do not support string user accounts in this API.
          • -
          +
            +
          • Call this method after joining the channel.
          • +
          • This method takes effect only when you are a host in a live streaming + channel.
          • +
          • After a successful method call, if you want to call this method again, + ensure that you call the method to + quit the current relay.
          • +
          • You need to before implementing this + function.
          • +
          • We do not support string user accounts in this API.
          • +
          + +
          Parameters - - channelMediaRelayConfiguration - config - configuration - The configuration of the media stream relay. See for details. - -
          + + channelMediaRelayConfiguration + config + configuration + The configuration of the media stream relay. See for details. + + +
          Returns
            -
          • Success.
          • -
          • <Failure.
          • -
          +
        1182. Success.
        1183. +
        1184. <Failure.
        1185. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startdirectcdnstreaming.dita b/en-US/dita/RTC/API/api_startdirectcdnstreaming.dita index c72559969ce..fa70c5393e4 100644 --- a/en-US/dita/RTC/API/api_startdirectcdnstreaming.dita +++ b/en-US/dita/RTC/API/api_startdirectcdnstreaming.dita @@ -1,12 +1,13 @@ - <ph keyref="startDirectCdnStreaming" /> - Starts pushing media streams to the CDN directly. + <ph keyref="startDirectCdnStreaming"/> + Starts pushing media streams to the CDN + directly. - + @@ -17,51 +18,78 @@ - (int)startDirectCdnStreaming:(id<AgoraDirectCdnStreamingEventDelegate> _Nonnull)delegate publishUrl:(NSString * _Nonnull)publishUrl mediaOptions:(AgoraDirectCdnStreamingMediaOptions * _Nonnull)options; virtual int startDirectCdnStreaming(IDirectCdnStreamingEventHandler* eventHandler, const char* publishUrl, const DirectCdnStreamingMediaOptions& options) = 0; - - - - + + + + +

          Aogra does not support pushing streams to one URL repeatedly.

          Media options

          -

          Agora does not support setting the value of publishCameraTrack and publishCustomVideoTrack as , or the value of publishMicrophoneTrack and publishCustomAudioTrack as at the same time. When choosing media setting options () you can refer to the following examples:

          -

          If you want to push audio and video streams published by the host to the CDN, the media setting options should be set as follows:

          +

          Agora does not support setting the value of publishCameraTrack + and publishCustomVideoTrack as , or the value of publishMicrophoneTrack and + publishCustomAudioTrack as at the same time. When choosing media setting options () you can refer to the following + examples:

          +

          If you want to push audio and video streams published by the host to the CDN, the + media setting options should be set as follows:

            -
          • publishCameraTrack is set as
          • -
          • publishMicrophoneTrack is set as
          • -
          • publishCustomAudioTrack is set as (Default)
          • -
          • publishCustomVideoTrack is set as (Default)
          • +
          • publishCameraTrack is set as
          • +
          • publishMicrophoneTrack is set as
          • +
          • publishCustomAudioTrack is set as (Default)
          • +
          • publishCustomVideoTrack is set as (Default)

          If you want to push external audio and video streams, ensure the following:

            -
          • publishCustomAudioTrack is set as and call the method
          • -
          • publishCustomAudioTrack is set as and call the or method
          • -
          • publishCustomVideoTrack is set as and call the method
          • -
          • publishCameraTrack is set as (Default)
          • -
          • publishMicrophoneTrack is set as (Default)
          • -
          +
        1186. publishCustomAudioTrack is set as + and call the + method
        1187. +
        1188. publishCustomAudioTrack is set as + and call the or method
        1189. +
        1190. publishCustomVideoTrack is set as and call the method
        1191. +
        1192. publishCameraTrack is set as (Default)
        1193. +
        1194. publishMicrophoneTrack is set as (Default)
        1195. + +
          Parameters - - eventHandler - delegate - See and for details. - - - publishUrl - The CDN live streaming URL. - - - options - The media setting options for the host. See . - -
          + + eventHandler + delegate + See and for details. + + + publishUrl + The CDN live streaming URL. + + + options + The media setting options for the host. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1196. 0: Success.
        1197. +
        1198. < 0: Failure.
        1199. + + -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startechotest.dita b/en-US/dita/RTC/API/api_startechotest.dita index ce18f252fe5..01dea14adfb 100644 --- a/en-US/dita/RTC/API/api_startechotest.dita +++ b/en-US/dita/RTC/API/api_startechotest.dita @@ -1,54 +1,67 @@ - <ph keyref="startEchoTest1" /> + <ph keyref="startEchoTest1"/> Starts an audio call test. - +

          - public abstract int startEchoTest(); - - (int)startEchoTest:(void(^ _Nullable) + public abstract int startEchoTest(); + - (int)startEchoTest:(void(^ _Nullable) (NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock; - virtual int startEchoTest() = 0; - startEchoTest(): number - public abstract int StartEchoTest(); - -

          + virtual int startEchoTest() = 0; + startEchoTest(): number + public abstract int StartEchoTest(); + + +

          - -
          Deprecated:
          -
          This method is deprecated as of v2.4.0. Use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v2.4.0. Use + instead.
          +
          -

          This method starts an audio call test to determine whether the audio devices (for example, headset and speaker) and the network connection are working properly. To conduct the test, the user speaks, and the recording is played back within 10 seconds. If the user can hear the recording within the interval, the audio devices and network connection are working properly.

          +

          This method starts an audio call test to determine whether the audio devices (for + example, headset and speaker) and the network connection are working properly. To + conduct the test, the user speaks, and the recording is played back within 10 + seconds. If the user can hear the recording within the interval, the audio devices + and network connection are working properly.

          -
            -
          • Call this method before joining a channel.
          • -
          • After calling , you must call to end the test. Otherwise, the app cannot perform the next echo test, and you cannot join the channel.
          • -
          • In the live streaming channels, only a host can call this method.
          • -
          +
            +
          • Call this method before joining a channel.
          • +
          • After calling , you must call to end the test. Otherwise, the app cannot + perform the next echo test, and you cannot join the channel.
          • +
          • In the live streaming channels, only a host can call this method.
          • +
          + +
          Parameters - - successBlock - The SDK triggers the successBlock callback if this method call is successful. - -
          + + successBlock + The SDK triggers the successBlock callback if this method call is + successful. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1200. 0: Success.
        1201. +
        1202. < 0: Failure.
        1203. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startechotest2.dita b/en-US/dita/RTC/API/api_startechotest2.dita index faa68e6cac1..852a858f6cd 100644 --- a/en-US/dita/RTC/API/api_startechotest2.dita +++ b/en-US/dita/RTC/API/api_startechotest2.dita @@ -1,55 +1,68 @@ - <ph keyref="startEchoTest2" /> + <ph keyref="startEchoTest2"/> Starts an audio call test. - +

          - public abstract int startEchoTest(int intervalInSeconds); - - (int)startEchoTestWithInterval:(NSInteger)interval + public abstract int startEchoTest(int intervalInSeconds); + - (int)startEchoTestWithInterval:(NSInteger)interval successBlock:(void(^ _Nullable) (NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed))successBlock; - virtual int startEchoTest(int intervalInSeconds) = 0; - startEchoTestWithInterval(intervalInSeconds: number): number - public abstract int StartEchoTest(int intervalInSeconds); - - Future<void> startEchoTest( - {int? intervalInSeconds, EchoTestConfiguration? config});

          + virtual int startEchoTest(int intervalInSeconds) = 0; + startEchoTestWithInterval(intervalInSeconds: number): number + public abstract int StartEchoTest(int intervalInSeconds); + + Future<void> startEchoTest( + {int? intervalInSeconds, EchoTestConfiguration? config}); +

          -

          This method starts an audio call test to determine whether the audio devices (for example, headset and speaker) and the network connection are working properly. To conduct the test, let the user speak for a while, and the recording is played back within the set interval. If the user can hear the recording within the interval, the audio devices and network connection are working properly.

          +

          This method starts an audio call test to determine whether the audio devices (for + example, headset and speaker) and the network connection are working properly. To + conduct the test, let the user speak for a while, and the recording is played back + within the set interval. If the user can hear the recording within the interval, the + audio devices and network connection are working properly.

          -
            -
          • Call this method before joining a channel.
          • -
          • After calling , you must call to end the test. Otherwise, the app cannot perform the next echo test, and you cannot join the channel.
          • -
          • In the live streaming channels, only a host can call this method.
          • -
          +
            +
          • Call this method before joining a channel.
          • +
          • After calling , you must call to end the test. Otherwise, the app cannot + perform the next echo test, and you cannot join the channel.
          • +
          • In the live streaming channels, only a host can call this method.
          • +
          + +
          Parameters - - intervalInSeconds - interval - The time interval (s) between when you speak and when the recording plays back. - - - successBlock - The SDK triggers the successBlock callback if this method call is successful. - -
          + + intervalInSeconds + interval + The time interval (s) between when you speak and when the recording plays + back. + + + successBlock + The SDK triggers the successBlock callback if this method call is + successful. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1204. 0: Success.
        1205. +
        1206. < 0: Failure.
        1207. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startechotest3.dita b/en-US/dita/RTC/API/api_startechotest3.dita index 8eb452a3d15..cd8da331af5 100644 --- a/en-US/dita/RTC/API/api_startechotest3.dita +++ b/en-US/dita/RTC/API/api_startechotest3.dita @@ -1,48 +1,65 @@ - <ph keyref="startEchoTest3" /> - Starts an audio and video call loop test. + <ph keyref="startEchoTest3"/> + Starts an audio and video call loop + test. - +

          - - - virtual int startEchoTest(const EchoTestConfiguration& config) = 0; - - public abstract int StartEchoTest(EchoTestConfiguration config); - -

          + + + virtual int startEchoTest(const EchoTestConfiguration& config) = 0; + + public abstract int StartEchoTest(EchoTestConfiguration config); + + +

          -

          Before joining a channel, to test whether the user's local sending and receiving streams are normal, you can call this method to perform an audio and video call loop test, which tests whether the audio and video devices and the user's upstream and downstream networks are working properly.

          -

          After starting the test, the user needs to make a sound or face the camera. The audio or video is output after about two seconds. If the audio playback is normal, the audio device and the user's upstream and downstream networks are working properly; if the video playback is normal, the video device and the user's upstream and downstream networks are working properly.

          +

          Before joining a channel, to test whether the user's local sending and receiving + streams are normal, you can call this method to perform an audio and video call loop + test, which tests whether the audio and video devices and the user's upstream and + downstream networks are working properly.

          +

          After starting the test, the user needs to make a sound or face the camera. The audio + or video is output after about two seconds. If the audio playback is normal, the + audio device and the user's upstream and downstream networks are working properly; + if the video playback is normal, the video device and the user's upstream and + downstream networks are working properly.

          -
            -
          • Call his method before joining a channel.
          • -
          • After calling this method, call to end the test; otherwise, the user cannot perform the next audio and video call loop test and cannot join the channel.
          • -
          • In the LIVE_BROADCASTING profile, only a host can call this method.
          • -
          +
            +
          • Call his method before joining a channel.
          • +
          • After calling this method, call to end the + test; otherwise, the user cannot perform the next audio and video call loop + test and cannot join the channel.
          • +
          • In the LIVE_BROADCASTING profile, only a host can call + this method.
          • +
          + +
          Parameters - - config - The configuration of the audio and video call loop test. See . - -
          + + config + The configuration of the audio and video call loop test. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1208. 0: Success.
        1209. +
        1210. < 0: Failure.
        1211. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startlastmileprobetest.dita b/en-US/dita/RTC/API/api_startlastmileprobetest.dita index 04e7a059a74..f8683d7fd32 100644 --- a/en-US/dita/RTC/API/api_startlastmileprobetest.dita +++ b/en-US/dita/RTC/API/api_startlastmileprobetest.dita @@ -1,63 +1,84 @@ - <ph keyref="startLastmileProbeTest" /> - Starts the last mile network probe test. + <ph keyref="startLastmileProbeTest"/> + Starts the last mile network probe + test. - +

          - public abstract int startLastmileProbeTest(LastmileProbeConfig config); - - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config; - virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0; - startLastmileProbeTest(config: LastmileProbeConfig): number - public abstract int StartLastmileProbeTest(LastmileProbeConfig config); - - Future<void> startLastmileProbeTest(LastmileProbeConfig config);

          + public abstract int startLastmileProbeTest(LastmileProbeConfig config); + - (int)startLastmileProbeTest:(AgoraLastmileProbeConfig *_Nullable)config; + virtual int startLastmileProbeTest(const LastmileProbeConfig& config) = 0; + startLastmileProbeTest(config: LastmileProbeConfig): number + public abstract int StartLastmileProbeTest(LastmileProbeConfig config); + + Future<void> startLastmileProbeTest(LastmileProbeConfig config); +

          - -
          Since
          -
          v2.4.0
          -
          + +
          Since
          +
          v2.4.0
          +
          -

          This method starts the last-mile network probe test before joining a channel to get the uplink and downlink last mile network statistics, including the bandwidth, packet loss, jitter, and round-trip time (RTT).

          -

          Once this method is enabled, the SDK returns the following callbacks: -

            -
          • : The SDK triggers this callback within two seconds depending on the network conditions. This callback rates the network conditions and is more closely linked to the user experience.
          • -
          • : The SDK triggers this callback within 30 seconds depending on the network conditions. This callback returns the real-time statistics of the network conditions and is more objective.
          • -

          -

          This method applies to the following scenarios: -

            -
          • Before a user joins a channel, call this method to check the uplink network quality.
          • -
          • In a live streaming channel, call this method to check the uplink network quality before an audience member switches to a host.
          • -

          +

          This method starts the last-mile network probe test before joining a channel to get + the uplink and downlink last mile network statistics, including the bandwidth, + packet loss, jitter, and round-trip time (RTT).

          +

          Once this method is enabled, the SDK returns the following callbacks:

            +
          • : The SDK triggers this callback within + two seconds depending on the network conditions. This callback rates the + network conditions and is more closely linked to the user experience.
          • +
          • : The SDK triggers this callback + within 30 seconds depending on the network conditions. This callback returns + the real-time statistics of the network conditions and is more + objective.
          • +
          +

          +

          This method applies to the following scenarios:

            +
          • Before a user joins a channel, call this method to check the uplink network + quality.
          • +
          • In a live streaming channel, call this method to check the uplink network + quality before an audience member switches to a host.
          • +
          +

          -
            -
          • This method consumes extra network traffic and may affect communication quality. We do not recommend calling this method and at the same time.
          • -
          • Do not call other methods before receiving the and callbacks. Otherwise, the callbacks may be interrupted.
          • -
          • A host should not call this method after joining a channel (when in a call).
          • -
          +
            +
          • This method consumes extra network traffic and may affect + communication quality. We do not recommend calling this method and at the same time.
          • +
          • Do not call other methods before receiving the and callbacks. Otherwise, the callbacks may be interrupted.
          • +
          • A host should not call this method after joining a channel (when in a + call).
          • +
          + +
          Parameters - - config - The configurations of the last-mile network probe test. See . - -
          + + config + The configurations of the last-mile network probe test. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1212. 0: Success.
        1213. +
        1214. < 0: Failure.
        1215. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startpreview.dita b/en-US/dita/RTC/API/api_startpreview.dita index 4b2fe5c1965..2fecef39773 100644 --- a/en-US/dita/RTC/API/api_startpreview.dita +++ b/en-US/dita/RTC/API/api_startpreview.dita @@ -1,43 +1,52 @@ - <ph keyref="startPreview" /> + <ph keyref="startPreview"/> Enables the local video preview. - +

          - public abstract int startPreview(); - - (int)startPreview; - virtual int startPreview() = 0; - startPreview(): number - public abstract int StartPreview(); - - Future<void> startPreview();

          + public abstract int startPreview(); + - (int)startPreview; + virtual int startPreview() = 0; + startPreview(): number + public abstract int StartPreview(); + + Future<void> startPreview(); +

          -

          This method starts the local video preview before joining the channel. Before calling this method, ensure that you do the following:

          +

          This method starts the local video preview before joining the channel. Before calling + this method, ensure that you do the following:

            -
          • Call to set the local preview window.
          • -
          • Call to set the local preview window.
          • -
          • Call to enable the video.
          • +
          • Call to set the + local preview window.
          • +
          • Call to set the local preview + window.
          • +
          • Call to enable the video.
          -
            -
          • The local preview enables the mirror mode by default.
          • -
          • After the local video preview is enabled, if you call to exit the channel, the local preview remains until you call to disable it.
          • -
          +
            +
          • The local preview enables the mirror mode by default.
          • +
          • After the local video preview is enabled, if you call to exit the channel, the local preview remains + until you call to disable it.
          • +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1216. 0: Success.
        1217. +
        1218. < 0: Failure.
        1219. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startrecording.dita b/en-US/dita/RTC/API/api_startrecording.dita index fb750f09734..e04765a16ff 100644 --- a/en-US/dita/RTC/API/api_startrecording.dita +++ b/en-US/dita/RTC/API/api_startrecording.dita @@ -1,68 +1,77 @@ - <ph keyref="startRecording" /> - Starts recording the local audio and video. + <ph keyref="startRecording"/> + Starts recording the local audio and + video. - +

          - - - virtual int startRecording(const MediaRecorderConfiguration& config) = 0; - - public abstract int StartRecording(MediaRecorderConfiguration config); - - Future<void> startRecording(MediaRecorderConfiguration config);

          + + + virtual int startRecording(const MediaRecorderConfiguration& config) = 0; + + public abstract int StartRecording(MediaRecorderConfiguration config); + + Future<void> startRecording(MediaRecorderConfiguration config); +

          -

          After successfully getting the object, you can all this method to enable the recoridng of the local audio and video.

          -

          This method can record the following content: - -

            -
          • The audio captured by the local microphone and encoded in AAC format.
          • -
          • The video captured by the local camera and encoded by the SDK.
          • -

          -

          The SDK can generate a recording file only when it detects the recordable audio and video streams; when there are no audio - and video streams to be recorded or the audio and video streams are interrupted for more than five seconds, the SDK stops - recording and triggers the (, ) callback.

          - Call this method after joining the channel.
          +

          After successfully getting the object, you can all this method to enable the + recoridng of the local audio and video.

          +

          This method can record the following content:

            +
          • The audio captured by the local microphone and encoded in AAC format.
          • +
          • The video captured by the local camera and encoded by the SDK.
          • +

          +

          The SDK can generate a recording file only when it detects the recordable audio and + video streams; when there are no audio and video streams to be recorded or the audio + and video streams are interrupted for more than five seconds, the SDK stops + recording and triggers the (, ) + callback.

          + Call this method after joining the channel. +
          Parameters - - config - The recording configuration. See . - -
          + + config + The recording configuration. See . + + +
          Returns
            -
          • 0(ERR_OK): Success.
          • -
          • < 0: Failure. - -
              -
            • -2(ERR_INVALID_ARGUMANT): The parameter is invalid. Ensure the following: - -
                -
              • The specified path of the recording file exists and is writable.
              • -
              • The specified format of the recording file is supported.
              • -
              • The maximum recording duration is correctly set.
              • +
              • 0(ERR_OK): Success.
              • +
              • < 0: Failure.
                  +
                • -2(ERR_INVALID_ARGUMANT): The parameter is invalid. + Ensure the following:
                    +
                  • The specified path of the recording file exists and is + writable.
                  • +
                  • The specified format of the recording file is supported.
                  • +
                  • The maximum recording duration is correctly set.
                  • +
                • +
                • -4(ERR_NOT_SUPPORTED): does + not support the request due to one of the following reasons:
                    +
                  • The recording is ongoing.
                  • +
                  • The recording stops because an error occurs.
                  • +
                • +
                • -7(ERR_NOT_INITIALIZED): This method is called + before the initialization of . Ensure that you have called before calling this + method.
              • -
              • -4(ERR_NOT_SUPPORTED): does not support the request due to one of the following reasons: - -
                  -
                • The recording is ongoing.
                • -
                • The recording stops because an error occurs.
                • -
              • -
              • -7(ERR_NOT_INITIALIZED): This method is called before the initialization of . Ensure that you have called before calling this method.
              • -
            • -
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startrhythmplayer.dita b/en-US/dita/RTC/API/api_startrhythmplayer.dita index 4ab5df7e2b5..2baf6ce4252 100644 --- a/en-US/dita/RTC/API/api_startrhythmplayer.dita +++ b/en-US/dita/RTC/API/api_startrhythmplayer.dita @@ -1,71 +1,95 @@ - <ph keyref="startRhythmPlayer" /> + <ph keyref="startRhythmPlayer"/> Enables the virtual metronome. - +

          - public abstract int startRhythmPlayer( + public abstract int startRhythmPlayer( String sound1, String sound2, AgoraRhythmPlayerConfig config); - - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config; - virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0; - public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config);

          + - (int)startRhythmPlayer:(NSString * _Nonnull)sound1 sound2:(NSString * _Nonnull)sound2 config:(AgoraRhythmPlayerConfig * _Nullable)config; + virtual int startRhythmPlayer(const char* sound1, const char* sound2, const AgoraRhythmPlayerConfig& config) = 0; + public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config);

          - public int startRhythmPlayer(String sound1, String sound2, AgoraRhythmPlayerConfig config); - - (int)startRhythmPlayer:(NSString* _Nonnull)sound1 sound2:(NSString* _Nonnull)sound2 config:(AgoraRtcRhythmPlayerConfig* _Nonnull)config; - - - public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config); - - Future<void> startRhythmPlayer( - String sound1, String sound2, RhythmPlayerConfig config);

          + public int startRhythmPlayer(String sound1, String sound2, AgoraRhythmPlayerConfig config); + - (int)startRhythmPlayer:(NSString* _Nonnull)sound1 sound2:(NSString* _Nonnull)sound2 config:(AgoraRtcRhythmPlayerConfig* _Nonnull)config; + + + public abstract int StartRhythmPlayer(string sound1, string sound2, AgoraRhythmPlayerConfig config); + + Future<void> startRhythmPlayer( + String sound1, String sound2, RhythmPlayerConfig config); +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          -

          In music education, physical education and other scenarios, teachers usually need to use a metronome so that students can practice with the correct beat. The meter is composed of a downbeat and upbeats. The first beat of each measure is called a downbeat, and the rest are called upbeats.

          -

          In this method, you need to set the paths of the upbeat and downbeat files, the number of beats per measure, the tempo, and whether to send the sound of the metronome to remote users.

          +

          In music education, physical education and other scenarios, teachers usually need to + use a metronome so that students can practice with the correct beat. The meter is + composed of a downbeat and upbeats. The first beat of each measure is called a + downbeat, and the rest are called upbeats.

          +

          In this method, you need to set the paths of the upbeat and downbeat files, the + number of beats per measure, the tempo, and whether to send the sound of the + metronome to remote users.

          -
            -
          • This method is for Android and iOS only.
          • -
          • After enabling the virtual metronome, the SDK plays the specified audio effect file from the beginning, and controls the playback duration of each file according to beatsPerMinute you set in . For example, if you set beatsPerMinute as 60, the SDK plays one beat every second. If the file duration exceeds the beat duration, the SDK only plays the audio within the beat duration.
          • -
          +
            +
          • This method is for Android and iOS only.
          • +
          • After enabling the virtual metronome, the SDK plays the specified audio + effect file from the beginning, and controls the playback duration of each + file according to beatsPerMinute you set in . For example, if you set + beatsPerMinute as 60, the SDK + plays one beat every second. If the file duration exceeds the beat duration, + the SDK only plays the audio within the beat duration.
          • +
          +
          Parameters - - sound1 - The absolute path or URL address (including the filename extensions) of the file for the downbeat. For example: . For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support. - - - sound2 - The absolute path or URL address (including the filename extensions) of the file for the upbeats. For example: . For the audio file formats supported by this method, see What formats of audio files does the Agora RTC SDK support. - - - config - The metronome configuration. See . - -
          + + sound1 + The absolute path or URL address (including the filename extensions) of the + file for the downbeat. For example: . For the audio file formats supported by this method, see + What formats of audio files does the Agora + RTC SDK support. + + + sound2 + The absolute path or URL address (including the filename extensions) of the + file for the upbeats. For example: . For the audio file formats supported by this method, see + What formats of audio files does the Agora + RTC SDK support. + + + config + The metronome configuration. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -22: Cannot find audio effect files. Please set the correct paths for sound1 and sound2.
            • -
          • -
          +
        1220. 0: Success.
        1221. +
        1222. < 0: Failure.
            +
          • -22: Cannot find audio effect files. Please set the correct paths for + sound1 and sound2.
          • +
        1223. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startrtmpstreamwithouttranscoding.dita b/en-US/dita/RTC/API/api_startrtmpstreamwithouttranscoding.dita index b274d3b41e4..64c3b3499b9 100644 --- a/en-US/dita/RTC/API/api_startrtmpstreamwithouttranscoding.dita +++ b/en-US/dita/RTC/API/api_startrtmpstreamwithouttranscoding.dita @@ -1,35 +1,39 @@ - <ph keyref="startRtmpStreamWithoutTranscoding" /> - Starts pushing media streams to a CDN without transcoding. + + <ph keyref="startRtmpStreamWithoutTranscoding"/> + + Starts pushing media streams to a CDN without + transcoding. - +

          - public abstract int startRtmpStreamWithoutTranscoding(String url); - - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url; - virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0; - - public abstract int StartRtmpStreamWithoutTranscoding(string url); - - Future<void> startRtmpStreamWithoutTranscoding(String url);

          + public abstract int startRtmpStreamWithoutTranscoding(String url); + - (int)startRtmpStreamWithoutTranscoding:(NSString* _Nonnull)url; + virtual int startRtmpStreamWithoutTranscoding(const char* url) = 0; + + public abstract int StartRtmpStreamWithoutTranscoding(string url); + + Future<void> startRtmpStreamWithoutTranscoding(String url);

          -
          +
          Parameters - - - - -
          -
          + + + + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startrtmpstreamwithtranscoding.dita b/en-US/dita/RTC/API/api_startrtmpstreamwithtranscoding.dita index 6591b436cdd..ab1d6de8a71 100644 --- a/en-US/dita/RTC/API/api_startrtmpstreamwithtranscoding.dita +++ b/en-US/dita/RTC/API/api_startrtmpstreamwithtranscoding.dita @@ -1,59 +1,80 @@ - <ph keyref="startRtmpStreamWithTranscoding" /> - Starts Media Push and sets the transcoding configuration. + + <ph keyref="startRtmpStreamWithTranscoding"/> + + Starts Media Push and sets the transcoding + configuration. - +

          - public abstract int startRtmpStreamWithTranscoding(String url, LiveTranscoding transcoding); - - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding; - virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0; - public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); - - Future<void> startRtmpStreamWithTranscoding(LiveTranscoding transcoding);

          + public abstract int startRtmpStreamWithTranscoding(String url, LiveTranscoding transcoding); + - (int)startRtmpStreamWithTranscoding:(NSString* _Nonnull)url transcoding:(AgoraLiveTranscoding* _Nullable)transcoding; + virtual int startRtmpStreamWithTranscoding(const char* url, const LiveTranscoding& transcoding) = 0; + public abstract int StartRtmpStreamWithTranscoding(string url, LiveTranscoding transcoding); + + Future<void> startRtmpStreamWithTranscoding(LiveTranscoding transcoding);

          -

          You can call this method to push a live audio-and-video stream to the specified CDN address and set the transcoding configuration. This method can push media streams to only one CDN address at a time, so if you need to push streams to multiple addresses, call this method multiple times.

          -

          After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

          +

          You can call this method to push a live audio-and-video stream to the specified CDN + address and set the transcoding configuration. This method can push media streams to + only one CDN address at a time, so if you need to push streams to multiple + addresses, call this method multiple times.

          +

          After you call this method, the SDK triggers the callback on the local client to report + the state of the streaming.

          -
            -
          • Ensure that you enable the Media Push service before using this function.
          • -
          • Ensure that you enable the RTMP Converter service before using this function. See Prerequisites in Push Streams to CDN.
          • -
          • Call this method after joining a channel.
          • -
          • Only hosts in the LIVE_BROADCASTING profile can call this method.
          • -
          • If you want to retry pushing streams after a failed push, make sure to call first, then call this method to retry pushing streams; otherwise, the SDK returns the same error code as the last failed push.
          • -
          +
            +
          • Ensure that you enable the Media Push service before using + this function.
          • +
          • Ensure that you enable the RTMP Converter service before using + this function. See Prerequisites in Push + Streams to CDN.
          • +
          • Call this method after joining a channel.
          • +
          • Only hosts in the LIVE_BROADCASTING profile can call this method.
          • +
          • If you want to retry pushing streams after a failed push, make sure to call + first, then call this method to retry + pushing streams; otherwise, the SDK returns the same error code as the last + failed push.
          • +
          + +
          Parameters - - url - The address of Media Push. The format is RTMP or RTMPS. The character length cannot exceed 1024 bytes. Special characters such as Chinese characters are not supported. - - - transcoding - -

          The transcoding configuration for Media Push. See .

          -
          -
          -
          + + url + The address of Media Push. The format is RTMP or RTMPS. The character length + cannot exceed 1024 bytes. Special characters such as Chinese characters are + not supported. + + + transcoding + +

          The transcoding configuration for Media Push. See .

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -2: url is null or the string length is 0.
            • -
            • -7: The SDK is not initialized before calling this method.
            • -
          • -
          +
        1224. 0: Success.
        1225. +
        1226. < 0: Failure.
            +
          • -2: url is null or the string length is 0.
          • +
          • -7: The SDK is not initialized before calling this method.
          • +
          +
        1227. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startscreencapture.dita b/en-US/dita/RTC/API/api_startscreencapture.dita index 1bd8dd7f635..2ceb2619e3d 100644 --- a/en-US/dita/RTC/API/api_startscreencapture.dita +++ b/en-US/dita/RTC/API/api_startscreencapture.dita @@ -1,74 +1,90 @@ - <ph keyref="startScreenCapture" /> + <ph keyref="startScreenCapture"/> Starts screen sharing. - +

          - - - virtual int startScreenCapture(WindowIDType windowId, + + + virtual int startScreenCapture(WindowIDType windowId, int captureFreq, const Rect* rect, int bitrate) = 0; - - - - Future<void> startScreenCapture(int windowId, - [int captureFreq = 0, Rect? rect, int bitrate = 0]);

          + + + + Future<void> startScreenCapture(int windowId, + [int captureFreq = 0, Rect? rect, int bitrate = 0]); +

          - -
          Deprecated:
          -
          This method is deprecated as of v2.4.0. See the following methods instead: -
            -
          • -
          • -
          • -
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v2.4.0. See the following methods instead:
            +
          • +
          • +
          • +
          +
          -

          This method shares the whole screen, a specified window, or the specified region: -

            -
          • Whole screen: Set windowId as 0 and rect as .
          • -
          • A specified window: Set windowId as a value other than 0. Each window has a windowId that is not 0.
          • -
          • The specified region: Set windowId as 0 and rect as a value other than . In this case, you can share the specified region, for example by dragging the mouse or implementing your own logic. The specified region is a region on the whole screen. Currently, sharing a specified region in a specific window is not supported.
          • -

          - captureFreq is the captured frame rate once the screen-sharing function is enabled. The mandatory value ranges between 1 fps and 15 fps. No matter which of the above functions you enable, the SDK returns 0 when the execution succeeds, and an error code when the execution fails.
          +

          This method shares the whole screen, a specified window, or the specified region:

            +
          • Whole screen: Set windowId as 0 and + rect as .
          • +
          • A specified window: Set windowId as a value other than + 0. Each window has a windowId that is not 0.
          • +
          • The specified region: Set windowId as 0 and + rect as a value other than . In + this case, you can share the specified region, for example by dragging the + mouse or implementing your own logic. The specified region is a region on + the whole screen. Currently, sharing a specified region in a specific window + is not supported.
          • +

          + captureFreq is the captured frame rate once + the screen-sharing function is enabled. The mandatory value ranges between 1 fps and + 15 fps. No matter which of the above functions you enable, the SDK returns 0 when + the execution succeeds, and an error code when the execution fails. +
          Parameters - - windowId - The screen sharing area. - - - captureFreq - (Mandatory) The captured frame rate. The value ranges between 1 fps and 15 fps. - - - rect - Specifies the screen-sharing region: . This parameter is valid when windowsId is set as 0. When rect is set as , the whole screen is shared. - - - bitrate - The bitrate of the screen share. - -
          + + windowId + The screen sharing area. + + + captureFreq + (Mandatory) The captured frame rate. The value ranges between 1 fps and 15 + fps. + + + rect + Specifies the screen-sharing region: . This parameter + is valid when windowsId is set as 0. When + rect is set as , the whole + screen is shared. + + + bitrate + The bitrate of the screen share. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1228. 0: Success.
        1229. +
        1230. < 0: Failure.
        1231. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startscreencapturebydisplayid.dita b/en-US/dita/RTC/API/api_startscreencapturebydisplayid.dita index 77f396bdcd1..26a66c42db3 100644 --- a/en-US/dita/RTC/API/api_startscreencapturebydisplayid.dita +++ b/en-US/dita/RTC/API/api_startscreencapturebydisplayid.dita @@ -1,82 +1,106 @@ - <ph keyref="startScreenCaptureByDisplayId" /> - Shares the screen by specifying the display ID. + <ph keyref="startScreenCaptureByDisplayId"/> + Shares the screen by specifying the display + ID. - +

          - - (int)startScreenCaptureByDisplayId:(UInt32)displayId + - (int)startScreenCaptureByDisplayId:(UInt32)displayId regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, ScreenCaptureParameters captureParams);

          + public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, ScreenCaptureParameters captureParams); +

          - - (int)startScreenCaptureByDisplayId:(NSUInteger)displayId rectangle:(CGRect)rectangle parameters:(AgoraScreenCaptureParameters* _Nonnull)captureParams; - public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, + - (int)startScreenCaptureByDisplayId:(NSUInteger)displayId rectangle:(CGRect)rectangle parameters:(AgoraScreenCaptureParameters* _Nonnull)captureParams; + public abstract int StartScreenCaptureByDisplayId(uint displayId, Rectangle regionRect, ScreenCaptureParameters captureParams);

          - - virtual int startScreenCaptureByDisplayId(unsigned int displayId, const Rectangle& regionRect, + + virtual int startScreenCaptureByDisplayId(unsigned int displayId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - - - Future<void> startScreenCaptureByDisplayId(int displayId, - [Rectangle? regionRect, ScreenCaptureParameters? captureParams]);

          + + + Future<void> startScreenCaptureByDisplayId(int displayId, + [Rectangle? regionRect, ScreenCaptureParameters? captureParams]); +

          -

          This method shares a screen or part of the screen. You need to specify the ID of the screen to be shared in this method.

          +

          This method shares a screen or part of the screen. You need to specify the ID of the + screen to be shared in this method.

          -

          Call this method after joining a channel.

          -
            -
          • This method applies to macOS and Windows only.
          • -
          • Call this method after joining a channel.
          • -
          • On the Windows platform, if the user device is connected to another display, to avoid screen sharing issues, use this method to start sharing instead of using .
          • -
          +

          Call this method after joining a channel.

          +
            +
          • This method applies to macOS and Windows only.
          • +
          • Call this method after joining a channel.
          • +
          • On the Windows platform, if the user device is connected to another display, + to avoid screen sharing issues, use this method to start sharing instead of + using .
          • +
          + +
          Parameters - - displayId - The display ID of the screen to be shared. This parameter specifies which screen you want to share. -

          For more information on how to get the display ID, see or get the display ID from sourceId returned by .

          -

          For more information on how to get the display ID, see .

          -
          -
          - - regionRect - (Optional) Sets the relative location of the region to the screen. If you do not set this parameter, the SDK shares the whole screen. See for details. If the specified region overruns the screen, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen. - - - rectangle - regionRect - (Optional) Sets the relative location of the region to the screen. If you do not set this parameter, the SDK shares the whole screen. It consists of the following parameters: -
            -
          • x: The horizontal offset from the top-left corner.
          • -
          • y: The vertical offset from the top-left corner.
          • -
          • width: The width of the region.
          • -
          • height: The height of the region.
          • -
          -

          If the specified region overruns the screen, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen.

          -
          -
          - - captureParams - Screen sharing configurations. The default video dimension is 1920 x 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. See for details. - -
          + + displayId + The display ID of the screen to be shared. This parameter specifies which + screen you want to share.

          For more information on how to + get the display ID, see or get the + display ID from sourceId returned by .

          +

          For more information on how to get the display ID, see + .

          +
          +
          + + regionRect + (Optional) Sets the relative location of the region to the screen. If you do + not set this parameter, the SDK shares the whole screen. See for details. If the specified region overruns the + screen, the SDK shares only the region within it; if you set width or height + as 0, the SDK shares the whole screen. + + + rectangle + regionRect + (Optional) Sets the relative location of the region to the screen. If you do + not set this parameter, the SDK shares the whole screen. It consists of the + following parameters:
            +
          • x: The horizontal offset from the top-left corner.
          • +
          • y: The vertical offset from the top-left corner.
          • +
          • width: The width of the region.
          • +
          • height: The height of the region.
          • +
          +

          If the specified region overruns the screen, the SDK shares only the + region within it; if you set width or height as 0, the SDK shares the + whole screen.

          +
          +
          + + captureParams + Screen sharing configurations. The default video dimension is 1920 x 1080, + that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges. See for + details. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1232. 0: Success.
        1233. +
        1234. < 0: Failure.
        1235. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startscreencapturebyscreenrect.dita b/en-US/dita/RTC/API/api_startscreencapturebyscreenrect.dita index 22015258b35..7263b4ad4f0 100644 --- a/en-US/dita/RTC/API/api_startscreencapturebyscreenrect.dita +++ b/en-US/dita/RTC/API/api_startscreencapturebyscreenrect.dita @@ -1,71 +1,85 @@ - <ph keyref="startScreenCaptureByScreenRect" /> - Shares the whole or part of a screen by specifying the screen rect. + <ph keyref="startScreenCaptureByScreenRect"/> + Shares the whole or part of a screen by specifying the + screen rect. - +

          - - - virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect, + + + virtual int startScreenCaptureByScreenRect(const Rectangle& screenRect, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - startScreenCaptureByScreen(screenSymbol: ScreenSymbol, + startScreenCaptureByScreen(screenSymbol: ScreenSymbol, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number - public abstract int StartScreenCaptureByScreenRect(Rectangle screenRect, Rectangle regionRect, + public abstract int StartScreenCaptureByScreenRect(Rectangle screenRect, Rectangle regionRect, ScreenCaptureParameters captureParams); - - Future<void> startScreenCaptureByScreenRect(Rectangle screenRect, - [Rectangle? regionRect, ScreenCaptureParameters? captureParams]);

          + + Future<void> startScreenCaptureByScreenRect(Rectangle screenRect, + [Rectangle? regionRect, ScreenCaptureParameters? captureParams]); +

          - -
          Since
          -
          v2.4.0
          -
          + +
          Since
          +
          v2.4.0
          +
          -

          This method shares a screen or part of the screen. You need to specify the area of the screen to be shared.

          +

          This method shares a screen or part of the screen. You need to specify the + area of the screen to be shared.

          -
            -
          • This method applies to the Windows platform only.
          • -
          • Call this method after joining a channel.
          • -
          +
            +
          • This method applies to the Windows platform only.
          • +
          • Call this method after joining a channel.
          • +
          +
          Parameters - - screenRect - Sets the relative location of the screen to the virtual screen. - - - screenSymbol - The display ID (macOS) or ScreenRect that identifies the screen. See . You can get the data stream ID by calling . - - - regionRect - (Optional) Sets the relative location of the region to the screen. If you do not set this parameter, the SDK shares the whole screen. See . If the specified region overruns the screen, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen. - - - captureParams - The screen sharing encoding parameters. The default video dimension is 1920 x 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. See . - -
          + + screenRect + Sets the relative location of the screen to the virtual screen. + + + screenSymbol + The display ID (macOS) or ScreenRect that identifies the screen. See . You can get the data stream ID by calling . + + + regionRect + (Optional) Sets the relative location of the region to the screen. If you do + not set this parameter, the SDK shares the whole screen. See . If the specified region overruns the screen, the + SDK shares only the region within it; if you set width or height as 0, the + SDK shares the whole screen. + + + captureParams + The screen sharing encoding parameters. The default video dimension is 1920 + x 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1236. 0: Success.
        1237. +
        1238. < 0: Failure.
        1239. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startscreencapturebywindowid.dita b/en-US/dita/RTC/API/api_startscreencapturebywindowid.dita index 32314988af5..181921caa3f 100644 --- a/en-US/dita/RTC/API/api_startscreencapturebywindowid.dita +++ b/en-US/dita/RTC/API/api_startscreencapturebywindowid.dita @@ -1,213 +1,234 @@ - <ph keyref="startScreenCaptureByWindowId" /> - Shares the whole or part of a window by specifying the window ID. + <ph keyref="startScreenCaptureByWindowId"/> + Shares the whole or part of a window by specifying the + window ID. - +

          - - (int)startScreenCaptureByWindowId:(UInt32)windowId + - (int)startScreenCaptureByWindowId:(UInt32)windowId regionRect:(CGRect)regionRect captureParams:(AgoraScreenCaptureParameters *_Nonnull)captureParams; - public abstract int StartScreenCaptureByWindowId(UInt64 windowId, Rectangle regionRect, ScreenCaptureParameters captureParams);

          + public abstract int StartScreenCaptureByWindowId(UInt64 windowId, Rectangle regionRect, ScreenCaptureParameters captureParams); +

          - - (int)startScreenCaptureByWindowId:(NSUInteger)windowId rectangle:(CGRect)rectangle parameters:(AgoraScreenCaptureParameters* _Nonnull)captureParams; - public abstract int StartScreenCaptureByWindowId(view_t windowId, Rectangle regionRect, + - (int)startScreenCaptureByWindowId:(NSUInteger)windowId rectangle:(CGRect)rectangle parameters:(AgoraScreenCaptureParameters* _Nonnull)captureParams; + public abstract int StartScreenCaptureByWindowId(view_t windowId, Rectangle regionRect, ScreenCaptureParameters captureParams);

          - - virtual int startScreenCaptureByWindowId(view_t windowId, + + virtual int startScreenCaptureByWindowId(view_t windowId, const Rectangle& regionRect, const ScreenCaptureParameters& captureParams) = 0; - startScreenCaptureByWindow(windowId: number, + startScreenCaptureByWindow(windowId: number, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number - - Future<void> startScreenCaptureByWindowId(int windowId, - [Rectangle? regionRect, ScreenCaptureParameters? captureParams]);

          + + Future<void> startScreenCaptureByWindowId(int windowId, + [Rectangle? regionRect, ScreenCaptureParameters? captureParams]); +

          - -
          Since
          -
          v2.4.0
          -
          + +
          Since
          +
          v2.4.0
          +
          -

          This method shares a window or part of the window. You need to specify the ID of the window to be shared.

          +

          This method shares a window or part of the window. You need to specify the + ID of the window to be shared.

          -

          Call this method after joining a channel.

          -
            -
          • Call this method after joining a channel.
          • -
          • This method applies to macOS and Windows only.
          • -
          -

          Since v3.0.0, this method supports window sharing of UWP (Universal Windows Platform) applications. Agora tests the mainstream UWP applications by using the lastest SDK, see details as follows:

          -

          - - - - - - - - System version - Software - Compatible versions - Support - - - - - win10 - Chrome - 76.0.3809.100 - No - - - Office Word - 18.1903.1152.0 - Yes - - - Office Excel - No - - - Office PPT - Yes - - - WPS Word - 11.1.0.9145 - Yes - - - WPS Excel - - - WPS PPT - - - Media Player (come with the system) - All - Yes - - - win8 - Chrome - All - Yes - - - Office Word - All - Yes - - - Office Excel - - - Office PPT - - - WPS Word - 11.1.0.9098 - Yes - - - WPS Excel - - - WPS PPT - - - Media Player (come with the system) - All - Yes - - - win7 - Chrome - 73.0.3683.103 - No - - - Office Word - All - Yes - - - Office Excel - - - Office PPT - - - WPS Word - 11.1.0.9098 - No - - - WPS Excel - - - WPS PPT - 11.1.0.9098 - Yes - - - Media Player (come with the system) - All - No - - - -

          +

          Call this method after joining a channel.

          +
            +
          • Call this method after joining a channel.
          • +
          • This method applies to macOS and Windows only.
          • +
          + +

          Since v3.0.0, this method supports window sharing of UWP (Universal + Windows Platform) applications. Agora tests the mainstream UWP applications by using + the lastest SDK, see details as follows:

          +

          + + + + + + + + + System version + Software + Compatible versions + Support + + + + + win10 + Chrome + 76.0.3809.100 + No + + + Office Word + 18.1903.1152.0 + Yes + + + Office Excel + No + + + Office PPT + Yes + + + WPS Word + 11.1.0.9145 + Yes + + + WPS Excel + + + WPS PPT + + + Media Player (come with the system) + All + Yes + + + win8 + Chrome + All + Yes + + + Office Word + All + Yes + + + Office Excel + + + Office PPT + + + WPS Word + 11.1.0.9098 + Yes + + + WPS Excel + + + WPS PPT + + + Media Player (come with the system) + All + Yes + + + win7 + Chrome + 73.0.3683.103 + No + + + Office Word + All + Yes + + + Office Excel + + + Office PPT + + + WPS Word + 11.1.0.9098 + No + + + WPS Excel + + + WPS PPT + 11.1.0.9098 + Yes + + + Media Player (come with the system) + All + No + + + +
          +

          Parameters - - windowId - The ID of the window to be shared. -

          You can get the window ID by calling .

          -
          -
          - - regionRect - (Optional) Sets the relative location of the region to the screen. If you do not set this parameter, the SDK shares the whole screen. For details, see . If the specified region overruns the window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole window. - - - rectangle - regionRect - -

          (Optional) The relative location of the region to the window. If you do not set this parameter, the SDK shares the whole window. It consists of the following parameters: -

            -
          • x: The horizontal offset from the top-left corner.
          • -
          • y: The vertical offset from the top-left corner.
          • -
          • width: The width of the region.
          • -
          • height: The height of the region.
          • -

          -

          If the specified region overruns the window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole window.

          -
          -
          - - captureParams - Screen sharing configurations. The default video dimension is 1920 x 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. For details, see . - -
          + + windowId + The ID of the window to be shared.

          You can get the + window ID by calling .

          +
          +
          + + regionRect + (Optional) Sets the relative location of the region to the screen. If you do + not set this parameter, the SDK shares the whole screen. For details, see + . If the specified region overruns the window, + the SDK shares only the region within it; if you set width or height as 0, + the SDK shares the whole window. + + + rectangle + regionRect + +

          (Optional) The relative location of the region to the window. If you do + not set this parameter, the SDK shares the whole window. It consists of + the following parameters:

            +
          • x: The horizontal offset from the top-left corner.
          • +
          • y: The vertical offset from the top-left corner.
          • +
          • width: The width of the region.
          • +
          • height: The height of the region.
          • +

          +

          If the specified region overruns the window, the SDK shares only the + region within it; if you set width or height as 0, the SDK shares the + whole window.

          +
          +
          + + captureParams + Screen sharing configurations. The default video dimension is 1920 x 1080, + that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges. For details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1240. 0: Success.
        1241. +
        1242. < 0: Failure.
        1243. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_startscreencapturemobile.dita b/en-US/dita/RTC/API/api_startscreencapturemobile.dita index 9dddae5e898..1a401728d35 100644 --- a/en-US/dita/RTC/API/api_startscreencapturemobile.dita +++ b/en-US/dita/RTC/API/api_startscreencapturemobile.dita @@ -1,70 +1,92 @@ - <ph keyref="startScreenCaptureMobile" /> - Starts screen sharing. This method is only available on Android and iOS. + <ph keyref="startScreenCaptureMobile"/> + Starts screen sharing. This method is only available on + Android and iOS. - +

          - - - - - - - Future<void> startScreenCaptureMobile(ScreenCaptureParameters2 parameters);

          + + + + + + + Future<void> startScreenCaptureMobile(ScreenCaptureParameters2 parameters); +

          -

          On Android, during screen sharing, make sure the following: -

            -
          • The user has granted screen capture permission to the application; otherwise, the SDK triggers the callback and reports ScreenCapturePermissionDenied(16).
          • -
          • The Android API level is not earlier than 21; otherwise, the method call fails and returns ScreenCaptureSystemNotSupported(2).
          • -
          • To capture system audio during screen sharing, ensure that the Android API level is not earlier than 29 as well; otherwise, the method call fails and returns ScreenCaptureSystemAudioNotSupported(3).
          • -
          +

          On Android, during screen sharing, make sure the following:

            +
          • The user has granted screen capture permission to the application; otherwise, the SDK + triggers the callback and reports + ScreenCapturePermissionDenied(16).
          • +
          • The Android API level is not earlier than 21; otherwise, the method call fails and + returns ScreenCaptureSystemNotSupported(2).
          • +
          • To capture system audio during screen sharing, ensure that the Android API level is + not earlier than 29 as well; otherwise, the method call fails and returns + ScreenCaptureSystemAudioNotSupported(3).
          • +

          -

          On iOS, when the screen sharing extension process starts, ends, or quits unexpectedly, the SDK triggers the callback and reports ExtensionCaptureStarted(13), ExtensionCaptureStoped(14), and ExtensionCaptureDisconnected(15) respectively.

          - -
            -
          • Call this method after joining a channel.
          • -
          • The billing of the screen sharing stream is based on the value of dimensions in ScreenVideoParameters When you do not pass in a value, Agora bills you at 1280 × 720; when you pass a value in, Agora bills you at that value. For details, see Pricing for Real-time Communication.
          • -
          • On Android, note the following: -
              -
            • On Android 9 and later, to avoid the application being killed by the system after going to the background, Agora recommends you add the foreground service permission android.permission.FOREGROUND_SERVICE to the /app/Manifests/AndroidManifest.xml file.
            • -
            • Due to performance limitations, screen sharing is not supported on Android TV.
            • -
            • Due to system limitations, if you are using Huawei phones, do not adjust the video encoding resolution of the screen sharing stream during the screen sharing, or you could experience crashes.
            • -
            -
          • -
          • On iOS, note the following: -
              -
            • This feature is only available for iOS 11 or later.
            • -
            • This feature requires a high-performance device. Agora recommends that you use this feature on iPhone X or later models.
            • -
            • If you are using the custom audio source instead of the SDK to capture audio, Agora recommends you add the keep-alive processing logic to your application to avoid screen sharing stopping when the application goes to the background.
            • -
            -
          • -
          -
          +

          On iOS, when the screen sharing extension process starts, ends, or quits unexpectedly, the + SDK triggers the callback and reports + ExtensionCaptureStarted(13), ExtensionCaptureStoped(14), + and ExtensionCaptureDisconnected(15) respectively.

          + +
            +
          • Call this method after joining a channel.
          • +
          • The billing of the screen sharing stream is based on the value of + dimensions in ScreenVideoParameters When you do + not pass in a value, Agora bills you at 1280 × 720; when you pass a value in, Agora + bills you at that value. For details, see Pricing for Real-time + Communication.
          • +
          • On Android, note the following:
              +
            • On Android 9 and later, to avoid the application being killed by the system after + going to the background, Agora recommends you add the foreground service permission + android.permission.FOREGROUND_SERVICE to the + /app/Manifests/AndroidManifest.xml file.
            • +
            • Due to performance limitations, screen sharing is not supported on Android + TV.
            • +
            • Due to system limitations, if you are using Huawei phones, do not adjust the video + encoding resolution of the screen sharing stream during the screen sharing, or you + could experience crashes.
            • +
            +
          • +
          • On iOS, note the following:
              +
            • This feature is only available for iOS 11 or later.
            • +
            • This feature requires a high-performance device. Agora recommends that you use + this feature on iPhone X or later models.
            • +
            • If you are using the custom audio source instead of the SDK to capture audio, + Agora recommends you add the keep-alive processing logic to your application to + avoid screen sharing stopping when the application goes to the background.
            • +
            +
          • +
          +
          Parameters - - parameters - The configuration of the screen sharing. See . - -
          + + parameters + The configuration of the screen sharing. See . + + +
          - Returns -
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          + Returns +
            +
          • 0: Success.
          • +
          • < 0: Failure.
          • +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_statechanged.dita b/en-US/dita/RTC/API/api_statechanged.dita index 3fb66fa2c3f..48709e14cc2 100644 --- a/en-US/dita/RTC/API/api_statechanged.dita +++ b/en-US/dita/RTC/API/api_statechanged.dita @@ -1,56 +1,57 @@ - <ph keyref="stateChanged" /> + <ph keyref="stateChanged"/> Occurs when the device state changes. - +

          - - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine device:(NSString* _Nonnull)deviceId + + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine device:(NSString* _Nonnull)deviceId type:(AgoraMediaDeviceType)deviceType stateChanged:(NSInteger)state; - - - - -

          + + + + + +

          Parameters - - engine - object. - - - deviceId - The device ID. - - - deviceType - -

          - - - - state - -

          Media device states: -

            -
          • 0: The device is connected but not in use.
          • -
          • 8: The device is not connected.
          • -

          -
          -
          -
          + + engine + object. + + + deviceId + The device ID. + + + deviceType + +

          + + + + state + +

          Media device states:

            +
          • 0: The device is connected but not in use.
          • +
          • 8: The device is not connected.
          • +

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stopalleffects.dita b/en-US/dita/RTC/API/api_stopalleffects.dita index b09d191fd5a..37de5a22ecd 100644 --- a/en-US/dita/RTC/API/api_stopalleffects.dita +++ b/en-US/dita/RTC/API/api_stopalleffects.dita @@ -1,33 +1,35 @@ - <ph keyref="stopAllEffects" /> + <ph keyref="stopAllEffects"/> Stops playing all audio effects. - +

          - public abstract int stopAllEffects(); + public abstract int stopAllEffects(); - - (int)stopAllEffects; + - (int)stopAllEffects; - virtual int stopAllEffects() = 0; - stopAllEffects(): number - public abstract int StopAllEffects(); - - Future<void> stopAllEffects();

          + virtual int stopAllEffects() = 0; + stopAllEffects(): number + public abstract int StopAllEffects(); + + Future<void> stopAllEffects(); +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1244. 0: Success.
        1245. +
        1246. < 0: Failure.
        1247. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stopaudioframedump.dita b/en-US/dita/RTC/API/api_stopaudioframedump.dita index 5d992a1195b..463c4f94a38 100644 --- a/en-US/dita/RTC/API/api_stopaudioframedump.dita +++ b/en-US/dita/RTC/API/api_stopaudioframedump.dita @@ -1,38 +1,40 @@ - <ph keyref="stopAudioFrameDump" /> - + <ph keyref="stopAudioFrameDump"/> + - +

          - - - virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0; + + + virtual int stopAudioFrameDump(const char* channel_id, uid_t user_id, const char* location) = 0; - - - -

          + + + + +

          -
          +
          Parameters - - - - -
          + + + + + +
          Returns
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stopaudiomixing.dita b/en-US/dita/RTC/API/api_stopaudiomixing.dita index 632b95ed748..bc906c5b971 100644 --- a/en-US/dita/RTC/API/api_stopaudiomixing.dita +++ b/en-US/dita/RTC/API/api_stopaudiomixing.dita @@ -1,25 +1,27 @@ - <ph keyref="stopAudioMixing" /> - Stops playing and mixing the music file. + <ph keyref="stopAudioMixing"/> + Stops playing and mixing the music + file. - +

          - public abstract int stopAudioMixing(); - - (int)stopAudioMixing; - virtual int stopAudioMixing() = 0; - stopAudioMixing(): number - public abstract int StopAudioMixing(); - - Future<void> stopAudioMixing();

          + public abstract int stopAudioMixing(); + - (int)stopAudioMixing; + virtual int stopAudioMixing() = 0; + stopAudioMixing(): number + public abstract int StopAudioMixing(); + + Future<void> stopAudioMixing(); +

          This method stops the audio mixing. Call this method when you are in a channel.

          @@ -27,8 +29,9 @@
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1248. 0: Success.
        1249. +
        1250. < 0: Failure.
        1251. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stopaudiorecording.dita b/en-US/dita/RTC/API/api_stopaudiorecording.dita index b812b95244f..71120f05ebf 100644 --- a/en-US/dita/RTC/API/api_stopaudiorecording.dita +++ b/en-US/dita/RTC/API/api_stopaudiorecording.dita @@ -1,34 +1,40 @@ - <ph keyref="stopAudioRecording" /> - Stops the audio recording on the client. + <ph keyref="stopAudioRecording"/> + Stops the audio recording on the + client. - +

          - public abstract int stopAudioRecording(); - - (int)stopAudioRecording; - virtual int stopAudioRecording() = 0; - stopAudioRecording(): number - public abstract int StopAudioRecording(); - - Future<void> stopAudioRecording();

          + public abstract int stopAudioRecording(); + - (int)stopAudioRecording; + virtual int stopAudioRecording() = 0; + stopAudioRecording(): number + public abstract int StopAudioRecording(); + + Future<void> stopAudioRecording(); +

          -

          If you call to start recording, you can call this method to stop the recording.

          - Once the user leaves the channel, the recording automatically stops.
          +

          If you call to start recording, you can call + this method to stop the recording.

          + Once the user leaves the channel, the recording + automatically stops. +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1252. 0: Success.
        1253. +
        1254. < 0: Failure.
        1255. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stopchannelmediarelay.dita b/en-US/dita/RTC/API/api_stopchannelmediarelay.dita index 00a523c449e..8d1d853e1ee 100644 --- a/en-US/dita/RTC/API/api_stopchannelmediarelay.dita +++ b/en-US/dita/RTC/API/api_stopchannelmediarelay.dita @@ -1,40 +1,52 @@ - <ph keyref="stopChannelMediaRelay" /> - Stops the media stream relay. Once the relay stops, the host quits all the destination channels. + <ph keyref="stopChannelMediaRelay"/> + Stops the media stream relay. Once the relay stops, the + host quits all the destination channels. - +

          - public abstract int stopChannelMediaRelay(); - - (int)stopChannelMediaRelay; - virtual int stopChannelMediaRelay() = 0; - stopChannelMediaRelay(): number - public abstract int StopChannelMediaRelay(); - - Future<void> stopChannelMediaRelay();

          + public abstract int stopChannelMediaRelay(); + - (int)stopChannelMediaRelay; + virtual int stopChannelMediaRelay() = 0; + stopChannelMediaRelay(): number + public abstract int StopChannelMediaRelay(); + + Future<void> stopChannelMediaRelay(); +

          - -
          Since
          -
          v2.9.0
          -
          + +
          Since
          +
          v2.9.0
          +
          -

          After a successful method call, the SDK triggers the callback. If the callback reports (0) and (0), the host successfully stops the relay.

          - If the method call fails, the SDK triggers the callback with the (2) or (8) status code. You can call the method to leave the channel, and the media stream relay automatically stops.
          +

          After a successful method call, the SDK triggers the callback. If the callback reports + (0) and (0), + the host successfully stops the relay.

          + If the method call fails, the SDK triggers the callback with the (2) or (8) status code. You can call the + method to leave the channel, and the media stream + relay automatically stops. +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1256. 0: Success.
        1257. +
        1258. < 0: Failure.
        1259. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stopdirectcdnstreaming.dita b/en-US/dita/RTC/API/api_stopdirectcdnstreaming.dita index ab88012bfec..00673f2247d 100644 --- a/en-US/dita/RTC/API/api_stopdirectcdnstreaming.dita +++ b/en-US/dita/RTC/API/api_stopdirectcdnstreaming.dita @@ -1,12 +1,13 @@ - <ph keyref="stopDirectCdnStreaming" /> - Stops pushing media streams to the CDN directly. + <ph keyref="stopDirectCdnStreaming"/> + Stops pushing media streams to the CDN + directly. - + @@ -15,15 +16,17 @@ public abstract int stopDirectCdnStreaming(); - (int)stopDirectCdnStreaming; virtual int stopDirectCdnStreaming() = 0; - - - - + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1260. 0: Success.
        1261. +
        1262. < 0: Failure.
        1263. + + -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stopechotest.dita b/en-US/dita/RTC/API/api_stopechotest.dita index deb1ae83b9b..132b35f9c15 100644 --- a/en-US/dita/RTC/API/api_stopechotest.dita +++ b/en-US/dita/RTC/API/api_stopechotest.dita @@ -1,35 +1,37 @@ - <ph keyref="stopEchoTest" /> + <ph keyref="stopEchoTest"/> Stops the audio call test. - +

          - public abstract int stopEchoTest(); - - (int)stopEchoTest; - virtual int stopEchoTest() = 0; - stopEchoTest(): number - public abstract int StopEchoTest(); - - Future<void> stopEchoTest();

          + public abstract int stopEchoTest(); + - (int)stopEchoTest; + virtual int stopEchoTest() = 0; + stopEchoTest(): number + public abstract int StopEchoTest(); + + Future<void> stopEchoTest(); +

          Returns
            -
          • 0: Success.
          • -
          • - < 0: Failure. -
              -
            • -5(ERR_REFUSED): Failed to stop the echo test. The echo test may not be running.
            • -
          • -
          +
        1264. 0: Success.
        1265. +
        1266. < 0: Failure.
            +
          • -5(ERR_REFUSED): Failed to stop the echo test. The echo test may not be + running.
          • +
          +
        1267. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stopeffect.dita b/en-US/dita/RTC/API/api_stopeffect.dita index 5891d7e397f..22eaa68550c 100644 --- a/en-US/dita/RTC/API/api_stopeffect.dita +++ b/en-US/dita/RTC/API/api_stopeffect.dita @@ -1,41 +1,45 @@ - <ph keyref="stopEffect" /> - Stops playing a specified audio effect. + <ph keyref="stopEffect"/> + Stops playing a specified audio + effect. - +

          - public abstract int stopEffect(int soundId); + public abstract int stopEffect(int soundId); - - (int)stopEffect:(int)soundId; + - (int)stopEffect:(int)soundId; - virtual int stopEffect(int soundId) = 0; - stopEffect(soundId: number): number - public abstract int StopEffect(int soundId); - - Future<void> stopEffect(int soundId);

          + virtual int stopEffect(int soundId) = 0; + stopEffect(soundId: number): number + public abstract int StopEffect(int soundId); + + Future<void> stopEffect(int soundId); +

          Parameters - - soundId - - -
          + + soundId + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1268. 0: Success.
        1269. +
        1270. < 0: Failure.
        1271. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stoplastmileprobetest.dita b/en-US/dita/RTC/API/api_stoplastmileprobetest.dita index b28c43e17b7..c91cc443fd8 100644 --- a/en-US/dita/RTC/API/api_stoplastmileprobetest.dita +++ b/en-US/dita/RTC/API/api_stoplastmileprobetest.dita @@ -1,39 +1,42 @@ - <ph keyref="stopLastmileProbeTest" /> - Stops the last mile network probe test. + <ph keyref="stopLastmileProbeTest"/> + Stops the last mile network probe + test. - +

          - public abstract int stopLastmileProbeTest(); - - (int)stopLastmileProbeTest; - virtual int stopLastmileProbeTest() = 0; - stopLastmileProbeTest(): number - public abstract int StopLastmileProbeTest(); - - Future<void> stopLastmileProbeTest();

          + public abstract int stopLastmileProbeTest(); + - (int)stopLastmileProbeTest; + virtual int stopLastmileProbeTest() = 0; + stopLastmileProbeTest(): number + public abstract int StopLastmileProbeTest(); + + Future<void> stopLastmileProbeTest(); +

          - -
          Since
          -
          v2.4.0
          -
          + +
          Since
          +
          v2.4.0
          +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1272. 0: Success.
        1273. +
        1274. < 0: Failure.
        1275. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stoppreview.dita b/en-US/dita/RTC/API/api_stoppreview.dita index dbc17e839b0..6c72ebc5b55 100644 --- a/en-US/dita/RTC/API/api_stoppreview.dita +++ b/en-US/dita/RTC/API/api_stoppreview.dita @@ -1,31 +1,33 @@ - <ph keyref="stopPreview" /> + <ph keyref="stopPreview"/> Stops the local video preview. - +

          - public abstract int stopPreview(); - - (int)stopPreview; - virtual int stopPreview() = 0; - stopPreview(): number - public abstract int StopPreview(); - - Future<void> stopPreview();

          + public abstract int stopPreview(); + - (int)stopPreview; + virtual int stopPreview() = 0; + stopPreview(): number + public abstract int StopPreview(); + + Future<void> stopPreview(); +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1276. 0: Success.
        1277. +
        1278. < 0: Failure.
        1279. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stoprecording.dita b/en-US/dita/RTC/API/api_stoprecording.dita index 2a6872b7d00..b7fbb2c84b4 100644 --- a/en-US/dita/RTC/API/api_stoprecording.dita +++ b/en-US/dita/RTC/API/api_stoprecording.dita @@ -1,38 +1,45 @@ - <ph keyref="stopRecording" /> - Stops recording the local audio and video + <ph keyref="stopRecording"/> + Stops recording the local audio and + video - +

          - - - virtual int stopRecording() = 0; - - public abstract int StopRecording(); - - Future<void> stopRecording();

          + + + virtual int stopRecording() = 0; + + public abstract int StopRecording(); + + Future<void> stopRecording(); +

          - After calling , if you want to stop the recording, you must call this method; - otherwise, the generated recording files may not be playable.
          + After calling , if you want to + stop the recording, you must call this method; otherwise, the generated recording + files may not be playable. +
          Returns
            -
          • 0(ERR_OK): Success.
          • -
          • < 0: Failure: - -
              -
            • -7(ERR_NOT_INITIALIZED): This method is called before the initialization of . Ensure that ou have called before calling this method.
            • -
          • -
          +
        1280. 0(ERR_OK): Success.
        1281. +
        1282. < 0: Failure:
            +
          • -7(ERR_NOT_INITIALIZED): This method is called + before the initialization of . Ensure that ou have called before calling this + method.
          • +
        1283. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stoprhythmplayer.dita b/en-US/dita/RTC/API/api_stoprhythmplayer.dita index 927cc705124..958f9369f45 100644 --- a/en-US/dita/RTC/API/api_stoprhythmplayer.dita +++ b/en-US/dita/RTC/API/api_stoprhythmplayer.dita @@ -1,43 +1,47 @@ - <ph keyref="stopRhythmPlayer" /> + <ph keyref="stopRhythmPlayer"/> Disables the virtual metronome. - +

          - public abstract int stopRhythmPlayer(); - public abstract int StopRhythmPlayer();

          + public abstract int stopRhythmPlayer(); + public abstract int StopRhythmPlayer();

          - public int stopRhythmPlayer();

          + public int stopRhythmPlayer();

          - - (int)stopRhythmPlayer; - virtual int stopRhythmPlayer() = 0; - - - Future<void> stopRhythmPlayer();

          + - (int)stopRhythmPlayer; + virtual int stopRhythmPlayer() = 0; + + + Future<void> stopRhythmPlayer(); +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          -

          After calling , you can call this method to disable the virtual metronome.

          - This method is for Android and iOS only.
          +

          After calling , you can call this method to disable + the virtual metronome.

          + This method is for Android and iOS only. +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1284. 0: Success.
        1285. +
        1286. < 0: Failure.
        1287. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stoprtmpstream.dita b/en-US/dita/RTC/API/api_stoprtmpstream.dita index f154750786a..acae178a685 100644 --- a/en-US/dita/RTC/API/api_stoprtmpstream.dita +++ b/en-US/dita/RTC/API/api_stoprtmpstream.dita @@ -1,43 +1,52 @@ - <ph keyref="stopRtmpStream" /> + + <ph keyref="stopRtmpStream"/> + Stops pushing media streams to a CDN. - +

          - public abstract int stopRtmpStream(String url); - - (int)stopRtmpStream:(NSString* _Nonnull)url; - virtual int stopRtmpStream(const char* url) = 0; - - public abstract int StopRtmpStream(string url); - - Future<void> stopRtmpStream(String url);

          + public abstract int stopRtmpStream(String url); + - (int)stopRtmpStream:(NSString* _Nonnull)url; + virtual int stopRtmpStream(const char* url) = 0; + + public abstract int StopRtmpStream(string url); + + Future<void> stopRtmpStream(String url);

          -

          You can call this method to stop the live stream on the specified CDN address. This method can stop pushing media streams to only one CDN address at a time, so if you need to stop pushing streams to multiple addresses, call this method multiple times.

          -

          After you call this method, the SDK triggers the callback on the local client to report the state of the streaming.

          +

          You can call this method to stop the live stream on the specified CDN address. This + method can stop pushing media streams to only one CDN address at a time, so if you + need to stop pushing streams to multiple addresses, call this method multiple + times.

          +

          After you call this method, the SDK triggers the callback on the local client to report + the state of the streaming.

          Parameters - - - - -
          + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1288. 0: Success.
        1289. +
        1290. < 0: Failure.
        1291. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_stopscreencapture.dita b/en-US/dita/RTC/API/api_stopscreencapture.dita index a0d0ed3f97b..7745850b195 100644 --- a/en-US/dita/RTC/API/api_stopscreencapture.dita +++ b/en-US/dita/RTC/API/api_stopscreencapture.dita @@ -1,31 +1,33 @@ - <ph keyref="stopScreenCapture" /> + <ph keyref="stopScreenCapture"/> Stops screen sharing. - +

          - public abstract int stopScreenCapture(); - - (int)stopScreenCapture; - virtual int stopScreenCapture() = 0; - stopScreenCapture(): number - public abstract int StopScreenCapture(); - - Future<void> stopScreenCapture();

          + public abstract int stopScreenCapture(); + - (int)stopScreenCapture; + virtual int stopScreenCapture() = 0; + stopScreenCapture(): number + public abstract int StopScreenCapture(); + + Future<void> stopScreenCapture(); +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1292. 0: Success.
        1293. +
        1294. < 0: Failure.
        1295. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_switchcamera.dita b/en-US/dita/RTC/API/api_switchcamera.dita index 4013e971926..dc17485fe2c 100644 --- a/en-US/dita/RTC/API/api_switchcamera.dita +++ b/en-US/dita/RTC/API/api_switchcamera.dita @@ -1,36 +1,40 @@ - <ph keyref="switchCamera" /> - Switches between front and rear cameras. + <ph keyref="switchCamera"/> + Switches between front and rear + cameras. - +

          - public abstract int switchCamera(); - - (int)switchCamera; - virtual int switchCamera() = 0; - - public abstract int SwitchCamera(); - - Future<void> switchCamera();

          + public abstract int switchCamera(); + - (int)switchCamera; + virtual int switchCamera() = 0; + + public abstract int SwitchCamera(); + + Future<void> switchCamera(); +

          -

          This method needs to be called after the camera is started (for example, by calling or ).

          +

          This method needs to be called after the camera is started (for example, by calling + or ).

          - This method is for Android and iOS only.

          + This method is for Android and iOS only.

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1296. 0: Success.
        1297. +
        1298. < 0: Failure.
        1299. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_switchchannel.dita b/en-US/dita/RTC/API/api_switchchannel.dita index e33b7bf2d47..cab493a2705 100644 --- a/en-US/dita/RTC/API/api_switchchannel.dita +++ b/en-US/dita/RTC/API/api_switchchannel.dita @@ -1,77 +1,99 @@ - <ph keyref="switchChannel1" /> + <ph keyref="switchChannel1"/> Switches to a different channel. - +

          - public abstract int switchChannel(String token, String channelName); - -(int)switchChannel:(NSString* _Nonnull)token channelName:(NSString* _Nonnull)channelName; - virtual int switchChannel(const char* token, const char* channel) = 0;

          + public abstract int switchChannel(String token, String channelName); + -(int)switchChannel:(NSString* _Nonnull)token channelName:(NSString* _Nonnull)channelName; + virtual int switchChannel(const char* token, const char* channel) = 0; +

          - - - virtual int switchChannel(const char* token, const char* channelId) = 0; - - public abstract int SwitchChannel(string token, string channelId); - -

          + + + virtual int switchChannel(const char* token, const char* channelId) = 0; + + public abstract int SwitchChannel(string token, string channelId); + + +

          -

          This method allows the audience of an interactive live streaming channel to switch to a different channel.

          -

          After the user successfully switches to another channel, the and callbacks are triggered to indicate that the user has left the original channel and joined a new one.

          -

          Once the user switches to another channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. To stop subscribing to a specified stream or all remote streams, call the corresponding mute methods.

          +

          This method allows the audience of an interactive live streaming channel to switch to + a different channel.

          +

          After the user successfully switches to another channel, the and callbacks + are triggered to indicate that the user has left the original channel and joined a + new one.

          +

          Once the user switches to another channel, the user subscribes to the audio and video + streams of all the other users in the channel by default, giving rise to usage and + billing calculation. To stop subscribing to a specified stream or all remote + streams, call the corresponding mute methods.

          Parameters - - token - -

          The token generated at your server. -

            -
          • In scenarios with low security requirements, token is optional and can be set as .
          • -
          • In scenarios with high security requirements, set the value to the token generated from your server. If you enable the App Certificate, you must use a token to join the channel.
          • -
          - Ensure that the App ID used for creating the token is the same App ID used by the method for initializing the RTC engine.

          -
          -
          - - channelNamechannel - channelId - -

          The channel name. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channel ID enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported character scopes are: -

            -
          • All lowercase English letters: a to z.
          • -
          • All uppercase English letters: A to Z.
          • -
          • All numeric characters: 0 to 9.
          • -
          • Space
          • -
          • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", "<", "= ", ".", ">", "?", "@", "[", "]", "^", "_", "{", "}", "|", "~", ","
          • -

          -
          -
          -
          + + token + +

          The token generated at your server.

            +
          • In scenarios with low security requirements, token is optional + and can be set as .
          • +
          • In scenarios with high security requirements, set the value to + the token generated from your server. If you enable the App + Certificate, you must use a token to join the channel.
          • +
          + Ensure that the App ID used for creating the token + is the same App ID used by the method for + initializing the RTC engine. +

          +
          +
          + + channelNamechannel + channelId + +

          The channel name. This parameter signifies the channel in which users + engage in real-time audio and video interaction. Under the premise of + the same App ID, users who fill in the same channel ID enter the same + channel for audio and video interaction. The string length must be less + than 64 bytes. Supported character scopes are:

            +
          • All lowercase English letters: a to z.
          • +
          • All uppercase English letters: A to Z.
          • +
          • All numeric characters: 0 to 9.
          • +
          • Space
          • +
          • "!", "#", "$", "%", "&", "(", ")", "+", "-", ":", ";", + "<", "= ", ".", ">", "?", "@", "[", "]", "^", "_", "{", + "}", "|", "~", ","
          • +

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -1: A general error occurs (no specified reason).
            • -
            • -2: The parameter is invalid.
            • -
            • -5: The request is rejected. Probably because the user is not an audience member.
            • -
            • -7: The SDK is not initialized.
            • -
            • -102: The channel name is invalid. Please use a valid channel name.
            • -
            • -113: The user is not in the channel.
            • -
          • -
          +
        1300. 0: Success.
        1301. +
        1302. < 0: Failure.
            +
          • -1: A general error occurs (no specified reason).
          • +
          • -2: The parameter is invalid.
          • +
          • -5: The request is rejected. Probably because the user is not an + audience member.
          • +
          • -7: The SDK is not initialized.
          • +
          • -102: The channel name is invalid. Please use a valid channel name.
          • +
          • -113: The user is not in the channel.
          • +
        1303. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_switchchannel2.dita b/en-US/dita/RTC/API/api_switchchannel2.dita index 1bd808b0a24..a7c7eb8c263 100644 --- a/en-US/dita/RTC/API/api_switchchannel2.dita +++ b/en-US/dita/RTC/API/api_switchchannel2.dita @@ -1,88 +1,111 @@ - <ph keyref="switchChannel2" /> - Switches to a different channel, and configures whether to automatically subscribe to audio or video streams in the target channel. + <ph keyref="switchChannel2"/> + Switches to a different channel, and configures whether + to automatically subscribe to audio or video streams in the target + channel. - +

          - - - virtual int switchChannel(const char* token, + + + virtual int switchChannel(const char* token, const char* channelId, const ChannelMediaOptions& options) = 0; - switchChannel(token: string, + switchChannel(token: string, channelId: string, options?: ChannelMediaOptions): number - public abstract int SwitchChannel(string token, string channelId, ChannelMediaOptions options); - - Future<void> switchChannel(String? token, String channelName, - [ChannelMediaOptions? options]);

          + public abstract int SwitchChannel(string token, string channelId, ChannelMediaOptions options); + + Future<void> switchChannel(String? token, String channelName, + [ChannelMediaOptions? options]); +

          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          -

          This method allows the audience of a LIVE_BROADCASTING channel to switch to a different channel.

          -

          After the user successfully switches to another channel, the and callbacks are triggered to indicate that the user has left the original channel and joined a new one.

          -

          Once the user switches to another channel, the user subscribes to the audio and video streams of all the other users in the channel by default, giving rise to usage and billing calculation. If you do not want to subscribe to a specified stream or all remote streams, call the mute methods accordingly.

          +

          This method allows the audience of a LIVE_BROADCASTING channel to switch to a + different channel.

          +

          After the user successfully switches to another channel, the and callbacks + are triggered to indicate that the user has left the original channel and joined a + new one.

          +

          Once the user switches to another channel, the user subscribes to the audio and video + streams of all the other users in the channel by default, giving rise to usage and + billing calculation. If you do not want to subscribe to a specified stream or all + remote streams, call the mute methods accordingly.

          Parameters - - token - -

          The token generated at your server. -

            -
          • In scenarios with low security requirements, token is optional and can be set as .
          • -
          • In scenarios with high security requirements, set the value to the token generated from your server. If you enable the App Certificate, you must use a token to join the channel.
          • -
          - Ensure that the App ID used for creating the token is the same App ID used by the method for initializing the RTC engine.

          -
          -
          - - channelId - channelName - -

          The name of the channel. This parameter signifies the channel in which users engage in real-time audio and video interaction. Under the premise of the same App ID, users who fill in the same channelId enter the same channel for audio and video interaction. The string length must be less than 64 bytes. Supported characters: -

            -
          • All lowercase English letters: a to z.
          • -
          • All uppercase English letters: A to Z.
          • -
          • All numeric characters: 0 to 9.
          • -
          • Space
          • -
          • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
          • -

          -
          -
          - - options - The channel media options. See . - -
          + + token + +

          The token generated at your server.

            +
          • In scenarios with low security requirements, token is optional + and can be set as .
          • +
          • In scenarios with high security requirements, set the value to + the token generated from your server. If you enable the App + Certificate, you must use a token to join the channel.
          • +
          + Ensure that the App ID used for creating the token + is the same App ID used by the method for + initializing the RTC engine. +

          +
          +
          + + channelId + channelName + +

          The name of the channel. This parameter signifies the channel in which + users engage in real-time audio and video interaction. Under the premise + of the same App ID, users who fill in the same + channelId enter the same channel for audio and + video interaction. The string length must be less than 64 bytes. + Supported characters:

            +
          • All lowercase English letters: a to z.
          • +
          • All uppercase English letters: A to Z.
          • +
          • All numeric characters: 0 to 9.
          • +
          • Space
          • +
          • "!"、"#"、"$"、"%"、"&"、"("、")"、"+"、"-"、":"、";"、"<"、"="、"."、">"、"?"、"@"、"["、"]"、"^"、"_"、"{"、"}"、"|"、"~"、","
          • +

          +
          +
          + + options + The channel media options. See . + + +
          Returns
            -
          • 0(ERR_OK): Success.
          • -
          • < 0: Failure. -
              -
            • -1(ERR_FAILED): A general error occurs (no specified reason).
            • -
            • -2 (ERR_INVALID_ARGUMENT): The parameter is invalid.
            • -
            • -5(ERR_REFUSED): The request is rejected. The role of the remote user is not AUDIENCE.
            • -
            • -7(ERR_NOT_INITIALIZED): The SDK is not initialized.
            • -
            • -102(ERR_INVALID CHANNEL_NAME): The channel name is invalid. Please use a valid channel name.
            • -
            • -113(ERR_NOT_IN_CHANNEL): The user is not in the channel.
            • -
          • -
          +
        1304. 0(ERR_OK): Success.
        1305. +
        1306. < 0: Failure.
            +
          • -1(ERR_FAILED): A general error occurs (no specified reason).
          • +
          • -2 (ERR_INVALID_ARGUMENT): The parameter is invalid.
          • +
          • -5(ERR_REFUSED): The request is rejected. The role of the remote user is + not AUDIENCE.
          • +
          • -7(ERR_NOT_INITIALIZED): The SDK is not initialized.
          • +
          • -102(ERR_INVALID CHANNEL_NAME): The channel name is invalid. Please use + a valid channel name.
          • +
          • -113(ERR_NOT_IN_CHANNEL): The user is not in the channel.
          • +
        1307. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_takescreenshot.dita b/en-US/dita/RTC/API/api_takescreenshot.dita index b0d287fd2c6..4613d05ac65 100644 --- a/en-US/dita/RTC/API/api_takescreenshot.dita +++ b/en-US/dita/RTC/API/api_takescreenshot.dita @@ -1,39 +1,42 @@ - <ph keyref="takeScreenshot" /> + <ph keyref="takeScreenshot"/> 播放视频时屏幕截图。 - +

          - - - virtual int takeScreenshot(const char* filename) = 0; - - - -

          + + + virtual int takeScreenshot(const char* filename) = 0; + + + + +

          Parameters - - filename - 屏幕截图文件的文件名。 - -
          + + filename + 屏幕截图文件的文件名。 + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1308. 0: Success.
        1309. +
        1310. < 0: Failure.
        1311. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_takesnapshot.dita b/en-US/dita/RTC/API/api_takesnapshot.dita index 4d5629fc75b..e3594cd5ebe 100644 --- a/en-US/dita/RTC/API/api_takesnapshot.dita +++ b/en-US/dita/RTC/API/api_takesnapshot.dita @@ -1,79 +1,92 @@ - <ph keyref="takeSnapshot" /> + <ph keyref="takeSnapshot"/> Takes a snapshot of a video stream. - +

          - - (NSInteger)takeSnapshot:(NSString* _Nonnull)channel uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; - public abstract int TakeSnapshot(string channel, uint uid, string filePath);

          + - (NSInteger)takeSnapshot:(NSString* _Nonnull)channel uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath; + public abstract int TakeSnapshot(string channel, uint uid, string filePath);

          - - (NSInteger)takeSnapshot:(NSString* _Nonnull)channel uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:uid:filePath:)); + - (NSInteger)takeSnapshot:(NSString* _Nonnull)channel uid:(NSInteger)uid filePath:(NSString* _Nonnull)filePath NS_SWIFT_NAME(takeSnapshot(_:uid:filePath:)); - public abstract int TakeSnapshot(string channel, uint uid, string filePath);

          + public abstract int TakeSnapshot(string channel, uint uid, string filePath);

          - public abstract int takeSnapshot(String channel, int uid, String filePath); + public abstract int takeSnapshot(String channel, int uid, String filePath); - virtual int takeSnapshot(const char* channel, uid_t uid, const char* filePath) = 0; - - - Future<void> takeSnapshot(String channel, int uid, String filePath);

          + virtual int takeSnapshot(const char* channel, uid_t uid, const char* filePath) = 0; + + + Future<void> takeSnapshot(String channel, int uid, String filePath); +

          - -
          Since
          -
          v3.5.2
          -
          + +
          Since
          +
          v3.5.2
          +
          -

          This method takes a snapshot of a video stream from the specified user, generates a JPG image, and saves it to the specified path.

          -

          The method is asynchronous, and the SDK has not taken the snapshot when the method call returns. After a successful method call, the SDK triggers callback to report whether the snapshot is successfully taken as well as the details for the snapshot taken. - - -

            -
          • Call this method after joining a channel.
          • -
          • If the video of the specified user is pre-processed, for example, added with watermarks or image enhancement effects, the generated snapshot also includes the pre-processing effects.
          • -

          +

          This method takes a snapshot of a video stream from the specified user, generates a + JPG image, and saves it to the specified path.

          +

          The method is asynchronous, and the SDK has not taken the snapshot when the method + call returns. After a successful method call, the SDK triggers callback to report whether the snapshot is + successfully taken as well as the details for the snapshot taken. +

            +
          • Call this method after joining a channel.
          • +
          • If the video of the specified user is pre-processed, for example, added + with watermarks or image enhancement effects, the generated snapshot + also includes the pre-processing effects.
          • +
          +

          Parameters - - channel - The channel name. - - - uid - The user ID. Set uid as 0 if you want to take a snapshot of the local user's video. - - - filePath - -

          The local path (including the filename extensions) of the snapshot. For example, - - -

            -
          • Windows: C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
          • -
          • iOS: /App Sandbox/Library/Caches/example.jpg
          • -
          • macOS: ~/Library/Logs/example.jpg
          • -
          • Android: /storage/emulated/0/Android/data/<package name>/files/example.jpg
          • -
          Ensure that the path you specify exists and is writable.

          -
          -
          -
          + + channel + The channel name. + + + uid + The user ID. Set uid as 0 if you want to take a + snapshot of the local user's video. + + + filePath + +

          The local path (including the filename extensions) of the snapshot. For + example,

            +
          • Windows: + C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.jpg
          • +
          • iOS: /App + Sandbox/Library/Caches/example.jpg
          • +
          • macOS: + ~/Library/Logs/example.jpg
          • +
          • Android: + /storage/emulated/0/Android/data/<package + name>/files/example.jpg
          • +
          Ensure that the path you specify exists and is writable.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1312. 0: Success.
        1313. +
        1314. < 0: Failure.
        1315. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_unloadeffect.dita b/en-US/dita/RTC/API/api_unloadeffect.dita index 44b4eee3174..86b63fd451d 100644 --- a/en-US/dita/RTC/API/api_unloadeffect.dita +++ b/en-US/dita/RTC/API/api_unloadeffect.dita @@ -1,41 +1,45 @@ - <ph keyref="unloadEffect" /> - Releases a specified preloaded audio effect from the memory. + <ph keyref="unloadEffect"/> + Releases a specified preloaded audio effect from the + memory. - +

          - public abstract int unloadEffect(int soundId); + public abstract int unloadEffect(int soundId); - - (int)unloadEffect:(int)soundId; + - (int)unloadEffect:(int)soundId; - virtual int unloadEffect(int soundId) = 0; - unloadEffect(soundId: number): number - public abstract int UnloadEffect(int soundId); - - Future<void> unloadEffect(int soundId);

          + virtual int unloadEffect(int soundId) = 0; + unloadEffect(soundId: number): number + public abstract int UnloadEffect(int soundId); + + Future<void> unloadEffect(int soundId); +

          Parameters - - soundId - - -
          + + soundId + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1316. 0: Success.
        1317. +
        1318. < 0: Failure.
        1319. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_unregisteraudioframeobserver.dita b/en-US/dita/RTC/API/api_unregisteraudioframeobserver.dita index 13db5cb19ac..4390299e314 100644 --- a/en-US/dita/RTC/API/api_unregisteraudioframeobserver.dita +++ b/en-US/dita/RTC/API/api_unregisteraudioframeobserver.dita @@ -1,33 +1,35 @@ - <ph keyref="unregisterAudioFrameObserver" /> + <ph keyref="unregisterAudioFrameObserver"/> Unregisters an audio observer. - +

          - public abstract void UnRegisterAudioFrameObserver();

          + public abstract void UnRegisterAudioFrameObserver();

          - - - - public abstract void UnRegisterAudioFrameObserver(); - - -

          + + + + public abstract void UnRegisterAudioFrameObserver(); + + + +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1320. 0: Success.
        1321. +
        1322. < 0: Failure.
        1323. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_unregistermediametadataobserver.dita b/en-US/dita/RTC/API/api_unregistermediametadataobserver.dita index 13ac16e21ee..952a1a651ae 100644 --- a/en-US/dita/RTC/API/api_unregistermediametadataobserver.dita +++ b/en-US/dita/RTC/API/api_unregistermediametadataobserver.dita @@ -1,43 +1,49 @@ - <ph keyref="unregisterMediaMetadataObserver" /> - Unregisters the specified metadata observer. + <ph keyref="unregisterMediaMetadataObserver"/> + Unregisters the specified metadata + observer. - +

          - public abstract int unregisterMediaMetadataObserver(IMetadataObserver observer, int type); - - virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0; - unregisterMediaMetadataObserver(type: METADATA_TYPE = 0): number - public abstract int UnRegisterMediaMetadataObserver(METADATA_TYPE type); - - Future<void> unregisterMediaMetadataObserver();

          + public abstract int unregisterMediaMetadataObserver(IMetadataObserver observer, int type); + + virtual int unregisterMediaMetadataObserver(IMetadataObserver* observer, IMetadataObserver::METADATA_TYPE type) = 0; + unregisterMediaMetadataObserver(type: METADATA_TYPE = 0): number + public abstract int UnRegisterMediaMetadataObserver(METADATA_TYPE type); + + Future<void> unregisterMediaMetadataObserver(); +

          Parameters - - observer - The metadata observer. See . - - - type - The metadata type. The SDK currently only supports . For details, see . - -
          + + observer + The metadata observer. See . + + + type + The metadata type. The SDK currently only supports . For details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1324. 0: Success.
        1325. +
        1326. < 0: Failure.
        1327. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_unregisterplugin.dita b/en-US/dita/RTC/API/api_unregisterplugin.dita index eecb4bcf0b6..7fc58e9f6d2 100644 --- a/en-US/dita/RTC/API/api_unregisterplugin.dita +++ b/en-US/dita/RTC/API/api_unregisterplugin.dita @@ -1,42 +1,47 @@ - <ph keyref="unregisterPlugin" /> + <ph keyref="unregisterPlugin"/> Unregisters a specified plugin. - +

          - - - - unregisterPlugin(pluginId: string): number - - -

          + + + + unregisterPlugin(pluginId: string): number + + + +

          -

          After calling to register the plugin, you can call this method to unregister the plugin.

          +

          After calling to register the plugin, you can call + this method to unregister the plugin.

          Parameters - - pluginId - The ID that identifies the plugin. You can get it from . - -
          + + pluginId + The ID that identifies the plugin. You can get it from . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1328. 0: Success.
        1329. +
        1330. < 0: Failure.
        1331. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_unregistervideoframeobserver.dita b/en-US/dita/RTC/API/api_unregistervideoframeobserver.dita index 19aa1a08c36..8394dfbb563 100644 --- a/en-US/dita/RTC/API/api_unregistervideoframeobserver.dita +++ b/en-US/dita/RTC/API/api_unregistervideoframeobserver.dita @@ -1,31 +1,33 @@ - <ph keyref="unregisterVideoFrameObserver" /> + <ph keyref="unregisterVideoFrameObserver"/> Unregisters the video frame observer. - +

          - - - - - public abstract void UnRegisterVideoFrameObserver(); - -

          + + + + + public abstract void UnRegisterVideoFrameObserver(); + + +

          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1332. 0: Success.
        1333. +
        1334. < 0: Failure.
        1335. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_updatechannelmediaoptions.dita b/en-US/dita/RTC/API/api_updatechannelmediaoptions.dita index 392cff68bff..a25945caed4 100644 --- a/en-US/dita/RTC/API/api_updatechannelmediaoptions.dita +++ b/en-US/dita/RTC/API/api_updatechannelmediaoptions.dita @@ -1,40 +1,44 @@ - <ph keyref="updateChannelMediaOptions" /> - Updates the channel media options after joining the channel. + <ph keyref="updateChannelMediaOptions"/> + Updates the channel media options after joining the + channel. - +

          - public abstract int updateChannelMediaOptions(ChannelMediaOptions options); - - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions; - - - public abstract int UpdateChannelMediaOptions(ChannelMediaOptions options); - -

          + public abstract int updateChannelMediaOptions(ChannelMediaOptions options); + - (int)updateChannelWithMediaOptions:(AgoraRtcChannelMediaOptions* _Nonnull)mediaOptions; + + + public abstract int UpdateChannelMediaOptions(ChannelMediaOptions options); + + +

          Parameters - - options - mediaOptions - The channel media options. See . - -
          + + options + mediaOptions + The channel media options. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1336. 0: Success.
        1337. +
        1338. < 0: Failure.
        1339. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_updatechannelmediarelay.dita b/en-US/dita/RTC/API/api_updatechannelmediarelay.dita index 98051031f43..4dfe04b913f 100644 --- a/en-US/dita/RTC/API/api_updatechannelmediarelay.dita +++ b/en-US/dita/RTC/API/api_updatechannelmediarelay.dita @@ -1,47 +1,58 @@ - <ph keyref="updateChannelMediaRelay" /> - Updates the channels for media stream relay. + <ph keyref="updateChannelMediaRelay"/> + Updates the channels for media stream + relay. - +

          - public abstract int updateChannelMediaRelay( + public abstract int updateChannelMediaRelay( ChannelMediaRelayConfiguration channelMediaRelayConfiguration); - - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; - virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; - updateChannelMediaRelay(config: ChannelMediaRelayConfiguration): number - public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); - - Future<void> updateChannelMediaRelay( - ChannelMediaRelayConfiguration channelMediaRelayConfiguration);

          + - (int)updateChannelMediaRelay:(AgoraChannelMediaRelayConfiguration * _Nonnull)config; + virtual int updateChannelMediaRelay(const ChannelMediaRelayConfiguration &configuration) = 0; + updateChannelMediaRelay(config: ChannelMediaRelayConfiguration): number + public abstract int UpdateChannelMediaRelay(ChannelMediaRelayConfiguration configuration); + + Future<void> updateChannelMediaRelay( + ChannelMediaRelayConfiguration channelMediaRelayConfiguration); +

          -

          After the media relay starts, if you want to relay the media stream to more channels, or leave the current relay channel, you can call the updateChannelMediaRelay method.

          -

          After a successful method call, the SDK triggers the callback with the (7) state code.

          - Call this method after the method to update the destination channel.
          +

          After the media relay starts, if you want to relay the media stream to more + channels, or leave the current relay channel, you can call the + updateChannelMediaRelay method.

          +

          After a successful method call, the SDK triggers the callback with the (7) state code.

          + Call this method after the method to update the destination channel. +
          Parameters - - channelMediaRelayConfiguration - config - configuration - The configuration of the media stream relay. For more details, see . - -
          + + channelMediaRelayConfiguration + config + configuration + The configuration of the media stream relay. For more details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1340. 0: Success.
        1341. +
        1342. < 0: Failure.
        1343. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_updatertmptranscoding.dita b/en-US/dita/RTC/API/api_updatertmptranscoding.dita index 77261f6e525..19211399a5d 100644 --- a/en-US/dita/RTC/API/api_updatertmptranscoding.dita +++ b/en-US/dita/RTC/API/api_updatertmptranscoding.dita @@ -1,42 +1,49 @@ - <ph keyref="updateRtmpTranscoding" /> + + <ph keyref="updateRtmpTranscoding"/> + Updates the transcoding configuration. - +

          - public abstract int updateRtmpTranscoding(LiveTranscoding transcoding); - - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding; - virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0; - - public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); - - Future<void> updateRtmpTranscoding(LiveTranscoding transcoding);

          + public abstract int updateRtmpTranscoding(LiveTranscoding transcoding); + - (int)updateRtmpTranscoding:(AgoraLiveTranscoding* _Nullable)transcoding; + virtual int updateRtmpTranscoding(const LiveTranscoding& transcoding) = 0; + + public abstract int UpdateRtmpTranscoding(LiveTranscoding transcoding); + + Future<void> updateRtmpTranscoding(LiveTranscoding transcoding);

          -

          After you start pushing media streams to CDN with transcoding, you can dynamically update the transcoding configuration according to the scenario. The SDK triggers the callback after the transcoding configuration is updated.

          +

          After you start pushing media streams to CDN with transcoding, you can dynamically + update the transcoding configuration according to the scenario. The SDK triggers the + callback after the transcoding + configuration is updated.

          Parameters - - - - -
          + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1344. 0: Success.
        1345. +
        1346. < 0: Failure.
        1347. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_updatescreencaptureparameters.dita b/en-US/dita/RTC/API/api_updatescreencaptureparameters.dita index 2e7d0f0dba5..843b96ebc01 100644 --- a/en-US/dita/RTC/API/api_updatescreencaptureparameters.dita +++ b/en-US/dita/RTC/API/api_updatescreencaptureparameters.dita @@ -1,51 +1,57 @@ - <ph keyref="updateScreenCaptureParameters" /> + <ph keyref="updateScreenCaptureParameters"/> Updates the screen sharing parameters. - +

          - - - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams; - virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0; - updateScreenCaptureParameters(captureParams: ScreenCaptureParameters): number - public abstract int UpdateScreenCaptureParameters(ScreenCaptureParameters captureParams); - - Future<void> updateScreenCaptureParameters( - ScreenCaptureParameters captureParams);

          + + - (int)updateScreenCaptureParameters:(AgoraScreenCaptureParameters * _Nonnull)captureParams; + virtual int updateScreenCaptureParameters(const ScreenCaptureParameters& captureParams) = 0; + updateScreenCaptureParameters(captureParams: ScreenCaptureParameters): number + public abstract int UpdateScreenCaptureParameters(ScreenCaptureParameters captureParams); + + Future<void> updateScreenCaptureParameters( + ScreenCaptureParameters captureParams); +

          - -
          Since
          -
          v2.4.0
          -
          + +
          Since
          +
          v2.4.0
          +
          Parameters - - captureParams - The screen sharing encoding parameters. The default video dimension is 1920 x 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges. For details, see . - -
          + + captureParams + The screen sharing encoding parameters. The default video dimension is 1920 + x 1080, that is, 2,073,600 pixels. Agora uses the value of this parameter to + calculate the charges. For details, see . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -3: If no screen or window is being shared, the SDK returns this error code.
            • -
          • -
          +
        1348. 0: Success.
        1349. +
        1350. < 0: Failure.
            +
          • -3: If no screen or window is being shared, the SDK returns this error + code.
          • +
        1351. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_updatescreencaptureparametersmobile.dita b/en-US/dita/RTC/API/api_updatescreencaptureparametersmobile.dita index 24fda185357..c72968d9dd5 100644 --- a/en-US/dita/RTC/API/api_updatescreencaptureparametersmobile.dita +++ b/en-US/dita/RTC/API/api_updatescreencaptureparametersmobile.dita @@ -1,45 +1,49 @@ - <ph keyref="updateScreenCaptureParametersMobile" /> - Updates the screen sharing configuration. This method is only available on Android and iOS. + <ph keyref="updateScreenCaptureParametersMobile"/> + Updates the screen sharing configuration. This method + is only available on Android and iOS. - +

          - - - - - - - Future<void> updateScreenCaptureParametersMobile( - ScreenCaptureParameters2 parameters);

          + + + + + + + Future<void> updateScreenCaptureParametersMobile( + ScreenCaptureParameters2 parameters); +

          Parameters - - parameters - The configuration of the screen sharing. See . - -
          + + parameters + The configuration of the screen sharing. See . + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. - -
              -
            • -3: If no screen or window is being shared, the SDK returns this error code.
            • -
          • -
          +
        1352. 0: Success.
        1353. +
        1354. < 0: Failure.
            +
          • -3: If no screen or window is being shared, the SDK returns this error + code.
          • +
        1355. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_updatescreencaptureregion.dita b/en-US/dita/RTC/API/api_updatescreencaptureregion.dita index 875d157199c..4b86fa905d5 100644 --- a/en-US/dita/RTC/API/api_updatescreencaptureregion.dita +++ b/en-US/dita/RTC/API/api_updatescreencaptureregion.dita @@ -1,63 +1,72 @@ - <ph keyref="updateScreenCaptureRegion1" /> + <ph keyref="updateScreenCaptureRegion1"/> Updates the screen sharing region. - +

          - - - virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0; - updateScreenCaptureRegion(regionRect: Rectangle): number - public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); - - Future<void> updateScreenCaptureRegion(Rectangle regionRect);

          + + + virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0; + updateScreenCaptureRegion(regionRect: Rectangle): number + public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); + + Future<void> updateScreenCaptureRegion(Rectangle regionRect); +

          - -
          Since
          -
          v2.4.0
          -
          + +
          Since
          +
          v2.4.0
          +
          Parameters - - regionRect - The relative location of the screen-shared area to the screen or window. If you do not set this parameter, the SDK shares the whole screen or window. See . If the specified region overruns the screen or window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen or window. - - - rect - -

          (Optional) The relative location of the region to the screen or window. If you do not set this parameter, the SDK shares the whole screen or window. It consists of the following parameters: -

            -
          • x: The horizontal offset from the top-left corner.
          • -
          • y: The vertical offset from the top-left corner.
          • -
          • width: The width of the region.
          • -
          • height: The height of the region.
          • -

          -

          If the specified region overruns the window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole window.

          -
          -
          -
          + + regionRect + The relative location of the screen-shared area to the screen or window. If + you do not set this parameter, the SDK shares the whole screen or window. + See . If the specified region overruns the screen + or window, the SDK shares only the region within it; if you set width or + height as 0, the SDK shares the whole screen or window. + + + rect + +

          (Optional) The relative location of the region to the screen or window. + If you do not set this parameter, the SDK shares the whole screen or + window. It consists of the following parameters:

            +
          • x: The horizontal offset from the top-left corner.
          • +
          • y: The vertical offset from the top-left corner.
          • +
          • width: The width of the region.
          • +
          • height: The height of the region.
          • +

          +

          If the specified region overruns the window, the SDK shares only the + region within it; if you set width or height as 0, the SDK shares the + whole window.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -3(ERR_NOT_READY): No screen or window is being shared.
            • -
          • -
          +
        1356. 0: Success.
        1357. +
        1358. < 0: Failure.
            +
          • -3(ERR_NOT_READY): No screen or window is being shared.
          • +
        1359. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_updatescreencaptureregion2.dita b/en-US/dita/RTC/API/api_updatescreencaptureregion2.dita index b77ce947fdc..8d6ac83bbb8 100644 --- a/en-US/dita/RTC/API/api_updatescreencaptureregion2.dita +++ b/en-US/dita/RTC/API/api_updatescreencaptureregion2.dita @@ -1,50 +1,58 @@ - <ph keyref="updateScreenCaptureRegion2" /> + <ph keyref="updateScreenCaptureRegion2"/> Updates the screen sharing region. - +

          - - - (int)updateScreenCaptureRegion:(CGRect)rect; - virtual int updateScreenCaptureRegion(const Rect* rect) = 0; - - public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); - -

          + + - (int)updateScreenCaptureRegion:(CGRect)rect; + virtual int updateScreenCaptureRegion(const Rect* rect) = 0; + + public abstract int UpdateScreenCaptureRegion(Rectangle regionRect); + + +

          - -
          Deprecated:
          -
          This method is deprecated as of v2.4.0. Agora recommends using instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v2.4.0. Agora recommends using instead.
          +
          Parameters - - rect - The relative location of the region to the screen or window. If you do not set this parameter, the SDK shares the whole screen. For details, see .If the specified region overruns the screen or window, the SDK shares only the region within it; if you set width or height as 0, the SDK shares the whole screen or window. - -
          + + rect + The relative location of the region to the screen or window. If you do not + set this parameter, the SDK shares the whole screen. For + details, see .If the specified region overruns + the screen or window, the SDK shares only the region within it; if you set + width or height as 0, the SDK shares the whole screen or window. + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -3: If no screen or window is being shared, the SDK returns this error code.
            • -
          • -
          +
        1360. 0: Success.
        1361. +
        1362. < 0: Failure.
            +
          • -3: If no screen or window is being shared, the SDK returns this error + code.
          • +
        1363. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_uploadlogfile.dita b/en-US/dita/RTC/API/api_uploadlogfile.dita index 2f7c85b72f9..007951a0a72 100644 --- a/en-US/dita/RTC/API/api_uploadlogfile.dita +++ b/en-US/dita/RTC/API/api_uploadlogfile.dita @@ -1,62 +1,80 @@ - <ph keyref="uploadLogFile" /> + <ph keyref="uploadLogFile"/> Uploads all SDK log files. - +

          - - - virtual int uploadLogFile(agora::util::AString& requestId) = 0; - uploadLogFile(): string - public abstract string UploadLogFile(); - - Future<String?> uploadLogFile();

          + + + virtual int uploadLogFile(agora::util::AString& requestId) = 0; + uploadLogFile(): string + public abstract string UploadLogFile(); + + Future<String?> uploadLogFile(); +

          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          -

          Uploads all SDK log files from the client to the Agora server. After calling this method successfully, the SDK triggers the callback to report whether the log file is successfully uploaded to the Agora server.

          +

          Uploads all SDK log files from the client to the Agora server. After calling this + method successfully, the SDK triggers the + callback to report whether the log file is successfully uploaded to the Agora + server.

          - Do not call this method more than once per minute; otherwise, the SDK reports ERR_TOO_OFTEN(12)..

          + Do not call this method more than once per minute; otherwise, + the SDK reports ERR_TOO_OFTEN(12)..

          - This method cannot be called more than once per minute; otherwise, the SDK returns .

          -

          For easier debugging, Agora recommends that you bind the uploadLogFile method to the UI element of your app, to instruct the user to upload a log file when a quality issue occurs.

          + This method cannot be called more than once per minute; + otherwise, the SDK returns .

          +

          For easier debugging, Agora recommends that you bind the + uploadLogFile method to the UI element of your app, to + instruct the user to upload a log file when a quality issue occurs.

          Parameters - - requestId - -

          The request ID. The request ID is the same as the requestId in the callback. You can use the requestId to match a specific upload with a callback.

          -
          -
          -
          + + requestId + +

          The request ID. The request ID is the same as the + requestId in the callback. You can use the + requestId to match a specific upload with a + callback.

          +
          +
          + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure. -
              -
            • -12(ERR_TOO_OFTEN): The call frequency exceeds the limit.
            • -
          • +
          • 0: Success.
          • +
          • < 0: Failure.
              +
            • -12(ERR_TOO_OFTEN): The call frequency exceeds the + limit.
            • +
            -
          • The method call succeeds: Return the request ID. The request ID is the same as the requestId in the callback. You can use the requestId to match a specific upload with a callback.
          • -
          • The method callI fails: Returns . Probably because the method call frequency exceeds the limit.
          • -
          +
        1364. The method call succeeds: Return the request ID. The request ID is the same as + the requestId in the + callback. You can use the requestId to match a specific + upload with a callback.
        1365. +
        1366. The method callI fails: Returns . Probably because the method + call frequency exceeds the limit.
        1367. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcedisableaudio.dita b/en-US/dita/RTC/API/api_videosourcedisableaudio.dita index b365b09fab4..e3905a4e9c9 100644 --- a/en-US/dita/RTC/API/api_videosourcedisableaudio.dita +++ b/en-US/dita/RTC/API/api_videosourcedisableaudio.dita @@ -1,29 +1,30 @@ - <ph keyref="videoSourceDisableAudio" /> + <ph keyref="videoSourceDisableAudio"/> Disables the audio module. - +

          - - - - videoSourceDisableAudio(): number - - -

          + + + + videoSourceDisableAudio(): number + + + +

          A method for the second instance.

          -
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcedisablevideo.dita b/en-US/dita/RTC/API/api_videosourcedisablevideo.dita index 27432e6501f..11ce5753ea1 100644 --- a/en-US/dita/RTC/API/api_videosourcedisablevideo.dita +++ b/en-US/dita/RTC/API/api_videosourcedisablevideo.dita @@ -1,31 +1,38 @@ - <ph keyref="videoSourceDisableVideo" /> - + <ph keyref="videoSourceDisableVideo"/> + - +

          - - - - videoSourceDisableVideo(): number - - -

          + + + + videoSourceDisableVideo(): number + + + +

          A method for the second instance.

          -

          This method disables video. You can call this method either before or after joining a channel. If you call it before joining a channel, an audio call starts when you join the channel. If you call it after joining a channel, a video call switches to an audio call. Call the method to enable video.

          -

          A successful call of this method triggers the () callback on the remote client.

          +

          This method disables video. You can call this method either before or after joining a + channel. If you call it before joining a channel, an audio call starts when you join + the channel. If you call it after joining a channel, a video call switches to an + audio call. Call the method to enable + video.

          +

          A successful call of this method triggers the () + callback on the remote client.

          -
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceenableaudio.dita b/en-US/dita/RTC/API/api_videosourceenableaudio.dita index 1c427ce15aa..7bb8acaa474 100644 --- a/en-US/dita/RTC/API/api_videosourceenableaudio.dita +++ b/en-US/dita/RTC/API/api_videosourceenableaudio.dita @@ -1,30 +1,31 @@ - <ph keyref="videoSourceEnableAudio" /> - + <ph keyref="videoSourceEnableAudio"/> + - +

          - - - - videoSourceEnableAudio(): number - - -

          + + + + videoSourceEnableAudio(): number + + + +

          A method for the second instance.

          This method enables audio (disabled by default) for the screen-sharing instance.

          -
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceenabledualstreammode.dita b/en-US/dita/RTC/API/api_videosourceenabledualstreammode.dita index 9d1f82af817..6a18b99ce1b 100644 --- a/en-US/dita/RTC/API/api_videosourceenabledualstreammode.dita +++ b/en-US/dita/RTC/API/api_videosourceenabledualstreammode.dita @@ -1,30 +1,32 @@ - <ph keyref="videoSourceEnableDualStreamMode" /> - Enables the dual-stream mode for a videoSource stream. + <ph keyref="videoSourceEnableDualStreamMode"/> + Enables the dual-stream mode for a + videoSource stream. - +

          - - - - videoSourceEnableDualStreamMode(enabled: boolean): number - - -

          + + + + videoSourceEnableDualStreamMode(enabled: boolean): number + + + +

          A method for the second instance.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceenableencryption.dita b/en-US/dita/RTC/API/api_videosourceenableencryption.dita index d55e319bd00..46e4a542a17 100644 --- a/en-US/dita/RTC/API/api_videosourceenableencryption.dita +++ b/en-US/dita/RTC/API/api_videosourceenableencryption.dita @@ -1,32 +1,33 @@ - <ph keyref="videoSourceEnableEncryption" /> - + <ph keyref="videoSourceEnableEncryption"/> + - +

          - - - - videoSourceEnableEncryption(enabled: boolean, config: EncryptionConfig): number - - -

          + + + + videoSourceEnableEncryption(enabled: boolean, config: EncryptionConfig): number + + + +

          A method for the second instance.

          -

          -

          +

          +

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceenablelocalaudio.dita b/en-US/dita/RTC/API/api_videosourceenablelocalaudio.dita index a49ea968087..d83376bb5cb 100644 --- a/en-US/dita/RTC/API/api_videosourceenablelocalaudio.dita +++ b/en-US/dita/RTC/API/api_videosourceenablelocalaudio.dita @@ -1,32 +1,37 @@ - <ph keyref="videoSourceEnableLocalAudio" /> - + <ph keyref="videoSourceEnableLocalAudio"/> + - +

          - - - - videoSourceEnableLocalAudio(enabled: boolean): number - - -

          + + + + videoSourceEnableLocalAudio(enabled: boolean): number + + + +

          A method for the second instance.

          -

          This method disables or re-enables the local audio function to stop or restart local audio capturing.

          -

          This method does not affect receiving or playing the remote audio streams, and () applies to scenarios where the user wants to receive remote audio streams without sending any audio stream to other users in the channel.

          +

          This method disables or re-enables the local audio function to stop or restart local + audio capturing.

          +

          This method does not affect receiving or playing the remote audio streams, and + () applies to scenarios where the user wants to receive remote audio + streams without sending any audio stream to other users in the channel.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceenablelocalvideo.dita b/en-US/dita/RTC/API/api_videosourceenablelocalvideo.dita index a0a993a993d..788ac41209a 100644 --- a/en-US/dita/RTC/API/api_videosourceenablelocalvideo.dita +++ b/en-US/dita/RTC/API/api_videosourceenablelocalvideo.dita @@ -1,35 +1,41 @@ - <ph keyref="videoSourceEnableLocalVideo" /> - + <ph keyref="videoSourceEnableLocalVideo"/> + - +

          - - - - videoSourceEnableLocalVideo(enabled: boolean): number - - -

          + + + + videoSourceEnableLocalVideo(enabled: boolean): number + + + +

          A method for the second instance.

          -

          -

          After calling , the local video capturer is - enabled by default. You can call () to disable the local video - capturer. If you want to re-enable the local video, call ().

          -

          After the local video capturer is successfully disabled or re-enabled, the SDK triggers the callback on the remote client.

          +

          +

          After calling , the local video capturer is + enabled by default. You can call () to disable the local video + capturer. If you want to re-enable the local video, call ().

          +

          After the local video capturer is successfully disabled or re-enabled, the SDK + triggers the callback on the remote + client.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceenableloopbackrecording.dita b/en-US/dita/RTC/API/api_videosourceenableloopbackrecording.dita index 798e395c765..51b4841fbf5 100644 --- a/en-US/dita/RTC/API/api_videosourceenableloopbackrecording.dita +++ b/en-US/dita/RTC/API/api_videosourceenableloopbackrecording.dita @@ -1,34 +1,37 @@ - <ph keyref="videoSourceEnableLoopbackRecording" /> - + <ph keyref="videoSourceEnableLoopbackRecording"/> + - +

          - - - - videoSourceEnableLoopbackRecording( + + + + videoSourceEnableLoopbackRecording( enabled = false, deviceName: string | null = null ): number - - -

          + + + +

          A method for the second instance.

          -

          -

          -
          -
          +

          + +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceenableplugin.dita b/en-US/dita/RTC/API/api_videosourceenableplugin.dita index 1c251a8e1ab..176588ab353 100644 --- a/en-US/dita/RTC/API/api_videosourceenableplugin.dita +++ b/en-US/dita/RTC/API/api_videosourceenableplugin.dita @@ -1,30 +1,31 @@ - <ph keyref="videoSourceEnablePlugin" /> - + <ph keyref="videoSourceEnablePlugin"/> + - +

          - - - - videoSourceEnablePlugin(pluginId: string, enabled: boolean): number - - -

          + + + + videoSourceEnablePlugin(pluginId: string, enabled: boolean): number + + + +

          A method for the second instance.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceenablevideo.dita b/en-US/dita/RTC/API/api_videosourceenablevideo.dita index db63feef710..2882f0f007a 100644 --- a/en-US/dita/RTC/API/api_videosourceenablevideo.dita +++ b/en-US/dita/RTC/API/api_videosourceenablevideo.dita @@ -1,31 +1,35 @@ - <ph keyref="videoSourceEnableVideo" /> - + <ph keyref="videoSourceEnableVideo"/> + - +

          - - - - videoSourceEnableVideo(): number - - -

          + + + + videoSourceEnableVideo(): number + + + +

          A method for the second instance.

          -

          Call this method either before joining a channel or during a call. If this method is called before joining a channel, the call starts in the video mode. Call the method to disable the video mode.

          -

          A successful call of this method triggers the callback on the remote client.

          +

          Call this method either before joining a channel or during a call. If this method is + called before joining a channel, the call starts in the video mode. Call the method to disable the video mode.

          +

          A successful call of this method triggers the callback on the remote client.

          -
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceenablewebsdkinteroperability.dita b/en-US/dita/RTC/API/api_videosourceenablewebsdkinteroperability.dita index 84030fcc641..4c120ecde1a 100644 --- a/en-US/dita/RTC/API/api_videosourceenablewebsdkinteroperability.dita +++ b/en-US/dita/RTC/API/api_videosourceenablewebsdkinteroperability.dita @@ -1,28 +1,30 @@ - <ph keyref="videoSourceEnableWebSdkInteroperability" /> - Enables the interoperability between the videoSource object with the Web SDK. + <ph keyref="videoSourceEnableWebSdkInteroperability"/> + Enables the interoperability between the + videoSource object with the Web SDK. - +

          - - - - videoSourceEnableWebSdkInteroperability(enabled: boolean): number - - -

          + + + + videoSourceEnableWebSdkInteroperability(enabled: boolean): number + + + +

          -
          -
          -
          +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcegetpluginparameter.dita b/en-US/dita/RTC/API/api_videosourcegetpluginparameter.dita index 96b5e15bb79..bb5498c95f6 100644 --- a/en-US/dita/RTC/API/api_videosourcegetpluginparameter.dita +++ b/en-US/dita/RTC/API/api_videosourcegetpluginparameter.dita @@ -1,31 +1,35 @@ - <ph keyref="videoSourceGetPluginParameter" /> - + <ph keyref="videoSourceGetPluginParameter"/> + - +

          - - - - videoSourceGetPluginParameter(pluginId: string, key: string): string - - -

          + + + + videoSourceGetPluginParameter(pluginId: string, key: string): string + + + +

          A method for the second instance.

          -

          If you want to pass the JSON string to the C++ layer when using the plugin, you need to call and to get and set the plugin parameters.

          +

          If you want to pass the JSON string to the C++ layer when using the plugin, you need + to call and to get and set the plugin + parameters.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcegetplugins.dita b/en-US/dita/RTC/API/api_videosourcegetplugins.dita index 263b5613f4c..f251b6a9dc9 100644 --- a/en-US/dita/RTC/API/api_videosourcegetplugins.dita +++ b/en-US/dita/RTC/API/api_videosourcegetplugins.dita @@ -1,30 +1,32 @@ - <ph keyref="videoSourceGetPlugins" /> - + <ph keyref="videoSourceGetPlugins"/> + - +

          - - - - videoSourceGetPlugins(): Plugin[] - - -

          + + + + videoSourceGetPlugins(): Plugin[] + + + +

          A method for the second instance.

          -

          After the method call of , you can call this method to get registered plugins.

          +

          After the method call of , you can call + this method to get registered plugins.

          -
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceinitializewithcontext.dita b/en-US/dita/RTC/API/api_videosourceinitializewithcontext.dita index 3373edb8263..064b07e32e8 100644 --- a/en-US/dita/RTC/API/api_videosourceinitializewithcontext.dita +++ b/en-US/dita/RTC/API/api_videosourceinitializewithcontext.dita @@ -1,37 +1,43 @@ - <ph keyref="videoSourceInitializeWithContext" /> - Creates and initializes the videoSource object. + <ph keyref="videoSourceInitializeWithContext"/> + Creates and initializes the + videoSource object. - +

          - - - - videoSourceInitializeWithContext(context: RtcEngineContext): number - - -

          + + + + videoSourceInitializeWithContext(context: RtcEngineContext): number + + + +

          A method for the second instance.

          - Ensure that you call this method to initialize the videoSource object before calling any other method in videoSource.
          + Ensure that you call this method to initialize the + videoSource object before calling any other method in + videoSource. +
          Parameters - - context - The configuration for video source: . - -
          -
          + + context + The configuration for video source: . + + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcejoinchannel.dita b/en-US/dita/RTC/API/api_videosourcejoinchannel.dita index c1b6cbf1f36..dab50c2d82b 100644 --- a/en-US/dita/RTC/API/api_videosourcejoinchannel.dita +++ b/en-US/dita/RTC/API/api_videosourcejoinchannel.dita @@ -1,31 +1,33 @@ - <ph keyref="videoSourceJoinChannel" /> - Allows the videoSource object to join a channel. + <ph keyref="videoSourceJoinChannel"/> + Allows the videoSource object to join + a channel. - +

          - - - - videoSourceJoinChannel( + + + + videoSourceJoinChannel( token: string, channelId: string, info: string, uid: number, options?: ChannelMediaOptions ): number - - -

          + + + +

          A method for the second instance.

          @@ -33,32 +35,37 @@
          Parameters - - - - - - - - - - - - - - uid - The user ID of the videoSource object. Each user ID is unique in the channel. Ensure that the user ID of the videoSource is different from the uid used when calling the method. - - - - - -
          + + + + + + + + + + + + + + uid + The user ID of the videoSource object. Each user ID is + unique in the channel. Ensure that the user ID of the + videoSource is different from the uid + used when calling the method. + + + + + + +
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1368. 0: Success.
        1369. +
        1370. < 0: Failure.
        1371. + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceleavechannel.dita b/en-US/dita/RTC/API/api_videosourceleavechannel.dita index 513d363159c..4b2d6b4f865 100644 --- a/en-US/dita/RTC/API/api_videosourceleavechannel.dita +++ b/en-US/dita/RTC/API/api_videosourceleavechannel.dita @@ -1,25 +1,27 @@ - <ph keyref="videoSourceLeaveChannel" /> - Allows the videoSource object to leave a channel. + <ph keyref="videoSourceLeaveChannel"/> + Allows the videoSource object to leave + a channel. - +

          - - - - videoSourceLeaveChannel(): number - - -

          + + + + videoSourceLeaveChannel(): number + + + +

          A method for the second instance.

          @@ -28,4 +30,4 @@ Returns
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcemuteallremoteaudiostreams.dita b/en-US/dita/RTC/API/api_videosourcemuteallremoteaudiostreams.dita index 3af287d0ff3..fcebb5a03d8 100644 --- a/en-US/dita/RTC/API/api_videosourcemuteallremoteaudiostreams.dita +++ b/en-US/dita/RTC/API/api_videosourcemuteallremoteaudiostreams.dita @@ -1,31 +1,34 @@ - <ph keyref="videoSourceMuteAllRemoteAudioStreams" /> - + <ph keyref="videoSourceMuteAllRemoteAudioStreams"/> + - +

          - - - - videoSourceMuteAllRemoteAudioStreams(mute: boolean): number - - -

          + + + + videoSourceMuteAllRemoteAudioStreams(mute: boolean): number + + + +

          A method for the second instance.

          -

          -

          -
          -
          +

          + +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcemuteallremotevideostreams.dita b/en-US/dita/RTC/API/api_videosourcemuteallremotevideostreams.dita index 5b0397118ab..b46b5331d0e 100644 --- a/en-US/dita/RTC/API/api_videosourcemuteallremotevideostreams.dita +++ b/en-US/dita/RTC/API/api_videosourcemuteallremotevideostreams.dita @@ -1,31 +1,34 @@ - <ph keyref="videoSourceMuteAllRemoteVideoStreams" /> - + <ph keyref="videoSourceMuteAllRemoteVideoStreams"/> + - +

          - - - - videoSourceMuteAllRemoteVideoStreams(mute: boolean): number - - -

          + + + + videoSourceMuteAllRemoteVideoStreams(mute: boolean): number + + + +

          A method for the second instance.

          -

          -

          -
          -
          +

          + +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceregisterplugin.dita b/en-US/dita/RTC/API/api_videosourceregisterplugin.dita index 5927ab1ce70..830036ee787 100644 --- a/en-US/dita/RTC/API/api_videosourceregisterplugin.dita +++ b/en-US/dita/RTC/API/api_videosourceregisterplugin.dita @@ -1,36 +1,43 @@ - <ph keyref="videoSourceRegisterPlugin" /> - + <ph keyref="videoSourceRegisterPlugin"/> + - +

          - - - - videoSourceRegisterPlugin(pluginInfo: PluginInfo): number - - -

          + + + + videoSourceRegisterPlugin(pluginInfo: PluginInfo): number + + + +

          A method for the second instance.

          -

          -

          Agora provides the following approaches for using the plugin: -

            -
          • Call and use the enable, disable, setParameter, and getParameter methods in to enable or disable the plugin, set plugin parameters, and get plugin parameters.
          • -
          • Call , , and to enable or disable the plugin, set plugin parameters, and get plugin parameters.
          • -

          +

          +

          Agora provides the following approaches for using the plugin:

            +
          • Call and use the + enable, disable, + setParameter, and getParameter + methods in to enable or disable the plugin, set + plugin parameters, and get plugin parameters.
          • +
          • Call , , and to enable or disable the + plugin, set plugin parameters, and get plugin parameters.
          • +

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcerelease.dita b/en-US/dita/RTC/API/api_videosourcerelease.dita index 1f4ab69b9f7..4a7d5640a1b 100644 --- a/en-US/dita/RTC/API/api_videosourcerelease.dita +++ b/en-US/dita/RTC/API/api_videosourcerelease.dita @@ -1,25 +1,27 @@ - <ph keyref="videoSourceRelease" /> - Releases the videoSource object. + <ph keyref="videoSourceRelease"/> + Releases the videoSource + object. - +

          - - - - videoSourceRelease(): number - - -

          + + + + videoSourceRelease(): number + + + +

          A method for the second instance.

          @@ -27,8 +29,9 @@
          Returns
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          +
        1372. 0: Success.
        1373. +
        1374. < 0: Failure.
        1375. + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcerenewtoken.dita b/en-US/dita/RTC/API/api_videosourcerenewtoken.dita index 8d2ae27c277..af5a52642d5 100644 --- a/en-US/dita/RTC/API/api_videosourcerenewtoken.dita +++ b/en-US/dita/RTC/API/api_videosourcerenewtoken.dita @@ -1,29 +1,32 @@ - <ph keyref="videoSourceRenewToken" /> - Renews the token for videoSource. + <ph keyref="videoSourceRenewToken"/> + Renews the token for + videoSource. - +

          - - - - videoSourceRenewToken(token: string): number - - -

          + + + + videoSourceRenewToken(token: string): number + + + +

          A method for the second instance.

          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcesetaddonlogfile.dita b/en-US/dita/RTC/API/api_videosourcesetaddonlogfile.dita index 825befade71..942d8297f19 100644 --- a/en-US/dita/RTC/API/api_videosourcesetaddonlogfile.dita +++ b/en-US/dita/RTC/API/api_videosourcesetaddonlogfile.dita @@ -1,30 +1,32 @@ - <ph keyref="videoSourceSetAddonLogFile" /> - Sets the log file for the videoSource instance in the Electron layer. + <ph keyref="videoSourceSetAddonLogFile"/> + Sets the log file for the videoSource + instance in the Electron layer. - +

          - - - - videoSourceSetAddonLogFile(filePath: string): number - - -

          + + + + videoSourceSetAddonLogFile(filePath: string): number + + + +

          A method for the second instance.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcesetchannelprofile.dita b/en-US/dita/RTC/API/api_videosourcesetchannelprofile.dita index f76149e7bda..0aa0c61b38c 100644 --- a/en-US/dita/RTC/API/api_videosourcesetchannelprofile.dita +++ b/en-US/dita/RTC/API/api_videosourcesetchannelprofile.dita @@ -1,30 +1,32 @@ - <ph keyref="videoSourceSetChannelProfile" /> - Sets the channel profile for videoSource. + <ph keyref="videoSourceSetChannelProfile"/> + Sets the channel profile for + videoSource. - +

          - - - - videoSourceSetChannelProfile(profile: CHANNEL_PROFILE_TYPE): number - - -

          + + + + videoSourceSetChannelProfile(profile: CHANNEL_PROFILE_TYPE): number + + + +

          A method for the second instance.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcesetencryptionmode.dita b/en-US/dita/RTC/API/api_videosourcesetencryptionmode.dita index 35b58b40511..c2c4d4e79bf 100644 --- a/en-US/dita/RTC/API/api_videosourcesetencryptionmode.dita +++ b/en-US/dita/RTC/API/api_videosourcesetencryptionmode.dita @@ -1,37 +1,42 @@ - <ph keyref="videoSourceSetEncryptionMode" /> - + <ph keyref="videoSourceSetEncryptionMode"/> + - +

          - - - - videoSourceSetEncryptionMode(encryptionMode: string): number - - -

          + + + + videoSourceSetEncryptionMode(encryptionMode: string): number + + + +

          - -
          Deprecated:
          -
          This method is deprecated from . Please use the method instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated from . Please + use the method instead.
          +

          A method for the second instance.

          -

          - Before calling this method, please call to enable the built-in encryption function.

          -
          -
          +

          + Before calling this method, please call to enable the built-in encryption + function. +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcesetencryptionsecret.dita b/en-US/dita/RTC/API/api_videosourcesetencryptionsecret.dita index d9f081c0339..a089ca661d5 100644 --- a/en-US/dita/RTC/API/api_videosourcesetencryptionsecret.dita +++ b/en-US/dita/RTC/API/api_videosourcesetencryptionsecret.dita @@ -1,37 +1,39 @@ - <ph keyref="videoSourceSetEncryptionSecret" /> - + <ph keyref="videoSourceSetEncryptionSecret"/> + - +

          - - - - videoSourceSetEncryptionSecret(secret: string): number - - -

          + + + + videoSourceSetEncryptionSecret(secret: string): number + + + +

          - -
          Deprecated:
          -
          This method is deprecated from . Please use the method instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated from . Please + use the method instead.
          +

          A method for the second instance.

          -

          +

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcesetlogfile.dita b/en-US/dita/RTC/API/api_videosourcesetlogfile.dita index 863b23438a1..d02495f4fb7 100644 --- a/en-US/dita/RTC/API/api_videosourcesetlogfile.dita +++ b/en-US/dita/RTC/API/api_videosourcesetlogfile.dita @@ -1,40 +1,49 @@ - <ph keyref="videoSourceSetLogFile" /> - Sets the log file for the videoSource instance in the Native layer. + <ph keyref="videoSourceSetLogFile"/> + Sets the log file for the videoSource + instance in the Native layer. - +

          - - - - videoSourceSetLogFile(filePath: string): number - - -

          + + + + videoSourceSetLogFile(filePath: string): number + + + +

          - -
          Deprecated:
          -
          This method is deprecated. Please use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated. Please use instead.
          +

          A method for the second instance.

          -
            -
          • Ensure that you call this method immediately after initializing videoSource; otherwise, the output log may not be complete.
          • -
          • The default path for the log file of videoSource is the same with the main thread. Ensure that you change the log file path to avoid overwriting the log.
          • -
          -
          -
          +
            +
          • Ensure that you call this method immediately after initializing + videoSource; otherwise, the output log may not be + complete.
          • +
          • The default path for the log file of videoSource is the + same with the main thread. Ensure that you change the log file path to avoid + overwriting the log.
          • +
          + +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcesetparameters.dita b/en-US/dita/RTC/API/api_videosourcesetparameters.dita index fd086e22c26..1f540536e50 100644 --- a/en-US/dita/RTC/API/api_videosourcesetparameters.dita +++ b/en-US/dita/RTC/API/api_videosourcesetparameters.dita @@ -1,45 +1,47 @@ - <ph keyref="videoSourceSetParameters" /> - + <ph keyref="videoSourceSetParameters"/> + - +

          - - - - - - -

          + + + + + + + +

          - -
          Since
          -
          v
          -
          + +
          Since
          +
          v
          +
          -

          +

          Parameters - - - - -
          + + + + + +
          Returns
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcesetpluginparameter.dita b/en-US/dita/RTC/API/api_videosourcesetpluginparameter.dita index 9421e19f651..a73fe5bf3a7 100644 --- a/en-US/dita/RTC/API/api_videosourcesetpluginparameter.dita +++ b/en-US/dita/RTC/API/api_videosourcesetpluginparameter.dita @@ -1,31 +1,35 @@ - <ph keyref="videoSourceSetPluginParameter" /> - + <ph keyref="videoSourceSetPluginParameter"/> + - +

          - - - - videoSourceSetPluginParameter(pluginId: string, parameter: string): number - - -

          + + + + videoSourceSetPluginParameter(pluginId: string, parameter: string): number + + + +

          A method for the second instance.

          -

          After getting the value using , you can call this method to pass a JSON string containing a key and a value to the C++ layer.

          +

          After getting the value using , you can + call this method to pass a JSON string containing a key and a value to the C++ + layer.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcesetscreencapturecontenthint.dita b/en-US/dita/RTC/API/api_videosourcesetscreencapturecontenthint.dita index e8f787c0700..2df7e36d6ea 100644 --- a/en-US/dita/RTC/API/api_videosourcesetscreencapturecontenthint.dita +++ b/en-US/dita/RTC/API/api_videosourcesetscreencapturecontenthint.dita @@ -1,31 +1,34 @@ - <ph keyref="videoSourceSetScreenCaptureContentHint" /> - + <ph keyref="videoSourceSetScreenCaptureContentHint"/> + - +

          - - - - videoSourceSetScreenCaptureContentHint(contentHint: VideoContentHint): number - - -

          + + + + videoSourceSetScreenCaptureContentHint(contentHint: VideoContentHint): number + + + +

          A method for the second instance.

          -

          -

          -
          -
          +

          + +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcesetvideoencoderconfiguration.dita b/en-US/dita/RTC/API/api_videosourcesetvideoencoderconfiguration.dita index af191851762..104a2744479 100644 --- a/en-US/dita/RTC/API/api_videosourcesetvideoencoderconfiguration.dita +++ b/en-US/dita/RTC/API/api_videosourcesetvideoencoderconfiguration.dita @@ -1,31 +1,33 @@ - <ph keyref="videoSourceSetVideoEncoderConfiguration" /> - + <ph keyref="videoSourceSetVideoEncoderConfiguration"/> + - +

          - - - - videoSourceSetVideoEncoderConfiguration(config: VideoEncoderConfiguration): number - - -

          + + + + videoSourceSetVideoEncoderConfiguration(config: VideoEncoderConfiguration): number + + + +

          A method for the second instance.

          -

          +

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcesetvideoprofile.dita b/en-US/dita/RTC/API/api_videosourcesetvideoprofile.dita index 010c51968ce..cdce35280a7 100644 --- a/en-US/dita/RTC/API/api_videosourcesetvideoprofile.dita +++ b/en-US/dita/RTC/API/api_videosourcesetvideoprofile.dita @@ -1,39 +1,45 @@ - <ph keyref="videoSourceSetVideoProfile" /> - Sets the video profile for videoSource. + <ph keyref="videoSourceSetVideoProfile"/> + Sets the video profile for + videoSource. - +

          - - - - videoSourceSetVideoProfile( + + + + videoSourceSetVideoProfile( profile: VIDEO_PROFILE_TYPE, swapWidthAndHeight: boolean = false ): number - - -

          + + + +

          - -
          Deprecated:
          -
          Please use the method instead.
          -
          + +
          Deprecated:
          +
          Please use the + method instead.
          +

          A method for the second instance.

          - Call this method before calling or .
          -
          -
          + Call this method before calling or . +
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcestartpreview.dita b/en-US/dita/RTC/API/api_videosourcestartpreview.dita index 979791c4521..694b5e2c57f 100644 --- a/en-US/dita/RTC/API/api_videosourcestartpreview.dita +++ b/en-US/dita/RTC/API/api_videosourcestartpreview.dita @@ -1,38 +1,45 @@ - <ph keyref="videoSourceStartPreview" /> - + <ph keyref="videoSourceStartPreview"/> + - +

          - - - - videoSourceStartPreview(): number - - -

          + + + + videoSourceStartPreview(): number + + + +

          A method for the second instance.

          -

          This method starts the local video preview before joining the channel. Before calling this method, ensure that you do the following:

          +

          This method starts the local video preview before joining the channel. Before calling + this method, ensure that you do the following:

            -
          • Call to set the local preview window.
          • -
          • Call to enable the video.
          • +
          • Call to set the local preview window.
          • +
          • Call to enable the video.
          -
            -
          • The local preview enables the mirror mode by default.
          • -
          • After the local video preview is enabled, if you call to exit the channel, the local preview remains until you call to disable it.
          • -
          -
          +
            +
          • The local preview enables the mirror mode by default.
          • +
          • After the local video preview is enabled, if you call to exit the channel, the local + preview remains until you call to + disable it.
          • +
          + +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcestartscreencapturebyscreen.dita b/en-US/dita/RTC/API/api_videosourcestartscreencapturebyscreen.dita index 83224d50f8c..1d3df5390df 100644 --- a/en-US/dita/RTC/API/api_videosourcestartscreencapturebyscreen.dita +++ b/en-US/dita/RTC/API/api_videosourcestartscreencapturebyscreen.dita @@ -1,35 +1,38 @@ - <ph keyref="videoSourceStartScreenCaptureByScreen" /> - + <ph keyref="videoSourceStartScreenCaptureByScreen"/> + - +

          - - - - videoSourceStartScreenCaptureByScreen( + + + + videoSourceStartScreenCaptureByScreen( screenSymbol: ScreenSymbol, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number - - -

          + + + +

          A method for the second instance.

          -

          -

          -
          -
          +

          + +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcestartscreencapturebywindow.dita b/en-US/dita/RTC/API/api_videosourcestartscreencapturebywindow.dita index 62f4094016e..4ada045f7fd 100644 --- a/en-US/dita/RTC/API/api_videosourcestartscreencapturebywindow.dita +++ b/en-US/dita/RTC/API/api_videosourcestartscreencapturebywindow.dita @@ -1,35 +1,38 @@ - <ph keyref="videoSourceStartScreenCaptureByWindow" /> - + <ph keyref="videoSourceStartScreenCaptureByWindow"/> + - +

          - - - - videoSourceStartScreenCaptureByWindow( + + + + videoSourceStartScreenCaptureByWindow( windowId: number, regionRect: Rectangle, captureParams: ScreenCaptureParameters ): number - - -

          + + + +

          A method for the second instance.

          -

          -

          -
          -
          +

          + +

          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcestoppreview.dita b/en-US/dita/RTC/API/api_videosourcestoppreview.dita index f8deb850056..2897f216576 100644 --- a/en-US/dita/RTC/API/api_videosourcestoppreview.dita +++ b/en-US/dita/RTC/API/api_videosourcestoppreview.dita @@ -1,29 +1,30 @@ - <ph keyref="videoSourceStopPreview" /> - + <ph keyref="videoSourceStopPreview"/> + - +

          - - - - videoSourceStopPreview(): number - - -

          + + + + videoSourceStopPreview(): number + + + +

          A method for the second instance.

          -
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourcestopscreencapture.dita b/en-US/dita/RTC/API/api_videosourcestopscreencapture.dita index 852d34767da..d88cd248d44 100644 --- a/en-US/dita/RTC/API/api_videosourcestopscreencapture.dita +++ b/en-US/dita/RTC/API/api_videosourcestopscreencapture.dita @@ -1,29 +1,30 @@ - <ph keyref="videoSourceStopScreenCapture" /> - + <ph keyref="videoSourceStopScreenCapture"/> + - +

          - - - - videoSourceStopScreenCapture(): number - - -

          + + + + videoSourceStopScreenCapture(): number + + + +

          A method for the second instance.

          -
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceunregisterplugin.dita b/en-US/dita/RTC/API/api_videosourceunregisterplugin.dita index f0e3413b516..6ab26085c6e 100644 --- a/en-US/dita/RTC/API/api_videosourceunregisterplugin.dita +++ b/en-US/dita/RTC/API/api_videosourceunregisterplugin.dita @@ -1,31 +1,33 @@ - <ph keyref="videoSourceUnregisterPlugin" /> - + <ph keyref="videoSourceUnregisterPlugin"/> + - +

          - - - - videoSourceUnregisterPlugin(pluginId: string): number - - -

          + + + + videoSourceUnregisterPlugin(pluginId: string): number + + + +

          A method for the second instance.

          -

          After calling to register the plugin, you can call this method to unregister the plugin.

          +

          After calling to register the plugin, you + can call this method to unregister the plugin.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceupdatescreencaptureparameters.dita b/en-US/dita/RTC/API/api_videosourceupdatescreencaptureparameters.dita index 472d97cb31b..847ddc15c6c 100644 --- a/en-US/dita/RTC/API/api_videosourceupdatescreencaptureparameters.dita +++ b/en-US/dita/RTC/API/api_videosourceupdatescreencaptureparameters.dita @@ -1,30 +1,32 @@ - <ph keyref="videoSourceUpdateScreenCaptureParameters" /> - + <ph keyref="videoSourceUpdateScreenCaptureParameters"/> + - +

          - - - - videoSourceUpdateScreenCaptureParameters(captureParams: ScreenCaptureParameters): number - - -

          + + + + videoSourceUpdateScreenCaptureParameters(captureParams: ScreenCaptureParameters): number + + + +

          A method for the second instance.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/api_videosourceupdatescreencaptureregion.dita b/en-US/dita/RTC/API/api_videosourceupdatescreencaptureregion.dita index ff30dbda2e7..4a693bd9bdf 100644 --- a/en-US/dita/RTC/API/api_videosourceupdatescreencaptureregion.dita +++ b/en-US/dita/RTC/API/api_videosourceupdatescreencaptureregion.dita @@ -1,30 +1,32 @@ - <ph keyref="videoSourceUpdateScreenCaptureRegion" /> - + <ph keyref="videoSourceUpdateScreenCaptureRegion"/> + - +

          - - - - videoSourceUpdateScreenCaptureRegion(regionRect: Rectangle): number - - -

          + + + + videoSourceUpdateScreenCaptureRegion(regionRect: Rectangle): number + + + +

          A method for the second instance.

          -
          -
          +
          +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/callback_airplayconnected.dita b/en-US/dita/RTC/API/callback_airplayconnected.dita index e8c46fcca95..9c95fa9976c 100644 --- a/en-US/dita/RTC/API/callback_airplayconnected.dita +++ b/en-US/dita/RTC/API/callback_airplayconnected.dita @@ -2,7 +2,8 @@ <ph keyref="airplayConnected"/> - Occurs when the audio route switches to Apple AirPlay (iOS and macOS only)。 + Occurs when the audio route switches to Apple AirPlay + (iOS and macOS only)。 @@ -13,13 +14,14 @@

          - - - - - - - EmptyCallback? airPlayConnected;

          + + + + + + + EmptyCallback? airPlayConnected; +

          diff --git a/en-US/dita/RTC/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita b/en-US/dita/RTC/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita index 1e33ed19804..040dd24b384 100644 --- a/en-US/dita/RTC/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita +++ b/en-US/dita/RTC/API/callback_iaudioframeobserver_ismultiplechannelframewanted.dita @@ -2,7 +2,8 @@ <ph keyref="isMultipleChannelFrameWanted_IAudioFrameObserver"/> - Determines whether to receive audio data from multiple channels. + Determines whether to receive audio data from multiple + channels. @@ -13,36 +14,54 @@

          - - - virtual bool isMultipleChannelFrameWanted() { return false; } - - public virtual bool IsMultipleChannelFrameWanted() + + + virtual bool isMultipleChannelFrameWanted() { return false; } + + public virtual bool IsMultipleChannelFrameWanted() { return true; } - -

          + + +

          - -
          Since
          -
          v3.0.1
          -
          + +
          Since
          +
          v3.0.1
          +
          -

          After you register the audio frame observer, the SDK triggers this callback every time it captures an audio frame.

          -

          In the multi-channel scenario, if you want to get audio data from multiple channels, set the return value of this callback as . After that, the SDK triggers the callback to send you the before-mixing audio frame from various channels. You can also get the channel ID of each audio frame.

          +

          After you register the audio frame observer, the SDK triggers this callback every + time it captures an audio frame.

          +

          In the multi-channel scenario, if you want to get audio data from multiple channels, + set the return value of this callback as . After that, the SDK + triggers the callback to send + you the before-mixing audio frame from various channels. You can also get the + channel ID of each audio frame.

          -
            -
          • Once you set the return value of the callback as , the SDK triggers only the callback to send the audio data. will not be triggered. In the multi-channel scenario, Agora recommends setting the return value as .
          • -
          • If you set the return value of this callback as , the SDK triggers only the callback to send the audio data.
          • -
          +
            +
          • Once you set the return value of the callback as , the + SDK triggers only the + callback to send the audio data. will not be triggered. In + the multi-channel scenario, Agora recommends setting the return value as .
          • +
          • If you set the return value of this callback as , the + SDK triggers only the + callback to send the audio data.
          • +
          + +
          Returns
            -
          • : Receive audio data from multiple channels.
          • -
          • : Do not receive audio data from multiple channels.
          • -
          +
        1376. : Receive audio data from multiple + channels.
        1377. +
        1378. : Do not receive audio data from multiple + channels.
        1379. + +
          diff --git a/en-US/dita/RTC/API/callback_iaudioframeobserver_onframe.dita b/en-US/dita/RTC/API/callback_iaudioframeobserver_onframe.dita index c0ac4bc6709..39b75f9e577 100644 --- a/en-US/dita/RTC/API/callback_iaudioframeobserver_onframe.dita +++ b/en-US/dita/RTC/API/callback_iaudioframeobserver_onframe.dita @@ -2,7 +2,8 @@ <ph keyref="onFrame_IAudioFrameObserver"/> - Occurs each time the player receives an audio frame. + Occurs each time the player receives an audio + frame. @@ -13,38 +14,43 @@

          - AudioFrame onFrame(AudioFrame frame); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + AudioFrame onFrame(AudioFrame frame); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveAudioFrame:(CMSampleBufferRef _Nonnull)audioFrame; - virtual void onFrame(AudioPcmFrame* frame) = 0; - - - -

          + virtual void onFrame(AudioPcmFrame* frame) = 0; + + + + +

          -

          After registering the audio frame observer, the callback occurs every time the player receives an audio frame, reporting the detailed information of the audio frame.

          +

          After registering the audio frame observer, the callback occurs every time the player + receives an audio frame, reporting the detailed information of the audio frame.

          <ph keyref="callback-section-title"/>

          - - audioFrame - Audio frame information (CMSampleBufferRef). - - - frame - Audio frame information. See . - - - playerKit - See . - -

          + + audioFrame + Audio frame information (CMSampleBufferRef). + + + frame + Audio frame information. See . + + + playerKit + See . + + +
          Returns -

          Passes in the audio data after setting the mode parameter in for handling audio data.

          +

          Passes in the audio data after setting the mode parameter in + for handling audio + data.

          diff --git a/en-US/dita/RTC/API/callback_iaudioframeobserver_onmixedaudioframe.dita b/en-US/dita/RTC/API/callback_iaudioframeobserver_onmixedaudioframe.dita index 17ca14a048f..ff3e140ec25 100644 --- a/en-US/dita/RTC/API/callback_iaudioframeobserver_onmixedaudioframe.dita +++ b/en-US/dita/RTC/API/callback_iaudioframeobserver_onmixedaudioframe.dita @@ -2,7 +2,8 @@ <ph keyref="onMixedAudioFrame"/> - Retrieves the mixed captured and playback audio frame. + Retrieves the mixed captured and playback audio + frame. @@ -13,77 +14,88 @@

          - public abstract boolean onMixedAudioFrame(int type, int samplesPerChannel, int bytesPerSample, + public abstract boolean onMixedAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onMixedAudioFrame:(AgoraAudioFrame* _Nonnull)frame; - virtual bool onMixedAudioFrame(AudioFrame& audioFrame) = 0; - - public virtual bool OnMixedAudioFrame(AudioFrame audioFrame) + - (BOOL)onMixedAudioFrame:(AgoraAudioFrame* _Nonnull)frame; + virtual bool onMixedAudioFrame(AudioFrame& audioFrame) = 0; + + public virtual bool OnMixedAudioFrame(AudioFrame audioFrame) { return true; } - -

          + + +

          - This callback only returns the single-channel data.

          + This callback only returns the single-channel data. +

          Parameters - - audioFrame - frame - The playback audio frame. For details, see . - + + audioFrame + frame + The playback audio frame. For details, see . + - - type - The audio frame type. - - - samplesPerChannel - The number of samples per channel in the audio frame. - - - bytesPerSample - The number of bytes per audio sample. For example, each PCM audio sample usually takes up 16 bits (2 bytes). - - - channels - -

          The number of channels. -

            -
          • 1: Mono.
          • -
          • 2: Stereo. If the channel uses stereo, the data is interleaved.
          • -

          -
          -
          - - samplesPerSec - Recording sample rate (Hz). - - - buffer - The audio buffer. The buffer size = samplesPerChannel x channels x bytesPerSample. - - - renderTimeMs - The timestamp (ms) of the external audio frame. You can use this parameter for the following purpose: Synchronize audio and video frames in video or audio related scenarios, including where external video sources are used. - - - avsync_type - Reserved for future use. - -
          + + type + The audio frame type. + + + samplesPerChannel + The number of samples per channel in the audio frame. + + + bytesPerSample + The number of bytes per audio sample. For example, each PCM audio sample + usually takes up 16 bits (2 bytes). + + + channels + +

          The number of channels.

            +
          • 1: Mono.
          • +
          • 2: Stereo. If the channel uses stereo, the data is + interleaved.
          • +

          +
          +
          + + samplesPerSec + Recording sample rate (Hz). + + + buffer + The audio buffer. The buffer size = samplesPerChannel x channels x + bytesPerSample. + + + renderTimeMs + The timestamp (ms) of the external audio frame. You can use this parameter + for the following purpose: Synchronize audio and video frames in video or + audio related scenarios, including where external video sources are + used. + + + avsync_type + Reserved for future use. + + +
          Returns
            -
          • : The mixed audio data is valid and is encoded and sent.
          • -
          • : The mixed audio data is invalid and is not encoded or sent.
          • -
          +
        1380. : The mixed audio data is valid and is + encoded and sent.
        1381. +
        1382. : The mixed audio data is invalid and is + not encoded or sent.
        1383. + +
          diff --git a/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframe.dita b/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframe.dita index b046cf501f2..3796c6fc8a5 100644 --- a/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframe.dita +++ b/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframe.dita @@ -13,18 +13,19 @@

          - public abstract boolean onPlaybackAudioFrame(int type, int samplesPerChannel, int bytesPerSample, + public abstract boolean onPlaybackAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onPlaybackAudioFrame:(AgoraAudioFrame* _Nonnull)frame; - virtual bool onPlaybackAudioFrame(AudioFrame& audioFrame) = 0; - - public virtual bool OnPlaybackAudioFrame(AudioFrame audioFrame) + - (BOOL)onPlaybackAudioFrame:(AgoraAudioFrame* _Nonnull)frame; + virtual bool onPlaybackAudioFrame(AudioFrame& audioFrame) = 0; + + public virtual bool OnPlaybackAudioFrame(AudioFrame audioFrame) { return true; } - -

          + + +

          diff --git a/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita b/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita index 57b23fd78e4..0f2c0fc8857 100644 --- a/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita +++ b/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixing.dita @@ -2,7 +2,8 @@ <ph keyref="onPlaybackAudioFrameBeforeMixing"/> - Retrieves the audio frame of a specified user before mixing. + Retrieves the audio frame of a specified user before + mixing. @@ -13,75 +14,79 @@

          - @CalledByNative + @CalledByNative public abstract boolean onPlaybackAudioFrameBeforeMixing(int userId, int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - virtual bool onPlaybackAudioFrameBeforeMixing(rtc::uid_t uid, AudioFrame& audioFrame) = 0;

          + virtual bool onPlaybackAudioFrameBeforeMixing(rtc::uid_t uid, AudioFrame& audioFrame) = 0; +

          - - (BOOL)onPlaybackAudioFrameBeforeMixing:(AgoraAudioFrame* _Nonnull)frame uid:(NSUInteger)uid; - - public virtual bool OnPlaybackAudioFrameBeforeMixing(uint uid, AudioFrame audioFrame) + - (BOOL)onPlaybackAudioFrameBeforeMixing:(AgoraAudioFrame* _Nonnull)frame uid:(NSUInteger)uid; + + public virtual bool OnPlaybackAudioFrameBeforeMixing(uint uid, AudioFrame audioFrame) { return true; } - -

          + + +

          - public abstract boolean onPlaybackAudioFrameBeforeMixing(String userId, int type, + public abstract boolean onPlaybackAudioFrameBeforeMixing(String userId, int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - virtual bool onPlaybackAudioFrameBeforeMixing(unsigned int uid, AudioFrame& audioFrame) = 0;

          + virtual bool onPlaybackAudioFrameBeforeMixing(unsigned int uid, AudioFrame& audioFrame) = 0; +

          Parameters - - uid - userId - The user ID of the specified user. - - - audioFrame - frame - The audio frame. For details, see . - + + uid + userId + The user ID of the specified user. + + + audioFrame + frame + The audio frame. For details, see . + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita b/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita index 38e3e6ff3f0..587431bc338 100644 --- a/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita +++ b/en-US/dita/RTC/API/callback_iaudioframeobserver_onplaybackaudioframebeforemixingex.dita @@ -2,7 +2,8 @@ <ph keyref="onPlaybackAudioFrameBeforeMixingEx"/> - Gets the before-mixing playback audio frame from multiple channels. + Gets the before-mixing playback audio frame from + multiple channels. @@ -13,43 +14,53 @@

          - - - virtual bool onPlaybackAudioFrameBeforeMixingEx(const char *channelId, + + + virtual bool onPlaybackAudioFrameBeforeMixingEx(const char *channelId, unsigned int uid, AudioFrame& audioFrame) { return true; } - - public virtual bool OnPlaybackAudioFrameBeforeMixingEx(string channelId, uint uid, AudioFrame audioFrame) + + public virtual bool OnPlaybackAudioFrameBeforeMixingEx(string channelId, uint uid, AudioFrame audioFrame) { return true; } - -

          + + +

          -

          After you successfully register the audio frame observer, if you set the return value of as , the SDK triggers this callback each time it receives an audio frame from any of the channels.

          +

          After you successfully register the audio frame observer, if you set the return value + of as , the SDK triggers this callback each time it receives an audio + frame from any of the channels.

          Parameters - - channelId - The channel name of this audio frame. - - - uid - The ID of the user sending the audio frame. - - - audioFrame - playback audio frame. For details, see . - -
          + + channelId + The channel name of this audio frame. + + + uid + The ID of the user sending the audio frame. + + + audioFrame + playback audio frame. For details, see . + + +
          Returns
            -
          • : Valid buffer in AudioFrame, and the captured audio frame is sent out.
          • -
          • : Invalid buffer in AudioFrame, and the captured audio frame is discarded.
          • -
          +
        1384. : Valid buffer in AudioFrame, and the captured audio frame is + sent out.
        1385. +
        1386. : Invalid buffer in AudioFrame, and the captured audio frame is + discarded.
        1387. + +
          diff --git a/en-US/dita/RTC/API/callback_iaudioframeobserver_onrecordaudioframe.dita b/en-US/dita/RTC/API/callback_iaudioframeobserver_onrecordaudioframe.dita index dbf33a23181..05b7bb8a1a6 100644 --- a/en-US/dita/RTC/API/callback_iaudioframeobserver_onrecordaudioframe.dita +++ b/en-US/dita/RTC/API/callback_iaudioframeobserver_onrecordaudioframe.dita @@ -13,19 +13,20 @@

          - public abstract boolean onRecordAudioFrame(int type, int samplesPerChannel, int bytesPerSample, + public abstract boolean onRecordAudioFrame(int type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, ByteBuffer buffer, long renderTimeMs, int avsync_type); - - (BOOL)onRecordAudioFrame:(AgoraAudioFrame* _Nonnull)frame; + - (BOOL)onRecordAudioFrame:(AgoraAudioFrame* _Nonnull)frame; - virtual bool onRecordAudioFrame(AudioFrame& audioFrame) = 0; - - public virtual bool OnRecordAudioFrame(AudioFrame audioFrame) + virtual bool onRecordAudioFrame(AudioFrame& audioFrame) = 0; + + public virtual bool OnRecordAudioFrame(AudioFrame audioFrame) { return true; } - -

          + + +

          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onactivespeaker.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onactivespeaker.dita index 6ddacd61815..3cadfe001ea 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onactivespeaker.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onactivespeaker.dita @@ -13,34 +13,36 @@

          - - - virtual void onActiveSpeaker(IChannel *rtcChannel, + + + virtual void onActiveSpeaker(IChannel *rtcChannel, uid_t uid) { (void)rtcChannel; (void)uid; } - on( + on( evt: ChannelEvents.ACTIVE_SPEAKER, cb: (channelId: string, uid: number) => void ): this; - public virtual void OnActiveSpeaker(string channelId, uint uid) - - UidCallback? activeSpeaker;

          + public virtual void OnActiveSpeaker(string channelId, uint uid) + + UidCallback? activeSpeaker; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - -

          + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onaudiopublishstatechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onaudiopublishstatechanged.dita index c27b50dac9a..787113eedb8 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onaudiopublishstatechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onaudiopublishstatechanged.dita @@ -13,9 +13,9 @@

          - - - virtual void onAudioPublishStateChanged(IChannel *rtcChannel, + + + virtual void onAudioPublishStateChanged(IChannel *rtcChannel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { @@ -24,7 +24,7 @@ (void)newState; (void)elapseSinceLastState; } - on( + on( evt: ChannelEvents.AUDIO_PUBLISH_STATE_CHANGED, cb: ( channelId: string, @@ -33,39 +33,38 @@ elapseSinceLastState: number ) => void ): this; - public virtual void OnAudioPublishStateChanged(string channelId, STREAM_PUBLISH_STATE oldState, + public virtual void OnAudioPublishStateChanged(string channelId, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) - - StreamPublishStateCallback? audioPublishStateChanged; + + StreamPublishStateCallback? audioPublishStateChanged;

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - channel - The channel name. - - - - - - - - - - - - - -

          + + + + + + channel + The channel name. + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onaudiosubscribestatechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onaudiosubscribestatechanged.dita index 6676196441a..6d030076939 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onaudiosubscribestatechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onaudiosubscribestatechanged.dita @@ -13,9 +13,9 @@

          - - - virtual void onAudioSubscribeStateChanged(IChannel *rtcChannel, + + + virtual void onAudioSubscribeStateChanged(IChannel *rtcChannel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, TREAM_SUBSCRIBE_STATE newState, @@ -26,7 +26,7 @@ (void)newState; (void)elapseSinceLastState; } - on( + on( evt: ChannelEvents.AUDIO_SUBSCRIBE_STATE_CHANGED, cb: ( channelId: string, @@ -36,45 +36,43 @@ elapseSinceLastState: number ) => void ): this; - public virtual void OnAudioSubscribeStateChanged(string channelId, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnAudioSubscribeStateChanged(string channelId, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - - StreamSubscribeStateCallback? audioSubscribeStateChanged; + + StreamSubscribeStateCallback? audioSubscribeStateChanged;

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - channel - The channel name. - - - - - - - - - - - - - - - - - -

          + + + + + + channel + The channel name. + + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelerror.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelerror.dita index d837015e89f..f045475437e 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelerror.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelerror.dita @@ -2,7 +2,8 @@ <ph keyref="IChannel_onChannelError"/> - The error code reported. + The error code + reported. @@ -13,39 +14,42 @@

          - - - virtual void onChannelError(IChannel *rtcChannel, + + + virtual void onChannelError(IChannel *rtcChannel, int err, const char* msg) { (void)rtcChannel; (void)err; (void)msg; } - on( + on( evt: ChannelEvents.CHANNEL_ERROR, cb: (channelId: string, err: number, msg: string) => void ): this; - public virtual void OnChannelError(string channelId, int err, string msg) - - ErrorCallback? error;

          + public virtual void OnChannelError(string channelId, int err, string msg) + + ErrorCallback? error; +

          <ph keyref="callback-section-title"/>

          - - - - - - err - The error code. For details, see Error Codes and Warning Codes. - - - msg - The error message. - -

          + + + + + + err + The error code. For details, see Error Codes and + Warning Codes. + + + msg + The error message. + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelayevent.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelayevent.dita index ada25b94914..ce046e2bcde 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelayevent.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelayevent.dita @@ -13,32 +13,34 @@

          - - - virtual void onChannelMediaRelayEvent(IChannel *rtcChannel, CHANNEL_MEDIA_RELAY_EVENT code) { + + + virtual void onChannelMediaRelayEvent(IChannel *rtcChannel, CHANNEL_MEDIA_RELAY_EVENT code) { (void)rtcChannel; (void)code; } - on( + on( evt: ChannelEvents.CHANNEL_MEDIA_RELAY_EVENT, cb: (channelId: string, code: CHANNEL_MEDIA_RELAY_EVENT) => void ): this; - public virtual void OnChannelMediaRelayEvent(string channelId, CHANNEL_MEDIA_RELAY_EVENT code) - - MediaRelayEventCallback? channelMediaRelayEvent;

          + public virtual void OnChannelMediaRelayEvent(string channelId, CHANNEL_MEDIA_RELAY_EVENT code) + + MediaRelayEventCallback? channelMediaRelayEvent; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - -

          + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelaystatechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelaystatechanged.dita index 1453577a215..679e18c8611 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelaystatechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelmediarelaystatechanged.dita @@ -13,16 +13,16 @@

          - - - virtual void onChannelMediaRelayStateChanged(IChannel *rtcChannel, + + + virtual void onChannelMediaRelayStateChanged(IChannel *rtcChannel, CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code) { (void)rtcChannel; (void)state; (void)code; } - on( + on( evt: ChannelEvents.CHANNEL_MEDIA_RELAY_STATE_CHANGED, cb: ( channelId: string, @@ -30,28 +30,30 @@ code: CHANNEL_MEDIA_RELAY_ERROR ) => void ): this; - public virtual void OnChannelMediaRelayStateChanged(string channelId, CHANNEL_MEDIA_RELAY_STATE state, + public virtual void OnChannelMediaRelayStateChanged(string channelId, CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code) - - MediaRelayStateCallback? channelMediaRelayStateChanged;

          + + MediaRelayStateCallback? channelMediaRelayStateChanged; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - - - - - -

          + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelwarning.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelwarning.dita index a33a1c19348..7b1bfa41c01 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelwarning.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onchannelwarning.dita @@ -2,7 +2,8 @@ <ph keyref="IChannel_onChannelWarning"/> - Reports the warning code of . + Reports the warning code of . @@ -13,39 +14,42 @@

          - - - virtual void onChannelWarning(IChannel *rtcChannel, + + + virtual void onChannelWarning(IChannel *rtcChannel, int warn, const char* msg) { (void)rtcChannel; (void)warn; (void)msg; } - on( + on( evt: ChannelEvents.CHANNEL_WARNING, cb: (channelId: string, warn: number, msg: string) => void ): this; - public virtual void OnChannelWarning(string channelId, int warn, string msg) - - WarningCallback? warning;

          + public virtual void OnChannelWarning(string channelId, int warn, string msg) + + WarningCallback? warning; +

          <ph keyref="callback-section-title"/>

          - - - - - - warn - Warning codes. For details, see Error Codes and Warning Codes. - - - msg - The warning message. - -

          + + + + + + warn + Warning codes. For details, see Error Codes and + Warning Codes. + + + msg + The warning message. + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onclientrolechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onclientrolechanged.dita index be67c97bc06..a2e26c5254c 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onclientrolechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onclientrolechanged.dita @@ -13,16 +13,16 @@

          - - - virtual void onClientRoleChanged(IChannel *rtcChannel, + + + virtual void onClientRoleChanged(IChannel *rtcChannel, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) { (void)rtcChannel; (void)oldRole; (void)newRole; } - on( + on( evt: ChannelEvents.CLIENT_ROLE_CHANGED, cb: ( channelId: string, @@ -30,29 +30,32 @@ newRole: CLIENT_ROLE_TYPE ) => void ): this; - public virtual void OnClientRoleChanged(string channelId, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) - - ClientRoleCallback? clientRoleChanged;

          + public virtual void OnClientRoleChanged(string channelId, CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) + + ClientRoleCallback? clientRoleChanged; +

          -

          The SDK triggers this callback when the local user changes the user role after joining the channel.

          +

          The SDK triggers this callback when the local user changes the user role after + joining the channel.

          <ph keyref="callback-section-title"/>

          - - - - - - - - - - - - -

          + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onclientrolechangefailed.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onclientrolechangefailed.dita index 73be13313d5..2306de3adc7 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onclientrolechangefailed.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onclientrolechangefailed.dita @@ -2,43 +2,45 @@ - <ph keyref="IChannel_onClientRoleChangeFailed" /> + <ph keyref="IChannel_onClientRoleChangeFailed"/> - + - +

          - +

          -

          In the LIVE_BROADCASTING channel profile, when the local user calls to switch their user role after joining the channel but the switch fails, the SDK triggers this callback to report the reason for the failure and the current user role. -

          +

          In the LIVE_BROADCASTING channel profile, when the local user calls to switch their user role after joining the + channel but the switch fails, the SDK triggers this callback to report the reason + for the failure and the current user role.

          - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> -

          +

          - - + + - - + + - - + +

          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onconnectionlost.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onconnectionlost.dita index ec9c053f8b1..1d65b3be657 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onconnectionlost.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onconnectionlost.dita @@ -13,27 +13,31 @@

          - - - virtual void onConnectionLost(IChannel *rtcChannel) { + + + virtual void onConnectionLost(IChannel *rtcChannel) { (void)rtcChannel; } - on(evt: ChannelEvents.CONNECTION_LOST, cb: (channelId: string) => void): this; - public virtual void OnConnectionLost(string channelId) - - EmptyCallback? connectionLost;

          + on(evt: ChannelEvents.CONNECTION_LOST, cb: (channelId: string) => void): this; + public virtual void OnConnectionLost(string channelId) + + EmptyCallback? connectionLost; +

          -

          The SDK triggers this callback when it cannot connect to the server 10 seconds after calling the method, regardless of whether it is in the channel.

          +

          The SDK triggers this callback when it cannot connect to the server 10 seconds after + calling the method, regardless of whether it + is in the channel.

          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onconnectionstatechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onconnectionstatechanged.dita index e9289ef7388..8f41a987783 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onconnectionstatechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onconnectionstatechanged.dita @@ -13,16 +13,16 @@

          - - - virtual void onConnectionStateChanged(IChannel *rtcChannel, + + + virtual void onConnectionStateChanged(IChannel *rtcChannel, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { (void)rtcChannel; (void)state; (void)reason; } - on( + on( evt: ChannelEvents.CONNECTION_STATE_CHANGED, cb: ( channelId: string, @@ -30,10 +30,11 @@ reason: CONNECTION_CHANGED_REASON_TYPE ) => void ): this; - public virtual void OnConnectionStateChanged(string channelId, CONNECTION_STATE_TYPE state, + public virtual void OnConnectionStateChanged(string channelId, CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) - - ConnectionStateCallback? connectionStateChanged;

          + + ConnectionStateCallback? connectionStateChanged; +

          @@ -42,18 +43,19 @@ <ph keyref="callback-section-title"/>

          - - - - - - - - - - - - -

          + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onfirstremotevideoframe.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onfirstremotevideoframe.dita index fc36cd7353b..8099eabee17 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onfirstremotevideoframe.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onfirstremotevideoframe.dita @@ -16,39 +16,38 @@ OnFirstRemoteVideoFrame? firstRemoteVideoFrame; -

          +

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - - - - - - - - - - - - - - - - - - - -

          + + + + + + + + + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onjoinchannelsuccess.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onjoinchannelsuccess.dita index 2cf54100c97..05277068c44 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onjoinchannelsuccess.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onjoinchannelsuccess.dita @@ -13,22 +13,23 @@

          - - - virtual void onJoinChannelSuccess(IChannel *rtcChannel, + + + virtual void onJoinChannelSuccess(IChannel *rtcChannel, uid_t uid, int elapsed) { (void)rtcChannel; (void)uid; (void)elapsed; } - on( + on( evt: ChannelEvents.JOIN_CHANNEL_SUCCESS, cb: (channelId: string, uid: number, elapsed: number) => void ): this; - public virtual void OnJoinChannelSuccess(string channelId, uint uid, int elapsed) - - UidWithElapsedAndChannelCallback? joinChannelSuccess;

          + public virtual void OnJoinChannelSuccess(string channelId, uint uid, int elapsed) + + UidWithElapsedAndChannelCallback? joinChannelSuccess; +

          @@ -37,20 +38,25 @@ <ph keyref="callback-section-title"/>

          - - rtcChannel - channelId - . - The channel ID. - - - uid - User ID. If you have specified a user ID in , the ID will be returned here; otherwise, the SDK returns an ID automatically assigned by the Agora server. - - - elapsed - The time elapsed (in milliseconds) from the local user calling till this event. - -

          + + rtcChannel + channelId + . + The channel ID. + + + uid + User ID. If you have specified a user ID in , the ID will be returned here; + otherwise, the SDK returns an ID automatically assigned by the Agora + server. + + + elapsed + The time elapsed (in milliseconds) from the local user calling till this event. + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onleavechannel.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onleavechannel.dita index c6f0e7ce08a..b44126b15b3 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onleavechannel.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onleavechannel.dita @@ -13,35 +13,40 @@

          - - - virtual void onLeaveChannel(IChannel *rtcChannel, const RtcStats& stats) { + + + virtual void onLeaveChannel(IChannel *rtcChannel, const RtcStats& stats) { (void)rtcChannel; (void)stats; } - on( + on( evt: ChannelEvents.LEAVE_CHANNEL, cb: (channelId: string, stats: RtcStats) => void ): this; - public virtual void OnLeaveChannel(string channelId, RtcStats stats) - - RtcStatsCallback? leaveChannel;

          + public virtual void OnLeaveChannel(string channelId, RtcStats stats) + + RtcStatsCallback? leaveChannel; +

          -

          When a user leaves the channel by using the method, the SDK uses this callback to notify the app when the user leaves the channel. With this callback, the app gets the channel information, such as the call duration and quality statistics.

          +

          When a user leaves the channel by using the + method, the SDK uses this callback to notify the app when the user leaves the + channel. With this callback, the app gets the channel information, such as the call + duration and quality statistics.

          <ph keyref="callback-section-title"/>

          - - - - - - - - -

          + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onlocalpublishfallbacktoaudioonly.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onlocalpublishfallbacktoaudioonly.dita index 812ab66ce13..632093cadeb 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onlocalpublishfallbacktoaudioonly.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onlocalpublishfallbacktoaudioonly.dita @@ -13,30 +13,32 @@

          - - - virtual void onLocalPublishFallbackToAudioOnly(IChannel *rtcChannel, bool isFallbackOrRecover) { + + + virtual void onLocalPublishFallbackToAudioOnly(IChannel *rtcChannel, bool isFallbackOrRecover) { (void)rtcChannel; (void)isFallbackOrRecover; } - - public virtual void OnLocalPublishFallbackToAudioOnly(string channelId, bool isFallbackOrRecover) - - FallbackCallback? localPublishFallbackToAudioOnly;

          + + public virtual void OnLocalPublishFallbackToAudioOnly(string channelId, bool isFallbackOrRecover) + + FallbackCallback? localPublishFallbackToAudioOnly; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - -

          + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onmetadatareceived.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onmetadatareceived.dita index 964c2b8e7ad..5d9b3c8a398 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onmetadatareceived.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onmetadatareceived.dita @@ -2,7 +2,8 @@ <ph keyref="IChannel_onMetadataReceived"/> - Occurs when the local user receives . + Occurs when the local user receives . @@ -13,37 +14,39 @@

          - - - - on( + + + + on( evt: ChannelEvents.METADATA_RECEIVED, cb: (metadata: Metadata) => void ): this; - public virtual void OnMetadataReceived(Metadata metadata) - - MetadataCallback? metadataReceived;

          + public virtual void OnMetadataReceived(Metadata metadata) + + MetadataCallback? metadataReceived; +

          <ph keyref="callback-section-title"/>

          - - metadata - The received metadata. See . - - - buffer - The recevied metadata. - - - uid - The ID of the user who sent the metadata. - - - timeStampMs - The timestamp (ms) of the received metadata. - -

          + + metadata + The received metadata. See . + + + buffer + The recevied metadata. + + + uid + The ID of the user who sent the metadata. + + + timeStampMs + The timestamp (ms) of the received metadata. + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onnetworkquality.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onnetworkquality.dita index bc99612a9a4..52d839acb33 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onnetworkquality.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onnetworkquality.dita @@ -13,9 +13,9 @@

          - - - virtual void onNetworkQuality(IChannel *rtcChannel, + + + virtual void onNetworkQuality(IChannel *rtcChannel, uid_t uid, int txQuality, int rxQuality) { @@ -24,7 +24,7 @@ (void)txQuality; (void)rxQuality; } - on( + on( evt: ChannelEvents.NETWORK_QUALITY, cb: ( channelId: string, @@ -33,34 +33,33 @@ rxquality: QUALITY_TYPE ) => void ): this; - public virtual void OnNetworkQuality(string channelId, uint uid, int txQuality, int rxQuality) - - NetworkQualityWithUidCallback? networkQuality; + public virtual void OnNetworkQuality(string channelId, uint uid, int txQuality, int rxQuality) + + NetworkQualityWithUidCallback? networkQuality;

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - - - - - - - - - - - -

          + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onproxyconnected.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onproxyconnected.dita index 35a272690a0..1734181743e 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onproxyconnected.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onproxyconnected.dita @@ -13,44 +13,50 @@

          - - - virtual void onProxyConnected(IChannel* rtcChannel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) { + + + virtual void onProxyConnected(IChannel* rtcChannel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) { (void)rtcChannel; (void)uid; (void)proxyType; (void)localProxyIp; (void)elapsed; } - public virtual void OnProxyConnected(string channelId, uint uid, PROXY_TYPE proxyType, string localProxyIp, int elapsed)

          + public virtual void OnProxyConnected(string channelId, uint uid, PROXY_TYPE proxyType, string localProxyIp, int elapsed) +

          -

          You can use this callback to listen for the state of the SDK connecting to a proxy. For example, when a user calls and joins a channel successfully, the SDK triggers this callback to report the user ID, the proxy type connected, and the time elapsed from the user calling until this callback is triggered.

          +

          You can use this callback to listen for the state of the SDK connecting to a proxy. + For example, when a user calls and joins a channel + successfully, the SDK triggers this callback to report the user ID, the proxy type + connected, and the time elapsed from the user calling until this callback is triggered.

          <ph keyref="callback-section-title"/>

          - - - - - - - - - - - - - - - - - - - - -

          + + + + + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onreadytosendmetadata.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onreadytosendmetadata.dita index 52d416f0127..fb92642a266 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onreadytosendmetadata.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onreadytosendmetadata.dita @@ -2,7 +2,8 @@ <ph keyref="IChannel_onReadyToSendMetadata"/> - Occurs when the SDK is ready to send . + Occurs when the SDK is ready to send . @@ -13,31 +14,35 @@

          - - - - on( + + + + on( evt: ChannelEvents.READY_TO_SEND_METADATA, cb: (metadata: Metadata) => void ): this; - public virtual bool OnReadyToSendMetadata(Metadata metadata) + public virtual bool OnReadyToSendMetadata(Metadata metadata) { return true; } - -

          + + +

          -

          This callback is triggered when the SDK is ready to receive and send . After receiving this callback, you can call to send the media metadata.

          +

          This callback is triggered when the SDK is ready to receive and send . After receiving this callback, you can call to send the media metadata.

          Parameters - - metadata - Media metadata See . - -
          + + metadata + Media metadata See . + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onrejoinchannelsuccess.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onrejoinchannelsuccess.dita index 3f0f11d6e5f..457b346d432 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onrejoinchannelsuccess.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onrejoinchannelsuccess.dita @@ -13,40 +13,42 @@

          - - - virtual void onRejoinChannelSuccess(IChannel *rtcChannel, + + + virtual void onRejoinChannelSuccess(IChannel *rtcChannel, uid_t uid, int elapsed) { (void)rtcChannel; (void)uid; (void)elapsed; } - on( + on( evt: ChannelEvents.REJOIN_CHANNEL_SUCCESS, cb: (channelId: string, uid: number, elapsed: number) => void ): this; - public virtual void OnRejoinChannelSuccess(string channelId, uint uid, int elapsed) - - UidWithElapsedAndChannelCallback? rejoinChannelSuccess;

          + public virtual void OnRejoinChannelSuccess(string channelId, uint uid, int elapsed) + + UidWithElapsedAndChannelCallback? rejoinChannelSuccess; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - - - - - -

          + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostatechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostatechanged.dita index 7375e24b647..62f376d3f1e 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostatechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostatechanged.dita @@ -13,9 +13,9 @@

          - - - virtual void onRemoteAudioStateChanged(IChannel *rtcChannel, + + + virtual void onRemoteAudioStateChanged(IChannel *rtcChannel, uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, @@ -26,7 +26,7 @@ (void)reason; (void)elapsed; } - on( + on( evt: ChannelEvents.REMOTE_AUDIO_STATE_CHANGED, cb: ( channelId: string, @@ -36,41 +36,40 @@ elapsed: number ) => void ): this; - public virtual void OnRemoteAudioStateChanged(string channelId, uint uid, REMOTE_AUDIO_STATE state, + public virtual void OnRemoteAudioStateChanged(string channelId, uint uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) - - RemoteAudioStateCallback? remoteAudioStateChanged; + + RemoteAudioStateCallback? remoteAudioStateChanged;

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - - - - - - - - - - - - - elapsed - Time elapsed (ms) from the local user calling the method until the SDK triggers this callback. - -

          + + + + + + + + + + + + + + + + + + elapsed + Time elapsed (ms) from the local user calling the method until the SDK triggers this + callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostats.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostats.dita index 8fc9edc957a..7c935ffa9de 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostats.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onremoteaudiostats.dita @@ -13,33 +13,35 @@

          - - - virtual void onRemoteAudioStats(IChannel *rtcChannel, const RemoteAudioStats& stats) { + + + virtual void onRemoteAudioStats(IChannel *rtcChannel, const RemoteAudioStats& stats) { (void)rtcChannel; (void)stats; } - on( + on( evt: ChannelEvents.REMOTE_AUDIO_STATS, cb: (channelId: string, stats: RemoteAudioStats) => void ): this; - public virtual void OnRemoteAudioStats(string channelId, RemoteAudioStats stats) - - RemoteAudioStatsCallback? remoteAudioStats;

          + public virtual void OnRemoteAudioStats(string channelId, RemoteAudioStats stats) + + RemoteAudioStatsCallback? remoteAudioStats; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - -

          + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotesubscribefallbacktoaudioonly.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotesubscribefallbacktoaudioonly.dita index a8fdfe44531..7d0b8ca39c6 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotesubscribefallbacktoaudioonly.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotesubscribefallbacktoaudioonly.dita @@ -13,40 +13,42 @@

          - - - virtual void onRemoteSubscribeFallbackToAudioOnly(IChannel *rtcChannel, + + + virtual void onRemoteSubscribeFallbackToAudioOnly(IChannel *rtcChannel, uid_t uid, bool isFallbackOrRecover) { (void)rtcChannel; (void)uid; (void)isFallbackOrRecover; } - on( + on( evt: ChannelEvents.REMOTE_SUBSCRIBE_FALLBACK_TO_AUDIO_ONLY, cb: (channelId: string, uid: number, isFallbackOrRecover: boolean) => void ): this; - public virtual void OnRemoteSubscribeFallbackToAudioOnly(string channelId, uint uid, bool isFallbackOrRecover) - - FallbackWithUidCallback? remoteSubscribeFallbackToAudioOnly;

          + public virtual void OnRemoteSubscribeFallbackToAudioOnly(string channelId, uint uid, bool isFallbackOrRecover) + + FallbackWithUidCallback? remoteSubscribeFallbackToAudioOnly; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - - - - - -

          + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotevideostatechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotevideostatechanged.dita index a4858b3f5d3..f74febe84ae 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotevideostatechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotevideostatechanged.dita @@ -13,9 +13,9 @@

          - - - virtual void onRemoteVideoStateChanged(IChannel *rtcChannel, + + + virtual void onRemoteVideoStateChanged(IChannel *rtcChannel, uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, @@ -26,7 +26,7 @@ (void)reason; (void)elapsed; } - on( + on( evt: ChannelEvents.REMOTE_VIDEO_STATE_CHANGED, cb: ( channelId: string, @@ -36,41 +36,40 @@ elapsed: number ) => void ): this; - public virtual void OnRemoteVideoStateChanged(string channelId, uint uid, REMOTE_VIDEO_STATE state, + public virtual void OnRemoteVideoStateChanged(string channelId, uint uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) - - RemoteVideoStateCallback? remoteVideoStateChanged; + + RemoteVideoStateCallback? remoteVideoStateChanged;

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - - - - - - - - - - - - - elapsed - Time elapsed (ms) from the local user calling the method until the SDK triggers this callback. - -

          + + + + + + + + + + + + + + + + + + elapsed + Time elapsed (ms) from the local user calling the method until the SDK triggers this + callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotevideostats.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotevideostats.dita index 6eb6ae47113..87877c69c9c 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotevideostats.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onremotevideostats.dita @@ -13,33 +13,35 @@

          - - - virtual void onRemoteVideoStats(IChannel *rtcChannel, const RemoteVideoStats& stats) { + + + virtual void onRemoteVideoStats(IChannel *rtcChannel, const RemoteVideoStats& stats) { (void)rtcChannel; (void)stats; } - on( + on( evt: ChannelEvents.REMOTE_VIDEO_STATS, cb: (channelId: string, stats: RemoteVideoStats) => void ): this; - public virtual void OnRemoteVideoStats(string channelId, RemoteVideoStats stats) - - RemoteVideoStatsCallback? remoteVideoStats;

          + public virtual void OnRemoteVideoStats(string channelId, RemoteVideoStats stats) + + RemoteVideoStatsCallback? remoteVideoStats; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - -

          + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onrequesttoken.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onrequesttoken.dita index 9f12d1f3336..f8f5f02974f 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onrequesttoken.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onrequesttoken.dita @@ -13,28 +13,32 @@

          - - - virtual void onRequestToken(IChannel *rtcChannel) { + + + virtual void onRequestToken(IChannel *rtcChannel) { (void)rtcChannel; } - on(evt: ChannelEvents.REQUEST_TOKEN, cb: (channelId: string) => void): this; - public virtual void OnRequestToken(string channelId) - - EmptyCallback? requestToken;

          + on(evt: ChannelEvents.REQUEST_TOKEN, cb: (channelId: string) => void): this; + public virtual void OnRequestToken(string channelId) + + EmptyCallback? requestToken; +

          -

          When the token expires during a call, the SDK triggers this callback to remind the app to renew the token.

          -

          Once you receive this callback, generate a new token on your app server, and call to rejoin the channel.

          +

          When the token expires during a call, the SDK triggers this callback to remind the + app to renew the token.

          +

          Once you receive this callback, generate a new token on your app server, and call + to rejoin the channel.

          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtcstats.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtcstats.dita index 946baab6ef0..e99d39013a7 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtcstats.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtcstats.dita @@ -13,34 +13,36 @@

          - - - virtual void onRtcStats(IChannel *rtcChannel, + + + virtual void onRtcStats(IChannel *rtcChannel, const RtcStats& stats) { (void)rtcChannel; (void)stats; } - on( + on( evt: ChannelEvents.RTC_STATS, cb: (channelId: string, stats: RtcStats) => void ): this; - public virtual void OnRtcStats(string channelId, RtcStats stats) - - RtcStatsCallback? rtcStats;

          + public virtual void OnRtcStats(string channelId, RtcStats stats) + + RtcStatsCallback? rtcStats; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - -

          + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingevent.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingevent.dita index 3c3e8e3d09b..dfd246dc521 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingevent.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingevent.dita @@ -13,14 +13,14 @@

          - - - virtual void onRtmpStreamingEvent(IChannel *rtcChannel, const char* url, RTMP_STREAMING_EVENT eventCode) { + + + virtual void onRtmpStreamingEvent(IChannel *rtcChannel, const char* url, RTMP_STREAMING_EVENT eventCode) { (void) rtcChannel; (void) url; (RTMP_STREAMING_EVENT) eventCode; } - on( + on( evt: ChannelEvents.RTMP_STREAMING_EVENT, cb: ( channelId: string, @@ -28,27 +28,29 @@ eventCode: RTMP_STREAMING_EVENT ) => void ): this; - public virtual void OnRtmpStreamingEvent(string channelId, string url, RTMP_STREAMING_EVENT eventCode) - - RtmpStreamingEventCallback? rtmpStreamingEvent;

          + public virtual void OnRtmpStreamingEvent(string channelId, string url, RTMP_STREAMING_EVENT eventCode) + + RtmpStreamingEventCallback? rtmpStreamingEvent; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - - - - - -

          + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingstatechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingstatechanged.dita index b41a5c9c00f..003a200175e 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingstatechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onrtmpstreamingstatechanged.dita @@ -13,9 +13,9 @@

          - - - virtual void onRtmpStreamingStateChanged(IChannel *rtcChannel, + + + virtual void onRtmpStreamingStateChanged(IChannel *rtcChannel, const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode) { @@ -24,7 +24,7 @@ (RTMP_STREAM_PUBLISH_STATE) state; (RTMP_STREAM_PUBLISH_ERROR) errCode; } - on( + on( evt: ChannelEvents.RTMP_STREAMING_STATE_CHANGED, cb: ( channelId: string, @@ -33,37 +33,39 @@ errCode: RTMP_STREAM_PUBLISH_ERROR ) => void ): this; - public virtual void OnRtmpStreamingStateChanged(string channelId, string url, RTMP_STREAM_PUBLISH_STATE state, + public virtual void OnRtmpStreamingStateChanged(string channelId, string url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode) - - RtmpStreamingStateCallback? rtmpStreamingStateChanged; + + RtmpStreamingStateCallback? rtmpStreamingStateChanged;

          -

          When the CDN live streaming state changes, the SDK triggers this callback to report the current state and the reason why the state has changed. When exceptions occur, you can troubleshoot issues by referring to the detailed error descriptions in the error code parameter.

          +

          When the CDN live streaming state changes, the SDK triggers this callback to report + the current state and the reason why the state has changed. When exceptions occur, + you can troubleshoot issues by referring to the detailed error descriptions in the + error code parameter.

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - - - - - - - - - - - -

          + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreaminjectedstatus.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreaminjectedstatus.dita index 01a46582041..17482af3560 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreaminjectedstatus.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreaminjectedstatus.dita @@ -13,9 +13,9 @@

          - - - virtual void onStreamInjectedStatus(IChannel *rtcChannel, + + + virtual void onStreamInjectedStatus(IChannel *rtcChannel, const char* url, uid_t uid, int status) { @@ -24,7 +24,7 @@ (void)uid; (void)status; } - on( + on( evt: ChannelEvents.STREAM_INJECTED_STATUS, cb: ( channelId: string, @@ -33,33 +33,32 @@ status: INJECT_STREAM_STATUS ) => void ): this; - public virtual void OnStreamInjectedStatus(string channelId, string url, uint uid, int status) - - StreamInjectedStatusCallback? streamInjectedStatus; + public virtual void OnStreamInjectedStatus(string channelId, string url, uint uid, int status) + + StreamInjectedStatusCallback? streamInjectedStatus;

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - url - The URL address of the externally injected stream. - - - - - - - - - -

          + + + + + + url + The URL address of the externally injected stream. + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreammessage.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreammessage.dita index f090d9e1d96..69586dcb25d 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreammessage.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreammessage.dita @@ -13,9 +13,9 @@

          - - - virtual void onStreamMessage(IChannel *rtcChannel, + + + virtual void onStreamMessage(IChannel *rtcChannel, uid_t uid, int streamId, const char* data, @@ -26,41 +26,45 @@ (void)data; (void)length; } - on( + on( evt: ChannelEvents.STREAM_MESSAGE, cb: (channelId: string, uid: number, streamId: number, data: string) => void ): this; - public virtual void OnStreamMessage(string channelId, uint uid, int streamId, byte[] data, uint length) - - StreamMessageCallback? streamMessage;

          + public virtual void OnStreamMessage(string channelId, uint uid, int streamId, byte[] data, uint length) + + StreamMessageCallback? streamMessage; +

          -

          The SDK triggers this callback when the local user receives the stream message that the remote user sends by calling the method.

          +

          The SDK triggers this callback when the local user receives the stream message that + the remote user sends by calling the + method.

          <ph keyref="callback-section-title"/>

          - - - - - - - - - - - - - - - - - - - - -

          + + + + + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreammessageerror.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreammessageerror.dita index f1ca8accd5e..d0480f3c35d 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreammessageerror.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onstreammessageerror.dita @@ -13,9 +13,9 @@

          - - - virtual void onStreamMessageError(IChannel *rtcChannel, + + + virtual void onStreamMessageError(IChannel *rtcChannel, uid_t uid, int streamId, int code, @@ -28,7 +28,7 @@ (void)missed; (void)cached; } - on( + on( evt: ChannelEvents.STREAM_MESSAGE_ERROR, cb: ( channelId: string, @@ -39,46 +39,46 @@ cached: number ) => void ): this; - public virtual void OnStreamMessageError(string channelId, uint uid, int streamId, int code, int missed, + public virtual void OnStreamMessageError(string channelId, uint uid, int streamId, int code, int missed, int cached) - - StreamMessageErrorCallback? streamMessageError; + + StreamMessageErrorCallback? streamMessageError;

          -

          The SDK triggers this callback when the local user fails to receive the stream message that the remote user sends by calling the method.

          +

          The SDK triggers this callback when the local user fails to receive the stream + message that the remote user sends by calling the method.

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - - - - - - - - - - - - - - - - - - - -

          + + + + + + + + + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_ontokenprivilegewillexpire.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_ontokenprivilegewillexpire.dita index 571d0093e2f..d5a51179119 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_ontokenprivilegewillexpire.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_ontokenprivilegewillexpire.dita @@ -13,35 +13,40 @@

          - - - virtual void onTokenPrivilegeWillExpire(IChannel *rtcChannel, const char* token) { + + + virtual void onTokenPrivilegeWillExpire(IChannel *rtcChannel, const char* token) { (void)rtcChannel; (void)token; } - on( + on( evt: ChannelEvents.TOKEN_PRIVILEGE_WILL_EXPIRE, cb: (channelId: string, token: string) => void ): this; - public virtual void OnTokenPrivilegeWillExpire(string channelId, string token) - - TokenCallback? tokenPrivilegeWillExpire;

          + public virtual void OnTokenPrivilegeWillExpire(string channelId, string token) + + TokenCallback? tokenPrivilegeWillExpire; +

          -

          When the token is about to expire in 30 seconds, the SDK triggers this callback to remind the app to renew the token. Upon receiving this callback, generate a new token on your server, and call to pass the new token to the SDK.

          +

          When the token is about to expire in 30 seconds, the SDK triggers this callback to + remind the app to renew the token. Upon receiving this callback, generate a new + token on your server, and call to pass the new + token to the SDK.

          <ph keyref="callback-section-title"/>

          - - - - - - - - -

          + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_ontranscodingupdated.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_ontranscodingupdated.dita index aeff8ba0124..219e73c4921 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_ontranscodingupdated.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_ontranscodingupdated.dita @@ -13,30 +13,36 @@

          - - - virtual void onTranscodingUpdated(IChannel *rtcChannel) { + + + virtual void onTranscodingUpdated(IChannel *rtcChannel) { (void)rtcChannel; } - on( + on( evt: ChannelEvents.TRANSCODING_UPDATED, cb: (channelId: string) => void ): this; - public virtual void OnTranscodingUpdated(string channelId) - - EmptyCallback? transcodingUpdated;

          + public virtual void OnTranscodingUpdated(string channelId) + + EmptyCallback? transcodingUpdated; +

          -

          When the class in the method updates, the SDK triggers the callback to report the update information.

          -
          +

          When the class in the method updates, the SDK triggers the + callback to report the update + information.

          + +
          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onuserjoined.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onuserjoined.dita index 899ae7037e7..2ebb3bdadac 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onuserjoined.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onuserjoined.dita @@ -13,50 +13,55 @@

          - - - virtual void onUserJoined(IChannel *rtcChannel, + + + virtual void onUserJoined(IChannel *rtcChannel, uid_t uid, int elapsed) { (void)rtcChannel; (void)uid; (void)elapsed; } - on( + on( evt: ChannelEvents.USER_JOINED, cb: (channelId: string, uid: number, elapsed: number) => void ): this; - public virtual void OnUserJoined(string channelId, uint uid, int elapsed) - - UidWithElapsedCallback? userJoined;

          + public virtual void OnUserJoined(string channelId, uint uid, int elapsed) + + UidWithElapsedCallback? userJoined; +

            -
          • +
          -

          The SDK triggers this callback under one of the following circumstances: -

            -
          • A remote user/host joins the channel by calling the method.
          • -
          • A remote user switches the user role to the host after joining the channel.
          • -
          • A remote user/host rejoins the channel after a network interruption.
          • -

          +

          The SDK triggers this callback under one of the following circumstances:

            +
          • A remote user/host joins the channel by calling the method.
          • +
          • A remote user switches the user role to the host after joining the + channel.
          • +
          • A remote user/host rejoins the channel after a network interruption.
          • +
          +

          <ph keyref="callback-section-title"/>

          - - - - - - - - - - elapsed - Time delay (ms) fromthe local user calling until this callback is triggered. - -

          + + + + + + + + + + elapsed + Time delay (ms) fromthe local user calling until this callback is triggered. + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onuseroffline.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onuseroffline.dita index 8881b3d131d..6e14b10f888 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onuseroffline.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onuseroffline.dita @@ -13,16 +13,16 @@

          - - - virtual void onUserOffline(IChannel *rtcChannel, + + + virtual void onUserOffline(IChannel *rtcChannel, uid_t uid, USER_OFFLINE_REASON_TYPE reason) { (void)rtcChannel; (void)uid; (void)reason; } - on( + on( evt: ChannelEvents.USER_OFFLINE, cb: ( channelId: string, @@ -30,27 +30,29 @@ reason: USER_OFFLINE_REASON_TYPE ) => void ): this; - public virtual void OnUserOffline(string channelId, uint uid, USER_OFFLINE_REASON_TYPE reason) - - UserOfflineCallback? userOffline;

          + public virtual void OnUserOffline(string channelId, uint uid, USER_OFFLINE_REASON_TYPE reason) + + UserOfflineCallback? userOffline; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - - - - - -

          + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onusersuperresolutionenabled.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onusersuperresolutionenabled.dita index 70381dff5fa..f406b765625 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onusersuperresolutionenabled.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onusersuperresolutionenabled.dita @@ -2,7 +2,8 @@ <ph keyref="IChannel_onUserSuperResolutionEnabled"/> - Reports whether the super resolution feature is successfully enabled. + Reports whether the super resolution feature is + successfully enabled. @@ -13,36 +14,38 @@

          - - - - - public virtual void OnUserSuperResolutionEnabled(string channelId, uint uid, bool enabled, + + + + + public virtual void OnUserSuperResolutionEnabled(string channelId, uint uid, bool enabled, SUPER_RESOLUTION_STATE_REASON reason) - - UserSuperResolutionEnabledCallback? userSuperResolutionEnabled;

          + + UserSuperResolutionEnabledCallback? userSuperResolutionEnabled; +

          <ph keyref="callback-section-title"/>

          - - - - - - - - - - - - - - - - -

          + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideopublishstatechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideopublishstatechanged.dita index 637b0c38ba7..771332d93ed 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideopublishstatechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideopublishstatechanged.dita @@ -13,9 +13,9 @@

          - - - virtual void onVideoPublishStateChanged(IChannel *rtcChannel, + + + virtual void onVideoPublishStateChanged(IChannel *rtcChannel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { @@ -24,7 +24,7 @@ (void)newState; (void)elapseSinceLastState; } - on( + on( evt: ChannelEvents.VIDEO_PUBLISH_STATE_CHANGED, cb: ( channelId: string, @@ -33,35 +33,34 @@ elapseSinceLastState: number ) => void ): this; - public virtual void OnVideoPublishStateChanged(string channelId, STREAM_PUBLISH_STATE oldState, + public virtual void OnVideoPublishStateChanged(string channelId, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) - - StreamPublishStateCallback? videoPublishStateChanged; + + StreamPublishStateCallback? videoPublishStateChanged;

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - - - - - - - - - - - -

          + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideosizechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideosizechanged.dita index d7fd8673325..62d90f50c2b 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideosizechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideosizechanged.dita @@ -13,9 +13,9 @@

          - - - virtual void onVideoSizeChanged(IChannel *rtcChannel, + + + virtual void onVideoSizeChanged(IChannel *rtcChannel, uid_t uid, int width, int height, @@ -26,7 +26,7 @@ (void)height; (void)rotation; } - on( + on( evt: ChannelEvents.VIDEO_SIZE_CHANGED, cb: ( channelId: string, @@ -36,37 +36,36 @@ rotation: number ) => void ): this; - public virtual void OnVideoSizeChanged(string channelId, uint uid, int width, int height, int rotation) - - VideoSizeCallback? videoSizeChanged; + public virtual void OnVideoSizeChanged(string channelId, uint uid, int width, int height, int rotation) + + VideoSizeCallback? videoSizeChanged;

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - - - - - - - - - - - - - - - -

          + + + + + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideosubscribestatechanged.dita b/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideosubscribestatechanged.dita index 0460a57e224..2f230e9b87c 100644 --- a/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideosubscribestatechanged.dita +++ b/en-US/dita/RTC/API/callback_ichanneleventhandler_onvideosubscribestatechanged.dita @@ -13,9 +13,9 @@

          - - - virtual void onVideoSubscribeStateChanged(IChannel *rtcChannel, + + + virtual void onVideoSubscribeStateChanged(IChannel *rtcChannel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, @@ -26,7 +26,7 @@ (void)newState; (void)elapseSinceLastState; } - on( + on( evt: ChannelEvents.VIDEO_SUBSCRIBE_STATE_CHANGED, cb: ( channelId: string, @@ -36,40 +36,38 @@ elapseSinceLastState: number ) => void ): this; - public virtual void OnVideoSubscribeStateChanged(string channelId, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnVideoSubscribeStateChanged(string channelId, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - - StreamSubscribeStateCallback? videoSubscribeStateChanged; + + StreamSubscribeStateCallback? videoSubscribeStateChanged;

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - - - - - - - - - - - - - - - -

          + + + + + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita b/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita index b853caaceca..fe88f48775d 100644 --- a/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita +++ b/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onconnectionstatechange.dita @@ -2,7 +2,8 @@ <ph keyref="onConnectionStateChange"/> - Occurs when the connection state between the SDK and the Agora Spatial Audio Server changes. + Occurs when the connection state between the SDK and + the Agora Spatial Audio Server changes. @@ -13,45 +14,66 @@

          - public void onConnectionStateChange(int state, int reason); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine connectionDidChangedToState:(AgoraSaeConnectionState)state withReason:(AgoraSaeConnectionChangedReason)reason; - virtual void onConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} - - - -

          + public void onConnectionStateChange(int state, int reason); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine connectionDidChangedToState:(AgoraSaeConnectionState)state withReason:(AgoraSaeConnectionChangedReason)reason; + virtual void onConnectionStateChange(SAE_CONNECTION_STATE_TYPE state, SAE_CONNECTION_CHANGED_REASON_TYPE reason) {} + + + + +

          -
          When the connection state between the SDK and the Agora Spatial Audio Server changes, the SDK triggers this callback to inform the user of the current connection state and the reason for the change.
          +
          When the connection state between the SDK and the Agora Spatial + Audio Server changes, the SDK triggers this callback to inform the user of the current + connection state and the reason for the change.
          Parameters - - engine - . - - - state - The connection state between the SDK and the Agora Spatial Audio Server. For details, see . -
            -
          • (0): The SDK is connecting to the Agora Spatial Audio Server.
          • -
          • (1): Connected. The spatial audio effect settings such as only take effect in this state.
          • -
          • (2): The connection is disconnected.
          • -
          • (3): The SDK keeps reconnecting to the Agora Spatial Audio Server.
          • -
          • (4): The connection has been reestablished.
          • -
          -
          - - reason - The reason for the change in the connection state between the SDK and the Agora Spatial Audio Server. For details, see . -
            -
          • (0): No error.
          • -
          • (1): The SDK is establishing a connection.
          • -
          • (2): The SDK failed to create the room.
          • -
          • (3): The connection between the SDK and the RTM system is interrupted.
          • -
          • (4): The user is kicked out by the RTM system.
          • -
          • (5): The SDK has not received a message from the Agora Spatial Audio Server for more than 15 seconds.
          • -
          -
          -
          + + engine + . + + + state + The connection state between the SDK and the Agora Spatial Audio Server. + For details, see . +
            +
          • (0): The SDK is + connecting to the Agora Spatial Audio Server.
          • +
          • (1): Connected. The + spatial audio effect settings such as only take effect in this + state.
          • +
          • (2): The connection + is disconnected.
          • +
          • (3): The SDK keeps + reconnecting to the Agora Spatial Audio Server.
          • +
          • (4): The connection + has been reestablished.
          • +
          +
          + + reason + The reason for the change in the connection state between the SDK and + the Agora Spatial Audio Server. For + details, see . +
            +
          • (0): No error.
          • +
          • (1): The SDK is + establishing a connection.
          • +
          • (2): The SDK + failed to create the room.
          • +
          • (3): The + connection between the SDK and the RTM system is interrupted.
          • +
          • (4): The user is + kicked out by the RTM system.
          • +
          • (5): The SDK has not + received a message from the Agora Spatial Audio Server for more than + 15 seconds.
          • +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita b/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita index bc5d448ef5e..0cc5efb90b9 100644 --- a/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita +++ b/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammatejoined.dita @@ -2,7 +2,8 @@ <ph keyref="onTeammateJoined"/> - Occurs when the user joins the current team. + Occurs when the user joins the current + team. @@ -13,28 +14,31 @@

          - public void onTeammateJoined(int uid); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateJoined:(NSUInteger)uid; - virtual void onTeammateJoined(uid_t uid) {} - - - -

          + public void onTeammateJoined(int uid); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateJoined:(NSUInteger)uid; + virtual void onTeammateJoined(uid_t uid) {} + + + + +

          -

          When a remote user with the same team ID calls to enter the current room, the local user receives this callback.

          +

          When a remote user with the same team ID calls to enter + the current room, the local user receives this callback.

          Parameters - - - - - - uid - The user ID of the remote user who joins the current team. - -
          + + + + + + uid + The user ID of the remote user who joins the current team. + + +
          diff --git a/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita b/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita index d9080733d56..d9f9087a10b 100644 --- a/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita +++ b/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_onteammateleft.dita @@ -2,7 +2,8 @@ <ph keyref="onTeammateLeft"/> - Occurs when the user leaves the current team. + Occurs when the user leaves the current + team. @@ -13,28 +14,31 @@

          - public void onTeammateLeft(int uid); - - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateLeft:(NSUInteger)uid; - virtual void onTeammateLeft(uid_t uid) {} - - - -

          + public void onTeammateLeft(int uid); + - (void)csaEngine:(AgoraCloudSpatialAudioKit* _Nonnull)engine teammateLeft:(NSUInteger)uid; + virtual void onTeammateLeft(uid_t uid) {} + + + + +

          -

          When a remote user in the current team calls to leave the current room, the local user receives this callback.

          +

          When a remote user in the current team calls to leave the + current room, the local user receives this callback.

          Parameters - - - - - - uid - The user ID of the remote user who leaves the current team. - -
          + + + + + + uid + The user ID of the remote user who leaves the current team. + + +
          diff --git a/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita b/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita index 2f806df9e5e..d7c8ab58c08 100644 --- a/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita +++ b/en-US/dita/RTC/API/callback_icloudspatialaudioeventhandler_ontokenwillexpire.dita @@ -13,25 +13,30 @@

          - public void onTokenWillExpire(); - - (void)csaEngineTokenWillExpire:(AgoraCloudSpatialAudioKit* _Nonnull)engine; - virtual void onTokenWillExpire() {} - - - -

          + public void onTokenWillExpire(); + - (void)csaEngineTokenWillExpire:(AgoraCloudSpatialAudioKit* _Nonnull)engine; + virtual void onTokenWillExpire() {} + + + + +

          -

          Once the RTM token expires, the SDK triggers this callback to notify the app to renew the RTM token.

          -

          When you receive this callback, you need to generate a new token on your server and call to pass the new token to the SDK.

          +

          Once the RTM token expires, the SDK triggers this callback to notify the app to renew + the RTM token.

          +

          When you receive this callback, you need to generate a new token on your server and + call to pass the new token to + the SDK.

          Parameters - - - - -
          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_imetadataobserver_getmaxmetadatasize.dita b/en-US/dita/RTC/API/callback_imetadataobserver_getmaxmetadatasize.dita index ec636550617..9b254a823c2 100644 --- a/en-US/dita/RTC/API/callback_imetadataobserver_getmaxmetadatasize.dita +++ b/en-US/dita/RTC/API/callback_imetadataobserver_getmaxmetadatasize.dita @@ -2,7 +2,8 @@ <ph keyref="getMaxMetadataSize"/> - Occurs when the SDK requests the maximum size of the metadata. + Occurs when the SDK requests the maximum size of the + metadata. @@ -13,24 +14,31 @@

          - public abstract int getMaxMetadataSize(); - virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; }

          + public abstract int getMaxMetadataSize(); + virtual int getMaxMetadataSize() { return DEFAULT_METADATA_SIZE_IN_BYTE; } +

          - - (NSInteger)metadataMaxSize; - - - -

          + - (NSInteger)metadataMaxSize; + + + + +

          - public abstract int getMaxMetadataSize(); - virtual int getMaxMetadataSize() = 0;

          + public abstract int getMaxMetadataSize(); + virtual int getMaxMetadataSize() = 0; +

          -

          After successfully complete the registration by calling , the SDK triggers this callback once every video frame is sent. You need to specify the maximum size of the metadata in the return value of this callback.

          +

          After successfully complete the registration by calling , the SDK triggers this callback once + every video frame is sent. You need to specify the maximum size of the metadata in + the return value of this callback.

          Returns -

          The maximum size of the buffer of the metadata that you want to use. The highest value is 1024 bytes. Ensure that you set the return value.

          +

          The maximum size of the buffer of the metadata that you want to + use. The highest value is 1024 bytes. Ensure that you set the return value.

          diff --git a/en-US/dita/RTC/API/callback_imetadataobserver_onmetadatareceived.dita b/en-US/dita/RTC/API/callback_imetadataobserver_onmetadatareceived.dita index 0e8fc24a209..6f521a06024 100644 --- a/en-US/dita/RTC/API/callback_imetadataobserver_onmetadatareceived.dita +++ b/en-US/dita/RTC/API/callback_imetadataobserver_onmetadatareceived.dita @@ -2,7 +2,8 @@ <ph keyref="onMetadataReceived"/> - Occurs when the local user receives the metadata. + Occurs when the local user receives the + metadata. @@ -13,47 +14,51 @@

          - virtual void onMetadataReceived(const Metadata &metadata) = 0; + virtual void onMetadataReceived(const Metadata &metadata) = 0; }; - - (void)receiveMetadata:(NSData * _Nonnull)data - fromUser:(NSInteger)uid atTimestamp:(NSTimeInterval)timestamp;

          + - (void)receiveMetadata:(NSData * _Nonnull)data + fromUser:(NSInteger)uid atTimestamp:(NSTimeInterval)timestamp; +

          - @CalledByNative public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs);

          + @CalledByNative public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs); +

          - public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs); - public virtual void OnMetadataReceived(Metadata metadata) - on(evt: EngineEvents.RECEIVE_METADATA, cb: ( + public abstract void onMetadataReceived(byte[] buffer, int uid, long timeStampMs); + public virtual void OnMetadataReceived(Metadata metadata) + on(evt: EngineEvents.RECEIVE_METADATA, cb: ( metadata: Metadata ) => void): this; - - MetadataCallback? metadataReceived;

          + + MetadataCallback? metadataReceived; +

          <ph keyref="callback-section-title"/>

          - - buffer - The data received. - - - buffer - data - The data received. - - - uid - The user ID. - - - timeStampMs - timestamp - The timestamp. - - - metadata - The metadata received. - -

          + + buffer + The data received. + + + buffer + data + The data received. + + + uid + The user ID. + + + timeStampMs + timestamp + The timestamp. + + + metadata + The metadata received. + + +
          diff --git a/en-US/dita/RTC/API/callback_imetadataobserver_onreadytosendmetadata.dita b/en-US/dita/RTC/API/callback_imetadataobserver_onreadytosendmetadata.dita index cf6d5480c9a..aae2f48fab7 100644 --- a/en-US/dita/RTC/API/callback_imetadataobserver_onreadytosendmetadata.dita +++ b/en-US/dita/RTC/API/callback_imetadataobserver_onreadytosendmetadata.dita @@ -2,7 +2,8 @@ <ph keyref="onReadyToSendMetadata"/> - Occurs when the SDK is ready to send metadata. + Occurs when the SDK is ready to send + metadata. @@ -13,57 +14,68 @@

          - @CalledByNative public abstract byte[] onReadyToSendMetadata(long timeStampMs, int sourceType); - - (NSData * _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp + @CalledByNative public abstract byte[] onReadyToSendMetadata(long timeStampMs, int sourceType); + - (NSData * _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp sourceType:(AgoraVideoSourceType)sourceType; - virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0;

          + virtual bool onReadyToSendMetadata(Metadata &metadata, VIDEO_SOURCE_TYPE source_type) = 0; +

          - public abstract byte[] onReadyToSendMetadata(long timeStampMs); - - (NSData* _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp; - virtual bool onReadyToSendMetadata(Metadata& metadata) = 0; - on(evt: EngineEvents.READY_TO_SEND_METADATA, cb: (metadata: Metadata) => void): this; - public virtual bool OnReadyToSendMetadata(Metadata metadata) + public abstract byte[] onReadyToSendMetadata(long timeStampMs); + - (NSData* _Nullable)readyToSendMetadataAtTimestamp:(NSTimeInterval)timestamp; + virtual bool onReadyToSendMetadata(Metadata& metadata) = 0; + on(evt: EngineEvents.READY_TO_SEND_METADATA, cb: (metadata: Metadata) => void): this; + public virtual bool OnReadyToSendMetadata(Metadata metadata) { return true; } - -

          + + +

          This callback is triggered when the SDK is ready to send metadata.

          -

          After receiving this callback, you can call to send the media metadata.

          - Ensure that the size of the metadata does not exceed the value set in the callback.
          +

          After receiving this callback, you can call to send the media metadata.

          + Ensure that the size of the metadata + does not exceed the value set in the + callback. +
          Parameters - - timeStampMs - timestamp - The timestamp. - - - sourceType - Video data type. For details, see . - - - metadata - The metadata that the user wants to send. For details, see . - -
          + + timeStampMs + timestamp + The timestamp. + + + sourceType + Video data type. For details, see . + + + metadata + The metadata that the user wants to send. For details, see . + + +
          Returns
            -
          • : Send the metadata.
          • -
          • : Do not send the metadata.
          • +
          • : Send the metadata.
          • +
          • : Do not send the metadata.
          -

          The metadata that you want to send in the format of NSData, which includes the following parameters: -

            -
          • uid: The ID of the remote user who sends the metadata.
          • -
          • size: The size of the metadata.
          • -
          • buffer: The metadata data.
          • -
          • timeStampMs: The NTP timestamp (ms) when the metadata is sent.
          • -

          -

          The metadata that you want to send in the format of byte. Ensure that you set the return value.

          +

          The metadata that you want to send in the format of NSData, which + includes the following parameters:

            +
          • uid: The ID of the remote user who sends the metadata.
          • +
          • size: The size of the metadata.
          • +
          • buffer: The metadata data.
          • +
          • timeStampMs: The NTP timestamp (ms) when the metadata is + sent.
          • +
          +

          +

          The metadata that you want to send in the format of byte. Ensure that + you set the return value.

          diff --git a/en-US/dita/RTC/API/callback_ipacketobserver_onreceiveaudiopacket.dita b/en-US/dita/RTC/API/callback_ipacketobserver_onreceiveaudiopacket.dita index 6372be2fb30..12eac8587f3 100644 --- a/en-US/dita/RTC/API/callback_ipacketobserver_onreceiveaudiopacket.dita +++ b/en-US/dita/RTC/API/callback_ipacketobserver_onreceiveaudiopacket.dita @@ -2,7 +2,8 @@ <ph keyref="onReceiveAudioPacket"/> - Occurs when the local user receives an audio packet. + Occurs when the local user receives an audio + packet. @@ -13,26 +14,30 @@

          - - - virtual bool onReceiveAudioPacket(Packet& packet) = 0; - - -

          + + + virtual bool onReceiveAudioPacket(Packet& packet) = 0; + + + +

          Parameters - - packet - The received audio packet, see . - -
          + + packet + The received audio packet, see . + + +
          Returns
            -
          • : The audio packet is received successfully.
          • -
          • : The audio packet is discarded.
          • -
          +
        1388. : The audio packet is received + successfully.
        1389. +
        1390. : The audio packet is discarded.
        1391. + +
          diff --git a/en-US/dita/RTC/API/callback_ipacketobserver_onreceivevideopacket.dita b/en-US/dita/RTC/API/callback_ipacketobserver_onreceivevideopacket.dita index 97aee4f8446..5b4772d0650 100644 --- a/en-US/dita/RTC/API/callback_ipacketobserver_onreceivevideopacket.dita +++ b/en-US/dita/RTC/API/callback_ipacketobserver_onreceivevideopacket.dita @@ -2,7 +2,8 @@ <ph keyref="onReceiveVideoPacket"/> - Occurs when the local user receives a video packet. + Occurs when the local user receives a video + packet. @@ -13,26 +14,30 @@

          - - - virtual bool onReceiveVideoPacket(Packet& packet) = 0; - - -

          + + + virtual bool onReceiveVideoPacket(Packet& packet) = 0; + + + +

          Parameters - - packet - The received video packet, see . - -
          + + packet + The received video packet, see . + + +
          Returns
            -
          • : The video packet is received successfully.
          • -
          • : The video packet is discarded.
          • -
          +
        1392. : The video packet is received + successfully.
        1393. +
        1394. : The video packet is discarded.
        1395. + +
          diff --git a/en-US/dita/RTC/API/callback_ipacketobserver_onsendaudiopacket.dita b/en-US/dita/RTC/API/callback_ipacketobserver_onsendaudiopacket.dita index ee5fe7bdf1c..08688a5e7fc 100644 --- a/en-US/dita/RTC/API/callback_ipacketobserver_onsendaudiopacket.dita +++ b/en-US/dita/RTC/API/callback_ipacketobserver_onsendaudiopacket.dita @@ -2,7 +2,8 @@ <ph keyref="onSendAudioPacket"/> - Occurs when the local user sends an audio packet. + Occurs when the local user sends an audio + packet. @@ -13,26 +14,30 @@

          - - - virtual bool onSendAudioPacket(Packet& packet) = 0; - - -

          + + + virtual bool onSendAudioPacket(Packet& packet) = 0; + + + +

          Parameters - - packet - The sent audio packet, see . - -
          + + packet + The sent audio packet, see . + + +
          Returns
            -
          • : The audio packet is sent successfully.
          • -
          • : The audio packet is discarded.
          • -
          +
        1396. : The audio packet is sent + successfully.
        1397. +
        1398. : The audio packet is discarded.
        1399. + +
          diff --git a/en-US/dita/RTC/API/callback_ipacketobserver_onsendvideopacket.dita b/en-US/dita/RTC/API/callback_ipacketobserver_onsendvideopacket.dita index 846840f77d4..47ef127bf14 100644 --- a/en-US/dita/RTC/API/callback_ipacketobserver_onsendvideopacket.dita +++ b/en-US/dita/RTC/API/callback_ipacketobserver_onsendvideopacket.dita @@ -2,7 +2,8 @@ <ph keyref="onSendVideoPacket"/> - Occurs when the local user sends a video packet. + Occurs when the local user sends a video + packet. @@ -13,26 +14,30 @@

          - - - virtual bool onSendVideoPacket(Packet& packet) = 0; - - -

          + + + virtual bool onSendVideoPacket(Packet& packet) = 0; + + + +

          Parameters - - packet - The sent video packet, see . - -
          + + packet + The sent video packet, see . + + +
          Returns
            -
          • : The video packet is sent successfully.
          • -
          • : The video packet is discarded.
          • -
          +
        1400. : The video packet is sent + successfully.
        1401. +
        1402. : The video packet is discarded.
        1403. + +
          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_getmirrorapplied.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_getmirrorapplied.dita index bf306d581d8..f52a7a59ddc 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_getmirrorapplied.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_getmirrorapplied.dita @@ -2,7 +2,8 @@ <ph keyref="getMirrorApplied"/> - Occurs each time the SDK receives a video frame and prompts you whether or not to mirror the captured video. + Occurs each time the SDK receives a video frame and + prompts you whether or not to mirror the captured video. @@ -13,24 +14,32 @@

          - boolean getMirrorApplied(); - - (BOOL)getMirrorApplied; - virtual bool getMirrorApplied() { return false; } - - - -

          + boolean getMirrorApplied(); + - (BOOL)getMirrorApplied; + virtual bool getMirrorApplied() { return false; } + + + + +

          -

          If the video data you want to obtain is a mirror image of the original video, you need to register this callback when calling . After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. You need to set whether or not to mirror the video frame in the return value of this callback.

          - This function only supports video data in RGBA and YUV420 formats.
          +

          If the video data you want to obtain is a mirror image of the original video, you + need to register this callback when calling . After you successfully register the video + frame observer, the SDK triggers this callback each time it receives a video frame. + You need to set whether or not to mirror the video frame in the return value of this + callback.

          + This function only supports video data in RGBA and YUV420 + formats. +
          Returns -

          Sets whether or not to mirror the captured video: -

            -
          • : Mirror the captured video.
          • -
          • : (Default) Do not mirror the captured video.
          • -

          +

          Sets whether or not to mirror the captured video:

            +
          • : Mirror the captured video.
          • +
          • : (Default) Do not mirror the captured + video.
          • +

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_getobservedframeposition.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_getobservedframeposition.dita index 28cf10e2db6..af3e086f97d 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_getobservedframeposition.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_getobservedframeposition.dita @@ -2,7 +2,8 @@ <ph keyref="getObservedFramePosition"/> - Sets the frame position for the video observer. + Sets the frame position for the video + observer. @@ -13,60 +14,92 @@

          - int getObservedFramePosition(); - - (unsigned int)getObservedFramePosition; - virtual uint32_t getObservedFramePosition() { + int getObservedFramePosition(); + - (unsigned int)getObservedFramePosition; + virtual uint32_t getObservedFramePosition() { return base::POSITION_POST_CAPTURER | base::POSITION_PRE_RENDERER; } -

          + +

          - - - virtual uint32_t getObservedFramePosition() { return static_cast<uint32_t>(POSITION_POST_CAPTURER | POSITION_PRE_RENDERER); }

          + + + virtual uint32_t getObservedFramePosition() { return static_cast<uint32_t>(POSITION_POST_CAPTURER | POSITION_PRE_RENDERER); } +

          - - public virtual VIDEO_OBSERVER_POSITION GetObservedFramePosition() + + public virtual VIDEO_OBSERVER_POSITION GetObservedFramePosition() { return VIDEO_OBSERVER_POSITION.POSITION_POST_CAPTURER | VIDEO_OBSERVER_POSITION.POSITION_PRE_RENDERER; } - -

          + + +

          - -
          Since
          -
          v3.0.1
          -
          + +
          Since
          +
          v3.0.1
          +
          -

          After successfully registering the video data observer, the SDK uses this callback to determine whether to trigger , and callback at each specific video frame processing position, so that you can observe the locally collected video data, the video data sent by the remote end, and the video data before encoding. You can set one or more positions you need to observe by modifying the return value according to your scenario:

          +

          After successfully registering the video data observer, the SDK uses this callback to + determine whether to trigger , and + callback at each specific video frame processing position, so that you can observe + the locally collected video data, the video data sent by the remote end, and the + video data before encoding. You can set one or more positions you need to observe by + modifying the return value according to your scenario:

          -

            -
          • (1 << 0) : The position after capturing the video data, which corresponds to the callback.
          • -
          • (1 << 1): The position before receiving the remote video data, which corresponds to the callback.
          • -
          • (1 << 2): The position before encoding the video data, which corresponds to the callback.
          • -

          +
            +
          • (1 << 0) : The + position after capturing the video data, which corresponds to the callback.
          • +
          • (1 << 1): The + position before receiving the remote video data, which corresponds to the + callback.
          • +
          • (1 << 2): The + position before encoding the video data, which corresponds to the callback.
          • +

          -
            -
          • Use '|' (the OR operator) to observe multiple frame positions.
          • -
          • This callback observes (1 << 0) and (1 << 1) by default.
          • -
          • To conserve the system consumption, you can reduce the number of frame positions that you want to observe.
          • -
          +
            +
          • Use '|' (the OR operator) to observe multiple frame positions.
          • +
          • This callback observes (1 << 0) and (1 << 1) by default.
          • +
          • To conserve the system consumption, you can reduce the number of frame + positions that you want to observe.
          • +
          + +
          Returns -

          A bit mask that controls the frame position of the video observer. See for details.

          -

          A bit mask that controls the frame position of the video observer. See . -

            -
          • (1 << 0) : The position after capturing the video data, which corresponds to the callback.
          • -
          • (1 << 1): The position before receiving the remote video data, which corresponds to the callback.
          • -
          • (1 << 2): The position before encoding the video data, which corresponds to the callback.
          • -

          -

          A bit mask that controls the frame position of the video observer. -

            -
          • (1 << 0) : The position after capturing the video data, which corresponds to the callback.
          • -
          • (1 << 1): The position before receiving the remote video data, which corresponds to the callback.
          • -
          • (1 << 2): The position before encoding the video data, which corresponds to the callback.
          • -

          +

          A bit mask that controls the frame position of the video observer. See + for details.

          +

          A bit mask that controls the frame position of the video observer. + See . +

            +
          • (1 << 0) : The position after capturing the video data, which + corresponds to the callback.
          • +
          • (1 << 1): The position before receiving the remote video data, which + corresponds to the callback.
          • +
          • (1 << 2): The position before encoding the video data, which + corresponds to the callback.
          • +
          +

          +

          A bit mask that controls the frame position of the video observer.

            +
          • (1 << 0) : The position + after capturing the video data, which corresponds to the callback.
          • +
          • (1 << 1): The position before + receiving the remote video data, which corresponds to the callback.
          • +
          • (1 << 2): The position before + encoding the video data, which corresponds to the callback.
          • +
          +

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_getrotationapplied.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_getrotationapplied.dita index 199ddc0389a..1a8bf190868 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_getrotationapplied.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_getrotationapplied.dita @@ -2,7 +2,8 @@ <ph keyref="getRotationApplied"/> - Occurs each time the SDK receives a video frame, and prompts you whether to rotate the captured video. + Occurs each time the SDK receives a video frame, and + prompts you whether to rotate the captured video. @@ -13,33 +14,50 @@

          - boolean getRotationApplied(); - - (BOOL)getRotationApplied;

          + boolean getRotationApplied(); + - (BOOL)getRotationApplied; +

          - public boolean getRotationApplied() { + public boolean getRotationApplied() { return false; } - - (BOOL)getRotationApplied NS_SWIFT_NAME(getRotationApplied());

          + - (BOOL)getRotationApplied NS_SWIFT_NAME(getRotationApplied()); +

          - virtual bool getRotationApplied() { return false; } - - - -

          + virtual bool getRotationApplied() { return false; } + + + + +

          -

          If you want to rotate the captured video according to the rotation member in the class, register this callback by calling . After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. You need to set whether to rotate the video frame in the return value of this callback.

          -

          If you want to rotate the captured video according to the rotation member in the class, ensure that you register this callback when calling . After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. You need to set whether to rotate the video frame in the return value of this callback.

          -

          If the video has been rotated according to the rotation in on the capture device, you do not need to call this method to set the video rotation.

          - This function only supports video data in RGBA or YUV420.
          +

          If you want to rotate the captured video according to the + rotation member in the + class, register this callback by calling . After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. You need to set whether to rotate the + video frame in the return value of this callback.

          +

          If you want to rotate the captured video according to + the rotation member in the + class, ensure that you register this callback when calling . After you successfully register the + video frame observer, the SDK triggers this callback each time it receives a + video frame. You need to set whether to rotate the video frame in the return + value of this callback.

          +

          If the video has been rotated according to the + rotation in on the capture + device, you do not need to call this method to set the video rotation.

          + This function only supports video data in RGBA or YUV420. +
          Returns -

          Sets whether to rotate the captured video: -

            -
          • : Rotate the captured video.
          • -
          • : (Default) Do not rotate the captured video.
          • -

          +

          Sets whether to rotate the captured video:

            +
          • : Rotate the captured video.
          • +
          • : (Default) Do not rotate the captured + video.
          • +

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita index 2f4c0743a33..23bd0d48c59 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_getsmoothrenderingenabled.dita @@ -2,7 +2,8 @@ <ph keyref="getSmoothRenderingEnabled"/> - Sets whether to output the acquired video frame smoothly. + Sets whether to output the acquired video frame + smoothly. @@ -13,34 +14,42 @@

          - - - virtual bool getSmoothRenderingEnabled(){ return false; } - - - -

          + + + virtual bool getSmoothRenderingEnabled(){ return false; } + + + + +

          - -
          Since
          -
          v3.0.0
          -
          + +
          Since
          +
          v3.0.0
          +
          -

          If you want the video frames acquired from to be more evenly spaced, you can register the callback by calling and set its return value as .

          +

          If you want the video frames acquired from to be + more evenly spaced, you can register the callback by calling and set its return value as .

          -
            -
          • Register this callback before joining a channel.
          • -
          • This callback applies to scenarios where the acquired video frame is self-rendered after being processed, not to scenarios where the video frame is sent back to the SDK after being processed.
          • -
          +
            +
          • Register this callback before joining a channel.
          • +
          • This callback applies to scenarios where the acquired video frame is + self-rendered after being processed, not to scenarios where the video frame + is sent back to the SDK after being processed.
          • +
          + +
          Returns -

          Set whether or not to smooth the video frames: -

            -
          • : Smooth the video frame.
          • -
          • : (Default) Do not smooth the video frame.
          • -

          +

          Set whether or not to smooth the video frames:

            +
          • : Smooth the video frame.
          • +
          • : (Default) Do not smooth the video + frame.
          • +

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_getvideoformatpreference.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_getvideoformatpreference.dita index 6250b6909c3..c4fca1507c4 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_getvideoformatpreference.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_getvideoformatpreference.dita @@ -2,7 +2,8 @@ <ph keyref="getVideoFormatPreference"/> - Occurs each time the SDK receives a video frame and prompts you to set the video format. + Occurs each time the SDK receives a video frame and + prompts you to set the video format. @@ -13,27 +14,31 @@

          - - - virtual VIDEO_FRAME_TYPE getVideoFormatPreference() { return FRAME_TYPE_YUV420; } - - public virtual VIDEO_FRAME_TYPE GetVideoFormatPreference() + + + virtual VIDEO_FRAME_TYPE getVideoFormatPreference() { return FRAME_TYPE_YUV420; } + + public virtual VIDEO_FRAME_TYPE GetVideoFormatPreference() { return VIDEO_FRAME_TYPE.FRAME_TYPE_RGBA; } - -

          + + +

          -

          If you want to receive other video formats than YUV420, register this callback when calling . After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. You need to set your preferred video data in the return value of this callback.

          +

          If you want to receive other video formats than YUV420, register this callback when + calling . After you successfully register + the video frame observer, the SDK triggers this callback each time it receives a + video frame. You need to set your preferred video data in the return value of this + callback.

          Returns -

          Sets the video format : -

            -
          • (0): (Default) YUV420.
          • -
          • (2): RGBA.
          • -

          +

          Sets the video format :

            +
          • (0): (Default) YUV420.
          • +
          • (2): RGBA.
          • +

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita index 2752ae10cc0..58a186b032f 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_getvideoframeprocessmode.dita @@ -2,7 +2,8 @@ <ph keyref="getVideoFrameProcessMode"/> - Occurs each time the SDK receives a video frame and prompts you to set the process mode of the video frame. + Occurs each time the SDK receives a video frame and + prompts you to set the process mode of the video frame. @@ -13,27 +14,31 @@

          - int getVideoFrameProcessMode(); - - (AgoraVideoFrameProcessMode)getVideoFrameProcessMode; - virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode() { + int getVideoFrameProcessMode(); + - (AgoraVideoFrameProcessMode)getVideoFrameProcessMode; + virtual VIDEO_FRAME_PROCESS_MODE getVideoFrameProcessMode() { return PROCESS_MODE_READ_ONLY; } - - - -

          + + + + +

          -

          After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. You need to set your preferred process mode in the return value of this callback.

          +

          After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. You need to set your preferred process + mode in the return value of this callback.

          Returns

          For details, see .

          -

          The process mode of the video frame: -

            -
          • (0): (Default.) Only reads the video frame.
          • -
          • (1): Reads and writes the video frame.
          • -

          +

          The process mode of the video frame:

            +
          • (0): (Default.) Only reads the video + frame.
          • +
          • (1): Reads and writes the video + frame.
          • +

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_ismultiplechannelframewanted.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_ismultiplechannelframewanted.dita index c1b18d2a8c1..564d4d67dbc 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_ismultiplechannelframewanted.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_ismultiplechannelframewanted.dita @@ -2,7 +2,8 @@ <ph keyref="isMultipleChannelFrameWanted_IVideoFrameObserver"/> - Sets whether to get video data from multiple channels in the multi-channel scenario. + Sets whether to get video data from multiple channels + in the multi-channel scenario. @@ -13,36 +14,53 @@

          - - - virtual bool isMultipleChannelFrameWanted() { return false; } - - public virtual bool IsMultipleChannelFrameWanted() + + + virtual bool isMultipleChannelFrameWanted() { return false; } + + public virtual bool IsMultipleChannelFrameWanted() { return true; } - -

          + + +

          - -
          Since
          -
          v3.0.1
          -
          + +
          Since
          +
          v3.0.1
          +
          -

          After you register the video frame observer, the SDK triggers this callback every time it captures a video frame.

          -

          In the multi-channel scenario, if you want to get video data from multiple channels, you need to set the return value of this callback as . After that, the SDK triggers the callback to send you the received remote video frame and report which channel the video frame comes from.

          +

          After you register the video frame observer, the SDK triggers this callback every + time it captures a video frame.

          +

          In the multi-channel scenario, if you want to get video data from multiple channels, + you need to set the return value of this callback as . After + that, the SDK triggers the callback to send + you the received remote video frame and report which channel the video frame comes + from.

          -
            -
          • If you set the return value of this callback as , the SDK triggers to send the before-mixing video data. will not be triggered. In the multi-channel scenario, Agora recommends setting the return value as .
          • -
          • If you set the return value of this callback as , the SDK triggers to send you the received video data.
          • -
          +
            +
          • If you set the return value of this callback as , the SDK + triggers to send the before-mixing + video data. will not be triggered. In + the multi-channel scenario, Agora recommends setting the return value as .
          • +
          • If you set the return value of this callback as , the + SDK triggers to send you the received + video data.
          • +
          + +
          Returns
            -
          • : Receive video data from multiple channels.
          • -
          • : Do not receive video data from multiple channels.
          • -
          +
        1404. : Receive video data from multiple + channels.
        1405. +
        1406. : Do not receive video data from multiple + channels.
        1407. + +
          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_oncapturevideoframe.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_oncapturevideoframe.dita index 5085f731b7e..2ca6aa15c36 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_oncapturevideoframe.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_oncapturevideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onCaptureVideoFrame"/> - Occurs each time the SDK receives a video frame captured by the local camera. + Occurs each time the SDK receives a video frame + captured by the local camera. @@ -13,40 +14,52 @@

          - boolean onCaptureVideoFrame(VideoFrame videoFrame); - - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; - virtual bool onCaptureVideoFrame(VideoFrame& videoFrame) = 0; - - public virtual bool OnCaptureVideoFrame(VideoFrame videoFrame) + boolean onCaptureVideoFrame(VideoFrame videoFrame); + - (BOOL)onCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; + virtual bool onCaptureVideoFrame(VideoFrame& videoFrame) = 0; + + public virtual bool OnCaptureVideoFrame(VideoFrame videoFrame) { return true; } - -

          + + +

          -

          After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data captured by the local camera. You can then pre-process the data according to your scenarios.

          -

          After pre-processing, you can send the processed video data back to the SDK by this callback.

          +

          After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data captured by the local camera. You can then pre-process the data according + to your scenarios.

          +

          After pre-processing, you can send the processed video data back to the SDK by this + callback.

          -
            -
          • This callback does not support sending processed RGBA video data back to the SDK.
          • -
          • The video data that this callback gets has not been pre-processed, without the watermark, the cropped content, the rotation, and the image enhancement.
          • -
          +
            +
          • This callback does not support sending processed RGBA video data back to the + SDK.
          • +
          • The video data that this callback gets has not been pre-processed, without + the watermark, the cropped content, the rotation, and the image + enhancement.
          • +
          + +
          Parameters - - VideoFrame - Video frame data. See for details. - -
          + + VideoFrame + Video frame data. See for details. + + +
          Returns -

          Whether to ignore the current video frame if the processing fails: -

            -
          • : Do not ignore.
          • -
          • : Ignore the current video frame, and do not send it back to the SDK.
          • -

          +

          Whether to ignore the current video frame if the processing fails:

            +
          • : Do not ignore.
          • +
          • : Ignore the current video frame, and + do not send it back to the SDK.
          • +

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_onframe.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_onframe.dita index ccb1d40bc73..685b10afca0 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_onframe.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_onframe.dita @@ -2,7 +2,8 @@ <ph keyref="onFrame_IVideoFrameObserver"/> - Occurs each time the player receives a video frame. + Occurs each time the player receives a video + frame. @@ -13,37 +14,43 @@

          - void onFrame(VideoFrame frame); - - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit + void onFrame(VideoFrame frame); + - (void)AgoraRtcMediaPlayer:(id<AgoraRtcMediaPlayerProtocol> _Nonnull)playerKit didReceiveVideoFrame:(CVPixelBufferRef _Nonnull)pixelBuffer; - virtual void onFrame(const VideoFrame* frame) = 0; - - - -

          + virtual void onFrame(const VideoFrame* frame) = 0; + + + + +

          -

          After registering the video frame observer, the callback occurs every time the player receives a video frame, reporting the detailed information of the video frame.

          +

          After registering the video frame observer, the callback occurs every time the player + receives a video frame, reporting the detailed information of the video frame.

          <ph keyref="callback-section-title"/>

          - - frame - -

          The video frame information. - See WebRTC VideoFrame. See .

          - - - - playerKit - See . - - - pixelBuffer - The texture buffer (CVPixelBufferRef). - -
          + + frame + +

          The video frame information. See WebRTC VideoFrame. + See . +

          +
          +
          + + playerKit + See . + + + pixelBuffer + The texture buffer (CVPixelBufferRef). + + +
          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita index 9c667a283b8..65b86733a2e 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_onmediaplayervideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onMediaPlayerVideoFrame"/> - Gets the video data of the media player. + Gets the video data of the media + player. @@ -13,30 +14,37 @@

          - boolean onMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId); - - (BOOL)onMediaPlayerVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame mediaPlayerId:(NSInteger)mediaPlayerId; - virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0; - - - -

          + boolean onMediaPlayerVideoFrame(VideoFrame videoFrame, int mediaPlayerId); + - (BOOL)onMediaPlayerVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame mediaPlayerId:(NSInteger)mediaPlayerId; + virtual bool onMediaPlayerVideoFrame(VideoFrame& videoFrame, int mediaPlayerId) = 0; + + + + +

          -

          After you successfully register the video frame observer and calling the method, the SDK triggers this callback each time when it receives a video frame. In this callback, you can get the video data of the media player. You can then process the data according to your particular scenarios.

          -

          After pre-processing, you can send the processed video data back to the SDK by this callback.

          +

          After you successfully register the video frame observer and calling the method, the SDK triggers this callback each time + when it receives a video frame. In this callback, you can get the video data of the + media player. You can then process the data according to your particular + scenarios.

          +

          After pre-processing, you can send the processed video data back to the SDK by this + callback.

          Parameters - - - - - - mediaPlayerId - The ID of the media player. - -
          + + + + + + mediaPlayerId + The ID of the media player. + + +
          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita index ee35fa6b464..727d6ccecbd 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_onpreencodescreenvideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onPreEncodeScreenVideoFrame"/> - Gets the video data captured from the screen before encoding. + Gets the video data captured from the screen before + encoding. @@ -13,31 +14,42 @@

          - boolean onPreEncodeScreenVideoFrame(VideoFrame videoFrame); - - (BOOL)onPreEncodeScreenVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; - virtual bool onPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; - - - -

          + boolean onPreEncodeScreenVideoFrame(VideoFrame videoFrame); + - (BOOL)onPreEncodeScreenVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; + virtual bool onPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; + + + +

          -

          After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data captured from the screen before encoding and then process the data according to your particular scenarios.

          -

          After processing, you can send the processed video data back to the SDK in this callback.

          +

          After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data captured from the screen before encoding and then process the data + according to your particular scenarios.

          +

          After processing, you can send the processed video data back to the SDK in this + callback.

          -
            -
          • To get the video data captured from the second screen before encoding, you need to set (1 << 2) as a frame position through .
          • -
          • The video data that this callback gets has been preprocessed, with its content cropped and rotated, and the image enhanced.
          • -
          • This callback does not support sending processed RGBA video data back to the SDK.
          • -
          +
            +
          • To get the video data captured from the second screen before encoding, you + need to set (1 << + 2) as a frame position through .
          • +
          • The video data that this callback gets has been preprocessed, with its + content cropped and rotated, and the image enhanced.
          • +
          • This callback does not support sending processed RGBA video data back to the + SDK.
          • +
          +
          Parameters - - - - -
          + + + + + +
          Returns

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_onpreencodevideoframe.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_onpreencodevideoframe.dita index 7eebf610335..f8c7f010e84 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_onpreencodevideoframe.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_onpreencodevideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onPreEncodeVideoFrame"/> - Occurs each time the SDK receives a video frame before encoding. + Occurs each time the SDK receives a video frame before + encoding. @@ -13,45 +14,58 @@

          - boolean onPreEncodeVideoFrame(VideoFrame videoFrame); - - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)srcFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame; - virtual bool onPreEncodeVideoFrame(VideoFrame& videoFrame) = 0; -

          + boolean onPreEncodeVideoFrame(VideoFrame videoFrame); + - (BOOL)onPreEncodeVideoFrame:(AgoraOutputVideoFrame * _Nonnull)srcFrame dstFrame:(AgoraOutputVideoFrame *_Nullable* _Nullable)dstFrame; + virtual bool onPreEncodeVideoFrame(VideoFrame& videoFrame) = 0; + +

          - - - virtual bool onPreEncodeVideoFrame(VideoFrame& videoFrame) { return true; } - - public virtual bool OnPreEncodeVideoFrame(VideoFrame videoFrame) + + + virtual bool onPreEncodeVideoFrame(VideoFrame& videoFrame) { return true; } + + public virtual bool OnPreEncodeVideoFrame(VideoFrame videoFrame) { return true; } - -

          + + +

          - -
          Since
          -
          v3.0.0
          -
          + +
          Since
          +
          v3.0.0
          +
          -

          After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data before encoding and then process the data according to your particular scenarios.

          -

          After processing, you can send the processed video data back to the SDK in this callback.

          +

          After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data before encoding and then process the data according to your particular + scenarios.

          +

          After processing, you can send the processed video data back to the SDK in this + callback.

          -
            -
          • To get the video data captured from the second screen before encoding, you need to set (1 << 2) as a frame position through .
          • -
          • The video data that this callback gets has been preprocessed, with its content cropped and rotated, and the image enhanced.
          • -
          • This callback does not support sending processed RGBA video data back to the SDK.
          • -
          +
            +
          • To get the video data captured from the second screen before encoding, you + need to set (1 << + 2) as a frame position through .
          • +
          • The video data that this callback gets has been preprocessed, with its + content cropped and rotated, and the image enhanced.
          • +
          • This callback does not support sending processed RGBA video data back to the + SDK.
          • +
          +
          Parameters - - - - -
          + + + + + +
          Returns

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframe.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframe.dita index 64ead0876c2..cdd9512fa54 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframe.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onRenderVideoFrame"/> - Occurs each time the SDK receives a video frame sent by the remote user. + Occurs each time the SDK receives a video frame sent by + the remote user. @@ -13,52 +14,61 @@

          - boolean onRenderVideoFrame(String channelId, int uid, VideoFrame videoFrame); - - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame + boolean onRenderVideoFrame(String channelId, int uid, VideoFrame videoFrame); + - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame uid:(NSUInteger)uid channelId:(NSString * _Nonnull)channelId; - virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0; -

          + virtual bool onRenderVideoFrame(const char* channelId, rtc::uid_t remoteUid, VideoFrame& videoFrame) = 0; + +

          - boolean onRenderVideoFrame(int uid, VideoFrame videoFrame); - - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame + boolean onRenderVideoFrame(int uid, VideoFrame videoFrame); + - (BOOL)onRenderVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame uid:(NSUInteger)uid ; - virtual bool onRenderVideoFrame(unsigned int uid, VideoFrame& videoFrame) = 0; - - public virtual bool OnRenderVideoFrame(uint uid, VideoFrame videoFrame) + virtual bool onRenderVideoFrame(unsigned int uid, VideoFrame& videoFrame) = 0; + + public virtual bool OnRenderVideoFrame(uint uid, VideoFrame videoFrame) { return true; } - -

          + + +

          - -
          Since
          -
          v3.0.0
          -
          + +
          Since
          +
          v3.0.0
          +
          -

          After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data before encoding. You can then process the data according to your particular scenarios.

          -

          After processing, you can send the processed video data back to the SDK in this callback.

          - This callback does not support sending processed RGBA video data back to the SDK.
          +

          After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data before encoding. You can then process the data according to your + particular scenarios.

          +

          After processing, you can send the processed video data back to the SDK in this + callback.

          + This callback does not support sending processed RGBA video data + back to the SDK. +
          Parameters - - uid - remoteUiduid - The ID of the remote user who sends the current video frame. - - - - - - - channelId - The channel ID. - -
          + + uid + remoteUiduid + The ID of the remote user who sends the current video frame. + + + + + + + channelId + The channel ID. + + +
          Returns

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframeex.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframeex.dita index 274b06770ab..d06f7badad9 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframeex.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_onrendervideoframeex.dita @@ -2,7 +2,8 @@ <ph keyref="onRenderVideoFrameEx"/> - Gets the video frame from multiple channels. + Gets the video frame from multiple + channels. @@ -13,47 +14,56 @@

          - - - virtual bool onRenderVideoFrameEx(const char *channelId, + + + virtual bool onRenderVideoFrameEx(const char *channelId, unsigned int uid, VideoFrame& videoFrame) { return true; } - - public virtual bool OnRenderVideoFrameEx(string channelId, uint uid, VideoFrame videoFrame) + + public virtual bool OnRenderVideoFrameEx(string channelId, uint uid, VideoFrame videoFrame) { return true; } - -

          + + +

          -

          After you successfully register the video frame observer, if you set the return value of as , the SDK triggers this callback each time it receives a video frame from any of the channel.

          -

          You can process the video data retrieved from this callback according to your scenario, and send the processed data back to the SDK using the videoFrame parameter in this callback.

          - This callback does not support sending RGBA video data back to the SDK.
          +

          After you successfully register the video frame observer, if you set the return value + of as , the SDK triggers this callback each time it receives a video + frame from any of the channel.

          +

          You can process the video data retrieved from this callback according to your + scenario, and send the processed data back to the SDK using the + videoFrame parameter in this callback.

          + This callback does not support sending RGBA video data back to + the SDK. +
          Parameters - - channelId - The channel ID of this video frame. - - - uid - The ID of the user sending this video frame. - - - - - -
          + + channelId + The channel ID of this video frame. + + + uid + The ID of the user sending this video frame. + + + + + + +
          Returns -

          Whether to send this video frame to the SDK if post-processing fails: -

            -
          • : Send the video frame.
          • -
          • : Do not send the video frame.
          • -

          +

          Whether to send this video frame to the SDK if post-processing fails:

            +
          • : Send the video frame.
          • +
          • : Do not send the video frame.
          • +

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita index b69be06770f..56d9b91cbe9 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_onscreencapturevideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onScreenCaptureVideoFrame"/> - Occurs each time the SDK receives a video frame captured by the screen. + Occurs each time the SDK receives a video frame + captured by the screen. @@ -13,18 +14,24 @@

          - boolean onScreenCaptureVideoFrame(VideoFrame videoFrame); - - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; - virtual bool onScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0; - - - -

          + boolean onScreenCaptureVideoFrame(VideoFrame videoFrame); + - (BOOL)onScreenCaptureVideoFrame:(AgoraOutputVideoFrame * _Nonnull)videoFrame; + virtual bool onScreenCaptureVideoFrame(VideoFrame& videoFrame) = 0; + + + + +

          -

          After you successfully register the video frame observer, the SDK triggers this callback each time when it receives a video frame. In this callback, you can get the video data for screen sharing. You can then pre-process the data according to your scenarios.

          -

          After pre-processing, you can send the processed video data back to the SDK by this callback.

          -
          +

          After you successfully register the video frame observer, the SDK triggers this + callback each time when it receives a video frame. In this callback, you can get the + video data for screen sharing. You can then pre-process the data according to your + scenarios.

          +

          After pre-processing, you can send the processed video data back to the SDK by this + callback.

          + +
          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita index fc83b28a7a7..38a8c956e6e 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodecameravideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onSecondaryPreEncodeCameraVideoFrame"/> - Gets the video data captured from the second camera before encoding. + Gets the video data captured from the second camera + before encoding. @@ -13,29 +14,41 @@

          - - - virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame& videoFrame) = 0; -

          + + + virtual bool onSecondaryPreEncodeCameraVideoFrame(VideoFrame& videoFrame) = 0; + +

          -

          After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data captured from the second camera before encoding and then process the data according to your particular scenarios.

          -

          After processing, you can send the processed video data back to the SDK in this callback.

          +

          After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data captured from the second camera before encoding and then process the data + according to your particular scenarios.

          +

          After processing, you can send the processed video data back to the SDK in this + callback.

          -
            -
          • This callback is for Windows.
          • -
          • You need to set (1 << 2) as a frame position by before you can use this callback to get the video data captured from the second screen and before encoding.
          • -
          • The video data that this callback gets has been preprocessed, with its content cropped and rotated, and the image enhanced.
          • -
          • This callback does not support sending processed RGBA video data back to the SDK.
          • -
          +
            +
          • This callback is for Windows.
          • +
          • You need to set (1 + << 2) as a frame position by + before you can use this callback to get the video data captured from the + second screen and before encoding.
          • +
          • The video data that this callback gets has been preprocessed, with its + content cropped and rotated, and the image enhanced.
          • +
          • This callback does not support sending processed RGBA video data back to the + SDK.
          • +
          +
          Parameters - - - - -
          + + + + + +
          Returns

          diff --git a/en-US/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita b/en-US/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita index 178635cdec3..31fa1c78d12 100644 --- a/en-US/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita +++ b/en-US/dita/RTC/API/callback_ivideoframeobserver_onsecondarypreencodescreenvideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onSecondaryPreEncodeScreenVideoFrame"/> - Gets the video data captured from the second screen before encoding. + Gets the video data captured from the second screen + before encoding. @@ -13,37 +14,50 @@

          - - - virtual bool onSecondaryPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; -

          + + + virtual bool onSecondaryPreEncodeScreenVideoFrame(VideoFrame& videoFrame) = 0; + +

          - - - - - - -

          + + + + + + + +

          -

          After you successfully register the video frame observer, the SDK triggers this callback each time it receives a video frame. In this callback, you can get the video data captured from the second screen before encoding and then process the data according to your particular scenarios.

          -

          After processing, you can send the processed video data back to the SDK in this callback.

          +

          After you successfully register the video frame observer, the SDK triggers this + callback each time it receives a video frame. In this callback, you can get the + video data captured from the second screen before encoding and then process the data + according to your particular scenarios.

          +

          After processing, you can send the processed video data back to the SDK in this + callback.

          -
            -
          • This callback is for Windows.
          • -
          • You need to set (1 << 2) as a frame position by before you can get the video data captured from the second screen before encoding.
          • -
          • The video data that this callback gets has been preprocessed, with its content cropped and rotated, and the image enhanced.
          • -
          • This callback does not support sending processed RGBA video data back to the SDK.
          • -
          +
            +
          • This callback is for Windows.
          • +
          • You need to set (1 + << 2) as a frame position by + before you can get the video data captured from the second screen before + encoding.
          • +
          • The video data that this callback gets has been preprocessed, with its + content cropped and rotated, and the image enhanced.
          • +
          • This callback does not support sending processed RGBA video data back to the + SDK.
          • +
          +
          Parameters - - - - -
          + + + + + +
          Returns

          diff --git a/en-US/dita/RTC/API/callback_onactivespeaker.dita b/en-US/dita/RTC/API/callback_onactivespeaker.dita index 511b072e7b3..88f2403cade 100644 --- a/en-US/dita/RTC/API/callback_onactivespeaker.dita +++ b/en-US/dita/RTC/API/callback_onactivespeaker.dita @@ -2,7 +2,8 @@ <ph keyref="onActiveSpeaker"/> - Occurs when the most active speaker is detected. + Occurs when the most active speaker is + detected. @@ -13,41 +14,53 @@

          - virtual void onActiveSpeaker(uid_t userId) { (void)userId; }

          + virtual void onActiveSpeaker(uid_t userId) { (void)userId; } +

          - public void onActiveSpeaker(int uid) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid; - on(evt: EngineEvents.ACTIVE_SPEAKER, cb: (uid: number) => void): this; - public virtual void OnActiveSpeaker(uint uid) - - UidCallback? activeSpeaker;

          + public void onActiveSpeaker(int uid) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine activeSpeaker:(NSUInteger)speakerUid; + on(evt: EngineEvents.ACTIVE_SPEAKER, cb: (uid: number) => void): this; + public virtual void OnActiveSpeaker(uint uid) + + UidCallback? activeSpeaker; +

          - virtual void onActiveSpeaker(uid_t uid) { + virtual void onActiveSpeaker(uid_t uid) { (void)uid; - }

          + }
          +

          -

          After a successful call of , the SDK continuously detects which remote user has the loudest volume. During the current period, the remote user, who is detected as the loudest for the most times, is the most active user.

          -

          When the number of users exceeds two (included) and an active speaker is detected, the SDK triggers this callback and reports the uid of the most active speaker. -

            -
          • If the most active speaker remains the same, the SDK triggers the callback only once.
          • -
          • If the most active speaker changes to another user, the SDK triggers this callback again and reports the uid of the new active speaker.
          • -

          +

          After a successful call of , the SDK + continuously detects which remote user has the loudest volume. During the current + period, the remote user, who is detected as the loudest for the most times, is the + most active user.

          +

          When the number of users exceeds two (included) and an active speaker is detected, + the SDK triggers this callback and reports the uid of the most + active speaker.

            +
          • If the most active speaker remains the same, the SDK triggers the callback only once.
          • +
          • If the most active speaker changes to another user, the SDK triggers this + callback again and reports the uid of the new active + speaker.
          • +
          +

          <ph keyref="callback-section-title"/>

          - - - - - - uiduserId - uid - speakerUid - The user ID of the most active speaker. - -

          + + + + + + uiduserId + uid + speakerUid + The user ID of the most active speaker. + + +
          diff --git a/en-US/dita/RTC/API/callback_onapicallexecuted.dita b/en-US/dita/RTC/API/callback_onapicallexecuted.dita index 6d5988edbf1..62b4416698a 100644 --- a/en-US/dita/RTC/API/callback_onapicallexecuted.dita +++ b/en-US/dita/RTC/API/callback_onapicallexecuted.dita @@ -2,7 +2,8 @@ <ph keyref="onApiCallExecuted"/> - Occurs when a method is executed by the SDK. + Occurs when a method is executed by the + SDK. @@ -13,47 +14,52 @@

          - public void onApiCallExecuted(int error, String api, String result) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onApiCallExecuted(int error, String api, String result) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didApiCallExecute:(NSInteger)error api:(NSString * _Nonnull)api result:(NSString * _Nonnull)result; - virtual void onApiCallExecuted(int err, + virtual void onApiCallExecuted(int err, const char* api, const char* result) { (void)err; (void)api; (void)result; } - on(evt: EngineEvents.API_CALL_EXECUTED, cb: ( + on(evt: EngineEvents.API_CALL_EXECUTED, cb: ( api: string, err: number, result: string) => void ): this; - public virtual void OnApiCallExecuted(int err, string api, string result) - - ApiCallCallback? apiCallExecuted;

          + public virtual void OnApiCallExecuted(int err, string api, string result) + + ApiCallCallback? apiCallExecuted; +

          Parameters - - - - - - err - error - The error code returned by the SDK when the method call fails. For detailed error information and troubleshooting methods, see Error Code and Warning Code.If the SDK returns 0, then the method call is successful. - - - api - The method executed by the SDK. - - - result - The result of the method call. - -
          + + + + + + err + error + The error code returned by the SDK when the method call fails. For detailed error information and troubleshooting methods, + see Error Code and Warning Code.If + the SDK returns 0, then the method call is successful. + + + api + The method executed by the SDK. + + + result + The result of the method call. + + +
          diff --git a/en-US/dita/RTC/API/callback_onapierror.dita b/en-US/dita/RTC/API/callback_onapierror.dita index 7ec53f3b698..4d094ddb84b 100644 --- a/en-US/dita/RTC/API/callback_onapierror.dita +++ b/en-US/dita/RTC/API/callback_onapierror.dita @@ -2,7 +2,8 @@ <ph keyref="onApiError"/> - Occurs when an error occurs in Electron. + Occurs when an error occurs in + Electron. @@ -13,28 +14,35 @@

          - - - - on(evt: EngineEvents.API_ERROR, cb: (apiType: ApiTypeEngine, msg: string) => void): this; - - -

          + + + + on(evt: EngineEvents.API_ERROR, cb: (apiType: ApiTypeEngine, msg: string) => void): this; + + + +

          -

          During the SDK runtime, the SDK triggers this callback when an error occurs in Electron.

          - This callback repots only errors in Electron. If you want to receive errors on the native layer, use .
          +

          During the SDK runtime, the SDK triggers this callback when an error occurs + in Electron.

          + This callback repots only errors in + Electron. If you want to receive errors on the native layer, use . +
          Parameters - - apiType - The internal engine. You can ignore this parameter. - - - msg - The error message. A typical reason is incorrect parameter setting in the API call, for example invalid value or incorrect number of parameters. - -
          + + apiType + The internal engine. You can ignore this parameter. + + + msg + The error message. A typical reason is incorrect parameter setting in the + API call, for example invalid value or incorrect number of parameters. + + +
          diff --git a/en-US/dita/RTC/API/callback_onaudiodevicestatechanged.dita b/en-US/dita/RTC/API/callback_onaudiodevicestatechanged.dita index a684a3870a3..8d0d405f1a4 100644 --- a/en-US/dita/RTC/API/callback_onaudiodevicestatechanged.dita +++ b/en-US/dita/RTC/API/callback_onaudiodevicestatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioDeviceStateChanged"/> - Occurs when the audio device state changes. + Occurs when the audio device state + changes. @@ -13,51 +14,53 @@

          - - - virtual void onAudioDeviceStateChanged(const char* deviceId, + + + virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) { (void)deviceId; (void)deviceType; (void)deviceState; } - on(evt: EngineEvents.AUDIO_DEVICE_STATE_CHANGED, cb: ( + on(evt: EngineEvents.AUDIO_DEVICE_STATE_CHANGED, cb: ( deviceId: string, deviceType: number, deviceState: MEDIA_DEVICE_STATE_TYPE) => void ): this; - public virtual void OnAudioDeviceStateChanged(string deviceId, int deviceType, int deviceState) - - AudioDeviceStateChanged? audioDeviceStateChanged;

          + public virtual void OnAudioDeviceStateChanged(string deviceId, int deviceType, int deviceState) + + AudioDeviceStateChanged? audioDeviceStateChanged; +

          -

          This callback notifies the application that the system's audio device state is changed. For example, a headset is unplugged from the device.

          - This method is for Windows and macOS only.
          +

          This callback notifies the application that the system's audio device state + is changed. For example, a headset is unplugged from the device.

          + This method is for Windows and macOS only. +
          <ph keyref="callback-section-title"/>

          - - deviceId - The device ID. - - - deviceType - The device type. For details, see . - - - deviceState - The device state. -

            -
          • on macOS: -
              -
            • 0: The device is ready for use.
            • -
            • 8: The device is not connected.
            • -
          • -
          • On Windows: .
          • -
          - -
          + + deviceId + The device ID. + + + deviceType + The device type. For details, see . + + + deviceState + The device state.
            +
          • on macOS:
              +
            • 0: The device is ready for use.
            • +
            • 8: The device is not connected.
            • +
          • +
          • On Windows: .
          • +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onaudiodevicetestvolumeindication.dita b/en-US/dita/RTC/API/callback_onaudiodevicetestvolumeindication.dita index 1557dd38638..a66b6ac98e6 100644 --- a/en-US/dita/RTC/API/callback_onaudiodevicetestvolumeindication.dita +++ b/en-US/dita/RTC/API/callback_onaudiodevicetestvolumeindication.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioDeviceTestVolumeIndication"/> - Reports the result of an audio device test. + Reports the result of an audio device + test. @@ -13,33 +14,39 @@

          - virtual void onAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) { + virtual void onAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) { (void)volumeType; (void)volume; } - - public virtual void OnAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) - - OnAudioDeviceTestVolumeIndication? audioDeviceTestVolumeIndication;

          + + public virtual void OnAudioDeviceTestVolumeIndication(AudioDeviceTestVolumeType volumeType, int volume) + + OnAudioDeviceTestVolumeIndication? audioDeviceTestVolumeIndication; +

          -

          After successfully calling , , or to start an audio device test, the SDK triggers the callback at the set time interval to report the volume information of the audio device tested.

          +

          After successfully calling , , or to start an audio device test, the SDK + triggers the callback at the + set time interval to report the volume information of the audio device tested.

          Parameters - - volumeType - -

          The volume type. See .

          -
          -
          - - volume - -

          Volume level in the range [0,255].

          -
          -
          -
          + + volumeType + +

          The volume type. See .

          +
          +
          + + volume + +

          Volume level in the range [0,255].

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onaudiodevicevolumechanged.dita b/en-US/dita/RTC/API/callback_onaudiodevicevolumechanged.dita index afe842b6de9..e79788d2188 100644 --- a/en-US/dita/RTC/API/callback_onaudiodevicevolumechanged.dita +++ b/en-US/dita/RTC/API/callback_onaudiodevicevolumechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioDeviceVolumeChanged"/> - Occurs when the volume on the playback or audio capture device, or the volume in the application changes. + Occurs when the volume on the playback or audio capture + device, or the volume in the application changes. @@ -13,46 +14,49 @@

          - - - virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, + + + virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) { (void)deviceType; (void)volume; (void)muted; } - on(evt: EngineEvents.AUDIO_DEVICE_VOLUME_CHANGED, cb: ( + on(evt: EngineEvents.AUDIO_DEVICE_VOLUME_CHANGED, cb: ( deviceType: MEDIA_DEVICE_TYPE, volume: number, muted: boolean) => void ): this; - public virtual void OnAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) - - AudioDeviceVolumeChanged? audioDeviceVolumeChanged;

          + public virtual void OnAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted) + + AudioDeviceVolumeChanged? audioDeviceVolumeChanged; +

          <ph keyref="callback-section-title"/>

          - - deviceType - The device type. For details, see . - - - volume - The volume value. The range is [0, 255]. - - - muted - -

          Whether the audio device is muted: -

            -
          • : The audio device is muted.
          • -
          • : The audio device is not muted.
          • -

          - - -
          + + deviceType + The device type. For details, see . + + + volume + The volume value. The range is [0, 255]. + + + muted + +

          Whether the audio device is muted:

            +
          • : The audio device is + muted.
          • +
          • : The audio device is not + muted.
          • +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onaudioeffectfinished.dita b/en-US/dita/RTC/API/callback_onaudioeffectfinished.dita index 35508de6953..ec77f835c99 100644 --- a/en-US/dita/RTC/API/callback_onaudioeffectfinished.dita +++ b/en-US/dita/RTC/API/callback_onaudioeffectfinished.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioEffectFinished"/> - Occurs when the playback of the local audio effect file finishes. + Occurs when the playback of the local audio effect file + finishes. @@ -13,14 +14,15 @@

          - public void onAudioEffectFinished(int soundId) {} - - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId; - virtual void onAudioEffectFinished(int soundId) { + public void onAudioEffectFinished(int soundId) {} + - (void)rtcEngineDidAudioEffectFinish:(AgoraRtcEngineKit * _Nonnull)engine soundId:(int)soundId; + virtual void onAudioEffectFinished(int soundId) { } - on(evt: EngineEvents.AUDIO_EFFECT_FINISHED, cb: (soundId: number) => void): this; - public virtual void OnAudioEffectFinished(int soundId) - - SoundIdCallback? audioEffectFinished;

          + on(evt: EngineEvents.AUDIO_EFFECT_FINISHED, cb: (soundId: number) => void): this; + public virtual void OnAudioEffectFinished(int soundId) + + SoundIdCallback? audioEffectFinished; +

          This callback occurs when the local audio effect file finishes playing.

          @@ -29,14 +31,15 @@ <ph keyref="callback-section-title"/>

          - - - - - - soundId - - -

          + + + + + + soundId + + + +
          diff --git a/en-US/dita/RTC/API/callback_onaudiomixingfinished.dita b/en-US/dita/RTC/API/callback_onaudiomixingfinished.dita index 939372288f5..c63354a320a 100644 --- a/en-US/dita/RTC/API/callback_onaudiomixingfinished.dita +++ b/en-US/dita/RTC/API/callback_onaudiomixingfinished.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioMixingFinished"/> - Occurs when the playback of the local music file finishes. + Occurs when the playback of the local music file + finishes. @@ -13,34 +14,38 @@

          - public void onAudioMixingFinished() {} - - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onAudioMixingFinished() { + public void onAudioMixingFinished() {} + - (void)rtcEngineLocalAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onAudioMixingFinished() { } - on(evt: EngineEvents.AUDIO_MIXING_FINISHED, cb: (soundId: number) => void): this; - public virtual void OnAudioMixingFinished() - - EmptyCallback? audioMixingFinished;

          + on(evt: EngineEvents.AUDIO_MIXING_FINISHED, cb: (soundId: number) => void): this; + public virtual void OnAudioMixingFinished() + + EmptyCallback? audioMixingFinished; +

          - -
          Deprecated:
          -
          This method is deprecated as of v2.4.0. Use instead.
          -
          + +
          Deprecated:
          +
          This method is deprecated as of v2.4.0. Use instead.
          +

          After you call to play a local music - file, this callback occurs when the playback finishes. If the call of fails, the callback returns the error code + file, this callback occurs when the playback finishes. If the call of fails, the callback returns the error code WARN_AUDIO_MIXING_OPEN_ERROR.

          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onaudiomixingstatechanged.dita b/en-US/dita/RTC/API/callback_onaudiomixingstatechanged.dita index cc7a34a7b94..f598bc80c66 100644 --- a/en-US/dita/RTC/API/callback_onaudiomixingstatechanged.dita +++ b/en-US/dita/RTC/API/callback_onaudiomixingstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioMixingStateChanged"/> - Occurs when the playback state of the music file changes. + Occurs when the playback state of the music file + changes. @@ -13,74 +14,105 @@

          - public void onAudioMixingStateChanged(int state,int reason) - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine + public void onAudioMixingStateChanged(int state,int reason) + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine localAudioMixingStateDidChanged:(AgoraAudioMixingStateCode)state reason:(AgoraAudioMixingReasonCode)reason; - virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) - on( + virtual void onAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) + on( evt: EngineEvents.AUDIO_MIXING_STATE_CHANGED, cb: ( state: AUDIO_MIXING_STATE_TYPE, reason: AUDIO_MIXING_REASON_TYPE ) => void ): this; - public virtual void OnAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) - - AudioMixingStateCallback? audioMixingStateChanged;

          + public virtual void OnAudioMixingStateChanged(AUDIO_MIXING_STATE_TYPE state, AUDIO_MIXING_REASON_TYPE reason) + + AudioMixingStateCallback? audioMixingStateChanged; +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          -

          This callback occurs when the playback state of the music file changes, and reports the current state and error code.

          +

          This callback occurs when the playback state of the music file changes, and reports + the current state and error code.

          <ph keyref="callback-section-title"/>

          - - - - - - state - The playback state of the music file. For details, see . -

          -

            -
          • (710): The music file is playing.
          • -
          • (711): The music file pauses playing.
          • -
          • (713): The music file stops playing.
          • -
          • (714): An exception occurs when playing the audio mixing file. The SDK - returns the reasons for the error in the reason parameter.
          • -
          • (715): - The music file is played once.
          • -
          • (716): - The music file is all played out.
          • -

          - - - - reason - The reason why the playback state of the music file changes. For details, see . -

          -

            -
          • 701: The SDK cannot open the music file. For example, the local music file does not exist, the SDK does not support the file format, or the the SDK cannot access the music file URL.
          • -
          • 702: The SDK opens the music file too frequently. If you need to call this method multiple times, ensure that the time interval between calling this method is more than 500 ms.
          • -
          • (703): The music file playback is interrupted.
          • -
          • (720): The music file plays by calling .
          • -
          • (721): The music file completes a loop playback.
          • -
          • (722): The music file starts a new loop playback.
          • -
          • (723): The music file completes all loop playback. .
          • -
          • (724): The music file stops playing by calling . .
          • -
          • (725): The music file pauses playing by calling . .
          • -
          • (726): The music file resumes playing by calling . .
          • -

          -
          -
          -
          + + + + + + state + The playback state of the music file. For + details, see . +

          +

            +
          • (710): The music file + is playing.
          • +
          • (711): The music file + pauses playing.
          • +
          • (713): The music file + stops playing.
          • +
          • (714): An exception + occurs when playing the audio mixing file. The SDK returns the + reasons for the error in the reason + parameter.
          • +
          • (715): The music file + is played once.
          • +
          • (716): The + music file is all played out.
          • +
          +

          +
          +
          + + reason + The reason why the playback state of the music file changes. For details, see . +

          +

            +
          • 701: The SDK + cannot open the music file. For example, the local music file + does not exist, the SDK does not support the file format, or the + the SDK cannot access the music file URL.
          • +
          • 702: The + SDK opens the music file too frequently. If you need to call + this method multiple times, ensure that the time interval + between calling this method is more than 500 ms.
          • +
          • (703): The + music file playback is interrupted.
          • +
          • (720): The + music file plays by calling .
          • +
          • (721): The + music file completes a loop playback.
          • +
          • (722): The + music file starts a new loop playback.
          • +
          • (723): + The music file completes all loop playback. .
          • +
          • (724): The + music file stops playing by calling . .
          • +
          • (725): The + music file pauses playing by calling . .
          • +
          • (726): The + music file resumes playing by calling . .
          • +
          +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onaudiopublishstatechanged.dita b/en-US/dita/RTC/API/callback_onaudiopublishstatechanged.dita index 4604e09fcc5..233b4a474fd 100644 --- a/en-US/dita/RTC/API/callback_onaudiopublishstatechanged.dita +++ b/en-US/dita/RTC/API/callback_onaudiopublishstatechanged.dita @@ -2,8 +2,8 @@ <ph keyref="onAudioPublishStateChanged"/> - Occurs when the audio publishing state changes. + Occurs when the audio publishing state + changes. @@ -14,14 +14,14 @@

          - public void onAudioPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, + public void onAudioPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didAudioPublishStateChange:(NSString * _Nonnull)channelId oldState:(AgoraStreamPublishState)oldState newState:(AgoraStreamPublishState)newState elapseSinceLastState:(int)elapseSinceLastState; - virtual void onAudioPublishStateChanged(const char* channel, + virtual void onAudioPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { @@ -30,54 +30,54 @@ elapseSinceLastState:(int)elapseSinceLastState; (void)newState; (void)elapseSinceLastState; } - on(evt: EngineEvents.AUDIO_PUBLISH_STATE_CHANGED, cb: ( + on(evt: EngineEvents.AUDIO_PUBLISH_STATE_CHANGED, cb: ( channel: string, oldState: STREAM_PUBLISH_STATE, newState: STREAM_PUBLISH_STATE, elapseSinceLastState: number ) => void): this; - public virtual void OnAudioPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, + public virtual void OnAudioPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) - - StreamPublishStateCallback? audioPublishStateChanged; + + StreamPublishStateCallback? audioPublishStateChanged;

          - -
          Since
          -
          v3.1.0
          -
          + +
          Since
          +
          v3.1.0
          +
          <ph keyref="callback-section-title"/> -

          +

          - - - - - - channel - channelId - The name of the channel. - - - oldState - For the previous publishing state, see . - - - newState - For the current publishing state, see . - - - elapseSinceLastState - The time elapsed (ms) from the previous state to the current state. - -

          + + + + + + channel + channelId + The name of the channel. + + + oldState + For the previous publishing state, see . + + + newState + For the current publishing state, see . + + + elapseSinceLastState + The time elapsed (ms) from the previous state to the current state. + + +
          diff --git a/en-US/dita/RTC/API/callback_onaudioquality.dita b/en-US/dita/RTC/API/callback_onaudioquality.dita index e9bec4857ba..db81c8c9ae8 100644 --- a/en-US/dita/RTC/API/callback_onaudioquality.dita +++ b/en-US/dita/RTC/API/callback_onaudioquality.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioQuality"/> - Reports the statistics of the audio stream from each remote user. + Reports the statistics of the audio stream from each + remote user. @@ -13,61 +14,67 @@

          - 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) { + 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; } - - public virtual void OnAudioQuality(uint uid, int quality, ushort delay, ushort lost) - - AudioQualityCallback? audioQuality;

          + + public virtual void OnAudioQuality(uint uid, int quality, ushort delay, ushort lost) + + AudioQualityCallback? audioQuality; +

          -

          - -
          Deprecated:
          -
          Deprecated.Please use instead.
          -
          -
          +
          + +
          Deprecated:
          +
          Deprecated.Please use instead.
          +
          +

          -

          The SDK triggers this callback once every two seconds to report the audio quality of each remote user/host sending an audio stream. If a channel has multiple users/hosts sending audio streams, the SDK triggers this callback as many times.

          +

          The SDK triggers this callback once every two seconds to report the audio quality of + each remote user/host sending an audio stream. If a channel has multiple users/hosts + sending audio streams, the SDK triggers this callback as many times.

          <ph keyref="callback-section-title"/>

          - - - - - - uid - The user ID of the remote user sending the audio stream. - - - quality - Audio quality of the user. For details, - see . -

            -
          • -
          - - - delay - The network delay (ms) from the sender to the receiver, including the delay + + + + + + uid + The user ID of the remote user sending the audio stream. + + + quality + Audio quality of the user. For details, see . +
            +
          • +
          +
          +
          + + delay + The network delay (ms) from the sender to the receiver, including the delay caused by audio sampling pre-processing, network transmission, and network jitter buffering. - - - lost - Packet loss rate (%) of the audio packet sent from the sender to the + + + lost + Packet loss rate (%) of the audio packet sent from the sender to the receiver. - -
          + + +
          diff --git a/en-US/dita/RTC/API/callback_onaudioroutechanged.dita b/en-US/dita/RTC/API/callback_onaudioroutechanged.dita index 08d8f97be1f..789d033504d 100644 --- a/en-US/dita/RTC/API/callback_onaudioroutechanged.dita +++ b/en-US/dita/RTC/API/callback_onaudioroutechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioRouteChanged"/> - Occurs when the local audio route changes. + Occurs when the local audio route + changes. @@ -13,57 +14,69 @@

          - virtual void onAudioRoutingChanged(int routing) { (void)routing; } -

          + virtual void onAudioRoutingChanged(int routing) { (void)routing; } + +

          - public void onAudioRouteChanged(int routing) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing; - virtual void onAudioRouteChanged(AUDIO_ROUTE_TYPE routing) { + public void onAudioRouteChanged(int routing) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioRouteChanged:(AgoraAudioOutputRouting)routing; + virtual void onAudioRouteChanged(AUDIO_ROUTE_TYPE routing) { (void)routing; } - - public virtual void OnAudioRouteChanged(AUDIO_ROUTE_TYPE routing) - - AudioRouteCallback? audioRouteChanged;

          + + public virtual void OnAudioRouteChanged(AUDIO_ROUTE_TYPE routing) + + AudioRouteCallback? audioRouteChanged; +

          -

          This method applies to Android and iOS only.

          -
          +

          This method applies to Android and iOS only.

          + +
          <ph keyref="callback-section-title"/>

          - - - - - - routing - -

          The current audio routing. For details, see .

          -

          The current audio routing. For details, see . -

            -
          • -1: Default audio route.
          • -
          • 0: The audio route is a headset with a microphone.
          • -
          • 1: The audio route is an earpiece.
          • -
          • 2: The audio route is a headset without a microphone.
          • -
          • 3: The audio route is the speaker that comes with the device.
          • -
          • 4: The audio route is an external speaker.
          • -
          • 5:The audio route is a Bluetooth headset.
          • -

          -

          The current audio routing. -

            -
          • (-1): The default audio route.
          • -
          • (0): The headset.
          • -
          • (1): The earpiece.
          • -
          • (2):The headset with no microphone.
          • -
          • (3): The built-in speaker on a mobile device.
          • -
          • (4): The external speaker.
          • -
          • (5): The bluetooth headset.
          • -

          - - -
          + + + + + + routing + +

          The current audio routing. For details, see + .

          +

          The current audio routing. For details, see + . +

            +
          • -1: Default audio route.
          • +
          • 0: The audio route is a headset with a microphone.
          • +
          • 1: The audio route is an earpiece.
          • +
          • 2: The audio route is a headset without a microphone.
          • +
          • 3: The audio route is the speaker that comes with the + device.
          • +
          • 4: The audio route is an external speaker.
          • +
          • 5:The audio route is a Bluetooth headset.
          • +

          +

          The current audio routing.

            +
          • (-1): The default audio + route.
          • +
          • (0): The headset.
          • +
          • (1): The earpiece.
          • +
          • (2):The headset with + no microphone.
          • +
          • (3): The built-in + speaker on a mobile device.
          • +
          • (4): The external + speaker.
          • +
          • (5): The bluetooth + headset.
          • +
          +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onaudiosubscribestatechanged.dita b/en-US/dita/RTC/API/callback_onaudiosubscribestatechanged.dita index 7749ed7c67c..15ad4e392f5 100644 --- a/en-US/dita/RTC/API/callback_onaudiosubscribestatechanged.dita +++ b/en-US/dita/RTC/API/callback_onaudiosubscribestatechanged.dita @@ -2,8 +2,8 @@ <ph keyref="onAudioSubscribeStateChanged"/> - Occurs when the audio subscribing state changes. + Occurs when the audio subscribing state + changes. @@ -14,15 +14,15 @@

          - public void onAudioSubscribeStateChanged(String channel, int uid, STREAM_SUBSCRIBE_STATE oldState, + public void onAudioSubscribeStateChanged(String channel, int uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (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, + virtual void onAudioSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, @@ -33,60 +33,59 @@ elapseSinceLastState:(int)elapseSinceLastState; (void)newState; (void)elapseSinceLastState; } - on(evt: EngineEvents.AUDIO_SUBSCRIBE_STATE_CHANGED, cb: ( + on(evt: EngineEvents.AUDIO_SUBSCRIBE_STATE_CHANGED, cb: ( channel: string, uid: number, oldState: STREAM_SUBSCRIBE_STATE, newState: STREAM_SUBSCRIBE_STATE, elapseSinceLastState: number ) => void): this; - public virtual void OnAudioSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnAudioSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - - StreamSubscribeStateCallback? audioSubscribeStateChanged; + + StreamSubscribeStateCallback? audioSubscribeStateChanged;

          - -
          Since
          -
          v3.1.0
          -
          + +
          Since
          +
          v3.1.0
          +
          <ph keyref="callback-section-title"/> -

          +

          - - - - - - channel - channelId - The name of the channel. - - - uid - The ID of the remote user. - - - oldState - The previous subscribing status, see + + + + + + channel + channelId + The name of the channel. + + + uid + The ID of the remote user. + + + oldState + The previous subscribing status, see for details. - - - newState - The current subscribing status, see for details. - - - elapseSinceLastState - The time elapsed (ms) from the previous state to the current state. - -

          + + + newState + The current subscribing status, see for details. + + + elapseSinceLastState + The time elapsed (ms) from the previous state to the current state. + + +
          diff --git a/en-US/dita/RTC/API/callback_onaudiovolumeindication.dita b/en-US/dita/RTC/API/callback_onaudiovolumeindication.dita index 6eefc4eb256..3e81a24bbae 100644 --- a/en-US/dita/RTC/API/callback_onaudiovolumeindication.dita +++ b/en-US/dita/RTC/API/callback_onaudiovolumeindication.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioVolumeIndication"/> - Reports the volume information of users. + Reports the volume information of + users. @@ -13,66 +14,96 @@

          - public void onAudioVolumeIndication(AudioVolumeInfo[] speakers, int totalVolume) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onAudioVolumeIndication(AudioVolumeInfo[] speakers, int totalVolume) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportAudioVolumeIndicationOfSpeakers:(NSArray<AgoraRtcAudioVolumeInfo *> * _Nonnull)speakers totalVolume:(NSInteger)totalVolume; - virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, + virtual void onAudioVolumeIndication(const AudioVolumeInfo* speakers, unsigned int speakerNumber, int totalVolume) { (void)speakers; (void)speakerNumber; (void)totalVolume; } - on(evt: EngineEvents.AUDIO_VOLUME_INDICATION, cb: ( + on(evt: EngineEvents.AUDIO_VOLUME_INDICATION, cb: ( speakers: AudioVolumeInfo[], speakerNumber: number, totalVolume: number ) => void ): this; - public virtual void OnAudioVolumeIndication(AudioVolumeInfo[] speakers, uint speakerNumber, int totalVolume) - - AudioVolumeCallback? audioVolumeIndication;

          + public virtual void OnAudioVolumeIndication(AudioVolumeInfo[] speakers, uint speakerNumber, int totalVolume) + + AudioVolumeCallback? audioVolumeIndication; +

          -

          By default, this callback is disabled. You can enable it by calling . Once this callback is enabled and users send streams in the channel, the SDK triggers the callback at the time interval set in . The SDK triggers two independent callbacks simultaneously, which separately report the volume information of the local user who sends a stream and the remote users (up to three) whose instantaneous volumes are the highest.

          - After you enable this callback, calling affects the SDK's behavior as follows: -
            -
          • If the local user stops publishing the audio stream, the SDK stops triggering the local user's callback.
          • -
          • 20 seconds after a remote user whose volume is one of the three highest stops publishing the audio stream, the callback excludes this user's information; 20 seconds after all remote users stop publishing audio streams, the SDK stops triggering the callback for remote users.
          • -
          +

          By default, this callback is disabled. You can enable it by calling . Once this callback is enabled and users + send streams in the channel, the SDK triggers the callback at the time interval set in + . The SDK triggers two independent + callbacks simultaneously, which + separately report the volume information of the local user who sends a stream and + the remote users (up to three) whose instantaneous volumes are the highest.

          + After you enable this callback, calling affects the SDK's behavior as follows:
            +
          • If the local user stops publishing the audio stream, the SDK stops + triggering the local user's callback.
          • +
          • 20 seconds after a remote user whose volume is one of the three highest + stops publishing the audio stream, the callback excludes this user's + information; 20 seconds after all remote users stop publishing audio + streams, the SDK stops triggering the callback for remote users.
          • +
          +
          +
          <ph keyref="callback-section-title"/>

          - - - - - - speakers - The volume information of the users, see . An empty speakers array in the callback indicates that no remote user is in the channel or sending a stream at the moment. - - - speakerNumber - -

          The total number of users. -

            -
          • In the callback for the local user, if the local user is sending streams, the value of speakerNumber is 1.
          • -
          • In the callback for remote users, the value range of speakerNumber is [0,3]. If the number of remote users who send streams is greater than or equal to three, the value of speakerNumber is 3.
          • -

          - - - - totalVolume - -

          The volume of the speaker. The value range is [0,255]. -

            -
          • In the callback for the local user, totalVolume is the volume of the local user who sends a stream.
          • -
          • In the callback for remote users, totalVolume is the sum of the volume of all remote users (up to three) whose instantaneous volumes are the highest. If the user calls , then totalVolume is the volume after audio mixing.
          • -

          -
          -
          -
          + + + + + + speakers + The volume information of the users, see . + An empty speakers array in the callback indicates that + no remote user is in the channel or sending a stream at the moment. + + + speakerNumber + +

          The total number of users.

            +
          • In the callback for the local user, if the local user is sending + streams, the value of speakerNumber is + 1.
          • +
          • In the callback for remote users, the value range of + speakerNumber is [0,3]. If the number + of remote users who send streams is greater than or equal to + three, the value of speakerNumber is + 3.
          • +
          +

          +
          +
          + + totalVolume + +

          The volume of the speaker. The value range is [0,255].

            +
          • In the callback for the local user, + totalVolume is the volume of the local + user who sends a stream.
          • +
          • In the callback for remote users, + totalVolume is the sum of the volume of + all remote users (up to three) whose instantaneous volumes are + the highest. If the user calls , then totalVolume is the volume after + audio mixing.
          • +
          +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_oncameraexposureareachanged.dita b/en-US/dita/RTC/API/callback_oncameraexposureareachanged.dita index 4796fad7855..4dcb595dd2f 100644 --- a/en-US/dita/RTC/API/callback_oncameraexposureareachanged.dita +++ b/en-US/dita/RTC/API/callback_oncameraexposureareachanged.dita @@ -2,7 +2,8 @@ <ph keyref="onCameraExposureAreaChanged"/> - Occurs when the camera exposure area changes. + Occurs when the camera exposure area + changes. @@ -13,57 +14,62 @@

          - public void onCameraExposureAreaChanged(Rect rect) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine cameraExposureDidChangedToRect:(CGRect)rect; - virtual void onCameraExposureAreaChanged(int x, int y, int width, int height) { + public void onCameraExposureAreaChanged(Rect rect) {} + - (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; } - on(evt: EngineEvents.CAMERA_EXPOSURE_AREA_CHANGED, cb: ( + on(evt: EngineEvents.CAMERA_EXPOSURE_AREA_CHANGED, cb: ( x: number, y: number, width: number, height: number) => void ): this; - public virtual void OnCameraExposureAreaChanged(int x, int y, int width, int height) - - RectCallback? cameraExposureAreaChanged;

          + public virtual void OnCameraExposureAreaChanged(int x, int y, int width, int height) + + RectCallback? cameraExposureAreaChanged; +

          -

          The SDK triggers this callback when the local user changes the camera exposure position by calling .

          - This method is for Android and iOS only.
          +

          The SDK triggers this callback when the local user changes the camera exposure + position by calling .

          + This method is for Android and iOS + only. +
          <ph keyref="callback-section-title"/>

          - - x - The x coordinate of the changed camera exposure area. - - - y - The y coordinate of the changed camera exposure area. - - - width - The width of the changed camera exposure area. - - - height - The height of the changed exposure area. - + + x + The x coordinate of the changed camera exposure area. + + + y + The y coordinate of the changed camera exposure area. + + + width + The width of the changed camera exposure area. + + + height + The height of the changed exposure area. + - - - - - - rect - The focus rectangle in the local preview. - -

          + + + + + + rect + The focus rectangle in the local preview. + + +
          diff --git a/en-US/dita/RTC/API/callback_oncamerafocusareachanged.dita b/en-US/dita/RTC/API/callback_oncamerafocusareachanged.dita index 21315155a6d..0243ce151d0 100644 --- a/en-US/dita/RTC/API/callback_oncamerafocusareachanged.dita +++ b/en-US/dita/RTC/API/callback_oncamerafocusareachanged.dita @@ -2,7 +2,8 @@ <ph keyref="onCameraFocusAreaChanged"/> - Occurs when the camera focus area changes. + Occurs when the camera focus area + changes. @@ -13,57 +14,63 @@

          - public void onCameraFocusAreaChanged(Rect rect) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine cameraFocusDidChangedToRect:(CGRect)rect; - virtual void onCameraFocusAreaChanged(int x, int y, int width, int height) { + public void onCameraFocusAreaChanged(Rect rect) {} + - (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; } - on(evt: EngineEvents.CAMERA_FOCUS_AREA_CHANGED, cb: ( + on(evt: EngineEvents.CAMERA_FOCUS_AREA_CHANGED, cb: ( x: number, y: number, width: number, height: number) => void ): this; - public virtual void OnCameraFocusAreaChanged(int x, int y, int width, int height) - - RectCallback? cameraFocusAreaChanged;

          + public virtual void OnCameraFocusAreaChanged(int x, int y, int width, int height) + + RectCallback? cameraFocusAreaChanged; +

          -

          The SDK triggers this callback when the local user changes the camera focus position by calling .

          - This method is for Android and iOS only.
          +

          The SDK triggers this callback when the local + user changes the camera focus position by calling .

          + This method is for Android and iOS + only. +
          <ph keyref="callback-section-title"/>

          - - x - The x coordinate of the changed camera focus area. - - - y - The y coordinate of the changed camera focus area. - - - width - The width of the changed camera focus area. - - - height - The height of the changed camera focus area. - + + x + The x coordinate of the changed camera focus area. + + + y + The y coordinate of the changed camera focus area. + + + width + The width of the changed camera focus area. + + + height + The height of the changed camera focus area. + - - rect - The focus rectangle in the local preview. - - - - - -

          + + rect + The focus rectangle in the local preview. + + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_oncameraready.dita b/en-US/dita/RTC/API/callback_oncameraready.dita index 5b0d68eecdf..f279196e526 100644 --- a/en-US/dita/RTC/API/callback_oncameraready.dita +++ b/en-US/dita/RTC/API/callback_oncameraready.dita @@ -2,7 +2,8 @@ <ph keyref="onCameraReady"/> - Occurs when the camera turns on and is ready to capture the video. + Occurs when the camera turns on and is ready to capture + the video. @@ -13,22 +14,24 @@

          - public void onCameraReady() {} - - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onCameraReady() - on(evt: EngineEvents.CAMERA_READY, cb: () => void): this; - public virtual void OnCameraReady() - - EmptyCallback? cameraReady;

          + public void onCameraReady() {} + - (void)rtcEngineCameraDidReady:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onCameraReady() + on(evt: EngineEvents.CAMERA_READY, cb: () => void): this; + public virtual void OnCameraReady() + + EmptyCallback? cameraReady; +

          - -
          Deprecated:
          -
          -

          Please use (1) in instead.

          -
          -
          + +
          Deprecated:
          +
          +

          Please use (1) in instead.

          +
          +

          This callback indicates that the camera has been successfully turned on and you can start to capture video.

          @@ -37,10 +40,11 @@ <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onchannelmediarelayevent.dita b/en-US/dita/RTC/API/callback_onchannelmediarelayevent.dita index 6b10d217ab6..e181af2858a 100644 --- a/en-US/dita/RTC/API/callback_onchannelmediarelayevent.dita +++ b/en-US/dita/RTC/API/callback_onchannelmediarelayevent.dita @@ -2,7 +2,8 @@ <ph keyref="onChannelMediaRelayEvent"/> - Reports events during the media stream relay. + Reports events during the media stream + relay. @@ -13,56 +14,92 @@

          - virtual void onChannelMediaRelayEvent(int code) { + virtual void onChannelMediaRelayEvent(int code) { (void)code; -}

          +} +

          - virtual void onChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code) {}

          + virtual void onChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code) {} +

          - public void onChannelMediaRelayEvent(int code) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onChannelMediaRelayEvent(int code) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didReceiveChannelMediaRelayEvent:(AgoraChannelMediaRelayEvent)event; - on( + on( evt: EngineEvents.CHANNEL_MEDIA_RELAY_EVENT, cb: (code: CHANNEL_MEDIA_RELAY_EVENT) => void ): this; - public virtual void OnChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code) - - MediaRelayEventCallback? channelMediaRelayEvent;

          + public virtual void OnChannelMediaRelayEvent(CHANNEL_MEDIA_RELAY_EVENT code) + + MediaRelayEventCallback? channelMediaRelayEvent; +

          Parameters - - - - - - code - event - -

          The event code of channel media relay. See .

          -

          The event code of channel media relay: -

            -
          • (0): The user disconnects from the server due to a poor network connection.
          • -
          • (1): The user is connected to the server.
          • -
          • (2): The user joins the source channel.
          • -
          • (3): The user joins the destination channel.
          • -
          • (4): The SDK starts relaying the media stream to the destination channel.
          • -
          • (5): The server receives the video stream from the source channel.
          • -
          • (6): The server receives the audio stream from the source channel.
          • -
          • (7): The destination channel is updated.
          • -
          • (8): The destination channel update fails due to internal reasons.
          • -
          • (9): The destination channel does not change, which means that the destination channel fails to be updated.
          • -
          • (10): The destination channel name is .
          • -
          • (11): The video profile is sent to the server.
          • -
          • (12): The SDK successfully pauses relaying the media stream to destination channels.
          • -
          • (13): The SDK fails to pause relaying the media stream to destination channels.
          • -
          • (14): The SDK successfully resumes relaying the media stream to destination channels.
          • -
          • (15): The SDK fails to resume relaying the media stream to destination channels.
          • -

          -
          -
          -
          + + + + + + code + event + +

          The event code of channel media relay. See + .

          +

          The event code of channel media relay:

            +
          • (0): The user + disconnects from the server due to a poor network + connection.
          • +
          • (1): The user is + connected to the server.
          • +
          • (2): The + user joins the source channel.
          • +
          • (3): The + user joins the destination channel.
          • +
          • (4): The + SDK starts relaying the media stream to the destination + channel.
          • +
          • (5): + The server receives the video stream from the source + channel.
          • +
          • (6): + The server receives the audio stream from the source + channel.
          • +
          • (7): The + destination channel is updated.
          • +
          • (8): The destination channel update fails due to internal + reasons.
          • +
          • (9): The destination channel does not change, which means that + the destination channel fails to be updated.
          • +
          • (10): The destination channel name is .
          • +
          • (11): The video + profile is sent to the server.
          • +
          • (12): The SDK successfully pauses relaying the media stream to + destination channels.
          • +
          • (13): The SDK fails to pause relaying the media stream to + destination channels.
          • +
          • (14): The SDK successfully resumes relaying the media stream + to destination channels.
          • +
          • (15): The SDK fails to resume relaying the media stream to + destination channels.
          • +
          +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onchannelmediarelaystatechanged.dita b/en-US/dita/RTC/API/callback_onchannelmediarelaystatechanged.dita index 13c901bcad0..3512dcdca63 100644 --- a/en-US/dita/RTC/API/callback_onchannelmediarelaystatechanged.dita +++ b/en-US/dita/RTC/API/callback_onchannelmediarelaystatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onChannelMediaRelayStateChanged"/> - Occurs when the state of the media stream relay changes. + Occurs when the state of the media stream relay + changes. @@ -13,19 +14,20 @@

          - public void onChannelMediaRelayStateChanged(int state, int code) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onChannelMediaRelayStateChanged(int state, int code) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state error:(AgoraChannelMediaRelayError)error; - virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,CHANNEL_MEDIA_RELAY_ERROR code) { + virtual void onChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state,CHANNEL_MEDIA_RELAY_ERROR code) { } - on(evt: EngineEvents.CHANNEL_MEDIA_RELAY_EVENT, cb: ( + on(evt: EngineEvents.CHANNEL_MEDIA_RELAY_EVENT, cb: ( event: CHANNEL_MEDIA_RELAY_EVENT ) => void): this; - public virtual void OnChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state, + public virtual void OnChannelMediaRelayStateChanged(CHANNEL_MEDIA_RELAY_STATE state, CHANNEL_MEDIA_RELAY_ERROR code) - - MediaRelayStateCallback? channelMediaRelayStateChanged;

          + + MediaRelayStateCallback? channelMediaRelayStateChanged; +

          The SDK returns the state of the current media relay with any error message.

          @@ -34,62 +36,66 @@ channelMediaRelayStateDidChange:(AgoraChannelMediaRelayState)state <ph keyref="callback-section-title"/>

          - - - - - - state - -

          The state code. For details, see .

          -

          The state code: -

            -
          • (0): The SDK is initializing.
          • -
          • (1): The SDK tries to relay the - media stream to the destination channel.
          • -
          • (2): The SDK successfully relays the - media stream to the destination channel.
          • -
          • (3): An error occurs. See `code` for - the error code.
          • -

          - - - - code - -

          The error code of the channel media - replay. For details, see .

          -

          The error code: -

            -
          • (0): Everything is normal.
          • -
          • (1): An error occurs in - the server response.
          • -
          • (2): No server response. - You can call to leave the channel.
          • -
          • (3): The SDK fails to - access the service, probably due to limited resources of the - server.
          • -
          • (4): The server fails to join - the source channel.
          • -
          • (5): The server fails to - join the destination channel.
          • -
          • (6): The - server fails to receive the media stream.
          • -
          • (7): The source - channel fails to send the media stream.
          • -
          • (8): The SDK - disconnects from the server due to poor network connections. You can - call the method to leave the - channel.
          • -
          • (9): An internal error occurs - in the server.
          • -
          • (10): The token of the - source channel has expired.
          • -
          • (11): The token of the - destination channel has expired.
          • -

          -
          -
          -
          + + + + + + state + +

          The state code. For details, see .

          +

          The state code:

            +
          • (0): The SDK is + initializing.
          • +
          • (1): The SDK tries to + relay the media stream to the destination channel.
          • +
          • (2): The SDK successfully + relays the media stream to the destination channel.
          • +
          • (3): An error occurs. See + `code` for the error code.
          • +
          +

          +
          +
          + + code + +

          The error code of the channel media + replay. For details, see .

          +

          The error code:

            +
          • (0): Everything is normal.
          • +
          • (1): An error + occurs in the server response.
          • +
          • (2): No server + response. You can call to leave the + channel.
          • +
          • (3): The SDK + fails to access the service, probably due to limited resources + of the server.
          • +
          • (4): The server fails + to join the source channel.
          • +
          • (5): The server + fails to join the destination channel.
          • +
          • (6): + The server fails to receive the media stream.
          • +
          • (7): The + source channel fails to send the media stream.
          • +
          • (8): The SDK + disconnects from the server due to poor network connections. You + can call the method to leave the + channel.
          • +
          • (9): An internal error + occurs in the server.
          • +
          • (10): The token of + the source channel has expired.
          • +
          • (11): The token of + the destination channel has expired.
          • +
          +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onclientrolechanged.dita b/en-US/dita/RTC/API/callback_onclientrolechanged.dita index a855bf4dbe7..241b7707520 100644 --- a/en-US/dita/RTC/API/callback_onclientrolechanged.dita +++ b/en-US/dita/RTC/API/callback_onclientrolechanged.dita @@ -2,49 +2,58 @@ <ph keyref="onClientRoleChanged"/> - Occurs when the user role switches in the interactive live streaming. + Occurs when the user role switches in the interactive + live streaming.

          - public void onClientRoleChanged(int oldRole, int newRole) {} + public void onClientRoleChanged(int oldRole, int newRole) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChanged: + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didClientRoleChanged: (AgoraClientRole)oldRole newRole:(AgoraClientRole)newRole; - virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) - on(evt: EngineEvents.CLIENT_ROLE_CHANGED, cb: ( + virtual void onClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) + on(evt: EngineEvents.CLIENT_ROLE_CHANGED, cb: ( oldRole: CLIENT_ROLE_TYPE, newRole: CLIENT_ROLE_TYPE) => void ): this; - public virtual void OnClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) - - ClientRoleCallback? clientRoleChanged;

          + public virtual void OnClientRoleChanged(CLIENT_ROLE_TYPE oldRole, CLIENT_ROLE_TYPE newRole) + + ClientRoleCallback? clientRoleChanged; +

          -

          The SDK triggers this callback when the local user switches the user role after joining the channel.

          +

          The SDK triggers this callback when the local user switches the user role after + joining the channel.

          <ph keyref="callback-section-title"/>

          - - - - - - oldRole - Role that the user switches from: . -

            -
          • -
          - - - newRole - Role that the user switches to: . -
            -
          • -
          -
          -
          + + + + + + oldRole + Role that the user switches from: . +
            +
          • +
          +
          +
          + + newRole + Role that the user switches to: . +
            +
          • +
          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onclientrolechangefailed.dita b/en-US/dita/RTC/API/callback_onclientrolechangefailed.dita index c8044c7a91f..70bc2a415a3 100644 --- a/en-US/dita/RTC/API/callback_onclientrolechangefailed.dita +++ b/en-US/dita/RTC/API/callback_onclientrolechangefailed.dita @@ -3,31 +3,35 @@ <ph keyref="onClientRoleChangeFailed"/> - Occurs when the user role switch fails in the interactive live streaming. + Occurs when the user role switch fails in the interactive live + streaming.

          - +

          -

          In the LIVE_BROADCASTING channel profile, when the local user calls to switch their user role after joining the channel but the switch fails, the SDK triggers this callback to report the reason for the failure and the current user role. -

          +

          In the LIVE_BROADCASTING channel profile, when the local user calls to switch their user role after joining the channel + but the switch fails, the SDK triggers this callback to report the reason for the + failure and the current user role.

          - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> -

          +

          - - + + reason - The reason for the user role switch failure. See . + The reason for the user role switch failure. See . currentRole diff --git a/en-US/dita/RTC/API/callback_onconnectionbanned.dita b/en-US/dita/RTC/API/callback_onconnectionbanned.dita index 055dae1cfb5..b58a8b5b4c0 100644 --- a/en-US/dita/RTC/API/callback_onconnectionbanned.dita +++ b/en-US/dita/RTC/API/callback_onconnectionbanned.dita @@ -2,7 +2,8 @@ <ph keyref="onConnectionBanned"/> - Occurs when the connection is banned by the Agora server. + Occurs when the connection is banned by the Agora + server. @@ -13,30 +14,32 @@

          - public void onConnectionBanned() {} - - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionBanned() - on(evt: EngineEvents.CONNECTION_BANNED, cb: () => void): this; - public virtual void OnConnectionBanned() - - EmptyCallback? connectionBanned;

          + public void onConnectionBanned() {} + - (void)rtcEngineConnectionDidBanned:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionBanned() + on(evt: EngineEvents.CONNECTION_BANNED, cb: () => void): this; + public virtual void OnConnectionBanned() + + EmptyCallback? connectionBanned; +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onconnectioninterrupted.dita b/en-US/dita/RTC/API/callback_onconnectioninterrupted.dita index a7b5bd3f39d..21e9de68428 100644 --- a/en-US/dita/RTC/API/callback_onconnectioninterrupted.dita +++ b/en-US/dita/RTC/API/callback_onconnectioninterrupted.dita @@ -2,7 +2,8 @@ <ph keyref="onConnectionInterrupted"/> - Occurs when the connection between the SDK and the server is interrupted. + Occurs when the connection between the SDK and the + server is interrupted. @@ -13,35 +14,45 @@

          - public void onConnectionInterrupted() {} - - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionInterrupted() {} - on(evt: EngineEvents.CONNECTION_INTERRUPTED, cb: () => void): this; - public virtual void OnConnectionInterrupted() - - EmptyCallback? connectionInterrupted;

          + public void onConnectionInterrupted() {} + - (void)rtcEngineConnectionDidInterrupted:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionInterrupted() {} + on(evt: EngineEvents.CONNECTION_INTERRUPTED, cb: () => void): this; + public virtual void OnConnectionInterrupted() + + EmptyCallback? connectionInterrupted; +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          -

          The SDK triggers this callback when it loses connection with the server for more than four seconds after the connection is established. After triggering this callback, the SDK tries to reconnect to the server. You can use this callback to implement pop-up reminders. The difference between this callback and is: -

            -
          • The SDK triggers the callback when it loses connection with the server for more than four seconds after it successfully joins the channel.
          • -
          • The SDK triggers the callback when it loses connection with the server for more than 10 seconds, whether or not it joins the channel.
          • -
          If the SDK fails to rejoin the channel 20 minutes after being disconnected from Agora's edge server, the SDK stops rejoining the channel.

          +

          The SDK triggers this callback when it loses connection with the server for more than + four seconds after the connection is established. After triggering this callback, + the SDK tries to reconnect to the server. You can use this callback to implement + pop-up reminders. The difference between this callback and is:

            +
          • The SDK triggers the callback + when it loses connection with the server for more than four seconds after it + successfully joins the channel.
          • +
          • The SDK triggers the callback when it + loses connection with the server for more than 10 seconds, whether or not it + joins the channel.
          • +
          If the SDK fails to rejoin the channel 20 minutes after being disconnected from + Agora's edge server, the SDK stops rejoining the channel.

          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onconnectionlost.dita b/en-US/dita/RTC/API/callback_onconnectionlost.dita index 747037db7e4..688afbab7c2 100644 --- a/en-US/dita/RTC/API/callback_onconnectionlost.dita +++ b/en-US/dita/RTC/API/callback_onconnectionlost.dita @@ -2,7 +2,8 @@ <ph keyref="onConnectionLost"/> - Occurs when the SDK cannot reconnect to Agora's edge server 10 seconds after its connection to the server is interrupted. + Occurs when the SDK cannot reconnect to Agora's edge + server 10 seconds after its connection to the server is interrupted. @@ -13,13 +14,14 @@

          - public void onConnectionLost() {} - - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onConnectionLost() - on(evt: EngineEvents.CONNECTION_LOST, cb: () => void): this; - public virtual void OnConnectionLost() - - EmptyCallback? connectionLost;

          + public void onConnectionLost() {} + - (void)rtcEngineConnectionDidLost:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onConnectionLost() + on(evt: EngineEvents.CONNECTION_LOST, cb: () => void): this; + public virtual void OnConnectionLost() + + EmptyCallback? connectionLost; +

          The SDK triggers this callback when it cannot connect to the server 10 seconds after @@ -31,10 +33,11 @@ <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onconnectionstatechanged.dita b/en-US/dita/RTC/API/callback_onconnectionstatechanged.dita index 89a177334e2..3dc9d8febed 100644 --- a/en-US/dita/RTC/API/callback_onconnectionstatechanged.dita +++ b/en-US/dita/RTC/API/callback_onconnectionstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onConnectionStateChanged"/> - Occurs when the network connection state changes. + Occurs when the network connection state + changes. @@ -13,80 +14,123 @@

          - public void onConnectionStateChanged(int state, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onConnectionStateChanged(int state, int reason) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine connectionStateChanged:(AgoraConnectionState)state reason:(AgoraConnectionChangedReason)reason; - virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { + virtual void onConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) { (void)state; (void)reason; } - on(evt: EngineEvents.CONNECTION_STATE_CHANGED, cb: ( + on(evt: EngineEvents.CONNECTION_STATE_CHANGED, cb: ( state: CONNECTION_STATE_TYPE, reason: CONNECTION_CHANGED_REASON_TYPE ) => void): this; - public virtual void OnConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) - - ConnectionStateCallback? connectionStateChanged;

          + public virtual void OnConnectionStateChanged(CONNECTION_STATE_TYPE state, CONNECTION_CHANGED_REASON_TYPE reason) + + ConnectionStateCallback? connectionStateChanged; +

          - -
          Since
          -
          v2.3.2
          -
          + +
          Since
          +
          v2.3.2
          +
          -

          When the network connection state changes, the SDK triggers this callback and reports the current connection state and the reason for the change.

          +

          When the network connection state changes, the SDK triggers this callback + and reports the current connection state and the reason for the change.

          <ph keyref="callback-section-title"/>

          - - - - - - state - -

          The current connection state. For details, see .

          -
            -
          • (1): The SDK is disconnected from Agora's edge server.
          • -
          • (2): The SDK is connecting to Agora's edge server.
          • -
          • (3): The SDK is connected to Agora's edge server and has joined a channel.
          • -
          • (4): The SDK keeps reconnecting to the Agora edge server.
          • -
          • 5: The SDK fails to connect to Agora's edge server or join the channel.
          • -
          - - - reason - -

          The reason for a connection state change. For details, see .

          -
            -
          • (0): The SDK is connecting to Agora's edge server.
          • -
          • (1): The SDK has joined the channel successfully.
          • -
          • (2): The connection between the SDK and Agora's edge server is interrupted.
          • -
          • (3): The connection between the SDK and Agora's edge server is banned by Agora's edge server.
          • -
          • (4): The SDK fails to join the channel.
          • -
          • (5): The SDK has left the channel.
          • -
          • (6): The connection failed because the App ID is not valid. Please rejoin the channel with a valid App ID.
          • -
          • (7): The connection failed because the channel name is not valid. Please rejoin the channel with a valid channel name.
          • -
          • (8): The connection failed because the token is not valid. Typical reasons include: -
              -
            • The App Certificate for the project is enabled in Agora Console, but you do not use a token when joining the channel. If you enable the App Certificate, you must use a token to join the channel.
            • -
            • The uid specified when calling to join the channel is inconsistent with the uid passed in when generating the token.
            • -
          • -
          • (9): The token has expired. You need to generate a new token from your server.
          • -
          • (10): The user is banned by the server.
          • -
          • (11): The SDK tries to reconnect after setting a proxy server.
          • -
          • (12): The connection state changed because the token is renewed.
          • -
          • (13): The IP Address of the SDK client has changed, probably due to a change of the network type, IP address, or network port.
          • -
          • (14): Timeout for the keep-alive of the connection between the SDK and the Agora edge server. The connection state changes to state.
          • -
          • (15): The SDK has rejoined the channel successfully.
          • -
          • (16): The connection between the SDK and the server is lost.
          • -
          • (17): The connection state changes due to the echo test.
          • -
          -
          -
          + + + + + + state + +

          The current connection state. For details, see .

          +
            +
          • (1): The SDK is + disconnected from Agora's edge server.
          • +
          • (2): The SDK is + connecting to Agora's edge server.
          • +
          • (3): The SDK is connected + to Agora's edge server and has joined a channel.
          • +
          • (4): The SDK keeps + reconnecting to the Agora edge server.
          • +
          • 5: The SDK fails to connect + to Agora's edge server or join the channel.
          • +
          +
          +
          + + reason + +

          The reason for a connection state change. For + details, see .

          +
            +
          • (0): The SDK is + connecting to Agora's edge server.
          • +
          • (1): The SDK has + joined the channel successfully.
          • +
          • (2): The connection + between the SDK and Agora's edge server is interrupted.
          • +
          • (3): The + connection between the SDK and Agora's edge server is banned by + Agora's edge server.
          • +
          • (4): The SDK fails to + join the channel.
          • +
          • (5): The SDK has + left the channel.
          • +
          • (6): The connection + failed because the App ID is not valid. Please rejoin the channel + with a valid App ID.
          • +
          • (7): The + connection failed because the channel name is not valid. Please + rejoin the channel with a valid channel name.
          • +
          • (8): The connection + failed because the token is not valid. Typical reasons include:
              +
            • The App Certificate for the project is enabled in Agora + Console, but you do not use a token when joining the + channel. If you enable the App Certificate, you must use a + token to join the channel.
            • +
            • The uid specified when calling + to join the channel is inconsistent with the uid passed in + when generating the token.
            • +
            +
          • +
          • (9): The token has + expired. You need to generate a new token from your server.
          • +
          • (10): The user + is banned by the server.
          • +
          • (11): The SDK + tries to reconnect after setting a proxy server.
          • +
          • (12): The connection + state changed because the token is renewed.
          • +
          • (13): + The IP Address of the SDK client has changed, probably due to a + change of the network type, IP address, or network port.
          • +
          • (14): Timeout + for the keep-alive of the connection between the SDK and the Agora + edge server. The connection state changes to state.
          • +
          • (15): The SDK has + rejoined the channel successfully.
          • +
          • (16): The connection between + the SDK and the server is lost.
          • +
          • (17): The connection + state changes due to the echo test.
          • +
          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_ondispose.dita b/en-US/dita/RTC/API/callback_ondispose.dita index abfdb3c4534..7dce0929500 100644 --- a/en-US/dita/RTC/API/callback_ondispose.dita +++ b/en-US/dita/RTC/API/callback_ondispose.dita @@ -2,7 +2,8 @@ <ph keyref="onDispose"/> - Notification for disabling the custom video source. + Notification for disabling the custom video + source. @@ -13,16 +14,20 @@

          - - - virtual void onDispose() = 0; - - - -

          + + + virtual void onDispose() = 0; + + + + +

          -

          The SDK triggers this callback to remind you to disable the custom video source device. This callback tells you that the SDK is about to releasethe object. Ensure that you no longer use after receiving this callback.

          +

          The SDK triggers this callback to remind you to disable the custom video source + device. This callback tells you that the SDK is about to releasethe object. Ensure that you no longer use after receiving this callback.

          diff --git a/en-US/dita/RTC/API/callback_ondownlinknetworkinfoupdated.dita b/en-US/dita/RTC/API/callback_ondownlinknetworkinfoupdated.dita index b82b22e7b10..49f6fbd91d5 100644 --- a/en-US/dita/RTC/API/callback_ondownlinknetworkinfoupdated.dita +++ b/en-US/dita/RTC/API/callback_ondownlinknetworkinfoupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onDownlinkNetworkInfoUpdated"/> - Occurs when the downlink network information changes. + Occurs when the downlink network information + changes. @@ -13,26 +14,30 @@

          - public void onDownlinkNetworkInfoUpdated(DownlinkNetworkInfo info) {} - - virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) { + public void onDownlinkNetworkInfoUpdated(DownlinkNetworkInfo info) {} + + virtual void onDownlinkNetworkInfoUpdated(const DownlinkNetworkInfo& info) { (void)info; } - - - -

          + + + + +

          -

          This callback is used for notifying the user to switch major/minor stream if needed.

          +

          This callback is used for notifying the user to switch major/minor stream if + needed.

          Parameters - - info - The downlink network information. See . - -
          + + info + The downlink network information. See . + + +
          diff --git a/en-US/dita/RTC/API/callback_onencryptionerror.dita b/en-US/dita/RTC/API/callback_onencryptionerror.dita index 64ea3be2249..a0f3f5543ea 100644 --- a/en-US/dita/RTC/API/callback_onencryptionerror.dita +++ b/en-US/dita/RTC/API/callback_onencryptionerror.dita @@ -2,7 +2,8 @@ <ph keyref="onEncryptionError"/> - Reports the built-in encryption errors. + Reports the built-in encryption + errors. @@ -13,32 +14,37 @@

          - public void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurEncryptionError:(AgoraEncryptionErrorType)errorType; - virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) { + virtual void onEncryptionError(ENCRYPTION_ERROR_TYPE errorType) { (void)errorType; } - - - -

          + + + + +

          -

          When encryption is enabled by calling , the SDK triggers this callback if an error occurs in encryption or decryption on the sender or the receiver side.

          +

          When encryption is enabled by calling , the SDK + triggers this callback if an error occurs in encryption or decryption on the sender + or the receiver side.

          Parameters - - - - - - errorType - For details about the error type, see . - -
          + + + + + + errorType + For details about the error type, see . + + +
          diff --git a/en-US/dita/RTC/API/callback_onerror.dita b/en-US/dita/RTC/API/callback_onerror.dita index f8f3425ef73..1059a02e09c 100644 --- a/en-US/dita/RTC/API/callback_onerror.dita +++ b/en-US/dita/RTC/API/callback_onerror.dita @@ -13,32 +13,43 @@

          - - - virtual void onError(int err, const char* msg) { + + + virtual void onError(int err, const char* msg) { (void)err; (void)msg; } - on(evt: EngineEvents.ERROR, cb: (err: number, msg: string) => void): this; - public virtual void OnError(int err, string msg) - - ErrorCallback? error;

          + on(evt: EngineEvents.ERROR, cb: (err: number, msg: string) => void): this; + public virtual void OnError(int err, string msg) + + ErrorCallback? error; +

          -

          This callback indicates that an error (concerning network or media) occurs during SDK runtime. In most cases, the SDK cannot fix the issue and resume running. The SDK requires the application to take action or informs the user about the issue. For example, the SDK reports an ERR_START_CALL error when failing to initialize a call. The app informs the user that the call initialization failed and calls to leave the channel.

          - The callback only reports errors in the C++ layer. If you want to receive errors from the Electron layer, use .
          +

          This callback indicates that an error (concerning network or media) occurs + during SDK runtime. In most cases, the SDK cannot fix the issue and resume running. + The SDK requires the application to take action or informs the user about the issue. + For example, the SDK reports an ERR_START_CALL error when + failing to initialize a call. The app informs the user that the call initialization + failed and calls to leave the channel.

          + The callback only reports errors in the C++ + layer. If you want to receive errors from the Electron layer, use . +
          <ph keyref="callback-section-title"/>

          - - err - The error code. For details, see Error Codes and Warning Codes. - - - msg - The error message. - -

          + + err + The error code. For details, see Error Codes and Warning Codes. + + + msg + The error message. + + +
          diff --git a/en-US/dita/RTC/API/callback_onfacepositionchanged.dita b/en-US/dita/RTC/API/callback_onfacepositionchanged.dita index ebea8777500..fbdd69c82eb 100644 --- a/en-US/dita/RTC/API/callback_onfacepositionchanged.dita +++ b/en-US/dita/RTC/API/callback_onfacepositionchanged.dita @@ -2,8 +2,8 @@ <ph keyref="onFacePositionChanged"/> - Reports the face detection result of the local user. + Reports the face detection result of the local + user. @@ -14,8 +14,8 @@

          - - (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, + - (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; @@ -23,10 +23,11 @@ (void) vecRectangle; (void) vecDistance; (void) numFaces; - }

          + } +

          - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine facePositionDidChangeWidth:(int)width previewHeight:(int)height faces:(NSArray<AgoraFacePositionInfo*>* _Nullable)faces; - virtual void onFacePositionChanged(int imageWidth, + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine facePositionDidChangeWidth:(int)width previewHeight:(int)height faces:(NSArray<AgoraFacePositionInfo*>* _Nullable)faces; + virtual void onFacePositionChanged(int imageWidth, int imageHeight, Rectangle* vecRectangle, int* vecDistance, @@ -37,89 +38,110 @@ (void)vecDistance; (void)numFaces; } - - public virtual void OnFacePositionChanged(int imageWidth, int imageHeight, Rectangle vecRectangle, + + public virtual void OnFacePositionChanged(int imageWidth, int imageHeight, Rectangle vecRectangle, int[] vecDistance, int numFaces) - - FacePositionCallback? facePositionChanged; + + FacePositionCallback? facePositionChanged;

          - public void onFacePositionChanged( + public void onFacePositionChanged( int imageWidth, int imageHeight, AgoraFacePositionInfo[] faceRectArr) {}

          - -
          Since
          -
          v3.0.1
          -
          + +
          Since
          +
          v3.0.1
          +
          -

          Once you enable face detection by calling (), you can get the following information on the local user in real-time: -

            -
          • The width and height of the local video.
          • -
          • The position of the human face in the local video.
          • -
          • The distance between the human face and the screen.
          • -

          -

          The distance between the human face and the screen is based on the fitting calculation of the local video size and the position of the human face captured by the camera.

          +

          Once you enable face detection by calling (), you can get the following information on the local user in + real-time:

            +
          • The width and height of the local video.
          • +
          • The position of the human face in the local video.
          • +
          • The distance between the human face and the screen.
          • +
          +

          +

          The distance between the human face and the screen is based on the fitting + calculation of the local video size and the position of the human face captured by + the camera.

          -
            -
          • This callback is for Android and iOS only.
          • -
          • When it is detected that the face in front of the camera disappears, the callback will be triggered immediately. In the state of no face, the trigger frequency of the callback will be reduced to save power consumption on the local device.
          • -
          • The SDK stops triggering this callback when a human face is in close proximity to the screen.
          • -
          • On Android, the value of distance reported in this callback may be slightly different from the actual distance. Therefore, Agora does not recommend using it for accurate calculation.
          • -
          +
            +
          • This callback is for Android and iOS only.
          • +
          • When it is detected that the face in front of the camera disappears, the + callback will be triggered immediately. In the state of no face, the trigger + frequency of the callback will be reduced to save power consumption on the + local device.
          • +
          • The SDK stops triggering this callback when a human face is in close + proximity to the screen.
          • +
          • On Android, the value of distance reported in + this callback may be slightly different from the actual + distance. Therefore, Agora does not recommend using + it for accurate calculation.
          • +
          + +
          <ph keyref="callback-section-title"/> -

          +

          - - - - - - imageWidth - width - The width (px) of the video image captured by the local camera. - - - imageHeight - hight - The height (px) of the video image captured by the local camera. - - - faceRectArr - faces - For the information of the detected face, see for details. If several faces are detected, this callback reports several arrays. The length of the array can be 0, which means that no human face is detected in front of the camera. - - - vecRectangle - -

          The information of the detected human face: -

            -
          • x: The x-coordinate (px) of the human face in the local video. The horizontal position relative to the origin, where the upper left corner of the captured video is the origin, and the x-coordinate is the upper left corner of the watermark.
          • -
          • y: The y-coordinate (px) of the human face in the local video. Taking the top left corner of the captured video as the origin, the y coordinate represents the relative longitudinal displacement of the top left corner of the human face to the origin.
          • -
          • width: The width (px) of the human face in the local view.
          • -
          • height: The height (px) of the human face in the local view.
          • -

          - - - - vecDistance - The distance between the human face and the device screen (cm). - - - numFaces - The number of faces detected. If the value is 0, it means that no human face is detected. - -
          + + + + + + imageWidth + width + The width (px) of the video image captured by the local camera. + + + imageHeight + hight + The height (px) of the video image captured by the local camera. + + + faceRectArr + faces + For the information of the detected face, see for details. If several faces are + detected, this callback reports several arrays. The length of the array can be + 0, which means that no human face is detected in front of the camera. + + + vecRectangle + +

          The information of the detected human face:

            +
          • x: The x-coordinate (px) of the human face in + the local video. The horizontal position relative to the origin, + where the upper left corner of the captured video is the origin, + and the x-coordinate is the upper left corner of the + watermark.
          • +
          • y: The y-coordinate (px) of the human face in + the local video. Taking the top left corner of the captured + video as the origin, the y coordinate represents the relative + longitudinal displacement of the top left corner of the human + face to the origin.
          • +
          • width: The width (px) of the human face in the + local view.
          • +
          • height: The height (px) of the human face in + the local view.
          • +
          +

          +
          +
          + + vecDistance + The distance between the human face and the device screen (cm). + + + numFaces + The number of faces detected. If the value is 0, it means that no human face + is detected. + + +
          diff --git a/en-US/dita/RTC/API/callback_onfirstlocalaudioframe.dita b/en-US/dita/RTC/API/callback_onfirstlocalaudioframe.dita index bbfbe63fa4b..c9d0c64f420 100644 --- a/en-US/dita/RTC/API/callback_onfirstlocalaudioframe.dita +++ b/en-US/dita/RTC/API/callback_onfirstlocalaudioframe.dita @@ -2,7 +2,8 @@ <ph keyref="onFirstLocalAudioFrame"/> - Occurs when the engine sends the first local audio frame. + Occurs when the engine sends the first local audio + frame. @@ -13,32 +14,35 @@

          - - - virtual void onFirstLocalAudioFrame(int elapsed) { + + + virtual void onFirstLocalAudioFrame(int elapsed) { (void)elapsed; } - on(evt: EngineEvents.FIRST_LOCAL_AUDIO_FRAME, cb: (elapsed: number) => void): this; - public virtual void OnFirstLocalAudioFrame(int elapsed) - - ElapsedCallback? firstLocalAudioFrame;

          + on(evt: EngineEvents.FIRST_LOCAL_AUDIO_FRAME, cb: (elapsed: number) => void): this; + public virtual void OnFirstLocalAudioFrame(int elapsed) + + ElapsedCallback? firstLocalAudioFrame; +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          <ph keyref="callback-section-title"/>

          - - elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. - -

          + + elapsed + The time elapsed (ms) from the local user calling until the SDK triggers this callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_onfirstlocalaudioframepublished.dita b/en-US/dita/RTC/API/callback_onfirstlocalaudioframepublished.dita index 3988c9288b0..9ea3b47131c 100644 --- a/en-US/dita/RTC/API/callback_onfirstlocalaudioframepublished.dita +++ b/en-US/dita/RTC/API/callback_onfirstlocalaudioframepublished.dita @@ -1,9 +1,11 @@ - <ph keyref="onFirstLocalAudioFramePublished"/> - - Occurs when the first audio frame is published. + + <ph keyref="onFirstLocalAudioFramePublished"/> + + Occurs when the first audio frame is + published. @@ -14,46 +16,57 @@

          - public void onFirstLocalAudioFramePublished(int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed; - virtual void onFirstLocalAudioFramePublished(int elapsed) { + public void onFirstLocalAudioFramePublished(int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalAudioFramePublished:(NSInteger)elapsed; + virtual void onFirstLocalAudioFramePublished(int elapsed) { (void)elapsed; } - on(evt: EngineEvents.FIRST_LOCAL_AUDIO_FRAME_PUBLISHED, cb: ( + on(evt: EngineEvents.FIRST_LOCAL_AUDIO_FRAME_PUBLISHED, cb: ( elapsed: number ) => void): this; - public virtual void OnFirstLocalAudioFramePublished(int elapsed) - - ElapsedCallback? firstLocalAudioFramePublished;

          + public virtual void OnFirstLocalAudioFramePublished(int elapsed) + + ElapsedCallback? firstLocalAudioFramePublished; +

          - -
          Since
          -
          v3.1.0
          -
          + +
          Since
          +
          v3.1.0
          +
          -

          The SDK triggers this callback under one of the following circumstances: -

            -
          • The local client enables the audio module and calls successfully.
          • -
          • The local client calls () and () in sequence.
          • -
          • The local client calls and in sequence.
          • -
          • The local client calls to successfully push the audio frame to the SDK.
          • -
          • The local client calls to successfully push the audio frame to the SDK.
          • -

          +

          The SDK triggers this callback under one of the following circumstances:

            +
          • The local client enables the audio module and calls successfully.
          • +
          • The local client calls () and () in sequence.
          • +
          • The local client calls and in sequence.
          • +
          • The local client calls to successfully push the audio frame to the + SDK.
          • +
          • The local client calls to + successfully push the audio frame to the SDK.
          • +
          +

          <ph keyref="callback-section-title"/>

          - - - - - - elapsed - The time elapsed (ms) from the local client calling until the SDK triggers this callback. - -

          + + + + + + elapsed + The time elapsed (ms) from the local client calling until the SDK triggers this callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_onfirstlocalvideoframe.dita b/en-US/dita/RTC/API/callback_onfirstlocalvideoframe.dita index 597d154953c..bd14e38588f 100644 --- a/en-US/dita/RTC/API/callback_onfirstlocalvideoframe.dita +++ b/en-US/dita/RTC/API/callback_onfirstlocalvideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="onFirstLocalVideoFrame"/> - Occurs when the first local video frame is rendered. + Occurs when the first local video frame is + rendered. @@ -13,56 +14,61 @@

          - public void onFirstLocalVideoFrame(int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onFirstLocalVideoFrame(int width, int height, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFrameWithSize:(CGSize)size elapsed:(NSInteger)elapsed; - virtual void onFirstLocalVideoFrame(int width, + virtual void onFirstLocalVideoFrame(int width, int height, int elapsed) { (void)width; (void)height; (void)elapsed; } - on(evt: EngineEvents.FIRST_LOCAL_VIDEO_FRAME, cb: ( + on(evt: EngineEvents.FIRST_LOCAL_VIDEO_FRAME, cb: ( width: number, height: number, elapsed: number) => void ): this; - public virtual void OnFirstLocalVideoFrame(int width, int height, int elapsed) - - VideoFrameCallback? firstLocalVideoFrame;

          + public virtual void OnFirstLocalVideoFrame(int width, int height, int elapsed) + + VideoFrameCallback? firstLocalVideoFrame; +

          -

          The SDK triggers this callback when the first local video frame is displayed/rendered on the local video view.

          +

          The SDK triggers this callback when the first local video frame is + displayed/rendered on the local video view.

          <ph keyref="callback-section-title"/>

          - - - - - - size - The size of the first local video frame. - - - width - The width (px) of the first local video frame. - - - height - The height (px) of the first local video frame. - - - elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. If you - call before calling , then this parameter is the time elapsed from - calling the method until the SDK + + + + + + size + The size of the first local video frame. + + + width + The width (px) of the first local video frame. + + + height + The height (px) of the first local video frame. + + + elapsed + The time elapsed (ms) from the local user calling until the SDK triggers this callback. If + you call before calling , then this parameter is the time elapsed + from calling the method until the SDK triggers this callback. - -

          + + +
          diff --git a/en-US/dita/RTC/API/callback_onfirstlocalvideoframepublished.dita b/en-US/dita/RTC/API/callback_onfirstlocalvideoframepublished.dita index 0e5e3ddc221..fe6a50d65fc 100644 --- a/en-US/dita/RTC/API/callback_onfirstlocalvideoframepublished.dita +++ b/en-US/dita/RTC/API/callback_onfirstlocalvideoframepublished.dita @@ -2,7 +2,8 @@ <ph keyref="onFirstLocalVideoFramePublished"/> - Occurs when the first video frame is published. + Occurs when the first video frame is + published. @@ -13,46 +14,55 @@

          - public void onFirstLocalVideoFramePublished(int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onFirstLocalVideoFramePublished(int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstLocalVideoFramePublishedWithElapsed:(NSInteger)elapsed; - virtual void onFirstLocalVideoFramePublished(int elapsed) { + virtual void onFirstLocalVideoFramePublished(int elapsed) { (void)elapsed; } - on(evt: EngineEvents.FIRST_LOCAL_VIDEO_FRAME_PUBLISHED, cb: ( + on(evt: EngineEvents.FIRST_LOCAL_VIDEO_FRAME_PUBLISHED, cb: ( elapsed: number ) => void): this; - public virtual void OnFirstLocalVideoFramePublished(int elapsed) - - ElapsedCallback? firstLocalVideoFramePublished;

          + public virtual void OnFirstLocalVideoFramePublished(int elapsed) + + ElapsedCallback? firstLocalVideoFramePublished; +

          - -
          Since
          -
          v3.1.0
          -
          + +
          Since
          +
          v3.1.0
          +
          -

          The SDK triggers this callback under one of the following circumstances: -

            -
          • The local client enables the video module and calls successfully.
          • -
          • The local client calls () and () in sequence.
          • -
          • The local client calls and in sequence.
          • -
          • The local client calls to successfully push the video frame to the SDK.
          • -

          +

          The SDK triggers this callback under one of the following circumstances:

            +
          • The local client enables the video module and calls successfully.
          • +
          • The local client calls () and () in sequence.
          • +
          • The local client calls and in sequence.
          • +
          • The local client calls to successfully push the video frame to the + SDK.
          • +
          +

          <ph keyref="callback-section-title"/>

          - - - - - - elapsed - The time elapsed(ms) from the local client calling until the SDK triggers this callback. - -

          + + + + + + elapsed + The time elapsed(ms) from the local client calling until the SDK triggers this callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_onfirstremoteaudiodecoded.dita b/en-US/dita/RTC/API/callback_onfirstremoteaudiodecoded.dita index 1edb26297f5..fef19221000 100644 --- a/en-US/dita/RTC/API/callback_onfirstremoteaudiodecoded.dita +++ b/en-US/dita/RTC/API/callback_onfirstremoteaudiodecoded.dita @@ -2,7 +2,8 @@ <ph keyref="onFirstRemoteAudioDecoded"/> - Occurs when the SDK decodes the first remote audio frame for playback. + Occurs when the SDK decodes the first remote audio + frame for playback. @@ -13,65 +14,75 @@

          - virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) { + virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) { (void)uid; (void)elapsed; } -

          + +

          - virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) AGORA_DEPRECATED_ATTRIBUTE { + virtual void onFirstRemoteAudioDecoded(uid_t uid, int elapsed) AGORA_DEPRECATED_ATTRIBUTE { (void)uid; (void)elapsed; - }

          + } +

          - public void onFirstRemoteAudioDecoded(int uid, int elapsed) { + public void onFirstRemoteAudioDecoded(int uid, int elapsed) { } - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameDecodedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; - on(evt: EngineEvents.FIRST_REMOTE_AUDIO_DECODED, cb: ( + on(evt: EngineEvents.FIRST_REMOTE_AUDIO_DECODED, cb: ( uid: number, elapsed: number) => void ): this; - public virtual void OnFirstRemoteAudioDecoded(uint uid, int elapsed) - - UidWithElapsedCallback? firstRemoteAudioDecoded;

          + public virtual void OnFirstRemoteAudioDecoded(uint uid, int elapsed) + + UidWithElapsedCallback? firstRemoteAudioDecoded; +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          -

          The SDK triggers this callback under one of the following circumstances: -

            -
          • The remote user joins the channel and sends the audio stream for the first time.
          • -
          • The remote user's audio is offline and then goes online to re-send audio. It means the local user cannot receive audio in 15 seconds. Reasons for such an interruption include: -
              -
            • The remote user leaves channel.
            • -
            • The remote user drops offline.
            • -
            • The remote user calls to stop sending the audio stream.
            • -
            • The remote user calls to disable audio.
            • -
          • -

          +

          The SDK triggers this callback under one of the following circumstances:

            +
          • The remote user joins the channel and sends the audio stream for the first + time.
          • +
          • The remote user's audio is offline and then goes online to re-send audio. It + means the local user cannot receive audio in 15 seconds. Reasons for such an + interruption include:
              +
            • The remote user leaves channel.
            • +
            • The remote user drops offline.
            • +
            • The remote user calls to stop + sending the audio stream.
            • +
            • The remote user calls to disable + audio.
            • +
            +
          • +
          +

          <ph keyref="callback-section-title"/>

          - - engine - object. - - - uid - The ID of the remote user. - - - elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. - -

          + + engine + object. + + + uid + The ID of the remote user. + + + elapsed + The time elapsed (ms) from the local user calling until the SDK triggers this callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_onfirstremoteaudioframe.dita b/en-US/dita/RTC/API/callback_onfirstremoteaudioframe.dita index e179ca2ae5c..53dd9370999 100644 --- a/en-US/dita/RTC/API/callback_onfirstremoteaudioframe.dita +++ b/en-US/dita/RTC/API/callback_onfirstremoteaudioframe.dita @@ -2,7 +2,8 @@ <ph keyref="onFirstRemoteAudioFrame"/> - Occurs when the SDK receives the first audio frame from a specific remote user. + Occurs when the SDK receives the first audio frame from + a specific remote user. @@ -13,48 +14,50 @@

          - public void onFirstRemoteAudioFrame(int uid, int elapsed) { + public void onFirstRemoteAudioFrame(int uid, int elapsed) { } - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine firstRemoteAudioFrameOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed NS_SWIFT_NAME(rtcEngine(_:firstRemoteAudioFrameOfUid: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 { + virtual void onFirstRemoteAudioFrame(uid_t uid, int elapsed) AGORA_DEPRECATED_ATTRIBUTE { (void)uid; (void)elapsed; } - on(evt: EngineEvents.FIRST_REMOTE_AUDIO_FRAME, cb: ( + on(evt: EngineEvents.FIRST_REMOTE_AUDIO_FRAME, cb: ( uid: number, elapsed: number) => void ): this; - public virtual void OnFirstRemoteAudioFrame(uint uid, int elapsed) - - UidWithElapsedCallback? firstRemoteAudioFrame;

          + public virtual void OnFirstRemoteAudioFrame(uint uid, int elapsed) + + UidWithElapsedCallback? firstRemoteAudioFrame; +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          <ph keyref="callback-section-title"/>

          - - engine - object. - - - uid - The user ID of the remote user. - - - elapsed - - -

          + + engine + object. + + + uid + The user ID of the remote user. + + + elapsed + + + +
          diff --git a/en-US/dita/RTC/API/callback_onfirstremotevideodecoded.dita b/en-US/dita/RTC/API/callback_onfirstremotevideodecoded.dita index ed61d3b70a8..133474cd447 100644 --- a/en-US/dita/RTC/API/callback_onfirstremotevideodecoded.dita +++ b/en-US/dita/RTC/API/callback_onfirstremotevideodecoded.dita @@ -2,7 +2,8 @@ <ph keyref="onFirstRemoteVideoDecoded"/> - Occurs when the first remote video frame is received and decoded. + Occurs when the first remote video frame is received + and decoded. @@ -13,10 +14,10 @@

          - public void onFirstRemoteVideoDecoded(int uid, int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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, + virtual void onFirstRemoteVideoDecoded(uid_t uid, int width, int height, int elapsed) { @@ -25,67 +26,74 @@ (void)height; (void)elapsed; } - on(evt: EngineEvents.FIRST_REMOTE_VIDEO_DECODED, cb: ( + on(evt: EngineEvents.FIRST_REMOTE_VIDEO_DECODED, cb: ( uid: number, width: number, height: number, elapsed: number) => void ): this; - public virtual void OnFirstRemoteVideoDecoded(uint uid, int width, int height, int elapsed) - - VideoFrameWithUidCallback? firstRemoteVideoDecoded;

          + public virtual void OnFirstRemoteVideoDecoded(uint uid, int width, int height, int elapsed) + + VideoFrameWithUidCallback? firstRemoteVideoDecoded; +

          - -
          Deprecated:
          -
          Please use the callback with the following parameters: -
            -
          • (1).
          • -
          • (2).
          • -
          -
          + +
          Deprecated:
          +
          Please use the callback with the + following parameters:
            +
          • (1).
          • +
          • (2).
          • +
          +
          +
          -

          The SDK triggers this callback under one of the following circumstances: -

            -
          • The remote user joins the channel and sends the video stream.
          • -
          • The remote user stops sending the video stream and re-sends it after 15 seconds. Reasons for such an interruption include: -
              -
            • The remote user leaves the channel.
            • -
            • The remote user drops offline.
            • -
            • The remote user calls to stop sending the video stream.
            • -
            • The remote user calls to disable video.
            • -
          • -

          +

          The SDK triggers this callback under one of the following circumstances:

            +
          • The remote user joins the channel and sends the video stream.
          • +
          • The remote user stops sending the video stream and re-sends it after 15 + seconds. Reasons for such an interruption include:
              +
            • The remote user leaves the channel.
            • +
            • The remote user drops offline.
            • +
            • The remote user calls to stop + sending the video stream.
            • +
            • The remote user calls to disable + video.
            • +
            +
          • +
          +

          <ph keyref="callback-section-title"/>

          - - uid - The user ID of the remote user sending the video stream. - - - - - - - size - Video dimensions. - - - width - The width (px) of the video stream. - - - height - The height (px) of the video stream. - - - elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. - -

          + + uid + The user ID of the remote user sending the video stream. + + + + + + + size + Video dimensions. + + + width + The width (px) of the video stream. + + + height + The height (px) of the video stream. + + + elapsed + The time elapsed (ms) from the local user calling until the SDK triggers this callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_onfirstremotevideoframe.dita b/en-US/dita/RTC/API/callback_onfirstremotevideoframe.dita index 09359c770db..16ceb6615cd 100644 --- a/en-US/dita/RTC/API/callback_onfirstremotevideoframe.dita +++ b/en-US/dita/RTC/API/callback_onfirstremotevideoframe.dita @@ -1,9 +1,11 @@ - <ph keyref="onFirstRemoteVideoFrame"/> - - Occurs when the first remote video frame is rendered. + + <ph keyref="onFirstRemoteVideoFrame"/> + + Occurs when the first remote video frame is + rendered. @@ -14,28 +16,29 @@

          - virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) { + virtual void onFirstRemoteVideoFrame(uid_t userId, int width, int height, int elapsed) { (void)userId; (void)width; (void)height; (void)elapsed; - }

          + } +

          - public void onFirstRemoteVideoFrame(int uid, int width, int height, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onFirstRemoteVideoFrame(int uid, int width, int height, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine firstRemoteVideoFrameOfUid:(NSUInteger)uid size:(CGSize)size elapsed:(NSInteger)elapsed; - on(evt: EngineEvents.FIRST_REMOTE_VIDEO_FRAME, cb: ( + on(evt: EngineEvents.FIRST_REMOTE_VIDEO_FRAME, cb: ( uid: number, width: number, height: number, elapsed: number) => void ): this; - public virtual void OnFirstRemoteVideoFrame(uint uid, int width, int height, int elapsed) - - VideoFrameWithUidCallback? firstRemoteVideoFrame; + public virtual void OnFirstRemoteVideoFrame(uint uid, int width, int height, int elapsed) + + VideoFrameWithUidCallback? firstRemoteVideoFrame;

          - virtual void onFirstRemoteVideoFrame(uid_t uid, + virtual void onFirstRemoteVideoFrame(uid_t uid, int width, int height, int elapsed) { @@ -43,45 +46,47 @@ (void)width; (void)height; (void)elapsed; - }

          + } +

          -

          - The SDK triggers this callback when the first local video frame is displayed/rendered on the local video view. The application can retrieve the time elapsed (the elapsed parameter) from a user joining the channel until the first video frame is displayed.

          +

          The SDK triggers this callback when the first local video frame is + displayed/rendered on the local video view. The application can retrieve the + time elapsed (the elapsed parameter) from a user joining + the channel until the first video frame is displayed.

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - uid - uiduserId - The user ID of the remote user sending the video stream. - - - size - Video dimensions. - - - width - The width (px) of the video stream. - - - height - The height (px) of the video stream. - - - elapsed - Time elapsed (ms) from the local user calling until the SDK triggers this callback. - -

          + + + + + + uid + uiduserId + The user ID of the remote user sending the video stream. + + + size + Video dimensions. + + + width + The width (px) of the video stream. + + + height + The height (px) of the video stream. + + + elapsed + Time elapsed (ms) from the local user calling until the SDK triggers this + callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_oninitialize.dita b/en-US/dita/RTC/API/callback_oninitialize.dita index 8b20d5e857c..57636e7defd 100644 --- a/en-US/dita/RTC/API/callback_oninitialize.dita +++ b/en-US/dita/RTC/API/callback_oninitialize.dita @@ -2,7 +2,8 @@ <ph keyref="onInitialize"/> - Notification for initializing the custom video source. + Notification for initializing the custom video + source. @@ -13,30 +14,40 @@

          - - - virtual bool onInitialize(IVideoFrameConsumer *consumer) = 0; - - - -

          + + + virtual bool onInitialize(IVideoFrameConsumer *consumer) = 0; + + + + +

          -

          The SDK triggers this callback to remind you to initialize the custom video source. After receiving this callback, you can do some preparation, such as enabling the camera, and then use the return value to tell the SDK whether the custom video source is prepared.

          +

          The SDK triggers this callback to remind you to initialize the custom video source. + After receiving this callback, you can do some preparation, such as enabling the + camera, and then use the return value to tell the SDK whether the custom video + source is prepared.

          Parameters - - consumer - A object passed to you by the SDK. You need to reserve this object and use it to send the video frame to the SDK once the custom video source is started. - -
          + + consumer + A object passed to you by the SDK. You + need to reserve this object and use it to send the video frame to the SDK + once the custom video source is started. + + +
          Returns
            -
          • : The custom video source is initialized.
          • -
          • : The custom video source is not ready or fails to initialize. The SDK stops and reports the error.
          • -
          +
        1408. : The custom video source is + initialized.
        1409. +
        1410. : The custom video source is not ready or + fails to initialize. The SDK stops and reports the error.
        1411. + +
          diff --git a/en-US/dita/RTC/API/callback_onjoinchannelsuccess.dita b/en-US/dita/RTC/API/callback_onjoinchannelsuccess.dita index 0b704f31966..cf14b48005c 100644 --- a/en-US/dita/RTC/API/callback_onjoinchannelsuccess.dita +++ b/en-US/dita/RTC/API/callback_onjoinchannelsuccess.dita @@ -13,47 +13,52 @@

          - public void onJoinChannelSuccess(String channel, int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onJoinChannelSuccess(String channel, int uid, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinChannel:(NSString * _Nonnull)channel withUid:(NSUInteger)uid elapsed:(NSInteger) elapsed; - virtual void onJoinChannelSuccess(const char* channel, + virtual void onJoinChannelSuccess(const char* channel, uid_t uid, int elapsed) { (void)channel; (void)uid; (void)elapsed; } - on( + on( evt: EngineEvents.JOINED_CHANNEL, cb: (channel: string, uid: number, elapsed: number) => void ): this; - public virtual void OnJoinChannelSuccess(string channel, uint uid, int elapsed) - - UidWithElapsedAndChannelCallback? joinChannelSuccess;

          + public virtual void OnJoinChannelSuccess(string channel, uint uid, int elapsed) + + UidWithElapsedAndChannelCallback? joinChannelSuccess; +

          -

          This callback notifies the application that a user joins a specified channel.

          +

          This callback notifies the application that a user joins a specified + channel.

          <ph keyref="callback-section-title"/> -

          A callback object that includes the following parameters:

          +

          A callback object that includes the following + parameters:

          - - engine - object. - - - channel - The name of the channel. - - - uid - The ID of the user who joins the channel. - - - elapsed - The time elapsed (ms) from the local user calling until the SDK triggers this callback. - -
          + + engine + object. + + + channel + The name of the channel. + + + uid + The ID of the user who joins the channel. + + + elapsed + The time elapsed (ms) from the local user calling until the SDK triggers this callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_onlastmileproberesult.dita b/en-US/dita/RTC/API/callback_onlastmileproberesult.dita index d80f3e37471..78321364fcb 100644 --- a/en-US/dita/RTC/API/callback_onlastmileproberesult.dita +++ b/en-US/dita/RTC/API/callback_onlastmileproberesult.dita @@ -2,7 +2,8 @@ <ph keyref="onLastmileProbeResult"/> - Reports the last mile network probe result. + Reports the last mile network probe + result. @@ -13,39 +14,42 @@

          - public void onLastmileProbeResult(LastmileProbeResult result) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLastmileProbeResult(LastmileProbeResult result) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileProbeTestResult:(AgoraLastmileProbeResult * _Nonnull)result; - virtual void onLastmileProbeResult(const LastmileProbeResult& result) { + virtual void onLastmileProbeResult(const LastmileProbeResult& result) { (void)result; } - on(evt: EngineEvents.LASTMILE_PROBE_RESULT, cb: (result: LastmileProbeResult) => void): this; - public virtual void OnLastmileProbeResult(LastmileProbeResult result) - - LastmileProbeCallback? lastmileProbeResult;

          + on(evt: EngineEvents.LASTMILE_PROBE_RESULT, cb: (result: LastmileProbeResult) => void): this; + public virtual void OnLastmileProbeResult(LastmileProbeResult result) + + LastmileProbeCallback? lastmileProbeResult; +

          - -
          Since
          -
          v2.4.0
          -
          + +
          Since
          +
          v2.4.0
          +
          -

          The SDK triggers this callback within 30 seconds after the app calls .

          +

          The SDK triggers this callback within 30 seconds after the app calls .

          <ph keyref="callback-section-title"/>

          - - - - - - result - The uplink and downlink last-mile network probe test result. For details, + + + + + + result + The uplink and downlink last-mile network probe test result. For details, see . - -

          + + +
          diff --git a/en-US/dita/RTC/API/callback_onlastmilequality.dita b/en-US/dita/RTC/API/callback_onlastmilequality.dita index 571d7cb02bb..4d478ef2dfc 100644 --- a/en-US/dita/RTC/API/callback_onlastmilequality.dita +++ b/en-US/dita/RTC/API/callback_onlastmilequality.dita @@ -2,7 +2,8 @@ <ph keyref="onLastmileQuality"/> - Reports the last-mile network quality of the local user once every two seconds. + Reports the last-mile network quality of the local user + once every two seconds. @@ -13,36 +14,43 @@

          - public void onLastmileQuality(int quality) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality; - virtual void onLastmileQuality(int quality) { + public void onLastmileQuality(int quality) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine lastmileQuality:(AgoraNetworkQuality)quality; + virtual void onLastmileQuality(int quality) { (void)quality; } - on(evt: EngineEvents.LASTMILE_QUALITY, cb: (quality: QUALITY_TYPE) => void): this; - public virtual void OnLastmileQuality(int quality) - - NetworkQualityCallback? lastmileQuality;

          + on(evt: EngineEvents.LASTMILE_QUALITY, cb: (quality: QUALITY_TYPE) => void): this; + public virtual void OnLastmileQuality(int quality) + + NetworkQualityCallback? lastmileQuality; +

          -

          This callback reports the last-mile network conditions of the local user before the user joins the channel. Last mile refers to the connection between the local device and Agora's edge server.

          -

          Before the user joins the channel, this callback is triggered by the SDK once is called and reports the last-mile network conditions of the local user.

          +

          This callback reports the last-mile network conditions of the local user before the + user joins the channel. Last mile refers to the connection between the local device + and Agora's edge server.

          +

          Before the user joins the channel, this callback is triggered by the SDK once is called and reports the last-mile network + conditions of the local user.

          <ph keyref="callback-section-title"/>

          - - - - - - quality - The last mile network quality. See - . -

            -
          • -
          - -
          + + + + + + quality + The last mile network quality. See + . +
            +
          • +
          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onleavechannel.dita b/en-US/dita/RTC/API/callback_onleavechannel.dita index 22fa875428c..36e9f0d3d48 100644 --- a/en-US/dita/RTC/API/callback_onleavechannel.dita +++ b/en-US/dita/RTC/API/callback_onleavechannel.dita @@ -13,32 +13,36 @@

          - public void onLeaveChannel(RtcStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLeaveChannel(RtcStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLeaveChannelWithStats:(AgoraChannelStats * _Nonnull)stats; - virtual void onLeaveChannel(const RtcStats& stats) { + virtual void onLeaveChannel(const RtcStats& stats) { (void)stats; } - on(evt: EngineEvents.LEAVE_CHANNEL, cb: (stats: RtcStats) => void): this; - public virtual void OnLeaveChannel(RtcStats stats) - - RtcStatsCallback? leaveChannel;

          + on(evt: EngineEvents.LEAVE_CHANNEL, cb: (stats: RtcStats) => void): this; + public virtual void OnLeaveChannel(RtcStats stats) + + RtcStatsCallback? leaveChannel; +

          -

          This callback notifies the app that the user leaves the channel by calling . From this callback, the app can get information such as the call duration and quality statistics.

          +

          This callback notifies the app that the user leaves the channel by calling . From this callback, the app can get information such as + the call duration and quality statistics.

          <ph keyref="callback-section-title"/>

          - - - - - - stats - The statistics of the call, see . - -

          + + + + + + stats + The statistics of the call, see . + + +
          diff --git a/en-US/dita/RTC/API/callback_onlocalaudiostatechanged.dita b/en-US/dita/RTC/API/callback_onlocalaudiostatechanged.dita index 4e507112fde..8bad0f59aeb 100644 --- a/en-US/dita/RTC/API/callback_onlocalaudiostatechanged.dita +++ b/en-US/dita/RTC/API/callback_onlocalaudiostatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalAudioStateChanged"/> - Occurs when the local audio stream state changes. + Occurs when the local audio stream state + changes. @@ -13,47 +14,57 @@

          - public void onLocalAudioStateChanged( + public void onLocalAudioStateChanged( LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStateChanged:(AgoraAudioLocalState)state error:(AgoraAudioLocalError)error; - virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) { + virtual void onLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) { (void)state; (void)error; } - on(evt: EngineEvents.LOCAL_AUDIO_STATE_CHANGED, cb: ( + on(evt: EngineEvents.LOCAL_AUDIO_STATE_CHANGED, cb: ( state: number, error: number ) => void): this; - public virtual void OnLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) - - LocalAudioStateCallback? localAudioStateChanged;

          + public virtual void OnLocalAudioStateChanged(LOCAL_AUDIO_STREAM_STATE state, LOCAL_AUDIO_STREAM_ERROR error) + + LocalAudioStateCallback? localAudioStateChanged; +

          - -
          Since
          -
          v2.9.0
          -
          + +
          Since
          +
          v2.9.0
          +
          -

          When the state of the local audio stream changes (including the state of the audio capture and encoding), the SDK triggers this callback to report the current state. This callback indicates the state of the local audio stream, and allows you to troubleshoot issues when audio exceptions occur.

          - When the state is (3), you can view the error information in the error parameter.
          +

          When the state of the local audio stream changes (including the state of + the audio capture and encoding), the SDK triggers this callback to report the + current state. This callback indicates the state of the local audio stream, and + allows you to troubleshoot issues when audio exceptions occur.

          + When the state is (3), you can view the + error information in the error parameter. +
          <ph keyref="callback-section-title"/>

          - - - - - - state - The state of the local audio. For details, see . - - - error - Local audio state error codes. For details, see . - -

          + + + + + + state + The state of the local audio. For details, see . + + + error + Local audio state error codes. For details, see . + + +
          diff --git a/en-US/dita/RTC/API/callback_onlocalaudiostats.dita b/en-US/dita/RTC/API/callback_onlocalaudiostats.dita index 34d7cc7ed2b..ecae73e4396 100644 --- a/en-US/dita/RTC/API/callback_onlocalaudiostats.dita +++ b/en-US/dita/RTC/API/callback_onlocalaudiostats.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalAudioStats"/> - Reports the statistics of the local audio stream. + Reports the statistics of the local audio + stream. @@ -13,16 +14,17 @@

          - public void onLocalAudioStats(LocalAudioStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalAudioStats(LocalAudioStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localAudioStats:(AgoraRtcLocalAudioStats * _Nonnull)stats; - virtual void onLocalAudioStats(const LocalAudioStats& stats) { + virtual void onLocalAudioStats(const LocalAudioStats& stats) { (void)stats; } - on(evt: EngineEvents.LOCAL_AUDIO_STATS, cb: (stats: LocalAudioStats) => void): this; - public virtual void OnLocalAudioStats(LocalAudioStats stats) - - LocalAudioStatsCallback? localAudioStats;

          + on(evt: EngineEvents.LOCAL_AUDIO_STATS, cb: (stats: LocalAudioStats) => void): this; + public virtual void OnLocalAudioStats(LocalAudioStats stats) + + LocalAudioStatsCallback? localAudioStats; +

          The SDK triggers this callback once every two seconds.

          @@ -31,14 +33,16 @@ <ph keyref="callback-section-title"/>

          - - - - - - stats - Local audio statistics. For details, see . - -

          + + + + + + stats + Local audio statistics. For details, see . + + +
          diff --git a/en-US/dita/RTC/API/callback_onlocalpublishfallbacktoaudioonly.dita b/en-US/dita/RTC/API/callback_onlocalpublishfallbacktoaudioonly.dita index 9b74a5defe0..090deee5f95 100644 --- a/en-US/dita/RTC/API/callback_onlocalpublishfallbacktoaudioonly.dita +++ b/en-US/dita/RTC/API/callback_onlocalpublishfallbacktoaudioonly.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalPublishFallbackToAudioOnly"/> - Occurs when the published media stream falls back to an audio-only stream. + Occurs when the published media stream falls back to an + audio-only stream. @@ -13,38 +14,48 @@

          - public void onLocalPublishFallbackToAudioOnly(boolean isFallbackOrRecover) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalPublishFallbackToAudioOnly(boolean isFallbackOrRecover) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalPublishFallbackToAudioOnly:(BOOL)isFallbackOrRecover; - virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) { + virtual void onLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) { (void)isFallbackOrRecover; } - on(evt: EngineEvents.LOCAL_PUBLISH_FALLBACK_TO_AUDIO_ONLY, cb: (isFallbackOrRecover: boolean) => void): this; - public virtual void OnLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) - - FallbackCallback? localPublishFallbackToAudioOnly;

          + on(evt: EngineEvents.LOCAL_PUBLISH_FALLBACK_TO_AUDIO_ONLY, cb: (isFallbackOrRecover: boolean) => void): this; + public virtual void OnLocalPublishFallbackToAudioOnly(bool isFallbackOrRecover) + + FallbackCallback? localPublishFallbackToAudioOnly; +

          -

          If you call and set option as , the SDK triggers this callback when the remote media stream falls back to audio-only mode due to poor uplink conditions, or when the remote media stream switches back to the video after the uplink network condition improves.

          - If the local stream falls back to the audio-only stream, the remote user receives the callback.
          +

          If you call and set + option as , the SDK triggers this callback + when the remote media stream falls back to audio-only mode due to poor uplink + conditions, or when the remote media stream switches back to the video after the + uplink network condition improves.

          + If the local stream falls back to the audio-only stream, the + remote user receives the callback. +
          <ph keyref="callback-section-title"/>

          - - - - - - isFallbackOrRecover - -

            -
          • : The published stream falls + + + + + + isFallbackOrRecover + +
              +
            • : The published stream falls back to audio-only due to poor network conditions.
            • -
            • : The published stream switches +
            • : The published stream switches back to the video after the network conditions improve.
            • -
            -
            -
          + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onlocaluserregistered.dita b/en-US/dita/RTC/API/callback_onlocaluserregistered.dita index 39c1d727fef..e68991666d9 100644 --- a/en-US/dita/RTC/API/callback_onlocaluserregistered.dita +++ b/en-US/dita/RTC/API/callback_onlocaluserregistered.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalUserRegistered"/> - Occurs when the local user registers a user account. + Occurs when the local user registers a user + account. @@ -13,48 +14,55 @@

          - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalUserRegisteredWithUserId:(NSUInteger)uid userAccount:(NSString * _Nonnull)userAccount;

          + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didLocalUserRegisteredWithUserId:(NSUInteger)uid userAccount:(NSString * _Nonnull)userAccount; +

          - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine didRegisteredLocalUser:(NSString* _Nonnull)userAccount withUid:(NSUInteger)uid;

          + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine didRegisteredLocalUser:(NSString* _Nonnull)userAccount withUid:(NSUInteger)uid; +

          - public void onLocalUserRegistered(int uid, String userAccount) {} - virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) { + public void onLocalUserRegistered(int uid, String userAccount) {} + virtual void onLocalUserRegistered(uid_t uid, const char* userAccount) { (void)uid; (void)userAccount; } - on(evt: EngineEvents.LOCAL_USER_REGISTERED, cb: ( + on(evt: EngineEvents.LOCAL_USER_REGISTERED, cb: ( uid: number, userAccount: string) => void ): this; - public virtual void OnLocalUserRegistered(uint uid, string userAccount) - - UserAccountCallback? localUserRegistered;

          + public virtual void OnLocalUserRegistered(uint uid, string userAccount) + + UserAccountCallback? localUserRegistered; +

          - -
          Since
          -
          v2.8.0
          -
          + +
          Since
          +
          v2.8.0
          +
          -

          After the local user successfully calls to register the user account or calls to join a channel, the SDK triggers the callback and informs the local user's UID and User Account.

          +

          After the local user successfully calls to + register the user account or calls + to join a channel, the SDK triggers the callback and informs the local user's UID + and User Account.

          <ph keyref="callback-section-title"/>

          - - - - - - uid - The ID of the local user. - - - userAccount - The user account of the local user. - -

          + + + + + + uid + The ID of the local user. + + + userAccount + The user account of the local user. + + +
          diff --git a/en-US/dita/RTC/API/callback_onlocalvideostatechanged.dita b/en-US/dita/RTC/API/callback_onlocalvideostatechanged.dita index 1a4a42348d7..93d9308086c 100644 --- a/en-US/dita/RTC/API/callback_onlocalvideostatechanged.dita +++ b/en-US/dita/RTC/API/callback_onlocalvideostatechanged.dita @@ -1,8 +1,11 @@ - <ph keyref="onLocalVideoStateChanged"/> - Occurs when the local video stream state changes. + + <ph keyref="onLocalVideoStateChanged"/> + + Occurs when the local video stream state + changes. @@ -13,91 +16,135 @@

          - public void onLocalVideoStateChanged(int state, int error) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalVideoStateChanged(int state, int error) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStateChangedOfState:(AgoraVideoLocalState)state error:(AgoraLocalVideoStreamError)error; - virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) { + virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE state, LOCAL_VIDEO_STREAM_ERROR error) { (void)state; (void)error; - }

          + } +

          - public void onLocalVideoStateChanged(int localVideoState, int error) { + public void onLocalVideoStateChanged(int localVideoState, int error) { } - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine localVideoStateChange:(AgoraLocalVideoStreamState)state error:(AgoraLocalVideoStreamError)error NS_SWIFT_NAME(rtcEngine(_:localVideoStateChange:error:)); + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine localVideoStateChange:(AgoraLocalVideoStreamState)state error:(AgoraLocalVideoStreamError)error NS_SWIFT_NAME(rtcEngine(_:localVideoStateChange:error:)); - virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE localVideoState, + virtual void onLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE localVideoState, LOCAL_VIDEO_STREAM_ERROR error) { (void)localVideoState; (void)error; - }

          + } +

          - on(evt: EngineEvents.LOCAL_VIDEO_STATE_CHANGED, cb: ( + on(evt: EngineEvents.LOCAL_VIDEO_STATE_CHANGED, cb: ( localVideoState: number, error: number ) => void): this; - public virtual void OnLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE localVideoState, + public virtual void OnLocalVideoStateChanged(LOCAL_VIDEO_STREAM_STATE localVideoState, LOCAL_VIDEO_STREAM_ERROR error) - - LocalVideoStateCallback? localVideoStateChanged;

          + + LocalVideoStateCallback? localVideoStateChanged; +

          - -
          Since
          -
          v2.4.1
          -
          + +
          Since
          +
          v2.4.1
          +
          -

          When the state of the local video stream changes (including the state of the video capture and encoding), the SDK triggers this callback to report the current state. This callback indicates the state of the local video stream, including camera capturing and video encoding, and allows you to troubleshoot issues when exceptions occur.

          -

          The SDK triggers the callback with the state code of and error code of in the following situations: -

            -
          • The app switches to the background, and the system gets the camera resource.
          • -
          • The camera starts normally, but does not output video for four consecutive seconds.
          • -

          -

          When the camera outputs the captured video frames, if the video frames are the same for 15 consecutive frames, the SDK triggers the callback with the state code of and error code of . Note that the video frame duplication detection is only available for video frames with a resolution greater than 200 × 200, a frame rate greater than or equal to 10 fps, and a bitrate less than 20 Kbps.

          - For some device models, the SDK does not trigger this callback when the state of the local video changes while the local video capturing device is in use, so you have to make your own timeout judgment.
          +

          When the state of the local video stream changes (including the state of + the video capture and encoding), the SDK triggers this callback to report the + current state. This callback indicates the state of the local video stream, + including camera capturing and video encoding, and allows you to troubleshoot issues + when exceptions occur.

          +

          The SDK triggers the callback with the + state code of and error code of + in the following + situations:

            +
          • The app switches to the background, and the system gets the camera + resource.
          • +
          • The camera starts normally, but does not output video for four consecutive + seconds.
          • +

          +

          When the camera outputs the captured video frames, if the video frames are the same + for 15 consecutive frames, the SDK triggers the callback with the state code of and error code of . Note that the video frame + duplication detection is only available for video frames with a resolution greater + than 200 × 200, a frame rate greater than or equal to 10 fps, and a bitrate less + than 20 Kbps.

          + For some device models, the SDK does not trigger this + callback when the state of the local video changes while the local video capturing + device is in use, so you have to make your own timeout judgment. +
          <ph keyref="callback-section-title"/>

          - - - - - - state - localVideoState - localVideoStatestatestate - -

          The state of the local video, see .

          -

          -

            -
          • (0): The local video is in the initial state.
          • -
          • (1): The local video capturing device starts successfully.
          • -
          • (2): The first video frame is successfully encoded.
          • -
          • (3): Fails to start the local video.
          • -

          - - - - error - -

          The detailed error information, see .

          -

          -

            -
          • (0): The local video is normal.
          • -
          • (1): No specified reason for the local video failure.
          • -
          • (2): No permission to use the local video capturing device.
          • -
          • (3): The local video capturing device is in use.
          • -
          • (4): The local video capture fails. Check whether the capturing device is working properly. -
              -
            • If your app runs in the background on a device running Android 9 or later, you cannot access the camera.
            • -
            • If your app runs on a device running Android 6 or later, this error is reported if the camera is occupied by a third-party app and not property released. Once the camera is released, the SDK triggers this callback again, reporting state CAPTURING, and error ERROR_OK.
            • -
          • -
          • (5): The local video encoding fails.
          • -

          -
          -
          -
          + + + + + + state + localVideoState + localVideoStatestatestate + +

          The state of the local video, see + .

          +

          +

            +
          • (0): The local + video is in the initial state.
          • +
          • (1): The local + video capturing device starts successfully.
          • +
          • (2): The first + video frame is successfully encoded.
          • +
          • (3): Fails to + start the local video.
          • +
          +

          +
          +
          + + error + +

          The detailed error information, + see .

          +

          +

            +
          • (0): The local video + is normal.
          • +
          • (1): No specified + reason for the local video failure.
          • +
          • (2): + No permission to use the local video capturing device.
          • +
          • (3): The + local video capturing device is in use.
          • +
          • (4): The + local video capture fails. Check whether the capturing device is + working properly.
              +
            • If your app runs in the background on a device running + Android 9 or later, you cannot access the camera.
            • +
            • If your app runs on a device running Android 6 or later, + this error is reported if the camera is occupied by a + third-party app and not property released. Once the + camera is released, the SDK triggers this callback + again, reporting state + CAPTURING, and error + ERROR_OK.
            • +
          • +
          • (5): The + local video encoding fails.
          • +
          +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onlocalvideostats.dita b/en-US/dita/RTC/API/callback_onlocalvideostats.dita index 5e85afba408..f39f5da5027 100644 --- a/en-US/dita/RTC/API/callback_onlocalvideostats.dita +++ b/en-US/dita/RTC/API/callback_onlocalvideostats.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalVideoStats"/> - Reports the statistics of the local video stream. + Reports the statistics of the local video + stream. @@ -13,32 +14,36 @@

          - public void onLocalVideoStats(LocalVideoStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onLocalVideoStats(LocalVideoStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine localVideoStats:(AgoraRtcLocalVideoStats * _Nonnull)stats; - virtual void onLocalVideoStats(const LocalVideoStats& stats) { + virtual void onLocalVideoStats(const LocalVideoStats& stats) { (void)stats; } - on(evt: EngineEvents.LOCAL_VIDEO_STATS, cb: (stats: LocalVideoStats) => void): this; - public virtual void OnLocalVideoStats(LocalVideoStats stats) - - LocalVideoStatsCallback? localVideoStats;

          + on(evt: EngineEvents.LOCAL_VIDEO_STATS, cb: (stats: LocalVideoStats) => void): this; + public virtual void OnLocalVideoStats(LocalVideoStats stats) + + LocalVideoStatsCallback? localVideoStats; +

          -

          The SDK triggers this callback once every two seconds to report the statistics of the local video stream.

          +

          The SDK triggers this callback once every two seconds to report the + statistics of the local video stream.

          <ph keyref="callback-section-title"/>

          - - - - - - stats - The statistics of the local video stream. For details, see . - -

          + + + + + + stats + The statistics of the local video stream. For details, see . + + +
          diff --git a/en-US/dita/RTC/API/callback_onlocalvoicepitchinhz.dita b/en-US/dita/RTC/API/callback_onlocalvoicepitchinhz.dita index f6bac0ab987..fc218ccfd1d 100644 --- a/en-US/dita/RTC/API/callback_onlocalvoicepitchinhz.dita +++ b/en-US/dita/RTC/API/callback_onlocalvoicepitchinhz.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalVoicePitchInHz"/> - Reports the voice pitch of the local user. + Reports the voice pitch of the local + user. @@ -13,25 +14,29 @@

          - + OnLocalVoicePitchInHz? localVoicePitchInHz;

          -

          After the local audio capture is enabled and you call , the SDK triggers the callback at the time interval set in . -

          - After this callback is enabled, if the user disables the local audio capture, for example, by calling enableLocalAudio(false), the SDK immediately stops sending the callback. - +

          After the local audio capture is enabled and you call , the SDK triggers the callback at the time interval set in .

          + After this callback is enabled, if the user disables the local + audio capture, for example, by calling enableLocalAudio(false), the SDK immediately stops sending the callback.
          - <ph keyref="callback-section-title" /> + <ph keyref="callback-section-title"/> -

          +

          - - + + pitchInHz diff --git a/en-US/dita/RTC/API/callback_onmediaengineloadsuccess.dita b/en-US/dita/RTC/API/callback_onmediaengineloadsuccess.dita index e69576ea1a8..2765d2818ca 100644 --- a/en-US/dita/RTC/API/callback_onmediaengineloadsuccess.dita +++ b/en-US/dita/RTC/API/callback_onmediaengineloadsuccess.dita @@ -13,22 +13,24 @@

          - public void onMediaEngineLoadSuccess() {} - - (void)rtcEngineMediaEngineDidLoaded:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onMediaEngineLoadSuccess() - - public virtual void OnMediaEngineLoadSuccess() - - EmptyCallback? mediaEngineLoadSuccess;

          + public void onMediaEngineLoadSuccess() {} + - (void)rtcEngineMediaEngineDidLoaded:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onMediaEngineLoadSuccess() + + public virtual void OnMediaEngineLoadSuccess() + + EmptyCallback? mediaEngineLoadSuccess; +

          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onmediaenginestartcallsuccess.dita b/en-US/dita/RTC/API/callback_onmediaenginestartcallsuccess.dita index 07849351963..c38574749ad 100644 --- a/en-US/dita/RTC/API/callback_onmediaenginestartcallsuccess.dita +++ b/en-US/dita/RTC/API/callback_onmediaenginestartcallsuccess.dita @@ -2,7 +2,8 @@ <ph keyref="onMediaEngineStartCallSuccess"/> - Occurs when the media engine call starts. + Occurs when the media engine call + starts. @@ -13,22 +14,24 @@

          - public void onMediaEngineStartCallSuccess() {} - - (void)rtcEngineMediaEngineDidStartCall:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onMediaEngineStartCallSuccess() - on(evt: EngineEvents.MEDIA_ENGINE_START_CALL_SUCCESS, cb: () => void): this; - public virtual void OnMediaEngineStartCallSuccess() - - EmptyCallback? mediaEngineStartCallSuccess;

          + public void onMediaEngineStartCallSuccess() {} + - (void)rtcEngineMediaEngineDidStartCall:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onMediaEngineStartCallSuccess() + on(evt: EngineEvents.MEDIA_ENGINE_START_CALL_SUCCESS, cb: () => void): this; + public virtual void OnMediaEngineStartCallSuccess() + + EmptyCallback? mediaEngineStartCallSuccess; +

          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onmicrophoneenabled.dita b/en-US/dita/RTC/API/callback_onmicrophoneenabled.dita index 914edfc4b7a..5b92eade36d 100644 --- a/en-US/dita/RTC/API/callback_onmicrophoneenabled.dita +++ b/en-US/dita/RTC/API/callback_onmicrophoneenabled.dita @@ -2,7 +2,8 @@ <ph keyref="onMicrophoneEnabled"/> - Occurs when the microphone is enabled/disabled. + Occurs when the microphone is + enabled/disabled. @@ -13,43 +14,46 @@

          - - - virtual void onMicrophoneEnabled(bool enabled) { (void)enabled; } - on(evt: EngineEvents.MICROPHONE_ENABLED, cb: (enabled: boolean) => void): this; - public virtual void OnMicrophoneEnabled(bool enabled) - - EnabledCallback? microphoneEnabled;

          + + + virtual void onMicrophoneEnabled(bool enabled) { (void)enabled; } + on(evt: EngineEvents.MICROPHONE_ENABLED, cb: (enabled: boolean) => void): this; + public virtual void OnMicrophoneEnabled(bool enabled) + + EnabledCallback? microphoneEnabled; +

          - -
          Deprecated:
          -
          -

          Please use the callback: -

            -
          • (0).
          • -
          • (1).
          • -

          -
          -
          + +
          Deprecated:
          +
          +

          Please use the callback:

            +
          • (0).
          • +
          • (1).
          • +

          +
          +
          -

          The SDK triggers this callback when the local user resumes or stops capturing the local audio stream by calling the method.

          +

          The SDK triggers this callback when the local user + resumes or stops capturing the local audio stream by calling the method.

          <ph keyref="callback-section-title"/>

          - - enabled - -

          Whether the microphone is enabled/disabled: -

            -
          • : The microphone is enabled.
          • -
          • : The microphone is disabled.
          • -

          - - -
          + + enabled + +

          Whether the microphone is enabled/disabled:

            +
          • : The microphone is + enabled.
          • +
          • : The microphone is + disabled.
          • +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onnetworkquality.dita b/en-US/dita/RTC/API/callback_onnetworkquality.dita index ab0479332e6..9bb3c56286c 100644 --- a/en-US/dita/RTC/API/callback_onnetworkquality.dita +++ b/en-US/dita/RTC/API/callback_onnetworkquality.dita @@ -2,8 +2,8 @@ <ph keyref="onNetworkQuality"/> - Reports the last mile network quality of each user in the channel. + Reports the last mile network quality of each user in + the channel. @@ -14,77 +14,78 @@

          - public void onNetworkQuality(int uid, int txQuality, int rxQuality) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onNetworkQuality(int uid, int txQuality, int rxQuality) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkQuality:(NSUInteger)uid txQuality:(AgoraNetworkQuality)txQuality rxQuality:(AgoraNetworkQuality)rxQuality; - virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) { + virtual void onNetworkQuality(uid_t uid, int txQuality, int rxQuality) { (void)uid; (void)txQuality; (void)rxQuality; } - on(evt: EngineEvents.NETWORK_QUALITY, cb: ( + on(evt: EngineEvents.NETWORK_QUALITY, cb: ( uid: number, txquality: QUALITY_TYPE, rxquality: QUALITY_TYPE ) => void ): this; - public virtual void OnNetworkQuality(uint uid, int txQuality, int rxQuality) - - NetworkQualityWithUidCallback? networkQuality; + public virtual void OnNetworkQuality(uint uid, int txQuality, int rxQuality) + + NetworkQualityWithUidCallback? networkQuality;

          -

          This callback reports the last mile network conditions of each user in the channel. Last mile refers to the connection between the local device and Agora's edge server.

          -

          The SDK triggers this callback once every two seconds. If a channel includes multiple users, the SDK triggers this callback as many times.

          +

          This callback reports the last mile network conditions of each user in the + channel. Last mile refers to the connection between the local device and Agora's + edge server.

          +

          The SDK triggers this callback once every two seconds. If a channel + includes multiple users, the SDK triggers this callback as many times.

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - uid - -

          User ID. The network quality of the user with this user ID is + + + + + + uid + +

          User ID. The network quality of the user with this user ID is reported.

          -

          If the uid is 0, the local network quality is reported.

          - - - - txQuality - Uplink network quality rating of the user in terms of the transmission bit +

          If the uid is 0, the local network quality is reported.

          +
          +
          + + txQuality + Uplink network quality rating of the user in terms of the transmission bit rate, packet loss rate, average RTT (Round-Trip Time) and jitter of the uplink network. This parameter is a quality rating helping you understand how well the current uplink network conditions can support the selected video encoder configuration. For example, a 1000 Kbps uplink network may be adequate for video frames with a resolution of 640 × 480 and a frame rate of 15 fps in the LIVE_BROADCASTING profile, but might be inadequate for - resolutions higher than 1280 × 720. For details, see . -
            -
          • -
          -
          - - rxQuality - Downlink network quality rating of the user in terms of packet loss rate, + resolutions higher than 1280 × 720. For + details, see . +
            +
          • +
          +
          +
          + + rxQuality + Downlink network quality rating of the user in terms of packet loss rate, average RTT, and jitter of the downlink network. For details, see . -
            -
          • -
          -
          -
          + props="ios mac cpp electron cs"> For details, see . +
            +
          • +
          + + + +
          diff --git a/en-US/dita/RTC/API/callback_onnetworktypechanged.dita b/en-US/dita/RTC/API/callback_onnetworktypechanged.dita index 04b4a82b0da..248f1d871ae 100644 --- a/en-US/dita/RTC/API/callback_onnetworktypechanged.dita +++ b/en-US/dita/RTC/API/callback_onnetworktypechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onNetworkTypeChanged"/> - Occurs when the local network type changes. + Occurs when the local network type + changes. @@ -13,56 +14,62 @@

          - public void onNetworkTypeChanged(int type) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type; - virtual void onNetworkTypeChanged(NETWORK_TYPE type) { + public void onNetworkTypeChanged(int type) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine networkTypeChanged:(AgoraNetworkType)type; + virtual void onNetworkTypeChanged(NETWORK_TYPE type) { (void)type; } - on(evt: EngineEvents.NETWORK_TYPE_CHANGED, cb: (type: NETWORK_TYPE) => void): this; - public virtual void OnNetworkTypeChanged(NETWORK_TYPE type) - - NetworkTypeCallback? networkTypeChanged;

          + on(evt: EngineEvents.NETWORK_TYPE_CHANGED, cb: (type: NETWORK_TYPE) => void): this; + public virtual void OnNetworkTypeChanged(NETWORK_TYPE type) + + NetworkTypeCallback? networkTypeChanged; +

          - -
          Since
          -
          v2.4.1
          -
          + +
          Since
          +
          v2.4.1
          +
          -

          This callback occurs when the connection state of the local user changes. You can get the connection state and reason for the state change in this callback. When the network connection is interrupted, this callback indicates whether the interruption is caused by a network type change or poor network conditions.

          +

          This callback occurs when the connection state of the local user changes. + You can get the connection state and reason for the state change in this callback. + When the network connection is interrupted, this callback indicates whether the + interruption is caused by a network type change or poor network conditions.

          <ph keyref="callback-section-title"/>

          - - - - - - type - -

          The type of the local network connection. - For details, see .

          -

          Network type: -

            -
          • (-1): The network type is - unknown.
          • -
          • (0): The SDK disconnects from - the network.
          • -
          • (1): The network type is LAN.
          • -
          • (2): The network type is Wi-Fi - (including hotspots).
          • -
          • (3) : The network type is mobile - 2G.
          • -
          • (4): The network type is mobile - 3G.
          • -
          • (5): The network type is mobile - 4G.
          • -

          - - -
          + + + + + + type + +

          The type of the local network connection. + For details, see .

          +

          Network type:

            +
          • (-1): The network type is + unknown.
          • +
          • (0): The SDK + disconnects from the network.
          • +
          • (1): The network type is + LAN.
          • +
          • (2): The network type is Wi-Fi + (including hotspots).
          • +
          • (3) : The network type is + mobile 2G.
          • +
          • (4): The network type is + mobile 3G.
          • +
          • (5): The network type is + mobile 4G.
          • +
          +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onpermissionerror.dita b/en-US/dita/RTC/API/callback_onpermissionerror.dita index c81ad6d1b48..1ebb751843a 100644 --- a/en-US/dita/RTC/API/callback_onpermissionerror.dita +++ b/en-US/dita/RTC/API/callback_onpermissionerror.dita @@ -2,7 +2,8 @@ <ph keyref="onPermissionError"/> - Occurs when the SDK cannot get the device permission. + Occurs when the SDK cannot get the device + permission. @@ -13,32 +14,37 @@

          - public void onPermissionError(PERMISSION permission) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type; - virtual void onPermissionError(PERMISSION_TYPE permissionType) { + public void onPermissionError(PERMISSION permission) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine permissionError:(AgoraPermissionType)type; + virtual void onPermissionError(PERMISSION_TYPE permissionType) { (void)permissionType; } - - - -

          + + + + +

          -

          When the SDK fails to get the device permission, the SDK triggers this callback to report which device permission cannot be got.

          - This method is for Android and iOS only.
          +

          When the SDK fails to get the device permission, the SDK triggers this callback to + report which device permission cannot be got.

          + This method is for Android and iOS only. +
          Parameters - - - - - - permission - type - permissionType - The type of the device permission. For details, see . - -
          + + + + + + permission + type + permissionType + The type of the device permission. For details, see . + + +
          diff --git a/en-US/dita/RTC/API/callback_onproxyconnected.dita b/en-US/dita/RTC/API/callback_onproxyconnected.dita index 7474864346a..1b1dd1fccd0 100644 --- a/en-US/dita/RTC/API/callback_onproxyconnected.dita +++ b/en-US/dita/RTC/API/callback_onproxyconnected.dita @@ -13,47 +13,59 @@

          - virtual void onProxyConnected(IChannel* rtcChannel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) { + virtual void onProxyConnected(IChannel* rtcChannel, uid_t uid, PROXY_TYPE proxyType, const char* localProxyIp, int elapsed) { (void)rtcChannel; (void)uid; (void)proxyType; (void)localProxyIp; (void)elapsed; } - - public virtual void OnProxyConnected(string channel, uint uid, PROXY_TYPE proxyType, string localProxyIp, int elapsed) - - OnProxyConnected? proxyConnected;

          + + public virtual void OnProxyConnected(string channel, uint uid, PROXY_TYPE proxyType, string localProxyIp, int elapsed) + + OnProxyConnected? proxyConnected; +

          -

          You can use this callback to listen for the state of the SDK connecting to a proxy. For example, when a user calls and joins a channel successfully, the SDK triggers this callback to report the user ID, the proxy type connected, and the time elapsed from the user calling until this callback is triggered.

          -

          You can use this callback to listen for the state of the SDK connecting to a proxy. For example, when a user calls and joins a channel successfully, the SDK triggers this callback to report the user ID, the proxy type connected, and the time elapsed from the user calling until this callback is triggered.

          +

          You can use this callback to listen for the state of the SDK + connecting to a proxy. For example, when a user calls + and joins a channel successfully, the SDK triggers this callback to report the user + ID, the proxy type connected, and the time elapsed from the user calling until this callback is triggered.

          +

          You can use this callback to listen for the state of the SDK + connecting to a proxy. For example, when a user calls + and joins a channel successfully, the SDK triggers this callback to report the user + ID, the proxy type connected, and the time elapsed from the user calling until this callback is triggered.

          Parameters

          - - channel - The channel name. - - - uid - The user ID. - - - proxyType - The proxy type connected. See . - - - localProxyIp - Reserved for future use. - - - elapsed - The time elapsed (ms) from the user calling until this callback is triggered. - The time elapsed (ms) from the user calling until this callback is triggered. - -

          + + channel + The channel name. + + + uid + The user ID. + + + proxyType + The proxy type connected. See . + + + localProxyIp + Reserved for future use. + + + elapsed + The time elapsed (ms) from the user calling until this callback is triggered. + The time elapsed (ms) from the user calling until this callback is triggered. + + +
          diff --git a/en-US/dita/RTC/API/callback_onrecorderinfoupdated.dita b/en-US/dita/RTC/API/callback_onrecorderinfoupdated.dita index 8c7928e4347..b2848badb57 100644 --- a/en-US/dita/RTC/API/callback_onrecorderinfoupdated.dita +++ b/en-US/dita/RTC/API/callback_onrecorderinfoupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onRecorderInfoUpdated"/> - Occurs when the recording information is updated. + Occurs when the recording information is + updated. @@ -13,25 +14,31 @@

          - - - - - - - OnRecorderInfoUpdated? onRecorderInfoUpdated;

          + + + + + + + OnRecorderInfoUpdated? onRecorderInfoUpdated; +

          -

          After you successfully register this callback and enable the local audio and video recording, the SDK periodically triggers this callback according to the value of recorderInfoUpdateInterval you set in . This callback reports the filename, duration, and size of the current recording file.

          +

          After you successfully register this callback and enable the local audio and video + recording, the SDK periodically triggers this callback according to the value of + recorderInfoUpdateInterval you set in . This callback reports the filename, + duration, and size of the current recording file.

          <ph keyref="callback-section-title"/>

          - - info - Information of the recording file. See . - -

          + + info + Information of the recording file. See . + + +
          diff --git a/en-US/dita/RTC/API/callback_onrecorderstatechanged.dita b/en-US/dita/RTC/API/callback_onrecorderstatechanged.dita index 8899321df39..5ba81a59aa9 100644 --- a/en-US/dita/RTC/API/callback_onrecorderstatechanged.dita +++ b/en-US/dita/RTC/API/callback_onrecorderstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onRecorderStateChanged"/> - Occurs when the local audio and video recording state changes. + Occurs when the local audio and video recording state + changes. @@ -13,29 +14,33 @@

          - - - - - - - OnRecorderStateChanged? onRecorderStateChanged;

          + + + + + + + OnRecorderStateChanged? onRecorderStateChanged; +

          -

          When the local audio and video recording state changes, the SDK triggers this callback to report the current recording state and the reason for the change.

          +

          When the local audio and video recording state changes, the SDK triggers this + callback to report the current recording state and the reason for the change.

          <ph keyref="callback-section-title"/>

          - - state - The current recording state. See . - - - error - The reason for the state change. See . - -

          + + state + The current recording state. See . + + + error + The reason for the state change. See . + + +
          diff --git a/en-US/dita/RTC/API/callback_onrejoinchannelsuccess.dita b/en-US/dita/RTC/API/callback_onrejoinchannelsuccess.dita index c43cd016697..f364090c537 100644 --- a/en-US/dita/RTC/API/callback_onrejoinchannelsuccess.dita +++ b/en-US/dita/RTC/API/callback_onrejoinchannelsuccess.dita @@ -2,7 +2,8 @@ <ph keyref="onRejoinChannelSuccess"/> - Occurs when a user rejoins the channel. + Occurs when a user rejoins the + channel. @@ -13,47 +14,51 @@

          - public void onRejoinChannelSuccess(String channel, int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRejoinChannelSuccess(String channel, int uid, int elapsed) {} + - (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) { + virtual void onRejoinChannelSuccess(const char* channel, uid_t uid, int elapsed) { (void)channel; (void)uid; (void)elapsed; } - on(evt: EngineEvents.REJOIN_CHANNEL_SUCCESS, cb: ( + on(evt: EngineEvents.REJOIN_CHANNEL_SUCCESS, cb: ( channel: string, uid: number, elapsed: number) => void ): this; - public virtual void OnRejoinChannelSuccess(string channel, uint uid, int elapsed) - - UidWithElapsedAndChannelCallback? rejoinChannelSuccess;

          + public virtual void OnRejoinChannelSuccess(string channel, uint uid, int elapsed) + + UidWithElapsedAndChannelCallback? rejoinChannelSuccess; +

          -

          When a user loses connection with the server because of network problems, the SDK automatically tries to reconnect and triggers this callback upon reconnection.

          +

          When a user loses connection with the server because of network problems, + the SDK automatically tries to reconnect and triggers this callback upon + reconnection.

          <ph keyref="callback-section-title"/>

          - - - - - - channel - The name of the channel. - - - uid - The ID of the user who rejoins the channel. - - - elapsed - Time elapsed (ms) from starting to reconnect until the SDK triggers this + + + + + + channel + The name of the channel. + + + uid + The ID of the user who rejoins the channel. + + + elapsed + Time elapsed (ms) from starting to reconnect until the SDK triggers this callback. - -

          + + +
          diff --git a/en-US/dita/RTC/API/callback_onremoteaudiomixingbegin.dita b/en-US/dita/RTC/API/callback_onremoteaudiomixingbegin.dita index c05e9d70948..90c56b8d8a1 100644 --- a/en-US/dita/RTC/API/callback_onremoteaudiomixingbegin.dita +++ b/en-US/dita/RTC/API/callback_onremoteaudiomixingbegin.dita @@ -2,7 +2,8 @@ <ph keyref="onRemoteAudioMixingBegin"/> - Occurs when a remote user starts audio mixing. + Occurs when a remote user starts audio + mixing. @@ -13,16 +14,18 @@

          - - - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRemoteAudioMixingBegin() - on(evt: EngineEvents.REMOTE_AUDIO_MIXING_BEGIN, cb: () => void): this; - public virtual void OnRemoteAudioMixingBegin() - - EmptyCallback? remoteAudioMixingBegin;

          + + - (void)rtcEngineRemoteAudioMixingDidStart:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRemoteAudioMixingBegin() + on(evt: EngineEvents.REMOTE_AUDIO_MIXING_BEGIN, cb: () => void): this; + public virtual void OnRemoteAudioMixingBegin() + + EmptyCallback? remoteAudioMixingBegin; +

          -

          When a remote user calls to play the background music, the SDK reports this callback.

          +

          When a remote user calls to play the + background music, the SDK reports this callback.

          diff --git a/en-US/dita/RTC/API/callback_onremoteaudiomixingend.dita b/en-US/dita/RTC/API/callback_onremoteaudiomixingend.dita index a4b499384c1..29fdcb59cef 100644 --- a/en-US/dita/RTC/API/callback_onremoteaudiomixingend.dita +++ b/en-US/dita/RTC/API/callback_onremoteaudiomixingend.dita @@ -2,7 +2,8 @@ <ph keyref="onRemoteAudioMixingEnd"/> - Occurs when a remote user finishes audio mixing. + Occurs when a remote user finishes audio + mixing. @@ -13,16 +14,18 @@

          - - - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRemoteAudioMixingEnd() - on(evt: EngineEvents.REMOTE_AUDIO_MIXING_END, cb: () => void): this; - public virtual void OnRemoteAudioMixingEnd() - - EmptyCallback? remoteAudioMixingEnd;

          + + - (void)rtcEngineRemoteAudioMixingDidFinish:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRemoteAudioMixingEnd() + on(evt: EngineEvents.REMOTE_AUDIO_MIXING_END, cb: () => void): this; + public virtual void OnRemoteAudioMixingEnd() + + EmptyCallback? remoteAudioMixingEnd; +

          -

          The SDK triggers this callback when a remote user finishes audio mixing.

          +

          The SDK triggers this callback when a remote user finishes audio + mixing.

          diff --git a/en-US/dita/RTC/API/callback_onremoteaudiostatechanged.dita b/en-US/dita/RTC/API/callback_onremoteaudiostatechanged.dita index 0ecad0b1706..7f23d20ebc3 100644 --- a/en-US/dita/RTC/API/callback_onremoteaudiostatechanged.dita +++ b/en-US/dita/RTC/API/callback_onremoteaudiostatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onRemoteAudioStateChanged"/> - Occurs when the remote audio state changes. + Occurs when the remote audio state + changes. @@ -13,11 +14,11 @@

          - public void onRemoteAudioStateChanged( + public void onRemoteAudioStateChanged( int uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStateChangedOfUid:(NSUInteger)uid state:(AgoraAudioRemoteState)state reason:(AgoraAudioRemoteReason)reason elapsed:(NSInteger)elapsed; - virtual void onRemoteAudioStateChanged(uid_t uid, + virtual void onRemoteAudioStateChanged(uid_t uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) { @@ -26,50 +27,60 @@ (void)reason; (void)elapsed; } - on(evt: EngineEvents.REMOTE_AUDIO_STATE_CHANGED, cb: ( + on(evt: EngineEvents.REMOTE_AUDIO_STATE_CHANGED, cb: ( uid: number, state: REMOTE_AUDIO_STATE, reason: REMOTE_AUDIO_STATE_REASON, elapsed: number ) => void): this; - public virtual void OnRemoteAudioStateChanged(uint uid, REMOTE_AUDIO_STATE state, + public virtual void OnRemoteAudioStateChanged(uint uid, REMOTE_AUDIO_STATE state, REMOTE_AUDIO_STATE_REASON reason, int elapsed) - - RemoteAudioStateCallback? remoteAudioStateChanged;

          + + RemoteAudioStateCallback? remoteAudioStateChanged; +

          - -
          Since
          -
          v2.9.0
          -
          + +
          Since
          +
          v2.9.0
          +
          -

          When the audio state of a remote user (in the voice/video call channel) or host (in the live streaming channel) changes, the SDK triggers this callback to report the current state of the remote audio stream.

          - This callback does not work properly when the number of users (in the voice/video call channel) or hosts (in the live streaming channel) in the channel exceeds 17.
          +

          When the audio state of a remote user (in the voice/video call channel) or + host (in the live streaming channel) changes, the SDK triggers this callback to + report the current state of the remote audio stream.

          + This callback does not work properly when the number of + users (in the voice/video call channel) or hosts (in the live streaming channel) in + the channel exceeds 17. +
          <ph keyref="callback-section-title"/>

          - - - - - - uid - The ID of the remote user whose audio state changes. - - - state - The state of the remote audio, see . - - - reason - The reason of the remote audio state change, see . - - - elapsed - Time elapsed (ms) from the local user calling the method until the SDK triggers this callback. - -

          + + + + + + uid + The ID of the remote user whose audio state changes. + + + state + The state of the remote audio, see . + + + reason + The reason of the remote audio state change, see . + + + elapsed + Time elapsed (ms) from the local user calling the method until the SDK triggers this + callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_onremoteaudiostats.dita b/en-US/dita/RTC/API/callback_onremoteaudiostats.dita index aec239b6eb3..9ac434a5cca 100644 --- a/en-US/dita/RTC/API/callback_onremoteaudiostats.dita +++ b/en-US/dita/RTC/API/callback_onremoteaudiostats.dita @@ -2,7 +2,8 @@ <ph keyref="onRemoteAudioStats"/> - Reports the transport-layer statistics of each remote audio stream. + Reports the transport-layer statistics of each remote + audio stream. @@ -13,32 +14,37 @@

          - public void onRemoteAudioStats(RemoteAudioStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteAudioStats(RemoteAudioStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteAudioStats:(AgoraRtcRemoteAudioStats * _Nonnull)stats; - virtual void onRemoteAudioStats(const RemoteAudioStats& stats) { + virtual void onRemoteAudioStats(const RemoteAudioStats& stats) { (void)stats; } - on(evt: EngineEvents.REMOTE_AUDIO_STATS, cb: (stats: RemoteAudioStats) => void): this; - public virtual void OnRemoteAudioStats(RemoteAudioStats stats) - - RemoteAudioStatsCallback? remoteAudioStats;

          + on(evt: EngineEvents.REMOTE_AUDIO_STATS, cb: (stats: RemoteAudioStats) => void): this; + public virtual void OnRemoteAudioStats(RemoteAudioStats stats) + + RemoteAudioStatsCallback? remoteAudioStats; +

          -

          The SDK triggers this callback once every two seconds for each remote user who is sending audio streams. If a channel includes multiple remote users, the SDK triggers this callback as many times.

          +

          The SDK triggers this callback once every two seconds for each remote user + who is sending audio streams. If a channel includes multiple remote users, the SDK + triggers this callback as many times.

          <ph keyref="callback-section-title"/>

          - - - - - - stats - The statistics of the received remote audio streams. See . - -

          + + + + + + stats + The statistics of the received remote audio streams. See . + + +
          diff --git a/en-US/dita/RTC/API/callback_onremoteaudiotransportstats.dita b/en-US/dita/RTC/API/callback_onremoteaudiotransportstats.dita index 60a13d9d32d..c5f0acf1381 100644 --- a/en-US/dita/RTC/API/callback_onremoteaudiotransportstats.dita +++ b/en-US/dita/RTC/API/callback_onremoteaudiotransportstats.dita @@ -2,8 +2,8 @@ <ph keyref="onRemoteAudioTransportStats"/> - Reports the transport-layer statistics of each remote audio stream. + Reports the transport-layer statistics of each remote + audio stream. @@ -14,13 +14,13 @@

          - public void onRemoteAudioTransportStats(int uid, int delay, int lost, int rxKBitRate) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteAudioTransportStats(int uid, int delay, int lost, int rxKBitRate) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine audioTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate; - virtual void onRemoteAudioTransportStats(uid_t uid, + virtual void onRemoteAudioTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) { @@ -29,55 +29,58 @@ (void)lost; (void)rxKBitRate; } - on(evt: EngineEvents.REMOTE_AUDIO_TRANSPORT_STATS, cb: ( + on(evt: EngineEvents.REMOTE_AUDIO_TRANSPORT_STATS, cb: ( uid: number, delay: number, lost: number, rxKBitRate: number) => void ): this; - public virtual void OnRemoteAudioTransportStats(uint uid, ushort delay, ushort lost, ushort rxKBitRate) - - TransportStatsCallback? remoteAudioTransportStats; + public virtual void OnRemoteAudioTransportStats(uint uid, ushort delay, ushort lost, ushort rxKBitRate) + + TransportStatsCallback? remoteAudioTransportStats;

          -

          - -
          Deprecated:
          -
          Please use instead.
          -
          -
          +
          + +
          Deprecated:
          +
          Please use instead.
          +
          +

          -

          This callback reports the transport-layer statistics, such as the packet loss rate and network time delay, once every two seconds after the local user receives an audio packet from a remote user. During a call, when the user receives the audio packet sent by the remote user/host, the callback is triggered every 2 seconds.

          +

          This callback reports the transport-layer statistics, such as the packet + loss rate and network time delay, once every two seconds after the local user + receives an audio packet from a remote user. During a call, when the user receives + the audio packet sent by the remote user/host, the callback is triggered every 2 + seconds.

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - uid - The ID of the remote user sending the audio streams. - - - delay - The network delay (ms) from the sender to the receiver. - - - lost - Packet loss rate (%) of the audio packet sent from the sender to the + + + + + + uid + The ID of the remote user sending the audio streams. + + + delay + The network delay (ms) from the sender to the receiver. + + + lost + Packet loss rate (%) of the audio packet sent from the sender to the receiver. - - - rxKBitrate - Bitrate of the received audio (Kbps). - -

          + + + rxKBitrate + Bitrate of the received audio (Kbps). + + +
          diff --git a/en-US/dita/RTC/API/callback_onremotesubscribefallbacktoaudioonly.dita b/en-US/dita/RTC/API/callback_onremotesubscribefallbacktoaudioonly.dita index aec9eb44593..99feb3fa224 100644 --- a/en-US/dita/RTC/API/callback_onremotesubscribefallbacktoaudioonly.dita +++ b/en-US/dita/RTC/API/callback_onremotesubscribefallbacktoaudioonly.dita @@ -2,7 +2,9 @@ <ph keyref="onRemoteSubscribeFallbackToAudioOnly"/> - Occurs when the remote media stream falls back to the audio-only stream due to poor network conditions or switches back to the video stream after the network conditions improve. + Occurs when the remote media stream falls back to the + audio-only stream due to poor network conditions or switches back to the video stream + after the network conditions improve. @@ -13,44 +15,59 @@

          - public void onRemoteSubscribeFallbackToAudioOnly(int uid, boolean isFallbackOrRecover) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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) { + virtual void onRemoteSubscribeFallbackToAudioOnly(uid_t uid, bool isFallbackOrRecover) { (void)uid; (void)isFallbackOrRecover; } - on( + on( evt: EngineEvents.REMOTE_SUBSCRIBE_FALLBACK_TO_AUDIO_ONLY, cb: (uid: number, isFallbackOrRecover: boolean) => void ): this; - public virtual void OnRemoteSubscribeFallbackToAudioOnly(uint uid, bool isFallbackOrRecover) - - FallbackWithUidCallback? remoteSubscribeFallbackToAudioOnly;

          + public virtual void OnRemoteSubscribeFallbackToAudioOnly(uint uid, bool isFallbackOrRecover) + + FallbackWithUidCallback? remoteSubscribeFallbackToAudioOnly; +

          -

          If you call and set option as , the SDK triggers this callback when the remote media stream falls back to audio-only mode due to poor uplink conditions, or when the remote media stream switches back to the video after the downlink network condition improves.

          - Once the remote media stream switches to the low-quality stream due to poor network conditions, you can monitor the stream switch between a high-quality and low-quality stream in the callback.
          +

          If you call and set + option as , the SDK triggers this callback + when the remote media stream falls back to audio-only mode due to poor uplink + conditions, or when the remote media stream switches back to the video after the + downlink network condition improves.

          + Once the remote media stream switches to the low-quality stream + due to poor network conditions, you can monitor the stream switch between a + high-quality and low-quality stream in the + callback. +
          <ph keyref="callback-section-title"/>

          - - - - - - uid - The user ID of the remote user. - - - isFallbackOrRecover - -

            -
          • : The remotely subscribed media stream falls back to audio-only due to poor network conditions.
          • -
          • : The remotely subscribed media stream switches back to the video stream after the network conditions improved.
          • -
          - -
          + + + + + + uid + The user ID of the remote user. + + + isFallbackOrRecover + +
            +
          • : The remotely subscribed media + stream falls back to audio-only due to poor network conditions.
          • +
          • : The remotely subscribed media + stream switches back to the video stream after the network + conditions improved.
          • +
          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onremotevideostatechanged.dita b/en-US/dita/RTC/API/callback_onremotevideostatechanged.dita index 1cb3c5a6055..d8d0138846f 100644 --- a/en-US/dita/RTC/API/callback_onremotevideostatechanged.dita +++ b/en-US/dita/RTC/API/callback_onremotevideostatechanged.dita @@ -2,8 +2,8 @@ <ph keyref="onRemoteVideoStateChanged"/> - Occurs when the remote video state changes. + Occurs when the remote video state + changes. @@ -14,10 +14,10 @@

          - public void onRemoteVideoStateChanged(int uid, int state, int reason, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoStateChanged(int uid, int state, int reason, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStateChangedOfUid:(NSUInteger)uid state:(AgoraVideoRemoteState)state reason:(AgoraVideoRemoteReason)reason elapsed:(NSInteger)elapsed; - virtual void onRemoteVideoStateChanged(uid_t uid, + virtual void onRemoteVideoStateChanged(uid_t uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) { @@ -26,144 +26,126 @@ (void)reason; (void)elapsed; } - on(evt: EngineEvents.REMOTE_VIDEO_STATE_CHANGED, cb: ( + on(evt: EngineEvents.REMOTE_VIDEO_STATE_CHANGED, cb: ( uid: number, state: REMOTE_VIDEO_STATE, reason: REMOTE_VIDEO_STATE_REASON, elapsed: number ) => void ): this; - public virtual void OnRemoteVideoStateChanged(uint uid, REMOTE_VIDEO_STATE state, + public virtual void OnRemoteVideoStateChanged(uint uid, REMOTE_VIDEO_STATE state, REMOTE_VIDEO_STATE_REASON reason, int elapsed) - - RemoteVideoStateCallback? remoteVideoStateChanged; + + RemoteVideoStateCallback? remoteVideoStateChanged;

          - -
          Since
          -
          v2.9.0
          -
          + +
          Since
          +
          v2.9.0
          +
          - This callback does not work properly when the number of users (in the voice/video call channel) or hosts (in the live streaming channel) in the channel exceeds 17.
          + This callback does not work properly when the number + of users (in the voice/video call channel) or hosts (in the live streaming + channel) in the channel exceeds 17. +
          <ph keyref="callback-section-title"/> -

          +

          - - - - - - uid - The ID of the remote user whose video state changes. - - - state - -

          The state of the remote video, see - .

          -

          The state - of the remote video. -

            -
          • (0): The remote video is - in the initial state. The remote video is in the initial state, - probably due to - REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED(3), - REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED(5), or - REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE(7).
          • -
          • (1): The first remote - video packet is received.
          • -
          • (2): The remote audio - stream is decoded and plays normally. The remote audio stream is - decoded and plays normally, probably due to - REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY(2), - REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED(4), - REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED(6), or - REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY(9).
          • -
          • (3): The remote video is - frozen. The remote video is frozen, probably due to - REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION(1) - or - REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK(8).
          • -
          • (4): The remote video - fails to start. The remote video fails to start, probably due to - REMOTE_VIDEO_STATE_REASON_INTERNAL (0).
          • -

          - - - - reason - -

          The reason for the remote video state - change, see .

          -

          Remote audio state reasons. -

            -
          • (0): Internal - reasons.
          • -
          • (1): - Network congestion.
          • -
          • (2): - Network recovery.
          • -
          • (3): The - local user stops receiving the remote video stream or disables - the video module.
          • -
          • (4): The - local user resumes receiving the remote video stream or enables - the video module.
          • -
          • (5): The - remote user stops sending the video stream or disables the video - module.
          • -
          • (6): The - remote user resumes sending the video stream or enables the video - module.
          • -
          • (7): The - remote user leaves the channel.
          • -
          • (8): The - remote media stream falls back to the audio-only stream due to - poor network conditions.
          • -
          • - (9): The remote media stream switches back to the video stream - after the network conditions improve.
          • -

          -
          -
          - - elapsed - Time elapsed (ms) from the local user calling the method until the SDK triggers this + + + + + + uid + The ID of the remote user whose video state changes. + + + state + +

          The state of the remote video, see + .

          +

          The state of the remote video.

            +
          • (0): The + remote video is in the initial state. The remote video + is in the initial state, probably due to + REMOTE_VIDEO_STATE_REASON_LOCAL_MUTED(3), + REMOTE_VIDEO_STATE_REASON_REMOTE_MUTED(5), + or + REMOTE_VIDEO_STATE_REASON_REMOTE_OFFLINE(7).
          • +
          • (1): The + first remote video packet is received.
          • +
          • (2): The + remote audio stream is decoded and plays normally. The + remote audio stream is decoded and plays normally, + probably due to + REMOTE_VIDEO_STATE_REASON_NETWORK_RECOVERY(2), + REMOTE_VIDEO_STATE_REASON_LOCAL_UNMUTED(4), + REMOTE_VIDEO_STATE_REASON_REMOTE_UNMUTED(6), + or + REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK_RECOVERY(9).
          • +
          • (3): The remote + video is frozen. The remote video is frozen, probably + due to + REMOTE_VIDEO_STATE_REASON_NETWORK_CONGESTION(1) + or + REMOTE_VIDEO_STATE_REASON_AUDIO_FALLBACK(8).
          • +
          • (4): The remote + video fails to start. The remote video fails to start, + probably due to + REMOTE_VIDEO_STATE_REASON_INTERNAL + (0).
          • +
          +

          +
          +
          + + reason + +

          The reason for the remote video + state change, see .

          +

          Remote audio state reasons.

            +
          • (0): + Internal reasons.
          • +
          • (1): Network congestion.
          • +
          • (2): Network recovery.
          • +
          • + (3): The local user stops receiving the remote video + stream or disables the video module.
          • +
          • + (4): The local user resumes receiving the remote video + stream or enables the video module.
          • +
          • + (5): The remote user stops sending the video stream or + disables the video module.
          • +
          • + (6): The remote user resumes sending the video stream + or enables the video module.
          • +
          • + (7): The remote user leaves the channel.
          • +
          • + (8): The remote media stream falls back to the + audio-only stream due to poor network conditions.
          • +
          • (9): The remote media stream switches back to the + video stream after the network conditions improve.
          • +
          +

          +
          +
          + + elapsed + Time elapsed (ms) from the local user calling the method until the SDK triggers this callback. - -
          + + +
          diff --git a/en-US/dita/RTC/API/callback_onremotevideostats.dita b/en-US/dita/RTC/API/callback_onremotevideostats.dita index f1eacd244f3..7b654abd86b 100644 --- a/en-US/dita/RTC/API/callback_onremotevideostats.dita +++ b/en-US/dita/RTC/API/callback_onremotevideostats.dita @@ -2,7 +2,8 @@ <ph keyref="onRemoteVideoStats"/> - Reports the transport-layer statistics of each remote video stream. + Reports the transport-layer statistics of each remote + video stream. @@ -13,32 +14,38 @@

          - public void onRemoteVideoStats(RemoteVideoStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoStats(RemoteVideoStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine remoteVideoStats:(AgoraRtcRemoteVideoStats * _Nonnull)stats; - virtual void onRemoteVideoStats(const RemoteVideoStats& stats) { + virtual void onRemoteVideoStats(const RemoteVideoStats& stats) { (void)stats; } - on(evt: EngineEvents.REMOTE_VIDEO_STATS, cb: (stats: RemoteVideoStats) => void): this; - public virtual void OnRemoteVideoStats(RemoteVideoStats stats) - - RemoteVideoStatsCallback? remoteVideoStats;

          + on(evt: EngineEvents.REMOTE_VIDEO_STATS, cb: (stats: RemoteVideoStats) => void): this; + public virtual void OnRemoteVideoStats(RemoteVideoStats stats) + + RemoteVideoStatsCallback? remoteVideoStats; +

          -

          Reports the statistics of the video stream from the remote users. The SDK triggers this callback once every two seconds for each remote user. If a channel has multiple users/hosts sending video streams, the SDK triggers this callback as many times.

          +

          Reports the statistics of the video stream from the remote users. The SDK + triggers this callback once every two seconds for each remote user. If a channel has + multiple users/hosts sending video streams, the SDK triggers this callback as many + times.

          <ph keyref="callback-section-title"/>

          - - - - - - stats - Statistics of the remote video stream. For details, see . - -

          + + + + + + stats + Statistics of the remote video stream. For details, see . + + +
          diff --git a/en-US/dita/RTC/API/callback_onremotevideotransportstats.dita b/en-US/dita/RTC/API/callback_onremotevideotransportstats.dita index 21e2eb7f1be..89ce871a74b 100644 --- a/en-US/dita/RTC/API/callback_onremotevideotransportstats.dita +++ b/en-US/dita/RTC/API/callback_onremotevideotransportstats.dita @@ -2,8 +2,8 @@ <ph keyref="onRemoteVideoTransportStats"/> - Reports the transport-layer statistics of each remote video stream. + Reports the transport-layer statistics of each remote + video stream. @@ -14,13 +14,13 @@

          - public void onRemoteVideoTransportStats(int uid, int delay, int lost, int rxKBitRate) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRemoteVideoTransportStats(int uid, int delay, int lost, int rxKBitRate) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoTransportStatsOfUid:(NSUInteger)uid delay:(NSUInteger)delay lost:(NSUInteger)lost rxKBitRate:(NSUInteger)rxKBitRate; - virtual void onRemoteVideoTransportStats(uid_t uid, + virtual void onRemoteVideoTransportStats(uid_t uid, unsigned short delay, unsigned short lost, unsigned short rxKBitRate) { @@ -29,54 +29,55 @@ (void)lost; (void)rxKBitRate; } - on(evt: EngineEvents.REMOTE_VIDEO_TRANSPORT_STATS, cb: ( + on(evt: EngineEvents.REMOTE_VIDEO_TRANSPORT_STATS, cb: ( uid: number, delay: number, lost: number, rxKBitRate: number) => void ): this; - public virtual void OnRemoteVideoTransportStats(uint uid, ushort delay, ushort lost, ushort rxKBitRate) - - TransportStatsCallback? remoteVideoTransportStats; + public virtual void OnRemoteVideoTransportStats(uint uid, ushort delay, ushort lost, ushort rxKBitRate) + + TransportStatsCallback? remoteVideoTransportStats;

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          -

          This callback reports the transport-layer statistics, such as the packet loss rate and network time delay, once every two seconds after the local user receives a video packet from a remote user.

          -

          During a call, when the user receives the video packet sent by the remote user/host, the callback is triggered every 2 seconds.

          +

          This callback reports the transport-layer statistics, such as the packet + loss rate and network time delay, once every two seconds after the local user + receives a video packet from a remote user.

          +

          During a call, when the user receives the video packet sent by the remote + user/host, the callback is triggered every 2 seconds.

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - uid - The ID of the remote user sending the video packets. - - - delay - The network delay (ms) from the sender to the receiver. - - - lost - The packet loss rate (%) of the video packet sent from the remote user. - - - rxKBitRate - The bitrate of the received video (Kbps). - -

          + + + + + + uid + The ID of the remote user sending the video packets. + + + delay + The network delay (ms) from the sender to the receiver. + + + lost + The packet loss rate (%) of the video packet sent from the remote user. + + + rxKBitRate + The bitrate of the received video (Kbps). + + +
          diff --git a/en-US/dita/RTC/API/callback_onrequestaudiofileinfo.dita b/en-US/dita/RTC/API/callback_onrequestaudiofileinfo.dita index 0889f73859d..2060494016d 100644 --- a/en-US/dita/RTC/API/callback_onrequestaudiofileinfo.dita +++ b/en-US/dita/RTC/API/callback_onrequestaudiofileinfo.dita @@ -2,7 +2,8 @@ <ph keyref="onRequestAudioFileInfo"/> - Reports the information of an audio file. + Reports the information of an audio + file. @@ -13,35 +14,40 @@

          - - - - - public virtual void OnRequestAudioFileInfo(AudioFileInfo info, AUDIO_FILE_INFO_ERROR error) - - RequestAudioFileInfoCallback? requestAudioFileInfoCallback;

          + + + + + public virtual void OnRequestAudioFileInfo(AudioFileInfo info, AUDIO_FILE_INFO_ERROR error) + + RequestAudioFileInfoCallback? requestAudioFileInfoCallback; +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          -

          After successfully calling , the SDK triggers this callback to report the information of the audio file, such as the file path and duration.

          +

          After successfully calling , the SDK triggers this + callback to report the information of the audio file, such as the file path and + duration.

          <ph keyref="callback-section-title"/>

          - - info - The information of an audio file. See . - - - error - The information acquisition state. See . - -

          + + info + The information of an audio file. See . + + + error + The information acquisition state. See . + + +
          diff --git a/en-US/dita/RTC/API/callback_onrequesttoken.dita b/en-US/dita/RTC/API/callback_onrequesttoken.dita index f14a078eaf0..82eb7f2d70f 100644 --- a/en-US/dita/RTC/API/callback_onrequesttoken.dita +++ b/en-US/dita/RTC/API/callback_onrequesttoken.dita @@ -13,28 +13,30 @@

          - public void onRequestToken() {} - - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onRequestToken() - on(evt: EngineEvents.REQUEST_TOKEN, cb: () => void): this; - public virtual void OnRequestToken() - - EmptyCallback? requestToken;

          + public void onRequestToken() {} + - (void)rtcEngineRequestToken:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onRequestToken() + on(evt: EngineEvents.REQUEST_TOKEN, cb: () => void): this; + public virtual void OnRequestToken() + + EmptyCallback? requestToken; +

          When the token expires during a call, the SDK triggers this callback to remind the app to renew the token.

          Once you receive this callback, generate a new token on your app server, and call - to rejoin the channel.

          + to rejoin the channel.

          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onrtcstats.dita b/en-US/dita/RTC/API/callback_onrtcstats.dita index e824cbf3441..69430537f9d 100644 --- a/en-US/dita/RTC/API/callback_onrtcstats.dita +++ b/en-US/dita/RTC/API/callback_onrtcstats.dita @@ -2,7 +2,8 @@ <ph keyref="onRtcStats"/> - Reports the statistics of the current call. + Reports the statistics of the current + call. @@ -13,35 +14,38 @@

          - public void onRtcStats(RtcStats stats) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onRtcStats(RtcStats stats) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine reportRtcStats:(AgoraChannelStats * _Nonnull)stats; - virtual void onRtcStats(const RtcStats& stats) { + virtual void onRtcStats(const RtcStats& stats) { (void)stats; } - on(evt: EngineEvents.RTC_STATS, cb: (stats: RtcStats) => void): this; - public virtual void OnRtcStats(RtcStats stats) - - RtcStatsCallback? rtcStats;

          + on(evt: EngineEvents.RTC_STATS, cb: (stats: RtcStats) => void): this; + public virtual void OnRtcStats(RtcStats stats) + + RtcStatsCallback? rtcStats; +

          -

          The SDK triggers this callback once every two seconds after the user joins the channel.

          +

          The SDK triggers this callback once every two seconds after the user joins + the channel.

          <ph keyref="callback-section-title"/>

          - - - - - - stats - -

          Statistics of the RTC engine, see for + + + + + + stats + +

          Statistics of the RTC engine, see for details.

          - - -
          + + + +
          diff --git a/en-US/dita/RTC/API/callback_onrtmpstreamingevent.dita b/en-US/dita/RTC/API/callback_onrtmpstreamingevent.dita index b28e992fbf8..5abdf0c3682 100644 --- a/en-US/dita/RTC/API/callback_onrtmpstreamingevent.dita +++ b/en-US/dita/RTC/API/callback_onrtmpstreamingevent.dita @@ -13,43 +13,46 @@

          - virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) { + virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode) { (void)url; (void)eventCode; }

          - virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode)

          + virtual void onRtmpStreamingEvent(const char* url, RTMP_STREAMING_EVENT eventCode)

          - public void onRtmpStreamingEvent(String url, RTMP_STREAMING_EVENT event) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode; - on(evt: EngineEvents.RTMP_STREAMING_EVENT, cb: ( + public void onRtmpStreamingEvent(String url, RTMP_STREAMING_EVENT event) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine rtmpStreamingEventWithUrl:(NSString* _Nonnull)url eventCode:(AgoraRtmpStreamingEvent)eventCode; + on(evt: EngineEvents.RTMP_STREAMING_EVENT, cb: ( url: string, eventCode: RTMP_STREAMING_EVENT) => void ): this; - public virtual void OnRtmpStreamingEvent(string url, RTMP_STREAMING_EVENT eventCode) - - RtmpStreamingEventCallback? rtmpStreamingEvent;

          + public virtual void OnRtmpStreamingEvent(string url, RTMP_STREAMING_EVENT eventCode) + + RtmpStreamingEventCallback? rtmpStreamingEvent; +

          - -
          Since
          -
          v3.1.0
          -
          + +
          Since
          +
          v3.1.0
          +
          <ph keyref="callback-section-title"/>

          - - url - The URL for media push. - - - eventCode - The event code of media push. See for details. - -

          + + url + The URL for media push. + + + eventCode + The event code of media push. See for + details. + + +
          diff --git a/en-US/dita/RTC/API/callback_onrtmpstreamingstatechanged.dita b/en-US/dita/RTC/API/callback_onrtmpstreamingstatechanged.dita index d0bd2b9ffb6..cdb038f20b7 100644 --- a/en-US/dita/RTC/API/callback_onrtmpstreamingstatechanged.dita +++ b/en-US/dita/RTC/API/callback_onrtmpstreamingstatechanged.dita @@ -2,8 +2,8 @@ <ph keyref="onRtmpStreamingStateChanged"/> - Occurs when the media push state changes. + Occurs when the media push state + changes. @@ -14,20 +14,20 @@

          - public void onRtmpStreamingStateChanged( + public void onRtmpStreamingStateChanged( String url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine rtmpStreamingChangedToState:(NSString * _Nonnull)url state:(AgoraRtmpStreamPublishState)state errCode:(AgoraRtmpStreamPublishError)errCode; - virtual void onRtmpStreamingStateChanged(const char *url, + virtual void onRtmpStreamingStateChanged(const char *url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode) { (void) url; (void) state; (void) errCode; } - on( + on( evt: EngineEvents.RTMP_STREAMING_STATE_CHANGED, cb: ( url: string, @@ -35,43 +35,45 @@ errCode: RTMP_STREAM_PUBLISH_ERROR ) => void ): this; - public virtual void OnRtmpStreamingStateChanged(string url, RTMP_STREAM_PUBLISH_STATE state, + public virtual void OnRtmpStreamingStateChanged(string url, RTMP_STREAM_PUBLISH_STATE state, RTMP_STREAM_PUBLISH_ERROR errCode) - - RtmpStreamingStateCallback? rtmpStreamingStateChanged; + + RtmpStreamingStateCallback? rtmpStreamingStateChanged;

          -

          When the media push state changes, the SDK triggers this callback to report the current state and the reason why the state has changed. When exceptions occur, you can troubleshoot issues by referring to the detailed error descriptions in the error code parameter.

          +

          When the media push state changes, the SDK triggers this callback to report the + current state and the reason why the state has changed. When exceptions occur, you + can troubleshoot issues by referring to the detailed error descriptions in the error + code parameter.

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - url - -

          The URL address where the state of the media push changes.

          - - - - state - The current state of the media push. See . When the streaming state is (4), you can view the error information in the errorCode parameter. - - - errCode - The detailed error information for the media push. See . - -
          + + + + + + url + +

          The URL address where the state of the media push changes.

          +
          +
          + + state + The current state of the media push. See . When the streaming state is + (4), you can view + the error information in the errorCode parameter. + + + errCode + The detailed error information for the media push. See . + + +
          diff --git a/en-US/dita/RTC/API/callback_onscreencaptureinfoupdated.dita b/en-US/dita/RTC/API/callback_onscreencaptureinfoupdated.dita index 463c32fd5b5..5f29020d23d 100644 --- a/en-US/dita/RTC/API/callback_onscreencaptureinfoupdated.dita +++ b/en-US/dita/RTC/API/callback_onscreencaptureinfoupdated.dita @@ -1,8 +1,11 @@ - <ph keyref="onScreenCaptureInfoUpdated"/> - Occurs when the screen sharing information is updated. + + <ph keyref="onScreenCaptureInfoUpdated"/> + + Occurs when the screen sharing information is + updated. @@ -13,26 +16,32 @@

          - - - - - public virtual void OnScreenCaptureInfoUpdated(ScreenCaptureInfo info) - - OnScreenCaptureInfoUpdated? screenCaptureInfoUpdated;

          + + + + + public virtual void OnScreenCaptureInfoUpdated(ScreenCaptureInfo info) + + OnScreenCaptureInfoUpdated? screenCaptureInfoUpdated; +

          -

          When you call or to start screen sharing and use the excludeWindowList attribute to block the specified window, the SDK triggers this callback if the window blocking fails.

          - This callback is for Windows only.
          +

          When you call or to start screen sharing and use the + excludeWindowList attribute to block the specified window, + the SDK triggers this callback if the window blocking fails.

          + This callback is for Windows only. +
          Parameters - - info - -

          Screen sharing information. See .

          -
          -
          -
          + + info + +

          Screen sharing information. See .

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onsnapshottaken.dita b/en-US/dita/RTC/API/callback_onsnapshottaken.dita index d248c476580..5e97dd6998b 100644 --- a/en-US/dita/RTC/API/callback_onsnapshottaken.dita +++ b/en-US/dita/RTC/API/callback_onsnapshottaken.dita @@ -2,7 +2,8 @@ <ph keyref="onSnapshotTaken"/> - Reports the result of taking a video snapshot. + Reports the result of taking a video + snapshot. @@ -13,12 +14,12 @@

          - public void onSnapshotTaken( + public void onSnapshotTaken( String channel, int uid, String filePath, int width, int height, int errCode) {} - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine snapshotTaken:(NSString* _Nonnull)channel uid:(NSUInteger)uid filePath:(NSString* _Nonnull)filePath width:(NSInteger)width height:(NSInteger)height errCode:(NSInteger)errCode; + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine snapshotTaken:(NSString* _Nonnull)channel uid:(NSUInteger)uid filePath:(NSString* _Nonnull)filePath width:(NSInteger)width height:(NSInteger)height errCode:(NSInteger)errCode; - virtual void onSnapshotTaken(const char* channel, uid_t uid, const char* filePath, int width, int height, int errCode) { + virtual void onSnapshotTaken(const char* channel, uid_t uid, const char* filePath, int width, int height, int errCode) { (void)channel; (void)uid; (void)filePath; @@ -27,59 +28,64 @@ (void)errCode; } - - public virtual void OnSnapshotTaken(string channel, uint uid, string filePath, int width, int height, int errCode) - - SnapshotTakenCallback? snapshotTaken;

          + + public virtual void OnSnapshotTaken(string channel, uint uid, string filePath, int width, int height, int errCode) + + SnapshotTakenCallback? snapshotTaken; +

          - -
          Since
          -
          v3.5.2
          -
          -
          - After a successful method call, the SDK triggers this callback to report whether the snapshot is successfully taken as well as the details for the snapshot taken.
          + +
          Since
          +
          v3.5.2
          +
          + After a successful method call, the SDK triggers + this callback to report whether the snapshot is successfully taken as well as the + details for the snapshot taken.
          <ph keyref="callback-section-title"/>

          - - - - - - channel - The channel name. - - - uid - The user ID. A uid of 0 indicates the local user. - - - filePath - The local path of the snapshot. - - - width - The width (px) of the snapshot. - - - height - The height (px) of the snapshot. - - - errCode - The message that confirms success or the reason why the snapshot is not successfully taken: -

            -
          • 0: Success.
          • -
          • < 0: Failure: -
              -
            • -1: The SDK fails to write data to a file or encode a JPEG image.
            • -
            • -2: The SDK does not find the video stream of the specified user within one second after the method call succeeds.
            • -
          • -
          - -
          + + + + + + channel + The channel name. + + + uid + The user ID. A uid of 0 indicates the local user. + + + filePath + The local path of the snapshot. + + + width + The width (px) of the snapshot. + + + height + The height (px) of the snapshot. + + + errCode + The message that confirms success or the reason why the snapshot is not + successfully taken:
            +
          • 0: Success.
          • +
          • < 0: Failure:
              +
            • -1: The SDK fails to write data to a file or encode a JPEG + image.
            • +
            • -2: The SDK does not find the video stream of the specified + user within one second after the method call succeeds.
            • +
          • +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onstart.dita b/en-US/dita/RTC/API/callback_onstart.dita index 04c88ec754c..378c9e5faf8 100644 --- a/en-US/dita/RTC/API/callback_onstart.dita +++ b/en-US/dita/RTC/API/callback_onstart.dita @@ -2,7 +2,8 @@ <ph keyref="onStart"/> - Notification for starting the custom video source. + Notification for starting the custom video + source. @@ -13,22 +14,28 @@

          - - - virtual bool onStart() = 0; - - - -

          + + + virtual bool onStart() = 0; + + + + +

          -

          The SDK triggers this callback to remind you to start the custom video source for capturing video. The SDK uses to receive the video frame that you capture after the video source is started. You must use the return value to tell the SDK whether the custom video source is started.

          +

          The SDK triggers this callback to remind you to start the custom video source for + capturing video. The SDK uses to receive the + video frame that you capture after the video source is started. You must use the + return value to tell the SDK whether the custom video source is started.

          Returns
            -
          • : The custom video source is started.
          • -
          • : The custom video source fails to start. The SDK stops and reports the error.
          • -
          +
        1412. : The custom video source is started.
        1413. +
        1414. : The custom video source fails to start. + The SDK stops and reports the error.
        1415. + +
          diff --git a/en-US/dita/RTC/API/callback_onstop.dita b/en-US/dita/RTC/API/callback_onstop.dita index 628063d4cff..6c3670a2174 100644 --- a/en-US/dita/RTC/API/callback_onstop.dita +++ b/en-US/dita/RTC/API/callback_onstop.dita @@ -2,7 +2,8 @@ <ph keyref="onStop"/> - Notification for stopping capturing video. + Notification for stopping capturing + video. @@ -13,16 +14,19 @@

          - - - virtual void onStop() = 0; - - - -

          + + + virtual void onStop() = 0; + + + + +

          -

          The SDK triggers this callback to remind you to stop capturing video. This callback tells you that the SDK is about to stop using to receive the video frame that you capture.

          +

          The SDK triggers this callback to remind you to stop capturing video. This callback + tells you that the SDK is about to stop using + to receive the video frame that you capture.

          diff --git a/en-US/dita/RTC/API/callback_onstreaminjectedstatus.dita b/en-US/dita/RTC/API/callback_onstreaminjectedstatus.dita index 4d93e6f009f..4ea53f6ba85 100644 --- a/en-US/dita/RTC/API/callback_onstreaminjectedstatus.dita +++ b/en-US/dita/RTC/API/callback_onstreaminjectedstatus.dita @@ -2,7 +2,8 @@ <ph keyref="onStreamInjectedStatus"/> - Occurs when a media stream URL address is added to the interactive live streaming. + Occurs when a media stream URL address is added to the + interactive live streaming. @@ -13,45 +14,49 @@

          - public void onStreamInjectedStatus(String url, int uid, int status) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamInjectedStatus(String url, int uid, int status) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamInjectedStatusOfUrl:(NSString * _Nonnull)url uid:(NSUInteger)uid status:(AgoraInjectStreamStatus)status; - virtual void onStreamInjectedStatus(const char* url, uid_t uid, int status) { + virtual void onStreamInjectedStatus(const char* url, uid_t uid, int status) { (void)url; (void)uid; (void)status; } - on(evt: EngineEvents.STREAM_INJECTED_STATUS, cb: ( + on(evt: EngineEvents.STREAM_INJECTED_STATUS, cb: ( url: string, uid: number, status: INJECT_STREAM_STATUS) => void ): this; - public virtual void OnStreamInjectedStatus(string url, uint uid, int status) - - StreamInjectedStatusCallback? streamInjectedStatus;

          + public virtual void OnStreamInjectedStatus(string url, uint uid, int status) + + StreamInjectedStatusCallback? streamInjectedStatus; +

          -
          + +
          <ph keyref="callback-section-title"/>

          - - - - - - url - The URL address of the externally injected stream. - - - uid - User ID. - - - status - State of the externally injected stream: . - -

          + + + + + + url + The URL address of the externally injected stream. + + + uid + User ID. + + + status + State of the externally injected stream: . + + +
          diff --git a/en-US/dita/RTC/API/callback_onstreammessage.dita b/en-US/dita/RTC/API/callback_onstreammessage.dita index fe5f0c9ac01..d7b04055a68 100644 --- a/en-US/dita/RTC/API/callback_onstreammessage.dita +++ b/en-US/dita/RTC/API/callback_onstreammessage.dita @@ -2,7 +2,8 @@ <ph keyref="onStreamMessage"/> - Occurs when the local user receives the data stream from the remote user. + Occurs when the local user receives the data stream + from the remote user. @@ -13,68 +14,73 @@

          - virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) { + virtual void onStreamMessage(uid_t userId, int streamId, const char* data, size_t length, uint64_t sentTs) { (void)userId; (void)streamId; (void)data; (void)length; (void)sentTs; -}

          +} +

          - virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length) { + virtual void onStreamMessage(uid_t uid, int streamId, const char* data, size_t length) { (void)uid; (void)streamId; (void)data; (void)length; -}

          +} +

          - public void onStreamMessage(int uid, int streamId, byte[] data) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamMessage(int uid, int streamId, byte[] data) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine receiveStreamMessageFromUid:(NSUInteger)uid streamId:(NSInteger)streamId data:(NSData * _Nonnull)data; - on( + on( evt: EngineEvents.STREAM_MESSAGE, cb: (uid: number, streamId: number, data: string) => void ): this; - public virtual void OnStreamMessage(uint uid, int streamId, byte[] data, uint length) - - StreamMessageCallback? streamMessage;

          + public virtual void OnStreamMessage(uint uid, int streamId, byte[] data, uint length) + + StreamMessageCallback? streamMessage; +

          -

          The SDK triggers this callback when the local user receives the stream message that the remote user sends by calling the method.

          +

          The SDK triggers this callback when the local user receives the stream message that + the remote user sends by calling the method.

          <ph keyref="callback-section-title"/>

          - - - - - - uid - userIduid - The ID of the remote user sending the message. - - - streamId - The stream ID of the received message. - - - data - The data received. - - - length - The data length (byte). - + + + + + + uid + userIduid + The ID of the remote user sending the message. + + + streamId + The stream ID of the received message. + + + data + The data received. + + + length + The data length (byte). + - - sentTs - The time when the data stream is sent. - -

          + + sentTs + The time when the data stream is sent. + + +
          diff --git a/en-US/dita/RTC/API/callback_onstreammessageerror.dita b/en-US/dita/RTC/API/callback_onstreammessageerror.dita index d89aa035f3b..32cea50d93f 100644 --- a/en-US/dita/RTC/API/callback_onstreammessageerror.dita +++ b/en-US/dita/RTC/API/callback_onstreammessageerror.dita @@ -2,8 +2,8 @@ <ph keyref="onStreamMessageError"/> - Occurs when the local user does not receive the data stream from the remote user. + Occurs when the local user does not receive the data + stream from the remote user. @@ -14,23 +14,24 @@

          - virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) { + virtual void onStreamMessageError(uid_t userId, int streamId, int code, int missed, int cached) { (void)userId; (void)streamId; (void)code; (void)missed; (void)cached; } -

          + +

          - virtual void onStreamMessageError(uid_t uid, int streamId, int code, int missed, int 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; } - on( + on( evt: EngineEvents.STREAM_MESSAGE_ERROR, cb: ( uid: number, @@ -40,55 +41,56 @@ cached: number ) => void ): this; - public virtual void OnStreamMessageError(uint uid, int streamId, int code, int missed, int cached) - - StreamMessageErrorCallback? streamMessageError; + public virtual void OnStreamMessageError(uint uid, int streamId, int code, int missed, int cached) + + StreamMessageErrorCallback? streamMessageError;

          - public void onStreamMessageError(int uid, int streamId, int error, int missed, int cached) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamMessageError(int uid, int streamId, int error, int missed, int cached) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOccurStreamMessageErrorFromUid:(NSUInteger)uid streamId:(NSInteger)streamId error:(NSInteger)error missed:(NSInteger)missed - cached:(NSInteger)cached;

          + cached:(NSInteger)cached; +

          -

          The SDK triggers this callback when the local user fails to receive the stream message that the remote user sends by calling the method.

          +

          The SDK triggers this callback when the local user fails to receive the stream + message that the remote user sends by calling the + method.

          <ph keyref="callback-section-title"/> -

          +

          - - - - - - uid - userIduid - The ID of the remote user sending the message. - - - streamId - The stream ID of the received message. - - - code - error - The error code. - - - missed - The number of lost messages. - - - cached - Number of incoming cached messages when the data stream is interrupted. - -

          + + + + + + uid + userIduid + The ID of the remote user sending the message. + + + streamId + The stream ID of the received message. + + + code + error + The error code. + + + missed + The number of lost messages. + + + cached + Number of incoming cached messages when the data stream is interrupted. + + +
          diff --git a/en-US/dita/RTC/API/callback_onstreampublished.dita b/en-US/dita/RTC/API/callback_onstreampublished.dita index bff008e28b8..48e5e4a1d0c 100644 --- a/en-US/dita/RTC/API/callback_onstreampublished.dita +++ b/en-US/dita/RTC/API/callback_onstreampublished.dita @@ -2,7 +2,8 @@ <ph keyref="onStreamPublished"/> - Occurs when an RTMP or RTMPS stream is published. + Occurs when an RTMP or RTMPS stream is + published. @@ -13,25 +14,26 @@

          - public void onStreamPublished(String url, int error) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamPublished(String url, int error) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamPublishedWithUrl:(NSString * _Nonnull)url errorCode:(AgoraErrorCode)errorCode; - virtual void onStreamPublished(const char *url, int error) { + virtual void onStreamPublished(const char *url, int error) { (void)url; (void)error; } - on(evt: EngineEvents.STREAM_PUBLISHED, cb: (url: string, error: number) => void): this; - public virtual void OnStreamPublished(string url, int error) - - UrlWithErrorCallback? streamPublished;

          + on(evt: EngineEvents.STREAM_PUBLISHED, cb: (url: string, error: number) => void): this; + public virtual void OnStreamPublished(string url, int error) + + UrlWithErrorCallback? streamPublished; +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +

          Reports the result of publishing an RTMP or RTMPS stream.

          @@ -39,48 +41,54 @@ <ph keyref="callback-section-title"/>

          - - - - - - url - The CDN streaming URL. - - - error - errorCode - -

          Error codes of the RTMP or RTMPS streaming. -

            -
          • ERR_OK (0): The publishing succeeds.
          • -
          • ERR_FAILED (1): The publishing fails.
          • -
          • ERR_INVALID_ARGUMENT (-2): Invalid argument used. - If you do not call to configure - before calling , the SDK reports - ERR_INVALID_ARGUMENT.
          • -
          • ERR_TIMEDOUT (10): The publishing timed out.
          • -
          • ERR_ALREADY_IN_USE (19): The chosen URL address is - already in use for CDN live streaming.
          • -
          • ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH (130): You - cannot publish an encrypted stream.
          • -
          • ERR_PUBLISH_STREAM_CDN_ERROR (151): CDN related - error. Remove the original URL address and add a new one by calling - the and methods.
          • -
          • ERR_PUBLISH_STREAM_NUM_REACH_LIMIT (152): The host - manipulates more than 10 URLs. Delete the unnecessary URLs before - adding new ones.
          • -
          • ERR_PUBLISH_STREAM_NOT_AUTHORIZED (153): The host - manipulates other hosts' URLs. Please check your app logic.
          • -
          • ERR_PUBLISH_STREAM_INTERNAL_SERVER_ERROR (154): An - error occurs in Agora's streaming server. Call the method to publish the streaming - again.
          • -
          • ERR_PUBLISH_STREAM_FORMAT_NOT_SUPPORTED (156): The - format of the CDN streaming URL is not supported. Check whether the - URL format is correct.
          • -

          - - - + + + + + + url + The CDN streaming URL. + + + error + errorCode + +

          Error codes of the RTMP or RTMPS streaming.

            +
          • ERR_OK (0): The publishing succeeds.
          • +
          • ERR_FAILED (1): The publishing fails.
          • +
          • ERR_INVALID_ARGUMENT (-2): Invalid argument + used. If you do not call to + configure before calling , the SDK reports + ERR_INVALID_ARGUMENT.
          • +
          • ERR_TIMEDOUT (10): The publishing timed + out.
          • +
          • ERR_ALREADY_IN_USE (19): The chosen URL address + is already in use for CDN live streaming.
          • +
          • ERR_ENCRYPTED_STREAM_NOT_ALLOWED_PUBLISH (130): + You cannot publish an encrypted stream.
          • +
          • ERR_PUBLISH_STREAM_CDN_ERROR (151): CDN related + error. Remove the original URL address and add a new one by + calling the and methods.
          • +
          • ERR_PUBLISH_STREAM_NUM_REACH_LIMIT (152): The + host manipulates more than 10 URLs. Delete the unnecessary URLs + before adding new ones.
          • +
          • ERR_PUBLISH_STREAM_NOT_AUTHORIZED (153): The + host manipulates other hosts' URLs. Please check your app + logic.
          • +
          • ERR_PUBLISH_STREAM_INTERNAL_SERVER_ERROR (154): + An error occurs in Agora's streaming server. Call the method to publish the + streaming again.
          • +
          • ERR_PUBLISH_STREAM_FORMAT_NOT_SUPPORTED (156): + The format of the CDN streaming URL is not supported. Check + whether the URL format is correct.
          • +
          +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onstreamunpublished.dita b/en-US/dita/RTC/API/callback_onstreamunpublished.dita index 015a21f8cba..d1873b091a4 100644 --- a/en-US/dita/RTC/API/callback_onstreamunpublished.dita +++ b/en-US/dita/RTC/API/callback_onstreamunpublished.dita @@ -13,37 +13,39 @@

          - public void onStreamUnpublished(String url) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onStreamUnpublished(String url) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine streamUnpublishedWithUrl:(NSString * _Nonnull)url; - virtual void onStreamUnpublished(const char *url) { + virtual void onStreamUnpublished(const char *url) { (void)url; } - on(evt: EngineEvents.STREAM_UNPUBLISHED, cb: (url: string) => void): this; - public virtual void OnStreamUnpublished(string url) - - UrlCallback? streamUnpublished;

          + on(evt: EngineEvents.STREAM_UNPUBLISHED, cb: (url: string) => void): this; + public virtual void OnStreamUnpublished(string url) + + UrlCallback? streamUnpublished; +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          <ph keyref="callback-section-title"/>

          - - - - - - url - Removes an RTMP or RTMPS URL of the media push. - -

          + + + + + + url + Removes an RTMP or RTMPS URL of the media push. + + +
          diff --git a/en-US/dita/RTC/API/callback_ontokenprivilegewillexpire.dita b/en-US/dita/RTC/API/callback_ontokenprivilegewillexpire.dita index c0a59120c0e..d51de33973c 100644 --- a/en-US/dita/RTC/API/callback_ontokenprivilegewillexpire.dita +++ b/en-US/dita/RTC/API/callback_ontokenprivilegewillexpire.dita @@ -2,7 +2,8 @@ <ph keyref="onTokenPrivilegeWillExpire"/> - Occurs when the token expires in 30 seconds. + Occurs when the token expires in 30 + seconds. @@ -13,33 +14,37 @@

          - public void onTokenPrivilegeWillExpire(String token) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onTokenPrivilegeWillExpire(String token) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine tokenPrivilegeWillExpire:(NSString *_Nonnull)token; - virtual void onTokenPrivilegeWillExpire(const char* token) { + virtual void onTokenPrivilegeWillExpire(const char* token) { (void)token; } - on(evt: EngineEvents.TOKEN_PRIVILEGE_WILL_EXPIRE, cb: (token: string) => void): this; - public virtual void OnTokenPrivilegeWillExpire(string token) - - TokenCallback? tokenPrivilegeWillExpire;

          + on(evt: EngineEvents.TOKEN_PRIVILEGE_WILL_EXPIRE, cb: (token: string) => void): this; + public virtual void OnTokenPrivilegeWillExpire(string token) + + TokenCallback? tokenPrivilegeWillExpire; +

          -

          When the token is about to expire in 30 seconds, the SDK triggers this callback to remind the app to renew the token.

          -

          Upon receiving this callback, generate a new token on your server, and call to pass the new token to the SDK.

          +

          When the token is about to expire in 30 seconds, the SDK triggers this + callback to remind the app to renew the token.

          +

          Upon receiving this callback, generate a new token on your server, and call to pass the new token to the SDK.

          <ph keyref="callback-section-title"/>

          - - - - - - token - The token that expires in 30 seconds. - -

          + + + + + + token + The token that expires in 30 seconds. + + +
          diff --git a/en-US/dita/RTC/API/callback_ontranscodingupdated.dita b/en-US/dita/RTC/API/callback_ontranscodingupdated.dita index 1e7d00ae316..2bc8c3c84bc 100644 --- a/en-US/dita/RTC/API/callback_ontranscodingupdated.dita +++ b/en-US/dita/RTC/API/callback_ontranscodingupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onTranscodingUpdated"/> - Occurs when the publisher's transcoding is updated. + Occurs when the publisher's transcoding is + updated. @@ -13,27 +14,32 @@

          - public void onTranscodingUpdated() {} - - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onTranscodingUpdated() - on(evt: EngineEvents.TRANSCODING_UPDATED, cb: () => void): this; - public virtual void OnTranscodingUpdated() - - EmptyCallback? transcodingUpdated;

          + public void onTranscodingUpdated() {} + - (void)rtcEngineTranscodingUpdated:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onTranscodingUpdated() + on(evt: EngineEvents.TRANSCODING_UPDATED, cb: () => void): this; + public virtual void OnTranscodingUpdated() + + EmptyCallback? transcodingUpdated; +

          -

          When the class in the method updates, the SDK triggers the callback to report the update information.

          +

          When the class in the method updates, the SDK triggers the callback to report the update information.

          If you call the method to set the class for the first time, the - SDK does not trigger this callback.
          + SDK does not trigger this callback. +
          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onuplinknetworkinfoupdated.dita b/en-US/dita/RTC/API/callback_onuplinknetworkinfoupdated.dita index 7d5177f765b..f9129c55f92 100644 --- a/en-US/dita/RTC/API/callback_onuplinknetworkinfoupdated.dita +++ b/en-US/dita/RTC/API/callback_onuplinknetworkinfoupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onUplinkNetworkInfoUpdated"/> - Occurs when the uplink network information changes. + Occurs when the uplink network information + changes. @@ -13,32 +14,36 @@

          - public void onUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + public void onUplinkNetworkInfoUpdated(UplinkNetworkInfo info) {} + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine uplinkNetworkInfoUpdate:(AgoraUplinkNetworkInfo *_Nonnull)networkInfo; - virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) { + virtual void onUplinkNetworkInfoUpdated(const UplinkNetworkInfo& info) { (void)info; } - - - -

          + + + + +

          The SDK triggers this callback when the uplink network information changes.

          - This callback only applies to scenarios where you push externally encoded video data in H.264 format to the SDK.
          + This callback only applies to scenarios where you push externally + encoded video data in H.264 format to the SDK. +
          Parameters - - - - - - info - networkInfo - The uplink network information. See . - -
          + + + + + + info + networkInfo + The uplink network information. See . + + +
          diff --git a/en-US/dita/RTC/API/callback_onuploadlogresult.dita b/en-US/dita/RTC/API/callback_onuploadlogresult.dita index 35afd2e8ee6..2ea3e703151 100644 --- a/en-US/dita/RTC/API/callback_onuploadlogresult.dita +++ b/en-US/dita/RTC/API/callback_onuploadlogresult.dita @@ -2,7 +2,8 @@ <ph keyref="onUploadLogResult"/> - Reports the result of uploading the SDK log files. + Reports the result of uploading the SDK log + files. @@ -13,55 +14,65 @@

          - - - virtual void onUploadLogResult(const char* requestId, + + + virtual void onUploadLogResult(const char* requestId, bool success, UPLOAD_ERROR_REASON reason) { (void)requestId; (void)success; (void)reason; } - on(evt: EngineEvents.UPLOAD_LOG_RESULT, cb: ( + on(evt: EngineEvents.UPLOAD_LOG_RESULT, cb: ( requestId: string, success: boolean, reason: number ) => void): this; - public virtual void OnUploadLogResult(string requestId, bool success, UPLOAD_ERROR_REASON reason) - - UploadLogResultCallback? uploadLogResult;

          + public virtual void OnUploadLogResult(string requestId, bool success, UPLOAD_ERROR_REASON reason) + + UploadLogResultCallback? uploadLogResult; +

          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          -

          After is called, the SDK triggers the callback to report the result of uploading the SDK log files. If the upload fails, refer to the reason parameter to troubleshoot.

          +

          After is called, the SDK triggers the callback to + report the result of uploading the SDK log files. If the upload fails, refer to the + reason parameter to troubleshoot.

          <ph keyref="callback-section-title"/>

          - - requestId - The request ID. The request ID is the same as the requestId returned in . You can use the requestId to match a specific upload with a callback. - - - success - -

          Whether the log file is uploaded successfully: -

            -
          • : Successfully upload the log files.
          • -
          • : Fails to upload the log files. For details, see the reason parameter.
          • -

          - - - - reason - The reason for the upload failure. For details, see . - -
          + + requestId + The request ID. The request ID is the same as the + requestId returned in . + You can use the requestId to match a specific upload + with a callback. + + + success + +

          Whether the log file is uploaded successfully:

            +
          • : Successfully upload the + log files.
          • +
          • : Fails to upload the log + files. For details, see the reason + parameter.
          • +

          +
          +
          + + reason + The reason for the upload failure. For details, see . + + +
          diff --git a/en-US/dita/RTC/API/callback_onuserenablelocalvideo.dita b/en-US/dita/RTC/API/callback_onuserenablelocalvideo.dita index 9b07ea8aef6..283e54e824f 100644 --- a/en-US/dita/RTC/API/callback_onuserenablelocalvideo.dita +++ b/en-US/dita/RTC/API/callback_onuserenablelocalvideo.dita @@ -2,7 +2,8 @@ <ph keyref="onUserEnableLocalVideo"/> - Occurs when a specific remote user enables/disables the local video capturing function. + Occurs when a specific remote user enables/disables the + local video capturing function. @@ -13,62 +14,67 @@

          - public void onUserEnableLocalVideo(int uid, boolean enabled) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + 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) { + virtual void onUserEnableLocalVideo(uid_t uid, bool enabled) { (void)uid; (void)enabled; } - on(evt: EngineEvents.USER_ENABLE_LOCAL_VIDEO, cb: ( + on(evt: EngineEvents.USER_ENABLE_LOCAL_VIDEO, cb: ( uid: number, enabled: boolean) => void ): this; - public virtual void OnUserEnableLocalVideo(uint uid, bool enabled) - - UidWithEnabledCallback? userEnableLocalVideo;

          + public virtual void OnUserEnableLocalVideo(uint uid, bool enabled) + + UidWithEnabledCallback? userEnableLocalVideo; +

          - -
          Deprecated:
          -
          Please use instead : -
            -
          • (0) and (5).
          • -
          • (2) and (6).
          • -
          -
          + +
          Deprecated:
          +
          Please use instead :
            +
          • (0) and (5).
          • +
          • (2) and (6).
          • +
          +
          +
          -

          The SDK triggers this callback when the remote user resumes or stops capturing the video stream by calling the method.

          +

          The SDK triggers this callback when the remote user resumes or stops + capturing the video stream by calling the + method.

          <ph keyref="callback-section-title"/>

          - - - - - - uid - The user ID of the remote user. - - - enabled - -

          Whether the specified remote user enables/disables the local video - capturing function: -

            -
          • : Enable. Other users in the - channel can see the video of this remote user.
          • -
          • : Disable. Other users in the - channel can no longer receive the video stream from this remote - user, while this remote user can still receive the video streams - from other users.
          • -

          - - -
          + + + + + + uid + The user ID of the remote user. + + + enabled + +

          Whether the specified remote user enables/disables the local video + capturing function:

            +
          • : Enable. Other users in the + channel can see the video of this remote user.
          • +
          • : Disable. Other users in + the channel can no longer receive the video stream from this + remote user, while this remote user can still receive the video + streams from other users.
          • +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onuserenablevideo.dita b/en-US/dita/RTC/API/callback_onuserenablevideo.dita index 6b391495eec..9483d35e703 100644 --- a/en-US/dita/RTC/API/callback_onuserenablevideo.dita +++ b/en-US/dita/RTC/API/callback_onuserenablevideo.dita @@ -2,7 +2,8 @@ <ph keyref="onUserEnableVideo"/> - Occurs when a remote user enables/disables the video module. + Occurs when a remote user enables/disables the video + module. @@ -13,53 +14,61 @@

          - public void onUserEnableVideo(int uid, boolean enabled) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserEnableVideo(int uid, boolean enabled) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoEnabled:(BOOL)enabled byUid:(NSUInteger)uid - virtual void onUserEnableVideo(uid_t uid, bool enabled) { + virtual void onUserEnableVideo(uid_t uid, bool enabled) { (void)uid; (void)enabled; } - on(evt: EngineEvents.USER_ENABLE_VIDEO, cb: (uid: number, enabled: boolean) => void): this; - public virtual void OnUserEnableVideo(uint uid, bool enabled) - - UidWithEnabledCallback? userEnableVideo;

          + on(evt: EngineEvents.USER_ENABLE_VIDEO, cb: (uid: number, enabled: boolean) => void): this; + public virtual void OnUserEnableVideo(uint uid, bool enabled) + + UidWithEnabledCallback? userEnableVideo; +

          - -
          Deprecated:
          -
          Please use instead : -
            -
          • (0) and (5).
          • -
          • (2) and (6).
          • -
          -
          + +
          Deprecated:
          +
          Please use instead :
            +
          • (0) and (5).
          • +
          • (2) and (6).
          • +
          +
          +
          -

          Once the video module is disabled, the user can only use a voice call. The user cannot send or receive any video.

          -

          The SDK triggers this callback when a remote user enables or disables the video module by calling the or method.

          +

          Once the video module is disabled, the user can only use a voice call. The + user cannot send or receive any video.

          +

          The SDK triggers this callback when a remote user enables or disables the video + module by calling the or + method.

          <ph keyref="callback-section-title"/>

          - - - - - - uid - The user ID of the remote user. - - - enabled - -

            -
          • : Enable.
          • -
          • : Disable.
          • -
          - -
          + + + + + + uid + The user ID of the remote user. + + + enabled + +
            +
          • : Enable.
          • +
          • : Disable.
          • +
          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onuserinfoupdated.dita b/en-US/dita/RTC/API/callback_onuserinfoupdated.dita index 60485bdad4e..c998e7cb062 100644 --- a/en-US/dita/RTC/API/callback_onuserinfoupdated.dita +++ b/en-US/dita/RTC/API/callback_onuserinfoupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onUserInfoUpdated"/> - Occurs when the SDK gets the user ID and user account of the remote user. + Occurs when the SDK gets the user ID and user account + of the remote user. @@ -13,49 +14,56 @@

          - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didUserInfoUpdatedWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo* _Nonnull)userInfo;

          + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didUserInfoUpdatedWithUserId:(NSUInteger)uid userInfo:(AgoraUserInfo* _Nonnull)userInfo; +

          - - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine didUpdatedUserInfo:(AgoraUserInfo* _Nonnull)userInfo withUid:(NSUInteger)uid;

          + - (void)rtcEngine:(AgoraRtcEngineKit* _Nonnull)engine didUpdatedUserInfo:(AgoraUserInfo* _Nonnull)userInfo withUid:(NSUInteger)uid; +

          - public void onUserInfoUpdated(int uid, UserInfo userInfo) {} - virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) { + public void onUserInfoUpdated(int uid, UserInfo userInfo) {} + virtual void onUserInfoUpdated(uid_t uid, const UserInfo& info) { (void)uid; (void)info; } - on( + on( evt: EngineEvents.USER_INFO_UPDATED, cb: (uid: number, userInfo: UserInfo) => void ): this; - public virtual void OnUserInfoUpdated(uint uid, UserInfo info) - - UserInfoCallback? userInfoUpdated;

          + public virtual void OnUserInfoUpdated(uint uid, UserInfo info) + + UserInfoCallback? userInfoUpdated; +

          - -
          Since
          -
          v2.8.0
          -
          + +
          Since
          +
          v2.8.0
          +
          -

          After a remote user joins the channel, the SDK gets the UID and user account of the remote user, caches them in a mapping table object, and triggers this callback on the local client.

          +

          After a remote user joins the channel, the SDK gets the UID and user account of the + remote user, caches them in a mapping table object, and triggers this callback on + the local client.

          <ph keyref="callback-section-title"/>

          - - - - - - uid - The ID of the remote user. - - - userInfo - info - The UserInfo object that contains the user ID and user account of the remote user. See for details. - -

          + + + + + + uid + The ID of the remote user. + + + userInfo + info + The UserInfo object that contains the user ID and user account of the remote + user. See for details. + + +
          diff --git a/en-US/dita/RTC/API/callback_onuserjoined.dita b/en-US/dita/RTC/API/callback_onuserjoined.dita index 35ba1056d93..b4afb2ae65f 100644 --- a/en-US/dita/RTC/API/callback_onuserjoined.dita +++ b/en-US/dita/RTC/API/callback_onuserjoined.dita @@ -2,51 +2,60 @@ <ph keyref="onUserJoined"/> - Occurs when a remote user (COMMUNICATION)/ host (LIVE_BROADCASTING) joins the channel. + Occurs when a remote user (COMMUNICATION)/ host + (LIVE_BROADCASTING) joins the channel.

          - public void onUserJoined(int uid, int elapsed) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserJoined(int uid, int elapsed) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didJoinedOfUid:(NSUInteger)uid elapsed:(NSInteger)elapsed; - virtual void onUserJoined(uid_t uid, int elapsed) { + virtual void onUserJoined(uid_t uid, int elapsed) { (void)uid; (void)elapsed; } - on(evt: EngineEvents.USER_JOINED, cb: (uid: number, elapsed: number) => void): this; - public virtual void OnUserJoined(uint uid, int elapsed) - - UidWithElapsedCallback? userJoined;

          + on(evt: EngineEvents.USER_JOINED, cb: (uid: number, elapsed: number) => void): this; + public virtual void OnUserJoined(uint uid, int elapsed) + + UidWithElapsedCallback? userJoined; +

            -
          • In a communication channel, this callback indicates that a remote user joins the channel. The SDK also triggers this callback to report the existing users in the channel when a user joins the channel.
          • -
          • In a live-broadcast channel, this callback indicates that a host joins the channel. The SDK also triggers this callback to report the existing hosts in the channel when a host joins the channel. Agora recommends limiting the number of hosts to 17.
          • +
          • In a communication channel, this callback indicates that a remote user joins the + channel. The SDK also triggers this callback to report the existing users in the + channel when a user joins the channel.
          • +
          • In a live-broadcast channel, this callback indicates that a host joins the + channel. The SDK also triggers this callback to report the existing hosts in the + channel when a host joins the channel. Agora recommends limiting the number of + hosts to 17.
          -

          The SDK triggers this callback under one of the following circumstances: -

            -
          • A remote user/host joins the channel by calling the method.
          • -
          • A remote user switches the user role to the host after joining the channel.
          • -
          • A remote user/host rejoins the channel after a network interruption.
          • -

          +

          The SDK triggers this callback under one of the following circumstances:

            +
          • A remote user/host joins the channel by calling the method.
          • +
          • A remote user switches the user role to the host after joining the + channel.
          • +
          • A remote user/host rejoins the channel after a network interruption.
          • +

          <ph keyref="callback-section-title"/>

          - - - - - - uid - The ID of the user or host who joins the channel. - - - elapsed - Time delay (ms) from the local user calling + + + + + + uid + The ID of the user or host who joins the channel. + + + elapsed + Time delay (ms) from the local user calling until this callback is triggered. - -

          + + +
          diff --git a/en-US/dita/RTC/API/callback_onusermuteaudio.dita b/en-US/dita/RTC/API/callback_onusermuteaudio.dita index 7d81178ec47..afd8fcc23f7 100644 --- a/en-US/dita/RTC/API/callback_onusermuteaudio.dita +++ b/en-US/dita/RTC/API/callback_onusermuteaudio.dita @@ -2,7 +2,8 @@ <ph keyref="onUserMuteAudio"/> - Occurs when a remote user (in the communication profile)/ host (in the live streaming profile) joins the channel. + Occurs when a remote user (in the communication + profile)/ host (in the live streaming profile) joins the channel. @@ -13,42 +14,48 @@

          - public void onUserMuteAudio(int uid, boolean muted) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid; - virtual void onUserMuteAudio(uid_t uid, bool muted) { + public void onUserMuteAudio(int uid, boolean muted) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didAudioMuted:(BOOL)muted byUid:(NSUInteger)uid; + virtual void onUserMuteAudio(uid_t uid, bool muted) { (void)uid; (void)muted; } - on(evt: EngineEvents.USER_MUTE_AUDIO, cb: (uid: number, muted: boolean) => void): this; - public virtual void OnUserMuteAudio(uint uid, bool muted) - - UidWithMutedCallback? userMuteAudio;

          + on(evt: EngineEvents.USER_MUTE_AUDIO, cb: (uid: number, muted: boolean) => void): this; + public virtual void OnUserMuteAudio(uint uid, bool muted) + + UidWithMutedCallback? userMuteAudio; +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          -

          The SDK triggers this callback when the remote user stops or resumes sending the audio stream by calling the method.

          - This callback does not work properly when the number of users (in the communication profile) or hosts (in the live streaming profile) in the channel exceeds 17.
          +

          The SDK triggers this callback when the remote user stops or resumes sending the + audio stream by calling the method.

          + This callback does not work properly when the number of users (in + the communication profile) or hosts (in the live streaming profile) in the channel + exceeds 17. +
          <ph keyref="callback-section-title"/>

          - - uid - User ID. - - - muted - Whether the remote user's audio stream is muted/unmuted: -

            -
          • : Muted.
          • -
          • : Unmuted.
          • -
          - -
          + + uid + User ID. + + + muted + Whether the remote user's audio stream is muted/unmuted:
            +
          • : Muted.
          • +
          • : Unmuted.
          • +
          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onusermutevideo.dita b/en-US/dita/RTC/API/callback_onusermutevideo.dita index b02530bd385..dafb0325bdb 100644 --- a/en-US/dita/RTC/API/callback_onusermutevideo.dita +++ b/en-US/dita/RTC/API/callback_onusermutevideo.dita @@ -2,7 +2,8 @@ <ph keyref="onUserMuteVideo"/> - Occurs when a remote user's video stream playback pauses/resumes. + Occurs when a remote user's video stream playback + pauses/resumes. @@ -13,50 +14,60 @@

          - public void onUserMuteVideo(int uid, boolean muted) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid - virtual void onUserMuteVideo(uid_t uid, bool muted) { + public void onUserMuteVideo(int uid, boolean muted) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didVideoMuted:(BOOL)muted byUid:(NSUInteger)uid + virtual void onUserMuteVideo(uid_t uid, bool muted) { (void)uid; (void)muted; } - on(evt: EngineEvents.USER_MUTE_VIDEO, cb: (uid: number, muted: boolean) => void): this; - public virtual void OnUserMuteVideo(uint uid, bool muted) - - UidWithMutedCallback? userMuteVideo;

          + on(evt: EngineEvents.USER_MUTE_VIDEO, cb: (uid: number, muted: boolean) => void): this; + public virtual void OnUserMuteVideo(uint uid, bool muted) + + UidWithMutedCallback? userMuteVideo; +

          - -
          Deprecated:
          -
          This callback is deprecated. You can also use the callback with the following parameters: -
            -
          • (0) and (5).
          • -
          • (2) and (6).
          • -
          -
          + +
          Deprecated:
          +
          This callback is deprecated. You can also use the callback with the following + parameters:
            +
          • (0) and (5).
          • +
          • (2) and (6).
          • +
          +
          +
          -

          The SDK triggers this callback when the remote user stops or resumes sending the video stream by calling the method.

          - This callback does not work properly when the number of users (in the COMMUNICATION profile) or hosts (in the LIVE_BROADCASTING profile) in the channel exceeds 17.
          +

          The SDK triggers this callback when the remote user stops or resumes sending the + video stream by calling the method.

          + This callback does not work properly when the number of users (in + the COMMUNICATION profile) or hosts (in the LIVE_BROADCASTING profile) in the + channel exceeds 17. +
          <ph keyref="callback-section-title"/>

          - - - - - - uid - The ID of the remote user. - - - muted - Whether the remote user's video stream playback is paused/resumed: -

            -
          • : Paused.
          • -
          • : Resumed.
          • -
          - -
          + + + + + + uid + The ID of the remote user. + + + muted + Whether the remote user's video stream playback is paused/resumed:
            +
          • : Paused.
          • +
          • : Resumed.
          • +
          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onuseroffline.dita b/en-US/dita/RTC/API/callback_onuseroffline.dita index 08366ff88a6..833d9acb90d 100644 --- a/en-US/dita/RTC/API/callback_onuseroffline.dita +++ b/en-US/dita/RTC/API/callback_onuseroffline.dita @@ -2,7 +2,8 @@ <ph keyref="onUserOffline"/> - Occurs when a remote user (COMMUNICATION)/ host (LIVE_BROADCASTING) leaves the channel. + Occurs when a remote user (COMMUNICATION)/ host + (LIVE_BROADCASTING) leaves the channel. @@ -13,62 +14,71 @@

          - public void onUserOffline(int uid, int reason) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onUserOffline(int uid, int reason) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine didOfflineOfUid:(NSUInteger)uid reason:(AgoraUserOfflineReason)reason; - virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) { + virtual void onUserOffline(uid_t uid, USER_OFFLINE_REASON_TYPE reason) { (void)uid; (void)reason; } - on( + on( evt: EngineEvents.USER_OFFLINE, cb: (uid: number, reason: USER_OFFLINE_REASON_TYPE) => void ): this; - public virtual void OnUserOffline(uint uid, USER_OFFLINE_REASON_TYPE reason) - - UserOfflineCallback? userOffline;

          + public virtual void OnUserOffline(uint uid, USER_OFFLINE_REASON_TYPE reason) + + UserOfflineCallback? userOffline; +

          -

          There are two reasons for users to become offline: -

            -
          • Leave the channel: When a user/host leaves the channel, the user/host sends a goodbye message. When this message is received, the SDK determines that the user/host leaves the channel.
          • -
          • Drop offline: When no data packet of the user or host is received for a certain period of time (20 seconds for the communication profile, and more for the live broadcast profile), the SDK assumes that the user/host drops offline. A poor network connection may lead to false detections. It's recommended to use the Agora RTM SDK for reliable offline detection.
          • -

          +

          There are two reasons for users to become offline:

            +
          • Leave the channel: When a user/host leaves the channel, the user/host sends + a goodbye message. When this message is received, the SDK determines that + the user/host leaves the channel.
          • +
          • Drop offline: When no data packet of the user or host is received for a + certain period of time (20 seconds for the communication profile, and more + for the live broadcast profile), the SDK assumes that the user/host drops + offline. A poor network connection may lead to false detections. It's + recommended to use the Agora RTM SDK for reliable offline detection.
          • +
          +

          <ph keyref="callback-section-title"/>

          - - - - - - uid - The ID of the user who leaves the channel or goes offline. - - - reason - -

          Reasons why the user goes offline: .

          -

          Reasons why a - remote user (COMMUNICATION) or a host (LIVE_BROADCASTING) goes offline: -

            -
          • (0): The user has quit the call. When - the user leaves the channel, the user sends a goodbye message. When this - message is received, the SDK determines that the user leaves the - channel.
          • -
          • (1): The SDK timed out and the user - dropped offline because it has not received any data package within a - certain period of time. A poor network connection may lead to false - detection, so we recommend using the RTM SDK for reliable offline - detection.
          • -
          • (2): The user switches the - user role from a broadcaster to an audience.
          • -

          - - -
          + + + + + + uid + The ID of the user who leaves the channel or goes offline. + + + reason + +

          Reasons why the user goes offline: .

          +

          Reasons why a remote user (COMMUNICATION) or a host + (LIVE_BROADCASTING) goes offline:

            +
          • (0): The user has quit the + call. When the user leaves the channel, the user sends a goodbye + message. When this message is received, the SDK determines that + the user leaves the channel.
          • +
          • (1): The SDK timed out and + the user dropped offline because it has not received any data + package within a certain period of time. A poor network + connection may lead to false detection, so we recommend using + the RTM SDK for reliable offline detection.
          • +
          • (2): The user + switches the user role from a broadcaster to an audience.
          • +
          +

          +
          +
          + +
          diff --git a/en-US/dita/RTC/API/callback_onusersuperresolutionenabled.dita b/en-US/dita/RTC/API/callback_onusersuperresolutionenabled.dita index 3d9733c8b3e..16f49b352aa 100644 --- a/en-US/dita/RTC/API/callback_onusersuperresolutionenabled.dita +++ b/en-US/dita/RTC/API/callback_onusersuperresolutionenabled.dita @@ -2,7 +2,8 @@ <ph keyref="onUserSuperResolutionEnabled"/> - Reports whether the super resolution feature is successfully enabled. + Reports whether the super resolution feature is + successfully enabled. @@ -13,43 +14,48 @@

          - - - - - public virtual void OnUserSuperResolutionEnabled(uint uid, bool enabled, SUPER_RESOLUTION_STATE_REASON reason) - - UserSuperResolutionEnabledCallback? userSuperResolutionEnabled;

          + + + + + public virtual void OnUserSuperResolutionEnabled(uint uid, bool enabled, SUPER_RESOLUTION_STATE_REASON reason) + + UserSuperResolutionEnabledCallback? userSuperResolutionEnabled; +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          -

          After calling , the SDK triggers the callback to report whether super resolution is successfully enabled. If it is not successfully enabled, use reason for troubleshooting.

          +

          After calling , the SDK triggers the + callback to report whether super resolution is successfully enabled. If it is not + successfully enabled, use reason for troubleshooting.

          <ph keyref="callback-section-title"/>

          - - uid - The ID of the remote user. - - - enabled - Whether super resolution is successfully enabled: -

            -
          • : Super resolution is successfully enabled.
          • -
          • : Super resolution is not successfully enabled.
          • -
          - - - reason - The reason why super resolution algorithm is not successfully enabled. For details, see . - -
          + + uid + The ID of the remote user. + + + enabled + Whether super resolution is successfully enabled:
            +
          • : Super resolution is successfully enabled.
          • +
          • : Super resolution is not successfully + enabled.
          • +
          +
          + + reason + The reason why super resolution algorithm is not successfully enabled. For + details, see . + + +
          diff --git a/en-US/dita/RTC/API/callback_onvideodevicestatechanged.dita b/en-US/dita/RTC/API/callback_onvideodevicestatechanged.dita index 8a44e41f29e..0be357f4b85 100644 --- a/en-US/dita/RTC/API/callback_onvideodevicestatechanged.dita +++ b/en-US/dita/RTC/API/callback_onvideodevicestatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onVideoDeviceStateChanged"/> - Occurs when the video device state changes. + Occurs when the video device state + changes. @@ -13,41 +14,47 @@

          - - - virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) { + + + virtual void onVideoDeviceStateChanged(const char* deviceId, int deviceType, int deviceState) { (void)deviceId; (void)deviceType; (void)deviceState; } - on(evt: EngineEvents.VIDEO_DEVICE_STATE_CHANGED, cb: ( + on(evt: EngineEvents.VIDEO_DEVICE_STATE_CHANGED, cb: ( deviceId: string, deviceType: number, deviceState: number) => void ): this; - public virtual void OnVideoDeviceStateChanged(string deviceId, int deviceType, int deviceState) - - VideoDeviceStateChanged? videoDeviceStateChanged;

          + public virtual void OnVideoDeviceStateChanged(string deviceId, int deviceType, int deviceState) + + VideoDeviceStateChanged? videoDeviceStateChanged; +

          -

          This callback reports the change of system video devices, such as being unplugged or removed. On a Windows device with an external camera for video capturing, the video disables once the external camera is unplugged.

          +

          This callback reports the change of system video devices, such as being + unplugged or removed. On a Windows device with an external camera for video + capturing, the video disables once the external camera is unplugged.

          <ph keyref="callback-section-title"/>

          - - deviceId - The device ID. - - - deviceType - Media device types. For details, see . - - - deviceState - Media device states. For details, see . - -

          + + deviceId + The device ID. + + + deviceType + Media device types. For details, see . + + + deviceState + Media device states. For details, see . + + +
          diff --git a/en-US/dita/RTC/API/callback_onvideopublishstatechanged.dita b/en-US/dita/RTC/API/callback_onvideopublishstatechanged.dita index da72883d3bf..1bd6b8c6ca2 100644 --- a/en-US/dita/RTC/API/callback_onvideopublishstatechanged.dita +++ b/en-US/dita/RTC/API/callback_onvideopublishstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onVideoPublishStateChanged"/> - Occurs when the video publishing state changes. + Occurs when the video publishing state + changes. @@ -13,63 +14,67 @@

          - public void onVideoPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, + public void onVideoPublishStateChanged(String channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine didVideoPublishStateChange:(NSString * _Nonnull)channelId oldState:(AgoraStreamPublishState)oldState newState:(AgoraStreamPublishState)newState elapseSinceLastState:(int)elapseSinceLastState; - virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { + virtual void onVideoPublishStateChanged(const char* channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) { (void)channel; (void)oldState; (void)newState; (void)elapseSinceLastState; } - on(evt: EngineEvents.VIDEO_PUBLISH_STATE_CHANGED, cb: ( + on(evt: EngineEvents.VIDEO_PUBLISH_STATE_CHANGED, cb: ( channel: string, oldState: STREAM_PUBLISH_STATE, newState: STREAM_PUBLISH_STATE, elapseSinceLastState: number ) => void): this; - public virtual void OnVideoPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, + public virtual void OnVideoPublishStateChanged(string channel, STREAM_PUBLISH_STATE oldState, STREAM_PUBLISH_STATE newState, int elapseSinceLastState) - - StreamPublishStateCallback? videoPublishStateChanged;

          + + StreamPublishStateCallback? videoPublishStateChanged; +

          - -
          Since
          -
          v3.1.0
          -
          + +
          Since
          +
          v3.1.0
          +
          <ph keyref="callback-section-title"/>

          - - - - - - channel - channelId - The name of the channel. - - - oldState - For the previous publishing state, see . - - - newState - For the current publishing state, see . - - - elapseSinceLastState - The time elapsed (ms) from the previous state to the current state. - -

          + + + + + + channel + channelId + The name of the channel. + + + oldState + For the previous publishing state, see . + + + newState + For the current publishing state, see . + + + elapseSinceLastState + The time elapsed (ms) from the previous state to the current state. + + +
          diff --git a/en-US/dita/RTC/API/callback_onvideosizechanged.dita b/en-US/dita/RTC/API/callback_onvideosizechanged.dita index 6bc2198057e..0fed6fe2be3 100644 --- a/en-US/dita/RTC/API/callback_onvideosizechanged.dita +++ b/en-US/dita/RTC/API/callback_onvideosizechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onVideoSizeChanged"/> - Occurs when the video size or rotation of a specified user changes. + Occurs when the video size or rotation of a specified + user changes. @@ -13,12 +14,12 @@

          - public void onVideoSizeChanged(int uid, int width, int height, int rotation) {} - - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine + public void onVideoSizeChanged(int uid, int width, int height, int rotation) {} + - (void)rtcEngine:(AgoraRtcEngineKit * _Nonnull)engine videoSizeChangedOfUid:(NSUInteger)uid size:(CGSize)size rotation:(NSInteger)rotation; - virtual void onVideoSizeChanged(uid_t uid, + virtual void onVideoSizeChanged(uid_t uid, int width, int height, int rotation) { @@ -27,43 +28,45 @@ (void)height; (void)rotation; } - on( + on( evt: EngineEvents.VIDEO_SIZE_CHANGED, cb: (uid: number, width: number, height: number, rotation: number) => void ): this; - public virtual void OnVideoSizeChanged(uint uid, int width, int height, int rotation) - - VideoSizeCallback? videoSizeChanged;

          + public virtual void OnVideoSizeChanged(uint uid, int width, int height, int rotation) + + VideoSizeCallback? videoSizeChanged; +

          <ph keyref="callback-section-title"/>

          - - - - - - uid - The ID of the user whose video size or rotation changes. - uid is 0 for the local user. - - - size - Video dimensions. - - - width - The width (pixels) of the video stream. - - - height - The height (pixels) of the video stream. - - - rotation - The rotation information. The value range is [0,360). - -

          + + + + + + uid + The ID of the user whose video size or rotation changes. + uid is 0 for the local user. + + + size + Video dimensions. + + + width + The width (pixels) of the video stream. + + + height + The height (pixels) of the video stream. + + + rotation + The rotation information. The value range is [0,360). + + +
          diff --git a/en-US/dita/RTC/API/callback_onvideostopped.dita b/en-US/dita/RTC/API/callback_onvideostopped.dita index 0c2dafeb39f..74ace7c5b67 100644 --- a/en-US/dita/RTC/API/callback_onvideostopped.dita +++ b/en-US/dita/RTC/API/callback_onvideostopped.dita @@ -13,33 +13,36 @@

          - public void onVideoStopped() {} - - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine; - virtual void onVideoStopped() - on(evt: EngineEvents.VIDEO_STOPPED, cb: () => void): this; - public virtual void OnVideoStopped() - - EmptyCallback? videoStopped;

          + public void onVideoStopped() {} + - (void)rtcEngineVideoDidStop:(AgoraRtcEngineKit * _Nonnull)engine; + virtual void onVideoStopped() + on(evt: EngineEvents.VIDEO_STOPPED, cb: () => void): this; + public virtual void OnVideoStopped() + + EmptyCallback? videoStopped; +

          - -
          Deprecated:
          -
          Please use (0) in the callback instead.
          -
          + +
          Deprecated:
          +
          Please use (0) in the + callback instead.
          +

          The application can use this callback to change the configuration of the - view (for example, displaying other pictures in the view) after - the video stops playing.

          + view (for example, displaying other pictures in the view) + after the video stops playing.

          <ph keyref="callback-section-title"/>

          - - - - -

          + + + + + +
          diff --git a/en-US/dita/RTC/API/callback_onvideosubscribestatechanged.dita b/en-US/dita/RTC/API/callback_onvideosubscribestatechanged.dita index bd83ce28ae4..35eba5ab9d9 100644 --- a/en-US/dita/RTC/API/callback_onvideosubscribestatechanged.dita +++ b/en-US/dita/RTC/API/callback_onvideosubscribestatechanged.dita @@ -2,8 +2,8 @@ <ph keyref="onVideoSubscribeStateChanged"/> - Occurs when the video subscribing state changes. + Occurs when the video subscribing state + changes. @@ -14,15 +14,15 @@

          - public void onVideoSubscribeStateChanged(String channel, int uid, STREAM_SUBSCRIBE_STATE oldState, + public void onVideoSubscribeStateChanged(String channel, int uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) {} - - (void)rtcEngine:(AgoraRtcEngineKit *_Nonnull)engine + - (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, + virtual void onVideoSubscribeStateChanged(const char* channel, uid_t uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, @@ -33,59 +33,58 @@ (void)newState; (void)elapseSinceLastState; } - on(evt: EngineEvents.VIDEO_SUBSCRIBE_STATE_CHANGED, cb: ( + on(evt: EngineEvents.VIDEO_SUBSCRIBE_STATE_CHANGED, cb: ( channel: string, uid: number, oldState: STREAM_SUBSCRIBE_STATE, newState: STREAM_SUBSCRIBE_STATE, elapseSinceLastState: number ) => void): this; - public virtual void OnVideoSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, + public virtual void OnVideoSubscribeStateChanged(string channel, uint uid, STREAM_SUBSCRIBE_STATE oldState, STREAM_SUBSCRIBE_STATE newState, int elapseSinceLastState) - - StreamSubscribeStateCallback? videoSubscribeStateChanged; + + StreamSubscribeStateCallback? videoSubscribeStateChanged;

          - -
          Since
          -
          v3.1.0
          -
          + +
          Since
          +
          v3.1.0
          +
          <ph keyref="callback-section-title"/> -

          +

          - - - - - - channel - The name of the channel. - - - uid - The ID of the remote user. - - - oldState - The previous subscribing status, see + + + + + + channel + The name of the channel. + + + uid + The ID of the remote user. + + + oldState + The previous subscribing status, see for details. - - - newState - The current subscribing status, see for details. - - - elapseSinceLastState - The time elapsed (ms) from the previous state to the current state. - -

          + + + newState + The current subscribing status, see for details. + + + elapseSinceLastState + The time elapsed (ms) from the previous state to the current state. + + +
          diff --git a/en-US/dita/RTC/API/callback_onvirtualbackgroundsourceenabled.dita b/en-US/dita/RTC/API/callback_onvirtualbackgroundsourceenabled.dita index bdc8eb749fd..c727f28e55c 100644 --- a/en-US/dita/RTC/API/callback_onvirtualbackgroundsourceenabled.dita +++ b/en-US/dita/RTC/API/callback_onvirtualbackgroundsourceenabled.dita @@ -2,7 +2,8 @@ <ph keyref="onVirtualBackgroundSourceEnabled"/> - Reports whether virtual background is successfully enabled. (beta feature) + Reports whether virtual background is successfully + enabled. (beta feature) @@ -13,40 +14,47 @@

          - - - - - public virtual void OnVirtualBackgroundSourceEnabled(bool enabled, + + + + + public virtual void OnVirtualBackgroundSourceEnabled(bool enabled, VIRTUAL_BACKGROUND_SOURCE_STATE_REASON reason) - - VirtualBackgroundSourceEnabledCallback? virtualBackgroundSourceEnabled;

          + + VirtualBackgroundSourceEnabledCallback? virtualBackgroundSourceEnabled; +

          - -
          Since
          -
          v3.5.0
          -
          + +
          Since
          +
          v3.5.0
          +
          -

          After you call , the SDK triggers this callback to report whether virtual background is successfully enabled.

          - If the background image customized in the virtual background is in the PNG or JPG format, this callback is triggered after the image is read.
          +

          After you call , the SDK triggers this + callback to report whether virtual background is successfully enabled.

          + If the background image customized in the virtual background is in the + PNG or JPG format, this callback is triggered after the image is read. +
          <ph keyref="callback-section-title"/>

          - - enabled - Whether virtual background is successfully enabled: -

            -
          • : Virtual background is successfully enabled.
          • -
          • : Virtual background is not successfully enabled.
          • -
          - - - reason - The reason why virtual background is not successfully enabled. See . - -
          + + enabled + Whether virtual background is successfully enabled:
            +
          • : Virtual background is successfully + enabled.
          • +
          • : Virtual background is not successfully + enabled.
          • +
          +
          + + reason + The reason why virtual background is not successfully enabled. See . + + +
          diff --git a/en-US/dita/RTC/API/callback_onwarning.dita b/en-US/dita/RTC/API/callback_onwarning.dita index ec92d2b60d2..ab62f67b52a 100644 --- a/en-US/dita/RTC/API/callback_onwarning.dita +++ b/en-US/dita/RTC/API/callback_onwarning.dita @@ -13,32 +13,39 @@

          - - - virtual void onWarning(int warn, const char* msg) { + + + virtual void onWarning(int warn, const char* msg) { (void)warn; (void)msg; } - on(evt: EngineEvents.WARNING, cb: (warn: number, msg: string) => void): this; - public virtual void OnWarning(int warn, string msg) - - WarningCallback? warning;

          + on(evt: EngineEvents.WARNING, cb: (warn: number, msg: string) => void): this; + public virtual void OnWarning(int warn, string msg) + + WarningCallback? warning; +

          -

          Occurs when a warning occurs during SDK runtime. In most cases, the app can ignore the warnings reported by the SDK because the SDK can usually fix the issue and resume running. For example, when losing connection with the server, the SDK may report WARN_LOOKUP_CHANNEL_TIMEOUT and automatically try to reconnect.

          +

          Occurs when a warning occurs during SDK runtime. In most cases, the app can + ignore the warnings reported by the SDK because the SDK can usually fix the issue + and resume running. For example, when losing connection with the server, the SDK may + report WARN_LOOKUP_CHANNEL_TIMEOUT and automatically try to + reconnect.

          <ph keyref="callback-section-title"/>

          - - warn - Warning codes. For details, see Error Codes and Warning Codes. - - - msg - Warning description. - -

          + + warn + Warning codes. For details, see Error Codes and Warning Codes. + + + msg + Warning description. + + +
          diff --git a/en-US/dita/RTC/API/callback_videosourceapicallexecuted.dita b/en-US/dita/RTC/API/callback_videosourceapicallexecuted.dita index d7e71b25683..e64df577996 100644 --- a/en-US/dita/RTC/API/callback_videosourceapicallexecuted.dita +++ b/en-US/dita/RTC/API/callback_videosourceapicallexecuted.dita @@ -13,16 +13,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_API_CALL_EXECUTED, cb: (api: string, err: number, result: string) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourceapierror.dita b/en-US/dita/RTC/API/callback_videosourceapierror.dita index 698f28550fd..1322c75e973 100644 --- a/en-US/dita/RTC/API/callback_videosourceapierror.dita +++ b/en-US/dita/RTC/API/callback_videosourceapierror.dita @@ -13,21 +13,24 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_API_ERROR, cb: (apiType: ApiTypeEngine, msg: string) => void ): this; - - -

          + + + +

          The callback for the second instance.

          - This callback repots only errors in Electron. If you want to receive errors on the native layer, use .

          + This callback repots only errors in Electron. If you want to + receive errors on the native layer, use . +
          diff --git a/en-US/dita/RTC/API/callback_videosourceaudiodevicestatechanged.dita b/en-US/dita/RTC/API/callback_videosourceaudiodevicestatechanged.dita index 28c8f40173c..2557aa38672 100644 --- a/en-US/dita/RTC/API/callback_videosourceaudiodevicestatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourceaudiodevicestatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceAudioDeviceStateChanged"/> - + @@ -13,16 +14,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_AUDIO_DEVICE_STATE_CHANGED, cb: (deviceId: string, deviceType: number, deviceState: MEDIA_DEVICE_STATE_TYPE) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourceaudiopublishstatechanged.dita b/en-US/dita/RTC/API/callback_videosourceaudiopublishstatechanged.dita index a0da6cad795..00681b27a7c 100644 --- a/en-US/dita/RTC/API/callback_videosourceaudiopublishstatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourceaudiopublishstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceAudioPublishStateChanged"/> - + @@ -13,10 +14,10 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_AUDIO_PUBLISH_STATE_CHANGED, cb: ( channel: string, @@ -25,9 +26,10 @@ elapseSinceLastState: number ) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourceaudiosubscribestatechanged.dita b/en-US/dita/RTC/API/callback_videosourceaudiosubscribestatechanged.dita index e3a08699412..1dd23963378 100644 --- a/en-US/dita/RTC/API/callback_videosourceaudiosubscribestatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourceaudiosubscribestatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceAudioSubscribeStateChanged"/> - + @@ -13,10 +14,10 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_AUDIO_SUBSCRIBE_STATE_CHANGED, cb: ( channel: string, @@ -26,9 +27,10 @@ elapseSinceLastState: number ) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcecameraready.dita b/en-US/dita/RTC/API/callback_videosourcecameraready.dita index c39cd624b4a..8f16616a628 100644 --- a/en-US/dita/RTC/API/callback_videosourcecameraready.dita +++ b/en-US/dita/RTC/API/callback_videosourcecameraready.dita @@ -13,22 +13,24 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_CAMERA_READY, cb: () => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_CAMERA_READY, cb: () => void): this; + + + +

          - -
          Deprecated:
          -
          -

          Please use (1) in instead.

          -
          -
          + +
          Deprecated:
          +
          +

          Please use (1) in instead.

          +
          +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourceconnectionbanned.dita b/en-US/dita/RTC/API/callback_videosourceconnectionbanned.dita index 79a5acda6ad..3c6dc27fe72 100644 --- a/en-US/dita/RTC/API/callback_videosourceconnectionbanned.dita +++ b/en-US/dita/RTC/API/callback_videosourceconnectionbanned.dita @@ -13,20 +13,21 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_BANNED, cb: () => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_BANNED, cb: () => void): this; + + + +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          diff --git a/en-US/dita/RTC/API/callback_videosourceconnectioninterrupted.dita b/en-US/dita/RTC/API/callback_videosourceconnectioninterrupted.dita index 3a062e8f842..07d6dbeb1e2 100644 --- a/en-US/dita/RTC/API/callback_videosourceconnectioninterrupted.dita +++ b/en-US/dita/RTC/API/callback_videosourceconnectioninterrupted.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceConnectionInterrupted"/> - + @@ -13,27 +14,36 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_INTERRUPTED, cb: () => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_INTERRUPTED, cb: () => void): this; + + + +

          The callback for the second instance.

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          -

          The SDK triggers this callback when it loses connection with the server for more than four seconds after the connection is established. After triggering this callback, the SDK tries to reconnect to the server. You can use this callback to implement pop-up reminders. The difference between this callback and is: -

            -
          • The SDK triggers the callback when it loses connection with the server for more than four seconds after it successfully joins the channel.
          • -
          • The SDK triggers the callback when it loses connection with the server for more than 10 seconds, whether or not it joins the channel.
          • -
          If the SDK fails to rejoin the channel 20 minutes after being disconnected from Agora's edge server, the SDK stops rejoining the channel.

          +

          The SDK triggers this callback when it loses connection with the server for more than + four seconds after the connection is established. After triggering this callback, + the SDK tries to reconnect to the server. You can use this callback to implement + pop-up reminders. The difference between this callback and is:

            +
          • The SDK triggers the + callback when it loses connection with the server for more than four seconds + after it successfully joins the channel.
          • +
          • The SDK triggers the callback + when it loses connection with the server for more than 10 seconds, whether + or not it joins the channel.
          • +
          If the SDK fails to rejoin the channel 20 minutes after being disconnected from + Agora's edge server, the SDK stops rejoining the channel.

          diff --git a/en-US/dita/RTC/API/callback_videosourceconnectionlost.dita b/en-US/dita/RTC/API/callback_videosourceconnectionlost.dita index 8a249eeb6d3..b96b0be82ff 100644 --- a/en-US/dita/RTC/API/callback_videosourceconnectionlost.dita +++ b/en-US/dita/RTC/API/callback_videosourceconnectionlost.dita @@ -13,17 +13,21 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_LOST, cb: () => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_LOST, cb: () => void): this; + + + +

          The callback for the second instance.

          -

          The SDK triggers this callback when it cannot connect to the server 10 seconds after calling the method, regardless of whether it is in the channel. If the SDK fails to rejoin the channel 20 minutes after being disconnected from Agora's edge server, the SDK stops rejoining the channel.

          +

          The SDK triggers this callback when it cannot connect to the server 10 seconds after + calling the method, regardless of whether + it is in the channel. If the SDK fails to rejoin the channel 20 minutes after being + disconnected from Agora's edge server, the SDK stops rejoining the channel.

          diff --git a/en-US/dita/RTC/API/callback_videosourceconnectionstatechanged.dita b/en-US/dita/RTC/API/callback_videosourceconnectionstatechanged.dita index c99b735e537..01388f0cbb2 100644 --- a/en-US/dita/RTC/API/callback_videosourceconnectionstatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourceconnectionstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceConnectionStateChanged"/> - + @@ -13,19 +14,20 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_CONNECTION_STATE_CHANGED, cb: ( state: CONNECTION_STATE_TYPE, reason: CONNECTION_CHANGED_REASON_TYPE ) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourceerror.dita b/en-US/dita/RTC/API/callback_videosourceerror.dita index f8e0b222e94..6ef97d883c7 100644 --- a/en-US/dita/RTC/API/callback_videosourceerror.dita +++ b/en-US/dita/RTC/API/callback_videosourceerror.dita @@ -13,18 +13,22 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_ERROR, cb: (err: number, msg: string) => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_ERROR, cb: (err: number, msg: string) => void): this; + + + +

          The callback for the second instance.

          - The callback only reports errors in the C++ layer. If you want to receive errors from the Electron layer, use .

          + The callback only reports errors in the C++ layer. If you want to + receive errors from the Electron layer, use . +
          diff --git a/en-US/dita/RTC/API/callback_videosourcefirstlocalvideoframe.dita b/en-US/dita/RTC/API/callback_videosourcefirstlocalvideoframe.dita index 790424f2ea1..16ec21d4a3e 100644 --- a/en-US/dita/RTC/API/callback_videosourcefirstlocalvideoframe.dita +++ b/en-US/dita/RTC/API/callback_videosourcefirstlocalvideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceFirstLocalVideoFrame"/> - + @@ -13,16 +14,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_FIRST_LOCAL_VIDEO_FRAME, cb: (width: number, height: number, elapsed: number) => void ): this; - - -

          + + + +

          The callback for the second instance.

          @@ -31,18 +33,24 @@
          Parameters - - width - The width (px) of the first local video frame. - - - height - The height (px) of the first local video frame. - - - elapsed - Time elapsed(ms) from the local user calling until the SDK triggers this callback. If you call before calling , then this parameter is the time elapsed from calling the method until the SDK triggers this callback. - -
          + + width + The width (px) of the first local video frame. + + + height + The height (px) of the first local video frame. + + + elapsed + Time elapsed(ms) from the local user calling until the SDK triggers this callback. + If you call before calling , then this parameter is the time + elapsed from calling the method + until the SDK triggers this callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_videosourcefirstremoteaudioframe.dita b/en-US/dita/RTC/API/callback_videosourcefirstremoteaudioframe.dita index 901c4538a87..b82fac3785a 100644 --- a/en-US/dita/RTC/API/callback_videosourcefirstremoteaudioframe.dita +++ b/en-US/dita/RTC/API/callback_videosourcefirstremoteaudioframe.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceFirstRemoteAudioFrame"/> - + @@ -13,36 +14,40 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_FIRST_REMOTE_AUDIO_FRAME, cb: (uid: number, elapsed: number) => void ): this; - - -

          + + + +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +
          Parameters - - uid - The user ID of the remote user. - - - elapsed - Time elapsed (ms) from the local user calling until the SDK triggers this callback. - -
          + + uid + The user ID of the remote user. + + + elapsed + Time elapsed (ms) from the local user calling until the SDK triggers this + callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_videosourcefirstremotevideoframe.dita b/en-US/dita/RTC/API/callback_videosourcefirstremotevideoframe.dita index 88a15265e51..fb82681f8a9 100644 --- a/en-US/dita/RTC/API/callback_videosourcefirstremotevideoframe.dita +++ b/en-US/dita/RTC/API/callback_videosourcefirstremotevideoframe.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceFirstRemoteVideoFrame"/> - + @@ -13,16 +14,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_FIRST_REMOTE_VIDEO_FRAME, cb: (uid: number, width: number, height: number, elapsed: number) => void ): this; - - -

          + + + +

          The callback for the second instance.

          @@ -31,22 +33,25 @@
          Parameters - - uid - The user ID of the remote user sending the video stream. - - - width - The width (px) of the video stream. - - - height - The height (px) of the video stream. - - - elapsed - Time elapsed(ms) from the local user calling until the SDK triggers this callback. - -
          + + uid + The user ID of the remote user sending the video stream. + + + width + The width (px) of the video stream. + + + height + The height (px) of the video stream. + + + elapsed + Time elapsed(ms) from the local user calling until the SDK triggers this + callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_videosourcejoinchannelsuccess.dita b/en-US/dita/RTC/API/callback_videosourcejoinchannelsuccess.dita index 67656c58cad..47c9557f9e6 100644 --- a/en-US/dita/RTC/API/callback_videosourcejoinchannelsuccess.dita +++ b/en-US/dita/RTC/API/callback_videosourcejoinchannelsuccess.dita @@ -13,16 +13,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_JOIN_CHANNEL_SUCCESS, cb: (channel: string, uid: number, elapsed: number) => void ): this; - - -

          + + + +

          The callback for the second instance.

          @@ -31,18 +32,21 @@
          Parameters - - channel - The name of the channel. - - - uid - The ID of the user who joins the channel. - - - elapsed - Time elapsed (ms) from the local user calling the method until the SDK triggers this callback. - -
          + + channel + The name of the channel. + + + uid + The ID of the user who joins the channel. + + + elapsed + Time elapsed (ms) from the local user calling the method until the SDK triggers this + callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_videosourcelocalaudiostatechanged.dita b/en-US/dita/RTC/API/callback_videosourcelocalaudiostatechanged.dita index eb053a0e046..878c9aac34b 100644 --- a/en-US/dita/RTC/API/callback_videosourcelocalaudiostatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourcelocalaudiostatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceLocalAudioStateChanged"/> - + @@ -13,21 +14,23 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_LOCAL_AUDIO_STATE_CHANGED, cb: (state: number, error: number) => void ): this; - - -

          + + + +

          The callback for the second instance.

          -

          + +
          diff --git a/en-US/dita/RTC/API/callback_videosourcelocalaudiostats.dita b/en-US/dita/RTC/API/callback_videosourcelocalaudiostats.dita index 94a0e9e462b..4d5c43502be 100644 --- a/en-US/dita/RTC/API/callback_videosourcelocalaudiostats.dita +++ b/en-US/dita/RTC/API/callback_videosourcelocalaudiostats.dita @@ -13,16 +13,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_LOCAL_AUDIO_STATS, cb: (stats: LocalAudioStats) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcelocalvideostatechanged.dita b/en-US/dita/RTC/API/callback_videosourcelocalvideostatechanged.dita index ee009f1e6e1..78761265889 100644 --- a/en-US/dita/RTC/API/callback_videosourcelocalvideostatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourcelocalvideostatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceLocalVideoStateChanged"/> - + @@ -13,27 +14,41 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_LOCAL_VIDEO_STATE_CHANGED, cb: (localVideoState: number, error: number) => void ): this; - - -

          + + + +

          The callback for the second instance.

          -

          The SDK triggers the callback with the state code and error code in the following situations: -

            -
          • The app switches to the background, and the system gets the camera resource.
          • -
          • The camera starts normally, but does not output video for four consecutive seconds.
          • -

          -

          When the camera outputs the captured video frames, if the video frames are the same for 15 consecutive frames, the SDK triggers the callback with the state code and error code . Note that the video frame duplication detection is only available for video frames with a resolution greater than 200 × 200, a frame rate greater than or equal to 10 fps, and a bitrate less than 20 Kbps.

          -
          +

          The SDK triggers the callback + with the state code + and error code in the following situations:

            +
          • The app switches to the background, and the system gets the camera + resource.
          • +
          • The camera starts normally, but does not output video for four consecutive + seconds.
          • +
          +

          +

          When the camera outputs the captured video frames, if the video frames are the same + for 15 consecutive frames, the SDK triggers the callback with the state code + and + error code . Note + that the video frame duplication detection is only available for video frames with a + resolution greater than 200 × 200, a frame rate greater than or equal to 10 fps, and + a bitrate less than 20 Kbps.

          + +
          diff --git a/en-US/dita/RTC/API/callback_videosourcelocalvideostats.dita b/en-US/dita/RTC/API/callback_videosourcelocalvideostats.dita index 29eca661a6f..a18bb9162af 100644 --- a/en-US/dita/RTC/API/callback_videosourcelocalvideostats.dita +++ b/en-US/dita/RTC/API/callback_videosourcelocalvideostats.dita @@ -13,16 +13,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_LOCAL_VIDEO_STATS, cb: (stats: LocalVideoStats) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcemediaenginestartcallsuccess.dita b/en-US/dita/RTC/API/callback_videosourcemediaenginestartcallsuccess.dita index 0a7371119f7..f47db4b8b3d 100644 --- a/en-US/dita/RTC/API/callback_videosourcemediaenginestartcallsuccess.dita +++ b/en-US/dita/RTC/API/callback_videosourcemediaenginestartcallsuccess.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceMediaEngineStartCallSuccess"/> - + @@ -13,13 +14,14 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_MEDIA_ENGINE_START_CALL_SUCCESS, cb: () => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_MEDIA_ENGINE_START_CALL_SUCCESS, cb: () => void): this; + + + +

          diff --git a/en-US/dita/RTC/API/callback_videosourcenetworkquality.dita b/en-US/dita/RTC/API/callback_videosourcenetworkquality.dita index 922c0635694..fb9be40fef4 100644 --- a/en-US/dita/RTC/API/callback_videosourcenetworkquality.dita +++ b/en-US/dita/RTC/API/callback_videosourcenetworkquality.dita @@ -13,16 +13,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_NETWORK_QUALITY, cb: (uid: number, txquality: QUALITY_TYPE, rxquality: QUALITY_TYPE) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcenetworktypechanged.dita b/en-US/dita/RTC/API/callback_videosourcenetworktypechanged.dita index e7fa5a7651d..64a16942300 100644 --- a/en-US/dita/RTC/API/callback_videosourcenetworktypechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourcenetworktypechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceNetworkTypeChanged"/> - + @@ -13,10 +14,11 @@

          - on( + on( evt: VideoSourceEvents.VIDEO_SOURCE_NETWORK_TYPE_CHANGED, cb: (type: NETWORK_TYPE) => void -): this;

          +): this; +

          The callback for the second instance.

          @@ -25,10 +27,10 @@
          Parameters - - - - + + + +
          Returns diff --git a/en-US/dita/RTC/API/callback_videosourceonleavechannel.dita b/en-US/dita/RTC/API/callback_videosourceonleavechannel.dita index c233035d661..6b413aebefb 100644 --- a/en-US/dita/RTC/API/callback_videosourceonleavechannel.dita +++ b/en-US/dita/RTC/API/callback_videosourceonleavechannel.dita @@ -13,17 +13,20 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_LEAVE_CHANNEL, cb: (stats: RtcStats) => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_LEAVE_CHANNEL, cb: (stats: RtcStats) => void): this; + + + +

          The callback for the second instance.

          -

          This callback notifies the app that the user leaves the channel by calling . From this callback, the app can get information such as the call duration and quality statistics.

          +

          This callback notifies the app that the user leaves the channel by calling . From this callback, the app can get + information such as the call duration and quality statistics.

          diff --git a/en-US/dita/RTC/API/callback_videosourcerejoinchannelsuccess.dita b/en-US/dita/RTC/API/callback_videosourcerejoinchannelsuccess.dita index e3e845a4f7d..8db7a9aeee9 100644 --- a/en-US/dita/RTC/API/callback_videosourcerejoinchannelsuccess.dita +++ b/en-US/dita/RTC/API/callback_videosourcerejoinchannelsuccess.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceRejoinChannelSuccess"/> - + @@ -13,16 +14,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REJOIN_CHANNEL_SUCCESS, cb: (channel: string, uid: number, elapsed: number) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourceremoteaudiostatechanged.dita b/en-US/dita/RTC/API/callback_videosourceremoteaudiostatechanged.dita index d69aa3a0326..cdff6292279 100644 --- a/en-US/dita/RTC/API/callback_videosourceremoteaudiostatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourceremoteaudiostatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceRemoteAudioStateChanged"/> - + @@ -13,10 +14,10 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_AUDIO_STATE_CHANGED, cb: ( uid: number, @@ -25,33 +26,39 @@ elapsed: number ) => void ): this; - - -

          + + + +

          The callback for the second instance.

          -

          + +
          Parameters - - uid - The ID of the remote user whose audio state changes. - - - state - The state of the remote audio, see . - - - reason - The reason of the remote audio state change, see . - - - elapsed - Time elapsed (ms) from the local user calling the method until the SDK triggers this callback. - -
          + + uid + The ID of the remote user whose audio state changes. + + + state + The state of the remote audio, see . + + + reason + The reason of the remote audio state change, see . + + + elapsed + Time elapsed (ms) from the local user calling the method until the SDK triggers this + callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_videosourceremoteaudiostats.dita b/en-US/dita/RTC/API/callback_videosourceremoteaudiostats.dita index 3b310a971de..70f9145971a 100644 --- a/en-US/dita/RTC/API/callback_videosourceremoteaudiostats.dita +++ b/en-US/dita/RTC/API/callback_videosourceremoteaudiostats.dita @@ -13,16 +13,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_AUDIO_STATS, cb: (stats: RemoteAudioStats) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourceremoteaudiotransportstats.dita b/en-US/dita/RTC/API/callback_videosourceremoteaudiotransportstats.dita index b8925df9337..660c86d0161 100644 --- a/en-US/dita/RTC/API/callback_videosourceremoteaudiotransportstats.dita +++ b/en-US/dita/RTC/API/callback_videosourceremoteaudiotransportstats.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceRemoteAudioTransportStats"/> - + @@ -13,25 +14,26 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_AUDIO_TRANSPORT_STATS, cb: (uid: number, delay: number, lost: number, rxKBitRate: number) => void ): this; - - -

          + + + +

          -

          - -
          Deprecated:
          -
          Please use instead.
          -
          -
          +
          + +
          Deprecated:
          +
          Please use instead.
          +
          +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourceremotevideostatechanged.dita b/en-US/dita/RTC/API/callback_videosourceremotevideostatechanged.dita index 34c32777bda..6f7f1eccd4b 100644 --- a/en-US/dita/RTC/API/callback_videosourceremotevideostatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourceremotevideostatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceRemoteVideoStateChanged"/> - + @@ -13,10 +14,10 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_VIDEO_STATE_CHANGED, cb: ( uid: number, @@ -25,32 +26,38 @@ elapsed: number ) => void ): this; - - -

          + + + +

          The callback for the second instance.

          -
          + +
          Parameters - - uid - The ID of the remote user whose video state changes. - - - state - The state of the remote video, see . - - - reason - The reason for the remote video state change, see . - - - elapsed - Time elapsed (ms) from the local user calling the method until the SDK triggers this callback. - -
          + + uid + The ID of the remote user whose video state changes. + + + state + The state of the remote video, see . + + + reason + The reason for the remote video state change, see . + + + elapsed + Time elapsed (ms) from the local user calling the method until the SDK triggers this + callback. + + +
          diff --git a/en-US/dita/RTC/API/callback_videosourceremotevideostats.dita b/en-US/dita/RTC/API/callback_videosourceremotevideostats.dita index a97c65bf88d..c38d8c48cfd 100644 --- a/en-US/dita/RTC/API/callback_videosourceremotevideostats.dita +++ b/en-US/dita/RTC/API/callback_videosourceremotevideostats.dita @@ -13,16 +13,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_VIDEO_STATS, cb: (stats: RemoteVideoStats) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourceremotevideotransportstats.dita b/en-US/dita/RTC/API/callback_videosourceremotevideotransportstats.dita index 5d7a9e8546a..59b7b8454ce 100644 --- a/en-US/dita/RTC/API/callback_videosourceremotevideotransportstats.dita +++ b/en-US/dita/RTC/API/callback_videosourceremotevideotransportstats.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceRemoteVideoTransportStats"/> - + @@ -13,23 +14,24 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_REMOTE_VIDEO_TRANSPORT_STATS, cb: (uid: number, delay: number, lost: number, rxKBitRate: number) => void ): this; - - -

          + + + +

          - -
          Deprecated:
          -
          Please use instead.
          -
          + +
          Deprecated:
          +
          Please use instead.
          +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcerequesttoken.dita b/en-US/dita/RTC/API/callback_videosourcerequesttoken.dita index 135c47e934b..197cf6a1d0d 100644 --- a/en-US/dita/RTC/API/callback_videosourcerequesttoken.dita +++ b/en-US/dita/RTC/API/callback_videosourcerequesttoken.dita @@ -13,18 +13,20 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_REQUEST_TOKEN, cb: () => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_REQUEST_TOKEN, cb: () => void): this; + + + +

          The callback for the second instance.

          -

          Once you receive this callback, generate a new token on your app server, and call to rejoin the channel.

          +

          Once you receive this callback, generate a new token on your app server, and call + to rejoin the channel.

          diff --git a/en-US/dita/RTC/API/callback_videosourcertcstats.dita b/en-US/dita/RTC/API/callback_videosourcertcstats.dita index 0c65b78efaf..b1a7df73105 100644 --- a/en-US/dita/RTC/API/callback_videosourcertcstats.dita +++ b/en-US/dita/RTC/API/callback_videosourcertcstats.dita @@ -13,13 +13,14 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_RTC_STATS, cb: (stats: RtcStats) => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_RTC_STATS, cb: (stats: RtcStats) => void): this; + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcetokenprivilegewillexpire.dita b/en-US/dita/RTC/API/callback_videosourcetokenprivilegewillexpire.dita index 2f7c5f2da32..904cb25ede9 100644 --- a/en-US/dita/RTC/API/callback_videosourcetokenprivilegewillexpire.dita +++ b/en-US/dita/RTC/API/callback_videosourcetokenprivilegewillexpire.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceTokenPrivilegeWillExpire"/> - + @@ -13,21 +14,23 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_TOKEN_PRIVILEGE_WILL_EXPIRE, cb: (token: string) => void ): this; - - -

          + + + +

          The callback for the second instance.

          -

          Upon receiving this callback, generate a new token on your server, and call to pass the new token to the SDK.

          +

          Upon receiving this callback, generate a new token on your server, and call to pass the new token to the SDK.

          diff --git a/en-US/dita/RTC/API/callback_videosourceuserenablelocalvideo.dita b/en-US/dita/RTC/API/callback_videosourceuserenablelocalvideo.dita index b0d355d9119..b4e99f4b278 100644 --- a/en-US/dita/RTC/API/callback_videosourceuserenablelocalvideo.dita +++ b/en-US/dita/RTC/API/callback_videosourceuserenablelocalvideo.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceUserEnableLocalVideo"/> - + @@ -13,16 +14,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_USER_ENABLE_LOCAL_VIDEO, cb: (uid: number, enabled: boolean) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourceuserenablevideo.dita b/en-US/dita/RTC/API/callback_videosourceuserenablevideo.dita index 9a5270813ce..659a845aab8 100644 --- a/en-US/dita/RTC/API/callback_videosourceuserenablevideo.dita +++ b/en-US/dita/RTC/API/callback_videosourceuserenablevideo.dita @@ -13,21 +13,24 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_USER_ENABLE_VIDEO, cb: (uid: number, enabled: boolean) => void ): this; - - -

          + + + +

          The callback for the second instance.

          -

          The SDK triggers this callback when a remote user enables or disables the video module by calling the or method.

          +

          The SDK triggers this callback when a remote user enables or disables the video + module by calling the or method.

          diff --git a/en-US/dita/RTC/API/callback_videosourceuseroffline.dita b/en-US/dita/RTC/API/callback_videosourceuseroffline.dita index aee31460c59..04ebc0a69af 100644 --- a/en-US/dita/RTC/API/callback_videosourceuseroffline.dita +++ b/en-US/dita/RTC/API/callback_videosourceuseroffline.dita @@ -13,16 +13,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_USER_OFFLINE, cb: (uid: number, reason: USER_OFFLINE_REASON_TYPE) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcevideodevicestatechanged.dita b/en-US/dita/RTC/API/callback_videosourcevideodevicestatechanged.dita index 842912526a5..9b36d4b8658 100644 --- a/en-US/dita/RTC/API/callback_videosourcevideodevicestatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourcevideodevicestatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceVideoDeviceStateChanged"/> - + @@ -13,16 +14,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_DEVICE_STATE_CHANGED, cb: (deviceId: string, deviceType: number, deviceState: number) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcevideopublishstatechanged.dita b/en-US/dita/RTC/API/callback_videosourcevideopublishstatechanged.dita index e9a9acb3c64..ca5fe601318 100644 --- a/en-US/dita/RTC/API/callback_videosourcevideopublishstatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourcevideopublishstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceVideoPublishStateChanged"/> - + @@ -13,10 +14,10 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_PUBLISH_STATE_CHANGED, cb: ( channel: string, @@ -25,9 +26,10 @@ elapseSinceLastState: number ) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcevideosizechanged.dita b/en-US/dita/RTC/API/callback_videosourcevideosizechanged.dita index fc4a4a2a659..81849f978c8 100644 --- a/en-US/dita/RTC/API/callback_videosourcevideosizechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourcevideosizechanged.dita @@ -13,16 +13,17 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_SIZE_CHANGED, cb: (uid: number, width: number, height: number, rotation: number) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcevideostopped.dita b/en-US/dita/RTC/API/callback_videosourcevideostopped.dita index b1ea51e9c2a..cbb77be86f1 100644 --- a/en-US/dita/RTC/API/callback_videosourcevideostopped.dita +++ b/en-US/dita/RTC/API/callback_videosourcevideostopped.dita @@ -13,20 +13,23 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_STOPPED, cb: () => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_STOPPED, cb: () => void): this; + + + +

          - -
          Deprecated:
          -
          Please use (0) in the callback instead.
          -
          + +
          Deprecated:
          +
          Please use (0) in the + callback + instead.
          +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcevideosubscribestatechanged.dita b/en-US/dita/RTC/API/callback_videosourcevideosubscribestatechanged.dita index c49f584a468..039a4f64c85 100644 --- a/en-US/dita/RTC/API/callback_videosourcevideosubscribestatechanged.dita +++ b/en-US/dita/RTC/API/callback_videosourcevideosubscribestatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="videoSourceVideoSubscribeStateChanged"/> - + @@ -13,10 +14,10 @@

          - - - - on( + + + + on( evt: VideoSourceEvents.VIDEO_SOURCE_VIDEO_SUBSCRIBE_STATE_CHANGED, cb: ( channel: string, @@ -26,9 +27,10 @@ elapseSinceLastState: number ) => void ): this; - - -

          + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/callback_videosourcewarning.dita b/en-US/dita/RTC/API/callback_videosourcewarning.dita index 5097b3bf6d8..02f36496b57 100644 --- a/en-US/dita/RTC/API/callback_videosourcewarning.dita +++ b/en-US/dita/RTC/API/callback_videosourcewarning.dita @@ -13,13 +13,14 @@

          - - - - on(evt: VideoSourceEvents.VIDEO_SOURCE_WARNING, cb: (warn: number, msg: string) => void): this; - - -

          + + + + on(evt: VideoSourceEvents.VIDEO_SOURCE_WARNING, cb: (warn: number, msg: string) => void): this; + + + +

          The callback for the second instance.

          diff --git a/en-US/dita/RTC/API/class_agorafacepositioninfo.dita b/en-US/dita/RTC/API/class_agorafacepositioninfo.dita index 82eb9e4bf2c..18e55bb72a2 100644 --- a/en-US/dita/RTC/API/class_agorafacepositioninfo.dita +++ b/en-US/dita/RTC/API/class_agorafacepositioninfo.dita @@ -1,30 +1,31 @@ - <ph keyref="AgoraFacePositionInfo" /> - The information of the detected human face. + <ph keyref="AgoraFacePositionInfo"/> + The information of the detected human + face.

          - public static class AgoraFacePositionInfo { + public static class AgoraFacePositionInfo { public int x; public int y; public int width; public int height; public int distance; } - NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject + NS_SWIFT_NAME(AgoraFacePositionInfo) __attribute__((visibility("default"))) @interface AgoraFacePositionInfo : NSObject @property(assign, nonatomic) NSInteger x NS_SWIFT_NAME(x); @property(assign, nonatomic) NSInteger y NS_SWIFT_NAME(y); @property(assign, nonatomic) NSInteger width NS_SWIFT_NAME(width); @property(assign, nonatomic) NSInteger height NS_SWIFT_NAME(height); @property(assign, nonatomic) NSInteger distance NS_SWIFT_NAME(distance); @end - - - - - class FacePositionInfo { + + + + + class FacePositionInfo { int x; int y; @@ -44,41 +45,50 @@ _$FacePositionInfoFromJson(json); Map<String, dynamic> toJson() => _$FacePositionInfoToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - x - -

          The x-coordinate (px) of the human face in the local video. The horizontal position relative to the origin, where the upper left corner of the captured video is the origin, and the x-coordinate is the upper left corner of the watermark.

          -
          -
          - - y - -

          The y-coordinate (px) of the human face in the local video. Taking the top left corner of the captured video as the origin, the y coordinate represents the relative longitudinal displacement of the top left corner of the human face to the origin.

          -
          -
          - - width - -

          The width (px) of the human face in the captured video.

          -
          -
          - - height - -

          The height (px) of the human face in the captured video.

          -
          -
          - - distance - -

          The distance between the human face and the device screen (cm).

          -
          -
          -
          + + x + +

          The x-coordinate (px) of the human face in the local video. The + horizontal position relative to the origin, where the upper left corner + of the captured video is the origin, and the x-coordinate is the upper + left corner of the watermark.

          +
          +
          + + y + +

          The y-coordinate (px) of the human face in the local video. Taking the + top left corner of the captured video as the origin, the y coordinate + represents the relative longitudinal displacement of the top left corner + of the human face to the origin.

          +
          +
          + + width + +

          The width (px) of the human face in the captured video.

          +
          +
          + + height + +

          The height (px) of the human face in the captured video.

          +
          +
          + + distance + +

          The distance between the human face and the device screen (cm).

          +
          +
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_agoramediametadatadatasource.dita b/en-US/dita/RTC/API/class_agoramediametadatadatasource.dita index 3b578643fa6..0ea422cf18b 100644 --- a/en-US/dita/RTC/API/class_agoramediametadatadatasource.dita +++ b/en-US/dita/RTC/API/class_agoramediametadatadatasource.dita @@ -1,11 +1,12 @@ - <ph keyref="AgoraMediaMetadataDataSource" /> + <ph keyref="AgoraMediaMetadataDataSource"/> AgoraMediaMetadataDataSource protocol.
          -

          Implement all the callbacks in this class in the critical thread. We recommend avoiding any time-consuming operation in the critical thread.

          +

          Implement all the callbacks in this class in the critical thread. We recommend + avoiding any time-consuming operation in the critical thread.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_agorarhythmplayerconfig.dita b/en-US/dita/RTC/API/class_agorarhythmplayerconfig.dita index ee272ea2132..7eed308d7c4 100644 --- a/en-US/dita/RTC/API/class_agorarhythmplayerconfig.dita +++ b/en-US/dita/RTC/API/class_agorarhythmplayerconfig.dita @@ -1,12 +1,12 @@ - <ph keyref="AgoraRhythmPlayerConfig" /> + <ph keyref="AgoraRhythmPlayerConfig"/> The metronome configuration.

          - public class AgoraRhythmPlayerConfig { + public class AgoraRhythmPlayerConfig { public int beatsPerMeasure; public int beatsPerMinute; @@ -25,23 +25,23 @@ return beatsPerMinute; } } - __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraRhythmPlayerConfig: NSObject @property (assign, nonatomic) int beatsPerMeasure; @property (assign, nonatomic) int beatsPerMinute; @end - struct AgoraRhythmPlayerConfig { + struct AgoraRhythmPlayerConfig { int beatsPerMeasure; int beatsPerMinute; AgoraRhythmPlayerConfig() : beatsPerMeasure(4), beatsPerMinute(60) {} }; - public class AgoraRhythmPlayerConfig { + public class AgoraRhythmPlayerConfig { public int beatsPerMeasure; public int beatsPerMinute; };

          - public class AgoraRhythmPlayerConfig { + public class AgoraRhythmPlayerConfig { public AgoraRhythmPlayerConfig() { beatsPerMeasure = 4; @@ -52,16 +52,16 @@ public int beatsPerMinute; public boolean publish; } - __attribute__((visibility("default"))) @interface AgoraRtcRhythmPlayerConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRhythmPlayerConfig : NSObject @property(assign, nonatomic) NSUInteger beatsPerMeasure; @property(assign, nonatomic) NSUInteger beatsPerMinute; @property(assign, nonatomic) BOOL publish; @end - - - - - class RhythmPlayerConfig { + + + + + class RhythmPlayerConfig { @JsonKey(includeIfNull: false) int? beatsPerMeasure; @@ -82,35 +82,44 @@ _$RhythmPlayerConfigFromJson(json); Map<String, dynamic> toJson() => _$RhythmPlayerConfigToJson(this); -}

          +} +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - beatsPerMeasure - The number of beats per measure, which ranges from 1 to 9. The default value is 4, which means that each measure contains one downbeat and three upbeats. - - - beatsPerMinute - The beat speed (beats/minute), which ranges from 60 to 360. The default value is 60, which means that the metronome plays 60 beats in one minute. - - - publish - Whether to publish the sound of the metronome to remote users: -
            -
          • : (Default) Publish the sound of the metronome. Both the local user and remote users can hear the metronome.
          • -
          • : Do not publish the sound of the metronome. Only the local user can hear the metronome.
          • -
          -
          -
          + + beatsPerMeasure + The number of beats per measure, which ranges from 1 to 9. The default value + is 4, which means that each measure contains one downbeat and three + upbeats. + + + beatsPerMinute + The beat speed (beats/minute), which ranges from 60 to 360. The default + value is 60, which means that the metronome plays 60 beats in one + minute. + + + publish + Whether to publish the sound of the metronome to remote users:
            +
          • : (Default) Publish the sound of + the metronome. Both the local user and remote users can hear the + metronome.
          • +
          • : Do not publish the sound of + the metronome. Only the local user can hear the metronome.
          • +
          +
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_agorartcdeviceinfo.dita b/en-US/dita/RTC/API/class_agorartcdeviceinfo.dita index 8b12746c5bd..c9631276005 100644 --- a/en-US/dita/RTC/API/class_agorartcdeviceinfo.dita +++ b/en-US/dita/RTC/API/class_agorartcdeviceinfo.dita @@ -1,40 +1,44 @@ - <ph keyref="AgoraRtcDeviceInfo" /> - The class that provides device information. + <ph keyref="AgoraRtcDeviceInfo"/> + The class that provides device + information.

          - - __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject + + __attribute__((visibility("default"))) @interface AgoraRtcDeviceInfo : NSObject @property (assign, nonatomic) int __deprecated index; @property(assign, nonatomic) AgoraMediaDeviceType type; @property(copy, nonatomic) NSString *_Nullable deviceId; @property(copy, nonatomic) NSString *_Nullable deviceName; @end - - - - -

          + + + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - The device type. See . - - - deviceId - The device ID. - - - deviceName - The device name. - -
          + + type + The device type. See . + + + deviceId + The device ID. + + + deviceName + The device name. + + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_audioencodedframeobserverconfig.dita b/en-US/dita/RTC/API/class_audioencodedframeobserverconfig.dita index 488dfc5e27a..a9e711fc07f 100644 --- a/en-US/dita/RTC/API/class_audioencodedframeobserverconfig.dita +++ b/en-US/dita/RTC/API/class_audioencodedframeobserverconfig.dita @@ -1,12 +1,13 @@ - <ph keyref="AudioEncodedFrameObserverConfig" /> - Observer settings for the encoded audio. + <ph keyref="AudioEncodedFrameObserverConfig"/> + Observer settings for the encoded + audio.

          - public class AudioEncodedFrameObserverConfig + public class AudioEncodedFrameObserverConfig { public AudioEncodedFrameObserverConfig() { @@ -23,9 +24,10 @@ public AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType { set; get; } public AUDIO_ENCODING_TYPE encodingType { set; get; } - }

          + } +

          - public class AudioEncodedFrameObserverConfig { + public class AudioEncodedFrameObserverConfig { public int postionType; public int encodingType; @@ -34,56 +36,97 @@ encodingType = Constants.AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM; } } - __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraAudioEncodedFrameDelegateConfig: NSObject @property (assign, nonatomic) AgoraAudioEncodedFrameDelegatePosition postionType; @property (assign, nonatomic) AgoraAudioEncodingType encodingType; @end - struct AudioEncodedFrameObserverConfig { + struct AudioEncodedFrameObserverConfig { AUDIO_ENCODED_FRAME_OBSERVER_POSITION postionType; AUDIO_ENCODING_TYPE encodingType; AudioEncodedFrameObserverConfig() : postionType(AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK), encodingType(AUDIO_ENCODING_TYPE_OPUS_48000_MEDIUM){} }; - - -

          + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - postionType - -

          Audio profile. For details, see .

          -

          Audio profile: -

            -
          • 1: Only encode the audio of the local user.
          • -
          • 2: Only encode the audio of all remote users.
          • -
          • 3: Records the mixed audio of the local and all remote users.
          • -

          -
          -
          - - encodingType - -

          Audio encoding type. For details, see .

          -

          Audio encoding type. -

            -
          • : AAC encoding format, 16000 Hz sampling rate, low quality. A file with an audio duration of 10 minutes is approximately 1.2 MB after encoding.
          • -
          • : AAC encoding format, 16000 Hz sampling rate, medium quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
          • -
          • : AAC encoding format, 32000 Hz sampling rate, low quality. A file with an audio duration of 10 minutes is approximately 1.2 MB after encoding.
          • -
          • : AAC encoding format, 32000 Hz sampling rate, medium quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
          • -
          • : AAC encoding format, 32000 Hz sampling rate, high quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding.
          • -
          • : AAC encoding format, 48000 Hz sampling rate, medium quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
          • -
          • : AAC encoding format, 48000 Hz sampling rate, high quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding.
          • -
          • : OPUS encoding format, 16000 Hz sampling rate, low quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
          • -
          • : OPUS encoding format, 16000 Hz sampling rate, medium quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
          • -
          • : OPUS encoding format, 48000 Hz sampling rate, medium quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding.
          • -
          • : OPUS encoding format, 48000 Hz sampling rate, high quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding.
          • -

          -
          -
          -
          + + postionType + +

          Audio profile. For details, see .

          +

          Audio profile:

            +
          • 1: + Only encode the audio of the local user.
          • +
          • 2: + Only encode the audio of all remote users.
          • +
          • 3: + Records the mixed audio of the local and all remote users.
          • +
          +

          +
          +
          + + encodingType + +

          Audio encoding type. For details, see .

          +

          Audio encoding type.

            +
          • : AAC encoding + format, 16000 Hz sampling rate, low quality. A file with an + audio duration of 10 minutes is approximately 1.2 MB after + encoding.
          • +
          • : AAC + encoding format, 16000 Hz sampling rate, medium quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding.
          • +
          • : AAC encoding + format, 32000 Hz sampling rate, low quality. A file with an + audio duration of 10 minutes is approximately 1.2 MB after + encoding.
          • +
          • : AAC + encoding format, 32000 Hz sampling rate, medium quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding.
          • +
          • : AAC encoding + format, 32000 Hz sampling rate, high quality. A file with an + audio duration of 10 minutes is approximately 3.5 MB after + encoding.
          • +
          • : AAC + encoding format, 48000 Hz sampling rate, medium quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding.
          • +
          • : AAC encoding + format, 48000 Hz sampling rate, high quality. A file with an + audio duration of 10 minutes is approximately 3.5 MB after + encoding.
          • +
          • : OPUS encoding + format, 16000 Hz sampling rate, low quality. A file with an + audio duration of 10 minutes is approximately 2 MB after + encoding.
          • +
          • : OPUS + encoding format, 16000 Hz sampling rate, medium quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding.
          • +
          • : OPUS + encoding format, 48000 Hz sampling rate, medium quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding.
          • +
          • : OPUS + encoding format, 48000 Hz sampling rate, high quality. A file + with an audio duration of 10 minutes is approximately 3.5 MB + after encoding.
          • +
          +

          +
          +
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_audioexternalsourceposition.dita b/en-US/dita/RTC/API/class_audioexternalsourceposition.dita index 534e36e646d..e2f98a1e8ca 100644 --- a/en-US/dita/RTC/API/class_audioexternalsourceposition.dita +++ b/en-US/dita/RTC/API/class_audioexternalsourceposition.dita @@ -1,55 +1,64 @@ - <ph keyref="AUDIO_EXTERNAL_SOURCE_POSITION" /> - The push position of the external audio frame. + <ph keyref="AUDIO_EXTERNAL_SOURCE_POSITION"/> + The push position of the external audio + frame.

          - public enum AudioExternalSourcePos { + public enum AudioExternalSourcePos { AUDIO_EXTERNAL_PLAYOUT_SOURCE(0), AUDIO_EXTERNAL_RECORD_SOURCE_PRE_PROCESS(1), AUDIO_EXTERNAL_RECORD_SOURCE_POST_PROCESS(2); } - typedef NS_ENUM(NSUInteger, AgoraAudioExternalSourcePos) { + typedef NS_ENUM(NSUInteger, AgoraAudioExternalSourcePos) { AgoraAudioExternalPlayoutSource = 0, AgoraAudioExternalRecordSourcePreProcess = 1, AgoraAudioExternalRecordSourcePostProcess = 2, }; - enum AUDIO_EXTERNAL_SOURCE_POSITION { + enum AUDIO_EXTERNAL_SOURCE_POSITION { AUDIO_EXTERNAL_PLAYOUT_SOURCE = 0, AUDIO_EXTERNAL_RECORD_SOURCE_PRE_PROCESS = 1, AUDIO_EXTERNAL_RECORD_SOURCE_POST_PROCESS = 2, }; - - - -

          + + + + +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          -

          +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - 0: The position before local playback. If you need to play the external audio frame on the local client, set this position. - - - - 1: The position after audio capture and before audio pre-processing. If you need the audio module of the SDK to process the external audio frame, set this position. - - - - 2: The position after audio pre-processing and before audio encoding. If you do not need the audio module of the SDK to process the external audio frame, set this position. - -
          + + + 0: The position before local playback. If you need to play the external + audio frame on the local client, set this position. + + + + 1: The position after audio capture and before audio pre-processing. If you + need the audio module of the SDK to process the external audio frame, set + this position. + + + + 2: The position after audio pre-processing and before audio encoding. If you + do not need the audio module of the SDK to process the external audio frame, + set this position. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_audiofileinfo.dita b/en-US/dita/RTC/API/class_audiofileinfo.dita index f82f01d7ff3..3fed01b5a9c 100644 --- a/en-US/dita/RTC/API/class_audiofileinfo.dita +++ b/en-US/dita/RTC/API/class_audiofileinfo.dita @@ -1,21 +1,22 @@ - <ph keyref="AudioFileInfo" /> - The information of an audio file. This struct is reported in . + <ph keyref="AudioFileInfo"/> + The information of an audio file. This struct is + reported in .

          - - - - - public struct AudioFileInfo { + + + + + public struct AudioFileInfo { public string filePath; public int durationMs; }; - - class AudioFileInfo { + + class AudioFileInfo { @JsonKey() String filePath; @@ -32,27 +33,30 @@ _$AudioFileInfoFromJson(json); Map<String, dynamic> toJson() => _$AudioFileInfoToJson(this); -}

          +} +

          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - filePath - The file path. - - - durationMs - The file duration (ms). - -
          + + filePath + The file path. + + + durationMs + The file duration (ms). + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_audioframe.dita b/en-US/dita/RTC/API/class_audioframe.dita index 1f5142d1713..14e0ac73141 100644 --- a/en-US/dita/RTC/API/class_audioframe.dita +++ b/en-US/dita/RTC/API/class_audioframe.dita @@ -1,12 +1,13 @@ - <ph keyref="AudioFrame" /> - Definition of . + <ph keyref="AudioFrame"/> + Definition of .

          - public class AudioFrame { + public class AudioFrame { public byte[] bytes; public int sampleRataHz; public int bytesPerSample; @@ -55,7 +56,7 @@ } } - struct AudioFrame { + struct AudioFrame { AUDIO_FRAME_TYPE type; int samplesPerChannel; agora::rtc::BYTES_PER_SAMPLE bytesPerSample; @@ -74,7 +75,7 @@ avsync_type(0) {} }; - __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; @@ -83,7 +84,7 @@ @property (assign, nonatomic) int64_t renderTimeMs; @property (assign, nonatomic) NSInteger avSyncType; @end - public AudioFrame(AUDIO_FRAME_TYPE type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, + public AudioFrame(AUDIO_FRAME_TYPE type, int samplesPerChannel, int bytesPerSample, int channels, int samplesPerSec, byte[] buffer, long renderTimeMs, int avsync_type) { this.type = type; @@ -105,7 +106,7 @@ public int avsync_type { set; get; } }

          - public class AudioFrame { + public class AudioFrame { public ByteBuffer samples; public int numOfSamples; public int bytesPerSample; @@ -129,7 +130,7 @@ '}'; } } - __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject + __attribute__((visibility("default"))) @interface AgoraAudioFrame : NSObject @property(assign, nonatomic) NSInteger samplesPerChannel NS_SWIFT_NAME(samplesPerChannel); @property(assign, nonatomic) NSInteger bytesPerSample NS_SWIFT_NAME(bytesPerSample); @property(assign, nonatomic) NSInteger channels NS_SWIFT_NAME(channels); @@ -138,7 +139,7 @@ @property(assign, nonatomic) int64_t renderTimeMs NS_SWIFT_NAME(renderTimeMs); @property(assign, nonatomic) NSInteger avSyncType NS_SWIFT_NAME(avSyncType); - struct AudioFrame { + struct AudioFrame { AUDIO_FRAME_TYPE type; int samples; int bytesPerSample; @@ -148,7 +149,7 @@ int64_t renderTimeMs; int avsync_type; }; - public class AudioFrame + public class AudioFrame { public AudioFrame() { @@ -177,72 +178,84 @@ public long renderTimeMs { set; get; } public int avsync_type { set; get; } } - - -

          + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - type - -

          The type of the audio frame. See .

          -
          -
          - - numOfSamplessamplessamplesPerChannel - samplesPerChannel - The number of samples per channel in the audio frame. - - - bytesPerSample - The number of bytes per audio sample, which is usually 16-bit (2 bytes). - - - channels - channelschannelNums - -

          The number of audio channels (the data are interleaved if stereo). -

            -
          • 1: Mono.
          • -
          • 2: Stereo.
          • -

          -
          -
          - - samplesPerSec - samplesPerSecsampleRataHz - The number of samples per channel in the audio frame. - - - bufferbytes - buffersamples - -

          The data buffer of the audio frame. When the audio frame uses a stereo channel, the data buffer is interleaved.

          -

          Buffer data size: buffer = samples × - channels × bytesPerSample.

          -
          -
          - - bufferPtr - Pointer to the data buffer. - - - renderTimeMs - -

          The timestamp (ms) of the external audio frame.

          -

          You can use this timestamp to restore the order of the captured audio frame, and synchronize audio and video frames in video scenarios, including scenarios where external video sources are used.

          -
          -
          - - avsyncTypeavsync_type - A reserved parameter. - - - timestamp - Timestamp of the audio frame - -
          + + type + +

          The type of the audio frame. See .

          +
          +
          + + numOfSamplessamplessamplesPerChannel + samplesPerChannel + The number of samples per channel in the audio frame. + + + bytesPerSample + The number of bytes per audio sample, which is usually 16-bit (2 + bytes). + + + channels + channelschannelNums + +

          The number of audio channels (the data are interleaved if stereo).

            +
          • 1: Mono.
          • +
          • 2: Stereo.
          • +

          +
          +
          + + samplesPerSec + samplesPerSecsampleRataHz + The number of samples per channel in the audio frame. + + + bufferbytes + buffersamples + +

          The data buffer of the audio frame. When the audio frame uses a stereo + channel, the data buffer is interleaved.

          +

          Buffer data size: buffer = samples × + channels × bytesPerSample.

          +
          +
          + + bufferPtr + Pointer to the data buffer. + + + renderTimeMs + +

          The timestamp (ms) of the external audio frame.

          +

          You can use this timestamp to restore the order of the captured audio + frame, and synchronize audio and video frames in video scenarios, + including scenarios where external video sources are used.

          +
          +
          + + avsyncTypeavsync_type + A reserved parameter. + + + timestamp + Timestamp of the audio frame + + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_audiorecordingconfiguration.dita b/en-US/dita/RTC/API/class_audiorecordingconfiguration.dita index b425d4bc8c0..d4fed7d9dd0 100644 --- a/en-US/dita/RTC/API/class_audiorecordingconfiguration.dita +++ b/en-US/dita/RTC/API/class_audiorecordingconfiguration.dita @@ -1,12 +1,16 @@ - <ph keyref="AudioRecordingConfiguration" /> - The configuration of audio recording on the app client. + + <ph keyref="AudioRecordingConfiguration"/> + + + The configuration of audio recording on the app client. +

          - public class AudioRecordingConfiguration + public class AudioRecordingConfiguration { public String filePath; public int recordingQuality; @@ -28,14 +32,14 @@ this.recordingSampleRate = sampleRate; } } - __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration : NSObject + __attribute__((visibility("default"))) @interface AgoraAudioRecordingConfiguration : NSObject @property(copy, nonatomic) NSString* _Nullable filePath; @property(assign, nonatomic) AgoraAudioRecordingQuality recordingQuality; @property(assign, nonatomic) AgoraAudioRecordingPosition recordingPosition; @property(assign, nonatomic) NSInteger recordingSampleRate; @end - struct AudioRecordingConfiguration { + struct AudioRecordingConfiguration { const char* filePath; AUDIO_RECORDING_QUALITY_TYPE recordingQuality; @@ -60,7 +64,7 @@ recordingSampleRate(sampleRate) {} }; - public class AudioRecordingConfiguration + public class AudioRecordingConfiguration { public AudioRecordingConfiguration() { @@ -87,14 +91,14 @@ public int recordingSampleRate { set; get; } public int recordingChannel { set; get; } } - export interface AudioRecordingConfiguration { + export interface AudioRecordingConfiguration { filePath: string; recordingQuality: AUDIO_RECORDING_QUALITY_TYPE; recordingPosition: AUDIO_RECORDING_POSITION; recordingSampleRate: number; } - - class AudioRecordingConfiguration { + + class AudioRecordingConfiguration { String filePath; @@ -118,82 +122,81 @@ _$AudioRecordingConfigurationFromJson(json); Map<String, dynamic> toJson() => _$AudioRecordingConfigurationToJson(this); -}

          +} +

          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - filePath - -

          - The absolute path (including the filename extensions) of the recording file. For example: - - . -

          - Ensure that the directory for the log files exists and is writable. -
          -
          - - recordingChannel - - The recorded audio channel. The following values are supported: - -
            -
          • 1: (Default) Mono channel.
          • -
          • Dual channel.
          • -
          - The actual recorded audio channel is related to the audio channel that you capture. If the captured audio is mono and recordingChannel is 2, the recorded audio is the dual-channel data that is copied from mono data, not stereo. If the captured audio is dual channel and recordingChannel is 1, the recorded audio is the mono data that is mixed by dual-channel data. The integration scheme also affects the final recorded audio channel. Therefore, to record in stereo, contact technical support for assistance. -
          -
          - - recordingQuality - -

          - Recording quality. For details, see - - . -

          - Note: This parameter applies to AAC files only. -
          -
          - - recordingPosition - - The recording content. For details, see - - . + + filePath + +

          The absolute path (including the filename extensions) of the recording + file. For example: + + .

          + Ensure that the directory for the log files exists + and is writable. +
          +
          + + recordingChannel + The recorded audio channel. The following values are supported:
            +
          • 1: (Default) Mono channel.
          • +
          • Dual channel.
          • +
          + The actual recorded audio channel is related to the + audio channel that you capture. If the captured audio is mono and + recordingChannel is 2, the recorded audio is + the dual-channel data that is copied from mono data, not stereo. If the + captured audio is dual channel and recordingChannel + is 1, the recorded audio is the mono data that is mixed by dual-channel + data. The integration scheme also affects the final recorded audio + channel. Therefore, to record in stereo, contact technical support for + assistance. +
          +
          + + recordingQuality + +

          Recording quality. For details, see .

          + Note: This parameter applies to AAC files + only.
          -
          - - recordingSampleRate - - Recording sample rate (Hz). - -
            -
          • 16000
          • -
          • (Default) 32000
          • -
          • 44100
          • -
          • 48000
          • -
          - - If you set this parameter as 44100 or 48000, Agora recommends recording WAV files or AAV files whose - recordingQuality - is - - or - - for better recording quality. -
          -
          -
          + + + recordingPosition + The recording content. For details, see . + + + recordingSampleRate + Recording sample rate (Hz).
            +
          • 16000
          • +
          • (Default) 32000
          • +
          • 44100
          • +
          • 48000
          • +
          + If you set this parameter as 44100 or 48000, Agora + recommends recording WAV files or AAV files whose + recordingQuality is or for better recording + quality. +
          +
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_audiovolumeinfo.dita b/en-US/dita/RTC/API/class_audiovolumeinfo.dita index 3968100d6f9..3362713bac2 100644 --- a/en-US/dita/RTC/API/class_audiovolumeinfo.dita +++ b/en-US/dita/RTC/API/class_audiovolumeinfo.dita @@ -1,31 +1,31 @@ - <ph keyref="AudioVolumeInfo" /> + <ph keyref="AudioVolumeInfo"/> The volume information of users.

          - public static class AudioVolumeInfo { + public static class AudioVolumeInfo { public int uid; public int volume; public int vad; public double voicePitch; } - __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger volume; @property(assign, nonatomic) NSUInteger vad; @property (assign, nonatomic) double voicePitch; @end - struct AudioVolumeInfo { + struct AudioVolumeInfo { uid_t uid; unsigned int volume; unsigned int vad; double voicePitch; AudioVolumeInfo() : uid(0), volume(0), vad(0), voicePitch(0.0) {} }; - public class AudioVolumeInfo + public class AudioVolumeInfo { public AudioVolumeInfo() { @@ -43,28 +43,29 @@ public uint vad { set; get; } } -

          + +

          - public static class AudioVolumeInfo { + public static class AudioVolumeInfo { public int uid; public int volume; public int vad; public String channelId; } - __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcAudioVolumeInfo : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger volume; @property(assign, nonatomic) NSUInteger vad; @property(copy, nonatomic) NSString* channelId; - struct AudioVolumeInfo { + struct AudioVolumeInfo { uid_t uid; unsigned int volume; unsigned int vad; const char * channelId; }; - public class AudioVolumeInfo + public class AudioVolumeInfo { public AudioVolumeInfo() { @@ -83,15 +84,15 @@ public uint vad { set; get; } public string channelId { set; get; } } - export interface AudioVolumeInfo + export interface AudioVolumeInfo { uid: number, volume: number vad: number channelId: string } - - class AudioVolumeInfo { + + class AudioVolumeInfo { int uid; int volume; int vad; @@ -108,53 +109,73 @@ _$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 - -

          The user ID. - -

            -
          • In the local user's callback, uid = 0.
          • -
          • In the remote users' callback, uid is the user ID of a remote user whose instantaneous volume is one of the three highest.
          • -

          -
          -
          - - volume - The volume of the user. The value ranges between 0 (lowest volume) and 255 (highest volume). If the user calls , the value of volume is the volume after audio mixing. - - - vad - -

          The voice activity status of the local user. - -

            -
          • 0: The local user is not speaking.
          • -
          • 1: The local user is speaking.
          • -

          - -
            -
          • The vad parameter does not report the voice activity status of remote users. In the remote users' callback, the value of vad is always 0.
          • -
          • To use this parameter, you must set report_vadreportVad to when calling .
          • -
          • To use this parameter, you must set reportVad to when calling .
          • -
          -
          - - channelId - The name of the channel that the user is in. - - - voicePitch - -

          The voice pitch of the local user. The value ranges between 0.0 and 4000.0.

          - The voicePitch parameter does not report the voice pitch of remote users. In the remote users' callback, the value of voicePitch is always 0. -
          -
          -
          + + uid + +

          The user ID.

            +
          • In the local user's callback, uid = 0.
          • +
          • In the remote users' callback, uid is the + user ID of a remote user whose instantaneous volume is one of + the three highest.
          • +

          +
          +
          + + volume + The volume of the user. The value ranges between 0 (lowest volume) and 255 + (highest volume). If the user calls , the + value of volume is the volume after audio mixing. + + + vad + +

          The voice activity status of the local user.

            +
          • 0: The local user is not speaking.
          • +
          • 1: The local user is speaking.
          • +
          +

          + +
            +
          • The vad parameter does not report the voice + activity status of remote users. In the remote users' callback, + the value of vad is always 0.
          • +
          • To use this parameter, you must set report_vadreportVad to when calling .
          • +
          • To use this parameter, you must set + reportVad to when calling .
          • +
          +
          +
          +
          + + channelId + The name of the channel that the user is in. + + + voicePitch + +

          The voice pitch of the local user. The value ranges between 0.0 and + 4000.0.

          + The voicePitch parameter does + not report the voice pitch of remote users. In the remote users' + callback, the value of voicePitch is always + 0. +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_beautyoptions.dita b/en-US/dita/RTC/API/class_beautyoptions.dita index 5ac4b459aa6..6dfde0d4b8b 100644 --- a/en-US/dita/RTC/API/class_beautyoptions.dita +++ b/en-US/dita/RTC/API/class_beautyoptions.dita @@ -1,12 +1,14 @@ - <ph keyref="BeautyOptions" /> + + <ph keyref="BeautyOptions"/> + Image enhancement options.

          - public class BeautyOptions { + public class BeautyOptions { public static final int LIGHTENING_CONTRAST_LOW = 0; public static final int LIGHTENING_CONTRAST_NORMAL = 1; public static final int LIGHTENING_CONTRAST_HIGH = 2; @@ -17,7 +19,7 @@ public float rednessLevel; public float sharpnessLevel; } - __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraBeautyOptions : NSObject @property(nonatomic, assign) AgoraLighteningContrastLevel lighteningContrastLevel; @property(nonatomic, assign) float lighteningLevel; @@ -25,7 +27,7 @@ @property(nonatomic, assign) float rednessLevel; @property(nonatomic, assign) float sharpnessLevel; @end - struct BeautyOptions { + struct BeautyOptions { enum LIGHTENING_CONTRAST_LEVEL { LIGHTENING_CONTRAST_LOW = 0, LIGHTENING_CONTRAST_NORMAL, @@ -40,7 +42,7 @@ BeautyOptions() : lighteningContrastLevel(LIGHTENING_CONTRAST_NORMAL), lighteningLevel(0), smoothnessLevel(0), rednessLevel(0), sharpnessLevel(0) {} }; - public class BeautyOptions + public class BeautyOptions { public BeautyOptions() { @@ -68,11 +70,12 @@ public float sharpnessLevel { set; get; } } - }

          + } +

          - - - struct BeautyOptions { + + + struct BeautyOptions { enum LIGHTENING_CONTRAST_LEVEL { LIGHTENING_CONTRAST_LOW = 0, @@ -97,7 +100,7 @@ rednessLevel(0), lighteningContrastLevel(LIGHTENING_CONTRAST_NORMAL) {} }; - public class BeautyOptions + public class BeautyOptions { public BeautyOptions() { @@ -121,14 +124,14 @@ public float rednessLevel { set; get; } public float sharpnessLevel { set; get; } } - export interface BeautyOptions { + export interface BeautyOptions { lighteningContrastLevel: LIGHTENING_CONTRAST_LEVEL; lighteningLevel: number; smoothnessLevel: number; rednessLevel: number; } - - class BeautyOptions { + + class BeautyOptions { @JsonKey(includeIfNull: false) LighteningContrastLevel? lighteningContrastLevel; @@ -153,48 +156,65 @@ _$BeautyOptionsFromJson(json); Map<String, dynamic> toJson() => _$BeautyOptionsToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - lighteningContrastLevel - contrast, often with -lighteningLevel -. The larger the value, the greater the contrast between light and dark. For more details, see -. - - - lighteningLevel - The brightness level. The value ranges from 0.0 (original) to 1.0. The default is ->0.6 0.6 0.6 -. The greater the value, the greater the degree of whitening. - The brightness level. The value ranges from 0.0 (original) to 1.0. The default is -0.7 0.6 0.0 -. The greater the value, the greater the degree of whitening. - - - smoothnessLevel - The value ranges from 0.0 (original) to 1.0. The default value is 0.5. The greater the value, the greater the degree of skin grinding. - The value ranges from 0.0 to 1.0, where 0.0 indicates the original peeling degree. The default value is -0.5 0.5 0.0 -. The greater the value, the greater the degree of skin grinding. - - - rednessLevel - The value ranges from 0.0 (original) to 1.0. The default value is 0.1. The larger the value, the greater the rosy degree. - The sharpness level. The value ranges between 0 (original) and 1. -0.1 0.1 0.0 -. The larger the value, the greater the rosy degree. - - - sharpnessLevel - The sharpness level. The value ranges from 0.0 (original) to 1.0. The default value is 0.10.30.0. The larger the value, the greater the sharpening degree. - The sharpness level. The value ranges between 0 (original) and 1. -0.1 0.3 0.0 -. The larger the value, the greater the sharpening degree. - -
          + + lighteningContrastLevel + contrast, often with lighteningLevel . The larger the + value, the greater the contrast between light and dark. For more details, + see . + + + lighteningLevel + The brightness level. The value ranges from 0.0 (original) + to 1.0. The default is >0.6 + 0.6 + 0.6 . The greater the value, the greater the degree of + whitening. + The brightness level. The value ranges from 0.0 (original) to + 1.0. The default is 0.7 + 0.6 + 0.0 . The greater the value, the greater the degree of + whitening. + + + smoothnessLevel + The value ranges from 0.0 (original) to 1.0. The default value + is 0.5. The greater the value, the greater the degree of skin grinding. + The value ranges from 0.0 to 1.0, where 0.0 indicates the + original peeling degree. The default value is 0.5 + 0.5 + 0.0 . The greater the value, the greater the degree of + skin grinding. + + + rednessLevel + The value ranges from 0.0 (original) to 1.0. The default value + is 0.1. The larger the value, the greater the rosy degree. + The sharpness level. The value ranges between 0 (original) + and 1. 0.1 + 0.1 + 0.0 . The larger the value, the greater the rosy + degree. + + + sharpnessLevel + The sharpness level. The value ranges from 0.0 (original) to + 1.0. The default value is 0.10.30.0. The larger the value, the greater the + sharpening degree. + The sharpness level. The value ranges between 0 (original) + and 1. 0.1 + 0.3 + 0.0 . The larger the value, the greater the sharpening + degree. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_cameracapturerconfiguration.dita b/en-US/dita/RTC/API/class_cameracapturerconfiguration.dita index 66aa91bb415..e7ffc5c1dad 100644 --- a/en-US/dita/RTC/API/class_cameracapturerconfiguration.dita +++ b/en-US/dita/RTC/API/class_cameracapturerconfiguration.dita @@ -1,14 +1,14 @@ - <ph keyref="CameraCapturerConfiguration" /> + <ph keyref="CameraCapturerConfiguration"/> The camera capturer preference.

          - - - struct CameraCapturerConfiguration { + + + struct CameraCapturerConfiguration { CAPTURER_OUTPUT_PREFERENCE preference; int captureWidth; int captureHeight; @@ -28,7 +28,7 @@ ,captureHeight(height) {} }; - public class CameraCapturerConfiguration + public class CameraCapturerConfiguration { public CameraCapturerConfiguration() { @@ -61,13 +61,13 @@ public int captureHeight { set; get; } public CAMERA_DIRECTION? cameraDirection { set; get; } } - export interface CameraCapturerConfiguration { + export interface CameraCapturerConfiguration { preference?: CAPTURER_OUTPUT_PREFERENCE; captureWidth?: number; captureHeight?: number; } - - class CameraCapturerConfiguration { + + class CameraCapturerConfiguration { @JsonKey(includeIfNull: false) CameraCaptureOutputPreference? preference; @@ -92,60 +92,74 @@ _$CameraCapturerConfigurationFromJson(json); Map<String, dynamic> toJson() => _$CameraCapturerConfigurationToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - preference - The camera capture preference. For details, see . - - - captureWidth - -
          - -
          Since
          -
          -
          -
          -

          The width (px) of the video image captured by the local camera. To customize the width of the video image, set preference as (3) first, and then use captureWidth to set the video width.

          -
          -
          - - captureHeight - -
          - -
          Since
          -
          -
          -
          -

          The height (px) of the video image captured by the local camera. To customize the height of the video image, set preference as (3) first, and then use captureHeight.

          -
          -
          - - captureFormat - The format of the locally captured video. -
            -
          • width: The width (px) of the locally captured video.
          • -
          • height: The height (px) of the locally captured video.
          • -
          • fps: The frame rate (fps) of the locally captured video.
          • -
          -
          - - cameraDirection - -

          This parameter applies to Android and iOS only.

          -

          The camera direction. For details, see .

          -

          The camera direction. -

            -
          • (0): Use the rear camera.
          • -
          • (1): Use the front camera.
          • -

          -
          -
          -
          + + preference + The camera capture preference. For details, see . + + + captureWidth + +
          + +
          Since
          +
          +
          +
          +

          The width (px) of the video image captured by the local camera. To + customize the width of the video image, set + preference as (3) first, and then use + captureWidth to set the video width.

          +
          +
          + + captureHeight + +
          + +
          Since
          +
          +
          +
          +

          The height (px) of the video image captured by the local camera. To + customize the height of the video image, set + preference as (3) first, and then use + captureHeight.

          +
          +
          + + captureFormat + The format of the locally captured video.
            +
          • width: The width (px) of the locally captured + video.
          • +
          • height: The height (px) of the locally captured + video.
          • +
          • fps: The frame rate (fps) of the locally captured + video.
          • +
          +
          + + cameraDirection + +

          This parameter applies to Android and iOS only.

          +

          The camera direction. For details, see .

          +

          The camera direction.

            +
          • (0): Use the rear camera.
          • +
          • (1): Use the front camera.
          • +

          +
          +
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_channel.dita b/en-US/dita/RTC/API/class_channel.dita index 6bddf367cae..540a60c5c47 100644 --- a/en-US/dita/RTC/API/class_channel.dita +++ b/en-US/dita/RTC/API/class_channel.dita @@ -1,25 +1,25 @@ - <ph keyref="Channel" /> + <ph keyref="Channel"/> The channel information.

          - - - - export type Channel = "" | string; - - -

          + + + + export type Channel = "" | string; + + + +

          -

          The channel information. You can set it as one of the following values: -

            -
          • "".
          • -
          • A string.
          • -

          +

          The channel information. You can set it as one of the following values:

            +
          • "".
          • +
          • A string.
          • +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_channelmediainfo.dita b/en-US/dita/RTC/API/class_channelmediainfo.dita index 70c4a6bc921..21a3c75b08a 100644 --- a/en-US/dita/RTC/API/class_channelmediainfo.dita +++ b/en-US/dita/RTC/API/class_channelmediainfo.dita @@ -1,12 +1,12 @@ - <ph keyref="ChannelMediaInfo" /> - The definition of . + <ph keyref="ChannelMediaInfo"/> + The definition of .

          - public class ChannelMediaInfo + public class ChannelMediaInfo { public ChannelMediaInfo() { @@ -23,30 +23,30 @@ public uint uid { set; get; } }

          - struct ChannelMediaInfo { + struct ChannelMediaInfo { const char* channelName; const char* token; uid_t uid; };

          - public class ChannelMediaInfo { + public class ChannelMediaInfo { public String channelName = null; public String token = null; public int uid = 0; } - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayInfo: NSObject + __attribute__((visibility("default"))) @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 { + struct ChannelMediaInfo { const char* channelName; const char* token; uid_t uid; }; - public class ChannelMediaInfo + public class ChannelMediaInfo { public ChannelMediaInfo() { @@ -63,13 +63,13 @@ public string token { set; get; } public uint uid { set; get; } } - export interface ChannelMediaInfo { + export interface ChannelMediaInfo { channelName: string; token: string; uid: number; } - - class ChannelMediaInfo { + + class ChannelMediaInfo { String channelName; @@ -87,23 +87,26 @@ _$ChannelMediaInfoFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaInfoToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - channelName - The name of the channel. - - - token - The token that enables the user to join the channel. - - - uid - User ID. - -
          + + channelName + The name of the channel. + + + token + The token that enables the user to join the channel. + + + uid + User ID. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_channelmediaoptions.dita b/en-US/dita/RTC/API/class_channelmediaoptions.dita index f508e8d5bf3..673ef95e7ff 100644 --- a/en-US/dita/RTC/API/class_channelmediaoptions.dita +++ b/en-US/dita/RTC/API/class_channelmediaoptions.dita @@ -1,14 +1,14 @@ - <ph keyref="ChannelMediaOptions" /> + <ph keyref="ChannelMediaOptions"/> The channel media options.

          - - - struct ChannelMediaOptions { + + + struct ChannelMediaOptions { bool autoSubscribeAudio; bool autoSubscribeVideo; ChannelMediaOptions() @@ -16,7 +16,7 @@ , autoSubscribeVideo(true) {} }; - public class ChannelMediaOptions + public class ChannelMediaOptions { public ChannelMediaOptions() { @@ -40,12 +40,12 @@ public bool publishLocalAudio { set; get; } public bool publishLocalVideo { set; get; } } - export interface ChannelMediaOptions { + export interface ChannelMediaOptions { autoSubscribeAudio: boolean; autoSubscribeVideo: boolean; } - - class ChannelMediaOptions { + + class ChannelMediaOptions { @JsonKey(includeIfNull: false) bool? autoSubscribeAudio; @@ -70,75 +70,83 @@ _$ChannelMediaOptionsFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaOptionsToJson(this); -}

          +} +

          - -
          Since
          -
          v3.0.0
          -
          + +
          Since
          +
          v3.0.0
          +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - autoSubscribeAudio - Whether to automatically subscribe to all remote audio streams when the user joins a channel: - -
            -
          • : (Default) Subscribe.
          • -
          • : Do not subscribe.
          • -
          This member serves a similar function to the method. After joining the channel, you can call the muteAllRemoteAudioStreams method to set whether to subscribe to audio streams in the channel.
          -
          - - autoSubscribeVideo - Whether to subscribe to video streams when the user joins the channel: - -
            -
          • : (Default) Subscribe.
          • -
          • : Do not subscribe.
          • -
          This member serves a similar function to the method. After joining the channel, you can call the muteAllRemoteVideoStreams method to set whether to subscribe to video streams in the channel.
          -
          - - publishLocalAudio - -
          - -
          Since
          -
          v3.4.5
          -
          -
          - - whether to publish the local audio stream when the user joins a channel. - -
            -
          • : (Default) Publish the local audio.
          • -
          • : Do not publish the local audio.
          • -
          -

          This member serves a similar function to the muteLocalAudioStream method. After the user joins the channel, you can call the muteLocalAudioStream method to set whether to publish the local audio stream in the channel.

          -
          -
          - - publishLocalVideo - -
          - -
          Since
          -
          v3.4.5
          -
          -
          - - whether to publish the local video stream when the user joins a channel. - -
            -
          • : (Default) Publish the local video.
          • -
          • : Do not publish the local video.
          • -
          -

          This member serves a similar function to the muteLocalVideoStream method. After the user joins the channel, you can call the muteLocalVideoStream method to set whether to publish the local audio stream in the channel.

          -
          -
          -
          + + autoSubscribeAudio + Whether to automatically subscribe to all remote audio streams when the user + joins a channel:
            +
          • : (Default) Subscribe.
          • +
          • : Do not subscribe.
          • +
          This member serves a similar function to the method. After joining the channel, + you can call the muteAllRemoteAudioStreams method to set + whether to subscribe to audio streams in the channel.
          +
          + + autoSubscribeVideo + Whether to subscribe to video streams when the user joins the channel:
            +
          • : (Default) Subscribe.
          • +
          • : Do not subscribe.
          • +
          This member serves a similar function to the method. After joining the channel, + you can call the muteAllRemoteVideoStreams method to set + whether to subscribe to video streams in the channel.
          +
          + + publishLocalAudio + +
          + +
          Since
          +
          v3.4.5
          +
          +
          whether to publish the local audio stream when the user joins a + channel.
            +
          • : (Default) Publish the local audio.
          • +
          • : Do not publish the local audio.
          • +
          +

          This member serves a similar function to the + muteLocalAudioStream method. After the user joins + the channel, you can call the muteLocalAudioStream + method to set whether to publish the local audio stream in the + channel.

          +
          +
          + + publishLocalVideo + +
          + +
          Since
          +
          v3.4.5
          +
          +
          whether to publish the local video stream when the user joins a + channel.
            +
          • : (Default) Publish the local video.
          • +
          • : Do not publish the local video.
          • +
          +

          This member serves a similar function to the + muteLocalVideoStream method. After the user joins + the channel, you can call the muteLocalVideoStream + method to set whether to publish the local audio stream in the + channel.

          +
          +
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_channelmediarelayconfiguration.dita b/en-US/dita/RTC/API/class_channelmediarelayconfiguration.dita index 3616a5ac5e6..cdfdeb3a1ca 100644 --- a/en-US/dita/RTC/API/class_channelmediarelayconfiguration.dita +++ b/en-US/dita/RTC/API/class_channelmediarelayconfiguration.dita @@ -1,12 +1,12 @@ - <ph keyref="ChannelMediaRelayConfiguration" /> - The definition of . + <ph keyref="ChannelMediaRelayConfiguration"/> + The definition of .

          - public class ChannelMediaRelayConfiguration + public class ChannelMediaRelayConfiguration { public ChannelMediaRelayConfiguration() { @@ -27,9 +27,10 @@ public int destCount { set; get; } } - }

          + } +

          - public class ChannelMediaRelayConfiguration { + public class ChannelMediaRelayConfiguration { private ChannelMediaInfo srcInfo = null; private Map<String, ChannelMediaInfo> destInfos = null; @@ -41,7 +42,7 @@ public void setSrcChannelInfo(ChannelMediaInfo srcInfo) { this.srcInfo = srcInfo; } - __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject + __attribute__((visibility("default"))) @interface AgoraChannelMediaRelayConfiguration: NSObject @property (strong, nonatomic, readonly) NSDictionary<NSString *, AgoraChannelMediaRelayInfo *> *_Nullable destinationInfos; @property (strong, nonatomic) AgoraChannelMediaRelayInfo *_Nonnull sourceInfo; @@ -49,7 +50,7 @@ - (BOOL)setDestinationInfo:(AgoraChannelMediaRelayInfo *_Nonnull)destinationInfo forChannelName:(NSString *_Nonnull)channelName; - (BOOL)removeDestinationInfoForChannelName:(NSString *_Nonnull)channelName; @end - struct ChannelMediaRelayConfiguration { + struct ChannelMediaRelayConfiguration { ChannelMediaInfo *srcInfo; ChannelMediaInfo *destInfos; int destCount; @@ -60,7 +61,7 @@ , destCount(0) {} }; - public class ChannelMediaRelayConfiguration + public class ChannelMediaRelayConfiguration { public ChannelMediaRelayConfiguration() { @@ -80,12 +81,12 @@ public ChannelMediaInfo[] destInfos { set; get; } public int destCount { set; get; } } - export interface ChannelMediaRelayConfiguration { + export interface ChannelMediaRelayConfiguration { srcInfo: ChannelMediaInfo; destInfos: [ChannelMediaInfo]; } - - class ChannelMediaRelayConfiguration { + + class ChannelMediaRelayConfiguration { ChannelMediaInfo srcInfo; List<ChannelMediaInfo> destInfos; @@ -99,47 +100,86 @@ _$ChannelMediaRelayConfigurationFromJson(json); Map<String, dynamic> toJson() => _$ChannelMediaRelayConfigurationToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - srcInfo - sourceInfo - -

          The information of the source channel . It contains the following members: -

            -
          • channelName: The name of the source channel. The default value is , which means the SDK applies the name of the current channel.
          • -
          • uid: The unique ID to identify the relay stream in the source channel. The default value is 0, which means the SDK generates a random UID. You must set it as 0.
          • -
          • token: The token for joining the source channel. It is generated with the channelName and uid you set in srcInfo. -
              -
            • If you have not enabled the App Certificate, set this parameter as the default value , which means the SDK applies the App ID.
            • -
            • If you have enabled the App Certificate, you must use the token generated with the channelName and uid, and the uid must be set as 0.
            • -
          • -

          -
          -
          - - destInfos - destinationInfos - -

          The information of the destination channel . It contains the following members: -

            -
          • channelName: The name of the destination channel.
          • -
          • uid: The unique ID to identify the relay stream in the destination channel. The value ranges from 0 to (232-1). To avoid UID conflicts, this `UID` must be different from any other `UID` in the destination channel. The default value is 0, which means the SDK generates a random `UID`. Do not set this parameter as the `UID` of the host in the destination channel, and ensure that this `UID` is different from any other `UID` in the channel.
          • -
          • token: The token for joining the destination channel. It is generated with the channelName and uid you set in destInfos. -
              -
            • If you have not enabled the App Certificate, set this parameter as the default value , which means the SDK applies the App ID.
            • -
            • If you have enabled the App Certificate, you must use the token generated with the channelName and uid.
            • -
          • -

          -
          -
          - - destCount - The number of destination channels. The default value is 0, and the value range is from 0 to 4. Ensure that the value of this parameter corresponds to the number of structs you define in destInfo. - -
          + + srcInfo + sourceInfo + +

          The information of the source channel . + It contains the following members:

            +
          • channelName: The name of the source channel. The default value + is , which means the SDK applies the name of the current + channel.
          • +
          • uid: The unique ID to identify the relay stream + in the source channel. The default value is 0, which means the + SDK generates a random UID. You must set it as + 0.
          • +
          • token: The token for joining the source + channel. It is generated with the + channelName and uid you + set in srcInfo.
              +
            • If you have not enabled the App Certificate, set this + parameter as the default value , which means the SDK applies the App + ID.
            • +
            • If you have enabled the App Certificate, you must use + the token generated with the + channelName and + uid, and the uid + must be set as 0.
            • +
          • +
          +

          +
          +
          + + destInfos + destinationInfos + +

          The information of the destination channel . It contains the following members:

            +
          • channelName: The name of the destination + channel.
          • +
          • uid: The unique ID to identify the relay stream + in the destination channel. The value ranges from 0 to + (232-1). To avoid UID conflicts, this `UID` must + be different from any other `UID` in the destination channel. + The default value is 0, which means the SDK generates a random + `UID`. Do not set this parameter as the `UID` of the host in the + destination channel, and ensure that this `UID` is different + from any other `UID` in the channel.
          • +
          • token: The token for joining + the destination channel. It is generated with the + channelName and uid you + set in destInfos.
              +
            • If you have not enabled the App Certificate, set this + parameter as the default value , which means the SDK applies the App + ID.
            • +
            • If you have enabled the App Certificate, you must use + the token generated with the + channelName and + uid.
            • +
          • +
          +

          +
          +
          + + destCount + The number of destination channels. The default value is 0, and the value + range is from 0 to 4. Ensure that the value of this parameter corresponds to + the number of structs you define in + destInfo. + + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_clientroleoptions.dita b/en-US/dita/RTC/API/class_clientroleoptions.dita index c4631be820c..6aec57f84a4 100644 --- a/en-US/dita/RTC/API/class_clientroleoptions.dita +++ b/en-US/dita/RTC/API/class_clientroleoptions.dita @@ -1,12 +1,12 @@ - <ph keyref="ClientRoleOptions" /> + <ph keyref="ClientRoleOptions"/> The detailed options of a user.

          - public class ClientRoleOptions { + public class ClientRoleOptions { public int audienceLatencyLevel; @CalledByNative @@ -14,7 +14,7 @@ return audienceLatencyLevel; } } - public class ClientRoleOptions + public class ClientRoleOptions { public ClientRoleOptions() { @@ -27,27 +27,29 @@ public AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; } -

          + +

          - public class ClientRoleOptions { + public class ClientRoleOptions { public int audienceLatencyLevel; } - struct ClientRoleOptions { + struct ClientRoleOptions { AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; ClientRoleOptions() : audienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY) {} - };

          + }; +

          - __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject + __attribute__((visibility("default"))) @interface AgoraClientRoleOptions: NSObject @property (assign, nonatomic) AgoraAudienceLatencyLevelType audienceLatencyLevel; @end - struct ClientRoleOptions { + struct ClientRoleOptions { AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; ClientRoleOptions() : audienceLatencyLevel(AUDIENCE_LATENCY_LEVEL_ULTRA_LOW_LATENCY) {} }; - public class ClientRoleOptions + public class ClientRoleOptions { public ClientRoleOptions() { @@ -61,11 +63,11 @@ public AUDIENCE_LATENCY_LEVEL_TYPE audienceLatencyLevel; } - export interface ClientRoleOptions { + export interface ClientRoleOptions { audienceLatencyLevel: AUDIENCE_LATENCY_LEVEL_TYPE; } - - class ClientRoleOptions { + + class ClientRoleOptions { @JsonKey(includeIfNull: false) AudienceLatencyLevelType? audienceLatencyLevel; @@ -78,19 +80,26 @@ Map<String, dynamic> toJson() => _$ClientRoleOptionsToJson(this); } -

          + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - audienceLatencyLevel - The latency level of an audience member in interactive live streaming. See . -
            -
          • (1): Low latency.
          • -
          • (2): (Default) Ultra low latency.
          • -
          -
          -
          + + audienceLatencyLevel + The latency level of an audience member in interactive live streaming. + See . +
            +
          • (1): Low + latency.
          • +
          • (2): + (Default) Ultra low latency.
          • +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_cloudspatialaudioconfig.dita b/en-US/dita/RTC/API/class_cloudspatialaudioconfig.dita index fe26dabb110..a74ad26b58f 100644 --- a/en-US/dita/RTC/API/class_cloudspatialaudioconfig.dita +++ b/en-US/dita/RTC/API/class_cloudspatialaudioconfig.dita @@ -1,12 +1,13 @@ - <ph keyref="CloudSpatialAudioConfig" /> - The configuration of . + <ph keyref="CloudSpatialAudioConfig"/> + The configuration of .

          - public class CloudSpatialAudioConfig { + public class CloudSpatialAudioConfig { public static class SaeDeployRegion { public final static int SAE_DEPLOY_REGION_NONE = 0; public final static int SAE_DEPLOY_REGION_CN = 0x00000001; @@ -28,59 +29,68 @@ mDeployRegion = SaeDeployRegion.SAE_DEPLOY_REGION_CN; } } - __attribute__((visibility("default"))) @interface AgoraCloudSpatialAudioConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraCloudSpatialAudioConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @property(copy, nonatomic) NSString* _Nullable appId; @property(assign, nonatomic) NSUInteger deployRegion; @end - struct CloudSpatialAudioConfig { + struct CloudSpatialAudioConfig { agora::rtc::IRtcEngine* rtcEngine; ICloudSpatialAudioEventHandler* eventHandler; const char* appId; unsigned int deployRegion; CloudSpatialAudioConfig() : rtcEngine(NULL), eventHandler(NULL), appId(NULL), deployRegion(SAE_DEPLOY_REGION_CN) {} }; - - public struct CloudSpatialAudioConfig { + + public struct CloudSpatialAudioConfig { public IAgoraRtcEngine rtcEngine; public IAgoraRtcCloudSpatialAudioEngineEventHandler eventHandler; public string appId; public uint deployRegion; }; - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - mRtcEngine - . - - - eventHandler - mEventHandler - The event handler for the object. See for details. - - - appId - mAppId - The App ID issued by Agora for your project. This parameter needs to be the same as the App ID set during the initialization of . - - - deployRegion - mDeployRegion - The region in which the Agora Spatial Audio Server to be used is located. The following regions are supported: -
            -
          • : (Default) Mainland China.
          • -
          • : North America.
          • -
          • : Europe.
          • -
          • Asia, excluding Mainland China.
          • -
          -

          After specifying the region, apps using the spatial audio effect connect to the Agora Spatial Audio Server within that region.

          -
          -
          -
          + + rtcEngine + mRtcEngine + . + + + eventHandler + mEventHandler + The event handler for the + object. See for + details. + + + appId + mAppId + The App ID issued by Agora for your project. This parameter needs to be the + same as the App ID set during the initialization of . + + + deployRegion + mDeployRegion + The region in which the Agora Spatial Audio Server to be used is located. + The following regions are supported:
            +
          • : (Default) Mainland China.
          • +
          • : North America.
          • +
          • : Europe.
          • +
          • Asia, excluding Mainland + China.
          • +
          +

          After specifying the region, apps using the spatial audio effect connect + to the Agora Spatial Audio Server within that region.

          +
          +
          + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_colorenhanceoptions.dita b/en-US/dita/RTC/API/class_colorenhanceoptions.dita index 282d75de4c0..ff903ad7d1c 100644 --- a/en-US/dita/RTC/API/class_colorenhanceoptions.dita +++ b/en-US/dita/RTC/API/class_colorenhanceoptions.dita @@ -1,19 +1,22 @@ - <ph keyref="ColorEnhanceOptions" /> + + <ph keyref="ColorEnhanceOptions"/> + The color enhancement options.

          - - -

          + + + +

          - - - - public class ColorEnhanceOptions + + + + public class ColorEnhanceOptions { public ColorEnhanceOptions() { @@ -28,9 +31,9 @@ public float strengthLevel { set; get; } public float skinProtectLevel { set; get; } }; - - - class ColorEnhanceOptions { + + + class ColorEnhanceOptions { final double strengthLevel; final double skinProtectLevel; @@ -42,19 +45,36 @@ _$ColorEnhanceOptionsFromJson(json); 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 - The level of color enhancement. The value range is [0.0, 1.0]. 0.0 is the default value, which means no color enhancement is applied to the video. The higher the value, the higher the level of color enhancement. - - - skinProtectLevel - The level of skin tone protection. The value range is [0.0, 1.0]. 0.0 means no skin tone protection. The higher the value, the higher the level of skin tone protection. The default value is 100.The default value is 1.0. When the level of color enhancement is higher, the portrait skin tone can be significantly distorted, so you need to set the level of skin tone protection; when the level of skin tone protection is higher, the color enhancement effect can be slightly reduced. Therefore, to get the best color enhancement effect, Agora recommends that you adjust strengthLevel and skinProtectLevel to get the most appropriate values. - -
          + + strengthLevel + The level of color enhancement. The value range is [0.0, 1.0]. + 0.0 is the default value, which means no color + enhancement is applied to the video. The higher the value, the higher the + level of color enhancement. + + + skinProtectLevel + The level of skin tone protection. The value range is [0.0, 1.0]. + 0.0 means no skin tone protection. The higher the + value, the higher the level of skin tone protection. The default value is + 100.The default value is 1.0. When the level of color + enhancement is higher, the portrait skin tone can be significantly + distorted, so you need to set the level of skin tone protection; when the + level of skin tone protection is higher, the color enhancement effect can be + slightly reduced. Therefore, to get the best color enhancement effect, Agora + recommends that you adjust strengthLevel and + skinProtectLevel to get the most appropriate + values. + + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_datastreamconfig.dita b/en-US/dita/RTC/API/class_datastreamconfig.dita index 1c4f87c5f1f..413ebd0a739 100644 --- a/en-US/dita/RTC/API/class_datastreamconfig.dita +++ b/en-US/dita/RTC/API/class_datastreamconfig.dita @@ -1,12 +1,13 @@ - <ph keyref="DataStreamConfig" /> - The configurations for the data stream. + <ph keyref="DataStreamConfig"/> + The configurations for the data + stream.

          - public class DataStreamConfig + public class DataStreamConfig { public DataStreamConfig() { @@ -18,31 +19,32 @@ } public bool syncWithAudio { set; get; } public bool ordered { set; get; } -

          + +

          - struct DataStreamConfig { + struct DataStreamConfig { bool syncWithAudio; bool ordered; };

          - public class DataStreamConfig { + public class DataStreamConfig { public boolean syncWithAudio = false; public boolean ordered = false; } - __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraDataStreamConfig: NSObject @property (assign, nonatomic) BOOL ordered; @property (assign, nonatomic) BOOL syncWithAudio; @end - struct DataStreamConfig { + struct DataStreamConfig { bool syncWithAudio; bool ordered; }; - export interface DataStreamConfig { + export interface DataStreamConfig { syncWithAudio: boolean; ordered: boolean; } - - class DataStreamConfig { + + class DataStreamConfig { bool syncWithAudio; bool ordered; @@ -56,69 +58,95 @@ _$DataStreamConfigFromJson(json); Map<String, dynamic> toJson() => _$DataStreamConfigToJson(this); -}

          +} +

          The following table shows the SDK behaviors under different parameter settings:

          - - - - - - - syncWithAudio - ordered - SDK behaviors - - - - - - - The SDK triggers the callback immediately after the receiver receives a data packet. - - - - - If the data packet delay is within the audio delay, the SDK triggers the callback when the synchronized audio packet is played out. If the data packet delay exceeds the audio delay, the SDK triggers the callback as soon as the data packet is received. - - - - - If the delay of a data packet is less than five seconds, the SDK corrects the order of the data packet. If the delay of a data packet exceeds five seconds, the SDK discards the data packet. - - - - - If the delay of the data packet is within the range of the audio delay, the SDK corrects the order of the data packet. If the delay of a data packet exceeds the audio delay, the SDK discards this data packet. - - - -
          + + + + + + + syncWithAudio + ordered + SDK behaviors + + + + + + + The SDK triggers the callback + immediately after the receiver receives a data packet. + + + + + If the data packet delay is within the audio delay, the SDK + triggers the callback when the + synchronized audio packet is played out. If the data packet delay + exceeds the audio delay, the SDK triggers the callback as soon as the data packet + is received. + + + + + If the delay of a data packet is less than five seconds, the SDK + corrects the order of the data packet. If the delay of a data packet + exceeds five seconds, the SDK discards the data packet. + + + + + If the delay of the data packet is within the range of the audio + delay, the SDK corrects the order of the data packet. If the delay + of a data packet exceeds the audio delay, the SDK discards this data + packet. + + + + +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - syncWithAudio - -

          Whether to synchronize the data packet with the published audio packet. -

            -
          • : Synchronize the data packet with the audio packet.
          • -
          • : Do not synchronize the data packet with the audio packet.
          • -
          When you set the data packet to synchronize with the audio, then if the data packet delay is within the audio delay, the SDK triggers the callback when the synchronized audio packet is played out. Do not set this parameter as if you need the receiver to receive the data packet immediately. Agora recommends that you set this parameter to `true` only when you need to implement specific functions, for example lyric synchronization.

          -
          -
          - - ordered - -

          Whether the SDK guarantees that the receiver receives the data in the sent order. -

            -
          • : Guarantee that the receiver receives the data in the sent order.
          • -
          • : Do not guarantee that the receiver receives the data in the sent order.
          • -
          Do not set this parameter as if you need the receiver to receive the data packet immediately.

          -
          -
          -
          + + syncWithAudio + +

          Whether to synchronize the data packet with the published audio packet.

            +
          • : Synchronize the data + packet with the audio packet.
          • +
          • : Do not synchronize the + data packet with the audio packet.
          • +
          When you set the data packet to synchronize with the audio, then if + the data packet delay is within the audio delay, the SDK triggers the + callback when the synchronized + audio packet is played out. Do not set this parameter as if you need the receiver to receive the data packet + immediately. Agora recommends that you set this parameter to `true` only + when you need to implement specific functions, for example lyric + synchronization.

          +
          +
          + + ordered + +

          Whether the SDK guarantees that the receiver receives the data in the + sent order.

            +
          • : Guarantee that the + receiver receives the data in the sent order.
          • +
          • : Do not guarantee that the + receiver receives the data in the sent order.
          • +
          Do not set this parameter as + if you need the receiver to receive the data packet immediately.

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_device.dita b/en-US/dita/RTC/API/class_device.dita index b1cc67948aa..3d0a02ec2da 100644 --- a/en-US/dita/RTC/API/class_device.dita +++ b/en-US/dita/RTC/API/class_device.dita @@ -1,33 +1,36 @@ - <ph keyref="Device" /> + <ph keyref="Device"/> The device information.

          - - - - export interface Device { + + + + export interface Device { deviceId: string; deviceName: string; } - - -

          + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - deviceId - The device ID. - - - deviceName - The name of the device. - -
          + + deviceId + The device ID. + + + deviceName + The name of the device. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_deviceinfo.dita b/en-US/dita/RTC/API/class_deviceinfo.dita index 7c2fcf27253..10c5b25c44e 100644 --- a/en-US/dita/RTC/API/class_deviceinfo.dita +++ b/en-US/dita/RTC/API/class_deviceinfo.dita @@ -1,12 +1,12 @@ - <ph keyref="DeviceInfo" /> + <ph keyref="DeviceInfo"/> The audio device information.

          - public class DeviceInfo { + public class DeviceInfo { public boolean isLowLatencyAudioSupported; @CalledByNative @@ -14,42 +14,47 @@ this.isLowLatencyAudioSupported = isLowLatencyAudioSupported; } } - - struct DeviceInfo { + + struct DeviceInfo { bool isLowLatencyAudioSupported; DeviceInfo() : isLowLatencyAudioSupported(false) {} }; - - public struct DeviceInfo + + public struct DeviceInfo { public string deviceName { set; get; } public string deviceId { set; get; } } - -

          + + +

          - This class is for Android only.
          + This class is for Android only. +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - isLowLatencyAudioSupported - Whether the audio device supports ultra-low-latency capture and playback: -
            -
          • : The device supports ultra-low-latency capture and playback.
          • -
          • : The device does not support ultra-low-latency capture and playback.
          • -
          -
          - - deviceName - The device name. - - - deviceId - The device ID. - -
          + + isLowLatencyAudioSupported + Whether the audio device supports ultra-low-latency capture and playback:
            +
          • : The device supports + ultra-low-latency capture and playback.
          • +
          • : The device does not support + ultra-low-latency capture and playback.
          • +
          +
          + + deviceName + The device name. + + + deviceId + The device ID. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_echotestconfiguration.dita b/en-US/dita/RTC/API/class_echotestconfiguration.dita index 6860bce7380..cc4b1184dba 100644 --- a/en-US/dita/RTC/API/class_echotestconfiguration.dita +++ b/en-US/dita/RTC/API/class_echotestconfiguration.dita @@ -1,14 +1,15 @@ - <ph keyref="EchoTestConfiguration" /> - The configuration of the audio and video call loop test. + <ph keyref="EchoTestConfiguration"/> + The configuration of the audio and video call loop + test.

          - - - struct EchoTestConfiguration { + + + struct EchoTestConfiguration { view_t view; bool enableAudio; bool enableVideo; @@ -17,16 +18,16 @@ EchoTestConfiguration() : view(NULL), enableAudio(true), enableVideo(true), token(NULL), channelId(NULL) {} EchoTestConfiguration(view_t v, bool ea, bool ev, const char* t, const char* c) : view(v), enableAudio(ea), enableVideo(ev), token(t), channelId(c) {} }; - - public struct EchoTestConfiguration { + + public struct EchoTestConfiguration { public IntPtr view; public bool enableAudio; public bool enableVideo; public string token; public string channelId; }; - - class EchoTestConfiguration { + + class EchoTestConfiguration { @JsonKey(includeIfNull: false) bool? enableAudio; @@ -50,48 +51,57 @@ _$EchoTestConfigurationFromJson(json); 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 - The view used to render the local user's video. This parameter is only applicable to scenarios testing video devices, that is, when the enableVideo member is set to . - - - enableAudio - Whether to enable the audio device for the call loop test: - -
            -
          • : (Default) Enables the audio device. To test the audio device, set this parameter as .
          • -
          • : Disables the audio device.
          • -
          -
          - - enableVideo - Whether to enable the video device for the call loop test: - -
            -
          • : (Default) Enables the video device. To test the video device, set this parameter as .
          • -
          • : Disables the video device.
          • -
          -
          - - token - -

          The token used to secure the audio and video call loop test. If you do not enable App Certificate in Agora Console, - you do not need to pass a value in this parameter; if you have enabled App Certificate in Agora Console, you must - pass a token in this parameter. The uid used when you generate the token must be 0xFFFFFFFF, - and the channel name used must be the channel name that identifies each audio and video call loop test. For - server-side token generation, see .

          -
          -
          - - channelId - The channel name that identifies each audio and video call loop. To ensure proper loop test functionality, the channel - name passed in to identify each loop test cannot be the same when users of the same project (App ID) perform audio and video call loop tests on different devices. - -
          + + view + The view used to render the local user's video. This parameter is only + applicable to scenarios testing video devices, that is, when the + enableVideo member is set to . + + + enableAudio + Whether to enable the audio device for the call loop test:
            +
          • : (Default) Enables the audio device. To test the + audio device, set this parameter as .
          • +
          • : Disables the audio device.
          • +
          +
          + + enableVideo + Whether to enable the video device for the call loop test:
            +
          • : (Default) Enables the video device. To test the + video device, set this parameter as .
          • +
          • : Disables the video device.
          • +
          +
          + + token + +

          The token used to secure the audio and video call loop test. If you do + not enable App Certificate in Agora Console, you do not need to pass a + value in this parameter; if you have enabled App Certificate in Agora + Console, you must pass a token in this parameter. The + uid used when you generate the token must be + 0xFFFFFFFF, and the channel name used must be the channel name that + identifies each audio and video call loop test. For server-side token + generation, see .

          +
          +
          + + channelId + The channel name that identifies each audio and video call loop. To ensure + proper loop test functionality, the channel name passed in to identify each + loop test cannot be the same when users of the same project (App ID) perform + audio and video call loop tests on different devices. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_encodedaudioframeinfo.dita b/en-US/dita/RTC/API/class_encodedaudioframeinfo.dita index 7643f202163..780779da913 100644 --- a/en-US/dita/RTC/API/class_encodedaudioframeinfo.dita +++ b/en-US/dita/RTC/API/class_encodedaudioframeinfo.dita @@ -1,19 +1,19 @@ - <ph keyref="EncodedAudioFrameInfo" /> + <ph keyref="EncodedAudioFrameInfo"/> Audio information after encoding.

          - - __attribute__((visibility("default"))) @interface AgoraEncodedAudioFrameInfo: NSObject + + __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; @end - struct EncodedAudioFrameInfo { + struct EncodedAudioFrameInfo { EncodedAudioFrameInfo() : codec(AUDIO_CODEC_AACLC), sampleRateHz(0), @@ -31,8 +31,8 @@ int numberOfChannels; EncodedAudioFrameAdvancedSettings advancedSettings; }; - - public class EncodedAudioFrameInfo + + public class EncodedAudioFrameInfo { public EncodedAudioFrameInfo() { @@ -57,35 +57,38 @@ public int numberOfChannels { set; get; } public EncodedAudioFrameAdvancedSettings advancedSettings { set; get; } } - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - codec - codecType - Audio Codec type: - - - sampleRateHz - samplesPerSec - Audio sample rate (Hz). - - - samplesPerChannel - The number of audio samples per channel. - - - numberOfChannels: - channels - The number of audio channels. - - - advancedSettings - This function is currently not supported. - -
          + + codec + codecType + Audio Codec type: + + + sampleRateHz + samplesPerSec + Audio sample rate (Hz). + + + samplesPerChannel + The number of audio samples per channel. + + + numberOfChannels: + channels + The number of audio channels. + + + advancedSettings + This function is currently not supported. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_encodedvideoframeinfo.dita b/en-US/dita/RTC/API/class_encodedvideoframeinfo.dita index dc371e05acf..6eefa638226 100644 --- a/en-US/dita/RTC/API/class_encodedvideoframeinfo.dita +++ b/en-US/dita/RTC/API/class_encodedvideoframeinfo.dita @@ -1,12 +1,13 @@ - <ph keyref="EncodedVideoFrameInfo" /> - Information about externally encoded video frames. + <ph keyref="EncodedVideoFrameInfo"/> + Information about externally encoded video + frames.

          - public class EncodedVideoFrameInfo + public class EncodedVideoFrameInfo { public EncodedVideoFrameInfo() { @@ -49,7 +50,7 @@ public VIDEO_STREAM_TYPE streamType { set; get; } }

          - public class EncodedVideoFrameInfo { + public class EncodedVideoFrameInfo { public int codecType; public int width; public int height; @@ -135,8 +136,8 @@ } } - - struct EncodedVideoFrameInfo { + + struct EncodedVideoFrameInfo { EncodedVideoFrameInfo() : codecType(VIDEO_CODEC_H264), width(0), @@ -170,76 +171,85 @@ uid_t uid; VIDEO_STREAM_TYPE streamType; }; -

          + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - codecType - The codec type of the local video stream. See . The default value is (2). - The codec type of the video: -
            -
          • 1: VP8
          • -
          • 2: (Default) H264
          • -
          • 5: VP9.
          • -
          -
          - - width - Width (pixel) of the video frame. - - - height - Height (pixel) of the video frame. - - - framesPerSecond - -

          The number of video frames per second.

          -

          When this parameter is not 0, you can use it to calculate the Unix timestamp of externally encoded video frames.

          -
          -
          - - frameType - The video frame type, see . - The video frame type. -
            -
          • 0: (Default) , blank frame.
          • -
          • 3: , keyframe.
          • -
          • 4: , Delta frame.
          • -
          • 5: , the B frame
          • -
          • 6: , unknown frame
          • -
          -
          - - rotation - The rotation information of the video frame, see . - The rotation information of the video frame, as the following: -
            -
          • 0: (Default) 0 degree.
          • -
          • 90: 90 degrees.
          • -
          • 180: 80 degrees.
          • -
          • 270: 270 degrees.
          • -
          -
          - - trackId - Reserved for future use. - The track ID. Used in scenarios with multiple video tracks in the channel. - - - renderTimeMs - The Unix timestamp (ms) for rendering externally encoded video frames. - - - uid - The user ID to push the externally encoded video frame. - - - streamType - The type of video streams. - -
          + + codecType + The codec type of the local video stream. See . The default value is (2). + The codec type of the video:
            +
          • 1: VP8
          • +
          • 2: (Default) H264
          • +
          • 5: VP9.
          • +
          +
          + + width + Width (pixel) of the video frame. + + + height + Height (pixel) of the video frame. + + + framesPerSecond + +

          The number of video frames per second.

          +

          When this parameter is not 0, you can use it to + calculate the Unix timestamp of externally encoded video frames.

          +
          +
          + + frameType + The video frame type, see . + The video frame type.
            +
          • 0: (Default) , blank + frame.
          • +
          • 3: , keyframe.
          • +
          • 4: , Delta frame.
          • +
          • 5: , the B frame
          • +
          • 6: , unknown frame
          • +
          +
          + + rotation + The rotation information of the video frame, see . + The rotation information of the video frame, as the + following:
            +
          • 0: (Default) 0 degree.
          • +
          • 90: 90 degrees.
          • +
          • 180: 80 degrees.
          • +
          • 270: 270 degrees.
          • +
          +
          +
          + + trackId + Reserved for future use. + The track ID. Used in scenarios with multiple video tracks in the + channel. + + + renderTimeMs + The Unix timestamp (ms) for rendering externally encoded video frames. + + + uid + The user ID to push the externally encoded video frame. + + + streamType + The type of video streams. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_encryptionconfig.dita b/en-US/dita/RTC/API/class_encryptionconfig.dita index 4e3372c121d..79c1d63bb29 100644 --- a/en-US/dita/RTC/API/class_encryptionconfig.dita +++ b/en-US/dita/RTC/API/class_encryptionconfig.dita @@ -1,12 +1,12 @@ - <ph keyref="EncryptionConfig" /> + <ph keyref="EncryptionConfig"/> Built-in encryption configurations.

          - struct EncryptionConfig { + struct EncryptionConfig { ENCRYPTION_MODE encryptionMode; const char* encryptionKey; uint8_t encryptionKdfSalt[32]; @@ -42,7 +42,7 @@ return "aes-128-gcm-2"; } }; - public class EncryptionConfig + public class EncryptionConfig { public EncryptionConfig() { @@ -66,9 +66,10 @@ get { return encryptionKdfSalt32; } } - }

          + } +

          - struct EncryptionConfig { + struct EncryptionConfig { ENCRYPTION_MODE encryptionMode; const char* encryptionKey; uint8_t encryptionKdfSalt[32]; @@ -103,7 +104,7 @@ return "aes-128-gcm-2"; } }; - public class EncryptionConfig + public class EncryptionConfig { public EncryptionConfig() { @@ -129,9 +130,10 @@ get { return encryptionKdfSalt32; } } - }

          + } +

          - public class EncryptionConfig { + public class EncryptionConfig { public enum EncryptionMode { AES_128_XTS(1), AES_128_ECB(2), @@ -152,18 +154,18 @@ return this.value; } } - __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraEncryptionConfig: NSObject @property (assign, nonatomic) AgoraEncryptionMode encryptionMode; @property (copy, nonatomic) NSString * _Nullable encryptionKey; @property (strong, nonatomic) NSData * _Nullable encryptionKdfSalt; @end - export interface EncryptionConfig { + export interface EncryptionConfig { encryptionMode: ENCRYPTION_MODE; encryptionKey: string; } - - class EncryptionConfig { + + class EncryptionConfig { @JsonKey(includeIfNull: false) EncryptionMode? encryptionMode; @@ -184,37 +186,49 @@ _$EncryptionConfigFromJson(json); 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 - -

          The built-in encryption mode. See . Agora recommends using or encrypted mode. These two modes support the use of salt for higher security.

          -
          -
          - - encryptionKey - -

          Encryption key in string type.

          - If you do not set an encryption key or set it as , you cannot use the built-in encryption, and the SDK returns -2. -
          -
          - - encryptionKdfSalt - -
          - -
          Since
          -
          v3.4.5
          -
          -
          -

          Salt, 32 bytes in length. Agora recommends that you use OpenSSL to generate salt on the server side. See Media Stream Encryption for details.

          - This parameter takes effect only in or encrypted mode. In this case, ensure that this parameter is not 0. -
          -
          -
          + + encryptionMode + +

          The built-in encryption mode. See . Agora recommends + using or encrypted mode. These two modes support the use + of salt for higher security.

          +
          +
          + + encryptionKey + +

          Encryption key in string type.

          + If you do not set an encryption key or set it as , you cannot use the built-in encryption, and the SDK + returns -2. +
          +
          + + encryptionKdfSalt + +
          + +
          Since
          +
          v3.4.5
          +
          +
          +

          Salt, 32 bytes in length. Agora recommends that you use OpenSSL to generate salt on + the server side. See Media Stream Encryption for details.

          + This parameter takes effect only in or + encrypted mode. In this case, ensure that this parameter is not + 0. +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_externalvideoframe.dita b/en-US/dita/RTC/API/class_externalvideoframe.dita index cf5d238a034..0d5110d679e 100644 --- a/en-US/dita/RTC/API/class_externalvideoframe.dita +++ b/en-US/dita/RTC/API/class_externalvideoframe.dita @@ -1,12 +1,12 @@ - <ph keyref="ExternalVideoFrame" /> + <ph keyref="ExternalVideoFrame"/> The external video frame.

          - public class AgoraVideoFrame { + public class AgoraVideoFrame { public static final int FORMAT_NONE = -1; public static final int FORMAT_TEXTURE_2D = 10; public static final int FORMAT_TEXTURE_OES = 11; @@ -34,7 +34,7 @@ public int cropBottom; public int rotation; } - __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoFrame : NSObject @property(assign, nonatomic) NSInteger format; @property(assign, nonatomic) CMTime time; @property(assign, nonatomic) int stride DEPRECATED_MSG_ATTRIBUTE("use strideInPixels instead"); @@ -47,7 +47,7 @@ @property(assign, nonatomic) int cropBottom; @property(assign, nonatomic) int rotation; @end - struct ExternalVideoFrame { + struct ExternalVideoFrame { enum VIDEO_BUFFER_TYPE { VIDEO_BUFFER_RAW_DATA = 1, @@ -77,7 +77,7 @@ int rotation; long long timestamp; }; - public class ExternalVideoFrame + public class ExternalVideoFrame { public ExternalVideoFrame() { @@ -112,133 +112,161 @@ public int rotation { set; get; } public long timestamp { set; get; } } - - -

          + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - -

          The video buffer type. For details, see .

          -
          -
          - - format - The pixel format. For details, see . - The format of the incoming video frame. This parameter must be specified as one of the following values: -
            -
          • 1: I420
          • -
          • 2: BGRA
          • -
          • 3: NV21
          • -
          • 4: RGBA
          • -
          • 5: IMC2
          • -
          • 7: ARGB
          • -
          • 8: NV12
          • -
          • 12: iOS texture (CVPixelBufferRef)
          • -
          - The format of the video data: -
            -
          • 10: TEXTURE_2D
          • -
          • 11: TEXTURE_OES, usually the data collected by the camera is in this format.
          • -
          • 1: I420
          • -
          • 3: NV21
          • -
          • 4: RGBA
          • -
          -
          - - buffer - buf - dataBuf - The video buffer. - This parameter only applies to video data in non-Texture format. - - - textureBuf - Buffer of iOS texture. - - - stride - Line spacing of the incoming video frame, which must be in pixels instead of bytes. For textures, it is the width of the texture. -

          -

          - -
          Deprecated:
          -
          Replaced with strideInPixels.
          -
          -
          -

          -
          -
          - - strideInPixels - The line span of the frame, that is, the number of pixels between two adjacent lines of video frames. - -
            -
          • The unit of this parameter is pixels, not bytes.
          • -
          • If the video is in Texture format, set this parameter to the width of Texture.
          • -
          • If the video frame format is set to 12, do not use this field.
          • -
          -
          - - height - Height of the incoming video frame. - - - textureID - Texture ID of the frame. This parameter only applies to video data in Texture format. - - - syncMode - Set whether to enable the synchronization mode. After enabling, the SDK waits while Texture processing. This parameter only applies to video data in Texture format. -
            -
          • : Turn on sync mode.
          • -
          • : Do not turn on sync mode.
          • -
          -
          - - transform - Additional transform of Texture frames. This parameter only applies to video data in Texture format. - - - eglContext11 - EGLContext11. This parameter only applies to video data in Texture format. - - - eglContext14 - EGLContext14. This parameter only applies to video data in Texture format. - - - cropLeft - Raw data related parameter. The number of pixels trimmed from the left. The default value is 0. - This parameter only applies to video data in non-Texture format. - - - cropTop - Raw data related parameter. The number of pixels trimmed from the top. The default value is 0. - This parameter only applies to video data in non-Texture format. - - - cropRight - Raw data related parameter. The number of pixels trimmed from the right. The default value is 0. - This parameter only applies to video data in non-Texture format. - - - cropBottom - Raw data related parameter. The number of pixels trimmed from the bottom. The default value is 0. - This parameter only applies to video data in non-Texture format. - - - rotation - Raw data related parameter. The clockwise rotation of the video frame. You can set the rotation angle as 0, 90, 180, or 270. The default value is 0. - - - timestamp - time - Timestamp (ms) of the incoming video frame. An incorrect timestamp results in frame loss or unsynchronized audio and video. - -
          + + type + +

          The video buffer type. For details, see .

          +
          +
          + + format + The pixel format. For details, see . + The format of the incoming video frame. This + parameter must be specified as one of the following values:
            +
          • 1: I420
          • +
          • 2: BGRA
          • +
          • 3: NV21
          • +
          • 4: RGBA
          • +
          • 5: IMC2
          • +
          • 7: ARGB
          • +
          • 8: NV12
          • +
          • 12: iOS texture (CVPixelBufferRef)
          • +
          +
          + The format of the video data:
            +
          • 10: TEXTURE_2D
          • +
          • 11: TEXTURE_OES, usually the data collected by the camera is in this + format.
          • +
          • 1: I420
          • +
          • 3: NV21
          • +
          • 4: RGBA
          • +
          +
          +
          + + buffer + buf + dataBuf + The video buffer. + This parameter only applies to video data in non-Texture + format. + + + textureBuf + Buffer of iOS texture. + + + stride + Line spacing of the incoming video frame, which must be in pixels instead of + bytes. For textures, it is the width of the texture.

          +

          + +
          Deprecated:
          +
          Replaced with strideInPixels.
          +
          +
          +

          +
          +
          + + strideInPixels + The line span of the frame, that is, the number of pixels between two + adjacent lines of video frames. +
            +
          • The unit of this parameter is pixels, not bytes.
          • +
          • If the video is in Texture format, set this parameter to the + width of Texture.
          • +
          • If the video frame format is set to 12, do not use this + field.
          • +
          +
          +
          + + height + Height of the incoming video frame. + + + textureID + Texture ID of the frame. This parameter only applies to video data in + Texture format. + + + syncMode + Set whether to enable the synchronization mode. After enabling, the SDK + waits while Texture processing. This parameter only applies to video data in + Texture format.
            +
          • : Turn on sync mode.
          • +
          • : Do not turn on sync + mode.
          • +
          +
          + + transform + Additional transform of Texture frames. This parameter only applies to video + data in Texture format. + + + eglContext11 + EGLContext11. This parameter only applies to video data in Texture + format. + + + eglContext14 + EGLContext14. This parameter only applies to video data in Texture + format. + + + cropLeft + Raw data related parameter. The number of pixels trimmed from the left. The + default value is 0. + This parameter only applies to video data in non-Texture + format. + + + cropTop + Raw data related parameter. The number of pixels trimmed from the top. The + default value is 0. + This parameter only applies to video data in non-Texture + format. + + + cropRight + Raw data related parameter. The number of pixels trimmed from the right. + The default value is 0. + This parameter only applies to video data in non-Texture + format. + + + cropBottom + Raw data related parameter. The number of pixels trimmed from the bottom. + The default value is 0. + This parameter only applies to video data in non-Texture + format. + + + rotation + Raw data related parameter. The clockwise rotation of the video frame. You + can set the rotation angle as 0, 90, 180, or 270. The default value is + 0. + + + timestamp + time + Timestamp (ms) of the incoming video frame. An incorrect timestamp results + in frame loss or unsynchronized audio and video. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_iaudiodevicecollection.dita b/en-US/dita/RTC/API/class_iaudiodevicecollection.dita index c4b2397051b..c6c83f973a4 100644 --- a/en-US/dita/RTC/API/class_iaudiodevicecollection.dita +++ b/en-US/dita/RTC/API/class_iaudiodevicecollection.dita @@ -1,6 +1,7 @@ - <ph keyref="IAudioDeviceCollection" /> - The IAudioDeviceCollection interface. You can get the information of audio devices with this interface. - \ No newline at end of file + <ph keyref="IAudioDeviceCollection"/> + The IAudioDeviceCollection interface. You can get the + information of audio devices with this interface. + diff --git a/en-US/dita/RTC/API/class_iaudiodevicemanager.dita b/en-US/dita/RTC/API/class_iaudiodevicemanager.dita index 764d84bd016..dfefe933dfe 100644 --- a/en-US/dita/RTC/API/class_iaudiodevicemanager.dita +++ b/en-US/dita/RTC/API/class_iaudiodevicemanager.dita @@ -1,11 +1,13 @@ - <ph keyref="IAudioDeviceManager" /> + <ph keyref="IAudioDeviceManager"/> Audio device management methods.
          -

          provides methods for audio device testing. You can get an interface by instantiating the class.

          +

          provides methods for audio device testing. + You can get an interface by instantiating + the class.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_iaudioeffectmanager.dita b/en-US/dita/RTC/API/class_iaudioeffectmanager.dita index 99b4bccff0a..419f1ce6ef4 100644 --- a/en-US/dita/RTC/API/class_iaudioeffectmanager.dita +++ b/en-US/dita/RTC/API/class_iaudioeffectmanager.dita @@ -1,6 +1,7 @@ - <ph keyref="IAudioEffectManager" /> - This class contains audio management methods. - \ No newline at end of file + <ph keyref="IAudioEffectManager"/> + This class contains audio management + methods. + diff --git a/en-US/dita/RTC/API/class_iaudioframeobserver.dita b/en-US/dita/RTC/API/class_iaudioframeobserver.dita index 0b797c5e646..d5f6193e00e 100644 --- a/en-US/dita/RTC/API/class_iaudioframeobserver.dita +++ b/en-US/dita/RTC/API/class_iaudioframeobserver.dita @@ -1,12 +1,14 @@ - <ph keyref="IAudioFrameObserver" /> + <ph keyref="IAudioFrameObserver"/> The audio frame observer.
          -

          Inherited from .

          -

          You can call to register or unregister the audio frame observer.

          +

          Inherited from .

          +

          You can call to register or unregister + the audio frame observer.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_iaudioframeobserverbase.dita b/en-US/dita/RTC/API/class_iaudioframeobserverbase.dita index 57282ac6d50..208097a934b 100644 --- a/en-US/dita/RTC/API/class_iaudioframeobserverbase.dita +++ b/en-US/dita/RTC/API/class_iaudioframeobserverbase.dita @@ -1,11 +1,12 @@ - <ph keyref="IAudioFrameObserverBase" /> + <ph keyref="IAudioFrameObserverBase"/> The audio frame observer.
          -

          You can call to register or unregister the audio frame observer.

          +

          You can call to register or unregister + the audio frame observer.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_iaudioplaybackdevicemanager.dita b/en-US/dita/RTC/API/class_iaudioplaybackdevicemanager.dita index 0b78cce1e3c..224c7879f6e 100644 --- a/en-US/dita/RTC/API/class_iaudioplaybackdevicemanager.dita +++ b/en-US/dita/RTC/API/class_iaudioplaybackdevicemanager.dita @@ -1,6 +1,7 @@ - <ph keyref="IAudioPlaybackDeviceManager" /> - class, which manages audio playback devices. - \ No newline at end of file + <ph keyref="IAudioPlaybackDeviceManager"/> + class, + which manages audio playback devices. + diff --git a/en-US/dita/RTC/API/class_iaudiorecordingdevicemanager.dita b/en-US/dita/RTC/API/class_iaudiorecordingdevicemanager.dita index 9c816f351ef..0fae548f6f6 100644 --- a/en-US/dita/RTC/API/class_iaudiorecordingdevicemanager.dita +++ b/en-US/dita/RTC/API/class_iaudiorecordingdevicemanager.dita @@ -1,6 +1,7 @@ - <ph keyref="IAudioRecordingDeviceManager" /> - class, which manages audio recording devices. - \ No newline at end of file + <ph keyref="IAudioRecordingDeviceManager"/> + class, + which manages audio recording devices. + diff --git a/en-US/dita/RTC/API/class_ibasespatialaudioengine.dita b/en-US/dita/RTC/API/class_ibasespatialaudioengine.dita index d45c647d345..8dbe8217e2c 100644 --- a/en-US/dita/RTC/API/class_ibasespatialaudioengine.dita +++ b/en-US/dita/RTC/API/class_ibasespatialaudioengine.dita @@ -1,11 +1,15 @@ - <ph keyref="IBaseSpatialAudioEngine" /> - This class contains the API shared by the and classes. + <ph keyref="IBaseSpatialAudioEngine"/> + This class contains the API shared by the and + classes.
          -

          The and classes inherit from .

          +

          The and classes inherit from .

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_ichannel.dita b/en-US/dita/RTC/API/class_ichannel.dita index 10f090db54f..f0d26d68333 100644 --- a/en-US/dita/RTC/API/class_ichannel.dita +++ b/en-US/dita/RTC/API/class_ichannel.dita @@ -1,9 +1,11 @@ - <ph keyref="IChannel" /> - Provides methods that enable real-time communications in an channel. + <ph keyref="IChannel"/> + Provides methods that enable real-time communications + in an channel. -
          Call to create an object.
          +
          Call to create an object.
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_ichanneleventhandler.dita b/en-US/dita/RTC/API/class_ichanneleventhandler.dita index 0f11024e764..bc8f1c5321f 100644 --- a/en-US/dita/RTC/API/class_ichanneleventhandler.dita +++ b/en-US/dita/RTC/API/class_ichanneleventhandler.dita @@ -1,11 +1,13 @@ - <ph keyref="IChannelEventHandler" /> - The SDK uses to send event notifications to your app. + <ph keyref="IChannelEventHandler"/> + The SDK uses + to send event notifications to your app.
          -

          You can use to set a listener for an event.

          +

          You can use to set a listener for an + event.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_icloudspatialaudioengine.dita b/en-US/dita/RTC/API/class_icloudspatialaudioengine.dita index d0bf0fb5daf..63e898eb769 100644 --- a/en-US/dita/RTC/API/class_icloudspatialaudioengine.dita +++ b/en-US/dita/RTC/API/class_icloudspatialaudioengine.dita @@ -1,11 +1,15 @@ - <ph keyref="ICloudSpatialAudioEngine" /> - This class calculates user positions through the Agora Spatial Audio Server to implement the spatial audio effect. + <ph keyref="ICloudSpatialAudioEngine"/> + This class calculates user positions through the Agora + Spatial Audio Server to implement the spatial audio effect.
          -

          This class inherits from . Before calling other APIs in this class, you need to call the method to initialize this class.

          +

          This class inherits from . Before calling + other APIs in this class, you need to call the method to initialize this + class.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_icloudspatialaudioeventhandler.dita b/en-US/dita/RTC/API/class_icloudspatialaudioeventhandler.dita index 488be0e003b..cf879608b2b 100644 --- a/en-US/dita/RTC/API/class_icloudspatialaudioeventhandler.dita +++ b/en-US/dita/RTC/API/class_icloudspatialaudioeventhandler.dita @@ -1,6 +1,7 @@ - <ph keyref="ICloudSpatialAudioEventHandler" /> - The class that sends event notifications relating to the spatial audio effect. - \ No newline at end of file + <ph keyref="ICloudSpatialAudioEventHandler"/> + The class that sends event notifications relating to + the spatial audio effect. + diff --git a/en-US/dita/RTC/API/class_ilocalspatialaudioengine.dita b/en-US/dita/RTC/API/class_ilocalspatialaudioengine.dita index 48f662db35e..aaf41d5f6ad 100644 --- a/en-US/dita/RTC/API/class_ilocalspatialaudioengine.dita +++ b/en-US/dita/RTC/API/class_ilocalspatialaudioengine.dita @@ -1,11 +1,15 @@ - <ph keyref="ILocalSpatialAudioEngine" /> - This class calculates user positions through the SDK to implement the spatial audio effect. + <ph keyref="ILocalSpatialAudioEngine"/> + This class calculates user positions through the SDK to + implement the spatial audio effect.
          -

          This class inherits from . Before calling other APIs in this class, you need to call the method to initialize this class.

          +

          This class inherits from . Before calling + other APIs in this class, you need to call the method to initialize this + class.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_imediaengine.dita b/en-US/dita/RTC/API/class_imediaengine.dita index e00e3cd0322..c91fd5fdd8e 100644 --- a/en-US/dita/RTC/API/class_imediaengine.dita +++ b/en-US/dita/RTC/API/class_imediaengine.dita @@ -1,6 +1,7 @@ - <ph keyref="IMediaEngine" /> - The class. - \ No newline at end of file + <ph keyref="IMediaEngine"/> + The + class. + diff --git a/en-US/dita/RTC/API/class_imediaextensionobserver.dita b/en-US/dita/RTC/API/class_imediaextensionobserver.dita index 5bbd11eaa1d..ce058305d76 100644 --- a/en-US/dita/RTC/API/class_imediaextensionobserver.dita +++ b/en-US/dita/RTC/API/class_imediaextensionobserver.dita @@ -1,6 +1,7 @@ - <ph keyref="IMediaExtensionObserver" /> - Extension event callback interface class. - \ No newline at end of file + <ph keyref="IMediaExtensionObserver"/> + Extension event callback interface + class. + diff --git a/en-US/dita/RTC/API/class_imediafilterextensiondelegate.dita b/en-US/dita/RTC/API/class_imediafilterextensiondelegate.dita index f84c42d397e..1c0190f60ce 100644 --- a/en-US/dita/RTC/API/class_imediafilterextensiondelegate.dita +++ b/en-US/dita/RTC/API/class_imediafilterextensiondelegate.dita @@ -1,28 +1,31 @@ - <ph keyref="AgoraMediaFilterExtensionDelegate" /> + <ph keyref="AgoraMediaFilterExtensionDelegate"/> Manages the media extensions.

          - - @protocol AgoraMediaFilterExtensionDelegate <NSObject> + + @protocol AgoraMediaFilterExtensionDelegate <NSObject> - (NSString * __nonnull)vendor; @end - - - - -

          + + + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - vendor - The name of the extension provider. - -
          + + vendor + The name of the extension provider. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_imediarecorder.dita b/en-US/dita/RTC/API/class_imediarecorder.dita index a2bd05ed25b..6a1aba0730e 100644 --- a/en-US/dita/RTC/API/class_imediarecorder.dita +++ b/en-US/dita/RTC/API/class_imediarecorder.dita @@ -1,17 +1,18 @@ - <ph keyref="IMediaRecorder" /> - Used for recording audio and video on the client. + <ph keyref="IMediaRecorder"/> + Used for recording audio and video on the + client.
          -

          can record the following: - -

            -
          • The audio captured by the local microphone and encoded in AAC format.
          • -
          • The video captured by the local camera and encoded by the SDK.
          • -

          - In the COMMUNICATION channel profile, this feature is unavailable when there are users using - SDK versions earlier than v3.0.0.
          +

          can record the following:

            +
          • The audio captured by the local microphone and encoded in AAC format.
          • +
          • The video captured by the local camera and encoded by the SDK.
          • +

          + In the COMMUNICATION channel + profile, this feature is unavailable when there are users using SDK versions earlier + than v3.0.0. +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_imediarecorderobserver.dita b/en-US/dita/RTC/API/class_imediarecorderobserver.dita index a1f04a8d9c3..c00d1871014 100644 --- a/en-US/dita/RTC/API/class_imediarecorderobserver.dita +++ b/en-US/dita/RTC/API/class_imediarecorderobserver.dita @@ -1,6 +1,7 @@ - <ph keyref="IMediaRecorderObserver" /> - The class. - \ No newline at end of file + <ph keyref="IMediaRecorderObserver"/> + The + class. + diff --git a/en-US/dita/RTC/API/class_imetadataobserver.dita b/en-US/dita/RTC/API/class_imetadataobserver.dita index 99e553a1580..c2ddd16762e 100644 --- a/en-US/dita/RTC/API/class_imetadataobserver.dita +++ b/en-US/dita/RTC/API/class_imetadataobserver.dita @@ -1,11 +1,12 @@ - <ph keyref="IMetadataObserver" /> + <ph keyref="IMetadataObserver"/> The metadata observer.
          -

          You can call to register or unregister an object.

          +

          You can call to register or unregister + an object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_injectstreamconfig.dita b/en-US/dita/RTC/API/class_injectstreamconfig.dita index a631ccf65c0..eab8451354e 100644 --- a/en-US/dita/RTC/API/class_injectstreamconfig.dita +++ b/en-US/dita/RTC/API/class_injectstreamconfig.dita @@ -1,12 +1,13 @@ - <ph keyref="InjectStreamConfig" /> - Configurations of injecting an external audio or video stream. + <ph keyref="InjectStreamConfig"/> + Configurations of injecting an external audio or video + stream.

          - public class LiveInjectStreamConfig { + public class LiveInjectStreamConfig { public enum AudioSampleRateType { TYPE_32000(32000), @@ -33,7 +34,7 @@ audioChannels = 1; } } - __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveInjectStreamConfig : NSObject @property(assign, nonatomic) CGSize size; @property(assign, nonatomic) NSInteger videoGop; @@ -44,7 +45,7 @@ @property(assign, nonatomic) NSInteger audioChannels; + (AgoraLiveInjectStreamConfig *_Nonnull)defaultConfig; @end - struct InjectStreamConfig { + struct InjectStreamConfig { int width; int height; int videoGop; @@ -65,7 +66,7 @@ , audioChannels(1) {} }; - public class InjectStreamConfig + public class InjectStreamConfig { public InjectStreamConfig() { @@ -101,7 +102,7 @@ public int audioBitrate { set; get; } public int audioChannels { set; get; } } - export interface InjectStreamConfig { + export interface InjectStreamConfig { width: number; height: number; videoBitrate: number; @@ -111,8 +112,8 @@ audioBitrate: number; audioChannels: number; } - - class LiveInjectStreamConfig { + + class LiveInjectStreamConfig { @JsonKey(includeIfNull: false) int? width; @@ -153,58 +154,75 @@ _$LiveInjectStreamConfigFromJson(json); Map<String, dynamic> toJson() => _$LiveInjectStreamConfigToJson(this); -}

          +} +

          -
          + +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - The width of the external video stream after injecting. The default value is 0, which represents the same width as the original. - - - height - The height of the external video stream after injecting. The default value is 0, which represents the same height as the original. - - - videoGop - The GOP (in frames) of injecting the external video stream. The default value is 30 frames. - - - videoFramerate - The frame rate (fps) of injecting the external video stream. The default rate is 15 fps. - - - videoBitrate - -

          The bitrate (Kbps) of injecting the external video stream. The default value is 400 Kbps.

          - The bitrate setting is closely linked to the video resolution. If the bitrate you set is beyond a reasonable range, the SDK sets it within a reasonable range. -
          -
          - - audioSampleRate - -

          The sampling rate (Hz) of injecting the external audio stream. The default value is 48000 Hz. See .

          - Agora recommends using the default value.
          -
          - - audioBitrate - -

          The bitrate (Kbps) of injecting the external audio stream. The default value is 48 Kbps.

          - Agora recommends using the default value.
          -
          - - audioChannels - -

          The number of channels of the external audio stream after injecting. -

            -
          • 1: (Default) Mono.
          • -
          • 2: Stereo.
          • -

          - Agora recommends using the default value.
          -
          -
          + + width + The width of the external video stream after injecting. The default value is + 0, which represents the same width as the original. + + + height + The height of the external video stream after injecting. The default value + is 0, which represents the same height as the original. + + + videoGop + The GOP (in frames) of injecting the external video stream. The default + value is 30 frames. + + + videoFramerate + The frame rate (fps) of injecting the external video stream. The default + rate is 15 fps. + + + videoBitrate + +

          The bitrate (Kbps) of injecting the external video stream. The default + value is 400 Kbps.

          + The bitrate setting is closely linked to the video + resolution. If the bitrate you set is beyond a reasonable range, the SDK + sets it within a reasonable range. +
          +
          + + audioSampleRate + +

          The sampling rate (Hz) of injecting the external audio stream. The + default value is 48000 Hz. See .

          + Agora recommends using the default value. +
          +
          + + audioBitrate + +

          The bitrate (Kbps) of injecting the external audio stream. The default + value is 48 Kbps.

          + Agora recommends using the default value. +
          +
          + + audioChannels + +

          The number of channels of the external audio stream after injecting.

            +
          • 1: (Default) Mono.
          • +
          • 2: Stereo.
          • +
          +

          + Agora recommends using the default value. +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_ipacketobserver.dita b/en-US/dita/RTC/API/class_ipacketobserver.dita index f6acc722230..deceb5c6200 100644 --- a/en-US/dita/RTC/API/class_ipacketobserver.dita +++ b/en-US/dita/RTC/API/class_ipacketobserver.dita @@ -1,6 +1,6 @@ - <ph keyref="IPacketObserver" /> + <ph keyref="IPacketObserver"/> The definition of IPacketObserver. - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_irtcengine.dita b/en-US/dita/RTC/API/class_irtcengine.dita index 2b3dd762143..4d68b5a724f 100644 --- a/en-US/dita/RTC/API/class_irtcengine.dita +++ b/en-US/dita/RTC/API/class_irtcengine.dita @@ -1,12 +1,15 @@ - <ph keyref="IRtcEngine" /> - The basic interface of the Agora SDK that implements the core functions of real-time communication. + <ph keyref="IRtcEngine"/> + The basic interface of the Agora SDK that implements + the core functions of real-time communication.
          -

          provides the main methods that your app can call.

          -

          Before calling other APIs, you must call to create an object.

          +

          provides the main methods that your app can call.

          +

          Before calling other APIs, you must call to create an + object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_irtcengine2.dita b/en-US/dita/RTC/API/class_irtcengine2.dita index ca5dbd0ed2b..91062579e37 100644 --- a/en-US/dita/RTC/API/class_irtcengine2.dita +++ b/en-US/dita/RTC/API/class_irtcengine2.dita @@ -1,6 +1,7 @@ - <ph keyref="IRtcEngine2" /> - Inherited from agora::rtc::IRtcEngine. - \ No newline at end of file + <ph keyref="IRtcEngine2"/> + Inherited from agora::rtc::IRtcEngine. + diff --git a/en-US/dita/RTC/API/class_irtcengineeventhandler.dita b/en-US/dita/RTC/API/class_irtcengineeventhandler.dita index 8531b60fab4..4032d96d755 100644 --- a/en-US/dita/RTC/API/class_irtcengineeventhandler.dita +++ b/en-US/dita/RTC/API/class_irtcengineeventhandler.dita @@ -1,11 +1,17 @@ - <ph keyref="IRtcEngineEventHandler" /> - The SDK uses the interface to send event notifications to your app. Your app can get those notifications through methods that inherit this interface. + <ph keyref="IRtcEngineEventHandler"/> + The SDK uses the interface to send event notifications to your app. + Your app can get those notifications through methods that inherit this + interface.
          -

          All methods in this interface have default (empty) implementation. You can choose to inherit events related to your app scenario. In the callbacks, avoid implementing time-consuming tasks or calling APIs that may cause thread blocking (such as sendMessage). Otherwise, the SDK may not work properly.

          +

          All methods in this interface have default (empty) implementation. You can choose to + inherit events related to your app scenario. In the callbacks, avoid implementing + time-consuming tasks or calling APIs that may cause thread blocking (such as + sendMessage). Otherwise, the SDK may not work properly.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_irtcengineeventhandlerex.dita b/en-US/dita/RTC/API/class_irtcengineeventhandlerex.dita index c44aa1a82f3..e922f966943 100644 --- a/en-US/dita/RTC/API/class_irtcengineeventhandlerex.dita +++ b/en-US/dita/RTC/API/class_irtcengineeventhandlerex.dita @@ -1,6 +1,8 @@ - <ph keyref="IRtcEngineEventHandlerEx" /> - Inherited from the class, used to monitor and report the events and data of the specified channel. - \ No newline at end of file + <ph keyref="IRtcEngineEventHandlerEx"/> + Inherited from the class, used to monitor and report the events and + data of the specified channel. + diff --git a/en-US/dita/RTC/API/class_iscreencapturesourcelist.dita b/en-US/dita/RTC/API/class_iscreencapturesourcelist.dita index 1e8cd3f3ce2..6c9ecc70036 100644 --- a/en-US/dita/RTC/API/class_iscreencapturesourcelist.dita +++ b/en-US/dita/RTC/API/class_iscreencapturesourcelist.dita @@ -1,17 +1,19 @@ - <ph keyref="IScreenCaptureSourceList" /> - The class. This class is returned in the method. + <ph keyref="IScreenCaptureSourceList"/> + The class. + This class is returned in the + method.
          - -
          Since
          -
          v3.5.2
          -
          + +
          Since
          +
          v3.5.2
          +
          -

          +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_ivideodevicecollection.dita b/en-US/dita/RTC/API/class_ivideodevicecollection.dita index b79d42c0787..67f05aab2d5 100644 --- a/en-US/dita/RTC/API/class_ivideodevicecollection.dita +++ b/en-US/dita/RTC/API/class_ivideodevicecollection.dita @@ -1,6 +1,7 @@ - <ph keyref="IVideoDeviceCollection" /> - You can get information related to video devices through this interface. - \ No newline at end of file + <ph keyref="IVideoDeviceCollection"/> + You can get information related to video devices + through this interface. + diff --git a/en-US/dita/RTC/API/class_ivideodevicemanager.dita b/en-US/dita/RTC/API/class_ivideodevicemanager.dita index 0ced5275a2c..431ea441400 100644 --- a/en-US/dita/RTC/API/class_ivideodevicemanager.dita +++ b/en-US/dita/RTC/API/class_ivideodevicemanager.dita @@ -1,11 +1,13 @@ - <ph keyref="IVideoDeviceManager" /> + <ph keyref="IVideoDeviceManager"/> Video device management methods.
          -

          provides the methods related to testing video devices. You can get an interface by instantiating the class.

          +

          provides the methods related to testing video + devices. You can get an interface by + instantiating the class.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_ivideoframeconsumer.dita b/en-US/dita/RTC/API/class_ivideoframeconsumer.dita index f06efb7e276..3e0965bdbda 100644 --- a/en-US/dita/RTC/API/class_ivideoframeconsumer.dita +++ b/en-US/dita/RTC/API/class_ivideoframeconsumer.dita @@ -1,6 +1,7 @@ - <ph keyref="IVideoFrameConsumer" /> - is used by the SDK to receive the video frames you capture. - \ No newline at end of file + <ph keyref="IVideoFrameConsumer"/> + is used by the + SDK to receive the video frames you capture. + diff --git a/en-US/dita/RTC/API/class_ivideoframeobserver.dita b/en-US/dita/RTC/API/class_ivideoframeobserver.dita index dc365f31cef..9feb34b492a 100644 --- a/en-US/dita/RTC/API/class_ivideoframeobserver.dita +++ b/en-US/dita/RTC/API/class_ivideoframeobserver.dita @@ -1,11 +1,12 @@ - <ph keyref="IVideoFrameObserver" /> + <ph keyref="IVideoFrameObserver"/> The IVideoFrameObserver class.
          -

          You can call to register or unregister an object.

          +

          You can call to register or unregister an + object.

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_ivideosource.dita b/en-US/dita/RTC/API/class_ivideosource.dita index 5a86f1b5089..f139015a0a7 100644 --- a/en-US/dita/RTC/API/class_ivideosource.dita +++ b/en-US/dita/RTC/API/class_ivideosource.dita @@ -1,6 +1,7 @@ - <ph keyref="IVideoSource" /> - The IVideoSource class. You can use it to customize the video source. - \ No newline at end of file + <ph keyref="IVideoSource"/> + The IVideoSource class. You can use it to customize the + video source. + diff --git a/en-US/dita/RTC/API/class_lastmileprobeconfig.dita b/en-US/dita/RTC/API/class_lastmileprobeconfig.dita index 0d9254110b2..ebcd8bbf170 100644 --- a/en-US/dita/RTC/API/class_lastmileprobeconfig.dita +++ b/en-US/dita/RTC/API/class_lastmileprobeconfig.dita @@ -1,12 +1,13 @@ - <ph keyref="LastmileProbeConfig" /> - Configurations of the last-mile network test. + <ph keyref="LastmileProbeConfig"/> + Configurations of the last-mile network + test.

          - public class LastmileProbeConfig { + public class LastmileProbeConfig { public boolean probeUplink; public boolean probeDownlink; public int expectedUplinkBitrate; @@ -14,19 +15,19 @@ public LastmileProbeConfig() {} } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeConfig : NSObject @property (assign, nonatomic) BOOL probeUplink; @property (assign, nonatomic) BOOL probeDownlink; @property (assign, nonatomic) NSUInteger expectedUplinkBitrate; @property (assign, nonatomic) NSUInteger expectedDownlinkBitrate; @end - struct LastmileProbeConfig { + struct LastmileProbeConfig { bool probeUplink; bool probeDownlink; unsigned int expectedUplinkBitrate; unsigned int expectedDownlinkBitrate; }; - public class LastmileProbeConfig + public class LastmileProbeConfig { public LastmileProbeConfig() { @@ -46,14 +47,14 @@ public uint expectedUplinkBitrate { set; get; } public uint expectedDownlinkBitrate { set; get; } } - export interface LastmileProbeConfig { + export interface LastmileProbeConfig { probeUplink: boolean; probeDownlink: boolean; expectedUplinkBitrate: number; expectedDownlinkBitrate: number; } - - class LastmileProbeConfig { + + class LastmileProbeConfig { bool probeUplink; bool probeDownlink; @@ -71,41 +72,47 @@ _$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 - -

          Sets whether to test the uplink network. Some users, for example, the audience members in a LIVE_BROADCASTING channel, do not need such a test. - -

            -
          • : Test.
          • -
          • : Not test.
          • -

          -
          -
          - - probeDownlink - -

          Sets whether to test the downlink network: - -

            -
          • : Test.
          • -
          • : Not test.
          • -

          -
          -
          - - expectedUplinkBitrate - The expected maximum uplink bitrate (bps) of the local user. The value range is [100000, 5000000]. Agora recommends referring to to set the value. - - - expectedDownlinkBitrate - The expected maximum downlink bitrate (bps) of the local user. The value range is [100000,5000000]. - -
          + + probeUplink + +

          Sets whether to test the uplink network. Some users, for example, the + audience members in a LIVE_BROADCASTING channel, do not need such a + test.

            +
          • : Test.
          • +
          • : Not test.
          • +
          +

          +
          +
          + + probeDownlink + +

          Sets whether to test the downlink network:

            +
          • : Test.
          • +
          • : Not test.
          • +
          +

          +
          +
          + + expectedUplinkBitrate + The expected maximum uplink bitrate (bps) of the local user. The value range + is [100000, 5000000]. Agora recommends referring to to set the value. + + + expectedDownlinkBitrate + The expected maximum downlink bitrate (bps) of the local user. The value + range is [100000,5000000]. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_lastmileprobeonewayresult.dita b/en-US/dita/RTC/API/class_lastmileprobeonewayresult.dita index 3aaea65441e..3a7084d4d83 100644 --- a/en-US/dita/RTC/API/class_lastmileprobeonewayresult.dita +++ b/en-US/dita/RTC/API/class_lastmileprobeonewayresult.dita @@ -1,12 +1,13 @@ - <ph keyref="LastmileProbeOneWayResult" /> - Results of the uplink or downlink last-mile network test. + <ph keyref="LastmileProbeOneWayResult"/> + Results of the uplink or downlink last-mile network + test.

          - struct LastmileProbeOneWayResult { + struct LastmileProbeOneWayResult { unsigned int packetLossRate; unsigned int jitter; unsigned int availableBandwidth; @@ -15,7 +16,7 @@ jitter(0), availableBandwidth(0) {} }; - public class LastmileProbeOneWayResult + public class LastmileProbeOneWayResult { public LastmileProbeOneWayResult() { @@ -34,25 +35,26 @@ public uint availableBandwidth { set; get; } } -

          + +

          - public static class LastmileProbeOneWayResult { + public static class LastmileProbeOneWayResult { public int packetLossRate; public int jitter; public int availableBandwidth; } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeOneWayResult : NSObject @property (assign, nonatomic) NSUInteger packetLossRate; @property (assign, nonatomic) NSUInteger jitter; @property (assign, nonatomic) NSUInteger availableBandwidth; @end - export interface LastmileProbeOneWayResult { + export interface LastmileProbeOneWayResult { packetLossRate: number; jitter: number; availableBandwidth: number; } - - class LastmileProbeOneWayResult { + + class LastmileProbeOneWayResult { int packetLossRate; int jitter; @@ -68,14 +70,15 @@ _$LastmileProbeOneWayResultFromJson(json); Map<String, dynamic> toJson() => _$LastmileProbeOneWayResultToJson(this); -}

          +} +

          - struct LastmileProbeOneWayResult { + struct LastmileProbeOneWayResult { unsigned int packetLossRate; unsigned int jitter; unsigned int availableBandwidth; }; - public class LastmileProbeOneWayResult + public class LastmileProbeOneWayResult { public LastmileProbeOneWayResult() { @@ -91,23 +94,26 @@ public uint packetLossRate { set; get; } public uint jitter { set; get; } public uint availableBandwidth { set; get; } - }

          + } +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - packetLossRate - The packet loss rate (%). - - - jitter - The network jitter (ms). - - - availableBandwidth - The estimated available bandwidth (bps). - -
          + + packetLossRate + The packet loss rate (%). + + + jitter + The network jitter (ms). + + + availableBandwidth + The estimated available bandwidth (bps). + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_lastmileproberesult.dita b/en-US/dita/RTC/API/class_lastmileproberesult.dita index ef9feb9f0d7..699b980b557 100644 --- a/en-US/dita/RTC/API/class_lastmileproberesult.dita +++ b/en-US/dita/RTC/API/class_lastmileproberesult.dita @@ -1,12 +1,13 @@ - <ph keyref="LastmileProbeResult" /> - Results of the uplink and downlink last-mile network tests. + <ph keyref="LastmileProbeResult"/> + Results of the uplink and downlink last-mile network + tests.

          - struct LastmileProbeResult { + struct LastmileProbeResult { LASTMILE_PROBE_RESULT_STATE state; LastmileProbeOneWayResult uplinkReport; LastmileProbeOneWayResult downlinkReport; @@ -15,7 +16,7 @@ LastmileProbeResult() : state(LASTMILE_PROBE_RESULT_UNAVAILABLE), rtt(0) {} }; - public class LastmileProbeResult + public class LastmileProbeResult { public LastmileProbeResult() { @@ -36,9 +37,10 @@ public LastmileProbeOneWayResult downlinkReport { set; get; } public uint rtt { set; get; } - }

          + } +

          - public static class LastmileProbeResult { + public static class LastmileProbeResult { public static class LastmileProbeOneWayResult { public int packetLossRate; @@ -51,21 +53,21 @@ public LastmileProbeOneWayResult uplinkReport = new LastmileProbeOneWayResult(); public LastmileProbeOneWayResult downlinkReport = new LastmileProbeOneWayResult(); } - __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject + __attribute__((visibility("default"))) @interface AgoraLastmileProbeResult : NSObject @property (assign, nonatomic) AgoraLastmileProbeResultState state; @property (assign, nonatomic) NSUInteger rtt; @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull uplinkReport; @property (strong, nonatomic) AgoraLastmileProbeOneWayResult *_Nonnull downlinkReport; @end - export interface LastmileProbeResult { + export interface LastmileProbeResult { state: LASTMILE_PROBE_RESULT_STATE; uplinkReport: LastmileProbeOneWayResult; downlinkReport: LastmileProbeOneWayResult; rtt: number; } - - class LastmileProbeResult { + + class LastmileProbeResult { LastmileProbeResultState state; int rtt; @@ -83,15 +85,16 @@ _$LastmileProbeResultFromJson(json); Map<String, dynamic> toJson() => _$LastmileProbeResultToJson(this); -}

          +} +

          - struct LastmileProbeResult { + struct LastmileProbeResult { LASTMILE_PROBE_RESULT_STATE state; LastmileProbeOneWayResult uplinkReport; LastmileProbeOneWayResult downlinkReport; unsigned int rtt; }; - public class LastmileProbeResult + public class LastmileProbeResult { public LastmileProbeResult() { @@ -110,36 +113,48 @@ public LastmileProbeOneWayResult uplinkReport { set; get; } public LastmileProbeOneWayResult downlinkReport { set; get; } public uint rtt { set; get; } - }

          + } +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - state - -

          The status of the last-mile network tests. See .

          -

          The status of the last-mile network tests, which includes: - -

            -
          • (1): The last-mile network probe test is complete.
          • -
          • (2): The last-mile network probe test is incomplete because the bandwidth estimation is not available, probably due to limited test resources.
          • -
          • (3): The last-mile network probe test is not carried out, probably due to poor network conditions.
          • -

          -
          -
          - - uplinkReport - Results of the uplink last-mile network test. For details, see . - - - downlinkReport - Results of the downlink last-mile network test. For details, see . - - - rtt - The round-trip time (ms). - -
          + + state + +

          The status of the last-mile network tests. See + .

          +

          The status of the last-mile network tests, which + includes:

            +
          • (1): The last-mile + network probe test is complete.
          • +
          • (2): The + last-mile network probe test is incomplete because the bandwidth + estimation is not available, probably due to limited test + resources.
          • +
          • (3): The + last-mile network probe test is not carried out, probably due to + poor network conditions.
          • +
          +

          +
          +
          + + uplinkReport + Results of the uplink last-mile network test. For details, see . + + + downlinkReport + Results of the downlink last-mile network test. For details, see . + + + rtt + The round-trip time (ms). + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_leavechanneloptions.dita b/en-US/dita/RTC/API/class_leavechanneloptions.dita index c225fd8d4e5..3534e011450 100644 --- a/en-US/dita/RTC/API/class_leavechanneloptions.dita +++ b/en-US/dita/RTC/API/class_leavechanneloptions.dita @@ -1,65 +1,75 @@ - <ph keyref="LeaveChannelOptions" /> + <ph keyref="LeaveChannelOptions"/> The options for leaving a channel.

          - public class LeaveChannelOptions { + public class LeaveChannelOptions { public boolean stopAudioMixing; public boolean stopAllEffect; public boolean stopMicrophoneRecording; } - __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject + __attribute__((visibility("default"))) @interface AgoraLeaveChannelOptions : NSObject @property(nonatomic, assign) BOOL stopAudioMixing; @property(nonatomic, assign) BOOL stopAllEffect; @property(nonatomic, assign) BOOL stopMicrophoneRecording; @end - struct LeaveChannelOptions { + struct LeaveChannelOptions { bool stopAudioMixing; bool stopAllEffect; bool stopMicrophoneRecording; LeaveChannelOptions() : stopAudioMixing(true), stopAllEffect(true), stopMicrophoneRecording(true) {} }; - - public class LeaveChannelOptions { + + public class LeaveChannelOptions { public bool stopAudioMixing { set; get; } public bool stopAllEffect { set; get; } public bool stopMicrophoneRecording { set; get; } }; - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - stopAudioMixing - Whether to stop playing and mixing the music file when a user leaves the channel. -
            -
          • : (Default) Stop playing and mixing the music file.
          • -
          • : Do not stop playing and mixing the music file.
          • -
          -
          - - stopAllEffect - Whether to stop playing all audio effects when a user leaves the channel. -
            -
          • : (Default) Stop playing all audio effects.
          • -
          • : Do not stop playing any audio effect.
          • -
          -
          - - stopMicrophoneRecording - Whether to stop microphone recording when a user leaves the channel. -
            -
          • : (Default) Stop microphone recording.
          • -
          • : Do not stop microphone recording.
          • -
          -
          -
          + + stopAudioMixing + Whether to stop playing and mixing the music file when a user leaves the + channel.
            +
          • : (Default) Stop playing and + mixing the music file.
          • +
          • : Do not stop playing and + mixing the music file.
          • +
          +
          +
          + + stopAllEffect + Whether to stop playing all audio effects when a user leaves the channel. +
            +
          • : (Default) Stop playing all + audio effects.
          • +
          • : Do not stop playing any audio + effect.
          • +
          +
          + + stopMicrophoneRecording + Whether to stop microphone recording when a user leaves the channel.
            +
          • : (Default) Stop microphone + recording.
          • +
          • : Do not stop microphone + recording.
          • +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_livestreamadvancedfeature.dita b/en-US/dita/RTC/API/class_livestreamadvancedfeature.dita index 3faf495ba2e..57d34e97bf5 100644 --- a/en-US/dita/RTC/API/class_livestreamadvancedfeature.dita +++ b/en-US/dita/RTC/API/class_livestreamadvancedfeature.dita @@ -1,43 +1,49 @@ - <ph keyref="LiveStreamAdvancedFeature" /> - The configuration for advanced features of the RTMP or RTMPS streaming with transcoding. + <ph keyref="LiveStreamAdvancedFeature"/> + The configuration for advanced features of the RTMP or + RTMPS streaming with transcoding.

          - - __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject + + __attribute__((visibility("default"))) @interface AgoraLiveStreamAdvancedFeature : NSObject @property(copy, nonatomic) NSString* _Nullable featureName; @property(assign, nonatomic) BOOL opened; @end - + struct LiveStreamAdvancedFeature { LiveStreamAdvancedFeature() : featureName(NULL), opened(false) {} LiveStreamAdvancedFeature(const char* feat_name, bool open) : featureName(feat_name), opened(open) {} const char* featureName; bool opened; -} ;

          +} ; +

          -

          If you want to enable the advanced features of streaming with transcoding, contact .

          +

          If you want to enable the advanced features of streaming with transcoding, contact + .

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - featureName - The feature names, including LBHQ (high-quality video with a lower bitrate) and VEO (optimized video encoder). - - - opened - Whether to enable the advanced features of streaming with transcoding: -
            -
          • : Enable the advanced features.
          • -
          • : (Default) Do not enable the advanced features.
          • -
          -
          + + featureName + The feature names, including LBHQ (high-quality video with a lower bitrate) + and VEO (optimized video encoder). + + + opened + Whether to enable the advanced features of streaming with transcoding:
            +
          • : Enable the advanced + features.
          • +
          • : (Default) Do not enable the + advanced features.
          • +
          +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_livetranscoding.dita b/en-US/dita/RTC/API/class_livetranscoding.dita index 9950f33e672..1f8345c205a 100644 --- a/en-US/dita/RTC/API/class_livetranscoding.dita +++ b/en-US/dita/RTC/API/class_livetranscoding.dita @@ -1,12 +1,15 @@ - <ph keyref="LiveTranscoding" /> - Transcoding configurations for Media Push. + + <ph keyref="LiveTranscoding"/> + + Transcoding configurations for Media + Push.

          - public class LiveTranscoding { + public class LiveTranscoding { public enum AudioSampleRateType { TYPE_32000(32000), TYPE_44100(44100), @@ -229,7 +232,7 @@ this.backgroundColor = (red << 16) | (green << 8) | (blue << 0); } } - __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveTranscoding : NSObject @property(assign, nonatomic) CGSize size; @property(assign, nonatomic) NSInteger videoBitrate; @@ -255,7 +258,7 @@ - (void)setAdvancedFeatures:(NSString* _Nonnull)featureName opened:(BOOL)opened; - (NSArray<AgoraLiveStreamAdvancedFeature*>* _Nullable)getAdvancedFeatures; @end - struct LiveTranscoding { + struct LiveTranscoding { int width; int height; int videoBitrate; @@ -281,7 +284,7 @@ unsigned int advancedFeatureCount; LiveTranscoding() : width(360), height(640), videoBitrate(400), videoFramerate(15), lowLatency(false), videoGop(30), videoCodecProfile(VIDEO_CODEC_PROFILE_HIGH), backgroundColor(0x000000), videoCodecType(VIDEO_CODEC_H264_FOR_STREAM), userCount(0), transcodingUsers(NULL), transcodingExtraInfo(NULL), metadata(NULL), watermark(NULL), watermarkCount(0), backgroundImage(NULL), backgroundImageCount(0), audioSampleRate(AUDIO_SAMPLE_RATE_48000), audioBitrate(48), audioChannels(1), audioCodecProfile(AUDIO_CODEC_PROFILE_LC_AAC), advancedFeatures(NULL), advancedFeatureCount(0) {} }; - public class LiveTranscoding + public class LiveTranscoding { public LiveTranscoding() { @@ -305,9 +308,10 @@ audioBitrate = 48; audioChannels = 1; audioCodecProfile = AUDIO_CODEC_PROFILE_TYPE.AUDIO_CODEC_PROFILE_LC_AAC; - }

          + } +

          - struct LiveTranscoding { + struct LiveTranscoding { int width; int height; int videoBitrate; @@ -333,7 +337,7 @@ unsigned int advancedFeatureCount; LiveTranscoding() : width(360), height(640), videoBitrate(400), videoFramerate(15), lowLatency(false), videoGop(30), videoCodecProfile(VIDEO_CODEC_PROFILE_HIGH), backgroundColor(0x000000), videoCodecType(VIDEO_CODEC_H264_FOR_STREAM), userCount(0), transcodingUsers(NULL), transcodingExtraInfo(NULL), metadata(NULL), watermark(NULL), watermarkCount(0), backgroundImage(NULL), backgroundImageCount(0), audioSampleRate(AUDIO_SAMPLE_RATE_48000), audioBitrate(48), audioChannels(1), audioCodecProfile(AUDIO_CODEC_PROFILE_LC_AAC), advancedFeatures(NULL), advancedFeatureCount(0) {} }; LiveTranscoding; - public class LiveTranscoding + public class LiveTranscoding { public LiveTranscoding() { @@ -417,7 +421,7 @@ public LiveStreamAdvancedFeature[] advancedFeatures { set; get; } public uint advancedFeatureCount { set; get; } } - export interface LiveTranscoding { + export interface LiveTranscoding { width: number; height: number; videoBitrate: number; @@ -438,7 +442,7 @@ backgroundImage: RtcImage; transcodingUsers: Array<TranscodingUser> } - class LiveTranscoding { + class LiveTranscoding { @JsonKey(includeIfNull: false) int? width; @@ -516,263 +520,344 @@ _$LiveTranscodingFromJson(json); Map<String, dynamic> toJson() => _$LiveTranscodingToJson(this); - }

          + } +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - -

          The width of the video in pixels. The default value is 360.

          -
            -
          • When pushing video streams to the CDN, the value range of width is [64,1920]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1920, Agora server automatically adjusts it to 1920.
          • -
          • When pushing audio streams to the CDN, set width and height as 0.
          • -
          -
          - - height - -

          The height of the video in pixels. The default value is 640.

          -
            -
          • When pushing video streams to the CDN, the value range of height is [64,1080]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1080, Agora server automatically adjusts it to 1080.
          • -
          • When pushing audio streams to the CDN, set width and height as 0.
          • -
          -
          - - size - -

          The size of the video (width and height in pixels).

          -
            -
          • When pushing video streams to the CDN, note the following: + + width + +

            The width of the video in pixels. The default value is 360.

              -
            • The value range of the width is [64,1920]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1920, Agora server automatically adjusts it to 1920.
            • -
            • The value range of the height is [64,1080]. If the value is less than 64, Agora server automatically adjusts it to 64; if the value is greater than 1080, Agora server automatically adjusts it to 1080.
            • -
          • -
          • When pushing audio streams to the CDN, set the width and height as 0.
          • -
          -
          - - videoBitrate - -

          Bitrate of the output video stream for Media Push in Kbps. The default value is 400 Kbps.

          -

          Set this parameter according to the Video profile table. If you set a bitrate beyond the proper range, the SDK automatically adapts it to a value within the range.

          -

          You can refer to Media Pushfor how to set this parameter.

          -
          -
          - - videoFrameRate - videoFramerate - -

          Frame rate (in fps) of the output video stream set for Media Push. The default value is 15 , and the value range is (0,30].

          - The Agora server adjusts any value over 30 to 30.
          -
          - - lowLatency - -
          - -
          Deprecated
          -
          This parameter is deprecated.
          -
          -
          -

          Latency mode:

          -
            -
          • : Low latency with unassured quality.
          • -
          • : (Default) High latency with assured quality.
          • -
          -
          - - videoGop - GOP (Group of Pictures) in fps of the video frames for Media Push. The default value is 30. - - - videoCodecProfile - -

          Video codec profile type for Media Push. Set it as 66, 77, or 100 (default). See for details.

          - If you set this parameter to any other value, Agora adjusts it to the default value.
          -
          - - videoCodecType - Video codec profile types for Media Push. See for details. - - - transcodingUsers - -

          Manages the user layout configuration in the CDN live streaming. Agora supports a maximum of 17 transcoding users in a Media Push channel. See for details.

          -
          -
          - - transcodingExtraInfo - -

          Reserved property. Extra user-defined information to send SEI for the H.264/H.265 video stream to the CDN live client. Maximum length: 4096 bytes. For more information on SEI, see SEI-related questions.

          -
          -
          - - backgroundColor - -

          The background color in RGB hex.

          -

          The color of the custom background image. The format is a hexadecimal integer defined by RGB, without the # sign, such as 0xFFB6C1 for light pink. The default value is 0x000000(black).

          -

          COLOR_CLASS is a general name for the type: -

            -
          • iOS: UIColor
          • -
          • macOS: NSColor
          • -

          -
          -
          - - backgroundColor - -
          - -
          Deprecated
          -
          This parameter is deprecated. Use instead.
          -
          -
          -
          - -

          The background color in RGB hex value. Value only. Do not include a preceeding #. For example, 0xFFB6C1 (light pink). The default value is 0x000000 (black).

          -
          -
          - - userCount - The number of users in the interactive live streaming. The value range is [0,17]. - - - userCount - -
          - -
          Deprecated
          -
          This parameter is deprecated. Use instead.
          -
          -
          -

          The number of users in the interactive live streaming. The value range is [0,17].

          -
          -
          - - metadata - -
          - -
          Deprecated
          -
          This parameter is deprecated.
          -
          -
          -

          The metadata sent to the CDN client.

          -
          -
          - - backgroundImage - The number of background images on the live video. See for details. You can add a background image or use an array to add multiple background images. This parameter is used with backgroundImageCount. - -

          Deprecated as of v3.6.0. Use backgroundImageArray instead.

          -

          The number of background images on the live video. The image format needs to be PNG. See for details.

          -
          - -

          Deprecated as of v3.6.0. Use backgroundImageList instead.

          -

          The number of background images on the live video. Watermark images must be in the PNG format. See for details.

          -
          -
          - - watermark - -
          - -
          Deprecated
          -
          Please use instead.
          -
          Use watermarkArray.
          -
          -
          -

          The watermark on the live video. Watermark images must be in the PNG format. See for details.

          -
          -
          - - watermark - -

          The watermark on the live video. Watermark images must be in the PNG format. See for details.

          -

          You can add one watermark, or add multiple watermarks using an array. This parameter is used with watermarkCount.

          -
          -
          - - backgroundImageArray - The number of background images on the live video. The image format needs to be PNG. See for details. - - - audioSampleRate - -

          Self-defined audio sample rate. See for details.

          -
          -
          - - audioBitrate - -

          Bitrate (Kbps) of the audio output stream for Media Push. The default value is 48, and the highest value is 128.

          -
          -
          - - audioChannels - -

          The number of audio channels for Media Push. Agora recommends choosing 1 (mono), or 2 (stereo) audio channels. Special players are required if you choose 3, 4, or 5.

          -
            -
          • 1: (Default) Mono
          • -
          • 2: Stereo.
          • -
          • 3: Three audio channels.
          • -
          • 4: Four audio channels.
          • -
          • 5: Five audio channels.
          • -
          -
          - - audioCodecProfile - -

          Audio codec profile type for Media Push. See for details.

          -
          -
          - - watermarkArray - -

          The array of watermarks on the live video. See for details.

          -

          You can add one or more watermarks using watermarkArray. The image format needs to be PNG. The total number of watermarks and background images on a live video must be greater than or equal to 0 and less than or equal to 10.

          -
          -
          - - watermarkCount - -

          The array of watermarks on the live video. See for details.

          -

          The total number of watermarks and background images can range from 0 to 10. This parameter is used with watermark.

          -
          -
          - - backgroundArray - The number of background images of the output media stream. -
            -
          • If you do not add a background image or add only one background image, this parameter is optional.
          • -
          • If you add more than one background images, ensure that you set this parameter.
          • -
          -
          - - backgroundImageCount - -

          The number of background images on the live video.

          -

          The total number of watermarks and background images can range from 0 to 10. This parameter is used with backgroundImage.

          -
          -
          - - userConfigExtraInfo - Reserved for future use. Extra user-defined information to send the Supplemental Enhancement Information (SEI) for the H.264/H.265 video stream to the CDN live client. Maximum length: 4096 Bytes. - - - userConfigExtraInfo - Reserved property. Extra user-defined information to send the Supplemental Enhancement Information (SEI) for the H.264/H.265 video stream to the CDN live client. Maximum length: 4096 Bytes. - - - advancedFeatures - Advanced features of the Media Push with transcoding. - - - advancedFeatureCount - The number of enabled advanced features. The default value is 0. - -
          +
        1416. When pushing video streams to the CDN, the value range of + width is [64,1920]. If the value is less than + 64, Agora server automatically adjusts it to 64; if the value is + greater than 1920, Agora server automatically adjusts it to + 1920.
        1417. +
        1418. When pushing audio streams to the CDN, set width + and height as 0.
        1419. + + + + + height + +

          The height of the video in pixels. The default value is 640.

          +
            +
          • When pushing video streams to the CDN, the value range of + height is [64,1080]. If the value is less than + 64, Agora server automatically adjusts it to 64; if the value is + greater than 1080, Agora server automatically adjusts it to + 1080.
          • +
          • When pushing audio streams to the CDN, set width + and height as 0.
          • +
          +
          +
          + + size + +

          The size of the video (width and height in pixels).

          +
            +
          • When pushing video streams to the CDN, note the following:
              +
            • The value range of the width is [64,1920]. If the value is + less than 64, Agora server automatically adjusts it to 64; + if the value is greater than 1920, Agora server + automatically adjusts it to 1920.
            • +
            • The value range of the height is [64,1080]. If the value is + less than 64, Agora server automatically adjusts it to 64; + if the value is greater than 1080, Agora server + automatically adjusts it to 1080.
            • +
          • +
          • When pushing audio streams to the CDN, set the width and height as + 0.
          • +
          +
          +
          + + videoBitrate + +

          Bitrate of the output video stream for Media Push in Kbps. The default + value is 400 Kbps.

          +

          Set this parameter according to the Video profile table. If you set + a bitrate beyond the proper range, the SDK automatically adapts it to a + value within the range.

          +

          You can refer to Media + Pushfor how to set this parameter.

          +
          +
          + + videoFrameRate + videoFramerate + +

          Frame rate (in fps) of the output video stream set for Media Push. The + default value is 15 , and the value range is (0,30].

          + The Agora server adjusts any value over 30 to + 30.
          +
          + + lowLatency + +
          + +
          Deprecated
          +
          This parameter is deprecated.
          +
          +
          +

          Latency mode:

          +
            +
          • : Low latency with unassured + quality.
          • +
          • : (Default) High latency with + assured quality.
          • +
          +
          + + videoGop + GOP (Group of Pictures) in fps of the video frames for Media Push. The + default value is 30. + + + videoCodecProfile + +

          Video codec profile type for Media Push. Set it as 66, 77, or 100 + (default). See for + details.

          + If you set this parameter to any other value, Agora + adjusts it to the default value.
          +
          + + videoCodecType + Video codec profile types for Media Push. See for details. + + + transcodingUsers + +

          Manages the user layout configuration in the CDN live streaming. Agora + supports a maximum of 17 transcoding users in a Media Push channel. See + for details.

          +
          +
          + + transcodingExtraInfo + +

          Reserved property. Extra user-defined information to send SEI for the + H.264/H.265 video stream to the CDN live client. Maximum length: 4096 + bytes. For more information on SEI, see SEI-related questions.

          +
          +
          + + backgroundColor + +

          The background color in RGB hex.

          +

          The color of the custom background image. The format is a hexadecimal + integer defined by RGB, without the # sign, such as 0xFFB6C1 for light + pink. The default value is 0x000000(black).

          +

          COLOR_CLASS is a general name for the type:

            +
          • iOS: UIColor
          • +
          • macOS: NSColor
          • +

          +
          +
          + + backgroundColor + +
          + +
          Deprecated
          +
          This parameter is deprecated. Use instead.
          +
          +
          +
          + +

          The background color in RGB hex value. Value only. Do not include a + preceeding #. For example, 0xFFB6C1 (light pink). The default value is + 0x000000 (black).

          +
          +
          + + userCount + The number of users in the interactive live streaming. The value range is + [0,17]. + + + userCount + +
          + +
          Deprecated
          +
          This parameter is deprecated. Use + instead.
          +
          +
          +

          The number of users in the interactive live streaming. The value range is + [0,17].

          +
          +
          + + metadata + +
          + +
          Deprecated
          +
          This parameter is deprecated.
          +
          +
          +

          The metadata sent to the CDN client.

          +
          +
          + + backgroundImage + The number of background images on the live video. See for details. You can add a background image or use + an array to add multiple background images. This parameter is used with + backgroundImageCount. + +

          Deprecated as of v3.6.0. Use backgroundImageArray + instead.

          +

          The number of background images on the live video. The image format needs + to be PNG. See for details.

          +
          + +

          Deprecated as of v3.6.0. Use backgroundImageList + instead.

          +

          The number of background images on the live video. Watermark images must + be in the PNG format. See for details.

          +
          +
          + + watermark + +
          + +
          Deprecated
          +
          Please use + instead.
          +
          Use watermarkArray.
          +
          +
          +

          The watermark on the live video. Watermark images must be in the PNG + format. See for details.

          +
          +
          + + watermark + +

          The watermark on the live video. Watermark images must be in the PNG + format. See for details.

          +

          You can add one watermark, or add multiple watermarks using an array. + This parameter is used with watermarkCount.

          +
          +
          + + backgroundImageArray + The number of background images on the live video. The image format needs to + be PNG. See for details. + + + audioSampleRate + +

          Self-defined audio sample rate. See for details.

          +
          +
          + + audioBitrate + +

          Bitrate (Kbps) of the audio output stream for Media Push. The default + value is 48, and the highest value is 128.

          +
          +
          + + audioChannels + +

          The number of audio channels for Media Push. Agora recommends choosing 1 + (mono), or 2 (stereo) audio channels. Special players are required if + you choose 3, 4, or 5.

          +
            +
          • 1: (Default) Mono
          • +
          • 2: Stereo.
          • +
          • 3: Three audio channels.
          • +
          • 4: Four audio channels.
          • +
          • 5: Five audio channels.
          • +
          +
          +
          + + audioCodecProfile + +

          Audio codec profile type for Media Push. See for details.

          +
          +
          + + watermarkArray + +

          The array of watermarks on the live video. See + for details.

          +

          You can add one or more watermarks using + watermarkArray. The image format needs to be + PNG. The total number of watermarks and background images on a live + video must be greater than or equal to 0 and less than or equal to + 10.

          +
          +
          + + watermarkCount + +

          The array of watermarks on the live video. See + for details.

          +

          The total number of watermarks and background images can range from 0 to + 10. This parameter is used with watermark.

          +
          +
          + + backgroundArray + The number of background images of the output media stream.
            +
          • If you do not add a background image or add only one background + image, this parameter is optional.
          • +
          • If you add more than one background images, ensure that you set this + parameter.
          • +
          +
          +
          + + backgroundImageCount + +

          The number of background images on the live video.

          +

          The total number of watermarks and background images can range from 0 to + 10. This parameter is used with + backgroundImage.

          +
          +
          + + userConfigExtraInfo + Reserved for future use. Extra user-defined information to send the + Supplemental Enhancement Information (SEI) for the H.264/H.265 video stream + to the CDN live client. Maximum length: 4096 Bytes. + + + userConfigExtraInfo + Reserved property. Extra user-defined information to send the Supplemental + Enhancement Information (SEI) for the H.264/H.265 video stream to the CDN + live client. Maximum length: 4096 Bytes. + + + advancedFeatures + Advanced features of the Media Push with transcoding. + + + advancedFeatureCount + The number of enabled advanced features. The default value is 0. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_localaudiostats.dita b/en-US/dita/RTC/API/class_localaudiostats.dita index 4024a1ae177..8716ca2ebf9 100644 --- a/en-US/dita/RTC/API/class_localaudiostats.dita +++ b/en-US/dita/RTC/API/class_localaudiostats.dita @@ -1,19 +1,19 @@ - <ph keyref="LocalAudioStats" /> + <ph keyref="LocalAudioStats"/> Local audio statistics.

          - public static class LocalAudioStats { + public static class LocalAudioStats { public int numChannels; public int sentSampleRate; public int sentBitrate; public int internalCodec; public int txPacketLossRate; }; - __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject @property(assign, nonatomic) NSUInteger numChannels; @property(assign, nonatomic) NSUInteger sentSampleRate; @property(assign, nonatomic) NSUInteger sentBitrate; @@ -21,7 +21,7 @@ @property(assign, nonatomic) NSUInteger txPacketLossRate; @end - struct LocalAudioStats + struct LocalAudioStats { int numChannels; int sentSampleRate; @@ -29,7 +29,7 @@ int internalCodec; unsigned short txPacketLossRate; }; - public class LocalAudioStats + public class LocalAudioStats { public LocalAudioStats() { @@ -49,27 +49,28 @@ public int sentBitrate { set; get; } public int internalCodec { set; get; } - }

          + } +

          - public static class LocalAudioStats { + public static class LocalAudioStats { public int numChannels; public int sentSampleRate; public int sentBitrate; public int txPacketLossRate; } - __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalAudioStats : NSObject @property(assign, nonatomic) NSUInteger numChannels; @property(assign, nonatomic) NSUInteger sentSampleRate; @property(assign, nonatomic) NSUInteger sentBitrate; @property(assign, nonatomic) NSUInteger txPacketLossRate; @end - struct LocalAudioStats { + struct LocalAudioStats { int numChannels; int sentSampleRate; int sentBitrate; unsigned short txPacketLossRate; }; - public class LocalAudioStats + public class LocalAudioStats { public LocalAudioStats() { @@ -88,14 +89,14 @@ public int sentBitrate { set; get; } public ushort txPacketLossRate { set; get; } } - export interface LocalAudioStats { + export interface LocalAudioStats { numChannels: number; sentSampleRate: number; sentBitrate: number; txPacketLossRate: number; } - - class LocalAudioStats { + + class LocalAudioStats { int numChannels; int sentSampleRate; @@ -113,31 +114,35 @@ _$LocalAudioStatsFromJson(json); Map<String, dynamic> toJson() => _$LocalAudioStatsToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - numChannels - The number of audio channels. - - - sentSampleRate - The sampling rate (Hz) of sending the local user's audio stream. - - - sentBitrate - The average bitrate (Kbps) of sending the local user's audio stream. - - - txPacketLossRate - The packet loss rate (%) from the local client to the Agora server before applying the anti-packet loss strategies. - - - internalCodec - The internal payload codec. - -
          + + numChannels + The number of audio channels. + + + sentSampleRate + The sampling rate (Hz) of sending the local user's audio stream. + + + sentBitrate + The average bitrate (Kbps) of sending the local user's audio stream. + + + txPacketLossRate + The packet loss rate (%) from the local client to the Agora server before + applying the anti-packet loss strategies. + + + internalCodec + The internal payload codec. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_localspatialaudioconfig.dita b/en-US/dita/RTC/API/class_localspatialaudioconfig.dita index f8229dfd86b..3988b0005b7 100644 --- a/en-US/dita/RTC/API/class_localspatialaudioconfig.dita +++ b/en-US/dita/RTC/API/class_localspatialaudioconfig.dita @@ -1,38 +1,42 @@ - <ph keyref="LocalSpatialAudioConfig" /> - The configuration of . + <ph keyref="LocalSpatialAudioConfig"/> + The configuration of .

          - public class LocalSpatialAudioConfig { + public class LocalSpatialAudioConfig { public RtcEngine mRtcEngine; public LocalSpatialAudioConfig() { mRtcEngine = null; } } - __attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioConfig : NSObject + __attribute__((visibility("default"))) @interface AgoraLocalSpatialAudioConfig : NSObject @property(assign, nonatomic) AgoraRtcEngineKit* _Nullable rtcEngine; @end - struct LocalSpatialAudioConfig { + struct LocalSpatialAudioConfig { agora::rtc::IRtcEngine* rtcEngine; LocalSpatialAudioConfig() : rtcEngine(NULL) {} }; - - - -

          + + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - rtcEngine - mRtcEngine - . - -
          + + rtcEngine + mRtcEngine + . + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_localtranscoderconfiguration.dita b/en-US/dita/RTC/API/class_localtranscoderconfiguration.dita index acc58ddce02..3afee38bb97 100644 --- a/en-US/dita/RTC/API/class_localtranscoderconfiguration.dita +++ b/en-US/dita/RTC/API/class_localtranscoderconfiguration.dita @@ -1,18 +1,19 @@ - <ph keyref="LocalTranscoderConfiguration" /> - The configuration of the video mixing on the local client. + <ph keyref="LocalTranscoderConfiguration"/> + The configuration of the video mixing on the local + client.

          - - __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject + + __attribute__((visibility("default"))) @interface AgoraLocalTranscoderConfiguration: NSObject @property(copy, nonatomic) NSArray<AgoraTranscodingVideoStream *> *_Nullable videoInputStreams; @property (strong, nonatomic) AgoraVideoEncoderConfiguration *_Nonnull videoOutputConfiguration; @end - struct LocalTranscoderConfiguration { + struct LocalTranscoderConfiguration { unsigned int streamCount; TranscodingVideoStream* VideoInputStreams; VideoEncoderConfiguration videoOutputConfiguration; @@ -22,8 +23,8 @@ videoOutputConfiguration() {} }; - - public class LocalTranscoderConfiguration { + + public class LocalTranscoderConfiguration { public LocalTranscoderConfiguration(uint streamCount, TranscodingVideoStream[] VideoInputStreams, VideoEncoderConfiguration videoOutputConfiguration) { @@ -35,30 +36,37 @@ public TranscodingVideoStream[] VideoInputStreams { set; get; } public VideoEncoderConfiguration videoOutputConfiguration { set; get; } } - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - streamCount - -

          The number of the video streams for the video mixing on the local client.

          -
          -
          - - VideoInputStreams - -

          The video streams for the video mixing on the local client. See .

          -
          -
          - - videoOutputConfiguration - -

          The encoding configuration of the mixed video stream after the video mixing on the local client. See .

          -
          -
          -
          + + streamCount + +

          The number of the video streams for the video mixing on the local + client.

          +
          +
          + + VideoInputStreams + +

          The video streams for the video mixing on the local client. See .

          +
          +
          + + videoOutputConfiguration + +

          The encoding configuration of the mixed video stream after the video + mixing on the local client. See .

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_localvideostats.dita b/en-US/dita/RTC/API/class_localvideostats.dita index 64e0f8eafc5..8dc9c39ad53 100644 --- a/en-US/dita/RTC/API/class_localvideostats.dita +++ b/en-US/dita/RTC/API/class_localvideostats.dita @@ -1,12 +1,13 @@ - <ph keyref="LocalVideoStats" /> - The statistics of the local video stream. + <ph keyref="LocalVideoStats"/> + The statistics of the local video + stream.

          - public static class LocalVideoStats { + public static class LocalVideoStats { public int uid; public int sentBitrate; public int sentFrameRate; @@ -22,7 +23,7 @@ public int codecType; public int txPacketLossRate; } - __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject @property(assign, nonatomic) NSUInteger sentBitrate; @property(assign, nonatomic) NSUInteger sentFrameRate; @property(assign, nonatomic) NSUInteger uid; @@ -38,7 +39,7 @@ @property(assign, nonatomic) AgoraVideoCodecType codecType; @property(assign, nonatomic) NSInteger txPacketLossRate; @end - struct LocalVideoStats + struct LocalVideoStats { uid_t uid; int sentBitrate; @@ -55,7 +56,7 @@ VIDEO_CODEC_TYPE codecType; unsigned short txPacketLossRate; }; - public class LocalVideoStats + public class LocalVideoStats { public LocalVideoStats() { @@ -105,9 +106,10 @@ public int encodedFrameCount { set; get; } public VIDEO_CODEC_TYPE codecType { set; get; } - }

          + } +

          - public static class LocalVideoStats { + public static class LocalVideoStats { public int sentBitrate; public int sentFrameRate; public int encoderOutputFrameRate; @@ -124,7 +126,7 @@ public int captureFrameRate; public int captureBrightnessLevel; } - __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcLocalVideoStats : NSObject @property(assign, nonatomic) NSUInteger sentBitrate; @property(assign, nonatomic) NSUInteger sentFrameRate; @property(assign, nonatomic) NSUInteger encoderOutputFrameRate; @@ -141,7 +143,7 @@ @property(assign, nonatomic) NSInteger captureFrameRate; @property(assign, nonatomic) AgoraCaptureBrightnessLevelType captureBrightnessLevel; @end - struct LocalVideoStats { + struct LocalVideoStats { int sentBitrate; int sentFrameRate; int encoderOutputFrameRate; @@ -158,7 +160,7 @@ int captureFrameRate; CAPTURE_BRIGHTNESS_LEVEL_TYPE captureBrightnessLevel; }; - public class LocalVideoStats + public class LocalVideoStats { public LocalVideoStats() { @@ -201,7 +203,7 @@ public ushort txPacketLossRate { set; get; } public int captureFrameRate { set; get; } } - export interface LocalVideoStats { + export interface LocalVideoStats { sentBitrate: number; sentFrameRate: number; encoderOutputFrameRate: number; @@ -218,8 +220,8 @@ captureFrameRate: number; captureBrightnessLevel: CAPTURE_BRIGHTNESS_LEVEL_TYPE; } - - class LocalVideoStats { + + class LocalVideoStats { int sentBitrate; int sentFrameRate; @@ -259,110 +261,128 @@ _$LocalVideoStatsFromJson(json); Map<String, dynamic> toJson() => _$LocalVideoStatsToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - The ID of the local user. - - - sentBitrate - -

          The actual bitrate (Kbps) while sending the local video stream. - This value does not include the bitrate for resending the video after packet loss.

          -
          -
          - - sentFrameRate - The actual frame rate (fps) while sending the local video stream. - This value does not include the frame rate for resending the video after packet loss. - - - encoderOutputFrameRate - The output frame rate (fps) of the local video encoder. - - - rendererOutputFrameRate - The output frame rate (fps) of the local video renderer. - - - targetBitrate - The target bitrate (Kbps) of the current encoder. This is an estimate made by the SDK based on the current network conditions. - - - targetFrameRate - The target frame rate (fps) of the current encoder. - - - qualityAdaptIndication - -
          - -
          Since
          -
          v2.4.0
          -
          -
          - Quality adaption of the local video stream in the reported interval (based on the target frame rate and target bitrate). For details, see . -

          -

            -
          • (0): The local video quality stays the same.
          • -
          • (1): The local video quality improves because the network bandwidth increases.
          • -
          • (2): The local video quality deteriorates because the network bandwidth decreases.
          • -

          -
          -
          - - encodedBitrate - -

          The bitrate (Kbps) while encoding the local video stream. - This value does not include the bitrate for resending the video after packet loss.

          -
          -
          - - encodedFrameWidth - The width of the encoded video (px). - - - encodedFrameHeight - The height of the encoded video (px). - - - encodedFrameCount - The number of the sent video frames, represented by an aggregate value. - - - codecType - The codec type of the local video. For details, see . -

          -

            -
          • (1): VP8.
          • -
          • (2): (Default) H.264.
          • -

          -
          -
          - - txPacketLossRate - The video packet loss rate (%) from the local client to the Agora server before applying the anti-packet loss strategies. - - - captureFrameRate - The frame rate (fps) for capturing the local video stream. - - - captureBrightnessLevel - -
          - -
          Since
          -
          v3.3.0
          -
          -
          -

          The brightness level of the video image captured by the local camera. See for details.

          -
          -
          -
          + + uid + The ID of the local user. + + + sentBitrate + +

          The actual bitrate (Kbps) while sending the local video stream. This value does not include the bitrate for + resending the video after packet loss.

          +
          +
          + + sentFrameRate + The actual frame rate (fps) while sending the local video stream. This value does not include the frame rate for + resending the video after packet loss. + + + encoderOutputFrameRate + The output frame rate (fps) of the local video encoder. + + + rendererOutputFrameRate + The output frame rate (fps) of the local video renderer. + + + targetBitrate + The target bitrate (Kbps) of the current encoder. This is an estimate made + by the SDK based on the current network conditions. + + + targetFrameRate + The target frame rate (fps) of the current encoder. + + + qualityAdaptIndication + +
          + +
          Since
          +
          v2.4.0
          +
          +
          + Quality adaption of the local video stream in the reported interval + (based on the target frame rate and target bitrate). For details, see . +

          +

            +
          • (0): The local video quality stays the + same.
          • +
          • (1): The local video quality + improves because the network bandwidth increases.
          • +
          • (2): The local video quality + deteriorates because the network bandwidth decreases.
          • +
          +

          +
          +
          + + encodedBitrate + +

          The bitrate (Kbps) while encoding the local video stream. This value does not include the bitrate for + resending the video after packet loss.

          +
          +
          + + encodedFrameWidth + The width of the encoded video (px). + + + encodedFrameHeight + The height of the encoded video (px). + + + encodedFrameCount + The number of the sent video frames, represented by an aggregate value. + + + codecType + The codec type of the local video. For + details, see . +

          +

            +
          • (1): VP8.
          • +
          • (2): (Default) H.264.
          • +
          +

          +
          +
          + + txPacketLossRate + The video packet loss rate (%) from the local client to the Agora server + before applying the anti-packet loss strategies. + + + captureFrameRate + The frame rate (fps) for capturing the local video stream. + + + captureBrightnessLevel + +
          + +
          Since
          +
          v3.3.0
          +
          +
          +

          The brightness level of the video image captured by the local camera. See + for details.

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_logconfig.dita b/en-US/dita/RTC/API/class_logconfig.dita index 0ddc3543c96..398ed9b2117 100644 --- a/en-US/dita/RTC/API/class_logconfig.dita +++ b/en-US/dita/RTC/API/class_logconfig.dita @@ -6,21 +6,22 @@

          - public static class LogConfig { + public static class LogConfig { public String filePath; public int fileSizeInKB; public int level = Constants.LogLevel.getValue(Constants.LogLevel.LOG_LEVEL_INFO); } - __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraLogConfig: NSObject @property (copy, nonatomic) NSString * _Nullable filePath; @property (assign, nonatomic) NSInteger fileSizeInKB; @property (assign, nonatomic) AgoraLogLevel level; @end -

          + +

          - - - struct LogConfig { + + + struct LogConfig { const char* filePath; int fileSize; LOG_LEVEL level; @@ -30,7 +31,7 @@ ,level(LOG_LEVEL::LOG_LEVEL_INFO) {} }; - public class LogConfig + public class LogConfig { public LogConfig() { @@ -50,13 +51,13 @@ public int fileSize { set; get; } public LOG_LEVEL level { set; get; } }; - export interface LogConfig { + export interface LogConfig { filePath: string, fileSize: number, level: LOG_LEVEL } - - class LogConfig { + + class LogConfig { @JsonKey(includeIfNull: false) String? filePath; @@ -76,58 +77,77 @@ _$LogConfigFromJson(json); Map<String, dynamic> toJson() => _$LogConfigToJson(this); -}

          +} +

          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - filePath - -

          The absolute or relative path of the log file, which ends with \ or /. Ensure that the path for the log file exists and is writable. You can use this parameter to rename the log files.

          -

          The default path is:

            -
          • Android: /storage/emulated/0/Android/data/<package -name>/files/agorasdk.log/.
          • -
          • iOS: App Sandbox/Library/caches/agorasdk.log.
          • -
          • macOS:
              -
            • If Sandbox is enabled: App Sandbox/Library/Logs/agorasdk.log/. For example, /Users/<username>/Library/Containers/<App -Bundle -Identifier>/Data/Library/Logs/agorasdk.log/.
            • -
            • If Sandbox is disabled: ~/Library/Logs/agorasdk.log
            • -
          • -
          • Windows C: \Users\<user_name>\AppData\Local\Agora\<process_name>\agorasdk.log.
          • -

          -

          The default file path is: /storage/emulated/0/Android/data/<package name>/files/agorasdk.log/.

          -

          The default path is App Sandbox/Library/caches/agorasdk.log.

          -

          The default path is:

            -
          • If Sandbox is enabled: App Sandbox/Library/Logs/agorasdk.log/. For example, /Users/<username>/Library/Containers/<App -Bundle -Identifier>/Data/Library/Logs/agorasdk.log/.
          • -
          • If Sandbox is disabled: ~/Library/Logs/agorasdk.log
          • -

          -
          -
          - - fileSize - fileSizeInKB - The size (KB) of a log file. The default value is 2014 KB. If you set fileSize to 1024 KB, the maximum aggregate size of the log files output by the SDK is 5 MB. If you set fileSize to less than 1024 KB, the setting is invalid, and the maximum size of a log file is still 1024 KB. - - - level - The output level of the SDK log file. See . - -
          + + filePath + +

          The absolute or relative path of the log file, which ends with \ or /. + Ensure that the path for the log file exists and is writable. You can + use this parameter to rename the log files.

          +

          The default path is:

            +
          • Android: /storage/emulated/0/Android/data/<package + name>/files/agorasdk.log/.
          • +
          • iOS: App + Sandbox/Library/caches/agorasdk.log.
          • +
          • macOS:
              +
            • If Sandbox is enabled: App + Sandbox/Library/Logs/agorasdk.log/. For + example, + /Users/<username>/Library/Containers/<App + Bundle + Identifier>/Data/Library/Logs/agorasdk.log/.
            • +
            • If Sandbox is disabled: + ~/Library/Logs/agorasdk.log
            • +
          • +
          • Windows C: + \Users\<user_name>\AppData\Local\Agora\<process_name>\agorasdk.log.
          • +

          +

          The default file path is: + /storage/emulated/0/Android/data/<package + name>/files/agorasdk.log/.

          +

          The default path is App + Sandbox/Library/caches/agorasdk.log.

          +

          The default path is:

            +
          • If Sandbox is enabled: App + Sandbox/Library/Logs/agorasdk.log/. For example, + /Users/<username>/Library/Containers/<App + Bundle + Identifier>/Data/Library/Logs/agorasdk.log/.
          • +
          • If Sandbox is disabled: + ~/Library/Logs/agorasdk.log
          • +
          +

          +
          +
          + + fileSize + fileSizeInKB + The size (KB) of a log file. The default value is 2014 KB. If you set + fileSize to 1024 KB, the maximum aggregate size of + the log files output by the SDK is 5 MB. If you set + fileSize to less than 1024 KB, the setting is + invalid, and the maximum size of a log file is still 1024 KB. + + + level + The output level of the SDK log file. See . + + +
          diff --git a/en-US/dita/RTC/API/class_lowlightenhanceoptions.dita b/en-US/dita/RTC/API/class_lowlightenhanceoptions.dita index dc7e4038a73..ea14cbe2367 100644 --- a/en-US/dita/RTC/API/class_lowlightenhanceoptions.dita +++ b/en-US/dita/RTC/API/class_lowlightenhanceoptions.dita @@ -1,19 +1,22 @@ - <ph keyref="LowLightEnhanceOptions" /> + + <ph keyref="LowLightEnhanceOptions"/> + The low-light enhancement options.

          - - -

          + + + +

          - - - - public class LowLightEnhanceOptions + + + + public class LowLightEnhanceOptions { public LowLightEnhanceOptions() { @@ -29,9 +32,9 @@ public LOW_LIGHT_ENHANCE_LEVEL level { set; get; } }; - - - class LowLightEnhanceOptions { + + + class LowLightEnhanceOptions { final LowLightEnhanceMode mode; final LowLightEnhanceLevel level; @@ -44,23 +47,29 @@ _$LowLightEnhanceOptionsFromJson(json); Map<String, dynamic> toJson() => _$LowLightEnhanceOptionsToJson(this); - }

          + }
          +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - level - -

          The low-light enhancement level. For details, see .

          -
          -
          - - mode - -

          The low-light enhancement mode. For details, see .

          -
          -
          -
          + + level + +

          The low-light enhancement level. For details, see .

          +
          +
          + + mode + +

          The low-light enhancement mode. For details, see .

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_mediadeviceinfo.dita b/en-US/dita/RTC/API/class_mediadeviceinfo.dita index f2d9c52de85..60600bef840 100644 --- a/en-US/dita/RTC/API/class_mediadeviceinfo.dita +++ b/en-US/dita/RTC/API/class_mediadeviceinfo.dita @@ -1,18 +1,19 @@ - <ph keyref="MediaDeviceInfo" /> - The MediaDeviceInfo class, which contains the device ID and device name. + <ph keyref="MediaDeviceInfo"/> + The MediaDeviceInfo class, which contains the device ID + and device name.

          - - - - - - - class MediaDeviceInfo { + + + + + + + class MediaDeviceInfo { String deviceId; String deviceName; @@ -26,19 +27,22 @@ _$MediaDeviceInfoFromJson(json); Map<String, dynamic> toJson() => _$MediaDeviceInfoToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - deviceId - The device ID. - - - deviceName - The device name. - -
          + + deviceId + The device ID. + + + deviceName + The device name. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_mediarecorderconfiguration.dita b/en-US/dita/RTC/API/class_mediarecorderconfiguration.dita index 7bf1134f777..b40e4e592dd 100644 --- a/en-US/dita/RTC/API/class_mediarecorderconfiguration.dita +++ b/en-US/dita/RTC/API/class_mediarecorderconfiguration.dita @@ -1,14 +1,15 @@ - <ph keyref="MediaRecorderConfiguration" /> - Configurations for the local audio and video recording. + <ph keyref="MediaRecorderConfiguration"/> + Configurations for the local audio and video + recording.

          - - - struct MediaRecorderConfiguration { + + + struct MediaRecorderConfiguration { const char* storagePath; MediaRecorderContainerFormat containerFormat; MediaRecorderStreamType streamType; @@ -18,16 +19,16 @@ MediaRecorderConfiguration() : storagePath(nullptr), containerFormat(FORMAT_MP4), streamType(STREAM_TYPE_BOTH), maxDurationMs(120000), recorderInfoUpdateInterval(0) {} MediaRecorderConfiguration(const char* path, MediaRecorderContainerFormat format, MediaRecorderStreamType type, int duration, int interval) : storagePath(path), containerFormat(format), streamType(type), maxDurationMs(duration), recorderInfoUpdateInterval(interval) {} }; - - public struct MediaRecorderConfiguration { + + public struct MediaRecorderConfiguration { public string storagePath; public MediaRecorderContainerFormat containerFormat; public MediaRecorderStreamType streamType; public int maxDurationMs; public int recorderInfoUpdateInterval; }; - - class MediaRecorderConfiguration { + + class MediaRecorderConfiguration { final String? storagePath; @@ -52,31 +53,45 @@ _$MediaRecorderConfigurationFromJson(json); Map<String, dynamic> toJson() => _$MediaRecorderConfigurationToJson(this); - }

          + } +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - storagePath - The absolute path (including the filename extensions) of the recording file. For example, C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.mp4 on Windows, /App Sandbox/Library/Caches/example.mp4 on iOS, /Library/Logs/example.mp4 on macOS, and /storage/emulated/0/Android/data/<package name>/files/example.mp4 on Android. - - - containerFormat - The format of the recording file. See . - - - streamType - The recording content. See . - - - maxDurationMs - The maximum recording duration, in milliseconds. The default value is 120,000. - - - recorderInfoUpdateInterval - The interval (ms) of updating the recording information. The value range is [1000,10000]. The SDK triggers the callback to report the updated recording information according to interval you set in this parameter. - -
          + + storagePath + The absolute path (including the filename extensions) of the recording file. + For example, + C:\Users\<user_name>\AppData\Local\Agora\<process_name>\example.mp4 + on Windows, /App Sandbox/Library/Caches/example.mp4 on iOS, + /Library/Logs/example.mp4 on macOS, and + /storage/emulated/0/Android/data/<package + name>/files/example.mp4 on Android. + + + containerFormat + The format of the recording file. See . + + + streamType + The recording content. See . + + + maxDurationMs + The maximum recording duration, in milliseconds. The default value is + 120,000. + + + recorderInfoUpdateInterval + The interval (ms) of updating the recording information. The value range is + [1000,10000]. The SDK triggers the + callback to report the updated recording information according to interval + you set in this parameter. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_metadata.dita b/en-US/dita/RTC/API/class_metadata.dita index 6241a944e9b..fa363721d1f 100644 --- a/en-US/dita/RTC/API/class_metadata.dita +++ b/en-US/dita/RTC/API/class_metadata.dita @@ -1,20 +1,20 @@ - <ph keyref="Metadata" /> + <ph keyref="Metadata"/> Media metadata

          - - - struct Metadata { + + + struct Metadata { unsigned int uid; unsigned int size; unsigned char *buffer; long long timeStampMs; }; - public class Metadata + public class Metadata { public Metadata() { @@ -34,14 +34,14 @@ public byte[] buffer { set; get; } public long timeStampMs { set; get; } }; - export interface Metadata { + export interface Metadata { uid: number; size: number; buffer: string; timeStampMs: number; } - - class Metadata { + + class Metadata { int uid; @JsonKey(ignore: true) @@ -54,33 +54,37 @@ _$MetadataFromJson(json); 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" + /> - - uid - -

          User ID. -

            -
          • For the receiver: The user ID of the user who sent the .
          • -
          • For the sender: Ignore this value.
          • -

          -
          -
          - - size - The buffer size of the sent or received . - - - buffer - The buffer address of the sent or received . - - - timeStampMs - The timestamp (ms) of the . - -
          + + uid + +

          User ID.

            +
          • For the receiver: The user ID of the user who sent the .
          • +
          • For the sender: Ignore this value.
          • +

          +
          +
          + + size + The buffer size of the sent or received . + + + buffer + The buffer address of the sent or received . + + + timeStampMs + The timestamp (ms) of the . + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_packet.dita b/en-US/dita/RTC/API/class_packet.dita index f6cce1a6e81..fe802a102a4 100644 --- a/en-US/dita/RTC/API/class_packet.dita +++ b/en-US/dita/RTC/API/class_packet.dita @@ -1,18 +1,19 @@ - <ph keyref="Packet" /> - Definition of . + <ph keyref="Packet"/> + Definition of .

          - struct Packet { + struct Packet { const unsigned char* buffer; unsigned int size; Packet() : buffer(NULL), size(0) {} }; - public class Packet + public class Packet { public Packet() { @@ -29,33 +30,38 @@ }

          - struct Packet { + struct Packet { const unsigned char* buffer; unsigned int size; }; - - public struct Packet + + public struct Packet { public IntPtr buffer; public IntPtr size; }; - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - buffer - -

          The buffer address of the sent or received data.

          - Agora recommends setting buffer to a value larger than 2048 bytes. Otherwise, you may encounter undefined behaviors (such as crashes). -
          -
          - - size - The buffer size of the sent or received data. - -
          + + buffer + +

          The buffer address of the sent or received data.

          + Agora recommends setting buffer + to a value larger than 2048 bytes. Otherwise, you may encounter + undefined behaviors (such as crashes). +
          +
          + + size + The buffer size of the sent or received data. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_playerstreaminfo.dita b/en-US/dita/RTC/API/class_playerstreaminfo.dita index 43db4308963..1cc07cc8281 100644 --- a/en-US/dita/RTC/API/class_playerstreaminfo.dita +++ b/en-US/dita/RTC/API/class_playerstreaminfo.dita @@ -1,12 +1,13 @@ - <ph keyref="PlayerStreamInfo" /> - The detailed information of the media stream. + <ph keyref="PlayerStreamInfo"/> + The detailed information of the media + stream.

          - public struct PlayerStreamInfo { + public struct PlayerStreamInfo { public int streamIndex; public MEDIA_STREAM_TYPE streamType; @@ -21,9 +22,10 @@ public int audioChannels; public int audioBitsPerSample; public Int64 duration; - };

          + }; +

          - public class MediaStreamInfo { + public class MediaStreamInfo { private int streamIndex; private int mediaStreamType; private String codecName; @@ -40,7 +42,7 @@ public MediaStreamInfo() {} } - __attribute__((visibility("default"))) @interface AgoraMediaStreamInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaStreamInfo : NSObject @property(nonatomic, assign) NSInteger streamIndex; @property(nonatomic, assign) AgoraMediaStreamType streamType; @@ -56,7 +58,7 @@ @property(nonatomic, assign) NSInteger rotation; @end - struct PlayerStreamInfo { + struct PlayerStreamInfo { int streamIndex; MEDIA_STREAM_TYPE streamType; char codecName[kMaxCharBufferLength]; @@ -83,74 +85,87 @@ duration(0) { memset(codecName, 0, sizeof(codecName)); memset(language, 0, sizeof(language)); - - -

          + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - streamIndex - The index of the media stream. - - - streamType - mediaStreamType - The type of the media stream. See . -
            -
          • (0): The type is unknown.
          • -
          • (1): The video stream.
          • -
          • (2): The audio stream.
          • -
          • (3): The subtitle stream.
          • -
          -
          - - codecName - The codec of the media stream. - - - language - The language of the media stream. - - - videoFrameRate - This parameter only takes effect for video streams, and indicates the video frame rate (fps). - - - videoBitrate - This parameter only takes effect for video streams, and indicates the video bitrate (bps). - - - videoWidth - This parameter only takes effect for video streams, and indicates the video width (pixel). - - - videoHeight - This parameter only takes effect for video streams, and indicates the video height (pixel). - - - videoRotation - rotation - This parameter only takes effect for video streams, and indicates the video rotation angle. - - - audioSampleRate - This parameter only takes effect for audio streams, and indicates the audio sample rate (Hz). - - - audioChannels - This parameter only takes effect for audio streams, and indicates the audio channel number. - - - audioBitsPerSample - audioBytesPerSample - This parameter only takes effect for audio streams, and indicates the bit number of each audio sample. - - - duration - The total duration (s) of the media stream. - -
          + + streamIndex + The index of the media stream. + + + streamType + mediaStreamType + The type of the media stream. See . +
            +
          • (0): The type is unknown.
          • +
          • (1): The video stream.
          • +
          • (2): The audio stream.
          • +
          • (3): The subtitle stream.
          • +
          +
          +
          + + codecName + The codec of the media stream. + + + language + The language of the media stream. + + + videoFrameRate + This parameter only takes effect for video streams, and indicates the video + frame rate (fps). + + + videoBitrate + This parameter only takes effect for video streams, and indicates the video + bitrate (bps). + + + videoWidth + This parameter only takes effect for video streams, and indicates the video + width (pixel). + + + videoHeight + This parameter only takes effect for video streams, and indicates the video + height (pixel). + + + videoRotation + rotation + This parameter only takes effect for video streams, and indicates the video + rotation angle. + + + audioSampleRate + This parameter only takes effect for audio streams, and indicates the audio + sample rate (Hz). + + + audioChannels + This parameter only takes effect for audio streams, and indicates the audio + channel number. + + + audioBitsPerSample + audioBytesPerSample + This parameter only takes effect for audio streams, and indicates the bit + number of each audio sample. + + + duration + The total duration (s) of the media stream. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_playerupdatedinfo.dita b/en-US/dita/RTC/API/class_playerupdatedinfo.dita index cdd626eb86e..a12cf88c49f 100644 --- a/en-US/dita/RTC/API/class_playerupdatedinfo.dita +++ b/en-US/dita/RTC/API/class_playerupdatedinfo.dita @@ -1,17 +1,19 @@ - <ph keyref="PlayerUpdatedInfo" /> - Information related to the media player. + <ph keyref="PlayerUpdatedInfo"/> + Information related to the media + player.

          - public class PlayerUpdatedInfo { + public class PlayerUpdatedInfo { public string playerId; public string deviceId; - };

          + }; +

          - public class PlayerUpdatedInfo { + public class PlayerUpdatedInfo { public String playerId; public String deviceId; @@ -20,29 +22,32 @@ deviceId = null; } } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerUpdatedInfo : NSObject @property(copy, nonatomic) NSString *_Nullable playerId; @property(copy, nonatomic) NSString *_Nullable deviceId; @end - struct PlayerUpdatedInfo { + struct PlayerUpdatedInfo { Optional<const char*> playerId; Optional<const char*> deviceId; }; - - -

          + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - playerId - The ID of a media player. - - - deviceId - The ID of a deivce. - -
          + + playerId + The ID of a media player. + + + deviceId + The ID of a deivce. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_plugin.dita b/en-US/dita/RTC/API/class_plugin.dita index a0fdf44207f..2b94e37e086 100644 --- a/en-US/dita/RTC/API/class_plugin.dita +++ b/en-US/dita/RTC/API/class_plugin.dita @@ -1,78 +1,88 @@ - <ph keyref="Plugin" /> - Interface for configuring and managing plug-ins. + <ph keyref="Plugin"/> + Interface for configuring and managing + plug-ins.

          - - - - export interface Plugin { + + + + export interface Plugin { id: string; enable: () => number; disable: () => number; setParameter: (param: string) => number; getParameter: (paramKey: string) => string; } - - -

          + + + +

          -

          After calling to register a plugin, you can get the interface through .

          +

          After calling to register a plugin, you can get the + interface through .

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - id - The ID of the plugin. - - - enable - Enable the plugin. - Returns -
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          -
          - - disable - Disable the plugin. - Returns -
            -
          • 0: Success.
          • -
          • < 0: Failure.
          • -
          -
          - - setParameter - Set the plugin parameters. After calling getParameter to get the value, you can call this method to pass a JSON string containing a key and a value to the C++ layer. - Parameter - - - param - A JSON string containing a key and a value. - - - - - getParameter - Get the plugin parameters. If you want to pass the JSON string to the C++ layer when using the plugin, you need to call this method to get the plugin parameters and then call setParameter to the parameters. - Parameter - - - paramKey - The key. - - - Returns -

          The value corresponding to the key.

          -
          -
          -
          + + id + The ID of the plugin. + + + enable + Enable the plugin. + Returns +
            +
          • 0: Success.
          • +
          • < 0: Failure.
          • +
          +
          + + disable + Disable the plugin. + Returns +
            +
          • 0: Success.
          • +
          • < 0: Failure.
          • +
          +
          + + setParameter + Set the plugin parameters. After calling getParameter to + get the value, you can call this method to pass a JSON string containing a + key and a value to the C++ layer. + Parameter + + + param + A JSON string containing a key and a value. + + + + + getParameter + Get the plugin parameters. If you want to pass the JSON string to the C++ + layer when using the plugin, you need to call this method to get the plugin + parameters and then call setParameter to the + parameters. + Parameter + + + paramKey + The key. + + + Returns +

          The value corresponding to the key.

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_plugininfo.dita b/en-US/dita/RTC/API/class_plugininfo.dita index 8087e47030e..4a2e8346719 100644 --- a/en-US/dita/RTC/API/class_plugininfo.dita +++ b/en-US/dita/RTC/API/class_plugininfo.dita @@ -1,41 +1,44 @@ - <ph keyref="PluginInfo" /> + <ph keyref="PluginInfo"/> Information of the plugin.

          - - - - export interface PluginInfo { + + + + export interface PluginInfo { pluginId: string; pluginPath: string; order: number; } - - -

          + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - pluginId - The ID that identifies the plugin. - - - pluginPath - The absolute path of the plugin file. - - - order - The priority of the plugin. If multiple plugins are enabled, the SDK uses + + pluginId + The ID that identifies the plugin. + + + pluginPath + The absolute path of the plugin file. + + + order + The priority of the plugin. If multiple plugins are enabled, the SDK uses them in the descending order of priority. Set this parameter as a non-negative integer. The greater the value, the lower the priority. 0 represents the highest priority. - -
          + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_recorderinfo.dita b/en-US/dita/RTC/API/class_recorderinfo.dita index f01dfa4df03..3b63acfa050 100644 --- a/en-US/dita/RTC/API/class_recorderinfo.dita +++ b/en-US/dita/RTC/API/class_recorderinfo.dita @@ -1,14 +1,14 @@ - <ph keyref="RecorderInfo" /> + <ph keyref="RecorderInfo"/> Information for the recording file.

          - - - struct RecorderInfo { + + + struct RecorderInfo { const char* fileName; unsigned int durationMs; unsigned int fileSize; @@ -16,14 +16,14 @@ RecorderInfo() = default; RecorderInfo(const char* name, unsigned int dur, unsigned int size) : fileName(name), durationMs(dur), fileSize(size) {} }; - - public struct RecorderInfo { + + public struct RecorderInfo { public string fileName; public uint durationMs; public uint fileSize; }; - - class RecorderInfo { + + class RecorderInfo { final String fileName; @@ -37,23 +37,26 @@ _$RecorderInfoFromJson(json); Map<String, dynamic> toJson() => _$RecorderInfoToJson(this); - }

          + } +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - fileName - The absolute path of the recording file. - - - durationMs - The recording duration, in milliseconds. - - - fileSize - The size of the recording file, in bytes. - -
          + + fileName + The absolute path of the recording file. + + + durationMs + The recording duration, in milliseconds. + + + fileSize + The size of the recording file, in bytes. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rect.dita b/en-US/dita/RTC/API/class_rect.dita index df54da7d245..c48e2b887ca 100644 --- a/en-US/dita/RTC/API/class_rect.dita +++ b/en-US/dita/RTC/API/class_rect.dita @@ -1,14 +1,14 @@ - <ph keyref="Rect" /> + <ph keyref="Rect"/> The screen sharing region.

          - - - typedef struct Rect { + + + typedef struct Rect { int top; int left; int bottom; @@ -17,7 +17,7 @@ Rect(): top(0), left(0), bottom(0), right(0) {} Rect(int t, int l, int b, int r): top(t), left(l), bottom(b), right(r) {} } Rect; - public class Rect + public class Rect { public Rect() { @@ -36,14 +36,14 @@ public int bottom { set; get; } public int right { set; get; } } - export interface Rect { + export interface Rect { top: number; left: number; bottom: number; right: number; } - - class Rect { + + class Rect { @JsonKey(includeIfNull: false) @Deprecated('This property is deprecated, pls use x instead.') @@ -84,51 +84,59 @@ Map<String, dynamic> toJson() => _$RectToJson(this); } -

          + +

          - -
          Deprecated:
          -
          This class is deprecated. Please use the method to update the shared area.
          -
          + +
          Deprecated:
          +
          This class is deprecated. Please use the method to update the shared + area.
          +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - top - The coordinate of the top side of the shared area on the vertical axis. - - - left - The coordinate of the left side of the shared area on the horizontal axis. - - - bottom - The coordinate of the bottom side of the shared area on the vertical axis. - - - right - The coordinate of the right side of the shared area on the horizontal axis. - - - x - The horizontal offset from the top-left corner. - - - y - The vertical offset from the top-left corner. - - - width - The width of the target area. - - - height - The height of the target area. - -
          + + top + The coordinate of the top side of the shared area on the vertical axis. + + + left + The coordinate of the left side of the shared area on the horizontal + axis. + + + bottom + The coordinate of the bottom side of the shared area on the vertical + axis. + + + right + The coordinate of the right side of the shared area on the horizontal + axis. + + + x + The horizontal offset from the top-left corner. + + + y + The vertical offset from the top-left corner. + + + width + The width of the target area. + + + height + The height of the target area. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rectangle.dita b/en-US/dita/RTC/API/class_rectangle.dita index 8d628124f2d..56a2798e86f 100644 --- a/en-US/dita/RTC/API/class_rectangle.dita +++ b/en-US/dita/RTC/API/class_rectangle.dita @@ -1,12 +1,14 @@ - <ph keyref="Rectangle" /> - The location of the target area relative to the screen or window. If you do not set this parameter, the SDK selects the whole screen or window. + <ph keyref="Rectangle"/> + The location of the target area relative to the screen + or window. If you do not set this parameter, the SDK selects the whole screen or + window.

          - public class Rectangle + public class Rectangle { public Rectangle() { @@ -27,9 +29,10 @@ public int height { set; get; } } -

          + +

          - public static class Rectangle { + public static class Rectangle { public int x = 0; public int y = 0; public int width = 0; @@ -48,8 +51,8 @@ height = height_; } }; - - struct Rectangle { + + struct Rectangle { int x; int y; int width; @@ -58,7 +61,7 @@ Rectangle(): x(0), y(0), width(0), height(0) {} Rectangle(int xx, int yy, int ww, int hh): x(xx), y(yy), width(ww), height(hh) {} }; - public class Rectangle + public class Rectangle { public Rectangle() { @@ -77,14 +80,14 @@ public int width { set; get; } public int height { set; get; } } - export interface Rectangle { + export interface Rectangle { x: number; y: number; width: number; height: number; } - - class Rectangle { + + class Rectangle { @JsonKey(includeIfNull: false) int? x; @@ -109,27 +112,30 @@ _$RectangleFromJson(json); Map<String, dynamic> toJson() => _$RectangleToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - x - The horizontal offset from the top-left corner. - - - y - The vertical offset from the top-left corner. - - - width - The width of the target area. - - - height - The height of the target area. - -
          + + x + The horizontal offset from the top-left corner. + + + y + The vertical offset from the top-left corner. + + + width + The width of the target area. + + + height + The height of the target area. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_remoteaudiostats.dita b/en-US/dita/RTC/API/class_remoteaudiostats.dita index 9063bfe0cf3..56ae3ca1762 100644 --- a/en-US/dita/RTC/API/class_remoteaudiostats.dita +++ b/en-US/dita/RTC/API/class_remoteaudiostats.dita @@ -1,12 +1,12 @@ - <ph keyref="RemoteAudioStats" /> + <ph keyref="RemoteAudioStats"/> Audio statistics of the remote user.

          - public static class RemoteAudioStats { + public static class RemoteAudioStats { public int uid; public int quality; public int networkTransportDelay; @@ -22,7 +22,7 @@ public long publishDuration; public long qoeQuality; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger quality; @property(assign, nonatomic) NSUInteger networkTransportDelay; @@ -38,7 +38,7 @@ @property(assign, nonatomic) NSUInteger mosValue; @property(assign, nonatomic) NSInteger qoeQuality; @end - struct RemoteAudioStats + struct RemoteAudioStats { uid_t uid; int quality; @@ -71,7 +71,7 @@ publishDuration(0){} qoeQuality(0) {} }; - public class RemoteAudioStats + public class RemoteAudioStats { public RemoteAudioStats() { @@ -120,9 +120,10 @@ public int totalActiveTime { set; get; } public int publishDuration { set; get; } - }

          + } +

          - public static class RemoteAudioStats { + public static class RemoteAudioStats { public int uid; public int quality; public int networkTransportDelay; @@ -139,7 +140,7 @@ public int qualityChangedReason; public int mosValue; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteAudioStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger quality; @property(assign, nonatomic) NSUInteger networkTransportDelay; @@ -156,7 +157,7 @@ @property(assign, nonatomic) NSUInteger qualityChangedReason; @property(assign, nonatomic) NSInteger mosValue; @end - struct RemoteAudioStats { + struct RemoteAudioStats { uid_t uid; int quality; int networkTransportDelay; @@ -173,7 +174,7 @@ int qualityChangedReason; int mosValue; }; - public class RemoteAudioStats + public class RemoteAudioStats { public RemoteAudioStats() { @@ -217,7 +218,7 @@ public int qualityChangedReason { set; get; } public int mosValue { set; get; } } - export interface RemoteAudioStats { + export interface RemoteAudioStats { uid: number; quality: number; networkTransportDelay: number; @@ -234,8 +235,8 @@ qualityChangedReason: number; mosValue: number; } - - class RemoteAudioStats { + + class RemoteAudioStats { int uid; NetworkQuality quality; @@ -275,145 +276,183 @@ _$RemoteAudioStatsFromJson(json); Map<String, dynamic> toJson() => _$RemoteAudioStatsToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - The user ID of the remote user. - - - quality - The quality of the audio stream sent by the user. See . -

          -

            -
          • (0): The quality is unknown.
          • -
          • (1): The quality is excellent.
          • -
          • (2): The network quality seems excellent, but the bitrate can be slightly lower than excellent.
          • -
          • (3): Users can feel the communication is slightly impaired.
          • -
          • (4): Users cannot communicate smoothly.
          • -
          • (5): The quality is so bad that users can barely communicate.
          • -
          • (6): The network is down, and users cannot communicate at all.
          • -

          -
          -
          - - networkTransportDelay - The network delay (ms) from the sender to the receiver. - - - jitterBufferDelay - -

          The network delay (ms) from the receiver to the jitter buffer. - - This parameter does not take effect if the receiver is an audience member and audienceLatencyLevel of is 1.

          -
          -
          - - audioLossRate - The frame loss rate (%) of the remote audio stream in the reported interval. - - - numChannels - The number of audio channels. - - - receivedSampleRate - The sampling rate of the received audio stream in the reported interval. - - - receivedBitrate - The average bitrate (Kbps) of the received audio stream in the reported interval. - - - totalFrozenTime - The total freeze time (ms) of the remote audio stream after the remote user joins the channel. In a session, audio freeze occurs when the audio frame loss rate reaches 4%. - - - frozenRate - The total audio freeze time as a percentage (%) of the total time when the audio is available. The audio is considered available when the remote user neither stops sending the audio stream nor disables the audio module after joining the channel. - - - totalActiveTime - -
          - -
          Since
          -
          v3.0.0
          -
          -
          -

          The total active time (ms) between the start of the audio call and the callback of the remote user.

          -

          The active time refers to the total duration of the remote user without the mute state.

          -
          -
          - - publishDuration - -
          - -
          Since
          -
          v3.1.0
          -
          -
          -

          The total duration (ms) of the remote audio stream.

          -
          -
          - - qoeQuality - -

          Quality of experience (QoE) of the local user when receiving the remote audio stream. See .

          -
          -
          - - qualityChangedReason - -

          The reason for poor QoE of the local user when receiving the remote audio stream. See .

          -
          -
          - - mosValue - -
          - -
          Since
          -
          v3.3.1
          -
          -
          -

          The quality of the remote audio stream in the reported interval. The quality is determined by the Agora real-time audio MOS (Mean Opinion Score) measurement method. The return value range is [0, 500]. Dividing the return value by 100 gets the MOS score, which ranges from 0 to 5. The higher the score, the better the audio quality.

          -

          The subjective perception of audio quality corresponding to the Agora real-time audio MOS scores is as follows: - - MOS score - Perception of audio quality - - - Greater than 4 - Excellent. The audio sounds clear and smooth. - - - From 3.5 to 4 - Good. The audio has some perceptible impairment but still sounds clear. - - - From 3 to 3.5 - Fair. The audio freezes occasionally and requires attentive listening. - - - From 2.5 to 3 - Poor. The audio sounds choppy and requires considerable effort to understand. - - - From 2 to 2.5 - Bad. The audio has occasional noise. Consecutive audio dropouts occur, resulting in some information loss. The users can communicate only with difficulty. - - - Less than 2 - Very bad. The audio has persistent noise. Consecutive audio dropouts are frequent, resulting in severe information loss. Communication is nearly impossible. - -

          -
          -
          -
          + + uid + The user ID of the remote user. + + + quality + The quality of the audio stream sent by the user. See . +

          +

            +
          • (0): The quality is unknown.
          • +
          • (1): The quality is + excellent.
          • +
          • (2): The network quality seems + excellent, but the bitrate can be slightly lower than + excellent.
          • +
          • (3): Users can feel the + communication is slightly impaired.
          • +
          • (4): Users cannot communicate + smoothly.
          • +
          • (5): The quality is so bad that + users can barely communicate.
          • +
          • (6): The network is down, and users + cannot communicate at all.
          • +
          +

          +
          +
          + + networkTransportDelay + The network delay (ms) from the sender to the receiver. + + + jitterBufferDelay + +

          The network delay (ms) from the receiver to the jitter buffer. This parameter does not take effect if the receiver + is an audience member and audienceLatencyLevel + of is 1.

          +
          +
          + + audioLossRate + The frame loss rate (%) of the remote audio stream in the reported + interval. + + + numChannels + The number of audio channels. + + + receivedSampleRate + The sampling rate of the received audio stream in the reported + interval. + + + receivedBitrate + The average bitrate (Kbps) of the received audio stream in the reported + interval. + + + totalFrozenTime + The total freeze time (ms) of the remote audio stream after the remote user + joins the channel. In a session, audio freeze occurs when the audio frame + loss rate reaches 4%. + + + frozenRate + The total audio freeze time as a percentage (%) of the total time when the + audio is available. The audio is considered available when the remote user + neither stops sending the audio stream nor disables the audio module after + joining the channel. + + + totalActiveTime + +
          + +
          Since
          +
          v3.0.0
          +
          +
          +

          The total active time (ms) between the start of the audio call and the + callback of the remote user.

          +

          The active time refers to the total duration of the remote user without + the mute state.

          +
          +
          + + publishDuration + +
          + +
          Since
          +
          v3.1.0
          +
          +
          +

          The total duration (ms) of the remote audio stream.

          +
          +
          + + qoeQuality + +

          Quality of experience (QoE) of the local user when receiving the remote + audio stream. See .

          +
          +
          + + qualityChangedReason + +

          The reason for poor QoE of the local user when receiving the remote audio + stream. See .

          +
          +
          + + mosValue + +
          + +
          Since
          +
          v3.3.1
          +
          +
          +

          The quality of the remote audio stream in the reported interval. The + quality is determined by the Agora real-time audio MOS (Mean Opinion + Score) measurement method. The return value range is [0, 500]. Dividing + the return value by 100 gets the MOS score, which ranges from 0 to 5. + The higher the score, the better the audio quality.

          +

          The subjective perception of audio quality corresponding to the Agora + real-time audio MOS scores is as follows: + + MOS score + Perception of audio quality + + + Greater than 4 + Excellent. The audio sounds clear and smooth. + + + From 3.5 to 4 + Good. The audio has some perceptible impairment but + still sounds clear. + + + From 3 to 3.5 + Fair. The audio freezes occasionally and requires + attentive listening. + + + From 2.5 to 3 + Poor. The audio sounds choppy and requires considerable + effort to understand. + + + From 2 to 2.5 + Bad. The audio has occasional noise. Consecutive audio + dropouts occur, resulting in some information loss. The + users can communicate only with difficulty. + + + Less than 2 + Very bad. The audio has persistent noise. Consecutive + audio dropouts are frequent, resulting in severe information + loss. Communication is nearly impossible. + +

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_remotevideostats.dita b/en-US/dita/RTC/API/class_remotevideostats.dita index 722442893a0..7038072bc62 100644 --- a/en-US/dita/RTC/API/class_remotevideostats.dita +++ b/en-US/dita/RTC/API/class_remotevideostats.dita @@ -1,12 +1,12 @@ - <ph keyref="RemoteVideoStats" /> + <ph keyref="RemoteVideoStats"/> Statistics of the remote video stream.

          - public static class RemoteVideoStats { + public static class RemoteVideoStats { public int uid; public int delay; public int width; @@ -24,7 +24,7 @@ public long publishDuration; public int superResolutionType; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger delay __deprecated; @property(assign, nonatomic) NSUInteger width; @@ -43,7 +43,7 @@ @property(assign, nonatomic) NSInteger avSyncTimeMs; @property(assign, nonatomic) NSInteger superResolutionType; @end - struct RemoteVideoStats { + struct RemoteVideoStats { uid_t uid; int delay; int width; @@ -61,7 +61,7 @@ int publishDuration; int superResolutionType; }; - public class RemoteVideoStats + public class RemoteVideoStats { public RemoteVideoStats() { @@ -117,9 +117,10 @@ public int totalActiveTime { set; get; } public int publishDuration { set; get; } - }

          + } +

          - public static class RemoteVideoStats { + public static class RemoteVideoStats { public int uid; @Deprecated public int delay; @@ -135,7 +136,7 @@ public int totalActiveTime; public int publishDuration; } - __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject + __attribute__((visibility("default"))) @interface AgoraRtcRemoteVideoStats : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) NSUInteger __deprecated delay; @property(assign, nonatomic) NSUInteger width; @@ -150,7 +151,7 @@ @property(assign, nonatomic) NSUInteger totalActiveTime; @property(assign, nonatomic) NSInteger publishDuration; @end - struct RemoteVideoStats { + struct RemoteVideoStats { uid_t uid; int delay; int width; @@ -165,7 +166,7 @@ int totalActiveTime; int publishDuration; }; - public class RemoteVideoStats + public class RemoteVideoStats { public RemoteVideoStats() { @@ -205,7 +206,7 @@ public int totalActiveTime { set; get; } public int publishDuration { set; get; } } - export interface RemoteVideoStats { + export interface RemoteVideoStats { uid: number; delay: number; width: number; @@ -220,8 +221,8 @@ totalActiveTime: number; publishDuration: number; } - - + + class RemoteVideoStats { int uid; @@ -260,116 +261,136 @@ class RemoteVideoStats { _$RemoteVideoStatsFromJson(json); Map<String, dynamic> toJson() => _$RemoteVideoStatsToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - The user ID of the remote user sending the video stream. - - - delay - -
          - -
          Deprecated:
          -
          In scenarios where audio and video are synchronized, you can get the video delay data from networkTransportDelay and jitterBufferDelay in .
          -
          -
          -

          The video delay (ms).

          -
          -
          - - width - The width (pixels) of the video. - - - height - The height (pixels) of the video. - - - receivedBitrate - The bitrate (Kbps) of the remote video received since the last count. - - - receivedFramerate - The frame rate (fps) received since the last count. - - - decoderOutputFrameRate - The frame rate (fps) of decoding the remote video. - - - rendererOutputFrameRate - The frame rate (fps) of rendering the remote video. - - - frameLossRate - The packet loss rate (%) of the remote video. - - - packetLossRate - The packet loss rate (%) of the remote video after using the anti-packet-loss technology. - - - rxStreamType - The type of the video stream. See . -

          -

            -
          • (0): High-quality stream, that is, a high-resolution and high-bitrate video stream.
          • -
          • (1): Low-quality stream, that is, a low-resolution and low-bitrate video stream.
          • -

          -
          -
          - - totalFrozenTime - The total freeze time (ms) of the remote video stream after the remote user joins the channel. In a video session where the frame rate is set to 5 fps or higher, video freezing occurs when the time interval between two adjacent video frames is more than 500 -ms. - - - frozenRate - The total video freeze time as a percentage (%) of the total time the video is available. The video is considered available as long as that the remote user neither stops sending the video stream nor disables the video module after joining the channel. - - - totalActiveTime - -
          - -
          Since
          -
          v3.0.1
          -
          -
          -

          The total active time (ms) of the video.

          -

          As long as the remote user/host neither stops sending the video stream nor disables the video module after joining the channel, the video is available.

          -
          -
          - - publishDuration - -
          - -
          Since
          -
          v3.1.0
          -
          -
          -

          The total duration (ms) of the remote video stream.

          -
          -
          - - superResolutionType - The state of super resolution: -
            -
          • >0: Super resolution is enabled.
          • -
          • =0: Super resolution is not enabled.
          • -
          -
          - - avSyncTimeMs - The amount of time (ms) that the audio is ahead of the video. - If this value is negative, the audio is lagging behind the video. - -
          + + uid + The user ID of the remote user sending the video stream. + + + delay + +
          + +
          Deprecated:
          +
          In scenarios where audio and video are synchronized, you can get + the video delay data from + networkTransportDelay and + jitterBufferDelay in .
          +
          +
          +

          The video delay (ms).

          +
          +
          + + width + The width (pixels) of the video. + + + height + The height (pixels) of the video. + + + receivedBitrate + The bitrate (Kbps) of the remote video received since the last count. + + + receivedFramerate + The frame rate (fps) received since the last count. + + + decoderOutputFrameRate + The frame rate (fps) of decoding the remote video. + + + rendererOutputFrameRate + The frame rate (fps) of rendering the remote video. + + + frameLossRate + The packet loss rate (%) of the remote video. + + + packetLossRate + The packet loss rate (%) of the remote video after using the + anti-packet-loss technology. + + + rxStreamType + The type of the video stream. See . +

          +

            +
          • (0): High-quality stream, + that is, a high-resolution and high-bitrate video stream.
          • +
          • (1): Low-quality stream, + that is, a low-resolution and low-bitrate video stream.
          • +
          +

          +
          +
          + + totalFrozenTime + The total freeze time (ms) of the remote video stream after the remote user + joins the channel. In a video session where the frame rate is set to 5 fps + or higher, video freezing occurs when the time interval between two adjacent + video frames is more than 500 ms. + + + frozenRate + The total video freeze time as a percentage (%) of the total time the video + is available. The video is considered available as long as that the remote + user neither stops sending the video stream nor disables the video module + after joining the channel. + + + totalActiveTime + +
          + +
          Since
          +
          v3.0.1
          +
          +
          +

          The total active time (ms) of the video.

          +

          As long as the remote user/host neither stops sending the video stream + nor disables the video module after joining the channel, the video is + available.

          +
          +
          + + publishDuration + +
          + +
          Since
          +
          v3.1.0
          +
          +
          +

          The total duration (ms) of the remote video stream.

          +
          +
          + + superResolutionType + The state of super resolution:
            +
          • >0: Super resolution is enabled.
          • +
          • =0: Super resolution is not enabled.
          • +
          +
          +
          + + avSyncTimeMs + The amount of time (ms) that the audio is ahead of the video. If this value is negative, the audio is lagging behind + the video. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_remotevoicepositioninfo.dita b/en-US/dita/RTC/API/class_remotevoicepositioninfo.dita index dea6d74b9cb..d048cf26991 100644 --- a/en-US/dita/RTC/API/class_remotevoicepositioninfo.dita +++ b/en-US/dita/RTC/API/class_remotevoicepositioninfo.dita @@ -1,12 +1,13 @@ - <ph keyref="RemoteVoicePositionInfo" /> - The spatial position of the remote user or the media player. + <ph keyref="RemoteVoicePositionInfo"/> + The spatial position of the remote user or the media + player.

          - public class RemoteVoicePositionInfo { + public class RemoteVoicePositionInfo { public float[] position; public float[] forward; @@ -15,18 +16,18 @@ forward = new float[] {0.0f, 0.0f, 0.0f}; } } - __attribute__((visibility("default"))) @interface AgoraRemoteVoicePositionInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraRemoteVoicePositionInfo : NSObject @property(strong, nonatomic) NSArray<NSNumber*> * _Nonnull position; @property(strong, nonatomic) NSArray<NSNumber*> * _Nullable forward; @end - struct RemoteVoicePositionInfo { + struct RemoteVoicePositionInfo { float position[3]; float forward[3]; RemoteVoicePositionInfo() = default; }; - - public class RemoteVoicePositionInfo + + public class RemoteVoicePositionInfo { public RemoteVoicePositionInfo(float[] position, float[] forward) { @@ -37,20 +38,23 @@ public float[] position { set; get; } public float[] forward { set; get; } }; - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - forward - - -
          + + + + + + forward + + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rendererconfig.dita b/en-US/dita/RTC/API/class_rendererconfig.dita index 3901f21068d..b1488125806 100644 --- a/en-US/dita/RTC/API/class_rendererconfig.dita +++ b/en-US/dita/RTC/API/class_rendererconfig.dita @@ -1,47 +1,54 @@ - <ph keyref="RendererConfig" /> + <ph keyref="RendererConfig"/> The video renderer configuration.

          - - - - export interface RendererConfig { + + + + export interface RendererConfig { user: User; view: Element | undefined; rendererOptions?: RendererOptions; channelId?: Channel; fps?: number; - - -

          + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - user - The user of the video. See . - - - view - Dom for rendering video. Leave this parameter empty to destroy the video renderer. - - - rendererOptions - Video rendering options. See . - - - channelId - The ID of the channel in which the video is rendered. For details, see . You only need to set this parameter in multi-channel scenarios. - - - fps - The capture frame rate (fps) of the local video. The parameter cannot exceed 30. - -
          + + user + The user of the video. See . + + + view + Dom for rendering video. Leave this parameter empty to destroy the video + renderer. + + + rendererOptions + Video rendering options. See . + + + channelId + The ID of the channel in which the video is rendered. For details, see . You only need to set this parameter in multi-channel + scenarios. + + + fps + The capture frame rate (fps) of the local video. The parameter cannot exceed + 30. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rendereroptions.dita b/en-US/dita/RTC/API/class_rendereroptions.dita index 62e4fd6442a..60085209021 100644 --- a/en-US/dita/RTC/API/class_rendereroptions.dita +++ b/en-US/dita/RTC/API/class_rendereroptions.dita @@ -1,46 +1,51 @@ - <ph keyref="RendererOptions" /> + <ph keyref="RendererOptions"/> Video renderer options.

          - - - - export interface RendererOptions { + + + + export interface RendererOptions { append: boolean; contentMode: CONTENT_MODE; mirror: boolean; } - - -

          + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - append - When the new video is connected to the DOM, whether to use the native appendChild method to add a child DOM: -
            -
          • : Add a child DOM. The new video can be played together with the original video.
          • -
          • : (Default) Do not add a child DOM. Only play the new video.
          • -
          -
          - - contentMode - Video display modes. See . - - - mirror - Whether to enable mirror mode when rendering video: -
            -
          • : Enable mirror mode.
          • -
          • : (Default) Do not enable mirror mode.
          • -
          -
          -
          + + append + When the new video is connected to the DOM, whether to use the native + appendChild method to add a child DOM:
            +
          • : Add a child DOM. The new video + can be played together with the original video.
          • +
          • : (Default) Do not add a child + DOM. Only play the new video.
          • +
          +
          + + contentMode + Video display modes. See . + + + mirror + Whether to enable mirror mode when rendering video:
            +
          • : Enable mirror mode.
          • +
          • : (Default) Do not enable + mirror mode.
          • +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rtc_local_view_surfaceview.dita b/en-US/dita/RTC/API/class_rtc_local_view_surfaceview.dita index 5b1d6e11c64..daa1436482d 100644 --- a/en-US/dita/RTC/API/class_rtc_local_view_surfaceview.dita +++ b/en-US/dita/RTC/API/class_rtc_local_view_surfaceview.dita @@ -1,18 +1,19 @@ - <ph keyref="RtcLocalViewSurfaceView" /> - SurfaceView class for rendering local video. Extends from the class. + <ph keyref="RtcLocalViewSurfaceView"/> + SurfaceView class for rendering + local video. Extends from the class.

          - - - - - - - class SurfaceView extends RtcSurfaceView { + + + + + + + class SurfaceView extends RtcSurfaceView { const SurfaceView({ Key? key, String? channelId, @@ -49,50 +50,52 @@ gestureRecognizers: gestureRecognizers, subProcess: true, ); - }

          + } +

          -
          -
          +
          +
          Parameters - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

          + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rtc_local_view_textureview.dita b/en-US/dita/RTC/API/class_rtc_local_view_textureview.dita index 495f609d399..e2011f6b027 100644 --- a/en-US/dita/RTC/API/class_rtc_local_view_textureview.dita +++ b/en-US/dita/RTC/API/class_rtc_local_view_textureview.dita @@ -1,18 +1,19 @@ - <ph keyref="RtcLocalViewTextureView" /> - TextureView class for rendering local video. Extends from the class. + <ph keyref="RtcLocalViewTextureView"/> + TextureView class for rendering + local video. Extends from the class.

          - - - - - - - class TextureView extends RtcTextureView { + + + + + + + class TextureView extends RtcTextureView { const TextureView({ Key? key, String? channelId, @@ -49,46 +50,48 @@ useFlutterTexture: useFlutterTexture, subProcess: true, ); - }

          + } +

          -
          +
          Parameters - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to use FlutterTexture to render video. - - - - - -

          + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to use FlutterTexture to render video. + + + + + + +

          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rtc_remote_view_surfaceview.dita b/en-US/dita/RTC/API/class_rtc_remote_view_surfaceview.dita index 985e1f0742f..3528f13d5f9 100644 --- a/en-US/dita/RTC/API/class_rtc_remote_view_surfaceview.dita +++ b/en-US/dita/RTC/API/class_rtc_remote_view_surfaceview.dita @@ -1,18 +1,19 @@ - <ph keyref="RtcRemoteViewSurfaceView" /> - SurfaceView class for rendering remote video. Extends from the class. + <ph keyref="RtcRemoteViewSurfaceView"/> + SurfaceView class for rendering + remote video. Extends from the class.

          - - - - - - - class SurfaceView extends RtcSurfaceView { + + + + + + + class SurfaceView extends RtcSurfaceView { const SurfaceView({ Key? key, required int uid, @@ -35,54 +36,56 @@ onPlatformViewCreated: onPlatformViewCreated, gestureRecognizers: gestureRecognizers, ); - }

          + } +

          -
          +
          Parameters - - - - - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

          + + + + + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rtc_remote_view_textureview.dita b/en-US/dita/RTC/API/class_rtc_remote_view_textureview.dita index bee85b77d52..1294dc81d31 100644 --- a/en-US/dita/RTC/API/class_rtc_remote_view_textureview.dita +++ b/en-US/dita/RTC/API/class_rtc_remote_view_textureview.dita @@ -1,18 +1,19 @@ - <ph keyref="RtcRemoteViewTextureView" /> - TextureView class for rendering local video. Extends from the class. + <ph keyref="RtcRemoteViewTextureView"/> + TextureView class for rendering + local video. Extends from the class.

          - - - - - - - class TextureView extends RtcTextureView { + + + + + + + class TextureView extends RtcTextureView { const TextureView({ Key? key, required int uid, @@ -33,50 +34,53 @@ gestureRecognizers: gestureRecognizers, useFlutterTexture: useFlutterTexture, ); - }

          + } +

          -
          +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to render the video using FlutterTexture. - - - - - -

          + + + + + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to render the video using FlutterTexture. + + + + + + +

          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rtc_render_view_rtcsurfaceview.dita b/en-US/dita/RTC/API/class_rtc_render_view_rtcsurfaceview.dita index 57bb0b0533b..02357385de9 100644 --- a/en-US/dita/RTC/API/class_rtc_render_view_rtcsurfaceview.dita +++ b/en-US/dita/RTC/API/class_rtc_render_view_rtcsurfaceview.dita @@ -1,18 +1,19 @@ - <ph keyref="RtcSurfaceView" /> - RtcSurfaceView class for rendering local and remote video. + <ph keyref="RtcSurfaceView"/> + RtcSurfaceView class for rendering + local and remote video.

          - - - - - - - class RtcSurfaceView extends StatefulWidget { + + + + + + + class RtcSurfaceView extends StatefulWidget { final int uid; final String? channelId; final VideoRenderMode renderMode; @@ -40,60 +41,61 @@ State<StatefulWidget> createState() { return _RtcSurfaceViewState(); } - }

          + } +

          -

          This class has the following corresponding classes: - - - -

            -
          • Android: SurfaceView.
          • -
          • iOS: UIView
          • -
          • Applies to the macOS and Windows platforms only.
          • -

          +

          This class has the following corresponding classes:

            +
          • Android: SurfaceView.
          • +
          • iOS: UIView
          • +
          • Applies to the macOS and Windows platforms only.
          • +

          Parameters - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

          + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rtc_render_view_rtctextureview.dita b/en-US/dita/RTC/API/class_rtc_render_view_rtctextureview.dita index aedc99ddc0a..b8b48d1e1b6 100644 --- a/en-US/dita/RTC/API/class_rtc_render_view_rtctextureview.dita +++ b/en-US/dita/RTC/API/class_rtc_render_view_rtctextureview.dita @@ -1,18 +1,19 @@ - <ph keyref="RtcTextureView" /> - RtcTextureView class for rendering local and remote video. + <ph keyref="RtcTextureView"/> + RtcTextureView class for rendering + local and remote video.

          - - - - - - - class RtcTextureView extends StatefulWidget { + + + + + + + class RtcTextureView extends StatefulWidget { final int uid; final String? channelId; final VideoRenderMode renderMode; @@ -38,56 +39,60 @@ State<StatefulWidget> createState() { return _RtcTextureViewState(); } - }

          + } +

          -

          This class has the following corresponding classes: - - - -

            -
          • Android: TextureView -or FlutterTexture
          • -
          • iOS/macOS/Windows: FlutterTexture
          • -

          +

          This class has the following corresponding classes:

            +
          • Android: TextureView or FlutterTexture
          • +
          • iOS/macOS/Windows: FlutterTexture
          • +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - channelId - -

          - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to render the video using FlutterTexture. - - - - - -

          + + + + + + channelId + +

          + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to render the video using FlutterTexture. + + + + + + +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rtcconnection.dita b/en-US/dita/RTC/API/class_rtcconnection.dita index 1a856a94f47..1657b52b856 100644 --- a/en-US/dita/RTC/API/class_rtcconnection.dita +++ b/en-US/dita/RTC/API/class_rtcconnection.dita @@ -1,12 +1,12 @@ - <ph keyref="RtcConnection" /> - Contains connection information. - -
          + <ph keyref="RtcConnection"/> + Contains connection information. + +

          - public class RtcConnection { + public class RtcConnection { public enum CONNECTION_STATE_TYPE { CONNECTION_STATE_NOT_INITIALIZED(0), CONNECTION_STATE_DISCONNECTED(1), @@ -49,12 +49,12 @@ return sb.toString(); } } - __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying> + __attribute__((visibility("default"))) @interface AgoraRtcConnection: NSObject <NSCopying> @property (nonatomic, copy) NSString *_Nonnull channelId; @property (nonatomic, assign) NSUInteger localUid; @end - struct RtcConnection { + struct RtcConnection { const char* channelId; uid_t localUid; @@ -62,8 +62,8 @@ RtcConnection(const char* channel_id, uid_t local_uid) : channelId(channel_id), localUid(local_uid) {} }; - - public class RtcConnection { + + public class RtcConnection { public RtcConnection() { @@ -77,24 +77,27 @@ public string channelId { set; get; } public uint localUid { set; get; } }; - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> - - - channelId - The channel name. - - - localUid - The ID of the local user. - - - localUserAccount - The name of the local user. - -
          -
          - \ No newline at end of file + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> + + + channelId + The channel name. + + + localUid + The ID of the local user. + + + localUserAccount + The name of the local user. + + +
          +
          +
          diff --git a/en-US/dita/RTC/API/class_rtcdevicemanager.dita b/en-US/dita/RTC/API/class_rtcdevicemanager.dita index 94b05d6f640..5c5d9e44c91 100644 --- a/en-US/dita/RTC/API/class_rtcdevicemanager.dita +++ b/en-US/dita/RTC/API/class_rtcdevicemanager.dita @@ -1,6 +1,7 @@ - <ph keyref="RtcDeviceManager" /> - The RTC device manager class, which manages the audio and video devices in the system. - \ No newline at end of file + <ph keyref="RtcDeviceManager"/> + The RTC device manager class, which manages the audio + and video devices in the system. + diff --git a/en-US/dita/RTC/API/class_rtcengineconfig.dita b/en-US/dita/RTC/API/class_rtcengineconfig.dita index 42dd21666f9..e3f833d4ad3 100644 --- a/en-US/dita/RTC/API/class_rtcengineconfig.dita +++ b/en-US/dita/RTC/API/class_rtcengineconfig.dita @@ -1,14 +1,15 @@ - <ph keyref="RtcEngineConfig" /> - Configurations of initializing the SDK. + <ph keyref="RtcEngineConfig"/> + Configurations of initializing the + SDK.

          - - - struct RtcEngineContext { + + + struct RtcEngineContext { IRtcEngineEventHandler* eventHandler; const char* appId; void* context; @@ -21,7 +22,7 @@ ,areaCode(rtc::AREA_CODE_GLOB) {} }; - public class RtcEngineContext + public class RtcEngineContext { public RtcEngineContext(string appId, AREA_CODE areaCode = AREA_CODE.AREA_CODE_GLOB, LogConfig logConfig = null) @@ -42,13 +43,13 @@ set { _areaCode = (uint) areaCode; } } }; - export interface RtcEngineContext { + export interface RtcEngineContext { appId: string; areaCode?: AREA_CODE; logConfig?: LogConfig; } - - class RtcEngineContext { + + class RtcEngineContext { String appId; @@ -77,44 +78,70 @@ } return areaCode; } - }

          + } +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - eventHandler - The event handler of the Agora SDK. See . - - - appId - mAppId - -

          The App ID issued by Agora for your app development project. Only users who use the same App ID can join the same channel and communicate with each other.

          -

          An App ID can only be used to create one instance. If you need to change the App ID, you must call the current IRtcEngine, and then call to recreate. -Call and to recreate .

          -

          An App ID can only be used to create one instance. If you need to change the App ID, you must call destroy the current IRtcEngine, and then call to recreate .

          -
          -
          - - context - The video window handler. Once set, this parameter enables you to plug or unplug the video devices while they are powered. - - - areaCode - -

          The region for connection. This is an advanced feature and applies to scenarios that have regional restrictions. For details on supported regions, see .

          -

          After specifying the region, the SDK connects to the Agora servers within that region.

          -
          -
          - - logConfig - -

          The configuration of the log files. See .

          -

          By default, the SDK outputs five log files: agorasdk.log, agorasdk_1.log, agorasdk_2.log, agorasdk_3.log, and agorasdk_4.log.

          -

          Each log file has a default size of 512 KB and is encoded in UTF-8 format. The SDK writes the latest log in agorasdk.log. When agorasdk.log is full, the SDK deletes the log file with the earliest modification time among the other four, renames agorasdk.log to the name of the deleted log file, and create a new agorasdk.log to record the latest log.

          -
          -
          -
          + + eventHandler + The event handler of the Agora SDK. See . + + + appId + mAppId + +

          The App ID issued by Agora for your app development project. Only users + who use the same App ID can join the same channel and communicate with + each other.

          +

          An App ID can only be used to create one instance. If you + need to change the App ID, you must call the + current IRtcEngine, and then call to recreate. Call and to + recreate .

          +

          An App ID can only be used to create one + instance. If you need to change the App ID, you must call destroy the current IRtcEngine, and then call + to recreate .

          +
          +
          + + context + The video window handler. Once set, this parameter enables you to plug or + unplug the video devices while they are powered. + + + areaCode + +

          The region for connection. This is an advanced feature and applies to + scenarios that have regional restrictions. For details on supported + regions, see .

          +

          After specifying the region, the SDK connects to the Agora servers within + that region.

          +
          +
          + + logConfig + +

          The configuration of the log files. See .

          +

          By default, the SDK outputs five log files: + agorasdk.log, agorasdk_1.log, + agorasdk_2.log, agorasdk_3.log, + and agorasdk_4.log.

          +

          Each log file has a default size of 512 KB and is encoded in UTF-8 + format. The SDK writes the latest log in agorasdk.log. + When agorasdk.log is full, the SDK deletes the log file + with the earliest modification time among the other four, renames + agorasdk.log to the name of the deleted log file, + and create a new agorasdk.log to record the latest + log.

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rtcimage.dita b/en-US/dita/RTC/API/class_rtcimage.dita index d857f125753..f4bce5d5a33 100644 --- a/en-US/dita/RTC/API/class_rtcimage.dita +++ b/en-US/dita/RTC/API/class_rtcimage.dita @@ -1,12 +1,12 @@ - <ph keyref="RtcImage" /> + <ph keyref="RtcImage"/> Image properties.

          - public class AgoraImage { + public class AgoraImage { public String url; public int x; public int y; @@ -35,13 +35,13 @@ this.alpha = 1.0; } } - __attribute__((visibility("default"))) @interface AgoraImage : NSObject + __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 - typedef struct RtcImage { + typedef struct RtcImage { const char* url; int x; int y; @@ -53,7 +53,7 @@ RtcImage() : url(NULL), x(0), y(0), width(0), height(0), zOrder(0), alpha(1.0) {}

          - typedef struct RtcImage { + typedef struct RtcImage { RtcImage() : url(NULL), x(0), y(0), width(0), height(0) {} const char* url; int x; @@ -61,11 +61,11 @@ int width; int height; } RtcImage; - __attribute__((visibility("default"))) @interface AgoraImage : NSObject + __attribute__((visibility("default"))) @interface AgoraImage : NSObject @property(strong, nonatomic) NSURL* _Nonnull url; @property(assign, nonatomic) CGRect rect; @end - public class AgoraImage { + public class AgoraImage { public String url; public int x; public int y; @@ -75,7 +75,7 @@ public AgoraImage() { } } - public class RtcImage + public class RtcImage { public RtcImage() { @@ -101,15 +101,15 @@ public double alpha { set; get; } }

          - export interface RtcImage { + export interface RtcImage { x: number, y: number, width: number, height: number, url: string } - - class AgoraImage { + + class AgoraImage { String url; @JsonKey(includeIfNull: false) int? x; @@ -130,50 +130,60 @@ _$AgoraImageFromJson(json); Map<String, dynamic> toJson() => _$AgoraImageToJson(this); -}

          +} +

          -

          This class sets the properties of the watermark and background images in the live video.

          +

          This class sets the properties of the watermark and background images in the live + video.

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - url - The HTTP/HTTPS URL address of the image in the live video. The maximum length of this parameter is 1024 bytes. - - - x - The x coordinate (pixel) of the image on the video frame (taking the upper left corner of the video frame as the origin). - - - y - The y coordinate (pixel) of the image on the video frame (taking the upper left corner of the video frame as the origin). - - - width - The width (pixel) of the image on the video frame. - - - height - The height (pixel) of the image on the video frame. - - - rect - The position and size of the image on the video frame. The data type is CGRect. - - - zOrder - The layer index of the video frame. An integer. The value range is [0, 100]. 1 represents the lowest layer. 100 represents the top layer. - - - alpha - The transparency of the watermark or background image. The value ranges between 0.0 and 1.0: -
            -
          • 0.0: Completely transparent.
          • -
          • 1.0: (Default) Opaque.
          • -
          -
          -
          + + url + The HTTP/HTTPS URL address of the image in the live video. The maximum + length of this parameter is 1024 bytes. + + + x + The x coordinate (pixel) of the image on the video frame (taking the upper + left corner of the video frame as the origin). + + + y + The y coordinate (pixel) of the image on the video frame (taking the upper + left corner of the video frame as the origin). + + + width + The width (pixel) of the image on the video frame. + + + height + The height (pixel) of the image on the video frame. + + + rect + The position and size of the image on the video frame. The data type is + CGRect. + + + zOrder + The layer index of the video frame. An integer. The value range is [0, 100]. + 1 represents the lowest layer. 100 represents the top layer. + + + alpha + The transparency of the watermark or background image. The value ranges + between 0.0 and 1.0:
            +
          • 0.0: Completely transparent.
          • +
          • 1.0: (Default) Opaque.
          • +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rtcstats.dita b/en-US/dita/RTC/API/class_rtcstats.dita index ab8b172cbec..0dfd7356df6 100644 --- a/en-US/dita/RTC/API/class_rtcstats.dita +++ b/en-US/dita/RTC/API/class_rtcstats.dita @@ -1,12 +1,12 @@ - <ph keyref="RtcStats" /> + <ph keyref="RtcStats"/> Statistics of a call session.

          - public static class RtcStats { + public static class RtcStats { public int totalDuration; public int txBytes; public int rxBytes; @@ -32,7 +32,7 @@ public double memoryTotalUsageRatio; public int memoryAppUsageInKbytes; } - __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject + __attribute__((visibility("default"))) @interface AgoraChannelStats : NSObject @property(assign, nonatomic) NSUInteger duration; @property(assign, nonatomic) NSUInteger txBytes; @property(assign, nonatomic) NSUInteger rxBytes; @@ -59,7 +59,7 @@ @property(assign, nonatomic) NSInteger rxPacketLossRate; @end - struct RtcStats { + struct RtcStats { unsigned int duration; unsigned int txBytes; unsigned int rxBytes; @@ -111,7 +111,7 @@ rxPacketLossRate(0) {} }; - public class RtcStats + public class RtcStats { public RtcStats() { @@ -152,11 +152,12 @@ public double memoryTotalUsageRatio { set; get; } public int memoryAppUsageInKbytes { set; get; } public int connectTimeMs { set; get; } - }

          + } +

          - - - struct RtcStats { + + + struct RtcStats { unsigned int duration; unsigned int txBytes; unsigned int rxBytes; @@ -206,7 +207,7 @@ , memoryTotalUsageRatio(0) , memoryAppUsageInKbytes(0) {} }; - public class RtcStats + public class RtcStats { public RtcStats() { @@ -267,7 +268,7 @@ public double memoryTotalUsageRatio { set; get; } public int memoryAppUsageInKbytes { set; get; } } - export interface RtcStats { + export interface RtcStats { duration: number; txBytes: number; rxBytes: number; @@ -292,7 +293,7 @@ memoryTotalUsageRatio: number; memoryAppUsageInKbytes: number; } - export interface RtcStats { + export interface RtcStats { duration: number; txBytes: number; rxBytes: number; @@ -317,7 +318,7 @@ memoryTotalUsageRatio: number; memoryAppUsageInKbytes: number; } - class RtcStats { + class RtcStats { int duration; int txBytes; @@ -374,130 +375,155 @@ _$RtcStatsFromJson(json); Map<String, dynamic> toJson() => _$RtcStatsToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - duration - totalDuration - Call duration of the local user in seconds, represented by an aggregate value. - - - txBytes - The number of bytes sent. - - - rxBytes - The number of bytes received. - - - txAudioBytes - The total number of audio bytes sent, represented by an aggregate value. - - - txVideoBytes - The total number of video bytes sent, represented by an aggregate value. - - - rxAudioBytes - The total number of audio bytes received, represented by an aggregate value. - - - rxVideoBytes - The total number of video bytes received, represented by an aggregate value. - - - txKBitRate - Video transmission bitrate (Kbps), represented by an instantaneous value. - - - rxKBitRate - The receiving bitrate (Kbps), represented by an instantaneous value. - - - rxAudioKBitRate - Audio receive bitrate (Kbps), represented by an instantaneous value. - - - txAudioKBitRate - The bitrate (Kbps) of sending the audio packet. - - - rxVideoKBitRate - Video receive bitrate (Kbps), represented by an instantaneous value. - - - txVideoKBitRate - The bitrate (Kbps) of sending the video. - - - lastmileDelay - The client-to-server delay (milliseconds). - - - txPacketLossRate - The packet loss rate (%) from the client to the Agora server before applying the anti-packet-loss algorithm. - - - rxPacketLossRate - The packet loss rate (%) from the Agora server to the client before using the anti-packet-loss method. - - - userCount - users - The number of users in the channel. - - - cpuAppUsage - The CPU usage (%) of the app. - - - cpuTotalUsage - -

          The system CPU usage (%).

          -

          For Windows, in the multi-kernel environment, this member represents the average CPU usage. The value = 100 - System Idle Progress in Task Manager.

          - The value of cpuTotalUsage is always reported as 0 in the callback.
          -
          - - connectTimeMs - The duration (ms) between the SDK starts connecting and the connection is established. If the value reported is 0, it means invalid. - - - gatewayRtt - The round-trip time delay (ms) from the client to the local router. - - -

          As of v3.3.0, this property is disabled on devices running iOS 14 or later, and enabled on devices running versions earlier than iOS 14 by default.

          -

          This property is disabled on devices running iOS 14 or later, and enabled on devices running versions earlier than iOS 14 by default.

          -

          To enable this property on devices running iOS 14 or later, .

          -
          - -

          To get gatewayRtt, ensure that you add the android.permission.ACCESS_WIFI_STATE permission after </application> in the project AndroidManifest.xml file.

          -
          -
          - - memoryAppUsageRatio - -

          The memory ratio occupied by the app (%).

          - This value is for reference only. Due to system limitations, you may not get this value. -
          -
          - - memoryTotalUsageRatio - -

          The memory occupied by the system (%).

          - This value is for reference only. Due to system limitations, you may not get this value. -
          -
          - - memoryAppUsageInKbytes - -

          The memory size occupied by the app (KB).

          - This value is for reference only. Due to system limitations, you may not get this value. -
          -
          -
          + + duration + totalDuration + Call duration of the local user in seconds, represented by an aggregate + value. + + + txBytes + The number of bytes sent. + + + rxBytes + The number of bytes received. + + + txAudioBytes + The total number of audio bytes sent, represented by an aggregate + value. + + + txVideoBytes + The total number of video bytes sent, represented by an aggregate + value. + + + rxAudioBytes + The total number of audio bytes received, represented by an aggregate + value. + + + rxVideoBytes + The total number of video bytes received, represented by an aggregate + value. + + + txKBitRate + Video transmission bitrate (Kbps), represented by an instantaneous + value. + + + rxKBitRate + The receiving bitrate (Kbps), represented by an instantaneous value. + + + rxAudioKBitRate + Audio receive bitrate (Kbps), represented by an instantaneous value. + + + txAudioKBitRate + The bitrate (Kbps) of sending the audio packet. + + + rxVideoKBitRate + Video receive bitrate (Kbps), represented by an instantaneous value. + + + txVideoKBitRate + The bitrate (Kbps) of sending the video. + + + lastmileDelay + The client-to-server delay (milliseconds). + + + txPacketLossRate + The packet loss rate (%) from the client to the Agora server before applying + the anti-packet-loss algorithm. + + + rxPacketLossRate + The packet loss rate (%) from the Agora server to the client before using + the anti-packet-loss method. + + + userCount + users + The number of users in the channel. + + + cpuAppUsage + The CPU usage (%) of the app. + + + cpuTotalUsage + +

          The system CPU usage (%).

          +

          For Windows, in the multi-kernel environment, + this member represents the average CPU usage. The value = 100 - System + Idle Progress in Task Manager.

          + The value of cpuTotalUsage is always reported as 0 in + the callback.
          +
          + + connectTimeMs + The duration (ms) between the SDK starts connecting and the connection is + established. If the value reported is 0, it means invalid. + + + gatewayRtt + The round-trip time delay (ms) from the client to the local router. +

          As of v3.3.0, this property is disabled on devices + running iOS 14 or later, and enabled on devices running versions + earlier than iOS 14 by default.

          +

          This property is disabled on devices running iOS 14 or + later, and enabled on devices running versions earlier than iOS 14 + by default.

          +

          To enable this property on devices running iOS 14 or later, .

          +
          + +

          To get gatewayRtt, ensure that you add the + android.permission.ACCESS_WIFI_STATE permission + after </application> in the project + AndroidManifest.xml file.

          +
          +
          + + memoryAppUsageRatio + +

          The memory ratio occupied by the app (%).

          + This value is for reference only. Due to system + limitations, you may not get this value. +
          +
          + + memoryTotalUsageRatio + +

          The memory occupied by the system (%).

          + This value is for reference only. Due to system + limitations, you may not get this value. +
          +
          + + memoryAppUsageInKbytes + +

          The memory size occupied by the app (KB).

          + This value is for reference only. Due to system + limitations, you may not get this value. +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_rtcsurfaceview.dita b/en-US/dita/RTC/API/class_rtcsurfaceview.dita index 21dec7ab62e..da4105a5044 100644 --- a/en-US/dita/RTC/API/class_rtcsurfaceview.dita +++ b/en-US/dita/RTC/API/class_rtcsurfaceview.dita @@ -2,18 +2,18 @@ <ph keyref="RtcSurfaceView"/> - The RtcSurfaceView class, which is used for rendering the local and remote video. + The RtcSurfaceView class, which is used for rendering + the local and remote video.

          - - - - - - - class RtcSurfaceView extends StatefulWidget { + + + + + + + class RtcSurfaceView extends StatefulWidget { final int uid; final String? channelId; @@ -44,74 +44,74 @@ State<StatefulWidget> createState() { return _RtcSurfaceViewState(); } -}

          +} +

          -

          This class corresponds to different classes on different platforms: - -

            -
          • Android: SurfaceView.
          • -
          • iOS: UIView.
          • -
          • Web: DivElement.
          • -
          • Does not apply to macOS or Windows.
          • -

          +

          This class corresponds to different classes on different platforms:

            +
          • Android: SurfaceView.
          • +
          • iOS: UIView.
          • +
          • Web: DivElement.
          • +
          • Does not apply to macOS or Windows.
          • +

          - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - The user ID. - - - channelId - -

          - - - - renderMode - The video render mode. For details, see . - - - mirrorMode - The video mirror mode. For details, see . - - - zOrderOnTop - Whether to place the surface on top of another surface view in the window, but still behind the window itsellf. - - This parameter is for Android only. - - - onPlatformViewCreated - Occurs when a platform view is created. - - - gestureRecognizers - -

          The gesture object that should be consumed by the Web view. It is possible for other gesture recognizers to be competing - with the web view on pointer events, e.g if the web view is inside a [ListView] the [ListView] will want to handle vertical - drags. The web view will claim gestures that are recognized by any of the recognizers on this list.

          -

          When this set is empty or null, the web view will only handle pointer events for gestures that were not claimed by any - other gesture recognizer.

          -
          -
          - - subProcess - Whether to create a sub process. - -
          + + uid + The user ID. + + + channelId + +

          + + + + renderMode + The video render mode. For details, see . + + + mirrorMode + The video mirror mode. For details, see . + + + zOrderOnTop + Whether to place the surface on top of another surface view in the window, + but still behind the window itsellf. This parameter is for + Android only. + + + onPlatformViewCreated + Occurs when a platform view is created. + + + gestureRecognizers + +

          The gesture object that should be consumed by the Web view. It is + possible for other gesture recognizers to be competing with the web view + on pointer events, e.g if the web view is inside a [ListView] the + [ListView] will want to handle vertical drags. The web view will claim + gestures that are recognized by any of the recognizers on this list.

          +

          When this set is empty or null, the web view will only handle pointer + events for gestures that were not claimed by any other gesture + recognizer.

          +
          +
          + + subProcess + Whether to create a sub process. + + +
          diff --git a/en-US/dita/RTC/API/class_rtctextureview.dita b/en-US/dita/RTC/API/class_rtctextureview.dita index e87d2c7264b..928bb8996cd 100644 --- a/en-US/dita/RTC/API/class_rtctextureview.dita +++ b/en-US/dita/RTC/API/class_rtctextureview.dita @@ -2,19 +2,18 @@ <ph keyref="RtcTextureView"/> - The RtcTextureView class, which is used for rendering - the local and remote video. + The RtcTextureView class, which is used for rendering + the local and remote video.

          - - - - - - - class RtcTextureView extends StatefulWidget { + + + + + + + class RtcTextureView extends StatefulWidget { final int uid; final String? channelId; @@ -43,61 +42,59 @@ State<StatefulWidget> createState() { return _RtcTextureViewState(); } -}

          +} +

          -

          This class corresponds to different classes in on different platforms: - -

            -
          • Android: TextureView - or FlutterTexture.
          • -
          • iOS/macOS/Windows: FlutterTexture.
          • -
          • Does not apply to Web.
          • -

          +

          This class corresponds to different classes in on different platforms:

            +
          • Android: TextureView or FlutterTexture.
          • +
          • iOS/macOS/Windows: FlutterTexture.
          • +
          • Does not apply to Web.
          • +

          - <text - conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" - /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - - - - - - - - - - - - - - - - - - - - - - - - - useFlutterTexture - Whether to use FlutterTexture for rendering the view. - - - - - -
          + + + + + + + + + + + + + + + + + + + + + + + + + + useFlutterTexture + Whether to use FlutterTexture for rendering the view. + + + + + + +
          diff --git a/en-US/dita/RTC/API/class_screenaudioparameters.dita b/en-US/dita/RTC/API/class_screenaudioparameters.dita index 3b7be56424a..a49e42b23be 100644 --- a/en-US/dita/RTC/API/class_screenaudioparameters.dita +++ b/en-US/dita/RTC/API/class_screenaudioparameters.dita @@ -1,12 +1,13 @@ - <ph keyref="ScreenAudioParameters" /> - The audio configuration for the shared screen stream. + <ph keyref="ScreenAudioParameters"/> + The audio configuration for the shared screen + stream.
          -

          - class ScreenAudioParameters { +

          + class ScreenAudioParameters { final int? captureSignalVolume; const ScreenAudioParameters(this.captureSignalVolume); @@ -15,19 +16,23 @@ _$ScreenAudioParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenAudioParametersToJson(this); } -

          +

          - Only available for scenarios where captureAudio is true. + Only available for scenarios where + captureAudio is true.
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - captureSignalVolume - -

          The volume of the captured system audio. The value range is [0,100]. The default value is 100.

          -
          -
          -
          + + captureSignalVolume + +

          The volume of the captured system audio. The value range is [0,100]. The + default value is 100.

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_screencaptureconfiguration.dita b/en-US/dita/RTC/API/class_screencaptureconfiguration.dita index 3036e01d034..769afa43869 100644 --- a/en-US/dita/RTC/API/class_screencaptureconfiguration.dita +++ b/en-US/dita/RTC/API/class_screencaptureconfiguration.dita @@ -1,14 +1,15 @@ - <ph keyref="ScreenCaptureConfiguration" /> - The configuration of the captured screen. + <ph keyref="ScreenCaptureConfiguration"/> + The configuration of the captured + screen.

          - - - struct ScreenCaptureConfiguration { + + + struct ScreenCaptureConfiguration { bool isCaptureWindow; uint32_t displayId; Rectangle screenRect; @@ -18,8 +19,8 @@ ScreenCaptureConfiguration() : isCaptureWindow(false), displayId(0) {} }; - - public class ScreenCaptureConfiguration { + + public class ScreenCaptureConfiguration { public bool isCaptureWindow { set; get; } public uint displayId { set; get; } public Rectangle screenRect { set; get; } @@ -27,48 +28,56 @@ public ScreenCaptureParameters parameters { set; get; } public Rectangle regionRect { set; get; } } - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - isCaptureWindow - Whether to capture the window on the screen: -
            -
          • : Capture the window.
          • -
          • : (Default) Capture the screen, not the window.
          • -
          -
          - - displayId - (macOS only) The display ID of the screen. - This parameter takes effect - only when you want to capture the screen on macOS. - - - screenRect - (Windows only) The relative position of the shared screen to the virtual screen. - This parameter takes effect only when you want to capture the screen on Windows. - - - windowId - (For Windows and macOS only) - This parameter takes effect only when you want to capture the window. - - - params - (For Windows and macOS only) The screen capture configuration. For details, see . - - - regionRect - -

          (For Windows and macOS only) The relative position of the shared region to the whole screen. For details, see .

          -

          If you do not set this parameter, the SDK shares the whole screen. If the region you set exceeds the boundary of the screen, only the region within in the screen is shared. If you set width or height in - as 0, the whole screen is shared.

          -
          -
          -
          + + isCaptureWindow + Whether to capture the window on the screen:
            +
          • : Capture the window.
          • +
          • : (Default) Capture the screen, + not the window.
          • +
          +
          + + displayId + (macOS only) The display ID of the screen. This parameter takes effect only when you want to + capture the screen on macOS. + + + screenRect + (Windows only) The relative position of the shared screen to the virtual + screen. This parameter takes + effect only when you want to capture the screen on Windows. + + + windowId + (For Windows and macOS only) This parameter takes + effect only when you want to capture the window. + + + params + (For Windows and macOS only) The screen capture configuration. For details, + see . + + + regionRect + +

          (For Windows and macOS only) The relative position of the shared region + to the whole screen. For details, see .

          +

          If you do not set this parameter, the SDK shares the whole screen. If the + region you set exceeds the boundary of the screen, only the region + within in the screen is shared. If you set width or height in as 0, the whole screen is shared.

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_screencaptureinfo.dita b/en-US/dita/RTC/API/class_screencaptureinfo.dita index 411f79a8068..de410c5d1c2 100644 --- a/en-US/dita/RTC/API/class_screencaptureinfo.dita +++ b/en-US/dita/RTC/API/class_screencaptureinfo.dita @@ -1,14 +1,16 @@ - <ph keyref="ScreenCaptureInfo" /> + + <ph keyref="ScreenCaptureInfo"/> + Screen sharing information.

          - - - public class ScreenCaptureInfo + + + public class ScreenCaptureInfo { public ScreenCaptureInfo() { @@ -23,8 +25,8 @@ public string graphicsCardType; public EXCLUDE_WINDOW_ERROR errCode; }; - - class ScreenCaptureInfo { + + class ScreenCaptureInfo { final String graphicsCardType; final ExcludeWindowError errCode; @@ -34,23 +36,29 @@ _$ScreenCaptureInfoFromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureInfoToJson(this); - }

          + } +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - graphicsCardType - -

          Graphics card type, including model information for the graphics card.

          -
          -
          - - errCode - -

          Error code that blocks the window when sharing the screen. See .

          -
          -
          -
          + + graphicsCardType + +

          Graphics card type, including model information for the graphics + card.

          +
          +
          + + errCode + +

          Error code that blocks the window when sharing the screen. See .

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_screencaptureparameters.dita b/en-US/dita/RTC/API/class_screencaptureparameters.dita index 60e85b02e39..1770812157d 100644 --- a/en-US/dita/RTC/API/class_screencaptureparameters.dita +++ b/en-US/dita/RTC/API/class_screencaptureparameters.dita @@ -1,18 +1,18 @@ - <ph keyref="ScreenCaptureParameters" /> + <ph keyref="ScreenCaptureParameters"/> Screen sharing configurations.

          - __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject + __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters: NSObject @property (assign, nonatomic) CGSize dimensions; @property (assign, nonatomic) NSInteger frameRate; @property (assign, nonatomic) NSInteger bitrate; @end - public class ScreenCaptureParameters { + public class ScreenCaptureParameters { private VideoDimensions videoDimensions; private int frameRate; private int bitrate; @@ -62,7 +62,7 @@ return bitrate; } } - struct ScreenCaptureParameters { + struct ScreenCaptureParameters { VideoDimensions dimensions; int frameRate; int bitrate; @@ -84,7 +84,7 @@ ScreenCaptureParameters(int width, int height, int f, int b, bool cur, bool fcs, view_t *ex, int cnt) : dimensions(width, height), frameRate(f), bitrate(b), captureMouseCursor(cur), windowFocus(fcs), excludeWindowList(ex), excludeWindowCount(cnt) {} }; - public class ScreenCaptureParameters + public class ScreenCaptureParameters { public ScreenCaptureParameters() { @@ -132,9 +132,10 @@ public view_t[] excludeWindowList { set; get; } public int excludeWindowCount { set; get; } - }

          + } +

          - __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters : NSObject + __attribute__((visibility("default"))) @interface AgoraScreenCaptureParameters : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) NSInteger frameRate; @property(assign, nonatomic) NSInteger bitrate; @@ -143,8 +144,8 @@ @property(copy, nonatomic) NSArray* _Nullable excludeWindowList; @end - - struct ScreenCaptureParameters { + + struct ScreenCaptureParameters { VideoDimensions dimensions; int frameRate; int bitrate; @@ -153,7 +154,7 @@ view_t* excludeWindowList; int excludeWindowCount; }; - public class ScreenCaptureParameters + public class ScreenCaptureParameters { public ScreenCaptureParameters() { @@ -198,7 +199,7 @@ public view_t[] excludeWindowList { set; get; } public int excludeWindowCount { set; get; } } - export interface ScreenCaptureParameters { + export interface ScreenCaptureParameters { width: number; height: number; frameRate: number; @@ -208,8 +209,8 @@ excludeWindowList: Array<number>; excludeWindowCount: number; } - - class ScreenCaptureParameters { + + class ScreenCaptureParameters { @JsonKey(includeIfNull: false) VideoDimensions? dimensions; @@ -242,121 +243,148 @@ _$ScreenCaptureParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureParametersToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - videoDimensions - -

          The maximum dimensions of encoding the shared region. For details, see . The default value is 1,920 × 1,080, that is, - 2,073,600 pixels. Agora uses the value of this parameter to calculate the charges.

          -

          If the screen dimensions are different from the value of this parameter, Agora applies the following strategies for encoding. Suppose dimensions are set to 1,920 x 1,080: - -

            -
          • If the value of the screen dimensions is lower than that of dimensions, for example, 1,000 x 1,000 pixels, the SDK uses 1,000 x 1,000 pixels - for encoding.
          • -
          • If the value of the screen dimensions is larger than that of dimensions, for example, 2,000 × 1,500, the SDK uses - the maximum value next to 1,920 × 1,080 with the aspect ratio of the screen dimension (4:3) for encoding, that is, 1,440 × 1,080.
          • -

          -
          -
          - - frameRate - The frame rate (fps) of the shared region. The default value is 5. Agora does not recommend setting it to a value greater than 15. - - - bitrate - The bitrate (Kbps) of the shared region. The default value is 0, which represents that the SDK works out a bitrate according to the dimensions of the current screen. - - - captureMouseCursor - -
          - -
          Since
          -
          v2.4.1
          -
          -
          -

          Whether to capture the mouse in screen sharing:

          -
            -
          • : (Default) Capture the mouse.
          • -
          • : Do not capture the mouse.
          • -
          -
          - - captureMouseCursor - -

          Whether to capture the mouse in screen sharing: - -

            -
          • : (Default) Capture the mouse.
          • -
          • : Do not capture the mouse.
          • -

          -
          -
          - - windowFocus - -
          - -
          Since
          -
          v3.1.0
          -
          -
          -

          Whether to bring the window to the front when calling the method to share it: - -

            -
          • :Bring the window to the front.
          • -
          • : (Default) Do not bring the window to the front.
          • -

          -
          -
          - - windowFocus - -

          Whether to bring the window to the front when calling the method to share it: - -

            -
          • :Bring the window to the front.
          • -
          • : (Default) Do not bring the window to the front.
          • -

          -
          -
          - - excludeWindowList - -
          - -
          Since
          -
          v3.1.0
          -
          -
          -

          The ID list of the cpp to be blocked. When calling to start screen sharing, you can use this parameter to block a specified window. When calling to update screen sharing configurations, you can use this parameter to dynamically block a specified window.

          -
          -
          - - excludeWindowList - -

          The ID list of the cpp to be blocked. When calling to start screen sharing, you can use this parameter to block a specified window. When calling to update screen sharing configurations, you can use this parameter to dynamically block a specified window.

          -
          -
          - - excludeWindowCount - -

          The number of cpp to be blocked.

          -
          -
          - - width - The width of the region. - - - height - The height of the region. - -
          + + dimensions + videoDimensions + +

          The maximum dimensions of encoding the shared region. For details, see . The default value is 1,920 × + 1,080, that is, 2,073,600 pixels. Agora uses the value of this parameter + to calculate the charges.

          +

          If the screen dimensions are different from the value of this parameter, + Agora applies the following strategies for encoding. Suppose + dimensions are set to 1,920 x 1,080:

            +
          • If the value of the screen dimensions is lower than that of + dimensions, for example, 1,000 x 1,000 + pixels, the SDK uses 1,000 x 1,000 pixels for encoding.
          • +
          • If the value of the screen dimensions is larger than that of + dimensions, for example, 2,000 × 1,500, the + SDK uses the maximum value next to 1,920 × 1,080 with the aspect + ratio of the screen dimension (4:3) for encoding, that is, 1,440 + × 1,080.
          • +

          +
          +
          + + frameRate + The frame rate (fps) of the shared region. The default value is 5. Agora + does not recommend setting it to a value greater than 15. + + + bitrate + The bitrate (Kbps) of the shared region. The default value is 0, which + represents that the SDK works out a bitrate according to the dimensions of + the current screen. + + + captureMouseCursor + +
          + +
          Since
          +
          v2.4.1
          +
          +
          +

          Whether to capture the mouse in screen sharing:

          +
            +
          • : (Default) Capture the + mouse.
          • +
          • : Do not capture the + mouse.
          • +
          +
          + + captureMouseCursor + +

          Whether to capture the mouse in screen sharing:

            +
          • : (Default) Capture the + mouse.
          • +
          • : Do not capture the + mouse.
          • +

          +
          +
          + + windowFocus + +
          + +
          Since
          +
          v3.1.0
          +
          +
          +

          Whether to bring the window to the front when calling the method to share it:

            +
          • :Bring the window to the + front.
          • +
          • : (Default) Do not bring + the window to the front.
          • +

          +
          +
          + + windowFocus + +

          Whether to bring the window to the front when calling the method to share it:

            +
          • :Bring the window to the + front.
          • +
          • : (Default) Do not bring + the window to the front.
          • +

          +
          +
          + + excludeWindowList + +
          + +
          Since
          +
          v3.1.0
          +
          +
          +

          The ID list of the cpp to be blocked. When calling to start screen sharing, + you can use this parameter to block a specified window. When calling + to update screen + sharing configurations, you can use this parameter to dynamically block + a specified window.

          +
          +
          + + excludeWindowList + +

          The ID list of the cpp to be blocked. When calling to start screen sharing, + you can use this parameter to block a specified window. When calling + to update screen + sharing configurations, you can use this parameter to dynamically block + a specified window.

          +
          +
          + + excludeWindowCount + +

          The number of cpp to be blocked.

          +
          +
          + + width + The width of the region. + + + height + The height of the region. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_screencaptureparameters2.dita b/en-US/dita/RTC/API/class_screencaptureparameters2.dita index e4f9c9ff232..29d16b7cc45 100644 --- a/en-US/dita/RTC/API/class_screencaptureparameters2.dita +++ b/en-US/dita/RTC/API/class_screencaptureparameters2.dita @@ -1,12 +1,12 @@ - <ph keyref="ScreenCaptureParameters2" /> + <ph keyref="ScreenCaptureParameters2"/> Screen sharing configurations.
          -

          - class ScreenCaptureParameters2 { +

          + class ScreenCaptureParameters2 { final bool? captureAudio; final ScreenAudioParameters? audioParams; final bool? captureVideo; @@ -23,48 +23,58 @@ _$ScreenCaptureParameters2FromJson(json); Map<String, dynamic> toJson() => _$ScreenCaptureParameters2ToJson(this); } -

          +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - captureAudio - -

          Determines whether to capture system audio during screen sharing: -

            -
          • true: Capture.
          • -
          • false: (Default) Do not capture.
          • -
          - On Android, due to system limitations, capturing system audio is only available for Android API level 29 and later (that is, Android 10 and later). -

          -
          -
          - - audioParams - -

          The audio configuration for the shared screen stream. See . - This parameter is only available for scenarios where captureAudio is true.

          -
          -
          - - captureVideo - -

          Determines whether to capture system video during screen sharing: -

            -
          • true: Capture.
          • -
          • false: (Default) Do not capture.
          • -
          - On Android, due to system limitations, screen capture is only available for Android API level 21 and later (that is, Android 5 and later). -

          -
          -
          - - videoParams - -

          The video configuration for the shared screen stream. See . - This parameter is only available for scenarios where captureVideo is true.

          -
          -
          -
          + + captureAudio + +

          Determines whether to capture system audio during screen sharing:

            +
          • true: Capture.
          • +
          • false: (Default) Do not capture.
          • +
          + On Android, due to system limitations, capturing + system audio is only available for Android API level 29 and later + (that is, Android 10 and later). +

          +
          +
          + + audioParams + +

          The audio configuration for the shared screen stream. See . This + parameter is only available for scenarios where + captureAudio is + true.

          +
          +
          + + captureVideo + +

          Determines whether to capture system video during screen sharing:

            +
          • true: Capture.
          • +
          • false: (Default) Do not capture.
          • +
          + On Android, due to system limitations, screen + capture is only available for Android API level 21 and later (that + is, Android 5 and later). +

          +
          +
          + + videoParams + +

          The video configuration for the shared screen stream. See . This + parameter is only available for scenarios where + captureVideo is + true.

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_screencapturesourceinfo.dita b/en-US/dita/RTC/API/class_screencapturesourceinfo.dita index c1a09c19c62..7553ec14fb7 100644 --- a/en-US/dita/RTC/API/class_screencapturesourceinfo.dita +++ b/en-US/dita/RTC/API/class_screencapturesourceinfo.dita @@ -1,14 +1,15 @@ - <ph keyref="ScreenCaptureSourceInfo" /> - The information about the specified shareable window or screen. It is returned in . + <ph keyref="ScreenCaptureSourceInfo"/> + The information about the specified shareable window or + screen. It is returned in .

          - - - struct ScreenCaptureSourceInfo { + + + struct ScreenCaptureSourceInfo { ScreenCaptureSourceType type; view_t sourceId; const char* sourceName; @@ -19,59 +20,66 @@ bool primaryMonitor; ScreenCaptureSourceInfo() : type(ScreenCaptureSourceType_Unknown), sourceId(nullptr), sourceName(nullptr), processPath(nullptr), sourceTitle(nullptr), primaryMonitor(false) {} }; - - - -

          + + + + +

          - -
          Since
          -
          v3.5.2
          -
          + +
          Since
          +
          v3.5.2
          +
          -

          +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - The type of the shared target. See for details. - - - sourceId - The window ID for a window or the display ID for a screen. - - - sourceName - The name of the window or screen. UTF-8 encoding. - - - thumbImage - The image content of the thumbnail. See for details. - - - iconImage - The image content of the icon. See for details. - - - processPath - The process to which the window belongs. UTF-8 encoding. - - - sourceTitle - The title of the window. UTF-8 encoding. - - - primaryMonitor - Determines whether the screen is the primary display: -
            -
          • : The screen is the primary display.
          • -
          • : The screen is not the primary display.
          • -
          -
          -
          + + type + The type of the shared target. See + for details. + + + sourceId + The window ID for a window or the display ID for a screen. + + + sourceName + The name of the window or screen. UTF-8 encoding. + + + thumbImage + The image content of the thumbnail. See + for details. + + + iconImage + The image content of the icon. See for + details. + + + processPath + The process to which the window belongs. UTF-8 encoding. + + + sourceTitle + The title of the window. UTF-8 encoding. + + + primaryMonitor + Determines whether the screen is the primary display:
            +
          • : The screen is the primary + display.
          • +
          • : The screen is not the primary + display.
          • +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_screensymbol.dita b/en-US/dita/RTC/API/class_screensymbol.dita index 1f244f3d21a..820919527cd 100644 --- a/en-US/dita/RTC/API/class_screensymbol.dita +++ b/en-US/dita/RTC/API/class_screensymbol.dita @@ -1,25 +1,26 @@ - <ph keyref="ScreenSymbol" /> + <ph keyref="ScreenSymbol"/> The screen to be shared.

          - - - - export type ScreenSymbol = number | Rectangle; - - -

          + + + + export type ScreenSymbol = number | Rectangle; + + + +

          -

          The display ID (macOS) or ScreenRect that identifies the screen. You can set it as one of the following values: -

            -
          • Number: The display ID for macOS.
          • -
          • : The Screen Rect for Windows.
          • -

          +

          The display ID (macOS) or ScreenRect that identifies the screen. You can set it as + one of the following values:

            +
          • Number: The display ID for macOS.
          • +
          • : The Screen Rect for Windows.
          • +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_screenvideoparameters.dita b/en-US/dita/RTC/API/class_screenvideoparameters.dita index a057c27d55b..731bb1c3ca3 100644 --- a/en-US/dita/RTC/API/class_screenvideoparameters.dita +++ b/en-US/dita/RTC/API/class_screenvideoparameters.dita @@ -1,12 +1,13 @@ - <ph keyref="ScreenVideoParameters" /> - The video configuration for the shared screen stream. + <ph keyref="ScreenVideoParameters"/> + The video configuration for the shared screen + stream.
          -

          - class ScreenVideoParameters { +

          + class ScreenVideoParameters { final VideoDimensions? dimensions; final int? frameRate; final int? bitrate; @@ -19,46 +20,73 @@ _$ScreenVideoParametersFromJson(json); Map<String, dynamic> toJson() => _$ScreenVideoParametersToJson(this); } -

          +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - -

          The video encoding resolution. The default value is 1280 × 720. For recommended values, see Recommended video profiles.

          -

          If the aspect ratio is different between dimensions and the screen, the SDK adjusts the video encoding resolution according to the following rules (using an example value for dimensions of 1280 × 720): -

            -
          • When the width and height of the screen are both lower than those of dimensions, the SDK uses the resolution of the screen for video encoding. For example, if the screen is 640 × 360, the SDK uses 640 × 360 for video encoding.
          • -
          • When either the width or height of the screen is higher than that of dimensions, the SDK uses the maximum values that do not exceed those of dimensions while maintaining the aspect ratio of the screen for video encoding. For example, if the screen is 2000 × 1500, the SDK uses 960 × 720 for video encoding.
          • -

          - -
            -
          • The billing of the screen sharing stream is based on the value of dimensions. When you do not pass in a value, Agora bills you at 1280 × 720; when you pass a value in, Agora bills you at that value. For details, see Pricing for Real-time Communication.
          • -
          • This value does not indicate the orientation mode of the output ratio. For how to set the video orientation, see .
          • -
          • Whether the SDK can support a resolution at 720P depends on the performance of the device. If you set 720P but the device cannot support it, the video frame rate can be lower.
          • -
          -
          -
          -
          - - frameRate - -

          The video encoding frame rate (fps). The default value is 15. For recommended values, see Recommended video profiles.

          -
          -
          - - bitrate - -

          The video encoding bitrate (Kbps). For recommended values, see Recommended video profiles.

          -
          -
          - - contentHint - -

          The content hint of the screen sharing. See .

          -
          -
          -
          + + dimensions + +

          The video encoding resolution. The default value is 1280 × 720. For + recommended values, see Recommended + video profiles.

          +

          If the aspect ratio is different between dimensions and + the screen, the SDK adjusts the video encoding resolution according to + the following rules (using an example value for + dimensions of 1280 × 720):

            +
          • When the width and height of the screen are both lower than + those of dimensions, the SDK uses the + resolution of the screen for video encoding. For example, if the + screen is 640 × 360, the SDK uses 640 × 360 for video + encoding.
          • +
          • When either the width or height of the screen is higher than + that of dimensions, the SDK uses the maximum + values that do not exceed those of dimensions while maintaining + the aspect ratio of the screen for video encoding. For example, + if the screen is 2000 × 1500, the SDK uses 960 × 720 for video + encoding.
          • +

          + +
            +
          • The billing of the screen sharing stream is based on the value + of dimensions. When you do not pass in a value, + Agora bills you at 1280 × 720; when you pass a value in, Agora + bills you at that value. For details, see Pricing for Real-time Communication.
          • +
          • This value does not indicate the orientation mode of the output + ratio. For how to set the video orientation, see .
          • +
          • Whether the SDK can support a resolution at 720P depends on the + performance of the device. If you set 720P but the device cannot + support it, the video frame rate can be lower.
          • +
          +
          +
          +
          + + frameRate + +

          The video encoding frame rate (fps). The default value is 15. For + recommended values, see Recommended + video profiles.

          +
          +
          + + bitrate + +

          The video encoding bitrate (Kbps). For recommended values, see Recommended video profiles.

          +
          +
          + + contentHint + +

          The content hint of the screen sharing. See .

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_simulcaststreamconfig.dita b/en-US/dita/RTC/API/class_simulcaststreamconfig.dita index cdd6867b1eb..19a2c67b70b 100644 --- a/en-US/dita/RTC/API/class_simulcaststreamconfig.dita +++ b/en-US/dita/RTC/API/class_simulcaststreamconfig.dita @@ -1,12 +1,13 @@ - <ph keyref="SimulcastStreamConfig" /> - The configuration of the low-quality video stream. + <ph keyref="SimulcastStreamConfig"/> + The configuration of the low-quality video + stream.

          - public class SimulcastStreamConfig { + public class SimulcastStreamConfig { public VideoEncoderConfiguration.VideoDimensions dimensions; public int bitrate; public int framerate; @@ -24,12 +25,12 @@ this.framerate = framerate; } } - __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject + __attribute__((visibility("default"))) @interface AgoraSimulcastStreamConfig: NSObject @property (assign, nonatomic) int bitrate; @property (assign, nonatomic) int framerate; @property (assign, nonatomic) CGSize dimensions; @end - struct SimulcastStreamConfig { + struct SimulcastStreamConfig { VideoDimensions dimensions; int bitrate; int framerate; @@ -38,8 +39,8 @@ return dimensions == rhs.dimensions && bitrate == rhs.bitrate && framerate == rhs.framerate; } }; - - public class SimulcastStreamConfig { + + public class SimulcastStreamConfig { public SimulcastStreamConfig() { dimensions = new VideoDimensions(160, 120); @@ -57,24 +58,31 @@ public int bitrate { set; get; } public int framerate { set; get; } } - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - The video dimensions, see . The default value is 160 × 120. - - - bitrate - Video receive bitrate (Kbps), represented by an instantaneous value. The default value of the log level is 5. - - - frameRate - The capture frame rate (fps) of the local video. The default value is 5. - -
          + + dimensions + The video dimensions, see . The default value is 160 × + 120. + + + bitrate + Video receive bitrate (Kbps), represented by an instantaneous value. The + default value of the log level is 5. + + + frameRate + The capture frame rate (fps) of the local video. The default value is + 5. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_size.dita b/en-US/dita/RTC/API/class_size.dita index a723dfd4a8c..e4fad59880b 100644 --- a/en-US/dita/RTC/API/class_size.dita +++ b/en-US/dita/RTC/API/class_size.dita @@ -1,58 +1,64 @@ - <ph keyref="SIZE" /> - The target size of the thumbnail or icon. + <ph keyref="SIZE"/> + The target size of the thumbnail or + icon.

          - - - struct SIZE { + + + struct SIZE { int width; int height; SIZE() : width(0), height(0) {} SIZE(int ww, int hh) : width(ww), height(hh) {} }; - - - -

          + + + + +

          - - - struct SIZE { + + + struct SIZE { int width; int height; SIZE() : width(0), height(0) {} SIZE(int w, int h) : width(w), height(h) {} }; - - - -

          + + + + +

          - -
          Since
          -
          v3.5.2
          -
          + +
          Since
          +
          v3.5.2
          +

          - This method applies to macOS only.

          + This method applies to macOS only.

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - The target width (px) of the thumbnail or icon. The default value is 0. - - - height - The target height (px) of the thumbnail or icon. The default value is 0. - -
          + + width + The target width (px) of the thumbnail or icon. The default value is 0. + + + height + The target height (px) of the thumbnail or icon. The default value is + 0. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_spatialaudioparams.dita b/en-US/dita/RTC/API/class_spatialaudioparams.dita index f2a9c034c4e..3d8e3e46166 100644 --- a/en-US/dita/RTC/API/class_spatialaudioparams.dita +++ b/en-US/dita/RTC/API/class_spatialaudioparams.dita @@ -1,12 +1,12 @@ - <ph keyref="SpatialAudioParams" /> + <ph keyref="SpatialAudioParams"/> The spatial audio parameters.

          - public class SpatialAudioParams { + public class SpatialAudioParams { public Double speaker_azimuth; public Double speaker_elevation; public Double speaker_distance; @@ -14,7 +14,7 @@ public Boolean enable_blur; public Boolean enable_air_absorb; } - __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject + __attribute__((visibility("default"))) @interface AgoraSpatialAudioParams : NSObject @property(strong, nonatomic) AgoraRtcDoubleOptional* _Nullable speaker_azimuth; @property(strong, nonatomic) AgoraRtcDoubleOptional* _Nullable speaker_elevation; @property(strong, nonatomic) AgoraRtcDoubleOptional* _Nullable speaker_distance; @@ -23,7 +23,7 @@ @property(strong, nonatomic) AgoraRtcBoolOptional* _Nullable enable_air_absorb; @end - struct SpatialAudioParams { + struct SpatialAudioParams { Optional<double> speaker_azimuth; Optional<double> speaker_elevation; Optional<double> speaker_distance; @@ -31,8 +31,8 @@ Optional<bool> enable_blur; Optional<bool> enable_air_absorb; }; - - public class SpatialAudioParams + + public class SpatialAudioParams { public double speaker_azimuth { set; get; } public double speaker_elevation { set; get; } @@ -41,60 +41,79 @@ public bool enable_blur { set; get; } public bool enable_air_absorb { set; get; } }; - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - speaker_azimuth - The azimuth angle of the remote user or media player relative to the local user. The value range is [0,360], and the unit is degrees, as defined by the following main directions: -
            -
          • 0: (Default) 0 degrees, which means directly to the front on the horizontal plane.
          • -
          • 90: 90 degrees, which means directly to the left on the horizontal plane.
          • -
          • 180: 180 degrees, which means directly to the back on the horizontal plane.
          • -
          • 270: 270 degrees, which means directly to the right on the horizontal plane.
          • -
          • 360: 360 degrees, which means directly to the front on the horizontal plane.
          • -
          -
          - - speaker_elevation - The elevation angle of the remote user or media player relative to the local user. The value range is [-90,90], and the unit is degrees, as defined by the following main directions: -
            -
          • 0: (Default) 0 degrees, which means that the horizontal plane is not rotated.
          • -
          • -90: -90 degrees, which means that the horizontal plane is rotated 90 degrees downwards.
          • -
          • 90: 90 degrees, which means that the horizontal plane is rotated 90 degrees upwards.
          • -
          -
          - - speaker_distance - The distance of the remote user or media player relative to the local user. The value range is [1,50], and the unit is meters. The default value is 1 meter. - - - speaker_orientation - The orientation of the remote user or media player relative to the local user. The value range is [0,180], and the unit is degrees, as defined by the following main directions: -
            -
          • 0: (Default) 0 degrees, which means that the sound source and listener face the same direction.
          • -
          • 180: 180 degrees, which means that the sound source and listener face each other.
          • -
          -
          - - enable_blur - Whether to enable audio blurring: -
            -
          • : Enable blurring.
          • -
          • : (Default) Disable blurring.
          • -
          -
          - - enable_air_absorb - Whether to enable air absorption. This function simulates the energy attenuation of audio when the audio transmits in the air: -
            -
          • : (Default) Enable air absorption.
          • -
          • : Disable air absorption.
          • -
          -
          -
          + + speaker_azimuth + The azimuth angle of the remote user or media player relative to the local + user. The value range is [0,360], and the unit is degrees, as defined by the + following main directions:
            +
          • 0: (Default) 0 degrees, which means directly to the front on the + horizontal plane.
          • +
          • 90: 90 degrees, which means directly to the left on the horizontal + plane.
          • +
          • 180: 180 degrees, which means directly to the back on the horizontal + plane.
          • +
          • 270: 270 degrees, which means directly to the right on the + horizontal plane.
          • +
          • 360: 360 degrees, which means directly to the front on the + horizontal plane.
          • +
          +
          + + speaker_elevation + The elevation angle of the remote user or media player relative to the local + user. The value range is [-90,90], and the unit is degrees, as defined by + the following main directions:
            +
          • 0: (Default) 0 degrees, which means that the horizontal plane is not + rotated.
          • +
          • -90: -90 degrees, which means that the horizontal plane is rotated + 90 degrees downwards.
          • +
          • 90: 90 degrees, which means that the horizontal plane is rotated 90 + degrees upwards.
          • +
          +
          + + speaker_distance + The distance of the remote user or media player relative to the local user. + The value range is [1,50], and the unit is meters. The default value is 1 + meter. + + + speaker_orientation + The orientation of the remote user or media player relative to the local + user. The value range is [0,180], and the unit is degrees, as defined by the + following main directions:
            +
          • 0: (Default) 0 degrees, which means that the sound source and + listener face the same direction.
          • +
          • 180: 180 degrees, which means that the sound source and listener + face each other.
          • +
          +
          + + enable_blur + Whether to enable audio blurring:
            +
          • : Enable blurring.
          • +
          • : (Default) Disable + blurring.
          • +
          +
          + + enable_air_absorb + Whether to enable air absorption. This function simulates the energy + attenuation of audio when the audio transmits in the air:
            +
          • : (Default) Enable air + absorption.
          • +
          • : Disable air absorption.
          • +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_srcinfo.dita b/en-US/dita/RTC/API/class_srcinfo.dita index bcc123c6a54..a22dc8b3dad 100644 --- a/en-US/dita/RTC/API/class_srcinfo.dita +++ b/en-US/dita/RTC/API/class_srcinfo.dita @@ -1,44 +1,48 @@ - <ph keyref="SrcInfo" /> - Information about the video bitrate of the media resource being played. + <ph keyref="SrcInfo"/> + Information about the video bitrate of the media + resource being played.

          - public class SrcInfo { + public class SrcInfo { private int bitrateInKbps; private String name; public SrcInfo() {} } - __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraMediaPlayerSrcInfo : NSObject @property(assign, nonatomic) int bitrateInKbps; @property(copy, nonatomic) NSString *_Nullable name; @end - struct SrcInfo { + struct SrcInfo { int bitrateInKbps; const char* name; }; - - public class SrcInfo { + + public class SrcInfo { public int bitrateInKbps; public string name; }; - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - bitrateInKbps - The video bitrate (Kbps) of the media resource being played. - - - name - The name of the media resource. - -
          + + bitrateInKbps + The video bitrate (Kbps) of the media resource being played. + + + name + The name of the media resource. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_thumbimagebuffer.dita b/en-US/dita/RTC/API/class_thumbimagebuffer.dita index 5b1f9871f17..3fcb2351074 100644 --- a/en-US/dita/RTC/API/class_thumbimagebuffer.dita +++ b/en-US/dita/RTC/API/class_thumbimagebuffer.dita @@ -1,46 +1,52 @@ - <ph keyref="ThumbImageBuffer" /> - The image content of the thumbnail or icon. + <ph keyref="ThumbImageBuffer"/> + The image content of the thumbnail or + icon.

          - - - struct ThumbImageBuffer { + + + struct ThumbImageBuffer { const char* buffer; unsigned int length; unsigned int width; unsigned int height; ThumbImageBuffer() : buffer(nullptr), length(0), width(0), height(0) {} }; - - - -

          + + + + +

          - The default image is in the RGBA format. If you need to use another format, you need to convert the image on your own.
          + The default image is in the RGBA format. If you need to use + another format, you need to convert the image on your own. +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - buffer - The buffer of the thumbnail ot icon. - - - length - The buffer length of the thumbnail or icon, in bytes. - - - width - The actual width (px) of the thumbnail or icon. - - - height - The actual height (px) of the thumbnail or icon. - -
          + + buffer + The buffer of the thumbnail ot icon. + + + length + The buffer length of the thumbnail or icon, in bytes. + + + width + The actual width (px) of the thumbnail or icon. + + + height + The actual height (px) of the thumbnail or icon. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_transcodinguser.dita b/en-US/dita/RTC/API/class_transcodinguser.dita index 493c1a4d863..54a43494425 100644 --- a/en-US/dita/RTC/API/class_transcodinguser.dita +++ b/en-US/dita/RTC/API/class_transcodinguser.dita @@ -1,12 +1,13 @@ - <ph keyref="TranscodingUser" /> - Transcoding configurations of each host. + <ph keyref="TranscodingUser"/> + Transcoding configurations of each + host.

          - public static class TranscodingUser { + public static class TranscodingUser { public int uid; public String userId; @@ -23,7 +24,7 @@ alpha = 1; } } - __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject + __attribute__((visibility("default"))) @interface AgoraLiveTranscodingUser : NSObject @property(assign, nonatomic) NSUInteger uid; @property(assign, nonatomic) CGRect rect; @@ -31,7 +32,7 @@ @property(assign, nonatomic) double alpha; @property(assign, nonatomic) NSInteger audioChannel; @end - truct TranscodingUser { + truct TranscodingUser { uid_t uid; int x; int y; @@ -50,7 +51,7 @@ alpha(1.0), audioChannel(0) {} }; - public class TranscodingUser + public class TranscodingUser { public TranscodingUser() { @@ -79,7 +80,7 @@ public double alpha { set; get; } public int audioChannel { set; get; } } - export interface TranscodingUser { + export interface TranscodingUser { uid: number; x: number; y: number; @@ -89,8 +90,8 @@ alpha: number; audioChannel: number; } - - class TranscodingUser { + + class TranscodingUser { int uid; @@ -130,90 +131,110 @@ _$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 - -

          The user ID of the host.

          -
          -
          - - x - -

          The x coordinate (pixel) of the host's video on the output video frame (taking the upper left corner of the video frame as the origin). The value range is [0, width], where width is the width set in .

          -
          -
          - - y - The y coordinate (pixel) of the host's video on the output video frame (taking the upper left corner of the video frame as the origin). The value range is [0, height], where height is the height set in . - - - width - The width (pixel) of the host's video. - - - height - -

          The height (pixel) of the host's video.

          -
          -
          - - rect - The position and size of the host's video in the output image. The data size is CGRect. - - - zOrder - -

          The layer index number of the host's video. The value range is [0, 100]. - -

            -
          • 0: (Default) The host's video is the bottom layer.
          • -
          • 100: The host's video is the top layer.
          • -

          - -
            -
          • If the value is beyond this range, the SDK reports the error code ERR_INVALID_ARGUMENT.
          • -
          • As of v2.3, the SDK supports setting zOrder to 0.
          • -
          -
          - - alpha - -

          The transparency of the host's video. The value range is [0.0, 1.0]. - -

            -
          • 0.0: Completely transparent.
          • -
          • 1.0: (Default) Opaque.
          • -

          -
          -
          - - audioChannel - -

          The audio channel used by the host's audio in the output audio. The default value is 0, and the value range is [0, 5]. - -

            -
          • 0: (Recommended) The defaut setting, which supports dual channels at most and depends on the upstream of the host.
          • -
          • 1: The host's audio uses the FL audio channel. If the host's upstream uses multiple audio channels, the Agora + + uid + +

            The user ID of the host.

            +
            +
            + + x + +

            The x coordinate (pixel) of the host's video on the output video frame + (taking the upper left corner of the video frame as the origin). The + value range is [0, width], where width is the width set in .

            +
            +
            + + y + The y coordinate (pixel) of the host's video on the output video frame + (taking the upper left corner of the video frame as the origin). The value + range is [0, height], where height is the height set in . + + + width + The width (pixel) of the host's video. + + + height + +

            The height (pixel) of the host's video.

            +
            +
            + + rect + The position and size of the host's video in the output image. The data size + is CGRect. + + + zOrder + +

            The layer index number of the host's video. The value range is [0, 100].

              +
            • 0: (Default) The host's video is the bottom layer.
            • +
            • 100: The host's video is the top layer.
            • +
            +

            + +
              +
            • If the value is beyond this range, the SDK reports the error + code ERR_INVALID_ARGUMENT.
            • +
            • As of v2.3, the SDK supports setting zOrder to 0.
            • +
            +
            +
            +
            + + alpha + +

            The transparency of the host's video. The value range is [0.0, 1.0].

              +
            • 0.0: Completely transparent.
            • +
            • 1.0: (Default) Opaque.
            • +
            +

            +
            +
            + + audioChannel + +

            The audio channel used by the host's audio in the output audio. The + default value is 0, and the value range is [0, 5].

              +
            • 0: (Recommended) The defaut setting, which + supports dual channels at most and depends on the upstream of + the host.
            • +
            • 1: The host's audio uses the FL audio channel. + If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.
            • -
            • 2: The host's audio uses the FC audio channel. If the host's upstream uses multiple audio channels, the Agora +
            • 2: The host's audio uses the FC audio channel. + If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.
            • -
            • 3: The host's audio uses the FR audio channel. If the host's upstream uses multiple audio channels, the Agora +
            • 3: The host's audio uses the FR audio channel. + If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.
            • -
            • 4: The host's audio uses the BL audio channel. If the host's upstream uses multiple audio channels, the Agora +
            • 4: The host's audio uses the BL audio channel. + If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.
            • -
            • 5: The host's audio uses the BR audio channel. If the host's upstream uses multiple audio channels, the Agora +
            • 5: The host's audio uses the BR audio channel. + If the host's upstream uses multiple audio channels, the Agora server mixes them into mono first.
            • -
            • 0xFF or a value greater than 5: The host's audio is muted, and the Agora +
            • 0xFF or a value greater than + 5: The host's audio is muted, and the Agora server removes the host's audio.
            • -
            - If the value is not 0, a special player is required.

            -
            -
            -
          + + If the value is not 0, a special + player is required.

          + + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_transcodingvideostream.dita b/en-US/dita/RTC/API/class_transcodingvideostream.dita index 81363915892..75b47dd4869 100644 --- a/en-US/dita/RTC/API/class_transcodingvideostream.dita +++ b/en-US/dita/RTC/API/class_transcodingvideostream.dita @@ -1,13 +1,14 @@ - <ph keyref="TranscodingVideoStream" /> - The video streams for the video mixing on the local client. + <ph keyref="TranscodingVideoStream"/> + The video streams for the video mixing on the local + client.

          - - __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject + + __attribute__((visibility("default"))) @interface AgoraTranscodingVideoStream: NSObject @property (assign, nonatomic) AgoraMediaSourceType sourceType; @property (assign, nonatomic) NSUInteger remoteUserUid; @property (copy, nonatomic) NSString * _Nullable imageUrl; @@ -16,7 +17,7 @@ @property(assign, nonatomic) double alpha; @end - struct TranscodingVideoStream { + struct TranscodingVideoStream { agora::media::MEDIA_SOURCE_TYPE sourceType; uid_t remoteUserUid; const char* imageUrl; @@ -40,8 +41,8 @@ alpha(1.0), mirror(false) {} }; - - public class TranscodingVideoStream + + public class TranscodingVideoStream { public TranscodingVideoStream() { @@ -73,96 +74,116 @@ public double alpha { set; get; } public bool mirror { set; get; } } - -

          + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - sourceType - -

          The source type of video for the video mixing on the local client. See .

          -
          -
          - - remoteUserUid - -

          The ID of the remote user. - Use this parameter only when the source type of the video for the video mixing on the local client is .

          -
          -
          - - connectionId - -

          The connection ID of the remote user. - -

            -
          • Use this parameter only when the source type of the video for the video mixing on the local client is .
          • -
          • If you join only one channel, set this parameter as the default value.
          • -

          -
          -
          - - imageUrl - -

          The URL of the image. - - Use this parameter only when the source type of the video for the video mixing on the local client is RTC_IMAGEImage.

          -
          -
          - - x - -

          The horizontal displacement of the top-left corner of the video for the video mixing on the client relative to the top-left corner (origin) of the canvas for this video mixing.

          -
          -
          - - y - -

          The vertical displacement of the top-left corner of the video for the video mixing on the client relative to the top-left corner (origin) of the canvas for this video mixing.

          -
          -
          - - width - -

          The width (px) of the video for the video mixing on the local client.

          -
          -
          - - heigh - -

          The height (px) of the video for the video mixing on the local client.

          -
          -
          - - rect - The position and size of the top-left corner of the video for the video mixing on the client relative to the top-left corner (origin) of the canvas for this video mixing. - - - zOrder - The number of the layer to which the video for the video mixing on the local client belongs. The value range is [0,100]. - -
            -
          • 0: (Default) The layer is at the bottom.
          • -
          • 100: The layer is at the top.
          • -
          -
          - - alpha - -

          The transparency of the video for the video mixing on the local client. The value range is [0.0,1.0]. 0.0 means the transparency is completely transparent. 1.0 means the transparency is opaque.

          -
          -
          - - mirror - Whether to mirror the video for the video mixing on the local client. -
            -
          • : Mirroring.
          • -
          • : (Default) Do not mirror.
          • -
          - The paramter only works for videos with the source type CAMERA.
          -
          -
          + + sourceType + +

          The source type of video for the video mixing on the local client. See + .

          +
          +
          + + remoteUserUid + +

          The ID of the remote user. Use this parameter only when the source type of the video for the + video mixing on the local client is .

          +
          +
          + + connectionId + +

          The connection ID of the remote user. +

            +
          • Use this parameter only when the source type of the video + for the video mixing on the local client is .
          • +
          • If you join only one channel, set this parameter as the + default value.
          • +
          +

          +
          +
          + + imageUrl + +

          The URL of the image. Use + this parameter only when the source type of the video for the video + mixing on the local client is RTC_IMAGEImage.

          +
          +
          + + x + +

          The horizontal displacement of the top-left corner of the video for the + video mixing on the client relative to the top-left corner (origin) of + the canvas for this video mixing.

          +
          +
          + + y + +

          The vertical displacement of the top-left corner of the video for the + video mixing on the client relative to the top-left corner (origin) of + the canvas for this video mixing.

          +
          +
          + + width + +

          The width (px) of the video for the video mixing on the local client.

          +
          +
          + + heigh + +

          The height (px) of the video for the video mixing on the local + client.

          +
          +
          + + rect + The position and size of the top-left corner of the video for the video + mixing on the client relative to the top-left corner (origin) of the canvas + for this video mixing. + + + zOrder + The number of the layer to which the video for the video mixing on the local + client belongs. The value range is [0,100].
            +
          • 0: (Default) The layer is at the bottom.
          • +
          • 100: The layer is at the top.
          • +
          +
          + + alpha + +

          The transparency of the video for the video mixing on the local client. + The value range is [0.0,1.0]. 0.0 means the transparency is completely + transparent. 1.0 means the transparency is opaque.

          +
          +
          + + mirror + Whether to mirror the video for the video mixing on the local client.
            +
          • : Mirroring.
          • +
          • : (Default) Do not mirror.
          • +
          + The paramter only works for + videos with the source type CAMERA.
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_uplinknetworkinfo.dita b/en-US/dita/RTC/API/class_uplinknetworkinfo.dita index 7556279575a..e778da29089 100644 --- a/en-US/dita/RTC/API/class_uplinknetworkinfo.dita +++ b/en-US/dita/RTC/API/class_uplinknetworkinfo.dita @@ -1,18 +1,18 @@ - <ph keyref="UplinkNetworkInfo" /> + <ph keyref="UplinkNetworkInfo"/> The uplink network information.

          - public static class UplinkNetworkInfo { + public static class UplinkNetworkInfo { public int video_encoder_target_bitrate_bps; }; - __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraUplinkNetworkInfo : NSObject @property(nonatomic, assign) int videoEncoderTargetBitrateBps; @end - struct UplinkNetworkInfo { + struct UplinkNetworkInfo { int video_encoder_target_bitrate_bps; UplinkNetworkInfo() : video_encoder_target_bitrate_bps(0) {} @@ -21,8 +21,8 @@ return (video_encoder_target_bitrate_bps == rhs.video_encoder_target_bitrate_bps); } }; - - public class UplinkNetworkInfo + + public class UplinkNetworkInfo { public UplinkNetworkInfo() { @@ -34,17 +34,20 @@ } public int video_encoder_target_bitrate_bps; } - -

          + + +

          - <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 - The target video encoder bitrate (bps). - -
          + + video_encoder_target_bitrate_bps + videoEncoderTargetBitrateBps + The target video encoder bitrate (bps). + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_user.dita b/en-US/dita/RTC/API/class_user.dita index d6592df5ce6..8c0eb18c846 100644 --- a/en-US/dita/RTC/API/class_user.dita +++ b/en-US/dita/RTC/API/class_user.dita @@ -1,27 +1,31 @@ - <ph keyref="User" /> - User information of the rendered video. + <ph keyref="User"/> + User information of the rendered + video.

          - - - - export type User = "local" | "videoSource" | number | string ; - - -

          + + + + export type User = "local" | "videoSource" | number | string ; + + + +

          -

          This class specifies the user information to which the SDK renders the video. You can set it as one of the following values: -

            -
          • "local": Represents video rendering for the local user.
          • -
          • "videoSource": Represents video rendering for the video source object.
          • -
          • Integer: This value is consistent with the remote user's user ID, and represents the remote user's video rendering.
          • -
          • String: This string is consistent with the remote user's user account, and represents the video rendering of the remote user.
          • -

          +

          This class specifies the user information to which the SDK renders the video. You can + set it as one of the following values:

            +
          • "local": Represents video rendering for the local user.
          • +
          • "videoSource": Represents video rendering for the video source object.
          • +
          • Integer: This value is consistent with the remote user's user ID, and + represents the remote user's video rendering.
          • +
          • String: This string is consistent with the remote user's user account, and + represents the video rendering of the remote user.
          • +

          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_useraudiospectruminfo.dita b/en-US/dita/RTC/API/class_useraudiospectruminfo.dita index e327cda13ee..df7725d0d00 100644 --- a/en-US/dita/RTC/API/class_useraudiospectruminfo.dita +++ b/en-US/dita/RTC/API/class_useraudiospectruminfo.dita @@ -1,23 +1,24 @@ - <ph keyref="UserAudioSpectrumInfo" /> - Audio spectrum information of the remote user. + <ph keyref="UserAudioSpectrumInfo"/> + Audio spectrum information of the remote + user.

          - public class UserAudioSpectrumInfo { + public class UserAudioSpectrumInfo { private int uid; private AudioSpectrumInfo audioSpectrumInfo; } - __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject + __attribute__((visibility("default"))) @interface AgoraAudioSpectrumInfo : NSObject @property(nonatomic, assign) NSInteger uid; @property(nonatomic, strong) NSArray<NSNumber *> * _Nullable audioSpectrumData; @end - struct UserAudioSpectrumInfo { + struct UserAudioSpectrumInfo { agora::rtc::uid_t uid; struct AudioSpectrumData spectrumData; @@ -25,26 +26,30 @@ UserAudioSpectrumInfo(agora::rtc::uid_t _uid, const float *data, int length) : uid(_uid) { spectrumData.audioSpectrumData = data; spectrumData.dataLength = length; } }; - - - -

          + + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - The ID of the remote user. - - - audioSpectrumInfo - audioSpectrumData - spectrumData - -

          Audio spectrum information of the remote user. For details, see .

          -
          -
          -
          + + uid + The ID of the remote user. + + + audioSpectrumInfo + audioSpectrumData + spectrumData + +

          Audio spectrum information of the remote user. + For details, see .

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_userinfo.dita b/en-US/dita/RTC/API/class_userinfo.dita index 9504022966b..8428b7e509f 100644 --- a/en-US/dita/RTC/API/class_userinfo.dita +++ b/en-US/dita/RTC/API/class_userinfo.dita @@ -1,12 +1,12 @@ - <ph keyref="UserInfo" /> + <ph keyref="UserInfo"/> The information of the user.

          - public class UserInfo { + public class UserInfo { public int uid; public String userAccount; @@ -16,18 +16,18 @@ this.userAccount = userAccount; } } - + public struct UserInfo { public uint uid; public string userAccount; }

          - public class UserInfo { + public class UserInfo { public int uid; public String userAccount; } - struct UserInfo { + struct UserInfo { uid_t uid; char userAccount[MAX_USER_ACCOUNT_LENGTH]; UserInfo() @@ -36,11 +36,11 @@ } };

          - __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject + __attribute__((visibility("default"))) @interface AgoraUserInfo: NSObject @property(assign, nonatomic) NSUInteger uid; @property (copy, nonatomic) NSString * _Nullable userAccount; @end - struct UserInfo { + struct UserInfo { uid_t uid; char userAccount[MAX_USER_ACCOUNT_LENGTH]; UserInfo() @@ -48,7 +48,7 @@ userAccount[0] = '\0'; } }; - ublic class UserInfo + ublic class UserInfo { public UserInfo() { @@ -64,12 +64,12 @@ public uint uid { set; get; } public string userAccount { set; get; } } - export interface UserInfo { + export interface UserInfo { uid: number; userAccount: string; } - - class UserInfo { + + class UserInfo { int uid; String userAccount; @@ -83,27 +83,31 @@ _$UserInfoFromJson(json); Map<String, dynamic> toJson() => _$UserInfoToJson(this); -}

          +} +

          - -
          Since
          -
          v2.8.0
          -
          + +
          Since
          +
          v2.8.0
          +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - uid - User ID - - - userAccount - The user account. The maximum data length is . - -
          + + uid + User ID + + + userAccount + The user account. The maximum data length is . + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_videocanvas.dita b/en-US/dita/RTC/API/class_videocanvas.dita index 452247c2625..80983c4be61 100644 --- a/en-US/dita/RTC/API/class_videocanvas.dita +++ b/en-US/dita/RTC/API/class_videocanvas.dita @@ -1,14 +1,18 @@ - <ph keyref="VideoCanvas" /> - Video display configurations. + + <ph keyref="VideoCanvas"/> + + + Video display configurations. +

          - - - struct VideoCanvas { + + + struct VideoCanvas { view_t view; int renderMode; char channelId[MAX_CHANNEL_ID_LENGTH]; @@ -16,7 +20,7 @@ void *priv; VIDEO_MIRROR_MODE_TYPE mirrorMode; } - public class VideoCanvas + public class VideoCanvas { public VideoCanvas() { @@ -43,114 +47,102 @@ public uint uid { set; get; } public VIDEO_MIRROR_MODE_TYPE mirrorMode { set; get; } } - - -

          + + + +

          -
          +
          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property"/> + - - view - -

          The view used to display the video.

          -

          - The following objects are supported: - -

            -
          • SurfaceView created by the CreateRendererView method. + + view + +

            The view used to display the video.

            +

            The following objects are supported:

              +
            • SurfaceView created by the CreateRendererView + method.
            • +
            • (As of v3.1.0) TextureView created by the + CreateTextureView method.
            • +
            • (As of v3.6.2) The Android native TextureView.
            • -
            • (As of v3.1.0) TextureView created by the CreateTextureView method. -
            • -
            • (As of v3.6.2) The Android native TextureView. -
            • -

            -
            -
            - - renderMode - - The rendering mode of the video. See - - . +
          +

          +
          +
          + + renderMode + The rendering mode of the video. See . - - - channelId - -
          - -
          Since
          -
          v3.0.0
          -
          -
          -

          - The unique channel name in the string format. Supported characters are (89 in total): - -

            -
          • -
          - -
            -
          • - The default value is the empty string "". If the user joins the channel through the - - method of the - - class, set this parameter to the default value. In this case, - VideoCanvas - sets the user's view in the channel. + + + channelId + +
            + +
            Since
            +
            v3.0.0
            +
            +
            +

            The unique channel name in the string format. Supported characters are + (89 in total):

              +
            • +
            + +
              +
            • The default value is the empty string "". If the user joins + the channel through the method + of the class, set this parameter + to the default value. In this case, + VideoCanvas sets the user's view in the + channel.
            • +
            • If the user joins the channel using the method of the class, set this parameter to the + channelId of the object. In this case, + VideoCanvas sets the user's view in the + channel corresponding to the channelId .
            • -
            • - If the user joins the channel using the - - method of the - - class, set this parameter to the - channelId - of the - - object. In this case, - VideoCanvas - sets the user's view in the channel corresponding to the - channelId - . +
            +
            +

            +
            +
            + + uid + User ID. + + + mirrorMode + +
            + +
            Since
            +
            v3.0.0
            +
            +
            +

            The mirror mode of the view. See + . +

              +
            • For the local user:
                +
              • If the user uses the front camera, the mirror mode + is enabled by default.
              • +
              • If the user uses the rear camera, the mirror mode is + disabled by default.
              • +
            • -

            -
            -
            - - uid - User ID. - - - mirrorMode - -
            - -
            Since
            -
            v3.0.0
            -
            -
            -

            - The mirror mode of the view. See - - . - - -

              -
            • - For the local user: - -
                -
              • If the user uses the front camera, the mirror mode is enabled by default.
              • -
              • If the user uses the rear camera, the mirror mode is disabled by default.
              • -
            • -
            • For the remote user: The SDK disables the mirror mode by default.
            • -

            -
            -
            -
          +
        1420. For the remote user: The SDK disables the mirror mode by + default.
        1421. + + +

          + + + +
          - \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_videodenoiseroptions.dita b/en-US/dita/RTC/API/class_videodenoiseroptions.dita index b153fe679d2..c5095b0b735 100644 --- a/en-US/dita/RTC/API/class_videodenoiseroptions.dita +++ b/en-US/dita/RTC/API/class_videodenoiseroptions.dita @@ -1,19 +1,22 @@ - <ph keyref="VideoDenoiserOptions" /> + + <ph keyref="VideoDenoiserOptions"/> + Video noise reduction options.

          - - -

          + + + +

          - - - - public class VideoDenoiserOptions + + + + public class VideoDenoiserOptions { public VideoDenoiserOptions() { @@ -28,9 +31,9 @@ public VIDEO_DENOISER_MODE mode { set; get; } public VIDEO_DENOISER_LEVEL level { set; get; } }; - - - class VideoDenoiserOptions { + + + class VideoDenoiserOptions { final VideoDenoiserMode mode; final VideoDenoiserLevel level; @@ -42,19 +45,25 @@ _$VideoDenoiserOptionsFromJson(json); 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 - Video noise reduction level. For details, see . - - - mode - Video noise reduction mode. For details, see . - -
          + + level + Video noise reduction level. For details, see . + + + mode + Video noise reduction mode. For details, see . + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_videodimensions.dita b/en-US/dita/RTC/API/class_videodimensions.dita index b58a9d3026f..c3d7270eb65 100644 --- a/en-US/dita/RTC/API/class_videodimensions.dita +++ b/en-US/dita/RTC/API/class_videodimensions.dita @@ -1,12 +1,12 @@ - <ph keyref="VideoDimensions" /> + <ph keyref="VideoDimensions"/> Video dimensions.

          - static public class VideoDimensions { + static public class VideoDimensions { public int width; public int height; @@ -20,8 +20,8 @@ this.height = 0; } } - - struct VideoDimensions { + + struct VideoDimensions { int width; int height; VideoDimensions() : width(640), height(480) {} @@ -30,7 +30,7 @@ return width == rhs.width && height == rhs.height; } }; - public class VideoDimensions + public class VideoDimensions { public VideoDimensions() { @@ -47,12 +47,12 @@ public int width { set; get; } public int height { set; get; } } - export interface VideoDimensions { + export interface VideoDimensions { width: number, height: number } - - class VideoDimensions { + + class VideoDimensions { @JsonKey(includeIfNull: false) int? width; @@ -69,21 +69,24 @@ _$VideoDimensionsFromJson(json); Map<String, dynamic> toJson() => _$VideoDimensionsToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - width - -

          The width (pixels) of the video.

          -
          -
          - - height - The height (pixels) of the video. - -
          + + width + +

          The width (pixels) of the video.

          +
          +
          + + height + The height (pixels) of the video. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_videoencoderconfiguration.dita b/en-US/dita/RTC/API/class_videoencoderconfiguration.dita index df8edd27252..f54fc14d381 100644 --- a/en-US/dita/RTC/API/class_videoencoderconfiguration.dita +++ b/en-US/dita/RTC/API/class_videoencoderconfiguration.dita @@ -1,12 +1,12 @@ - <ph keyref="VideoEncoderConfiguration" /> + <ph keyref="VideoEncoderConfiguration"/> Video encoder configurations.

          - public class VideoEncoderConfiguration { + public class VideoEncoderConfiguration { public VideoDimensions dimensions; public int frameRate; @@ -17,7 +17,7 @@ public DEGRADATION_PREFERENCE degradationPrefer; public MIRROR_MODE_TYPE mirrorMode; } - __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) AgoraVideoCodecType codecType; @property(assign, nonatomic) AgoraVideoFrameRate frameRate; @@ -40,7 +40,7 @@ orientationMode:(AgoraVideoOutputOrientationMode)orientationMode mirrorMode:(AgoraVideoMirrorMode)mirrorMode; @end - struct VideoEncoderConfiguration { + struct VideoEncoderConfiguration { VIDEO_CODEC_TYPE codecType; VideoDimensions dimensions; int frameRate; @@ -87,7 +87,7 @@ degradationPreference(MAINTAIN_QUALITY), mirrorMode(VIDEO_MIRROR_MODE_DISABLED) {} }; - public class VideoEncoderConfiguration + public class VideoEncoderConfiguration { public VideoEncoderConfiguration() { @@ -125,9 +125,10 @@ public ORIENTATION_MODE orientationMode { set; get; } public DEGRADATION_PREFERENCE degradationPreference { set; get; } public VIDEO_MIRROR_MODE_TYPE mirrorMode { set; get; } - }

          + } +

          - public class VideoEncoderConfiguration { + public class VideoEncoderConfiguration { public VideoDimensions dimensions; public int frameRate; public int minFrameRate; @@ -137,7 +138,7 @@ public DEGRADATION_PREFERENCE degradationPrefer; public int mirrorMode; } - __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject + __attribute__((visibility("default"))) @interface AgoraVideoEncoderConfiguration : NSObject @property(assign, nonatomic) CGSize dimensions; @property(assign, nonatomic) NSInteger frameRate; @property(assign, nonatomic) NSInteger minFrameRate; @@ -151,7 +152,7 @@ - (instancetype _Nonnull)initWithWidth:(NSInteger)width height:(NSInteger)height frameRate:(AgoraVideoFrameRate)frameRate bitrate:(NSInteger)bitrate orientationMode:(AgoraVideoOutputOrientationMode)orientationMode; @end - struct VideoEncoderConfiguration { + struct VideoEncoderConfiguration { VideoDimensions dimensions; FRAME_RATE frameRate; int minFrameRate; @@ -187,7 +188,7 @@ , mirrorMode(VIDEO_MIRROR_MODE_AUTO) {} }; - public class VideoEncoderConfiguration + public class VideoEncoderConfiguration { public VideoEncoderConfiguration() { @@ -244,7 +245,7 @@ public DEGRADATION_PREFERENCE degradationPreference { set; get; } public VIDEO_MIRROR_MODE_TYPE mirrorMode { set; get; } } - export interface VideoEncoderConfiguration { + export interface VideoEncoderConfiguration { dimensions: VideoDimensions; frameRate: FRAME_RATE; minFrameRate: number; @@ -254,8 +255,8 @@ degradationPreference: DEGRADATION_PREFERENCE; mirrorMode: VIDEO_MIRROR_MODE_TYPE; } - - class VideoEncoderConfiguration { + + class VideoEncoderConfiguration { @JsonKey(includeIfNull: false) VideoDimensions? dimensions; @@ -296,294 +297,344 @@ _$VideoEncoderConfigurationFromJson(json); Map<String, dynamic> toJson() => _$VideoEncoderConfigurationToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - dimensions - -

          The dimensions of the encoded video (px). See . This parameter measures the video encoding quality in the format of length × width. The default value is 640 × 360. You can set a custom value.

          -

          The dimensions of the encoded video (px). This parameter measures the video encoding quality in the format of length × width. The default value is 640 × 360. You can set a custom value, or select from the following list: - -

            -
          • AgoraVideoDimension120x120
          • -
          • AgoraVideoDimension160x120
          • -
          • AgoraVideoDimension180x180
          • -
          • AgoraVideoDimension180x180
          • -
          • AgoraVideoDimension320x180
          • -
          • AgoraVideoDimension240x240
          • -
          • AgoraVideoDimension320x240
          • -
          • AgoraVideoDimension424x240
          • -
          • AgoraVideoDimension360x360
          • -
          • AgoraVideoDimension480x360
          • -
          • AgoraVideoDimension640x360
          • -
          • AgoraVideoDimension480x480
          • -
          • AgoraVideoDimension640x480
          • -
          • AgoraVideoDimension840x480
          • -
          • AgoraVideoDimension960x720
          • -
          • AgoraVideoDimension1280x720
          • -
          • AgoraVideoDimension1920x1080 (macOS only)
          • -
          • AgoraVideoDimension2540x1440 (macOS only)
          • -
          • AgoraVideoDimension3840x2160 (macOS only)
          • -
          - -
            -
          • Whether the 720p resolution or above can be supported depends on the device. If the device cannot support 720p, the frame rate will be lower than the set value.
          • -
          • iPhones do not support video frame dimensions above 720p.
          • -

          -
          -
          - - codecType - -

          The codec type of the local video stream. See .

          -
          -
          - - frameRate - -

          The frame rate (fps) of the encoding video frame. The default value is 15. See .

          -

          The frame rate (fps) of the encoding video frame. The default value is 15. See .

          -
          -
          - - minFrameRate - The minimum encoding frame rate of the video. The default value is -1. - - - bitrate - -

          The encoding bitrate (Kbps) of the video.

          -

          You can refer to the table below to set the bitrate according to your app scenario. If the bitrate you set is beyond the reasonable range, the SDK sets it within a reasonable range. You can also choose from the following options:

          -
            -
          • -
          • -
          -
            -
          • -
          • -
          -

          Agora uses different video codecs for different profiles to optimize user experience. The communication profile prioritizes smoothness while the interactive streaming profile prioritizes video quality (a higher bitrate). Therefore, Agora recommends setting this parameter as -

          - - - - - - - - - Dimensions - Frame rate (fps) - Bitrate (Kbps) for the communication profile - Bitrate (Kbps) for the interactive streaming profile - - - - - 160 × 120 - 15 - 65 - 130 - - - 120 × 120 - 15 - 50 - 100 - - - 320 × 180 - 15 - 140 - 280 - - - 180 × 180 - 15 - 100 - 200 - - - 240 × 180 - 15 - 120 - 240 - - - 320 × 240 - 15 - 200 - 400 - - - 240 × 240 - 15 - 140 - 280 - - - 424 × 240 - 15 - 220 - 440 - - - 640 × 360 - 15 - 400 - 800 - - - 360 × 360 - 15 - 260 - 520 - - - 640 × 360 - 30 - 600 - 1200 - - - 360 × 360 - 30 - 400 - 800 - - - 480 × 360 - 15 - 320 - 640 - - - 480 × 360 - 30 - 490 - 980 - - - 640 × 480 - 15 - 500 - 1000 - - - 480 × 480 - 15 - 400 - 800 - - - 640 × 480 - 30 - 750 - 1500 - - - 480 × 480 - 30 - 600 - 1200 - - - 848 × 480 - 15 - 610 - 1220 - - - 848 × 480 - 30 - 930 - 1860 - - - 640 × 480 - 10 - 400 - 800 - - - 1280 × 720 - 15 - 1130 - 2260 - - - 1280 × 720 - 30 - 1710 - 3420 - - - 960 × 720 - 15 - 910 - 1820 - - - 960 × 720 - 30 - 1380 - 2760 - - - 1920 × 1080 - 15 - 2080 - 4160 - - - 1920 × 1080 - 30 - 3150 - 6300 - - - 1920 × 1080 - 60 - 4780 - 6500 - - - -
          -
          - - minBitrate - -

          The minimum encoding bitrate (Kbps) of the video.

          -

          The SDK automatically adjusts the encoding bitrate to adapt to the network conditions. Using a value greater than the default value forces the video encoder to output high-quality images but may cause more packet loss and sacrifice the smoothness of the video transmission. Unless you have special requirements for image quality, Agora does not recommend changing this value.

          - This parameter only applies to the interactive streaming profile. -
          -
          - - orientationMode - - The orientation mode of the encoded video. See . - - - degradationPreference - degradationPrefer - Video degradation preference under limited bandwidth. See . - - - mirrorMode - -

          Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees. See . -

            -
          • -

          -

          Sets the mirror mode of the published local video stream. It only affects the video that the remote user sees. See .

          - By default, the video is not mirrored.
          -
          -
          + + dimensions + +

          The dimensions of the encoded video (px). See + . This parameter measures the video + encoding quality in the format of length × width. The default value is + 640 × 360. You can set a custom value.

          +

          The dimensions of the encoded video (px). This parameter + measures the video encoding quality in the format of length × width. The + default value is 640 × 360. You can set a custom value, or select from + the following list:

            +
          • AgoraVideoDimension120x120
          • +
          • AgoraVideoDimension160x120
          • +
          • AgoraVideoDimension180x180
          • +
          • AgoraVideoDimension180x180
          • +
          • AgoraVideoDimension320x180
          • +
          • AgoraVideoDimension240x240
          • +
          • AgoraVideoDimension320x240
          • +
          • AgoraVideoDimension424x240
          • +
          • AgoraVideoDimension360x360
          • +
          • AgoraVideoDimension480x360
          • +
          • AgoraVideoDimension640x360
          • +
          • AgoraVideoDimension480x480
          • +
          • AgoraVideoDimension640x480
          • +
          • AgoraVideoDimension840x480
          • +
          • AgoraVideoDimension960x720
          • +
          • AgoraVideoDimension1280x720
          • +
          • AgoraVideoDimension1920x1080 (macOS only)
          • +
          • AgoraVideoDimension2540x1440 (macOS only)
          • +
          • AgoraVideoDimension3840x2160 (macOS only)
          • +
          + +
            +
          • Whether the 720p resolution or above can be supported + depends on the device. If the device cannot support 720p, + the frame rate will be lower than the set value.
          • +
          • iPhones do not support video frame dimensions above + 720p.
          • +
          +
          +

          +
          +
          + + codecType + +

          The codec type of the local video stream. See .

          +
          +
          + + frameRate + +

          The frame rate (fps) of the encoding video frame. The + default value is 15. See .

          +

          The frame rate (fps) of the encoding video frame. The default + value is 15. See .

          +
          +
          + + minFrameRate + The minimum encoding frame rate of the video. The default value is -1. + + + bitrate + +

          The encoding bitrate (Kbps) of the video.

          +

          You can refer to the table below to set the bitrate according + to your app scenario. If the bitrate you set is beyond the reasonable + range, the SDK sets it within a reasonable range. You can also choose + from the following options:

          +
            +
          • +
          • +
          • +
          +
            +
          • +
          • +
          • +
          +

          Agora uses different video codecs for different profiles to + optimize user experience. The communication profile prioritizes + smoothness while the interactive streaming profile prioritizes video + quality (a higher bitrate). Therefore, Agora recommends setting this + parameter as

          + + + + + + + + + Dimensions + Frame rate (fps) + Bitrate (Kbps) for the communication profile + Bitrate (Kbps) for the interactive streaming + profile + + + + + 160 × 120 + 15 + 65 + 130 + + + 120 × 120 + 15 + 50 + 100 + + + 320 × 180 + 15 + 140 + 280 + + + 180 × 180 + 15 + 100 + 200 + + + 240 × 180 + 15 + 120 + 240 + + + 320 × 240 + 15 + 200 + 400 + + + 240 × 240 + 15 + 140 + 280 + + + 424 × 240 + 15 + 220 + 440 + + + 640 × 360 + 15 + 400 + 800 + + + 360 × 360 + 15 + 260 + 520 + + + 640 × 360 + 30 + 600 + 1200 + + + 360 × 360 + 30 + 400 + 800 + + + 480 × 360 + 15 + 320 + 640 + + + 480 × 360 + 30 + 490 + 980 + + + 640 × 480 + 15 + 500 + 1000 + + + 480 × 480 + 15 + 400 + 800 + + + 640 × 480 + 30 + 750 + 1500 + + + 480 × 480 + 30 + 600 + 1200 + + + 848 × 480 + 15 + 610 + 1220 + + + 848 × 480 + 30 + 930 + 1860 + + + 640 × 480 + 10 + 400 + 800 + + + 1280 × 720 + 15 + 1130 + 2260 + + + 1280 × 720 + 30 + 1710 + 3420 + + + 960 × 720 + 15 + 910 + 1820 + + + 960 × 720 + 30 + 1380 + 2760 + + + 1920 × 1080 + 15 + 2080 + 4160 + + + 1920 × 1080 + 30 + 3150 + 6300 + + + 1920 × 1080 + 60 + 4780 + 6500 + + + +
          +
          +
          + + minBitrate + +

          The minimum encoding bitrate (Kbps) of the video.

          +

          The SDK automatically adjusts the encoding bitrate to adapt to the + network conditions. Using a value greater than the default value forces + the video encoder to output high-quality images but may cause more + packet loss and sacrifice the smoothness of the video transmission. + Unless you have special requirements for image quality, Agora does not + recommend changing this value.

          + This parameter only applies to the interactive + streaming profile. +
          +
          + + orientationMode + The orientation mode of the encoded video. See . + + + degradationPreference + degradationPrefer + Video degradation preference under limited bandwidth. See . + + + mirrorMode + +

          Sets the mirror mode of the published local video stream. + It only affects the video that the remote user sees. See . +

            +
          • +
          +

          +

          Sets the mirror mode of the published local + video stream. It only affects the video that the remote user sees. See + .

          + By default, the video is not mirrored. +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_videoframe.dita b/en-US/dita/RTC/API/class_videoframe.dita index 37a2b690104..7d10944cd95 100644 --- a/en-US/dita/RTC/API/class_videoframe.dita +++ b/en-US/dita/RTC/API/class_videoframe.dita @@ -1,14 +1,14 @@ - <ph keyref="VideoFrame" /> + <ph keyref="VideoFrame"/> Configurations of the video frame

          - - - struct VideoFrame { + + + struct VideoFrame { VIDEO_FRAME_TYPE type; int width; int height; @@ -22,7 +22,7 @@ int64_t renderTimeMs; int avsync_type; }; - public class VideoFrame + public class VideoFrame { public VIDEO_FRAME_TYPE type; public int width; @@ -40,64 +40,73 @@ public long renderTimeMs; public int avsync_type; }; - - -

          + + + +

          -

          The video data format is YUV420. Note that the buffer provides a pointer to a pointer. This interface cannot modify the pointer of the buffer but can modify the content of the buffer.

          +

          The video data format is YUV420. Note that the buffer provides a pointer to a + pointer. This interface cannot modify the pointer of the buffer but can modify the + content of the buffer.

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - type - The type of the video frame. See . - - - width - Width of the video in the number of pixels. - - - height - Height of the video in the number of pixels. - - - yStride - The line span of the Y buffer within the YUV data. - - - uStride - The line span of the U buffer within the YUV data. - - - vStride - The line span of the V buffer within the YUV data. - - - yBuffer - The pointer to the Y buffer pointer within the YUV data. - - - uBuffer - The pointer to the U buffer pointer within the YUV data. - - - vBuffer - The pointer to the V buffer pointer within the YUV data. - - - rotation - Sets the clockwise rotation of the video frame before rendering. Supported values include 0, 90, 180, and 270 degrees. - - - renderTimeMs - The timestamp (ms) of the external audio frame. It is mandatory. You can use it to restore the order of the captured audio frame, or synchronize audio and video frames in video-related scenarios (including scenarios where external video sources are used). - - - avsync_type - A reserved parameter. - -
          + + type + The type of the video frame. See . + + + width + Width of the video in the number of pixels. + + + height + Height of the video in the number of pixels. + + + yStride + The line span of the Y buffer within the YUV data. + + + uStride + The line span of the U buffer within the YUV data. + + + vStride + The line span of the V buffer within the YUV data. + + + yBuffer + The pointer to the Y buffer pointer within the YUV data. + + + uBuffer + The pointer to the U buffer pointer within the YUV data. + + + vBuffer + The pointer to the V buffer pointer within the YUV data. + + + rotation + Sets the clockwise rotation of the video frame before rendering. Supported + values include 0, 90, 180, and 270 degrees. + + + renderTimeMs + The timestamp (ms) of the external audio frame. It is mandatory. You can use + it to restore the order of the captured audio frame, or synchronize audio + and video frames in video-related scenarios (including scenarios where + external video sources are used). + + + avsync_type + A reserved parameter. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_virtualbackgroundsource.dita b/en-US/dita/RTC/API/class_virtualbackgroundsource.dita index c1ab21d7b29..bbdba22cfc4 100644 --- a/en-US/dita/RTC/API/class_virtualbackgroundsource.dita +++ b/en-US/dita/RTC/API/class_virtualbackgroundsource.dita @@ -1,12 +1,12 @@ - <ph keyref="VirtualBackgroundSource" /> + <ph keyref="VirtualBackgroundSource"/> The custom background image.

          - public class VirtualBackgroundSource { + public class VirtualBackgroundSource { public static final int BACKGROUND_COLOR = 1; public static final int BACKGROUND_IMG = 2; public static final int BACKGROUND_BLUR = 3; @@ -32,22 +32,23 @@ } } - __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject + __attribute__((visibility("default"))) @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 - public class VirtualBackgroundSource + public class VirtualBackgroundSource { public BACKGROUND_SOURCE_TYPE background_source_type public uint color; public string source; public BACKGROUND_BLUR_DEGREE blur_degree; - };

          + }; +

          - public class VirtualBackgroundSource { + public class VirtualBackgroundSource { public static final int BACKGROUND_COLOR = 1; public static final int BACKGROUND_IMG = 2; public static final int BACKGROUND_BLUR = 3; @@ -73,7 +74,7 @@ } } - NS_SWIFT_NAME(AgoraVirtualBackgroundSource) __attribute__((visibility("default"))) @interface AgoraVirtualBackgroundSource : NSObject + NS_SWIFT_NAME(AgoraVirtualBackgroundSource) __attribute__((visibility("default"))) @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); @@ -81,9 +82,9 @@ @end

          - - - struct VirtualBackgroundSource { + + + struct VirtualBackgroundSource { enum BACKGROUND_SOURCE_TYPE { BACKGROUND_COLOR = 1, BACKGROUND_IMG, @@ -100,7 +101,7 @@ BACKGROUND_BLUR_DEGREE blur_degree; VirtualBackgroundSource() : background_source_type(BACKGROUND_COLOR), color(0xffffff), source(NULL), blur_degree(BLUR_DEGREE_HIGH) {} - public class VirtualBackgroundSource + public class VirtualBackgroundSource { public VirtualBackgroundSource() { @@ -114,7 +115,7 @@ public string source { set; get; } public BACKGROUND_BLUR_DEGREE blur_degree { set; get; } } - class VirtualBackgroundSource { + class VirtualBackgroundSource { @JsonKey(includeIfNull: false) VirtualBackgroundSourceType? backgroundSourceType; @@ -139,50 +140,78 @@ _$VirtualBackgroundSourceFromJson(json); Map<String, dynamic> toJson() => _$VirtualBackgroundSourceToJson(this); - }

          + } +

          - -
          Since
          -
          v3.5.0
          -
          + +
          Since
          +
          v3.5.0
          +
          - <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 - The type of the custom background image. See . -
            -
          • (1): (Default) The background image is a solid color.
          • -
          • (2): The background image is a file in PNG or JPG format.
          • -
          • (3): The background image is the blurred background.
          • -
          -
          - - color - The type of the custom background image. The color of the custom background image. The format is a hexadecimal integer defined by RGB, without the # sign, such as 0xFFB6C1 for light pink. The default value is 0xFFFFFF, which signifies white. The value range is [0x000000, 0xffffff]. If the value is invalid, the SDK replaces the original background image with a white background image. - This parameter takes effect only when the type of the custom background image is . - - - source - The local absolute path of the custom background image. PNG and JPG formats are supported. If the path is invalid, the SDK replaces the original background image with a white background image. - This parameter takes effect only when the type of the custom background image is . - - - blurDegreeblur_degree - blur_degreeblurDegree - The degree of blurring applied to the custom background image. See . -
            -
          • (1): The degree of blurring applied to the custom background image is low. The user can almost see the background clearly.
          • -
          • (2): The degree of blurring applied to the custom background image is medium. It is difficult for the user to recognize details in the background.
          • -
          • (3): The degree of blurring applied to the custom background image is high. The user can barely see any distinguishing features in the background.
          • -
          - This parameter takes effect only when the type of the custom background image is .
          -
          -
          + + backgroundSourceType + background_source_type + The type of the custom background image. See . +
            +
          • (1): (Default) The background image + is a solid color.
          • +
          • (2): The background image is a file in + PNG or JPG format.
          • +
          • (3): The background image is the + blurred background.
          • +
          +
          + + color + The type of the custom background image. The color of the custom background + image. The format is a hexadecimal integer defined by RGB, without the # + sign, such as 0xFFB6C1 for light pink. The default value is 0xFFFFFF, which + signifies white. The value range is [0x000000, 0xffffff]. If the value is + invalid, the SDK replaces the original background image with a white + background image. This parameter takes effect only + when the type of the custom background image is . + + + source + The local absolute path of the custom background image. PNG and JPG formats + are supported. If the path is invalid, the SDK replaces the original + background image with a white background image. This + parameter takes effect only when the type of the custom background image + is . + + + blurDegreeblur_degree + blur_degreeblurDegree + The degree of blurring applied to the custom background image. See . +
            +
          • (1): The degree of blurring applied to + the custom background image is low. The user can almost see the + background clearly.
          • +
          • (2): The degree of blurring applied + to the custom background image is medium. It is difficult for the + user to recognize details in the background.
          • +
          • (3): The degree of blurring applied + to the custom background image is high. The user can barely see any + distinguishing features in the background.
          • +
          + This parameter takes effect only when the type of the + custom background image is .
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_watermarkoptions.dita b/en-US/dita/RTC/API/class_watermarkoptions.dita index 4c631d80e20..b04333765e7 100644 --- a/en-US/dita/RTC/API/class_watermarkoptions.dita +++ b/en-US/dita/RTC/API/class_watermarkoptions.dita @@ -1,24 +1,24 @@ - <ph keyref="WatermarkOptions" /> + <ph keyref="WatermarkOptions"/> Configurations of the watermark image.

          - public class WatermarkOptions { + public class WatermarkOptions { public boolean visibleInPreview = true; public Rectangle positionInLandscapeMode = new Rectangle(); public Rectangle positionInPortraitMode = new Rectangle(); } - __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject + __attribute__((visibility("default"))) @interface WatermarkOptions : NSObject @property(assign, nonatomic) BOOL visibleInPreview; @property(assign, nonatomic) CGRect positionInLandscapeMode; @property(assign, nonatomic) CGRect positionInPortraitMode; @end - typedef struct WatermarkOptions { + typedef struct WatermarkOptions { bool visibleInPreview; Rectangle positionInLandscapeMode; Rectangle positionInPortraitMode; @@ -29,7 +29,7 @@ , positionInPortraitMode(0, 0, 0, 0) {} } WatermarkOptions; - public class WatermarkOptions + public class WatermarkOptions { public WatermarkOptions() { @@ -50,13 +50,13 @@ public Rectangle positionInLandscapeMode { set; get; } public Rectangle positionInPortraitMode { set; get; } } - export interface WatermarkOptions { + export interface WatermarkOptions { visibleInPreview: boolean, positionInPortraitMode: Rectangle, positionInLandscapeMode: Rectangle } - - class WatermarkOptions { + + class WatermarkOptions { @JsonKey(includeIfNull: false) bool? visibleInPreview; @@ -77,45 +77,64 @@ _$WatermarkOptionsFromJson(json); Map<String, dynamic> toJson() => _$WatermarkOptionsToJson(this); -}

          +} +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - visibleInPreview - -

          Whether the watermark image is visible in the local video preview: -

            -
          • : (Default) The watermark image is visible in the local preview.
          • -
          • : The watermark image is not visible in the local preview.
          • -

          -
          -
          - - positionInLandscapeMode - -

          The area to display the watermark image in landscape mode. For details, see .This parameter contains the following members. -

            -
          • x: The horizontal offset from the top-left corner.
          • -
          • y: The vertical offset from the top-left corner.
          • -
          • width: The width (pixels) of the area.
          • -
          • height: The height (pixels) of the area.
          • -
          For details about the landscape mode, see Set the Video Profile.

          -
          -
          - - positionInPortraitMode - -

          The area to display the watermark image in portrait mode. For details, see . This parameter contains the following members. -

            -
          • x: The horizontal offset from the top-left corner.
          • -
          • y: The vertical offset from the top-left corner.
          • -
          • width: The width (pixels) of the area.
          • -
          • height: The height (pixels) of the area.
          • -
          For details about the portrait mode, see Set the Video Profile.

          -
          -
          -
          + + visibleInPreview + +

          Whether the watermark image is visible in the local video preview:

            +
          • : (Default) The watermark + image is visible in the local preview.
          • +
          • : The watermark image is + not visible in the local preview.
          • +
          +

          +
          +
          + + positionInLandscapeMode + +

          The area to display the watermark image in landscape mode. For details, see .This parameter contains the following + members. +

            +
          • x: The horizontal offset from the top-left + corner.
          • +
          • y: The vertical offset from the top-left + corner.
          • +
          • width: The width (pixels) of the area.
          • +
          • height: The height (pixels) of the area.
          • +
          For details about the landscape mode, + see Set the Video + Profile.

          +
          +
          + + positionInPortraitMode + +

          The area to display the watermark image in portrait mode. For details, see . This parameter contains the following + members. +

            +
          • x: The horizontal offset from the top-left + corner.
          • +
          • y: The vertical offset from the top-left + corner.
          • +
          • width: The width (pixels) of the area.
          • +
          • height: The height (pixels) of the area.
          • +
          For details about the portrait mode, + see Set the Video + Profile.

          +
          +
          + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_watermarkratio.dita b/en-US/dita/RTC/API/class_watermarkratio.dita index 17f03ada283..588fa9841da 100644 --- a/en-US/dita/RTC/API/class_watermarkratio.dita +++ b/en-US/dita/RTC/API/class_watermarkratio.dita @@ -1,14 +1,15 @@ - <ph keyref="WatermarkRatio" /> - The position and size of the watermark on the screen. + <ph keyref="WatermarkRatio"/> + The position and size of the watermark on the + screen.

          - - - struct WatermarkRatio { + + + struct WatermarkRatio { float xRatio; float yRatio; float widthRatio; @@ -16,8 +17,8 @@ WatermarkRatio(float x, float y, float width) : xRatio(x), yRatio(y), widthRatio(width) {} }; - - public class WatermarkRatio { + + public class WatermarkRatio { public WatermarkRatio() { xRatio = 0.0f; @@ -36,31 +37,48 @@ public float yRatio { set; get; } public float widthRatio { set; get; } } - -

          + + +

          -

          The position and size of the watermark on the screen are determined by xRatio, yRatio, and widthRatio: -

            -
          • (xRatio, yRatio) refers to the coordinates of the upper left corner of the watermark, which determines the distance from the upper left corner of the watermark to the upper left corner of the screen.
          • -
          • The widthRatio determines the width of the watermark.
          • -

          +

          The position and size of the watermark on the screen are determined by + xRatio, yRatio, and + widthRatio:

            +
          • (xRatio, yRatio) refers to the + coordinates of the upper left corner of the watermark, which determines the + distance from the upper left corner of the watermark to the upper left + corner of the screen.
          • +
          • The widthRatio determines the width of the + watermark.
          • +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - xRatio - The x-coordinate of the upper left corner of the watermark. The horizontal position relative to the origin, where the upper left corner of the screen is the origin, and the x-coordinate is the upper left corner of the watermark. The value range is [0.0,1.0], and the default value is 0. - - - yRatio - The y-coordinate of the upper left corner of the watermark. The vertical position relative to the origin, where the upper left corner of the screen is the origin, and the y-coordinate is the upper left corner of the screen. The value range is [0.0,1.0], and the default value is 0. - - - widthRatio - The width of the watermark. The SDK calculates the height of the watermark proportionally according to this parameter value to ensure that the enlarged or reduced watermark image is not distorted. The value range is [0,1], and the default value is 0, which means no watermark is displayed. - -
          + + xRatio + The x-coordinate of the upper left corner of the watermark. The horizontal + position relative to the origin, where the upper left corner of the screen + is the origin, and the x-coordinate is the upper left corner of the + watermark. The value range is [0.0,1.0], and the default value is 0. + + + yRatio + The y-coordinate of the upper left corner of the watermark. The vertical + position relative to the origin, where the upper left corner of the screen + is the origin, and the y-coordinate is the upper left corner of the screen. + The value range is [0.0,1.0], and the default value is 0. + + + widthRatio + The width of the watermark. The SDK calculates the height of the watermark + proportionally according to this parameter value to ensure that the enlarged + or reduced watermark image is not distorted. The value range is [0,1], and + the default value is 0, which means no watermark is displayed. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/class_windowinfo.dita b/en-US/dita/RTC/API/class_windowinfo.dita index 4825d9ef730..653a8bacc2f 100644 --- a/en-US/dita/RTC/API/class_windowinfo.dita +++ b/en-US/dita/RTC/API/class_windowinfo.dita @@ -1,16 +1,16 @@ - <ph keyref="WindowInfo" /> + <ph keyref="WindowInfo"/> Information of the window to be shared.

          - - - - export interface WindowInfo { + + + + export interface WindowInfo { windowId: number; name: string; ownerName: string; @@ -21,49 +21,54 @@ originHeight: number; image: Uint8Array; } - - -

          + + + +

          - <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" /> + <text conref="../conref/conref_api_metadata.dita#conref_api_metadata/property" + /> - - windowId - The Window ID that identifies the window. - - - name - The name of the window. - - - ownerName - The corresponding process of the window. - - - isOnScreen - Whether the window is shown on the screen. - - - width - The width of the window thumbnail (px). - - - height - The height of the window thumbnail (px). - - - originWidth - The original width of the window (px). - - - originHeight - The original height of the window (px). - - - image - The window thumbnail. See Uint8Array. - -
          + + windowId + The Window ID that identifies the window. + + + name + The name of the window. + + + ownerName + The corresponding process of the window. + + + isOnScreen + Whether the window is shown on the screen. + + + width + The width of the window thumbnail (px). + + + height + The height of the window thumbnail (px). + + + originWidth + The original width of the window (px). + + + originHeight + The original height of the window (px). + + + image + The window thumbnail. See Uint8Array. + + +
          -
          \ No newline at end of file + diff --git a/en-US/dita/RTC/API/enum_agoraenginetype.dita b/en-US/dita/RTC/API/enum_agoraenginetype.dita index 9ddee0c28a3..34b4eea7c71 100644 --- a/en-US/dita/RTC/API/enum_agoraenginetype.dita +++ b/en-US/dita/RTC/API/enum_agoraenginetype.dita @@ -2,19 +2,23 @@ <ph keyref="AgoraEngineType"/> - The process type of . + The process type of .
          Enumerator - - - Use the main process to create , which can be used to send the camera-captured video stream. - - - - Use the sub process to create , which can be used to send the screen-captured video stream. - -
          + + + Use the main process to create , which can be + used to send the camera-captured video stream. + + + + Use the sub process to create , which can be + used to send the screen-captured video stream. + + +
          diff --git a/en-US/dita/RTC/API/enum_agoramediaplayerrendermodetype.dita b/en-US/dita/RTC/API/enum_agoramediaplayerrendermodetype.dita index 040f7a0f9c6..d9d67a07ae6 100644 --- a/en-US/dita/RTC/API/enum_agoramediaplayerrendermodetype.dita +++ b/en-US/dita/RTC/API/enum_agoramediaplayerrendermodetype.dita @@ -7,16 +7,21 @@
          Enumerator - - - 1: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Hidden mode. One dimension of the video may have clipped contents. - + + + 1: Uniformly scale the video until one of its dimension fits the boundary + (zoomed to fit). Hidden mode. One dimension of the video may have clipped + contents. + - - - 2: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Fit mode. Areas that are not filled due to disparity in the aspect ratio are filled with black. - -
          + + + 2: Uniformly scale the video until one of its dimension fits the boundary + (zoomed to fit). Fit mode. Areas that are not filled due to disparity in the + aspect ratio are filled with black. + + + diff --git a/en-US/dita/RTC/API/enum_areacode.dita b/en-US/dita/RTC/API/enum_areacode.dita index b12e557b25d..9bd6445ff68 100644 --- a/en-US/dita/RTC/API/enum_areacode.dita +++ b/en-US/dita/RTC/API/enum_areacode.dita @@ -8,34 +8,35 @@
          Enumerator - - - Mainland China. - - - - North America. - - - - Europe. - - - - Asia, excluding Mainland China. - - - - Japan. - - - - India. - - - - (Default) Global. - -
          + + + Mainland China. + + + + North America. + + + + Europe. + + + + Asia, excluding Mainland China. + + + + Japan. + + + + India. + + + + (Default) Global. + + + diff --git a/en-US/dita/RTC/API/enum_audiencelatencyleveltype.dita b/en-US/dita/RTC/API/enum_audiencelatencyleveltype.dita index 9201e8703f5..6bdae1d5d2b 100644 --- a/en-US/dita/RTC/API/enum_audiencelatencyleveltype.dita +++ b/en-US/dita/RTC/API/enum_audiencelatencyleveltype.dita @@ -2,19 +2,22 @@ <ph keyref="AUDIENCE_LATENCY_LEVEL_TYPE"/> - The latency level of an audience member in interactive live streaming. This enum takes effect only when the user role is set to . + The latency level of an audience member in interactive + live streaming. This enum takes effect only when the user role is set to .
          Enumerator - - - 1: Low latency. - - - - 2: (Default) Ultra low latency. - -
          + + + 1: Low latency. + + + + 2: (Default) Ultra low latency. + + +
          diff --git a/en-US/dita/RTC/API/enum_audiocodecprofiletype.dita b/en-US/dita/RTC/API/enum_audiocodecprofiletype.dita index 06812341e74..1d94af470c8 100644 --- a/en-US/dita/RTC/API/enum_audiocodecprofiletype.dita +++ b/en-US/dita/RTC/API/enum_audiocodecprofiletype.dita @@ -1,24 +1,27 @@ - <ph keyref="AUDIO_CODEC_PROFILE_TYPE"/> + + <ph keyref="AUDIO_CODEC_PROFILE_TYPE"/> + Self-defined audio codec profile.
          Enumerator - - - 0: (Default) LC-AAC. - - - - 1: HE-AAC. - - - - 2: HE-AAC v2. - -
          + + + 0: (Default) LC-AAC. + + + + 1: HE-AAC. + + + + 2: HE-AAC v2. + + +
          diff --git a/en-US/dita/RTC/API/enum_audiocodectype.dita b/en-US/dita/RTC/API/enum_audiocodectype.dita index 55f11efee97..38380e244c1 100644 --- a/en-US/dita/RTC/API/enum_audiocodectype.dita +++ b/en-US/dita/RTC/API/enum_audiocodectype.dita @@ -7,38 +7,39 @@
          Enumerator - - - 1: OPUS. - - - - 3: PCMA. - - - - 4: PCMU. - - - - 5: G722. - - - - 8: LC-AAC. - - - - 9: HE-AAC. - - - - 10: JC1. - - - - 11: HE-AAC v2. - -
          + + + 1: OPUS. + + + + 3: PCMA. + + + + 4: PCMU. + + + + 5: G722. + + + + 8: LC-AAC. + + + + 9: HE-AAC. + + + + 10: JC1. + + + + 11: HE-AAC v2. + + + diff --git a/en-US/dita/RTC/API/enum_audiodevicetestvolumetype.dita b/en-US/dita/RTC/API/enum_audiodevicetestvolumetype.dita index 5a06a090bdd..2e8762a863b 100644 --- a/en-US/dita/RTC/API/enum_audiodevicetestvolumetype.dita +++ b/en-US/dita/RTC/API/enum_audiodevicetestvolumetype.dita @@ -7,14 +7,15 @@
          Enumerator - - - 0: The volume of the audio capturing device. - - - - 1: The volume of the audio playback device. - -
          + + + 0: The volume of the audio capturing device. + + + + 1: The volume of the audio playback device. + + + diff --git a/en-US/dita/RTC/API/enum_audiodualmonomode.dita b/en-US/dita/RTC/API/enum_audiodualmonomode.dita index 238cef60220..179e2c9563c 100644 --- a/en-US/dita/RTC/API/enum_audiodualmonomode.dita +++ b/en-US/dita/RTC/API/enum_audiodualmonomode.dita @@ -7,22 +7,29 @@
          Enumerator - - - 0: Original mode. - - - - 1: Left channel mode. This mode replaces the audio of the right channel with the audio of the left channel, which means the user can only hear the audio of the left channel. - - - - 2: Right channel mode. This mode replaces the audio of the left channel with the audio of the right channel, which means the user can only hear the audio of the right channel. - - - - 3: Mixed channel mode. This mode mixes the audio of the left channel and the right channel, which means the user can hear the audio of the left channel and the right channel at the same time. - -
          + + + 0: Original mode. + + + + 1: Left channel mode. This mode replaces the audio of the right channel with + the audio of the left channel, which means the user can only hear the audio + of the left channel. + + + + 2: Right channel mode. This mode replaces the audio of the left channel with + the audio of the right channel, which means the user can only hear the audio + of the right channel. + + + + 3: Mixed channel mode. This mode mixes the audio of the left channel and the + right channel, which means the user can hear the audio of the left channel + and the right channel at the same time. + + + diff --git a/en-US/dita/RTC/API/enum_audioeffectpreset.dita b/en-US/dita/RTC/API/enum_audioeffectpreset.dita index 6e65c18b2e1..c680e370408 100644 --- a/en-US/dita/RTC/API/enum_audioeffectpreset.dita +++ b/en-US/dita/RTC/API/enum_audioeffectpreset.dita @@ -5,124 +5,179 @@ Preset voice effects.
          -

          For better voice effects, Agora recommends setting the profile parameter of to or before using the following presets:

          +

          For better voice effects, Agora recommends setting the profile + parameter of to or before using the following + presets:

            -
          • -
          • -
          • -
          • -
          • -
          • -
          • -
          • -
          • -
          • -
          • -
          • -
          • -
          • -
          +
        1422. +
        1423. +
        1424. +
        1425. +
        1426. +
        1427. +
        1428. +
        1429. +
        1430. +
        1431. +
        1432. +
        1433. +
        1434. +
        1435. + +
          Enumerator - - - Turn off voice effects, that is, use the original voice. - - - - The voice effect typical of a KTV venue. - - - - The voice effect typical of a concert hall. - - - - The voice effect typical of a recording studio. - - - - The voice effect typical of a vintage phonograph. - - - - -

          The virtual stereo effect, which renders monophonic audio as stereo audio.

          - Before using this preset, set the profile parameter of to or ; otherwise, the preset setting is invalid.
          -
          - - - A more spatial voice effect. - - - - A more ethereal voice effect. - - - - -

          A 3D voice effect that makes the voice appear to be moving around the user. The default movement cycle is 10 seconds. After setting this effect, you can call to modify the movement period.

          - -
            -
          • Before using this preset, set the profile parameter of to or ; otherwise, the preset setting is invalid.
          • -
          • If the 3D voice effect is enabled, users need to use stereo audio playback devices to hear the anticipated voice effect.
          • -
          -
          - - - -

          A middle-aged man's voice.

          - Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
          -
          - - - -

          A senior man's voice.

          - Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
          -
          - - - -

          A boy's voice.

          - Agora recommends using this preset to process a male-sounding voice; otherwise, you may not hear the anticipated voice effect.
          -
          - - - -

          A young woman's voice.

          - Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
          -
          - - - -

          A girl's voice.

          - Agora recommends using this preset to process a female-sounding voice; otherwise, you may not hear the anticipated voice effect.
          -
          - - - The voice of Pig King, a character in Journey to the West who has a voice like a growling bear. - - - - The Hulk's voice. - - - - -

          The voice effect typical of R&B music.

          - Before using this preset, set the profile parameter of to or ; otherwise, the preset setting is invalid.
          -
          - - - -

          The voice effect typical of popular music.

          - Before using this preset, set the profile parameter of to or ; otherwise, the preset setting is invalid.
          -
          - - - A pitch correction effect that corrects the user's pitch based on the pitch of the natural C major scale. After setting this voice effect, you can call to adjust the basic mode of tuning and the pitch of the main tone. - -
          + + + Turn off voice effects, that is, use the original voice. + + + + The voice effect typical of a KTV venue. + + + + The voice effect typical of a concert hall. + + + + The voice effect typical of a recording studio. + + + + The voice effect typical of a vintage phonograph. + + + + +

          The virtual stereo effect, which renders monophonic audio as stereo + audio.

          + Before using this preset, set the + profile parameter of to or ; otherwise, the + preset setting is invalid. +
          +
          + + + A more spatial voice effect. + + + + A more ethereal voice effect. + + + + +

          A 3D voice effect that makes the voice appear to be moving around the + user. The default movement cycle is 10 seconds. After setting this + effect, you can call to modify + the movement period.

          + +
            +
          • Before using this preset, set the profile + parameter of to or ; + otherwise, the preset setting is invalid.
          • +
          • If the 3D voice effect is enabled, users need to use stereo + audio playback devices to hear the anticipated voice + effect.
          • +
          +
          +
          +
          + + + +

          A middle-aged man's voice.

          + Agora recommends using this preset to process a + male-sounding voice; otherwise, you may not hear the anticipated voice + effect. +
          +
          + + + +

          A senior man's voice.

          + Agora recommends using this preset to process a + male-sounding voice; otherwise, you may not hear the anticipated voice + effect. +
          +
          + + + +

          A boy's voice.

          + Agora recommends using this preset to process a + male-sounding voice; otherwise, you may not hear the anticipated voice + effect. +
          +
          + + + +

          A young woman's voice.

          + Agora recommends using this preset to process a + female-sounding voice; otherwise, you may not hear the anticipated voice + effect. +
          +
          + + + +

          A girl's voice.

          + Agora recommends using this preset to process a + female-sounding voice; otherwise, you may not hear the anticipated voice + effect. +
          +
          + + + The voice of Pig King, a character in Journey to the West who has a voice + like a growling bear. + + + + The Hulk's voice. + + + + +

          The voice effect typical of R&B music.

          + Before using this preset, set the + profile parameter of to or ; otherwise, the + preset setting is invalid. +
          +
          + + + +

          The voice effect typical of popular music.

          + Before using this preset, set the + profile parameter of to or ; otherwise, the + preset setting is invalid. +
          +
          + + + A pitch correction effect that corrects the user's pitch based on the pitch + of the natural C major scale. After setting this voice effect, you can call + to adjust the basic mode of + tuning and the pitch of the main tone. + + +
          diff --git a/en-US/dita/RTC/API/enum_audioencodedframeobserverposition.dita b/en-US/dita/RTC/API/enum_audioencodedframeobserverposition.dita index f1650efd8f8..d20c5264894 100644 --- a/en-US/dita/RTC/API/enum_audioencodedframeobserverposition.dita +++ b/en-US/dita/RTC/API/enum_audioencodedframeobserverposition.dita @@ -7,18 +7,19 @@
          Enumerator - - - 1: Only records the audio of the local user. - - - - 2: Only records the audio of all remote users. - - - - 3: Records the mixed audio of the local and all remote users. - -
          + + + 1: Only records the audio of the local user. + + + + 2: Only records the audio of all remote users. + + + + 3: Records the mixed audio of the local and all remote users. + + + diff --git a/en-US/dita/RTC/API/enum_audioencodingtype.dita b/en-US/dita/RTC/API/enum_audioencodingtype.dita index a834c885958..e60a7f5bcb4 100644 --- a/en-US/dita/RTC/API/enum_audioencodingtype.dita +++ b/en-US/dita/RTC/API/enum_audioencodingtype.dita @@ -7,50 +7,68 @@
          Enumerator - - - AAC encoding format, 16000 Hz sampling rate, bass quality. A file with an audio duration of 10 minutes is approximately 1.2 MB after encoding. - - - - AAC encoding format, 16000 Hz sampling rate, medium sound quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - AAC encoding format, 32000 Hz sampling rate, bass quality. A file with an audio duration of 10 minutes is approximately 1.2 MB after encoding. - - - - AAC encoding format, 32000 Hz sampling rate, medium sound quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - AAC encoding format, 32000 Hz sampling rate, high sound quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding. - - - - AAC encoding format, 48000 Hz sampling rate, medium sound quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - AAC encoding format, 48000 Hz sampling rate, high sound quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding. - - - - OPUS encoding format, 16000 Hz sampling rate, bass quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - OPUS encoding format, 16000 Hz sampling rate, medium sound quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - OPUS encoding format, 48000 Hz sampling rate, medium sound quality. A file with an audio duration of 10 minutes is approximately 2 MB after encoding. - - - - OPUS encoding format, 48000 Hz sampling rate, high sound quality. A file with an audio duration of 10 minutes is approximately 3.5 MB after encoding. - -
          + + + AAC encoding format, 16000 Hz sampling rate, bass quality. A file with an + audio duration of 10 minutes is approximately 1.2 MB after encoding. + + + + AAC encoding format, 16000 Hz sampling rate, medium sound quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding. + + + + AAC encoding format, 32000 Hz sampling rate, bass quality. A file with an + audio duration of 10 minutes is approximately 1.2 MB after encoding. + + + + AAC encoding format, 32000 Hz sampling rate, medium sound quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding. + + + + AAC encoding format, 32000 Hz sampling rate, high sound quality. A file with + an audio duration of 10 minutes is approximately 3.5 MB after encoding. + + + + AAC encoding format, 48000 Hz sampling rate, medium sound quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding. + + + + AAC encoding format, 48000 Hz sampling rate, high sound quality. A file with + an audio duration of 10 minutes is approximately 3.5 MB after encoding. + + + + OPUS encoding format, 16000 Hz sampling rate, bass quality. A file with an + audio duration of 10 minutes is approximately 2 MB after encoding. + + + + OPUS encoding format, 16000 Hz sampling rate, medium sound quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding. + + + + OPUS encoding format, 48000 Hz sampling rate, medium sound quality. A file + with an audio duration of 10 minutes is approximately 2 MB after + encoding. + + + + OPUS encoding format, 48000 Hz sampling rate, high sound quality. A file + with an audio duration of 10 minutes is approximately 3.5 MB after + encoding. + + + diff --git a/en-US/dita/RTC/API/enum_audioequalizationbandfrequency.dita b/en-US/dita/RTC/API/enum_audioequalizationbandfrequency.dita index 1e93c528435..bc529320555 100644 --- a/en-US/dita/RTC/API/enum_audioequalizationbandfrequency.dita +++ b/en-US/dita/RTC/API/enum_audioequalizationbandfrequency.dita @@ -2,51 +2,53 @@ <ph keyref="AUDIO_EQUALIZATION_BAND_FREQUENCY"/> - The midrange frequency for audio equalization. + The midrange frequency for audio + equalization.
          Enumerator - - - 0: 31 Hz - - - - 1: 62 Hz - - - - 2: 125 Hz - - - - 3: 250 Hz - - - - 4: 500 Hz - - - - 5: 1 kHz - - - - 6: 2 kHz - - - - 7: 4 kHz - - - - 8: 8 kHz - - - - 9: 16 kHz - -
          + + + 0: 31 Hz + + + + 1: 62 Hz + + + + 2: 125 Hz + + + + 3: 250 Hz + + + + 4: 500 Hz + + + + 5: 1 kHz + + + + 6: 2 kHz + + + + 7: 4 kHz + + + + 8: 8 kHz + + + + 9: 16 kHz + + +
          diff --git a/en-US/dita/RTC/API/enum_audioexternalsourceposition.dita b/en-US/dita/RTC/API/enum_audioexternalsourceposition.dita index 108f89d927b..e79c9739783 100644 --- a/en-US/dita/RTC/API/enum_audioexternalsourceposition.dita +++ b/en-US/dita/RTC/API/enum_audioexternalsourceposition.dita @@ -2,24 +2,31 @@ <ph keyref="AUDIO_EXTERNAL_SOURCE_POSITION"/> - The push position of the external audio frame. Set in - or . + The push position of the external audio frame. Set in + or + .
          Enumerator - - - 0: The position before local playback. If you need to play the external audio frame on the local client, set this position. - - - - 1: The position after audio capture and before quaio pre-processing. If you need the audio module of the SDK to process the external audio frame, set this position. - - - - 2: The position after audio pre-processing and bedfore audio encoding. If you do not need the audio module of the SDK to process the external audio frame, set this position. - -
          + + + 0: The position before local playback. If you need to play the external + audio frame on the local client, set this position. + + + + 1: The position after audio capture and before quaio pre-processing. If you + need the audio module of the SDK to process the external audio frame, set + this position. + + + + 2: The position after audio pre-processing and bedfore audio encoding. If + you do not need the audio module of the SDK to process the external audio + frame, set this position. + + +
          diff --git a/en-US/dita/RTC/API/enum_audiofileinfoerror.dita b/en-US/dita/RTC/API/enum_audiofileinfoerror.dita index 3b167e1fbff..e9063a6dd6c 100644 --- a/en-US/dita/RTC/API/enum_audiofileinfoerror.dita +++ b/en-US/dita/RTC/API/enum_audiofileinfoerror.dita @@ -2,27 +2,29 @@ <ph keyref="AUDIO_FILE_INFO_ERROR"/> - The information acquisition state. This enum is reported in . + The information acquisition state. This enum is + reported in .
          - -
          Since
          -
          v
          -
          + +
          Since
          +
          v
          +
          Enumerator - - - 0: Successfully get the information of an audio file. - - - - 1: Fail to get the information of an audio file. - -
          + + + 0: Successfully get the information of an audio file. + + + + 1: Fail to get the information of an audio file. + + +
          diff --git a/en-US/dita/RTC/API/enum_audioframetype.dita b/en-US/dita/RTC/API/enum_audioframetype.dita index 21c2e9f5cdd..9ff57c807a8 100644 --- a/en-US/dita/RTC/API/enum_audioframetype.dita +++ b/en-US/dita/RTC/API/enum_audioframetype.dita @@ -7,10 +7,11 @@
          Enumerator - - - 0: PCM 16 - -
          + + + 0: PCM 16 + + + diff --git a/en-US/dita/RTC/API/enum_audiomixingdualmonomode.dita b/en-US/dita/RTC/API/enum_audiomixingdualmonomode.dita index a3ac159d66e..fd0e57e2dc0 100644 --- a/en-US/dita/RTC/API/enum_audiomixingdualmonomode.dita +++ b/en-US/dita/RTC/API/enum_audiomixingdualmonomode.dita @@ -2,35 +2,43 @@ <ph keyref="AUDIO_MIXING_DUAL_MONO_MODE"/> - The channel mode. Set in . + The channel mode. Set in .
          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          Enumerator - - - 0: Original mode. - - - - 1: Left channel mode. This mode replaces the audio of the right channel with the audio of the left channel, which means the user can only hear the audio of the left channel. - - - - 2: Right channel mode. This mode replaces the audio of the left channel with the audio of the right channel, which means the user can only hear the audio of the right channel. - - - - 3: Mixed channel mode. This mode mixes the audio of the left channel and the right channel, which means the user can hear the audio of the left channel and the right channel at the same time. - -
          + + + 0: Original mode. + + + + 1: Left channel mode. This mode replaces the audio of the right channel with + the audio of the left channel, which means the user can only hear the audio + of the left channel. + + + + 2: Right channel mode. This mode replaces the audio of the left channel with + the audio of the right channel, which means the user can only hear the audio + of the right channel. + + + + 3: Mixed channel mode. This mode mixes the audio of the left channel and the + right channel, which means the user can hear the audio of the left channel + and the right channel at the same time. + + +
          diff --git a/en-US/dita/RTC/API/enum_audiomixingerrortype.dita b/en-US/dita/RTC/API/enum_audiomixingerrortype.dita index a6f31f358a2..c0baa448b58 100644 --- a/en-US/dita/RTC/API/enum_audiomixingerrortype.dita +++ b/en-US/dita/RTC/API/enum_audiomixingerrortype.dita @@ -7,31 +7,32 @@
          - -
          Deprecated:
          -
          Deprecated as of v3.4.0.
          -
          + +
          Deprecated:
          +
          Deprecated as of v3.4.0.
          +
          Enumerator - - - The SDK cannot open the music file. - - - - The SDK opens the music file too frequently. - - - - The playback of the music file is interrupted. - - - - The music file is playing. - -
          + + + The SDK cannot open the music file. + + + + The SDK opens the music file too frequently. + + + + The playback of the music file is interrupted. + + + + The music file is playing. + + +
          diff --git a/en-US/dita/RTC/API/enum_audiomixingreasontype.dita b/en-US/dita/RTC/API/enum_audiomixingreasontype.dita index 3a4a82789a2..32a6494fea4 100644 --- a/en-US/dita/RTC/API/enum_audiomixingreasontype.dita +++ b/en-US/dita/RTC/API/enum_audiomixingreasontype.dita @@ -2,65 +2,70 @@ <ph keyref="AUDIO_MIXING_REASON_TYPE"/> - The reason why the playback state of the music file changes. Reported in the callback. + The reason why the playback state of the music file + changes. Reported in the + callback.
          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          Enumerator - - - 701: The SDK cannot open the music file. For example, the local music file - does not exist, the SDK does not support the file format, or the SDK cannot + + + 701: The SDK cannot open the music file. For example, the local music file + does not exist, the SDK does not support the file format, or the SDK cannot access the music file URL. - - - - 702: The SDK opens the music file too frequently. If you need to call startAudioMixing multiple times, ensure that the call interval is more than 500 ms. - - - - 703: The music file playback is interrupted. - - - - 720: The method call of startAudioMixing to play music + + + + 702: The SDK opens the music file too frequently. If you need to call + startAudioMixing multiple times, ensure that the call + interval is more than 500 ms. + + + + 703: The music file playback is interrupted. + + + + 720: The method call of startAudioMixing to play music files succeeds. - - - - 721: The music file completes a loop playback. - - - - 722: The music file starts a new loop playback. - - - - 723: The music file completes all loop playbacks. - - - - 724: The method call of to stop playing the + + + + 721: The music file completes a loop playback. + + + + 722: The music file starts a new loop playback. + + + + 723: The music file completes all loop playbacks. + + + + 724: The method call of to stop playing the music file succeeds. - - - - 725: The method call of to pause playing + + + + 725: The method call of to pause playing the music file succeeds. - - - - 726: The method call of to resume playing + + + + 726: The method call of to resume playing the music file succeeds. - -
          + + +
          diff --git a/en-US/dita/RTC/API/enum_audiomixingstatetype.dita b/en-US/dita/RTC/API/enum_audiomixingstatetype.dita index 3783ce78843..23463ad3301 100644 --- a/en-US/dita/RTC/API/enum_audiomixingstatetype.dita +++ b/en-US/dita/RTC/API/enum_audiomixingstatetype.dita @@ -7,57 +7,57 @@
          Enumerator - - - -

          710: The music file is playing.

          -

          The possible reasons include: -

            -
          • (710)
          • -
          • (720)
          • -
          • (722)
          • -
          • (726)
          • -

          -
          -
          - - - -

          711: The music file pauses playing.

          -

          This state is due to (725).

          -
          -
          - - - -

          713: The music file stops playing.

          -

          The possible reasons include: -

            -
          • (723)
          • -
          • (724)
          • -

          -
          -
          - - - -

          714: An error occurs during the playback of the audio mixing file.

          -

          The possible reasons include: -

            -
          • (701)
          • -
          • (702)
          • -
          • (703)
          • -

          -
          -
          - - - (715): The music file is played once. - - - - (716): The music file is all played out. - -
          + + + +

          710: The music file is playing.

          +

          The possible reasons include:

            +
          • (710)
          • +
          • (720)
          • +
          • (722)
          • +
          • (726)
          • +
          +

          +
          +
          + + + +

          711: The music file pauses playing.

          +

          This state is due to (725).

          +
          +
          + + + +

          713: The music file stops playing.

          +

          The possible reasons include:

            +
          • (723)
          • +
          • (724)
          • +

          +
          +
          + + + +

          714: An error occurs during the playback of the audio mixing file.

          +

          The possible reasons include:

            +
          • (701)
          • +
          • (702)
          • +
          • (703)
          • +

          +
          +
          + + + (715): The music file is played once. + + + + (716): The music file is all played out. + + + diff --git a/en-US/dita/RTC/API/enum_audioprocessingchannels.dita b/en-US/dita/RTC/API/enum_audioprocessingchannels.dita index fce00573cf6..3818ab8a836 100644 --- a/en-US/dita/RTC/API/enum_audioprocessingchannels.dita +++ b/en-US/dita/RTC/API/enum_audioprocessingchannels.dita @@ -2,42 +2,61 @@ <ph keyref="AUDIO_PROCESSING_CHANNELS"/> - The number of channels for audio preprocessing. + The number of channels for audio + preprocessing.
          -

          In scenarios that require enhanced realism, such as concerts, local users might need to capture stereo audio and send stereo signals to remote users. For example, the singer, guitarist, and drummer are standing in different positions on the stage. The audio capture device captures their stereo audio and sends stereo signals to remote users. Remote users can hear the song, guitar, and drum from different directions as if they were at the auditorium.

          -

          You can set the dual-channel processing to implement stereo audio in this class. Agora recommends the following settings: -

            -
          1. Preprocessing: call and set audioProcessingChannels to (2) in .
          2. -
          3. Post-processing: call and set profile to (3) or (5).
          4. -

          +

          In scenarios that require enhanced realism, such as concerts, local users might need + to capture stereo audio and send stereo signals to remote users. For example, the + singer, guitarist, and drummer are standing in different positions on the stage. The + audio capture device captures their stereo audio and sends stereo signals to remote + users. Remote users can hear the song, guitar, and drum from different directions as + if they were at the auditorium.

          +

          You can set the dual-channel processing to implement stereo audio in this class. + Agora recommends the following settings:

            +
          1. Preprocessing: call and set + audioProcessingChannels to (2) in .
          2. +
          3. Post-processing: call and set + profile to (3) or (5).
          4. +

          -
            -
          • The stereo setting only takes effect when the SDK uses the media volume. See . See and .
          • -
          • On iOS, stereo audio requires high device performance. Stereo audio is only supported on the following devices using iOS 14.0 and later:
              -
            • iPhone XS
            • -
            • iPhone XS Max
            • -
            • iPhone XR
            • -
            • iPhone 11
            • -
            • iPhone 11 Pro
            • -
            • iPhone 11 Pro Max
            • -
            • iPhone SE (2020)
            • -
            • iPad Pro 11" and 12.9" (3rd generation)
            • -
            • iPad Pro 11" and 12.9" (4th generation)
            • -
          • -
          +
        1436. The stereo setting only takes effect when the SDK uses the media volume. See . See and .
        1437. +
        1438. On iOS, stereo audio requires high device performance. + Stereo audio is only supported on the following devices using iOS 14.0 and + later:
            +
          • iPhone XS
          • +
          • iPhone XS Max
          • +
          • iPhone XR
          • +
          • iPhone 11
          • +
          • iPhone 11 Pro
          • +
          • iPhone 11 Pro Max
          • +
          • iPhone SE (2020)
          • +
          • iPad Pro 11" and 12.9" (3rd generation)
          • +
          • iPad Pro 11" and 12.9" (4th generation)
          • +
        1439. + + +
          Enumerator - - - 1: (Default) Mono. - - - - 2: Stereo. - -
          + + + 1: (Default) Mono. + + + + 2: Stereo. + + +
          diff --git a/en-US/dita/RTC/API/enum_audioprofiletype.dita b/en-US/dita/RTC/API/enum_audioprofiletype.dita index 17cfe880ea6..37c7e01372e 100644 --- a/en-US/dita/RTC/API/enum_audioprofiletype.dita +++ b/en-US/dita/RTC/API/enum_audioprofiletype.dita @@ -7,56 +7,81 @@
          Enumerator - - - -

          0: The default audio profile. -

            -
          • For the interactive streaming profile: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps.
          • -
          • For the communication profile: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps. -
              -
            • Windows: A sample rate of 16 kHz, audio encoding, mono, and a bitrate of up to 16 Kbps.
            • -
            • Android/macOS/iOS:macOS: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps.
            • -
          • -

          -
          -
          - - - 1: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 Kbps. - - - - 2: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 Kbps. - - - - 3: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps. -

          To implement stereo audio, you also need to call and set audioProcessingChannels to in .

          -
          - 3: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 80 Kbps. -
          - - - 4: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 Kbps. - - - - 5: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps. -

          To implement stereo audio, you also need to call and set audioProcessingChannels to in .

          -
          - 5: A sample rate of 48 kHz, music encoding, stereo, and a bitrate of up to 128 Kbps. -
          - - - -

          6: A sample rate of 16 kHz, audio encoding, mono, and Acoustic Echo Cancellation (AES) enabled.

          -
          -
          - - - Enumerator boundary. - -
          + + + +

          0: The default audio profile.

            +
          • For the interactive streaming profile: A sample rate of 48 kHz, + music encoding, mono, and a bitrate of up to 64 Kbps.
          • +
          • For the communication profile: A + sample rate of 32 kHz, audio encoding, mono, and a bitrate + of up to 18 Kbps. +
              +
            • Windows: A sample rate of 16 kHz, audio encoding, mono, + and a bitrate of up to 16 Kbps.
            • +
            • Android/macOS/iOS:macOS: A sample rate of 32 + kHz, audio encoding, mono, and a bitrate of up to 18 + Kbps.
            • +
            +
          • +
          +

          +
          +
          + + + 1: A sample rate of 32 kHz, audio encoding, mono, and a bitrate of up to 18 + Kbps. + + + + 2: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 64 + Kbps. + + + + 3: A sample rate of 48 kHz, music encoding, stereo, and a + bitrate of up to 80 Kbps. +

          To implement stereo audio, you also need to call + and set + audioProcessingChannels to in .

          +
          + 3: A sample rate of 48 kHz, music encoding, stereo, and a + bitrate of up to 80 Kbps. +
          + + + 4: A sample rate of 48 kHz, music encoding, mono, and a bitrate of up to 96 + Kbps. + + + + 5: A sample rate of 48 kHz, music encoding, stereo, and a + bitrate of up to 128 Kbps. +

          To implement stereo audio, you also need to call + and set + audioProcessingChannels to in .

          +
          + 5: A sample rate of 48 kHz, music encoding, stereo, and a + bitrate of up to 128 Kbps. +
          + + + +

          6: A sample rate of 16 kHz, audio encoding, mono, and Acoustic Echo + Cancellation (AES) enabled.

          +
          +
          + + + Enumerator boundary. + + + diff --git a/en-US/dita/RTC/API/enum_audiorangemodetype.dita b/en-US/dita/RTC/API/enum_audiorangemodetype.dita index a060cab58ca..cd903156252 100644 --- a/en-US/dita/RTC/API/enum_audiorangemodetype.dita +++ b/en-US/dita/RTC/API/enum_audiorangemodetype.dita @@ -7,19 +7,29 @@
          Enumerator - - - 0: Everyone mode. In this mode, whether a user can hear other users in the room depends on their settings for audio reception range, audio range mode, and team ID. -
            -
          • If both users A and B set the mode, users A and B can hear each other when they are in the audio reception range of each other or belong to the same team.
          • -
          • If users A and B set the and mode respectively, they can only hear each other when they belong to the same team.
          • -
          • -
          -
          - - - 1: Team mode. In this mode, the user can only hear other users of the same team in the room. - -
          + + + 0: Everyone mode. In this mode, whether a user can hear other + users in the room depends on their settings for audio reception range, + audio range mode, and team ID. +
            +
          • If both users A and B set the mode, users A and B can hear + each other when they are in the audio reception range of each other + or belong to the same team.
          • +
          • If users A and B set the + and mode respectively, + they can only hear each other when they belong to the same + team.
          • +
          • +
          +
          + + + 1: Team mode. In this mode, the user can only hear other users + of the same team in the room. + + + diff --git a/en-US/dita/RTC/API/enum_audiorecordingposition.dita b/en-US/dita/RTC/API/enum_audiorecordingposition.dita index 15a579aab5d..bdc2240a182 100644 --- a/en-US/dita/RTC/API/enum_audiorecordingposition.dita +++ b/en-US/dita/RTC/API/enum_audiorecordingposition.dita @@ -2,31 +2,33 @@ <ph keyref="AUDIO_RECORDING_POSITION"/> - Recording content. Set in . + Recording content. Set in .
          - -
          Since
          -
          v3.4.0
          -
          + +
          Since
          +
          v3.4.0
          +
          Enumerator - - - 0: (Default) Records the mixed audio of the local and all remote users. - - - - 1: Only records the audio of the local user. - - - - 2: Only records the audio of all remote users. - -
          + + + 0: (Default) Records the mixed audio of the local and all remote users. + + + + 1: Only records the audio of the local user. + + + + 2: Only records the audio of all remote users. + + +
          diff --git a/en-US/dita/RTC/API/enum_audiorecordingqualitytype.dita b/en-US/dita/RTC/API/enum_audiorecordingqualitytype.dita index 32a123fe533..089dff0706a 100644 --- a/en-US/dita/RTC/API/enum_audiorecordingqualitytype.dita +++ b/en-US/dita/RTC/API/enum_audiorecordingqualitytype.dita @@ -1,28 +1,35 @@ - <ph keyref="AUDIO_RECORDING_QUALITY_TYPE"/> + + <ph keyref="AUDIO_RECORDING_QUALITY_TYPE"/> + Audio recording quality.
          Enumerator - - - 0: Low quality. The sample rate is 32 kHz, and the file size is around 1.2 MB after 10 minutes of recording. - - - - 1: Medium quality. The sample rate is 32 kHz, and the file size is around 2 MB after 10 minutes of recording. - - - - 2: High quality. The sample rate is 32 kHz, and the file size is around 3.75 MB after 10 minutes of recording. - - - - 3: Ultra high quality. The sample rate is 32 kHz, and the file size is around 7.5 MB after 10 minutes of recording. - -
          + + + 0: Low quality. The sample rate is 32 kHz, and the file size is around + 1.2 MB after 10 minutes of recording. + + + + 1: Medium quality. The sample rate is 32 kHz, and the file size is + around 2 MB after 10 minutes of recording. + + + + 2: High quality. The sample rate is 32 kHz, and the file size is around + 3.75 MB after 10 minutes of recording. + + + + 3: Ultra high quality. The sample rate is 32 kHz, and the file size is + around 7.5 MB after 10 minutes of recording. + + +
          diff --git a/en-US/dita/RTC/API/enum_audioreverbpreset.dita b/en-US/dita/RTC/API/enum_audioreverbpreset.dita index 268a9ac93b0..2fba74de57f 100644 --- a/en-US/dita/RTC/API/enum_audioreverbpreset.dita +++ b/en-US/dita/RTC/API/enum_audioreverbpreset.dita @@ -6,91 +6,96 @@
          - -
          Deprecated:
          -
          Deprecated as of v3.2.0.
          -
          + +
          Deprecated:
          +
          Deprecated as of v3.2.0.
          +
          Enumerator - - - Turn off voice reverb, that is, to use the original voice. - - - - The reverb style typical of a KTV venue (enhanced). - - - - The reverb style typical of a concert hall (enhanced). - - - - A middle-aged man's voice. - - - - The reverb style typical of a young woman's voice. - - - - The reverb style typical of a recording studio (enhanced). - - - - The reverb style typical of popular music (enhanced). - - - - The reverb style typical of R&B music (enhanced). - - - - The voice effect typical of a vintage phonograph. - - - - The voice effect typical of popular music. - - - - The voice effect typical of R&B music. - - - - The reverb style typical of rock music. - - - - The reverb style typical of hip-hop music. - - - - The voice effect typical of a concert hall. - - - - The voice effect typical of a KTV venue. - - - - The voice effect typical of a recording studio. - - - - The reverberation of the virtual stereo. The virtual stereo is an effect that renders the monophonic audio as the stereo audio, so that all users in the channel can hear the stereo voice effect. - - - - A pitch correction effect that corrects the user's pitch based on the pitch of the natural C major scale. - - - - A 3D voice effect that makes the voice appear to be moving around the user. - -
          + + + Turn off voice reverb, that is, to use the original voice. + + + + The reverb style typical of a KTV venue (enhanced). + + + + The reverb style typical of a concert hall (enhanced). + + + + A middle-aged man's voice. + + + + The reverb style typical of a young woman's voice. + + + + The reverb style typical of a recording studio (enhanced). + + + + The reverb style typical of popular music (enhanced). + + + + The reverb style typical of R&B music (enhanced). + + + + The voice effect typical of a vintage phonograph. + + + + The voice effect typical of popular music. + + + + The voice effect typical of R&B music. + + + + The reverb style typical of rock music. + + + + The reverb style typical of hip-hop music. + + + + The voice effect typical of a concert hall. + + + + The voice effect typical of a KTV venue. + + + + The voice effect typical of a recording studio. + + + + The reverberation of the virtual stereo. The virtual stereo is an + effect that renders the monophonic audio as the stereo audio, so that + all users in the channel can hear the stereo voice effect. + + + + A pitch correction effect that corrects the user's pitch based on the + pitch of the natural C major scale. + + + + A 3D voice effect that makes the voice appear to be moving around the + user. + + +
          diff --git a/en-US/dita/RTC/API/enum_audioreverbtype.dita b/en-US/dita/RTC/API/enum_audioreverbtype.dita index 35614bb22c1..3e0597b1187 100644 --- a/en-US/dita/RTC/API/enum_audioreverbtype.dita +++ b/en-US/dita/RTC/API/enum_audioreverbtype.dita @@ -7,26 +7,29 @@
          Enumerator - - - 0: The level of the dry signal (dB). The value is between -20 and 10. - - - - 1: The level of the early reflection signal (wet signal) (dB). The value is between -20 and 10. - - - - 2: The room size of the reflection. The value is between 0 and 100. - - - - 3: The length of the initial delay of the wet signal (ms). The value is between 0 and 200. - - - - 4: The reverberation strength. The value is between 0 and 100. - -
          + + + 0: The level of the dry signal (dB). The value is between -20 and 10. + + + + 1: The level of the early reflection signal (wet signal) (dB). The value is + between -20 and 10. + + + + 2: The room size of the reflection. The value is between 0 and 100. + + + + 3: The length of the initial delay of the wet signal (ms). The value is + between 0 and 200. + + + + 4: The reverberation strength. The value is between 0 and 100. + + + diff --git a/en-US/dita/RTC/API/enum_audioroutetype.dita b/en-US/dita/RTC/API/enum_audioroutetype.dita index e71548b0b0e..d15c1d43573 100644 --- a/en-US/dita/RTC/API/enum_audioroutetype.dita +++ b/en-US/dita/RTC/API/enum_audioroutetype.dita @@ -7,52 +7,54 @@
          Enumerator - - - -1: The default audio route. - - - - 0: The headset. - - - - 1: The earpiece. - - - - 2: The headset with no microphone. - - - - 3: The built-in speaker on a mobile device. - - - - 4: The external speaker. - - - - 5: The bluetooth headset. - + + + -1: The default audio route. + + + + 0: The headset. + + + + 1: The earpiece. + + + + 2: The headset with no microphone. + + + + 3: The built-in speaker on a mobile device. + + + + 4: The external speaker. + + + + 5: The bluetooth headset. + - - - 6: The USB peripheral (macOS only). - - - - 7: The HDMI peripheral (macOS only). - - - - 8: The DisplayPort peripheral (macOS only). - - - - 9: Apple AirPlay (macOS only). - -
          + + + 6: The USB peripheral (macOS only). + + + + 7: The HDMI peripheral (macOS only). + + + + 8: The DisplayPort peripheral (macOS + only). + + + + 9: Apple AirPlay (macOS only). + + + diff --git a/en-US/dita/RTC/API/enum_audiosampleratetype.dita b/en-US/dita/RTC/API/enum_audiosampleratetype.dita index bede546a30c..b9667d8b55e 100644 --- a/en-US/dita/RTC/API/enum_audiosampleratetype.dita +++ b/en-US/dita/RTC/API/enum_audiosampleratetype.dita @@ -2,23 +2,25 @@ <ph keyref="AUDIO_SAMPLE_RATE_TYPE"/> - The audio sampling rate of the stream to be pushed to the CDN. + The audio sampling rate of the stream to be pushed to + the CDN.
          Enumerator - - - 32000: 32 kHz - - - - 44100: 44.1 kHz - - - - 48000: (Default) 48 kHz - -
          + + + 32000: 32 kHz + + + + 44100: 44.1 kHz + + + + 48000: (Default) 48 kHz + + +
          diff --git a/en-US/dita/RTC/API/enum_audioscenariotype.dita b/en-US/dita/RTC/API/enum_audioscenariotype.dita index 7b9e17f52c1..75ba7792e1b 100644 --- a/en-US/dita/RTC/API/enum_audioscenariotype.dita +++ b/en-US/dita/RTC/API/enum_audioscenariotype.dita @@ -7,50 +7,53 @@
          Enumerator - - - 0: The default audio scenario. - - - - 1: Entertainment scenario where users need to frequently switch the user role. - - - - 2: Education scenario where users want smoothness and stability. - - - - 3: High-quality audio chatroom scenario where hosts mainly play music. - - - - 4: Showroom scenario where a single host wants high-quality audio. - - - - 5: Gaming scenario for group chat that only contains the human voice. - - - - 6: IoT (Internet of Things) scenario where users use IoT devices with low power consumption. - - - - -
          - -
          Since
          -
          v3.2.0
          -
          -
          -

          8: Meeting scenario that mainly contains the human voice.

          -
          -
          - - - The number of elements in the enumeration. - -
          + + + 0: The default audio scenario. + + + + 1: Entertainment scenario where users need to frequently switch the user + role. + + + + 2: Education scenario where users want smoothness and stability. + + + + 3: High-quality audio chatroom scenario where hosts mainly play music. + + + + 4: Showroom scenario where a single host wants high-quality audio. + + + + 5: Gaming scenario for group chat that only contains the human voice. + + + + 6: IoT (Internet of Things) scenario where users use IoT devices with low + power consumption. + + + + +
          + +
          Since
          +
          v3.2.0
          +
          +
          +

          8: Meeting scenario that mainly contains the human voice.

          +
          +
          + + + The number of elements in the enumeration. + + + diff --git a/en-US/dita/RTC/API/enum_audiosessionoperationrestriction.dita b/en-US/dita/RTC/API/enum_audiosessionoperationrestriction.dita index 214bd73aa96..4d1c77ec5fe 100644 --- a/en-US/dita/RTC/API/enum_audiosessionoperationrestriction.dita +++ b/en-US/dita/RTC/API/enum_audiosessionoperationrestriction.dita @@ -2,31 +2,35 @@ <ph keyref="AUDIO_SESSION_OPERATION_RESTRICTION"/> - The operational permission of the SDK on the audio session. + The operational permission of the SDK on the audio + session.
          Enumerator - - - No restriction, the SDK has full control of the audio session operations. - - - - The SDK does not change the audio session category. - - - - The SDK does not change any setting of the audio session (category, mode, categoryOptions). - - - - The SDK keeps the audio session active when leaving a channel. - - - - The SDK does not configure the audio session anymore. - -
          + + + No restriction, the SDK has full control of the audio session + operations. + + + + The SDK does not change the audio session category. + + + + The SDK does not change any setting of the audio session (category, mode, + categoryOptions). + + + + The SDK keeps the audio session active when leaving a channel. + + + + The SDK does not configure the audio session anymore. + + +
          diff --git a/en-US/dita/RTC/API/enum_backgroundblurdegree.dita b/en-US/dita/RTC/API/enum_backgroundblurdegree.dita index 2cb61f79291..86decbf1cfa 100644 --- a/en-US/dita/RTC/API/enum_backgroundblurdegree.dita +++ b/en-US/dita/RTC/API/enum_backgroundblurdegree.dita @@ -2,31 +2,37 @@ <ph keyref="BACKGROUND_BLUR_DEGREE"/> - The degree of blurring applied to the custom background image. + The degree of blurring applied to the custom background + image.
          - -
          Since
          -
          v3.5.0
          -
          + +
          Since
          +
          v3.5.0
          +
          Enumerator - - - 1: The degree of blurring applied to the custom background image is low. The user can almost see the background clearly. - - - - The degree of blurring applied to the custom background image is medium. It is difficult for the user to recognize details in the background. - - - - (Default) The degree of blurring applied to the custom background image is high. The user can barely see any distinguishing features in the background. - -
          + + + 1: The degree of blurring applied to the custom background image is low. The + user can almost see the background clearly. + + + + The degree of blurring applied to the custom background image is medium. It + is difficult for the user to recognize details in the background. + + + + (Default) The degree of blurring applied to the custom background image is + high. The user can barely see any distinguishing features in the + background. + + +
          diff --git a/en-US/dita/RTC/API/enum_backgroundsourcetype.dita b/en-US/dita/RTC/API/enum_backgroundsourcetype.dita index beb52719c18..60c66390b16 100644 --- a/en-US/dita/RTC/API/enum_backgroundsourcetype.dita +++ b/en-US/dita/RTC/API/enum_backgroundsourcetype.dita @@ -2,31 +2,33 @@ <ph keyref="BACKGROUND_SOURCE_TYPE"/> - The type of the custom background image. + The type of the custom background + image.
          - -
          Since
          -
          v3.5.0
          -
          + +
          Since
          +
          v3.5.0
          +
          Enumerator - - - 1: (Default) The background image is a solid color. - - - - The background image is a file in PNG or JPG format. - - - - The background image is the blurred background. - -
          + + + 1: (Default) The background image is a solid color. + + + + The background image is a file in PNG or JPG format. + + + + The background image is the blurred background. + + +
          diff --git a/en-US/dita/RTC/API/enum_cameradirection.dita b/en-US/dita/RTC/API/enum_cameradirection.dita index 01e6e55fb8e..a4367cc3a65 100644 --- a/en-US/dita/RTC/API/enum_cameradirection.dita +++ b/en-US/dita/RTC/API/enum_cameradirection.dita @@ -7,14 +7,15 @@
          Enumerator - - - The rear camera. - - - - The front camera. - -
          + + + The rear camera. + + + + The front camera. + + + diff --git a/en-US/dita/RTC/API/enum_capturebrightnessleveltype.dita b/en-US/dita/RTC/API/enum_capturebrightnessleveltype.dita index 101f99887d4..6a406a4a216 100644 --- a/en-US/dita/RTC/API/enum_capturebrightnessleveltype.dita +++ b/en-US/dita/RTC/API/enum_capturebrightnessleveltype.dita @@ -2,35 +2,39 @@ <ph keyref="CAPTURE_BRIGHTNESS_LEVEL_TYPE"/> - The brightness level of the video image captured by the local camera. + The brightness level of the video image captured by the + local camera.
          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          Enumerator - - - -1: The SDK does not detect the brightness level of the video image. Wait a few seconds to get the brightness level from captureBrightnessLevel in the next callback. - - - - 0: The brightness level of the video image is normal. - - - - 1: The brightness level of the video image is too bright. - - - - 2: The brightness level of the video image is too dark. - -
          + + + -1: The SDK does not detect the brightness level of the video image. Wait a + few seconds to get the brightness level from + captureBrightnessLevel in the next callback. + + + + 0: The brightness level of the video image is normal. + + + + 1: The brightness level of the video image is too bright. + + + + 2: The brightness level of the video image is too dark. + + +
          diff --git a/en-US/dita/RTC/API/enum_captureroutputpreference.dita b/en-US/dita/RTC/API/enum_captureroutputpreference.dita index 623e0f4bdb3..b7ebeee8e00 100644 --- a/en-US/dita/RTC/API/enum_captureroutputpreference.dita +++ b/en-US/dita/RTC/API/enum_captureroutputpreference.dita @@ -7,30 +7,40 @@
          Enumerator - - - 0: (Default) Automatically adjust the camera capture preference. The SDK adjusts the camera output parameters according to the system performance and network conditions to balance CPU consumption and video preview quality. - - - - 1: Prioritizes the system performance. The SDK chooses the dimension and frame rate of the local camera capture closest to those set by . In this case, the local preview quality depends on the encoder. - - - - 2: Prioritizes the local preview quality. The SDK chooses higher camera output parameters to improve the local video preview quality. This option requires extra CPU and RAM usage for video pre-processing. - - - - -
          - -
          Since
          -
          v3.3.0
          -
          -
          -

          3: Allows you to customize the width and height of the video image captured by the local camera.

          -
          -
          -
          + + + 0: (Default) Automatically adjust the camera capture preference. The SDK + adjusts the camera output parameters according to the system performance and + network conditions to balance CPU consumption and video preview + quality. + + + + 1: Prioritizes the system performance. The SDK chooses the dimension and + frame rate of the local camera capture closest to those set by . In this case, the local preview + quality depends on the encoder. + + + + 2: Prioritizes the local preview quality. The SDK chooses higher camera + output parameters to improve the local video preview quality. This option + requires extra CPU and RAM usage for video pre-processing. + + + + +
          + +
          Since
          +
          v3.3.0
          +
          +
          +

          3: Allows you to customize the width and height of the video image + captured by the local camera.

          +
          +
          + + diff --git a/en-US/dita/RTC/API/enum_channelmediarelayerror.dita b/en-US/dita/RTC/API/enum_channelmediarelayerror.dita index 6917cc7b405..f0d4d19b1b4 100644 --- a/en-US/dita/RTC/API/enum_channelmediarelayerror.dita +++ b/en-US/dita/RTC/API/enum_channelmediarelayerror.dita @@ -2,63 +2,72 @@ <ph keyref="CHANNEL_MEDIA_RELAY_ERROR"/> - The error code of the channel media replay. + The error code of the channel media + replay.
          Enumerator - - - 0: No error. - - - - 1: An error occurs in the server response. - - - - -

          2: No server response.

          -

          You can call to leave the channel.

          -

          This error can also occur if your project has not enabled co-host token authentication. You can to enable the co-host token authentication service before starting a channel media relay.

          -
          -
          - - - 3: The SDK fails to access the service, probably due to limited resources of the server. - - - - 4: Fails to send the relay request. - - - - 5: Fails to accept the relay request. - - - - 6: The server fails to receive the media stream. - - - - 7: The server fails to send the media stream. - - - - 8: The SDK disconnects from the server due to poor network connections. You can call the method to leave the channel. - - - - 9: An internal error occurs in the server. - - - - 10: The token of the source channel has expired. - - - - 11: The token of the destination channel has expired. - -
          + + + 0: No error. + + + + 1: An error occurs in the server response. + + + + +

          2: No server response.

          +

          You can call to leave the + channel.

          +

          This error can also occur if your project has not enabled co-host + token authentication. You can to + enable the co-host token authentication service before starting a + channel media relay.

          +
          +
          + + + 3: The SDK fails to access the service, probably due to limited + resources of the server. + + + + 4: Fails to send the relay request. + + + + 5: Fails to accept the relay request. + + + + 6: The server fails to receive the media stream. + + + + 7: The server fails to send the media stream. + + + + 8: The SDK disconnects from the server due to poor network connections. + You can call the method to leave the + channel. + + + + 9: An internal error occurs in the server. + + + + 10: The token of the source channel has expired. + + + + 11: The token of the destination channel has expired. + + +
          diff --git a/en-US/dita/RTC/API/enum_channelmediarelayevent.dita b/en-US/dita/RTC/API/enum_channelmediarelayevent.dita index f87ff9c0915..b848f1f4f96 100644 --- a/en-US/dita/RTC/API/enum_channelmediarelayevent.dita +++ b/en-US/dita/RTC/API/enum_channelmediarelayevent.dita @@ -2,75 +2,89 @@ <ph keyref="CHANNEL_MEDIA_RELAY_EVENT"/> - The event code of channel media relay. + The event code of channel media + relay.
          Enumerator - - - 0: The user disconnects from the server due to a poor network connection. - - - - 1: The user is connected to the server. - - - - 2: The user joins the source channel. - - - - 3: The user joins the destination channel. - - - - 4: The SDK starts relaying the media stream to the destination channel. - - - - 5: The server receives the audio stream from the source channel. - - - - 6: The server receives the audio stream from the source channel. - - - - 7: The destination channel is updated. - - - - 8: The destination channel update fails due to internal reasons. - - - - 9: The destination channel does not change, which means that the destination channel fails to be updated. - - - - 10: The destination channel name is . - - - - 11: The video profile is sent to the server. - - - - 12: The SDK successfully pauses relaying the media stream to destination channels. - - - - 13: The SDK fails to pause relaying the media stream to destination channels. - - - - 14: The SDK successfully resumes relaying the media stream to destination channels. - - - - 15: The SDK fails to resume relaying the media stream to destination channels. - -
          + + + 0: The user disconnects from the server due to a poor network + connection. + + + + 1: The user is connected to the server. + + + + 2: The user joins the source channel. + + + + 3: The user joins the destination channel. + + + + 4: The SDK starts relaying the media stream to the destination + channel. + + + + 5: The server receives the audio stream from the source channel. + + + + 6: The server receives the audio stream from the source channel. + + + + 7: The destination channel is updated. + + + + 8: The destination channel update fails due to internal reasons. + + + + 9: The destination channel does not change, which means that the + destination channel fails to be updated. + + + + 10: The destination channel name is . + + + + 11: The video profile is sent to the server. + + + + 12: The SDK successfully pauses relaying the media stream to + destination channels. + + + + 13: The SDK fails to pause relaying the media stream to destination + channels. + + + + 14: The SDK successfully resumes relaying the media stream to + destination channels. + + + + 15: The SDK fails to resume relaying the media stream to destination + channels. + + +
          diff --git a/en-US/dita/RTC/API/enum_channelmediarelaystate.dita b/en-US/dita/RTC/API/enum_channelmediarelaystate.dita index 16494b49576..abc5ae072ed 100644 --- a/en-US/dita/RTC/API/enum_channelmediarelaystate.dita +++ b/en-US/dita/RTC/API/enum_channelmediarelaystate.dita @@ -2,27 +2,34 @@ <ph keyref="CHANNEL_MEDIA_RELAY_STATE"/> - The state code of the channel media relay. + The state code of the channel media + relay.
          Enumerator - - - 0: The initial state. After you successfully stop the channel media relay by calling , the callback returns this state. - - - - 1: The SDK tries to relay the media stream to the destination channel. - - - - 2: The SDK successfully relays the media stream to the destination channel. - - - - 3: An error occurs. See code in for the error code. - -
          + + + 0: The initial state. After you successfully stop the channel media relay by + calling , the callback returns this + state. + + + + 1: The SDK tries to relay the media stream to the destination channel. + + + + 2: The SDK successfully relays the media stream to the destination + channel. + + + + 3: An error occurs. See code in for the error code. + + +
          diff --git a/en-US/dita/RTC/API/enum_channelprofiletype.dita b/en-US/dita/RTC/API/enum_channelprofiletype.dita index 74400ff5477..817df65ea5f 100644 --- a/en-US/dita/RTC/API/enum_channelprofiletype.dita +++ b/en-US/dita/RTC/API/enum_channelprofiletype.dita @@ -7,18 +7,25 @@
          Enumerator - - - 0: (Default) The communication profile. This profile applies to scenarios such as an audio call or video call, where all users can publish and subscribe to streams. - - - - 1: Live streaming. In this profile, you can set the role of users as the host or audience by calling . A host both publishes and subscribes to streams, while an audience subscribes to streams only. This profile applies to scenarios such as a chat room or interactive video streaming. - - - - 2: Gaming. Agora does not recommend using this setting. - -
          + + + 0: (Default) The communication profile. This profile applies to scenarios + such as an audio call or video call, where all users can publish and + subscribe to streams. + + + + 1: Live streaming. In this profile, you can set the role of users as the + host or audience by calling . A host both + publishes and subscribes to streams, while an audience subscribes to streams + only. This profile applies to scenarios such as a chat room or interactive + video streaming. + + + + 2: Gaming. Agora does not recommend using this setting. + + + diff --git a/en-US/dita/RTC/API/enum_clientrolechangefailedreason.dita b/en-US/dita/RTC/API/enum_clientrolechangefailedreason.dita index 8ae97e4f37f..e75767b3cc5 100644 --- a/en-US/dita/RTC/API/enum_clientrolechangefailedreason.dita +++ b/en-US/dita/RTC/API/enum_clientrolechangefailedreason.dita @@ -2,31 +2,38 @@ <ph keyref="CLIENT_ROLE_CHANGE_FAILED_REASON"/> - Reasons for a user role switch failure. + Reasons for a user role switch + failure.
          Enumerator - - - -

          1: The number of hosts in the channel is already at the upper limit.

          - This enumerator is reported only when the support for 128 users is enabled. The maximum number of hosts is based on the actual number of hosts configured when you enable the 128-user feature. -
          -
          - - - 2: The request is rejected by the Agora server. Agora recommends you prompt the user to try to switch their user role again. - - - - 3: The request is timed out. Agora recommends you prompt the user to check the network connection and try to switch their user role again. - - - - 4: The SDK connection fails. You can use reason reported in the callback to troubleshoot the failure. - - -
          + + + +

          1: The number of hosts in the channel is already at the upper limit.

          + This enumerator is reported only when the support for + 128 users is enabled. The maximum number of hosts is based on the actual + number of hosts configured when you enable the 128-user feature. +
          +
          + + + 2: The request is rejected by the Agora server. Agora recommends you prompt + the user to try to switch their user role again. + + + + 3: The request is timed out. Agora recommends you prompt the user to check + the network connection and try to switch their user role again. + + + + 4: The SDK connection fails. You can use reason reported in + the callback to troubleshoot + the failure. + + +
          diff --git a/en-US/dita/RTC/API/enum_clientroletype.dita b/en-US/dita/RTC/API/enum_clientroletype.dita index 04f942db75d..a70b59b5057 100644 --- a/en-US/dita/RTC/API/enum_clientroletype.dita +++ b/en-US/dita/RTC/API/enum_clientroletype.dita @@ -2,19 +2,21 @@ <ph keyref="CLIENT_ROLE_TYPE"/> - The user role in the interactive live streaming. + The user role in the interactive live + streaming.
          Enumerator - - - 1: Host. A host can both send and receive streams. - - - - 2: (Default) Audience. An audience member can only receive streams. - -
          + + + 1: Host. A host can both send and receive streams. + + + + 2: (Default) Audience. An audience member can only receive streams. + + +
          diff --git a/en-US/dita/RTC/API/enum_cloudproxytype.dita b/en-US/dita/RTC/API/enum_cloudproxytype.dita index 92e60b24a67..57356f5fc6c 100644 --- a/en-US/dita/RTC/API/enum_cloudproxytype.dita +++ b/en-US/dita/RTC/API/enum_cloudproxytype.dita @@ -6,27 +6,34 @@
          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          Enumerator - - - 0: The automatic mode. The SDK has this mode enabled by default. In this mode, the SDK attempts a direct connection to SD-RTN™ and automatically switches to TCP/TLS 443 if the attempt fails. As of v3.6.2, the SDK has this mode enabled by default. - - - - 1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP. - - - - 2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TCP/TLS 443. - + + + 0: The automatic mode. The SDK has this mode + enabled by default. In this mode, the SDK attempts a direct + connection to SD-RTN™ and automatically switches to TCP/TLS 443 if the + attempt fails. As of v3.6.2, the SDK has this mode + enabled by default. + + + + 1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy + mode. In this mode, the SDK always transmits data over UDP. + + + + 2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP + cloud proxy mode. In this mode, the SDK always transmits data over TCP/TLS + 443. +
          diff --git a/en-US/dita/RTC/API/enum_connectionchangedreasontype.dita b/en-US/dita/RTC/API/enum_connectionchangedreasontype.dita index d3d7117d6f6..c07a985bc70 100644 --- a/en-US/dita/RTC/API/enum_connectionchangedreasontype.dita +++ b/en-US/dita/RTC/API/enum_connectionchangedreasontype.dita @@ -2,83 +2,105 @@ <ph keyref="CONNECTION_CHANGED_REASON_TYPE"/> - Reasons causing the change of the connection state. + Reasons causing the change of the connection + state.
          Enumerator - - - 0: The SDK is connecting to the Agora edge server. - - - - 1: The SDK has joined the channel successfully. - - - - 2: The connection between the SDK and the Agora edge server is interrupted. - - - - 3: The connection between the SDK and the Agora edge server is banned by the Agora edge server. This error occurs when the user is kicked out of the channel by the server. - - - - 4: The SDK fails to join the channel. When the SDK fails to join the channel for more than 20 minutes, this error occurs and the SDK stops reconnecting to the channel. - - - - 5: The SDK has left the channel. - - - - 6: The connection failed because the App ID is not valid. Please rejoin the channel with a valid App ID. - - - - 7: The connection failed since channel name is not valid. Please rejoin the channel with a valid channel name. - - - - -

          8: The connection failed because the token is not valid. Typical reasons include: -

            -
          • The App Certificate for the project is enabled in Agora Console, but you do not use a token when joining the channel. If you enable the App Certificate, you must use a token to join the channel.
          • -
          • The uid specified when calling to join the channel is inconsistent with the uid passed in when generating the token.
          • -

          -
          -
          - - - 9: The connection failed since token is expired. - - - - -

          10: The connection is rejected by server. Typical reasons include: -

            -
          • The user is already in the channel and still calls a method, for example, , to join the channel. Stop calling this method to clear this error.
          • -
          • The user tries to join the channel when conducting a pre-call test. The user needs to call the channel after the call test ends.
          • -

          -
          -
          - - - 11: The connection state changed to reconnecting because the SDK has set a proxy server. - - - - 12: The connection state changed because the token is renewed. - - - - 13: The IP address of the client has changed, possibly because the network type, IP address, or port has been changed. - - - - 14: Timeout for the keep-alive of the connection between the SDK and the Agora edge server. The connection state changes to . - -
          + + + 0: The SDK is connecting to the Agora edge server. + + + + 1: The SDK has joined the channel successfully. + + + + 2: The connection between the SDK and the Agora edge server is + interrupted. + + + + 3: The connection between the SDK and the Agora edge server is banned by the + Agora edge server. This error occurs when the user is kicked out of the + channel by the server. + + + + 4: The SDK fails to join the channel. When the SDK fails to join the channel + for more than 20 minutes, this error occurs and the SDK stops reconnecting + to the channel. + + + + 5: The SDK has left the channel. + + + + 6: The connection failed because the App ID is not valid. Please rejoin the + channel with a valid App ID. + + + + 7: The connection failed since channel name is not valid. Please rejoin the + channel with a valid channel name. + + + + +

          8: The connection failed because the token is not valid. Typical reasons + include:

            +
          • The App Certificate for the project is enabled in Agora Console, + but you do not use a token when joining the channel. If you + enable the App Certificate, you must use a token to join the + channel.
          • +
          • The uid specified when calling + to join the channel is inconsistent with the uid passed in when + generating the token.
          • +

          +
          +
          + + + 9: The connection failed since token is expired. + + + + +

          10: The connection is rejected by server. Typical reasons include:

            +
          • The user is already in the channel and still calls a method, for + example, , to join the channel. + Stop calling this method to clear this error.
          • +
          • The user tries to join the channel when conducting a pre-call + test. The user needs to call the channel after the call test + ends.
          • +
          +

          +
          +
          + + + 11: The connection state changed to reconnecting because the SDK has set a + proxy server. + + + + 12: The connection state changed because the token is renewed. + + + + 13: The IP address of the client has changed, possibly because the network + type, IP address, or port has been changed. + + + + 14: Timeout for the keep-alive of the connection between the SDK and the + Agora edge server. The connection state changes to . + + +
          diff --git a/en-US/dita/RTC/API/enum_connectionstatetype.dita b/en-US/dita/RTC/API/enum_connectionstatetype.dita index acd245bd136..fa7c1c74c4d 100644 --- a/en-US/dita/RTC/API/enum_connectionstatetype.dita +++ b/en-US/dita/RTC/API/enum_connectionstatetype.dita @@ -7,50 +7,76 @@
          Enumerator - - - -

          1: The SDK is disconnected from the Agora edge server. The state indicates the SDK is in one of the following phases: -

            -
          • The initial state before calling the method.
          • -
          • The app calls the method.
          • -

          -
          -
          - - - -

          2: The SDK is connecting to the Agora edge server. This state indicates that the SDK is establishing a connection with the specified channel after the app calls . -

            -
          • If the SDK successfully joins the channel, it triggers the callback and the connection state switches to .
          • -
          • After the connection is established, the SDK also initializes the media and triggers when everything is ready.
          • -

          -
          -
          - - - 3: The SDK is connected to the Agora edge server. This state also indicates that the user has joined a channel and can now publish or subscribe to a media stream in the channel. If the connection to the Agora edge server is lost because, for example, the network is down or switched, the SDK automatically tries to reconnect and triggers that indicates the connection state switches to . - - - - -

          4: The SDK keeps reconnecting to the Agora edge server. The SDK keeps rejoining the channel after being disconnected from a joined channel because of network issues. -

            -
          • If the SDK cannot rejoin the channel within 10 seconds, it triggers , stays in the state, and keeps rejoining the channel.
          • -
          • If the SDK fails to rejoin the channel 20 minutes after being disconnected from the Agora edge server, the SDK triggers the callback, switches to the state, and stops rejoining the channel.
          • -

          -
          -
          - - - -

          5: The SDK fails to connect to the Agora edge server or join the channel. This state indicates that the SDK stops trying to rejoin the channel. You must call to leave the channel. -

            -
          • You can call to rejoin the channel.
          • -
          • If the SDK is banned from joining the channel by the Agora edge server through the RESTful API, the SDK triggers the callback.
          • -

          -
          -
          -
          + + + +

          1: The SDK is disconnected from the Agora edge server. The state + indicates the SDK is in one of the following phases:

            +
          • The initial state before calling the method.
          • +
          • The app calls the method.
          • +

          +
          +
          + + + +

          2: The SDK is connecting to the Agora edge server. This state indicates + that the SDK is establishing a connection with the specified channel + after the app calls .

            +
          • If the SDK successfully joins the channel, it triggers the callback and the + connection state switches to .
          • +
          • After the connection is established, the SDK also initializes + the media and triggers + when everything is ready.
          • +

          +
          +
          + + + 3: The SDK is connected to the Agora edge server. This state also indicates + that the user has joined a channel and can now publish or subscribe to a + media stream in the channel. If the connection to the Agora edge server is + lost because, for example, the network is down or switched, the SDK + automatically tries to reconnect and triggers that indicates the connection state + switches to . + + + + +

          4: The SDK keeps reconnecting to the Agora edge server. The SDK keeps + rejoining the channel after being disconnected from a joined channel + because of network issues.

            +
          • If the SDK cannot rejoin the channel within 10 seconds, it + triggers , stays in the state, and keeps + rejoining the channel.
          • +
          • If the SDK fails to rejoin the channel 20 minutes after being + disconnected from the Agora edge server, the SDK triggers the + callback, switches + to the state, and stops + rejoining the channel.
          • +

          +
          +
          + + + +

          5: The SDK fails to connect to the Agora edge server or join the channel. + This state indicates that the SDK stops trying to rejoin the channel. + You must call to leave the channel.

            +
          • You can call to rejoin the + channel.
          • +
          • If the SDK is banned from joining the channel by the Agora edge + server through the RESTful API, the SDK triggers the callback.
          • +

          +
          +
          + + diff --git a/en-US/dita/RTC/API/enum_contentmode.dita b/en-US/dita/RTC/API/enum_contentmode.dita index 121839d9d5c..9c44a07b2f6 100644 --- a/en-US/dita/RTC/API/enum_contentmode.dita +++ b/en-US/dita/RTC/API/enum_contentmode.dita @@ -7,14 +7,18 @@
          Enumerator - - - Uniformly scale the video until it fills the visible boundaries (cropped). One dimension of the video might have clipped contents. - - - - Uniformly scale the video until one of its dimensions fits the boundary (zoomed to fit). Areas that are not filled due to disparity in the aspect ratio are filled with black. - -
          + + + Uniformly scale the video until it fills the visible boundaries (cropped). + One dimension of the video might have clipped contents. + + + + Uniformly scale the video until one of its dimensions fits the boundary + (zoomed to fit). Areas that are not filled due to disparity in the aspect + ratio are filled with black. + + + diff --git a/en-US/dita/RTC/API/enum_degradationpreference.dita b/en-US/dita/RTC/API/enum_degradationpreference.dita index 0da059d8710..c10dcea06e4 100644 --- a/en-US/dita/RTC/API/enum_degradationpreference.dita +++ b/en-US/dita/RTC/API/enum_degradationpreference.dita @@ -2,33 +2,50 @@ <ph keyref="DEGRADATION_PREFERENCE"/> - Video degradation preferences when the bandwidth is a constraint. + Video degradation preferences when the bandwidth is a + constraint.
          Enumerator - - - -

          0: (Default) Prefers to reduce the video frame rate while maintaining video quality during video encoding under limited bandwidth. This degradation preference is suitable for scenarios where video quality is prioritized.

          - In the COMMUNICATION channel profile, the resolution of the video sent may change, so remote users need to handle this issue. See .
          -
          - - - 1: Prefers to reduce the video quality while maintaining the video frame rate during video encoding under limited bandwidth. This degradation preference is suitable for scenarios where smoothness is prioritized and video quality is allowed to be reduced. - - - - -
          - -
          Since
          -
          v3.4.0
          -
          -
          -

          2: Reduces the video frame rate and video quality simultaneously during video encoding under limited bandwidth. has a lower reduction than and , and this preference is suitable for scenarios where both smoothness and video quality are a priority.

          - The resolution of the video sent may change, so remote users need to handle this issue. See .
          -
          -
          + + + +

          0: (Default) Prefers to reduce the video frame rate while maintaining + video quality during video encoding under limited bandwidth. This + degradation preference is suitable for scenarios where video quality is + prioritized.

          + In the COMMUNICATION channel profile, the resolution + of the video sent may change, so remote users need to handle this issue. + See .
          +
          + + + 1: Prefers to reduce the video quality while maintaining the video frame + rate during video encoding under limited bandwidth. This degradation + preference is suitable for scenarios where smoothness is prioritized and + video quality is allowed to be reduced. + + + + +
          + +
          Since
          +
          v3.4.0
          +
          +
          +

          2: Reduces the video frame rate and video quality simultaneously during + video encoding under limited bandwidth. + has a lower reduction than and , and this preference is suitable for + scenarios where both smoothness and video quality are a priority.

          + The resolution of the video sent may change, so + remote users need to handle this issue. See . +
          +
          + +
          diff --git a/en-US/dita/RTC/API/enum_earmonitoringfiltertype.dita b/en-US/dita/RTC/API/enum_earmonitoringfiltertype.dita index 103027376a3..284898039b8 100644 --- a/en-US/dita/RTC/API/enum_earmonitoringfiltertype.dita +++ b/en-US/dita/RTC/API/enum_earmonitoringfiltertype.dita @@ -7,24 +7,27 @@
          Enumerator - - - -

          1: Do not add an audio filter to the in-ear monitor.

          -
          -
          - - - -

          2: Add an audio filter to the in-ear monitor. If you implement functions such as voice beautifier and audio effect, users can hear the voice after adding these effects.

          -
          -
          - - - -

          4: Enable noise suppression to the in-ear monitor.

          -
          -
          -
          + + + +

          1: Do not add an audio filter to the in-ear monitor.

          +
          +
          + + + +

          2: Add an audio filter to the in-ear monitor. If you implement functions + such as voice beautifier and audio effect, users can hear the voice + after adding these effects.

          +
          +
          + + + +

          4: Enable noise suppression to the in-ear monitor.

          +
          +
          + + diff --git a/en-US/dita/RTC/API/enum_encryptionerrortype.dita b/en-US/dita/RTC/API/enum_encryptionerrortype.dita index b30269f4a4d..74e448252ef 100644 --- a/en-US/dita/RTC/API/enum_encryptionerrortype.dita +++ b/en-US/dita/RTC/API/enum_encryptionerrortype.dita @@ -7,18 +7,20 @@
          Enumerator - - - 0: Internal reason. - - - - 1: Decryption errors. Ensure that the receiver and the sender use the same encryption mode and key. - - - - 2: Encryption errors. - -
          + + + 0: Internal reason. + + + + 1: Decryption errors. Ensure that the receiver and the sender use the same + encryption mode and key. + + + + 2: Encryption errors. + + + diff --git a/en-US/dita/RTC/API/enum_encryptionmode.dita b/en-US/dita/RTC/API/enum_encryptionmode.dita index cea1f74746b..f5cb11c12d0 100644 --- a/en-US/dita/RTC/API/enum_encryptionmode.dita +++ b/en-US/dita/RTC/API/enum_encryptionmode.dita @@ -5,49 +5,55 @@ The built-in encryption mode.
          -

          Agora recommends using or encrypted mode. These two modes support the use of salt for higher security.

          +

          Agora recommends using or + encrypted mode. These two modes support the use of salt for higher security.

          Enumerator - - - 1: 128-bit AES encryption, XTS mode. - 1: (Default) 128-bit AES encryption, XTS mode. - - - - 2: 128-bit AES encryption, ECB mode. - - - - 3: 256-bit AES encryption, XTS mode. - - - - 4: 128-bit SM4 encryption, ECB mode. - - - - 5: 128-bit AES encryption, GCM mode. - - - - 6: 256-bit AES encryption, GCM mode. - - - - 7: (Default) 128-bit AES encryption, GCM mode. This encryption mode requires the setting of salt (encryptionKdfSalt). - 7: 128-bit AES encryption, GCM mode. This encryption mode requires the setting of salt (encryptionKdfSalt). - - - - 8: 256-bit AES encryption, GCM mode. This encryption mode requires the setting of salt (encryptionKdfSalt). - - - - Enumerator boundary. - -
          + + + 1: 128-bit AES encryption, XTS mode. + 1: (Default) 128-bit AES encryption, XTS mode. + + + + 2: 128-bit AES encryption, ECB mode. + + + + 3: 256-bit AES encryption, XTS mode. + + + + 4: 128-bit SM4 encryption, ECB mode. + + + + 5: 128-bit AES encryption, GCM mode. + + + + 6: 256-bit AES encryption, GCM mode. + + + + 7: (Default) 128-bit AES encryption, GCM mode. This + encryption mode requires the setting of salt + (encryptionKdfSalt). + 7: 128-bit AES encryption, GCM mode. This encryption mode + requires the setting of salt (encryptionKdfSalt). + + + + 8: 256-bit AES encryption, GCM mode. This encryption mode requires the + setting of salt (encryptionKdfSalt). + + + + Enumerator boundary. + + +
          diff --git a/en-US/dita/RTC/API/enum_errscreencapture.dita b/en-US/dita/RTC/API/enum_errscreencapture.dita index 4e705b3ce82..887d26452e1 100644 --- a/en-US/dita/RTC/API/enum_errscreencapture.dita +++ b/en-US/dita/RTC/API/enum_errscreencapture.dita @@ -7,18 +7,28 @@
          Enumerator - - - 16: The user refuses to grant screen capture permission to the application. - - - - 2: Due to system limitations, screen capture is not available on systems earlier than Android 5 (that is, Android API level 21). The SDK reports this error code when you call on systems earlier than Android 5. - - - - 3: Due to system limitations, system audio cannot be captured on systems earlier than Android 10 (that is, API level 29). The SDK reports this error when you call and set captureAudio as true on systems later than Android 5 (API level 21) and earlier than Android 10 (API level 29). - -
          + + + 16: The user refuses to grant screen capture permission to the + application. + + + + 2: Due to system limitations, screen capture is not available on systems + earlier than Android 5 (that is, Android API level 21). The SDK reports this + error code when you call on + systems earlier than Android 5. + + + + 3: Due to system limitations, system audio cannot be captured on systems + earlier than Android 10 (that is, API level 29). The SDK reports this error + when you call and set + captureAudio as true on systems later + than Android 5 (API level 21) and earlier than Android 10 (API level + 29). + + + diff --git a/en-US/dita/RTC/API/enum_excludewindowerror.dita b/en-US/dita/RTC/API/enum_excludewindowerror.dita index e43e5f7fdae..8f75f2f3ffc 100644 --- a/en-US/dita/RTC/API/enum_excludewindowerror.dita +++ b/en-US/dita/RTC/API/enum_excludewindowerror.dita @@ -1,20 +1,26 @@ - <ph keyref="EXCLUDE_WINDOW_ERROR"/> - The error code of the window blocking during screen sharing. + + <ph keyref="EXCLUDE_WINDOW_ERROR"/> + + + The error code of the window blocking during screen sharing. +
          Enumerator - - - -1: Fails to block the window during screen sharing. The user's graphics card does not support window blocking. - - - - 0: Reserved. - -
          + + + -1: Fails to block the window during screen sharing. The user's + graphics card does not support window blocking. + + + + 0: Reserved. + + +
          diff --git a/en-US/dita/RTC/API/enum_experiencepoorreason.dita b/en-US/dita/RTC/API/enum_experiencepoorreason.dita index 1d6df5a324d..7fe0fe60e20 100644 --- a/en-US/dita/RTC/API/enum_experiencepoorreason.dita +++ b/en-US/dita/RTC/API/enum_experiencepoorreason.dita @@ -2,39 +2,43 @@ <ph keyref="EXPERIENCE_POOR_REASON"/> - Reasons why the QoE of the local user when receiving a remote audio stream is poor. + Reasons why the QoE of the local user when receiving a + remote audio stream is poor.
          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          Enumerator - - - 0: No reason, indicating a good QoE of the local user. - - - - 1: The remote user's network quality is poor. - - - - 2: The local user's network quality is poor. - - - - 4: The local user's Wi-Fi or mobile network signal is weak. - - - - 8: The local user enables both Wi-Fi and bluetooth, and their signals interfere with each other. As a result, audio transmission quality is undermined. - -
          + + + 0: No reason, indicating a good QoE of the local user. + + + + 1: The remote user's network quality is poor. + + + + 2: The local user's network quality is poor. + + + + 4: The local user's Wi-Fi or mobile network signal is weak. + + + + 8: The local user enables both Wi-Fi and bluetooth, and their signals + interfere with each other. As a result, audio transmission quality is + undermined. + + +
          diff --git a/en-US/dita/RTC/API/enum_experiencequalitytype.dita b/en-US/dita/RTC/API/enum_experiencequalitytype.dita index d9ae1f2ef26..46121746e74 100644 --- a/en-US/dita/RTC/API/enum_experiencequalitytype.dita +++ b/en-US/dita/RTC/API/enum_experiencequalitytype.dita @@ -2,27 +2,29 @@ <ph keyref="EXPERIENCE_QUALITY_TYPE"/> - The Quality of Experience (QoE) of the local user when receiving a remote audio stream. + The Quality of Experience (QoE) of the local user when + receiving a remote audio stream.
          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          Enumerator - - - 0: The QoE of the local user is good. - - - - 1: The QoE of the local user is poor. - -
          + + + 0: The QoE of the local user is good. + + + + 1: The QoE of the local user is poor. + + +
          diff --git a/en-US/dita/RTC/API/enum_externalvideosourcetype.dita b/en-US/dita/RTC/API/enum_externalvideosourcetype.dita index 11ca80ac4e9..212ab1d32b1 100644 --- a/en-US/dita/RTC/API/enum_externalvideosourcetype.dita +++ b/en-US/dita/RTC/API/enum_externalvideosourcetype.dita @@ -2,19 +2,21 @@ <ph keyref="EXTERNAL_VIDEO_SOURCE_TYPE"/> - The external video frame encoding type. + The external video frame encoding + type.
          Enumerator - - - 0: The video frame is not encoded. - - - - 1: The video frame is encoded. - -
          + + + 0: The video frame is not encoded. + + + + 1: The video frame is encoded. + + +
          diff --git a/en-US/dita/RTC/API/enum_framerate.dita b/en-US/dita/RTC/API/enum_framerate.dita index 2b38bf99804..7f6e59192a4 100644 --- a/en-US/dita/RTC/API/enum_framerate.dita +++ b/en-US/dita/RTC/API/enum_framerate.dita @@ -7,36 +7,37 @@
          Enumerator - - - 1: 1 fps - - - - 7: 7 fps - - - - 10: 10 fps - - - - 15: 15 fps - - - - 24: 24 fps - - - - 30: 30 fps - - - - -

          60: 60 fps

          - (For Windows and macOS only)
          -
          -
          + + + 1: 1 fps + + + + 7: 7 fps + + + + 10: 10 fps + + + + 15: 15 fps + + + + 24: 24 fps + + + + 30: 30 fps + + + + +

          60: 60 fps

          + (For Windows and macOS only)
          +
          + + diff --git a/en-US/dita/RTC/API/enum_injectstreamstatus.dita b/en-US/dita/RTC/API/enum_injectstreamstatus.dita index 070a9634f34..b54e17b9a6a 100644 --- a/en-US/dita/RTC/API/enum_injectstreamstatus.dita +++ b/en-US/dita/RTC/API/enum_injectstreamstatus.dita @@ -2,55 +2,59 @@ <ph keyref="INJECT_STREAM_STATUS"/> - States of importing an external video stream in the interactive live streaming. + States of importing an external video stream in the + interactive live streaming.
          Enumerator - - - 0: The external video stream is imported successfully. - - - - 1: The external video stream already exists. - - - - 2: The external video stream to be imported is unauthorized. - - - - 3: A timeout occurs when importing the external video stream. - - - - 4: The SDK fails to import the external video stream. - - - - 5: The SDK successfully stops importing the external video stream. - - - - 6: The external video stream to be stopped importing is not found. - - - - 7: The external video stream to be stopped importing is unauthorized. - - - - 8: A timeout occurs when stopping importing the external video stream. - - - - 9: The SDK fails to stop importing the external video stream. - - - - 10: The external video stream is corrupted. - -
          + + + 0: The external video stream is imported successfully. + + + + 1: The external video stream already exists. + + + + 2: The external video stream to be imported is unauthorized. + + + + 3: A timeout occurs when importing the external video stream. + + + + 4: The SDK fails to import the external video stream. + + + + 5: The SDK successfully stops importing the external video stream. + + + + 6: The external video stream to be stopped importing is not found. + + + + 7: The external video stream to be stopped importing is + unauthorized. + + + + 8: A timeout occurs when stopping importing the external video + stream. + + + + 9: The SDK fails to stop importing the external video stream. + + + + 10: The external video stream is corrupted. + + +
          diff --git a/en-US/dita/RTC/API/enum_interfaceidtype.dita b/en-US/dita/RTC/API/enum_interfaceidtype.dita index aa2964dee5f..3f2a1f9fb1a 100644 --- a/en-US/dita/RTC/API/enum_interfaceidtype.dita +++ b/en-US/dita/RTC/API/enum_interfaceidtype.dita @@ -7,34 +7,35 @@
          Enumerator - - - The interface class. - - - - The interface class. - - - - This interface class is deprecated. - - - - The interface class. - - - - This interface class is deprecated. - - - - The interface class. - - - - The interface class. - -
          + + + The interface class. + + + + The interface class. + + + + This interface class is deprecated. + + + + The interface class. + + + + This interface class is deprecated. + + + + The interface class. + + + + The interface class. + + + diff --git a/en-US/dita/RTC/API/enum_lastmileproberesultstate.dita b/en-US/dita/RTC/API/enum_lastmileproberesultstate.dita index 424af5450ca..1bf004616f0 100644 --- a/en-US/dita/RTC/API/enum_lastmileproberesultstate.dita +++ b/en-US/dita/RTC/API/enum_lastmileproberesultstate.dita @@ -2,23 +2,27 @@ <ph keyref="LASTMILE_PROBE_RESULT_STATE"/> - The status of the last-mile network tests. + The status of the last-mile network + tests.
          Enumerator - - - 1: The last-mile network probe test is complete. - - - - 2: The last-mile network probe test is incomplete because the bandwidth estimation is not available due to limited test resources. - - - - 3: The last-mile network probe test is not carried out, probably due to poor network conditions. - -
          + + + 1: The last-mile network probe test is complete. + + + + 2: The last-mile network probe test is incomplete because the bandwidth + estimation is not available due to limited test resources. + + + + 3: The last-mile network probe test is not carried out, probably due to poor + network conditions. + + +
          diff --git a/en-US/dita/RTC/API/enum_lighteningcontrastlevel.dita b/en-US/dita/RTC/API/enum_lighteningcontrastlevel.dita index ac97569810b..989eb97a224 100644 --- a/en-US/dita/RTC/API/enum_lighteningcontrastlevel.dita +++ b/en-US/dita/RTC/API/enum_lighteningcontrastlevel.dita @@ -7,18 +7,19 @@
          Enumerator - - - Low contrast level. - - - - (Default) Normal contrast level. - - - - High contrast level. - -
          + + + Low contrast level. + + + + (Default) Normal contrast level. + + + + High contrast level. + + + diff --git a/en-US/dita/RTC/API/enum_localaudiostreamerror.dita b/en-US/dita/RTC/API/enum_localaudiostreamerror.dita index eb3a1728ff6..1e53e575034 100644 --- a/en-US/dita/RTC/API/enum_localaudiostreamerror.dita +++ b/en-US/dita/RTC/API/enum_localaudiostreamerror.dita @@ -1,56 +1,64 @@ - <ph keyref="LOCAL_AUDIO_STREAM_ERROR"/> + + <ph keyref="LOCAL_AUDIO_STREAM_ERROR"/> + Local audio state error codes.
          Enumerator - - - 0: The local audio is normal. - - - - 1: No specified reason for the local audio failure. - - - - 2: No permission to use the local audio device. - - - - 3: The microphone is in use. - - - - 4: The local audio capturing fails. Check whether the capturing device is working properly. - - - - 5: The local audio encoding fails. - - - - 6: No audio recording device. - - - - 7: No audio playout device. - - - - 8: The local audio capture is interrupted by a system call. If the local audio capture is required, remind your user to hang up the phone. - - - - 9: The ID of the local audio-capture device is invalid. Check the audio capture device ID. - - - - 10: The ID of the local audio-playback device is invalid. Check the audio playback device ID. - -
          + + + 0: The local audio is normal. + + + + 1: No specified reason for the local audio failure. + + + + 2: No permission to use the local audio device. + + + + 3: The microphone is in use. + + + + 4: The local audio capturing fails. Check whether the capturing device + is working properly. + + + + 5: The local audio encoding fails. + + + + 6: No audio recording device. + + + + 7: No audio playout device. + + + + 8: The local audio capture is interrupted by a system call. If the + local audio capture is required, remind your user to hang up the + phone. + + + + 9: The ID of the local audio-capture device is invalid. Check the audio + capture device ID. + + + + 10: The ID of the local audio-playback device is invalid. Check the + audio playback device ID. + + +
          diff --git a/en-US/dita/RTC/API/enum_localaudiostreamstate.dita b/en-US/dita/RTC/API/enum_localaudiostreamstate.dita index fa897881153..3b322836ae2 100644 --- a/en-US/dita/RTC/API/enum_localaudiostreamstate.dita +++ b/en-US/dita/RTC/API/enum_localaudiostreamstate.dita @@ -7,22 +7,23 @@
          Enumerator - - - 0: The local audio is in the initial state. - - - - 1: The capturing device starts successfully. - - - - 2: The first audio frame encodes successfully. - - - - 3: The local audio fails to start. - -
          + + + 0: The local audio is in the initial state. + + + + 1: The capturing device starts successfully. + + + + 2: The first audio frame encodes successfully. + + + + 3: The local audio fails to start. + + + diff --git a/en-US/dita/RTC/API/enum_localvideostreamerror.dita b/en-US/dita/RTC/API/enum_localvideostreamerror.dita index 29dc1961965..bdd468e451e 100644 --- a/en-US/dita/RTC/API/enum_localvideostreamerror.dita +++ b/en-US/dita/RTC/API/enum_localvideostreamerror.dita @@ -7,88 +7,110 @@
          Enumerator - - - 0: The local video is normal. - - - - 1: No specified reason for the local video failure. - - - - 2: No permission to use the local video capturing device. - - - - 3: The local video capturing device is in use. - - - - 4: The local video capture fails. Check whether the capturing device is working properly. - - - - 5: The local video encoding fails. - - - - 6: The local video capturing device not available due to app did enter background. - - - - 7: The local video capturing device not available because the app is running in a multi-app layout (generally on the pad). - - - - 8: The local video capturing device temporarily being made unavailable due to system pressure. - - - - -
          - -
          Since
          -
          v3.4.0
          -
          -
          -

          8: Fails to find a local video capture device.

          -
          -
          - - - 10: (macOS and Windows only) The SDK cannot find the video device in the video device list. Check whether the ID of the video device is valid. - - - - 11: When calling to share the window, the shared window is in a minimized state. - - - - -
          - -
          Since
          -
          v3.2.0
          -
          -
          -

          12: The error code indicates that a window shared by the window ID has been closed, or a full-screen window shared by the window ID has exited full-screen mode. After exiting full-screen mode, remote users cannot see the shared window. To prevent remote users from seeing a black screen, Agora recommends that you immediately stop screen sharing.

          -

          Common scenarios for reporting this error code: -

            -
          • When the local user closes the shared window, the SDK reports this error code.
          • -
          • The local user shows some slides in full-screen mode first, and then shares the cpp of the slides. After the user exits full-screen mode, the SDK reports this error code.
          • -
          • The local user watches web video or reads web document in full-screen mode first, and then shares the window of the web video or document. After the user exits full-screen mode, the SDK reports this error code.
          • -

          -
          -
          - - - 13: (Windows only) The window being shared is overlapped by another window, so the overlapped area is blacked out by the SDK during window sharing. - - - - 20: (Windows only) The SDK does not support sharing this type of window. - -
          + + + 0: The local video is normal. + + + + 1: No specified reason for the local video failure. + + + + 2: No permission to use the local video capturing device. + + + + 3: The local video capturing device is in use. + + + + 4: The local video capture fails. Check whether the capturing device is + working properly. + + + + 5: The local video encoding fails. + + + + 6: The local video capturing device not available due to app did enter + background. + + + + 7: The local video capturing device not available because the app is running + in a multi-app layout (generally on the pad). + + + + 8: The local video capturing device temporarily being made unavailable due + to system pressure. + + + + +
          + +
          Since
          +
          v3.4.0
          +
          +
          +

          8: Fails to find a local video capture device.

          +
          +
          + + + 10: (macOS and Windows only) The SDK cannot find the + video device in the video device list. Check whether the ID of the video + device is valid. + + + + 11: When calling to share the + window, the shared window is in a minimized state. + + + + +
          + +
          Since
          +
          v3.2.0
          +
          +
          +

          12: The error code indicates that a window shared by the window ID has + been closed, or a full-screen window shared by the window ID has exited + full-screen mode. After exiting full-screen mode, remote users cannot + see the shared window. To prevent remote users from seeing a black + screen, Agora recommends that you immediately stop screen sharing.

          +

          Common scenarios for reporting this error code:

            +
          • When the local user closes the shared window, the SDK reports + this error code.
          • +
          • The local user shows some slides in full-screen mode first, and + then shares the cpp of the slides. After the user exits + full-screen mode, the SDK reports this error code.
          • +
          • The local user watches web video or reads web document in + full-screen mode first, and then shares the window of the web + video or document. After the user exits full-screen mode, the + SDK reports this error code.
          • +

          +
          +
          + + + 13: (Windows only) The window being shared is overlapped by another window, + so the overlapped area is blacked out by the SDK during window sharing. + + + + 20: (Windows only) The SDK does not support sharing this type of + window. + + + diff --git a/en-US/dita/RTC/API/enum_localvideostreamstate.dita b/en-US/dita/RTC/API/enum_localvideostreamstate.dita index 1d0acdcaef9..bb4ab71d85b 100644 --- a/en-US/dita/RTC/API/enum_localvideostreamstate.dita +++ b/en-US/dita/RTC/API/enum_localvideostreamstate.dita @@ -7,22 +7,26 @@
          Enumerator - - - 0: The local video is in the initial state. - - - - 1: The local video capturing device starts successfully. The SDK also reports this state when you call to share a maximized window. - - - - 2: The first video frame is successfully encoded. - - - - 3: Fails to start the local video. - -
          + + + 0: The local video is in the initial state. + + + + 1: The local video capturing device starts successfully. The SDK also reports this state when you call to share a maximized + window. + + + + 2: The first video frame is successfully encoded. + + + + 3: Fails to start the local video. + + + diff --git a/en-US/dita/RTC/API/enum_logfiltertype.dita b/en-US/dita/RTC/API/enum_logfiltertype.dita index 13dc87c8f0b..98961f54933 100644 --- a/en-US/dita/RTC/API/enum_logfiltertype.dita +++ b/en-US/dita/RTC/API/enum_logfiltertype.dita @@ -7,30 +7,33 @@
          Enumerator - - - 0: Do not output any log information. - - - - 0x080f: Output all log information. Set your log filter as DEBUG if you want to get the most complete log file. - - - - 0x000f: Output CRITICAL, ERROR, WARNING, and INFO level log information. We recommend setting your log filter as this level. - - - - 0x000e: Output CRITICAL, ERROR, and WARNING level log information. - - - - 0x000c: Output CRITICAL and ERROR level log information. - - - - 0x0008: Output CRITICAL level log information. - -
          + + + 0: Do not output any log information. + + + + 0x080f: Output all log information. Set your log filter as DEBUG if you want + to get the most complete log file. + + + + 0x000f: Output CRITICAL, ERROR, WARNING, and INFO level log information. We + recommend setting your log filter as this level. + + + + 0x000e: Output CRITICAL, ERROR, and WARNING level log information. + + + + 0x000c: Output CRITICAL and ERROR level log information. + + + + 0x0008: Output CRITICAL level log information. + + + diff --git a/en-US/dita/RTC/API/enum_loglevel.dita b/en-US/dita/RTC/API/enum_loglevel.dita index 12c477851d4..6e095833df6 100644 --- a/en-US/dita/RTC/API/enum_loglevel.dita +++ b/en-US/dita/RTC/API/enum_loglevel.dita @@ -6,38 +6,40 @@
          - -
          Since
          -
          v3.3.0
          -
          + +
          Since
          +
          v3.3.0
          +
          Enumerator - - - 0: Do not output any log information. - - - - 0x0001: (Default) Output FATAL, ERROR, - WARN, and INFO level log information. We - recommend setting your log filter as this level. - - - - 0x0002: Output FATAL, ERROR, and WARN level - log information. - - - - 0x0004: Output FATAL and ERROR level log information. - - - - 0x0008: Output FATAL level log information. - -
          + + + 0: Do not output any log information. + + + + 0x0001: (Default) Output FATAL, ERROR, + WARN, and INFO level log information. + We recommend setting your log filter as this level. + + + + 0x0002: Output FATAL, ERROR, and + WARN level log information. + + + + 0x0004: Output FATAL and ERROR level log + information. + + + + 0x0008: Output FATAL level log information. + + +
          diff --git a/en-US/dita/RTC/API/enum_lowlightenhancelevel.dita b/en-US/dita/RTC/API/enum_lowlightenhancelevel.dita index cd36a563ceb..4e058c725db 100644 --- a/en-US/dita/RTC/API/enum_lowlightenhancelevel.dita +++ b/en-US/dita/RTC/API/enum_lowlightenhancelevel.dita @@ -1,20 +1,28 @@ - <ph keyref="LOW_LIGHT_ENHANCE_LEVEL"/> + + <ph keyref="LOW_LIGHT_ENHANCE_LEVEL"/> + The low-light enhancement level.
          Enumerator - - - 0: (Default) Promotes video quality during low-light enhancement. It processes the brightness, details, and noise of the video image. The performance consumption is moderate, the processing speed is moderate, and the overall video quality is optimal. - - - - Promotes performance during low-light enhancement. It processes the brightness and details of the video image. The processing speed is faster. - -
          + + + 0: (Default) Promotes video quality during low-light enhancement. It + processes the brightness, details, and noise of the video image. The + performance consumption is moderate, the processing speed is moderate, + and the overall video quality is optimal. + + + + Promotes performance during low-light enhancement. It processes the + brightness and details of the video image. The processing speed is + faster. + + +
          diff --git a/en-US/dita/RTC/API/enum_lowlightenhancemode.dita b/en-US/dita/RTC/API/enum_lowlightenhancemode.dita index 8e56e09cf2e..8c3c890fda5 100644 --- a/en-US/dita/RTC/API/enum_lowlightenhancemode.dita +++ b/en-US/dita/RTC/API/enum_lowlightenhancemode.dita @@ -1,20 +1,27 @@ - <ph keyref="LOW_LIGHT_ENHANCE_MODE"/> + + <ph keyref="LOW_LIGHT_ENHANCE_MODE"/> + The low-light enhancement mode.
          Enumerator - - - 0: (Default) Automatic mode. The SDK automatically enables or disables the low-light enhancement feature according to the ambient light to compensate for the lighting level or prevent overexposure, as necessary. - - - - Manual mode. Users need to enable or disable the low-light enhancement feature manually. - -
          + + + 0: (Default) Automatic mode. The SDK automatically enables or disables + the low-light enhancement feature according to the ambient light to + compensate for the lighting level or prevent overexposure, as + necessary. + + + + Manual mode. Users need to enable or disable the low-light enhancement + feature manually. + + +
          diff --git a/en-US/dita/RTC/API/enum_maxchannelidlengthtype.dita b/en-US/dita/RTC/API/enum_maxchannelidlengthtype.dita index f5397bc739f..2771b994e65 100644 --- a/en-US/dita/RTC/API/enum_maxchannelidlengthtype.dita +++ b/en-US/dita/RTC/API/enum_maxchannelidlengthtype.dita @@ -2,15 +2,17 @@ <ph keyref="MAX_CHANNEL_ID_LENGTH_TYPE"/> - The maximum length of the channel name. + The maximum length of the channel + name.
          Enumerator - - - The maximum length of the channel name is 64 bytes. - -
          + + + The maximum length of the channel name is 64 bytes. + + +
          diff --git a/en-US/dita/RTC/API/enum_maxdeviceidlengthtype.dita b/en-US/dita/RTC/API/enum_maxdeviceidlengthtype.dita index ff77cc30282..3cba9d26a84 100644 --- a/en-US/dita/RTC/API/enum_maxdeviceidlengthtype.dita +++ b/en-US/dita/RTC/API/enum_maxdeviceidlengthtype.dita @@ -7,10 +7,11 @@
          Enumerator - - - The maximum length of the device ID is 512 bytes. - -
          + + + The maximum length of the device ID is 512 bytes. + + + diff --git a/en-US/dita/RTC/API/enum_maxuseraccountlengthtype.dita b/en-US/dita/RTC/API/enum_maxuseraccountlengthtype.dita index 9d74f133f76..c6204c08b26 100644 --- a/en-US/dita/RTC/API/enum_maxuseraccountlengthtype.dita +++ b/en-US/dita/RTC/API/enum_maxuseraccountlengthtype.dita @@ -2,15 +2,17 @@ <ph keyref="MAX_USER_ACCOUNT_LENGTH_TYPE"/> - The maximum length of the user account. + The maximum length of the user + account.
          Enumerator - - - The maximum length of the user account is 256 bytes. - -
          + + + The maximum length of the user account is 256 bytes. + + +
          diff --git a/en-US/dita/RTC/API/enum_mediadevicestatetype.dita b/en-US/dita/RTC/API/enum_mediadevicestatetype.dita index a2f6fdbcc3a..82455398a95 100644 --- a/en-US/dita/RTC/API/enum_mediadevicestatetype.dita +++ b/en-US/dita/RTC/API/enum_mediadevicestatetype.dita @@ -7,30 +7,31 @@
          Enumerator - - - 0: The device is ready for use. - - - - 1: The device is in use. - - - - 2: The device is disabled. - - - - 4: The device is not found. - - - - 8: The device is unplugged. - - - - 16: The device is not recommended. - -
          + + + 0: The device is ready for use. + + + + 1: The device is in use. + + + + 2: The device is disabled. + + + + 4: The device is not found. + + + + 8: The device is unplugged. + + + + 16: The device is not recommended. + + + diff --git a/en-US/dita/RTC/API/enum_mediadevicetype.dita b/en-US/dita/RTC/API/enum_mediadevicetype.dita index 3378b962486..4514598cdf8 100644 --- a/en-US/dita/RTC/API/enum_mediadevicetype.dita +++ b/en-US/dita/RTC/API/enum_mediadevicetype.dita @@ -7,30 +7,31 @@
          Enumerator - - - -1: Unknown device type. - - - - 0: Audio playback device. - - - - 1: Audio capturing device. - - - - 2: Video renderer. - - - - 3: Video capturer. - - - - 4: Application audio playback device. - -
          + + + -1: Unknown device type. + + + + 0: Audio playback device. + + + + 1: Audio capturing device. + + + + 2: Video renderer. + + + + 3: Video capturer. + + + + 4: Application audio playback device. + + + diff --git a/en-US/dita/RTC/API/enum_mediaplayererror.dita b/en-US/dita/RTC/API/enum_mediaplayererror.dita index 3c38662c246..7d489e50ca2 100644 --- a/en-US/dita/RTC/API/enum_mediaplayererror.dita +++ b/en-US/dita/RTC/API/enum_mediaplayererror.dita @@ -7,78 +7,81 @@
          Enumerator - - - 0: No error. - - - - -1: Invalid arguments. - - - - -2: Internal errors. - - - - -3: No resource. - - - - -4: Invalid media resource. - - - - -5: The type of the media stream is unknown. - - - - -6: The object is not initialized. - - - - -7: The codec is not supported. - - - - -8: Invalid renderer. - - - - -9: An error with the internal state of the player occurs. - - - - -10: The URL of the media resource can not be found. - - - - -11: Invalid connection between the player and Agora's Server. - - - - -12: The playback buffer is insufficient. - - - - -13: The playback is interrupted. - - - - -14: The SDK does support the method being called. - - - - -15: The authentication information of the media resource is expired. To update the authentication information, see . - - - - -16: Not to the public. - - - - -100: An unknown error. - -
          + + + 0: No error. + + + + -1: Invalid arguments. + + + + -2: Internal errors. + + + + -3: No resource. + + + + -4: Invalid media resource. + + + + -5: The type of the media stream is unknown. + + + + -6: The object is not initialized. + + + + -7: The codec is not supported. + + + + -8: Invalid renderer. + + + + -9: An error with the internal state of the player occurs. + + + + -10: The URL of the media resource can not be found. + + + + -11: Invalid connection between the player and Agora's Server. + + + + -12: The playback buffer is insufficient. + + + + -13: The playback is interrupted. + + + + -14: The SDK does support the method being called. + + + + -15: The authentication information of the media resource is expired. To + update the authentication information, see . + + + + -16: Not to the public. + + + + -100: An unknown error. + + + diff --git a/en-US/dita/RTC/API/enum_mediaplayerevent.dita b/en-US/dita/RTC/API/enum_mediaplayerevent.dita index 4cc83467d99..50ffd39cdb1 100644 --- a/en-US/dita/RTC/API/enum_mediaplayerevent.dita +++ b/en-US/dita/RTC/API/enum_mediaplayerevent.dita @@ -7,58 +7,59 @@
          Enumerator - - - -1: An unknown event. - - - - 0: The player begins to seek to a new playback position. - - - - 1: The player finishes seeking to a new playback position. - - - - 2: An error occurs when seeking to a new playback position. - - - - 5: The audio track used by the player has been changed. - - - - 6: The currently buffered data is not enough to support playback. - - - - 7: The currently buffered data is just enough to support playback. - - - - 8: The audio or video playback freezes. - - - - 9: The audio or video playback resumes without freezing. - - - - 10: The player starts switching the media resource. - - - - 11: Media resource switching is complete. - - - - 12: Media resource switching error. - - - - 13: The first video frame is rendered. - -
          + + + -1: An unknown event. + + + + 0: The player begins to seek to a new playback position. + + + + 1: The player finishes seeking to a new playback position. + + + + 2: An error occurs when seeking to a new playback position. + + + + 5: The audio track used by the player has been changed. + + + + 6: The currently buffered data is not enough to support playback. + + + + 7: The currently buffered data is just enough to support playback. + + + + 8: The audio or video playback freezes. + + + + 9: The audio or video playback resumes without freezing. + + + + 10: The player starts switching the media resource. + + + + 11: Media resource switching is complete. + + + + 12: Media resource switching error. + + + + 13: The first video frame is rendered. + + + diff --git a/en-US/dita/RTC/API/enum_mediaplayermetadatatype.dita b/en-US/dita/RTC/API/enum_mediaplayermetadatatype.dita index 093b73734db..73bc9c37962 100644 --- a/en-US/dita/RTC/API/enum_mediaplayermetadatatype.dita +++ b/en-US/dita/RTC/API/enum_mediaplayermetadatatype.dita @@ -7,14 +7,15 @@
          Enumerator - - - 0: The type is unknown. - - - - 1: The type is SEI. - -
          + + + 0: The type is unknown. + + + + 1: The type is SEI. + + + diff --git a/en-US/dita/RTC/API/enum_mediaplayerplaybackspeed.dita b/en-US/dita/RTC/API/enum_mediaplayerplaybackspeed.dita index e758d4d5e74..fc227a966dc 100644 --- a/en-US/dita/RTC/API/enum_mediaplayerplaybackspeed.dita +++ b/en-US/dita/RTC/API/enum_mediaplayerplaybackspeed.dita @@ -7,30 +7,31 @@
          Enumerator - - - 100: The original playback speed. - - - - 50: The playback speed is 0.50 times the original speed. - - - - 75: The playback speed is 0.75 times the original speed. - - - - 125: The playback speed is 1.25 times the original speed. - - - - 150: The playback speed is 1.50 times the original speed. - - - - 200: The playback speed is 2.00 times the original speed. - -
          + + + 100: The original playback speed. + + + + 50: The playback speed is 0.50 times the original speed. + + + + 75: The playback speed is 0.75 times the original speed. + + + + 125: The playback speed is 1.25 times the original speed. + + + + 150: The playback speed is 1.50 times the original speed. + + + + 200: The playback speed is 2.00 times the original speed. + + + diff --git a/en-US/dita/RTC/API/enum_mediaplayerstate.dita b/en-US/dita/RTC/API/enum_mediaplayerstate.dita index bf56e35c9ca..d09fc621e14 100644 --- a/en-US/dita/RTC/API/enum_mediaplayerstate.dita +++ b/en-US/dita/RTC/API/enum_mediaplayerstate.dita @@ -7,46 +7,48 @@
          Enumerator - - - -1: The player state is unknown. - - - - 0: The default state. The media player returns this state code before you open the media resource or after you stop the playback. - - - - Opening the media resource. - - - - Opens the media resource successfully. - - - - The media resource is playing. - - - - Pauses the playback. - - - - The playback finishes. - - - - The loop finishes. - - - - The playback stops. - - - - 100: The media player fails to play the media resource. - -
          + + + -1: The player state is unknown. + + + + 0: The default state. The media player returns this state code before you + open the media resource or after you stop the playback. + + + + Opening the media resource. + + + + Opens the media resource successfully. + + + + The media resource is playing. + + + + Pauses the playback. + + + + The playback finishes. + + + + The loop finishes. + + + + The playback stops. + + + + 100: The media player fails to play the media resource. + + + diff --git a/en-US/dita/RTC/API/enum_mediarecordercontainerformat.dita b/en-US/dita/RTC/API/enum_mediarecordercontainerformat.dita index 9b0c4621e42..78c08128ebd 100644 --- a/en-US/dita/RTC/API/enum_mediarecordercontainerformat.dita +++ b/en-US/dita/RTC/API/enum_mediarecordercontainerformat.dita @@ -7,14 +7,15 @@
          Enumerator - - - 1: (Default) MP4. - - - - Reserved parameter. - -
          + + + 1: (Default) MP4. + + + + Reserved parameter. + + + diff --git a/en-US/dita/RTC/API/enum_mediarecorderstreamtype.dita b/en-US/dita/RTC/API/enum_mediarecorderstreamtype.dita index 4b816eb236c..c9759a9b602 100644 --- a/en-US/dita/RTC/API/enum_mediarecorderstreamtype.dita +++ b/en-US/dita/RTC/API/enum_mediarecorderstreamtype.dita @@ -7,18 +7,19 @@
          Enumerator - - - Only audio. - - - - only video. - - - - (Default) Audio and video. - -
          + + + Only audio. + + + + only video. + + + + (Default) Audio and video. + + + diff --git a/en-US/dita/RTC/API/enum_mediasourcetype.dita b/en-US/dita/RTC/API/enum_mediasourcetype.dita index 63a9d03e6b6..93e7d566eec 100644 --- a/en-US/dita/RTC/API/enum_mediasourcetype.dita +++ b/en-US/dita/RTC/API/enum_mediasourcetype.dita @@ -7,22 +7,23 @@
          Enumerator - - - 0: Audio playback device. - - - - 1: Audio capturing device. - - - - 3: A secondary camera. - - - - 100: Unknown media source. - -
          + + + 0: Audio playback device. + + + + 1: Audio capturing device. + + + + 3: A secondary camera. + + + + 100: Unknown media source. + + + diff --git a/en-US/dita/RTC/API/enum_mediastreamtype.dita b/en-US/dita/RTC/API/enum_mediastreamtype.dita index 5164dfb07ad..5e2b5b5392f 100644 --- a/en-US/dita/RTC/API/enum_mediastreamtype.dita +++ b/en-US/dita/RTC/API/enum_mediastreamtype.dita @@ -7,22 +7,23 @@
          Enumerator - - - 0: The type is unknown. - - - - 1: The video stream. - - - - 2: The audio stream. - - - - 3: The subtitle stream. - -
          + + + 0: The type is unknown. + + + + 1: The video stream. + + + + 2: The audio stream. + + + + 3: The subtitle stream. + + + diff --git a/en-US/dita/RTC/API/enum_metadatatype.dita b/en-US/dita/RTC/API/enum_metadatatype.dita index 5b87a170292..f92643469a5 100644 --- a/en-US/dita/RTC/API/enum_metadatatype.dita +++ b/en-US/dita/RTC/API/enum_metadatatype.dita @@ -2,19 +2,21 @@ <ph keyref="METADATA_TYPE"/> - Metadata type of the observer. We only support video metadata for now. + Metadata type of the observer. We only support video + metadata for now.
          Enumerator - - - The type of metadata is unknown. - - - - The type of metadata is video. - -
          + + + The type of metadata is unknown. + + + + The type of metadata is video. + + +
          diff --git a/en-US/dita/RTC/API/enum_networktype.dita b/en-US/dita/RTC/API/enum_networktype.dita index fa44cf82d09..48cfb37186a 100644 --- a/en-US/dita/RTC/API/enum_networktype.dita +++ b/en-US/dita/RTC/API/enum_networktype.dita @@ -7,38 +7,39 @@
          Enumerator - - - -1: The network type is unknown. - - - - 0: The SDK disconnects from the network. - - - - 1: The network type is LAN. - - - - 2: The network type is Wi-Fi (including hotspots). - - - - 3: The network type is mobile 2G. - - - - 4: The network type is mobile 3G. - - - - 5: The network type is mobile 4G. - - - - 6: The network type is mobile 5G. - -
          + + + -1: The network type is unknown. + + + + 0: The SDK disconnects from the network. + + + + 1: The network type is LAN. + + + + 2: The network type is Wi-Fi (including hotspots). + + + + 3: The network type is mobile 2G. + + + + 4: The network type is mobile 3G. + + + + 5: The network type is mobile 4G. + + + + 6: The network type is mobile 5G. + + + diff --git a/en-US/dita/RTC/API/enum_orientationmode.dita b/en-US/dita/RTC/API/enum_orientationmode.dita index 15a9accfbad..71abb4a201e 100644 --- a/en-US/dita/RTC/API/enum_orientationmode.dita +++ b/en-US/dita/RTC/API/enum_orientationmode.dita @@ -7,23 +7,36 @@
          Enumerator - - - -

          0: (Default) The output video always follows the orientation of the captured video. The receiver takes the rotational information passed on from the video encoder. This mode applies to scenarios where video orientation can be adjusted on the receiver.

          -
            -
          • If the captured video is in landscape mode, the output video is in landscape mode.
          • -
          • If the captured video is in portrait mode, the output video is in portrait mode.
          • -
          -
          - - - 1: In this mode, the SDK always outputs videos in landscape (horizontal) mode. If the captured video is in portrait mode, the video encoder crops it to fit the output. Applies to situations where the receiving end cannot process the rotational information. For example, CDN live streaming. - - - - 2: In this mode, the SDK always outputs video in portrait (portrait) mode. If the captured video is in landscape mode, the video encoder crops it to fit the output. Applies to situations where the receiving end cannot process the rotational information. For example, CDN live streaming. - -
          + + + +

          0: (Default) The output video always follows the orientation of the + captured video. The receiver takes the rotational information passed on + from the video encoder. This mode applies to scenarios where video + orientation can be adjusted on the receiver.

          +
            +
          • If the captured video is in landscape mode, the output video is in + landscape mode.
          • +
          • If the captured video is in portrait mode, the output video is in + portrait mode.
          • +
          +
          +
          + + + 1: In this mode, the SDK always outputs videos in landscape (horizontal) + mode. If the captured video is in portrait mode, the video encoder crops it + to fit the output. Applies to situations where the receiving end cannot + process the rotational information. For example, CDN live streaming. + + + + 2: In this mode, the SDK always outputs video in portrait (portrait) mode. + If the captured video is in landscape mode, the video encoder crops it to + fit the output. Applies to situations where the receiving end cannot process + the rotational information. For example, CDN live streaming. + + + diff --git a/en-US/dita/RTC/API/enum_permissiontype.dita b/en-US/dita/RTC/API/enum_permissiontype.dita index 4a185676f44..5d3af4b0951 100644 --- a/en-US/dita/RTC/API/enum_permissiontype.dita +++ b/en-US/dita/RTC/API/enum_permissiontype.dita @@ -7,14 +7,15 @@
          Enumerator - - - 0: Permission for the audio capture device. - - - - 1: Permission for the camera. - -
          + + + 0: Permission for the audio capture device. + + + + 1: Permission for the camera. + + + diff --git a/en-US/dita/RTC/API/enum_playerpreloadevent.dita b/en-US/dita/RTC/API/enum_playerpreloadevent.dita index d8324d26be5..ff61d02b423 100644 --- a/en-US/dita/RTC/API/enum_playerpreloadevent.dita +++ b/en-US/dita/RTC/API/enum_playerpreloadevent.dita @@ -2,23 +2,25 @@ <ph keyref="PLAYER_PRELOAD_EVENT"/> - Events that occur when media resources are preloaded. + Events that occur when media resources are preloaded.
          Enumerator - - - 0: Starts preloading media resources. - - - - 1: Preloading media resources is complete. - - - - 2: An error occurs when preloading media resources. - -
          + + + 0: Starts preloading media resources. + + + + 1: Preloading media resources is complete. + + + + 2: An error occurs when preloading media resources. + + +
          diff --git a/en-US/dita/RTC/API/enum_prioritytype.dita b/en-US/dita/RTC/API/enum_prioritytype.dita index 3a7d2600c4a..f409bf5f7ea 100644 --- a/en-US/dita/RTC/API/enum_prioritytype.dita +++ b/en-US/dita/RTC/API/enum_prioritytype.dita @@ -7,14 +7,15 @@
          Enumerator - - - The user's priority is high. - - - - (Default) The user's priority is normal. - -
          + + + The user's priority is high. + + + + (Default) The user's priority is normal. + + + diff --git a/en-US/dita/RTC/API/enum_proxytype.dita b/en-US/dita/RTC/API/enum_proxytype.dita index 27ff68e4047..1eb5f892fac 100644 --- a/en-US/dita/RTC/API/enum_proxytype.dita +++ b/en-US/dita/RTC/API/enum_proxytype.dita @@ -7,26 +7,31 @@
          Enumerator - - - 0: Reserved for future use. - - - - 1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy mode. In this mode, the SDK always transmits data over UDP. - - - - 2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP cloud proxy mode. In this mode, the SDK always transmits data over TLS 443. - - - - 3: Reserved for future use. - - - - 4: The automatic mode. In this mode, the SDK attempts a direct connection to SD-RTN™ and automatically switches to TLS 443 if the attempt fails. - -
          + + + 0: Reserved for future use. + + + + 1: The cloud proxy for the UDP protocol, that is, the Force UDP cloud proxy + mode. In this mode, the SDK always transmits data over UDP. + + + + 2: The cloud proxy for the TCP (encryption) protocol, that is, the Force TCP + cloud proxy mode. In this mode, the SDK always transmits data over TLS + 443. + + + + 3: Reserved for future use. + + + + 4: The automatic mode. In this mode, the SDK attempts a direct connection to + SD-RTN™ and automatically switches to TLS 443 if the attempt fails. + + + diff --git a/en-US/dita/RTC/API/enum_qualityadaptindication.dita b/en-US/dita/RTC/API/enum_qualityadaptindication.dita index 6c9649a39a0..b9bc2248f44 100644 --- a/en-US/dita/RTC/API/enum_qualityadaptindication.dita +++ b/en-US/dita/RTC/API/enum_qualityadaptindication.dita @@ -2,23 +2,27 @@ <ph keyref="QUALITY_ADAPT_INDICATION"/> - Quality change of the local video in terms of target frame rate and target bit rate since last count. + Quality change of the local video in terms of target + frame rate and target bit rate since last count.
          Enumerator - - - 0: The local video quality stays the same. - - - - 1: The local video quality improves because the network bandwidth increases. - - - - 2: The local video quality deteriorates because the network bandwidth decreases. - -
          + + + 0: The local video quality stays the same. + + + + 1: The local video quality improves because the network bandwidth + increases. + + + + 2: The local video quality deteriorates because the network bandwidth + decreases. + + +
          diff --git a/en-US/dita/RTC/API/enum_qualityreportformattype.dita b/en-US/dita/RTC/API/enum_qualityreportformattype.dita index 7daa869f20f..bd0a251fa77 100644 --- a/en-US/dita/RTC/API/enum_qualityreportformattype.dita +++ b/en-US/dita/RTC/API/enum_qualityreportformattype.dita @@ -7,14 +7,15 @@
          Enumerator - - - 0: The quality report in JSON format. - - - - 1: The quality report in HTML format. - -
          + + + 0: The quality report in JSON format. + + + + 1: The quality report in HTML format. + + + diff --git a/en-US/dita/RTC/API/enum_qualitytype.dita b/en-US/dita/RTC/API/enum_qualitytype.dita index 8c68f9343d9..282182fc541 100644 --- a/en-US/dita/RTC/API/enum_qualitytype.dita +++ b/en-US/dita/RTC/API/enum_qualitytype.dita @@ -7,42 +7,44 @@
          Enumerator - - - 0: The network quality is unknown. - - - - 1: The network quality is excellent. - - - - 2: The network quality is quite good, but the bitrate may be slightly lower than excellent. - - - - 3: Users can feel the communication slightly impaired. - - - - 4: Users cannot communicate smoothly. - - - - 5: The quality is so bad that users can barely communicate. - - - - 6: The network is down and users cannot communicate at all. - - - - 7: Users cannot detect the network quality. (Not in use.) - - - - 8: Detecting the network quality. - -
          + + + 0: The network quality is unknown. + + + + 1: The network quality is excellent. + + + + 2: The network quality is quite good, but the bitrate may be slightly + lower than excellent. + + + + 3: Users can feel the communication slightly impaired. + + + + 4: Users cannot communicate smoothly. + + + + 5: The quality is so bad that users can barely communicate. + + + + 6: The network is down and users cannot communicate at all. + + + + 7: Users cannot detect the network quality. (Not in use.) + + + + 8: Detecting the network quality. + + + diff --git a/en-US/dita/RTC/API/enum_rawaudioframeopmodetype.dita b/en-US/dita/RTC/API/enum_rawaudioframeopmodetype.dita index 406d5ab7168..62e687f8630 100644 --- a/en-US/dita/RTC/API/enum_rawaudioframeopmodetype.dita +++ b/en-US/dita/RTC/API/enum_rawaudioframeopmodetype.dita @@ -7,18 +7,32 @@
          Enumerator - - - 0: Read-only mode: Users only read the data from without modifying anything. Users only read the data returned by the SDK without modifying anything. For example, when users acquire the data with the Agora SDK, then start the media push. - - - - 1: Write-only mode: Users replace the data from with their own data and pass the data to the SDK for encoding. Users replace the returned data with their own data and pass the data to the SDK for encoding. For example, when users acquire the data. - - - - 2: Read and write mode: Users read the data from , modify it, and then play it. Users read the data returned by the SDK, modify it, and then play it. For example, when users have their own audio-effect processing module and perform some voice pre-processing, such as a voice change. - -
          + + + 0: Read-only mode: Users only read the data from without modifying anything. Users only read the data returned by the SDK without + modifying anything. For example, when users acquire the data with + the Agora SDK, then start the media push. + + + + 1: Write-only mode: Users replace the data from with their own data and pass the data to the + SDK for encoding. Users replace the returned + data with their own data and pass the data to the SDK for encoding. + For example, when users acquire the data. + + + + 2: Read and write mode: Users read the data from , modify it, and then play it. Users read the data returned by the SDK, modify it, and + then play it. For example, when users have their own audio-effect + processing module and perform some voice pre-processing, such as a voice + change. + + + diff --git a/en-US/dita/RTC/API/enum_recordererrorcode.dita b/en-US/dita/RTC/API/enum_recordererrorcode.dita index d8d634a92aa..f670d3ed8a7 100644 --- a/en-US/dita/RTC/API/enum_recordererrorcode.dita +++ b/en-US/dita/RTC/API/enum_recordererrorcode.dita @@ -7,32 +7,35 @@
          Enumerator - - - 0: No error occurs. - - - - 1: The SDK fails to write the recorded data to a file. - - - - 2: The SDK does not detect audio and video streams to be recorded, - or audio and video streams are interrupted for more than five seconds during recording. - - - - 3: The recording duration exceeds the upper limit. - - - - 4: The recording configuration changes. - - - - 5: The SDK detects audio and video streams from users using versions of the SDK earlier than v3.0.0 in the - COMMUNICATION channel profile. - -
          + + + 0: No error occurs. + + + + 1: The SDK fails to write the recorded data to a file. + + + + 2: The SDK does not detect audio and video streams to be recorded, or audio + and video streams are interrupted for more than five seconds during + recording. + + + + 3: The recording duration exceeds the upper limit. + + + + 4: The recording configuration changes. + + + + 5: The SDK detects audio and video streams from users using versions of the + SDK earlier than v3.0.0 in the COMMUNICATION channel + profile. + + + diff --git a/en-US/dita/RTC/API/enum_recorderstate.dita b/en-US/dita/RTC/API/enum_recorderstate.dita index 8c70eac004f..53fe1a28e29 100644 --- a/en-US/dita/RTC/API/enum_recorderstate.dita +++ b/en-US/dita/RTC/API/enum_recorderstate.dita @@ -7,18 +7,20 @@
          Enumerator - - - -1: An error occurs during the recording. See for the reason. - - - - 2: The audio and video recording starts. - - - - 3: The audio and video recording stops. - -
          + + + -1: An error occurs during the recording. See for the reason. + + + + 2: The audio and video recording starts. + + + + 3: The audio and video recording stops. + + + diff --git a/en-US/dita/RTC/API/enum_remoteaudiostate.dita b/en-US/dita/RTC/API/enum_remoteaudiostate.dita index 9cb482ca9fe..98bd95f4d47 100644 --- a/en-US/dita/RTC/API/enum_remoteaudiostate.dita +++ b/en-US/dita/RTC/API/enum_remoteaudiostate.dita @@ -7,26 +7,36 @@
          Enumerator - - - 0: The local audio is in the initial state. The SDK reports this state in the case of , or . - - - - 1: The first remote audio packet is received. - - - - 2: The remote audio stream is decoded and plays normally. The SDK reports this state in the case of , or . - - - - 3: The remote audio is frozen. The SDK reports this state in the case of . - - - - 4: The remote audio fails to start. The SDK reports this state in the case of . - -
          + + + 0: The local audio is in the initial state. The SDK reports this state in + the case of , + or . + + + + 1: The first remote audio packet is received. + + + + 2: The remote audio stream is decoded and plays normally. The SDK reports + this state in the case of , or . + + + + 3: The remote audio is frozen. The SDK reports this state in the case of + . + + + + 4: The remote audio fails to start. The SDK reports this state in the case + of . + + + diff --git a/en-US/dita/RTC/API/enum_remoteaudiostatereason.dita b/en-US/dita/RTC/API/enum_remoteaudiostatereason.dita index ec4b676991c..2ed4ca383ec 100644 --- a/en-US/dita/RTC/API/enum_remoteaudiostatereason.dita +++ b/en-US/dita/RTC/API/enum_remoteaudiostatereason.dita @@ -2,43 +2,49 @@ <ph keyref="REMOTE_AUDIO_STATE_REASON"/> - The reason for the remote audio state change. + The reason for the remote audio state + change.
          Enumerator - - - 0: The SDK reports this reason when the audio state changes. - - - - 1: Network congestion. - - - - 2: Network recovery. - - - - 3: The local user stops receiving the remote audio stream or disables the audio module. - - - - 4: The local user resumes receiving the remote audio stream or enables the audio module. - - - - 5: The remote user stops sending the audio stream or disables the audio module. - - - - 6: The remote user resumes sending the audio stream or enables the audio module. - - - - 7: The remote user leaves the channel. - -
          + + + 0: The SDK reports this reason when the audio state changes. + + + + 1: Network congestion. + + + + 2: Network recovery. + + + + 3: The local user stops receiving the remote audio stream or disables + the audio module. + + + + 4: The local user resumes receiving the remote audio stream or enables + the audio module. + + + + 5: The remote user stops sending the audio stream or disables the audio + module. + + + + 6: The remote user resumes sending the audio stream or enables the + audio module. + + + + 7: The remote user leaves the channel. + + +
          diff --git a/en-US/dita/RTC/API/enum_remotevideostate.dita b/en-US/dita/RTC/API/enum_remotevideostate.dita index 5b09dfd9331..bd521b66459 100644 --- a/en-US/dita/RTC/API/enum_remotevideostate.dita +++ b/en-US/dita/RTC/API/enum_remotevideostate.dita @@ -7,26 +7,38 @@
          Enumerator - - - 0: The remote video is in the initial state. The SDK reports this state in the case of , or . - - - - 1: The first remote video packet is received. - - - - 2: The remote video stream is decoded and plays normally. The SDK reports this state in the case of , ,, or . - - - - 3: The remote video is frozen. The SDK reports this state in the case of or . - - - - 4: The remote video fails to start. The SDK reports this state in the case of . - -
          + + + 0: The remote video is in the initial state. The SDK reports this state in + the case of , + or . + + + + 1: The first remote video packet is received. + + + + 2: The remote video stream is decoded and plays normally. The SDK reports + this state in the case of , ,, or . + + + + 3: The remote video is frozen. The SDK reports this state in the case of + or + . + + + + 4: The remote video fails to start. The SDK reports this state in the case + of . + + + diff --git a/en-US/dita/RTC/API/enum_remotevideostatereason.dita b/en-US/dita/RTC/API/enum_remotevideostatereason.dita index e96d9509e9b..9d8f823d817 100644 --- a/en-US/dita/RTC/API/enum_remotevideostatereason.dita +++ b/en-US/dita/RTC/API/enum_remotevideostatereason.dita @@ -2,55 +2,90 @@ <ph keyref="REMOTE_VIDEO_STATE_REASON"/> - The reason for the remote video state change. + The reason for the remote video state + change.
          Enumerator - - - 0: The SDK reports this reason when the video state changes. - - - - 1: The remote user's network is congested. If the network conditions are persistently poor, display a pop-up box in the application that says "The remote user's network conditions are poor". - - - - 2: The remote user's network conditions are restored from congested to normal. You can display a pop-up box in the application that says "The remote user's network conditions have improved". - - - - 3: The local user stops receiving the remote video stream or disables the video module. You can close the window to render the remote user's video and display a pop-up box in the application that says "You have stopped receiving video from the remote user". - - - - 4: The local user resumes receiving the remote video stream or enables the video module. You can restore the window to render the remote user's video and display a pop-up box in the application that says "You have resumed receiving video from the remote user". - - - - 5: The remote user stops sending the video stream or disables the video module. You can close the window to render the remote user's video, use an icon in the list of users in the application user interface to show that the remote user has stopped sending video, and display a pop-up box in the application that says "The remote user has disabled the camera". - - - - 6: The remote user resumes sending the video stream or enables the video module. You can restore the window to render the remote user's video, use an icon in the list of users in the application user interface to show that the remote user has resumed sending video, and display a pop-up box in the application that says "The remote user has enabled the camera". - - - - 7: The remote user leaves the channel. You can close the window to render the remote user's video and remove the remote user from the user list in the application user interface. - - - - 8: The remote audio-and-video stream falls back to the audio-only stream due to poor network conditions. You can close the window to render the remote user's video and display a pop-up box in the application that says "The remote user's network conditions are poor". - - - - 9: The remote audio-only stream switches back to the audio-and-video stream after the network conditions improve. You can restore the window to render the remote user's video and display a pop-up box in the application that says "The remote user's network conditions are poor". - - - - The SDK reports this error code to the local user when a remote user is using the iOS app and the app is in the background. In this case, the local user sees the remote user's video stuck. - -
          + + + 0: The SDK reports this reason when the video state changes. + + + + 1: The remote user's network is congested. If the network conditions + are persistently poor, display a pop-up box in the application that + says "The remote user's network conditions are poor". + + + + 2: The remote user's network conditions are restored from congested to + normal. You can display a pop-up box in the application that says "The + remote user's network conditions have improved". + + + + 3: The local user stops receiving the remote video stream or disables + the video module. You can close the window to render the remote user's + video and display a pop-up box in the application that says "You have + stopped receiving video from the remote user". + + + + 4: The local user resumes receiving the remote video stream or enables + the video module. You can restore the window to render the remote + user's video and display a pop-up box in the application that says + "You have resumed receiving video from the remote user". + + + + 5: The remote user stops sending the video stream or disables the video + module. You can close the window to render the remote user's video, + use an icon in the list of users in the application user interface to + show that the remote user has stopped sending video, and display a + pop-up box in the application that says "The remote user has disabled + the camera". + + + + 6: The remote user resumes sending the video stream or enables the + video module. You can restore the window to render the remote user's + video, use an icon in the list of users in the application user + interface to show that the remote user has resumed sending video, and + display a pop-up box in the application that says "The remote user has + enabled the camera". + + + + 7: The remote user leaves the channel. You can close the window to + render the remote user's video and remove the remote user from the + user list in the application user interface. + + + + 8: The remote audio-and-video stream falls back to the audio-only + stream due to poor network conditions. You can close the window to + render the remote user's video and display a pop-up box in the + application that says "The remote user's network conditions are + poor". + + + + 9: The remote audio-only stream switches back to the audio-and-video + stream after the network conditions improve. You can restore the + window to render the remote user's video and display a pop-up box in + the application that says "The remote user's network conditions are + poor". + + + + The SDK reports this error code to the local user when a remote user is + using the iOS app and the app is in the background. In this case, the + local user sees the remote user's video stuck. + + +
          diff --git a/en-US/dita/RTC/API/enum_remotevideostreamtype.dita b/en-US/dita/RTC/API/enum_remotevideostreamtype.dita index 3025b91282a..7102708ec16 100644 --- a/en-US/dita/RTC/API/enum_remotevideostreamtype.dita +++ b/en-US/dita/RTC/API/enum_remotevideostreamtype.dita @@ -7,14 +7,15 @@
          Enumerator - - - 0: High-quality video stream. - - - - 1: Low-quality video stream. - -
          + + + 0: High-quality video stream. + + + + 1: Low-quality video stream. + + + diff --git a/en-US/dita/RTC/API/enum_rendermode.dita b/en-US/dita/RTC/API/enum_rendermode.dita index b798009badb..70fbaf2663a 100644 --- a/en-US/dita/RTC/API/enum_rendermode.dita +++ b/en-US/dita/RTC/API/enum_rendermode.dita @@ -7,18 +7,19 @@
          Enumerator - - - WebGL rendering. - - - - Software rendering. - - - - Customized rendering. - -
          + + + WebGL rendering. + + + + Software rendering. + + + + Customized rendering. + + + diff --git a/en-US/dita/RTC/API/enum_rendermodetype.dita b/en-US/dita/RTC/API/enum_rendermodetype.dita index 29ca08781de..3177534b152 100644 --- a/en-US/dita/RTC/API/enum_rendermodetype.dita +++ b/en-US/dita/RTC/API/enum_rendermodetype.dita @@ -4,37 +4,44 @@ <ph keyref="RENDER_MODE_TYPE"/> Video display modes. -
          This mode does not work on macOS or Windows.
          +
          This mode does not work on macOS or + Windows.
          Enumerator - - - 1: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Hidden mode. One dimension of the video may have clipped contents. - + + + 1: Uniformly scale the video until one of its dimension fits the boundary + (zoomed to fit). Hidden mode. One dimension of the video may have clipped + contents. + - - - 2: Uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Fit mode. Areas that are not filled due to disparity in the aspect ratio are filled with black. - + + + 2: Uniformly scale the video until one of its dimension fits the boundary + (zoomed to fit). Fit mode. Areas that are not filled due to disparity in the + aspect ratio are filled with black. + - - - -
          - -
          Deprecated:
          -
          3: This mode is deprecated.
          -
          -
          -
          -
          - - - 4: The fill mode. In this mode, the SDK stretches or zooms the video to fill the display window. - -
          + + + +
          + +
          Deprecated:
          +
          3: This mode is deprecated.
          +
          +
          +
          +
          + + + 4: The fill mode. In this mode, the SDK stretches or zooms the video to fill + the display window. + + +
          diff --git a/en-US/dita/RTC/API/enum_rtmpstreamingevent.dita b/en-US/dita/RTC/API/enum_rtmpstreamingevent.dita index 1180e1ee2a4..91d03c65ce5 100644 --- a/en-US/dita/RTC/API/enum_rtmpstreamingevent.dita +++ b/en-US/dita/RTC/API/enum_rtmpstreamingevent.dita @@ -1,28 +1,33 @@ - <ph keyref="RTMP_STREAMING_EVENT"/> + + <ph keyref="RTMP_STREAMING_EVENT"/> + Events during the media push.
          Enumerator - - - 1: An error occurs when you add a background image or a watermark image in the media push. - - - - 2: The streaming URL is already being used for CDN live streaming. If you want to start new streaming, use a new streaming URL. - - - - 3: The feature is not supported. - - - - 4: Reserved. - -
          + + + 1: An error occurs when you add a background image or a watermark image in + the media push. + + + + 2: The streaming URL is already being used for CDN live streaming. If you + want to start new streaming, use a new streaming URL. + + + + 3: The feature is not supported. + + + + 4: Reserved. + + +
          diff --git a/en-US/dita/RTC/API/enum_rtmpstreamlifecycletype.dita b/en-US/dita/RTC/API/enum_rtmpstreamlifecycletype.dita index eaa0163558e..85a3bd51dc6 100644 --- a/en-US/dita/RTC/API/enum_rtmpstreamlifecycletype.dita +++ b/en-US/dita/RTC/API/enum_rtmpstreamlifecycletype.dita @@ -2,27 +2,31 @@ <ph keyref="RTMP_STREAM_LIFE_CYCLE_TYPE"/> - Lifecycle of the CDN live video stream. + Lifecycle of the CDN live video + stream.
          - -
          Deprecated
          -
          - + +
          Deprecated
          +
          +
          Enumerator - - - Bind to the channel lifecycle. If all hosts leave the channel, the CDN live streaming stops after 30 seconds. - - - - Bind to the owner of the RTMP stream. If the owner leaves the channel, the CDN live streaming stops immediately. - -
          + + + Bind to the channel lifecycle. If all hosts leave the channel, the CDN live + streaming stops after 30 seconds. + + + + Bind to the owner of the RTMP stream. If the owner leaves the channel, the + CDN live streaming stops immediately. + + +
          diff --git a/en-US/dita/RTC/API/enum_rtmpstreampublisherror.dita b/en-US/dita/RTC/API/enum_rtmpstreampublisherror.dita index d338a52fd37..5e11905c5d7 100644 --- a/en-US/dita/RTC/API/enum_rtmpstreampublisherror.dita +++ b/en-US/dita/RTC/API/enum_rtmpstreampublisherror.dita @@ -2,75 +2,102 @@ <ph keyref="RTMP_STREAM_PUBLISH_ERROR"/> - Error codes of the RTMP or RTMPS streaming. + Error codes of the RTMP or RTMPS + streaming.
          Enumerator - - - 0: The RTMP or RTMPS streaming publishes successfully. - - - - 1: Invalid argument used. Please check the parameter setting. For example, if you do not call to set the transcoding parameters before calling , the SDK returns this error. - - - - 2: The RTMP or RTMPS streaming is encrypted and cannot be published. - - - - 3: Timeout for the RTMP or RTMPS streaming. Call the method to publish the streaming again. - - - - 4: An error occurs in Agora's streaming server. Call the method to publish the streaming again. - - - - 5: An error occurs in the CDN server. - - - - 6: The RTMP or RTMPS streaming publishes too frequently. - - - - 7: The host publishes more than 10 URLs. Delete the unnecessary URLs before adding new ones. - - - - 8: The host manipulates other hosts' URLs. For example, the host updates or stops other hosts' streams. Check your app logic. - - - - 9: Agora's server fails to find the RTMP or RTMPS streaming. - - - - 10: The format of the RTMP or RTMPS streaming URL is not supported. Check whether the URL format is correct. - - - - 11: The user role is not host, so the user cannot use the CDN live streaming function. Check your application code logic. - - - - The or method is called to update the transcoding configuration in a scenario where there is streaming without transcoding. Check your application code logic. - - - - 14: Errors occurred in the host's network. - - - - 15: Your App ID does not have permission to use the CDN live streaming function. Refer to Prerequisites to enable the CDN live streaming permission. - - - - 100: The streaming has been stopped normally. After you call to stop streaming, the SDK returns this value. - + + + 0: The RTMP or RTMPS streaming publishes successfully. + + + + 1: Invalid argument used. Please check the parameter setting. For + example, if you do not call to set + the transcoding parameters before calling , the SDK returns this error. + + + + 2: The RTMP or RTMPS streaming is encrypted and cannot be + published. + + + + 3: Timeout for the RTMP or RTMPS streaming. Call the method to publish the streaming + again. + + + + 4: An error occurs in Agora's streaming server. Call the method to publish the streaming + again. + + + + 5: An error occurs in the CDN server. + + + + 6: The RTMP or RTMPS streaming publishes too frequently. + + + + 7: The host publishes more than 10 URLs. Delete the unnecessary URLs + before adding new ones. + + + + 8: The host manipulates other hosts' URLs. For example, the host + updates or stops other hosts' streams. Check your app logic. + + + + 9: Agora's server fails to find the RTMP or RTMPS streaming. + + + + 10: The format of the RTMP or RTMPS streaming URL is not supported. + Check whether the URL format is correct. + + + + + 11: The user role is not host, so the user cannot use the CDN live + streaming function. Check your application code logic. + + + + + The or method is called to update the + transcoding configuration in a scenario where there is streaming + without transcoding. Check your application code logic. + + + + + 14: Errors occurred in the host's network. + + + + + 15: Your App ID does not have permission to use the CDN live + streaming function. Refer to Prerequisites to enable + the CDN live streaming permission. + + + + + 100: The streaming has been stopped normally. After you call to stop streaming, the SDK + returns this value. +
          diff --git a/en-US/dita/RTC/API/enum_rtmpstreampublisherrortype.dita b/en-US/dita/RTC/API/enum_rtmpstreampublisherrortype.dita index 9e256d31115..bfe76c8ae25 100644 --- a/en-US/dita/RTC/API/enum_rtmpstreampublisherrortype.dita +++ b/en-US/dita/RTC/API/enum_rtmpstreampublisherrortype.dita @@ -2,75 +2,102 @@ <ph keyref="RTMP_STREAM_PUBLISH_ERROR_TYPE"/> - Error codes of the RTMP or RTMPS streaming. + Error codes of the RTMP or RTMPS + streaming.
          Enumerator - - - 0: The RTMP or RTMPS streaming publishes successfully. - - - - 1: Invalid argument used. Please check the parameter setting. For example, if you do not call to set the transcoding parameters before calling , the SDK returns this error. - - - - 2: The RTMP or RTMPS streaming is encrypted and cannot be published. - - - - 3: Timeout for the RTMP or RTMPS streaming. Call the method to publish the streaming again. - - - - 4: An error occurs in Agora's streaming server. Call the method to publish the streaming again. - - - - 5: An error occurs in the CDN server. - - - - 6: The RTMP or RTMPS streaming publishes too frequently. - - - - 7: The host publishes more than 10 URLs. Delete the unnecessary URLs before adding new ones. - - - - 8: The host manipulates other hosts' URLs. For example, the host updates or stops other hosts' streams. Check your app logic. - - - - 9: Agora's server fails to find the RTMP or RTMPS streaming. - - - - 10: The format of the RTMP or RTMPS streaming URL is not supported. Check whether the URL format is correct. - - - - 11: The user role is not host, so the user cannot use the CDN live streaming function. Check your application code logic. - - - - The or method is called to update the transcoding configuration in a scenario where there is streaming without transcoding. Check your application code logic. - - - - 14: Errors occurred in the host's network. - - - - 15: Your App ID does not have permission to use the CDN live streaming function. Refer to Prerequisites to enable the CDN live streaming permission. - - - - 100: The streaming has been stopped normally. After you call to stop streaming, the SDK returns this value. - + + + 0: The RTMP or RTMPS streaming publishes successfully. + + + + 1: Invalid argument used. Please check the parameter setting. For + example, if you do not call to set + the transcoding parameters before calling , the SDK returns this error. + + + + 2: The RTMP or RTMPS streaming is encrypted and cannot be + published. + + + + 3: Timeout for the RTMP or RTMPS streaming. Call the method to publish the streaming + again. + + + + 4: An error occurs in Agora's streaming server. Call the method to publish the streaming + again. + + + + 5: An error occurs in the CDN server. + + + + 6: The RTMP or RTMPS streaming publishes too frequently. + + + + 7: The host publishes more than 10 URLs. Delete the unnecessary URLs + before adding new ones. + + + + 8: The host manipulates other hosts' URLs. For example, the host + updates or stops other hosts' streams. Check your app logic. + + + + 9: Agora's server fails to find the RTMP or RTMPS streaming. + + + + 10: The format of the RTMP or RTMPS streaming URL is not supported. + Check whether the URL format is correct. + + + + + 11: The user role is not host, so the user cannot use the CDN live + streaming function. Check your application code logic. + + + + + The or method is called to update the + transcoding configuration in a scenario where there is streaming + without transcoding. Check your application code logic. + + + + + 14: Errors occurred in the host's network. + + + + + 15: Your App ID does not have permission to use the CDN live + streaming function. Refer to Prerequisites to enable + the CDN live streaming permission. + + + + + 100: The streaming has been stopped normally. After you call to stop streaming, the SDK + returns this value. +
          diff --git a/en-US/dita/RTC/API/enum_rtmpstreampublishstate.dita b/en-US/dita/RTC/API/enum_rtmpstreampublishstate.dita index 5e59d13c482..b27689afc3f 100644 --- a/en-US/dita/RTC/API/enum_rtmpstreampublishstate.dita +++ b/en-US/dita/RTC/API/enum_rtmpstreampublishstate.dita @@ -7,35 +7,57 @@
          Enumerator - - - 0: The Media Push has not started or has ended. This state is also triggered after you remove a RTMP or RTMPS stream from the CDN by calling . - - - - 1: The SDK is connecting to Agora's streaming server and the CDN server. This state is triggered after you call the method. - - - - 2: The RTMP or RTMPS streaming publishes. The SDK successfully publishes the RTMP or RTMPS streaming and returns this state. - - - - -

          3: The RTMP or RTMPS streaming is recovering. When exceptions occur to the CDN, or the streaming is interrupted, the SDK tries to resume RTMP or RTMPS streaming and returns this state.

          -
            -
          • If the SDK successfully resumes the streaming, (2) returns.
          • -
          • If the streaming does not resume within 60 seconds or server errors occur, (4) returns. You can also reconnect to the server by calling the and methods.
          • -
          -
          - - - 4: The RTMP or RTMPS streaming fails. See the errCode parameter for the detailed error information. You can also call the method to publish the RTMP or RTMPS streaming again. - - - - 5: The SDK is disconnecting from the Agora streaming server and CDN. When you call or to stop the streaming normally, the SDK reports the streaming state as , in sequence. - -
          + + + 0: The Media Push has not started or has ended. This state is also triggered + after you remove a RTMP or RTMPS stream from the CDN by calling . + + + + 1: The SDK is connecting to Agora's streaming server and the CDN server. + This state is triggered after you call the method. + + + + 2: The RTMP or RTMPS streaming publishes. The SDK successfully publishes the + RTMP or RTMPS streaming and returns this state. + + + + +

          3: The RTMP or RTMPS streaming is recovering. When exceptions occur to + the CDN, or the streaming is interrupted, the SDK tries to resume RTMP + or RTMPS streaming and returns this state.

          +
            +
          • If the SDK successfully resumes the streaming, (2) returns.
          • +
          • If the streaming does not resume within 60 seconds or server errors + occur, (4) returns. + You can also reconnect to the server by calling the and methods.
          • +
          +
          +
          + + + 4: The RTMP or RTMPS streaming fails. See the errCode parameter for the + detailed error information. You can also call the method to publish the RTMP or RTMPS + streaming again. + + + + 5: The SDK is disconnecting from the Agora streaming server and CDN. When + you call or to stop the streaming normally, the SDK + reports the streaming state as , in sequence. + + + diff --git a/en-US/dita/RTC/API/enum_saeconnectionchangedreasontype.dita b/en-US/dita/RTC/API/enum_saeconnectionchangedreasontype.dita index 2b54e16a7a6..d8e3365238b 100644 --- a/en-US/dita/RTC/API/enum_saeconnectionchangedreasontype.dita +++ b/en-US/dita/RTC/API/enum_saeconnectionchangedreasontype.dita @@ -2,35 +2,38 @@ <ph keyref="SAE_CONNECTION_CHANGED_REASON_TYPE"/> - The reason for the change in the connection state between the SDK and the Agora Spatial Audio Server. + The reason for the change in the connection state + between the SDK and the Agora Spatial Audio Server.
          Enumerator - - - 0: No error. - - - - 1: The SDK is establishing a connection. - - - - 2: The SDK failed to create the room. - - - - 3: The connection between the SDK and the RTM system is interrupted. - - - - 4: The user is kicked out by the RTM system. - - - - 5: The SDK has not received a message from the Agora Spatial Audio Server for more than 15 seconds. - -
          + + + 0: No error. + + + + 1: The SDK is establishing a connection. + + + + 2: The SDK failed to create the room. + + + + 3: The connection between the SDK and the RTM system is interrupted. + + + + 4: The user is kicked out by the RTM system. + + + + 5: The SDK has not received a message from the Agora Spatial Audio Server + for more than 15 seconds. + + +
          diff --git a/en-US/dita/RTC/API/enum_saeconnectionstatetype.dita b/en-US/dita/RTC/API/enum_saeconnectionstatetype.dita index 619d9587dd7..f442d9231d4 100644 --- a/en-US/dita/RTC/API/enum_saeconnectionstatetype.dita +++ b/en-US/dita/RTC/API/enum_saeconnectionstatetype.dita @@ -2,31 +2,34 @@ <ph keyref="SAE_CONNECTION_STATE_TYPE"/> - The connection state between the SDK and the Agora Spatial Audio Server. + The connection state between the SDK and the Agora + Spatial Audio Server.
          Enumerator - - - 0: The SDK is connecting to the Agora Spatial Audio Server. - - - - 1: Connected. The spatial audio effect settings such as only take effect in this state. - - - - 2: The connection is disconnected. - - - - 3: The SDK keeps reconnecting to the Agora Spatial Audio Server. - - - - 4: The connection has been reestablished. - -
          + + + 0: The SDK is connecting to the Agora Spatial Audio Server. + + + + 1: Connected. The spatial audio effect settings such as only take effect in this state. + + + + 2: The connection is disconnected. + + + + 3: The SDK keeps reconnecting to the Agora Spatial Audio Server. + + + + 4: The connection has been reestablished. + + +
          diff --git a/en-US/dita/RTC/API/enum_saedeployregion.dita b/en-US/dita/RTC/API/enum_saedeployregion.dita index cd5e0d47c56..5cf6b9d83ec 100644 --- a/en-US/dita/RTC/API/enum_saedeployregion.dita +++ b/en-US/dita/RTC/API/enum_saedeployregion.dita @@ -2,27 +2,29 @@ <ph keyref="SAE_DEPLOY_REGION"/> - The region in which the Agora Spatial Audio Server to be used is located. + The region in which the Agora Spatial Audio Server to + be used is located.
          Enumerator - - - (Default) Mainland China. - - - - North America. - - - - Europe. - - - - Asia, excluding Mainland China. - -
          + + + (Default) Mainland China. + + + + North America. + + + + Europe. + + + + Asia, excluding Mainland China. + + +
          diff --git a/en-US/dita/RTC/API/enum_screencapturesourcetype.dita b/en-US/dita/RTC/API/enum_screencapturesourcetype.dita index e86e9c58784..5deebe96aca 100644 --- a/en-US/dita/RTC/API/enum_screencapturesourcetype.dita +++ b/en-US/dita/RTC/API/enum_screencapturesourcetype.dita @@ -2,35 +2,37 @@ <ph keyref="ScreenCaptureSourceType"/> - The type of the shared target. Set in . + The type of the shared target. Set in .
          - -
          Since
          -
          v3.5.2
          -
          + +
          Since
          +
          v3.5.2
          +
          Enumerator - - - -1: Unknown type. - - - - 0: The shared target is a window. - - - - 1: The shared target is a screen of a particular monitor. - - - - 2: Reserved parameter. - -
          + + + -1: Unknown type. + + + + 0: The shared target is a window. + + + + 1: The shared target is a screen of a particular monitor. + + + + 2: Reserved parameter. + + +
          diff --git a/en-US/dita/RTC/API/enum_screenscenariotype.dita b/en-US/dita/RTC/API/enum_screenscenariotype.dita index 49be324c743..a13ef3e2394 100644 --- a/en-US/dita/RTC/API/enum_screenscenariotype.dita +++ b/en-US/dita/RTC/API/enum_screenscenariotype.dita @@ -2,27 +2,36 @@ <ph keyref="ScreenScenarioType"/> - The screen sharing scenario. Set in . + The screen sharing scenario. Set in .
          Enumerator - - - 1: (Default) Document. This scenario prioritizes the video quality of screen sharing and reduces the latency of the shared video for the receiver. If you share documents, slides, and tables, you can set this scenario. - - - - 2: Game. This scenario prioritizes the smoothness of screen sharing. If you share games, you can set this scenario. - - - - 3: Video. This scenario prioritizes the smoothness of screen sharing. If you share movies or live videos, you can set this scenario. - - - - 4: Remote control. This scenario prioritizes the video quality of screen sharing and reduces the latency of the shared video for the receiver. If you share the device desktop being remotely controlled, you can set this scenario. - -
          + + + 1: (Default) Document. This scenario prioritizes the video quality of screen + sharing and reduces the latency of the shared video for the receiver. If you + share documents, slides, and tables, you can set this scenario. + + + + 2: Game. This scenario prioritizes the smoothness of screen sharing. If you + share games, you can set this scenario. + + + + 3: Video. This scenario prioritizes the smoothness of screen sharing. If you + share movies or live videos, you can set this scenario. + + + + 4: Remote control. This scenario prioritizes the video quality of screen + sharing and reduces the latency of the shared video for the receiver. If you + share the device desktop being remotely controlled, you can set this + scenario. + + +
          diff --git a/en-US/dita/RTC/API/enum_streamfallbackoptions.dita b/en-US/dita/RTC/API/enum_streamfallbackoptions.dita index 5d4a3de4b8e..d9119d6e766 100644 --- a/en-US/dita/RTC/API/enum_streamfallbackoptions.dita +++ b/en-US/dita/RTC/API/enum_streamfallbackoptions.dita @@ -7,18 +7,30 @@
          Enumerator - - - 0: No fallback behavior for the local/remote video stream when the uplink/downlink network conditions are poor. The quality of the stream is not guaranteed. - - - - 1: Under poor downlink network conditions, the remote video stream, to which you subscribe, falls back to the low-quality (low resolution and low bitrate) video stream. This option is only valid for . This option is invalid for method. - - - - 2: Under poor uplink network conditions, the published video stream falls back to audio-only. Under poor downlink network conditions, the remote video stream, to which you subscribe, first falls back to the low-quality (low resolution and low bitrate) video stream; and then to an audio-only stream if the network conditions worsen. - -
          + + + 0: No fallback behavior for the local/remote video stream when the + uplink/downlink network conditions are poor. The quality of the stream is + not guaranteed. + + + + 1: Under poor downlink network conditions, the remote video stream, to + which you subscribe, falls back to the low-quality (low resolution and + low bitrate) video stream. This option is only valid for . This option is invalid for method. + + + + 2: Under poor uplink network conditions, the published video stream falls + back to audio-only. Under poor downlink network conditions, the remote video + stream, to which you subscribe, first falls back to the low-quality (low + resolution and low bitrate) video stream; and then to an audio-only stream + if the network conditions worsen. + + + diff --git a/en-US/dita/RTC/API/enum_streampublishstate.dita b/en-US/dita/RTC/API/enum_streampublishstate.dita index bbad2f00e67..ff52db321ef 100644 --- a/en-US/dita/RTC/API/enum_streampublishstate.dita +++ b/en-US/dita/RTC/API/enum_streampublishstate.dita @@ -7,30 +7,40 @@
          Enumerator - - - 0: The initial publishing state after joining the channel. - - - - -

          1: Fails to publish the local stream. Possible reasons: -

            -
          • The local user calls () or () to stop sending the local media stream.
          • -
          • The local user calls or to disable the local audio or video module.
          • -
          • The local user calls () or () to disable the local audio or video capture.
          • -
          • The role of the local user is audience.
          • -

          -
          -
          - - - 2: Publishing. - - - - 3: Publishes successfully. - -
          + + + 0: The initial publishing state after joining the channel. + + + + +

          1: Fails to publish the local stream. Possible reasons:

            +
          • The local user calls () or () to stop sending the local media stream.
          • +
          • The local user calls or to disable the local audio or video + module.
          • +
          • The local user calls () or () to disable the local audio or video + capture.
          • +
          • The role of the local user is audience.
          • +

          +
          +
          + + + 2: Publishing. + + + + 3: Publishes successfully. + + + diff --git a/en-US/dita/RTC/API/enum_streamsubscribestate.dita b/en-US/dita/RTC/API/enum_streamsubscribestate.dita index 77f59b850de..203eba1b781 100644 --- a/en-US/dita/RTC/API/enum_streamsubscribestate.dita +++ b/en-US/dita/RTC/API/enum_streamsubscribestate.dita @@ -7,38 +7,59 @@
          Enumerator - - - 0: The initial subscribing state after joining the channel. - - - - -

          1: Fails to subscribe to the remote stream. Possible reasons: -

            -
          • The remote user: -
              -
            • Calls () or () to stop sending local media stream.
            • -
            • Calls or to disable the local audio or video module.
            • -
            • Calls () or () to disable the local audio or video capture.
            • -
            • The role of the remote user is audience.
            • -
          • -
          • The local user calls the following methods to stop receiving remote streams: -
              -
            • Calls (), () or () to stop receiving the remote audio streams.
            • -
            • Calls (), () or () to stop receiving the remote video streams.
            • -
          • -

          -
          -
          - - - 2: Subscribing. - - - - 3: Subscribes to and receives the remote stream successfully. - -
          + + + 0: The initial subscribing state after joining the channel. + + + + +

          1: Fails to subscribe to the remote stream. Possible reasons:

            +
          • The remote user:
              +
            • Calls () or () to stop sending local + media stream.
            • +
            • Calls or to disable the local audio + or video module.
            • +
            • Calls () or () to disable the local audio + or video capture.
            • +
            • The role of the remote user is audience.
            • +
          • +
          • The local user calls the following methods to stop receiving + remote streams:
              +
            • Calls (), () or () to stop receiving the remote audio + streams.
            • +
            • Calls (), () or () to stop receiving the remote video + streams.
            • +
          • +

          +
          +
          + + + 2: Subscribing. + + + + 3: Subscribes to and receives the remote stream successfully. + + + diff --git a/en-US/dita/RTC/API/enum_superresolutionmode.dita b/en-US/dita/RTC/API/enum_superresolutionmode.dita index 0218a08f1be..1f6fc802a06 100644 --- a/en-US/dita/RTC/API/enum_superresolutionmode.dita +++ b/en-US/dita/RTC/API/enum_superresolutionmode.dita @@ -7,14 +7,16 @@
          Enumerator - - - 0: Enables super resolution for the remote user you specify. - - - - Enables super resolution for the remote user corresponding to the largest rendering window in the channel. - -
          + + + 0: Enables super resolution for the remote user you specify. + + + + Enables super resolution for the remote user corresponding to the largest + rendering window in the channel. + + + diff --git a/en-US/dita/RTC/API/enum_superresolutionstatereason.dita b/en-US/dita/RTC/API/enum_superresolutionstatereason.dita index ea3cb14b185..ca2ce1ce48f 100644 --- a/en-US/dita/RTC/API/enum_superresolutionstatereason.dita +++ b/en-US/dita/RTC/API/enum_superresolutionstatereason.dita @@ -2,39 +2,45 @@ <ph keyref="SUPER_RESOLUTION_STATE_REASON"/> - The reason why super resolution is not successfully enabled. + The reason why super resolution is not successfully + enabled.
          - -
          Since
          -
          v3.5.1
          -
          + +
          Since
          +
          v3.5.1
          +
          Enumerator - - - 0: Super resolution is successfully enabled. - - - - 1: The original resolution of the remote video is beyond the range where super resolution can be applied. - - - - 2: Super resolution is already being used to boost another remote user’s video. - - - - 3: The device does not support using super resolution. - - - - 4: When the super resolution feature is enabled or is running, the SDK detects that device performance is not qualified. When you receive this reason code, Agora recommends that the user disable super resolution. - -
          + + + 0: Super resolution is successfully enabled. + + + + 1: The original resolution of the remote video is beyond the range where + super resolution can be applied. + + + + 2: Super resolution is already being used to boost another remote user’s + video. + + + + 3: The device does not support using super resolution. + + + + 4: When the super resolution feature is enabled or is running, the SDK + detects that device performance is not qualified. When you receive this + reason code, Agora recommends that the user disable super resolution. + + +
          diff --git a/en-US/dita/RTC/API/enum_uploaderrorreason.dita b/en-US/dita/RTC/API/enum_uploaderrorreason.dita index f6b864eeb64..3c4df00f304 100644 --- a/en-US/dita/RTC/API/enum_uploaderrorreason.dita +++ b/en-US/dita/RTC/API/enum_uploaderrorreason.dita @@ -7,18 +7,21 @@
          Enumerator - - - 0: Successfully upload the log files. - - - - 1: Network error. Check the network connection and call again to upload the log file. - - - - 2: An error occurs in the Agora server. Try uploading the log files later. - -
          + + + 0: Successfully upload the log files. + + + + 1: Network error. Check the network connection and call again to upload the log file. + + + + 2: An error occurs in the Agora server. Try uploading the log files + later. + + + diff --git a/en-US/dita/RTC/API/enum_userofflinereasontype.dita b/en-US/dita/RTC/API/enum_userofflinereasontype.dita index 1de7e023a9f..58d25eb7d75 100644 --- a/en-US/dita/RTC/API/enum_userofflinereasontype.dita +++ b/en-US/dita/RTC/API/enum_userofflinereasontype.dita @@ -7,20 +7,24 @@
          Enumerator - - - 0: The user quits the call. - - - - -

          1: The SDK times out and the user drops offline because no data packet is received within a certain period of time.

          - If the user quits the call and the message is not passed to the SDK (due to an unreliable channel), the SDK assumes the user dropped offline.
          -
          - - - 2: The user switches the client role from the host to the audience. - -
          + + + 0: The user quits the call. + + + + +

          1: The SDK times out and the user drops offline because no data packet is + received within a certain period of time.

          + If the user quits the call and the message is not + passed to the SDK (due to an unreliable channel), the SDK assumes the + user dropped offline.
          +
          + + + 2: The user switches the client role from the host to the audience. + + + diff --git a/en-US/dita/RTC/API/enum_videobuffertype.dita b/en-US/dita/RTC/API/enum_videobuffertype.dita index e5377efd1be..ccf737cc12b 100644 --- a/en-US/dita/RTC/API/enum_videobuffertype.dita +++ b/en-US/dita/RTC/API/enum_videobuffertype.dita @@ -7,22 +7,24 @@
          Enumerator - - - 1: The video buffer in the format of raw data. - - - - 2: The video buffer in the format of raw data. - - - - 3: The video buffer in the format of Texture. - - - - 2: The video buffer in the format of Pixel. - -
          + + + 1: The video buffer in the format of raw data. + + + + 2: The video buffer in the format of raw data. + + + + 3: The video buffer in the format of Texture. + + + + 2: The video buffer in the format of + Pixel. + + + diff --git a/en-US/dita/RTC/API/enum_videocapturetype.dita b/en-US/dita/RTC/API/enum_videocapturetype.dita index 813730e4da1..6acc9f4de68 100644 --- a/en-US/dita/RTC/API/enum_videocapturetype.dita +++ b/en-US/dita/RTC/API/enum_videocapturetype.dita @@ -2,23 +2,25 @@ <ph keyref="VIDEO_CAPTURE_TYPE"/> - The capture type of the custom video source. + The capture type of the custom video + source.
          Enumerator - - - Unknown type. - - - - (Default) Video captured by the camera. - - - - Video for screen sharing. - -
          + + + Unknown type. + + + + (Default) Video captured by the camera. + + + + Video for screen sharing. + + +
          diff --git a/en-US/dita/RTC/API/enum_videocodecprofiletype.dita b/en-US/dita/RTC/API/enum_videocodecprofiletype.dita index ce83e2b836e..2d37fd73089 100644 --- a/en-US/dita/RTC/API/enum_videocodecprofiletype.dita +++ b/en-US/dita/RTC/API/enum_videocodecprofiletype.dita @@ -6,18 +6,22 @@
          - - - 66: Baseline video codec profile. Generally used for video calls on mobile phones. - - - - 77: Main video codec profile. Generally used in mainstream electronics such as MP4 players, portable video players, PSP, and iPads. - - - - 100: (Default) High video codec profile. Generally used in high-resolution live streaming or television. - -
          + + + 66: Baseline video codec profile. Generally used for video calls on mobile + phones. + + + + 77: Main video codec profile. Generally used in mainstream electronics such + as MP4 players, portable video players, PSP, and iPads. + + + + 100: (Default) High video codec profile. Generally used in high-resolution + live streaming or television. + + +
          diff --git a/en-US/dita/RTC/API/enum_videocodectype.dita b/en-US/dita/RTC/API/enum_videocodectype.dita index a6ef9d541d5..2a007a7a3fa 100644 --- a/en-US/dita/RTC/API/enum_videocodectype.dita +++ b/en-US/dita/RTC/API/enum_videocodectype.dita @@ -7,44 +7,46 @@
          Enumerator - - - Standard VP8. - - - - Standard H.264. - - - - Enhanced VP8. - - - - Enhanced H.264. - - - - Standard H.264. - - - - -

          Generic.

          -

          This type is used for transmitting raw video data, such as encrypted video frames. The SDK returns this type of video frames in callbacks, and you need to decode and render the frames yourself.

          -
          -
          - - - Generic JPEG. - -

          This type consumes minimum computing resources and applies to IoT devices.

          -
          -
          - - - Standard VP9. - -
          + + + Standard VP8. + + + + Standard H.264. + + + + Enhanced VP8. + + + + Enhanced H.264. + + + + Standard H.264. + + + + +

          Generic.

          +

          This type is used for transmitting raw video data, such as encrypted + video frames. The SDK returns this type of video frames in callbacks, + and you need to decode and render the frames yourself.

          +
          +
          + + + Generic JPEG.

          This type consumes minimum computing resources + and applies to IoT devices.

          +
          +
          + + + Standard VP9. + + + diff --git a/en-US/dita/RTC/API/enum_videocodectypeforstream.dita b/en-US/dita/RTC/API/enum_videocodectypeforstream.dita index bf2e9474038..946fdbe3fae 100644 --- a/en-US/dita/RTC/API/enum_videocodectypeforstream.dita +++ b/en-US/dita/RTC/API/enum_videocodectypeforstream.dita @@ -6,23 +6,24 @@
          - -
          Since
          -
          v3.2.0
          -
          + +
          Since
          +
          v3.2.0
          +
          Enumerator - - - 1: (Default) H.264. - - - - 2: H.265. - -
          + + + 1: (Default) H.264. + + + + 2: H.265. + + +
          diff --git a/en-US/dita/RTC/API/enum_videocontenthint.dita b/en-US/dita/RTC/API/enum_videocontenthint.dita index 14d14f94b30..184a2059215 100644 --- a/en-US/dita/RTC/API/enum_videocontenthint.dita +++ b/en-US/dita/RTC/API/enum_videocontenthint.dita @@ -7,19 +7,21 @@
          Enumerator - - - (Default) No content hint. - - - - Motion-intensive content. Choose this option if you prefer smoothness or when you are sharing a video clip, movie, or video game. - - - - Motionless content. Choose this option if you prefer sharpness or when you are sharing a - picture, PowerPoint slides, or texts. - -
          + + + (Default) No content hint. + + + + Motion-intensive content. Choose this option if you prefer smoothness or + when you are sharing a video clip, movie, or video game. + + + + Motionless content. Choose this option if you prefer sharpness or when you + are sharing a picture, PowerPoint slides, or texts. + + + diff --git a/en-US/dita/RTC/API/enum_videodenoiserlevel.dita b/en-US/dita/RTC/API/enum_videodenoiserlevel.dita index b35095965f2..20e084cb1cb 100644 --- a/en-US/dita/RTC/API/enum_videodenoiserlevel.dita +++ b/en-US/dita/RTC/API/enum_videodenoiserlevel.dita @@ -1,24 +1,45 @@ - <ph keyref="VIDEO_DENOISER_LEVEL"/> + + <ph keyref="VIDEO_DENOISER_LEVEL"/> + The video noise reduction level.
          Enumerator - - - 0: (Default) Promotes video quality during video noise reduction. balances performance consumption and video noise reduction quality. The performance consumption is moderate, the video noise reduction speed is moderate, and the overall video quality is optimal. - - - - Promotes reducing performance consumption during video noise reduction. prioritizes reducing performance consumption over video noise reduction quality. The performance consumption is lower, and the video noise reduction speed is faster. To avoid a noticeable shadowing effect (shadows trailing behind moving objects) in the processed video, Agora recommends that you use when the camera is fixed. - - - - Enhanced video noise reduction. prioritizes video noise reduction quality over reducing performance consumption. The performance consumption is higher, the video noise reduction speed is slower, and the video noise reduction quality is better. If is not enough for your video noise reduction needs, you can use . - -
          + + + 0: (Default) Promotes video quality during video noise reduction. + balances + performance consumption and video noise reduction quality. The + performance consumption is moderate, the video noise reduction speed + is moderate, and the overall video quality is optimal. + + + + Promotes reducing performance consumption during video noise reduction. + prioritizes + reducing performance consumption over video noise reduction quality. + The performance consumption is lower, and the video noise reduction + speed is faster. To avoid a noticeable shadowing effect (shadows + trailing behind moving objects) in the processed video, Agora + recommends that you use + when the camera is fixed. + + + + Enhanced video noise reduction. prioritizes video noise + reduction quality over reducing performance consumption. The + performance consumption is higher, the video noise reduction speed is + slower, and the video noise reduction quality is better. If is not enough for your + video noise reduction needs, you can use . + + +
          diff --git a/en-US/dita/RTC/API/enum_videodenoisermode.dita b/en-US/dita/RTC/API/enum_videodenoisermode.dita index 6d8684d1eba..3ddba28a1af 100644 --- a/en-US/dita/RTC/API/enum_videodenoisermode.dita +++ b/en-US/dita/RTC/API/enum_videodenoisermode.dita @@ -1,20 +1,25 @@ - <ph keyref="VIDEO_DENOISER_MODE"/> + + <ph keyref="VIDEO_DENOISER_MODE"/> + Video noise reduction mode.
          Enumerator - - - 0: (Default) Automatic mode. The SDK automatically enables or disables the video noise reduction feature according to the ambient light. - - - - Manual mode. Users need to enable or disable the video noise reduction feature manually. - -
          + + + 0: (Default) Automatic mode. The SDK automatically enables or disables + the video noise reduction feature according to the ambient light. + + + + Manual mode. Users need to enable or disable the video noise reduction + feature manually. + + +
          diff --git a/en-US/dita/RTC/API/enum_videoframeprocessmode.dita b/en-US/dita/RTC/API/enum_videoframeprocessmode.dita index da9c63a6e3e..1d2727686f3 100644 --- a/en-US/dita/RTC/API/enum_videoframeprocessmode.dita +++ b/en-US/dita/RTC/API/enum_videoframeprocessmode.dita @@ -7,20 +7,23 @@
          Enumerator - - - -

          Read-only mode.

          -

          In this mode, you do not modify the video frame. The video frame observer is a renderer.

          -
          -
          - - - -

          Read and write mode.

          -

          In this mode, you modify the video frame. The video frame observer is a video filter.

          -
          -
          -
          + + + +

          Read-only mode.

          +

          In this mode, you do not modify the video frame. The video frame observer + is a renderer.

          +
          +
          + + + +

          Read and write mode.

          +

          In this mode, you modify the video frame. The video frame observer is a + video filter.

          +
          +
          + + diff --git a/en-US/dita/RTC/API/enum_videoframetype.dita b/en-US/dita/RTC/API/enum_videoframetype.dita index 3ce2983e462..3da9391af64 100644 --- a/en-US/dita/RTC/API/enum_videoframetype.dita +++ b/en-US/dita/RTC/API/enum_videoframetype.dita @@ -7,18 +7,19 @@
          Enumerator - - - The video data format is YUV420. - - - - 1: YUV422. - - - - 2: RGBA. - -
          + + + The video data format is YUV420. + + + + 1: YUV422. + + + + 2: RGBA. + + + diff --git a/en-US/dita/RTC/API/enum_videomirrormodetype.dita b/en-US/dita/RTC/API/enum_videomirrormodetype.dita index df0f681a335..afd6a032c89 100644 --- a/en-US/dita/RTC/API/enum_videomirrormodetype.dita +++ b/en-US/dita/RTC/API/enum_videomirrormodetype.dita @@ -7,22 +7,23 @@
          Enumerator - - - 0: (Default) The SDK determines the mirror mode. - + + + 0: (Default) The SDK determines the mirror mode. + - - - 1: Enable mirror mode. - + + + 1: Enable mirror mode. + - - - 2: Disable mirror mode. - -
          + + + 2: Disable mirror mode. + + + diff --git a/en-US/dita/RTC/API/enum_videoobserverposition.dita b/en-US/dita/RTC/API/enum_videoobserverposition.dita index 549cd98550b..1f612a3013c 100644 --- a/en-US/dita/RTC/API/enum_videoobserverposition.dita +++ b/en-US/dita/RTC/API/enum_videoobserverposition.dita @@ -2,23 +2,28 @@ <ph keyref="VIDEO_OBSERVER_POSITION"/> - The frame position of the video observer. + The frame position of the video + observer.
          Enumerator - - - 1: The post-capturer position, which corresponds to the video data in the callback. - - - - 2: The pre-renderer position, which corresponds to the video data in the callback. - - - - 4: The pre-encoder position, which corresponds to the video data in the callback. - -
          + + + 1: The post-capturer position, which corresponds to the video data in the + callback. + + + + 2: The pre-renderer position, which corresponds to the video data in the + callback. + + + + 4: The pre-encoder position, which corresponds to the video data in the + callback. + + +
          diff --git a/en-US/dita/RTC/API/enum_videoorientation.dita b/en-US/dita/RTC/API/enum_videoorientation.dita index faaeb677b73..9e1b4c79d91 100644 --- a/en-US/dita/RTC/API/enum_videoorientation.dita +++ b/en-US/dita/RTC/API/enum_videoorientation.dita @@ -7,22 +7,23 @@
          Enumerator - - - 0: (Default) No rotation. - - - - 90: 90 degrees. - - - - 180: 180 degrees. - - - - 270: 270 degrees. - -
          + + + 0: (Default) No rotation. + + + + 90: 90 degrees. + + + + 180: 180 degrees. + + + + 270: 270 degrees. + + + diff --git a/en-US/dita/RTC/API/enum_videopixelformat.dita b/en-US/dita/RTC/API/enum_videopixelformat.dita index 37c129010cb..178e3bcaa39 100644 --- a/en-US/dita/RTC/API/enum_videopixelformat.dita +++ b/en-US/dita/RTC/API/enum_videopixelformat.dita @@ -6,52 +6,54 @@
          Enumerator - The SDK does not support the alpha channel, and discards any alpha value passed to the SDK. + The SDK does not support the alpha channel, and discards any + alpha value passed to the SDK. - - - 0: The format is known. - - - - 1: The format is I420. - - - - 2: The format is BGRA. - - - - 3: The format is NV21. - - - - 4: The format is RGBA. - - - - 5: The format is IMC2. - - - - 7: The format is ARGB. - - - - 8: The format is NV12. - - - - 16: The video pixel format is I422. - - - - 17: The video pixel format is GL_TEXTURE_2D. - - - - 18: The video pixel format is GL_TEXTURE_OES. - -
          + + + 0: The format is known. + + + + 1: The format is I420. + + + + 2: The format is BGRA. + + + + 3: The format is NV21. + + + + 4: The format is RGBA. + + + + 5: The format is IMC2. + + + + 7: The format is ARGB. + + + + 8: The format is NV12. + + + + 16: The video pixel format is I422. + + + + 17: The video pixel format is GL_TEXTURE_2D. + + + + 18: The video pixel format is GL_TEXTURE_OES. + + +
          diff --git a/en-US/dita/RTC/API/enum_videoprofiletype.dita b/en-US/dita/RTC/API/enum_videoprofiletype.dita index 98c8ef92e8e..3eb84a9b98d 100644 --- a/en-US/dita/RTC/API/enum_videoprofiletype.dita +++ b/en-US/dita/RTC/API/enum_videoprofiletype.dita @@ -6,279 +6,290 @@
          - -
          Deprecated
          -
          - + +
          Deprecated
          +
          +
          Enumerator - - - 0: 160 × 120, frame rate 15 fps, bitrate 65 Kbps. - - - - 2: 120 × 120, frame rate 15 fps, bitrate 50 Kbps. - - - - 10: 320 × 180, frame rate 15 fps, bitrate 140 Kbps. - - - - 12: 180 × 180, frame rate 15 fps, bitrate 100 Kbps. - - - - 13: 240 × 180, frame rate 15 fps, bitrate 120 Kbps. - - - - 20: 320 × 240, frame rate 15 fps, bitrate 200 Kbps. - - - - 22: 240 × 240, frame rate 15 fps, bitrate 140 Kbps. - - - - 23: 424 × 240, frame rate 15 fps, bitrate 220 Kbps. - - - - 30: 640 × 360, frame rate 15 fps, bitrate 400 Kbps. - - - - 32: 360 × 360, frame rate 15 fps, bitrate 260 Kbps. - - - - 33: 640 × 360, frame rate 30 fps, bitrate 600 Kbps. - - - - 35: 360 × 360, frame rate 30 fps, bitrate 400 Kbps. - - - - 36: 480 × 360, frame rate 15 fps, bitrate 320 Kbps. - - - - 37: 480 × 360, frame rate 30 fps, bitrate 490 Kbps. - - - - -

          38: 640 × 360, frame rate 15 fps, bitrate 800 Kbps.

          - This profile applies only to the live streaming channel profile.
          -
          - - - -

          39: 640 × 360, frame rate 24 fps, bitrate 800 Kbps.

          - This profile applies only to the live streaming channel profile.
          -
          - - - -

          100: 640 × 360, frame rate 24 fps, bitrate 1000 Kbps.

          - This profile applies only to the live streaming channel profile.
          -
          - - - 40: 640 × 480, frame rate 15 fps, bitrate 500 Kbps. - - - - 42: 480 × 480, frame rate 15 fps, bitrate 400 Kbps. - - - - 43: 640 × 480, frame rate 30 fps, bitrate 750 Kbps. - - - - 45: 480 × 480, frame rate 30 fps, bitrate 600 Kbps. - - - - 47: 848 × 480, frame rate 15 fps, bitrate 610 Kbps. - - - - 48: 848 × 480, frame rate 30 fps, bitrate 930 Kbps. - - - - 49: 640 × 480, frame rate 10 fps, bitrate 400 Kbps. - - - - 50: 1280 × 720, frame rate 15 fps, bitrate 1130 Kbps. - - - - 52: 1280 × 720, frame rate 30 fps, bitrate 1710 Kbps. - - - - 54: 960 × 720, frame rate 15 fps, bitrate 910 Kbps. - - - - 55: 960 × 720, frame rate 30 fps, bitrate 1380 Kbps. - - - - 60: 1920 × 1080, frame rate 15 fps, bitrate 2080 Kbps. - - - - 60: 1920 × 1080, frame rate 30 fps, bitrate 3150 Kbps. - - - - 64: 1920 × 1080, frame rate 60 fps, bitrate 4780 Kbps. - - - - 1000: 120 × 160, frame rate 15 fps, bitrate 65 Kbps. - - - - 1002: 120 × 120, frame rate 15 fps, bitrate 50 Kbps. - - - - 1010: 180 × 320, frame rate 15 fps, bitrate 140 Kbps. - - - - 1012: 180 × 180, frame rate 15 fps, bitrate 100 Kbps. - - - - 1013: 180 × 240, frame rate 15 fps, bitrate 120 Kbps. - - - - 1020: 240 × 320, frame rate 15 fps, bitrate 200 Kbps. - - - - 1022: 240 × 240, frame rate 15 fps, bitrate 140 Kbps. - - - - 1023: 240 × 424, frame rate 15 fps, bitrate 220 Kbps. - - - - 1030: 360 × 640, frame rate 15 fps, bitrate 400 Kbps. - - - - 1032: 360 × 360, frame rate 15 fps, bitrate 260 Kbps. - - - - 1033: 360 × 640, frame rate 15 fps, bitrate 600 Kbps. - - - - 1035: 360 × 360, frame rate 30 fps, bitrate 400 Kbps. - - - - 1036: 360 × 480, frame rate 15 fps, bitrate 320 Kbps. - - - - 1037: 360 × 480, frame rate 30 fps, bitrate 490 Kbps. - - - - -

          1038: 360 × 640, frame rate 15 fps, bitrate 800 Kbps.

          - This profile applies only to the live streaming channel profile.
          -
          - - - -

          1039: 360 × 640, frame rate 24 fps, bitrate 800 Kbps.

          - This profile applies only to the live streaming channel profile.
          -
          - - - -

          1100: 360 × 640, frame rate 24 fps, bitrate 1000 Kbps.

          - This profile applies only to the live streaming channel profile.
          -
          - - - 1040: 480 × 640, frame rate 15 fps, bitrate 500 Kbps. - - - - 1042: 480 × 480, frame rate 15 fps, bitrate 400 Kbps. - - - - 1043: 480 × 640, frame rate 30 fps, bitrate 750 Kbps. - - - - 1045: 480 × 480, frame rate 30 fps, bitrate 600 Kbps. - - - - 1047: 480 × 848, frame rate 15 fps, bitrate 610 Kbps. - - - - 1048: 480 × 848, frame rate 30 fps, bitrate 930 Kbps. - - - - 1049: 480 × 640, frame rate 10 fps, bitrate 400 Kbps. - - - - 1050: 720 × 1280, frame rate 15 fps, bitrate 1130 Kbps. - - - - 1052: 720 × 1280, frame rate 30 fps, bitrate 1710 Kbps. - - - - 1054: 720 × 960, frame rate 15 fps, bitrate 910 Kbps. - - - - 1055: 720 × 960, frame rate 30 fps, bitrate 1380 Kbps. - - - - 1060: 1080 × 1920, frame rate 15 fps, bitrate 2080 Kbps. - - - - 1062: 1080 × 1920, frame rate 30 fps, bitrate 3150 Kbps. - - - - 1064: 1080 × 1920, frame rate 60 fps, bitrate 4780 Kbps. - - - - (Default) 640 × 360, frame rate 15 fps, bitrate 400 Kbps. - -
          + + + 0: 160 × 120, frame rate 15 fps, bitrate 65 Kbps. + + + + 2: 120 × 120, frame rate 15 fps, bitrate 50 Kbps. + + + + 10: 320 × 180, frame rate 15 fps, bitrate 140 Kbps. + + + + 12: 180 × 180, frame rate 15 fps, bitrate 100 Kbps. + + + + 13: 240 × 180, frame rate 15 fps, bitrate 120 Kbps. + + + + 20: 320 × 240, frame rate 15 fps, bitrate 200 Kbps. + + + + 22: 240 × 240, frame rate 15 fps, bitrate 140 Kbps. + + + + 23: 424 × 240, frame rate 15 fps, bitrate 220 Kbps. + + + + 30: 640 × 360, frame rate 15 fps, bitrate 400 Kbps. + + + + 32: 360 × 360, frame rate 15 fps, bitrate 260 Kbps. + + + + 33: 640 × 360, frame rate 30 fps, bitrate 600 Kbps. + + + + 35: 360 × 360, frame rate 30 fps, bitrate 400 Kbps. + + + + 36: 480 × 360, frame rate 15 fps, bitrate 320 Kbps. + + + + 37: 480 × 360, frame rate 30 fps, bitrate 490 Kbps. + + + + +

          38: 640 × 360, frame rate 15 fps, bitrate 800 Kbps.

          + This profile applies only to the live streaming + channel profile. +
          +
          + + + +

          39: 640 × 360, frame rate 24 fps, bitrate 800 Kbps.

          + This profile applies only to the live streaming + channel profile.
          +
          + + + +

          100: 640 × 360, frame rate 24 fps, bitrate 1000 Kbps.

          + This profile applies only to the live streaming + channel profile.
          +
          + + + 40: 640 × 480, frame rate 15 fps, bitrate 500 Kbps. + + + + 42: 480 × 480, frame rate 15 fps, bitrate 400 Kbps. + + + + 43: 640 × 480, frame rate 30 fps, bitrate 750 Kbps. + + + + 45: 480 × 480, frame rate 30 fps, bitrate 600 Kbps. + + + + 47: 848 × 480, frame rate 15 fps, bitrate 610 Kbps. + + + + 48: 848 × 480, frame rate 30 fps, bitrate 930 Kbps. + + + + 49: 640 × 480, frame rate 10 fps, bitrate 400 Kbps. + + + + 50: 1280 × 720, frame rate 15 fps, bitrate 1130 Kbps. + + + + 52: 1280 × 720, frame rate 30 fps, bitrate 1710 Kbps. + + + + 54: 960 × 720, frame rate 15 fps, bitrate 910 Kbps. + + + + 55: 960 × 720, frame rate 30 fps, bitrate 1380 Kbps. + + + + 60: 1920 × 1080, frame rate 15 fps, bitrate 2080 Kbps. + + + + 60: 1920 × 1080, frame rate 30 fps, bitrate 3150 Kbps. + + + + 64: 1920 × 1080, frame rate 60 fps, bitrate 4780 Kbps. + + + + 1000: 120 × 160, frame rate 15 fps, bitrate 65 Kbps. + + + + 1002: 120 × 120, frame rate 15 fps, bitrate 50 Kbps. + + + + 1010: 180 × 320, frame rate 15 fps, bitrate 140 Kbps. + + + + 1012: 180 × 180, frame rate 15 fps, bitrate 100 Kbps. + + + + 1013: 180 × 240, frame rate 15 fps, bitrate 120 Kbps. + + + + 1020: 240 × 320, frame rate 15 fps, bitrate 200 Kbps. + + + + 1022: 240 × 240, frame rate 15 fps, bitrate 140 Kbps. + + + + 1023: 240 × 424, frame rate 15 fps, bitrate 220 Kbps. + + + + 1030: 360 × 640, frame rate 15 fps, bitrate 400 Kbps. + + + + 1032: 360 × 360, frame rate 15 fps, bitrate 260 Kbps. + + + + 1033: 360 × 640, frame rate 15 fps, bitrate 600 Kbps. + + + + 1035: 360 × 360, frame rate 30 fps, bitrate 400 Kbps. + + + + 1036: 360 × 480, frame rate 15 fps, bitrate 320 Kbps. + + + + 1037: 360 × 480, frame rate 30 fps, bitrate 490 Kbps. + + + + +

          1038: 360 × 640, frame rate 15 fps, bitrate 800 Kbps.

          + This profile applies only to the live streaming + channel profile. +
          +
          + + + +

          1039: 360 × 640, frame rate 24 fps, bitrate 800 Kbps.

          + This profile applies only to the live streaming + channel profile. +
          +
          + + + +

          1100: 360 × 640, frame rate 24 fps, bitrate 1000 Kbps.

          + This profile applies only to the live streaming + channel profile. +
          +
          + + + 1040: 480 × 640, frame rate 15 fps, bitrate 500 Kbps. + + + + 1042: 480 × 480, frame rate 15 fps, bitrate 400 Kbps. + + + + 1043: 480 × 640, frame rate 30 fps, bitrate 750 Kbps. + + + + 1045: 480 × 480, frame rate 30 fps, bitrate 600 Kbps. + + + + 1047: 480 × 848, frame rate 15 fps, bitrate 610 Kbps. + + + + 1048: 480 × 848, frame rate 30 fps, bitrate 930 Kbps. + + + + 1049: 480 × 640, frame rate 10 fps, bitrate 400 Kbps. + + + + 1050: 720 × 1280, frame rate 15 fps, bitrate 1130 Kbps. + + + + 1052: 720 × 1280, frame rate 30 fps, bitrate 1710 Kbps. + + + + 1054: 720 × 960, frame rate 15 fps, bitrate 910 Kbps. + + + + 1055: 720 × 960, frame rate 30 fps, bitrate 1380 Kbps. + + + + 1060: 1080 × 1920, frame rate 15 fps, bitrate 2080 Kbps. + + + + 1062: 1080 × 1920, frame rate 30 fps, bitrate 3150 Kbps. + + + + 1064: 1080 × 1920, frame rate 60 fps, bitrate 4780 Kbps. + + + + (Default) 640 × 360, frame rate 15 fps, bitrate 400 Kbps. + + +
          diff --git a/en-US/dita/RTC/API/enum_videosourcetype.dita b/en-US/dita/RTC/API/enum_videosourcetype.dita index 6eeb53eb9da..80017ba0518 100644 --- a/en-US/dita/RTC/API/enum_videosourcetype.dita +++ b/en-US/dita/RTC/API/enum_videosourcetype.dita @@ -2,72 +2,77 @@ <ph keyref="VIDEO_SOURCE_TYPE"/> - The capture type of the custom video source. + The capture type of the custom video + source.
          Enumerator - - - (Default) The primary camera. - - - - The camera. - - - - The secondary camera. - - - - The primary screen. - - - - The screen. - - - - The secondary screen. - - - - The custom video source. - - - - The video source from the media player. - - - - The video source is a PNG image. - - - - The video source is a JPEG image. - - - - The video source is a GIF image. - - - - The video source is remote video acquired by the network. - - - - A transcoded video source. - - - - An unknown video source. - + + + (Default) The primary camera. + + + + The camera. + + + + The secondary camera. + + + + The primary screen. + + + + The screen. + + + + The secondary screen. + + + + The custom video source. + + + + The video source from the media player. + + + + The video source is a PNG image. + + + + The video source is a JPEG image. + + + + The video source is a GIF image. + + + + The video source is remote video acquired by the network. + + + + A transcoded video source. + + + + An unknown video source. + -
            -
          • and are the same video source.
          • -
          • and are the same video source.
          • -
          +
            +
          • and are the same video source.
          • +
          • and are the same video source.
          • +
          + +
          diff --git a/en-US/dita/RTC/API/enum_virtualbackgroundsourcestatereason.dita b/en-US/dita/RTC/API/enum_virtualbackgroundsourcestatereason.dita index bbeda724590..1c60a7040e8 100644 --- a/en-US/dita/RTC/API/enum_virtualbackgroundsourcestatereason.dita +++ b/en-US/dita/RTC/API/enum_virtualbackgroundsourcestatereason.dita @@ -2,39 +2,52 @@ <ph keyref="VIRTUAL_BACKGROUND_SOURCE_STATE_REASON"/> - The reason why virtual background is not successfully enabled. + The reason why virtual background is not successfully + enabled.
          - -
          Since
          -
          v3.5.0
          -
          + +
          Since
          +
          v3.5.0
          +
          Enumerator - - - 0: The virtual background is successfully enabled. - - - - 1: The custom background image does not exist. Please check the value of source in . - - - - 2: The color format of the custom background image is invalid. Please check the value of color in . - - - - 3: The device does not support using the virtual background. - - - - 4: When the virtual background feature is enabled or is running, the SDK detects that device performance is not qualified. When you receive this reason code, Agora recommends that the user disable virtual background. - -
          + + + 0: The virtual background is successfully enabled. + + + + 1: The custom background image does not exist. Please check the value of + source in . + + + + 2: The color format of the custom background image is invalid. Please check + the value of color in . + + + + 3: The device does not support using the virtual background. + + + + 4: When the virtual background feature is enabled or is running, the SDK + detects that device performance is not qualified. When you receive this + reason code, Agora recommends that the user disable virtual background. + + + +
          diff --git a/en-US/dita/RTC/API/enum_voice_conversion_preset.dita b/en-US/dita/RTC/API/enum_voice_conversion_preset.dita index 5a83a5b4419..da564987cac 100644 --- a/en-US/dita/RTC/API/enum_voice_conversion_preset.dita +++ b/en-US/dita/RTC/API/enum_voice_conversion_preset.dita @@ -7,35 +7,40 @@
          Detailed Description
          - -
          Since
          -
          v3.3.1
          -
          + +
          Since
          +
          v3.3.1
          +
          Enumerator - - - Turn off voice beautifier effects and use the original voice. - - - - neutral. To avoid audio distortion, make sure to set this effect only for female voices. - - - - sweet. To avoid audio distortion, make sure to set this effect only for female voices. - - - - steady. To avoid audio distortion, make sure to set this effect only for male voices. - - - - A deeper voice. To avoid audio distortion, make sure to set this effect only for male voices. - -
          + + + Turn off voice beautifier effects and use the original voice. + + + + neutral. To avoid audio distortion, make sure to set this effect only for + female voices. + + + + sweet. To avoid audio distortion, make sure to set this effect only for + female voices. + + + + steady. To avoid audio distortion, make sure to set this effect only for + male voices. + + + + A deeper voice. To avoid audio distortion, make sure to set this effect only + for male voices. + + + diff --git a/en-US/dita/RTC/API/enum_voicebeautifierpreset.dita b/en-US/dita/RTC/API/enum_voicebeautifierpreset.dita index a10419e6b6d..9b7ff7c74eb 100644 --- a/en-US/dita/RTC/API/enum_voicebeautifierpreset.dita +++ b/en-US/dita/RTC/API/enum_voicebeautifierpreset.dita @@ -2,88 +2,117 @@ <ph keyref="VOICE_BEAUTIFIER_PRESET"/> - The options for SDK preset voice beautifier effects. + The options for SDK preset voice beautifier + effects.
          Enumerator - - - Turn off voice beautifier effects and use the original voice. - - - - -

          A more magnetic voice.

          - Agora recommends using this enumerator to process a male-sounding voice; otherwise, you may experience vocal distortion.
          -
          - - - -

          A fresher voice.

          - Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
          -
          - - - -

          A more vital voice.

          - Agora recommends using this enumerator to process a female-sounding voice; otherwise, you may experience vocal distortion.
          -
          - - - -
          - -
          Since
          -
          v3.3.0
          -
          -
          -

          Singing beautifier effect.

          -
            -
          • If you call (), you can beautify a male-sounding voice and add a reverberation effect that sounds like singing in a small room. Agora recommends using this enumerator to process a male-sounding voice; otherwise, you might experience vocal distortion.
          • -
          • If you call (, param1, param2), you can beautify a male- or female-sounding voice and add a reverberation effect.
          • -
          -
          - - - A more vigorous voice. - - - - A deep voice. - - - - A mellower voice. - - - - Falsetto. - - - - A fuller voice. - - - - A clearer voice. - - - - A more resounding voice. - - - - A more ringing voice. - - - - A ultra-high quality voice, which makes the audio clearer and restores more details. -
            -
          • To achieve better audio effect quality, Agora recommends that you call and set the profile to (4) or (5) and scenario to (6) before calling .
          • -
          • If you have an audio capturing device that can already restore audio details to a high degree, Agora recommends that you do not enable ultra-high quality; otherwise, the SDK may over-restore audio details, and you may not hear the anticipated voice effect.
          • -
          -
          -
          + + + Turn off voice beautifier effects and use the original voice. + + + + +

          A more magnetic voice.

          + Agora recommends using this enumerator to process a + male-sounding voice; otherwise, you may experience vocal + distortion.
          +
          + + + +

          A fresher voice.

          + Agora recommends using this enumerator to process a + female-sounding voice; otherwise, you may experience vocal + distortion. +
          +
          + + + +

          A more vital voice.

          + Agora recommends using this enumerator to process a + female-sounding voice; otherwise, you may experience vocal + distortion. +
          +
          + + + +
          + +
          Since
          +
          v3.3.0
          +
          +
          +

          Singing beautifier effect.

          +
            +
          • If you call (), you can beautify a male-sounding + voice and add a reverberation effect that sounds like singing in a + small room. Agora recommends using this enumerator to process a + male-sounding voice; otherwise, you might experience vocal + distortion.
          • +
          • If you call (, param1, param2), you can beautify + a male- or female-sounding voice and add a reverberation + effect.
          • +
          +
          +
          + + + A more vigorous voice. + + + + A deep voice. + + + + A mellower voice. + + + + Falsetto. + + + + A fuller voice. + + + + A clearer voice. + + + + A more resounding voice. + + + + A more ringing voice. + + + + A ultra-high quality voice, which makes the audio clearer and restores more + details.
            +
          • To achieve better audio effect quality, Agora recommends that you + call and set the + profile to (4) or (5) and + scenario to (6) before calling + .
          • +
          • If you have an audio capturing device that can already restore audio + details to a high degree, Agora recommends that you do not enable + ultra-high quality; otherwise, the SDK may over-restore audio + details, and you may not hear the anticipated voice effect.
          • +
          +
          + +
          diff --git a/en-US/dita/RTC/API/enum_voicechangerpreset.dita b/en-US/dita/RTC/API/enum_voicechangerpreset.dita index c811cff9b7c..8128ef0a821 100644 --- a/en-US/dita/RTC/API/enum_voicechangerpreset.dita +++ b/en-US/dita/RTC/API/enum_voicechangerpreset.dita @@ -6,91 +6,96 @@
          - -
          Deprecated
          -
          Deprecated as of v3.2.0.
          -
          + +
          Deprecated
          +
          Deprecated as of v3.2.0.
          +
          Enumerator - - - The original voice (no local voice change). - - - - The voice of an old man. - - - - The voice of a little boy. - - - - The voice of a little girl. - - - - The voice of Zhu Bajie, a character in Journey to the West who has a voice like that of a growling bear. - - - - The ethereal voice. - - - - The voice of Hulk. - - - - A more vigorous voice. - - - - A deeper voice. - - - - A mellower voice. - - - - Falsetto. - - - - A fuller voice. - - - - A clearer voice. - - - - A more resounding voice. - - - - A more ringing voice. - - - - A more spatially resonant voice. - - - - (For male only) A more magnetic voice. Do not use it when the speaker is a female; otherwise, voice distortion occurs. - - - - (For female only) A fresher voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. - - - - (For female only) A more vital voice. Do not use it when the speaker is a male; otherwise, voice distortion occurs. - -
          + + + The original voice (no local voice change). + + + + The voice of an old man. + + + + The voice of a little boy. + + + + The voice of a little girl. + + + + The voice of Zhu Bajie, a character in Journey to the West who has a + voice like that of a growling bear. + + + + The ethereal voice. + + + + The voice of Hulk. + + + + A more vigorous voice. + + + + A deeper voice. + + + + A mellower voice. + + + + Falsetto. + + + + A fuller voice. + + + + A clearer voice. + + + + A more resounding voice. + + + + A more ringing voice. + + + + A more spatially resonant voice. + + + + (For male only) A more magnetic voice. Do not use it when the speaker + is a female; otherwise, voice distortion occurs. + + + + (For female only) A fresher voice. Do not use it when the speaker is a + male; otherwise, voice distortion occurs. + + + + (For female only) A more vital voice. Do not use it when the speaker is + a male; otherwise, voice distortion occurs. + + +
          diff --git a/en-US/dita/RTC/API/enum_voiceconversionpreset.dita b/en-US/dita/RTC/API/enum_voiceconversionpreset.dita index 7db5d1d4e95..0adc73962bf 100644 --- a/en-US/dita/RTC/API/enum_voiceconversionpreset.dita +++ b/en-US/dita/RTC/API/enum_voiceconversionpreset.dita @@ -6,35 +6,40 @@
          - -
          Since
          -
          v3.3.1
          -
          + +
          Since
          +
          v3.3.1
          +
          Enumerator - - - Turn off voice conversion effects and use the original voice. - - - - A gender-neutral voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice. - - - - A sweet voice. To avoid audio distortion, ensure that you use this enumerator to process a female-sounding voice. - - - - A steady voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice. - - - - A deep voice. To avoid audio distortion, ensure that you use this enumerator to process a male-sounding voice. - -
          + + + Turn off voice conversion effects and use the original voice. + + + + A gender-neutral voice. To avoid audio distortion, ensure that you use this + enumerator to process a female-sounding voice. + + + + A sweet voice. To avoid audio distortion, ensure that you use this + enumerator to process a female-sounding voice. + + + + A steady voice. To avoid audio distortion, ensure that you use this + enumerator to process a male-sounding voice. + + + + A deep voice. To avoid audio distortion, ensure that you use this enumerator + to process a male-sounding voice. + + +
          diff --git a/en-US/dita/RTC/API/enum_watermarkfitmode.dita b/en-US/dita/RTC/API/enum_watermarkfitmode.dita index 10b54271884..2ace8fa50e8 100644 --- a/en-US/dita/RTC/API/enum_watermarkfitmode.dita +++ b/en-US/dita/RTC/API/enum_watermarkfitmode.dita @@ -7,14 +7,21 @@
          Enumerator - - - Use the positionInLandscapeMode and positionInPortraitMode values you set in . The settings in are invalid. - - - - Use the value you set in . The settings in positionInLandscapeMode and positionInPortraitMode in are invalid. - -
          + + + Use the positionInLandscapeMode and + positionInPortraitMode values you set in . The settings in are invalid. + + + + Use the value you set in . The settings in + positionInLandscapeMode and + positionInPortraitMode in are invalid. + + + diff --git a/en-US/dita/RTC/API/rtc_api_data_type.dita b/en-US/dita/RTC/API/rtc_api_data_type.dita index 3d8f1524b44..8265a5c725c 100644 --- a/en-US/dita/RTC/API/rtc_api_data_type.dita +++ b/en-US/dita/RTC/API/rtc_api_data_type.dita @@ -2,6 +2,7 @@ Type definition - This page lists all the type definitions of the API. + This page lists all the type definitions of the API. diff --git a/en-US/dita/RTC/API/rtc_api_overview.dita b/en-US/dita/RTC/API/rtc_api_overview.dita index 7c23fc85e88..ad86d93122f 100644 --- a/en-US/dita/RTC/API/rtc_api_overview.dita +++ b/en-US/dita/RTC/API/rtc_api_overview.dita @@ -2,1691 +2,2965 @@ API Overview - Agora provides ensured quality of experience (QoE) for worldwide Internet-based voice and video communications through a virtual global network optimized for real-time web and mobile-to-mobile applications. + Agora provides ensured quality of experience (QoE) for + worldwide Internet-based voice and video communications through a virtual global network + optimized for real-time web and mobile-to-mobile applications.
            -
          • Agora deprecated since v3.0.0 -RtcEngineParameters -The class. All interfaces under this class are -replaced by , please use the - class.
          • -
          • During API calls, the SDK may returns error codes and warning codes. See Error Codes and Warning Codes.
          • -
          +
        1440. Agora deprecated since v3.0.0 RtcEngineParameters + The class. All interfaces under this class are replaced by , please use the + class.
        1441. +
        1442. During API calls, the SDK may returns error codes and warning codes. See Error Codes and Warning Codes.
        1443. + +
            -
          • provides the main methods that can be invoked by your application.
          • -
          • reports runtime events to the application.
          • -
          • AgoraRtcEngine.on - - reports runtime events to the application.
          • -
          • provides methods that enable real-time communications in a specified channel. By creating multiple - objects, users can join multiple channels at the same time.
          • -
          • provides callbacks that report events and statistics of a specified channel.
          • -
          • AgoraRtcChannel.on - - provides callbacks that report events and statistics of a specified channel.
          • -
          • allows for audio device interface testing.
          • -
          • allows for video device interface testing.
          • -
          • allows for video device interface testing.
          • +
          • + provides the main methods that can be invoked by your + application.
          • +
          • + reports runtime events to the + application.
          • +
          • + AgoraRtcEngine.on reports runtime + events to the application.
          • +
          • + provides methods that enable real-time communications in a + specified channel. By creating multiple objects, users + can join multiple channels at the same time.
          • +
          • + provides callbacks that report events and + statistics of a specified channel.
          • +
          • + AgoraRtcChannel.on provides callbacks + that report events and statistics of a specified channel.
          • +
          • + allows for audio device interface testing.
          • +
          • + allows for video device interface testing.
          • +
          • + allows for video device interface testing.
          Core methods - - Method - Description - - - - - - - - - Creates and initializes - . - Initializes - - . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + Creates and + initializes . + Initializes . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Core events - - Event - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Audio management - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Video management - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Local media events - - Event - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Remote media events - - Event - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Statistics events -

          After joining a channel, SDK triggers this group of callbacks once every two seconds.

          -

          We provide an advanced guide for these callbacks. For details, see -. -

          +

          After joining a channel, SDK triggers this group of callbacks once every two + seconds.

          +

          We provide an advanced guide for these callbacks. For + details, see .

          - - Event - Description - - - - - - - - - - - - - - - - - - - - - - - - - -
          + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Video pre-processing and post-processing - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + +
          Multiple channels management -

          We provide an advanced guide on the applicable scenarios, implementation, and considerations for this group of methods. For details, see . -. -

          +

          We provide an advanced guide on the applicable scenarios, + implementation, and considerations for this group of methods. For details, see . + .

          - - API - Description - - - - - - - - - - - - - -
          + + API + Description + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Screen share API -

          We provide an advanced guide on the applicable scenarios, implementation, and considerations for this group of methods. For details, see -Share the Screen. -

          +

          We provide an advanced guide on the applicable scenarios, + implementation, and considerations for this group of methods. For details, see Share the Screen.

          - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + +
          Music file playback and mixing - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Audio effect file playback - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + +
          Audio file info - - Method - Description - - - - - - - - Event - Description - - - - - -
          + + Method + Description + + + + + + + + + + + + + Event + Description + + + + + + + + + + +
          Virtual metronome - - Method - Description - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Voice effect - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + +
          Sound localization - - Method - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + +
          CDN publisher

          This method applies only to interactive live streaming.

          - - Method - Description - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Channel media stream relay - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + +
          Volume indication - - Method - Description - - - - - - - - Event - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + +
          Face detection

          This method is for Android and iOS only.

          - - Method - Description - - - - - - - - Event - Description - - - - - -
          + + Method + Description + + + + + + + + + + + + + Event + Description + + + + + + + + + + +
          Audio routing control

          This method is for Android and iOS only.

          - - Method - Description - - - - - - - - - - - - - - - - Event - Description - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + +
          In-ear monitoring

          This method is for Android and iOS only.

          - - Method - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + +
          Dual video stream mode - - Method - Description - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Video stream fallback -

          We provide an advanced guide on the applicable scenarios, implementation, and considerations for this group of methods. For details, see . -. -

          +

          We provide an advanced guide on the applicable scenarios, + implementation, and considerations for this group of methods. For details, see . + .

          - - Method - Description - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + +
          Pre-call network test -

          We provide an advanced guide on the applicable scenarios, implementation, and considerations for this group of methods. For details, see . -. -

          +

          We provide an advanced guide on the applicable scenarios, + implementation, and considerations for this group of methods. For details, see . + .

          - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + +
          Customizes video module - - Method - Description - - - - - -
          + + Method + Description + + + + + + + + + + +
          External video data (push-mode only) - - Method - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + +
          External audio data (push-mode only) - - Method - Description - - - - - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          External audio sink (pull-mode only) - - Method - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + +
          Raw audio data - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - - - - - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Raw video data - - Method - Description - - - - - - - - - - - - Event - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Media metadata

          This method applies only to interactive live streaming.

          - - Method - Description - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Watermark

          This method applies only to interactive live streaming.

          - - Method - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + +
          Video snapshot - - - Method - Description - - - - - - - - Event - Description - - - - - -
          -
          - Encryption - - - Method - Description - - - - - - - - - -
          -
          - Audio recorder - - - Method - Description - - - - - - - - - -
          -
          - Audio and video recording - - - Method - Description - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - -
          -
          - Camera control - - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - -
          -
          - Device management -

          This group of methods are for Windows only.

          - - - Method - Description - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event - Description - - - - - - - - - - - - - - - - - -
          + + + Method + Description + + + + + + + + + + + + + Event + Description + + + + + + + + + + + +
          + Encryption + + + Method + Description + + + + + + + + + + + + + + + + + + +
          +
          + Audio recorder + + + Method + Description + + + + + + + + + + + + + + + + + + +
          +
          + Audio and video recording + + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + +
          +
          + Camera control + + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + +
          +
          + Device management +

          This group of methods are for Windows only.

          + + + Method + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Stream message - - Method - Description - - - - - - - - - - - - Event - Description - - - - - - - - - -
          + + Method + Description + + + + + + + + + + + + + + + + + + + + + Event + Description + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          Miscellaneous events - - Event - Description - - - - - - - - - - - - - - - - - - - - - -
          + + Event + Description + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          diff --git a/en-US/dita/RTC/conref/conref_api_metadata.dita b/en-US/dita/RTC/conref/conref_api_metadata.dita index 0b22f2123cd..2238e0d16a9 100644 --- a/en-US/dita/RTC/conref/conref_api_metadata.dita +++ b/en-US/dita/RTC/conref/conref_api_metadata.dita @@ -3,6 +3,11 @@ API Metadata for Reuse -

          Properties Attributes

          +

          + + Properties + Attributes + +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_addcohost.dita b/en-US/dita/flexible-classroom/edu-context/API/api_addcohost.dita index bfc6258fb50..a3858c1ca83 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_addcohost.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_addcohost.dita @@ -2,7 +2,8 @@ <ph keyref="addCoHost"/> - Requests a student to go "on the stage". + Requests a student to go "on the + stage". diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_addsubroomlist.dita b/en-US/dita/flexible-classroom/edu-context/API/api_addsubroomlist.dita index 53f089e0b92..f328bdc4882 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_addsubroomlist.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_addsubroomlist.dita @@ -30,7 +30,8 @@ configs - An array of sub-room configurations. See . + An array of sub-room configurations. See . success diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_boardinputenable.dita b/en-US/dita/flexible-classroom/edu-context/API/api_boardinputenable.dita index 2457cef01f5..2315bc4cc49 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_boardinputenable.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_boardinputenable.dita @@ -2,7 +2,8 @@ <ph keyref="boardInputEnable"/> - + @@ -21,7 +22,8 @@ enable - Whether students in the room can use the whiteboard basic editing tools. + Whether students in the room can use the whiteboard basic editing + tools. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_closelocaldevice.dita b/en-US/dita/flexible-classroom/edu-context/API/api_closelocaldevice.dita index 63f154056a9..655a56a9e61 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_closelocaldevice.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_closelocaldevice.dita @@ -35,7 +35,8 @@
          Returns -

          If the deviceId that you pass in does not exist, the SDK returns .

          +

          If the deviceId that you pass in does not exist, the SDK returns + .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_createsubroomobject.dita b/en-US/dita/flexible-classroom/edu-context/API/api_createsubroomobject.dita index 89cf0e610cb..3b4040fadb5 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_createsubroomobject.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_createsubroomobject.dita @@ -20,7 +20,8 @@

          -

          After the sub-room object is created, the life cycle of the object can be managed from the outside.

          +

          After the sub-room object is created, the life cycle of the object can be managed + from the outside.

          Parameter @@ -32,7 +33,9 @@
          Returns -

          Returns the sub-room object . If the local user is not in the user list of the subRoomUuid, the SDK returns an empty object.

          +

          Returns the sub-room object . If the local + user is not in the user list of the subRoomUuid, the SDK + returns an empty object.

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_data_type.dita b/en-US/dita/flexible-classroom/edu-context/API/api_data_type.dita index 1ed3c6c50d5..347ab0acb64 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_data_type.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_data_type.dita @@ -2,6 +2,7 @@ Type definition - This page lists all the type definitions of the API. + This page lists all the type definitions of the API. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_deleteroomproperties.dita b/en-US/dita/flexible-classroom/edu-context/API/api_deleteroomproperties.dita index 709a204aaf3..789a0397d76 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_deleteroomproperties.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_deleteroomproperties.dita @@ -28,7 +28,8 @@ keyPaths - The key path of the property that you want to delete, such as key1.subkey1. + The key path of the property that you want to delete, such as + key1.subkey1. cause diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_deletesubroomproperties.dita b/en-US/dita/flexible-classroom/edu-context/API/api_deletesubroomproperties.dita index 58f8d7617b0..e9d64e8a43d 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_deletesubroomproperties.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_deletesubroomproperties.dita @@ -2,7 +2,8 @@ <ph keyref="deleteSubRoomProperties"/> - Deletes the custom properties of a sub-room. + Deletes the custom properties of a + sub-room. @@ -26,7 +27,8 @@ keyPaths - The key path of the property that you want to delete, such as key1.subkey1. + The key path of the property that you want to delete, such as + key1.subkey1. cause diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_deleteuserproperties.dita b/en-US/dita/flexible-classroom/edu-context/API/api_deleteuserproperties.dita index 8858523f68e..45cf8aed3ba 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_deleteuserproperties.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_deleteuserproperties.dita @@ -35,7 +35,8 @@ keyPaths keys - The key path of the property that you want to delete, such as "key1.subkey1". + The key path of the property that you want to delete, such as + "key1.subkey1". cause diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getallstreamList.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getallstreamList.dita index db124313203..95717281e60 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getallstreamList.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getallstreamList.dita @@ -21,7 +21,8 @@
          Returns -

          If the method call succeeds, the SDK returns an array of .

          +

          If the method call succeeds, the SDK returns an array of .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getalluserlist.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getalluserlist.dita index 7f5e334b8ed..35dc80df92e 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getalluserlist.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getalluserlist.dita @@ -2,7 +2,8 @@ <ph keyref="getAllUserList"/> - Gets the information of all users in the room. + Gets the information of all users in the + room. @@ -21,7 +22,8 @@
          Returns -

          If the method call succeeds, the SDK returns an array of .

          +

          If the method call succeeds, the SDK returns an array of .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getclassinfo.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getclassinfo.dita index 13ed77ad5a0..741329acefd 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getclassinfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getclassinfo.dita @@ -21,7 +21,8 @@
          Returns -

          If the method call succeeds, the SDK returns .

          +

          If the method call succeeds, the SDK returns .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getcohostlist.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getcohostlist.dita index 0f6bcce9818..6cc4671bd76 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getcohostlist.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getcohostlist.dita @@ -2,7 +2,8 @@ <ph keyref="getCoHostList"/> - Gets the information of all users on the "stage". + Gets the information of all users on the + "stage". @@ -21,7 +22,8 @@
          Returns -

          If the method call succeeds, the SDK returns an array of .

          +

          If the method call succeeds, the SDK returns an array of .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_gethandswaveenable.dita b/en-US/dita/flexible-classroom/edu-context/API/api_gethandswaveenable.dita index 05e4f63a9ae..ae1e9be3e2c 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_gethandswaveenable.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_gethandswaveenable.dita @@ -2,7 +2,8 @@ <ph keyref="getHandsWaveEnable"/> - Checks whether the "raising a hand" feature is enabled. + Checks whether the "raising a hand" feature is + enabled. @@ -20,7 +21,8 @@

          -

          Checks whether the students in the current room can "raise their hands" to apply for speaking on the "stage".

          +

          Checks whether the students in the current room can "raise their hands" to apply for + speaking on the "stage".

          Returns diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getlocaldevicestate.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getlocaldevicestate.dita index 0116efa0ab2..c9b2f615813 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getlocaldevicestate.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getlocaldevicestate.dita @@ -31,15 +31,18 @@ success - If the method call succeeds, the SDK returns the device state . + If the method call succeeds, the SDK returns the device state . callback - Get the device state asynchronously through . + Get the device state + asynchronously through . fail - If the method call fails, the SDK returns . + If the method call fails, the SDK returns .
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getlocaluserinfo.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getlocaluserinfo.dita index b5a6f8f6fd5..0293a7fd6d4 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getlocaluserinfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getlocaluserinfo.dita @@ -2,7 +2,8 @@ <ph keyref="getLocalUserInfo"/> - Gets the information of the local user. + Gets the information of the local + user. @@ -21,7 +22,8 @@
          Returns -

          If the method call succeeds, the SDK returns .

          +

          If the method call succeeds, the SDK returns .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getroominfo.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getroominfo.dita index 0c053a1a90f..1093209f287 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getroominfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getroominfo.dita @@ -21,7 +21,8 @@
          Returns -

          If the method call succeeds, the SDK returns .

          +

          If the method call succeeds, the SDK returns .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getstreamlist.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getstreamlist.dita index 91ad407ae45..e6c63a52e0d 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getstreamlist.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getstreamlist.dita @@ -2,7 +2,8 @@ <ph keyref="getStreamList"/> - Gets all streams of the specified user. + Gets all streams of the specified + user. @@ -29,7 +30,8 @@
          Returns -

          If the method call succeeds, the SDK returns an array of .

          +

          If the method call succeeds, the SDK returns an array of .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getsubroominfo.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getsubroominfo.dita index 8dbcf0e1c2f..7215ffe7cfc 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getsubroominfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getsubroominfo.dita @@ -21,7 +21,8 @@
          Returns -

          If the method call succeeds, the SDK returns the current sub-room information .

          +

          If the method call succeeds, the SDK returns the current sub-room information .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getsubroomlist.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getsubroomlist.dita index 42208578354..d46787ee2a4 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getsubroomlist.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getsubroomlist.dita @@ -21,7 +21,8 @@
          Returns -

          If the method call succeeds, the SDK returns the sub-room list: .

          +

          If the method call succeeds, the SDK returns the sub-room list: .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getsubroomproperties.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getsubroomproperties.dita index b953ee4808f..d46bfb948c9 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getsubroomproperties.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getsubroomproperties.dita @@ -2,7 +2,8 @@ <ph keyref="getSubRoomProperties"/> - Gets the custom properties of a sub-room. + Gets the custom properties of a + sub-room. @@ -21,7 +22,8 @@
          Returns -

          The custom properties of a sub-room: Map<String, Any>. This parameter can be null.

          +

          The custom properties of a sub-room: Map<String, Any>. This + parameter can be null.

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getuserlist.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getuserlist.dita index 4cc913e272c..d0338a996c9 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getuserlist.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getuserlist.dita @@ -2,7 +2,8 @@ <ph keyref="getUserList"/> - Gets the user information of the specified role. + Gets the user information of the specified + role. @@ -29,7 +30,8 @@
          Returns -

          If the method call succeeds, the SDK returns an array of .

          +

          If the method call succeeds, the SDK returns an array of .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getuserlistfromsubroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getuserlistfromsubroom.dita index 8429de45424..a1f3ea39fc6 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getuserlistfromsubroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getuserlistfromsubroom.dita @@ -2,7 +2,8 @@ <ph keyref="getUserListFromSubRoom"/> - Gets the list of users in the specified sub-room. + Gets the list of users in the specified + sub-room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getuserproperties.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getuserproperties.dita index 2be504b5d15..f3b05f29a7a 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getuserproperties.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getuserproperties.dita @@ -2,7 +2,8 @@ <ph keyref="getUserProperties"/> - Gets the custom properties of the specified user. + Gets the custom properties of the specified + user. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_getuserrewardcount.dita b/en-US/dita/flexible-classroom/edu-context/API/api_getuserrewardcount.dita index bfde888e1d7..e8da9532069 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_getuserrewardcount.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_getuserrewardcount.dita @@ -2,7 +2,8 @@ <ph keyref="getUserRewardCount"/> - Gets the number of rewards owned by the specified user. + Gets the number of rewards owned by the specified + user. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_handswave.dita b/en-US/dita/flexible-classroom/edu-context/API/api_handswave.dita index 87004ea227e..3d600147a76 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_handswave.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_handswave.dita @@ -2,7 +2,8 @@ <ph keyref="handsWave"/> - Raises the hand to apply for speaking on the "stage". + Raises the hand to apply for speaking on the + "stage". diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_joinroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_joinroom.dita index bddb82c8fe0..2e47964f5fa 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_joinroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_joinroom.dita @@ -24,7 +24,8 @@ success - If the method call succeeds, the SDK returns the current room information . + If the method call succeeds, the SDK returns the current room information + . fail diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_joinsubroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_joinsubroom.dita index fdf91ee961a..99e1db5179b 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_joinsubroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_joinsubroom.dita @@ -20,8 +20,7 @@

          -
          -
          +
          Parameter @@ -36,7 +35,8 @@
          Returns -

          If the method call succeeds, the SDK returns the current sub-room information .

          +

          If the method call succeeds, the SDK returns the current sub-room information .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_kickoutuser.dita b/en-US/dita/flexible-classroom/edu-context/API/api_kickoutuser.dita index 3e6a2ede9ee..2f584df83c7 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_kickoutuser.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_kickoutuser.dita @@ -2,7 +2,8 @@ <ph keyref="kickOutUser"/> - Kicks a specified user out of the classroom. + Kicks a specified user out of the + classroom. @@ -32,7 +33,8 @@
          forever - Whether to ban the user permanently. Users who are permanently banned cannot enter the room anymore. + Whether to ban the user permanently. Users who are permanently banned cannot + enter the room anymore. success diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_moveuserlisttosubroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_moveuserlisttosubroom.dita index b24f860f4d3..c292a354f00 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_moveuserlisttosubroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_moveuserlisttosubroom.dita @@ -2,7 +2,8 @@ <ph keyref="moveUserListToSubRoom"/> - Moves a user from one sub-room to another. + Moves a user from one sub-room to + another. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onaudiomixingstatechanged.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onaudiomixingstatechanged.dita index 8bf38cf4db4..34f7dd99a43 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onaudiomixingstatechanged.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onaudiomixingstatechanged.dita @@ -2,7 +2,8 @@ <ph keyref="onAudioMixingStateChanged"/> - Occurs when the audio mixing state changes. + Occurs when the audio mixing state + changes. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onclassstateupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onclassstateupdated.dita index 7b661fe895e..4842d978906 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onclassstateupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onclassstateupdated.dita @@ -23,7 +23,8 @@ state - The current class state. See . + The current class state. See . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_oncohostuserlistadded.dita b/en-US/dita/flexible-classroom/edu-context/API/api_oncohostuserlistadded.dita index ebc0cf4431e..db73f5e8f6b 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_oncohostuserlistadded.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_oncohostuserlistadded.dita @@ -2,7 +2,8 @@ <ph keyref="onCoHostUserListAdded"/> - Occurs when users successfully go onto the "stage". + Occurs when users successfully go onto the + "stage". @@ -21,13 +22,13 @@

          -
          -
          +
          Parameter userList - The list of users who are still on the "stage", which is an array of . + The list of users who are still on the "stage", which is an array of . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_oncohostuserlistremoved.dita b/en-US/dita/flexible-classroom/edu-context/API/api_oncohostuserlistremoved.dita index be05d2a5eca..7d7514e8034 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_oncohostuserlistremoved.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_oncohostuserlistremoved.dita @@ -25,7 +25,8 @@ userList - The list of users who are still on the "stage", which is an array of . + The list of users who are still on the "stage", which is an array of . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_ongroupinfoupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_ongroupinfoupdated.dita index 7305a826e60..9c657878fd2 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_ongroupinfoupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_ongroupinfoupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onGroupInfoUpdated"/> - Occurs when the grouping information updates. + Occurs when the grouping information + updates. @@ -23,7 +24,8 @@ groupInfo - The object of the grouping information: . + The object of the grouping information: .
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onhandswaveenabled.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onhandswaveenabled.dita index 121db874237..dc5bbc3ebc2 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onhandswaveenabled.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onhandswaveenabled.dita @@ -2,7 +2,8 @@ <ph keyref="onHandsWaveEnabled"/> - Indicates whether the "raising a handing" feature is enabled. + Indicates whether the "raising a handing" feature is + enabled. @@ -20,7 +21,8 @@

          -

          When the "handing raising" feature is enabled, students in the room can "raise their hands" to apply for speak on "stage".

          +

          When the "handing raising" feature is enabled, students in the room can "raise their + hands" to apply for speak on "stage".

          Parameter diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onjoinroomfailure.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onjoinroomfailure.dita index 3051023fac3..88326ffe786 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onjoinroomfailure.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onjoinroomfailure.dita @@ -2,7 +2,8 @@ <ph keyref="onJoinRoomFailure"/> - Occurs when the local user fails to join the room. + Occurs when the local user fails to join the + room. @@ -28,7 +29,8 @@ error - The reason why the user fails to join the room: . + The reason why the user fails to join the room: .
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onjoinroomsuccess.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onjoinroomsuccess.dita index 6f560b90592..2775a2e09e7 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onjoinroomsuccess.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onjoinroomsuccess.dita @@ -2,7 +2,8 @@ <ph keyref="onJoinRoomSuccess"/> - Occurs when the local user successfully joins the room. + Occurs when the local user successfully joins the + room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onjoinsubroomfailure.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onjoinsubroomfailure.dita index 56f5b1aa07c..390a1a5ff11 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onjoinsubroomfailure.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onjoinsubroomfailure.dita @@ -2,7 +2,8 @@ <ph keyref="onJoinSubRoomFailure"/> - Occurs when the local user fails to join the sub-room. + Occurs when the local user fails to join the + sub-room. @@ -28,7 +29,8 @@
          error - The reason why the user fails to join the room: . + The reason why the user fails to join the room: .
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onjoinsubroomsuccess.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onjoinsubroomsuccess.dita index 8ffe78abe13..c50fecbbfc5 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onjoinsubroomsuccess.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onjoinsubroomsuccess.dita @@ -2,7 +2,8 @@ <ph keyref="onJoinSubRoomSuccess"/> - Occurs when the local user successfully joins the room. + Occurs when the local user successfully joins the + room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onlocalconnectionupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onlocalconnectionupdated.dita index f2030d0a374..6ab19430265 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onlocalconnectionupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onlocalconnectionupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalConnectionUpdated"/> - Occurs when the connection between the local client and the Agora server changes. + Occurs when the connection between the local client and + the Agora server changes. @@ -23,7 +24,8 @@ state - The connection state between the local client and the Agora server. See . + The connection state between the local client and the Agora server. See + . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldeviceconnected.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldeviceconnected.dita index 6f307b240fe..9edb0ca88b7 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldeviceconnected.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldeviceconnected.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalDeviceConnected"/> - Occurs when the local device is connected. + Occurs when the local device is + connected. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldevicedisconnected.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldevicedisconnected.dita index b9f3cf316b4..01d26cbe522 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldevicedisconnected.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldevicedisconnected.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalDeviceDisconnected"/> - Occurs when the local device is disconnected. + Occurs when the local device is + disconnected. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldevicestateupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldevicestateupdated.dita index 6ea34cf7844..0d87067bff7 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldevicestateupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onlocaldevicestateupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalDeviceStateUpdated"/> - Occurs when the local device state changes. + Occurs when the local device state + changes. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onlocalnetworkqualityupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onlocalnetworkqualityupdated.dita index 0c16bcb0552..a9abf2a22c9 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onlocalnetworkqualityupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onlocalnetworkqualityupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalNetworkQualityUpdated"/> - Occurs when the local network quality changes. + Occurs when the local network quality + changes. @@ -23,7 +24,8 @@ quality - The local network quality. See . + The local network quality. See . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onlocaluserkickedout.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onlocaluserkickedout.dita index bb2b2fc59bf..26251be0e7e 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onlocaluserkickedout.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onlocaluserkickedout.dita @@ -2,7 +2,8 @@ <ph keyref="onLocalUserKickedOut"/> - Occurs when the local user is kicked out of the room. + Occurs when the local user is kicked out of the + room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onremoteuserjoined.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onremoteuserjoined.dita index 54938e48e7a..d7895662f47 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onremoteuserjoined.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onremoteuserjoined.dita @@ -2,7 +2,8 @@ <ph keyref="onRemoteUserJoined"/> - Occurs when a remote user joins the room. + Occurs when a remote user joins the + room. @@ -24,7 +25,8 @@ userInfo user - For the information of the user who joins the room, see . + For the information of the user who joins the room, see . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onremoteuserleft.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onremoteuserleft.dita index be5b245bbfa..790fa3aea2c 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onremoteuserleft.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onremoteuserleft.dita @@ -2,7 +2,8 @@ <ph keyref="onRemoteUserLeft"/> - Occurs when a remote user leaves the room. + Occurs when a remote user leaves the + room. @@ -27,15 +28,19 @@ user - For the information of the user who leaves the room, see . + For the information of the user who leaves the room, see . operator - The operator: . If the remote user is kicked out of the room, the SDK returns this parameter. + The operator: . If the remote user + is kicked out of the room, the SDK returns this parameter. reason - The reason for leaving the room. See . The default reason is . + The reason for leaving the room. See . The default reason is + . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onroomclosed.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onroomclosed.dita index f2b73d97f05..2f2fc98db3a 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onroomclosed.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onroomclosed.dita @@ -20,7 +20,8 @@

          -

          When the room is closed, users in the room are kicked out of the room immediately, and other users can no longer join the room.

          +

          When the room is closed, users in the room are kicked out of the room immediately, + and other users can no longer join the room.

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onroomjoinedfail.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onroomjoinedfail.dita index d035ca677a8..2616b0fb996 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onroomjoinedfail.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onroomjoinedfail.dita @@ -2,7 +2,8 @@ <ph keyref="onRoomJoinedFail"/> - Occurs when the local user fails to join the room. + Occurs when the local user fails to join the + room. @@ -28,7 +29,8 @@ error - The reason why the user fails to join the room: . + The reason why the user fails to join the room: . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onroomjoinedsuccess.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onroomjoinedsuccess.dita index acdd2044eca..89dcb5b7789 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onroomjoinedsuccess.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onroomjoinedsuccess.dita @@ -2,7 +2,8 @@ <ph keyref="onRoomJoinedSuccess"/> - Occurs when the local user successfully joins the room. + Occurs when the local user successfully joins the + room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onroompropertiesdeleted.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onroompropertiesdeleted.dita index da2c1e1d18d..3df72ca618b 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onroompropertiesdeleted.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onroompropertiesdeleted.dita @@ -2,7 +2,8 @@ <ph keyref="onRoomPropertiesDeleted"/> - Occurs when custom room properties are deleted. + Occurs when custom room properties are + deleted. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onroompropertiesupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onroompropertiesupdated.dita index 08c49699df9..1bccdb0777a 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onroompropertiesupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onroompropertiesupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onRoomPropertiesUpdated"/> - Occurs when the custom room properties are updated. + Occurs when the custom room properties are + updated. @@ -36,7 +37,8 @@ operator - The operator , which can be empty. + The operator , which can be + empty. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onstreamjoined.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onstreamjoined.dita index efbdaf17998..8706d80aeca 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onstreamjoined.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onstreamjoined.dita @@ -2,7 +2,8 @@ <ph keyref="onStreamJoined"/> - Occurs when a stream is added to the room. + Occurs when a stream is added to the + room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onstreamleft.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onstreamleft.dita index d2aff23fa8e..b60940ef093 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onstreamleft.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onstreamleft.dita @@ -2,7 +2,8 @@ <ph keyref="onStreamLeft"/> - Occurs when a stream is removed from the room. + Occurs when a stream is removed from the + room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistadded.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistadded.dita index 9a2610c6d1f..521c5a855b3 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistadded.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistadded.dita @@ -23,7 +23,8 @@ subRoomList - The list of sub-room information: . + The list of sub-room information: . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistremoved.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistremoved.dita index 346484a0383..6b5af6de348 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistremoved.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistremoved.dita @@ -23,7 +23,8 @@ subRoomList - The list of sub-room information: . + The list of sub-room information: . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistupdated.dita index ce6c120008f..4d2ab1c29d3 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onsubroomlistupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onSubRoomListUpdated"/> - Occurs when the information of sub-rooms updates. + Occurs when the information of sub-rooms + updates. @@ -23,7 +24,8 @@ subRoomList - The list of sub-room information: . + The list of sub-room information: . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onsubroompropertiesdeleted.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onsubroompropertiesdeleted.dita index 7573f5d7340..16b38fe875b 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onsubroompropertiesdeleted.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onsubroompropertiesdeleted.dita @@ -2,7 +2,8 @@ <ph keyref="onSubRoomPropertiesDeleted"/> - Occurs when the custom properties of a sub-room are deleted. + Occurs when the custom properties of a sub-room are + deleted. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onsubroompropertiesupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onsubroompropertiesupdated.dita index e727a857264..1d3944fd6e4 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onsubroompropertiesupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onsubroompropertiesupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onSubRoomPropertiesUpdated"/> - Occurs when the custom properties of a sub-room are updated. + Occurs when the custom properties of a sub-room are + updated. @@ -34,7 +35,8 @@ operator - The operator , which can be empty. + The operator , which can be + empty. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onuserhandsdown.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onuserhandsdown.dita index c713185320e..1777e70b289 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onuserhandsdown.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onuserhandsdown.dita @@ -29,7 +29,8 @@ user - The user whose hand is put down: . + The user whose hand is put down: . diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistaddedtosubroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistaddedtosubroom.dita index 2e543f1633c..a803b3b65de 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistaddedtosubroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistaddedtosubroom.dita @@ -2,7 +2,8 @@ <ph keyref="onUserListAddedToSubRoom"/> - Occurs when users are added to a sub-room. + Occurs when users are added to a + sub-room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistinvitedtosubroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistinvitedtosubroom.dita index 98dfdb0d0d8..ed2b5a3f1fd 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistinvitedtosubroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistinvitedtosubroom.dita @@ -2,7 +2,8 @@ <ph keyref="onUserListInvitedToSubRoom"/> - Occurs when the user receives an invitation to join a sub-room. + Occurs when the user receives an invitation to join a + sub-room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistrejectedtosubroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistrejectedtosubroom.dita index e3de08883ba..e642787824e 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistrejectedtosubroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistrejectedtosubroom.dita @@ -2,7 +2,8 @@ <ph keyref="onUserListRejectedToSubRoom"/> - Occurs when users reject the invitation to join a sub-room. + Occurs when users reject the invitation to join a + sub-room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistremovedfromsubroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistremovedfromsubroom.dita index bfb9ff653b7..5813a422263 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistremovedfromsubroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onuserlistremovedfromsubroom.dita @@ -2,7 +2,8 @@ <ph keyref="onUserListRemovedFromSubRoom"/> - Occurs when users are removed from a sub-room. + Occurs when users are removed from a + sub-room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onusermovedtosubroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onusermovedtosubroom.dita index 5ce75204219..c95010bb54a 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onusermovedtosubroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onusermovedtosubroom.dita @@ -2,7 +2,8 @@ <ph keyref="onUserMovedToSubRoom"/> - Occurs when a user is moved from one sub-room to another. + Occurs when a user is moved from one sub-room to + another. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onuserpropertiesdeleted.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onuserpropertiesdeleted.dita index 1896edaa139..c52a9184221 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onuserpropertiesdeleted.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onuserpropertiesdeleted.dita @@ -2,7 +2,8 @@ <ph keyref="onUserPropertiesDeleted"/> - Occurs when the custom user properties are deleted. + Occurs when the custom user properties are + deleted. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onuserpropertiesupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onuserpropertiesupdated.dita index a9940147172..50fceca02e0 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onuserpropertiesupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onuserpropertiesupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onUserPropertiesUpdated"/> - Occurs when the custom user properties are updated. + Occurs when the custom user properties are + updated. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onuserrewarded.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onuserrewarded.dita index e6f82414e5f..ebc4ee02939 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onuserrewarded.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onuserrewarded.dita @@ -2,7 +2,8 @@ <ph keyref="onUserRewarded"/> - Occurs when the number of a user's rewards changes. + Occurs when the number of a user's rewards + changes. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onuserupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onuserupdated.dita index 7bca0bb48c9..a8806d5929b 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onuserupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onuserupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onUserUpdated"/> - Occurs when the information of a user is updated. + Occurs when the information of a user is + updated. @@ -27,7 +28,8 @@ userInfo user - The of the user whose information is changed. + The of the user whose information + is changed. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_onvolumeupdated.dita b/en-US/dita/flexible-classroom/edu-context/API/api_onvolumeupdated.dita index a2ec9834722..e59336b996c 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_onvolumeupdated.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_onvolumeupdated.dita @@ -2,7 +2,8 @@ <ph keyref="onVolumeUpdated"/> - Indicates the volume change of a stream. + Indicates the volume change of a + stream. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_openlocaldevice.dita b/en-US/dita/flexible-classroom/edu-context/API/api_openlocaldevice.dita index fe582576c12..5d595addd20 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_openlocaldevice.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_openlocaldevice.dita @@ -29,13 +29,15 @@ callback - Get the method call result asynchronously through . + Get the method call result asynchronously through .
          Returns -

          If the deviceId that you pass in does not exist, the SDK returns .

          +

          If the deviceId that you pass in does not exist, the SDK returns + .

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_removeallcohosts.dita b/en-US/dita/flexible-classroom/edu-context/API/api_removeallcohosts.dita index 2fecff769f7..47290093dcb 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_removeallcohosts.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_removeallcohosts.dita @@ -2,7 +2,8 @@ <ph keyref="removeAllCoHosts"/> - Requests all students to go off the "stage". + Requests all students to go off the + "stage". diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_removecohost.dita b/en-US/dita/flexible-classroom/edu-context/API/api_removecohost.dita index 13cd8a781a4..2d89fa5c8bb 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_removecohost.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_removecohost.dita @@ -2,7 +2,8 @@ <ph keyref="removeCoHost"/> - Requests a student to go off the "stage". + Requests a student to go off the + "stage". diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_setaudiomixingposition.dita b/en-US/dita/flexible-classroom/edu-context/API/api_setaudiomixingposition.dita index 197c939773b..5ae2ce83b66 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_setaudiomixingposition.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_setaudiomixingposition.dita @@ -2,7 +2,8 @@ <ph keyref="setAudioMixingPosition"/> - Sets the starting position of the music file for mixing. + Sets the starting position of the music file for + mixing. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_sethandswaveenable.dita b/en-US/dita/flexible-classroom/edu-context/API/api_sethandswaveenable.dita index 022a0ac325a..720e83c9cd4 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_sethandswaveenable.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_sethandswaveenable.dita @@ -2,7 +2,8 @@ <ph keyref="setHandsWaveEnable"/> - Enables/disables the "raising a hand" feature. + Enables/disables the "raising a hand" + feature. @@ -23,7 +24,8 @@

          -

          When the "raising a hand" feature is enabled, students in the room can "raise their hands" to apply for speaking on the "stage".

          +

          When the "raising a hand" feature is enabled, students in the room can "raise their + hands" to apply for speaking on the "stage".

          Parameter diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_setlocalvideoconfig.dita b/en-US/dita/flexible-classroom/edu-context/API/api_setlocalvideoconfig.dita index a902899222e..acb57c5ce97 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_setlocalvideoconfig.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_setlocalvideoconfig.dita @@ -2,7 +2,8 @@ <ph keyref="setLocalVideoConfig"/> - Sets the encoding configurations for the local video stream. + Sets the encoding configurations for the local video + stream. @@ -29,7 +30,8 @@ config - Video encoding configurations. See . + Video encoding configurations. See .
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_setremotevideostreamsubscribelevel.dita b/en-US/dita/flexible-classroom/edu-context/API/api_setremotevideostreamsubscribelevel.dita index 47af475ed85..2f8db34d8b7 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_setremotevideostreamsubscribelevel.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_setremotevideostreamsubscribelevel.dita @@ -2,7 +2,8 @@ <ph keyref="setRemoteVideoStreamSubscribeLevel"/> - Subscribes to high-resolution or low-resolution video streams. + Subscribes to high-resolution or low-resolution video + streams. @@ -22,7 +23,9 @@

          -

          When the remote client sends dual video streams (the high-resolution or low-resolution video streams), call this method to choose whether to subscribe to the high-resolution or low-resolution stream.

          +

          When the remote client sends dual video streams (the high-resolution or + low-resolution video streams), call this method to choose whether to subscribe to + the high-resolution or low-resolution stream.

          Parameter @@ -32,7 +35,8 @@ level - Whether the resolution of the video stream is high or low. See . + Whether the resolution of the video stream is high or low. See .
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_startaudiomixing.dita b/en-US/dita/flexible-classroom/edu-context/API/api_startaudiomixing.dita index 03b6b75b842..42d41401eac 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_startaudiomixing.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_startaudiomixing.dita @@ -26,7 +26,9 @@

          -

          Call this method to mix the audio stream sampled by the microphone with the audio in the locally-played music file, so that the remote user can hear the music file more clearly.

          +

          Call this method to mix the audio stream sampled by the microphone with the audio in + the locally-played music file, so that the remote user can hear the music file more + clearly.

          Parameter @@ -40,11 +42,13 @@ replace - Whether to replace the audio sampled by the microphone with the music file. + Whether to replace the audio sampled by the microphone with the music + file. cycle - The number of times the music file is played. Setting this parameter as -1 means loop playback. + The number of times the music file is played. Setting this parameter as -1 + means loop playback.
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_startclass.dita b/en-US/dita/flexible-classroom/edu-context/API/api_startclass.dita index 40dbf6de810..572c8bd36c1 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_startclass.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_startclass.dita @@ -21,7 +21,8 @@

          -

          After a teacher joins the room, the class does not start automatically. The teacher needs to start the class manually, such as by clicking on a start button.

          +

          After a teacher joins the room, the class does not start automatically. The teacher + needs to start the class manually, such as by clicking on a start button.

          Parameter diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_startrendervideo.dita b/en-US/dita/flexible-classroom/edu-context/API/api_startrendervideo.dita index 47e595ec9bd..b94f77ede8d 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_startrendervideo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_startrendervideo.dita @@ -27,7 +27,8 @@ config - Video rendering configurations. See . + Video rendering configurations. See . view @@ -39,7 +40,9 @@ streamUuid - The ID of the stream to be rendered. If you want to preview the video stream captured by the camera before joining the room, set streamUuid as 0. + The ID of the stream to be rendered. If you want to preview + the video stream captured by the camera before joining the room, set + streamUuid as 0.
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_stoprendervideo.dita b/en-US/dita/flexible-classroom/edu-context/API/api_stoprendervideo.dita index e8052ee07a4..c3a6269ae50 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_stoprendervideo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_stoprendervideo.dita @@ -23,7 +23,9 @@ streamUuid - The stream ID. If you want to stop previewing the video stream captured by the local camera before joining the room, set streamUuid as 0. + The stream ID. If you want to stop previewing the video stream captured by + the local camera before joining the room, set + streamUuid as 0. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_updatepublishedstreammediatype.dita b/en-US/dita/flexible-classroom/edu-context/API/api_updatepublishedstreammediatype.dita index b89af7dc3b3..5e44f2a0be6 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_updatepublishedstreammediatype.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_updatepublishedstreammediatype.dita @@ -2,7 +2,8 @@ <ph keyref="updatePublishedStreamMediaType"/> - Updates the publishing privilige of the specified stream. + Updates the publishing privilige of the specified + stream. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_updateroomproperties.dita b/en-US/dita/flexible-classroom/edu-context/API/api_updateroomproperties.dita index 645c0355913..be010cbedde 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_updateroomproperties.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_updateroomproperties.dita @@ -2,7 +2,8 @@ <ph keyref="updateRoomProperties"/> - Adds or updates custom room properties. + Adds or updates custom room + properties. @@ -25,8 +26,10 @@

          -

          For details, see How can I set custom room properties?

          -

          After you successfully update the property, the SDK triggers .

          +

          For details, see How can I set custom room + properties?

          +

          After you successfully update the property, the SDK triggers .

          Parameter diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_updatesubroomproperties.dita b/en-US/dita/flexible-classroom/edu-context/API/api_updatesubroomproperties.dita index 8f892ad806e..52661df6d3f 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_updatesubroomproperties.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_updatesubroomproperties.dita @@ -2,7 +2,8 @@ <ph keyref="updateSubRoomProperties"/> - Updates the custom properties of a sub-room. + Updates the custom properties of a + sub-room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_updateuserproperties.dita b/en-US/dita/flexible-classroom/edu-context/API/api_updateuserproperties.dita index 606519aee05..58cc6d6ffb1 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_updateuserproperties.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_updateuserproperties.dita @@ -2,7 +2,8 @@ <ph keyref="updateUserProperties"/> - Adds or updates custom user properties. + Adds or updates custom user + properties. @@ -27,8 +28,10 @@

          -

          For details, see How can I set custom user properties?

          -

          After you successfully update the property, the SDK triggers .

          +

          For details, see How can I set custom user + properties?

          +

          After you successfully update the property, the SDK triggers .

          Parameter diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_userlistacceptinvitationtosubroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_userlistacceptinvitationtosubroom.dita index 509ec5a1617..e1333cc2426 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_userlistacceptinvitationtosubroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_userlistacceptinvitationtosubroom.dita @@ -2,7 +2,8 @@ <ph keyref="userListAcceptInvitationToSubRoom"/> - The user accepts the invitation to join a sub-room. + The user accepts the invitation to join a + sub-room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_userlistrejectinvitationtosubroom.dita b/en-US/dita/flexible-classroom/edu-context/API/api_userlistrejectinvitationtosubroom.dita index 63580fc9ceb..070b60ee814 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_userlistrejectinvitationtosubroom.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_userlistrejectinvitationtosubroom.dita @@ -2,7 +2,8 @@ <ph keyref="userListRejectInvitationToSubRoom"/> - The user rejects the invitation to join a sub-room. + The user rejects the invitation to join a + sub-room. diff --git a/en-US/dita/flexible-classroom/edu-context/API/api_videostreamsubscribelevel.dita b/en-US/dita/flexible-classroom/edu-context/API/api_videostreamsubscribelevel.dita index 00bc4f1c4b4..6adef4dc678 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/api_videostreamsubscribelevel.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/api_videostreamsubscribelevel.dita @@ -2,7 +2,8 @@ <ph keyref="AgoraEduContextVideoStreamSubscribeLevel"/> - Whether the resolution of the video stream is high or low. + Whether the resolution of the video stream is high or + low.
          Enumerator @@ -18,5 +19,6 @@ The video stream of a high resolution -
          +
          +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_callback.dita b/en-US/dita/flexible-classroom/edu-context/API/class_callback.dita index 590562c3683..d4a13eafac2 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_callback.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_callback.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduContextCallback"/> - Gets the method call result asynchronously. + Gets the method call result + asynchronously. diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_classinfo.dita b/en-US/dita/flexible-classroom/edu-context/API/class_classinfo.dita index 8ecd3cd1ade..cff4f3556a9 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_classinfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_classinfo.dita @@ -6,15 +6,15 @@

          - data class AgoraEduContextClassInfo( + data class AgoraEduContextClassInfo( var state: AgoraEduContextClassState = AgoraEduContextClassState.Before, val startTime: Long = 0L, val duration: Long = 0L, val closeDelay: Long = 0L ) - - - + + +

          @@ -37,7 +37,7 @@ closeDelay - How long the class can last after it ends, . + How long the class can last after it ends, .
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_deviceinfo.dita b/en-US/dita/flexible-classroom/edu-context/API/class_deviceinfo.dita index 9d4bd2fed28..0126ca3044c 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_deviceinfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_deviceinfo.dita @@ -6,14 +6,14 @@

          - data class AgoraEduContextDeviceInfo( + data class AgoraEduContextDeviceInfo( val deviceId: String, val deviceName: String, val deviceType: AgoraEduContextDeviceType ) - - - + + +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_error.dita b/en-US/dita/flexible-classroom/edu-context/API/class_error.dita index a7e2f7a4af8..dc05d66c21c 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_error.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_error.dita @@ -6,10 +6,10 @@

          - - - - + + + +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_groupcontext.dita b/en-US/dita/flexible-classroom/edu-context/API/class_groupcontext.dita index beefca6edd3..0d3275dd3ec 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_groupcontext.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_groupcontext.dita @@ -2,10 +2,12 @@ <ph keyref="AgoraEduGroupContext"/> - The class. + The + class.
          -

          The class provides methods for managing sub-rooms.

          +

          The class provides methods for managing + sub-rooms.

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_grouphandler.dita b/en-US/dita/flexible-classroom/edu-context/API/class_grouphandler.dita index cc3df12e64a..7c4881a655a 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_grouphandler.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_grouphandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduGroupHandler"/> - The class contains event callbacks related to sub-room management. + The class + contains event callbacks related to sub-room management. diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_groupinfo.dita b/en-US/dita/flexible-classroom/edu-context/API/class_groupinfo.dita index 648fe5e93dd..4a0261e2d94 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_groupinfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_groupinfo.dita @@ -6,10 +6,10 @@

          - - - - + + + +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_mediacontext.dita b/en-US/dita/flexible-classroom/edu-context/API/class_mediacontext.dita index 229d4680aa7..17236719c29 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_mediacontext.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_mediacontext.dita @@ -2,10 +2,15 @@ <ph keyref="AgoraEduMediaContext"/> - The class. + The + class.
          -

          The methods provided by the class are used for:

          • Managing local audio and video devices.
          • Playing local audio.
          • Rendering and previewing local video.

          +

          The methods provided by the class are used for:

            +
          • Managing local audio and video devices.
          • +
          • Playing local audio.
          • +
          • Rendering and previewing local video.
          • +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_mediahandler.dita b/en-US/dita/flexible-classroom/edu-context/API/class_mediahandler.dita index cf21aec2379..f238083fe70 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_mediahandler.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_mediahandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduMediaHandler"/> - The class contains media-related event callbacks. + The class + contains media-related event callbacks. diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_monitorcontext.dita b/en-US/dita/flexible-classroom/edu-context/API/class_monitorcontext.dita index 9a7e5f7ff95..fe4206985a7 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_monitorcontext.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_monitorcontext.dita @@ -2,10 +2,14 @@ <ph keyref="AgoraEduMonitorContext"/> - The class. + The + class.
          -

          The methods provided by the class are used for:

          • Monitoring SDK states.
          • Reporting states to the Agora server.

          +

          The methods provided by the class are used for:

            +
          • Monitoring SDK states.
          • +
          • Reporting states to the Agora server.
          • +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_monitorhandler.dita b/en-US/dita/flexible-classroom/edu-context/API/class_monitorhandler.dita index 79e859196ae..8035eae9cb3 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_monitorhandler.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_monitorhandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduMonitorHandler"/> - The class contains event callbacks related to SDK monitoring. + The class + contains event callbacks related to SDK monitoring. diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_renderconfig.dita b/en-US/dita/flexible-classroom/edu-context/API/class_renderconfig.dita index 452fd787d3b..dd3d5a5b311 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_renderconfig.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_renderconfig.dita @@ -6,12 +6,12 @@

          - data class EduContextRenderConfig( + data class EduContextRenderConfig( val renderMode: EduContextRenderMode = EduContextRenderMode.HIDDEN, val mirrorMode: EduContextMirrorMode = EduContextMirrorMode.AUTO) - - - + + +

          @@ -23,7 +23,8 @@ mode renderMode - Video rendering mode. See . + Video rendering mode. See . isMirror diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_roomcontext.dita b/en-US/dita/flexible-classroom/edu-context/API/class_roomcontext.dita index f5dbc3e1db6..f1d445ddf48 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_roomcontext.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_roomcontext.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduRoomContext"/> - The class. + The + class. diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_roomhandler.dita b/en-US/dita/flexible-classroom/edu-context/API/class_roomhandler.dita index 063e928b255..52134b75bd3 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_roomhandler.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_roomhandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduRoomHandler"/> - The class contains room-related event callbacks. + The class + contains room-related event callbacks. diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_roominfo.dita b/en-US/dita/flexible-classroom/edu-context/API/class_roominfo.dita index 22b1bab6d16..a3adf8e12b4 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_roominfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_roominfo.dita @@ -6,14 +6,14 @@

          - data class EduContextRoomInfo( + data class EduContextRoomInfo( val roomUuid: String, val roomName: String, val roomType: EduContextRoomType ) - - - + + +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_streamcontext.dita b/en-US/dita/flexible-classroom/edu-context/API/class_streamcontext.dita index 1d126262093..42b8798ece8 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_streamcontext.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_streamcontext.dita @@ -2,10 +2,15 @@ <ph keyref="AgoraEduStreamContext"/> - The class. + The + class.
          -

          The methods provided by the class are used for:

          • Publishing and subscribing to streams.
          • Encoding streams.
          • Updating stream information and properties.

          +

          The methods provided by the class are used for:

            +
          • Publishing and subscribing to streams.
          • +
          • Encoding streams.
          • +
          • Updating stream information and properties.
          • +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_streamhandler.dita b/en-US/dita/flexible-classroom/edu-context/API/class_streamhandler.dita index baac14a7b43..89e95211bf2 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_streamhandler.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_streamhandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduStreamHandler"/> - The class contains stream-related event callbacks. + The class + contains stream-related event callbacks. diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_streaminfo.dita b/en-US/dita/flexible-classroom/edu-context/API/class_streaminfo.dita index 2c0f29c3b8f..115ed469958 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_streaminfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_streaminfo.dita @@ -6,7 +6,7 @@

          - data class AgoraEduContextStreamInfo( + data class AgoraEduContextStreamInfo( val streamUuid: String, val streamName: String?, val streamType: AgoraEduContextMediaStreamType, @@ -17,9 +17,9 @@ var videoState: AgoraEduContextMediaState, var audioState: AgoraEduContextMediaState, var owner: AgoraEduContextUserInfo) - - - + + +

          @@ -42,19 +42,23 @@ videoSourceType - The video source type. See . + The video source type. See . audioSourceType - The audio source type. See . + The audio source type. See . videoSourceState - The video source state. See . + The video source state. See . audioSourceState - The audio source status. See . + The audio source status. See . owner diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_subroomcontext.dita b/en-US/dita/flexible-classroom/edu-context/API/class_subroomcontext.dita index b55db6b9e07..a7528da4089 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_subroomcontext.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_subroomcontext.dita @@ -2,10 +2,12 @@ <ph keyref="AgoraEduSubRoomContext"/> - The class. + The + class.
          -

          The class provides methods for controlling sub-rooms.

          +

          The class provides methods for controlling + sub-rooms.

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_subroomcreateconfig.dita b/en-US/dita/flexible-classroom/edu-context/API/class_subroomcreateconfig.dita index baedb6cd528..b4e18f81f37 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_subroomcreateconfig.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_subroomcreateconfig.dita @@ -2,14 +2,15 @@ <ph keyref="AgoraEduContextSubRoomCreateConfig"/> - The configuration of creating a sub-room. + The configuration of creating a + sub-room.

          - - - - + + + +

          @@ -21,7 +22,8 @@ invitationUserList - The list of user IDs who are invited to join the sub-room. This parameter can be null. + The list of user IDs who are invited to join the sub-room. This parameter + can be null. subRoomProperties diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_subroomhandler.dita b/en-US/dita/flexible-classroom/edu-context/API/class_subroomhandler.dita index 65377052a75..cc79895563a 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_subroomhandler.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_subroomhandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduSubRoomHandler"/> - The class contains the event callbacks related to sub-rooms. + The class + contains the event callbacks related to sub-rooms. diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_subroominfo.dita b/en-US/dita/flexible-classroom/edu-context/API/class_subroominfo.dita index 04969787743..854e6be0ece 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_subroominfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_subroominfo.dita @@ -6,16 +6,16 @@

          - public class FCRGroupInfo { + public class FCRGroupInfo { public String userUuid; public String userName; public String role; public long ts; public FCREduContextGroupInfo payload; } - - - + + +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_usercontext.dita b/en-US/dita/flexible-classroom/edu-context/API/class_usercontext.dita index 996d2e9c011..5b7861deec9 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_usercontext.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_usercontext.dita @@ -2,10 +2,14 @@ <ph keyref="AgoraEduUserContext"/> - The class. + The + class.
          -

          The methods provided by the class are used for:

          • Controlling the user's behavior of "going on and off stage".
          • Updating user information and properties.

          +

          The methods provided by the class are used for:

            +
          • Controlling the user's behavior of "going on and off stage".
          • +
          • Updating user information and properties.
          • +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_userhandler.dita b/en-US/dita/flexible-classroom/edu-context/API/class_userhandler.dita index 621c2069655..9c2abbd6c28 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_userhandler.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_userhandler.dita @@ -2,5 +2,6 @@ <ph keyref="AgoraEduUserHandler"/> - contains user-related event callbacks. + contains + user-related event callbacks. diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_userinfo.dita b/en-US/dita/flexible-classroom/edu-context/API/class_userinfo.dita index 0fa042d9951..c0b7ea31988 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_userinfo.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_userinfo.dita @@ -6,13 +6,13 @@

          - data class AgoraEduContextUserInfo( + data class AgoraEduContextUserInfo( val userUuid: String, val userName: String, val role: AgoraEduContextUserRole = AgoraEduContextUserRole.Student) - - - + + +

          diff --git a/en-US/dita/flexible-classroom/edu-context/API/class_videostreamconfig.dita b/en-US/dita/flexible-classroom/edu-context/API/class_videostreamconfig.dita index 0bf8cf7cea7..6c02edc130a 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/class_videostreamconfig.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/class_videostreamconfig.dita @@ -6,16 +6,16 @@

          - data class AgoraEduContextLocalStreamConfig( + data class AgoraEduContextLocalStreamConfig( val width: Int, val height: Int, val frameRate: Int, val bitRate: Int, val mirror: Boolean ) - - - + + +

          @@ -27,12 +27,14 @@ dimensionWidth width - The video width (pixel) in . The default value is 320. + The video width (pixel) in . The default value is + 320. dimensionHeight height - The video height (pixel) in . The default value is 240. + The video height (pixel) in . The default value is + 240. frameRate @@ -45,7 +47,8 @@ isMirror mirror - Whether the video is mirrored. . The default value is . + Whether the video is mirrored. . The default value is .
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/edu_context_api_overview.dita b/en-US/dita/flexible-classroom/edu-context/API/edu_context_api_overview.dita index 1fd87acaf32..00c73a14ddc 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/edu_context_api_overview.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/edu_context_api_overview.dita @@ -2,7 +2,10 @@ API Overview - Agora Edu Context enables developers to implement the functions in the Flexible Classroom. Different contexts represent different function modules in the Flexible Classroom. Each context contains methods for the app to call and also reports event callbacks to the app. + Agora Edu Context enables developers to implement the + functions in the Flexible Classroom. Different contexts represent different function + modules in the Flexible Classroom. Each context contains methods for the app to call and + also reports event callbacks to the app.
          Media Context @@ -168,7 +171,8 @@ - + diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_audiosourcetype.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_audiosourcetype.dita index 469d0505687..89b380b6c8e 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_audiosourcetype.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_audiosourcetype.dita @@ -18,5 +18,6 @@ Audio sampled by the microphone -
          +
          +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_classstate.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_classstate.dita index b42c6156646..3d798d8dc3f 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_classstate.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_classstate.dita @@ -20,5 +20,6 @@ The class has ended. -
          +
          +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_connectionstate.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_connectionstate.dita index c17f04f5ce2..95bb0a349d0 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_connectionstate.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_connectionstate.dita @@ -2,7 +2,8 @@ <ph keyref="AgoraEduContextConnectionState"/> - The connection state between the local client and the Agora server. + The connection state between the local client and the + Agora server.
          Enumerator @@ -28,5 +29,6 @@ The connection is aborted. -
          +
          +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_devicestate.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_devicestate.dita index 1617e2dac6b..f494cc8fca2 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_devicestate.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_devicestate.dita @@ -24,5 +24,6 @@ The device is on. -
          +
          +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_devicetype.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_devicetype.dita index f1802f2aa89..68ad46de250 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_devicetype.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_devicetype.dita @@ -20,5 +20,6 @@ Speaker -
          +
          +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_mediasourcestate.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_mediasourcestate.dita index e185b756ea5..8e9f93de359 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_mediasourcestate.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_mediasourcestate.dita @@ -24,5 +24,6 @@ The media source is on. -
          + +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_mediastreamtype.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_mediastreamtype.dita index 2405187fa60..49121271fac 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_mediastreamtype.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_mediastreamtype.dita @@ -24,5 +24,6 @@ The stream contains both audio and video. - + +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_mirrormode.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_mirrormode.dita index d4fb4d04131..b0ee299b139 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_mirrormode.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_mirrormode.dita @@ -20,5 +20,6 @@ Disable mirror mode. - + +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_networkquality.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_networkquality.dita index ec70819889f..4a6c7aef9a6 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_networkquality.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_networkquality.dita @@ -30,5 +30,6 @@ Bad - + +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_roomtype.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_roomtype.dita index 3d40232a3a7..e9c710a6f8c 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_roomtype.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_roomtype.dita @@ -24,5 +24,6 @@ Small Classroom for art teaching - + +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_userleavereason.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_userleavereason.dita index 7c9fa70260c..478bac24829 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_userleavereason.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_userleavereason.dita @@ -2,7 +2,8 @@ <ph keyref="AgoraEduContextUserLeaveReason"/> - The reason why the user leaves the room. + The reason why the user leaves the + room.
          Enumerator @@ -18,5 +19,6 @@ The user is kicked out of the room. -
          + +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_userrole.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_userrole.dita index 4c94a118108..0d2700363b4 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_userrole.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_userrole.dita @@ -24,5 +24,6 @@ Teaching assistant (TA) - + +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_videorendermode.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_videorendermode.dita index f00c4ab7f77..ee1f4a116d6 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_videorendermode.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_videorendermode.dita @@ -9,12 +9,18 @@ - Hidden mode. This mode ensures the window is filled. The SDK uniformly scales the video until it fills the visible boundaries (cropped). One dimension of the video may have clipped contents. + Hidden mode. This mode ensures the window is filled. The SDK uniformly + scales the video until it fills the visible boundaries (cropped). One + dimension of the video may have clipped contents. - Fit mode. This mode ensures that all video content is displayed. The SDK uniformly scale the video until one of its dimension fits the boundary (zoomed to fit). Areas that are not filled due to the disparity in the aspect ratio are filled with black. + Fit mode. This mode ensures that all video content is displayed. The SDK + uniformly scale the video until one of its dimension fits the boundary + (zoomed to fit). Areas that are not filled due to the disparity in the + aspect ratio are filled with black. - + +
          diff --git a/en-US/dita/flexible-classroom/edu-context/API/enum_videosourcetype.dita b/en-US/dita/flexible-classroom/edu-context/API/enum_videosourcetype.dita index 29346234e85..d6e63560ace 100644 --- a/en-US/dita/flexible-classroom/edu-context/API/enum_videosourcetype.dita +++ b/en-US/dita/flexible-classroom/edu-context/API/enum_videosourcetype.dita @@ -24,5 +24,6 @@ Video of the shared screen - + +
          diff --git a/en-US/dita/flexible-classroom/edu-context/conref/conref_api_metadata.dita b/en-US/dita/flexible-classroom/edu-context/conref/conref_api_metadata.dita index 7a03ed14aeb..e81825a7bc2 100644 --- a/en-US/dita/flexible-classroom/edu-context/conref/conref_api_metadata.dita +++ b/en-US/dita/flexible-classroom/edu-context/conref/conref_api_metadata.dita @@ -4,14 +4,14 @@ API Metadata for Reuse

          - - Attributes - Attributes - Attributes - Attributes - Attributes - Attributes - + + Attributes + Attributes + Attributes + Attributes + Attributes + Attributes +

          diff --git a/en-US/dita/templates-en/RTC/API.dita b/en-US/dita/templates-en/RTC/API.dita index a00daae71ac..ba1d4811242 100644 --- a/en-US/dita/templates-en/RTC/API.dita +++ b/en-US/dita/templates-en/RTC/API.dita @@ -2,7 +2,8 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - + @@ -13,30 +14,33 @@

          - - - - - - -

          + + + + + + + +

          -
          - -
          Since
          -
          v
          -
          +
          +
          + +
          Since
          +
          v
          +

          Parameters - - - - -
          + + + + + +
          Returns
          diff --git a/en-US/dita/templates-en/RTC/Callback.dita b/en-US/dita/templates-en/RTC/Callback.dita index dc5a8338828..baab2652274 100644 --- a/en-US/dita/templates-en/RTC/Callback.dita +++ b/en-US/dita/templates-en/RTC/Callback.dita @@ -2,7 +2,8 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - + @@ -13,20 +14,21 @@

          - - - - - - -

          + + + + + + + +

          - -
          Since
          -
          v
          -
          + +
          Since
          +
          v
          +

          @@ -34,10 +36,11 @@ <ph keyref="callback-section-title"/>

          - - - - - + + + + + + diff --git a/en-US/dita/templates-en/RTC/Class.dita b/en-US/dita/templates-en/RTC/Class.dita index b2b9b67de9a..363115d1059 100644 --- a/en-US/dita/templates-en/RTC/Class.dita +++ b/en-US/dita/templates-en/RTC/Class.dita @@ -2,34 +2,37 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - +

          - - - - - - -

          + + + + + + + +

          - -
          Since
          -
          v
          -
          + +
          Since
          +
          v
          +

          <text conref="../conref/conref_api_metadata.dita#metadata/property"/> - - - - -
          + + + + + +
          diff --git a/en-US/dita/templates-en/RTC/Enum.dita b/en-US/dita/templates-en/RTC/Enum.dita index abe92c4b319..9365a343d90 100644 --- a/en-US/dita/templates-en/RTC/Enum.dita +++ b/en-US/dita/templates-en/RTC/Enum.dita @@ -1,8 +1,9 @@ - <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"></ph> - + <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> +
          @@ -20,5 +21,6 @@ -
          + +
          diff --git a/en-US/dita/templates-en/flexible-classroom/API.dita b/en-US/dita/templates-en/flexible-classroom/API.dita index e40d6ce1d7d..2bc0941ca31 100644 --- a/en-US/dita/templates-en/flexible-classroom/API.dita +++ b/en-US/dita/templates-en/flexible-classroom/API.dita @@ -2,7 +2,8 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - + diff --git a/en-US/dita/templates-en/flexible-classroom/Class.dita b/en-US/dita/templates-en/flexible-classroom/Class.dita index 35502aaba4e..979b1fdff57 100644 --- a/en-US/dita/templates-en/flexible-classroom/Class.dita +++ b/en-US/dita/templates-en/flexible-classroom/Class.dita @@ -2,14 +2,15 @@ <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> - +

          - - - - + + + +

          diff --git a/en-US/dita/templates-en/flexible-classroom/Enum.dita b/en-US/dita/templates-en/flexible-classroom/Enum.dita index abe92c4b319..9365a343d90 100644 --- a/en-US/dita/templates-en/flexible-classroom/Enum.dita +++ b/en-US/dita/templates-en/flexible-classroom/Enum.dita @@ -1,8 +1,9 @@ - <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"></ph> - + <ph keyref="${ask('Set API ID', String, 'ID', @apiID)}"/> +
          @@ -20,5 +21,6 @@ -
          +
          +